1. Trang chủ
  2. » Công Nghệ Thông Tin

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

77 307 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 666,33 KB

Nội dung

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Trang 2

Sách Computer Org and Design, 3rd 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

Trang 4

/ӏ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

Trang 5

.Ӄ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

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ӱORJLFKD\

EҵQJ WKXұW toán

Trang 6

Nguyên WҳF WKLӃW NӃ MIPS (RISC)

™ Tính ÿѫQ JLҧQ quan WUӑQJ KѫQ tính quy WҳF(Simplicity favors regularity)

™ 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Ӄ store)

load-‰ 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ӏ

Trang 8

ĈӑF OӋQK Wӯ Eӝ QKӟ, và FұS QKұW giá WUӏ PC

Instruction Fetch

Instruction Decode

Operand Fetch Execute

Result Store

Next Instruction

Fetch

PC = PC+4

Decode Exec,

Store

Trang 9

7KLӃW NӃ ÿӗQJ Eӝ theo ÿӗQJ Kӗ

SKҫQ WӱWUҥQJ thái là KӧS OӋ và әQ ÿӏQK ÿѭӧF quy ÿӏQK EӣL

State element 1

State element 2

Combinational logic

clock

one clock cycle

ÿӗQJ Kӗ 1ӃX không: FҫQ tín KLӋX ÿLӅX NKLӇQ YLӋF ghi

Trang 10

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

Trang 11

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

Fetch

PC = PC+4

Decode Exec,

Store

Trang 12

7KӵF KLӋQ OӋQK ORҥL R

Register

File

Read Data 1

Read Data 2

ALU

overflow zero

ALU control RegWrite

Trang 13

7KӵF KLӋQ OӋQK ÿӑF ghi Eӝ QKӟ

z ghi (sw) giá WUӏ (ÿѭӧF ÿӑF Wӯ WӋS thanh ghi khi JLҧL mã OӋQK) vào Eӝ

Register

File

Read Data 1

Read Data 2

ALU

overflow zero

ALU control RegWrite

Data Memory

Address

Write Data

Read Data

Sign Extend

MemWrite

MemRead

Trang 14

7KӵF KLӋQ OӋQK UӁ nhánh có ÿLӅX NLӋQ

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

Shift left 2

Add

PC

Branch target address

(to branch control logic)

Trang 15

7KӵF KLӋQ OӋQK QKҧ\ không ÿLӅX NLӋQ

Read Address Instruction

Instruction Memory Add

PC

4

Shift left 2

Jump address

26

4

28

Trang 16

ĈѭӡQJ Gӳ OLӋX

KLӋX ÿLӅX NKLӇQ và Eӝ ghép (multiplexors)

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

QKҩW

Trang 17

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

ALUSrc

Trang 18

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

MemtoReg ALUSrc

Shift left 2

Add

PCSrc

RegDst

ALU control

1

1 1

Control Unit

Instr[31-26]

Branch

Trang 19

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

MemtoReg ALUSrc

Shift left 2

Add

PCSrc

RegDst

ALU control

1

1 1

Control Unit

Instr[31-26]

Branch

Trang 20

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

MemtoReg ALUSrc

Shift left 2

Add

PCSrc

RegDst

ALU control

1

1 1

Control Unit

Instr[31-26]

Branch

Trang 21

BXL ÿѫQ xung QKӏS ± Thêm OӋQK QKҧ\

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

MemtoReg ALUSrc

Shift left 2

Add

PCSrc

RegDst

ALU control

1

1 1

Control Unit

Instr[31-26]

Branch

Shift left 2

0 1

Trang 22

GӏFK 2, dây GүQ, WKӡL gian WKLӃW OұS và JLӳ Cho ELӃW ÿӝ WUӉ:

Trang 23

Not used

Not used

Not used

Not used

Not used

Not used

Not used

Not used

Trang 25

So sánh ÿiQK giá WKLӃW NӃ ÿѫQ xung QKӏS

