8237 DMA Controller
8237 DMA Controller
1
8237 DMA Controller
2
The 8237 DMA Controller Pin-out
3
8237A-5 programmable DMA controller
4
The 8237 DMA Controller Pin-out
5
The 8237 DMA Controller Pin-out
6
The 8237 DMA Controller Pin-out
7
The 8237 DMA Controller Pin-out
8
The 8237 DMA Controller Pin-out
9
The 8237 DMA Controller Pin-out
10
Internal Registers
11
Internal Registers
12
Command Register
13
Mode Register
14
Mode Register
● Demand mode transfers data until an
external EOP is input or until the DREQ
input becomes inactive.
● Single mode releases the HOLD after
each byte of data is transferred. If the
DREQ pin is held active, the 8237 again
requests a DMA transfer through the
DRQ line to the microprocessor’s HOLD
input.
● Block mode automatically transfers the
number of bytes indicated by the count
register for the channel. DREQ need not
be held active through the block mode
transfer.
● Cascade mode is used when more than
one 8237 is present in a system.
15
Bus request register
16
Mask register set/reset
17
The mask register
18
The Status Register
19
Software Commands
Master Clear:
● This command is used as software RESET.
20
Software Command Examples
➢ Enable or disable the DMA controller (Write Command Register)
➢ Set the transfer mode (block, demand, etc.) for a DMA channel
(Write Mode Register)
➢ Mask or unmask specific DMA channels (Write Single Mask Register
Bit)
➢ Clear internal flip-flops or temporary states (Master Clear, Clear Byte
Pointer Flip-Flop)
➢ Initiate a DMA request via software (Write Request Register)
➢ Read status of DMA channels (Read Status Register)
21
Software Commands
22
Programming the Address and Count Registers
23
Programming the Address and Count Registers
24
The 8237 Connected to the 80X86 Microprocessor
Part A
Normal 8088
Operation (AEN = 0)
Active Latches:
Latch A provides
A19–A16.
Latch C provides A7–
A0.
Multiplexer E
provides control
signals.
25
The 8237 Connected to the 80X86 Microprocessor
Part A
26
The 8237 Connected to the 80X86 Microprocessor
Part B
Temporarily stores upper
address bits A15–A8 from
the DMA controller.
27
The 8237 Connected to the 80X86 Microprocessor
● During normal 8086 operation, the DMA controller and integrated circuits B
and D are disabled.
● During a DMA action, integrated circuits A, C and E are disabled so that 8239
can take control of the system through the buses
28
Programming DMA
• The leftmost digit of the 5-digit address is sent to Latch B.The F/L flip-
flop is cleared.
• Channels are programmed: Channel 0 is set as the source.
Channel 1 is set as the destination (for memory-to-memory transfer).
• The count register is programmed with a value one less than the
number of bytes to be transferred.
• The mode register of each channel is programmed.
• The command register is programmed to select a block move 29
operation.
Programming DMA
30
Programming DMA
31
Programming DMA
32
THANK YOU
33