Advanced Compiler
Research Labora!ry
!"#$%!__DOCTEXT__amp;!'$()*+,-!!".,/",!0/1!2/3./,,-./3
!,$*%!40+.$/0%!5/.6,-7.+8
!"#$%!&'()#*'%!+*),"-.)(/
v2 := !(v0,v1)
Advanced Compiler
Research Labora!ry
!01##%!#2!3#45$("-!!0)"*0"!'*6!7*8)*""-)*8
June 4, 2008
Jaejin Lee
Advanced Compiler Research Laboratory
School of Computer Science and Engineering
Seoul National University
http://aces.snu.ac.kr
COMIC: A Coherent
Shared Memory Interface
for Cell BE
June 4, 2008
Advanced Compiler
Research Labora!ry
!"#$%!__DOCTEXT__amp;!'$()*+,-!!".,/",!0/1!2/3./,,-./3
!,$*%!40+.$/0%!5/.6,-7.+8
!"#$%!&'()#*'%!+*),"-.)(/
v2 := !(v0,v1)
Advanced Compiler
Research Labora!ry
!01##%!#2!3#45$("-!!0)"*0"!'*6!7*8)*""-)*8
Cell BE Architecture
PPE
A PowerPC core and for general purpose processing
8 SPEs
To accelerate media and streaming workloads
Access the main memory through DMA transfers to the local store
Communication between the PPE and SPEs
Mailboxes and signals
No coherence between the local stores or between the local stores
and the external memory
Hard to program
2
Cell BE Processor
SPE
SPU
Local
Store
MFC
PPE
L1 $
L2 $
Element Interconnect Bus (96B/cycle)
External Memory
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
SPE
SPU
Local
Store
MFC
External IO
June 4, 2008
Advanced Compiler
Research Labora!ry
!"#$%!__DOCTEXT__amp;!'$()*+,-!!".,/",!0/1!2/3./,,-./3
!,$*%!40+.$/0%!5/.6,-7.+8
!"#$%!&'()#*'%!+*),"-.)(/
v2 := !(v0,v1)
Advanced Compiler
Research Labora!ry
!01##%!#2!3#45$("-!!0)"*0"!'*6!7*8)*""-)*8
Coherence
SPE0 reads x in the main memory
SPE1 reads x in the main memory
SPE0 writes to the local copy of x
Stale copies of x in SPE1 and the main memory
3
SPE0
SPU
Local Store
Element Interconnect Bus
External Memory
36
SPE1
SPU
Local Store
36
0x100
SPE0
SPU
Local Store
Element Interconnect Bus
External Memory
36
SPE1
SPU
Local Store
36
x
36
SPE0
SPU
Local Store
Element Interconnect Bus
External Memory
36
SPE1
SPU
Local Store
48
x
36
June 4, 2008
Advanced Compiler
Res