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

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

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 (744.87 KB, 62 trang )

NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
1
6. Vi Tác V
6. Vi Tác V
6.1. Truyn Thanh Ghi
6.2. Vi Tác V S Hc
6.3. Vi Tác V Lun lý
6.4. Vi Tác V Dch
6.5. n V Dch Lun Lý S Hc
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
2
6.1. Truyn Thanh Ghi
6.1. Truyn Thanh Ghi

Mt h thng s là mt kt ni các đn th
phn cng nhm thc hin mt tác v x
lý thông tin nào đó.
 Các đn th đc to t các thành phn s
nh thanh ghi, mch gii mã, các phn t
tính toán.
 n th c bn nht đc to t các thanh
ghi vi tác v x lý d liu trên các thanh
ghi đó.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
3
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Tác v x lý d liu lu trên thanh ghi gi
là mt vi tác v.
 Kt qu vi tác v có th thay th d liu đã


lu trc đó hoc chuyn qua thanh ghi
khác.
 Ví d các vi tác v: dch, đm, xoá và np.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
4
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Thng có 4 loi vi tác v:
1. Vi tác v truyn thanh ghi chuyn thông tin nh
phân t thanh ghi này qua thanh ghi khác.
2. Vi tác v s hc thc hin các phép tính s hc
vi d liu s trên thanh ghi.
3. Vi tác v lun lý thc hin các tác v thao tác bit
vi d liu phi s trên thanh ghi.
4. Vi tác v dch thc hin các tác v dch d liu
trên thanh ghi.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
5
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Có th mô t dãy vi tác v bng li,
nhng thng dài dòng. Tt nht là dùng
mt s ký hiu phù hp đ mô t.
 Ký hiu cùng qui tc dùng mô t vi tác
v gi là ngôn ng truyn thanh ghi.
 Sau đây là mt s ký hiu và qui tc
thông dng trong ngôn ng truyn thanh
ghi.

NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
6
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Các thanh ghi đc ghi bng ch hoa
(đôi khi kèm theo mt s) th hin chc
nng ca nó.
 Ví d thanh ghi lu đa ch b nh gi là
thanh ghi đa ch b nh MAR.
 PC là thanh ghi đm chng trình.
 IR là thanh ghi lnh
 R1 là thanh ghi x lý.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
7
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Các mch lt trong thanh ghi n-bit đc đánh s t
0 đn n-1 tính t phi qua trái.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
8
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Mnh đ chuyn thanh ghi R1 sang R2
(dùng toán t thay th ← ), R1 không
đi: R2 ← R1
 Mnh đ If-then vi P là tín hiu điu
khin (khi P=1, truyn R1 sang R2):
If (P=1) then (R2 ← R1)

 Dùng hàm điu khin (là bin Boole) có
tr 1 hoc 0 (khi P=1, truyn R1 sang
R2): P: R2 ← R1
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
9
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Hình bên mô t
tác v truyn t
R1 sang R2.
 N là s bit đc
truyn.
 Bin điu khin
P điu khin tác
v np ti
chuyn tip
dng k (thi
đim t+1) xác
đnh bi đng
h.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
10
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Bus là mt tp các đng truyn dn các
tín hiu t ni này sang ni khác.
 Thng dùng đng Bus chung cho mi
thanh ghi và tín hiu điu khin s xác

đnh thanh ghi nào đc truyn.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
11
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình di là h thng Bus dùng cho 4 thanh ghi 4-bit
gm 4 mch dn 4-1 và 2 ngõ nhp chn S
1
, S
0
.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
12
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn 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. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

 truyn t Bus vào thanh ghi phi ni
Bus vi đng nhp ca thanh ghi và có
tín hiu điu khin np.
 Nh vy mun truyn t thanh ghi này

qua thanh ghi kia (R1 ← C) phi thc
hin: Bus ← C, R1 ← Bus
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
14
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Có th to Bus bng cng đm ba-trng
thái thay cho mch dn.
 Cng đm ba-trng thái là mch s có 3
trng thái.
 Hai trng thái là tín hiu tng đng
lun lý 1 và 0 nh cng bình thng,
trng thái ba là trng thái tr kháng cao.
 Trng thái tr kháng cao hot đng nh
mch h, lúc đó ngõ ra b ngt.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
15
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Hình di là cng đm ba-trng thái, khác vi
cng đm bình thng là có thêm ngõ điu
khin.
 Khi bng 0, cng có trng thái tr kháng cao,
ngõ ra b cm.
 Khi bng 1, hot đng nh cng đm thng.
01
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
16

6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)
Hình bên là
Bus dùng
cng đm
ba-trng
thái.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
17
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Khi ngõ cho
nhp E=0,
mch không
hot đng.
 Khi E=1, tu
theo ngõ
nhp chn
S
1
S
0
, các bit
A
0
/B
0
/C
0

/D
0
ca thanh ghi
A/B/C/D s
chuyn ra
đng Bus.
01
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
18
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Truyn thông tin t mt t nh ra ngoài
gi là tác v đc. a thông tin mi vào
b nh gi là vit.
 t M là ký hiu ca mt t nh. Trc
khi truyn phi xác đnh đa ch ca M.
 t AR là thanh ghi cha đa ch ca t
nh và DR là thanh ghi nhn thông tin
đc t M.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
19
6.1. Truyn Thanh Ghi (tt)
6.1. Truyn Thanh Ghi (tt)

Tác v đc:
Read: DR ← M[AR]
 Tác v vit:
Write: M[AR] ← R1
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03

20
6.2. Vi Tác V S Hc
6.2. Vi Tác V S Hc
Bng sau là các vi tác v s hc.
Cng R1 vi R2 ri chuyn vào R3
Tr R1 vi R2 ri chuyn vào R3
Ly bù-1 R2
Ly bù-2 R2 (âm)
R1 tr R2, đa vào R3
Tng R1 lên 1
Gim R1 bt 1
R3 ← R1 + R2
R3 ← R1 - R2
R2 ← R2’
R2 ← R2’ + 1
R3 ← R1 + R2’ + 1
R1 ← R1 + 1
R1 ← R1 - 1
Din giiKý hiu
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
21
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)

 cài đt vi tác v cng, cn có các thanh ghi
và mch thc hin phép cng s hc.
 Hình di là mch cng nh phân 4 bit gm 4
mch toàn cng.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
22

6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Phép cng và tr có th kt hp vào mt mch bng
cách thêm cng XOR vào mi mch toàn cng.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
23
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)

Khi M=0, mch thc hin phép cng
 Khi M=1, mch thc hin 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 Hc (tt)
6.2. Vi Tác V S Hc (tt)
Vic tng lên
1 có th
thc hin
bng mch
đm.
NMT - KTMT - V3.1 - Ch6 - Ns62 - 14/1/03
25
6.2. Vi Tác V S Hc (tt)
6.2. Vi Tác V S Hc (tt)
Tuy nhiên, tác v tng 1 thng áp dng cho bt k
thanh ghi nào nên thng dùng mch tng nh
phân đc to t mch na cng.
S=A+1

×