SLIDE THUYẾT TRÌNH VỀ LỸ THUẬT PIPELINING
Nhân Sự : 2. Lương Đức Thiện 3. Lê Thành Giang 4. Lương Thị Thu Trang 5. Hoàng Trường Giang 6. Nguyễn Xuân Tùng 1. Tìm hiểu chung về pipeline. 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). 3. Giải quyết xung đột. 4. Ngoại lệ 5. Kỹ thuật pipeline mới. Super pipelining 8 tầng. Super Scalar – Dual pipeline. Tuần tự Von Neumann và Pipeline? 1.1. Cấu trúc tuần tự : Thực hiện các lệnh một cách tuần tự. Theo 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ả 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 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. Vì vậy 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ý. 5 khâu của một lệnh trong MIPS: 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ả. Trong trường hợp không có xung đột có thể tăng tốc độ vi xử lý lên 400%. 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 Tổng quát : Tpipeline = τ + τ * (n-1)/m Pipelining là một 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 VXL. Trên lí thuyết, việc sử dụng kĩ thuật pipeline sẽ làm tăng tốc độ VXL lên gần 400% nhưng thực tế,việc tăng tốc độ được bao nhiêu còn phụ thuộc vào các kiểu xung đột khác nhau dưới đây. Xung đột cấu trúc (Structural Hazard) Xung đột dữ liệu (Data Hazard) Xung đột điều khiển (Control Hazard)