NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
1
6. Vi Tác V
6. Vi Tác V
6.1. Truyn Thanh Ghi
6.2. Vi Tác V S Hc
6.3. Vi Tác V Lun lý
6.4. Vi Tác V Dch
6.5. n V Dch Lun Lý S Hc
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
2
6.1. Truyn Thanh Ghi
6.1. Truyn Thanh Ghi
Mt h thng s là mt kt ni các đn th
phn cng nhm thc hin mt tác v x
lý thông tin nào đó.
Các đn th đc to t các thành phn s
nh thanh ghi, mch gii mã, các phn t
tính toán.
n th c bn nht đc to t các thanh
ghi vi tác v x lý d liu trên các thanh
ghi đó.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
3
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Tác v x lý d liu lu trên thanh ghi gi
là mt vi tác v.
Kt qu vi tác v có th thay th d liu đã
lu trc đó hoc chuyn qua thanh ghi
khác.
Ví d các vi tác v: dch, đm, xoá và np.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
4
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Thng có 4 loi vi tác v:
1. Vi tác v truyn thanh ghi chuyn thông tin nh
phân t thanh ghi này qua thanh ghi khác.
2. Vi tác v s hc thc hin các phép tính s hc
vi d liu s trên thanh ghi.
3. Vi tác v lun lý thc hin các tác v thao tác bit
vi d liu phi s trên thanh ghi.
4. Vi tác v dch thc hin các tác v dch d liu
trên thanh ghi.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
5
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Có th mô t dãy vi tác v bng li,
nhng thng dài dòng. Tt nht là dùng
mt s ký hiu phù hp đ mô t.
Ký hiu cùng qui tc dùng mô t vi tác
v gi là ngôn ng truyn thanh ghi.
Sau đây là mt s ký hiu và qui tc
thông dng trong ngôn ng truyn thanh
ghi.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
6
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Các thanh ghi đc ghi bng ch hoa
(đôi khi kèm theo mt s) th hin chc
nng ca nó.
Ví d thanh ghi lu đa ch b nh gi là
thanh ghi đa ch b nh MAR.
PC là thanh ghi đm chng trình.
IR là thanh ghi lnh
R1 là thanh ghi x lý.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
7
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Các mch lt trong thanh ghi n-bit đc đánh s t
0 đn n-1 tính t phi qua trái.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
8
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Mnh đ chuyn thanh ghi R1 sang R2
(dùng toán t thay th ← ), R1 không
đi: R2 ← R1
Mnh đ If-then vi P là tín hiu điu
khin (khi P=1, truyn R1 sang R2):
If (P=1) then (R2 ← R1)
Dùng hàm điu khin (là bin Boole) có
tr 1 hoc 0 (khi P=1, truyn R1 sang
R2): P: R2 ← R1
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
9
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình bên mô t
tác v truyn t
R1 sang R2.
N là s bit đc
truyn.
Bin điu khin
P điu khin tác
v np ti
chuyn tip
dng k (thi
đim t+1) xác
đnh bi đng
h.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
10
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Bus là mt tp các đng truyn dn các
tín hiu t ni này sang ni khác.
Thng dùng đng Bus chung cho mi
thanh ghi và tín hiu điu khin s xác
đnh thanh ghi nào đc truyn.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
11
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình di là h thng Bus dùng cho 4 thanh ghi 4-bit
gm 4 mch dn 4-1 và 2 ngõ nhp chn S
1
, S
0
.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
12
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
00
A
0
A
1
A
2
A
3
01
B
1
B
2
B
3
B
0
10
C
0
C
1
C
2
C
3
11
D
0
D
1
D
2
D
3
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
13
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
truyn t Bus vào thanh ghi phi ni
Bus vi đng nhp ca thanh ghi và có
tín hiu điu khin np.
Nh vy mun truyn t thanh ghi này
qua thanh ghi kia (R1 ← C) phi thc
hin: Bus ← C, R1 ← Bus
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
14
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Có th to Bus bng cng đm ba-trng
thái thay cho mch dn.
Cng đm ba-trng thái là mch s có 3
trng thái.
Hai trng thái là tín hiu tng đng
lun lý 1 và 0 nh cng bình thng,
trng thái ba là trng thái tr kháng cao.
Trng thái tr kháng cao hot đng nh
mch h, lúc đó ngõ ra b ngt.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
15
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình di là cng đm ba-trng thái, khác vi
cng đm bình thng là có thêm ngõ điu
khin.
Khi bng 0, cng có trng thái tr kháng cao,
ngõ ra b cm.
Khi bng 1, hot đng nh cng đm thng.
01
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
16
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình bên là
Bus dùng
cng đm
ba-trng
thái.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
17
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Khi ngõ cho
nhp E=0,
mch không
hot đng.
Khi E=1, tu
theo ngõ
nhp chn
S
1
S
0
, các bit
A
0
/B
0
/C
0
/D
0
ca thanh ghi
A/B/C/D s
chuyn ra
đng Bus.
01
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
18
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Truyn thông tin t mt t nh ra ngoài
gi là tác v đc. a thông tin mi vào
b nh gi là vit.
t M là ký hiu ca mt t nh. Trc
khi truyn phi xác đnh đa ch ca M.
t AR là thanh ghi cha đa ch ca t
nh và DR là thanh ghi nhn thông tin
đc t M.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
19
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Tác v đc:
Read: DR ← M[AR]
Tác v vit:
Write: M[AR] ← R1
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
20
6.2. Vi Tác V S Hc
6.2. Vi Tác V S Hc
Bng sau là các vi tác v s hc.
Cng R1 vi R2 ri chuyn vào R3
Tr R1 vi R2 ri chuyn vào R3
Ly bù-1 R2
Ly bù-2 R2 (âm)
R1 tr R2, đa vào R3
Tng R1 lên 1
Gim R1 bt 1
R3 ← R1 + R2
R3 ← R1 - R2
R2 ← R2’
R2 ← R2’ + 1
R3 ← R1 + R2’ + 1
R1 ← R1 + 1
R1 ← R1 - 1
Din giiKý hiu
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
21
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
cài đt vi tác v cng, cn có các thanh ghi
và mch thc hin phép cng s hc.
Hình di là mch cng nh phân 4 bit gm 4
mch toàn cng.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
22
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Phép cng và tr có th kt hp vào mt mch bng
cách thêm cng XOR vào mi mch toàn cng.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
23
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Khi M=0, mch thc hin phép cng
Khi M=1, mch thc hin phép tr.
0
B
3
A
3
B
2
A
2
B
1
A
1
B
0
A
0
1
B’
3
B’
2
B’
1
B’
0
S=A+BS=A-B
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
24
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Vic tng lên
1 có th
thc hin
bng mch
đm.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
25
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Tuy nhiên, tác v tng 1 thng áp dng cho bt k
thanh ghi nào nên thng dùng mch tng nh
phân đc to t mch na cng.
S=A+1