LOGO
1
GVHD: Nguyễn Đăng Quan
Nguyễn Hoài Nam – DCT1121
Cấu trúc bên trong CPU
Cấu trúc cơ bản
2
Cấu trúc bên trong CPU
3
Cấu trúc bên trong CPU
4
Cấu trúc cơ bản
1. Đơn vị điều khiển (Control Unit – CU)
2. Đơn vị số học và logic (Arithmetic and Logic
Unit - ALU)
3. Tập thanh ghi (Register File - RF)
và Bus bên trong (Internal Bus)
5
Đơn vị số học (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, XOR, NOT, phép dịch bit.
6
Đơn vị số học (ALU)
Các cờ từ thanh ghi cờ cho biết trạng thái của CPU
Các tín hiệu điều khiển từ BUS điều khiển
10
Đơn vị điều khiển (CU)
Tín hiệu ra Control Unit:
Các tín hiệu điều kiển bên trong CPU:
Đ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 CPU:
Điều khiển bộ nhớ
Điều khiển các module vào/ra
11
Tập thanh ghi (Registers)
Là các phần tử có khả năng lưu trữ thông tin với
dung lượng 8, 16 , 32, 64 bit.
Được xây dựng từ các FlipFlop nên có tốc độ
truy xuất rất nhanh.
12
Tập thanh ghi (Registers)
Chức năng
•
Thanh ghi AX
Thanh ghi AX (Accumulator register) : thanh ghi tích
luỹ.
Thí dụ nếu AX=1234h thì AH=12H AL=34h
Đây là thanh ghi chính để thực hiện các phép toán số
học, các lệnh xuất nhập cổng. Ngoài ra nó cũng được
dùng trong một số lệnh xử lý chuỗi.
MUL BH ; AX ← AL*BH
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ALAH
Thanh ghi BX
Thanh ghi BX (Base register) : dài 16 bit nhưng nó
cũng có thể chia làm 2 thanh ghi 8 bit BH và BL
Thường thanh ghi BX được dùng trong phép định địa
chỉ cơ sở khi truy xuất các dữ liệu trong bộ nhớ.
Ví dụ: MOV [BX], AX
Lấy nội dung thanh ghi AX đưa vào bộ nhớ có địa chỉ segment
là DS và địa chỉ offset BX.
17
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BLBH
Thanh ghi CX
Thanh ghi đoạn ( segemt R.)
CPU có 4 thanh ghi segment dài 16 bit, các thanh ghi
này không thể chia làm 2 thanh ghi 8 bit như 4 thanh
ghi AX,BX,CX và DX.
Các thanh ghi đoạn được sử dụng như là địa chỉ cơ sở
của các lệnh trong chương trình, stack và dữ liệu.
4 thanh ghi đoạn : CS (Code Segment), DS (Data
Segment), SS (Stack Segment) và ES (Extra
Segment).
21
Thanh ghi đoạn ( segemt R.)
CS (Code segment): xác định đoạn lệnh – nơi chứa
chương trình được thi hành.
DS (Code segment): xác định đoạn dữ liệu – nơi chứa
chương trình được thi hành.
SS (Stack segment): xác định đoạn stack – vùng làm
việc tạm thời dùng để theo dõi các tham số và các địa
chỉ đang được chương trình hiện hành sử dụng.
ES (extra segment): trỏ đến đoạn thêm, thường được
dùng để bổ sung cho đoạn dữ liệu có vùng nhớ
>64k cho đoạn dữ liệu.
22
Thanh ghi con trỏ và chỉ số
Thường có một số thanh ghi con trỏ dữ liệu
25