Dave Hansen <iddw@hotmail.com> wrote:
> On 7 Dec 2004 16:32:48 GMT, Hans-Bernhard Broeker
> <broeker@physik.rwth-aachen.de> wrote:
[...]
> >I'm faulting USB for overkill for some of its applications only:
> >low-bandwidth, low-latency stuff like mouse and keyboard data has no
> >business occupying the same wire as a 11 Mb/s data stream. It's
> So if I understand your position, you're not suggesting 1394 for
> keyboards.
I'm not. That would make even less sense than a keyboard attached to
the same wire as a 320 GB external USB 2.0 hard disk.
> And I'm not sure why you brought up 1394 at all.
Because USB devices fall into several large categories:
1) replacement of former "legacy" ports (keyboard, mouse, printer, modem, ...)
2) high-bandwidth devices (nowadays usually USB-2.0 hi-speed), like
external harddisks and video stuff.
3) stupid stuff, including USB-to-USB "network cables".
My point, is that 1) and 2) don't have any business travelling over
the same pair of wires, and for 2), defining a new protocol was
completely superfluous already when USB was originally designed ---
1394 filled that niche nicely, at higher bandwidth, with less hassle.
If they had designed a new bus for category 1), and 1) alone, that'd
have been perfectly fine with me. But by forcing category 2) into the
same channel, without compelling need of doing so, they crossed the
line.
> Different bus for different applications. The only thing it really
> has incommon with USB (AFAIK) is that they're both serial and both
> self-configuring.
One difference that makes me criticize USB is that its
self-configuration mechanism is *way* over-complicated. It's this
mechanism, mainly, that causes the need for a PC at the root of the
tree. 1394 auto-configuration is so simple that a digical camcorder's
firmware can usually get it right without breaking a sweat.
> >essentially impossible to avoid one type of communication getting into
> >the other's way.
> Keyboard and mouse traffic doesn't really seem to get in anyone's way.
Well, at the heart of it, HID data are sent a USB transfer mode that
has them get priority over all high-rate user data on the same bus.
Add that HID devices are typically low-speed, and you have each byte
of mouse data bulldozing 10 or more bytes of other data out of the
way. With USB-2.0, make that ~300 bytes.
This design is a bit like building a single-lane highway to be used
jointly by cars and trucks, and then later declaring it good for
simultaneous use by Formula-1, too.
> The only real problems I've heard of is when you try to listen to
> music while burning a CD. USB 1.x can't keep up with it.
USB 1.x can no longer keep up with CD burning anyway, these days. Not
since the last 16x burners stopped being produced.
> A USB controller is much cheaper than the standard complement of 2
> PS/2 ports, 1 or 2 serial ports, a parallel port, and an ISA bus,
Except that one USB controller was apparently insufficient -- current
motherboard trend appears to be to move up from 6 to 8 onboard USB
ports --- yes, that's more than the overall number of ports on a
typical legacy PC, which USB set out to repeat by a single plug.
Doesn't seem to have worked out all that well, does it?
> software has essentially zero manufacturing cost, and most users'
> CPU is idle 99.99% of the time. And USB hot PnP actually _works_
> (at least in my experience).
Let's say: it *can* work --- ISA PnP never stood a chance. Arguably
they shouldn't even have tried that. The major difference now is that
instead of hardware that doesn't have enough flexibility to work in
somewhat strange PCs, you now get software that doesn't work in
somewhat strange PCs.
Hot PnP? You tell that to the software of my USB scanner, which a)
complains loudly each time I boot without the scanner attached, b)
doesn't work at all if I plug in the scanner later, and c) reliably
brings down my Linux system if I so much as plug it in.
> Agreed. But the idea is to reduce the cost of the peripheral. How
> much do you want to pay for a basic keyboard?
Why should I have to pay *anything* extra for a basic keyboard, just
so it can coexist on a shared cable with my video camera, printer and
external harddisk? I think I shouldn't, because it shouldn't have to
do that. That's where the fundamental misconception is.
Reducing the number of different port types and plugs of a typical PC
was a good first idea. It started to gown-hill when somebody decided
that it must be reduced all the way to _one_ type of port.
> >Now it's commonly accepted that dogmatic centralism is wasteful.
> >Distributed systems are often more efficient, and it's a lot easier to
> >specialize from a distributed general design to a one-node case than
> >to generalize from a centralistic design to a situation where a single
> >center simply can't cut it.
> I don't know where you get this. Distributed computing is _hard_.
I said it was *efficient*, not that it's easy. The telltale figure is
those '99.99% of the time idle' you quoted yourself: that's an
overgrown centralistic system, scaled to be powerful enough to do
everything and then some all by itself, which doesn't actually get any
work to do.
> You're upset because Intel and Microsoft didn't try to bootstrap an
> entirely new personal computing paradigm?
No. Because they (ab)used their effective control over the market to
keep the general public from recognizing that less centralistic
alternatives were even possible.
> Oh, I see. You're upset because the new paradigm couldn't compete.
No. Because it wasn't given a fair chance to compete. Microsoft
decreed that a PC without USB was, effectively, unsellable. So
peripherals that aren't USB became effectively unsellable some time
after that.
> >If there's a single I/O interface of the legacy PC USB 1.1 was in no
> >way fit to replace, it's the ISA bus.
> In practice, it's not that bad. In fact, keyfob flash drives are
> kinda slick.
Yeah, but even they are bottlenecked by USB 1.1, so the good ones
are 2.0 these days.
But "replacing ISA bus" would have meant to take over the interface to
the main ISA bus device of a legacy PC, though: the internal harddisk.
And that's been faster than USB1.1's 11 Mbit/s for years before the
first USB mainboard was sold.
ISA bus has never really been much of an external interface anyway, so
I highly doubt replacing it was ever, actually, part of the design
goals of USB. If it had been, USB 1.1 would have been rated a
complete failure even by its authors.
USB keyfobs are slick mainly by comparison to what was lacking for
such a long time: a random-access, exchangeable storage medium with
significantly more capacity than a floppy disk, found in essentially
every PC. People got used to waiting for their CD burners to finish
working, instead.
> When bandwidth requirements exceeded ISA'a capability, we got PCI. By
> the time USB came around, ISA bandwidth wasn't really an issue.
Oh, ISA _bandwidth_ was very much an issue --- such a huge issue, in
fact, that it the only viable solution to it was to get rid of ISA bus
completely. ISA bus as such stopped to be an issue at that point, but
its bandwidth didn't.
> USB is perfectly capable of handling any single peripheral that
> would normally be attached to the ISA.
USB-2.0: yes. USB-1.1 was too slow by almost a factor of 10. Hard
disks have been faster than 1.5 MB/s continuous transfer rate for a
*long* time now.
--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.