Tải bản đầy đủ (.pdf) (20 trang)

báo cáo nhóm KIẾN TRÚC MÁY TÍNH MULTICYCLE MIPS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (563.17 KB, 20 trang )

04/2012
KIẾN TRÚC MÁY TÍNH
MULTICYCLE MIPS
GV : Nguyễn Đức Minh
SV : Đào Đăng Toàn
Nguyễn Quốc Đạt
Nguyễn Đăng Hoàng Vũ
Phạm Hồng Đức
Nguyễn Đức Hiếu


Review
• Sự xây dựng Datapath
– Xác định loại lệnh
• R-format
• Rẽ nhánh có điều kiện
• Rẽ nhánh không điều kiện
• Load/store
– Tiến hành xây dựng modul Datapath (RF, ALU,
Memory, SignExt)
– Kết nối các modul
• Datapath đơn xung nhịp
– Tất cả các lệnh thực hiện trong một xung (CPI = 1)
– Thời gian một chu kỳ được xác định bằng độ dài đường
dữ liệu dài nhất.
– Chu kỳ đồng hồ được đặt theo lệnh chậm nhất (load)

Overview – Multicycle Datapath
• Mỗi lệnh có nhiều stage (tầng)
• Mỗi stage mất nhiều chu kỳ
1. IF


2. ID / RF
3. EXE
4. MEM
5. WB
 Mỗi stage có thể sử dụng lại hardware từ stage
trước
 Sử dụng hiệu quả hơn của phần cứng và thời
gian

Tất cả các lệnh sử dụng
cái này
Recall: Simple Datapath
PC
Instruction
memory
+4
rt
rs
rd
Registers
ALU
Data
memory
imm
Data
Data
Address
Controller
Opcode, funct
Address

Instruction
Recall: R-format Datapath
• Format: opcode r3, r1, r2
Result
Zero
ALU
Read
Data 1

Read
Data 2
Read Reg 1
Read Reg 2
Write
Register
Write Data
Register
Write
ALU op
Register File
3
Instruction
Recall: Load/Store Datapath
Fetch Decode Execute
Recall: Branch Datapath
Fetch Decode Execute
Multicycle DP
Instr. Fetch Instr. Decode/Data Fetch Execute
Multicycle DP
Làm thế nào để xây dựng multicycle datapath (DP)

1. Thay 3 ALUs từ single-cycle DP bằng một ALU
2. Thêm 1 multiplexer chọn đầu vào cho ALU
3. Thêm 1 control line cho đầu vào chọn kênh của ALU
• Đầu vào mới: Constant = 4 [PC + 4]
• Sign-ext., shifted offset [BTA calc.]
4. Thêm các thanh ghi trung gian (buffer)
• MDR: Memory Data Register
• IR: Instruction Register
• A,B: ALU operand registers
• ALUout: ALU output register
Multicycle DP
Multicycle DP: 1-bit Ctl. Signals
Multicycle DP: 2-bit Ctl. Signals
-->

×