Kiến trúc máy tính
Chương 4
BỘ XỬ LÝ TRUNG TÂM (CPU)
1
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
2
Sơ đồ cấu trúc cơ bản của CPU
Phan Trung Kiên
3
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
4
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
5
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 ngồi
vào
Xử lý dữ liệu: Lệnh có thể u cầu thực hiện một phép tốn
nào đó
Ghi dữ liệu: Lệnh có thể u cầu cất kết quả ra ngồi
Ngồi ra, trong q trình thực hiện chương trình cịn
nhận các u cầu từ bên ngồi, xử lý các u cầu đó
Phan Trung Kiên
6
BXL với bus hệ thống
Phan Trung Kiên
7
Cấu trúc bên trong của BXL
Phan Trung Kiên
8
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
9
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
10
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
11
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
12
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 u cầu từ bên ngồi, xử lý các tín hiệu
đó.
Phan Trung Kiên
13
Mơ hình kết nối KĐK
Thanh ghi lệnh
Các t/h điều
khiển bên
trong BXL
Các cờ . . .
Khối điều
khiển
Xung
nhịp
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
Bus hệ thống
Phan Trung Kiên
14
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:
T0
T0 là chu kỳ của xung nhịp
Mỗi thao tác của BXL cần k.T0 , k ? N
Tần số xung đồng hồ: f0 = 1/T0
Ví dụ: máy tính dùng BXL có tốc độ 5GHz
Ta có: f0 = 5GHz = 5*109 Hz ? T0 = 1/f0 = 1/(5*109) = 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
Phan Trung Kiên
15
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 ngồi BXL:
Điều khiển bộ nhớ
Điều khiển các modul vào-ra
Phan Trung Kiên
16
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
17
Đơn vị điều khiển vi chương trình
Phan Trung Kiên
18
Đơ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ã hố 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
19
Đơn vị điều khiển nối kết cứng
Phan Trung Kiên
20
Đơ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
21
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
22
Mơ hình kết nối ALU
Dữ liệu vào từ các
thanh ghi
ALU
Dữ liệu ra đến các
thanh ghi
T/h điều khiển từ
KĐK
Thanh ghi cờ
Phan Trung Kiên
23
Hoạt động của CPU
Chu trình lệnh
Nhận lệnh
Giải mã lệnh
Nhận tốn hạng
Thực hiện lệnh
Cất toán hạng
Ngắt
Phan Trung Kiên
24
Giản đồ trạng thái của chu kỳ lệnh
Nhận toán
hạng
Nhận lệnh
Cất tốn
hạng
Nhiều
kết
quả
Nhiều
tốn
hạng
Tính tốn
địa chỉ
lệnh
Giải mã
thao tác
lệnh
Kết thúc lênh,
nhận lệnh
tiếp theo
Tính tốn
địa chỉ
tốn hạng
Xử lý dữ
liệu
DL dạng
xâu hoặc
vectơ
Phan Trung Kiên
Tính tốn
địa chỉ
tốn hạng
Kiểm tra
ngắt
Ngắt
Khơng
có ngắt
25