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ả

pdf23 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2263 | Lượt tải: 0download
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:

  • pdfKiến trúc máy tính và hệ điều hành.pdf
Tài liệu liên quan