You are on page 1of 16

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA VIỄN THÔNG 1

BÁO CÁO TIỂU LUẬN


MÔN : KIẾN TRÚC MÁY TÍNH
Giảng viên : Nguyễn Thu Hiên
Nhóm học-Nhóm con: 02-16
Thành Viên Nhóm :
Nguyễn Hữu Đức - B20DCVT119
Phạm Tiến Kiên - B20DCVT207
Đỗ Thành An - B20DCVT007
Đỗ Hoàng Phong -B20DCVT287

HÀ NỘI 8/11/2022

1
MỤC LỤC

Pipeline: Basic/Intermediate Concepts and Implementatio.....................................3


I. Đặt vấn đề...........................................................................................................3
Các vấn đề trong đời sống....................................................................................3
II. Ống dẫn pipeline các khái niệm cơ bản........................................................3
Khái niệm và ví dụ................................................................................................3
III. Ống dẫn pipeline các khái niệm trung cấp...................................................4
Thiết kế đường ống cơ bản...................................................................................4
Các khái niệm........................................................................................................4
Khó khăn...............................................................................................................6
Xung đột cấu trúc..................................................................................................6
Xung đột dữ liệu....................................................................................................7
Xung đột điều khiển............................................................................................10
IV. Hyper Pipeline ( siêu ống dẫn )....................................................................12
Khái niệm và ví dụ..............................................................................................12
V. Đặc điểm Pipeline............................................................................................13
Hiệu suất pipeline................................................................................................13
Hiệu suất của bộ xử lý pipelined........................................................................14
VI. SUPERSCALAR..........................................................................................15
Các khái niệm......................................................................................................15
Ví dụ so sánh giữa superscalar và pineline.......................................................15
Tài liệu tham khảo..................................................................................................16

2
Pipeline: Basic/Intermediate Concepts and Implementatio

I. Đặt vấn đề
Các vấn đề trong đời sống
 Các kiến trúc sư máy tính không ngừng nỗ lực để cải thiện hiệu suất
của những chiếc máy tính (CPU) mà họ thiết kế: 2tuỳ chọn:
 Cách 1: Cải thiện phần cứng, làm cho chip chạy nhanh hơn
bằng cách tăng tốc độ xung nhịp của chúng.
 Cách 2: Sắp xếp phần cứng sao cho có thể thực hiện nhiều
thao tác(nhiều công việc) cùng một lúc: cơ chế song song, là
một cách để cóđược hiệu suất cao hơn đối với một tốc độ xung
nhịp nhất định.
 Vì có giới hạn về tốc độ phần cứng và chi phí của các mạch nhanh
hơn khá cao, tùy chọn thứ 2.
 Cơ chế song song có hai dạng chung:
 Song song mức lệnh.
 Song song mức lệnh.
 Tính song song được khai thác trong các lệnh để có thêm nhiều
lệnh/giây được thực hiện.
 Có 2 phương thức tiếp cận:
 Cơ chế ống lệnh (Pipelining).
 Các kiến trúc Superscalar.
 Pipelining là quá trình sắp xếp các thành phần phần cứng của CPU
sao cho hiệu suất tổng thể của nó được tăng lên. Việc thực thi đồng
thời nhiều lệnh sẽ được diễn ra trong một bộ xử lý ống lệnh.

II. Ống dẫn pipeline các khái niệm cơ bản


Khái niệm và ví dụ
 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í 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 boa 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
 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.

III. Ống dẫn pipeline các khái niệm trung cấp.


Thiết kế đường ống cơ bản

 Trong một bộ xử lý pipelined, một đường ống có hai đầu, đầu vào và đầu ra. Giữa các
đầu này, có nhiều giai đoạn / phân đoạn sao cho đầu ra của một giai đoạn được kết
nối với đầu vào của giai đoạn tiếp theo và mỗi giai đoạn thực hiện một hoạt động cụ
thể.
 Thanh ghi giao diện được sử dụng để giữ đầu ra trung gian giữa hai giai đoạn. Các
