HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÀI GIẢNG MÔN
VI XỬ LÝ
TS. Nguyễn Trọng Kiên
Khoa Kỹ thuật điện tử 2
2020
(Tài liệu trình chiếu này được sử dụng 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ử được biên soạn theo Giáo trình KT VXL)
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 2
CHƯƠNG 1
TNG QUAN V VI XỬ LÝ
H THNG VI XỬ LÝ
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 3
CC H THNG S ĐM
a. Hệ thp phân (Decimal)
b. Hệ nh phân (Binary).
c. Hệ thp lục phân (Hexadecimal Hex)
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 4
số 10
Cc s biu din bng 10 con s: 0-9
Biu din theo cc ct t phi qua tri: đơn v, chc, trăm
.
S
10
= C
n
B
n
+ C
n-1
B
n-1
+ C
n-2
B
n-2
+ + C
0
B
0
=
(i, n : nguyên dương, B l cơ s bt ky)
123
110
2
+ 210
1
+ 310
0
or
1 trăm, 2 chc v 3 đơn v
n
i
i
i
BC
0
Thập phân - Decimal
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 5
Nh phân - Binary
Cơ số 2
Tt cả cc s đu biu din bng hai s: 0 & 1
Trng s s tăng dn t phi qua tri.
01111011
12
6
+ 12
5
+ 12
4
+ 12
3
+ 02
2
+ 12
1
+ 12
0
= 164 + 132 + 116 + 18 + 04 + 12 + 11
= 123
MSB: bit có trng s lớn nht
LSB: bit có trng s nhỏ nht
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 6
Cc thuật ng v s nh phân
Mt s với trạng thi 0 hoc 1 đưc gi l 1 bit.
8 bit = 1 byte.
Nhiu hơn 1 byte th gi l 1 word(2 byte).
Thưng cc t nh phân : 8, 16, 32, 64 bit.
2
10
bit = 1 Kbit = 1024 bit
2
10
byte = 1 KB = 8 Kb (Kbit).
2
20
byte = 1 MB
2
30
byte = 1 GB
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 7
Đi thp phân ra nh phân
123 2 = 61 1
61 2 = 30 1
30 2 = 15 0
15 2 = 7 1
7 2 = 3 1
3 2 = 1 1
1 2 = 0 1
Least significant bit (LSB)
Most significant bit (MSB)
Kt qu : (123)
10
= (1111011)
2
V d Đi s (123)
10
thnh nh phân.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 8
Thập lục phân- Hexadecimal
Cơ số 16
Cc s biu din bng 16 k tự: 0-9 v A-F (cho 10
tới 15)
Trng s thay đi t phi qua tri l 1, 16, 256, 512,
1024, 2048, 4096
7B
716
1
+ 1116
0
= 123
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 9
Đi Decimal qua Hexa
123 16 = 7 11 (hay B)
7 16 = 0 7
Kt qu : (123)
10
= (7B)
16
Đi (123)
10
thnh s hex
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 10
Binary sang Hex / Hex sang Binary
Ngay cả mt s nh phân di cng th d dng
chuyn thnh s Hexa v ngược lại.
0111 1011
7 B
1011 1001 0110 1111 1010
B 9 6 F A
VD:
S hexa xut hin l đ viết gn s nh phân mt
cch nhanh chóng. Bn bit nh phân th viết thnh
1 s Hexa
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 11
M ASCII (American Standard Code for Information
Interchange) - 7-bit code
b3b2b1b0
000 001
010
011
100
101
110
111
0000 NUL DLE SP 0 @ P p
0001
SOH
DC1 ! 1 A Q a q
0010 STX DC2 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101
ENQ
NAK % 5 E U e u
0110
ACK
SYN & 6 F V f V
0111 BEL ETB 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS , < L \ l |
1101 CR GS - = M ] m }
1110 SO RS . > N ^ n ~
1111 SI US / ? O _ o
Send_char(0) 011 0000
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 12
Cc mch tch hp số
Trong cc mạch s cc cng bản đưc kết ni cng.
Mang mt chc năng c đnh không thay đi đưc.
Mun thc hin cc tnh năng khc nhau cn sử dụng
cc IC s khc nhau, khi mun thay đi tnh năng khc
cn thiết kế lại bản mạch đin tử kết ni với cc IC khc.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 13
a b c d e f
+ - +
x
x
V dụ 1: Mạch IC s thc hin php ton: S = (a+b)(c-d)(e+f)
Nhược đim:
Khi thêm mt php ton (i-j) vào hàm S cn thiết kế lại mạch khc.
Khi thay đi php ton (a+b) thnh (a-b) cn thc hin lại mạch.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 14
Công ngh CMOS
Complementary Metal Oxide Semiconductor (CMOS technology):
chỉ một loại công nghệ dùng để chế tạo mạch tích hợp. Công nghệ
CMOS được dùng để chế tạo vi xử lý, vi điều khiển, RAM tĩnh
các cổng logic khác.
Ưu điểm: Mạch logic CMOS tạo ra từ quy trình CMOS sẽ tiêu tán ít
năng lượng hơn khi trạng thái tĩnh cho phép tích hợp với mật độ
cao hơn so với các quy trình khác với cùng một chức năng
Mạch logic CMOS dùng một tổ hợp hai
loại transistor hiệu ứng trường kim loại-
oxide-bán dẫn (MOSFET) kiểu p kiểu
n để thực hiện các cổng logic các mạch
số khác chúng ta thấy trong máy vi
tính, thiết bị viễn thông xử tín hiệu.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 15
Ý tưởng thiết kế B vi x l
Công nghê CMOS (Complementary Metal-Oxide-
Semiconductor) cho php tch hợp rt nhiu đơn v cổng
logic trong din tch vi mm2 c thê thc hin tt c cc
chc năng , thc hin đưc hê thng đa năng va đây l
ng đu tiên đê thc hin vi xư ly.
Tối ưu hóa hiệu suất: Bộ vi xử phi đủ mạnh để xử
các tác vụ tính toán phức tạp một cách nhanh chóng, đp
ứng nhu cu ngày càng cao của các ứng dụng hiện đại.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 16
B vi x l
Bộ vi xử (Microprocessor) một mạch tích hợp (IC) chứa hàng
triệu bóng bán dẫn trên một chip nhỏ, thc hiện các chức năng tính
toán điều khiển chính của một hệ thng máy tính (VLSI). Vi xử
được coi "bộ não" của máy tính, nhiệm vụ xử tt c các lệnh,
dữ liệu tín hiệu từ phn cứng phn mềm.
Vi xử được sử dụng rộng rãi trong nhiều lĩnh vc. Dưới đây một
s ứng dụng chính: 1. Máy tính nhân; 2. Thiết b di động (ARM);
3. Hệ thng nhúng; 4. Điều khiển công nghiệp; 5. Thiết b mạng
viễn thông.
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 17
Sơ đồ cấu trúc h thống vi x l
Các khối chức năng chính của hệ
vi xử lý bao gồm:
-Khối xử lý trung tâm (Central
Processing Unit, CPU)
-Bộ nhớ bán dẫn (ROM - RAM)
-Khối phối ghep với các thiết bị
ngoại vi (Input/Output - I/O)
-Các bus truyền thông tin
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 18
CPU đng vai trò chủ đạo trong hệ vi xử l. Đây l một mạch vi điện tử c mật độ tch
hợp rt cao v c kh năng lập trình được. Khi hoạt động, CPU đọc mã lệnh được ghi
dưới dạng cc bt 0 và bít 1 từ bộ nhớ, sau đ sẽ giải mã cc lệnh v thc thi lệnh.
Cu trúc một bộ CPU gồm:
+Thanh ghi (Registers): L nơi lưu trữ tạm thời cc dliệu trong qu trình xử l,
giúp truy xut dữ liệu nhanh chng.
+ Bộ tính toán số học và lô-gíc (Arithmetic Logic Unit ALU): Thc hiện cc php tnh
so snh, ton học v cc thao tc logic.
+ Bộ điều khiển (Control Unit, CU): Điều phi v kiểm sot cc hoạt động của CPU,
gii mã lệnh từ bộ nhớ, điều phi việc thc thi lệnh v điểu khiển hoat động ALU.
B x l trung tâm (CPU)
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 19
Khi b nh l mt b phn khc rt quan trng của hệ vi xử
l. B nhớ trong thưng gồm b nhớ ROM v b nhớ RAM.
ROM: B nhớ ROM dùng đ lưu chương trình điu khin hoạt
đng của ton hệ thng đ khi bt điện thì CPU có th ly lệnh
t đây đ khởi đng hệ thng.
RAM: Mt phn của chương trình điu khin hệ
thng, cc chương trình ng dụng, dữ liệu cùng cc kết quả
của chương trình thưng được đt trong RAM.
Khối phối ghép vào/ra (I/O Interface): tạo ra khả năng kim
sot việc truyn dữ liu gia CPU v cc thiết b ngoại vi như
bn phm, mn nh,. Cc thiết b ngoi vi th l cc thiết
b cho php hệ thng vi x l v ngưi sử dụng th liên lạc
với nhau, hoc cc thiết b thc hin mt công vic no đó theo
sự điu khin của vi xử l. h
B nhớ RAM - ROM
BÀI GIẢNG MÔN
VI XỬ LÝ
Trang 20
Khối phối ghép vào/ra (I/O): Đây l bộ phận giúp hệ vi xử l giao
tiếp với cc thiết b ngoại vi, bao gồm thiết b nhập (input) v thiết b
xut (output).
Thiết bị vào (Input Devices): Cc thiết b nhập dữ liệu từ thế giới
bên ngoi vo hệ thng, v dụ như bn phm, chuột, cm biến, v.v.
Dữ liệu từ cc thiết b ny sẽ được đưa vo hệ vi xử l để xử l.
Thiết bị ra (Output Devices): Cc thiết b xut dữ liệu từ hệ vi xử
l ra bên ngoi, v dụ như mn hình, loa, my in, v.v. Hệ vi xử l sau
khi xử l dữ liệu sẽ gửi thông tin ra cc thiết b ny.
Để thực hiện chức năng này, nó sử dụng các cổng kết nối I/O:
Cổng USB (Universal Serial Bus), Cổng ni tiếp (Serial Port), Cổng
song song (Parallel Port), Cổng VGA (Video Graphics Array), Cổng
Ethernet (RJ45), Cổng PS/2, Cổng HDMI,….
Khối phối ghép vào/ra (I/O)

