Memory mapping

This is an old revision of this page, as edited by 84.9.95.110 (talk) at 13:08, 19 October 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Memory mapping describes a process whereby some item of digital hardware is connected to a processor's address bus and data bus in such a way that it can be accessed (for reading and/or writing) exactly as if it were a memory cell.

This is used as an alternative to connecting it to an I/O port, especially in embedded systems.

For example, an analogue-to-digital converter could be memory mapped to a certain address. When that address is written to, the conversion is started; when the address is read from, the data is transferred to the processor.

Sometimes only partial address decoding is used, meaning that the device effectively occupies a much larger block of memory space than is strictly necessary. This can be a problem if the memory space is small (e.g. with a 16-bit address bus which can only address 65,536 different locations).

Memory mapping also hogs the address and data buses if the mapped device is slower than true memory (as for instance, a successive approximation A-to-D converter might well be).