From owner-freebsd-hardware Fri Jul 12 07:14:22 1996 Return-Path: owner-hardware Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA13883 for hardware-outgoing; Fri, 12 Jul 1996 07:14:22 -0700 (PDT) Received: from zoo.toronto.edu (zoo.toronto.edu [128.100.72.1]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id HAA13877 for ; Fri, 12 Jul 1996 07:14:16 -0700 (PDT) Date: Fri, 12 Jul 1996 10:13:43 -0400 (EDT) From: Henry Spencer Subject: Re: cable vs. ISDN To: "Jacob M. Parnas" cc: hardware@freebsd.org, bsdi-users@bsdi.com In-Reply-To: <199607111824.OAA03222@jparnas.cybercom.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hardware@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > ...It just seems like > a bit of a, kludge to me, for serial input, twice convert everything to a high > speed networking protocol, each way, and pay for it on devices that don't need > it, to avoid developing a really good long term protocol for serial devices... It's overkill, yes... but then, one characteristic of a mature technology is that a lot of problems get solved with overkill, because it's simpler and cheaper to apply a heavy-duty general-purpose solution than to do major custom engineering for each problem. > My question is why was it decided to use such tiny FIFO's? They went from 1-2 > bytes to 16 per port, when the speed isn't so vital and with larger FIFO's, > it seems like there would be much fewer interrupts, and writing drivers for > it would be much easier. It can't be that expensive should it? ... There are two interacting problems here, or maybe three. One is that FIFOs are actually moderately complicated devices, and eat up a fair bit of chip area. Oh, it's not a lot by the standards of modern CPUs, but serial-I/O chips generally are not thought to merit the same level of effort and pain lavished on CPUs, and that means they are constrained to rather smaller chips. (Also, they are considered fairly cost sensitive; until quite recently, serial ports with *any* FIFOs were premium add-ons rather than standard equipment.) Another is that until very recently, almost everyone building PC hardware thought in terms of classical MSDOS, where only one thing happens at once and nothing is interrupt-driven. There's no real need for a FIFO if the whole computer is sitting there waiting for the next character to arrive. Only when you start running a real operating system (or a kludged imitation thereof :-)) do you start to care about buffering. I guess there is a third issue: serial ports were minor auxiliaries whose performance simply wasn't important. (And this was self-reinforcing, because people with demanding data rates went elsewhere.) > What about some DMA connection to the modems? ... Standard practice in the minicomputer world for 15-20 years, but only just starting to get attention in the PC world. Don't need it under MSDOS, after all, so why bother? Henry Spencer henry@zoo.toronto.edu