Bài giảng Kiến trúc máy tính - Chương 2: Khối xử lý trung tâm - Hoàng Xuân Dậu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG  
BÀI GIẢNG MÔN  
KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
Giảng viên:  
Điện thoại/E-mail:  
TS. Hoàng Xuân Dậu  
Bộ môn:  
Khoa học máy tính - Khoa CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
Học kỳ/Năm biên soạn: Học kỳ 2 năm học 2009-2010  
NỘI DUNG  
1. Sơ đồ khối tổng quát của CPU  
2. Chu trình xử lý lệnh của CPU  
3. Các thanh ghi của CPU  
4. Bộ điều khiển CU  
5. Bộ tính toán số học & logic ALU  
6. Bus trong CPU  
7. Sơ đồ khối một số CPU  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 2BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
2.1 Sơ đồ khối tổng quát của CPU  
CU: Control Unit  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 3BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
CU  
A
Y
MAR: Memory Address Register  
MBR: Memory Buffer Register  
IR  
PC  
ALU  
A
Bus  
MAR  
MBR  
Z
D
Bus  
FR  
IR: Instruction Register  
PC: Program Counter  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 4BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
A: Accumulator Register  
Y, Z: Temporary Register  
FR: Flag Register  
ALU: Arithmetic and  
Logic Unit  
2.2 Chu trình xử lý lệnh của CPU  
1. Khi một chương trình được thực hiện, hệ điều hành (OS -  
Operating System) nạp mã chương trình vào bộ nhớ trong;  
2. Địa chỉ của ô nhớ chứa lệnh đầu tiên của chương trình  
được nạp vào bộ đếm chương trình PC;  
3. Địa chỉ ô nhớ chứa lệnh từ PC được chuyển đến bus A  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 5BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
thông qua thanh ghi MAR;  
4. Bus A chuyển địa chỉ ô nhớ đến đơn vị quản lý bộ nhớ  
(MMU - Memory Management Unit);  
5. MMU chọn ra ô nhớ và thực hiện lệnh đọc nội dung ô nhớ;  
6. Lệnh (chứa trong ô nhớ) được chuyển ra bus D và tiếp theo  
được chuyển tiếp đến thanh ghi MBR;  
2.2 Chu trình xử lý lệnh của CPU  
7. MBR chuyển lệnh đến thanh ghi lệnh IR; IR chuyển lệnh  
vào bộ điều khiển CU;  
8. CU giải mã lệnh và sinh các tín hiệu điều khiển cần thiết,  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 6BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
yêu cầu các bộ phận chức năng như ALU thực hiện lệnh;  
9. Giá trị địa chỉ trong bộ đếm PC được tăng lên 1 đơn vị và  
nó trỏ đến địa chỉ của ô nhớ chứa lệnh tiếp theo;  
10.Các bước từ 3-9 được lặp lại với tất cả các lệnh của  
chương trình.  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 7BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
2.3 Các thanh ghi của CPU  
Thanh ghi (registers) là các ô nhớ bên trong CPU:  
. Lưu trữ tạm thời lệnh và dữ liệu cho CPU xử lý;  
. Kích thước nhỏ;  
. Tốc độ rất cao (bằng tốc độ CPU)  
Các CPU cũ (80x86) có 16-32 thanh ghi; các CPU hiện đại  
(Pentium 4 và Core Duo) có hàng trăm thanh ghi;  
Kích thước thanh ghi phụ thuộc vào thiết kế CPU. Các kích  
thước thông dụng của thanh ghi là 8, 16, 32, 64, 128 và 256  
bit:  
. 8086-80286: 8 và 16 bit  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 8BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
. 80386-Pentium II: 16-32 bit  
. Pentium 4, Core Duo: 32, 64 và 128 bit.  
2.3.1 Thanh tích luỹ A (Accumulator)  
Thanh tích luỹ A là một trong các thanh ghi quan trọng nhất  
của hầu hết các CPU:  
. A được dùng để chứa toán hạng đầu vào  
. A được dùng để chứa kết quả đầu ra  
Kích thước của A bằng kích thước từ xử lý của CPU: 8, 16,  
32 và 64 bit.  
A cũng được sử dụng để trao đổi dữ liệu với các thiết bị vào  
ra.  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 9BỘ MÔN: KHOA HỌC MÁY  
TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
2.3.1 Thanh tích luỹ A (Accumulator)  
Ví dụ: tính x + y s  
. Nạp toán hạng x vào thanh ghi A  
. Nạp toán hạng y vào thanh ghi Y  
. ALU thực hiện phép cộng A + Y và lưu kết quả vào thanh ghi Z  
.Kết quả phép tính từ Z được chuyển về thanh ghi A.  
2.3.2 Bộ đếm chương trình PC  
Bộ đếm chương trình PC (Program Counter) hoặc con trỏ  
lệnh (IP – Instruction Pointer) luôn chứa địa chỉ của ô nhớ  
chứa lệnh được thực hiện tiếp theo;  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 10BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
PC chứa địa chỉ của ô nhớ chứa lệnh đầu tiên của chương  
trình khi nó được kích hoạt và được nạp vào bộ nhớ;  
Khi CPU thực hiện xong lệnh, địa chỉ của ô nhớ chứa lệnh  
tiếp theo được nạp vào PC;  
Kích thước PC phụ thuộc vào thiết kế CPU. Các kích thước  
thông dụng là 8, 16, 32 và 64 bit.  
2.3.3 Thanh ghi trạng thái FR  
Thanh ghi trạng thái (SR - Status Register) hoặc thanh ghi  
cờ (FR – Flag Register): mỗi bít của FR lưu trạng thái của  
kết quả của phép tính ALU thực hiện;  
Hai loại bít cờ:  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 11BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
. Cờ trạng thái: CF, OF, AF, ZF, PF, SF  
. Cờ điều khiển: IF, TF, DF  
Các bít cờ thường được sử dụng như là các điều kiện trong  
các lệnh rẽ nhánh để tạo logic chương trình;  
Kích thước của thanh ghi FR phụ thuộc thiết kế CPU.  
2.3.3 Thanh ghi trạng thái FR  
ZF: Cờ Zero, ZF=1 nếu kết quả=0 và ZF=0 nếu kết quả<>0.  
SF: Cờ dấu, SF=1 nếu kết quả âm và SF=0 nếu kết quả dương.  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 12BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
CF: Cờ nhớ, CF=1 nếu có nhớ/mượn, CF=0 trong trường hợp khác.  
AF: Cờ nhớ phụ, AF=1 nếu có nhớ/mượn ở nửa thấp của toán hạng.  
OF: Cờ tràn, OF=1 nếu xảy ra tràn, OF=0 trong trường hợp khác.  
PF: Cờ chẵn lẻ, PF=1 nếu tổng số bit 1 trong kết quả là lẻ và PF=0 nếu  
tổng số bit 1 trong kết quả là chẵn.  
IF: Cờ ngắt, IF=1: cho phép ngắt, IF=0: cấm ngắt.  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 13BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
2.3.3 ThanhCgHƯhƠiNtGrạ2 –nKgHỐtIhXỬáiLÝFTRRUNcGủTaÂM8086  
2.3.4 Con trỏ ngăn xếp SP  
Ngăn xếp là bộ nhớ đặc biệt hoạt động theo nguyên lý  
vào sau ra trước (LIFO);  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 14BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
Con trỏ ngăn xếp SP (Stack Pointer) là một thanh  
SP  
ghi luôn chứa địa chỉ đỉnh ngăn xếp;  
thao tác chính với ngăn xếp:  
Hai  
. Push: đẩy dữ liệu ra khỏi ngăn xếp  
SP SP + 1  
{SP} Data  
Stack  
. Pop: lấy dữ liệu ra khỏi ngăn xếp  
Register {SP}  
SP SP - 1  
2.3.5 Các thanh ghi tổng quát  
Các thanh ghi tổng quát (General Purpose Registers) là các  
thanh ghi đa năng, có thể được sử dụng cho nhiều mục  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 15BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
đích:  
. Được dùng để chứa toán hạng đầu vào  
. Được dùng để chứa kết quả đầu ra  
Ví dụ: CPU Intel 8086 có 4 thanh ghi tổng quát:  
. AX: Thanh tích luỹ  
. BX: Thanh ghi cơ sở  
. CX: Thanh đếm  
. DX: Thanh ghi dữ liệu  
2.3.5 Thanh ghi lệnh IR  
Thanh ghi lệnh IR (Instruction register) lưu lệnh đang thực  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 16BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
hiện;  
IR nhận lệnh từ MBR và chuyển đến CU giải mã và thực  
hiện.  
MBR  
IR  
CU  
2.3.6 Các thanh ghi MAR và MBR  
MAR – Thanh ghi địa chỉ bộ nhớ (Memory address register):  
. Là giao diện giữa CPU và bus A  
. Nhận địa chỉ ô nhớ chứa lệnh tiếp theo từ PC và chuyển tiếp  
ra bus A.  
MBR – Thanh ghi đệm dữ liệu (Memory buffer register):  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 17BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
. Là giao diện giữa CPU và bus D  
. Nhận lệnh từ bus D và chuyển tiếp đến IR thông qua bus trong  
CPU.  
2.3.7 Các thanh ghi tạm thời  
CPU thường sử dụng một số thanh ghi tạm thời để:  
. Để chứa toán hạng đầu vào  
. Để chứa kết quả đầu ra  
. Hỗ trợ xử lý song song (thực hiện nhiều lệnh cùng một thời  
điểm)  
. Hỗ trợ thực hiện lệnh trong cơ chế thực hiện lệnh tiên tiến kiểu  
không theo trật tự (OOO – Out Of Order execution).  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 18BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
2.4 Đơn vị điều khiển CU  
Internal  
control  
signal  
External  
control  
signal  
Control Unit  
ALU  
Flags  
CLK  
CU  
IR  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 19BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
BÀI GIẢNG MÔN KIẾN TRÚC MÁY TÍNH  
CHƯƠNG 2 – KHỐI XỬ LÝ TRUNG TÂM  
2.4 Đơn vị điều khiển CU  
Đơn vị điều khiển CU (Control Unit) điều khiển toàn bộ các  
hoạt động của CPU theo xung nhịp đồng hồ; CU nhận 3  
tín hiệu đầu vào:  
. Lệnh từ IR  
. Giá trị các cờ trạng thái  
. Xung đồng hồ  
CU sinh 2 nhóm tín hiệu đầu ra:  
. Nhóm tín hiệu điều khiển các bộ phận bên trong CPU;  
. Nhóm tín hiệu điều khiển các bộ phận bên ngoài CPU  
CU sử dụng nhịp đồng hồ để đồng bộ các đơn vị chức năng  
GIẢNG VIÊN: TS. HOÀNG XUÂN DẬU Trang 20BỘ MÔN: KHOA HỌC  
MÁY TÍNH - KHOA CNTT1  
Tải về để xem bản đầy đủ
pdf 39 trang yennguyen 21801 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 2: Khối xử lý trung tâm - Hoàng Xuân Dậu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_2_khoi_xu_ly_trung_tam_h.pdf