
MOTOROLA
Chapter 1. Overview
1-13
When the physical address translation misses in the TLBs, the 603e provides hardware
assistance for software to perform a search of the translation tables in memory. The
hardware assist consists of the following features:
Automatic storage of the missed effective address in the IMISS and DMISS registers
Automatic generation of the primary and secondary hashed real address of the page
table entry group (PTEG), which are readable from the HASH1 and HASH2 register
locations.
The HASH data is generated from the contents of the IMISS or DMISS register.
Which register is selected depends on which miss (instruction or data) was last
acknowledged.
Automatic generation of the first word of the page table entry (PTE) for which the
tables are being searched
A real page address (RPA) register that matches the format of the lower word of the
PTE
Two TLB access instructions (
tlbli
and
tlbld
) that are used to load an address
translation into the instruction or data TLBs
Shadow registers for GPRs 0–3 that allow miss code to execute without corrupting
the state of any of the existing GPRs.
These shadow registers are only used for servicing a TLB miss.
See Section 1.3.5.2, “Implementation-Specific Memory Management,” for more
information about memory management for the 603e.
1.1.5.2 Cache Units
The 603e provides independent 16-Kbyte, four-way set-associative instruction and data
caches. The cache line size is 32 bytes in length. The caches are designed to adhere to a
write-back policy, but the 603e allows control of cacheability, write policy, and memory
coherency at the page and block levels. The caches use a least recently used (LRU)
replacement policy.
As shown in Figure 1-1, the caches provide a 64-bit interface to the instruction fetch unit
and load/store unit. The surrounding logic selects, organizes, and forwards the requested
information to the requesting unit. Write operations to the cache can be performed on a byte
basis, and a complete read-modify-write operation to the cache can occur in each cycle.
The load/store and instruction fetch units provide the caches with the address of the data or
instruction to be fetched. In the case of a cache hit, the cache returns two words to the
requesting unit.
Since the 603e data cache tags are single ported, simultaneous load or store and snoop
accesses cause resource contention. Snoop accesses have the highest priority and are given
first access to the tags, unless the snoop access coincides with a tag write, in which case the