The 8237 operates in the following modes:
- Rotating Priority Mode-
- If the RP bit of mode set register is set then the 8237 operates in rotating priority mode.
- After each DMA cycle, the priority of each channel changes.
- Hence all channels will get equal opportunity if they are enabled and their DMA requests exist. Initially, CH-0 gains highest priority while CH-3 gains lowest priority.
- The channel which has just been serviced will get the lowest priority after the DMA cycle and other channels move up to the next higher priority levels.
- The rotating pattern of channels is as shown in the figure below:
- Fixed Priority Mode-
- If the RP bit of mode set register is reset then 8237 operates in fixed priority mode.
- In fixed priority mode, channel 0 has highest priority and channel 3 has lowest priority.
- The priority is resolved during state 4 of each DMA cycle.
- Extended Write Mode-
- This mode is used to interface slower devices to the system.
- If the memory device or I/O device connected is slower, then for synchronization READY signal is used.
- In this method, the write signal is delayed by adding wait states into a DMA cycle. This reduces the speed of transfer.
- But in extended write mode, the write signal is extended earlier without adding states i.e. the set up time of write input signal of an I/O device or memory is increased in extended write mode without reducing the speed of transfer.
- This signal allows more time to external logic for deciding if additional wait states are needed.
- If the EW bit of mode set register is set then 8237 generates advanced or extended write control signals ((IOW) ̅ & (MEMW) ̅) i.e. the write control signals will go LOW, one clock cycle earlier as shown in the figure below:
- TC Stop Mode-
- If the TC stop bit in mode set register is set then 8237 disables the channel whose TC is reached. Thus it stops further DMA operations on that channel.
- If the TC stop bit is reset then the TC have no effect on channel, corresponding channel must be disabled by the microcomputer system through software.
- The TC stop bit option should be common for all channels.
- Auto-load Mode-