You are on page 1of 21

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

VI XỬ LÝ
(Tài liệu trình chiếu này được sử dụng và hiệu chỉnh dưới sự đồng ý của Thầy Th.Sĩ
Nguyễn Trọng Huân)
(Bài giảng môn Vi Xử Lý được biên soạn theo Giáo trình KT VXL)

TS. Nguyễn Trọng Kiên


Khoa Kỹ thuật điện tử 2
2020
BÀI GIẢNG MÔN
VI XỬ LÝ

CHƯƠNG 2
CẤU TRÚC CỦA BỘ VI XỬ LÝ

Trang 2
BÀI GIẢNG MÔN
VI XỬ LÝ
Execution Unit EU BIU
Bus Interface Unit
Address Bus 20 bits

1. SƠ AH AL SUMMATION

ĐỒ BH BL
Data Bus

KHỐI CH CL
CS
DH DL
DS
SP
SS
BP
ES
DI
IO
BI
Internal Bus
Communications Control
Registers
8088
Bus

Temporary
Registers

Instruction Queue

ALU
EU
Control
1 2 3 4

Flags

Trang 3
BÀI GIẢNG MÔN
VI XỬ LÝ
Các khối chức năng chính
• Sơ đồ khối của VXL 8086 bao gồm hai khối
chính:
 BIU (Bus Interface Unit): Thực hiện tất cả các
giao tiếp với thế giới bên ngoài.
 EU (Execution Unit): Giải mã và thực hiện các
lệnh được lấy vào từ bộ nhớ

Trang 4
BÀI GIẢNG MÔN
VI XỬ LÝ
a. Khối giao tiếp BUS (BIU)
• BIU cung cấp các tín hiệu địa chỉ, dữ liệu và điều khiển để truy
cập các bộ nhớ và vào ra. Khối này cũng cho phép giao tiếp với bộ
đồng xử lý hoặc các bộ vi xử lý khác.
• Chức năng quan trọng nhất của BIU là tự động kích hoạt quá trình
lấy lệnh từ bộ nhớ sắp vào hàng đợi lệnh sẵn sàng cho EU giải mã
thực hiện. Nhờ hàng đợi lệnh (Queue) quá trình lấy lệnh từ bộ nhớ
thực hiện song song với các quá trình khác.
• BIU tạo ra địa chỉ vật lý cung cấp ra bên ngoài, bằng quá trình tính
toán từ các địa chỉ logic quản lý trong chương trình. Các địa chỉ
mà BIU tạo ra cung cấp tới các bộ cài (Address Latch) và sẽ được
định thời cung cấp ra bên ngoài tại các thời điểm thích hợp. Dữ
liệu truyền với CPU sẽ được chuyển qua các cổng đệm hai chiều
(Data Transceivers).
Trang 5
BÀI GIẢNG MÔN
VI XỬ LÝ
b. Khối thực hiện lệnh (EU)
• Chức năng của EU:
 EU giải mã các lệnh từ hàng đợi lệnh từ bộ nhớ lệnh trong
BIU.
 Thực hiện các phép tính số học và logic bằng ALU.
 Tính toán các địa chỉ tác động (EA – Effective Address) cho
quá trình truy cập bộ nhớ.
 Chỉ thị đoạn bộ nhớ sẽ sử dụng bằng cách chọn các thanh ghi
đoạn.
• Các khối chức năng của EU bao gồm:
 Bộ điều khiển (EU Control).
 Khối thực hiện các phép toán số học logic (ALU)
 Các cờ trạng thái (Flags).
 Các thanh ghi (Registers) Trang 6
BÀI GIẢNG MÔN
VI XỬ LÝ
Khối tính toán số học và logic (ALU)
• ALU là nơi thực hiện tất cả các phép tính số học và logic mà chương
trình yêu cầu

• Hai toán hạng vào có thể được lấy từ hai thanh ghi, một từ thanh ghi một
từ bộ nhớ.
• Trạng thái của kết quả được cung cấp tới các cờ (Flags).

