Memory Mapped IO | IO Mapped IO | Memory mapped | IO mapped

Опубликовано: 17 Апрель 2026
на канале: Know about Embedded System
757
16

Memory-mapped I/O (MMIO) is a technique where I/O device registers are mapped to specific, dedicated addresses within the CPU's main memory address space. The CPU interacts with peripherals using standard load/store instructions (e.g., MOV) rather than specialized I/O instructions, simplifying programming but consuming address space.

Key Characteristics and Concepts
Unified Address Space: I/O devices and physical memory share the same address bus.
No Special Instructions: Because peripherals are treated as memory, standard C programming structures (pointers, structs) can be used to read/write hardware registers.
Address Decoding: The CPU does not distinguish between a memory read/write and a device read/write.
Common Applications: Widely used for high-speed peripherals like graphics cards (frame buffers), network interface cards, and within microcontrollers like ARM Cortex

I/O-mapped I/O (or isolated I/O) is a method where input/output devices are assigned a separate address space, distinct from main memory, using dedicated IN and OUT instructions and specific IOR/IOW control signals. It preserves full memory capacity, uses8-bit or 16-bit addressing (e.g., 256 ports in 8085), and simplifies hardware decoding at the cost of requiring special assembly instructions.

Key Characteristics of I/O-Mapped I/O
Isolated Address Space: I/O devices have their own address range, separate from RAM, meaning an address like could exist in both memory and I/O.

Specialized Instructions: Specific CPU instructions (e.g., IN and OUT in x86/8085) are used to access these devices, rather than standard memory-access instructions like MOV.

Control Signals: The processor uses dedicated signals—I/O Read (IOR) and I/O Write (IOW)—to distinguish between a memory access and an I/O operation on the shared bus.

Limited Addressing: Typically, this approach uses an 8-bit address, limiting the system to 256 (
) distinct I/O ports, whereas memory-mapped I/O allows much larger addressing.

Data Transfer: Data transfer typically occurs through the accumulator, reducing flexibility compared to mapping that allows any register to interact with I/O.

Implementation: It is commonly used in Intel architectures, while Motorola often favours memory-mapped I/O.

In this video we have explained
What is Memory Mapped I/O
What is I/O Mapped (Isolated) I/O
Key differences between Memory Mapped and I/O Mapped I/O

Chapters:-
00:00 Introduction
00:38 Memory mapped Input output
04:29 Input Output mapped Input output

   • Embedded System Course for Beginners | Emb...  
   • Keil Software  | Keil Software operation |...  
   • Pin Multiplexing | PINSEL | Pin function s...  
   • Timers in Embedded System  
   • Embedded Protocols | Embedded Protocol Tut...  
   • GPIO- General Purpose Input Output  
   • Bit Masking In Embedded System  
   • DAC Digital to Analog Converter | Embedded...  
   • ARM Cortex  
   • ARM Advanced RISC Machine  
   • Embedded System Basics | Fundamentals of E...  
   • C and Embedded C Programming  

If you have any questions please write to us
email : [email protected]

👍 If you find this helpful, please Like, Share, and Subscribe for more embedded systems tutorials.

#memorymappedio #MemoryMappedInputOutput, #MMIO #iomappedio #microprocessors #embeddedsystems #embeddedc #learnembeddedsystems
#embeddedsolutions #IOMappedIO, #IOPortAddressing, #IsolatedIO, #PortMappedIO