IBM A2 User Manual page 503

Table of Contents

Advertisement

ELSE IF MMUCR0[TLBSEL] = 3 THEN
if exactly one valid, matching entry with all of the following properties:
1. entry[TGS] = MMUCR0[TGS]
2. entry[TS] = MMUCR0[TS]
3. entry[TID] = MMUCR0[TID56:63], or entry[TID_NZ] = 0
4. MMUCR1[DCTID] = 0, or entry[CLASS] = MMUCR0[TID50:51], or entry[TID_NZ] = 0
5. MMUCR1[DTTID] = 0, or entry[THDID] = MMUCR0[TID52:55], or entry[TID_NZ] = 0
6. MMUCR1[DTTID] = 1, or entry[THDID(thread_num)] = 1
7. entry[EPN0:63-p] = EPN0:63-p
8. entry[V] = 1
is in the D-ERAT then
(RT[52:63])
index of matching D-ERAT entry
(RT[50:51])
"01"
if Rc = 1 then CR[CR0]
else if more than one valid, matching entry is in the D-ERAT then
(RT[52:63])
index of first matching D-ERAT entry
(RT[50:51])
"11"
if Rc = 1 then CR[CR0]
else
(RT[52:63])
undefined
(RT[50:51])
"00"
if Rc = 1 then CR[CR0]
Notes:
1. An EA is formed by adding an index to a base address. The index is the contents of register RB. The base
address is 0 if the RA field is 0, and is the contents of register RA
nature of searches of the ERAT arrays, and because the effective address adder resides in the execution
unit (not the instruction unit), only the RA = 0 variation of this instruction is supported when searching the
I-ERAT array (that is, EA is always calculated as EA = 0 + (RB) when MMUCR0[TLBSEL] = 2).
2. For ERAT structures containing less than 4096 entries, unused MSBs return '0'.
An EPN is determined from EA bits 0 to 51. The effective page number bits used for page matching for a
given ERAT entry are EPN[0:63-p], where p = log
The MMUCR0[TLBSEL] bits are used to select a particular source structure (I-ERAT or D-ERAT).
The chosen ERAT is searched for a valid entry, which translates MMUCR0[TGS], MMUCR0[TS],
MMUCR0[TID
], and EPN (the ERATs do not contain the TLPID or IND values). Depending on the value
56:63
of the MMUCR1[I/DCTID] and [I/DTTID] bits, the entry Class and/or ThdID fields can participate in the search
as part of the TID value. If one or more matching entries are found, the index number of the first matching
entry is returned in register RT. If no matching entries are found, the index number returned is undefined.
The RT bits 50:51 can be tested after an eratsx[.] instruction to determine if the search found exactly one
matching entry (01), found more than one matching entry (11), or failed to find a matching entry (00).
The record bit (Rc) specifies whether the results of the search will affect CR[CR0] as shown above, such that
CR[CR0]
can be tested if there is a possibility that the search might fail.
2
Version 1.3
October 23, 2012
1
2
1
2
0
2
(4
2
2
2
otherwise. Because of the pipelined
0:63
Entry[SIZE]
 1 K).
User's Manual
A2 Processor
Implementation Dependent Instructions
Page 503 of 864

Advertisement

Table of Contents
loading

Table of Contents