memory mapped I/O

memory mapped I/O

The use of the same instructions and bus to communicate with both main memory and input/output devices. This is in contrast to processors that have a separate I/O bus and special instructions to access it.

The I/O devices are addressed at certain reserved address ranges on the main memory bus. These addresses cannot therefore be used for RAM. Motorola and Mostec architectures, among others, use memory mapped I/O.

Video cards and other cards with on-board memory might be accessed in this way though the term applies not just to devices containing memory but to any device connected to the memory bus. Accessing the devices usually consists of reading and writing certain built-in registers though sometimes the mere presence of a particular address can trigger the device.
This article is provided by FOLDOC - Free Online Dictionary of Computing (


(Memory Mapped Input Output) Using the same address register in the computer to access main memory as well as memory on peripheral controllers. For example, in a 32-bit Windows operating system, main memory up to 3GB is used for programs and data. The memory range from 3GB to 4GB is assigned to the memory on the controller cards, and that memory is used for data transfer and peripheral processing. If RAM chips actually exist on the motherboard for this 3GB-4GB region, they are not used.

Upper Memory Area
Memory mapped I/O (MMIO) existed long before PCs had multiple gigabytes of memory. For example, the upper memory area (UMA) region above 640KB was used for the graphics cards when screen resolutions were considerably smaller than they are today. See UMA.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.