Charles Stack on Thu, 22 Jul 1999 15:41:50 -0400 (EDT) |
Alas...I can't keep quiet. Winmodems, do, though code, expose themselves to the operating system as hardware ports. They hook into the interrupt service routines and often provided the hardware equivalent of an add-on comm port. Communication to these devices, however is either through an IO port or through a memory mapped port. The drivers implement the code necessary for the OS to "virtualize" and interact with the port. This means that about 90% of the "firm-ware" is run by the hosting machine's CPU with occassional calls made back into the modem card via callbacks (for hardware control, mainly). In a later post, someone said they thought that this process wouldn't have a significant affect on CPU performance. Unfortunately, everytime Windows handles the interrupt call, I believe it has to switch to real mode and then back again. This is very time consuming and does produce a noticable effect when there is considerable modem traffic on a slower machine. Most of the problem with the interrupts can be blamed on Intel who, in their lack of insite, determined that no one would need more than two comm ports (i.e 8088 days). They even offloaded the detection of the interrupts to, I believe, an 8051 interrupt controller chip. Regardless, of the off-CPU interrupt handler, they still didn't fix the underlying problem of a lack of interrupts. Microchannel attempted to overcome this problem by allowing multiple devices to share the same interrupts through chaining. It kind of worked. Other card vendors build smart io ports that funneled the interrupt traffic into a single interrupt. So, these cards could handle multiple lines, they still, ultimately, had the bottleneck of the CPU having to read and process their buffers. Charles -----Original Message----- From: Kyle Burton <mortis@voicenet.com> To: plug@lists.nothinbut.net <plug@lists.nothinbut.net> Date: Thursday, July 22, 1999 3:21 PM Subject: Re: CORRECTION Re: [Plug] US Robotics Modems etc, and a question.. >I guess you could make a Linmodem -- as far as I know, Winmodems don't actually >present the operating system with a com port -- you have to have a peice of >software that talks to the 'winmodem' as a device on the bus, and provide >the abstraction for it. > >I think :| > > >k > >--------------------------------------------------------------------------- --- >It should be illegal to yell "Y2K" in a crowded economy. :-) > -- Larry Wall >mortis@voicenet.com http://www.voicenet.com/~mortis >--------------------------------------------------------------------------- --- > >On Thu, 22 Jul 1999 Vale_Kenny@vanguard.com wrote: > >> noncurrent = no current >> >> >> >> _______________________________________________ >> Plug maillist - Plug@lists.nothinbut.net >> http://lists.nothinbut.net/mail/listinfo/plug >> > > >_______________________________________________ >Plug maillist - Plug@lists.nothinbut.net >http://lists.nothinbut.net/mail/listinfo/plug > _______________________________________________ Plug maillist - Plug@lists.nothinbut.net http://lists.nothinbut.net/mail/listinfo/plug
|
|