[hoctap suctremmt com]Tuan13 Pipeline



tải về 0.82 Mb.
Chế độ xem pdf
trang10/10
Chuyển đổi dữ liệu27.02.2022
Kích0.82 Mb.
#50747
1   2   3   4   5   6   7   8   9   10
ky thuat pipe

Xung đột dữ liệu

23

Kỹ thuật forwarding có thể hỗ trợ giải quyết xung đột dữ liệu hiệu



quả, tuy nhiên nó không thể ngăn chặn tất cả các trường hợp chu kỳ

rỗi


03/2017

Copyrights 2017 CE-UIT. All Rights Reserved.




Kỹ thuật ống dẫn (pipeline)

Xung đột dữ liệu

Tóm lại, với kỹ thuật forwarding có:

24

Hình 1.

Hình 2.

ü

ALU-ALU forwarding hay EX-EX



forwarding (hình 1)

ü

MEM-ALU forwarding hay MEM-EX



forwarding (hình 2)

03/2017



Kỹ thuật ống dẫn (pipeline)

Xung đột điều khiển

v

Một số lệnh nhảy có điều kiện và không điều kiện trong MIPS



(branches, jumps) tạo ra xung đột điều kiển này

Ví dụ xét đoạn chương trình sau:



add $4, $5, $6

beq $1, $2, label

lw $3, 300($s0)

Nếu áp dụng pipeline thông thường, tại chu kỳ thứ ba của pipeline,

khi beq đang thực thi công đoạn ID thì lệnh lw sẽ được nạp vào.

Nhưng nếu điều kiện bằng của lệnh beq xảy ra thì lệnh thực hiệp tiếp

sau đó không phải là lw mà là lệnh được gán nhãn ‘label’, lúc này

xảy ra xung đột điều khiển.

25

03/2017


Copyrights 2017 CE-UIT. All Rights Reserved.


Kỹ thuật ống dẫn (pipeline)

Xung đột điều khiển

v

Các giải pháp giải quyết xung đột điều khiển cho lệnh nhảy có điều kiện,



ví dụ với beq:

ü

Cơ bản nhất là chờ cho tới khi điều kiện bằng được tính toán thì lệnh



tiếp theo mới được nạp vào. Luôn lãng phí một chu kỳ xung clock để

chờ điều kiện bằng xảy ra.

ü

Cải tiến hơn, có thể dùng phương pháp dự đoán. Có hai cách dự đoán:



dự đoán điều kiện bằng sẽ xảy ra (tức nhánh nhảy tới sẽ được lấy);

hoặc dự đoán điều kiện bằng sẽ không xảy ra (tức nhánh nhảy tới sẽ

không được lấy). Nếu dự đoán đúng, chương trình sẽ không lãng phí

chu kỳ xung clock nào; còn nếu dự đoán sai, lệnh đúng sẽ được nạp lại

và lãng phí một chu kỳ xung clock.

v

Các giải pháp giải quyết xung đột điều khiển (tham khảo thêm mục 4.8,



sách tham khảo chính)

26

03/2017



Copyrights 2017 CE-UIT. All Rights Reserved.


Kỹ thuật ống dẫn (pipeline)

Ví dụ giải quyết xung đột điều khiển theo kiểu dự đoán điều kiện bằng sẽ

không xảy ra, tức nhánh nhảy tới sẽ không được lấy (Predict Not Taken):

27

Dự đoán


đúng

Dự đoán


sai

03/2017



Kỹ thuật ống dẫn (pipeline)

28

Tổng kết:

§

Hiểu kỹ thuật ống dẫn là gì



§

Ba xung đột mà kỹ thuật ống dẫn có thể gây ra:

ü

Xung đột cấu trúc



ü

Xung đột dữ liệu

ü

Xung đột điều khiển



§

Cách giải quyết khi xảy ra các xung đột trên

03/2017

Copyrights 2017 CE-UIT. All Rights Reserved.




Kỹ thuật ống dẫn (pipeline)

v

Lý thuyết: Đọc sách tham khảo

Mục: 4.5


Sách: 


Computer Organization and Design: 

The Hardware/Software Interface

Patterson, D. A., and J. L. Hennessy, 

Morgan Kaufman,  Revised Fourth Edition, 

2011.


v

Bài tập: file đính kèm

29

03/2017



Copyrights 2017 CE-UIT. All Rights Reserved.

tải về 0.82 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   10




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương