Title: ??? ?? (data bus)
1?4? ??-?? ?????? ???
- 4.1 ??? ??
- 4.2 ??? ?? ??
- 4.3 ?? ??
- 4.4 ?? ??? ?? ??
24.1 ??? ??
- ??? ?? (data bus)
- ??? ??? ??? ???? ??? ? ???? ??? ??
- ??? ??
- ?? ? ? ?? ???? ??? ??? ?
- ?? ?? (address bus)
- ????? ????? ??/?? ??? ? ?, ?? ????? ???? ?? ???
???? ??? ?? - ??? ?? (???? ? ????)
- ?? ? ????? ? ?? ????? ?? ??
- ?? ?? (control bus)
- ????, ?????, ?? ?? ???? ?? ??? ??
3??? ??? ?????????
4?? ??? ?? ??
- ???? ? ??????? ??? ??
- ???? ??(memory write), ???? ??(memory read)
- ??? ??(I/O write), ??? ??(I/O read)
- ?? ??(transfer acknowledge)
- ?? ??(bus arbitration)
- ?? ??(bus request), ?? ??(bus grant), ?? ???(bus
busy) - ???? ?? ??
- ???? ??(interrupt request)
- ???? ??(interrupt acknowledge)
- ? ? ?? ??(bus clock), ??(reset) ?? ??
5??? ??(???)
- Bus speed Bus bandwidth
- ??? ??? ??? ??? ??? ?? ??? ??
- ? PCI ?? (33 MHz, 32 bit)
- ?? ??? ?? 1 / (33 106) 30 ns
- ??? ??? 4 byte / (30 10-9) 133 Mbytes/sec
- ? FSB(front Side Bus)
- CPU? ????? ?? ??? ?? ??
- QDR(Quad Data Rate) 100 MHz ? 400 MHz
- AGP? 66 MHz, PCI? 33 MHz
64.2 ??? ?? ??
- ?? ??(write operation)
- ?? ???? ?? ???? ??? ?,
- ??? ??? ??? ???? ??
- ?? ??(read operation)
- ?? ???? ?? ???? ??? ?,
- ??? ??? ??? ?? ??? ????, ???? ???? ? ??? ??
- ??? ??(synchronous bus) ?? ???? ?? ??? ??? ??
?? ? ???????? ?? - ???? ??(asynchronous bus) ?? ?? ??, ??? ?? ????
?? ??? ?? ?? ? ??????? ??
7??? ?? ?? (??)
84.3 ?? ??
- ?? ?? (bus contention) ? ?? ??? ???? ??????
????? ?? ?? ?? ????? ??? ?? ??? ???? ??? ?? - ?? ?? (bus arbitration) ?? ??? ??? ??? ?? ???
?? ?? ???? ??? ? ??? ???? ???? ??? ??? ? ?? ???
?? - ?? ??? (bus arbiter) ?? ??? ???? ???? ??
- ?? (starvation) ?? ?? ???? ???? ??? ???? ??? ??
9?? ???? ????? ?? ???? ??
- ?? ?? ?? (parallel arbitration scheme)
- ?? ???? ?? ?? ?? ??? ? ?? ????? ??
- ? ?? ???? ???? ?? ?? ???? ???, ?? ??? ??
- ?? ?? ??? ? ?? ???? ??? ??? ??
- ?? ?? ?? (serial arbitration scheme)
- ?? ??? ? ?? ???? ?? ? ??? ??
- ? ???? ?? ???? ?? ??? ??
- ???? ??? ????? ????(priority)? ?? ??
- ??? ?? ??(daisy chain scheme)
10?? ???? ??? ?? ???? ??
- ????? ?? ?? (centralized arbitration scheme)
??? ?? ? ?? ?? ???? ?? - ?? ?? ?? (decentralized arbitration scheme) ???
?? ?? ?? ?? ???? ?? - ??
- ?? ??? ?? ? ?? ??? ??
- ???? ?? ? ?? ???? ??? ???? ?? ????? ??
- ??
- ??? ??? ???? ???? ??? ??
- ? ???? ??? ?? ???? ??? ??? ? ?? ??
11??? ?? ?? ?? ??
- ?? ?? ?? (parallel arbitration scheme)
- ????? ?? ???? ?? (centralized fixed priority
scheme) - ??? ?? ???? ?? (decentralized fixed priority
scheme) - ?? ???? ?? (dynamic priority scheme)
- ?? ?? ?? (serial arbitration scheme)
- ????? ?? ?? ?? (centralized serial arbitration
scheme) - ??? ?? ?? ?? (decentralized serial arbitration
scheme)
12??? ?? ?? ?? ??
- ?? ?? (polling scheme)
- ???? ?? ??
- ????? ?? ??
134.3.1 ?? ?? ??
- (1) ????? ?? ???? ?? ???? ??? ??? ???? ?????
??? ??
14????? ?? ???? ?? (??)
- ??? 1? ?? ???? ?, ??? 3? ?? ??? ??? ??
- ??? 3? ?? ?? ??(BREQ3)? ???,
- ?? ???? ??? 3?? ?? ?? ??(BGNT3)? ???
- ??? 1? ?? ??? ??? ?? ??? ??(BBUSY)? ??????,
- ??? 3? BBUSY ??? ?? ????? ?? ??? ??
15????? ?? ???? ?? (??)
- ?? ??? ?? ???? ???? ?? ??
16(2) ??? ?? ???? ??
- ?? ?? ????? ??? ???? ??? ??
17(3) ?? ???? ??
- ?? ???? (Rotating priority)
- ? ?? ??? ?? ??? ?? ????? ????? ? ??? ???? ??
????? ??? ???? ??? ????? ???? ?? ?? - ?? ?? ?? ??? ?? ???? ??? ????? ??? ?? ??? ???
???? ??? ????? ???? ?? ??(acceptance-dependent?
?? ???? ??) - ?? ???? (Random priority)
- ?? ???? (Equal priority)
- ???? ?? ?????? ????, ??? ??? ?? ?? FIFO ??
- ?? ?? ?? (Least recently used)
18Acceptance-dependent? ?? ???? ??
194.3.2 ?? ?? ??
- ????? ???? ??
- ???-??(Daisy-chain) ?? BGNT ??? ??? ??? ?????
?? ?? ??, ?? ???? ??? ???? ?? ?? ??
20(2) ??? ?? ?? ??
- ??? ??? ?? ?? ??? ?? ????? ????? ??
- ?? ???? ?? ?? ??? ?? ???? ??? ???
- ?????? ?? ??(single failure)? ?? ???? ??
214.3.3 ?? ??
- ?? ???? ? ????? ?? ??? ??? ?? ????? ???? ?? ??
??? ?? - (1) ???? ?? ??
- ?? ??? ?? ??? ????? ??? ?? ?? ??? ?? ??? ????
???? - ?? ???? ? ?? ??? ?? ?? ??? ?? ?? ?? ??
- 2? ???? ?? ?? ?? ? 2n?? ???? ?? ?????? n?? ??
??? ?? - ???? ???? ???? ??? ??? ???? ??
22???? ?? ??? ???
23(2) ????? ?? ??
- ??? ???? ?? ??? ??
- ?? ???? ????? ??? ? ?? ????? ?? ? ?? ??
- ??? ???? ??? ?? ??
- ?? ?? ?? ??
- ??? ????, ???(flexibility)? ??
- ?? ???? ?? ???? ??????? ??? ?? ???? ??
- ??? ???? ??? ?? ??? ?? ???? ?? ?? ?? ??? ??
???(message-passing system)? ?? ???? ??
244.4 ?? ??? ?? ??
- ?? ??? ??(cache consistency)
- ??????????? ?? ???? ?? ?????? ??? ????? ???? ????
?? ???? ????? ??? ???? ?? ???? ????? ??? ?? - ??? ???(data inconsistency)? ??
- ?? ??? ???? ??(sharing of writable data)
- ??? ??(I/O activity)
- ???? ??(process migration)
25?? ???? ??? ?
26?? ???? ??? ? (??)
27?? ???? ??? ? (??)
28I/O ??? ?? ??? ???
29???? ??? ?? ??? ???
- ???? ??(process migration) ??? ???????????
????? ???? ????? ???? ?? - ???? ??? ?? ??? ??? ?
- ???? A? P1? ?? ???? ?? ??? X? ??? ??(P1? ???? ???
???? ??? ??)??, ??? ??? - ??, ???? A? ?? ????(P2)? ?? ? P2? X? ???????? ??
(??? ??? ??)
30?? ??? ?? ??
- ?? ??? ???? ??
- ?? ??? ??? ???? ?? ??
- ?? ???? ??? ???? ?? ??
- ?? ?? ????? ???? ??
- Write-through ??? ?? ????
- Write-back ??? ?? ????
- ????? ??? ?? ????
314.4.1 ?? ??? ???? ??
- ?? ??(shared cache)
- ?? ?????? ??? ??? ????? ?? ??
- ?? ???? ????? ?? ?? ???? ??
- ?????? ?? ?? ???? ?? ?? ?????? ??? ??
- ?? ?? ?? ???? ???
- ??
- ????? ?? ?? ??? ??? ?? ? ?? ??
- ??? ????? ???? ???? ?? ??? ??
- ?? I/O ???? ?? ?? ?? ??
- ? Alliant?? FX ??? 24 ? ?????? ??? ?? ??
324.4.2 ?? ??? ??? ???? ?? ??
- ?? ??? ?? ???? ??????? ??
- ???? ??? ???(non-cacheable data)
- lock ??, ???? ?(process queue)? ?? ?? ??? ??
- ????? ?? ???? ????
- ??
- ???? ?????? ???? ??(non-transparent)? ????? ?
???? tag? ??? ??, run-time ?? ??? ??? ? ??
H/W ?? - Non-cacheable data? ?? ??? ??? ?? ???? ?? ??? ???
? ?? ??? ?? - ?? I/O ????? ?? ?? ??? ? ?? ??? ??
334.4.3 ?? ???? ??? ???? ?? ??
- ????? ???? lock ???? non-cacheable? ??
- ?? ???(cache flush) ??
- ?????? ??? ?? ???? ?????? ???? ?, ?? ???? ?? ??
????? ??? ??? ?? - write-back ???? H/W? ??
- ??
- ?? ??? ??? ??
- ???? ??? ??? ? ???? ?? ??? ???? ?? ??
- I/O ??? ?? ?? ?? ??? ??? ?? ??? ?? ????? ??
344.4.4 ?? ?? ????? ???? ??
- ??? ??? ??? ??? ?? ?? ??? ?? H/W ??? ???
???(snoop controller ?? ???(bus watcher))? ????
?? - ?? ????? ?? ?? ?? ????? ???? ??? ????, ? ??? ??
??? ?? ??? ??(status)? ???? H/W ?? - ? ?? ???? ?? ???? ???, ??? ?? ??? ?? ?? ? ??? ??
????? ?? ??? - Write-through coherence protocol
- Write-back coherence protocol
- (? MESI protocol)
35?? ?? ????? ??? ???? ??
36?. Write-through ??? ?? ????
- ????? ??? ???? ??? ?, ??? ??????? ??
- ??? ???? ??
- ?????? ?? ?? ??? ??? ??? ??? ??? ??
- ?? ?????, ? ??? ???(invalidate)???? ????? ????
??? ????? ???? ?? ??? ?? - ?? ???? ??
- ??(V Valid) ?? ??? ?? ?????? ??
- ??(I Invalid) ?? ??? ?? ? ?????? ??
37Write-through ??? ?? ???? (??)
38Write-through ??? ?? ???? (??)
39Write-through ??? ?? ???? (??)
40?. Write-back ??? ??? MESI ????
- ????? ??? ???? ???? ?????? ??? ???? ??? ?? ???
????? ??? ??? ???? ?? ??? ? ? ??? ??? ???
??? ???? ?? ??? ?? ??? ???? ?? ?? - ??? ??(invalidate signal) ???? ?? ??? ???? ??
?? - ??? ???(invalidate cycle) ??? ??? ???? ?? ???
41Write-back ??? ??? MESI ???? (??)
- MESI ?????? ?? ???? ??
- ??(M Modified) ?? ???? ??(??)? ??
- ??(E Exclusive) ?? ??? ?????, ?????? ??? ???
?? - ??(S Shared) ?? ???? ? ? ??? ???? ??? ???? ??
?? - ??(I Invalid) ?? ???? ?? ????? ?? ???? ??? ?
??
42MESI ????
?? ????? ??? ?? ???? ?? ?? ?????
??? ?? ????
43(1) ???? ?? ?? ??
- P1? ???????? X? ?? ?? ?? ?? (read miss)
- ? ???????? X? ??? ?, ??? ??(E)? ??
44(2) ??? ??? ???? ??
- P1? X? ??? ?(X)?? ?? ?? ?? (write hit) ?
X? ??? ?, ??? ??(M)?? ??
45(3) ???? ???? ?? 1
- P1? X? ?? ????, P2? X? ?? ?? ? ?? ??(read
miss) ? ???????? ?? ? P1? ??? ???? ? ?? ???
????, X? ??? S? ????, P2? ?? ??? ?? ? P2? X?
??? ??(S)? ??
46(4) ???? ???? ?? II
- ?? ??? ?? ? ?????? X? ?? ???? ?? ????(P3)? X?
????, ?? ??? ???? ??? ??? ??(S)? ??. - (5) ???? ???? ?? III
- (2)? ?? ????, ?? P2? X? ??????, ?? ?? ?? ? ?????
?? ?? - P1? ??? ???? ? ??? ?????, ??? ???(X)? P2?
??(??? ??(cache-to-cache transfer))??, X?
??????? ??. - ?? ??? ?? ??(S)? ??
47???? ???? ?? III (??)
48???? ???? ?? III (??)
- ??? ??? ???? ?? ???? ??
- P1? ??? ???? P2? ?? ??? ?????, P2?? ???(retry)?
??? ?, - P1? X? ?????? ????,
- P2? ??? ????? X? ????.
49(6) ?? ??? ???? ???? ??
- (3)? ?? ????, P2? X? ??? ??? ???? ??
- P2? ??? ??? ??? ??(invalidate signal)? ??
- X? ?? ???? X? ??? ??(I)? ????, ?? ?? ?? ?
P2? ??? ??? ?? - P2? X? ??? ?(X)?? ????, ??? ??(M) ?? ??
50(7) M ??? ???? ?? ???? ??
- (6)? ?? ????, P2? X? ?? X? ????, ??
??(write hit) ? ???? ????, ??? ??
51(8) I ??? ???? ???? ??
- (7)? ?? ????, P1? X? ???? ??? ??? ???, ??
??(write miss) ?? - ????? ?? ?? ?? ??? ?? ??(read with intention
to modify RWITM) - P2? X? P1?? ????, ???? ??? ??(I)? ??
- P1? X? X? ????, ??? ??(M)?? ??
- ??? ??? ???? ?? ???? ?? retry ??.
52I ??? ???? ???? ?? (??)
53(9) ????? ??? ???? ???? ???? ??
- P1? X? ??? ?? ?? ((1)? ??)?? P2? X? ?? ??
?? - ?? ??(write miss) ??
- P2? RWITM ??
- P1? X? P2? ????, ??? ??(I)? ??
- P2? X? X? ????, ??? ??(M)?? ??
544.4.5 ????-?? ?? ????
- ??? ??? ?????? ???? ??? (??-????) ????? ??? ?? ??
???? - ??? ??? ??? ?? ??? ??(broadcasting) ? ?????? ???
?? ? ??? ?? ?? ?? ??? ?? ??? ??? ???? ?? - ????(directory) ?? ???? ???(copy)?? ?? ??? ????
???(list) - ? ??? ??? ?? ???(entry) ???? ??(state) ??? ????
??(location)? ???? ???(pointer) ??
55?. ???? ??? ?? ??
- ?? ???? ?? 1976? Tang TAN76? ?? ??
- ?? ??? ??? ?? ??? ??? ?? ????? ?? ? ??? ???, ??
??? ??? - ?? ???? ?? Censier and Featier CEN78 ??
- ? ????? ??? ???? ??
- ????? ??? ???? ?? ??? ?? ???? ??
- ??(state) ?? ??? ?? ????, ?? ???? ?? ???? ???
56?? ????? ?? ??
- ? ??? ?? ??? ?????? ?????(? MIN)? ??? ?? ?? ??
???? ???? ??? ?????,- M1? ???? ?? ??? X? ????
C1? ??? ?? P1? ?? ??????, M1? ???? D1?? X? C1?
?????? ??(M) ??? ??? ??.- ?? P2? ??? X? ???
? ?? ?? ??, - ???? ??? ??? M1?? ????
- M1? ???? ???? D1? ????, C1?? ??? X? ??? ????
- C1 ? X? ?????? ????
- M1? ???? X? P2(C2)? ????
57(No Transcript)
58?? ????? ?? ?? (??)
- P1? X? ?? ?? ??? ?????,
- C1?? ?? ??(write hit) ?? ? C1? M1?? ??? ???? ??
- M1? ???? ????? ????, X? ???? ?? ?? ???? ??? ???
?? - ??? ??? ?? C2? X? ??(I)? ????, ??(ACK) ??? ??
- M1? ???? ?? ??? C1?? ????(bypass), C1? X? ???
??? ??
59?? ???? ??? ??
- ?-? ????(full-map directory) ??
- ?? ????(limited directory) ??
- ?? ????(chained directory) ??
60(1) ?? ???? ??
- ?? ???? ?? ? ??? ?? ???? ???? ? ?? ???
- ? ???? ???? ???? ??? ??(pointer bit ??
??(presence bit))?? ?? ??(state bit)? ?? - ??? ?? ? ???? ? ? ??? ?? -- ?? ????? ??? ? ????
???? ???? ????? ??
61?? ???? ??? ?
62?? ???? ??? ???
- ?? ?? ??
- ?? ??? ???? ???? ?? ?? ? ???? ?? ?? ?? ????
???? O(N2)
63?? ???? ??
- ???? ?? ??? ??? ?? ??
- ??? ??? ??? ??? ? ?? ?? ?? ???, ????? ??? ? lt ??
???? ?(N) - ? ???? ?? ? log2N ?
- ??? ? ???? ?? p ?? ??, ??? ?? ? p x log2N ?
- ??(eviction) ??? ?? ??? ??, ??? ?? ?? ? ?? ????
???? ?? - ??? ?? ???? ?? (??-?? ??? ??)
64?? ???? ??? ? (2-??? ????)
65?? ???? ??? ???
- ??
- ???? ?? ??? ?? ???? ???? O(Nlog2N)
- ? p 64 ?? ??, ??? ?? ? 64
(full-map), 24 (limited) -
- ??
- ??? ??? ??? ?? ?? ???, ?? ???? ??? ?? ???? ?? ??
???? ?? ??? ?? - ?? ??? ?? ????
66?? ???? ??
- ?? ???? ??? ??? ???? ?????, ?? ????? ??? ?? ? ??
?? - ?? ???(linked list)? ????, ?? ???? ???? ???? ??
???? ?? ??(chain)? ??
67?? ???? ??? ?
68?? ???? ??? ???
- ??
- ???? ?? ??? ??? ??
- ??? log2N? ??
- ??? ?????? ?? ? ? ??? ???? ??
- ???? ??? ??? ?? ??? ??
- ??
- ?? ??? ??? ? ??? ???? ??
- ? ?? ?? ?? ?? 4-27(b)? ???? P2? ??? X?
?? ??? ???? Y? ???? - C2? C1? ?? ???
?? C3? ??? ? ???? ??, ?? - C0, C1, C2? ?? X?
??? (?? ??? ??)
69?. ???? ????? ??
- ??-???????? ?? ??? ??? ??? ?????????? ?? ???? ??,
??? ????? ?? ??? ???? ???? ?? ?? - ??? ?? ??-???? ?????????(distributed
shared-memory multiprocessor system)?? ?? ??
70?? ??-???????? ?? ??
- ???-??? ?? ??? ???(snooping adapter)? ?? ??
???? ?? ?????? ???? ???? ?? ?? - ?? ?? 4-28(a)
- ?? ??? ????? ??, ??? ???? ??
71?? ??-???????? ?? ?? (??)
- ???-???? ?? ? ???? ??? ?? ??? ??, ?? ???????
???? ????? ?? ??? ?? - ???? ???(network adapter NA) ???? ????? ? ????
???(directory controller)?? ?? - ?? ?? 4-28(b)
- ?? DASH ?????????(???? ???? ??? ?? ??)?? ??
72?? ??-???????? ?? ?? (??)
73???-???? ??? ?
- ?? ??(read miss) ???? ??? ??
- ? ???? 1? ???? 2(? ????)? ??? ???? ?? ??
74???-???? ??? ? (??)
- ? ???? 1? ???? ?? ??, ???? 3(??? ????)? ? ????
???? ??? ??? ??? ??
75- ???? ?? ???? ?? ????? ???? ??
- ? ? ????? ???? 2? ???? ???? 3? 4? ???? ?? ????,
???? 1? ? ???? ??? ????? ??