Table 5-8 System Memory Map Memory Locations 1 Contents --------------------------1---------------------------------- eeeee ee4ee eeFFE eleee FCeee FFFCe FFFEe FFFEC FFFEE FFFFe - rtH'3FF ee7FF Down - Up - FFFBF - FFFDF - FFFEB FFFED FFFEF - FFFFF System's interrupt vector table Monitor's working area Monitor's stack area User's memory space Monitor program Monitor's "copy right" statement Monitor's bootstrap program PROM release and version number PROM checksum Power-up jump vector MEMORY MANAGEMENT UNIT The MMU (memory management unit) performs memory mapping and management, and provides access protection and violation detection for the mapped locations.
Memory Mapping The MMU changes the upper eight bits of the XLA bus, generates four attribute protection bits to the BD bus, then combines these bits with the remaining lower bits from the XLA bus to produce the mapped address bus to main memory. The translation of the XLA bus to the MP bus is controlled by a "mapper" in the MMU circuitry. The mapper is a collection of 256 relocation registers, see Table 5-9. Each register maps a 4K byte page of main memory. This gives a possible total of I Mbyte of memory. Memory mapping is important in a multi-user environment because it keeps different users' programs from interfering with the operating system and with each other.
Allocation of memory for each user is performed by the operating system. Protection Function Memory protecton allows several different programs ("tasks" or "processes") to use the same physical memory without interfering with the operating system and other user programs. Before running a particular program, the CPU sets up the MMO to map the logical address space of the CPU into the physical memory reserved for that program. Programs can not interfere with the operating system because each could access only its own portion of the physical memory as 5-13