Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý

Thành phần cơ bản của bộ xử lý

– Lệnh truy cập

– Các toán tử ALU

– Toán tử bộ nhớ

Kết nối các thành phần

– Các tín hiệu điều khiển và bộ đồn kênh MUXes

– Các chỉ thị giải mã lệnh

Readings from the book

– ALU Function field (fig.4.13 in 4.4)

– Some data path details

– The book has excellent descriptions of this topic.

Please read the book before watching this lecture.

The reading assignment is on the website.

 

pptx 69 trang kimcuc 6720
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ải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý

Bài giảng Kiến trúc máy tính - Chương 3: Bộ xử lý
Chương 3: Bộ xử lý 
Khối điều khiển và Đường dữ liệu 
Nội dung 
Thành phần cơ bản của bộ xử lý 
– Lệnh truy cập 
– Các toán tử ALU 
– Toán tử bộ nhớ 
Kết nối các thành phần 
– Các tín hiệu điều khiển và bộ đồn kênh MUXes 
– Các chỉ thị giải mã lệnh 
Material that is not in this lecture 
Readings from the book 
– ALU Function field (fig.4.13 in 4.4) 
– Some data path details 
– The book has excellent descriptions of this topic. 
Please read the book before watching this lecture. 
The reading assignment is on the website. 
Thực thi cơ bản của MIPS (from the book) 
Xem lại các tập lệnh cơ bản trong MIPS 
– Memory: lw, sw 
– Arithmetic: add,sub 
– Logic: and, or 
– Branch: beq 
Đọc thêm : 
– Multiply, divide 
– A bunch of logic operations 
– jump 
– jr and jal 
Các hoạt động chính của bộ xử lý? 
Nạp lệnh : tìm ra lệnh và tải lệnh 
Tính toán trên ALU : tìm ra toán tử và thực thi 
Truy nhập bộ nhớ : tìm ra địa chỉ và truy nhập 
Thiết kế đơn xung nhịp 
Thiết kế đầu tiên sẽ xử lý một lệnh trong một chu kỳ đồng hồ. Chia lệnh thành các pha và thực hiện trong một chu kỳ đồng hồ. 
Nhắc lại về thiết kế mức logic: 
Tổ hợp các mức logic tạo ra trạng thái kế tiếp 
Bộ nhớ (các mạch chốt, RAM) lưu trữ trạng thái 
Bộ đồng hồ chuyển đổi trạng thái kế tiếp 
Quy trình nạp lệnh 
Trạng thái kế tiếp : PC+4 (ngoại trừ các lệnh nhảy) 
Trạng thái : Program Counter (lệnh hiện tại) 
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 
HUST-FET, 29/11/2021 
8 
Triển khai các lệnh 
Lệnh truy cập bộ nhớ : lw, sw 
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 
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 
Lưu kết quả 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Fetch 
PC = PC+4 
Decode 
Exec, Store 
Stages of Execution on Datapath 
instruction 
memory 
+ 4 
rt 
rs 
rd 
registers 
ALU 
Data 
memory 
imm 
1. Instruction 
Fetch 
2. Decode/ 
 Register 
Read 
3. Execute 
4. Memory 
5. Register 
 Write 
PC 
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 
HUST-FET, 29/11/2021 
11 
Đọc lệnh tại địa chỉ (lưu trong) PC từ bộ nhớ lệnh ( eng. Instruction Memory ) 
Cập nhật giá trị PC tới địa chỉ của lệnh kế tiếp 
Read 
Address 
Instruction 
Instruction 
Memory 
Add 
PC 
4 
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 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Giải mã lệnh 
HUST-FET, 29/11/2021 
12 
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 
Instruction 
Control 
Unit 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
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 
HUST-FET, 29/11/2021 
18 
Đọ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 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Thực hiện lệnh 
HUST-FET, 29/11/2021 
19 
Thực hiện phép toán (mã hóa bới op và funct ) trên giá trị toán hạng opA và opB 
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 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
opB 
ALU 
overflow 
zero 
ALU control 
opA 
result 
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ả 
HUST-FET, 29/11/2021 
22 
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ớ 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
RegWrite 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Truy cập bộ nhớ 
HUST-FET, 29/11/2021 
23 
MemWrite 
MemRead 
Data 
Memory 
Address 
Write Data 
Read Data 
Địa chỉ theo byte 
Dữ liệu từ thanh ghi rt 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
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 
Kết nối RF và ALU 
Kết nối ALU với bộ nhớ 
Kết nối giá trị tức thời để tính toán địa chỉ 
Thêm vào bộ dồn kênh 
Lựa chọn tín hiệu bằng Bộ dồn kênh MUX 
Định tuyến tính hiệu (control) 
• MUX lựa chọn ALU input (tệp thanh ghi hoặc các giá trị hằng số có dấu tức thời) 
• MUX lựa chọn tệp thanh ghi ghi dữ liệu (kết quả tính toán được tại ALU hoặc dữ liệu từ bộ nhớ) 
Các tín hiệu điều khiển xác định hoạt động: Lệnh addi 
Định nghĩa về tín hiệu điều khiển: ALUSrc (ALU source) và MemtoReg (Memory to Register File) 
Các tín hiệu điều khiển xác định hoạt động: lệnh add 
Xây dựng các khối rẽ nhánh có điều kiện 
Các bước thực hiện? 
– Mặc định: PC = PC + 4 
– Trường hợp có điều kiện : PC = PC + 4 + [Sign-extended immediate << 2] if branch 
Tín hiệu PCSrc 
Các bước thực hiện? 
– Mặc định: PC = PC + 4 
– Trường hợp có điều kiện: PC = PC+4+[Sign-extended immediate << 2] if branch 
Đường tín hiệu đơn xung nhịp trong MIPS 
Các dữ liệu nguồn (dữ liệu lấy ra ở đâu? ) 
Các dữ liệu đích (dữ liệu đi đến đâu?) 
Ví dụ: addi 
Lặp lại quá trình 
Thực hiện lệnh loại R và ghi kết quả 
HUST-FET, 29/11/2021 
40 
Lệnh định dạng R ( add, sub, slt, and, or ) 
Thực hiện phép toán (mã hóa bới op và funct ) trên giá trị toạn hạng trong rs và rt 
Ghi kết quả vào tệp thanh ghi (tại vị trí rd ) 
Instruction 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
overflow 
zero 
ALU control 
RegWrite 
R-type: 
31 
25 
20 
15 
5 
0 
op 
rs 
rt 
rd 
funct 
shamt 
10 
Tệp thanh ghi không được ghi ở mọi chu kỳ cần tín hiệu điều khiển ghi riêng biệt. 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Đọc ghi bộ nhớ 
HUST-FET, 29/11/2021 
41 
Địa chỉ bộ nhớ tính ở bước EX: cộng thanh ghi cơ sở (đọc từ tệp thanh ghi khi giải mã lệnh) với giá trị offset 
ghi (sw) giá trị (được đọc từ tệp thanh ghi khi giải mã lệnh) vào bộ nhớ dữ liệu 
đọc (lw) giá trị từ bộ nhớ dữ liệu vào tệp thanh ghi 
Instruction 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
overflow 
zero 
ALU control 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
Sign 
Extend 
MemWrite 
MemRead 
16 
32 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Lệnh rẽ nhánh có điều kiện 
HUST-FET, 29/11/2021 
42 
S o sánh toán hạng đọc từ tệp thanh ghi khi giải mã 
T ính địa chỉ đích bằng cách cộng giá trị PC (sau khi cập nhât) với trường offset 16 bit đã được mở rộng dấu. 
Instruction 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
zero 
ALU control 
Sign 
Extend 
16 
32 
Shift 
left 2 
Add 
4 
Add 
PC 
Branch 
target 
address 
(to branch control logic) 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Lệnh nhảy không điều kiện 
HUST-FET, 29/11/2021 
43 
Thay 28 bit thấp của PC bằng 26 bít thấp của lệnh được nạp và 2 bít 0 
Read 
Address 
Instruction 
Instruction 
Memory 
Add 
PC 
4 
Shift 
left 2 
Jump 
address 
26 
4 
28 
Instruction 
Fetch 
Instruction 
Decode 
Operand 
Fetch 
Execute 
Result 
Store 
Next 
Instruction 
Đường dữ liệu: Lệnh R, I, lw,sw 
HUST-FET, 29/11/2021 
44 
MemtoReg 
Read 
Address 
Instruction 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
ALU control 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
ALUSrc 
 Đường dữ liệu: Lệnh rẽ nhánh 
HUST-FET, 29/11/2021 
45 
Instr[5-0] 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Sign 
Extend 
16 
32 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
0 
0 
0 
1 
ALUOp 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
Đường dữ liệu: Lệnh R,I, lw, sw, beq, bne 
HUST-FET, 29/11/2021 
46 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
Bộ xử lý đơn xung nhịp (2) – Lệnh R 
HUST-FET, 29/11/2021 
47 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
BXL đơn xung nhịp (3) – Lệnh lw, sw 
HUST-FET, 29/11/2021 
48 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
BXL đơn xung nhịp (3) – Lệnh lw, sw 
HUST-FET, 29/11/2021 
49 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
BXL đơn xung nhịp (4) – Lệnh rẽ nhánh 
HUST-FET, 29/11/2021 
50 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
BXL đơn xung nhịp (4) – Lệnh rẽ nhánh 
HUST-FET, 29/11/2021 
51 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
BXL đơn xung nhịp – Thêm lệnh nhảy 
HUST-FET, 29/11/2021 
52 
Read 
Address 
Instr[31-0] 
Instruction 
Memory 
Add 
PC 
4 
Write Data 
Read Addr 1 
Read Addr 2 
Write Addr 
Register 
File 
Read 
 Data 1 
Read 
 Data 2 
ALU 
ovf 
zero 
RegWrite 
Data 
Memory 
Address 
Write Data 
Read Data 
MemWrite 
MemRead 
Sign 
Extend 
16 
32 
MemtoReg 
ALUSrc 
Shift 
left 2 
Add 
PCSrc 
RegDst 
ALU 
control 
1 
1 
1 
0 
0 
0 
0 
1 
ALUOp 
Instr[5-0] 
Instr[15-0] 
Instr[25-21] 
Instr[20-16] 
Instr[15 -11] 
Control 
Unit 
Instr[31-26] 
Branch 
Shift 
left 2 
0 
1 
Jump 
32 
Instr[25-0] 
26 
PC+4[31-28] 
28 
PC + 4 
Thiết kế đồng bộ theo đồng hồ 
HUST-FET, 29/11/2021 
Mạch đồng bộ theo đồng hồ: 1 phần tử trạng thái là hợp lệ và ổn định được quy định bởi xung đồng hồ 
Phần tử trạng thái - phần tử nhớ - VD. thanh ghi, bộ nhớ lệnh, bộ nhớ dữ liệu. 
Kích hoạt theo s ườn – các trạng thái thay đối khi có s ườn xung 
Đọc nội dung của phần tử trạng thái tính giá trị bằng logic tổ hợp ghi kết quả vào phần tử trạng thái 
Các phần tử trạng thái được ghi ở tất cả các chu kỳ đồng hồ. 
State 
element 
1 
State 
element 
2 
Combinational 
logic 
clock 
one clock cycle 
Đồng hồ ở đâu? 
Ví dụ: Lệnh addi thực thi như thế nào? 
Khi có tín hiệu đồng hồ, biến mới được lưu trữ 
Lặp lại quá trình 
Ví dụ lệnh: addi 
Các tuyến logic và các bộ trễ 
Tốc độ xử lý xác định như thế nào? 
Tính chu ky đồng hồ T c – Đường dài nhất 
HUST-FET, 29/11/2021 
Instr. 
I Mem 
Reg Rd 
ALU Op 
D Mem 
Reg Wr 
Total 
R-type 
2 
1 
2 
1 
6ns 
load 
2 
1 
2 
2 
1 
8ns 
store 
2 
1 
2 
2 
7ns 
beq 
2 
1 
2 
5ns 
jump 
2 
2ns 
 Tính chu kỳ đồng hồ trong trường hợp bỏ qua trễ ở bộ ghép, khối điều khiển, khối mở rộng dấu, khối đọc PC, khối dịch 2, dây dẫn, thời gian thiết lập và giữ. Cho biết độ trễ : 
