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