Cho sơ đồ cơ bản hệ thống hiện thực các lệnh trong bảng 1.. c Để thực hiện 2 lệnh ADD và ADDI, những block nào cho đầu ra mà giá trị đó không cần dùng đến,những block nào không xuất dữ l
Trang 1CÂU HỎI VÀ BÀI TẬP CHƯƠNG II
1 Cho sơ đồ cơ bản hệ thống hiện thực các lệnh trong bảng 1 như sau:
Hình 1
Bảng 1 các lệnh cơ bản Instruction Description Opcode
bits 0:3
Rd bits 4:7
Rs bits 8:11
Rt bits 12:15 ADD Rd, Rs, Rt Rd := Rs + Rt 0 0-15 0-15 0-15 ADDI Rd, Rs, Imm SignExt(Imm) Rd := Rs + 4 0-15 0-15 Imm
LW Rd, off(Rs) Rd := M[off + Rs] 8 0-15 0-15 offset
SW Rd, off(Rs) M[off + Rs] := Rd C 0-15 0-15 offset
BNE Rd, Rs, Imm if Rd != Rs then
pc := pc + 2 + off 9 0-15 0-15 offset a) Để thực hiện các lệnh trong bảng 1 thì hình 1 thiếu các đường điều khiển nào
b) Cho biết giá trị của các đường điều khiển
c) Để thực hiện 2 lệnh ADD và ADDI, những block nào cho đầu ra mà giá trị đó không cần dùng đến,những block nào không xuất dữ liệu ở đầu ra
2 Giả sử máy tính không có bộ nhớ chứa bộ lệnh mà bộ lệnh được lưu chung với bộ nhớ chứa data như trên hình vẽ Hãy vẽ thêm vào hình 1 các block trong đó có thanh ghi PC và các đường datapath, control cần thiết
3 Giả sử có bộ nhớ chứa lệnh riêng Hãy vẽ thêm vào hình 1 các block trong đó có thanh ghi PC
và các đường datapath, control cần thiết
Trang 24 Hãy thêm vào hình 1 các block, datapath và các control cần thiết để thực hiện lệnh BNE Lập luận để đưa ra một vài phương án khác nhau
5 Nếu có lệnh dạng sau: Rd := Rs + Rt + Ru thì
a) Những block nào trong hình 1 có thể dùng lại được?
b) Cần thêm vào những block khác không, nếu có thì là các block nào để thực hiện lệnh trên
c) Những tín hiệu điều khiển nào cần thiết cho thực hiện lệnh này
d) Cần bao nhiêu chu kỳ đồng hồ để thực hiện lệnh này với kiến trúc như hình 1