Array.oracle
Paraminder Sahai September 26, 1987 11:23:13 pm PDT
Pradeep Sindhu April 24, 1988 2:33:23 pm PDT
Re-Checked after array changes made in December '87 [PSS]
NB: Two lines correspond to one cycle of the DynaBus clock.
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff00 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff00 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
1 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Write Cams, Flags and Ram (We freeze the victim, both shared, owner are set to 0)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 1 0 0 0 0 1 1 0 0 010 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0000 1 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 1 0 0 0 0 1 1 0 0 010 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0000 1 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now Read all of them (just to make sure)
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 9090909090909090 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 9090909090909090 xx x x x x x
Read them again so that were sure that the read was not destructive
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 9090909090909090 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 9090909090909090 xx x x x x x
Now shift the victim by raising PCtlShftVictim4 for 1 cycle and waiting for another cycle, (actually the wait cycle can be combined with the cycle in which control signals are raised for the next write but I want to be sure that victim settles to a stable value before EnRs is raised)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (Also set the shared bit and clear owner)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 020 1 0 0 0 0 1 1 0 0 0a8 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ffff 1 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 020 1 0 0 0 0 1 1 0 0 0a8 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ffff 1 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x FFFFFFFFFFFFFFFF xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x FFFFFFFFFFFFFFFF xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x FFFFFFFFFFFFFFFF xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 021 0a9 E FFFFFFFFFFFFFFFF xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 021 0a9 E FFFFFFFFFFFFFFFF xx x x x x x
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffff 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (both shared and owner are cleared)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 038 1 0 0 0 0 1 1 0 0 090 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0000 1 | 038 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 038 1 0 0 0 0 1 1 0 0 090 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0000 1 | 038 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f0f0f0f0f0f0f0f0 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f0f0f0f0f0f0f0f0 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f0f0f0f0f0f0f0f0 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 039 091 E f0f0f0f0f0f0f0f0 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 039 091 E f0f0f0f0f0f0f0f0 xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (both shared and owner are cleared)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0f8 1 0 0 0 0 1 1 0 0 058 1 2 F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ff73 1 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0f8 1 0 0 0 0 1 1 0 0 058 1 2 F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ff73 1 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f9 059 2 faffafaffafaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f9 059 2 faffafaffafaffaf xx x x x x x
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now try a match from the processor side (try to match the first line)
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
Although the results of the virtual match have been latched we cannot read the ram using RSCmd = LVM because the LVM for the right half can be XXXX for Rosemary
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 7b4a 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 7b4a 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (set shared and clear owner )
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0d0 1 0 0 0 0 1 1 0 0 068 1 2 F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 df53 1 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0d0 1 0 0 0 0 1 1 0 0 068 1 2 F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 df53 1 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d1 069 2 caffacaffacaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d1 069 2 caffacaffacaffaf xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0080 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0080 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (clear both shared and owner)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0b8 1 0 0 0 0 1 1 0 0 028 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0001 1 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0b8 1 0 0 0 0 1 1 0 0 028 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 0001 1 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 1000000000000001 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 1000000000000001 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 1000000000000001 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0b9 029 C 1000000000000001 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0b9 029 C 1000000000000001 xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f7c6 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f7c6 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f746 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f746 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (Set shared and clear owner)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ef63 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ef63 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 010 1 0 0 0 0 1 1 0 0 0b0 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ef62 1 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 010 1 0 0 0 0 1 1 0 0 0b0 1 E F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ef62 1 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 011 0b1 E eaffafa00afaffae xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 011 0b1 E eaffafa00afaffae xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ffce 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now write to the next line (clear shared and owner)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff73 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 048 1 0 0 0 0 1 1 0 0 0c0 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ff73 1 | 048 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 048 1 0 0 0 0 1 1 0 0 0c0 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 ff73 1 | 048 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 0 1 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 049 0c1 C faffafaffafaffaf xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 049 0c1 C faffafaffafaffaf xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
The victim pointer is now sitting on the first line on the left
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Try a match from the processor side (first line on the left) and read the Ram using RSCmd = LVM.
We do the match and read in 4 cycles as it would be done in the real circuit, Also check that ASh and AOw are both 0 (The match will set the use bit, since this line is the current victim the victim pointer will move to the next line i.e the second line on the left and the use bit will get cleared.)
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x 9090909090909090 xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9090909090909090 xx x 0 0 x 1
Now lets try another match from the processor side (last line on the right) and read the Ram using RSCmd = LVM. Once again ASh and AOw are 0 and the use bit will get set.
0 0 0 0000 0 0 0 0 0 1 1 048 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 048 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 048 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 048 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 ff00 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 ff00 8 | 000 xxx x faffafaffafaffaf xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | xxx xxx x faffafaffafaffaf xx x 0 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | xxx xxx x faffafaffafaffaf xx x 0 0 x 1
Now try try another match from the processor side (second line on the right) and write the Ram using RSCmd = LVM. Since this line is not shared it's owner bit should get set and AOw should be 1 (The use bit will get set)
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff00 2 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 ff00 2 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 00ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 00ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
Again match the same line and try to read it (making sure that it was written into)
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x 9999999999999999 xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x 9999999999999999 xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x 9999999999999999 xx x 0 1 x 1
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now try to match and write into a line that has it's shared bit set. ( the third line on the right).
The write should not take place and the owner bit should not get set. ASh will be asserted and the use bit will get set.
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0f33 2 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
Again match the same line and try to read it (making sure that it wasn't written into)
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x eaffafa00afaffae xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x 1 0 x 1
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now try a match and read from the bus side (last line on the left). Check that ARM goes high. (The use bit dosen't get set for accesses from the bus side) The read is delayed by 3 cycles because of RML234 so a match and the following read takes 7 cycles. (RSCmd = LRM)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 058 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 058 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x faffafaffafaffaf xx x 0 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x 0 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x 0 0 1 1
Now try a match and write from the bus side (second line on the left). ASh will go up.
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0a8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0a8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
Now try a match from the processor side and read the line that was just written into on the previous bus write. The use bit will get set and since this line is the current victim, the victim pointer will move to the next line (third line on the left) clearing the use bit.
0 0 0 0000 0 0 0 0 0 1 1 020 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 020 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x 0123456789abcdef xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0123456789abcdef xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0123456789abcdef xx x 1 0 1 1
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now try word writes.
Match the last line on the left from the processor side and write (Kernel write) to word6, bytesel = F (use and owner bits get set and AOw is raised)
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 6 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 6 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0f 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0f 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0f 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0f 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Now match the same line just written into and read (Kernel Read) the same word, also check that only the word has changed
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 0 0 0 0 000 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 0 0 0 0 000 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 6 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 6 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x f8fdadadfafaffaf 0f x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x f8fdadadfafaffaf 0f x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x f8fdadadfafaffaf 0f x 0 1 x 1
Now try to write to the first line on the right hand side with the wrong permission (nPMFlags) and see that AVM dosen't go up and that the write dosen't take place
0 0 0 0000 0 0 0 0 0 1 1 0d0 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0d0 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0f33 2 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
Again match the same line and try to read it (making sure that it wasn't written into) Both ASh and AVM will go up this time. (use bit gets set)
0 0 0 0000 0 0 0 0 0 1 1 0d0 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0d0 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d0 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x caffacaffacaffaf xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x 1 0 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x 1 0 x 1
Now try writing to a word with bytesel # F
Match the first line on the left from the processor side and write to word3 with Bytesel = 9 (use and owner bits get set, AOw is raised)
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 9 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 9 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Now match the same line just written into and read the same word, also check that only the relevant bytes in word have changed
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 098 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 098 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x 8080909090908080 3c x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 8080909090908080 3c x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 8080909090908080 3c x 0 1 x 1
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now try a match from the bus side and see that RPValidIn = 1 dosen't match
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 090 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 1
Now we will try to match a line that dosen't exist in the cache (As usual we will start reading the Ram before the results of the match are out ), on failing to find a match we will try a partial match and read out the corresponding real page and virtual block to get the complete real address
Make xRdVCam high for 1 cycle also, so that the read latch is also loaded
0 0 0 0000 0 0 0 0 1 1 1 088 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 088 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 1 1 088 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 088 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
The match failed in the previous cycle (AVM was low) , So we start a partial match immediately and read the Cams (CSCmd = LVM) The contents of the block part of the read latch will be read out along with the page part of the RCam
0 0 0 0000 0 0 0 1 0 1 1 088 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 088 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 1 0 1 1 088 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 088 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 1 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 1 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
AVM goes high this time
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 1 0 0 0 0 0 xxx 0 0 1 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | x(xx00)(1xxx) 0(00xx)(xxxx) C xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 1 0 0 0 0 0 xxx 0 0 1 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | x(xx00)(1xxx) 0(00xx)(xxxx) C xxxxxxxxxxxxxxxx xx x x x x 1
Now we try a partial match on the RCam, the result of this match will be used to clear the VPValid bits of the lines that matched by raising ClrVPV (The second and third lines on the left and the third line on the right will match)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 1 1 1 0 1 080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 1 1 1 0 1 080 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 1 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 1 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 1 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 1 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 1 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 1 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
Since the second and third lines on the left have their VPValid bits cleared these lines should not match from the processor side
0 0 0 0000 0 0 0 0 0 1 1 020 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 020 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 1 1 038 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 038 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 038 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 038 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now lets test the IO portion
Try a match from the processor side to the first IO line on the left and write to CWSOld (Both AOw and LVM will be asserted)
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 ef 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ef 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ef 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ef 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Now match the line just written into and read out CWSOld
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ef x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ef x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ef x 0 1 x 1
Now we read each of the 4 words containing the Local Fault code (ff)
Line 5 word 1
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
Line 5 word 3
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
Line 5 word 5
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 x 1
Line 5 word 7 Read this from the bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1e8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1e8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ff x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ff x 0 1 1 1
Now try to read one of the words containing Local Fault Code with the wrong permissions (user read) (The match will not take place, none of the select lines will go up and we will read precharge i.e all 0's) AOw will not be asserted, AVM will also be 0
Line 5 word 5
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 128 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 128 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x 0000000000000000 00 x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0000000000000000 00 x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0000000000000000 00 x 0 0 x 0
Now we write into the other words in the IORam and read them out
Write 11 into CWSNew
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 11 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 11 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 11 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Write ab into AID
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 ab 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ab 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ab 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ab 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Write cc into FaultCode
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 cc 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 cc 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 cc 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 cc 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Write fa to Interrupt Status
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 fa 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 fa 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 fa 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 fa 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Write 80 to Interrupt Mask (SetReschedule should go up)
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 80 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 80 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 80 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Write aa to modes from the bus side (The fact that the BlockWrite Lines contain 0123456789abcdef should not affect the word write)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1e0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1e0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 5 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 5 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 aa 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 aa 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 aa 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 aa 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
Now try to match and write interrupt status with the wrong permission ( The match should not take place, AVM should become low and the line should not be written into, AOw will also become low)
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 1 0
Now we try to match and write to Fault Code from the bus side but with RPValid = 1, once again the match will not take place, ARM will become low, and the word will not get written into. The fact that the Block Write Lines are being driven to 0123456789abcdef should not affect the word write.
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 3 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 3 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 0 0 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 0 0 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 x 0 0 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 x 0 0 0
Now we read all the words that we wrote in the IORam
Read CWSOld from the bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ef x x 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ef x x 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ef x x 1 1 0
Read CWSNew from the processor side
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 100 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 100 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 11 x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 11 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 11 1 0 1 x 1
Read AID from the Bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx ab x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ab x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx ab x x 1 1 1
Read Fault Code from the processor side
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx cc x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx cc 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx cc 1 0 1 x 1
Read Interrupt Status
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx fa x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx fa 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx fa 1 0 1 x 1
Read Interrupt Mask
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 80 x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 80 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 80 1 0 1 x 1
Read Modes
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx aa x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx aa 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx aa 1 0 1 x 1
Now we write into a word with ByteSel # f
Write ff into Fault Code with ByteSel = c, from the Bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 c 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 c 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ff 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
Now read the same word from the processor side
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 3 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx fc x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx fc 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx fc 1 0 1 x 1
Now lets try the set and clear circuitry in the IORam (we first raise the Clear Select line and drive the bit lines to f0, this will make SetReschedule low
0 0 0 0000 0 0 0 0 0 1 1 110 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 110 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 110 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 110 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 f0 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 f0 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 f0 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f0 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
Read Interrupt Status from the bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 0a x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 0a x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 0a x x 1 1 1
Now we raise the SelSelect line and drive the bit lines to 88 (From the bus side), SetReschedule should go up
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1d8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1d8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 f 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 88 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 88 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 88 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 1 0 1 1 1
Read interrupt status
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx 1 x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx 1 x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 1 x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 1 x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 8a 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 8a 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 8a 1 0 1 x 1
Write 00 to Modes with ByteSel = 0, it should not get written into
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
Now read modes
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 120 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 120 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx aa x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx aa 1 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx aa 1 0 1 x 1
Write 70 to Interrupt Mask with ByteSel = c (SetReschedule should go low)
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 c 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 1 c 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 70 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 70 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 70 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
Read Interrupt Mask from the bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx 70 0 x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | xxx xxx x xxxxxxxxxxxxxxxx 70 0 x 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00ff 4 | xxx xxx x xxxxxxxxxxxxxxxx 70 0 x 1 1 1
The following table describes some of the state of the array at this point
Left
Line# VPValid RPValid Shared Owner Victim Use
0  1   1   0  1  0  1
1  0   1   1  0  0  0
2  0   1   0  0  1  0
3  1   1   0  1  0  1
Right
0  1   1   1  0  0  1
1  1   1   0  1  0  1
2  0   1   1  0  0  1
3  1   1   0  0  0  1
Since the third line on the right has its VPValid bit cleared but its RPValid bit set we will now check that it can be matched and written/read from the bus side but not from the processor side (Although this line has its shared bit set the write will be permitted from the bus side)
Try to match and write from the processor side (The match and write should not take place, ASh, AOw, AVM should be low)
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 010 0 0 0 0 0 0 0 0 0 000 0 E 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0000 2 | 010 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 00ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 00ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
Read from the bus side (The old value should be read)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x eaffafa00afaffae xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x eaffafa00afaffae xx x 1 0 1 0
Write from the bus side (Although this line has its shared bit on it will get written into because the write is being done from the bus side i.e PWtInProg is low)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff00 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 ff00 4 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 00 ff00 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 00 ff00 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
Read again from the bus side this time value written in the previous step should be read
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0b0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 f0cc 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 f0cc 8 | 000 xxx x 2222222222222222 xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 aaff 4 | xxx xxx x 2222222222222222 xx x 1 0 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 aaff 4 | xxx xxx x 2222222222222222 xx x 1 0 1 0
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now we get a new mapping into the cache CSCmd = RSCmd = Victim (we freeze the victim during the write, victim points to the third line on the left) (We clear owner and set shared)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f0cc 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 f0cc 2 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 058 1 0 0 0 0 1 1 0 0 0f0 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 aa00 1 | 058 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 058 1 0 0 0 0 1 1 0 0 0f0 1 C F 1 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 00 aa00 1 | 058 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 3 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 3 1 0 0 0 1 1 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Now read all of them
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 059 0f1 C fedcba9876543210 xx x x x x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 059 0f1 C fedcba9876543210 xx x x x x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Victim now points to the last line on the left, but this line and the following 5 lines have their use bits set so victim will eventually settle to the second line on the left
Since the third line on the left was replaced, the real address that was previously contained in this line should not match
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 090 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 0 x
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Try to pass LRM through the CSMux (This operation will not be carried out in the cache but we check for it any way, we do a real match and pass the LRM that is generated by this real match thru the CSMux and write the VCam, RCam and Flags ) We match the second line on the left
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 028 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 028 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 x
We write the Cams only
0 0 0 0000 0 0 0 0 0 1 1 068 1 0 0 0 0 1 1 0 0 0e0 1 C F 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 068 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 068 1 0 0 0 0 1 1 0 0 0e0 1 C F 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 068 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 1 000 1 0 0 0 0 1 0 1 0 000 1 0 F 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 F 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
The Cams cannot be read just by passing LRM thru the CSMux because DrRdLatch and DrRdLatchBit in the Cams are high on (AVct.CSCmd1=1 + ARM.CSCmd1=0) Here CSCmd1 is 1 but AVct is high for the left part whereas the line in LRM that is high lies on the right half
Match the real address just written and read the Ram
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0e0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 0e0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0f33 8 | 000 xxx x 9999999999999999 xx x 0 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x 9999999999999999 xx 0 0 1 1 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 5500 4 | xxx xxx x 9999999999999999 xx 0 0 1 1 0
Try to match the virtual address that was previously in the line whose Cam part we just wrote into, the match and the subsequent write should fail
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0f33 2 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0b8 0 0 0 0 0 0 0 0 0 000 0 E 4 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0f33 2 | 0b8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 0 2 1 0 0 0 0 0 1 0 0 0 00 55ff 1 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
Match the line whose VCam, RCam contents we changed and read it making sure that the previous operation did not write into this line AOw goes up ASh goes down (use bit gets set)
0 0 0 0000 0 0 0 0 0 1 1 068 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 068 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 068 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 068 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x 9999999999999999 xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9999999999999999 xx x 0 1 x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9999999999999999 xx x 0 1 x 1
Now we will try to match a line that dosen't exist in the cache (As usual we will start reading the Ram before the results of the match are out ), on failing to find a match we will try a partial match and read out the corresponding real page and virtual block to get the complete real address
Make xRdVCam high for 1 cycle also, so that the read latch is also loaded
0 0 0 0000 0 0 0 0 1 1 1 078 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 078 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 1 1 078 0 0 0 0 0 0 0 0 0 000 0 E 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 078 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
The match failed in the previous cycle (AVM was low) , So we start a partial match immediately and read the Cams (CSCmd = LVM) The contents of the block part of the read latch will be read out along with the page part of the RCam
0 0 0 0000 0 0 0 1 0 1 1 078 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 078 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 1 0 1 1 078 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 078 xxx x xxxxxxxxxxxxxxxx xx x 0 0 x 0
0 0 0 0000 0 0 0 1 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 1 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x 1
AVM goes high this time
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 1 0 0 0 0 0 xxx 0 0 1 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | x(xx11)(1xxx) 0(11xx)(xxxx) C xxxxxxxxxxxxxxxx xx x x x x 1
0 0 0 0000 0 1 0 0 0 0 0 xxx 0 0 1 0 0 0 0 0 0 000 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | x(xx11)(1xxx) 0(11xx)(xxxx) C xxxxxxxxxxxxxxxx xx x x x x 1
The following table describes the state of the array at this point
Left side
Line# VCam RCam Flgs Shrd Ownr Vctm Use Ram
0   099 011 6  0  1  0  0  8080909090908080
1   020 0a9 7  1  0  1  0  0123456789abcdef
2   059 0f1 6  1  0  0  0  fedcba9876543210
3   0f9 059 1  0  1  0  0  f8fdadadfafaffaf
Right side
0   0d1 069 1  1  0  0  0  caffacaffacaffaf
1   069 0e1 6  0  1  0  1  9999999999999999
2   010 0b1 7  1  0  0  0  222222222222222
3   049 0c1 6  0  0  0  0  affafaffafaffaf
IORam CWSOld = ef, CWSNew = 11, AID = ab, FaultCode = fc, IntStatus = 8a, IntMask = 70, Modes = aa
We verify this table by sequencing through the lines by shifting the victim pointer and reading everything in each line
Currently the victim points to the second line on the left, read this line and shift victim (we freeze victim during the read)
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0123456789abcdef xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0123456789abcdef xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 0123456789abcdef xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 0a9 E 0123456789abcdef xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 020 0a9 E 0123456789abcdef xx x 1 0 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 059 0f1 C cfedcba9876543210 xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 059 0f1 C fedcba9876543210 xx x 1 0 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f8fdadadfafaffaf xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f8fdadadfafaffaf xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x f8fdadadfafaffaf xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f9 059 2 f8fdadadfafaffaf xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f9 059 2 f8fdadadfafaffaf xx x 0 1 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x caffacaffacaffaf xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d1 069 2 caffacaffacaffaf xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0d1 069 2 caffacaffacaffaf xx x 1 0 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9999999999999999 xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9999999999999999 xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 9999999999999999 xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 069 0e1 C 9999999999999999 xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 069 0e1 C 9999999999999999 xx x 0 1 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 1 0 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 2222222222222222 xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 2222222222222222 xx x 1 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 2222222222222222 xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 010 0b1 E 2222222222222222 xx x 1 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 010 0b1 E 2222222222222222 xx x 1 0 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line and shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 0 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x 0 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x 0 0 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x faffafaffafaffaf xx x 0 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 049 0c1 C faffafaffafaffaf xx x 0 0 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 049 0c1 C faffafaffafaffaf xx x 0 0 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Read this line
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 0 0 000 0 0 0 1 0 1 0 0 3 0 0 0 0 0 1 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 3 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx xx x 0 1 x x
0 0 0 0000 0 0 0 0 1 0 0 xxx 0 0 0 1 0 0 0 1 0 000 0 0 0 1 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 8080909090908080 xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 8080909090908080 xx x 0 1 x x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 1 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x 8080909090908080 xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 8080909090908080 xx x 0 1 x x
0 0 0 0000 0 1 1 0 0 0 0 xxx 0 1 1 0 0 0 0 0 0 000 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 099 011 C 8080909090908080 xx x 0 1 x x
Shift victim
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now read the IORam (we read some words from the processor side and some from the bus side)
Read Interrupt Status from the bus side
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 1 0 1 1c8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 5 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x 1 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 8a 0 x 1 1 x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 8a 0 x 1 1 x
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 8a 0 x 1 1 x
Read Interrupt Mask
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 1 1 108 0 0 0 0 0 0 0 0 0 000 0 E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 108 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 1 0 7 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 x x 1 x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx 70 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 70 0 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x xxxxxxxxxxxxxxxx 70 0 0 1 1 1
I will insert the test vectors to read the other words in the IORam later
Reset, ClrVPV, PCtlResetVictim, Spare, xLdUse, PCtlDrABusVB, PCtlDrABusVP, PCtlPartVMch, xRdVCam, xLdVCamWR, xDrVCamBL, VAdrsInOut, VPValidIn, PCtlDrABusRB, PCtlDrABusRP, xRdRCam, xPartRMch, xDrRCamBL, xLdRCamWR, xEnCamSelExt, BCycle1, RAdrsIn, RPValidIn, FlagsIn, nPMFlags, xEnCamSel, PCtlShftVictim4, PCtlFrzVictim, xCSCmd, EnRS, xRSCmd, PWtInProg, BCtlSetOw, BCtlClrOw, SetSh, ClrSh, xRdRam, xWtRam, xSelWdData, xByteSel, xWdAdrs, WdWtData, BlkWtData | VAdrsInOut, RAdrsOut, FlagsOut, BlkRdData, WdRdData, SetReschedule, ASh, AOw, ARM, AVM
Now we start matches from the processor and bus sides simultaneously (We match different lines, the processor read shoild complete in 4 cycles wheras the bus read will take 7, match last line on the left from the processor side and third line on the left from the bus side , Note that shared = 0 and owner = 1 for the virtual match and shared = 1 and owner = 0 for the real match)
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 1 1 0 1 0f0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 1 1 0f8 0 0 0 0 0 1 1 0 1 0f0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 0f8 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 1 0 0 0 0 0 1 000 0 0 0 0 0 1 0 0 0 000 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x x x
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x f8fdadadfafaffaf xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x f8fdadadfafaffaf xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x f8fdadadfafaffaf xx x 0 1 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x x x 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x xxxxxxxxxxxxxxxx xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | 000 xxx x fedcba9876543210 xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x 1 0 1 1
0 0 0 0000 0 0 0 0 0 0 0 xxx 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0000 0 | xxx xxx x fedcba9876543210 xx x 1 0 1 1
.