- 2078 Baisakh · 3 marks
ISA bus protocols
Short answer
The ISA bus protocol is a synchronous compromise strobe/handshake: a fixed-cycle transfer (default 4 cycles) can be extended by the device pulling I/O CH RDY low. The master places address, asserts MEMR/W or IOR/W, and the slave responds; DMA and IRQ lines support block transfers and interrupts.
Describe the ISA bus protocols.
The ISA (Industry Standard Architecture) bus is the 8/16-bit expansion bus of the IBM PC/AT, used with 80x86 processors and clocked at about 8 MHz. It is a synchronous bus with separate address, data and control lines. It uses a compromise strobe/handshake protocol: a transfer normally finishes in a fixed number of clock cycles (like a strobe), but a slow device can stretch it by pulling the ready line low (like a handshake). The processor (or a DMA controller) is the bus master and a card responds as slave.
Main signals:
- Address lines: SA0-SA19 (and LA17-LA23 for 16 MB), data lines SD0-SD15.
- Control: MEMR, MEMW (memory read/write), IOR, IOW (I/O read/write), ALE/BALE (address latch enable).
- I/O CH RDY (CHRDY) (ready line to insert wait states), IRQ lines (interrupts), DRQ/DACK (DMA request and acknowledge), RESET, CLK.
Read cycle (memory or I/O):
- Cycle C1: the master puts the address on the address lines and asserts ALE/BALE to latch it.
- Cycle C2: the master asserts MEMR (or IOR) to tell the addressed device to put data on the data bus.
- Cycle C3: the device places the data on the bus. If the device is slow, it pulls CHRDY low to insert wait states until the data is ready.
- Cycle C4: the master reads the data and deactivates MEMR/IOR; the cycle ends. A default cycle therefore takes 4 clock cycles, plus any wait states.
Write cycle: the same, but the master puts data on the data lines and asserts MEMW or IOW; the device latches the data, again using CHRDY to add wait states if needed.
DMA: a device raises DRQ; the DMA controller replies with DACK, becomes the master and generates the memory and I/O read/write signals.
Interrupt: a card asserts an IRQ line to the interrupt controller.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- ISA bus signals; replacement by PCI bus · Instrumentation II, chapter 2
- Short introduction to ISA bus · Instrumentation II, chapter 2