Features of Microprocessor 8257 DMA Controller:

The Features of Microprocessor 8257 DMA Controller are follows,

1. It is a programmable; 4-channel, direct memory access controller. Each channel can be programmed individually. Therefore, we can interface 4 input/output devices with 8257.

2. Each channel includes a 16-bit DMA address register and a 14-bit counter. DMA address register gives the address of the memory location and counter specifies the number of DMA cycles to be performed. As counter is 14-bit, each channel can transfer 214 (16 kbytes) without intervention of microprocessor.

3. It maintains the DMA cycle count for each channel and activates a control signal TC (Terminal count) to indicate the peripheral that the programmed number of DMA cycles are complete.

4. It provides another control signal MARK to indicate peripheral that the current DMA cycle is the 128th cycle since the previous MARK output.

5. It has priority logic that resolves the peripherals requests. The priority logic can be programmed to work in two modes, either in fixed mode or rotating priority mode.

6. It provides inhibit logic which can be used to inhibit individual channels.

7. It allows data transfer in two modes : burst mode and cycle steal (single byte transfer) mode.

8. It can execute three DMA cycles : DMA read, DMA write and DMA verify.

9. Auto load Features of 8257 permits repeat block or block chaining operations.

10. It operates in two modes : slave and master.

11. When DMA is in master mode, AEN signal provided by 8257 allows to isolate CPU buffers, latches and other devices from the system bus.

12. Extended write mode of 8257 prevents the unnecessary occurrence of wait states in the Features of 8257; increasing the system throughput.

13. It operates on single TEL clock and it is completely TEL compatible.

14. It can be interfaced with all Intel

15. It transfers one byte of data in four clock cycles. Thus giving high transfer rate such as 500 Kbytes/second at 2 MHz clock input.

16. Like 8085, Features of 8257 also has READY input which allows 8257 to interface slower memory or I/O devices that can not meet bus setup times required by the 8257.