Bài giảng Kiến trúc máy tính - Chương 5: Bộ xử lý. Đường đi dữ liệu, điều khiển

Dẫn nhập

) Hiệu suất của máy tính được quyết định bởi 3 yếu tố

chính: số câu lệnh, chu kỳ clock và CPI (cycle per

instruction)

) Chương trình dịch và cấu trúc tập lệnh quyết định số câu

lệnh của chương trình

) Chu kỳ clock và CPI được quyết định bởi cách hiện thực

của bộ xử lý, cụ thể là đường đi dữ liệu (datapath) và

điều khiển (control)

) Xây dựng đường đi dữ liệu và điều khiển (mang tính

minh họa) cho 1 bộ phận của tập lệnh MIPS

• Lệnh truy xuất bộ nhớ: lw và sw

• Lệnh số học – luận lý: add , sub , and , or , và slt

• Lệnh nhảy: beq và

Bất kỳ câu lệnh nào cũng phải thực thi 2 bước đầu tiên

như sau

• Gửi nội dung của thanh ghi bộ đếm chương trình (program

counter – PC) đến bộ nhớ lệnh để lấy câu lệnh từ bộ nhớ

• Đọc một vài thanh ghi (toán hạng) có địa chỉ được xác định bởi

các vùng toán hạng của câu lệnh

) Sau 2 bước thực thi trên, các bước thực thi kế tiếp

nhằm hoàn thành câu lệnh phụ thuộc vào từng nhóm

lệnh khác nhau

) Đối với tập con các lệnh MIPS chúng ta chọn để minh

họa, các bước thực thi có khá nhiều điểm giống nhau

(td. sử dụng bộ số học – luận lý ALU)

) Điểm khác biệt chủ yếu nằm ở các bước thực thi cuối

của câu lệnh

pdf 24 trang kimcuc 3640
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 5: Bộ xử lý. Đường đi dữ liệu, điều khiển", để 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 5: Bộ xử lý. Đường đi dữ liệu, điều khiển