thanh ghi giao diện này còn được gọi là chốt hoặc bộ đệm.
 Tất cả các giai đoạn trong đường ống cùng với các thanh ghi giao diện được điều
khiển bởi một đồng hồ chung.

Các khái niệm


 Các giai đoạn thực hiện một lệnh là:
 Lấy lệnh (IF:Instruction Fetch).
4
 Giải mã (ID: Instruction Decode).
 Thi hành (EX: Execute).
 Truy nhập bộ nhớ (MEM: Memory Access).
 Lưu trữ kết quả (RS: Result Storing).
 Kiểu xử lý tuần tự thong thường, 5 lệnh được thực hiện trong 25 chu kỳ
xung nhịp.
 Khi xử ly lệnh theo kỹ thuật ống dẫn thực hiện 5 lệnh chỉ trong 9 chu kỳ
xung nhịp.

 Kỹ thuật ống dẫn làm tăng tốc độ thực hiện các lệnh. Tuy nhiên kỹ thuật
ống dẫn có một số ràng buộc:
 Cần phải có một mạch điện để thi hành mỗi giai đoạn của lệnh vì tất cả các
giai đoạn của lệnh được thi hành cùng lúc.
 Trong một bộ xử lý không dùng kỹ thuật ống dẫn, ta có thể dùng bộ làm
