3 channel registers, Figure 1220. dma channel address and byte count r – Intel 386 User Manual

Page 368

Advertising
background image

12-33

DMA CONTROLLER

12.3.3 Channel Registers

To program a DMA channel’s requester and target addresses and its byte count, write to the DMA
channel registers. Some of the channel registers require the use of a byte pointer (BP) flip-flop to
control the access to the upper and lower bytes. After you write or read a register that requires a
byte pointer specification, the DMA toggles the byte pointer. For example, writing to
DMA0TAR0 with BP=0 causes the DMA to set BP. The clear byte pointer software command
(DMACLRBP) is available so that you can force BP to a known state (0) before writing to the
channel registers. Issue DMACLRBP by writing to location F00CH or 000CH; the data written
to the location doesn’t matter — writing to the location is all that is necessary to cause the DMA
to clear the byte pointer.

Figure 12-20. DMA Channel Address and Byte Count Registers

(DMA

n

REQ

n

, DMA

n

TAR

n

, DMA

n

BYC

n

)

DMA Channel 0

DMA Channel 1

24

16

8

0

Requester Address

DMA0REQ3

DMA0REQ2

DMA0REQ1

DMA0REQ0

F011H

(BP=1)

F011H

(BP=0)

F010H

(BP=1)

F010H

(BP=0)

24

16

8

0

Target Address

DMA0TAR3

DMA0TAR2

DMA0TAR1

DMA0TAR0

F086H

F087H

F000H

(BP=1)

F000H

(BP=0)

16

8

0

Byte Count

DMA0BYC2

DMA0BYC1

DMA0BYC0

F098H

F001H

(BP=1)

F001H

(BP=0)

24

16

8

0

Requester Address

DMA1REQ3

DMA1REQ2

DMA1REQ1

DMA1REQ0

F013H

(BP=1)

F013H

(BP=0)

F012H

(BP=1)

F012H

(BP=0)

24

16

8

0

Target Address

DMA1TAR3

DMA1TAR2

DMA1TAR1

DMA1TAR0

F085H

F083H

F002H

(BP=1)

F002H

(BP=0)

16

8

0

Byte Count

DMA1BYC2

DMA1BYC1

DMA1BYC0

F099H

F003H

(BP=1)

F003H

(BP=0)

Advertising