Bài giảng Kiến trúc máy tính - Chương 5: Bộ xử lý. Đường đi dữ liệu, điều khiển
Khoa KH & KT Máy tính
Boää moânâ Kyõõ thuaäät Maùùy tính
Phaïïm Töôøøng Haûûi
Nguyeãnã Quoáác Tuaáán
Kiến trúc Máy tính - Chap 05 2
Tài liệu tham khảo
) “Computer Organization and Design: the hardware/software 
interface”, 
John L. Hennessy & David A. Patterson, Second Edition, 
MORGAN KAUFMANN PUBLISHERS, INC. 1998
) “Computer Architecture: a quantitative approach”, 
John L. Hennessy & David A. Patterson, Third Edition, 
MORGAN KAUFMANN PUBLISHERS, INC. 2002
Kiến trúc Máy tính - Chap 05 3
Chương 5.
Kiến trúc Máy tính - Chap 05 4
5.1 Dẫn nhập
)Hiệu suất của máy tính được quyết định bởi 3 yếu tố
chính: số câu lệnh, chu kỳ clock và CPI (cycle per 
instruction)
)Chương trình dịch và cấu trúc tập lệnh quyết định số câu 
lệnh của chương trình
)Chu kỳ clock và CPI được quyết định bởi cách hiện thực 
của bộ xử lý, cụ thể là đường đi dữ liệu (datapath) và
điều khiển (control)
)Xây dựng đường đi dữ liệu và điều khiển (mang tính 
minh họa) cho 1 bộ phận của tập lệnh MIPS
• Lệnh truy xuất bộ nhớ: lw và sw
• Lệnh số học – luận lý: add , sub , and , or , và slt
• Lệnh nhảy: beq và j
Kiến trúc Máy tính - Chap 05 5
5.1 ...
)Bất kỳ câu lệnh nào cũng phải thực thi 2 bước đầu tiên 
như sau
• Gửi nội dung của thanh ghi bộ đếm chương trình (program 
counter – PC) đến bộ nhớ lệnh để lấy câu lệnh từ bộ nhớ
• Đọc một vài thanh ghi (toán hạng) có địa chỉ được xác định bởi 
các vùng toán hạng của câu lệnh
)Sau 2 bước thực thi trên, các bước thực thi kế tiếp 
nhằm hoàn thành câu lệnh phụ thuộc vào từng nhóm 
lệnh khác nhau
)Đối với tập con các lệnh MIPS chúng ta chọn để minh 
họa, các bước thực thi có khá nhiều điểm giống nhau 
(td. sử dụng bộ số học – luận lý ALU)
)Điểm khác biệt chủ yếu nằm ở các bước thực thi cuối 
của câu lệnh
Kiến trúc Máy tính - Chap 05 6
5.1 ...
)Các khối mạch được chia làm 2 loại: mạch tổ hợp
(combinational circuit) và mạch trạng thái (state circuit) 
hay mạch tuần tự
)Sơ đồ tổng quát hiện thực kiến trúc phần cứng ở MIPS
Kiến trúc Máy tính - Chap 05 7
5.2 Xây dựng đường đi dữ liệu
)Phương thức xây dựng đường đi dữ liệu
• Xác định các phần tử kiến trúc cần thiết cho câu lệnh
• Xây dựng dần dần các phân khúc cho đường đi dữ liệu ứng với 
từng công đoạn trong thực thi câu lệnh
• Tiến đến xây dựng hoàn chỉnh đường đi dữ liệu cho câu lệnh
)Bộ nhớ lệnh (instruction memory)
)Bộ cộng)Bộ đếm chương trình (PC)
Kiến trúc Máy tính - Chap 05 8
5.2 ...
)Đường đi dữ liệu cho bước đọc lệnh
) Tiến hành xây dựng 
đường đi dữ liệu cho 
các lệnh R-type ?
add $t1 , $t2 , $t2
sub $s0 , $t0 , $t1
slt $t0 , $s0 , $s1
Kiến trúc Máy tính - Chap 05 9
5.2 ...
) Tập thanh ghi (register files)
• 2 ngõ đọc dữ liệu
• 1 ngõ ghi dữ liệu
• 3 ngõ nhận địa chỉ thanh ghi
• Tín hiệu điều khiển ghi
)Đơn vị số học – luận lý 
(ALU – Arithmetic Logic 
Unit)
• 32-bit ALU đã giới thiệu ở 
chương 4
• 3-bit các tín hiệu điều khiển
• 2 ngõ vào toán hạng 32-bit
• 1 ngõ ra kết quả và 1 bit zero
Kiến trúc Máy tính - Chap 05 10
5.2 ...
)Đường đi dữ liệu cho lệnh dạng R-type
)Xây dựng đường đi dữ liệu cho các lệnh truy xuất bộ
nhớ ?
lw $t0, 0($t1) sw $t1 , 4($sp)
Kiến trúc Máy tính - Chap 05 11
5.2 ...
)Bộ nhớ dữ liệu (Data 
memory unit)
• 1 ngõ nhận địa chỉ ô nhớ
• 1 ngõ nhận dữ liệu ghi
• Tín hiệu điều khiển đọc/ghi
• 1 ngõ dữ liệu đọc
)Bộ mở rộng dấu (Sign-
extension unit)
• Ngõ nhập dữ liệu 16-bit
• Ngõ ra dữ liệu 32-bit
Kiến trúc Máy tính - Chap 05 12
5.2 ...
)Đường đi dữ liệu cho lệnh truy xuất bộ nhớ
)Xây dựng đường đi dữ liệu cho lệnh rẽ nhánh ?
beq $s3 , $s4 , L1
Kiến trúc Máy tính - Chap 05 13
5.2 ...
)Đường đi dữ liệu cho 
lệnh rẽ nhánh
Kiến trúc Máy tính - Chap 05 14
5.3 Hiện thực bộ xử lý đơn chu kỳ
)Hiện thực bộ xử lý cho các câu lệnh MIPS đã xét
• Xây dựng đường đi dữ liệu cho tất cả các nhóm lệnh trên cơ sở
tổng hợp các đường đi dữ liệu đã khảo sát
• Thêm vào các tín hiệu điều khiển
• Chỉ hiện thực đơn giản bằng kiến trúc đơn chu kỳ (singcle cycle)
)Xây dựng đường đi dữ liệu cho tất cả các câu lệnh
• Đáp ứng thực thi mọi câu lệnh chỉ trong 1 chu kỳ clock
• Cần phải nhân số lượng đối với các phần tử kiến trúc được sử
dụng nhiều hơn 1 lần trong cùng một câu lệnh
• Cần 1 bộ nhớ dành riêng cho câu lệnh và 1 bộ nhớ dành riêng 
cho dữ liệu
• Chia sẽ các phần tử kiến trúc giữa những nhóm lệnh khác nhau 
nhờ vào các bộ multiplexor hay còn gọi là data selector
Kiến trúc Máy tính - Chap 05 15
5.3 ...
)Xây dựng đường đi dữ liệu cho các lệnh bộ nhớ và lệnh 
R-type
Sign
extend
16 32
Read
register 1
Read
register 2
Write
register
Write data
Read data 1
Read data 2
Registers
Regwrite
Zero
Result
ALU
ALU operation
3
Instruction
Address
Write data
Read data
Data
memory
MemRead
MemWrite
M
U
X
ALUSrc
M
U
X
MemtoReg
Kiến trúc Máy tính - Chap 05 16
5.3 ...
) Thêm vào đường đi dữ liệu cho bước đọc lệnh
Sign
extend
16 32
Read
register 1
Read
register 2
Write
register
Write data
Read data 1
Read data 2
Registers
Regwrite
Zero
Result
ALU
ALU operation
3
Address
Write data
Read data
Data
memory
MemRead
MemWrite
M
U
X
ALUSrc
M
U
X
MemtoReg
Instruction
address
Instruction
Instruction
memory
Adder
PC
4
Kiến trúc Máy tính - Chap 05 17
5.3 ...
)Hiện thực đường đi dữ liệu cho cả 3 nhóm lệnh
Sign
extend
16 32
Read
register 1
Read
register 2
Write
register
Write data
Read data 1
Read data 2
Registers
Regwrite
Zero
Result
ALU
ALU operation
3
Address
Write data
Read data
Data
memory
MemRead
MemWrite
M
U
X
ALUSrc
M
U
X
MemtoReg
Instruction
address
Instruction
Instruction
memory
Adder
PC
4
Shiftleft2
M
U
X
PCSrc
Adder
Kiến trúc Máy tính - Chap 05 18
5.3 ...
)Điều khiển ALU
• Các tín hiệu điều khiển
• Quan hệ với câu lệnh
• Thiết kế các tín hiệu điều 
khiển ?
Set on less than111
Subtract110
Add010
OR001
AND000
FunctionALU control Input
111101010set on less than10R-type
001100101OR10R-type
000100100AND10R-type
110100010subtract10R-type
010100000add10R-type
110XXXXXXbranch equal01BEQ
010XXXXXXstore word00SW
010XXXXXXload word00LW
ALU control InputFunct fieldOperationALUOpOpcode
Kiến trúc Máy tính - Chap 05 19
5.3 ...
)Dạng thức nhóm lệnh R-type
)Dạng thức các lệnh load/store
)Dạng thức các lệnh rẽ nhánh
5 - 010 - 615 - 1120 -1625 - 2131 - 26
functshamtrdrtrs0
15 - 020 -1625 - 2131 - 26
addressrtrs35 hay 43
15 - 020 -1625 - 2131 - 26
addressrtrs4
Kiến trúc Máy tính - Chap 05 20
5.3 ...
)Đường đi dữ liệu dưới tác động của câu lệnh
Sign
extend
16 32
Read
register 1
Read
register 2
Write
register
Write data
Read
data 1
Read
data 2
Registers
Regwrite
Zero
Result
ALU
Address
Write
data
Read
data
Data
memory
MemRead
MemWrite
1
M
U
X
0
ALUSrc
1
M
U
X
0
MemtoReg
Instruction
address
Instruction
[31 - 0]
Instruction
memory
Adder
PC
4
Shiftleft2
0
M
U
X
1
PCSrc
Adder
ALU
control
0
M
U
X
1
RegDst
Instruction [25 - 21]
ALUOp
Instruction [20 - 16]
Instruction
[15 - 11]
Instruction
[15 - 0]
Instruction [15 - 0]
Kiến trúc Máy tính - Chap 05 21
5.3 ...
) Đường đi dữ liệu + Đơn vị điều khiển = Bộ xử lý
Sign
extend
16 32
Read
register 1
Read
register 2
Write
register
Write data
Read
data 1
Read
data 2
Registers
Zero
Result
ALU
Address
Write
data
Read
data
Data
memory
1
M
U
X
0
1
M
U
X
0
Instruction
address
Instruction
[31 - 0]
Instruction
memory
Adder
PC
4
Shiftleft2
0
M
U
X
1
Adder
ALU
control
0
M
U
X
1
Instruction [25 - 21]
Instruction [20 - 16]
Instruction
[15 - 11]
Instruction
[15 - 0]
Instruction [15 - 0]
Control
RegDst
Branch
MemRead
MemtoReg
ALUOp
MemWrite
ALUSrc
RegWrite
Ins
tru
cti
on
[31
-2
6]
Kiến trúc Máy tính - Chap 05 22
5.4 Bộ xử lý đa chu kỳ
) Trong thực tế, người ta không sử dụng bộ xử lý đơn chu 
kỳ vì các lý do sau
• Thời gian thực hiện các câu lệnh luôn khác nhau Ö phải chọn 
chu kỳ hoạt động của bộ xử lý bằng với chu kỳ thực thi câu lệnh 
dài nhất !
• Khả năng trùng lắp các phần tử chức năng cao
)Ở bộ xử lý đa chu kỳ (multiple clock), quá trình thực thi 1 
câu lệnh diển ra thành nhiều chu kỳ clock
)Bộ xử lý đa chu kỳ khắc phục được những nhược điểm 
chính của bộ xử lý đơn chu kỳ
)Một số khác biệt trong thiết kế
• Tinh chỉnh thời gian thực thi từng câu lệnh theo giản đồ trạng thái
• Có thể sử dụng 1 bộ nhớ chung cho cả câu lệnh lẫn dữ liệu
• Thêm vào 1 số thanh ghi để chứa dữ liệu/kết quả trung gian
Kiến trúc Máy tính - Chap 05 23
5.4 ...
)Sơ đồ khối tổng quát bộ xử lý đa chu kỳ
ALUOut
AInstructionregister
PC Data
Register #
Register #
Register #
Registers
Address
Instruction
or data
Memory
Data
A
L
U
Memory
data
register
B
Kiến trúc Máy tính - Chap 05 24
Bài tập
) 5.5
) 5.10
“Computer Organization and Design: the hardware/software 
interface”, 
John L. Hennessy & David A. Patterson, Second Edition, 
MORGAN KAUFMANN PUBLISHERS, INC. 1998

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_5_bo_xu_ly_duong_di_du_l.pdf