Khoa
Khoa
KH & KT
KH & KT
M
M
ỏ
ỏ
y
y
t
t
ớ
ớ
nh
nh
Bo
Bo
ọ
ọ
moõn
moõn
Kyừ
Kyừ
thua
thua
ọ
ọ
t
t
Ma
ỷ
i
i
Nguyeón
Nguyeón
Quo
Quo
ỏ
ỏ
c
c
Tua
Tua
ỏ
ỏ
n
n
Kiến trúc Máy tính - Chap 05
2
Tài liệuthamkhả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.
(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
• 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
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
) 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 d ata 1
Read d ata 2
Registers
Regwrite
Zero
Result
ALU
ALU operation
3
Address
Write data
Read data
Data
memo ry
MemRead
MemWrite
M
U
X
ALUSrc
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
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
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
s
t
r
u
c
t
i
o
n
[
3
1
-
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ế
) 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