Tải bản đầy đủ (.pptx) (52 trang)

Cấu trúc bên trong CPU1 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (569.13 KB, 52 trang )

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)


Mô hình kết nối
ALU chuyên sử lí dữ liệu nhưng không lưu dữ liệu.
7
Đơn vị điều khiển (CU)

Chức năng:

Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP

Tăng nội dung thanh ghi PC mỗi khi nhận lệnh song

Giải mã lệnh và xác định thao tác mà lệnh yêu cầu

Phát ra tín hiệu điều khiển thực thi lệnh

Nhận các tín hiệu yêu cầu từ BUS hệ thống và giải đáp
những yêu cầu đó
8
Đơn vị điều khiển (CU)
9
Mô hình kết nối
Đơn vị điều khiển (CU)

Tín hiệu vào Control Unit:

Clock: tín hiệu xung nhịp từ mạch tạo dao động
bênh ngoài.

Mã lệnh từ thanh ghi lệnh đưa đến CU để giải mã


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


Là vùng nhớ được CPU nhận biết qua tên thanh ghi và
có tốc độ truy xuất cực nhanh

Chứa 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

Số lượng thanh ghi tùy thuộc vào bộ vi xử lý cụ thể 
tăng hiệu năng CPU

Thanh ghi chia làm 2 loại: thanh ghi đặc biệt và thanh
ghi thông dụng.
13
Phân loại
Các thanh ghi mục đích chung (general registers)
Thanh ghi đoạn (segment register)
Thanh ghi con trỏ và chỉ số
Thanh ghi trạng thái (Flag Register)
14
General Registers

Các thanh ghi mục đích chung

Gồm các thanh ghi AX, BX, CX, DX, Các thanh
ghi này được sử dụng như các thanh ghi dữ liệu
16 bít hay hai thanh ghi dữ liệu chiều dài 8 bít.

Các thanh ghi mục đích chung được dùng để
chứa các dữ liệu cần thiết khi thực hiện các phép
toán hoặc các tác vụ xuất nhập
15

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


CX (Counter register) : thanh ghi này dùng làm bộ
đếm trong các vòng lặp. Các lệnh tự động lặp lại và
sau mỗi lần lặp giá trị của CX tự động giảm đi 1.

CX thường chứa số lần dịch, quay trong các lệnh dịch,
quay thanh ghi.
18
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CLCH
Thanh ghi DX

Thanh ghi DX (Data register) : dài 16 bit nhưng nó
cũng có thể chia làm 2 thanh ghi 8 bit DH và DL

Dùng để lưu kết quả của phép toán nhân chia, định địa
chỉ cổng trong các lệnh nhập xuất cổng.
MOV AX, 62 ; AX ← 62
MOV DX, 1000 ; DX ← 1000
OUT DX, AL ; đưa nội dung AL (62) ra cổng DX (1000).
19
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DLDH
General Registers

Đối với một số CPU đời mới (80386), có các
thanh ghi dài 32, 64 bit. Ta ghi thêm E đứng
trước tên các thanh ghi 16 bit
EAX, EBX, ECX, EDX
20

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ố


Bộ đếm chương trình PC (Pointer Counter)

Còn được gọi là con trỏ lệnh IP (Instruction Pointer)

Giữ đị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
23
Thanh ghi con trỏ và chỉ số
24
. . .
Lệnh
Lệnh
Lệnh
Lệnh sẽ được
nhận vào
Lệnh kế tiếp
Lệnh
Lệnh
. . .
PC
Thanh ghi con trỏ và chỉ số

Thanh ghi con trỏ dữ liệu (Data Pointer)

Chứa địa chỉ của ngăn nhớ dữ liệu mà CPU muốn
truy nhập


Thường có một số thanh ghi con trỏ dữ liệu
25

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×