toán ALU để cập nhật thanh ghi PC, cập nhật địa chỉ của toán hạng bộ nhớ, địa
chỉ ô nhớ mà chương trình cần nhảy tới, làm các phép tính trên các toán hạng vì
các phép tính này có thể xảy ra ở nhiều giai đoạn khác nhau.
 Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết (trong ví
dụ tại một chu kỳ xung nhịp, ta thấy cùng một lúc có 2 tác vụ đọc (ID, MEM)
và 1 tác vụ viết (RS).
 Trong một máy có kỹ thuật ống dẫn, có khi kết quả của một tác vụ trước đó,
là toán hạng nguồn của một tác vụ khác. Như vậy sẽ có thêm những khó khăn
mà ta sẽ đề cập ở mục tới.
 Cần phải giải mã các lệnh một cách đơn giản để có thể giải mã và đọc các
toán hạng trong một chu kỳ duy nhất của xung nhịp.
 Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số học
dài nhất, có số giữ, trong một khoảng thời gian ít hơn một chu kỳ của xung
nhịp.
 Cần phải có nhiều thanh ghi lệnh để lưu giữ lệnh mà chúng ta phải xem xét
cho mỗi giai đoạn thi hành lệnh.
 Cuối cùng phải có nhiều thanh ghi bộ đếm chương trình PC để có thể tái tục
các lệnh trong trường hợp có ngắt quãng.
Khó khăn
 Khó khăn trong kỹ thuật ống dẫn:
5
 Khó khăn do cấu trúc: Đây là khó khăn do thiếu bộ phận
chức năng, ví dụ trong một máy tính dùng kỹ thuật ống dẫn phải có nhiều ALU,
nhiều PC, nhiều thanh ghi lệnh IR . Do vậy cần thêm các bộ phận chức năng cần
thiết và hữu hiệu.
 Khó khăn do số liệu: Toán tử kết quả của lệnh trước có thể
chỉ có thể được dùng cho lệnh sau sau giai đoạn MEM của nó, nhưng toán tử được
dùng cho lệnh sau vào giai đoạn EX của lệnh trước. Để khắc phục khó khăn này,
một bộ phận phần cứng được dùng để đưa kết quả từ ngã ra ALU trực tiếp vô một
trong các thanh ghi ngã vào.
 Khó khăn do điều khiển: Các lệnh làm thay đổi tính thi
hành các lệnh một cách tuần tự (nghĩa là PC tăng đều đặn sau mỗi lệnh), gây khó
khăn về điều khiển. Các lệnh này là lệnh nhảy đến một địa chỉ tuyệt đối chứa trong
một thanh ghi, hay lệnh nhảy đến một địa chỉ xác định một cách tương đối so với
địa chỉ hiện tại của bộ đếm chương trình PC. Các lệnh nhảy trên có thể có hoặc
không điều kiện.
Xung đột cấu trúc

Ví dụ về xung đột cấu trúc:

Giả sử rằng chúng ta có một bộ nhớ đơn duy nhất thay vì hai bộ nhớ lệnh và dữ
liệu rời rạc nhau. Nếu pipeline trong ví dụ ở hình trên có thêm lệnh thứ tư thì
trong chu kỳ pipeline từ 600 tới 800 khi lệnh thứ nhất thực hiện truy xuất bộ
nhớ lấy dữ liệu thì lệnh thứ tư sẽ thực hiện truy xuất bộ nhớ lấy lệnh. Do không
có bộ nhớ lệnh và dữ liệu riêng lẻ, trong trường hợp này sẽ có xung đột cấu trúc
xảy ra.

6
Xung đột dữ liệu

Ví dụ cho đoạn lệnh sau: add $s0, $t0, $t1


sub $t2, $s0, $t3

Trong ví dụ trên, nếu áp dụng pipeline bình thường thì công đoạn ID của
lệnh sub sẽ thực hiện cùng lúc với cộng đoạn EX của lệnh add. Trong công
đoạn ID, lệnh sub sẽ cần đọc giá trị của thanh ghi

$s0, trong khi đó giá trị mới của thanh ghi $s0 phải tới công đoạn WB của
lệnh add mới sẵn sàng. Vì vậy, nếu thực hiện pipeline thông thường, trường
hợp này sẽ xảy ra xung đột dữ liệu

Ví dụ cho đoạn lệnh sau:add $s0, $t0, $t1


sub $t2, $s0, $t3
Một cách giải quyết có thể trong trường hợp này là chờ thêm hai chu kỳ
xung xung clock thì lệnh sub mới được nạp vào

Thay vì chờ một số chu kỳ đến khi dữ liệu cần sẵn sàng, một kỹ thuật có thể
được áp dụng để rút ngắn số chu kỳ rỗi, gọi là kỹ thuật nhìn trước (forwarding
hay bypassing).
Như trong ví dụ trước, thay vì chờ sau hai chu kỳ rỗi mới nạp lệnh sub vào, ngay
khi ALU hoàn thành tính toán tổng cho lệnh add thì tổng này cũng được cung
cấp ngay cho công đoạn EX của lệnh sub (thông qua một bộ đệm dữ liệu gắn
thêm bên trong) để ALU tính toán kết quả cho sub nhanh.

7
Kỹ thuật nhìn trước: một phương pháp giải quyết xung đột dữ liệu bằng đưa
thêm vào các bộ đệm phụ bên trong, các dữ liệu cần có thể được truy xuất từ bộ
đệm này hơn là chờ đợi đến khi nó sẵn sàng trong bộ nhớ hay trong thanh ghi.

Lưu ý, với lệnh lw và các lệnh có chức năng tương tự, thông thường kết quả cuối của
nó không phải khi hoàn tất công đoạn EX mà là khi hoàn tất công đoạn MEM.
Xét ví dụ sau : lw $s0, 20($t1)
Sub $t2,$s0,$t3
Với lệnh lw, dữ liệu mong muốn sẽ chỉ sẵn sàng sau 4 chu kỳ pipeline (tức sau khi
công đoạn MEM hoàn tất). Vì vậy, giả sử dữ liệu đầu ra của công đoạn MEM
của lệnh lw được truyền tới đầu vào công đoạn EX của lệnh sub theo sau, thì lệnh
sub vẫn phải chờ sau một chu kỳ rỗi mới được nạp vào.

8
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.
Tóm lại, với kỹ thuật forwarding có:
ALU-ALU forwarding hay EX-EX forwarding (hình 1)
MEM-ALUforwarding hay MEM-EX forwarding (hình 2)

Hình 1

Hình 2
9
Xung đột điều khiển
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,lable
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.
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.
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)
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):

