Victim.oracle
Pradeep Sindhu November 3, 1987 11:17:32 pm PST
Paraminder Sahai June 29, 1987 5:23:05 pm PDT
TEST COMPLETED Feb 11, 1987 [PSS]
Modified March 17, 1987 5:36:39 pm PST to add AVct
Checked again after putting together cache top level June 30, 1987 2:29:48 pm PDT [PSS]
Signal Order is:
R x P P V | U V A
e L C C M | s i V
s d t t a | e c c
e U l l t | t t
t s S F c | i
e h r h | m
f z |
t V |
V i |
i c |
Check that it resets properly:
1 x 0 0 ( x x x x x ) | ( x x x x x ) ( x x x x x ) x
1 x 0 0 ( x x x x x ) | ( x x x x x ) ( 0 0 0 0 1 ) 1
Check that LdUse works:
1 0 0 0 ( 0 0 0 0 0 ) | ( x x x x x ) ( 0 0 0 0 1 ) 1
0 1 0 0 ( 1 1 1 1 1 ) | ( x x x x x ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 1 1 ) ( 0 0 0 0 1 ) 1
Check that Victim clears each of the Use bits in turn
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 1 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 0 0 ) ( 0 0 1 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 0 0 0 ) ( 0 1 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 0 0 0 0 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 0 0 0 1 ) 1
Turn on a few Use bits and then bump Victim by setting its Use bit
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 0 0 0 1 ) 1
0 1 0 0 ( 0 0 1 1 0 ) | ( 0 0 0 0 0 ) ( 0 0 0 0 1 ) 1
0 1 0 0 ( 0 0 0 0 1 ) | ( 0 0 1 1 0 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 1 1 1 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 1 1 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 1 0 0 ) ( 0 0 1 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 1 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 1 0 0 0 ) 1
Check that Set overrides Clear
0 0 0 0 ( 0 1 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 1 0 0 0 ) 1
0 1 0 0 ( 0 1 0 0 0 ) | ( 0 0 0 0 0 ) ( 0 1 0 0 0 ) 1
0 1 0 0 ( 0 1 0 0 0 ) | ( 0 1 0 0 0 ) ( 0 1 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 1 0 0 0 0 ) 1
Check that FreezeVictim works
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 1 0 0 0 0 ) 1
0 1 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 1 0 0 0 0 ) 1
0 0 0 1 ( 0 0 0 0 0 ) | ( 1 1 1 1 1 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 1 1 1 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 1 1 1 ) ( 1 0 0 0 0 ) 1
Check that ShftVictim works (try both oldUse=0 and oldUse=1)
0 0 1 0 ( 0 0 0 0 0 ) | ( 0 1 1 1 1 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 1 1 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 1 1 1 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 1 1 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 1 0 0 ) ( 0 0 1 0 0 ) 1
0 0 1 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 0 1 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 1 0 0 0 0 ) 1
0 0 1 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 1 0 0 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 0 0 0 ) ( 1 0 0 0 0 ) 1
0 0 1 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 1 ) ( 0 0 0 0 1 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
Check that xLdUse=0 doesn't set Use bits
0 0 0 0 ( 0 0 0 0 0 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 1 0 0 ( 1 1 1 1 1 ) | ( 0 1 0 0 0 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 1 1 ) ( 0 0 0 1 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 1 0 1 ) ( 0 0 1 0 0 ) 1
0 0 0 0 ( 0 0 0 0 0 ) | ( 1 1 0 0 1 ) ( 0 1 0 0 0 ) 1
.