Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý - Tạ Kim Huệ
Chương 3: Bộ xử lý
Khối điều khiển và Đường
dữ liệu
Thiết kế đơn xung nhịp
• Thiết kế xử lý một lệnh trong một chu kỳ đồng hồ
• Cá c khối xử lý cơ bản:
– Combinational logic tạo ra next state
– Memories (latches, RAM) lưu trữ trạng thá i
– Clock chuyển đổi next state thành current state.
Sơ đồ khối
Instruction
Fetch
❑ Triển khai cá c lệnh
Lệnh truy cập bộ nhớ: lw, sw
Instruction
Decode
Lệnh số học và logic: add, sub, and, or, slt
Lệnh điều khiển dò ng chương trì nh: beq, j
Operand
Fetch
❑ Triển khai cá c pha hoạt động
Dùng thanh ghi PC để lưu địa chỉ lệnh
Đọc lệnh từ bộ nhớ, và cập nhật giá trị PC
Giải mã lệnh và đọc cá c thanh ghi
Thực hiện lệnh
Execute
Result
Store
Fetch
PC = PC+4
Lưu kết quả
Next
Exec, Store
Instruction
Decode
HUST-FET, 28/04/2022
8
Stages of Execution on Datapath
rd
rs
rt
ALU
imm
+4
3. Execute 4. Memory 5. Register
Write
1. Instruction
Fetch
2. Decode/
Register
Read
Nạp lệnh
• Theo dõ i địa chỉ lệnh hiện tại tên thanh PC.
– Tăng PC lên 4 trong mỗi chu kỳ
– Tải lệnh tại địa chỉ được xá c định bởi PC
Nạp lệnh
❑ ĐMọecmloệrnyh) tại địa chỉ (lưu trong) PC từ bộ nhớ lệnh (eng. Instruction
❑ Cập nhật giá trị PC tới địa chỉ của lệnh kế tiếp
Instruction
Fetch
Instruction
Decode
Add
4
Operand
Fetch
Execute
Instruction
Memory
Result
Store
Read
PC
Instruction
Address
Next
Instruction
❑ PC được cập nhật ở mọi chu kỳ ➔ khô ng cần tí n hiệu điều
khiển ghi PC.
❑ Đọc từ bộ nhớ lệnh được thực hiện bằng logic tổ hợp
HUST-FET, 28/04/2022
11
Giải mã lệnh
❑ Chuyển cá c bit thuộc trường mã lệnh và trường mã chức
năng tới khối điều khiển
Control
Instruction
Fetch
Unit
Instruction
Decode
Operand
Instruction
Fetch
Execute
Result
Store
Next
Instruction
HUST-FET, 28/04/2022
12
Giải mã lệnh (lệnh R)
Giải mã lệnh (Lệnh trực tiếp)
Giải mã lệnh (cá c tí n hiệu điều
khiển)
Giải mã lệnh (R-format)
Giải mã lệnh (load)
Nạp toá n hạng
❑ Đọc 2 giá trị toá n hạng nguồn từ tệp thanh ghi
➢ Chỉ số cá c thanh ghi nằm trong lệnh
❑ Mở rộng dấu cho toá n hạng trực tiếp I
Instruction
Fetch
Instruction
Decode
Read Addr 1
Read
Operand
Fetch
Data 1
Read Addr 2
Register
Execute
File
Write Addr
Write Data
Result
Store
Read
Data 2
Next
Instruction
HUST-FET, 28/04/2022
18
Thực hiện lệnh
❑ tTohá ựnchhạinệgn opphAé pvàtooá pnB(mã hó a bới op và funct) trên giá trị
Cá c phé p toá n của lệnh R và I
Phé p toá n tí nh địa chỉ trong lệnh lw, sw
Phé p toá n so sá nh trong lệnh beq, bne
Instruction
Fetch
ALU control
Instruction
Decode
Operand
Fetch
Execute
overflow
opA
Result
Store
zero
ALU
Next
result
Instruction
opB
HUST-FET, 28/04/2022
19
Tí nh toá n trên ALU (cá c chỉ thị
lệnh dạng R-type)
Cá c bước thực hiện?
– Đọc dữ liệu từ tệp thanh ghi(specify rs and rt)
– Thực thi tí nh toá n ALU
– Ghi dữ liệu về tệp thanh ghi (specify rd)
Tí nh toá n trên ALU
•
Cá c bước thực hiện?
– Đọc dữ liệu từ tệp thanh ghi (xá c
định rõ rs và rt)
– Thực hiện tí nh toá n ALU
– Ghi dữ liệu trở lại tệp thanh ghi (xá c
định rõ rd)
Ghi kết quả
❑ Từ ALU với cá c lệnh tí nh toá n
❑ Từ bộ nhớ với cá c lệnh truy cập bộ nhớ
RegWrite
Instruction
Fetch
Instruction
Decode
Read Addr 1
Read
Data 1
Register
Read Addr 2
Operand
Fetch
File
Execute
Write Addr
Read
Data 2
Result
Store
Write Data
Next
Instruction
HUST-FET, 28/04/2022
22
Truy cập bộ nhớ
❑ Địa chỉ theo byte
Instruction
Fetch
❑ Dữ liệu từ thanh ghi rt
MemWrite
Instruction
Decode
Operand
Fetch
Address
Execute
Read Data
Result
Store
Data
Write Data
Memory
Next
Instruction
MemRead
HUST-FET, 28/04/2022
23
Truy cập bộ nhớ
Cá c bước thực hiện?
– Tí nh toá n địa chỉ
– Gửi địa chỉ đến bộ nhớ dữ liệu (write: data)
– Đọc: nhận kết quả trả về và đưa vào tệp thanh ghi
Q: Điều gì xảy ra nếu đọc ghi vào bộ nhớ
cùng một thời điểm
1/ khô ng thể xảy ra
2/ dữ liệu sẽ bị sai lệch hoặc khô ng hợp lệ
3/ khô ng có vấn để gì cả vì có đầu ra đọc
dữ liệu và đầu vào ghi dữ liệu
A: 2
Hoạt động của RAM: kí ch hoạt một hàng
đọc/ghi dữ liệu. Nếu thực hiện cả 2 cùng
lúc sẽ làm cá c bit bị xá o trộn. Ngoài ra
cần phải 2 địa chỉ cho quá trì nh ghi đọc
Kết nối cá c thành phần
• Bộ tí nh toá n ALU
– tải lệnh
– tí nh toá n giá trị tiếp theo của PC
– đọc từ tệp thanh ghi
– thực thi tí nh toá n
– ghi lại tệp thanh ghi
• Truy nhập bộ nhớ (load/store)
– tải lệnh
– tí nh toá n giá trị tiếp theo củaPC
– đọc từ tệp thanh ghi
– tí nh toá n địa chỉ
– Read/Write dữ liệu bộ
– Write dữ liệu vào tệp thanh ghi
• Nạp lệnh (branch)
– tải lệnh
– tí nh toá n giá trị tiếp theo của PC
– đọc từ tệp thanh ghi
Tí nh toá n địa chỉ rẽ nhá nh: khô ng sử dụng ALU cho phé p toá n so
sá nh và tí nh toá n địa chỉ cùng một thời điểm.
– thực thi cá c nhá nh so sá nh
– cập nhật lại giá trị của PC
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý - Tạ Kim Huệ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_kien_truc_may_tinh_chuong_3_bo_xu_ly_ta_kim_hue.pptx