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*)