English
Language : 

LAN91C96I Datasheet, PDF (75/110 Pages) SMSC Corporation – NON-PCI SINGLE-CHIP FULL DUPLES ETHERNET CONTROLLER
Non-PCI Single-Chip Full Duplex Ethernet Controller
9.5
Arbitration Considerations
The arbiter exploits the sequential nature of the CPU accesses to provide a very fast access time. Memory
bandwidth considerations will have an effect on the CPU cycle time but no effect on access time.
For normal 8MHz, 10MHz, and 12.5MHz Local Bus, as well as EISA normal cycles, the LAN91C96I can be
accessed without negating ready.
When write operations occur, the data is written into a FIFO. The CPU cycle can complete immediately,
and the buffered data will be written into memory later. The memory arbitration request is generated as a
function of that FIFO being not empty. The nature of the cycle requested (byte/word) is determined by the
LSB of the pointer and the number of bytes in the FIFO.
When read operations occur, words are pre-fetched upon pointer loading in order to have at least a word
ready in the FIFO to be read. New pre-fetch cycles are requested as a function of the number of bytes in
the FIFO.For example, if an odd pointer value is loaded, first a byte is pre-fetched into the FIFO, and
immediately a full word is pre-fetched completing three bytes into the FIFO. If the CPU reads a word, one
byte will be left again a new word is pre-fetched.
In the case of write, if an odd pointer value is loaded, and a full word is written, the FIFO holds two bytes,
the first of which is immediately written into an odd memory location. If by that time another byte or word
was written, there will be two or three bytes in the FIFO and a full word can be written into the now even
memory address.
When a CSMA/CD cycle begins, the arbiter will route the CSMA/CD DMA addresses to the MMU as well
as the packet number associated with the operation in progress. In full-duplex mode, receive and transmit
requests are alternated in such a way that the CPU arbitration cycle time is not affected.
9.6
DMA Block
The DMA block resides between the CSMA/CD block and the arbiter. It can interface both the data path
and the control path of the CSMA/CD block for different operations.
Its functions include the following:
ƒ Start transmission process into the CSMA/CD block.
ƒ Generate CSMA/CD side addresses for accessing memory during transmit and receive operations.
ƒ Generate MMU memory requests and verify success.
ƒ Compute byte count and write it in first locations of receive packet.
ƒ Write transmit status word in first locations of transmit packet.
ƒ Determine if enough memory is available for reception.
ƒ De-allocate transmit memory after suitable completion.
ƒ De-allocate receive memory upon error conditions.
ƒ Initiate retransmissions upon collisions (if less than 16 retries).
ƒ Terminate reception and release memory if packet is too long.
SMSC DS – LAN91C96I
Page 75
DATASHEET
Rev. 11/18/2004