Kỹ thuật ống dẫn
(Pipeline)
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
1
KIẾN TRÚC MÁY TÍNH
Kỹ thuật ống dẫn (pipeline)
Mục đích:
ü
Tổng quan về kỹ thuật Pipeline
ü
Những vấn đề phát sinh và hướng giải quyết trong
pipeline
2
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
Slide được dịch và các hình được lấy từ sách tham khảo:
Computer Organization and Design: The Hardware/Software Interface,
Patterson, D. A., and J. L. Hennessy, Morgan Kaufman, Revised Fourth Edition,
2011.
Kỹ thuật ống dẫn (pipeline)
v
Pipeline là một kỹ thuật mà trong đó các lệnh được thực thi
theo kiểu chồng lấn lên nhau (overlap).
v
Ví dụ minh họa hoạt động như thế nào là không pipeline hay
pipeline:
Giả sử một phòng có nhiều người, mỗi người đều cần giặt quần áo
bẩn của mình. Quá trình giặt quần áo bao gồm 4 công đoạn:
1.
Đặt quần áo bẩn vào máy giặt để giặt
2.
Khi máy giặt hoàn thành, đưa quần áo ướt vào máy sấy
3.
Khi máy sấy hoàn thành, đặt quần áo khô lên bàn và ủi
4.
Khi ủi hoàn tất, xếp quần áo vào tủ
3
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
Kỹ thuật ống dẫn (pipeline)
ü
Nếu một người hoàn tất tất cả các công đoạn giặt quần áo
(xong công đoạn ủi, xếp quần áo vào tủ) thì người khác mới
bắt đầu (bắt đầu đặt quần áo bẩn vào máy giặt), quá trình
thực hiện này gọi là không pipeline.
ü
Tuy nhiên, rõ ràng rằng khi người trước hoàn thành công
đoạn 1, sang công đoạn 2 thì máy giặt đã trống, lúc này
người tiếp theo có thể đưa quần áo bẩn vào giặt. Như vậy,
người tiếp theo không cần phải chờ người trước xong công
đoạn thứ 4 mới có thể bắt đầu, mà ngay khi người trước đến
công đoạn thứ 2 thì người tiếp theo đã có thể bắt đầu công
đoạn thứ nhất và cứ tiếp tục như vậy. Quá trình thực hiện
chồng lấn này gọi là pipeline.
4
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
Kỹ thuật ống dẫn (pipeline)
5
Hình ảnh 4 người A, B, C, D giặt
quần áo theo kiểu tiếp cận không
pipeline (hình trên) và pipeline (hình
dưới)
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
Kỹ thuật ống dẫn (pipeline)
6
ü
Cách tiếp cận dùng kỹ thuật pipeline tiêu tốn ít thời gian hơn cho tất cả các
công việc hoàn tất bởi vì các công việc được thực hiện song song, vì vậy số
công việc hoàn thành trong một giờ sẽ nhiều hơn so với không pipeline.
ü
Chú ý, pipeline không làm giảm thời gian hoàn thành một công việc mà làm
giảm thời gian hoàn thành tổng số công việc (như trong ví dụ trên, thời gian
cho người A hoàn thành việc giặt khi áp dụng pipeline hay không pipeline
đều là 2 giờ, nhưng tổng số giờ cho 4 người A, B, C và D hoàn thành dùng
pipeline giảm rất nhiều so với không pipeline)
03/2017
Copyrights 2017 CE-UIT. All Rights Reserved.
Kỹ thuật ống dẫn (pipeline)
Tương tự việc giặt quần áo, thay vì một lệnh phải chờ lệnh trước đó hoàn thành
mới được thực thi thì các lệnh trong một chương trình của bộ xử lý có thể thực
thi theo kiểu pipeline.
Khi thực thi, các lệnh MIPS được chia làm 5 công đoạn:
Chia sẻ với bạn bè của bạn: |