
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
TÊN HỌC PHẦN : KỸ THUẬT VI XỬ LÝ
MÃ HỌC PHẦN : 17301
HỆ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY

MỤC LỤC
Chương 1 : TỔNG QUAN ...................................................................................................... 1
1.1. Tổng quan ....................................................................................................................... 1
1.1.1. Bộ vi xử lý ............................................................................................................... 1
1.1.2. Hệ vi xử lý ............................................................................................................... 1
1.2. Các đặc điểm cấu trúc của bộ vi xử lý ............................................................................ 2
1.2.1. Công suất của bộ vi xử lý ........................................................................................ 2
1.2.2. Những đặc tính nâng cao tốc độ của bộ vi xử lý ..................................................... 3
1.3. Tập lệnh của bộ vi xử lý ................................................................................................. 5
Chương 2 : CẤU TRÚC CÁC BỘ VI XỬ LÝ ...................................................................... 6
2.1. Bộ VXL cấp thấp (8bit) .................................................................................................. 6
2.1.1. Đơn vị số học – logic ALU ..................................................................................... 6
2.1.2. Các thanh ghi (Registers) ........................................................................................ 6
2.1.3. Khối logic điều khiển CL ( Control Logic) ............................................................. 7
2.2. Bộ VXL cấp cao ............................................................................................................. 8
Chương 3: BỘ VI XỬ LÝ 8088 .............................................................................................. 9
3.1. Cấu trúc vi xử lý 8088. ................................................................................................... 9
3.2. Tập các thanh ghi. ......................................................................................................... 11
3.3. Phương pháp quản lý bộ nhớ ........................................................................................ 16
3.4. Ngắt .............................................................................................................................. 17
3.4.1. Khái niệm ngắt ...................................................................................................... 17
3.4.2. Các loại ngắt và bảng vector ngắt .......................................................................... 18
3.4.3. Gọi ngắt ................................................................................................................. 21
3.5. Mã hoá lệnh .................................................................................................................. 21
Chương 4 : LẬP TRÌNH BẰNG HỢP NGỮ ...................................................................... 24
4.1. Tổng quan, cấu trúc hợp ngữ (Assembly) .................................................................... 24
4.1.1. Cú pháp của chương trình hợp ngữ ....................................................................... 24
4.1.2. Khung của một chương trình hợp ngữ ................................................................... 25
4.2. Dữ liệu trong Assembly ................................................................................................ 29
4.2.1. Dữ liệu cho chương trình ....................................................................................... 29
4.2.2. Biến và hằng .......................................................................................................... 29
4.3. Vào/ra trong Assembly ................................................................................................. 31
4.4. Nhóm lệnh dịch chuyển dữ liệu .................................................................................... 32
4.4.1. Lệnh Mov (Move) ................................................................................................. 32
4.4.2. Lệnh LEA (LoadEffectiveAddress)....................................................................... 33
4.4.3. Lệnh chuyển dữ liệu qua cổng: IN và OUT .......................................................... 34
4.5. Nhóm lệnh tính toán số học .......................................................................................... 35

