microZEUS
The whole stack, hand-drawn.

◄ Wiki / OS

MMIO / memory-mapped I/O

Controlling hardware devices by reading and writing special memory addresses wired to the device instead of to RAM.

Rather than having separate instructions for talking to devices, the CPU maps a device's control registers into the ordinary address space, so writing to a particular address flips a hardware switch and reading it returns the device's status. This lets device drivers command hardware with the same load/store instructions used for memory. The catch is those addresses aren't real memory, so ordinary caching and reordering assumptions don't apply.

See also

  • MMUThe hardware unit that translates the addresses a program uses into real physical memory locations.
  • page tableThe lookup structure the CPU uses to map a program's virtual addresses to real physical memory.
  • pagingThe virtual-memory scheme that splits memory into fixed-size chunks and maps them flexibly.