1
Kiến trúc máy tính
Chương 4
BỘ
XỬ
LÝ TRUNG TÂM (CPU)
Phan Trung Kiên
2
Nội dung chương 4
Cấu trúc chung của bộ
xử
lý
Khối điều khiển
Khối số
học & logic
Ho?t d?ng c?a CPU
RISC & CISC
Phan Trung Kiên
3
Sơ đồ
cấu trúc cơ bản của CPU
Phan Trung Kiên
4
Cấu trúc chung của bộ
xử
lý
(BXL)
Cấu trúc
Đơn vị điều khiển (Control Unit - CU)
Đơn vị
số
học và
logic (Arithmetic and Logic Unit -
ALU)
Tập thanh ghi (Register File - RF)
Đơn vị
nối ghép bus (Bus Interface Unit -
BIU)
Bus bên trong (Internal Bus)
Các thanh ghi (Registers)
Phan Trung Kiên
5
Cấu trúc chung của bộ
xử
lý
(BXL)
Chức năng
Điều khiển toàn bộ
hoạt động của hệ
thống
Xử
lý dữ
liệu
Nguyên tắc hoạt động
BXL hoạt động dựa theo chương trình nằm sẵn trong
bộ
nhớ
Phan Trung Kiên
6
Cấu trúc chung của bộ
xử
lý
(BXL)
Các nhiệm vụ
của BXL
Nhận lệnh: nhận lệnh từ
bộ
nhớ
Giải mã lệnh: Giải mã lệnh được nhận vào để
biết lệnh làm gì
Nhận dữ
liệu: Lệnh có
thể
yêu cầu nhận dữ
liệu từ
bên ngoài
vào
Xử
lý dữ
liệu: Lệnh có
thể
yêu cầu thực hiện một phép toán
nào đó
Ghi dữ
liệu: Lệnh có
thể
yêu cầu cất kết quả
ra ngoài
Ngoài ra, trong quá
trình thực hiện chương trình còn
nhận
các yêu cầu từ
bên ngoài, xử
lý
các yêu cầu đó
Phan Trung Kiên
7
BXL với bus hệ
thống
Phan Trung Kiên
8
Cấu trúc bên trong của BXL
Phan Trung Kiên
9
Phân tích nhiệm vụ
của BXL
Nhận lệnh (Fetch Instructions -
FI)
Địa chỉ
của lệnh cần thực hiện nằm trong bộ đếm
chương trình (PC - Program Counter), được đưa qua
bộ đệm địa chỉ, qua bus địa chỉ để
tìm ra ngăn nhớ
chứa lệnh
Tiếp theo, BXL phát ra tín hiệu đọc ngăn nhớ
vừa tìm
được
Nội dung của ngăn nhớ được chuyển qua bus dữ
liệu
và đưa đến thanh ghi lệnh
(Instruction Reg.)
Phan Trung Kiên
10
Phân tích nhiệm vụ
của BXL
Giải mã lệnh (Interpret Instructions -
II)
Lệnh từ
thanh ghi lệnh được đưa đến khối điều khiển
Tại đây, lệnh được giải mã để
xác định thao tác mà
lệnh yêu cầu
Khi đó, khối điều khiển sẽ
phát ra tín hiệu điều khiển
tương ứng với lệnh đó.
Phan Trung Kiên
11
Phân tích nhiệm vụ
của BXL
Nhận dữ
liệu (Fetch Data -
FD)
BXL phát ra địa chỉ
của ngăn nhớ/cổng vào ra chứa
dữ
liệu cần nhận
BXL phát ra tín hiệu điều khiển đọc ngăn nhớ/cổng
vào ra tương ứng
Dữ
liệu được chuyển qua bus dữ
liệu đưa vào tập
thanh ghi
bên trong
Phan Trung Kiên
12
Phân tích nhiệm vụ
của BXL
Xử
lý dữ
liệu (Process Data -
PD)
Dữ
liệu được chuyển từ
các thanh ghi vào ALU
ALU sẽ
thực hiện các phép
toán dưới sự điều khiển
của khối điều khiển
Kết quả
phép toán được cất tạm thời vào thanh ghi
dữ
liệu
Phan Trung Kiên
13
Khối điều khiển (CU)
Chức năng
ĐK nhận lệnh tiếp theo từ
bộ
nhớ, đưa vào thanh ghi
lệnh
Tăng nội dung của PC để
trỏ
sang lệnh tiếp theo
Giải mã lệnh nằm trong thanh ghi lệnh để
xác định
thao tác mà
lệnh yêu cầu
Phát ra các tín hiệu điều khiển thực hiện lệnh đó
Nhận tín hiệu yêu cầu từ
bên ngoài, xử
lý các tín hiệu
đó.
Phan Trung Kiên
14
Mô hình kết nối KĐK
Khối điều
khiển
Thanh ghi lệnh
Các t/h điều
khiển bên
trong BXL
Các t/h điều
khiển từ
bus hệ
thống
Các t/h điều
khiển đến bus
hệ
thống
Các cờ
. . .
Xung
nhịp
Bus hệ
thống
Phan Trung Kiên
15
Các tín hiệu đưa đến KĐK
Nhịp: tín hiệu đồng hồ
từ
mạch tạo nhịp bên ngoài:
T
0
là
chu kỳ
của xung nhịp
Mỗi thao tác của BXL cần k.T
0
, k ? N
Tần số xung đồng hồ: f
0
= 1/T
0
Ví
dụ: máy tính dùng BXL có
tốc độ
5GHz
Ta có: f
0
= 5GHz = 5*10
9
Hz ? T
0
= 1/f
0
= 1/(5*10
9
) = 0.2 ns
Mã lệnh
từ
thanh ghi lệnh đưa đến để
giải mã
Các cờ
từ
thanh ghi cờ
cho biết trạng thái của BXL
Các tín hiệu điều khiển
từ bus điều khiển yêu cầu BXL
T
0
Phan Trung Kiên
16
Các tín hiệu phát ra từ KĐK
Các tín hiệu điều khiển bên trong BXL:
Điều khiển các thanh ghi
Điều khiển ALU
Các tín hiệu điều khiển bên ngoài BXL:
Điều khiển bộ
nhớ
Điều khiển các modul vào-ra
Phan Trung Kiên
17
Các phương pháp thiết kế KĐK
KĐK vi chương trình
(Microprogrammed Control Unit)
KĐK nối kết cứng
(Hardwired Control Unit)
Phan Trung Kiên
18
Đơn vị điều khiển vi chương trình
Phan Trung Kiên
19
Đơn vị điều khiển vi chương trình
Bộ
nhớ vi chương trình (ROM) lưu trữ
các vi
chương trình (microprogram)
Một vi chương trình bao gồm các vi lệnh
(microinstruction)
Mỗi vi lệnh mã hoá
cho một vi thao tác
(microoperation)
Để
hoàn thành một lệnh cần thực hiện một hoặc
một vài vi chương trình
Tốc độ
chậm
Phan Trung Kiên
20
Đơn vị điều khiển nối kết cứng
Phan Trung Kiên
21
Đơn vị điều khiển nối kết cứng
Sử
dụng mạch cứng để
giải mã và
tạo các tín
hiệu điều khiển thực hiện lệnh
Tốc độ nhanh
Đơn vị điều khiển phức tạp
Phan Trung Kiên
22
Khối số
học và
logic (ALU)
Chức năng: thực hiện các phép toán số
học và
phép toán logic
Số
học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu
Logic: AND, OR, NOT, XOR, dịch bit, quay bit
Phan Trung Kiên
23
Mô hình kết nối ALU
ALU
Thanh ghi cờ
Dữ
liệu ra đến các
thanh ghi
Dữ
liệu vào từ
các
thanh ghi
T/h điều khiển từ
KĐK
Phan Trung Kiên
24
Hoạt động của CPU
Chu trình lệnh
Nhận lệnh
Giải mã lệnh
Nhận toán hạng
Thực hiện lệnh
Cất toán hạng
Ngắt
Phan Trung Kiên
25
Giản đồ
trạng thái của chu kỳ
lệnh
Tính toán
địa chỉ
lệnh
Giải mã
thao tác
lệnh
Tính toán
địa chỉ
toán hạng
Xử
lý dữ
liệu
Tính toán
địa chỉ
toán hạng
Nhận lệnh
Nhận toán
hạng
Cất toán
hạng
Nhiều
toán
hạng
Nhiều
kết
quả
DL dạng
xâu hoặc
vectơ
Kết thúc lênh,
nhận lệnh
tiếp theo
Kiểm tra
ngắt
Ngắt
Không
có
ngắt