4.5.1. Lệnh cộng .............................................................................................................. 35
4.5.2. Lệnh trừ ................................................................................................................. 35
4.5.3. Lệnh nhân .............................................................................................................. 35
4.5.4. Lệnh chia ............................................................................................................... 36
4.6. Nhóm lệnh chuyển điều khiển ...................................................................................... 36
4.6.1. Lệnh nhẩy không có điều kiện ............................................................................... 36
4.6.2. Lệnh so sánh .......................................................................................................... 37
4.6.3. Lệnh nhẩy có điều kiện .......................................................................................... 38
4.6.4. Lệnh lặp ................................................................................................................. 38
4.7. Nhóm lệnh Logic .......................................................................................................... 38
4.7.1. Lệnh And ............................................................................................................... 38
4.7.2. Lệnh OR ................................................................................................................ 39
4.7.3. Lệnh XOR ............................................................................................................. 39
4.7.4. Lệnh NOT .............................................................................................................. 39
4.8. Nhóm lệnh dịch và quay ............................................................................................... 40
4.8.1. Lệnh dịch ............................................................................................................... 40
4.8.2. Lệnh quay .............................................................................................................. 41
Chương 5 : TỔ CHỨC VÀO/RA DỮ LIỆU ....................................................................... 43
5.1. Các chân tín hiệu của 8088 và các mạch phụ trợ ......................................................... 43
5.1.1. Các tín hiệu của 8088 ............................................................................................ 43
5.1.2. Phân kênh để tách thông tin và việc đệm cho các bus ........................................... 46
5.1.3. Mạch tạo xung nhịp 8284. ..................................................................................... 47
5.1.4. Mạch điều khiển bus 8288 ..................................................................................... 49
5.1.5. Biểu đồ thời gian của các lệnh ghi/đọc .................................................................. 50
5.2. Phối ghép 8088 với bộ nhớ ........................................................................................... 53
5.2.1. Bộ nhớ bán dẫn ...................................................................................................... 53
5.2.2. Giải mã địa chỉ cho bộ nhớ .................................................................................... 56
5.2.3. Phối ghép CPU 8088 - 5MHz với bộ nhớ ............................................................. 60
5.3. Phối ghép 8088 với thiết bị ngoại vi ............................................................................. 61
5.3.1. Các kiểu phối ghép vào/ra ..................................................................................... 61
5.3.2. Giải mã địa chỉ cho thiết bị vào/ra ......................................................................... 62
5.3.3. Các lệnh vào/ra dữ liệu .......................................................................................... 63
5.3.4. Mạch phối ghép vào/ra song song lập trình được 8255A ...................................... 64
5.4. Một số phối ghép cơ bản .............................................................................................. 69
5.4.1. Phối ghép với bàn phím ......................................................................................... 69
5.4.2. Phối ghép với đèn Led ........................................................................................... 77

Bài giảng Kỹ thuật Vi xử lý – Khoa CNTT – ĐHHH Việt Nam
Phạm Trung Minh – Khoa CNTT 1
Chương 1 : TỔNG QUAN
1.1. Tổng quan
1.1.1. Bộ vi xử lý
Trong các thế hệ máy tính số, khối xử lý trung tâm CPU (Central processing unit) thực hiện
các chức năng chính quyết định tên gọi của máy tính : đó là thực hiện các phép xử lý dữ liệu
như các phép tính số học, logic.. các trao đổi dữ liệu bộ nhớ, với các ngoại vi.. Khối CPU là
tập hợp các logic điều khiển và các thanh ghi gồm nhiều vi mạch với mực độ tích hợp khác
nhau. Cũng giống như CPU, bộ vi xử lý có các mạch số thực hiện xử lý và tính toán dữ liệu
dưới sự điều khiển của chương trình. Nhưng điều khác cơ bản đối với CPU bình thường ở chỗ
là toàn bộ các mạch số của bộ vi xử lý được tích hợp trong một chip vi mạch tích hợp mật độ
cao LSI hoặc VLSI, điều này làm tăng tốc độ xử lý lên rất nhiều vì sự trễ tín hiệu do liên kết
giữa các mạch số không đáng kể nữa.
Cũng như CPU của các máy tính số, chức năng chính của bộ vi xử lý là xử lý dữ liệu, bao
gồm tính toán (computing) và thao tác với dữ liệu (handling).
Quá trình tính toán được tập hợp các vi mạch logic, thường gọi là ALU(đơn vị số học và
logic) thực hiện. Đó là các lệnh số học căn bản như : ADD, SUB, MUL, DIV, các phép
Logic, các phép so sánh …
Để xử lý dữ liệu, bộ vi xử lý cần phải có đơn vị logic điều khiển CU để chỉ bảo bộ vi xử lý
phải giải mã và thực hiện lệnh theo chương trình như thế nào. Chương trình là tập hợp các
lệnh máy (instruction set) mà bộ vi xử lý có thể thực hiện được. Chương trình được lưu trong
bộ nhớ chính của máy tính nằm bên ngoài chip vi xử lý. Điều này có nghĩa là phải đọc các
lệnh (instruction fetch) của chương trình vào bộ vi xử lý để thực hiện. Lệch đọc vào bộ vi xử
lý được giải mã (decode) để tạo ra những chuỗi những tín hiệu điều khiển từ CU theo thời
gian để thực hiện các phép xử lý dữ liệu do lệnh yêu cầu.
Như vậy, xử lý dữ liệu của bộ vi xử lý đòi hỏi 3 bước :
Bước thứ nhất : đọc lệnh (instruction fetch).
Bước thứ hai : CU giải mã lệnh (instruction decode).
Bước thứ ba : ALU thực hiện lệnh
Toàn bộ các bước này hoàn thành một chu kỳ đọc và thực hiện lệnh (Fetch and execute
cycle).
Đơn vị CU của bộ vi xử lý còn phải thực hiện điều khiển giao tiếp với ccs hệ thống bên ngoài
của bộ vi xử lý : bộ nhớ, các thiết bị vào ra. Sự trao đổi dữ liệu giữa bộ vi xử lý và các thiết bị
bên ngoài cũng cần phải có các mạch Input/Output (I/O circuit).
Trong bộ vi xử lý, các đơn vị liên kết dữ liệu với nhau thông qua bus bên trong (internal bus),
và sự liên kết với thế giới bên ngoài thực hiện bằng các bus bên ngoài (system bus).
1.1.2. Hệ vi xử lý
Hệ vi xử lý và bộ vi xử lý là hai khái niệm khác nhau. Bộ vi xử lý là một hay vài vi mạch tổ
hợp lớn với chức năng chủ yếu là xử lý dữ liệu và điều khiển. Hệ vi xử lý là một hệ thống tính
toán với đơn vị xử lý trung tâm là bộ vi xử lý và các đơn vị ngoài kết nối với nó.

