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.