Tải bản đầy đủ (.pdf) (75 trang)

BÀI GIẢNG KIẾN TRÚC MÁY TÍNH_PHẦN 7 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (787.7 KB, 75 trang )

NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
1
8. Qui Trình Thc Hin Lnh
8. Qui Trình Thc Hin Lnh
8.1. Chu K Lnh
8.2. Lnh Tham Chiu B Nh
8.3. Nhp Xut & Ngt
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
2
8.1. Chu K Lnh
8.1. Chu K Lnh

Chng trình trong b nh gm mt dãy
lnh. Mi lnh đc thc hin qua mt
chu k lnh.
 Mt chu k lnh gm mt dãy tiu chu
k hoc pha. Trong máy c bn mi chu
k lnh gm 4 pha sau:
1. Tìm lnh
2. Gii mã lnh
3. c đa ch hiu dng t b nh nu lnh
có đa ch gián tip.
4. Thc hin lnh
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
3
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Khi hoàn tt bc 4, điu khin tr v
bc 1 đ tìm, gii mã và thc hin lnh
k.


 Qui trình này lp mãi cho đn khi thc
hin lnh HALT
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
4
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Khi đu, PC đc np đa ch đu tiên
ca chng trình.
 SC xoá 0 to thi hiu T
0
.
 Sau mi xung đng h, SC tng 1 nên
các thi hiu s là T
0
, T
1
, T
2
,
 Các vi tác v cho các pha tìm và gii mã
đc xác đnh qua các mnh đ chuyn
thanh ghi sau.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
5
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Pha tìm lnh
T

0
: AR ← PC
T
1
: IR ← M[AR], PC ← PC + 1
 Pha gii mã lnh
T
2
: D
0
, ,D
7
← Gii mã IR(12-14),
AR ← IR(0-11), I ← IR(15)
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
6
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
Hình bên
cho thy
cách cài
đt 2 mnh
đ chuyn
thanh ghi
đu (pha
tìm lnh)
trong h
thng bus.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
7

8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

T
0
: AR ← PC
1.Cho ngõ nhp
chn S
2
S
1
S
0
=
010 đ đt PC
lên bus.
2.Cho lên LD
ca AR đ ly
bus đa vào
AR.
0
1
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
8
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

T
1
: IR ←M[AR],

PC ← PC + 1
1.Lên ngõ nhp
Read ca b nh
2.Cho S
2
S
1
S
0
=111
đ đt b nh lên
bus.
3.Lên LD ca IR đ
ly bus vào IR.
4.Lên INR ca PC
đ tng PC.
1
0
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
9
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
Sau khi gii mã, thi hiu hot đng là T
3
.
Trong T
3
, VK xác đnh loi lnh va
đc t b nh.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03

10
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
Lu đ di cho thy cu hình khi phát ca chu k lnh và
cách điu khin xác đnh loi lnh sau khi gii mã.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
11
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
Ngõ ra mch gii mã D
7
=1 nu mã tác v là 111.
Lnh thuc loi tham chiu thanh ghi hoc nhp xut.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
12
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
Ngõ ra mch gii mã D
7
=0 nu mã tác v là 000-110.
Lnh thuc loi tham chiu b nh.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
13
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)
K tip, điu khin kim bit đu ca lnh qua mch lt I, nu
D
7
=0 và I=1, ta có lnh tham chiu b nh vi đa ch gián
tip. Lúc đócn đc đa ch hiu dng t b nh.

NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
14
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Vi tác v cho điu kin đa ch gián tip
là: AR ← M[AR]
 Khi đu AR lu phn đa ch ca lnh.
 Tác v đc b nh s dng đa ch này.
 T đc đc đa lên bus.
 Cho lên LD ca AR đ nhn đa ch gián
tip (12 bit thp) t bus.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
15
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Ba loi lnh có th xác đnh qua:
D
7
’IT
3
:AR ← M[AR]
D
7
’I’T
3
: không làm gì
D
7

I’T
3
:thc hin lnh tham chiu thanh ghi
D
7
IT
3
:thc hin lnh nhp xut
 Khi thc hin lnh tham chiu b nh vi
I=0, không làm gì vì đa ch hiu dng đã có
trong AR.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
16
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Tuy nhiên SC phi tng khi D
7
’T
3
=1 đ
thc hin lnh tham chiu b nh (ti
T
4
).
 Lnh tham chiu thanh ghi hoc nhp
xut thc hin ti T
3
.
 Sau khi thc hin lnh, SC v 0 và điu

khin tr li pha tìm vi T
0
=1.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
17
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Lu ý SC hoc tng hoc xoá 0 ti mi
chuyn tip đng h dng.
 Chúng ta qui c không vit SC ← SC+1
khi SC tng nhng điu khin vn đi qua
thi hiu k tip và vit SC ← 0 khi xoá
SC.
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
18
8.1. Chu K Lnh (tt)
8.1. Chu K Lnh (tt)