Bài giảng Kỹ thuật Vi xử lý – Khoa CNTT – ĐHHH Việt Nam
Phạm Trung Minh – Khoa CNTT 2
Một hệ thống máy tính bao gồm các thành phần như hình vẽ trên (theo nguyên lý Von
Newman cổ điển). Các thành phần trên không thể đứng rời rạc với nhau, cần có sự liên kết
giữa các thành phần để tạo thành 1 khối thống nhất hoàn chỉnh. Hệ vi xử lý thực tế chính là
một hệ thống máy tính được xét theo góc độ kỹ thuật ghép nối các thành phần lại với nhau để
đạt được sự đồng bộ, ổn định và công suất cao.
Trong 1 hệ vi xử lý, bộ vi xử lý đóng vai trò quan trọng nhất, các thành phần còn lại phải có
khả năng hoạt động tương thích với bộ vi xử lý. Vì vậy tên của hệ vi xử lý thường được lấy
theo tên của dòng vi xử lý. Các thành phần khác trong hệ vi xử lý (Ram, Rom, HDD,
MainBoard…) đều phải các thành phần có thể hoạt động ổn định có hiệu suất cao khi được
phối ghép vào cùng 1 hệ thống với bộ vi xử lý.
1.2. Các đặc điểm cấu trúc của bộ vi xử lý
1.2.1. Công suất của bộ vi xử lý
Công suất của bộ vi xử lý là khả năng xử lý dữ liệu, nó gồm có những đặc điểm sau
đây : độ dài từ của bộ vi xử lý (data word length), tính bằng số byte; dung lượng nhớ vật lý có
thể đánh địa chỉ (addressing capacity); tốc độ xử lý lệnh của bộ vi xử lý (instruction exectue
speed).
Công suất của hệ vi xử lý, hay nói cách khác, tốc độ xử lý thông tin, khả năng lưu trữ thông
tin, khả năng kết nối nhiều loại thiết bị ngoại vi . . . phụ thuộc vào công suất của bộ vi xử lý.
Độ dài từ
o VXL chỉ có thể xử lý dữ liệu với độ dài từ cố định, phụ thuộc và từng
thế hệ vi xử lý và mức độ phát triển của công nghệ vi xử lý.
o Tùy theo công nghệ, thế hệ VXL : 4 ,8,16,32,64 bit
o Quyết định độ dài của các thanh ghi, ALU, bus dữ liệu bên trong
o Độ dài từ càng lớn càng tạo ra nhiều khả năng tính toán của bộ vi xử lý
: khoảng biểu diễn số rộng hơn, tốc độ tính toán nhanh hơn
Khả năng đánh địa chỉ
Các từ dữ liệu và lệnh máy cất trong bộ nhớ tại các ngăn nhớ khác nhau. Mỗi ngăn nhớ phải
có địa chỉ nhận biết.
o Dải đánh địa chỉ càng lớn thì dung lượng nhớ càng nhiều.
CPU Memory
I/O
Data
BUS
Control
BUS
Address
BUS
Thanh ghi trong
Thanh ghi ngoài

