Tải bản đầy đủ (.pdf) (77 trang)

Tổng quan về bộ xử lý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (666.33 KB, 77 trang )

.,ӂ175Ò&0È<7Ë1+
ET4270
761JX\ӉQĈӭF Minh
[Adapted from Computer Organization and Design, 4
th
Edition, Patterson & Hennessy, © 2008, MK]
[Adapted from Computer Architecture lecture slides, Mary Jane Irwin, © 2008, PennState University]
7ә FKӭF OӟS
6ӕ tín FKӍ 3 (3-1-1-6)
*LҧQJ viên 761JX\ӉQĈӭF Minh
9ăQ phòng C9-401
Email minhnd1@gmail,com
Website /> Username:
 Pass: dungkhoiminh
Sách Computer Org and Design, 3
rd
Ed., Patterson &Hennessy, ©2007
Digital Design and Computer Architecture, David Money Harris
Thí QJKLӋP 3 bài
Bài WұS Theo FKѭѫQJ, ÿӅ bài xem trên trang web
HUST-FET, 13/03/2011
2
*LӟL WKLӋX
ĈLӇP Vӕ
ĈLӅX NLӋQ thi Lab
Bài thi JLӳD NǤ 30%
Bài WұS 20% (7ӕL ÿD 100 ÿLӇP)
7LӃQtrình 10%
7ӕL ÿD: 100 ÿLӇP,
%ҳW ÿҫX: 50 ÿLӇP
Tích ONJ\, WUӯ qua WUҧ OӡL câu KӓL trên OӟS và ÿyQJ góp Wә FKӭF OӟS


Bài thi FXӕL NǤ 70%
HUST-FET, 13/03/2011
3
*LӟL WKLӋX
/ӏFK KӑF
 7KӡL gian:
 7ӯ 14h00 ÿӃQ 17h20
 Lý WKX\ӃW: 11 EXәL x 135 phút / 1 EXәL
 Bài WұS:4 EXәL x 135 phút / 1 EXәL
 Thay ÿәL OӏFK (QJKӍ, KӑF bù) VӁ ÿѭӧF thông báo trên website
WUѭӟF 2 ngày
HUST-FET, 13/03/2011
4
*LӟL WKLӋX
.ӃW OXұQ FKѭѫQJ 2
 'ӳ OLӋX và FKӍ WKӏ cho máy tính ÿѭӧF ELӇX GLӉQ EҵQJ các FKXӛL bit.
Giá WUӏ FӫD Gӳ OLӋX, ý QJKƭD FӫD FKӍ WKӏ máy ÿѭӧF quy ÿӏQK trong
SKѭѫQJ pháp mã hóa.
 7KLӃW NӃ NLӃQ trúc WұS OӋQK:
 Kích WKѭӟF và NLӇX Gӳ OLӋX
 Phép toán: ORҥL nào ÿѭӧF Kӛ WUӧ
 ĈӏQK GҥQJ và mã hóa FKӍ WKӏ: &KӍ WKӏ ÿѭӧF JLҧL mã WKӃ nào?
 9ӏ trí toán KҥQJ và NӃW TXҧ
¾ 6ӕ OѭӧQJ toán KҥQJ?
¾ Giá WUӏ toán KҥQJ ÿѭӧF OѭX ӣÿkX?
¾ .ӃW TXҧ ÿѭӧF OѭX ӣYӏ trí nào?
¾ Các toán KҥQJ Eӝ QKӟ ÿѭӧF ÿӏQK Yӏ WKӃ nào?
 .LӃQ trúc WұS OӋQK MIPS(RISC) ÿѭӧF WKLӃW NӃ GӵD trên 4 nguyên
WҳF Fѫ EҧQ.
 %ӝ FӝQJ WUӯ nhân chia ÿѭӧF WULӇQ khai EҵQJ các SKҫQ WӱORJLFKD\

