Ệ Ử Ề Ô
ĐH CNKT ĐI
Ệ
N T
Ử
TRUY
Ề
N TH
Ô
NG K5
Giản
g
viên: Kiều Xuân Th
ự
c
Khoa Điện tử
Đại học công nghiệp Hà Nội
CHƯƠNG 2
B
Ộ
VI XỬ LÝ
Ộ
Nội dung:
1. Họ vi xử lý 80x86 của Intel
2. Bộ vi xử lý 8086
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
1. Họ vi xử lý 80x86 của Intel
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
4
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
5
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
6
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
7
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
8
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
9
Bảng 1.2. Tương quan giữa hệ thập phân và hệ thập lục phân
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
10
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
11
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
12
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
13
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
14
2. Bộ vi xử lý 8086
Bản gốc: 4.77 MHZ
Phiên bản 8086-1: 8 MHz
Phiên bản 8086-2: 10 MHz
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
15
2.1. Sơ đồ khối của 8086
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
16
Khốithựchiệnlệnh (EU − Execution Unit): nơigiải
mã và thi hành các l
ệ
nh.
ệ
EU gồm:
Bộ xử lý số họcvàlogic(ALU − Arithmatic Logical Unit): thực
hiện
các
lệnh
số
học
và
lệnh
logic
hiện
các
lệnh
số
học
và
lệnh
logic
.
Các thanh ghi 16 bit chứatoánhạng.
Thanh ghi cờ F.
Khối
điề
khiể
(CU
Cl Ui)
í
hiệ
điề
Khối
điề
u
khiể
n
(CU
−
C
ontro
l U
n
i
t
)
:
tạot
í
n
hiệ
u
điề
u
khiểncácbộ phận bên trong và bên ngoài CPU. Bên
trong CU có mạch giảimãlệnh. Mã lệnh được đọcvàotừ
M
và
đưa
đến
bộ
giải
mã
các
thông
tin
thu
được
từ
đầu
M
và
đưa
đến
bộ
giải
mã
,
các
thông
tin
thu
được
từ
đầu
ra củamạch giảimãsẽđược đưa đếnmạch tạoxung
điềukhiển → dãy xung khác nhau (tuỳ theo mã lệnh) để
điều
khiển
hoạt
động
của
các
bộ
phận
bên
trong
và
bên
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
điều
khiển
hoạt
động
của
các
bộ
phận
bên
trong
và
bên
ngoài CPU.
17
Khốigiaotiếpbus (BIU − Bus Interface Unit):
đảmbảoviệctraođổi thông tin giữa 8086 vớicác
li h
kiệ
bê
ài
(
á
i
h
hớ
i
h
li
n
h
kiệ
n
bê
nn
g
o
ài
(
c
á
cv
i
mạc
h
n
hớ
,
v
i
mạc
h
ghép nốiI/O)
BIU
bao
gồm
:
BIU
bao
gồm
:
Mộtbộ cộng để tạo địachỉ vật lý 20 bit từ các thanh ghi
16 bit.
Bốn
thanh
ghi
đoạn
16 bit
gồm
CS DS SS
và
ES
để
Bốn
thanh
ghi
đoạn
16 bit
gồm
CS
,
DS
,
SS
và
ES
để
giúp 8086 truy cậptớicácđoạntrênbộ nhớ.
Thanh ghi con trỏ lệnh IP: IP kếthợpvớiCS để tạo
thành
địa
chỉ
của
lệnh
tiếp
theo
mà
8086
sẽ
thi
hành
thành
địa
chỉ
của
lệnh
tiếp
theo
mà
8086
sẽ
thi
hành
.
Mạch logic điềukhiểnbus: đảmbảogiaotiếpgiữa 8086
vớicácthiếtbị bên ngoài (thông qua bus ngoài).
Hàng
đợi
lệnh
(
bộ
đệm
lệnh
)
dài
6
bte
chứa
các
mã
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
Hàng
đợi
lệnh
(
bộ
đệm
lệnh
)
:
dài
6
b
y
te
,
chứa
các
mã
lệnh đọc đượcnằmsẵn để chờ EU xử lý
18
Kỹ thuật xử lý xen kẽ liên tục dòng mã lệnh
Hoạt động củaCPU để thựchiệnmộtlệnh gồm3
giai
đoạn
:
giai
đoạn
:
Đọcmãlệnh (fetch, viếttắtlà F)
Giảimãlệnh (decode, viếttắtlà D)
Thự
hiệ
lệ h
(
t
iết
tắt
là E)
Thự
c
hiệ
n
lệ
n
h
(
execu
t
e,
v
iết
tắt
là E)
Nếu không gặplệnh nhảyhoặclệnh gọichương
trình con
thì ho
ạ
t đ
ộ
n
g
củaCPU
diễnra
tuầnt
ự
:
ạ
ộ g
ự
đọcmãlệnh 1, giảimãlệnh 1, thi hành lệnh 1,
đọcmãlệnh 2, giảimãlệnh 2, thi hành mã lệnh
2
đọc
lệnh
mã
3
→
tại
1
t
hời
điểm
nhất
định
2
,
đọc
lệnh
mã
3
,
→
tại
1
t
hời
điểm
nhất
định
,
CPU chỉ thựchiện1 trong3 côngviệcnóitrên
nên sẽ có những bộ phậnnhất định củaCPU ở
t
thái
hà
ỗi
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
t
rạn
g
thái
n
hà
nr
ỗi
.
19
Trong bộ VXL 8086:CPU được chia thành 2 khối chức
năn
g
và có s
ự
p
hân chia côn
g
vi
ệ
c cho từn
g
khối. Vi
ệ
c
g ự pgệ g ệ
đọc mã lệnh là do BIU đảm nhiệm, việc giải mã và thi
hành lệnh do EU thực hiện. Các khối chức năng này có
khả năn
g
làm vi
ệ
c đồn
g
thời và các bus sẽ liên t
ụ
c
g ệ g ụ
được sử dụng. Trong khi EU lấy mã lệnh từ bộ hàng
đợi lệnh để giải mã hoặc thực hiện các thao tác nội bộ
thì BIU vẫn có thể đọc mã lệnh của lệnh tiếp theo từ
thì BIU vẫn có thể đọc mã lệnh của lệnh tiếp theo từ
bộ nhớ chính rồi đặt chúng vào hàng đợi lệnh.
Hàng đợi lệnh này làm việc theo kiểu FIFO (First In
First Out) Nếu có sự vào/ra liên tục của dòng mã lệnh
First Out)
.
Nếu có sự vào/ra liên tục của dòng mã lệnh
trong hàng đợi lệnh này thì có nghĩa là có sự phối hợp
hoạt động hiệu quả giữa hai khối EU và BIU, kết quả
là tốc độ của CPU được cải thiện
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
là tốc độ của CPU được cải thiện
.
20
2.2. Các thanh ghi của 8086
Các thanh ghi đanăng:
EU có 4 thanh ghi đanăng 16 bit là AX, BX, CX và DX. Khi cầnchứa
các
dữ
liệu
8 bit
thì
mỗi
thanh
ghi
này
có
thể
tách
ra
thành
hai
các
dữ
liệu
8 bit
thì
mỗi
thanh
ghi
này
có
thể
tách
ra
thành
hai
thanh ghi 8 bit làm việc độclập, đólà cáccặp thanh ghi AH và AL,
BH và BL, CH và CL, DH và DL.
Mỗi thanh ghi có thểđược dùng mộtcáchvạnnăng để chứadữ liệu.
Có những công việc đặcbiệtchỉ thao tác vớimộtvàithanhghinào
đó nên các thanh ghi thường đượcgánchonhững cái tên đặcbiệt
và có ý nghĩariêng:
AX (
Accumulator
register
):
thường
được
kết
q ả
của
các
thao
tác
•
AX (
Accumulator
register
):
thường
được
kết
q
u
ả
của
các
thao
tác
.
• BX (Base register): thường chứa địachỉ cơ sở củamộtbảng khi dùng
lệnh XLAT.
•CX
(
Count re
g
ister
)
:
thườn
g
đượcdùn
g
để chứasố lầnlặ
p
tron
g
trườn
g
(
g
)
g
g
p
g
g
hợplệnh LOOP, còn CL thường chứamộtsố lầndịch hoặc quay trong các
lệnh dịch hoặc quay thanh ghi.
• DX (Data register): cùng AX tham gia vào các thao tác của phép nhân/
chia
các
số
16 bit. DX
còn
dùng
để
chứa
địa
chỉ
của
các
cổng
trong
các
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
chia
các
số
16 bit. DX
còn
dùng
để
chứa
địa
chỉ
của
các
cổng
trong
các
lệnh vào/ra dữ liệutrựctiếp.
21
Các thanh ghi đoạn
KhốiBIU đưara
trên bus đ
ị
achỉ 20 bit
đ
ị
achỉ
,
nh
ư
v
ậy
ị
ị
,
ậy
8086 có khả năng phân biệtra được2
20
= 1048576 = 1M ô
nhớ, hay 1Mbyte. Trong không gian 1Mbyte này bộ nhớ cần
được chia thành các vùng khác nhau dành riêng để:
Chứamãchương trình.
Chứadữ liệuvàkếtquả trung gian củachương trình.
Tạo
ra
một
vùng
nhớ
đặc
biệt
gọi
là
ngăn
xếp
dùng
vào
Tạo
ra
một
vùng
nhớ
đặc
biệt
gọi
là
ngăn
xếp
dùng
vào
việcquảnlýcácthôngsố củaVXL.
8086 có các thanh ghi 16 bit liên quan đến địachỉđầucủa
các
vùng
kể
trên
và
chúng
được
gọi
là
thanh
ghi
đoạn
.
Đó
các
vùng
kể
trên
và
chúng
được
gọi
là
thanh
ghi
đoạn
.
Đó
là thanh ghi đoạn mã CS (code segment), thanh ghi đoạn
dữ liệu DS (data segment), thanh ghi đoạnngănxếpSS
(
stack se
g
ment
)
và thanh
g
hi đoạnd
ữ
liệu
p
hụ ES
(
extra
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
(
g)
g
p
(
segment).
22
Các thanh ghi đoạnchỉ ra địachỉđầucủa4 đoạntrongbộ
nhớ, dung lượng lớnnhấtcủamỗi đoạnnhớ này là 64Kbyte.
Nội dung thanh ghi đoạnxácđịnh địachỉ củaô nhớ nằm ở
đầu đoạn. Địachỉ này gọilà địachỉ cơ sở. Địachỉ củacácô
nhớ khác nằmtrongđoạntínhđượcbằng cách cộng thêm
vào địachỉ cơ sở mộtgiátrị gọilà
địachỉ lệch hay độ lệch.
Độ lệch này đượcxácđịnh bởimột thanh ghi 16 bit khác
đóng vai trò thanh ghi lệch. Để xác định địachỉ vật lý 20 bit
ủ
ột
ô
hớ
à
đó
8086
hải
dù
đế
2
th h
hi
16 bit
c
ủ
am
ột
ô
n
hớ
n
à
o
đó
8086
p
hải
dù
ng
đế
n
2
th
an
h
g
hi
16 bit
.
Nội dung của 2 thanh ghi này tạora địachỉ vậtlý:
ị
hỉ
ậ
lý
ội
d
hh
hi
đ
16
ội
d
hh
Đ
ị
ac
hỉ
v
ật
lý
=
N
ội
d
un
g
t
h
an
h
ghi
đ
o
ạ
n
×
16
+
N
ội
d
un
g
t
h
an
h
ghi lệch
Địachỉ logic đượcký hiệu:
ệ
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
thanh ghi đoạn:
thanh
g
hi l
ệ
ch hay
s
egment: offse
t
23
Thanh ghi con trỏ và chỉ số: 8086 có ba thanh ghi con
trỏ và hai thanh ghi chỉ số 16 bit là:
Thanh
ghi
con
trỏ
lệnh
IP (Instruction Pointer):
chỉ
vào
lệnh
Thanh
ghi
con
trỏ
lệnh
IP (Instruction Pointer):
chỉ
vào
lệnh
tiếptheosẽđượcthựchiện. Địachỉđầy đủ củalệnh tiếptheo
này là CS: IP.
Thanh
ghi
con
trỏ
cơ
sở
BP (Base Pointer):
chỉ
vào
một
phần
Thanh
ghi
con
trỏ
cơ
sở
BP (Base Pointer):
chỉ
vào
một
phần
tử dữ liệunằm trong đoạnngănxếp SS. Địachỉđầy đủ của
mộtphầntử trong đoạnngănxếp SS là SS: BP.
Thanh ghi con trỏ ngănxếp SP (Stack Pointer): chỉ vào đỉnh
ằ
hiệnthờicủan
g
ănxếpn
ằ
mtron
g
đoạnn
g
ănxếp SS. Địachỉ
đầy đủ của đỉnh ngănxếp là SS: SP.
Thanh ghi chỉ số nguồn SI (Source Index): SI chỉ vào dữ liệu
trong
đoạn
dữ
liệu
DS
mà
địa
chỉ
đầy
đủ
là
DS: SI
trong
đoạn
dữ
liệu
DS
mà
địa
chỉ
đầy
đủ
là
DS: SI
.
Thanh ghi chỉ sốđích DI (Destination Index): chỉ vào dữ liệu
trong đoạndữ liệuDS màđịachỉđầy đủ là DS: DI.
Ngoài
các
chức
năng
trên
các
thanh
ghi
này
có
thể
được
dùng
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
Ngoài
các
chức
năng
trên
,
các
thanh
ghi
này
có
thể
được
dùng
như các thanh ghi đanăng.
24
Thanh ghi cờ F: mỗibit củaF đượcdùngđể phảnánhtrạng
thái củakếtquả phép toán do ALU thựchiệnhoặctrạng thái
hoạt
động
của
EU
hoạt
động
của
EU
C hoặc CF (Carry Flag): Cờ nhớ, CF = 1 khi có nhớ hoặcmượn.
P hoặc PF (Parity Flag): Cờ chẵnlẻ, phản ánh tính chẵnlẻ củatổng số bit 1 có trong kết
quả. Cờ PF = 1 khi tổng số bit 1 trong kếtquả là chẵn.
A hoặc AF (Auxiliary carry Flag): Cờ nhớ phụ có ý nghĩakhitalàmviệcvớicácsố BCD;
AF = 1 khi có nhớ hoặcmượntừ mộtsố BCD thấp(ở 4 bit thấp) sang mộtsố BCD cao
(ở 4 bit
)
(ở 4 bit
cao
)
.
Z hoặc ZF (Zero Flag): Cờ rỗng (cờ không), ZF = 1 khi kếtquả bằng 0.
S hoặc SF (Sign Flag): Cờ dấu, SF = 1 khi kếtquả âm.
OF (Overflow Flag): Cờ tràn, OF = 1 khi kếtquả là mộtsố bù 2 vượt ra ngoài giớihạn
biể
diễ
dà h
h
ó
biể
u
diễ
n
dà
n
h
c
h
on
ó
.
T hoặc TF (Trap Flag): Cờ bẫy, TF = 1 thì CPU làm việc ở chếđộchạytừng lệnh một.
I hoặc IF (Interrupt Flag): Cờ cho phép ngắt, nếuIF = 1 thìCPU chophépcácyêucầu
ngắt(cheđược) đượctácđộng, nếuIF = 0 thìCPU cấmcácyêucầungắt(cheđược) tác
động
trừ
ngắt
ở
chân
NMI (Non
Maskable
Interrupt:
ngắt
không
che
được
)
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
động
trừ
ngắt
ở
chân
NMI (Non
Maskable
Interrupt:
ngắt
không
che
được
)
.
D hoặc DF (direction flag): Cờ hướng (cờ lùi), IF = 1 khi CPU làm việcvớichuỗikýtự
theo thứ tự từ phảiqua trái.
25
3. Sơ đồ chân/chức năng các chân của 8086
8086 được thiết kế để hoạt
động ở một trong hai chế độ
động
ở
một
trong
hai
chế
độ
,
tuỳ thuộc vào mức điện áp đặt
ở chân số 33:
− Chế đ
ộ
MIN: h
ệ
thốn
g
chỉ có
ộ ệ g
8086 và các vi mạch nhớ, các vi
mạch ghép nối vào/ra.
− Chế độ MAX: áp dụng cho hệ
thống đa xử lý (nhiều 8086),
đồng xử lý (8086 và 8087).
Trong chế độ MAX, 1 vi mạch
điề khiể bbê àiẽ
điề
u
khiể
n
b
us
bê
n ngo
ài
s
ẽ
giải mã các tín hiệu trạng thái
/S0 /S1 và /S2 để cung cấp các
tín hiệu điều khiển bus
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
26
tín
hiệu
điều
khiển
bus
.
Các chân mang thông tin địachỉ:
8086
có
2
0
đườ
n
g
địa
c
hỉ
bao
gồ
m
từ
A
0
đế
nA
19
t
r
o
n
g
8086
có
0
đườ g
địa
c
bao
gồ
từ
0
đế
19
to g
đó 16 đường dây địachỉ thấptừ A
0
đếnA
15
đượcghép
kênh vớicácđường dây dữ liệutừ D
0
đếnD
15
trên các
chân từ AD
0
đếnAD
15
; còn 4 đường dây địachỉ cao nhất
t
ừ
A
16
đếnA
19
đượcghépkênhvớicáctínhiệutrạng thái
từ S
3
đếnS
6
trên các chân từ A
16
/S
3
đếnA
19
/S
6
. Do đó
tạichukỳ bus địachỉ các đường dây này đượcsử dụng
để
hô
i
đị
hỉ
đ
đế
bộ
hớ
h ặ
á
ổ
để
mang t
hô
ng t
i
n
đị
ac
hỉ
đ
ưa
đế
n
bộ
n
hớ
h
o
ặ
cc
á
cc
ổ
ng
vào/ra.
Khi truy cậpcáccổng vào/ra, chỉ có 16 đường dây địa
hỉ
từ
A
đế
A
đượ
ử
d
c
hỉ
từ
A
0
đế
n
A
15
đượ
cs
ử
d
ụng
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
27
Các chân mang thông tin về dữ liệu:
16 đường dây dữ liệutừ D
0
đếnD
15
đượcghépkênhvới 16 đường
đ
ị
achỉ thấ
p
từ A
0
đếnA
15
.
Khi ho
ạ
t đ
ộ
n
g
ở
chu k
ỳ
bus dữ li
ệ
uthì
ị
p
0
15
ạ
ộ g
ỳ
ệ
các đường dây này mang thông tin về nội dung đọcrahay viếtvào
M hay thiếtbị I/O, hay các mã về các loạingắttừ bộđiềukhiển
ngắt 8259.
Cá
hâ
í
h ệ
há
Cá
cc
hâ
nt
í
n
h
i
ệ
utrạn
g
t
há
i:
A
16
đếnA
19
của 8086 đượcghépkênhvớicáctínhiệutrạng thái từ
S
3
đếnS
6
. Các bit trạng thái này được đưa ra cùng thời điểmvới
các
dữ
liệu
được
truyền
trên
các
chân
AD
AD
các
dữ
liệu
được
truyền
trên
các
chân
AD
0
–
AD
15
.
Bit S3 và S4 kếthợp cùng nhau để xác định thanh ghi đoạn được
sử dụng để tạorađịachỉ vậtlýđược đưalênbus địachỉ
S5
phản
ánh
trạng
thái
cờ
IF; S6
luôn
bằng
0
S5
phản
ánh
trạng
thái
cờ
IF; S6
luôn
bằng
0
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
28
Các chân tín hiệu điềukhiển:
Tín hiệu ALE (Address Latch Enable) là một xung nâng lên mức1 để báo cho
m
ạ
ch n
g
oài biếtcóm
ộ
t đ
ị
achỉ h
ợp
l
ệ
ở trên bus
→ đư
ợ
c đưavàođiềukhiển
ạ
g
ộ
ị
ợp
ệ
ợ
mộtvi mạch mạch chốt ở bên ngoài để tách các bit địachỉ từ A
0
đếnA
15
ra
khỏi đường dây ghép kênh địachỉ -dữ liệutừ AD
0
đếnAD
15
.
Tín hiệu /DEN (Data Enable): báo có dữ liệuhợplệở trên bus bởimứclogic
0
→
được
đưa
tới
vi
mạch
đệm
dữ
liệu
trên
bus
dữ
liệu
.
0
→
được
đưa
tới
vi
mạch
đệm
dữ
liệu
trên
bus
dữ
liệu
.
Tín hiệu M//IO: logic 0 tại đầuranàybáochocácmạch ngoài biếtcóđịachỉ
thiếtbị vào/ra trên bus, mứclogic 1 báorằng có địachỉ của M trên bus.
Tín hiệu DT//R: báo hướng truyềndữ liệutrênbus. KhiDT//R =1 thìbus dữ
liệu
ở
chế
độ
truyền
Do
đó
dữ
liệu
có
thể
ghi
vào
M
hoặc
đưa
ra
thiết
bị
liệu
ở
chế
độ
truyền
.
Do
đó
dữ
liệu
có
thể
ghi
vào
M
hoặc
đưa
ra
thiết
bị
vào/ra. Ngượclại, mứclogic 0 tại chân DT//R báo hiệurằng bus đang ở chế
độ nhận, dữ liệu đang được đọcratừ bộ nhớ hoặcdữ liệu được đưavàotừ
mộtcổng vào.
Tí
hiệ
/BHE (B k Hi h E bl )
ứ
0
để
bá
ằ
đ
ậ
bă
Tí
n
hiệ
u
/BHE (B
an
k High E
na
bl
e
)
m
ứ
c
0
để
bá
or
ằ
n
g
đ
an
g
truy c
ậ
p
bă
n
g
cao
củabộ nhớ.
Tín hiệu /RD và /WR: báo mộtchukỳđọchoặcghiđang đượctiến hành. CPU
chuyển/WR xuống mức0 để báo dữ liệughihợplệ hoặcdữ liệu đưarađang
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
ở trên bus. CPU
chuyển
/
RD xuốn
g
mức0 để báo hiệurằn
g
CPU
đan
g
đọcd
ữ
liệutừ bộ nhớ hoặcnhậndữ liệutừ mộtcổng vào.
29
A2
AD0
2
3
4
5
19
18
17
16
D0
D1
D2
Q0
Q1
Q
2
AD11
AD1
AD3
A1
AD8
AD9
A8
AD10AD2
A9
A10
A0
2
3
4
5
19
18
17
16
D0
D1
D2
Q0
Q1
Q
2
A11
A3
A12
A13
5
6
7
8
9
11
16
15
14
13
12
D3
D4
D5
D6
D7
Q
Q3
Q4
Q5
Q6
Q7
AD11
AD3
AD4
ALE
AD13
A7
AD12
A15AD15
AD14A6 A14
ALE
AD5
5
6
7
8
9
11
16
15
14
13
12
D3
D4
D5
D6
D7
Q
Q3
Q4
Q5
Q6
Q7
AD6
AD7
A5
A4
A11
A3
74HC573
11
1
LE
OE
A16/S3
ALE
D0
2
18
AD0
ALE
A16
74HC573
11
1
LE
OE
2
19
D1AD1A17
AD3
AD5
D5
A16/S3
D6
D0
2
3
4
5
6
7
8
18
17
16
15
14
13
12
A0
A1
A2
A3
A4
A5
B0
B1
B2
B3
B4
B5
A18
AD0
A16
A19
D2
AD4
2
3
4
5
6
7
8
19
18
17
16
15
14
13
D0
D1
D2
D3
D4
D5
Q0
Q1
Q2
Q3
Q4
Q5
D3A19/S6
A18/S5
A17/S4
AD6
AD2
D4
D6
D7
8
9
19
1
12
11
A5
A6
A7
G
DIR
B5
B6
B7
AD7
ALE
8
9
11
1
13
12
D5
D6
D7
LE
OE
Q5
Q6
Q7
AD6
DT-/R
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
30
74LS24574HC573
31
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
32
Các chân tín hiệungắt:
Tín hiệuINTR: đầuvào, cóthểđượcsử dụng bởimộtthiếtbị ngoài để
báo
rằng
nó
đang
cần
được
phục
vụ
bởi
mức
logic 1
Khi
yêu
cầu
ngắt
báo
rằng
nó
đang
cần
được
phục
vụ
bởi
mức
logic 1
.
Khi
yêu
cầu
ngắt
đượcnhậnbiếtbởiCPU thìnóbáosự xác nhậnchothiếtbị bên ngoài
vớimứclogic 0 tại đầu ra /INTA (Interrupt Acknowledge).
Tín hiệuvào/TEST: Lệnh WAIT khi thựchiệnsẽ tạoratrạng thái chờ cho bộ
vi
xử
lý
nếu
có
mức
logic 1
ở
đầu
vào
/TEST
CPU
treo
hoạt
động
của
vi
xử
lý
nếu
có
mức
logic 1
ở
đầu
vào
/TEST
,
CPU
treo
hoạt
động
của
mình và chuyển đếntrạng thái nghỉ, CPU không thựchiệnlệnh mà
kiểmtralạimứclogic ở đầuvào/TEST chođến khi nó trở lạimức0.
Nếu /TEST chuyển đếnlogic 0, quátrìnhlại đượctiếptụcvớilệnh tiếp
theo
trong
chương
trình
/TEST
có
thể
được
sử
dụng
để
đồng
bộ
hoạt
theo
trong
chương
trình
.
/TEST
có
thể
được
sử
dụng
để
đồng
bộ
hoạt
động của 8086 vớicácvi mạch bên ngoài như 8087
Đầu vào NMI (Non Maskable Interrupt): mức logic trên NMI chuyểntừ
0 lên 1, điềukhiển được chuyển đếnchương trình con phụcvụ ngắt
khô
h
đ
i
hời
điể
hà
hà h
h
hiệ
ủ
lệ h
đ
khô
n
g
c
h
e
đ
ượctạ
i
t
hời
điể
m
h
o
à
nt
hà
n
h
s
ự
t
h
ực
hiệ
nc
ủ
a
lệ
n
h
đ
an
g
chạy. NMI là yêu cầungắtcómứclogicưutiêncaonhất và nó không
thể che đượcbằng phầnmềm.
ĐầuvàoRESET đượcsử dụng để thiếtlậplạiphầncứng cho CPU.
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
33
Các chân mang tín hiệuphụcvụ DMA (Direct Memory
Access):
ệ
ậ
ộ
ớ
ế
ủ
ở
ế
ộ
Giao di
ệ
ntruyc
ậ
pb
ộ
nh
ớ
trựcti
ế
pc
ủ
a 8086
ở
ch
ế
đ
ộ
MIN
bao
gồmhaitínhiệu HOLD và HLDA. Khi mộtthiếtbị ngoài muốn
giành quyền điềukhiểnbus hệ thống để thựchiện truy cậpbộ
nhớ
trực
tiếp
,
nó
báo
yêu
cầu
này
cho
CPU
bằng
cách
chuyển
nhớ
trực
tiếp
,
nó
báo
yêu
cầu
này
cho
CPU
bằng
cách
chuyển
HOLD lên mứclogic1. CPU sẽ dừng thựchiệnchương trình
đang chạy và chuyểnsang trạng thái cô lậpsaubằng cách đặt
các chân địachỉ/dữ liệuvàđiềukhiển ở trạng thái trở kháng
cao.
8086 báo cho các thiếtbị ngoài rằng nó đang ở trạng thái cô
lậpbằng cách chuyển đầura HLDA củanólênmứclogic1 và
lúc
này
quyền
điều
khiển
bus
được
chuyển
cho
vi
mạch
điều
lúc
này
quyền
điều
khiển
bus
được
chuyển
cho
vi
mạch
điều
khiểnDMA (vi mạch 8237).
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
34
Đồng hồ hệ thống:
Thời gian cơ sở cho đồng bộ hoạt
động bên trong và bên ngoài của
động bên trong và bên ngoài của
CPU được cung cấp bởi đầu vào CLK
ở chân số 19. Tín hiệu CLK được tạo
ra ở bên ngoài bằng 8284
Tầ ố ủ tí hiệ t i đầ PCLK
Tầ
n
s
ố
c
ủ
a
tí
n
hiệ
u
t
ạ
i đầ
u
ra
PCLK
bằng một nửa tần số của tín hiệu tại
đầu ra CLK, tần số ở đầu ra OSC
đúng bằng tần số của dao động
thạch anh
thạch anh
.
Vi mạch 8284 cũng có thể được kích
một nguồn xung đồng hồ ở bên
ngoài được cung cấp tới chân EFI
ủ
(External Frequency Input) c
ủ
a
8284. Đầu vào F//C để lựa chọn
nguồn xung clock cung cấp cho
8284 là từ thạch anh hay nguồn
ồ ồ êàở â
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
xun
g
đ
ồ
n
g
h
ồ
b
ê
n n
g
o
à
i
ở
ch
â
n
EFI.
35
Chức năng các chân ở chế độ MAX:
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
36
4. Chu kỳ bus cơ bản của 8086
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
37
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
38
Trả lời các câu hỏi & làm các BT cuối
chương 2 của Giáo trình
chương 2 của Giáo trình
.
Đọc Chapter 8
Tài liệu tham khảo số 2
Đọc Chapter 8
–
Tài liệu tham khảo số 2
.
Đ t ướ Chươ 3 ủ Giá t ì h
Đ
ọc
t
r
ướ
c
Chươ
ng
3
c
ủ
a
Giá
o
t
r
ì
n
h
.
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
40