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

slide bài giảng kiến trúc máy tính và hệ điều hành chương 3 kỹ thuật pipelining

23 1,2K 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 23
Dung lượng 875,5 KB

Nội dung

Tuần tự Von Neumann và Pipeline + Thực hiện các lệnh một cách tuần tự... Tuần tự Von Neumann và Pipeline + 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

Trang 1

KIẾN TRÚC MÁY TÍNH

VÀ HỆ ĐIỀU HÀNH

Trang 2

3.1 Kỹ thuật Pipelining

3.2 Điều khiển Pipelining

CHƯƠNG 3 : KỸ THUẬT PIPELINING

Trang 3

3.1 Kỹ thuật Pipelining

* Cấu trúc tuần tự:

3.1.1 Tuần tự Von Neumann và Pipeline

+ 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ả

Trang 4

3.1 Kỹ thuật Pipelining

* Cấu trúc tuần tự:

3.1.1 Tuần tự Von Neumann và Pipeline

Trang 5

3.1 Kỹ thuật Pipelining

* Cấu trúc tuần tự:

3.1.1 Tuần tự Von Neumann và Pipeline

+ 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ý

Trang 6

3.1 Kỹ thuật Pipelining

* Cấu trúc Pipeline:

3.1.1 Tuần tự Von Neumann và Pipeline

+ 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ả

Trang 7

3.1 Kỹ thuật Pipelining

* Cấu trúc Pipeline:

3.1.1 Tuần tự Von Neumann và Pipeline

+ Mô hình Pipeline lý tưởng: thông lượng trung bình là 1

CPI (Clock Cycle per Instruction)

Trang 8

3.1 Kỹ thuật Pipelining

* Cấu trúc Pipeline:

3.1.1 Tuần tự Von Neumann và Pipeline

- 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à  +  /5Thời gian để thực hiện 3 lệnh là  +  *n2/5

…Thời gian để thực hiện n lệnh là  +  *n(n-1)/5

+ Mô hình Pipeline lý tưởng: Tpipeline =  +  *n (n-1)/m

Trang 9

3.1 Kỹ thuật Pipelining

* Định nghĩa Pipelining:

3.1.1 Tuần tự Von Neumann và Pipeline

+ 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

+ Trong trường hợp không có xung đột có thể tăng tốc

độ vi xử lý lên 400%

Trang 10

3.1 Kỹ thuật Pipelining

* Xung đột cấu trúc (Structural Hazard)

3.1.2 Xung đột (Hazard)

* Xung đột dữ liệu (Data Hazard)

* Xung đột điều khiển (Control Hazard)

Trang 11

3.1 Kỹ thuật Pipelining

3.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, R3SUB 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)

Trang 17

3.1 Kỹ thuật Pipelining

3.1.2 Xung đột (Hazard)

+ 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)

Trang 18

3.1 Kỹ thuật Pipelining

3.1.2 Xung đột (Hazard)

+ 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 WNhánh kế thừa +3 F D X MNhánh kế thừa +4 F D X

Nhánh kế thừa +5 F D

Trang 19

3.2 Điều khiển 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:

Trang 20

3.2 Điều khiển Pipelining

3.2.1 Chèn trễ

+ 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)

Trang 21

3.2 Điều khiển Pipelining

Trang 22

3.2 Điều khiển Pipelining

3.2.2 Tổ chức lại các lệnh

+ 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

Trang 23

3.2 Điều khiển Pipelining

3.2.3 Sử dụng đường dữ liệu nội đặc biệt

+ 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

Ngày đăng: 17/10/2014, 07:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w