Preview text:

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 1
TỔNG QUAN VỀ VI XỬ LÝ
HỆ THỐNG VI XỬ LÝ Trang 2 BÀI GIẢNG MÔN VI XỬ LÝ
CÁC HỆ THỐNG SỐ ĐẾM
a. Hệ thập phân (Decimal) b. Hệ nhị phân (Binary).
c. Hệ thập lục phân (Hexadecimal – Hex) Trang 3 BÀI GIẢNG MÔN VI XỬ LÝ Thập phân - DecimalCơ số 10
• Các số biểu diễn bằng 10 con số: 0-9
• Biểu diễn theo các cột từ phải qua trái: đơn vị, chục, trăm …. 123 1102 + 2101 + 3100 or
1 trăm, 2 chục và 3 đơn vị n i S = C Bn + C Bn-1 + C Bn-2 + … + C B0 = C B 10 n n-1 n-2 0 i i0
(i, n : nguyên dương, B là cơ số bất kỳ) Trang 4 BÀI GIẢNG MÔN VI XỬ LÝ Nhị phân - BinaryCơ số 2
• Tất cả các số đều biểu diễn bằng hai số: 0 & 1
• Trọng số sẽ tăng dần từ phải qua trái. 01111011
126 + 125 + 124 + 123 + 022 + 121 + 120
= 164 + 132 + 116 + 18 + 04 + 12 + 11 = 123
• MSB: bit có trọng số lớn nhất
• LSB: bit có trọng số nhỏ nhất Trang 5 BÀI GIẢNG MÔN VI XỬ LÝ
Các thuật ngữ về số nhị phân
• Một số với trạng thái 0 hoặc 1 được gọi là 1 “bit”. • 8 bit = 1 “byte”.
• Nhiều hơn 1 byte có thể gọi là 1 “word” (2 byte).
• Thường các từ nhị phân có: 8, 16, 32, 64 bit.
• 210 bit = 1 Kbit = 1024 bit
• 210 byte = 1 KB = 8 Kb (Kbit). • 220 byte = 1 MB • 230 byte = 1 GB Trang 6 BÀI GIẢNG MÔN VI XỬ LÝ
Đổi thập phân ra nhị phân
Ví dụ – Đổi số (123)10 thành nhị phân. 123  2 = 61 dư 1 Least significant bit (LSB) 61  2 = 30 dư 1 30  2 = 15 dư 0 15  2 = 7 dư 1 7  2 = 3 dư 1 3  2 = 1 dư 1 1  2 = 0 dư 1 Most significant bit (MSB)
Kết quả : (123)10 = (1111011)2 Trang 7 BÀI GIẢNG MÔN VI XỬ LÝ
Thập lục phân- HexadecimalCơ số 16
• Các số biểu diễn bằng 16 ký tự: 0-9 và A-F (cho 10 tới 15)
• Trọng số thay đổi từ phải qua trái là 1, 16, 256, 512, 1024, 2048, 4096 … 7B 7161 + 11160 = 123 Trang 8 BÀI GIẢNG MÔN VI XỬ LÝ
Đổi Decimal qua Hexa
Đổi (123)10 thành số hex 123  16 = 7 dư 11 (hay B) 7  16 = 0 dư 7
Kết quả : (123)10 = (7B)16 Trang 9 BÀI GIẢNG MÔN VI XỬ LÝ
Binary sang Hex / Hex sang Binary
• Số hexa xuất hiện là để viết gọn số nhị phân một
cách nhanh chóng. Bốn bit nhị phân có thể viết thành 1 số Hexa 0111 1011 7 B
• Ngay cả một số nhị phân dài cũng có thể dễ dàng
chuyển thành số Hexa và ngược lại. 1011 1001 0110 1111 1010 VD: B 9 6 F A Trang 10 BÀI GIẢNG MÔN VI XỬ LÝ
Mã ASCII (American Standard Code for Information
Interchange) - 7-bit code Send_char(‘0’) – 011 0000 b3b2b1b0 000 001 010 011 100 101 110 111 0000 NUL DLE SP 0 @ P p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f V 0111 BEL ETB 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS , < L \ l | 1101 CR GS - = M ] m } 1110 SO RS . > N ^ n ~Trang 11 1111 SI US / ? O _ o DEL BÀI GIẢNG MÔN VI XỬ LÝ
Các mạch tích hợp số
• Trong các mạch số các cổng cơ bản được kết nối cứng.
• Mang một chức năng cố định không thay đổi được.
• Muốn thực hiện các tính năng khác nhau cần sử dụng
các IC số khác nhau, khi muốn thay đổi tính năng khác
cần thiết kế lại bản mạch điện tử kết nối với các IC khác. Trang 12 BÀI GIẢNG MÔN VI XỬ LÝ
Ví dụ 1: Mạch IC số thực hiện phép toán: S = (a+b)(c-d)(e+f) a b c d e f + - + x x Nhược điểm:
• Khi thêm một phép toán (i-j) vào hàm S cần thiết kế lại mạch khác.
• Khi thay đổi phép toán (a+b) thành (a-b) cần thực hiện lại mạch. Trang 13 BÀI GIẢNG MÔN VI XỬ LÝ Công nghệ CMOS
• Complementary Metal Oxide Semiconductor (CMOS technology):
chỉ một loại công nghệ dùng để chế tạo mạch tích hợp. Công nghệ
CMOS được dùng để chế tạo vi xử lý, vi điều khiển, RAM tĩnh và các cổng logic khác.
• Ưu điểm: Mạch logic CMOS tạo ra từ quy trình CMOS sẽ tiêu tán ít
năng lượng hơn khi ở trạng thái tĩnh và cho phép tích hợp với mật độ
cao hơn so với các quy trình khác với cùng một chức năng
•Mạch logic CMOS dùng một tổ hợp hai
loại transistor hiệu ứng trường kim loại-
oxide-bán dẫn (MOSFET) kiểu p và kiểu
n để thực hiện các cổng logic và các mạch
số khác mà chúng ta thấy trong máy vi
tính, thiết bị viễn thông và xử lý tín hiệu. Trang 14 BÀI GIẢNG MÔN VI XỬ LÝ
Ý tưởng thiết kế Bộ vi xử lý
• Công nghệ CMOS (Complementary Metal-Oxide-
Semiconductor) cho phép tích hợp rất nhiều đơn vị cổng
logic trong diện tích vài mm2 có thể thực hiện tất cả các
chức năng số, thực hiện được hệ thống đa năng và đây là ý
tưởng đầu tiên để thực hiện bộ vi xử lý.
Tối ưu hóa hiệu suất: Bộ vi xử lý phải đủ mạnh để xử lý
các tác vụ tính toán phức tạp một cách nhanh chóng, đáp
ứng nhu cầu ngày càng cao của các ứng dụng hiện đại. Trang 15 BÀI GIẢNG MÔN VI XỬ LÝ Bộ vi xử lý
• Bộ vi xử lý (Microprocessor) là một mạch tích hợp (IC) chứa hàng
triệu bóng bán dẫn trên một chip nhỏ, thực hiện các chức năng tính
toán và điều khiển chính của một hệ thống máy tính (VLSI). Vi xử lý
được coi là "bộ não" của máy tính, có nhiệm vụ xử lý tất cả các lệnh,
dữ liệu và tín hiệu từ phần cứng và phần mềm.
• Vi xử lý được sử dụng rộng rãi trong nhiều lĩnh vực. Dưới đây là một
số ứng dụng chính: 1. Máy tính cá nhân; 2. Thiết bị di động (ARM);
3. Hệ thống nhúng; 4. Điều khiển công nghiệp; 5. Thiết bị mạng và viễn thông. Trang 16 BÀI GIẢNG MÔN VI XỬ LÝ
Sơ đồ cấu trúc hệ thống vi xử lý
Các khối chức năng chính của hệ vi xử lý bao gồm:
-Khối xử lý trung tâm (Central Processing Unit, CPU)
-Bộ nhớ bán dẫn (ROM - RAM)
-Khối phối ghep với các thiết bị
ngoại vi (Input/Output - I/O) -Các bus truyền thông tin Trang 17 BÀI GIẢNG MÔN VI XỬ LÝ
Bộ xử lý trung tâm (CPU)
CPU đóng vai trò chủ đạo trong hệ vi xử lý. Đây là một mạch vi điện tử có mật độ tích
hợp rất cao và có khả năng lập trình được. Khi hoạt động, CPU đọc mã lệnh được ghi
dưới dạng các bít 0 và bít 1 từ bộ nhớ, sau đó sẽ giải mã các lệnh và thực thi lệnh.
Cấu trúc một bộ CPU gồm:
+Thanh ghi (Registers): Là nơi lưu trữ tạm thời các dữ liệu trong quá trình xử lý,
giúp truy xuất dữ liệu nhanh chóng.
+ Bộ tính toán số học và lô-gíc (Arithmetic Logic Unit ALU): Thực hiện các phép tính
so sánh, toán học và các thao tác logic.
+ Bộ điều khiển (Control Unit, CU): Điều phối và kiểm soát các hoạt động của CPU,
giải mã lệnh từ bộ nhớ, điều phối việc thực thi lệnh và điểu khiển hoat động ALU. Trang 18 BÀI GIẢNG MÔN VI XỬ LÝ Bộ nhớ RAM - ROM
• Khối bộ nhớ là một bộ phận khác rất quan trọng của hệ vi xử
lý. Bộ nhớ trong thường gồm bộ nhớ ROM và bộ nhớ RAM.
• ROM: Bộ nhớ ROM dùng để lưu chương trình điều khiển hoạt
động của toàn hệ thống để khi bật điện thì CPU có thể lấy lệnh
từ đây để khởi động hệ thống.
• RAM: Một phần của chương trình điều khiển hệ
thống, các chương trình ứng dụng, dữ liệu cùng các kết quả
của chương trình thường được đặt trong RAM.
Khối phối ghép vào/ra (I/O Interface): tạo ra khả năng kiểm
soát việc truyền dữ liệu giữa CPU và các thiết bị ngoại vi như
bàn phím, màn hình,…. Các thiết bị ngoại vi có thể là các thiết
bị cho phép hệ thống vi xử lý và người sử dụng có thể liên lạc
với nhau, hoặc các thiết bị thực hiện một công việc nào đó theo
sự điều khiển của vi xử lý. h Trang 19 BÀI GIẢNG MÔN VI XỬ LÝ
Khối phối ghép vào/ra (I/O)
Khối phối ghép vào/ra (I/O): Đây là bộ phận giúp hệ vi xử lý giao
tiếp với các thiết bị ngoại vi, bao gồm thiết bị nhập (input) và thiết bị xuất (output).
Thiết bị vào (Input Devices): Các thiết bị nhập dữ liệu từ thế giới
bên ngoài vào hệ thống, ví dụ như bàn phím, chuột, cảm biến, v.v.
Dữ liệu từ các thiết bị này sẽ được đưa vào hệ vi xử lý để xử lý.
Thiết bị ra (Output Devices): Các thiết bị xuất dữ liệu từ hệ vi xử
lý ra bên ngoài, ví dụ như màn hình, loa, máy in, v.v. Hệ vi xử lý sau
khi xử lý dữ liệu sẽ gửi thông tin ra các thiết bị này.
Để thực hiện chức năng này, nó sử dụng các cổng kết nối I/O:
Cổng USB (Universal Serial Bus), Cổng nối tiếp (Serial Port), Cổng
song song (Parallel Port), Cổng VGA (Video Graphics Array), Cổng
Ethernet (RJ45), Cổng PS/2, Cổng HDMI,…. Trang 20