Figure 10.5 drive send and allocate routines, Datasheet – SMSC LAN91C111 User Manual

Page 92

Advertising
background image

10/100 Non-PCI Ethernet Single Chip MAC + PHY

Datasheet

Revision 1.91 (08-18-08)

92

SMSC LAN91C111 REV C

DATASHEET

MEMORY PARTITIONING

Unlike other controllers, the LAN91C111 does not require a fixed memory partitioning between transmit
and receive resources. The MMU allocates and de-allocates memory upon different events. An
additional mechanism allows the CPU to prevent the receive process from starving the transmit
memory allocation.

Memory is always requested by the side that needs to write into it, that is: the CPU for transmit or the
MAC for receive. The CPU can control the number of bytes it requests for transmit but it cannot
determine the number of bytes the receive process is going to demand. Furthermore, the receive
process requests will be dependent on network traffic, in particular on the arrival of broadcast and

Figure 10.5 Drive Send and Allocate Routines

A L L O C AT E

Issu e "A llo ca te M e m o ry"

C o m m a n d to M M U

R e a d In te rru p t S ta tu s R e g iste r

E n q u e u e Pa cke t

S e t "R e a d y fo r Pa cke t" Fla g

R e tu r n

C o py R e m a in in g T X D a ta

Pa cke t in to R A M

R e tu rn B u ffe rs to U p p e r L aye r

W rite A llo ca te d Pa cke t in to

Pa cke t # R e g iste r

W rite A d d re ss Po in te r R e g iste r

C o py Pa rt o f T X D a ta Pa cke t

in to R A M

W rite S o u rce A d d re ss in to

P ro p e r L o ca tio n

S to re D a ta B u ffe r Po in te r

C le a r "R e a d y fo r Pa cke t" F la g

E n a ble A llo ca tio n In te rru p t

A llo ca tio n

Pa sse d ?

Ye s

N o

D R IV E R S E N D

C h o o se B a n k S e le ct

R e g iste r 2

C a ll A L L O C AT E

E xit D rive r S e n d

R e a d A llo ca tio n R e su lt

R e g iste r

Advertising