Cs 6461 Computer Architecture Lecture 11
Cs 6461 Computer Architecture Lecture 11
Cs 6461 Computer Architecture Lecture 11
Fall 2016
Morris Lancaster - Lecturer
Adapted from Professor Stephen Kaislers Notes
Lecture 11
Multiprocessor Computing: Memory
Some slides from material by Krste Asanovic (MIT/UCB)
Multiprocessor Memory Architecture Critical Problem
Memory Chipset
After event 3, the processors P1 and P2 will see different values for u.
With write back cache, the value depends on which memory writes back
when
This is an unacceptable result, but it is frequent!
A write does not complete (and allow the next write to occur) until all processors
have seen the effect of that write
Lets assume
1. A write does not complete (and allow the next write to occur)
until all processors have seen the effect of that write
2. The processor does not change the order of any write with
respect to any other memory access
=> If a processor writes location A followed by location B, any
processor that sees the new value of B must also see the new
value of A
These restrictions allow the processor to reorder reads, but forces
the processor to finish writes in program order
Single Bus
Memory I/O
Cache Coherence:
Node 1 directory keeps note that node 2 has copy of data
If data modified in cache, this is broadcast to other nodes
Local directories monitor and purge local cache if
necessary
Local directory monitors changes to local data in remote
caches and marks memory invalid until write-back
Local directory forces write-back if memory location
requested by another processor
CPU write
Place write op on bus
CPU read hit
Exclusive
(read/write)
CPU write miss
Write back cache block
CPU write Place write op on bus
10/7/2017
hit CS61 Computer Architecture 11-43
43
Directory Protocol: CPU State Diagram