Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jul 1996 10:13:43 -0400 (EDT)
From:      Henry Spencer <henry@zoo.toronto.edu>
To:        "Jacob M. Parnas" <jparnas@jparnas.cybercom.net>
Cc:        hardware@freebsd.org, bsdi-users@bsdi.com
Subject:   Re: cable vs. ISDN 
Message-ID:  <Pine.3.89.9607120949.C21043-0100000@zoo.toronto.edu>
In-Reply-To: <199607111824.OAA03222@jparnas.cybercom.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> ...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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.3.89.9607120949.C21043-0100000>