Border control unit:
L1Cache
-
AccelL1Cache
-
AccelL2Cache
-
GPUCopyDMA
-
Directory
-
DMA
- BorderControlUnit
getM
getS
putM
putE
putS
Writeback
Writeback Clean
InvAck
Data Dirty
DataM Dirty
DataS Clean
Data Clean
DataM Clean
Fwd getM
Fwd getS
Fwd getS only
Fwd getS merged
Invalidate
Fwd Ack
Writeback Ack
Writeback Nack
All acks
Check Timeout
Recover
RecycleReq
RecycleResp
I None
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
l
sr
e
m
qhf
l
sr
e
m
qhf
l
sr
e
m
qhf
l
sr
e
m
qhf
qt
qt
zf2q
zf2s
I None
I R
k
qaq
l
a s
qaq
/
IS R
k
qaq
k
qaq
j
qaq
k
qsq
k
qsq
k
qsq
l
i
sr
v
qhf
/
XI R
l
sr
e
m
qhf
/
I None
l
sr
e
m
qhf
/
I None
l
i
sr
v
qhf
/
XI R
qt
qt
zf2q
zf2s
I R
I RW
l
b
qaq
/
IM RW
l
a
qaq
/
IS RW
l
na
d
j
qaq
/
MI RW
l
na
d
j
qaq
/
EI RW
j
qaq
k
qsq
k
qsq
k
qsq
l
i
sr
v
qhf
/
XI RW
l
i
sr
v
qhf
/
XI RW
l
i
sr
v
qhf
/
XIM RW
l
i
ss
v
qhf
/
XIM RW
l
i
sr
v
qhf
/
XI RW
qt
qt
zf2q
zf2s
I RW
XI R
k
qaq
z2q
k
qaq
k
qaq
e
j
qaq
/
S RW
k
e
m
qsq
/
I R
k
e
m
qsq
/
I R
e
m
qsq
/
I R
w
qt
k
e
m
qt
/
I R
zf2q
zf2s
XI R
XI RW
z2q
z2q
na
j
c d
qaq
/
S RW
na
j
c c
qaq
/
S RW
e
j
qaq
/
S RW
nsa
c d
m
qsq
/
I RW
nsa
c c
m
qsq
/
I RW
e
m
qsq
/
I RW
w
qt
k
e
m
qt
/
I RW
zf2q
zf2s
XI RW
S RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
m
qsq
/
I RW
m
qsq
/
I RW
m
qsq
/
I RW
sr
e
qhf
sr
e
qhf
sr
e
qhf
sr
e
qhf
w
qt
k
m
qt
/
I RW
zf2q
zf2s
S RW
XIM RW
k
qaq
k
qaq
na
j
cs c
d
qaq
/
SMI RW
na
j
cs c
d
qaq
/
SMI RW
k
qaq
nsa
cs c
d
qsq
/
MI RW
nsa
cs c
d
qsq
/
EI RW
k
nsa
cs c
d
qsq
/
MI RW
w
qt
k
cs c
d
qt
/
MI RW
zf2q
zf2s
XIM RW
XII RW
z2q
z2q
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
sr
e
qhf
sr
e
qhf
sr
e
qhf
sr
e
qhf
u
m
qhf
/
I RW
m
qhf
/
I RW
qt
qt
zf2q
zf2s
XII RW
IS R
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
o
n
uo
p
qhs
o
n
uo
p
qhs
sr
e
qhf
sr
e
qhf
sr
e
qhf
o
p
qhs
h
us
m
qt
/
I R
qt
qt
zf2q
zf2s
IS R
IS RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
o
n
p
qhs
/
IM RW
o
n
uo
p
qhs
o
n
uo
p
qhs
o
n
p
qhs
/
IE RW
sr
e
qhf
sr
e
qhf
sr
e
qhf
k
ss
cs c
qhf
o
p
qhs
h
us
m
qt
/
I RW
qt
qt
zf2q
zf2s
IS RW
IM RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
o
n
p
qhs
o
n
p
qhs
k
o
p
qhs
o
n
p
qhs
/
IE RW
o
n
p
qhs
/
IE RW
sr
e
qhf
sr
e
qhf
sr
e
qhf
k
ss
cs c
qhf
o
p
qhs
g
um
m
qt
/
I RW
qt
qt
zf2q
zf2s
IM RW
IE RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
k
o
p
qhs
k
o
p
qhs
k
o
p
qhs
k
o
p
qhs
k
o
p
qhs
k
ss
cs c
qhf
o
p
qhs
ge
um
m
qt
/
I RW
qt
qt
zf2q
zf2s
IE RW
MI RW
z2q
z2q
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
sr
cg d
qhf
/
XII RW
sr
c1 d
qhf
sr
c1 d
qhf
ss
cs c
qhf
sr
cg d
qhf
/
XII RW
cd d
m
qhf
/
I RW
m
qhf
/
I RW
qt
qt
zf2q
zf2s
MI RW
EI RW
z2q
z2q
k
qaq
k
qaq
k
qaq
k
qsq
k
qsq
k
qsq
sr
cg c
qhf
/
XII RW
sr
c1 d
qhf
sr
c1 d
qhf
ss
cs c
qhf
sr
cg c
qhf
/
XII RW
cd c
m
qhf
/
I RW
m
qhf
/
I RW
qt
qt
zf2q
zf2s
EI RW
SMI RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
qsq
/
MI RW
qsq
/
EI RW
qsq
/
MI RW
sr
cg d
qhf
/
SMII RW
sr
c1 d
qhf
sr
c1 d
qhf
ss
cs c
qhf
cd d
qhf
/
S RW
qhf
/
S RW
w
qt
k
qt
/
MI RW
zf2q
zf2s
SMI RW
SMII RW
k
qaq
k
qaq
k
qaq
k
qaq
k
qaq
qsq
/
XII RW
qsq
/
XII RW
qsq
/
XII RW
sr
e
qhf
sr
e
qhf
sr
e
qhf
sr
e
qhf
u
qhf
/
S RW
m
qhf
/
I RW
w
qt
k
qt
/
XII RW
zf2q
zf2s
SMII RW
getM
getS
putM
putE
putS
Writeback
Writeback Clean
InvAck
Data Dirty
DataM Dirty
DataS Clean
Data Clean
DataM Clean
Fwd getM
Fwd getS
Fwd getS only
Fwd getS merged
Invalidate
Fwd Ack
Writeback Ack
Writeback Nack
All acks
Check Timeout
Recover
RecycleReq
RecycleResp