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 đủ
pptx 69 trang yennguyen 16260 Free
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:

  • pptxbai_giang_kien_truc_may_tinh_chuong_3_bo_xu_ly_ta_kim_hue.pptx