Trang 7
BÀI GIẢNG MÔN
VI XỬ LÝ
2. Các thanh ghi của vi xử lý
Các thanh ghi là một bộ phân rất quang trọng một CPU. Đó là các
thanh ghi nằm bên trong CPU vì vậy có tốc độ truy xuất rất nhanh phù
hợp cho việc lưu trữ các biến tạm, các kết quả trả về từ ALU,…

Trang 8
BÀI GIẢNG MÔN
VI XỬ LÝ
Program Counter and Instruction register
Program Counter (PC): Instruction Register (IR):
•PC là một thanh ghi (register) trong CPU của •IR là một thanh ghi khác trong CPU.
máy tính. •IR lưu trữ lệnh hiện đang được thực thi hoặc
•Nó chứa địa chỉ của lệnh tiếp theo cần được sẽ được thực thi bởi CPU.
thực thi trong bộ nhớ. •Khi CPU đọc một lệnh từ bộ nhớ (được xác
•PC sẽ được cập nhật để trỏ đến địa chỉ của định bởi địa chỉ lưu trong PC), lệnh đó sẽ được
lệnh tiếp theo trong bộ nhớ khi đọc xong (fetch) đưa vào IR để tiến hành thực thi.
một lệnh.

Trang 9
BÀI GIẢNG MÔN
VI XỬ LÝ
a. Các thanh ghi đa năng
• AX (Accumulator) làm thanh ghi chứa dữ liệu cho lệnh nhân và chia.
Ví dụ: MUL BL; AX = AL * BL
• BX (Base): Sử dụng làm thanh ghi địa chỉ cơ sở.
Ví dụ: MOV AL,[BX] ; nội dung BX giữ địa chỉ của ô nhớ.
MOV AH,[BX+03] ;chép nội dung ô nhớ có địa chỉ [BX+3] vào AH.
MOV CH,[BX+DI+9]
• CX (Counter): Sử dụng làm bộ đếm số vòng lặp.
Ví dụ: LOOP N ; trừ CX đi 1, lặp lại nhãn N khi CX ≠0.
• DX (Data): Làm thanh ghi chứa dữ liệu trong các lệnh nhân chia 16 bit.
Làm thanh ghi giữ địa chỉ cổng vào ra.
Ví dụ: MUL BX; AX = AX*BX
DIV BX; DX chứa dư, AX chứa thương
OUT DX,BL ; chuyển nội dung BL ra cổng có địa chỉ DX

Trang 10
BÀI GIẢNG MÔN
VI XỬ LÝ
a. Các thanh ghi đa năng
 DI (Destination Index): thanh ghi chỉ số đích – Làm thanh ghi địa chỉ
hoặc giữ địa chỉ đích dữ liệu trong các lệnh về chuỗi.
Ví dụ: MOV AH,[DI]
MOV BH,[DI+7]
MOVSB
 SI (Source Index): thanh ghi chỉ số nguồn – Làm thanh ghi địa chỉ hoặc
giữ địa chỉ nguồn dữ liệu trong các lệnh về chuỗi.
Ví dụ:MOV AH,[SI]
MOV BH,[SI+7]
MOVSW
 BP (base pointer): Làm thanh ghi địa chỉ hoặc thanh ghi con trỏ cơ sở.
Ví dụ:MOV AL,[BP]
MOV AH,[BP+03]
MOV CH,[BP+DI+9]

Trang 11
BÀI GIẢNG MÔN
VI XỬ LÝ
b. Các thanh ghi đoạn (16 BIT)
 Các thanh ghi đoạn được sử dụng để quản lý địa chỉ
của bộ nhớ ngoài được kết nối với VXL:
• CS : Code Segment – Đoạn mã lệnh.
• DS : Data Segment – Đoạn dữ liệu.
• SS : Stack Segment – Đoạn ngăn xếp.
• ES : Extra Segment – Đoạn mở rộng.