- Truy cập bộ nhớ lệnh và bộ nhớ dữ liệu (2ns) 
- Khối số học logic và bộ cộng (2 ns) 
- Truy cập tệp thanh ghi (đọc hoặc ghi ) (1 ns) 
Hiệu năng thiết kế đơn xung nhịp 
HUST-FET, 29/11/2021 
Độ trễ logic khi 
Truy cập lệnh 	2 ns 
Đọc thanh ghi 	1 ns 
Hoạt động ALU 	2 ns 
Truy cập bộ nhớ DL 	2 ns 
Ghi thanh ghi 	 1 ns 
 Tổng 	8 ns 
Tốc độ đồng hồ = 125 MHz 
Các loại lệnh: 
R-type 	44%	6 ns	 
Load	24%	8 ns 
Store	12%	7 ns 
Branch	18%	5 ns 
Jump	 2%	 4 ns 	 
Thời gian trung bình  6.38 ns 
CPI = 1. 
Thiết kế đơn xung nhịp – Ưu nhược điểm 
HUST-FET, 29/11/2021 
63 
Sử dụng chu kỳ đồng hồ không hiệu quả – chu kỳ đồng hồ được đặt theo lệnh chậm nhất . 
Các lệnh phức tạp như lệnh nhân dấu phẩy động: Tốn diện tích thiết kế vì cần nhân đôi một số khối chức năng (VD. bộ cộng) vì chúng không thể được chia sẻ trong cùng 1 chu kỳ đồng hồ 
Đơn giản và dễ hiểu 
Clk 
lw 
sw 
Waste 
Cycle 1 
Cycle 2 
Thiết kế đa xung nhịp 
HUST-FET, 29/11/2021 
64 
Chia lệnh thành các pha thực hiện: IF, ID, EX, MEM, WB. Mỗi pha thực hiện trong 1 chu kỳ xung nhịp 
Thời gian thực hiện (= số pha) của mỗi lệnh được điều chỉnh tùy thuộc độ phức tạp của lệnh 
Các khối chức năng được chia sẻ giữa các pha khác nhau của lệnh do một khối chức năng cụ thể không cần trong toàn bộ các pha thực hiện của lệnh 
Hiệu năng thiết kế đa xung nhịp 
HUST-FET, 29/11/2021 
Các loại lệnh sử dụng số 
chu kỳ khác nhau 
R-type 	44% 4 cycles	 
Load	24% 5 cycles 
Store	12% 4 cycles 
Branch	18% 3 cycles 
Jump	 2% 2 cycles 
Đóng góp vào số chu kỳ trung bình cần cho một lệnh: 
R-type	 	 
Load	 
Store	 
Branch	 
Jump	 
	 _____________________________ 
 CPI trung bình	  
Hiệu năng thiết kế đa xung nhịp 
HUST-FET, 29/11/2021 
66 
Các loại lệnh sử dụng số 
chu kỳ khác nhau 
R-type 	44% 4 cycles	 
Load	24% 5 cycles 
Store	12% 4 cycles 
Branch	18% 3 cycles 
Jump	 2% 2 cycles 
Tính số chu kỳ trung bình cần cho một lệnh: 
R-type	 0.44 4	= 1.76	 
Load	 0.24 5	= 1.20 
Store	 0.12 4	= 0.48 
Branch	 0.18 3	= 0.54 
Jump	 0.02 2 	= 0.04 
	 _____________________________ 
 CPI trung bình	  4.02 
So sánh hiệu năng xử lý 
So sánh hiệu năng xử lý của thiết kế đa xung nhịp và thiết đơn xung nhịp, biết tần suất xuất hiện các lệnh như sau: 
lw : 20% 
sw: 20% 
R - : 45 % 
beq: 15% 
Thiết kế đơn xung nhịp 
HUST-FET, 29/11/2021 
68 
Clock rate = 125 MHz 
CPI = 1 (125 MIPS) 
Thiết kế đa xung nhịp 
HUST-FET, 29/11/2021 
69 
Clock rate = 500 MHz 
CPI  4 (  125 MIPS) 
2 

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_chuong_3_bo_xu_ly.pptx