CHƯƠNG 3: KỸ THUẬT PIPELINING
Số trang: 23
Loại file: ppt
Dung lượng: 881.50 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 0 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
+ 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 sauKỹ thuật pipeline được đưa ra để tận dụng nhữngstall này, từ đó tăng tốc độ cho vi xử lý
Nội dung trích xuất từ tài liệu:
CHƯƠNG 3: KỸ THUẬT PIPELINING KIẾNTRÚCMÁYTÍNHVÀHỆĐIỀU HÀNH CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.2.ĐiềukhiểnPipelining CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + 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ả CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + Ví dụ: - Giả sử mỗi lệnh thực hiện trong 1 chu kì τ - Mỗi khâu thực hiện trong thời gian τ /5 - Với n lệnh : Ttuần tự = τ *n CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + Hạn chế: - Các lệnh được thực hiện liên tiếp nhau - Lệnh trước thực hiện xong mới đến lệnh sau - Xuất hiện khoảng thời gian rỗi (stall) giữa các khâu 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ý CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + 5 khâu của một lệnh trong MIPS (Microprocessor without Interlocked Pipeline Stages) F (Fetch) : Nhận lệnh. 1. D (Decode) : Giải mã lệnh. 2. X (Execution) : Thực hiện lệnh. 3. M (Memory Access) : Truy nhập bộ nhớ. 4. W (Result Write Back) : Ghi kết quả 5. CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + Mô hình Pipeline lý tưởng: thông lượng trung bình là 1 CPI (Clock Cycle per Instruction) CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + Mô hình Pipeline lý tưởng: Tpipeline = τ + τ * (n-1)/m - 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Định nghĩa 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%. CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) * Xung đột cấu trúc (Structural Hazard) * Xung đột dữ liệu (Data Hazard) * Xung đột điều khiển (Control Hazard) CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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). CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - RAW (Read after Write): Instruction 1: ADD R2, R1, R3 R2 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - WAR (Write after Read): Instruction 1: ADD R1, R2, R3 R1 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - WAW (Write after Write) Instruction 1: ADD R2, R1, R3 R2 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột điều khiển: -Control Hazard ...
Nội dung trích xuất từ tài liệu:
CHƯƠNG 3: KỸ THUẬT PIPELINING KIẾNTRÚCMÁYTÍNHVÀHỆĐIỀU HÀNH CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.2.ĐiềukhiểnPipelining CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + 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ả CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + Ví dụ: - Giả sử mỗi lệnh thực hiện trong 1 chu kì τ - Mỗi khâu thực hiện trong thời gian τ /5 - Với n lệnh : Ttuần tự = τ *n CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc tuần tự: + Hạn chế: - Các lệnh được thực hiện liên tiếp nhau - Lệnh trước thực hiện xong mới đến lệnh sau - Xuất hiện khoảng thời gian rỗi (stall) giữa các khâu 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ý CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + 5 khâu của một lệnh trong MIPS (Microprocessor without Interlocked Pipeline Stages) F (Fetch) : Nhận lệnh. 1. D (Decode) : Giải mã lệnh. 2. X (Execution) : Thực hiện lệnh. 3. M (Memory Access) : Truy nhập bộ nhớ. 4. W (Result Write Back) : Ghi kết quả 5. CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + Mô hình Pipeline lý tưởng: thông lượng trung bình là 1 CPI (Clock Cycle per Instruction) CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Cấu trúc Pipeline: + Mô hình Pipeline lý tưởng: Tpipeline = τ + τ * (n-1)/m - 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.1.TuầntựVonNeumannvàPipeline * Định nghĩa 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%. CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) * Xung đột cấu trúc (Structural Hazard) * Xung đột dữ liệu (Data Hazard) * Xung đột điều khiển (Control Hazard) CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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). CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + 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 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - RAW (Read after Write): Instruction 1: ADD R2, R1, R3 R2 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - WAR (Write after Read): Instruction 1: ADD R1, R2, R3 R1 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột dữ liệu: - WAW (Write after Write) Instruction 1: ADD R2, R1, R3 R2 CHƯƠNG3:KỸTHUẬTPIPELINING3.1.KỹthuậtPipelining3.1.2.Xungđột(Hazard) + Xung đột điều khiển: -Control Hazard ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc máy tính kiến trúc máy tính các bộ phận cơ bản của máy tính hệ điều hành tài liệu kiến trúc máy tínhGợi ý tài liệu liên quan:
-
50 trang 499 0 0
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 454 0 0 -
67 trang 301 1 0
-
173 trang 276 2 0
-
175 trang 273 0 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 273 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 250 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 246 0 0 -
Giáo trình Kiến trúc máy tính và quản lý hệ thống máy tính: Phần 1 - Trường ĐH Thái Bình
119 trang 236 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 230 0 0