A tool used by either
hardware to alert
software of a need or by software to control a function of hardware. Hardware and software need a way to communicate with each other, and they do so by using a combination of four system resources:
- IRQ – Hardware devices use the IRQ bus on a motherboard to signal the CPU for attention.
- port addresses – Software addresses a hardware device using the device’s port, or I/O, address. The device “listens” to the bus to determine if it is being requested.
- memory addresses – Software communicates with physical memory located in either RAM or ROM chips using memory addresses.
- DMA channel – Data travels back and forth between memory and a hardware device using this channel.