Trang 12
BÀI GIẢNG MÔN
VI XỬ LÝ
Quản lý ngăn xếp (Stack)
1. Vai trò: Stack segment Là một đoạn bộ nhớ (thường đặt trong RAM) thường được sử dụng
để lưu trữ các biến cục bộ, tham số và các địa chỉ trả về của các hàm trong chương trình.
Ngoài ra ngăn xếp còn dùng để lưu các dữ liệu tạm thời.
2. Đặc điểm:
1. Stack segment thường được tổ chức dưới dạng một cấu trúc dữ liệu ngăn xếp (stack),
trong đó dữ liệu được lưu trữ theo kiểu "last in, first out" (LIFO).
2. Thanh ghi con trỏ ngăn xếp (SP-Stack Pointer) là thanh ghi có nội dung là địa chỉ
của ô nhớ trên cùng của ngăn xếp.

3. Quản lý: Stack segment thường được quản lý tự động bởi hệ điều hành hoặc bởi chương
trình thông qua các phần mềm runtime nhưng có thể được xác định bởi người lập trình thông
qua việc cấp phát và giải phóng bộ nhớ.
Trang 13
BÀI GIẢNG MÔN
VI XỬ LÝ
Giới thiệu cấu trúc một số bộ vi xử lý tiêu biểu
VXL x8086: Vi xử lý 8086 là một trong những vi xử lý đầu tiên được phát triển bởi Intel vào
những năm 1970 và 1980. Nó là một vi xử lý 16-bit và đã đặt nền móng cho nhiều hệ thống
máy tính cá nhân đầu tiên. Dưới đây là một số điểm quan trọng về vi xử lý 8086:
1.Kiến trúc 16-bit: Vi xử lý 8086 là một vi xử lý 16-bit, có khả năng xử lý dữ liệu và
địa chỉ 16-bit trong một chu kỳ máy (tức là một lần xung đồng hồ).
2.Kiến trúc CISC: 8086 sử dụng kiến trúc CISC (Complex Instruction Set
Computing), với một tập lệnh phong phú bao gồm các lệnh phức tạp và nhiều chế độ
hoạt động khác nhau.
3.Đa nhiệm và bộ nhớ chia sẻ: 8086 hỗ trợ đa nhiệm cơ bản thông qua sự chia sẻ bộ
nhớ và các ngắt phần cứng. Nó có thể chạy nhiều chương trình cùng một lúc, mỗi
chương trình có thể truy cập vào cùng một không gian bộ nhớ.
4.Bộ nhớ 1MB: 8086 có khả năng truy cập đến 1MB bộ nhớ, bao gồm RAM, ROM và
bộ nhớ I/O.
5.Sự phát triển và kế thừa: 8086 đã mở ra cánh cửa cho một loạt các vi xử lý Intel sau
này, bao gồm 8088, 80186, 80286 và 80386. Các vi xử lý này tiếp tục phát triển và cải
tiến từ vi xử lý 8086 gốc.

Trang 14
BÀI GIẢNG MÔN
VI XỬ LÝ
VXL x8086
MAXIMUM MINIMUM
MODE MODE

GND 1 40 Vcc
AD14 AD15  Vcc – chân nguồn (+5V)
AD13 A16,S3
AD12 A17,S4
 Gnd – chân nguồn (0V)
AD11 A18,S5  Chân đa hợp địa chỉ và dữ liệu
AD10 A19,S6
AD9 /BHE,S7 • AD0..AD15 (I/O)
AD8 MN,/MX
AD7 /RD
 Các chân địa chỉ
AD6
8086
/RQ,/GT0 HOLD • A0..A19
AD5 /RQ,/GT1 HLDA
AD4 /LOCK /WR • A19/S6, A18/S5, A17/S4, A16/S3 (output)
AD3 /S2 IO/M
AD2 /S1 DT/R
AD1 /S0 /DEN
AD0 QS0 ALE
NMI QS1 /INTA
INTR /TEST
CLK READY
GND 20 21 RESET
Trang 15
BÀI GIẢNG MÔN
VI XỬ LÝ
CHẾ ĐỘ ĐỊA CHỈ THEO ĐOẠN
•Chế độ địa chỉ logic:
Ví dụ:
Địa chỉ CS:IP = F000h:FFF0h

