Erat Search Indexed (Eratsx[.]) - IBM A2 User Manual

Table of Contents

Advertisement

User's Manual
A2 Processor

12.3.3 ERAT Search Indexed (eratsx[.])

Software must use the eratsx[.] instruction to search the entries in either ERAT. The eratsx[.] instruction
relies on the MMUCR0[TLBSEL] field to determine on which hardware ERAT structure (I-ERAT or D-ERAT)
the instruction operates.
This instruction is embedded hypervisor privileged. This instruction can be executed in either MMU mode or
ERAT-only mode (CCR2[NOTLB] = don't care). The instruction format and details are described below.
eratsx
RT,RA,RB
eratsx.
RT,RA,RB
31
RT
RA
0
6
11
EA  (RA|0)
1
+ (RB)
EPN  EA[0:63-p], where p = log
thread_num  number of executing thread (0 to 3)
If Rc = 1
CR[CR0]
0
0
CR[CR0]
0
1
CR[CR0]
0
3
IF MMUCR0[TLBSEL] = 0 or 1 (reserved settings) THEN
Illegal Instruction exception
ELSE IF MMUCR0[TLBSEL] = 2 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[ICTID] = 0, or entry[CLASS] = MMUCR0[TID50:51], or entry[TID_NZ] = 0
5. MMUCR1[ITTID] = 0, or entry[THDID] = MMUCR0[TID52:55], or entry[TID_NZ] = 0
6. MMUCR1[ITTID] = 1, or entry[THDID(thread_num)] = 1
7. entry[EPN0:63-p] = EPN0:63-p
8. entry[V] = 1
is in the I-ERAT then
(RT[52:63])
index of matching I-ERAT entry
(RT[50:51])
"01"
if Rc = 1 then CR[CR0]
else if more than one valid, matching entry is in the I-ERAT then
(RT[52:63])
index of first matching I-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]
Implementation Dependent Instructions
Page 502 of 864
RB
147
Rc
16
21
31
Entry[SIZE]
(4
2
1
2
1
2
0
2
Rc = 0
Rc = 1
x 1 K)
2
2
Version 1.3
October 23, 2012

Advertisement

Table of Contents
loading

Table of Contents