EҵQJ WKXұW toán.
HUST-FET, 13/03/2011
5
&KѭѫQJ 3. %ӝ [ӱ lý - Processor
Nguyên WҳF WKLӃW NӃ MIPS (RISC)
HUST-FET, 13/03/2011
6
&KѭѫQJ 3. %ӝ [ӱ lý - Processor
 Tính ÿѫQ JLҧQ quan WUӑQJ KѫQ tính quy WҳF(Simplicity favors regularity)
 &KӍ WKӏ kích WKѭӟF Fӕ ÿӏQK (32 bit)
 Ít ÿӏQK GҥQJ FKӍ WKӏ (3 ORҥL ÿӏQK GҥQJ)
 Mã OӋQK ӣYӏ trí Fӕ ÿӏQK (6 bit ÿҫX)
 1Kӓ KѫQ thì nhanh KѫQ
 6ӕ FKӍ WKӏ JLӟL KҥQ
 6ӕ thanh ghi JLӟL KҥQ
 6ӕ FKӃ ÿӝ ÿӏD FKӍ JLӟL KҥQ
 7ăQJ WӕF các WUѭӡQJ KӧS thông GөQJ
 Các toán KҥQJ Vӕ KӑF Oҩ\ Wӯ thanh ghi (máy tính GӵD trên Fѫ FKӃ load-
store)
 Các FKӍ WKӏ có WKӇ FKӭD toán KҥQJ WUӵF WLӃS
 7KLӃW NӃ WӕW ÿzL KӓL Vӵ WKӓD KLӋS
 3 ORҥL ÿӏQK GҥQJ FKӍ WKӏ
1ӝL dung
ĈѭӡQJ Gӳ OLӋX Eӝ [ӱ lý MIPS
ĈѫQ xung QKӏS
ĈD xung QKӏS
+LӋX QăQJ
.ӻ WKXұW ÿѭӡQJ ӕQJ
Nguyên WҳF KRҥW ÿӝQJ
+LӋX QăQJ

Xung ÿӝW trong ÿѭӡQJ ӕQJ
HUST-FET, 13/03/2011
7
%ӝ [ӱ lý: ĈѭӡQJ Gӳ OLӋX và ÿLӅX NKLӇQ
HUST-FET, 13/03/2011
8
 7ULӇQ khai các OӋQK
z /ӋQK truy FұS Eӝ QKӟ: lw, sw
z /ӋQK Vӕ KӑF và logic: add, sub, and, or, slt
z /ӋQK ÿLӅX NKLӇQ dòng FKѭѫQJ trình: beq, j
 7ULӇQ khai các pha KRҥW ÿӝQJ
z Dùng thanh ghi PC ÿӇ OѭX ÿӏD FKӍ OӋQK
ĈӑF OӋQK Wӯ Eӝ QKӟ, và FұS QKұW giá WUӏ PC
z *LҧL mã OӋQK và ÿӑF các thanh ghi
z 7KӵF KLӋQ OӋQK
z /ѭX NӃW TXҧ
Instruction
Fetch
Instruction
Decode
Operand
Fetch
Execute
Result
Store
Next
Instruction
Fetch
PC = PC+4
Decode

Exec,
Store
7KLӃW NӃ ÿӗQJ Eӝ theo ÿӗQJ Kӗ
HUST-FET, 13/03/2011
9
 0ҥFK ÿӗQJ Eӝ theo ÿӗQJ Kӗ: WKӡL ÿLӇP Gӳ OLӋX trong 1
SKҫQ WӱWUҥQJ thái là KӧS OӋ và әQ ÿӏQK ÿѭӧF quy ÿӏQK EӣL
xung ÿӗQJ Kӗ
z 3KҫQ WӱWUҥQJ thái - SKҫQ WӱQKӟ - VD. thanh ghi, FF
z Kích KRҥW theo sѭӡQ ± các WUҥQJ thái thay ÿӕL khi có [ѭӡQ xung
 +RҥW ÿӝQJ thông WKѭӡQJ:
z ÿӑF QӝL dung FӫD SKҫQ WӱWUҥQJ thái -> tính giá WUӏ EҵQJ logic Wә KӧS
-> ghi NӃW TXҧ vào SKҫQ WӱWUҥQJ thái
State
element
1
State
element
2
Combinational
logic
clock
one clock cycle
 Các SKҫQ WӱWUҥQJ thái ÿѭӧF ghi ӣWҩW Fҧ các chu NǤ
ÿӗQJ Kӗ. 1ӃX không: FҫQ tín KLӋX ÿLӅX NKLӇQ YLӋF ghi
1ҥS OӋQK
HUST-FET, 13/03/2011
10
z ĈӑF OӋQK WҥL ÿӏD FKӍ (OѭX trong) PC Wӯ Eӝ QKӟ OӋQK (eng.
Instruction Memory)

z &ұS QKұW giá WUӏ PC WӟL ÿӏD FKӍ FӫD OӋQK NӃ WLӃS
Read
Address
Instruction
Instruction
Memory
Add
PC
4
z PC ÿѭӧF FұS QKұW ӣPӑL chu NǤ Î không FҫQ tín KLӋX ÿLӅX
NKLӇQ ghi PC.
z ĈӑF Wӯ Eӝ QKӟ OӋQK ÿѭӧF WKӵF KLӋQ EҵQJ logic Wә KӧS
clock
Fetch
PC = PC+4
Decode
Exec,
Store
*LҧL mã OӋQK
HUST-FET, 13/03/2011
11
z &KX\ӇQ các bit WKXӝF WUѭӡQJ mã OӋQK và WUѭӡQJ mã FKӭF
QăQJ WӟL NKӕL ÿLӅX NKLӇQ
Instruction
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File

Read
Data 1
Read
Data 2
Control
Unit
z ĈӑF 2 giá WUӏ toán KҥQJ QJXӗQ Wӯ WӋS thanh ghi
- &KӍ Vӕ các thanh ghi QҵP trong OӋQK
Fetch
PC = PC+4
Decode
Exec,
Store
7KӵF KLӋQ OӋQK ORҥL R
HUST-FET, 13/03/2011
12
 /ӋQK ÿӏQK GҥQJ R (add, sub, slt, and, or)
z 7KӵF KLӋQ phép toán (mã hóa EӟL op và funct) trên giá WUӏ WRҥQ KҥQJ
trong rs và rt
z Ghi NӃW TXҧ vào WӋS thanh ghi (WҥL Yӏ trí rd)
Instruction
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File
Read
Data 1
Read

Data 2
ALU
overflow
zero
ALU control
RegWrite
R-type:
31 25 20 15 5 0
op rs rt rd functshamt
10
z 7ӋS thanh ghi không ÿѭӧF ghi ӣPӑL chu NǤ Î FҫQ tín KLӋX
ÿLӅX NKLӇQ ghi riêng ELӋW.
Fetch
PC = PC+4
DecodeExec
7KӵF KLӋQ OӋQK ÿӑF ghi Eӝ QKӟ
HUST-FET, 13/03/2011
13
z Tính ÿӏD FKӍ Eӝ QKӟ EҵQJ cách FӝQJ thanh ghi Fѫ Vӣ (ÿӑF Wӯ WӋS thanh
ghi khi JLҧL mã OӋQK) YӟL giá WUӏ offset
z ghi (sw) giá WUӏ (ÿѭӧF ÿӑF Wӯ WӋS thanh ghi khi JLҧL mã OӋQK) vào Eӝ
QKӟ Gӳ OLӋX
z ÿӑF (lw) giá WUӏ Wӯ Eӝ QKӟ Gӳ OLӋX vào WӋS thanh ghi
Instruction
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File

Read
Data 1
Read
Data 2
ALU
overflow
zero
ALU controlRegWrite
Data
Memory
Address
Write Data
Read Data
Sign
Extend
MemWrite
MemRead
7KӵF KLӋQ OӋQK UӁ nhánh có ÿLӅX NLӋQ
HUST-FET, 13/03/2011
14
z so sánh toán KҥQJ ÿӑF Wӯ WӋS thanh ghi khi JLҧL mã
z tính ÿӏD FKӍ ÿtFK EҵQJ cách FӝQJ giá WUӏ PC (sau khi FұS nhât) YӟL
WUѭӡQJ offset 16 bit ÿm ÿѭӧF Pӣ UӝQJ GҩX.
Instruction
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File

Read
Data 1
Read
Data 2
ALU
zero
ALU control
Sign
Extend
16 32
Shift
left 2
Add
4
Add
PC
Branch
target
address
(to branch
control logic)
7KӵF KLӋQ OӋQK QKҧ\ không ÿLӅX NLӋQ
HUST-FET, 13/03/2011
15
z Thay 28 bit WKҩS FӫD PC EҵQJ 26 bít WKҩS FӫD OӋQK ÿѭӧF QҥS và 2 bít 0
Read
Address
Instruction
Instruction
Memory

Add
PC
4
Shift
left 2
Jump
address
26
4
28
ĈѭӡQJ Gӳ OLӋX
HUST-FET, 13/03/2011
16
 Ghép các SKҫQ FӫD ÿѭӡQJ Gӳ OLӋX thêm các ÿѭӡQJ tín
KLӋX ÿLӅX NKLӇQ và Eӝ ghép (multiplexors)
 7KLӃW NӃ ÿѫQ xung QKӏS ± các pha WKӵF KLӋQ: QҥS, JLҧL mã
and WKӵF KLӋQ, ghi FӫD PӛL OӋQK trong PӝW chu NǤ ÿӗQJ Kӗ
z Các tài nguyên SKҫQ FӭQJ FӫD ÿѭӡQJ Gӳ OLӋX không WKӇ tái Vӱ
GөQJ cho cùng 1 OӋQK, PӝW Vӕ tài nguyên SKҧL nhân ÿ{L (VD., Eӝ
QKӟ OӋQK và Gӳ OLӋX riêng ELӋW, PӝW vài Eӝ FӝQJ)
z Eӝ ghép ÿѭӧF dùng ӣÿҫX vào FӫD các tài nguyên dùng chung và
ÿѭӧF ÿLӅX NKLӇQ EҵQJ tín KLӋX ÿLӅX NKLӇQ
 Chu NǤ ÿӗQJ Kӗ: xác ÿӏQK EҵQJ ÿӝ dài ÿѭӡQJ Gӳ OLӋX dài
QKҩW
ĈѭӡQJ Gӳ OLӋX: 3KҫQ QҥS, WKӵF KLӋQ OӋQK R, lw,sw
Các tín KLӋX ÿLӅX NKLӇQ Eӝ ghép: OӵD FKӑQ ÿҫX vào cho các
NKӕL FKӭF QăQJ Î ÿѭӧF tính EҵQJ NKӕL ÿLӅX NKLӇQ Wӯ
WUѭӡQJ mã OӋQK (opcode) và WUѭӡQJ FKӭF QăQJ OӋQK (funct)
HUST-FET, 13/03/2011
17

MemtoReg
Read
Address
Instruction
Instruction
Memory
Add
PC
4
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File
Read
Data 1
Read
Data 2
ALU
ovf
zero
ALU control
RegWrite
Data
Memory
Address
Write Data
Read Data
MemWrite

MemRead
Sign
Extend
16 32
ALUSrc
%ӝ [ӱ lý ÿѫQ xung QKӏS (1) ± /ӋQK R
HUST-FET, 13/03/2011
18
Read
Address
Instr[31-0]
Instruction
Memory
Add
PC
4
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File
Read
Data 1
Read
Data 2
ALU
ovf
zero
RegWrite

Data
Memory
Address
Write Data
Read Data
MemWrite
MemRead
Sign
Extend
16 32
MemtoReg
ALUSrc
Shift
left 2
Add
PCSrc
RegDst
ALU
control
1
1
1
0
0
0
0
1
ALUOp
Instr[5-0]
Instr[15-0]

Instr[25-21]
Instr[20-16]
Instr[15
-11]
Control
Unit
Instr[31-26]
Branch
BXL ÿѫQ xung QKӏS (3) ± /ӋQK lw, sw
HUST-FET, 13/03/2011
19
Read
Address
Instr[31-0]
Instruction
Memory
Add
PC
4
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File
Read
Data 1
Read
Data 2
ALU

ovf
zero
RegWrite
Data
Memory
Address
Write Data
Read Data
MemWrite
MemRead
Sign
Extend
16 32
MemtoReg
ALUSrc
Shift
left 2
Add
PCSrc
RegDst
ALU
control
1
1
1
0
0
0
0
1

ALUOp
Instr[5-0]
Instr[15-0]
Instr[25-21]
Instr[20-16]
Instr[15
-11]
Control
Unit
Instr[31-26]
Branch
BXL ÿѫQ xung QKӏS (4) ± /ӋQK UӁ nhánh
HUST-FET, 13/03/2011
20
Read
Address
Instr[31-0]
Instruction
Memory
Add
PC
4
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register
File
Read
Data 1

Read
Data 2
ALU
ovf
zero
RegWrite
Data
Memory
Address
Write Data
Read Data
MemWrite
MemRead
Sign
Extend
16 32
MemtoReg
ALUSrc
Shift
left 2
Add
PCSrc
RegDst
ALU
control
1
1
1
0
0

0
0
1
ALUOp
Instr[5-0]
Instr[15-0]
Instr[25-21]
Instr[20-16]
Instr[15
-11]
Control
Unit
Instr[31-26]
Branch
BXL ÿѫQ xung QKӏS ± Thêm OӋQK QKҧ\
HUST-FET, 13/03/2011
21
Read
Address
Instr[31-0]
Instruction
Memory
Add
PC
4
Write Data
Read Addr 1
Read Addr 2
Write Addr
Register

File
Read
Data 1
Read
Data 2
ALU
ovf
zero
RegWrite
Data
Memory
Address
Write Data
Read Data
MemWrite
MemRead
Sign
Extend
16 32
MemtoReg
ALUSrc
Shift
left 2
Add
PCSrc
RegDst
ALU
control
1
1

1
0
0
0
0
1
ALUOp
Instr[5-0]
Instr[15-0]
Instr[25-21]
Instr[20-16]
Instr[15
-11]
Control
Unit
Instr[31-26]
Branch
Shift
left 2
0
1
Jump
32
Instr[25-0]
26
PC+4[31-28]
28
Tính chu ky ÿӗQJ Kӗ T
c
± ĈѭӡQJ dài QKҩW

HUST-FET, 13/03/2011
22
Instr. I Mem Reg Rd ALU Op D Mem Reg Wr Total
R-
type
load
store
beq
jump
 Tính chu NǤ ÿӗQJ Kӗ trong WUѭӡQJ KӧS Eӓ qua WUӉ ӣEӝ
ghép, NKӕL ÿLӅX NKLӇQ, NKӕL Pӣ UӝQJ GҩX, NKӕL ÿӑF PC, NKӕL
GӏFK 2, dây GүQ, WKӡL gian WKLӃW OұS và JLӳ. Cho ELӃW ÿӝ WUӉ:
z Truy FұS Eӝ QKӟ OӋQK và Eӝ QKӟ Gӳ OLӋX (200 ps)
z .KӕL Vӕ KӑF logic và Eӝ FӝQJ (200 ps)
z Truy FұS WӋS thanh ghi (ÿӑF KRһF ghi) (100 ps)
Ví Gө 3.1 ± +LӋX QăQJ WKLӃW NӃ ÿѫQ xung QKӏS
HUST-FET, 13/03/2011
23
Ĉӝ WUӉ logic khi
Truy FұS OӋQK 2 ns
ĈӑF thanh ghi 1 ns
+RҥW ÿӝQJ ALU 2 ns
Truy FұS Eӝ QKӟ DL 2 ns
Ghi thanh ghi 1 ns
7әQJ 8 ns
7ӕF ÿӝ ÿӗQJ Kӗ =



















P
C




















P
C



















P
C




















P
C




















P
C

ALU-type
Load
Store
Branch
Jum p
Not
used
Not
used
Not
used
Not
used
Not
used
Not
used
Not
used

Not
used
Not
used
(and jr)
(except
jr & jal)
Các ORҥL OӋQK:
R-type 44% 6 ns
Load 24% 8 ns
Store 12% 7 ns
Branch 18% 5 ns
Jump 2% 3 ns
Trung bình #
7KLӃW NӃ ÿѫQ xung QKӏS ± ѬX QKѭӧF ÿLӇP
HUST-FET, 13/03/2011
24
 6ӱ GөQJ chu NǤ ÿӗQJ Kӗ không KLӋX TXҧ ± chu NǤ ÿӗQJ Kӗ
ÿѭӧF ÿһW theo OӋQK FKұP QKҩW
z 9ҩQ ÿӅ ÿһF ELӋW FӫD các OӋQK SKӭF WҥS QKѭ OӋQK nhân GҩX SKҭ\
ÿӝQJ
 7ӕQ GLӋQ tích WKLӃW NӃ vì FҫQ nhân ÿ{L PӝW Vӕ NKӕL FKӭF
QăQJ (VD. Eӝ FӝQJ) vì chúng không WKӇ ÿѭӧF chia Vҿ trong
cùng 1 chu NǤ ÿӗQJ Kӗ
1KѭQJ
 ĈѫQ JLҧQ và GӉ KLӇX
Clk
lw sw Waste
Cycle 1 Cycle 2
So sánh ÿiQK giá WKLӃW NӃ ÿѫQ xung QKӏS

HUST-FET, 13/03/2011
25
Instruction access 2 ns
Register read 1 ns
ALU operation 2 ns
Data cache access 2 ns
Register write 1 ns
Total 8 ns
Single-cycle clock = 125 MHz
ĈӗQJ Kӗ WӕF ÿӝ 125 MHz là bình WKѭӡQJ
So sánh YӟL các Eӝ [ӱ lý trên WKӏ WUѭӡQJ:
Không WӗL QӃX so sánh ÿӝ WUӉ WKӵF KLӋQ 1 OӋQK
0ӝW Eӝ [ӱ lý 2.5 GHz YӟL 20 giai ÿRҥQ pipeline có ÿӝ WUӉ NKRҧQJ:
0.4 ns/cycle u 20 cycles = 8 ns
/ѭXOѭӧQJFӫDEӝ[ӱOêFySLSHOLQHWӕWKѫQUҩWQKLӅX
7ӕWKѫQWӟLOҫQYӟLFiFEӝ[ӱOêSKiWKjQKÿѫQOӋQK
7ӕWKѫQWӟLOҫQYӟLFiFEӝ[ӱOêSKiWKjQKÿDOӋQK

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×