Memory-Mapped I/O (MMIO) is a computer hardware design technique where the input/output device registers are mapped into the processor's main memory address space, allowing them to be accessed using standard CPU load and store instructions instead of specialized I/O commands. This abstraction creates a unified address space where memory and device control registers coexist, enabling programmers to interact with hardware—such as a GPU framebuffer or UART serial port—by reading from or writing to specific memory addresses as if they were ordinary RAM. The Memory Management Unit (MMU) and operating system kernel manage these mappings, enforcing access permissions and ensuring stability.
