SmallCacheInner-PAll.oracle
Pradeep Sindhu May 11, 1988 5:18:43 pm PDT
Oracle File modified to work at top level (SmallCacheInner). Test completed April 23, 1988 12:38:17 pm PDT. This test now runs with the following settings:
Array  OutputSection
TLevel TLevel
TLevel Behav
Behav TLevel
Behav Behav
NB: Each line corresponds to one cycle of the DynaBus clock
The state of the cache following Reset is: all x's except for signals set otherwise by the hardware
← Logic.SetOracleFileName["SmallCacheInnerTest", "SmallCacheInner-PAll"]
Perform the reset sequence:
Assert Reset till x's get flushed out (the last signal appears to be RamForP, which settles 3 cycles after BCtlRamForBCWS6, which settles in cycle 6):
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x x x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x x x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x x x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x x x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x x 0 x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x --A
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x --B
( 0 0 0 1 0 0 ) 0 0 0000 0 0 0 0 0 0 00 | x x xxxx x x x x 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
Check that chip Id can be read out (scan path 0):
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 0 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
Shift In MyId (scan path 1) (Recall that MyId is only one bit so only one bit needs to be shifted in):
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 1 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 1 0 1 1 1 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 1 1 0 1 1 1 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 1 ) 1 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 1 0 0 1 1 1 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 1 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 1 0 0000 0 0 0 0 0 0 00 | 1 0 xxxx 0 0 0 0 0 0 x xx x
SmallCacheInner-InitialReads:
First Write the AID register:
 D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
 h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
 i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
 f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
 t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
 C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
 k s e e I         n   l   |  e t  u O  t   o  d
  n           I   |  O   t u     d  u
                n   |  u    t     e  l
                   |  t           e
                   |              
