Vi Xử Lý và Cấu Trúc Máy Tính chương 02 - Pdf 15

Ệ Ử Ề Ô
Đ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

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

lệnh
logic
hiện
các
lệnh

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


đưa
đến
bộ
giải


các
thông
tin

thu
được

bên
trong

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

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ệ

ài
(
á
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


ES



sẽ
thi
hành
thành
địa
chỉ
của
lệnh
tiếp
theo

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


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ệ

đọ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

3


tại
1

t
hời
điểm
nhất
định

2
,

đọc
lệnh

3
,


tại

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ừ


này

thể
tách
ra

thành
hai
các
dữ
liệu
8 bit

thì
mỗi
thanh
ghi
này

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

.
• 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

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

biệt
gọi


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

chúng
được
gọi


thanh
ghi
đoạn
.

Đó
các
vùng
kể
trên

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


an
h
g
hi
16 bit
.

Nội dung của 2 thanh ghi này tạora địachỉ vậtlý:

hỉ


ội
d
hh
hi
đ
16
ội
d
hh
Đ

ac
hỉ
v
ật

=


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


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



thanh
ghi
này

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

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

diễ
n

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

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

đườ
n
g
địa
c
hỉ
bao
gồ
m
từ
A
0
đế
nA
19
t
r
o
n
g
8086

0
đườ g
địa
c
bao
gồ
từ
0

16
/S
3
đếnA
19
/S
6
. Do đó
tạichukỳ bus địachỉ các đường dây này đượcsử dụng
để

i

đị
hỉ
đ
đế
bộ
hớ
h ặ
á

để
mang t

ng t
i
n

đị

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
.



cc

nt
í
n
h
i

utrạn
g
t

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

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 đ


đượ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



chế
độ
truyền
.
Do

đó
dữ
liệu

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.

hiệ
/BHE (B k Hi h E bl )



n
g
đ
an
g
truy c

p

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

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

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

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

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

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ử

nếu

mức
logic 1

đầu
vào
/TEST
CPU

treo
hoạt
động
của
vi

được
sử
dụng
để
đồng
bộ
hoạt
theo
trong
chương
trình
.
/TEST


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


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):




ế


ế


báo
yêu
cầu
này
cho
CPU

bằng
cách
chuyển
nhớ
trực
tiếp
,


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


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

n
hiệ

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

a
Giá
o
t
r
ì
n
h
.
HANOI UNIVERSITY OF INDUSTRY
Faculty of Electronic Engineering
40


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status