cjdb@sphinx.uchicago.edu (Charles Blair) (07/09/88)
Can anyone recommend an Ethernet card for an IBM PC? I'm looking for a good cost/performance value. Responses via e-mail preferred. Thanks. -- Bitnet: lib.cb@uchicago.bitnet Internet: lib.cb@chip.uchicago.edu uucp: ..!ihnp4!gargoyle!sphinx!cjdb
jim@belltec.UUCP (Mr. Jim's Own Logon) (07/11/88)
In article <4424@sphinx.uchicago.edu>, cjdb@sphinx.uchicago.edu (Charles Blair) writes: > > Can anyone recommend an Ethernet card for an IBM PC? I'm looking for a > good cost/performance value. Responses via e-mail preferred. Thanks. > > -- > Bitnet: lib.cb@uchicago.bitnet > Internet: lib.cb@chip.uchicago.edu > uucp: ..!ihnp4!gargoyle!sphinx!cjdb As with most add in cards, there are two basic classes of boards: intelligent and slave. The slave type cards are basically an Ethernet controller chip with DMA capability (National 83980, Intel 82586, etc.) and a dual port memory. Incoming packets on this type of board have the station address recognized by the controller chip and then the packet is stored in the dual port memory at the address that was set up before hand. At the end of the packet, an interrupt is sent to the host (the 286 or 386) and then it fetches the packet down to main memory. No processing is done on the Ethernet card. Intelligent Ethernet boards can do all this and more. On incoming packets they can preprocess the information before alerting the host that it has information. It can have DMA logic with the AT bus so it can also transfer the packet to main system memory (but this is not a win for UNIX systems, stick with the dual port RAM). Outgoing packets can be assembled from various pieces by the intelligent card before sending. Network performance and statistics can be done by an intelligent card. And perhaps most important, UNIX communication programs can be run entirely on the intelligent board, off loading the main processor. So you get cost vs. features trade offs on the two classes of boards. Just to justify typing this in, Bell Technologies sells a slave Ethernet controller: Intel 82586, 16K dual port RAM, full UNIX drivers for TCP/IP, SNAP, RFS and maybe more by now (I'm the hardware guy, what do I know about code?). Cost is very low. Call a sales person at (415)659-9097, or outside Ca. at 800-FOR-UNIX. -Jim Wall Bell Technologies Inc.
john@bby-bc.UUCP (john) (07/12/88)
In article <239@belltec.UUCP>, jim@belltec.UUCP (Mr. Jim's Own Logon) writes: > In article <4424@sphinx.uchicago.edu>, cjdb@sphinx.uchicago.edu (Charles Blair) writes: > > . . > Intelligent Ethernet boards can do all this and more. On incoming packets > they can preprocess the information before alerting the host that it has > information. It can have DMA logic with the AT bus so it can also transfer > the packet to main system memory (but this is not a win for UNIX systems, stick > with the dual port RAM). Outgoing packets can be assembled from various Why is dma not advisable for unix? I would have thought the reverse - dma not being worthwhile for dos but a real win for unix!? john ...ubc-cs!fornax!bby-bc!john
jim@belltec.UUCP (Mr. Jim's Own Logon) (07/15/88)
In article <291@bby-bc.UUCP>, john@bby-bc.UUCP (john) writes: > > Why is dma not advisable for unix? > > I would have thought the reverse - dma not being worthwhile for dos but > a real win for unix!? > > john > ...ubc-cs!fornax!bby-bc!john First we'll agree on terms. Direct Memroy Access can refer to anything from a multi-master CPU access to a hardware aided I/O to memory transfer. The IBM use of the term is using the 8237 DMA chips to transfer a byte or word from/to a I/O device to/from a Memory space. This is significant subset of "DMA", but as long as we all know what we are talking about... O.K., there are two issues: the DMA transfer speed, and the way that UNIX handles data. Speed first, the time for a single DMA transfer on a 10 MHZ bus PC is about 2.5 microseconds (this is the time that the bus has been allocated to the 8237). During this time no CPU cycles take place. Compare this with the time to do a memory to memory transfer: 480 nsec. The goal is to load the CPU down as little as possible, even though the DMA doesn't use CPU instructions, it slows down much more than having the packet stored remotely, and then block transfered memory to memory. The second issue is UNIX data handling, beyond my direct knowledge, but I've had it verified several times in several places. UNIX moves data around a fair amount, there are application memory spaces and driver memory spaces, and a few more that I'm sure exist. In a DMA system, you will DMA the data to the driver space. And then later will do a memory to memory transfer to move it to an application space. In a dual port memory case, you would define the driver space as the dual port memory, and then it would be moved directly to the application space. Don't ask me why you don't just move it to the final location directly; I don't know. So, as long as you are going to move the data anyway; you are better off doing away entirely with the DMA transfer. Best method of all are intelligent cards that have the ability to become bus masters, but not on a PC thank you. There are sceondary issues such as data overrun, and limited numbers of DMA channels, but the two described are the main issues. -Jim Wall Bell Technologies Inc.