LOGO
KIẾN TRÚC MÁY TÍNH
Chương 11: BỘ XỬ LÝ TRUNG TÂM
(Central Processing Unit – CPU)
1/86
Chương 11. BỘ XỬ LÝ TRUNG TÂM
11.1
Cấu trúc cơ bản của CPU
11.2
Chế độ địa chỉ
11.3
Hoạt động của CPU
11.4
11.5
Kiến trúc máy tính
Các kỹ thuật tiên tiến của bộ xử lý
Kiến trúc Intel
2/86
11.1. Cấu trúc cơ bản của CPU
Nhiệm vụ của CPU
Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ bộ
nhớ.
Giải mã lệnh (Decode Instruction): xác định thao tác mà lệnh yêu
cầu.
Nhận dữ liệu (Fetch Data): nhận dữ liệu từ bộ nhớ
hoặc các cổng vào-ra.
Xử lý dữ liệu (Process Data): thực hiện phép toán số học hay
phép toán logic với các dữ liệu.
Ghi dữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay
cổng vào-ra
Kiến trúc máy tính
3/86
11.1. Cấu trúc cơ bản của CPU
Kiến trúc máy tính
4/86
11.1. Cấu trúc cơ bản của CPU
a. Đơn vị điều khiển (CU)
Chức năng:
Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh và tăng nội dung của
PC để trỏ sang lệnh kế tiếp.
Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác cần thực hiện và
phát ra 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ừ bus hệ thống và đáp ứng với các yêu cầu đó.
Kiến trúc máy tính
5/86
11.1. Cấu trúc cơ bản của CPU
a.
khiển
(CU)(CU)
a. Đơn
Đơnvịvịđiều
điều
khiển
Mô hình kết nối của đơn vị điều khiển:
Kiến trúc máy tính
6/86
11.1. Cấu trúc cơ bản của CPU
a.
khiển
(CU)(CU)
a. Đơn
Đơnvịvịđiều
điều
khiển
Các tín hiệu đưa đến đơn vị điều khiển:
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 CPU
Xung clock từ bộ tạo xung bên ngoài cung cấp cho đơn vị điều khiển làm
việc
Các tín hiệu yêu cầu từ bus điều khiển
Kiến trúc máy tính
7/86
11.1. Cấu trúc cơ bản của CPU
a.
khiển
(CU)(CU)
a. Đơn
Đơnvịvịđiều
điều
khiển
Các tín hiệu phát ra từ đơn vị điều khiển:
Các tín hiệu điều khiển bên trong CPU:
Điều khiển các thanh ghi
Điều khiển hoạt động của ALU
Các tín hiệu điều khiển bên ngoài CPU:
Điều khiển bộ nhớ chính
Điều khiển các module vào-ra
Kiến trúc máy tính
8/86
11.1. Cấu trúc cơ bản của CPU
b. Đơ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à các phép toán logic.
Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu, …
Logic: AND, OR, XOR, NOT, các phép dịch và quay bit
Kiến trúc máy tính
9/86
11.1. Cấu trúc cơ bản của CPU
Đơn vị số học và logic (ALU)
b.b. Đơn
vị số học và logic (ALU)
Mô hình kết nối của ALU:
Kiến trúc máy tính
10/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Chức năng và đặc điểm:
Tập hợp các thanh ghi nằm trong CPU
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ớ
Tuỳ thuộc vào bộ xử lý cụ thể
Số lượng thanh ghi nhiều tăng hiệu năng của CPU
Có hai loại thanh ghi:
Các thanh ghi lập trình được
Các thanh ghi không lập trình được
Kiến trúc máy tính
11/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Các thanh ghi địa chỉ
Bộ đếm chương trình (Program Counter – PC)
Con trỏ dữ liệu (Data Pointer – DP)
Con trỏ ngăn xếp (Stack Pointer – SP)
Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register)
Các thanh ghi dữ liệu
Thanh ghi trạng thái
Kiến trúc máy tính
12/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Thanh ghi PC
Còn gọi là con trỏ lệnh
(Instruction Pointer - IP)
Là thanh ghi chứa đị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
thì nội dung của PC tự động tăng
để trỏ sang lệnh kế tiếp nằm ngay
sau lệnh vừa được nhận.
Kiến trúc máy tính
13/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Thanh ghi con trỏ dữ liệu (DP)
Chứa địa chỉ của ngăn nhớ dữ liệu
mà CPU muốn truy cập.
Thường có một số thanh ghi con trỏ
dữ liệu.
Kiến trúc máy tính
14/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Con trỏ ngăn xếp (SP)
Ngăn xếp là vùng nhớ có cấu trúc
SP chứa địa chỉ của ngăn nhớ đỉnh ngăn
xếp
LIFO (Last In - First Out)
Khi cất một thông tin vào ngăn xếp:
Ngăn xếp thường dùng để phục vụ
Nội dung của SP tự động giảm
cho chương trình con
Thông tin được cất vào ngăn nhớ được
trỏ bởi SP
Đáy ngăn xếp là một ngăn nhớ xác
Khi lấy một thông tin ra khỏi ngăn xếp:
định
Thông tin được đọc từ ngăn nhớ được
trỏ bởi SP
Đỉnh ngăn xếp là thông tin nằm ở
Nội dung của SP tự động tăng
vị trí trên cùng trong ngăn xếp
Khi ngăn xếp rỗng, SP trỏ vào đáy
Đỉnh ngăn xếp có thể bị thay đổi
Kiến trúc máy tính
15/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Kiến trúc máy tính
Minh họa hoạt động của SP
16/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Thanh ghi cơ sở và thanh ghi chỉ số
Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở).
Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ mà CPU cần
truy cập so với ngăn nhớ cơ sở.
Địa chỉ của ngăn nhớ cần truy cập = địa chỉ cơ sở + chỉ số
Kiến trúc máy tính
17/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
Kiến trúc máy tính
Thanh ghi cơ sở và thanh ghi chỉ số
18/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
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 phục vụ cho
việc xử lý dữ liệu của CPU
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 chấm động
Kiến trúc máy tính
19/86
11.1. Cấu trúc cơ bản của CPU
c. Các thanh ghi
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: biểu thị trạng thái của kết quả phép toán
Các cờ điều khiển: điều khiển chế độ làm việc của CPU
Kiến trúc máy tính
20/86
11.1. Cấu trúc cơ bản của CPU
Ví dụ cờ phép toán
Cờ Zero (ZF - cờ rỗng): được thiết lập lên 1 khi kết quả của phép toán vừa thực
hiện xong bằng 0.
Cờ Sign (SF - cờ dấu): được thiết lập lên 1 khi kết quả của phép toán vừa thực
hiện nhỏ hơn 0, hay nói cách khác, cờ Sign nhận giá trị bằng bit dấu của kết quả.
Cờ Carry (CF - cờ nhớ): được thiết lập lên 1 nếu phép toán xảy ra hiện tượng
carry-out.
Cờ Overflow (OF - cờ tràn): được thiết lập lên 1 nếu phép toán xảy ra hiện tượng
overflow.
Kiến trúc máy tính
21/86
11.2. Các chế độ địa chỉ
a.
b.
c.
d.
e.
f.
g.
Chế độ địa chỉ tức thì
Chế độ địa chỉ trực tiếp
Chế độ địa chỉ gián tiếp
Chế độ địa chỉ thanh ghi
Chế độ địa chỉ thanh ghi gián tiếp
Chế độ địa chỉ dịch chuyển
Chế độ địa chỉ ngăn xếp
Các chế độ định địa chỉ cơ bản
a. Định địa chỉ tức thì
Dạng đơn giản nhất của định địa chỉ
Toán hạng = A
Chế độ này có thể được sử dụng để định nghĩa và sử
dụng các hằng số và thiết lập các giá trị ban đầu của biến
Các số thường được lưu trữ dưới dạng số bù
Bit ngoài cùng bên trái của trường toán hạng được sử dụng như
bit dấu
Ưu điểm:
Chỉ cần truy xuất bộ nhớ một lần (để lấy lệnh), do vậy tiết kiệm
một chu kỳ cache hoặc bộ nhớ trong chu kỳ lệnh.
Nhược điểm:
Kích thước của số bị giới hạn bởi kích thước của trường địa chỉ
vì thông thường kích thước của trường này nhỏ hơn kích thước
từ
b. Định địa chỉ trực tiếp
Trường địa chỉ chứa địa chỉ
hiệu dụng của toán hạng
Địa chỉ hiệu dụng (Effective
address (EA)) = trường địa chỉ
(Address field (A))
Phổ biến trong các thế hệ máy
tính trước đây
Tham chiếu bộ nhớ một lần để
lấy dữ liệu toán hạng
Hạn chế: chỉ cung cấp một
không gian địa chỉ hạn chế