Bài giảng Hoạt động của kỹ thuật đường ống
Câu 20. Lệnh add có được thực hiện không? Cuối cùng, giá trị của thanh ghi t0 là bao nhiêu? Lệnh nop ngay sau lệnh beq được gọi là lệnh loại gì? .
Bạn đang xem nội dung tài liệu Bài giảng Hoạt động của kỹ thuật đường ống, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông
Page 1
Bài 2. Hoạt động của kỹ thuật đường ống
(Bài thí nghiệm này được biên soạn dựa trên các bài thí nghiệm của Jan Eric Larsson, Mats Brorsson
và Tobias Harms [4])
1 Mục đích
Trong bài thí nghiệm này sinh viên sẽ tìm hiểu bộ xử lý MIPS có sử dụng kỹ thuật đường ống (eng.
pipeline).
2 Công cụ
Bài thí nghiệm sử dụng bộ phần mềm MIPSIT [1] để mô phỏng hoạt động của bộ xử lý có sử dụng kỹ
thuật đường ống.
3 Lý thuyết
Sinh viên cần nắm rõ về kiến trúc tập lệnh MIPS và cấu trúc bộ xử lý dùng kỹ thuật đường ống (bài
giảng chương 2). Sách tham khảo [3].
Sinh viên cần hiểu các nguyên l{ cơ bản của kỹ thuật đường ống, các vấn đề xung đột dữ liệu (eng.
data hazard), xung đột điều khiển (eng. control/branch hazard), các phương pháp giải quyết xung
đột như chuyển tiếp (eng. forwarding), rẽ nhánh chậm (eng. delayed branch).
4 Thực hiện
4.1 Cài đặt và làm quen với phần mềm
Tải bộ công cụ MIPSIT từ địa chỉ: https://sites.google.com/site/fethutca/my-
forms/MipsICT.zip?attredirects=0&d=1.
Giải nén tệp “MipsICT.zip” và chạy tệp nhận được “MipsICT.exe” để chương trình tự giải nén vào thứ
mục: “C:\MipsIT”. Nghiên cứu bài báo giới thiệu về phần mềm [2].
Trong bộ chương trình MIPSIT, ta sẽ sử dụng 2 chương trình MIPSITStudio và mipspipe2000:
1) MIPSITStudio là môi trường lập trình và biên dịch phần mềm cho bộ xử l{ MIPS. Chương trình cho
phép người dùng lập trình bằng ngôn ngữ C/Assembly và biên dịch thành mã máy để nạp vào bộ
phát triển MIPS hoặc để mô phỏng bộ xử lý. Gọi MIPSITStudio bằng cách chạy tệp “C:\MipsIT\bin\
MipsIt.exe” (Hình 1). Chú ý, khi gọi MIPSITStudio, thông báo lỗi “Failed to open com port” có thể bỏ
qua bằng việc bấm nút “OK”.
Trước khi thực hiện việc xây dựng chương trình, cần kiểm tra đường dẫn đến trình biên dịch và
đường dẫn đến các tệp thư viện và tệp include .h (Hình 2).
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông
Page 2
Hình 1. Môi trường lập trình cho bộ xử lý MIPS
Hình 2. Xác định đường dẫn trình biên dịch, đường dẫn thư viện và tệp include.
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông
Page 3
2) mipspipe2000 là chương trình mô phỏng hoạt động đường dữ liệu (eng. datapath) của bộ xử lý
MIPS sử dụng kỹ thuật đường ống. Gọi chương trình bằng cách chạy tệp
“C:\MipsIT\bin\mipspipe2000.exe”. (Hình 3)
Hình 3. Chương trình mô phỏng đường ống bộ xử lý MIPS
4.2 Bộ xử lý đường ống thực hiện 1 lệnh số học, logic
4.2.1 Bước 1. Chuẩn bị chương trình hợp ngữ.
Tạo một đề án hợp ngữ (eng. assemble project) trong môi trường MIPSITStudio (Hình 4). Đặt tên đề
án này là Bai2-1. Chọn thư mục để lưu là “C:\MipsIt\Projects\Bai2-1”. Tạo một tệp chương trình hợp
ngữ với tên “bai2-1.s” (Hình 5).
Hình 4. Tạo một project mới trong môi trường MIPSITStudio.
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông
Page 4
Hình 5. Tạo thêm một tệp chương trình hợp ngữ trong đề án.
Soạn thảo đoạn mã hợp ngữ vào tệp chương trình như Hình 6. Biên dịch đề án bằng cách lựa chọn
menu “Build -> Build Bai2-1” hoặc phím F7. Tệp kết quả biên dịch dưới dạng mã nhị phân là
“C:\MipsIT\Projects\Bai2-1\Objects\Bai2-1.out”. Tệp này sẽ được dùng làm tệp đầu vào cho chương
trình mô phỏng.
Hình 6. Chương trình bai2-1.s
4.2.2 Bước 2. Mô phỏng.
Mô phỏng bộ xử l{ MIPS đường ống. Chạy phần mềm mô phỏng “C:\MipsIT\bin\mipspipe2000.exe”.
a. Nạp tệp mô tả cấu trúc đường dữ liệu của bộ xử lý MIPS bằng menu “File->Load Pipeline…”
và lựa chọn tệp “C:\MipsIT\S-script\s.dit” (Hình 7).
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông
Page 5
Hình 7. Nạp tệp mô tả cấu trúc bộ xử lý.
b. Nạp chương trình đã được biên dịch ở Bước 2 bằng menu “File->Open” và lựa chọn tệp
“C:\MipsIT\Projects\Bai2-1\Objects\Bai2-1.out”. Hiện thị cửa sổ thanh ghi và cửa sổ nội
dung bộ nhớ bằng menu “View->Registers” và “Menu->Memory”. Nội dung các thanh ghi có
thể được thay đổi trực tiếp trên cửa sổ thanh ghi (Hình 8).
Hình 8. Thực hiện mô tả cấu trúc bộ xử lý MIPS đường ống.
c. Mô phỏng từng bước hoạt động của bộ xử lý khi nó thực hiện chương trình đã nạp (Sử dụng
phím Step trên thanh công cụ). Trả lời các câu hỏi dưới đây. Chú { mỗi bước mô
phỏng tương ứng với 1 chu kz đồng hồ.
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 6
1
2
3
4
5
6
7
8 9
11
10 13
12
14
1
2
3
4
5
6
7
8 9
11
10 13
12
14
Hình 9. Số thứ tự các tín hiệu cần quan sát.
Câu 1. Điền vào bảng dưới đây giá trị các tín hiệu và thời điểm (theo chu kz đồng hồ) và giai đoạn
đường ống (eng. pipeline stage) thực hiện lệnh khi tín hiệu đó thay đổi giá trị khác 0? Các tín hiệu
cần quan sát được đánh số thứ tự như Hình 9. Trong bảng, giá trị của PC, Readdata được điền sẵn
làm mẫu.
add t0, s0, s1
TT Tín hiệu Giá trị Giai đoạn đường ống Chu kỳ đồng hồ
1 PC 8002 0000 IF 1
2 Readdata 0211 4020 IF 1
3 Readregister1
4 Readregister2
5 Readdata1
6 Readdata2
7 ALUInp1
8 ALUInp2
9 ALUresult
10 Writedata
11 MemWBresult
12 MemWrite
13 WBData
14 RegWrite
Bảng 1. Tín hiệu cho lệnh cộng 2 thanh ghi.
Câu 2. Kết quả thực hiện lệnh cộng sẽ xuất hiện ở thanh ghi toán hạng đích sau bao nhiêu chu kz?
……………………………………………………………………………………………………………………………………………………………. Sau 5 chu kỳ
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 7
…………………………………………………………………………………………………………………………………………………………….
Câu 3. Thay lệnh cộng trong chương trình bằng các lệnh số học khác (sub, addi), biên dịch lại chương trình
và thực hiện lại việc mô phỏng. Việc thực hiện các lệnh số học khác nhau khác nhau ở giai đoạn pipeline
nào?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.3 Bộ xử lý đường ống thực hiện lệnh lw, sw.
4.3.1 Bước 1. Chuẩn bị chương trình.
Tạo một đề án mới với tên “Bai2-2” trong môi trường MIPSITStudio. Thêm tệp chương trình “Bai2-
2.s” như Hình 10 dưới đây vào đề án và biên dịch nó thành tệp thực hiện tương tự Mục 4.2.1. Chú
ý, chương trình có khai báo 1 biến Test với giá trị 1.
Hình 10. Chương trình hợp ngữ, cửa sổ bộ nhớ và cửa sổ thanh ghi minh họa lệnh lw.
4.3.2 Bước 2. Mô phỏng
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.2.2. Chú ý, biến Test của chương trình sẽ được đặt ở địa chỉ 80020020 sau các lệnh NOP. Do đó, để
nạp đúng nội dung biến Test vào thanh ghi t0, ta cần đặt giá trị của thanh ghi r4/a0 bằng 80020020
như Hình 10 (phần đánh dấu đỏ). Trả lời các câu hỏi.
Câu 4. Điền vào bảng dưới đây giá trị các tín hiệu và thời điểm (theo chu kz đồng hồ) và giai đoạn
đường ống (eng. pipeline stage) thực hiện lệnh khi tín hiệu đó thay đổi giá trị khác 0? Các tín hiệu
cần quan sát được đánh số thứ tự như Hình 9. Trong bảng, giá trị của PC, Readdata được điền sẵn
làm mẫu.
Việc thực hiện khác nhau ở giai đoạn ID và EXE
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 8
add t0, s0, s1
TT Tín hiệu Giá trị Giai đoạn đường ống Chu kỳ đồng hồ
1 PC 8002 0000 IF 1
2 Readdata 8c88 0000 IF 1
3 Readregister1
4 Readregister2
5 Readdata1
6 Readdata2
7 ALUInp1
8 ALUInp2
9 ALUresult
10 Writedata
11 MemWBresult
12 MemWrite
13 WBData
14 RegWrite
Bảng 2. Tín hiệu cho lệnh cộng 2 thanh ghi.
Câu 5. Kết quả thực hiện lệnh lw sẽ xuất hiện ở thanh ghi toán hạng đích sau bao nhiêu chu kz?
…………………………………………………………………………………………………………………………………………………………….
Câu 6. Khối ALU thực hiện phép toán gì? Mục đích của phép toán để tính toán giá trị gì?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Câu 7. Nếu trong phần chương trình thay lệnh lw t0, 0(a0) bằng lệnh lw t0, 20(a0) thì giá trị thanh
ghi a0 cần đặt là bao nhiêu? Giá trị tín hiệu số 8, đầu vào ALUInp2 bằng bao nhiêu?
a0=………………………………………………………………………………………………………………………………………………………
ALUInp2=.……………………………………………………………………………………………………………………………………………
Câu 8. Thay lệnh lw trong chương trình bằng lệnh sw t0, 24(a0), biên dịch lại chương trình và thực
hiện lại việc mô phỏng. Khi mô phỏng đặt giá trị a0 bằng 8002 0000. Có giai đoạn pipeline nào khác
với lệnh lw?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.4 Bộ xử lý đường ống thực hiện lệnh beq
4.4.1 Bước 1. Chuẩn bị chương trình.
Tạo một đề án mới với tên “Bai2-3” trong môi trường MIPSITStudio. Thêm tệp chương trình “Bai2-
3.s” như Hình 10 dưới đây vào đề án và biên dịch nó thành tệp thực hiện tương tự Mục 4.2.1.
Sau 5 chu kỳ
kKhối ALU thực hiện phép cộng để tính địa chỉ của o nhớ cần truy cập trong bộ nhớ .
Lệnh sw khác lệnh lw ở giai đoạn MEM và WB
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 9
Hình 11. Chương trình hợp ngữ, cửa sổ bộ nhớ và cửa sổ thanh ghi minh họa lệnh beq.
4.4.2 Bước 2. Mô phỏng
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.2.2. Trả lời các câu hỏi.
Câu 9. Khi thực hiện lệnh beq, các giai đoạn pipeline nào được sử dụng?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.5 Xung đột dữ liệu trong bộ xử lý đường ống
4.5.1 Bước 1. Chuẩn bị chương trình.
Tạo một đề án mới với tên “Bai2-4” trong môi trường MIPSITStudio. Thêm tệp chương trình “Bai2-
4.s” như dưới đây vào đề án và biên dịch nó thành tệp thực hiện tương tự Mục 4.2.1.
Giai đoạn Pipeline IF, ID, EXE .
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 10
Hình 12. Chương trình hợp ngữ, cửa sổ bộ nhớ và cửa sổ thanh ghi minh họa xung đột dữ liệu.
4.5.2 Bước 2. Mô phỏng bằng đường ống không có chuyển tiếp dữ liệu
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.2.2. Trả lời các câu hỏi.
Câu 10. Sau bao nhiêu chu kz đồng hồ, thanh ghi đích của lệnh add thứ nhất t2 nhận được kết quả
đúng của phép toán?
…………………………………………………………………………………………………………………………………………………………….
Câu 11. Sau bao nhiêu chu kz đồng hồ, ta cần giá trị của thanh ghi nguồn lệnh add thứ hai t2?
…………………………………………………………………………………………………………………………………………………………….
Câu 12. Kết quả cuối cùng của thanh ghi t4 là bao nhiêu? Ở đây có xảy ra vấn đề gì?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Câu 13. Vấn đề của bộ xử l{ đường ống xuất hiện ở trên có thể giải quyết bằng các phương pháp:
thay đổi thứ tự lệnh (eng. code reordering), thêm các lệnh nop, tạm dừng và chuyển tiếp. Hãy giải
quyết vấn đề trên bằng cách thêm lệnh nop vào đoạn chương trình. Cần bao nhiêu lệnh nop để giải
quyết vấn đề và cho kết quả tính toán t4 đúng? Viết đoạn chương trình đó xuống dưới đây và mô
phỏng nó để kiểm tra là vấn đề đã được giải quyết.
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Sau 5 chu kỳ
Sau 2 chu kỳ
t4 = 14 do giá trị của t2 chưa được cập nhật khi tính giá trị của t4
Cần 2 lệnh nop
# include
.set noreorder
.text
.globl start
.ent start
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 11
3 6
1
2
4
5
7
8
1
2 3
4
5
6 7
8
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.5.3 Bước 3. Mô phỏng bằng đường ống có chuyển tiếp dữ liệu
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.2.2. Tuy nhiên, thay vì nạp tệp mô tả cấu trúc đường ống đơn giản “C:\MipsIT\S-script\s.dit”, hãy
chọn cấu trúc đường ống phức tạp trong tệp “C:\MipsIT\Xl-script\xl.dit” (Hình 13). Đặt giá trị các
thanh ghi t0, t1, t3 lần lượt là 1,3, 5.
Trả lời các câu hỏi.
Hình 13. Cấu trúc đường ống phức tạp.
Câu 14. Trên Hình 13, các điểm được đánh số 1..5 là các bộ ghép kênh (eng. multiplexor) để lựa chọn
giá trị toán hạng (nguồn và đích) truyền trong đường dữ liệu. Các điểm 6,7,8 là giá trị kết quả của
phép toán sau các giai đoạn pipeline EX,MEM,WB tương ứng. Hãy điền vào bảng sau lệnh đang được
thực hiện tại các giai đoạn pipeline và giá trị của các điểm được đánh số 1..8 khi mô phỏng. Giá trị
(điều khiển) của bộ ghép kênh được quy ước là 0,1,2… tương ứng với các vị trí của chuyển mạch từ
trên xuống.
start : add t2, t0, t1
nop
nop
add t4, t2, t3
nop
nop
nop
.end start
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 12
Chu kz
/Giai
đoạn
IF ID EX MEM WB
1 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
3 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
4 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
5 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
6 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
7 Lệnh:……………………
PC=……………………..
Instr=…………………..
……………………………
Lệnh: …………………
1= ………………………
2=.………………………
Lệnh: …..………………
3=……..…………………
4=…..……………………
6=...………………………
Lệnh: …………………
5=………………………
7=………………………
Lệnh: …………………
8=………………………
Câu 15. Dựa vào bảng trên hãy xác định giá trị các toán hạng nào được chuyển tiếp từ giai đoạn
pipeline của lệnh nào đến giai đoạn pipeline của lệnh nào?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.6 Xung đột điều khiển trong bộ xử lý đường ống.
4.6.1 Bước 1. Chuẩn bị chương trình.
Tạo một đề án mới với tên “Bai2-5” trong môi trường MIPSITStudio. Thêm tệp chương trình “Bai2-
5.s” như Hình 14 dưới đây vào đề án và biên dịch nó thành tệp thực hiện tương tự Mục 4.2.1.
Giá trị toán hạng t2 được chuyển tiếp từ giai đoạn EX của lệnh add $10, $08, $09 đến giai đoạn
EX của lệnh add $12, $10, $11
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 13
Hình 14. Chương trình hợp ngữ minh họa xung đột điều khiển.
4.6.2 Bước 2. Mô phỏng bằng đường ống không có chuyển tiếp dữ liệu
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.2.2. Gán cùng một giá trị cho 2 thanh ghi t0, t1. Trả lời các câu hỏi.
Câu 16. Cần bao nhiêu chu kz đồng hồ, để lệnh rẽ nhánh beq thực hiện xong, tức là khi nào thì giá trị
PC thay đổi thành giá trị địa chỉ đích của lệnh beq?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Câu 17. Lệnh add có được thực hiện không? Cuối cùng, giá trị của thanh ghi t0 là bao nhiêu?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Câu 18. Ở đây xảy ra vấn đề gì? Đây là loại xung đột gì trong kỹ thuật đường ống?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
4.6.3 Bước 3. Mô phỏng bằng đường ống có chuyển tiếp dữ liệu
Mô phỏng chương trình hợp ngữ bằng bộ mô phỏng “mipspipe2000” tương tự Bước 2 của Mục
4.6.2. Tuy nhiên, thay vì nạp tệp mô tả cấu trúc đường ống đơn giản “C:\MipsIT\S-script\s.dit”, hãy
chọn cấu trúc đường ống phức tạp trong tệp “C:\MipsIT\Xl-script\xl.dit” (Hình 13). Trả lời các câu hỏi.
Câu 19. Cần bao nhiêu chu kz đồng hồ, để lệnh rẽ nhánh beq thực hiện xong, tức là khi nào thì giá trị
PC thay đổi thành giá trị địa chỉ đích của lệnh beq?
Cần 6 chu kỳ đồng hồ .
Lệnh addi được thực hiện , cuối cùng t0 = 3 .
Xảy ra hiện tượng xung đột tín hiệu điều khiển khiến lệnh addi được thực hiện 2 lần .
Bài thí nghiệm Kiến trúc máy tính 2 2010
Khoa Điện tử- Viễn thông Page 14
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
Câu 20. Lệnh add có được thực hiện không? Cuối cùng, giá trị của thanh ghi t0 là bao nhiêu? Lệnh
nop ngay sau lệnh beq được gọi là lệnh loại gì?
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
…………………………………………………………………………………………………………………………………………………………….
5 Tài liệu tham khảo
[1] Ola Bergqvist and Georg Fischer. A Simulation and Development Environment Using Animation
for Computer Architecture Education. Version 1.3.0, 1999.
[2] Mats Brorsson. MipsIt - A Simulation and Development Environment Using Animation for
Computer Architecture Education. Proceedings of The workshop on Computer architecture
education. 2002.
[3] David A. Patterson and John L. Hennessy. Computer Organization and Design, Fourth Edition: The
Hardware/Software Interface. In The Morgan Kaufmann Series in Computer Architecture and Design.
Nov 10, 2008
[4] Georg Fischer, Jan Eric Larsson, Mats Brorsson and Tobias Harms, Set of Lab Exercises for
Computer Architecture Lecture at Lund University.
Sau 5 chu kỳ .
Lệnh addi không được thực hiện , cuối cùng t0 = 1
Lệnh nop sau lệnh beq được gọi là stall
Các file đính kèm theo tài liệu này:
- bai_2_4801.pdf