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 Đường  
dữ liệu  
Thiết kế đơn xung nhịp  
• Thiết kế xử một lệnh trong một chu kỳ đồng hồ  
Cá c khối xử 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 lệnh đọ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  
ĐMecmlornyh) 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 lệnh  
Chuyển cá c bit thuộc trường lệnh trường 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 lệnh (lệnh R)  
Giải lệnh (Lệnh trực tiếp)  
Giải lệnh (cá c tí n hiệu điều  
khiển)  
Giải lệnh (R-format)  
Giải 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á nchhingn opphAé pvàtooá pnB(mã hó a bới op 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 rs rt)  
– Thực hiện tí nh toá n ALU  
Ghi dữ liệu trở lại tệp thanh ghi (xá c  
định 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ề đưa vào tệp thanh ghi  
Q: Điều 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 để cả vì có đầu ra đọc  
dữ liệu đầ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 12/04/2022 4220
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