In thecaseof I/O, as mentioned in Section 1.2.1, each I/O controller includes registers to hold commands and the data being transferred. Usually, special I/O instructions allow data transfers between these registers and system memory.
To allow more convenient access to I/O devices, many computer architectures provide memory-mapped I/O. In this case, ranges of memory addresses are set aside and are mapped to the device registers.
Reads and writes to these memory addresses cause the data to be transferred to and from the device registers.
This method is appropriate for devices that have fast response times, such as video controllers.
In the IBM PC, each location on the screen is mapped to a memory location.
Displaying text on the screen is almost as easy as writing the text into the appropriate memory-mapped locations.