•Chế độ địa chỉ thực (vật lý):

CS F000h x 10h

+
IP FFF0h
=
FFFF0h

Trang 16
BÀI GIẢNG MÔN
VI XỬ LÝ
Phân đoạn bộ nhớ

Trang 17
BÀI GIẢNG MÔN
VI XỬ LÝ
Giới thiệu cấu trúc một số bộ vi xử lý tiêu biểu
Kiến trúc VXL 8051 : Họ vi điều khiển MCS -51 do Intel sản xuất đầu tiên vào năm 1980 là
các IC thiết kế cho các ứng dụng hướng điều khiển

Trang 18
BÀI GIẢNG MÔN
VI XỬ LÝ
Giới thiệu cấu trúc một số bộ vi xử lý tiêu biểu
VXL AT89C51: AT89C51 thực sự được phát triển dựa trên kiến trúc 8051. Đây là một vi điều
khiển 8-bit phổ biến được phát triển bởi Atmel (nay là Microchip Technology) và được sử
dụng rộng rãi trong các hệ thống nhúng và các dự án dựa trên vi điều khiển

Trang 19
BÀI GIẢNG MÔN
VI XỬ LÝ
Giới thiệu cấu trúc một số bộ vi xử lý tiêu biểu
Kiến trúc VXL ARM: Cấu trúc ARM (Advanced RISC Machine) là một kiến trúc máy tính
dựa trên RISC (Reduced Instruction Set Computing), được phát triển bởi ARM Holdings.
Kiến trúc ARM nổi tiếng với hiệu suất cao, tiêu thụ điện năng thấp và khả năng tích hợp trong
nhiều loại thiết bị từ điện thoại di động đến xe hơi thông minh. Dưới đây là một giới thiệu
tổng quan về cấu trúc ARM và các phiên bản quan trọng.
ARMv1: Được phát triển vào những năm 1980, ARMv1 là phiên bản đầu tiên của kiến trúc
ARM. Nó chủ yếu được sử dụng trong các ứng dụng nhúng và các hệ thống nhúng.
ARMv2: Được phát triển vào những năm 1990, ARMv2 bổ sung hỗ trợ cho các tính năng mới
như các bộ định thời và bộ nhớ cache. Nó được sử dụng rộng rãi trong các ứng dụng nhúng.
ARMv3: ARMv3 là phiên bản đầu tiên hỗ trợ dải rộng 32-bit và các tính năng như bảo vệ bộ
nhớ và hỗ trợ đa nhiệm. Nó là một bước đột phá trong việc phát triển kiến trúc ARM và đã
mở ra cánh cửa cho sự phổ biến rộng rãi của nó trong các thiết bị di động.
ARMv6 và ARMv7: Các phiên bản này tối ưu hóa hiệu suất và tiêu thụ năng lượng. ARMv7
bổ sung hỗ trợ cho phân đoạn bộ nhớ và trình cấp phát bộ nhớ trong hệ điều hành.

Vi xử lý ARM Cortex M3, M4, M7 là dòng vi xử lý sử dụng kiến trúc ARM cấu hình cho
các ứng dụng vi điều khiển với chi phí tiết kiệm nhưng vẫn rất mạnh mẽ.

Trang 20
BÀI GIẢNG MÔN
VI XỬ LÝ
Giới thiệu cấu trúc một số bộ vi xử lý tiêu biểu

Vi xử lý ARM Cortex M3, M4, M7 là dòng vi xử lý sử dụng kiến trúc ARM cấu
hình cho các ứng dụng vi điều khiển với chi phí tiết kiệm nhưng vẫn rất mạnh mẽ.

Vi xử lý lõi ARM Cortex dựa trên 3 cấu hình của kiến trúc ARMv7
•Cấu hình A: cho các ứng dụng Application, yêu cầu cao chạy trên các hệ điều hành
mở và phức tạp như Linux, Android…
•Cấu hình R: cho các ứng dụng thời gian thực Real Time
•Cấu hình M: cho các ứng dụng vi điều khiển Microcontroller

Trang 21

You might also like