Mapped: Here mapped means how we are going to connect memory or CPU to I/O devices.
If main memory and I/O devices are connected via a common bus, few conflicts may arise.
Conflict # 1: let CPU is asking for address 100, then we don't know which device is he referring? He may be referring either main memory address or I/O address? so to solve this conflict we have two strategies.
1. Isolated :
- Here we have different instructions set for both memory and I/O device.
- With isolated I/O the I/O ports are accessible only by special I/O commands, which activate the I/O command lines on the bus.
- If isolated I/O is used, there are only a few I/O instructions.
- Because of less I/O instruction, it has programming efficiency.
2. Memory Mapped:
- Here some memory is dedicated for I/O and some for Processor.
- We don't need a different instruction set.
- There is a relatively large instruction set
- It has more programming efficiency then isolated.
Note: This diagram is taken from the book Computer Organisation and Architecture by William Stallings.