10
Dự đoán đúng

Dự đoán sai

Công nghệ pipelining tăng tốc độ thực thi các lệnh. Nhưng pipelining có một số hạn
chế:
 Cần phải có một mạch điện để thi hành mỗi giai đoạn của lệnh vì tất cả các giai
đoạn của lệnh được thi hành cùng lúc.
 Trong một bộ xử lý không dùng kỹ thuật ống dẫn , ta có thể dùng bộ làm toán
ALU để cập nhật thanh ghi PC, cập nhật địa chỉ của toán hạng bộ nhớ, địa chỉ ô
nhớ mà chương trình cần nhảy tới, làm các phép tính trên các toán hạng vì các
phép tính này có tể xảy ra ở nhiều giai đoạn khác nhau.
 Phải có nhiều thanh ghi khác nhau dùng cho các tác vụ đọc và viết (trong ví dụ
tại một chu kì xung nhịp, ta thấy cùng một lúc có 2 tác vụ đọc(ID,MEM) và
một tác vụ viết (RS).

 Trong một máy có kỹ thuật ống dẫn, có khi kết quả của một tác vụ trước đó, là
toán hạng nguồn của một tác vụ khác.Như vậy sẽ có thêm khó khăn mà ta đề
cập tới.
 Cần phải giải mã các lệnh một các đơn giản để có thể giải mã và đọc các toán
hạng trong một chi kì duy nhất của xung nhịp.
 Cần phải có các bộ làm tính ALU hữu hiệu để có thể thi hành lệnh số học dài
11
nhất , có số giữ , trong một khoảng thời gian ít hơn một chu kỳ của xung nhịp.
 Cần phải có nhiều thanh ghi lưu trữ lệnh mà chúng ta phải xem xét cho mỗi giai
đoạn thi hành lệnh.
 Cuối cùng phải có nhiều thanh ghi bộ đếm chương trình PC để có thể tái tục các
lệnh trong trường hợp có ngắt quãng.

IV. Hyper Pipeline ( siêu ống dẫn )


Khái niệm và ví dụ
 Máy tính có kỹ thuật siêu ống dẫn bậc n:
 Chia các giai đoạn của kỹ thuật ống dẫn đơn giản, mỗi giai đoạn được
thực hiện trong khoản thời gian Tc , thành n giai đoạn con thực hiện
trong khoản thời gian Tc/n.
 Độ hữu hiệu của kỹ thuật này tương đương với việc thi hành n lệnh
trong mỗi chu kỳ Tc .
 VD về siêu ống dẫn bậc 2: Trong khoảng thời gian Tc , máy có siêu
ống dẫn làm 2 lệnh thay vì 1 lệnh như trong máy có kỹ thuật ống dẫn
đơn giản.

 Giải thích:
- Ta thấy trong một chu kỳ Tc, máy dùng kỹ thuật siêu ống dẫn
làm 2 lệnh thay vì làm1 lệnh trong máy dùng kỹ thuật ống dẫn
bình thường.
- Trong máy tính siêu ống dẫn, tốc độ thực hiện lệnh tương
đương với việc thực hiện một lệnh trong khoảng thời gian
Tc/n. Các bất lợi của siêu ống dẫn là thời gian thực hiện một
12
giai đoạn con ngắn Tc/n và việc trì hoãn trong thi hành lệnh
nhảy lớn.
- Nếu lệnh thứ i là một lệnh nhảy tương đối thì lệnh này được
giải mã trong giai đoạn ID, địa chỉ nhảy đến được tính vào giai
đoạn EX, lệnh phải được nhảy tới là lệnh thứ i+4, vậy có trì
trệ 3 lệnh thay vì 1 lệnh trong kỹ thuật ống dẫn bình thường.
V. Đặc điểm Pipeline

 Pipeline là kỹ thuật song song ở mức lệnh(ILP).


 Một pipeline là trọn vẹn nếu nó luôn nhận một lệnh mới tại mỗi chu kỳ đồng
hồ.
 Một pipeline là không trọn vẹn nếu có nhiều giai đoạn trễ trong quá trình xử
lý.
 Số lượng giai đoạn của pipeline phụ thuộc vào thiết kế CPU:

 5 Giai đoạn: Pipeline đơn giản.


 Giai đoạn 1 (Tím nạp lệnh): Trong giai đoạn này, CPU đọc các lệnh
từ địa chỉ trong bộ nhớ có giá trị hiện diện trong bộ đếm chương
trình.
 Giai đoạn 2 (Giải mã lệnh): Trong giai đoạn này, lệnh được giải mã
và tệp thanh ghi được truy cập để lấy các giá trị từ các thanh ghi
được sử dụng trong lệnh.
 Giai đoạn 3(Thực thi lệnh): Trong giai đoạn này, các hoạt động ALU
được thực hiện.
 Giai đoạn 4 (Truy cập bộ nhớ): Trong giai đoạn này, các toán hạng
bộ nhớ được đọc và ghi từ / vào bộ nhớ có trong lệnh.
 Giai đoạn 5 (Ghi lại): Trong giai đoạn này, giá trị được tính toán /
tìm nạp được ghi trở lại thanh ghi có trong hướng dẫn.
 10 –15 giai đoạn: Pen III, M, Core 2 Duo.
 20 giai đoạn: Pen IV (except Prescott).
 31 giai đoạn: Pen IV Prescott.

Hiệu suất pipeline


 Pipelining làm tăng thông lượng, không làm giảm thời gian thực hiện
của một lệnh riêng lẻ.
 Mặt khác, tăng nhẹ thời gian thực hiện (một lệnh) do chi phí
kiểm soát đường ống.
 Độ sâu thực tế của đường ống bị giới hạn do thời gian thực hiện
ngày càng tăng.
 Pipeline overhead
 Giai đoạn pipeline không cân bằng
 Rẽ nhánh: 3 chu kỳ; lưu trữ: 4 chu kỳ và khác: 5 chu kỳ.
 Pippeline giai đoạn trên cao.
13
 Độ trễ thanh ghi Pipeline.
 Clock skew:
 Cùng một tín hiệu đồng hồ có nguồn gốc đến các thành
phần khác nhau tại các thời điểm khác nhau.
Hiệu suất của bộ xử lý pipelined
Hãy xem xét một đường ống phân đoạn 'k' với thời gian chu kỳ đồng hồ là
'Tp'. Để có 'n' nhiệm vụ được hoàn thành trong bộ xử lý pipelined. Bây giờ, lệnh đầu
tiên sẽ mất các chu kỳ 'k' để đi ra khỏi đường ống nhưng các lệnh 'n - 1' khác sẽ chỉ
thực hiện '1' mỗi chu kỳ, tức là tổng số 'n - 1' chu kỳ. Vì vậy, thời gian cần thiết để
thực hiện các lệnh 'n' trong một bộ xử lý pipelined:

Trong trường hợp tương tự, đối với bộ xử lý không pipelined, thời gian
thực hiện lệnh 'n' sẽ là:

Vì vậy, việc tăng tốc độ (S) của bộ xử lý pipelined so với bộ xử lý không


pipelined, khi các tác vụ 'n' được thực thi trên cùng một bộ xử lý là:

Vì hiệu suất của bộ xử lý tỷ lệ nghịch với thời gian thực thi, chúng tôi có:

Khi số nhiệm vụ 'n' lớn hơn k đáng kể, nghĩa là n >> k

trong đó 'k' là số giai đoạn trong đường ống. Ngoài ra, Hiệu quả = Tăng tốc cho
trước / Tăng tốc tối đa = S / S tối đa Chúng ta biết rằng Smax = k Vậy, Hiệu quả = S /
14
k Thông lượng = Số lệnh / Tổng thời gian để hoàn thành các lệnh Vì vậy, Thông
lượng = n / (k + n - 1)

VI. SUPERSCALAR
Các khái niệm
 Siêu vô hướng: Máy tính siêu vô hướng có thể thực hiện đồng thời
nhiều lệnh lệnh trong một chu kỳ xung nhịp.
 Trong một máy tính siêu vô hướng phần cứng phải quản lý việc đọc
và thi hành đồng thời nhiều lệnh => phải có khả năng quản lý các
quan hệ giữa số liệu với nhau.
 Cần phải chọn các lệnh có khả năng được thi hành cùng một lúc.
 Năm 1992 người ta thấy xuất hiện các bộ xử lý có nhiều bộ thực hiện
tác vụ độc lập với nhau (nhiều ALU, bộ tính toán số lẻ, nạp dữ liệu,
lưu dữ liệu, nhảy), có thể thực hiện song song nhiều lệnh (lệnh tính
số nguyên, số lẻ, lệnh bộ nhớ, lệnh nhảy...). Số lệnh có thể được thi
hành song song càng nhiều thì phần cứng thực hiện việc này càng
phức tạp.
 Những bộ xử lý đầu tiên đưa ra thị trường dùng kỹ thuật này là các
bộ xử lý Intel i860 và IBM RS/6000. Các bộ xử lý này có khả năng
thực hiện song song nhiều tác vụ trên số nguyên và trên số lẻ.
Ví dụ so sánh giữa superscalar và pineline

 So sánh giữa superscalar và pipeline: cùng 1 chu kì xung nhịp nhưng


pipeline chỉ mất 2 lệnh còn superscalar mất 4 lệnh
 Trong kiến trúc siêu vô hướng, việc xử lý một lệnh được cắt ra rất
nhỏ và nhiều lệnh được xử lý đồng thời miễn là không gây ra tranh
chấp dữ liệu.
 Hai lệnh có tranh chấp dữ liệu là lệnh này có sử dụng kết quả do
lệnh kia tạo ra. Trong trường hợp đó bắt buộc phải tôn trọng thứ tự.
Sau đó bộ xử lý sẽ liên kết kết quả các xử lý các thành phần.
15
 Điều phức tạp nhất trong xử lý cả một dãy lệnh còn liên quan tới
việc “gọi nhầm” một dãy lệnh từ bộ nhớ lên cache theo thứ tự bình
thường do hiện tượng rẽ nhánh.

Tài liệu tham khảo:


[1] https://passlab.github.io/CSCE513/notes/lecture05-06_Pipeline.pdf
[2] Slide bài giảng_KTMT_SV Học viện Công Nghệ Bưu Chính Viễn Thông.
[3] Ts.Phạm Công Thắng, Kỹ thuật ống dẫn và kiến trúc nâng cao.

BẢNG PHÂN CÔNG CÔNG VIỆC


Nguyễn Hữu Đức – B20DCVT119 Phần II (ví dụ), III (khái niệm, khó
khăn).
Phạm Tiến Kiên – B20DCVT207 Phần II (khái niệm), III ( xung đột cấu
trúc, dữ liệu, điều khiển).
Đỗ Hoàng Phong – B20DCVT287 Phần I, IV,V(khái niệm), VI .

Đỗ Thành An – B20DCVT007 Phần III (thiết kế đường ống cơ bản ),


V(hiệu suất).

Trong đó có bạn: Đỗ Hoàng Phong (nhóm trưởng), Đỗ Thành An là những bạn hoạt
động năng nổ trong nhóm.

16

You might also like