Khi D
7
=1, I=0, lnh thuc loi tham
chiu thanh ghi.
 Bit 0-11 trong mã lnh xác đnh 1 trong
12 lnh tham chiu thanh ghi.
 Các hàm điu khin và vi tác v trong
bng di
13-Feb-03 NMT - KTMT - V3.1 - Ch8 - Ns75 -
15/1/03
19

Lnh tham chiu thanh ghi
SC ← 0
AC ← 0
E ← 0
AC ← (AC)’
E ← E’
AC ← shr AC, AC(15) ← E,
E←AC(0)
AC ← shl AC, AC(0) ← E,
E←AC(15)
Xoá SC
Xoá AC
Xoá E
Bù AC
Bù E
Vòng phi
Vòng trái

r:
rB
11
:
rB
10
:
rB
9
:
rB
8

:
rB
7
:
rB
6
:
CLA
CLE
CMA
CME
CIR
CIL
D
7
I’T
3
= r (cho các lnh tham chiu thanh ghi)
IR(i) = B
i
[bit trong IR(0-11) xác đnh tác v]
13-Feb-03 NMT - KTMT - V3.1 - Ch8 - Ns75 -
15/1/03
20
Lnh tham chiu thanh ghi(tt)
AC ← AC + 1
If (AC(15)=0) then
PC ← PC+1
If (AC(15)=1) then
PC ← PC+1

If (AC=0) then
PC ← PC+1
If (E=0) then
PC ← PC+1
S ← 0 (S là mch
lt chy-dng)
Tng AC
Nhy nu dng
Nhy nu âm
Nhy nu AC là 0
Nhy nu E là 0
Dng
rB
5
:
rB
4
:
rB
3
:
rB
2
:
rB
1
:
rB
0
:

INC
SPA
SNA
SZA
SZE
HLT
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
21
8.2. Lnh Tham Chiu B Nh
8.2. Lnh Tham Chiu B Nh

Bng di lit kê 7 lnh tham chiu b nh tng ng
vi các ngõ ra gii mã D
i
(i=0,1,2,3,4,5,6).
AC ←AC ∧ M[AR]
AC ← AC + M[AR], E ← C
out
AC ← M[AR]
M[AR] ← AC
PC ← AR
M[AR] ← PC, PC ← AR + 1
M[AR] ← M[AR] + 1
If M[AR]+1=0 then PC ← PC + 1
D
0
D
1
D
2

D
3
D
4
D
5
D
6
AND
ADD
LDA
STA
BUN
BSA
ISZ
Din gii
Gii mã
tác v
Ký hiu
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
22
8.2. Lnh Tham Chiu B Nh (tt)
8.2. Lnh Tham Chiu B Nh (tt)

a ch hiu dng đt vào AR trong T
2

khi I=0 (đa ch trc tip), trong T
3
khi

I=1 (đa ch gián tip).
 Thc hin lnh tham chiu b nh bt
đu vi thi hiu T
4
.
 Vic thc hin lnh cn nhiu vi tác v vì
không th x lý trc tip d liu trong b
nh (phi đa d liu vào thanh ghi).
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
23
8.2. Lnh ThamChiu BNh (tt)
8.2. Lnh ThamChiu BNh (tt)
AND (vào AC)
 Thc hin tác v AND trên các cp bit
trong AC và t nh. Kt qu cha trong
AC. Vi tác v:
 D
0
T
4
: DR ← M[AR]
D
0
T
5
: AC ← AC ∧ DR,
SC ← 0
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
24
8.2. Lnh ThamChiu BNh (tt)

8.2. Lnh ThamChiu BNh (tt)
BUN (r không điu kin)
 Chuyn chng trình sang lnh xác đnh theo
đa ch hiu dng.
 Nhc li: PC lu đa ch lnh đc t b nh
trong chu k lnh k. Thng PC tng 1 ti T
1
chun b cho đa ch lnh k.
 BUN cho phép thay đi th t thc hin lnh
gi là r (hoc nhy) không điu kin. Vi tác
v:
 D
4
T
4
:PC ← AR,
SC ← 0
NMT - KTMT - V3.1 - Ch8 - Ns75 - 15/1/03
25
8.2. Lnh ThamChiu BNh (tt)
8.2. Lnh ThamChiu BNh (tt)
BSA (r và lu đa ch quay v)
 Dùng đ r đn mt phn chng trình
gi là trình con hoc th tc.
 BSA lu đa ch lnh k (đang nm trong
PC) vào vùng nh đnh bi đa ch hiu
dng, sau đócng 1 vào đa ch hiu
dng dùng làm đa ch trình con. Vi tác
v:
 D

5
T
4
: M[AR] ← PC, AR ← AR + 1,
D
5
T
5
: PC ← AR, SC ← 0

×