◄ 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.