Chƣơng trình là tập hợp các lệnh để xử lý dữ liệu thực hiện từng lệnh đã đƣợc lƣu trong bộ nhớ , công việc thực hiện bao gồm các bƣớc nhƣ sau: đón lệnh từ bộ nhớ, sau đó các mạn[r]
(1)TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA ĐIỆN-ĐIỆN TỬ
BÀI GIẢNG
KỸ THUẬT VI XỬ LÝ
(2)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
CHƢƠNG 1: Tổng quan hệ vi xử lý 1.1Hệ thống số có liên quan đến vi xử lý
Hệ đếm thập phân (Decimal): Hệ đếm thập phân gọi hệ đếm số mƣời đƣợc biểu diễn 10 số từ (0,1,2,3,4,5,6,7,8,9 ) số đƣợc sử dụng nhiều khoa học kỹ thuật nhƣ đời sống hàng ngày, biểu diễn số thập phân dứng sau dãy số thƣờng có chữ D
Ví dụ: Ba nghìn Chín trăm Bảy mƣơi Tám đƣợc biểu diễn nhƣ sau 3978 = 3x103 + 9x102 + 7x101 + 8x100
= 3000 + 900 + 70 +
Hệ đếm thập lục phân (Hexadecimal): Hệ đếm thập phân gọi hệ đếm số mƣời sáu đƣợc biểu diễn 16 ký số (0,1,2,3,4,5,6,7,8,9,B,C,D,E,F) số đƣợc sử dụng nhiều khoa học kỹ thuật đặc biệt khoa học máy tính biểu diễn mã Hexa ngắn gọn, biểu diễn số thập lục phân sau dãy số phải có chữ H
Ví dụ: 3978h , 12CCh, 1998h, ABCDh, 2008h …
Hệ đếm nhị phân (Binary): Hệ đếm nhị phân gọi hệ đếm số hai đƣợc biểu diễn số 1, kỹ thuật điện tử số số gọi mức logic thấp ứng với điện áp thấp, số 1gọi mức logic cao tƣơng ứng với điện áp cao Mỗi ký hiệu đƣợc gọi Bit (Binary Digit), biểu diễn số nhị phân dứng sau dãy số phải có chữ B
Ví dụ:
1100b ; gọi nibble
10011001b ; gọi Byte 1010101111001101b ; gọi Word
Trong dãy số nhị phân đƣợc biểu diễn số nhị phân sát phải gọi bít LSB cịn số nhị phân sát trái gọi bít MSB
Ví dụ:
Số nhị phân thƣờng đƣợc biểu diễn dạng số nhị phân có dấu số nhị phân không dấu, số nhị phân không dấu biểu diễn số không âm (0)
cịn số nhị phân có dấu biểu diễn đƣợc giá trị âm
Ví dụ : (1101) = 1x23 + 1x22 + 0x21 + 1x20 = + + + = 13 Dải giá trị số có dấu bít [-128, +127 ]
Dải giá trị số có dấu 16 bít [-32768, +32767 ]
Trong biểu diễn dãy số nhị phân có dấu ngƣời ta sử dụng bít MSB để quy ƣớc cho bít dấu, với bít cho dãy số nhị phân dƣơng cịn bít cho dãy số nhị phân âm
Hệ đếm BCD (Binary Coded Decimal): Số đếm BCD đƣợc định nghĩa số thập phân nhƣng đƣợc biểu diễn dƣới dạng nhị phân bít, nhƣng dãy số nhị phân bít quy sang hệ thập phân giá trị phải Trong kỹ thuật điện tử nói chung mã BCD đƣợc sử
1010101010101010
(3)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Ví dụ: (0011), (0100), (0101), (0110), …(1001) ; gọi số BCD khơng nén Ví dụ: (00110100), (01010110), … (01111000) ; gọi số BCD nén
Dƣới bảng mã BCD
Thập phân BCD Thập phân BCD
0 0000 0101
1 0001 0110
2 0010 0111
3 0011 1000
4 0100 1001
Ví dụ: Cho số thập phân 15 , biểu diễn dƣới dạng số BCD 00010101
Số bù 2: Trong kỹ thuật Vi xử lý để biểu diễn số dƣới dạng dãy số nhị phân ngồi việc biểu diễn số khơng dấu, số có dấu ngƣời ta cịn sử dụng cách biểu diễn số bù Vậy số bù biểu diễn nhƣ nào?
Ví dụ: Hãy biểu diễn dãy số A = 10011001 sang số bù nó:
- b1: Tìm số bù A(bằng cách lấy bù tất bit A): 01100110 - b2: Tìm số bù A (bằng cách lấy số bù cộng cho 1) : 01100111 đến ta nhận thấy số bù số số đối tổng = 1.2 Các phép biến đổi hệ đếm
Phép cộng nhị phân khơng dấu :
Ví dụ : Cho số nhị phân nhƣ sau A = 10010011 ; B = 00111001 tìm tổng Y số nhị phân cho
0+0=1 0+1=1 1+0=1 1+1=0;nhớ
A=10010011b B=00111001b Y=A+B=11001100b
Phép trừ nhị phân:
Ví dụ : Cho số nhị phân nhƣ sau A = 10010011 ; B = 00111001 tìm hiệu Z
của số nhị phân cho (Lƣu ý phép trừ thực cách biến thành phép cộng)
0-0=0
0-1=1;mƣợn 1-0=1
1-1=0
A=10010011b B=00111001b Z=A -B=01011010b
Phép nhân nhị phân :
Ví dụ : Cho số nhị phân nhƣ sau A = 00100101 ; B = 00000100 tìm tích F
Khi nhân dãy số nhị phân với ta đặt phép tốn nhân giống nhƣ nhân số thập phân, kết phép nhân dãy số nhị phân bít thu đƣợc dãy số nhị phân 16 bít, nhƣ ta có F = A*B = 0000000010010100b
Phép chia nhị phân :
(4)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Khi chia dãy số nhị phân với ta đặt phép toán chia giống nhƣ chia số thập phân, kết phép chia nhƣ phần dƣ (nếu có) thu đƣợc tƣơng tự nhƣ làm phép chia số thập phân, nhƣ ta có M = A/B = 00100101b dƣ 0010b
Chuyển đổi số thập phân sang nhị phân :
Để chuyển đổi số thập phân sang số nhị phân ngƣời ta thƣờng dùng phƣơng pháp lấy số thập phân cần chuyển chia liên tiếp đến khơng thể chia đƣợc dừng
Ví dụ : Chuyển số thập phân 25 sang số nhị phân không dấu
Chuyển đổi số nhị phân sang thập phân :
Để chuyển đổi số nhị phân sang số thập phân ngƣời ta thƣờng dùng phƣơng pháp lấy tổng tích n số nhị phân cần chuyển nhân với 20 đến 2N-1 hay theo biểu thức tổng quát nhƣ sau: A = B(N-1)*
(N-1)
+ B(N-2)* (N-2)
+ B(N-3)* (N-3)
+ … + B(1)* (1)
+ B(0)* (0)
Ví dụ : Chuyển số nhị phân không dấu 01011110b sang số thập phân A = 0*27 + 1*26 +0*25 + 1*24+ 1*23 + 1*22 + 1*21 + 0*20 = 94
nhƣ ta có 01011110b = 94
Chuyển đổi số nhị phân sang Hexa :
Ví dụ : Chuyển số nhị phân 1100101011111110 sang số hexa
Trƣớc hếtta chia số nhị phân cho thành nhóm 4-bit tính từ bít có trọng số nhỏ nhất, sau thay nhóm 4-bit ký hiệu hexa tƣơng ứng với ta thu đƣợc kết nhƣ sau:
Chuyển đổi số Hexa sang nhị phân:
Ví dụ : Chuyển số hexa 2F8h ABBAh sang số nhị phân
Tƣơng tự nhƣ trƣờng hợp ta thay ký hiệu hexa 4-bit nhị phân tƣơng ứng với ta thu đƣợc kết nhƣ sau:
1100 1010 1111 1110 hay 11001010 11111110b = CAFEh C A F E
F
0010 1111 1000 hay 2F8h = 001011111000b
A B B A
1010 1011 1011 1010 hay ABBAh = 1010101110111010b Chia Thƣơng số Dƣ số
25/2 = 12 LSB 12/2 =
6/2 = 3/2 =
1/2 = MSB
(5)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Mã ASCII: (American Standard Code for Information Interchange )
Q trình trao đổi thơng tin máy tính nói chung nhƣ q trình xử lý thông tin vi xử lý, tất thông tin đƣợc biểu diễn dƣới dạng số Mỗi tổ hợp số đƣợc gán ký tự chữ cái, chữ số ký tự đặc biệt Khi thông tin đƣợc truyền đi, đƣợc lƣu giữ nhớ hiển thị hình dƣới dạng ký tự tuân theo loại mã chuẩn đƣợc sử dụng rộng rãi gọi mã ASCII
(6)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
(7)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
1.3 Lịch sử phát triển hệ Vi xử lý
Kiến trúc hệ Vi xử lý thuật ngữ dùng để rõ đặc trƣng hệ vi xử lý bao gồm có cấu trúc phần cứng tổ chức phần mềm đƣợc cài đặt hệ Một hệ thống vi xử lý hay gọi ngắn hệ vi xử lý thƣờng bao gồm thành phần nhƣ:
- Bộ xử lý trung tâm CPU (Central Processing Unit ) trung tâm đầu não hệ - Bộ nhớ tâm bao gồm thành phần ROM RAM
- Thiết bị vào/ra liệu
- Các kênh thông tin hay Bus hệ thống…
Tất thiết bị có chức nhƣ đƣợc gọi hệ vi xử lý.Trong thực tế có nhiều hãng chế tạo vi xử lý cho máy vi tính nhƣ: IBM, Intel, Cyrix, AMD, Motorola nhƣng thông dụng vi xử lý Intel Các vi xử lý Intel đƣợc phát triển qua thời kỳ nhƣ sau:
Năm 1971, Intel đƣa vi xử lý 4004 với bit liệu, 12 bit địa chỉ; 0,8MHz
Năm 1972, vi xử lý Intel 8080 đời với 8bit liệu, 12 bit địa chỉ; tốc độ 0,8 -5MHz Năm 1978, vi xử lý Intel 8086 đời với 16bit liệu, 20 bit địa chỉ; tốc độ 10MHz Năm 1979, vi xử lý Intel 8088 đời nhƣng tƣơng thích với hệ thống 8086 Năm 1982 vi xử lý 80286 đời với 16bit liệu, 20 bit địa chỉ, tốc độ 20MHz Năm 1985-1988, vi xử lý 80386 đời với 32 bit liệu 32 bit địa …
Năm 1989, vi xử lý 80486 đời với 32 bit liệu 32 bit địa tốc độ 50-60MHz Năm 1993, vi xử lý Pentium đời với 64 bit liệu, tốc độ xử lý 100MHz sau vi xử lý Pentium Pro,Pentium II, Pentium III, Celeron, Pentium 4…
(8)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
1.4 Chức vi xử lý
Vi xử lý dùng cổng logic giống nhƣ cổng logic đƣợc sử dụng đơn vị xử lý trung tâm máy tính số Do cấu trúc giống nhƣ CPU đƣợc xây dựng từ mạch vi điện tử nên có tên vi xử lý: microprocessor Giống nhƣ CPU, microprocessor có mạch điện tử cho việc điều khiển liệu tính tốn điều khiển chƣơng trình Ngồi microprocessor đơn vị xử lý liệu
Cơng việc xử lý liệu chức vi xử lý Việc xử lý liệu bao gồm tính tốn điều khiển liệu Việc tính toán đƣợc thực mạch điện logic đƣợc gọi đơn vị xử lý logic số học thực phép toán nhƣ Add, Subtract, And, Or Compare, Increment, Decrement
ALU thực phép tốn mà khơng có liệu , ví dụ ALU cộng liệu với liệu phải đặt vị trí trƣớc cộng ALU thực việc chuyển liệu từ nơi đến nơi khác Để ALU có liệu cho việc xử lý ngồi mạch điện ALU, vi xử lý cịn có mạch điện logic khác để điều khiển liệu Các mạch điện logic điều khiển liệu di chuyển liệu vào vị trí để khối ALU xử lý liệu Sau thực xong, khối điều khiển di chuyển liệu đến nơi mong muốn
Để xử lý liệu, vi xử lý phải điều khiển mạch logic , để vi xử lý điều khiển mạch logic cần phải có chƣơng trình Chƣơng trình tập hợp lệnh để xử lý liệu thực lệnh đƣợc lƣu nhớ , công việc thực bao gồm bƣớc nhƣ sau: đón lệnh từ nhớ, sau mạnh logic điều khiển giải mã lệnh sau mạch logic điều khiển thực sau giải mã
Do lệnh lƣu trữ nhớ nên thay đổi lệnh cần Khi thay đổi lệnh vi xử lý tức thay đổi cách thức xử lý liệu Các lệnh lƣu trữ nhớ định công việc mà vi xử lý làm
Tóm tắt: chức vi xử lý xử lý liệu Để làm đƣợc điều vi xử lý phải có mạch logic cho việc xử lý điều khiển liệu mạch logic điều khiển Các mạch logic xử lý di chuyển liệu từ nơi đến nơi khác thực phép toán liệu, mạch logic điều khiển định mạch điện cho việc xử lý liệu Vi xử lý thực lệnh với trình tự nhƣ sau: đón lệnh từ nhớ , mạch logic điều khiển giải mã lệnh để xem lệnh yêu cầu vi xử lý thực cơng việc gì, sau vi xử lý thực công việc lệnh yêu cầu , trình đƣợc gọi chu trình đón – – thực lệnh
(9)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
1.5Cấu trúc vi xử lý
1.5.1 Sơ đồ khối tổng quát hệ Vi xử lý
Sơ đồ khối :
Hình 1.2 Sơ đồ khối tổng quát hệ VXL
Chức khối :
Bộ xử lý trung tâm CPU (Central Processing Unit ) trung tâm đầu não hệ, có chức thu thập, xử lý thông tin điều khiển hoạt động hệ vi xử lý
Bộ nhớ trung tâm có nhiệm vụ lƣu trữ thơng tin liệu trƣớc CPU xử lý
Thiết bị I/O thực việc nhận liệu từ kênh thông tin từ bên vào CPU xử lý xuất tín hiệu điều khiển hệ thống
Các kênh thông tin hay Bus hệ thống cầu nối liên kết khối thực việc liên kết Bus địa chỉ, Bus điều khiển Bus liệu
1.5.2 Tổ chức kênh thông tin hệ Vi xử lý
Kiến trúc Harvard M
Meemmoorryy
CPU
P
Prrooggrraamm A
AddddrreessssBBuuss
D
Daattaa B
Buuss
D
Daattaa A
AddddrreessssBBuuss F
Feettcchh B
Buuss
0
0
CPU
A
Addddrreessss BBuuss
D
DaattaaBBuuss
M
Meemmoorryy
0
Program Memory
D
Daattaa M
Meemmoorryy
Kiến trúc
Von Neumann
(10)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Trên cách tổ chức nhớ theo kiểu Von Neumann Harvard Với kiểu tổ chức nhớ chƣơng trình liệu tách biệt cho phép tốc độ truy xuất thông tin nhanh đáng kể Các kênh liệu kênh song song dùng chung cho tất nhớ, nhiên phải đƣợc kiểm sốt thơng qua cổng lơgic trạng thái Cổng có nhiệm vụ tạo trạng thái đặc biệt có thành phần khơng đƣợc kích hoạt làm việc, trạng thái đặc biệt cách ly mặt tín hiệu kênh thơng tin với thành phần hệ chúng đƣợc kết nối với mặt vật lý
1.5.3 Khối xử lý trung tâm (Central Processing Unit)
Bộ vi xử lý hạt nhân hệ vi xử lý, thành phần quan trọng kiểm sốt tất hoạt động hệ thực thao tác liệu Hầu hết CPU đƣợc hình thành từ mạch lơgic nhằm thực liên tục thao tác tìm nạp lệnh từ nhớ để giải mã thực thi lệnh CPU có khả hiểu thực thi lệnh dựa tập mã nhị phân gọi mã máy mã nhằm thực thao tác đó.Tổ hợp lệnh cho loại CPU gọi tập lệnh thƣờng chia thành nhóm lệnh nhƣ:
- Nhóm lệnh chuyển liệu - Nhóm lệnh số học
- Nhóm lệnh Lơgic
- Nhóm lệnh rẽ nhánh chƣơng trình - Nhóm lệnh xử lý bít
Cấu trúc đơn giản loại CPU đƣợc minh họa nhƣ sau:
- PC (Program Couter): Bộ đếm trƣơng trình có vai trị nhƣ trỏ, trỏ đến nhớ chứa lệnh mà CPU cần truy nhập
Hình 1.4 Cấu trúc chung CPU
Control Bus FLAG
S
ALU CU
AC C
TM P
I R MAR
PC
CPU
Adress Bus
Data Bus Registe
(11)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
- IR (Instruction Register):Thanh ghi lệnh IR (Instruction Register) Thanh ghi lệnh thực chức chứa lệnh mà CPU thực
- CU (Control Unit) Đơn vị điều khiển có chức giải mã lệnh
- MAR ( Memory Address Register) Thanh ghi nhớ thực chức chứa địa ô nhớ thời mà CPU truy nhập
- ALU (Arithmetic Logic Unit) đơn vị số học logic, thực phép tính số học, logic phép xử lý liệu khác
- ACC (Accumulator) Thanh chứa , chứa toán hạng phép tính kết phép tính
- TMP (Temporary) Thanh ghi tạm, chứa tốn hạng thứ hai phép tính
- FLAGS Thanh ghi cờ chứa thông tin trạng thái kết phép tính sau thực lệnh
- Address Bus : Bus địa - Data Bus : Bus liệu - Control Bus : Bus điều khiển 1.5.4 Q trình truy xuất xử lý thơng tin
Việc tìm nạp lệnh từ Ram hệ thống thao tác mà CPU phải thực Quá trình tìm nạp lệnh đƣợc thực theo trình tự nhƣ sau:
CPU
n PC
opcode IR
RAM
opcode
R
Reeaadd C
Clloocckk Control Bus
Address Bus
Data Bus
n+2 n+1 n n-1
(12)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Địa chứa PC đƣợc gửi lên bus địa
Tín hiệu cho phép đọc lệnh từ nhớ đƣợc kích hoạt sang trạng thái tích cực
Dữ liệu hay mã lệnh đƣợc đọc từ nhớ gửi lên kênh liệu chuyển ghi lệnh IR Tiếp theo nội dung PC (tức địa chỉ) đƣợc tăng lên1để trỏ tới địa nhớ
Mã lệnh đƣợc chuyển xuống giải mã theo mã lệnh CPU triển khai thực lệnh.Trƣờng hợp tốn hạng nằm nhớ chƣơng trình sau mã lệnh CPU tiếp tục đƣa PC nên bus địa để trỏ tới toán hạng đƣa ghi để thực lệnh
VD: ADD A,#3EH
Nếu toán hạng nằm ghi CPU, CPU thực lệnh VD : ADD A,R1
Toán hạng nằm nhớ mà địa ghi CPU CPU đƣa địa cho ghi địa (MAR) để đọc liệu thực lệnh VD : ADD A,@R0 1.5.5 Tổ chức nhớ hệ Vi xử lý
Bộ nhớ trung tâm phận quan trọng hệ VXL, tập hợp ghi thông tin với số lƣợng lớn Chức nhớ để trao đổi lƣu trữ thông tin
a Bộ nhớ đọc (Read Only Memory - ROM):
ROM bản:
ROM dùng để lƣu trữ chƣơng trình điều hành (Monitor) hệ VXL Chƣơng trình quy định hoạt động hệ VXL Bộ VXL vào lệnh chứa chƣơng trình để điều khiển hệ VXL thực chức năng, nhiệm vụ đƣợc ấn định lệnh Nói cách khác, hệ VXL thực cách trung thực thuật toán mà ngƣời thiết kế phần mềm xây dựng cài đặt vào ROM hệ
Ngoài ra, ROM hệ VXL dùng để lƣu trữ bảng biểu, tham số hệ thống mà q trình hoạt động khơng đƣợc thay đổi nhƣ: bảng địa cổng giao tiếp, bảng tra cứu số liệu, mã cần sử dụng hệ
ROM đƣợc quản lý theo phƣơng thức ma trận điểm, có nhiều chủng loại khác nhau: ROM, PROM, EPROM, EEPROM,…
ROM nhớ cố định có cấu trúc đơn giản Nội dung nhà sản xuất chế tạo, ngƣời sử dụng thay đổi nội dung đƣợc
PROM (Programmable ROM - ROM có khả lập trình đƣợc):
Đặc điểm chung: Nội dung PROM nhà sản xuất ngƣời thiết kế hệ VXL nạp vào nhƣng đựoc lần Sau nạp xong nội dung thay đổi đƣợc
EPROM (Eraseable PROM ROM nạp/xoá đƣợc nhiều lần):
(13)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
EEPROM (Electrical EPROM ROM có khả lập trình xố đƣợc điện) b Bộ nhớ W/R gọi nhớ truy cập ngẫu nhiên(Random Acess Memory):
RAM nhớ ghi đọc đƣợc, thơng tin RAM bị mất nguồn cung cấp Theo phƣơng thức lƣu trữ thông tin, RAM đƣợc chia thành loại bản: RAM tĩnh RAM động
RAM tĩnh: Có thể lƣu trữ thơng tin lâu tuỳ ý miễn đƣợc cung cấp điện - tất loại phần tử nhớ Trigơ thuộc loại
RAM động: Chỉ lƣu đƣợc thông tin khoảng thời gian định Muốn kéo dài thời gian cần có phƣơng thức làm tƣơi lại thông tin phần tử nhớ RAM Phần tử nhớ RAM động đơn giản linh kiện điện dung - tụ diện Sử dụng RAM động có phức tạp nhƣng cấu trúc nhớ lại đơn giản, tiêu tốn lƣợng, tăng mật độ nhớ đơi cịn làm tăng tốc độ làm việc nhớ
(14)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
C
CHHƯƯƠƠNNGG 22::CCấấuuttrrúúccvvàà ttậậppllệệnnhhccủủaavvii xxửửllýý1166bbiitt
2.1 Cấu trúc vi xử lý 8086/8088
2.1.1 Sơ đồ khối tổng quát Vi xử lý 8088
E.U (execution unit) B.I.U (Bus interface unit)
Các ghi
đa
Các ghi trỏ số
Các ghi tạm thời
A AXX BX CX DX SP BP SI DI CS DS SS ES IP ALU
Thanh ghi cờ
Khối điều khiẻn
EU
Lôgic điều khiển BUS
Đệm lệnh (hàng đợi lệnh) (Có byte với 8086)
Bus
data Bus
(8 bít)
Bus CPU bit liệu 20 bit địa chØ
Bus địa (20 bít)
Các ghi đoạn trỏ lệnh Accumulator Base Count Data Stack pointer Base pointer Source index Destination index
Code segment Data segment
Stack segment
Extra segment Intruction pointer
Bus liệu ALU 16 bít
(15)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
BIU: Đơn vị giao tiếp BUS
EU: Đơn vị thực lệnh (CU ALU)
Đơn vị giao tiếp BUS – BIU: Chức năng:
– Nhận trƣớc lệnh cất tạm vào hàng đợi lệnh – Đảm nhiệm chức điều khiển BUS
Giao tiếp qua BUS:
– Phát tín hiệu địa đến nhớ cổng I/O thông qua A-Bus
– Đọc mã lệnh từ nhớ thông qua D-Bus – Đọc liệu từ nhớ thông qua D-Bus – Ghi liệu vào nhớ thông qua D-Bus
– Đọc liệu từ cổng Input thông qua D-Bus – Ghi liệu cổng Output thông qua D-Bus
Đơn vị số học logic – ALU: Chức năng:
– Thực phép toán số học : Cộng, trừ, nhân, chia, tăng, giảm, đảo… – Thực phép tốn Logic: AND, OR, XOR, NOT, dịc bit…
Mơ hình kết nối ALU
Đơn vị điều khiển – CU: Chức năng:
– Nhận lệnh từ nhớ đƣa vào ghi lệnh IP – Tăng nội dung ghi PC nhận lệnh song – Giải mã lệnh xác định thao tác mà lệnh yêu cầu – Phát tín hiệu điều khiển thực thi lệnh
(16)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Các thơng tin đến CU
– Clock: tín hiệu xung nhịp từ mạch tạo dao động – Mã lệnh từ ghi lệnh đƣa đến CU giải mã
– Các trạng thái cờ đƣa đến cho biết trạng thái CPU nhƣ trạng thái thực phép tốn ALU
– Các tín hiệu điều khiển từ BUS điều khiển
– Các tín hiệu điều khiển bên CPU: điều khiển ghi, ALU – Các tín hiệu điều khiển bên ngồi CPU (Bộ nhớ hay cổng vào ra) 2.1.2 Sơ đồ chân tín hiệu Vi xử lý 8088
(17)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Các đƣờng địa chỉ, trạng thái:
- Chân A0-A15: (2 - 16, 35): Là 16 đƣờng địa - AD0-AD7: Là đƣờng địa liệu
- A16-A19 (Chân 35 -38): Bốn bit địa cao tín hiệu trạng thái hoạt động CPU
- S5 trạng thái cờ IF đầu chu kỳ đồng hồ - S6
- S4 S3 cho biết ghi đƣợc truy xuất
A17/S4 A16/S3 Thanh ghi đƣợc truy xuất
0 ES
0 SS
1 CS
1 DS
Các đƣờng điều khiển địa chỉ/dữ liệu:
ALE (Address Latch Enable- chốt địa chỉ): Chân mức cao xác nhận có địa ổn định bus địa
DEN (Data Enable) : Lối trạng thái mức thấp tín hiệu cho phép truyền liệu vi xử lý Bộ nhớ/Vào
DT/R (Data Transmit/Receive): Lối trạng thái, dùng để xác định chiều truyền số liệu
IO/M (Input Output/Memory) : Lối trạng thái xác định bus địa đƣợc nối với IO hay Memory
WR (Write): Lối trạng thái xác nhận VXL ghi thông tin lên IO Mem RD (Read) : Lối trạng thái tích cực âm Xác nhận việc đọc liệu
SSO (Status Line 0): Lối trạng thái Kết hợp với IO/M DT/R thông tin chu kỳ bus
IO/M DT/R SSO Chức chu kỳ bus
0 0 Nhận lệnh
0 Đọc nhớ
0 Ghi nhớ
0 1 Thụ động(Passive) 0 Báo nhận lệnh ngắt
1 Đọc cổng I/O
1 Ghi cổng I/O
1 1 Dừng(Halt)
Các đƣờng điều khiển ngắt: Cho phép dừng hoạt động CPU
(18)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
INTR (Interrupt Request) Tín hiệu vào để ngắt qúa trình xử lý CPU, che đƣợc (masakable) tức CPU bỏ qua điều khiển phần mềm
INTA (Interrupt Acknowledge) Tín hiệu báo MP nhận lệnh ngắt RESET Khởi động lại MP
TEST (Test Interrupt): Khi MP thực lệnh WAIT MP kiểm tra chân TEST Nếu TEST=1 máy tiếp tục chờ TEST=0
Các chân điều khiển thao tác:
CLK (Clock Input) Tín hiệu đồng hồ chủ, đồng hoạt động MP
READY tín hiệu trả lời I/O MEMORY báo chu kỳ chuyền số liệu hoàn tất
HOLD HLDA (Hold Request) Báo có yêu cầu làm chủ bus từ bên Khi MP tiếp nhận yêu cầu đƣa tín hiệu HLDA (Hold Acknowledge)
MN/MX (Minimum/Maximum Mode) Tín hiệu lối vào báo MP công tác mode tối đa (0) hay tối thiểu (1)
Các chân chế độ MAX
Chân QS1 (24) QS0 (25) báo thông tin trạng thái hàng đợi lệnh QS1 QS0 Trạng thái hàng đợi lệnh
0 Không hoạt động
0 Chỉ byte thứ mã lệnh Chỉ hàng chứa lệnh rỗng
1 Chỉ byte hàng chứa lệnh
Chân S2, S1, S0 dùng cho điều khiển bus 8288 để tạo tín hiệu điều khiển cho bus hệ thống Các tín hiệu có trở kháng cao bus treo
S2 S1 S0
0 0 Trả lời ngắt INTA 0 Đọc cửa I/O Ghi cửa I/O 1 Dừng 0 Nhận lệnh 1 Đọc nhớ 1 Ghi vào nhớ 1 Thụ động
LOCK (29) cấm không cho VXL hợp tác điều khiển bus
RQ/GT1, RQ/GT0: Yêu cầu cho phép xử lý hợp tác đƣợc điều khiển bus 2.1.3 Tập ghi bên CPU 8088
Mặc dù vi xử lý thao tác với liệu nhớ nhƣng lệnh nhƣ đƣợc thực nhanh (cần chu kỳ đồng hồ hơn), nhƣ liệu đƣợc lƣu ghi Đó nguyên nhân ngày vi xử lý đƣợc sản xuất với xu hƣớng có nhiều ghi
(19)ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ
Byte cao ghi AX đƣợc gọi AH byte thấp AL Byte cao ghi BX đƣợc gọi BH byte thấp BL Byte cao ghi CX đƣợc gọi CH byte thấp CL… A Các ghi liệu (AX, BX,CX,DX)
Thanh ghi Byte cao Byte thấp
Accumulator AX AH AL
Base BX BH BL
Counter CX CH CL
Data DX DH DL
Thanh ghi AX (Accumulator register): Là ghi tích lũy đƣợc sử dụng nhiều lệnh số học, logic, chuyển liệu việc sử dụng chúng tạo mã máy ngắn nhất.Trong phép toán nhân chia toán hạng tham gia phải đƣợc chứa ghi AX (nếu 16 bit) AH AL (nếu bit) Các thao tác vào sử dụng ghi AX AL
Thanh ghi BX (thanh ghi sở- Base register): Thanh ghi ngồi việc thao tác liệu thƣờng chứa địa sở bảng dùng cho lệnh XLAT.(dịch AL thành giá trị bảng BX)
Thanh ghi CX (thanh ghi đếm- Count register):Việc xây dựng chƣơng trình lặp đƣợc thực dễ dàng cách sử dụng ghi CX, CX đóng vai trị đếm số vịng lặp (REP, LOOP) CL đƣợc dùng làm đếm lệnh dịch quay bit
Thanh ghi DX (thanh ghi liệu - Data register): DX AX đƣợc sử dụng thao tác phép nhân chia số 16 bit DX đƣợc sử dụng để chứa địa cổng lệnh vào liệu trực tiếp (In/Out)
B Các ghi đoạn (CS, DS, ES, SS)
Khối BIU đƣa Bus địa 20 bit địa chỉ, nhƣ 8088 có khả phân biệt đƣợc 220= 048 576 = Mbyte nhớ Nói cách khác không gian địa 8088
Mbyte Trong không gian Mbyte nhớ cần chia thành nhiều đoạn khác : Đoạn chứa chƣơng trình
(20)ĐỀ CƢƠNG MƠN HỌC KỸ THUẬT VI XỬ LÝ
Trong thực tế vi xử lý 8088 có ghi 16 bit liên quan đến địa đầu đoạn chúng đƣợc gọi ghi đoạn (Segment Registers): CS, DS, SS, ES
Các ghi đoạn địa đầu đoạn nhớ dung lƣợng lớn đoạn 64 Kbyte Các đoạn nằm cách trùm lên
Nội dung ghi xác định địa ô nhớ đoạn, địa gọi địa sở Địa ô nhớ khác đoạn đƣợc tính cách cộng thêm vào địa sở giá trị gọi địa lệch hay độ lệch (offset)
Địa vật lý (20 bit) ô nhớ đƣợc xác định nhƣ sau :
Điạ vật lý = Điạ đoạn *10h + ghi lệch (hay offset) điạ logic máy tính ln đƣợc biểu diễn dƣới dạng Segment:Offset Tại thời điểm ô nhớ đƣợc định địa đoạn đƣợc truy cập
C Các ghi trỏ số : SI, DI, SP, BP
Trong 8088 có ghi trỏ ghi số 16 bit Các ghi đƣợc dùng nhƣ ghi đa (ngoại trừ IP), nhƣng ứng dụng ghi chúng đƣợc ngầm định nhƣ ghi lệch cho đoạn tƣơng ứng Cụ thể nhƣ sau :
Thanh ghi BP : (con trỏ sở - Base Pointer): BP trỏ vào liệu nằm đoạn ngăn xếp SS Địa cụ thể SS:BP đƣợc xác định nhƣ
Thanh ghi SP(con trỏ ngăn xếp - Stack Pointer): Đƣợc sử dụng kết hợp với SS để truy nhập vào đoạn ngăn xếp SP trỏ vào đỉnh thời ngăn xếp đoạn ngăn xếp SS Địa cụ thể SS:SP
Thanh ghi SI(chỉ số nguồn - Source Index):SI vào liệu đoạn liệu DS mà địa cụ thể tƣơng ứng với DS:SI Bằng cách tăng nội dung SI truy nhập dễ dàng đến ô nhớ liên tiếp
Thanh ghi DI (chỉ số đích - Destination Index): SI vào liệu đoạn liệu DS mà địa cụ thể tƣơng ứng với DS:DI Có số lệnh gọi thao tác chuỗi sử dụng DI để truy nhập đến ô nhớ đƣợc định địa ES
D Thanh ghi trỏ lệnh IP:
Các ghi nhớ vừa trình bày dùng để truy cập liệu, để truy nhập đến lệnh, 8088 sử dụng ghi CS IP Thanh ghi CS chứa điạ lệnh IP chứa địa offset lệnh Thanh ghi IP đƣợc cập nhập có lệnh đƣợc thực
E Thanh ghi cờ:
Đây ghi 16 bit, bit đƣợc sử dụng để thể trạng thái vi xử lý thời điểm định q trình thực chƣơng trình Mới có bit đƣợc sử dụng ngƣời ta gọi bit cờ