Title: Computer System Architecture
1? 5 ? ?? ??
????? Computer System Architecture ???????? ?
? ? hykim_at_tu.ac.kr
2? 5 ? ?? ??
- ? ?
- ?????
- ??????
- ??? ????
3? ?
- ?? ??? ?? ??
-
- ?? ??? ?? ??? ???? ??? ?? ?? ?? ??? ???? ??
- ?????(Main Memory) ?? ???? ??? ??, CPU? ?? ??
?? - CPU ? I/O ????? ?? ?? (RAM)
- ??????(Auxiliary Memory) ?? ???? ?? ??? ?? ??
?? ?? - backup storage (Disk Drives )
- ?? ???(Cache Memory) ????? ??? ?? ??? ?? ??? ??
- ?? ?? ??? ?? ?? ??? (Cache RAM)
- ?? ???? ??? ? ??, ??, ??
????? ????? 1 7 ????? ??????
1 1,000
??(High)
1000
7
1
??(High), ??(Low)
4? ?
- ?? ??? ?? ??
-
- ??? ?? ???(Memory Management System)
- ???? ?? ?? ??? ????? ??? ?? ??? ??
- ?? ??? ??? ?? ?? ??
-
- ?? ??? ??
- - ?????? CPU ??? ?? ?? ??
- - ?? ???? ????? ?? ??? ??
-
- ?? ?? ??
- - ??????? ????? ??? ?? ?? ??(DMA)
- - CPU? ?? ???? ?? ?? ????? ???? ???
- ?? ??
-
- ?? ?? ???(Direct Access Memory)
- - ????? ??? ???? ?? ?? ???? ??? ??? ??
- - RAM, ROM HDD, FDD
5? ?
- ?? ??(access time)
- ????? ???? ??? ??? ???? ????
- ???? ??? ???? ?? ??? ??, ?? ??? ??
- ?? ??? ?? ???
- ?? ?? ???? ?? ?? ?? ??
- ??? ??(cycle time)
- ? ?? ??? ??? ???? ?? ? ??? ?? ???? ??? ??
-
- ?? ???
- ??? ?? ?? ?? ?? ??
- ??? ???
- ??? ?? ?? ??
- ??? ??? ?? ?? ??? ??
-
??? ?? ?? ??
6? ?
- ??? ??? (data transfer rate)
- ?? ???? ???(?? ?, ?? ?)
- ?? ???(band width)
- W ? ?? ???? ???? ?? ?
- ? ?? ????? ??? ??? 0.5µs?? ??? ?? ??
- 32???? ?????
- Band Width 32 / 0.5µs 8MB/s
- ?? ??? ??? ??
- ?? ???? ?? ???
- ?? ???(static memory) ?? ???? ? ?? ??, ????,
??/??? ?? - ?? ???(dynamic memory) ?? ??? ??(refresh),
????? ??, ???? ?? - ??? ???? ???? ???
(bit/sec)
Band Width W / Cycle time
???? ?? ??
7???(Access) ??? ?? ???? ??
- ?? ??? ???( Direct Access Memory )
- ???? ??? ???? ?? ??? ??? ???? ??
- ????? ??? ???? ?? ?? ???? ??? ??? ??
- ROM, RAM, HDD, FDD
8???(Access) ??? ?? ???? ??
- ?? ??? ???( Sequential Access Memory )
- ??? ????? ????? ???? ??
- ???? ??? ??? ???? ????? ??
- ?(Queue) ??? FIFO ( First In First Out) ???
- ?? ?? LIFO (Last in First Out ) ???
9?????
- ??? ?? ????
- ???? ??
- ?? ??
- ????
- ???? ???
- ???
- ????
- ??? (byte)
- ?? (Word)
10?????
- ?? ?? ? ??(CS Chip Select) ??, ??(RD) ??,
??(WR) ?? - ?? ?? ?? ?? ???? ????? ??? ??? ??? ?? ??? ???
?? ?? -
?? ?? ??? ?? ?? ???, -
????? ????? ??? ???? ?? ? ??? ??? - ??? ?? ?? RAM, ROM
(a) '1'? ??
(b) 0'? ??
- ? ??? ??? - ????? ??? ???? - ???? ??, ?? ?? -
????? ?? - ???? ???? ?????
11?????
??? ?? ??? ?? ??? ?? ?? ??? ?????? ???? ??
- ??(word) ? ? ???? ?? ? ?? ??
- ????? RAM, ??? ROM?? ??
- ROM ?? ??? ?? ??? ?
Fig. 5-3
??
00
(a)???
1
0/1
(4x3 IC RAM)
(b)RAM? ???
12?????
- ??? ??
- MAR, MBR, ?? ??(RD, WR, CS)
?? ??
1. ????? ??? ?? ?? MAR? ???. 2. ? ????(CS)?
??(RD) ??? ?????.
?? ??
1. ????? ?? ??? ?? ?? MAR? ???. 2. ???? ??? ????
MBR? ???. 3. ? ????(CS)? ??(WR) ??? ?????.
13?????
- ROM
- ???? ???
- ??? ??? ??? ???? ??
- ?? ?? ?? ???
- ??? ?????? ???? ??
- ??
- Mask ROM
- ?????? ????? ??? ??? ??
- ?? ???? ??
- PROM (Programmable ROM)
- ???? ??? ??
- ? ?? ???? ?? ??
- EPROM (Erasable PROM)
- ???? ??? ??? ?? ???? ? ? ?? ROM
- ??? ??? ??
14?????
?? ???? ???? ????? ? ? ??? ??? ?? ??? ?? ??? ???
??. ??? ???? ?? ????? ???? ??? ????? ??
Bootstrap Loader Bootstrap ROM Boot ROM
- ?? ??? RAM ?? ? ?? ??? ??
- 32 X 4 ROM ?? ?
32 X 4 ROM
15?????
- CPU?? ??? ??
- ??? ?? ?(memory address map) Tab. 5-1
- ??? ??
- 1 x 512byte ROM 4 x 128bytes RAM
- ? ?? ??? ??? ??
- CPU?? ??
??/??? ???
1
- Address line 9 8
- RAM 1 0 0 0000 - 007F
- RAM 2 0 1 0080 - 00FF
- RAM 3 1 0 0100 - 017F
- RAM 4 1 1 0180 - 01FF
- Address line 10
- ROM 1 0200 - 03FF
0
0
0
- 2 x 4 Decoder RAM select (CS1)
- Address line 10 (RAM or ROM select)
- RAM select CS2
- ROM select CS2 ? Invert
- RAM ? ??? ????? ??? ??
- ROM ? ?? ???
0
1
16???? ??
- ?? ??? ??? ?? ? ?????? ??? ?? ??
- ??? ??? ??? ??, ?????? ?? ??
- ?? ?? ??
- ?? ??? ??
- ???? ?????? ??
- ??? ????
- ?? ?? ?? ??
- ?? ??? ????? ???? ???? ??? ???? ??
- ?????
- ?? ?? ?? ??
- ?? ? ????? ?? ? ?? ??? ???? ???? ??
- ?? ??? ??? ??? ??
- ?????, ?? ??
- ??
- ?? ???
- ?? ??
- ?? ???
- CD-ROM
17???? ??
- ?????
- ??
- ???? ?? ??
- ??, ??? ??
- ????? ?? ? ??? ??
- ?? ??? ??
- ??
- ?? ?????? ?? ????? ???.
- ?? ?? ? ??? ???? ??.
- ???? ???? ?? ??? ??? ?? ?? ??
- ?? 800, 1200, 1600, 2400??
- ???? ?? ?? ??
- ? ???(Unblocking)
- ????? ??? ??
- ???(Blocking)
- ????? ??? ??
????? ??? ??? ???? ?? ???
????? ??? ??? ??? ?/???? ???
18??????
- ?? ??? (?? ?? ????)
- ?? ????? ???? ??? ????? ?? ??? ???? ???? ????
?????? - ?? (block) ??? ??? ??? ? ?? ??? ??
- ??????? ??? ??? ??? ? ?? ???? ??? ?? ??? ??? ???
???? ??
- ?? ?? ??? (moving head disk)
- ? ??? ???? ??? read-write ??? ??? ??? access arm
? ??? ??? ??? ?? (floppy disk)
? ???
??? ???? ????? ??
- ?? ?? ??? (fixed head disk)
- ? ??? ??? ???? ??? read-write ??? ??? ?? (Hard
disk)
- ?? ?? ??? ? ?? ??
- ???? (seek time)
- ?? ?? ?? (rotational delay time)
- ?? ?? (data transfer time)
????? ??? ??
19???? ??
20???? ??
- CD-ROM(Compact Disk Read Only Memory)
- ?? ?? ??? ???
- 550 680MB? ????
- ?? ? 2048 ??? ??
21??????
- ?? ??? (?? ?? ????)
- ???? ??? ?? ?? ??? ???? ??? ?(reel) ? ??? ??
- ????? 1??? ??? ? ?? ??? ??? ? BPI (Byte Per Inch)
? ?? - read-write ??? ???? ????? ???? ??? ? ??? ? ??? ?
?? ??
IRG(Inter Record Gap) ??? ??? ???? ???? ????
??? ? ??? ??
????? ????
IBG(Inter Block Gap) ??? ?? ??? ??? ??? ??
IRG ??? ?? ?? ?? ???? ??? ??? ??? ????
??(Block)?? ??? ?? ??? ????? ?? ??
?? ??? ? ???? ???? ??? ?? ?? ???? ???
???? ? ?? ??? ?? ??? ?? ??/(IRG 1?? ???
??/ ????(BPI) ??? ? ???? ??? ???? ? ?? ???
?? ??? ?? ??/(IRG 1?? ??? ?? x ???/ ????(BPI)
22??? ????
- ???? ???? (Interleaving Memory)
- ???? ?? ?? ?????? ???? ?? ??? ??
- ??? ??
- ?????? ????? ? ?? ?? ??? ?? ??
- Fig 5-12 ??? ?? ????? MAR ? MBR ? ??? ?
- N?? ???? ? n? ????? ??? ????
- ?? ?? ??? ??
- Fig 5-13 ???? (interleaving) ????
- ?? ?? ??? ??? ?? ??
- ??? ??? ??? ??
- ? ?? ??? ?? n ?? ?? ??
- ?? ?? ?? ??
- ????? ?? ?? ???
- ???? ??? ????
- ??? ??? ???? ??
- (??? ??)
???? ??
3-?? ????
23??? ????
- ?? ???? (Associative Memory)
- Content Addressable Memory (CAM)
- ??? ??? ?? ??? ? ?? ????
- M(??) x n(??) ??? ??? ??
- ? ??? ?? ??? ?? ??? ??, ?? / ?? ??
- Key ????? 1? ??? ?? ? read ??
????? ?? ??? ??
n
??
??
?? ???? ?? ???? A ? ?? ??? ?? ???? ??
n
Argument
A Register 101 11110 K Register 111 00000
?? 1 101 00100 M1 1 ?? 2 111
11011 M2 0 ?? 3 010 01101 M3 0
?? m 100 00001
Mm 0
Key (Mask)
Key ????? ?? 1? A? M? ??(?3??)
Match Logic
??? ??
M 1 ? ? ??
24??? ????
- ?? ???
- ??? ?? ?? ??????? ??? ??? ??? ????? ????
- 50100ns ?? ??? ??? ???? ????? ??? ???? ??? ??
- ??? ??? ?? ?? ???? ??? ??? ?? ?? ??? ??
- cache size ?? 256 K byte (?? 512 K byte)
- ???(Hit Ratio)
- Hit ? / ??? ????
- ??(hit) CPU ? ??? ???? ??(word)? ??? ? (
0.95-0.99 ??) - ??(miss) ??? ?? ??? ??? ?? ? ? ??????? ??
25??? ????
- ?? (mapping) ??????? ?? ???? ???? ???? ?
-
- ?? ?? (Associative mapping) ?? ??? ??? ?? ?? ??
- ?????? ??? ???? ?? ???? ??
- ?? ?? ?? ???? ?? ????? ???
- ??? ?? ?? ???? ???? 12???
- ???? ?? ??????? ??
-
- ???? ?? ??? ? ??? ???????
- ??? ??? ???? ???? ?? ????
- ??
-
- ??? ? ? ??? ?? ?? ?? ?? ???
- ??? ? ?? ?? ?? ??? ??? ???
- ??? ?? ?? ??? ??
4??? 8??? ???12??
5??? 8??? ???15??
26??? ????
k bit ? ??? ??? n k bit ? ?? ??? ??
- ?? ?? (direct mapping)
-
- ??? ?? RAM ? ?? ???? ???? ?? ??? ??
- ?????? 2n ??, ?? ???? 2k ??? ?? ?? n ??? ???
- ????? ?? (15bit) ??? ??(9bit) ?? ??(6bit)
??????? ??? ??? ???? ?? ???? ???? ?? ??? ??
??(6bit) 00 63
215
???(9bit) 000 511
- ?? ?? ?? ??
- ?? CPU? ?? ??? ?? ?????? ?? ?? ??? ???? ??? ??
- ?? ??? ??? ??????? ?? ??? ??? ??? ??? ??
- ?? ??? ???? ?? ?? ??? ??? ??? ???? ?? ? ??? ??
27??? ????
- 02777 ??? ?? ??
- 1) ?? ??? 777 ? ???? ???.
- 2) ??? ??(Tag)? ???? ????.
- 3) 777 ???? ?? ?? ??? 00 ??.
- (?????? ?? 02? ???)
- 4) miss
- 5) ?????? ???? ??? ??? ??? 4850 ? ??????? ???.
- (address 02777 4850 read)
- 6) ??? ???? ?? 777 ? ?? ??? ???? ?? 02? 4850 ?
???? ??
28??? ????
- 8??? ?? ??? ??? ?? ?? ?? ?
- 1?? ??? 8?? ??? ??? 8?? ??? ?? ?? ?? ?? ??
- ??? ??? ? ??? ???? ?? ???? ???? ??? ??? ??? ???
???? ?? ? - miss? ? 8? ?? ? ??? ??????? ?? ???? ??
8?? word ? 1?? block ??? ??
- 64 block x 8 word 512 cache words size
- (?? ?? 6bit, ?? ?? ?? 3bit)
29??? ????
- ?? ?? ?? (Set-associative mapping)
-
- ?? ???? ?? ???? ?? ??? ???? ??? ??
- ( ?? 02777, 01777 )
- ??? ? ??? ?? ???? ??? ?? ?? ??? ? ? ??? ??? ???
?? (?? ??) ? ?? ??? ?? ?? - set? ??? ????? ??? ??
- set ? ??? ?? ???? ????? ? ?? ?? ?? ??? ??? ????
??
6 bit
6 bit
12 bit
12 bit
9 bit
? ?? ?? ??? ?? ?? ?? ?? ??
30??? ????
- ??? ?? (Writing to Cache) ? ?? ???(Cache
Coherence) ?? - ??? ?? ??? ???(WRITE) ??, ??? ??(block)? ???? ??
?????? ??? ??(update) ?? ?
Main memory ? Cache memory? ??? ???? ? ???(???)
??
Write-through Cache write? ??? ??????? ??,
??? ??? ??? ?? ??? ????
?? Write-back ?? ?? ???? ??? ??? ???? ???
??? ??? ?? ?? ??? ? ?????? ???? ??, CPU?
????? ???? ???? ?? ???? ?? ?? ? ? ?? ?
??? ??? ???? ?? ??? ???
- ?? ???? (Replacement Algorithm)
- ??? ? ? ?? ???? CPU ? ?? ???? ???? ??? ???
??? ?? ?? ??? ?? ???? ?? ? ??? ???? ????? ??? ???
??? ??? ???? ?? - FIFO (First-In First-Out) ?? ??? block ??
- LRU (Least Recently Used) ??? ?? ?? ??? block
?? - LFU (Least Frequently Used) ?? ??? ?? ?? block
??
31??? ????
- ?? ????(Virtual Memory)
- ?? ???? ??? ?? ??? ? ??????? ?? ?????? ?? ??
- ??????? ??? ????? ?????? ??
- ??????? ?? ???? ?? ??? ?????? ?? ??? ???? ?? ???
?? - ?? ??? ??? ??(Address Space Memory Space)
- ?? ??(Address Space) ?????? ?? ??? ??
??(Virtual Address)? ?? - ??? ??(Memory Space) ??? ??? ??? ??(Physical
Address)? ?? - ??
- ??????
- ?? ??(N) 1024 K 220
- ?????
- ??? ??(M) 32 K 215
- CPU? 20??? ??? ????
- ???? ?? ? ?? ???
- ?????? ?? ??? ??
- ?? ??? ???
32??? ????
- ??? ???
- ???? ??? ?? ?????? ??? ??
- ?? ??? ?? ??? ??? ? ???? ??? ??
- 20??? ?? ??? 15??? ?? ??? ??
33??? ????
-
- ?? ??
- ???? ?? ?? ?? ??? ??? ??? ?? ??? ??
- ?? ?? 1K page ? ??
- ??? ?? 1K block?? ??
- ?? ??? 4? page? ??? ???? block?? ??
- ?? ??? ?? ?? ??? ??? ?? ??(10??)
34??? ????
???? 8?? ??? ??
? ??? ??? ??? ? ??? ??? ?? ?
1
2
5
6
35??? ????
- ?? ????? ??? ??? ???
- ??? ???? ??? ?? ?????? ??? ?? ?? ?
- ? ??? ???? ????? ??
Fig. 5-25
36??? ????
- ????? ?? ?? - ???? ????? ??? ???? ???? ??
- ??? ?? ??? ???? ??? ??????? ????? ??? ?? ??? ???
?? ? ????? ???? ??? ?? ?? - ???? ????? ?? ? ??? ???
- ????? ?? ?????? ????? ?? ??
- ???? ???? ?? ????? ??
- (1) ?????/????? ?? ????? ???????
- (2) ?? ???? ??? ? ????? ????
- ?? ?? ????? ? ????? ?? ???? ??
- ?? ????? ?? ???? ?? 2?? ?(????, ???)
37??? ????
- ??? ?? ???? (Page(Block) Replacement)
- ??? ??(Page Fault) CPU ? ?? ????? ?? ????
-
?????? ?? ?? -
- ??? ???? ???????? ?????? ??? ? ??? ??? ? ? ???
??? ???? ???? ? ? ?? ???? - ?? ????(Replacement algorithm) FIFO (First-In
First Out) ? LRU (Least Recently Used) ? ?? ??