Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site redwood.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!hao!hplabs!hpda!fortune!foros1!redwood!rpw3
From: rpw3@redwood.UUCP (Rob Warnock)
Newsgroups: net.lan
Subject: Re: IBM PC networking
Message-ID: <63@redwood.UUCP>
Date: Fri, 12-Oct-84 06:23:37 EDT
Article-I.D.: redwood.63
Posted: Fri Oct 12 06:23:37 1984
Date-Received: Sat, 13-Oct-84 08:47:54 EDT
References: <682@cadmus.UUCP>
Organization: Rob Warnock, Redwood City, CA
Lines: 96
+---------------
| In the October issue of BYTE IBM has an advertisement and specification
| of this new networking capability. They say they are using the Intel
| 82586 processor. I thought that this was an ethernet processor?
+---------------
It is.
+---------------
| Are they really using an off the shelf 82586 or is it a special just for
| IBM from Intel? Would anyone care to comment.
| marty / cadmus!schoff@seismo.ARPA / {bbncca,wivax,linus,seismo}!cadmus!schoff +---------------
<>
Having not seen the article (but I'm gonna go get it!), I can't be sure,
but if you look at the 82586 chip spec (which I HAVE done, in detail) you
will see that it's a typical overengineered "Well as long as we're building
a chip let's throw everything in!" multi-purpose hunk of silicon (and no
wonder it took them so long to make it work). ((In fact, last time I looked,
it STILL wasn't working at 10 Mbit/s, but surely they've fixed that by now,
haven't they? ;-} Can someone tell me? ))
Despite the fact that Intel was one of the co-authors of "the" Ethernet
Spec, this chip shows a remarkable lack of committment to Ethernet, per se.
In particular, nearly EVERY parameter of what makes an Ethernet be "Ethernet"
is "tunable". (Sometimes it seemed to me to be simply because it was POSSIBLE
to set it in software, not that anyone would ever change it from the "Ethernet"
defaults. However, it's more likely that the chip is a "committee camel", with
something for everyone.)
Besides running at 10 Mbit/s, it will run at rates down to 1 Mbit/s and below.
You get several flavors of collision handling, several kinds of backoff, choice
of CRC-16 or Ethernet/802.3 CRC-32, Manchester or NRZ, etc, etc. It will even
do SDLC-style bit-stuffing instead of Ethernet-style carrier-detect.
From the Intel LAN Component User's manual:
"The 82586's programmable network parameters allow it to to
serve as controller for a wide range of CSMA/CD type LAN's.
It is compatible with network specifications such as high
service (broadband), high performance (short topologies),
and low-cost (1 Mbps) networks. Data rates less than 10 Mbps
are supported. Many parameters are configurable including
all framing parameters (i.e. address length, End-of-Carrier
or Bitstuffing frame boundary delineation, etc.), Slot Time
and Interframe Spacing." [p. 2-1] "...station priorities are
also programmable." [p. 2-4] "...two priority mechanisms:
linear and accelerated contention resolution." [p. 2-4]
If you get the impression that it's not one of my favorite chips, you're right.
It's simply too complex. The best part about it is the buffer handling (you
can separate the transmit header from the body), but the Mostek/AMD "Lance"
has all of the needed functionality in the buffer handling area (including
command and data chaining) but is a lot simpler to use. (The "Lance" was
clearly built to do Ethernet. Period. Like UNIX tools: "Do one thing well.")
((Of course, I still like the Seeq chip: the first "Ethernet UART"! (UERT?)))
Surprisingly, the one configurable parameter that is needed desperately is
missing. The "Lance" lets you select Big-Endian vs Little-Endian byte order
within a 16-bit word ("byte swap" or not on transmit/receive data, without
affecting command descriptors), a feature that the 82586 sorely needs when
handling DoD/IP or XNS (both of which are "Big-Endian"). The 82586 is
"optimized for operation with the iAPX 186 bus [80186] but can be used
with other general purpose processors." [p. 2-2] It's gonna be REAL fun
to use with a 68000... ;-}
Someone PLEASE correct me if I am wrong on this point, as it is critical
to avoid the overhead of swapping bytes in software before/after you
transmit/receive. Although I looked through the User's Guide and the Data
Sheet carefully, I found no mention of byte order, except one very clear
picture of the address bytes which shows it to be "Little-Endian" (the first
byte sent is bits 7-0, the second byte is 15-8, etc.). It may very well be
that the only reasonable way to use the 82586 (even with a 80186) is to
reverse the high and low bytes in the wiring of the board, though this will
totally confuse the programming of the control and descriptor blocks (which
contain addresses in them). Still, it is perhaps better to do that than to
flip all the data.
<>
Given IBM's close connection with Intel, it is perfectly reasonable for
them to use the 82586 for a "low-cost" net, since their buying power WILL
bring the chip price down (to them). I still contend, however, that when
all is said and done, the FCC satisfied), and all of the indirect costs
included, a properly balanced Ethernet subsystem need not cost significantly
more than a "low-cost" net. I am also concerned that the PC network may not
be as convenient for supporting DoD/IP or XNS as we might wish.
Rob Warnock
UUCP: {ihnp4,ucbvax!amd}!fortune!redwood!rpw3
DDD: (415)572-2607 (*new*)
Envoy: rob.warnock/kingfisher
USPS: 510 Trinidad Ln, Foster City, CA 94404 (*new*)