Chương 4
Bộ xử lý trung tâm
CPU
1
Mục tiêu
Nhận biết các thành phần cơ bản của đơn vị
xử lý trung tâm (CPU) và chức năng của
chúng.
Hiểu được vai trò mỗi thành của CPU trong
mối quan hệ với việc xử lý thông tin.
Kiến trúc tập lệnh của CPU
2
Nội dung
Cấu trúc cơ bản của CPU
Kiến trúc tập lệnh
Hoạt động của CPU
3
4.1 Cấu trúc cơ bản của CPU
Control Unit - CU
Arithmetic and Logic
Unit - ALU
Register File – RF
Bus Interface Unit BIU
Local Bus (Internal
Bus)
4
1. Đơn vị 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ừ, tăng, giảm, bù hai, so
sánh
Logic: AND, OR, NOT, XOR, NOR, phép dịch
bit
5
Mơ hình kết nối ALU
6
Các khối bên trong ALU
=
Bộ cộng
Bộ trừ
Bộ dịch
<,>
Bù hai
Tăng
Giảm
OR
AND
NOT
XOR
NOR
7
Bộ cộng sử dụng trong máy tính điện
tử
Bộ cộng hai số nhị phân n bit:
8
Bộ cộng sử dụng trong máy tính điện
tử
Bộ bán tổng
a0
b0
Half-Adder
Bộ cộng đầy đủ 1 bit
S0
c1
9
2. Thanh ghi
Thanh ghi là bộ nhớ bên trong CPU
Vùng nhớ được CPU nhận biết qua tên thanh
ghi
Ví dụ: Bảng mã thanh ghi của VXL 8086
10
2. Thanh ghi
Chức năng và đặc điểm
Chứa các thông tin tạm thời phục vụ cho hoạt
động ở thời điểm hiện tại của CPU
Được coi là mức đầu tiên của hệ thống nhớ, có tốc
độ truy xuất cực nhanh
11
Thanh ghi
Qn
Xây dựng từ các phần tử nhớ cơ bản:
D=0
D=1
Qn
T=0
T=1
0
0
1
0
0
1
1
0
1
1
1
0
JK=
00
JK=
01
JK=
11
JK=
10
0
0
0
1
1
1
1
0
0
1
Q
S
Q
SR =
00
SR =
01
SR =
11
SR=
10
0
0
0
-
1
1
1
0
-
1
Qn
Qn
R
12
Thanh ghi 8 bit song song
13
Thanh ghi dịch
14
Phân loại thanh ghi theo chức năng
Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ
hay cổng vào/ra
Thanh ghi lệnh: chứa lệnh đang được thực hiện
Thanh ghi dữ liệu: chứa tạm thời các dữ liệu
Thanh ghi trạng thái: chứa các thông tin điều
khiển của CPU và trạng thái kết quả phép toán
Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ
liệu
15
Các thanh ghi điển hình trong CPU
16
Các thanh ghi địa chỉ
Thanh ghi cơ sở (thanh ghi
đoạn)
Ví dụ: CS (Code segment
Thanh ghi chỉ số (thanh ghi
lệch)
Ví dụ: PC (Program Counter)
Thanh ghi cơ sở:Thanh ghi chỉ sổ >
Lưu địa chỉ logic
MAR (Memory Address
Register): Thanh ghi đệm địa
chỉ
17
Bộ đếm chương trình PC
PC: Program Counter
Cịn được gọi là con trỏ lệnh
IP (Instruction Pointer)
Lưu địa chỉ của lệnh tiếp
theo sẽ được nhận vào
Sau khi một lệnh được nhận
vào, nội dung PC tự động
tăng để trỏ sang lệnh kế
tiếp
18
Ngăn xếp (Stack)
Ngăn xếp là vùng nhớ, thường dùng để
phục vụ cho chương trình con hoặc phục
vụ ngắt
Truy cập theo kiểu LIFO (Last in – First
out)
Đáy ngăn xếp là một ngăn nhớ xác định
Đỉnh ngăn xếp là thơng tin nằm ở vị trí
trên cùng trong ngăn xếp
Đỉnh ngăn xếp có thể bị thay đởi
19
Minh họa con trỏ ngăn xếp
SP
Đỉnh Stack
Đáy Stack
20
Cơ chế hoạt động của SP
SP chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp
Khi cất một thông tin vào ngăn xếp:
Nội dung của SP tự động giảm
Thông tin được cất vào ngăn nhớ được trỏ bởi SP
Khi lấy một thông tin ra khỏi ngăn xếp:
Thông tin được đọc từ ngăn nhớ được trỏ bởi SP
Nội dung của SP tự động tăng
Khi ngăn xếp rỗng, SP trỏ vào đáy
21
Các thanh ghi dữ liệu
Chứa các dữ liệu tạm thời hoặc các kết quả
trung gian
Cần có nhiều thanh ghi dữ liệu
Các thanh ghi số nguyên: 8, 16, 32, 64 bit
Các thanh ghi số dấu phẩy động (ví dụ theo
tiêu chuẩn IEEE 754 là 32 bit, 64 bit, …)
22
Thanh ghi tích lũy A
Accumulator
Cất giữ toán hạng hoặc các kết quả
phép tính của ALU
23
Thanh ghi trạng thái
Còn gọi là thanh ghi cờ (Flag Register)
Chứa các thông tin trạng thái của CPU
Các cờ phép toán: báo hiệu trạng thái của kết quả
phép toán
Các cờ điều khiển: biểu thị trạng thái điều khiển
của CU
24
Ví dụ cờ phép toán
Cờ Zero (cờ rỗng): được thiết lập lên 1 khi kết quả
của phép toán bằng 0
Cờ Sign (cờ dấu): được thiết lập lên 1 khi kết quả
phép toán nhỏ hơn 0
Cờ Carry (cờ nhớ): được thiết lập lên 1 nếu phép
tốn có nhớ ra ngoài bit cao nhất cờ báo tràn với
số không dấu
Cờ Overflow (cờ tràn): được thiết lập lên 1 nếu
cộng hai số nguyên cùng dấu mà kết quả có dấu
ngược lại cờ báo tràn với số có dấu .
25