Lesson 048

Communicating with Peripherals

Buses · Registers · Memory-mapped I/O

1:00

How the CPU uses buses, device controllers, and registers to talk to keyboards, disks, GPUs, and other peripherals — and why polling, interrupts, and DMA exist.

By the end, you can

  • Explain why the CPU communicates with a device controller rather than the physical device.
  • Describe the role of the address, data, and control lines on a bus.
  • Identify which of the three controller registers the CPU reads vs writes, and when.
  • Distinguish memory-mapped I/O from port-mapped I/O and state the instruction used for each.
  • Trace the steps a CPU takes to send one byte via programmed I/O, including both polling loops.
  • Explain why polling busy-waits waste CPU cycles and how interrupts eliminate that waste.
  • Describe how DMA improves on interrupt-driven I/O for large block transfers.
  • Explain why device register addresses must be treated as volatile and never cached.
Up next in Computer Architecture & Operating Systems
Questions or feedback?