Write AID [09], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 33 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 33 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back to check it [09]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 33 x
Now do PReads to fill the cache:
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
PReadMiss-MapMiss-NoVictim[50]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 50 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 50 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the grant come here, so we send our MapRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x x xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x x xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 E150 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 3333 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 E150 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our map request on our input wires, followed immediately by the MapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 1 E9DE 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 01D0 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 01D0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 09D0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 ABC1 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 BAC2 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 CAB3 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AB x --B
( 0 0 0 1 1 0 ) 0 0 CBA4 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AB x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x
PReadMiss-MapHit-NoVictim[59]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 59 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 59 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 01D9 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 01D9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 09D9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 AABB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 CCDD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 EEFF 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BB x --B
( 0 0 0 1 1 0 ) 0 0 8899 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BB x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BB x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
PReadMiss-MapMiss-NoVictim[8A]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8A | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8A | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the grant come here, so we send our MapRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x x xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 E18A 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 3333 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 E18A 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our map request on our input wires, followed immediately by the MapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 1 E98A 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 018A 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 018A 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 098A 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 1122 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 3344 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 5566 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 11 x --B
( 0 0 0 1 1 0 ) 0 0 7788 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 11 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 11 x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 11 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
PReadMiss-MapHit-NoVictim[AB]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AB | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AB | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 01AB 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 01AB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 09AB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 1234 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 5678 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 ABCD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 34 x --B
( 0 0 0 1 1 0 ) 0 0 EF01 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 34 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 34 x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 34 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
PReadMiss-MapMiss-NoVictim[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the grant come here, so we send our MapRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x x xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 E1CC 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 3333 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 E1CC 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our map request on our input wires, followed immediately by the MapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 1 E94F 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 014C 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 014C 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 094C 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 1A2B 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 3C4D 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 5E6F 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 1A x --B
( 0 0 0 1 1 0 ) 0 0 7081 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 1A x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 1A x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x 1A x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 1A x
PReadMiss-MapHit-NoVictim[D5]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D5 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D5 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 0155 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 0155 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 0955 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 ABBC 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 CDDE 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 EFF0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BC x --B
( 0 0 0 1 1 0 ) 0 0 0112 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BC x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x BC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x BC x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
PReadMiss-MapMiss-NoVictim[26]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 26 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 26 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the grant come here, so we send our MapRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x x xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 E126 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 3333 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 E126 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our map request on our input wires, followed immediately by the MapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 1 E92C 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 0126 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 0126 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 0926 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 AABB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 CCDD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 EEFF 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AA x --B
( 0 0 0 1 1 0 ) 0 0 0011 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AA x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AA x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x AA x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA x
PReadMiss-MapHit-NoVictim[3F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 013F 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 013F 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's our RBRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 093F 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And shortly thereafter the RBRply
( 0 0 0 1 1 0 ) 0 0 FFCC 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 DD00 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 3476 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x CC x --B
( 0 0 0 1 1 0 ) 0 0 7174 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x CC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x CC x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x CC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
Now read one word from each of the lines 7, 6, 5, 4, 3, 2, 1, and 0
PReadHit[52]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x BA x
PReadHit[58]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x AA x
PReadHit[8F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 66 x
PReadHit[AF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x CD x
PReadHit[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 1A x
PReadHit[D7]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x DE x
PReadHit[25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 11 x
PReadHit[39]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 00 x
We add the following cycles to let the victim reach a stable value
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueA
SmallCacheInner-Writes:
Do Word writes to each of the lines
PWriteHit[52] (line 7):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 52 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 52 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 11 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 11 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[58] (line 6):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 58 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 58 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 22 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 22 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[8F] (line 5):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 8F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 8F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 33 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 33 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[AF] (line 4):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AF | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AF | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 44 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 44 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[CC] (line 3):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 55 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 55 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[D7] (line 2):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F D7 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F D7 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 66 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 66 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWrite-NoWritePermission[25] (line 1):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 77 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 77 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 1 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
PWrite-NoWritePermission[39] (line 0):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 39 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 39 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 88 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 88 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 1 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
Then read them back to verify the contents
PReadHit[52]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
PReadHit[58]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 22 x
PReadHit[8F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 33 x
PReadHit[AF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 44 x
PReadHit[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 55 x
PReadHit[D7]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 66 x
PReadHit[25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
PReadHit[39]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 x
Do Byte writes to each of the lines (write FF to word and then clear one or more bytes); for one of the byte writes make sure that the byte data has zeros in only the bytes were trying to write to ensure we weren't just lucky.
PWriteHit[52]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 52 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 52 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[52]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 1 52 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 1 52 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 1 FC | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FC | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[58]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 58 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 58 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[58]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 2 58 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 2 58 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 2 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[8F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 8F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 8F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[8F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 4 8F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 4 8F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 4 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[AF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AF | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AF | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[AF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 8 AF | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 8 AF | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 8 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 9 CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 9 CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 9 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[D7]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F D7 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F D7 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F FF | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 FF | x 0 xxxx 0 0 0 0 0 0 x xx x
PWriteHit[D7]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 7 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 7 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 7 00 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read the words back to verify the contents
PReadHit[52]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 52 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x FC x
PReadHit[58]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 58 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x F3 x
PReadHit[8F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 8F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CF x
PReadHit[AF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AF | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 3F x
PReadHit[CC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 3C x
PReadHit[D7]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 D7 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x C0 x
PReadHit[25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
PReadHit[39]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 39 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 x
Add cycles to let the victim stabilize:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
The victim should now be pointing to line 1. Next, reference line 1 to push victim to line 0:
PReadHit[25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueB
SmallCacheInner-WriteMisses:
Do a write miss
PWriteMiss-MapHit-NoVictim(78)
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 78 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 78 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 99 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 99 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
Give the grant for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 01F8 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 3939 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 1 01F8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 3939 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here is the RBRqst on our wires
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 09F8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the RBRply come here
( 0 0 0 1 1 0 ) 0 0 1122 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 3344 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 5566 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 7788 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
Now read the word just written, and the other words from the block fetched
PReadHit[78]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 78 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 78 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 99 x
PReadHit[79]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 79 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 79 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 22 x
PReadHit[7A]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7A | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7A | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[7B]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7B | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7B | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 44 x
PReadHit[7C]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7C | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7C | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 55 x
PReadHit[7D]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7D | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7D | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 66 x
PReadHit[7E]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7E | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7E | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 77 x
PReadHit[FF]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7F | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 7F | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 88 x
Do another write miss
PWriteMiss-MapHit-Victim(40)
D D D n n D  D B B  G G I P P P P  | D H B  B B R S P P P P P
S A E D D S  S C D  L r S m C B D  | B d D  O S e S R F F D R
h d x F R e  e y a  e a S o m y a  | u r a  w h q t e a a a e
i d e r e r  l c t  n n t d d t t  | s C t  n a u o j u u t s
f r c e s i  e l a  g t o e I e a  | O y a  e r e p e l l a c
t e u e e a  c e I  t  p I n S   | u c O  r e s O c t t  h
C s t z t l  t 0 n  h  I n  e   | t l u  O d t u t  C  e
k s e e I         n   l   |  e t  u O  t   o  d
n           I   |  O   t u     d  u
               n   |  u    t     e  l
                  |  t           e
                  |              
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 40 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 40 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 44 | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 44 | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 3 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 01 0 x xx x
Give the grant for the FlushBlock and then immediately after that for the RBRqst
( 0 0 0 1 1 0 ) 0 0 0000 1 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 41D1 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 0 ABC1 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 1 41D1 0 1 0 0 0 0 xx | x 0 FCC2 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 ABC1 0 1 0 0 0 0 xx | x 0 CAB3 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 FCC2 0 1 0 0 0 0 xx | x 0 CBA4 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 CAB3 0 1 0 0 0 0 xx | x 1 01C0 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 CBA4 0 0 0 0 0 0 xx | x 0 D1D1 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 1 01C0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 D1D1 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 49D1 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Let the FBRply come here
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 09C0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
And soon after the RBRply
( 0 0 0 1 1 0 ) 0 0 3333 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 3333 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 3333 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 3333 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 01 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x xx x
Now read the word just written, and the other words from the block fetched
PReadHit[40]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 40 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 40 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 44 x
PReadHit[41]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 41 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 41 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[42]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 42 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 42 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[43]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 43 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 43 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[44]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 44 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 44 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[45]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 45 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 45 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[46]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 46 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 46 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
PReadHit[47]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 47 | x 0 xxxx 0 0 0 00 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 47 | x 0 xxxx 0 0 0 00 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 00 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 00 0 x 33 x
SmallCacheInner-IO:
Check the operation of each IO location in turn:
CWSOld:
Write CWSOld [01], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F AB | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 AB | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [01]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AB x
Write CWSOld [01], User Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F CD | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 CD | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [01]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CD x
Write CWSOld [01], User Mode, ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D 3 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D 3 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [01]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x C3 x
CWSNew:
Write CWSOld [03], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [03]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 0F x
Write CWSOld [03], User Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [03]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x F0 x
Write CWSOld [03], User Mode, ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D 1 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D 1 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 1 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [03]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x F3 x
AID:
Write AID [09], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 11 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 11 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [09]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 11 x
Write AID [09], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 02 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 02 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [09]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 12 x
Write AID [09], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 09 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
FaultCode:
Write FaultCode [0B], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0B | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0B | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 22 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 22 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [0B]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0B | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0B | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 22 x
Write FaultCode [0B], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0B | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0B | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [0B]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0B | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0B | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 23 x
Write FaultCode [0B], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0B | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0B | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
InterruptStatus:
Write InterruptStatus [0D], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 33 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 33 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [0D]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 33 x
Write InterruptStatus [0D], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0D | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0D | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 04 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 04 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [0D]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 34 x
Write InterruptStatus [0D], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
InterruptMask:
Write InterruptMask [0F], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 44 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 44 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Read it back [0F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 44 1
Write InterruptMask [0F], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 05 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 05 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Read it back [0F]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 45 1
Write InterruptMask [0F], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1
Write 00 to InterruptMask [0F], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 00 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Read it back to check:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Write AA to InterruptMask [0F], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0F | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F AA | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 AA | x 0 xxxx 0 0 0 0 0 0 x xx 1
Read it back to check:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0F | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x AA 1
Write 00 to InterruptStatus [0D], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 00 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 00 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Read it back to check:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Starting at the highest order bit, set and then clear each bit, checking that SetReschedule is correctly generated. Since we wrote 1010 1010 (AA) into InterruptMask, we should get the alternating pattern 1010 1010 for SetReschedule.
Set bit 0:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 80 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 80 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Check that bit 0 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 80 1
Clear bit 0:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 80 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 80 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 0 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 1:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 40 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 40 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 1 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 40 0
Clear bit 1:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 40 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 40 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 1 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 2:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 20 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Check that bit 2 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 20 1
Clear bit 2:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 20 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 2 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 3:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 10 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 10 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 3 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 10 0
Clear bit 3:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 10 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 10 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 3 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 4:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 08 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 08 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Check that bit 4 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 08 1
Clear bit 4:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 08 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 08 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 4 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 5:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 04 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 04 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 5 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 04 0
Clear bit 5:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 04 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 04 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 5 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 6:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 02 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 02 | x 0 xxxx 0 0 0 0 0 0 x xx 1
Check that bit 6 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 1 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 02 1
Clear bit 6:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 1
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 02 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 02 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 6 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Set bit 7:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 1D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 7 got set:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 01 0
Clear bit 7:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 15 | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 01 | x 0 xxxx 0 0 0 0 0 0 x xx 0
Check that bit 7 got cleared:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0 --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 0D | x 0 xxxx 0 0 0 0 0 0 x xx 0
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx 0 --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 00 0
Modes:
Write Modes [25], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 44 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 44 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 44 x
Write Modes [25], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 05 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 05 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [25]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 45 x
Write Modes [25], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 25 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
LocalFaultCode:
Write LocalFaultCode [29], Kernel Mode:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 29 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 29 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F 44 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 44 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [29]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 29 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 29 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x FF x
Write LocalFaultCode [29], ByteWrite:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 29 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 29 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D 3 05 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 05 | x 0 xxxx 0 0 0 0 0 0 x xx x
Read it back [29]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 29 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 29 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 C 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x FF x
Write LocalFaultCode [29], User Mode: Should generate protection fault
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 29 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 29 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F F0 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 F0 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 x x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 1 3 xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
SmallCacheInner-Misc:
Do a CWS[adrs=20, oldVal=CC, newVal=DD]. The current value of location 20 is CC, so the CWS should succeed. The CWS will be local since shared is not set.
Write CWSOld [01]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 01 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F CC | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 CC | x 0 xxxx 0 0 0 0 0 0 x xx x
Write CWSOld [03]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 1 D F 03 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 D F DD | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 DD | x 0 xxxx 0 0 0 0 0 0 x xx x
Initiate CWS [20, CC, DD]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F 20 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F 20 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x CC x
Read location 20 to make sure that it got written
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x DD x
Now do a CWS[adrs=20, oldVal=CC, newVal=DD]. The current value of location 20 is DD, so the CWS should fail.
Initiate CWS [20, CC, DD]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F 20 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F 20 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 A F xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x DD x
Read location 20 to make sure that it didn't get written
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 20 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x DD x
Next do a DeMap (Memory|Special|Write) to a page that has one entry in the cache
Initiate DeMap(Adrs=RA, Data=Don'tCare):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F 36 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F 36 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F 22 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 22 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 F136 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 F136 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's the Demap request on our input wires, followed by the DeMapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 F936 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
Finally do a DeMap (Memory|Special|Write) to a page that has multiple entries in the cache
Initiate DeMap(Adrs=RA, Data=Don'tCare):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F C8 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F C8 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 B F 22 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 22 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 2 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 F1C8 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 F1C8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here's the Demap request on our input wires, followed by the DeMapRply
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 F9C8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
SmallCacheInner-ClrAllVPV:
Do a ClearAllVPV (Memory|Special|Write)
Initiate ClearAllVPV(Adrs=Don'tCare, Data=Don'tCare):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 E F 33 | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 E F 33 | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 E F 22 | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 22 | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
.