So sánh YӟL các Eӝ [ӱ lý trên WKӏ WUѭӡQJ:

0ӝW Eӝ [ӱ lý 2.5 GHz YӟL 20 giai ÿRҥQ pipeline có ÿӝ WUӉ NKRҧQJ:

/ѭXOѭӧQJFӫDEӝ[ӱOêFySLSHOLQHWӕWKѫQUҩWQKLӅX

7ӕWKѫQWӟLOҫQYӟLFiFEӝ[ӱOêSKiWKjQKÿѫQOӋQK

7ӕWKѫQWӟLOҫQYӟLFiFEӝ[ӱOêSKiWKjQKÿDOӋQK

Trang 26

o Các NKӕL FKӭF QăQJ ÿѭӧF chia Vҿ JLӳD các pha khác nhau FӫD OӋQK do

PӝW NKӕL FKӭF QăQJ Fө WKӇ không FҫQ trong toàn Eӝ các pha WKӵF KLӋQ FӫD OӋQK

Clock

Clock

Time saved

Instr 1 Instr 2 Instr 3 Instr 4

Trang 27

Not used

Not used

Not used

Not used

Not used

Not used

Not used

Not used

Trang 28

So sánh ÿiQK giá WKLӃW NӃ ÿD xung QKӏS

R-type 44% 4 cycles Load 24% 5 cycles Store 12% 4 cycles Branch 18% 3 cycles Jump 2% 3 cycles

Contribution to CPI

R-type 0.44 u4 = 1.76

Load 0.24 u5 = 1.20 Store 0.12 u4 = 0.48 Branch 0.18 u3 = 0.54 Jump 0.02 u3 = 0.06

SKiWKjQKÿDOӋQK

Trang 29

Next addr

Reg file

16

Register input

Data out

Trang 30

2

Trang 32

Dây FKX\ӅQ VҧQ [XҩW trong nhà máy

Trang 33

7ăQJ KLӋX QăQJ (WӕF ÿӝ) EҵQJ cách nào?

WҥL NӃW thúc:

KLӋQ ÿҥL

WăQJ WӕF ÿӝ EҵQJ Vӕ giai ÿRҥQ ÿѭӡQJ ӕQJ ĈѭӡQJ ӕQJ 5 giai ÿRҥQ

Trang 34

5 giai ÿRҥQ ÿѭӡQJ ӕQJ FӫD OӋQK lw

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5

lw

Trang 35

ĈѭӡQJ ӕQJ trong MIPS

NKRҧQJ WKӡL gian

z ÿӝ WUӉ OӋQK (WKӡL gian WKӵF KLӋQ, WKӡL gian ÿiS ӭQJ ± WKӡL gian Wӯ

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5

lw

Cycle 7 Cycle 6 Cycle 8

¾ chu NǤ ÿӗQJ Kӗ (WKӡL gian 1 giai ÿRҥQ ÿѭӡQJ ӕQJ) TX\ӃW ÿӏQK EӣL giai ÿRҥQ FKұP QKҩW

¾ PӝW Vӕ giai ÿRҥQ không dùng toàn Eӝ chu NǤ ÿӗQJ Kӗ (VD., WB)

¾ PӝW Vӕ OӋQK, có các giai ÿRҥQ là chu NǤ lãng phí ( QJKƭD là, không WKӵF KLӋQ gì trong chu NǤ ÿy YӟL OӋQK ÿy)

Trang 36

Ví Gө 3.3 ± Pipeline vs ĈѫQ xung QKӏS

lw IFetch Dec Exec Mem W B

7ULӇQ khai pipeline (Tc = 200 ps):

IFetch Dec Exec Mem WB sw

IFetch Dec Exec Mem W B

sao?

400 ps

Trang 37

.ӻ WKXұW ÿѭӡQJ ӕQJ cho MIPS(RISC) ISA

Î Có WKӇ QҥS OӋQK trong giai ÿRҥQ 1 st và JLҧL mã OӋQK trong giai ÿRҥQ

2 nd

- Có WKӇ ÿӑF thanh ghi ӣgiai ÿRҥQ 2 nd

- Có WKӇ tính ÿӏD FKӍ Eӝ QKӟ ӣgiai ÿRҥQ EX ( WKӵF KLӋQ OӋQK )

FKX\ӇQ Gӳ OLӋX FKӍ FҫQ 1 OҫQ truy FұS Eӝ QKӟ

Trang 38

ĈѭӡQJ Gӳ OLӋX MIPS pipeline

‰ Thanh ghi WUҥQJ thái JLӳD các giai ÿRҥQ WKӵF KLӋQ OӋQK ÿӇ phân cách

MemAccess

WB: WriteBack

Register File

Read Data 1

Read Data 2

ALU

Shift left 2

Add

Data Memory

Address Write Data

Read Data

IF/ID

Sign Extend

ID/EX EX/MEM

MEM/WB

Trang 39

ĈLӅX NKLӇQ MIPS pipeline

‰ Các tín KLӋX ÿLӅX NKLӇQ ÿѭӧF xác ÿӏQK trong giai ÿRҥQ JLҧL mã và ÿѭӧF OѭX

trong các thanh ghi WUҥQJ thái JLӳD các giai ÿRҥQ pipeline

Read

Address

Instruction Memory

Register File

Read Data 1

Read Data 2

ALU

Shift left 2

Add

Data Memory

Address Write Data

Read Data

IF/ID

Sign Extend

Trang 40

Mô Wҧ KRҥW ÿӝQJ pipeline

z ĈR KLӋX QăQJ: &ҫQ bao nhiêu chu NǤ ÿӅ WKӵF KLӋQ ÿRҥQ mã?

z Phân tích KRҥW ÿӝQJ: ALU làm gì ӣchu NǤ 4?

z &ҧL WLӃQCó [ҧ\ ra hazard không? 7ҥL sao? Dùng cách nào ÿӇNKҳF SKөF?

Trang 41

1 chu NǤ

Î CPI = 1

7KӡL gian ÿLӅQ ÿҫ\ pipeline

Trang 42

Xung ÿӝW Pipeline

‰Xung ÿӝW FҩX trúc : yêu FҫX Vӱ GөQJ cùng PӝW tài nguyên

‰Xung ÿӝW Gӳ OLӋX : yêu FҫX VӱGөQJ Gӳ OLӋX WUѭӟF khi nó VҹQ sàng

‰Xung ÿӝW ÿLӅX NKLӇQ : yêu FҫX TX\ӃW ÿӏQK ÿLӅX NKLӇQ dòng FKѭѫQJ trình WUѭӟF khi ÿLӅX NLӋQ UӁ nhánh và giá WUӏ PC PӟL ÿѭӧF tính toán

z .KӕL ÿLӅX NKLӇQ pipeline FҫQ phát KLӋQ xung ÿӝW

Trang 43

ĈӑF OӋQK Wӯ Eӝ QKӟ

Trang 44

Xung ÿӝW FҩX trúc khi truy FұS WӋS thanh ghi

EҵQJ cách ÿӑFtrong QӱD ÿҫX chu

Trang 45

6ӱGөQJ thanh ghi: Xung ÿӝW Gӳ OLӋX

‰ Xung ÿӝW ÿ ӑF WUѭӟF khi ghi (Read before write)

Trang 46

6ӱGөQJ thanh ghi: Xung ÿӝW Gӳ OLӋX

Xung ÿӝW ÿ ӑF WUѭӟF khi ghi (Read before write)

Trang 47

ĈӑF Wӯ Eӝ QKӟ: Gây xung ÿӝW Gӳ OLӋX

‰ Load-use data hazard

Trang 50

Tóm WҳW 1

QKҩW

Trang 53

*LҧL TX\ӃW xung ÿӝW: &KX\ӇQ WLӃS Gӳ OLӋX

Trang 54

&KX\ӇQ WLӃS Gӳ OLӋX

QăQJ (VD ALU) mà FҫQ NӃW TXҧ WҥL chu NǤ ÿӗQJ Kӗ ÿy

Fҧ 2 thanh ghi pipeline Rs và Rt WKXӝF giai ÿRҥQ EX

Trang 55

Minh KӑD WULӇQ khai FKX\ӇQ WLӃS

Trang 56

Xung ÿӝW Gӳ OLӋX khi FKX\ӇQ WLӃS

ÿӝW JLӳD NӃW TXҧ FӫD OӋQK ÿDQJ ӣgiai ÿRҥQ WB và OӋQK ÿDQJ ӣgiai ÿRҥQ MEM ± NӃW TXҧ nào FҫQ ÿѭӧF FKX\ӇQ WLӃS?

Trang 57

Xung ÿӝW Gӳ OLӋX khi có OӋQK lw

Trang 58

Xung ÿӝW ÿLӅX NKLӇQ

[XҩW KLӋQ khi có các OӋQK thay ÿәL dòng FKѭѫQJ trình

Trang 59

FҫQ PӝW OӋQK xóa (flush)

z ĈӇ xóa, ÿһW WUѭӡQJ mã OӋQK FӫD thanh ghi pipeline IF/ID

EҵQJ 0 (làm nó WUӣ thành 1 OӋQK noop)

*LҧL TX\ӃW xung ÿӝW OӋQK QKҧ\ EҵQJ cách FKӡ ± flush

Trang 60

Xung ÿӝW ÿLӅX NKLӇQ OӋQK UӁ nhánh

Trang 61

*LҧL TX\ӃW xung ÿӝW ÿLӅX NKLӇQ OӋQK UӁ nhánh

flush ±

QKѭQJ ҧQK KѭӣQJ CPI

Trang 62

*LҧL TX\ӃW xung ÿӝW ÿLӅX NKLӇQ OӋQK UӁ nhánh

Trang 63

5Ӂ nhánh FKұP

WLӃS nó

KѭӣQJ EӣL OӋQK UӁ nhánh) WӟL sau OӋQK UӁ nhánh (vào khe WUӉ) Vì

QKLӅX OӋQK ÿѭӧF chèn vào sau OӋQK UӁ nhánh

WӕQ kém KѫQ QKѭQJ PӅP GҿR (ÿӝQJ) KѫQ QKѭ Gӵ ÿRiQ UӁ nhánh

KѫQ

Trang 64

6ҳS [ӃS OӋQK trong UӁ nhánh FKұP

add $1,$2,$3

if $1=0 then sub $4,$5,$6

Trang 65

'ӵ ÿRiQ UӁ nhánh WƭQK

1. ĈRiQ không UӁ nhánh ± luôn JLҧ VӱOӋQK không UӁ nhánh,

WLӃS WөF QҥS các OӋQK NӃ WLӃS, FKӍ khi có UӁ nhánh thì FҫQ

GӯQJ pipeline

- trong giai ÿRҥQ IF, ID, và EX QӃX Eӝ tính UӁ nhánh ӣMEM ± ba GӯQJ

- trong giai ÿRҥQ IF và ID QӃX Eӝ tính UӁ nhánh ӣEX ± hai GӯQJ

- trong giai ÿRҥQ IF QӃX Eӝ tính UӁ nhánh ӣID ± môt GӯQJ

máy

Trang 66

Xóa khi Gӵ ÿRiQ sai

Trang 67

Xóa khi Gӵ ÿRiQ sai (ĈRiQ không UӁ nhánh)

EҵQJ 0 (làm nó WUӣ thành 1 OӋQK noop)

Trang 68

'ӵ ÿRiQ UӁ nhánh

UӁ nhánh ӣgiai ÿRҥQ ID)

ÿtFK??

KLӋX QăQJ 9ӟL QKLӅX SKҫQ FӭQJ KѫQ, có WKӇ WKӱ Gӵ

WKӵF KLӋQ

Trang 69

'ӵ ÿRiQ UӁ nhánh ÿӝQJ EҵQJ 1 bit

ӣFXӕL vòng OһS

ÿRiQ ÿ~QJ

Loop: 1 st loop instr

2 nd loop instr

.

last loop instr bne $1,$2,Loop fall out instr

Trang 70

'ӵ ÿRiQ UӁ nhánh ÿӝQJ EҵQJ 2 bit

ÿRiQ sai 2 OҫQ thì bit Gӵ ÿRiQ PӟL thay ÿәL

Predict Taken

Predict Not Taken

Predict Taken

Predict Not Taken

last loop instr bne $1,$2,Loop fall out instr

Trang 72

Hai ORҥL exceptions

trình

NKLӇQ cho hàm [ӱ lý Eү\ FӫD OS

ÿѭӧF WLӃS WөF

Trang 73

Exception có WKӇ [XҩW KLӋQ ӣÿkX trong pipeline

Trang 74

Exception có WKӇ [XҩW KLӋQ ӣÿkX trong pipeline

PͱW chu NǤ ÿӗQJ Kӗ

ID

IF, MEM any

Trang 76

I$ page fault

Trang 77

7әQJ NӃW

KLӋX VXҩW (CPI=1 và ÿӗQJ Kӗ nhanh - fc OӟQ)

FKұP QKҩW ± WKLӃW NӃ pipeline cân EҵQJ là UҩW quan WUӑQJ

- 'ӯQJ (ҧQK KѭӣQJ CPI)

- &KX\ӇQ WLӃS (FҫQ SKҫQ FӭQJ Kӛ WUӧ)

WUҥQJ thái ÿҫX trong pipeline

- 'ӯQJ (ҧQK KѭӣQJ CPI)

- 5Ӂ nhánh FKұP (FҫQ Kӛ WUӧ FӫD trình GӏFK)

- 'ӵ ÿRiQ UӁ nhánh WƭQK và ÿӝQJ (FҫQ SKҫQ FӭQJ Kӛ WUӧ)

Ngày đăng: 23/10/2014, 21:02

TỪ KHÓA LIÊN QUAN

w