SmallCacheInner-BAll.oracle
Pradeep Sindhu April 23, 1988 2:24:11 pm PDT
TEST IN PROGRESS
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-BAll"]
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 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 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 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 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 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 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 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 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 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 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 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 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 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
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 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
( 0 0 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.cacheStateValueA
SmallCacheInner-ReadBlocks:
NB: Our chip's Id=1, so Id in packet must be 0 to indicate a Foreign device
First write to line 7 word 7 so as to set the owner bit (none of the lines have owner set)
PWriteHit[AC] (line 7 word 7); write whatever is there already since we just want to set owner:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F 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 9 F 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 9 F AB | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 002E 0 0 0 0 0 0 AB | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockRequest-Foreign-Miss
( 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 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 1 0078 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 5555 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 1 0050 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockRequest-Foreign-Hit (hits line 2, should set shared bit and assert shared line)
( 0 0 0 1 1 0 ) 0 0 2212 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 1 00D7 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockRequest-Foreign-Hit (hits line 7, should set shared bit, assert shared and owner lines and reply with the data)
( 0 0 0 1 1 0 ) 0 0 1117 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 1 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 1 1 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 3 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 1 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 1 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
Give the grant for the RBRply
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 1 08D7 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 0 CBA4 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 0 ABC1 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 0 0 0 0 xx | x 0 BAC2 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 CAB3 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 1 08D7 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 CBA4 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 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 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 082E 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 1111 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 2222 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 3333 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 4444 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 1 0878 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 4444 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 3333 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 2222 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 1111 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 1 0838 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockReply-Foreign-Hit (line 0)
( 0 0 0 1 1 0 ) 0 0 0101 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 1010 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 2020 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 3030 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 1 08A8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
ReadBlockReply-Foreign-Hit (line 4)
( 0 0 0 1 1 0 ) 0 0 1117 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 2278 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 1372 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 1876 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
PWriteHit-Shared[52] with someone pulling shared on the WSRqst
( 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 36 | 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 36 | 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
( 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 21D2 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 3636 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 21D2 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here'e our own WSRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 3636 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 2BD2 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And through the magic of a virtual MemController, here's the WSRply on our input wires
( 0 0 0 1 1 0 ) 0 0 3636 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 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
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 36 x
PWriteHit-Shared[52] with no one pulling shared on the WSRqst (ie. shared will get cleared)
( 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 47 | 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 47 | 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
( 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 21D2 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 4747 0 0 0 0 1 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 21D2 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
Here'e our own WSRqst on our input wires
( 0 0 0 1 1 0 ) 0 0 4747 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 29D2 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 1 0 x xx x
And through the magic of a virtual MemController, here's the WSRply on our input wires
( 0 0 0 1 1 0 ) 0 0 4747 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 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
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 1 1828 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 47 x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueG
SmallCacheInner-WriteBlocks:
NB: Our chip's Id=1, so Id in packet must be 0 to indicate a Foreign device
WriteBlockReply-Foreign-Miss
( 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 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 1 1878 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 5555 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 1 1820 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockReply-Foreign-Hit (hits line 1, but shouldn't do anything)
( 0 0 0 1 1 0 ) 0 0 2212 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 18D8 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockReply-Foreign-Hit (hits line 6, but shouldn't do anything)
( 0 0 0 1 1 0 ) 0 0 1117 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 1 1028 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 1111 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 2222 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 3333 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 4444 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 1 1078 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 4444 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 3333 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 2222 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 1111 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 1 1038 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockRequest-Foreign-Hit (line 0-should update the line)
( 0 0 0 1 1 0 ) 0 0 0111 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 1010 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 2020 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 3037 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 1 10D0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteBlockRequest-Foreign-Hit (line 7-should update the line and clear the owner bit)
( 0 0 0 1 1 0 ) 0 0 1117 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 2278 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 1372 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 1876 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
( 0 0 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
Check that the lines got updated:
PReadHit[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 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[51]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 51 | 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 51 | 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 17 x
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 22 x
PReadHit[53]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 53 | 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 53 | 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 78 x
PReadHit[54]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 54 | 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 54 | 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 13 x
PReadHit[55]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 55 | 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 55 | 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 72 x
PReadHit[56]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 56 | 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 56 | 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 18 x
PReadHit[57]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 57 | 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 57 | 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 76 x
PReadHit[38]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 38 | 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 38 | 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 01 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 11 x
PReadHit[3A]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3A | 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 3A | 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 10 x
PReadHit[3B]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3B | 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 3B | 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 10 x
PReadHit[3C]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3C | 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 3C | 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 20 x
PReadHit[3D]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3D | 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 3D | 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 20 x
PReadHit[3E]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 3E | 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 3E | 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 30 x
PReadHit[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 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 37 x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueH
SmallCacheInner-WriteSingles:
NB: Our chip's Id=1, so Id in packet must be 0 to indicate a Foreign device
First write to line 4 word 4 so as to set the owner bit (none of the lines have owner set)
PWriteHit[AC] (line 4 word 4):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AC | 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 AC | 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 45 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 202E 0 0 0 0 0 0 45 | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0034 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 1 2078 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0055 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 1 2039 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleRequest-Foreign-Hit (hits line 0, should pull shared line)
( 0 0 0 1 1 0 ) 0 0 0071 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 1 20D7 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleRequest-Foreign-Hit (hits line 7, should pull shared line)
( 0 0 0 1 1 0 ) 0 0 0017 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 1 282E 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0011 0 0 0 0 0 0 xx | x 0 xxxx 0 1 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 1 2878 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0044 0 0 0 0 0 0 xx | x 0 xxxx 0 1 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 1 2839 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleReply-Foreign-Hit (line 0)
( 0 0 0 1 1 0 ) 0 0 0075 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 1 28AD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
WriteSingleReply-Foreign-Hit (line 4)
( 0 0 0 1 1 0 ) 0 0 0039 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
Check that the locations we wrote into did get written
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 75 x
PReadHit[AC]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AC | 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 AC | 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 45 x
PReadHit[AD]:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AD | 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 AD | 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 39 x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueI
SmallCacheInner-CondWriteSingles:
NB: Our chip's Id=1, so Id in packet must be 0 to indicate a Foreign device
First write to line 4 word 4 so as to set the owner bit (none of the lines have owner set)
PWriteHit[AC] (line 4 word 4):
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 9 F AC | 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 AC | 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 54 | x 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 1 302E 0 0 0 0 0 0 54 | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0034 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 1 3078 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleRequest-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0055 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 1 3039 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleRequest-Foreign-Hit (hits line 0, should pull shared line)
( 0 0 0 1 1 0 ) 0 0 0071 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 1 30D7 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleRequest-Foreign-Hit (hits line 7, should pull shared line)
( 0 0 0 1 1 0 ) 0 0 0017 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 1 382E 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0011 0 0 0 0 0 0 xx | x 0 xxxx 0 1 0 0 0 0 x xx x --A
( 0 0 0 1 1 0 ) 0 0 0011 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 0011 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 0011 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 1 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 1 3878 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleReply-Foreign-Miss
( 0 0 0 1 1 0 ) 0 0 0044 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 0044 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 0044 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 0044 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 1 3839 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleReply-Foreign-Hit (line 0) successful cws (ie oldval=sample)
( 0 0 0 1 1 0 ) 0 0 7586 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 7586 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 7586 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 7586 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 1 38AD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
CondWriteSingleReply-Foreign-Hit (line 4) failing cws (ie oldval#sample)
( 0 0 0 1 1 0 ) 0 0 0083 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 0083 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 0083 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 0083 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
Check that the locations we wrote into did get written
PReadHit[39] line 0 word 1:
( 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 86 x
PReadHit[AC] line 4 word 4:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AC | 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 AC | 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 54 x
PReadHit[AD] line 4 word 5:
( 0 0 0 1 1 0 ) 0 0 0000 0 0 0 0 8 0 AD | 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 AD | 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 39 x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueJ
SmallCacheInner-IOReads:
NB: Our chip's type is 1 and Id is 1, so IO Address from bus side must be 11xx xxxx
First write known values to each of the IO locations
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 [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 BD | 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 BD | 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 BD x
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 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 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 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 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 [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 x --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 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], 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 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
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 1 80F0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x 55 x
IOReadRequest-Foreign-Miss (devType=1, devId=1, address not in cache)
( 0 0 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 1 8083 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Miss (devType=1, devId=0, address in cache)
( 0 0 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 1 8043 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Miss (devType=0, devId=1, address in cache)
( 0 0 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 1 8003 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Miss (devType=0, devId=0, address in cache)
( 0 0 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 1 80C1 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (CWSOld) Should reply with contents of CWSOld
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88C1 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 0 xxAB 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80C3 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (CWSNew) Should reply with contents of CWSNew
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88C3 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 0 xxBD 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80C9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (AID) Should reply with contents of AID
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88C9 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 0 xx11 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80CB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (FaultCode) Should reply with contents of FaultCode
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88CB 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 0 xx22 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80CD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (InterruptStatus) Should reply with contents of InterruptStatus
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88CD 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 0 xx33 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80CF 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (InterruptMask) Should reply with contents of InterruptMask
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88CF 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 0 xx44 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80E5 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (Modes) Should reply with contents of Modes
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88E5 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 0 xx55 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 80E9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOReadRequest-Foreign-Hit (LocalFaultCode) Should reply with contents of LocalFaultCode
( 0 0 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 88E9 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 0 xxFF 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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
Check that the IO locations still have the right values
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
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 BD 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
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
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
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 x --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 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
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 55 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 1 90F0 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x FF x
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueK
SmallCacheInner-IOWrites:
NB: Our chip's type is 1 and Id is 1, so IO Address from bus side must be 11xx xxxx
IOWriteRequest-Foreign-Miss (devType=1, devId=1, address not in cache)
( 0 0 0 1 1 0 ) 0 0 0123 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 1 9083 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Miss (devType=1, devId=0, address in cache)
( 0 0 0 1 1 0 ) 0 0 0123 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 1 9043 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Miss (devType=0, devId=1, address in cache)
( 0 0 0 1 1 0 ) 0 0 0123 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 1 9003 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Miss (devType=0, devId=0, address in cache)
( 0 0 0 1 1 0 ) 0 0 0123 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 1 90C1 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (CWSOld) Should update contents of CWSOld
( 0 0 0 1 1 0 ) 0 0 0011 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98C1 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90C3 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (CWSNew) Should update contents of CWSNew
( 0 0 0 1 1 0 ) 0 0 0022 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98C3 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90C9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (AID) Should update contents of AID
( 0 0 0 1 1 0 ) 0 0 0033 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98C9 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90CB 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (FaultCode) Should update contents of FaultCode
( 0 0 0 1 1 0 ) 0 0 0044 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98CB 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90CD 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (InterruptStatus) Should update contents of InterruptStatus
( 0 0 0 1 1 0 ) 0 0 0055 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98CD 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90CF 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (InterruptMask) Should update contents of InterruptMask
( 0 0 0 1 1 0 ) 0 0 0066 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98CF 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90E5 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (Modes) Should update contents of Modes
( 0 0 0 1 1 0 ) 0 0 0077 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98E5 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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 1 90E9 0 0 0 0 0 0 xx | x 0 xxxx 0 0 0 0 0 0 x xx x
IOWriteRequest-Foreign-Hit (LocalFaultCode) Should update contents of LocalFaultCode
( 0 0 0 1 1 0 ) 0 0 0088 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 3 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 1 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 1 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 1 0 0 0 0 xx | x 1 98E9 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 0 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 0 xxxx 0 0 0 0 0 0 x xx x --B
( 0 0 0 1 1 0 ) 0 0 0000 0 1 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
Check that the IO locations have the right values
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 11 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 22 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 33 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 44 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 55 x
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 x --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 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 66 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 77 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
The state of the cache at this point should be: SmallCacheArrayStateValues.cacheStateValueL
.