CÂ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
Rd := Rs +
SignExt(Imm)
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.
4. 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.