Kiến trúc máy tính và hệ điều hành
* Cấu trúc tuần tự:
3.1.1. Tuần tự Von Neumann và Pipeline
CHƯƠNG 3: KỸ THUẬT PIPELINING
+ Thực hiện các lệnh một cách tuần tự.
+ 5 khâu :
- IF (Instruction Fetch) : Nhận lệnh
- ID (Instruction Decode) : Giải mã lệnh
- DF (Data Fetch) : Nhận dữ liệu
- EX (Execution) : Thực hiện lệnh
- DS (Data Save) : Lưu kết quả
23 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2263 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính và hệ điều hành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KIẾN TRÚC MÁY
TÍNH VÀ HỆ ĐIỀU
HÀNH
3.1. K thu t Pipeliningỹ ậ
3.2. i u khi n PipeliningĐ ề ể
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
3.1. K thu t Pipeliningỹ ậ
* C u trúc tu n t :ấ ầ ự
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Th c hi nự ệ các l nh m t cách tu n t .ệ ộ ầ ự
+ 5 khâu :
- IF (Instruction Fetch) : Nh n l nhậ ệ
- ID (Instruction Decode) : Gi i mã l nhả ệ
- DF (Data Fetch) : Nh n d li uậ ữ ệ
- EX (Execution) : Th c hi n l nhự ệ ệ
- DS (Data Save) : L u k t quư ế ả
3.1. K thu t Pipeliningỹ ậ
* C u trúc tu n t :ấ ầ ự
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Ví d :ụ
- Gi s m i l nh th c hi n trong 1 chu kì ả ử ỗ ệ ự ệ τ
- V i n l nh :ớ ệ
Ttu n t ầ ự= τ *n
- M i khâu th c hi n trong th i gian ỗ ự ệ ờ τ /5
3.1. K thu t Pipeliningỹ ậ
* C u trúc tu n t :ấ ầ ự
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ H n ch :ạ ế
- Các l nh đ c th c hi n liên ti p nhauệ ượ ự ệ ế
- Xu t hi n kho ng th i gian r i (stall) gi a các khâuấ ệ ả ờ ỗ ữ
- L nh tr c th c hi n xong m i đ n l nh sauệ ướ ự ệ ớ ế ệ
K thu t pipeline đ c đ a ra đ t n d ng nh ng ỹ ậ ượ ư ể ậ ụ ữ
stall này, t đó tăng t c đ cho vi x lýừ ố ộ ử
3.1. K thu t Pipeliningỹ ậ
* C u trúc Pipeline:ấ
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ 5 khâu c a m t l nh trong ủ ộ ệ MIPS (Microprocessor
without Interlocked Pipeline Stages)
1. F (Fetch) : Nh n l nh.ậ ệ
2. D (Decode) : Gi i mã l nh.ả ệ
3. X (Execution) : Th c hi n l nh.ự ệ ệ
4. M (Memory Access) : Truy nh p b nh .ậ ộ ớ
5. W (Result Write Back) : Ghi k t quế ả
3.1. K thu t Pipeliningỹ ậ
* C u trúc Pipeline:ấ
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Mô hình Pipeline lý t ng: thông l ng trung bình là 1 ưở ượ
CPI (Clock Cycle per Instruction)
3.1. K thu t Pipeliningỹ ậ
* C u trúc Pipeline:ấ
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
- Tính toán:
Th i gian đ th c hi n 1 công đo n là ờ ể ự ệ ạ τ /5.
Th i gian đ th c hi n 1 l nh là ờ ể ự ệ ệ τ
Th i gian đ th c hi n 2 l nh là ờ ể ự ệ ệ τ + τ /5
Th i gian đ th c hi n 3 l nh là ờ ể ự ệ ệ τ + τ *2/5
…
Th i gian đ th c hi n n l nh là ờ ể ự ệ ệ τ + τ *(n-1)/5
+ Mô hình Pipeline lý t ng:ưở Tpipeline = τ + τ * (n-1)/m
3.1. K thu t Pipeliningỹ ậ
* Đ nh nghĩa Pipelining:ị
3.1.1. Tu n t Von Neumann và Pipelineầ ự
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ K thu t th c hi n l nh trong đó các l nh đ c th c ỹ ậ ự ệ ệ ệ ượ ự
hi n theo ki u g i đ u nh m t n d ng nh ng kho ng ệ ể ố ầ ằ ậ ụ ữ ả
th i gian r i (stalls) gi a các công đo n (stages), qua đó ờ ỗ ữ ạ
làm tăng t c đ th c hi n l nh c a vi x lí (VXL).ố ộ ự ệ ệ ủ ử
+ Trong tr ng h p không có xung đ t có th tăng t c ườ ợ ộ ể ố
đ vi x lý lên 400%.ộ ử
3.1. K thu t Pipeliningỹ ậ
* Xung đ t c u trúc (Structural Hazard)ộ ấ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
* Xung đ t d li u (Data Hazard)ộ ữ ệ
* Xung đ t đi u khi n (Control Hazard)ộ ề ể
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t c u trúc: ộ ấ x y ra khi có 2 l nh cùng c ả ệ ố
g ng s d ng cùng 1 ngu n t i cùng 1 th i đi mắ ử ụ ồ ạ ờ ể
- Khi 2 l nh cùng ghi k t qu vào 1 thanh ghi:ệ ế ả
ADD R1, R2, R3
SUB R1, R4, R5
- Khi c 2 l nh cùng truy c p vào 1 ô nh t i cùng ả ệ ậ ớ ạ
m t th i đi m.ộ ờ ể
- Khi c 2 l nh cùng yêu c u m t b tính toán s ả ệ ầ ộ ộ ố
h c (b c ng, b nhân, b chia).ọ ộ ộ ộ ộ
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t c u trúc: ộ ấ
- Xung đ t x y ra khi ộ ả
vi c n p l nh và đ c ệ ạ ệ ọ
d li u t b nh ữ ệ ừ ộ ớ
di n ra cùng lúcễ
- Nh ng kí hi u “o” chèn vào t ng tr ng cho chu kì tr ữ ệ ượ ư ễ
(stall cycles) s đ c s d ng n u ta s d ng b nh đ n ẽ ượ ử ụ ế ử ụ ộ ớ ơ
l u tr c l nh vào d li uư ữ ả ệ ữ ệ
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t c u trúc: ộ ấ
- Khi c stage X và D đ u yêu c u b c ng, mà ch có 1 ả ề ầ ộ ộ ỉ
b c ng trong VXLộ ộ
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t d li u: ộ ữ ệ
- RAW (Read after Write):
Instruction 1: ADD R2, R1, R3 R2 <- R1 + R3
Instruction 2: ADD R4, R2, R3 R4 <- R2 + R3
I1 F D X M W
I2 F D X M W
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t d li u: ộ ữ ệ
- WAR (Write after Read):
Instruction 1: ADD R1, R2, R3 R1 <- R2 + R3
Instruction 2: ADD R3, R4, R5 R3 <- R4 + R5
I1 F D X M W
I2 F D X M W
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t d li u: ộ ữ ệ
- WAW (Write after Write)
Instruction 1: ADD R2, R1, R3 R2 <- R1 + R3
Instruction 2: ADD R2, R4, R7 R2 <- R4 + R7
I1 F D X M W
I2 F D X M W
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t đi u khi n: ộ ề ể
-Control Hazard x y ra khi có l nh r nhánhả ệ ẽ
-Khi l nh r nhánh đ c yêu c u th c hi n, con tr ệ ẽ ượ ầ ự ệ ỏ
b đ m ch ng trình (PC) s chuy n t i đ a ch đích ộ ế ươ ẽ ể ớ ị ỉ
b ng cách c ng thêm 4ằ ộ
Nh y t i đúng đ a ch đích: r nhánh ả ớ ị ỉ ẽ Taken
Tr ng h p ng c l i g i là nhánh ườ ợ ượ ạ ọ Untaken.
-Khi l nh i có nhánh taken thì PC s không thay đ i ệ ẽ ổ
nh bình th ng t i h t khâu M (memory access)ư ườ ớ ế
3.1. K thu t Pipeliningỹ ậ
3.1.2. Xung t (Hazard)độ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t đi u khi n: ộ ề ể
-Ph ng pháp đ n gi n nh t đ kh c ph c control ươ ơ ả ấ ể ắ ụ
hazard là gây tr k p th i trên pipeline đ phát hi n nhánh ễ ị ờ ể ệ
cho đ n khâu M, s d ng giá tr m i c a PC.ế ử ụ ị ớ ủ
L nh nhánhệ F D X M W
Nhánh k th aế ừ F Stall Stall F D X M W
Nhánh k th a +1ế ừ F D X M W
Nhánh k th a +2ế ừ F D X M W
Nhánh k th a +3ế ừ F D X M
Nhánh k th a +4ế ừ F D X
Nhánh k th a +5ế ừ F D
3.2. i u khi n PipeliningĐ ề ể
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Xung đ t (Hazard) là m t y u t quan tr ng nh h ng ộ ộ ế ố ọ ả ưở
tr c ti p t i t c đ c a VXL trong k thu t Pipelineự ế ớ ố ộ ủ ỹ ậ
+ M t s k thu t gi i quy t xung đ t ch y u:ộ ố ỹ ậ ả ế ộ ủ ế
- Chèn trễ
- T ch c l i các l nhổ ứ ạ ệ
- S d ng đ ng d li u n i đ c bi tử ụ ườ ữ ệ ộ ặ ệ
- Tomasulo
- Đ nh bi uị ể
3.2. i u khi n PipeliningĐ ề ể
3.2.1. Chèn trễ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ K thu t chèn tr đ c s d ng khá h u hi u đ gi i ỹ ậ ễ ượ ử ụ ữ ệ ể ả
quy t các xung đ t v c u trúc cũng nh v d li u:ế ộ ề ấ ư ề ữ ệ
+ Ví d :ụ
+ Xung đ t d li u x y ra khi l nh 1 ch a l u k t qu vào ộ ữ ệ ả ệ ư ư ế ả
R1 thì l nh 2 đã th c hi n tr R1 cho R5 (RAW)ệ ự ệ ừ
3.2. i u khi n PipeliningĐ ề ể
3.2.1. Chèn trễ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Chèn tr :ễ
+ K thu t chèn tr này ho t đ ng khá n đ nh, tuy nhiên ỹ ậ ễ ạ ộ ổ ị
v n còn ch a t n d ng đ c nhi u chu kỳ nhàn r i c a ẫ ư ậ ụ ượ ề ỗ ủ
máy, do đó hi u su t ch a cao.ệ ấ ư
3.2. i u khi n PipeliningĐ ề ể
3.2.2. T ch c l i các l nhổ ứ ạ ệ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ K thu t này đòi h i trình d ch ph i d đoán đ c s ỹ ậ ỏ ị ả ự ượ ự
ph thu c d li u gi a các l nh, qua đó thay đ i tr t t ụ ộ ữ ệ ữ ệ ổ ậ ự
th c hi n l nhự ệ ệ
3.2. i u khi n PipeliningĐ ề ể
3.2.3. S d ng ng d li u n i c bi tử ụ đườ ữ ệ ộ đặ ệ
CH NG ƯƠ 3: K THU T PIPELININGỸ Ậ
+ Giá tr c a bi n s đ c c p nh p r t s m nh s d ng ị ủ ế ẽ ượ ậ ậ ấ ớ ờ ử ụ
đ ng d li u n i đ c bi t. Đi u này làm gi m s chu kỳ ườ ữ ệ ộ ặ ệ ề ả ố
nhàn r i trong pipeline và tăng t c đ VXLỗ ố ộ
Các file đính kèm theo tài liệu này:
- Kiến trúc máy tính và hệ điều hành.pdf