intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài thí nghiệm Kiến trúc máy tính 2

Chia sẻ: Alec Su | Ngày: | Loại File: PDF | Số trang:14

210
lượt xem
43
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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. các phương pháp...

Chủ đề:
Lưu

Nội dung Text: Bài thí nghiệm Kiến trúc máy tính 2

  1. Bài thí nghiệm Kiến trúc máy tính 2 2010 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). Khoa Điện tử- Viễn thông Page 1
  2. Bài thí nghiệm Kiến trúc máy tính 2 2010 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. Khoa Điện tử- Viễn thông Page 2
  3. Bài thí nghiệm Kiến trúc máy tính 2 2010 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. Khoa Điện tử- Viễn thông Page 3
  4. Bài thí nghiệm Kiến trúc máy tính 2 2010 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). Khoa Điện tử- Viễn thông Page 4
  5. Bài thí nghiệm Kiến trúc máy tính 2 2010 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ồ. Khoa Điện tử- Viễn thông Page 5
  6. Bài thí nghiệm Kiến trúc máy tính 2 2010 4 3 5 11 11 6 9 8 1 7 12 12 2 10 10 13 13 14 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 Tín hiệu Giá trị Giai đoạn đường ống Chu kỳ đồng hồ TT 1 PC 8002 0000 IF 1 2 Readdata 0211 4020 IF 1 10 2 ID 3 Readregister1 2 11 ID 4 Readregister2 2 0000 0004 ID 5 Readdata1 ID 2 0000 0001 6 Readdata2 EXE 3 0000 0004 7 ALUInp1 3 0000 0001 EXE 8 ALUInp2 3 EXE 0000 0005 9 ALUresult 4 MEM 0000 0001 10 Writedata MEM 0000 0005 4 11 MemWBresult 4 0 MEM 12 MemWrite 5 0000 0005 WB 13 WBData WB 5 1 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? …………………………………………………………………au………u k …………………………………………………………………………. S … 5 ch …… Khoa Điện tử- Viễn thông Page 6
  7. Bài thí nghiệm Kiến trúc máy tính 2 2010 ……………………………………………………………………………………………………………………………………………………………. 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? ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………ác……au……giai …………D………X…………………………………………………. Vi c th c hi n kh … nh … …… đo n I… và E…E ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. Khoa Điện tử- Viễn thông Page 7
  8. Bài thí nghiệm Kiến trúc máy tính 2 2010 add t0, s0, s1 Tín hiệu Giá trị Giai đoạn đường ống Chu kỳ đồng hồ TT 1 PC 8002 0000 IF 1 2 Readdata 8c88 0000 IF 1 04 2 ID 3 Readregister1 ID 08 2 4 Readregister2 8002 0020 ID 2 5 Readdata1 ID 0000 0000 2 6 Readdata2 3 8002 0020 EXE 7 ALUInp1 3 0000 0000 EXE 8 ALUInp2 8002 0020 3 EXE 9 ALUresult 4 0000 0000 MEM 10 Writedata 4 0000 0001 MEM 11 MemWBresult 4 0 MEM 12 MemWrite 5 0000 0001 13 WBData WB 5 1 14 RegWrite WB 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? ………………………………………………………………………au………u k ……………………………………………………………………. S … 5 ch …… 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ì? …………Kh ……………h ……………hép……ng…………h đ ………………o nh ……n truy……p trong………h ….………………. …… ikALU t … c hi n p …… c … đ tín ……a ch c a ……… c ……… c ………… b n … ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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? 8002 0000 a0=……………………………………………………………………………………………………………………………………………………… 000 0014 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? L nh sw khác l nh lw giai đo n MEM và WB ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. Khoa Điện tử- Viễn thông Page 8
  9. Bài thí nghiệm Kiến trúc máy tính 2 2010 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? ……………………………………………………………………………………………………………………………………………………………. ………………………………………………………ai …o …………line…F,…D…EXE .………………………………………………………. Gi … đ … n Pipe…… I… I…, ……… ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. Khoa Điện tử- Viễn thông Page 9
  10. Bài thí nghiệm Kiến trúc máy tính 2 2010 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? Sau 5 chu k ……………………………………………………………………………………………………………………………………………………………. 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? ……………………………………………………………………2 ch…………………………………………………………………………………. Sau …… u k 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ì? ……………………………………………………………………………………………………………………………………………………………. …………………4 ……4 do giá tr ……a t2……ưa………c c ……h ……hi ……h giá tr ………t4………………………………………. t …= 1 ……………… c …… ch … đư …… p n … t k … tín ………… c a … ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. ……………………………C …………………p ………………………………………………………………………………………………………. … n 2 l nh no … ……………………………………lu…e ……………………………………………………………………………………………. # inc… d ……reg … f h … …………………………………t……re…r…er…………………………………………………………………………………………………………. .se no … o d… ………………………………ext ………………………………………………………………………………………………………………………. .t…… …………………………………obl ……………………………………………………………………………………………………………………. .gl …… start ………………………………en…star…………………………………………………………………………………………………………………. . … t …… t Khoa Điện tử- Viễn thông Page 10
  11. Bài thí nghiệm Kiến trúc máy tính 2 2010 ……………………………………start……dd t…,……,…1 ………………………………nop……………………………………………………. …… : a…… 2 t0 t … …… …………………………………………………p ………………………………………………op …………………………………………………. no … n …… …………………………………………………p ………………………………………………op …………………………………………………. no… n…… …………………………………………………d t4…t…, t………………………………………d …………………………………………………. ad …… , 2… 3 .en… start 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. 1 5 4 8 2 3 6 7 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. Khoa Điện tử- Viễn thông Page 11
  12. Bài thí nghiệm Kiến trúc máy tính 2 2010 Chu kz IF ID EX M EM WB /Giai đ o ạn NOP NOP add $10,$08,$09 NOP 1 Lệnh:…………………… Lệnh: ………………… Lệnh: …..……………… Lệnh: ………………… Lệnh: ………………… NOP PC=…………………….. 1= …………2 ………… 8002 0000 3=……..……0 ………… 5=…………1 ………… … … … 8=……………………… 0000 0000 Instr=………………….. 2=.…………2 ………… … 4=…..………1 ………… 7=……………………… … 0000 0000 01095020 0000 0000 …………………………… 6=...……………………… NOP 3 Lệnh:…………………… Lệnh:add $13,$10,$11 ………………… Lệnh: add ……………… Lệnh: ………………… ….. $10,$08,$09 Lệnh: ………………… NOP NOP 1= …………2 ………… PC=…………0008…….. 8002 …… … 3=……..………………… 5=……………………… 8=……………0000…… 0000 …… 1 0 Instr=…0000………….. …… 0000 0 ………… 1 2=.…………… 4=…..…………………… 7=……………………… 0000 0000 …………………………… 6=...…………0004……… 0000 …… NOP 4 Lệnh:……NOP………… …… Lệnh: ………………… Lệnh: add.……………… Lệnh:add $10,$08,$09 …. $12,$10,$11 ………………… Lệnh: ………………… NOP 0 ………… 1 PC=…8002 0000…….. …………… 1= …………0 ………… … 3=……..……… 5=……………………… 8=…………… 0000 0000 ………… 0000 0000 Instr=………………….. 2=.……………………… 4=…..…………………… 7=……………0004…… 0000 …… 0 1 0000 0009 …… …………………………… 6=...………………… NOP Lệnh: …..NOP ……… Lệnh:add $12,$10,$11 5 Lệnh:…………………… Lệnh: ………………… ……… ………………… Lệnh:add $10,$08,$09 ………………… NOP 3=……..………………… 5=…………1 ………… 1= …………2 ………… 0 8=……………0000…… 0000 …… PC=…………………….. … … 8002 0010 0000 0000 2=.…………2 ………… Instr=………………….. … 4=…..………1 ………… 7=……0000…………… … …… 0004 …………………………… 6=...…………0000……… 0000 …… NOP add $12,$10,$11 6 Lệnh:……NOP………… …… Lệnh: ………………… Lệnh: …..NOP………… Lệnh: ………………… …… Lệnh: ………………… NOP 1= …………2 ………… 3=……..……0 ………… 5=……………………… PC=……8002………….. …… 0014 … … 8=……0000 0009…… …………… 1 4=…..………1 ………… 7=……………0000…… 0000 …… 2 ………… Instr=………………….. 2=.…………… … 0000 0000 …………………………… 6=...…………0000……… 0000 …… 7 Lệnh:…………………… Lệnh: ………………… Lệnh: …..……………… Lệnh: ………………… Lệnh: ………………… NOP NOP NOP NOP NOP 3=……..……0 ………… 5=…………1 ………… PC=…………0018 ….. 8002 ……… 1= ……………………… … … 8=……………………… 2 0000 0000 Instr=………………….. 2=.…………2 ………… … 4=…..………1 ………… 7=……0000…………… … …… 0000 0000 0000 6=...…………0000……… 0000 …… …………………………… 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? …………………………………2 đư ……hu……………………ai …o ……………………h ad………0, …08, …09……n …i…i……………. Giá tr toán h ng t ……… c c … y n ti p t gi … đ … n EX c a l n …… d $1 … $ …… $ … đ … g a đo n EX c a l nh add $12, $10, $11 ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. Khoa Điện tử- Viễn thông Page 12
  13. Bài thí nghiệm Kiến trúc máy tính 2 2010 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 …………………đ …………. ………………………………………………………………………………………………………. … n 6 chu k … ng h … ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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? ………………L ………ddi …ư ……h ……i ……cu…i cù…g t…………………………………………………………………………………. … nh a …… đ … c t … c h…n , … ……n … 0 = 3 . ……………………………………………………………………………………………………………………………………………………………. Câu 18. Ở đây xảy ra vấn đề gì? Đây là loại xung đột gì trong kỹ thuật đường ống? ………………X …………i…n tư…ng xu…g đ ……n …i…u đi……kh…………i…n l…nh ad…i………c t……c hi …………….…………. … y ra h …… ……… n …… t tí …h …… u … i n kh … ……… d đư … h …… n 2 l n ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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? Khoa Điện tử- Viễn thông Page 13
  14. Bài thí nghiệm Kiến trúc máy tính 2 2010 ……………………………………………………………………………………………………………………………………………………………. ……………………u 5 …………………………………………………………………………………………………………………………………. Sa ……chu k . ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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ì? ……………………h ad…i kh…ng đư…c th…c hi……,…………ùng…0 = …………………………………………………………………. L n …… d…… ô ……… …… …… n cu i c…… t …… 1 ……………………h …op……u l…nh be……ư ………i………al…………………………………………………………………………………. L n …n … sa … ……… q đ … c g là st…l ……………………………………………………………………………………………………………………………………………………………. ……………………………………………………………………………………………………………………………………………………………. 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. http://www.imit.kth.se/courses/IS1200/2008-2009/labcache/manual.html http://www.bostream.nu/mats.brorsson/mipsit/ [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. http://www.bostream.nu/mats.brorsson/mipsit/ Khoa Điện tử- Viễn thông Page 14
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2