Академический Документы
Профессиональный Документы
Культура Документы
1.1.
Page 1
Page 2
Page 3
Page 4
Page 5
1.5.
Mc my tnh
Page 6
Cp vi chng trnh
y l cp th hin s tc ng ca khi iu n vic dch chuyn d liu
t thanh ghi n cc thanh ghi v n cc khi chc nng khc ra lm sao. Khi
iu khin s np ln lt m lnh v thc thi tng lnh theo mt chng trnh
c nh sn bi nh sn xut cc chip vi x l c gi l cc vi chng
trnh. Thc ra, ngi lp trnh khng cn quan tm lm n s hot ng ca
cp ny bi v cc vi chng trnh l c nh, ch c ngi thit k phn
cng mi tc ng c n cc vi chng trnh ny
BI GING CU TRC MY TNH V GHP NI
Page 7
Ngn ng cp cao
Bt c mt lp trnh vin no s dng mt trong nhng ngn ng nh C,
Pascal, Fortran, hay Java u tng tc vi my tnh cp ngn ng cp
cao. Ti cp ny, lp trnh vin tng tc vi d liu v m lnh chng
trnh thng qua ngn ng cp cao, rt ging vi ngn ng hng ngy m khng
cn quan tm ti vic d liu v m lnh c my tnh x l nh th no
Thc t, my tnh c th hiu c cc lnh c vit bng ngn ng cp
cao, my tnh phi thc hin qu trnh chuyn i t ngn ng cp cao thnh
ngn ng my thng qua mt trong hai qu trnh bin dch hoc thng dch.
Bin dch (Compiler) l qu trnh chuyn i m lnh ca ton b chng trnh
t ngn ng cp cao thnh ngn ng cp thp ri my tnh mi thc thi chng
trnh. Thng dch (Interpreter) l qu trnh chuyn i tng cu lnh t ngn
ng cp cao thnh ngn ng cp thp, thc thi lnh ri chuyn i tip cu lnh
k tip
1.6.
Page 8
Page 9
TNG KT CHNG
Cu trc ca my tnh cng vi cc cp ca n cn c th hin mt cch
r rng di con mt ca lp trnh vin lp trnh vin c th tng tc vi
my tnh mt cch d dng. Tuy nhin, yu cu li khng c d dng thc
hin c. Trong lch s pht trin, cc lp trnh vin phi tng tc vi my
tnh thng qua cc kha cnh khc nhau. V d nh Babbage phi lp trnh thng
qua cc bnh rng c kh,...Cng vi s pht trin ca cng ngh, cc cp
ca my tnh cng tr nn r rng hn, cho php my tnh c nhiu hn cc
tng tc vi con ngi. Mt m hnh pht trin nht chnh l m hnh my tnh
Von Neumann, y l m hnh thng dng nht trong cc my tnh ngy nay.
Page 10
2.1.
S du phy tnh
Page 11
Page 12
2.2.3. H thng c s bt k
Trong phn ny, chng ta s nghin cu vic biu din cc con s v chuyn i
gia cc h s thng c s dng trong my tnh: s nh phn (binary), s bt
phn (octal) v s hecxa (hecxadecimal)
C s ca h thng s l khong gi tr c th biu din c bi cc con s
trong h thng . V d c s thp phn c 10 con s c s dng biu
din d liu l 0,1,2,3,4,5,6,7,8,9. Cng thc tng qut biu din mt s du
phy tnh c s k l
Xem xt c s 2 (1010.01)2 vi n = 4, m = 2 v k =2
BI GING CU TRC MY TNH V GHP NI
Page 13
Chuyn i gia cc c s
Trong phn trn, chng ta tm hiu cch chuyn t c s bt k sang c s
10. Trong phn ny chng ta s tm hiu phng php chuyn ngc li t c s
10 sang c s bt k. V d ta cn chuyn s (23.375)10 sang c s 2. Chng ta
bt u bng cch chia s thnh phn nguyn v phn thp phn
Vi phn nguyn
Page 14
Page 15
2.2.6. S c du
Nh ni mc trn, s c du c th c biu din bng 1 trong 4 cch.
l phng php dng bit MSB lm bit du (sign-magnitude), s b 1 (ones
complement), s b 2 (twos complement) v s tha (Excess). Mi quan h
gia cc phng php biu din c m t bi bng di y
Page 16
S b 1
S b 1 l phng php cng t khi c s dng. Phng php ny o tt c
cc bt t 0 ln 1 v t 1 v 0 ca tt c cc bit trong s cn biu din. Vi cch
biu din ny, nu bit tn cng bn tri c gi tr l 1 th y l mt s m
S b 2
S b 2 c to ra t s b 1 cng thm 1 n v. S tn cng bn tri th hin
s l m (gi tr 1) hoc dng (gi tr 0). Phng php biu din ny khc
phc c nhc im ca 2 phng php biu din trnh by pha trn l ch
s dng 1 cch biu din cho s 0.
Page 17
S tha
Phng php ny nh la my tnh, n lm cho my tnh khng phn bit c
l n ang tng tc vi s c du. S tha c to ra bng cch xc nh mt
gi tr tha (hay cn gi l gi tr dch chuyn gc 0) lm mc gi tr 0 gi s
l 128. Khi , gi tr gi s l +12 s c to ra bng cch tnh ton (128 + 12
= 140)10. V gi tr 140 khi biu din trong c s 2 s i din cho s +12
Page 18
2.3.
S du phy ng
Page 19
V d
Trong v d trn, ln m con s c biu din ln ti khong 1023 cn
chnh xc ca con s c biu din bng mt s du phy tnh. biu din
gi tr ny, s du phy ng cn c 3 thnh phn: phn du m dng, s m
c s 10 v phn gi tr
trnh vic cng mt con s c biu din bng nhiu cch nh v d trn,
cc s du phy ng cn c chun ha. Theo , du phy c y sang
tri hoc sang phi v s m c iu chnh tng ng cho n khi s u tin
v pha bn phi sau du chm khng phi l mt s 0. Vi cch chun ha nh
vy, s tn cng bn phi v d trn l s c chun ha.
i vi trng hp s cn biu din l s nh phn. Sau khi chun ha, s cn
biu din s lun bt u bng s 1, khi khng nht thit cn phi biu din
s 1 . Thc t, con s 1 s khng c lu li v lun c b i. Kt qu
l s c thm 1 bit biu din con s v iu ny lm tng chnh xc ca
con s m ta cn biu din. Bit m ta b i c gi l nhng bit c du i
Page 20
Page 21
Mt vi minh ha
Page 22
2.4.
M k t
Page 23
2.4.2. M EBCDIC
C mt vn ca m ASCII l n ch c th biu din c 128 k t khc
nhau bi v hn ch cc k t c trong bn phm. M EBCDIC (Extended
Binary Coded Decimal Interchange Code) c s dng m rng thnh m 8
bit. M ny c s dng rng ri trong cc my ch mainframe ca IBM. T
cc m 7 bit ca m ASCII, ta thm vo 1 bit 0 hoc 1 thu c m
EBCDIC
Vic s dng m ny khng lm thay i kch thc ca vng nh trong my
tnh. Tuy nhin, khi thc hin truyn d liu, vic truyn m 8 bit tn thi gian
hn vic truyn s 7 bit
Page 24
Page 25
TNG KT CHNG
Tt c cc d liu trong my tnh c biu din bi mt chui cc bit. Cc bit
c th c nh ngha i din cho s nguyn, s c du phy tnh, s
du phy ng hoc l mt k t
Page 26
Page 27
3.1.
Tng quan
Trong chng trc, chng ta tm hiu cc phng php biu din cc con s
trong my tnh s nhng chng ta mi ch lm quen vi cc php ton c bn
m cha tm hiu k my tnh thc hin cng vic nh th no. Trong
chng ny, chng ta s tm hiu 4 php ton c bn trong my tnh l cng,
tr, nhn, v chia, tm hiu xem my tnh s l cc php ton c thc hin
nh th no i vi cc trng hp cc con s trong php ton l cc s du
phy tnh, du phy ng.
3.2.
Page 28
Page 29
Page 30
B tr 4 bit c nh
Page 31
Trong mch trn, khi thc hin php cng, tn hiu chn
/
c tn
hiu l 0. Khi 4 phn t XOR khng c tc dng trong mch. Cc chn bi ln
s a trc tip vo cc b cng c nh. Phn t nh C0 l 0. Khi thc hin
/
c tn hiu bng 1. 4 phn t XOR
php tnh tr, tn hiu chn
c chc nng o cc bit ca cc tn hiu bi hnh thnh nn s b 1. Tn hiu C0
l 1 c a vo b nh c tc dng chuyn s b 1 sang s b 2 tc l s
m ca B. Nh vy, mch s thc hin php ton A + (-B)
Page 32
Php nhn c thc hin bng cch ln lt dch sang tri s nhn M, cc kt
qu ca php dch ny c thc hin cng vi nhau hay khng ty thuc vo
gi tr ca bit tng ng trong s em nhn Q. Kt qu cui cng P l kt qu
ca php nhn. Hai s n bit nhn vi nhau s cho ta kt qu l mt s 2n bit.
Khi thc hin php nhn i vi 2 s n bit c du, kt qu c ln l s 2n-1
bit trong c 1 bit du
Page 33
Mch phn cng thc hin php tnh cng tng t nh nguyn tc thc hin
php ton cng. Phn cng ca mch bao gm 1 b cng 4 bit v 3 thanh ghi c
di 4 bit v 1 thanh ghi trn 1 bit. thc hin php nhn, s nhn M c
a vo thnh ghi M, s em nhn c a vo thanh ghi Q, ni dung cc
thanh ghi A v C cn li c t gi tr 0. Trong qu trnh thc hin php
cng, gi tr ca bit tn cng bn phi ca thanh ghi Q s quyt nh c thc
hin php cng gi tr M vo b cng hay khng. Sau khi thc hin php cng
, c nh C, s em nhn Q v thanh ghi A c dch sang phi 1 bit. iu
ny c hiu ng tng ng nh y s nhn M dch sang phi tng ng vi
qu trnh nhn 2 s bng tay, ng thi a cc bit tip theo trong thanh ghi Q
vo b iu khin dch v cng thc hin php ton
3.3.2. Php chia s khng du
Trong qu trnh thc hin php chia s nh phn, ta phi c gng tr s chia M
t s b chia Q bng cch s dng t nht s bit trong s b chia. Nguyn l ca
php chia ngc li hon ton vi php nhn. Trong php chia, thay v dch
sang phi trong php nhn, ta s thc hin dch sang tri; thay v thc hin php
cng, ta s thc hin php tr. Nu kt qu ca php tr l m (do trn s), ta s
thc hin khi phc li gi tr trc khi tr, dch tip ri tip tc php tr
thc hin tip php chia.
S mch phn cng
Page 34
Page 35
3.4.
Page 36
Page 37
Page 38
CHNG 4 : NGN NG MY V HP NG
CHNG 4: NGN NG MY V HP NG
Page 39
CHNG 4 : NGN NG MY V HP NG
Page 40
CHNG 4 : NGN NG MY V HP NG
4.1.2. B nh
B nh ca my tnh bao gm mt tp hp mt s cc thanh ghi c nh s
th t hay cn gi l nh a ch, mi a ch c th lu tr 1 byte c ln 8
bit. Mt nibble hay i khi cn c gi l nybble c nh ngha l 4 bit lin
k nhau. ngha ca cc khi nim bit, byte, v nibble ni chung khng ph
thuc v cu trc ca my tnh nhng ngha ca word s ph thuc vo tng
cu trc c th. Mt word thng thng c th l 16, 32, 64 v 128 bit, vi word
32 bit c xem l dng chun ca my tnh. Hnh 4.2 lit k cc dng d liu
ca my tnh
Page 41
CHNG 4 : NGN NG MY V HP NG
Cc nh trong b nh c nh a ch tuyn tnh nh th hin trn hnh 4.3.
Mi a ch duy nht tng ng vi mt t c bit gm 4 byte. Cc a ch
c nh tng dn bt u t 0 v a ch cao nht c xc nh l dung
lng ca b nh tr 1 n v. a ch cao nht ca b nh 232 byte l 232-1.
4.1.3. CPU
Chng ta va tm hiu cu trc c bn nht ca my tnh l h thng bus, b
nh, by gi chng ta s tm hiu cu trc bn trong ca CPU. Mt cch n
gin nht, CPU bao gm khi d liu bao gm cc thanh ghi cha v b ALU,
v mt khi iu khin c s dng bin dch cc lnh v tc ng n cc
thanh ghi dch chuyn
Page 42
CHNG 4 : NGN NG MY V HP NG
Page 43
CHNG 4 : NGN NG MY V HP NG
Tp lnh
Page 44
CHNG 4 : NGN NG MY V HP NG
Tp lnh l tp hp cc cu lnh m vi x l c th thc thi c, do n phi
c nh ngha bi vi x l. Tp lnh cho mi h vi x l l hon ton khc
nhau. Chng khc nhau s lng cc cu lnh, cc ton t, ton hng, thm
ch c kt qu thu c t vi x l cng khc nhau. S khng tng thch ny
li hon ton tri ngc vi kh nng tng thch ca cc ngn ng bc cao nh
C, Pascal,...Chng trnh vit bng ngn ng cp cao c th chy c trn hu
ht cc h thng vi x l khc nhau nu c bin dch li cho ph hp vi h
vi x l tng ng.
Chng ta s xem xt mt tp lnh c th trong chng ny
Phn mm to ra ngn ng my
Trnh bin dch (Compiler) l mt chng trnh my tnh c s dng
chuyn mt chng trnh c vit bng ngn ng cp cao nh C, Pascal, hay
Fortran sang ngn ng my. Cc trnh bin dch cng mt mc ngn ng c
cng mt dng u vo nhng chng s c nhng u ra khc bit ph thuc
vo chng loi vi iu khin. Ngoi ra, khi bin dch cng mt chng trnh cho
cng mt loi vi x l, ta s nhn c cc kt qu khc nhau ph thuc vo cc
trnh bin dch khc nhau.
Vic s dng cc trnh bin dch to thun li ln cho cc lp trnh vin.
l vic lp trnh tr nn d dng v ngn ng s dng gn vi ngn ng i
thng, khng phi l chui cc con s 0 v 1 d nhm ln. Tuy nhin, khi lp
trnh bng ngn ng cp cao, tc x l ca h thng b nh hng do h
thng tn thi gian chuyn chng trnh t ngn ng cp cao thnh ngn ng
hp ng, sau li phi chuyn tip sang ngn ng my. Cc ngn ng lp
trnh hin nay cng h tr vic lp trnh kt hp c ngn ng cp cao v ngn
ng my trong cng mt chng trnh tn dng nhng u im ca c 2 loi
ngn ng cp cao v cp thp.
Ngn ng cp cao cho php chng ta khng cn quan tm n cu trc ca my
tnh trong qu trnh lp trnh. cp ngn ng my, lp trnh, s hiu bit
v cu trc my tnh l iu thit yu. Nhng nu ta lp trnh bng ngn ng
cp cao nh C, Pascal, hay Fortran, chng ta khng cn quan tm n iu v
c trnh bin dch chuyn cc chng trnh thnh cc chng trnh tng
ng vi mi mt h thng vi x l.
Page 45
CHNG 4 : NGN NG MY V HP NG
4.2.
4.2.1. B nh ca ARC
My tnh ARC l my tnh 32 bit c b nh nh a ch theo byte, tc l my
x l cc d liu c rng 32 bit, nhng d liu c lu tr l dng byte.
ng thi, rng ca tn hiu a ch l 32 bit c nh t thp n cao.
Hnh 4.4 chnh l t chc ca b nh trong my tnh ARC, trong
Di a ch 211 = 2048 thp nht trong khng gian nh c s dng
lm vng nh d tr cho h iu hnh
Vng nh dnh cho ngi s dng c dng np chng trnh
hp ng. Vng nh ny bt u t a ch 2048 n khong stack
ca h thng
Stack h thng bt u t a ch 231-4 v gim dn v nhng a ch
thp hn. ln ca stack l khng xc nh trc v thng thng
n ph thuc vo lp trnh vin
Di a ch t 231 n 232-1 c s dng nh a ch cc cng
ngoi vi I/O, vi mi cng c a ch hon ton ring bit
My tnh ARC c mt vi dng d liu khc nhau nh byte, half word,
integer,... nhng hin ti, chng ta s ch xem xt n dng d liu s nguyn 32
bit. Mi s nguyn c lu tr trong 4 byte trong b nh. ARC da trn kin
trc big-endian tc l nhng byte c trng s cao s c nh a ch thp.
a ch ln nht c th m ARC c c l 232-1, do tn hiu a ch ln nht
m CPU a ra l 232-4
Page 46
CHNG 4 : NGN NG MY V HP NG
4.2.2. Tp lnh ca ARC
Trc khi tm hiu v tp lnh ca ARC, chng ta s xem xt k hn v cc
chc nng ca CPU
My tnh ARC c 32 thanh ghi 32 bit a mc ch, cng vi PC v
IR
Thanh ghi trng thi vi x l PSR (Processor Status Register) cha
cc thng tin v trng thi hot ng ca CPU, bao gm c cc
thng tin v kt qu ca php ton trong ALU.
Mi mt lnh c lu tr trn 1 word (32 bit)
ARC l my tnh loi load-store tc l ti 1 thi im, n ch cho
php np mt gi tr vo 1 thanh ghi hoc lu 1 gi tr vo mt a
ch trn b nh. Cc ton hng trc v sau khi c x l bi ALU
u c lu tr trn cc thanh ghi. Kin trc SPARC c khong
200 lnh, tp lnh ca ARC cng da trn nn lnh . Hnh 4.7 m
t mt tp con gm 15 lnh ca ARC. Cc lnh c th hin di
dng biu tng vi ngha ring bit
ngha
Biu
tng
lnh
Tng tc b Ld
Np ni dung thanh ghi t b nh
St
nh
Ct ni dung thanh ghi vo b nh
Php ton logic Sethi
Set 22 bit cao ca mt thanh ghi
Andcc
Thc hin php AND tng bit
orcc
Thc hin php OR tng bit
Orncc
Thc hin php NOR tng bit
Srl
Dch sang phi
Php ton s Addcc
Cng
hc
iu
khin Call
Gi chng trnh con
lung
chng Jmpl
Nhy v lin kt tr v t chng
trnh
trnh con
Be
R nhnh nu bng
Bneg
R nhnh nu nh hn 0
Bcs
R nhnh nu c c carry
Bvs
R nhnh nu trn d liu
Ba
Lun lun r nhnh
Hnh 4.7. Mt vi lnh c bn ca ARC
Page 47
CHNG 4 : NGN NG MY V HP NG
Nhm lnh dch chuyn d liu bao gm 2 lnh ld v st l 2 lnh duy nht
cho php truy cp vo b nh h thng. Lnh sethi s nh li gi tr ca 22
bit cao trong 1 thanh ghi theo mt gi tr nh trc.
Nhm lnh ton hc v lnh logic gm cc lnh andcc, orcc, orncc
c s dng thc hin cc php ton AND, OR, NOR theo tng bit ca cc
ton hng. Mt trong 2 ton hng bt buc phi l 1 thanh ghi. Kt qu php
ton s c t vo 1 thanh ghi. Lnh dch chuyn d liu srl c s dng
dch phi ni dung ca mt thanh ghi ng thi s thm chui cc con s 0
vo nhng bit tn cng pha bn tri. Lnh sra (khng c m t trong hnh
4.7) s dch ni dung cc bit trong thanh ghi sang bn phi, a ni dung cc bit
LSB quay tr v v tr tng ng thnh cc bit MSB.
Nhm lnh iu khin bao gm 2 lnh ch yu l lnh call v jmpl. y l
cp lnh c s dng gi chng trnh con v nhy t chng trnh con tr
v chng trnh chnh. Nhng lnh nh be, bneg, bcs, bvs v ba cn
c tn l nhm lnh r nhnh. Nhng lnh ny s kim tra ni dung ca thanh
ghi trng thi PSR v r chng trnh sang cc nhnh tng ng. iu ny c
tc dng ging nh cc lnh goto, if-then-else hay do-while trong
cc ngn ng bc cao
Page 48
CHNG 4 : NGN NG MY V HP NG
Nhn trong c php ca ARC c th l mt chui k t bt k, tuy nhin n
phi tha mn l khng cha cc k t iu khin, k t c bit, hay trng vi
mt lnh no
Cc thanh ghi ton hng ngun v ch trong ARC bao gm 32 thanh ghi c
k hiu t r0 n r31. 32 thanh ghi ny c rng d liu l 32 bit trong
Page 49
CHNG 4 : NGN NG MY V HP NG
Page 50
CHNG 4 : NGN NG MY V HP NG
Page 51
CHNG 4 : NGN NG MY V HP NG
V d
ngha
M lnh
ld
Np ni dung ca mt thanh ghi t b nh. Cc a ch b nh phi c gi tr chia ht cho
4 tc l c ranh gii t. Gi tr a ch s c tnh ton bng cch cng ni dung ca
thanh ghi trong trng rs1 hoc gi tr trong trng simm13 ty theo tng trng hp
Ld [x], %r1
Ld [x], %r0, %r1
Hoc
Ld %r0+x, %r1
Hoc
Copy ni dung ca b nh a ch l x vo thanh ghi r1
11000010000000000010100000010000
(x = 2064)
Page 52
CHNG 4 : NGN NG MY V HP NG
Tn lnh
M t
V d
ngha
M lnh
st
Ct ni dung ca thanh ghi vo b nh. Cc a ch b nh phi c gi tr chia ht cho 4
tc l c ranh gii t. a ch s c tnh ton bng cch cng ni dung ca thanh ghi
trong trng rs1 vi ni dung ca thanh ghi trong trng rs2 hoc ni dung trong trng
simm13. Trng rd trong lnh ny c s dng cha thanh ghi ngun
st %r1, [x]
Copy ni dung ca thanh ghi r1 vo b nh a ch l x
(x = 2064)
11000010001000000010100000010000
V d
ngha
M lnh
sethi
Set ni dung ca 22 bit cao ca thanh ghi ln mt gi tr nht nh v a 10 bit thp ca
thanh ghi v 0. Nu ton hng l 0 v thanh ghi c s dng l r0 th lnh ny tng
ng vi lnh khng lm g c NOP
sethi 0x304F15, %r1
Np ni dung (304F15)16 vo 22 bit cao ca thanh ghi r1 cn 10 bit thp xa v 0
00000011001100000100111100010101
Tn lnh
M t
V d
ngha
M lnh
andcc
Tnh lnh AND tng bit ca 2 ton hng ngun v a kt qu v ton hng ch
andcc %r1, %r2, %r3
Tnh lnh AND ni dung thanh ghi r1 vi thanh ghi r2 v a kt qu vo thanh ghi r3
10000110100010000100000000000010
Tn lnh
M t
V d
ngha
M lnh
orcc
Tnh lnh OR tng bit ca 2 ton hng ngun v a kt qu v ton hng ch
orcc %r1, 1, %r1
Set tt c cc bit trong thanh ghi r1 ln gi tr 1 v a kt qu v thanh ghi r1
10000010100100000110000000000001
Tn lnh
M t
V d
ngha
M lnh
Srl
Thc hin php dch sang phi t 0 ti 31 bit. Nhng bit pha bn tri s c in y
bi gi tr 0
srl %r1, 3, %r2
Dch ni dung thanh ghi r1 sang phi 3 bit, lu kt qu vo thanh ghi r2
10000101001100000110000000000011
Tn lnh
M t
V d
ngha
M lnh
addcc
Cng 2 ton hng ngun v a kt qu v ton hng ch vi php cng 2 s b 2
addcc %r1, 5, %r1
Cng 5 vo thanh ghi r1
10000010100000000110000000000101
Tn lnh
M t
call
Gi chng trnh con, lu a ch ca lnh ang thc hin vo thanh ghi %r15. Trong m
lnh, trng disp30 trong cu trc call cha 30 bit a ch m n tr ti. a ch m
my tnh x l k tip l a ch c gi tr 4 x disp30. Ch rng disp30 cng c
th l s m
Tn lnh
M t
Page 53
CHNG 4 : NGN NG MY V HP NG
V d
ngha
M lnh
call sub_r
Gi chng trnh con sub_r
01000000000000000000000000011001
Tn lnh
M t
jmpl
Nhy v chng trnh chnh t chng trnh con v ct a ch ca lnh ang thc hin v
thanh ghi ch
jmpl %r15 + 4, %r0
Tr v t chng trnh chnh. a ch trc kia c lu thanh ghi %r15 s c khi
phc v lnh k tip c thc thi l a ch %r15+4.a ch hin ti s c b i
10000001110000111110000000000100
V d
ngha
M lnh
Tn lnh
M t
V d
ngha
M lnh
Tn lnh
M t
V d
ngha
M lnh
Tn lnh
M t
V d
ngha
M lnh
Tn lnh
M t
V d
ngha
M lnh
Tn lnh
M t
V d
ngha
M lnh
4.3.
be
Nu bit z = 1 th chng trnh th chng trnh nhy ti a ch 4 x disp22 trong cu
trc r nhnh. Nu z = 0 th lnh nhy ti lnh k tip sau lnh be
be label
Nhy ti nhn label nu z = 1
00000010100000000000000000000101
bneg
Nu bit n = 1 th chng trnh th chng trnh nhy ti a ch 4 x disp22 trong cu
trc r nhnh. Nu n = 0 th lnh nhy ti lnh k tip sau lnh bneg
bneg label
Nhy ti nhn label nu n = 1
00001100100000000000000000000101
bcs
Nu bit c = 1 th chng trnh th chng trnh nhy ti a ch 4 x disp22 trong cu
trc r nhnh. Nu c = 0 th lnh nhy ti lnh k tip sau lnh bcs
bcs label
Nhy ti nhn label nu c = 1
00001010100000000000000000000101
bvs
Nu bit v = 1 th chng trnh th chng trnh nhy ti a ch 4 x disp22 trong cu
trc r nhnh. Nu v = 0 th lnh nhy ti lnh k tip sau lnh bvs
bvs label
Nhy ti nhn label nu v = 1
00001110100000000000000000000101
ba
Nhy khng iu kin n a ch 4 x disp22 trong cu trc r nhnh
ba label
Nhy khng iu kin ti nhn label. Trong m lnh di y, nhn l l vng nh
trc vng nh hin ti 5 word
00010000101111111111111111111011
Ton t gi
Page 54
CHNG 4 : NGN NG MY V HP NG
Ngoi nhng lnh c lit k trn, ARC cn c cc ton t gi hay cn gi l
lnh gi h tr cc lp trnh vin xy dng cu trc chng trnh. Cc lnh
gi c lit k chi tit trong hnh 4.12. Lu rng cc lnh gi khng phi l
cc lnh s c x l bi my tnh. Cc lnh gi ny s c x l bi trnh
bin dch tc l s c thc hin bi phn mm
Page 55
CHNG 4 : NGN NG MY V HP NG
mt modul hay chng trnh khc. Lnh .global cho php cc bin m n
nh ngha c s dng trong nhiu chng trnh khc nhau. Lnh .extern
ch ra rng bin m n ang s dng c nh ngha trong mt modul khc
Lnh .macro, .endmacro, .if v .endif s c tm hiu trong
chng sau
4.4.
V d v mt chng trnh hp ng
Page 56
CHNG 4 : NGN NG MY V HP NG
st s ct kt qu php ton t thanh ghi %r3 vo bin z nh trc. Lnh
jmpl vi cc ton t %r15+4,%r0 c tc dng quay tr v chng trnh chnh.
y ta gi nh chng trnh thc hin php ton cng ny l mt chng
trnh con v s c mt chng trnh cp cao hn gi ti.
Page 57
CHNG 4 : NGN NG MY V HP NG
.org lu m lnh vo b nh bt u t a ch 2048. Bin a_start c
to ra vi gi tr mc nh l 3000
Chng trnh bt u bng vic np di ca mng a vo thanh ghi %r1, a
ch bt u ca mng vo %r2 v xa ni dung thanh ghi %r3 lm ni cha
tng cn tnh (bng cch thc hin php ton AND tng bit vi thanh ghi %r0)
Vng lp loop s thc hin ln lt cng cc thnh phn ca mng vo tng
trong thanh ghi %r3. Vng lp loop bt u bng vic kim tra xem s phn t
cn li cn phi cng vo tng c phi l 0 hay khng. Vic ny c thc hin
bng cch thc hin php ton AND gia %r1 vi chnh n. Nu %r1 = 0 th
kt qu l 0, vic thc hin php cng s dng li v chng trnh nhy n
nhn done. Nu %r1 khc 0 th kt qu ca php AND cng khc 0, chng
trnh thc hin php cng.
thc hin php cng, chng trnh s
- Tnh li s phn t cn cng vo tng bng cch tr %r1 i gi tr tng
ng 1 phn t (tc l cng vi -4). C th coi %r1 chnh l a ch tng
i ca mng
- Xc nh a ch ca phn t cn cng vo tng ti vng lp ang xt v
a a ch ny vo thanh ghi %r4. Vic ny c thc hin bng cch
cng a ch tuyt i ca mng (%r2) vi a ch tng i ca mng
(%r1)
- Np phn t mng vo %r5
- Cng phn t va c c t %r5 vo %r3
- Nhy v nhn loop
4.5.
Truy cp d liu b nh - Cc ch a ch
K hiu
#K
ngha
K
Page 58
CHNG 4 : NGN NG MY V HP NG
a ch trc tip
K
a ch gin tip
(K)
a ch thanh ghi
(Rn)
a ch ch s thanh ghi
(Rm+Rn)
a ch thanh ghi c s
(Rm+x)
a ch thanh ghi tng i c s ch s
(Rm+Rn+x)
Bng 4.1. Cc ch a ch
M[k]
M[M[K]]
M[Rn]
M[Rm+Rn]
M[Rm+x]
M[Rm+Rn+x]
4.6.
Page 59
CHNG 4 : NGN NG MY V HP NG
Page 60
CHNG 4 : NGN NG MY V HP NG
Page 61
CHNG 4 : NGN NG MY V HP NG
stack v s dng bnh thng. im khc bit gia phng php ny v phng
php lin kt thng qua b nh l truy xut cc nh lin tip trong stack th
gim dn cn cc nh lin tip trong b nh th truy xut tng dn. Ta phn
tch v d trong hnh 4.17
Page 62
CHNG 4 : NGN NG MY V HP NG
Hnh 4.18. Lin kt chng trnh thng qua stack trong ngn ng bc cao C
4.7.
Page 63
CHNG 4 : NGN NG MY V HP NG
Page 64
CHNG 4 : NGN NG MY V HP NG
B nh ch thc s b chim dng trong khong a ch t 222 n 223-1 (lu
rng 223-4 l a ch tn cng bn tri trong nh dng big-endian). Phn cn
li ca khng gian a ch c s dng cho cc mc ch khc. Phn khng
gian a ch t 0 n 216-1 c s dng cha cc chng trnh c xy
dng sn cho vic qun l h iu hnh v cc chng trnh con, chng trnh
ngt. a ch t 216 n 219-1 c dnh ring cho 2 vng nh add-in video
memory vi mc ch l lu cc d liu x l video. Lu rng cc d liu
video s ch c x l khi cc module video c chn vo tng ng. Cui
cng khong a ch 223 n 224-1 c s dng cho cc thit b ngoi vi
Tr li bi ton mn hnh touchscreen, ta x v y s c t ng cp nht
vo cc thanh ghi tng ng trong khong khng gian b nh. Cc thanh ghi
ny c truy cp mt cch n gin thng qua vic c nh nh x n n.
Vng nh Screen Flash l ni cha chng trnh c cc gi tr x v y bt
c khi no mn hnh c chm vo
TNG KT CHNG
Trong chng ny, chng ta nghin cu my tnh ARC v mt s thnh phn
c bn ca ARC. Thng qua , ta gii quyt cc ni dung c bn sau
Nghin cu v thnh phn c bn ca my tnh nh CPU, cu trc b
nh, phng php truy cp b nh.
Nghin cu v phng php truy cp b nh, phn tch cc ch a ch
b nh
Tm hiu v phng php lp trnh top-down trong lp trnh vi x l
Page 65
Trong chng trc, chng ta xem xt mi quan h gia my tnh ISA, ngn
ng hp ng v ngn ng my. By gi chng ta s xem xt k hn v tc ng
ca cc cu lnh ln cc thanh ghi, v s dch chuyn d liu gia b nh v
CPU, v tt nhin c qu trnh lin kt gia hp ng v chng trnh. Cng
trong chng ny, chng ta s m rng hn khi nim v mi quan h gia
ngn ng my tnh v my tnh
Chng ta s bt u vi vic tho lun v bin dch, qu trnh chuyn i t
ngn ng lp trnh bc cao sang chng trnh hp ng. Tip , chng ta s
tho lun qu trnh chuyn i t ngn ng hp ng sang ngn ng my. Phn
tip theo, chng ta s tho lun v vn lin kt chng trnh, y l qu trnh
lin kt d liu kiu modul tr thnh mt chng trnh hon chnh, qu trnh
np, y l qu trnh dch chuyn chng trnh n b nh v qu trnh chun b
thc thi. Chng ta cng s nghin cu v macro, y l nhng on chng
trnh c s dng ging nh chng trnh th tc
A = B + 4;
Page 66
Mt s bc tip theo m trnh bin dch phi thc hin l qun l bin v
qun l cc thanh ghi, theo di vic s dng cc thanh ghi, ti u chng
trnh...
5.1.2. Cc c trng ca qu trnh bin dch
Trong khi qu trnh bin dch ang thc hin nhim v ca n, cc thng tin v
kin trc tp lnh ISA s c nhng vo n. (Ch rng kin trc tp lnh ISA
ca trnh bin dch khng nht thit phi ging kin trc tp lnh ISA m n to
ra, qu trnh ny cn c tn l bin dch cho). Cc thng tin ISA nhng vo
trnh bin dch cn c gi l cc c trng ca qu trnh bin dch. V d,
trnh bin dch s quyt nh gn cho cc bin v cc hng s trong chng trnh
dng d liu tng ng ty thuc vo loi ngn ng my tnh m h thng ang
BI GING CU TRC MY TNH V GHP NI
Page 67
Ni tm li, trong qu trnh bin dch, chuyn mt chng trnh bc cao thnh
chng trnh c vit bng ngn ng thp hn, trnh bin dch c mt s c
trng sau
Dng d liu ca cc bin s hay hng s s c trnh bin dch t ng
gn cho mt kiu d liu ph thuc vo c trng ca kin trc tp lnh
ISA, tc l kin trc ISA c nhng vo trnh bin dch
Qu trnh to m lnh cp thp cng tnh ton ti c trng ca my tnh
s dng lnh m n to ra, m lnh c to ra tng thch vi my
tnh s s dng n
Page 68
Page 69
Page 70
Ch s bt u) * Size
%r0,
%r0,
%r3,
%r6,
[A +
5, %r3
-10, %r4
%r4, %r6
2, %r6
%r6], %r1
Page 71
Page 72
Bne Hdong2
...
Ba ketthuc
Hdong2:
! Cc lnh thuc hnh ng 2
...
Ketthuc:
Cu trc vng lp while
%r4=%r4+%r1 ;
%r1=%r1+2;
%r3=%r3+1; }
Trnh bin dch s chuyn sang hp ng thnh on chng trnh tng ng
nh sau
Ld %r0, 5, %r1
Ld %r0, 10, %r10
BI GING CU TRC MY TNH V GHP NI
Page 73
stmt;
Expr3; }
Page 74
Page 75
Page 76
[x], %r1
Page 77
Page 78
[length], %r1
Page 79
Page 80
Page 81
Page 82
Page 83
5.4. Macro
Trong qu trnh s dng chng trnh con, chng ta nhn thy l mt s lng
cc thanh ghi s c lu vo v ly ra t stack trong qu trnh gi chng trnh
con v quay v chng trnh chnh. ct thanh ghi %r15 vo stack, h thng
phi thc hin 2 qu trnh c th hin bi 2 dng lnh sau
Addcc
%r14, -4- %r14 ! Gim gi tr thanh ghi stack pointer
St
%r15, %r14
! Ct ni dung %r15 vo stack
Trong trng hp ny, hnh ng xy ra ch bao bm 2 lnh. Tuy nhin nu
hnh ng xy ra lp i lp li nhiu ln bao gm nhiu lnh th vic vit i vit
li on chng trnh lp li tr nn rt nhm chm. Do , ta c th thay th
on chng trnh bng chng trnh macro. Trong v d trn, ta c th thay
th 2 cu lnh bng mt li gi macro
Push
%r15
Page 84
TNG KT CHNG
Trong chng ny, chng ta tm hiu mt s vn quan trng sau
Qu trnh bin dch chng trnh t ngn ng cp cao nh C hay Pascal
sang hp ng bao gm cc nhm lnh dch chuyn d liu, nhm lnh
ton hc v nhm lnh iu khin lung chng trnh
Qu trnh chuyn hp ng sang ngn ng my qu trnh chuyn m 2
ln
Kt ni cc modul chng trnh thnh 1 chng trnh ln
S dng macro
Page 85
Page 86
Page 87
Page 88
Page 89
Khi ALU
Khi ALU thc hin 1 trong 16 lnh vi 2 ton hng c ly t 2 h thng bus
A v B. 16 lnh ny c th hin trn hnh 6.4. Kt qu ca php ton c
lu tr trn h thng bus C nu tn hiu iu khin b dn knh MUX khng
cha d liu t b nh
Page 90
Page 91
Page 92
Page 93
Cc thanh ghi
Tt c cc thanh ghi trong ALU u l cc thanh ghi c tc ng sn xung
loi D. iu c ngha l u ra ca cc thanh ghi khng thay i khi tn hiu
xung nhp chuyn trng thi t cao xung thp. Tt c cc thanh ghi u c
chung mt dng. Hnh 6.8 di y th hin thanh ghi %r1, cc thanh ghi cn
li cng c cu to hon ton nh vy
Page 94
Page 95
Page 96
Page 97
6.2.3. ng b hot ng
Kin trc vi mu hot ng di tc ng ng b ca 1 b pht xung nhp. Cc
khi master ca tt c cc thanh ghi thay i trng thi vo thi im sn ln
ca xung v cc khi slave thay i trng thi ti thi im sn xung ca
xung. iu ny c th hin nh trn hnh 6.14.
Page 98
6.2.4. By v ngt
By trap l mt th tc t ng c gi ti bi mt tn hiu in khi xy ra
mt iu kin no khi ALU thc thi chng trnh, v d nh lnh khng hp
l, trn d liu, hay xy ra php chia cho s khng. Khi c yu cu thc thin
by, quyn iu khin c chuyn giao cho by thc cht l mt chng
trnh c sn ca h iu hnh. By s thc hin mt chng trnh nht nh
no ty thuc vo tng h iu hnh, v d nh hin th li xy ra,...
Mt phng php thc hin by l iu chnh vi lnh.V d, ta c th kim tra
bit v xem h thng c b trn hay khng. Nu xy ra iu kin by, mt on
vi lnh s c s dng np vo PC vi mc ch l xc nh a ch bt u
ca by.
Thng thng, ngi ta thng s dng mt vng nh lu a ch ca cc
by. Vng nh ny c tn branch table c s dng chuyn quyn iu
khin cho cc by (Hnh 6.18.).
Page 99
Page 100
Page 101
Page 102
Page 103
Page 104
Page 105
Page 106
Page 107
CHNG 7 : B NH
CHNG 7: B NH
7.1. Phn cp b nh
B nh trong mt my tnh s thng thng c t chc theo phn cp c
th hin nh hnh 7.1. pha trin ca h thng phn cp l cc thanh ghi c tc
Page 108
CHNG 7 : B NH
tng ng vi tc ca CPU nhng c xu hng l kch thc ln v tiu
th in nng ln. Do vy m thng thng ch c mt s lng nh cc thanh
ghi trong vi x l, trong mt vi trng hp c th ln ti vi trm thanh ghi
hoc t hn. pha di h thng phn cp l b nh th cp v cc b nh gn
ngoi nh l cc a t hoc bng t c gi thnh r, tiu th t in nng nhng
thi gian truy cp ln hn rt nhiu so vi thanh ghi. Khong gia h thng
phn cp l mt s dng khc nhau ca b nh. Ni thm mt cht v h thng
phn cp ny, dng b nh c tc truy xut cng cao th c gi thnh cng
cng cao. Bng 7.1. c ta mt s c im v b nh my tnh c thng k
vo nhng nm 90s
Page 109
CHNG 7 : B NH
Tr
S
D
G
Dy iu khin (dy t )
Page 110
CHNG 7 : B NH
7.3. T chc b nh
Page 111
CHNG 7 : B NH
Page 112
CHNG 7 : B NH
Page 113
CHNG 7 : B NH
Hot ng ca h thng nh sau: Trong qu trnh truy cp nh, u tn tn
hiu gii m hng
s c kch hot tn hiu ca mt hng trong ma trn
cc nh, tip theo l kch hot tn hiu gii m ct
. Trc khi xm
nhp nh, b tin np s cung cp tn hiu in p
2 vo tt c cc ng
Page 114
CHNG 7 : B NH
Page 115
CHNG 7 : B NH
tn hiu a ch tng t 2 ln 3, tc l ta s c 3 tn hiu a ch A2, A1 v A0.
Trong , 2 tn hiu A0 v A1 c a trc tip vo 2 modul 4 x 4 bit. Tn hiu
A2 s c a vo mt b gii m kch hot tn hiu
ca 1 trong 2 modul
4 x 4 bit. T ta c th c c nguyn tc ghp ni RAM trong trng
hp ny l:
Kt ni chung cc ng dy d liu D v Q ca tt c cc modul nh
Vi mi modul nh, tn hiu a ch thp c a tng ng vo cc
ng dy a ch ca modul
Cc tn hiu a ch cao c a vo b gii m tng ng vi s lng
ca mi
modul RAM. u ra ca b gii m c a vo tn hiu
modul RAM tng ng
Page 116
CHNG 7 : B NH
u nm trn mt hng n. Vi 220 a ch ta cn 20 ng tn hiu a ch,
nhng cu trc ny ch c 10 ng (A0 A9). Cc tn hiu a ch 10 bit cho
cc b gii m hng v gii m ct c np vo modul nh hon ton c lp.
Cc tn hiu iu khin
v
s tc ng ngay khi a ch 10 bit trn
c a vo cc b gii m tng ng. Mc d cch t chc ny lm cho thi
gian truy cp cc nh ring bit tng ln gp i, nhng nu hot ng trong
ch phn trang th thi gian truy xut ca n li gim thiu rt nhiu v
truy cp cc nh cnh nhau th ch cn thay i tn hiu a ch ct m khng
cn np li tn hiu a ch hng.
Cc ng tn hiu a ch d liu DQ1 DQ8 c t chc theo byte gip cho
vic c hay ghi d liu c thc hin song song. t chc mt t 32 bit, ta
s s dng 4 modul SIMM
Page 117
CHNG 7 : B NH
ROM l mt chip c cu to rt n gin. Tt c cn c ch l mt b gii m,
vi ng tn hiu u ra v mt vi cng logic, khng cn bt c mt flip-flop
hay mt t in no c. Hnh 7.10 bn tri l mt b nh ROM lu tr 4 t
rng 4 bit (0101, 1011, 1110 v 0000). Mi mt a ch vo (00, 01, 10, 11)
tng ng vi mt a ch lu tr. Hnh 7.10 bn phi l mt cch th hin na
ca ROM vi cu to t cc diode bn dn.
m rng ng dng ca mnh, ROM cn lp trnh c. Nhu cu ny dn ti
s xut hin ca PROM (Programmable ROM), cho php ngi dng ghi ni
dung mt ln bng thit b c tn ROM bunner
PROM c nhc im l ch cho php ghi ni dung 1 ln, do xut hin thm
ROM cho ghi d liu vo phn cha ghi, EPROM (Erasable PROM). Tip l
s xut hin ca ROM cho php xa d liu bng tia cc tm UVPROM
(Ultraviolet PROM) v ROM xa d liu bng in EEPROM (Electrically
Erasable PROM)
Mt ng dng khc ca ROM c trnh by tip theo y l b ALU cho php
ton n gin. Gi s ta cn xy dng mt b ALU c th thc hin c 4
php ton: cng, tr, nhn v chia vi cc ton hng 8 bit. Ta s to ra mt bng
chn l c tng s trng thi u ra l 216 v 22 trng thi iu khin. Sau ta
s np bng trng thi vo ROM. Kt qu th hin trn hnh 7.11.
Page 118
CHNG 7 : B NH
7.6. B nh Cache
Khi chng trnh c thc thi trn my tnh, h thng truy xut ti mt lng
nh nh. Mt nh va c truy xut c kh nng s tip tc c truy xut
ngay sau . Tc truy xut thng thng l thp hn rt nhiu so vi tc
ca b x l trung tm CPU v c mt nt c chai phn kt ni gia CPU v
b nh. Do vy, nu h thng c mt vng nh dung lng nh nhng tc
truy xut vi tc cao, c s dng lu tr ni dung nh va c truy
xut th tc x l ca CPU s c ci thin rt nhiu. y chnh l tin
ca s xut hin b nh Cache. Vng nh Cache l vng cha ni dung ca cc
nh thng c truy cp, c t gia b nh chnh v CPU. Khi thc thi
chng trnh, vng nh Cache s c tm kim trc, nu ni dung cn tm c
trong Cache, n s c s dng ngay lp tc. Nu ni dung cn tm khng c
trong Cache, h thng s tip tc bng cch truy xut ra b nh chnh bn ngoi.
Ni dung ny sau s c a vo b nh Cache. Mc d qu trnh ny c
v lm cho thi gian truy cp b nh tng ln nhng nu xt v tng th, vic s
dng Cache lm gim thi gian hot ng ca h thng rt nhiu.
H thng b nh hin i c th c vi mc Cache, l Cache Level 1 (L1),
Level 2 (L2) v c th c c Level 3 (L3). Trong hu ht cc trng hp, b nh
L1 c tch hp lun vo CPU. B nh Intel Pentium v IBM-Motorola
PowerPC G3 u c b nh L1 dung lng 32Kbyte tch hp sn trn chip
CPU.
B nh Cache c tc truy xut nhanh hn b nh chnh bi mt s nguyn
nhn sau.
B nh Cache s dng cc linh kin in t c cht lng cao, c kh
nng hot ng vi tc nhanh. Tt nhin i km vi c tnh ny l gi
thnh ca sn phm cng nh nng lng tiu tn cho n cng tng ln.
Tuy nhin, dung lng ca b nh Cache thng rt nh nn cng khng
nh hng ln n gi thnh ca sn phm
B nh Cache c dung lng nh nn b gii cng n gin hn, do
gim bt thi gian truy cp
B nh Cache kt ni trc tip vi CPU nn khng phi gii quyt vn
tranh chp bus
Hnh 7.12 di y ch r thm v ngha ca b nh Cache trong vic tng tc
hot ng ca h thng. Ti hnh pha bn tri, h thng khng c s tn ti
BI GING CU TRC MY TNH V GHP NI
Page 119
CHNG 7 : B NH
7.6.1. B nh Cache c kt hp nh x
Mt s chng trnh phn cng c pht trin chuyn tn hiu a ch truy
xut b nh chnh thnh a ch truy xut Cache. iu ny lm cho b nh
Cache ci tin c th c a vo s dng ti bt c mt my tnh no m
khng cn s i phn mm truy xut chng
Phng thc chuyn i cc tn hiu a ch nh hng rt ln n gi thnh
v tc hot ng ca Cache, v khng c mt phng php no c cho l
tt nht. Trong phn ny, chng ta s nghin cu phng php nh x b nh.
Phng php ny c thc hin theo nguyn tc sau. u tin, gi s h thng
c b nh chnh dung lng 232 c chia thnh 227 khi block, mi block c
dung lng l 32 word. Tt nhin vic chia b nh chnh ny ch l v mt
logic. Thc t, b nh chnh vn l mt khi thng nht. Vi b nh Cache gi
s trong trng hp ny s bao gm 214 slot. Mi slot c dung lng ln
lu tr 1 block b nh chnh. Nh vy, 227 block b nh chnh u c th c
np ln mt slot bt k ca b nh Cache. theo di xem block no ca b
nh chnh c lu trn 1 slot, mi slot c mt trng tag c ln 27 bit c
s dng m ha block tng ng. Trng tag ny chnh l 27 bit c trng s
BI GING CU TRC MY TNH V GHP NI
Page 120
CHNG 7 : B NH
ln nht trong 32 tn hiu a ch m h thng a vo Cache. Tt c cc gi tr
tag u c lu trn mt vng nh c bit. Mi khi c mt block mi c
lu vo Cache, gi tr tag ca n s c cp nht vo vng nh ny.
Page 121
CHNG 7 : B NH
c trong Cache hay khng. Vi mi slot, nu bit valid bng 1, trng tag s
c kim tra v so snh vi a ch m CPU cn truy cp. Tt c cc gi tr tag
s c kim tra cng mt lc. Nu c mt gi tr tag no trng vi gi tr tag
m a ch nh, ni dung nh s c ly t Cache. Ni dung ca trng
word chnh l a ch ca nh ny. Nu khng c gi tr tag no c tm
thy, khi , block trn b nh chnh cha ni dung cn np s c np vo
Cache ri sau s c chuyn v CPU. Cc trng tag, valid, v dirty s
c cp nht ri h thng s tin hnh thc thi.
hiu r hn qu trnh ny, ta s tm hiu qu trnh truy cp nh
(A035F014)16. nh ny coi nh c np ln Cache. a ch ca nh
c m t nh di y
Page 122
CHNG 7 : B NH
Chnh sch thay th trong nh x Cache
Khi mt block mi cn c nh x vo Cache, cc slot trong Cache cn c
kim tra xem c th cho php ghi d liu vo hay khng. Nu c slot thch hp
(nh trong trng hp chng trnh bt u thc thi), slot u tin c bit valid
bng 0 s c s dng. Khi tt c cc bit valid ca tt c cc slot u bng 1,
mt slot s c gii phng dnh ch cho block mi. C 4 chnh sch thay
th c th c s dng: LRU (Least recently used), FIFO (First In First Out),
LFU (Least frequently used) v random. Chnh sch th nm c s dng vi
mc ch phn tch l phng php ti u.
Vi chnh sch LRU, mt bin thi gian c thm vo mi slot. Bin thi gian
ny c cp nht mi khi c mt slot bt k c truy cp. Khi mt slot phi
b gii phng cho mt block mi, ni dung ca slot m t c s dng nht
c xc nh bi bin thi gian trn s c gii phng v block mi s
c ghi vo slot ny. Chnh sch LFU hot ng tng t nh vy, ngoi tr
mt iu l mi slot c cp nht u n bi mt b m gn vo mi slot.
Khi cn gii phng mt slot, slot no c s dng vi tn s t nht s c
gii phng. Chnh sch FIFO s thay th ln lt cc slot theo mt chu trnh
nh sn, slot ny k tip slot khc. Chnh sch ramdom chn ngu nhin mt
slot bt k gii phng.
Page 123
CHNG 7 : B NH
7.6.2. nh x trc tip b nh Cache
Page 124
CHNG 7 : B NH
tr trn slot cn truy xut. Nu bit valid bng 1 nhng trng tag khng ging
nhau, slot s c ghi ngc tr v b nh chnh nu bit dirty l 1,v block
trn b nh s c c vo slot. Khi mt chng trnh bt u c thc thi,
bit valid s bng 0, v block d liu s c vit vo slot mt cch bnh thng.
Bit valid tip s c set ln 1, v chng trnh s truy xut vo Cache
thc thi.
V d nh khi ta truy xut vo a ch nh (A035F014)16, trng a ch s l
Page 125
CHNG 7 : B NH
mm h thng. Vic thay i gia cc phng php ch nh hng n tc
hot ng ca h thng.
Nh vy, tc truy cp l mc tiu chnh ca Cache, nhng hiu r thm v
mc tiu ny, c mt s vn cn c gii quyt nh iu g ngn chn mt
word hay mt block dch chuyn gia Cache v b nh chnh. Cc chnh sch
c v ghi hot ng trong b nh Cache c tng kt hnh 7.15. Cc chnh
sch ny. Cc chnh sch ny ph thuc vo vic c hay khng cc yu cu xut
pht t Cache.
Khi c nhu cu c d liu t Cache, nu d liu c trong Cache, mt hit s
xy ra v d liu s c a trc tip v CPU. Nu c mt miss, khi d liu
cha thng tin s c c vo Cache ri d liu s c a vo CPU.
Trong mt s cch t chc, khi mt miss xy ra, ni dung cn c s c a
trc tip t b nh chnh v a v CPU m khng cn phi in y ni dung
ca slot, cch thc hin ny c gi l load-through.
Page 126
CHNG 7 : B NH
7.7. B nh o
Mc d c tin b rt ln trong vic tng dung lng v gim kch thc b nh
nhng dng nh b nh vn c coi l hu hn v dng nh vn cha p
ng c nhu cu ca ngi s dng. Mt gii php kinh t l m rng khng
gian b nh bng cc b nh ph bn ngoi. Vic s dng b nh bn ngoi vi
mc ch nh b nh chnh t ra kh hiu qu v gi thnh thp, ng thi h
thng c coi nh l c m rng v hn. Tuy nhin vic qun l b nh
bn ngoi t ra kh phc tp. Trong mc ny, chng ta s nghin cu cng vic
qun l b nh bn ngoi thng qua b nh o.
7.7.1. Overlay
Mt phng php c thc hin sm nht s dng a ngoi s dng
nh b nh chnh l k thut overlays. Trong k thut ny, lp trnh vin c
trch nhim qun l b nh m n s dng. Hnh 7.16. l mt v d trong
mt chng trnh bao gm on m chng trnh chnh v 3 chng trnh con
A, B, v C. B nh chnh c kch thc nh hn kch thc ca ton b chng
trnh, nhng ln hn kch thc ca on chng trnh chnh v tng chng
trnh con. Mt th thut qun l b nh c s dng l overlays s thay i
chng trnh sao cho n s ln lt cho tng phn ca chng trnh vo b nh
BI GING CU TRC MY TNH V GHP NI
Page 127
CHNG 7 : B NH
chnh, c tng phn cc d liu v thc thi. C th, h thng s hot ng
nh sau. Chng trnh chnh s phn chia thnh cc phn vng. Phn vng 0
Page 128
CHNG 7 : B NH
overlays l khng th. chnh l l do dn n mt phng thc qun l mi
l phn trang s c m t phn ngay sau y
Page 129
CHNG 7 : B NH
1. Xc nh mt trang s b xa i. Ni dung ca trang s b xa phi c
ghi ngc tr li a cng bn ngoi nu ni dung ca trang c s
thay i.
2. Trang b nh o m ta mun truy cp s c xc nh trn a cng v
ghi vo b nh thc trang b nh va b xa i (trang c xc nh
mc 1)
3. Cp nht bng phn trang page number ghi li trang b nh o c
ghi ln trang b nh tht
4. Cp nht b nh thc ly d liu v h thng
truy cp khng gian a ch b nh o 213 nh hnh 7.17, CPU s phi cung
cp mt gi tr a ch c ln 13 bit. a ch ny c chia lm 2 trng l
trng page number c di 3 bit m ha s trang o t page 0 n page 7.
10 bit cn li l a ch offset trong trang. Khi h iu hnh qun l vic phn
trang nhn c a ch ny, n s phn tch thnh mt a ch c di 13 bit
nhng s c 3 trng. Trng th nht l Present bit c nhim v xc nh xem
nh cn truy xut c nm trn b nh thc (nu c gi tr 1) hay khng (nu
c gi tr 0). Trng th 2 l a ch offset trong trang vn c ln 10 bit.
Trng th 3 l trng page frame c nhim v xc nh xem trang ang
c lu tr trong trang b nh thc no. H thng s dng mt bng phn
trang page table qun l vic phn trang ny. Vi nhng trang khng nm
trn b nh thc, trng Page frame khng c ngha, thng thng c k
hiu l xx
Page 130
CHNG 7 : B NH
thc hin vic chuyn i t mt a ch o (gm 2 trng) sang a ch truy
xut b nh thc (gm 3 trng) nh ni trn, ta s thc hin nh trnh by
hnh 7.19
Page 131
CHNG 7 : B NH
lnh u tin . V ni dung ny khng c trong b nh thc nn s xut hin
mt li fault. Khi pht sinh li ny, h iu hnh s thc hin nh x trang
tng ng b nh o vo mt trang trong b nh chnh. Khi li trang s
c khc phc. Cc lnh ca chng trnh nm trn trang ny s c truy cp
tip tc trong trang b nh tht ny. Trong khi tip tc thc thi cc lnh trong
chng trnh, nu chng trnh cn truy cp vo mt trang khc, n li pht sinh
mt li v li ny s li c khc phc. Tip tc nh th, tt c cc trang cha
chng trnh c thc thi s c np theo nhu cu vo b nh chnh
7.7.3. Phn on
Phn on cng l mt phng thc qun l b nh ca h iu hnh. Khc vi
phn trang qun l b nh o (khng gian b nh o), phn on ch qun l b
nh thc. N cng khc phn trang ch n qun l b nh theo chc nng
chng trnh. Mt chng trnh khi np vo b nh thc s c qun l theo
tng on segment theo chc nng. l cc phn on: code segment cha
cc lnh ca chng trnh, data segment cha cc d liu chng trnh, stack
segment cha b nh stack.
Ngoi cch qun l nh trn, phn on cng c th chia b nh thnh tng
on, mi on c s dng theo mc ch ring, c truy cp vo bo v
theo tng mc m h iu hnh h tr. Trong v d hnh 7.20, h iu hnh c
th thc hin phn on b nh thnh 3 phn on. Phn on s 0 l code
segment, ch cha cc lnh ca chng trnh, do n ch cha cc lnh
thc thi, khng cho php xa m ch cho php c. Phn on s 1 c s
dng cha cc d liu dnh cho ngi dng s 1. Ch ngi dng s 1 mi
c php truy cp v thay i cc d liu ny. Tng t nh vy l phn on
s 2.
BI GING CU TRC MY TNH V GHP NI
Page 132
CHNG 7 : B NH
TNG KT CHNG
B nh c phn thnh nhiu loi khc nhau, trong , loi c hiu sut tt
nht li c gi thnh t nht, loi c hiu sut nh nht, r nht li c tnh
thng mi tt nht. dung ha mi li ch, cc nh thit k h thng s
dng b nh Cache v b nh o
B nh Cache nm trong CPU cha cc khi d liu nh m h thng hay s
dng nht, c kh nng truy xut vi tc cao. B nh o li qun l vng nh
t trong cc a cng m rng dung lng nh
Cache v b nh o u c s dng trong cng mt h thng my tnh nhng
li phc v cc mc ch khc nhau. Cache tng tc truy cp b nh chnh,
cn b nh o m rng dung lng b nh chnh
Page 133
Page 134
8.1.1. a t tnh
Page 135
M ha d liu trn a t
u c d liu ch c th nhn bit c s thay i ca t trng, do , n
ch c th pht hin ra s thay i logic t 0 ln 1 hay t 1 v 0. Phng php
m ha thng dng nht l m manchester, ngoi ra cn c th s dng phng
php MFM (modified frequency modulation). ngi c c th so snh, ta
hy xem xt hnh 8.2. Ti hnh a l m NRZ (non-return-to-zero) ca k t F
c m ha bi m ASCII. Hnh b cng l k t nhng c biu din bi
m Manchester. Trong cch m ha m Manchester, trong bt c mt chu k
Page 136
Page 137
Page 138
a mm
a mm, floppy disk hay diskette, bao gm mt a nha c bao ph lp
vt liu t ocid st t trn c 2 b mt. C 2 lp vt liu t ny u c th
c s dng lu d liu. Thi gian truy cp ca a mm chm hn rt
nhiu so vi a cng bi v a mm khng th quay vi tc cao. Tc
trung bnh ca a mm khong 300 RPM v tc ny c th thay i ph
thuc vo v tr ca u c ti u ha tc truyn. Thi gian truy cp ca
a mm ch khong 250 n 300 ms, thp hn khong 10 ln so vi a cng.
Dung lng a mm ln ti 1.44 MB.
S dng a mm rt kinh t bi v c vic tho lp a vi h thng rt d
dng v bi v kch thc ca n rt nh. V u c a mm c th gy ra
nhng vt xc trn b mt a nn a mm ch quay khi n cn c/ghi d
liu.
Mt s a mm dung lng cao c th lu tr vi dung lng ln. V d nh
a mm ca Iomega Zip c th lu 100MB v thi gian truy cp gp 2 ln so
vi a cng. a c dung lng ln nht hin nay l Iomega Jaz c dung
lng ln ti 2GB vi tc truy cp tng ng Iomega Zip.
Page 139
Page 140
Page 141
8.1.3. a quang
Cc a quang p dng mt s cng ngh mi trong quang hc lu tr v
khi phc d liu. a CD (Compact Disc) v DVD (Digital Versatile Disc) s
dng nh sng phn x c d liu m ha
Compact Disc CD
a CD c gii thiu vo nm 1983 c s dng lu d liu m thanh.
a CD c dung lng lu tr khong 74 pht m thanh ch digital steoreo
2 knh. Tn hiu m thanh c trch mu 2 44,000 16-bit, hay l gn
700MB dung lng. T khi c gii thiu vo nm 1983, cng ngh CD
pht trin tng mt lu tr, gim gi thnh pht trin thnh a lu tr
d liu CD ROM (CD read only memories). Vi gi thnh rt r, ch vi cent
cho mt n v MB, CD ROM nhanh chng pht trin v thay th a mm.
CD ROM l a ch c bi v n c nhn bn t 1 a gc master ging nh
l i vi a nhc CD. Mt a CD ROM c cu to t nha plastic c
ph bn ngoi lp nhm mng, c kh nng phn x nh sng theo cch hng
khc nhau to thnh cc b mt Land hoc cc l trng Pit. a master c
ch to vi chnh xc cao da vo nh sng laser cng sut cao. Cc a nhn
bn c chnh xc thp hn, do mt b sa li c s dng pht
hin v khi phc d liu. D liu trn CD ROM cng c s dng m
Manchester.
Page 142
Page 143
8.2.1. Bn phm
Bn phm thng c s dng nhp liu bng tay cho my tnh. S bn
phm theo chun ECMA-23 c th hin trn hnh 8.8. S QWERTY ph
hp vi bn phm nhp liu chun ca my nh ch. Cc k t hay c s
Page 144
Page 145
Page 146
Page 147
Page 148
Page 149
Page 150
Page 151
Bus khng ng b
Nu ta t b nh ng b vo mt h thng bus ng b c tc cao hn tc
ca b nh, khi thi gian truy cp vn khng c ci thin bi v tc c
xung nhp l khng i. Nu ta tng tc xung nhp ph hp vi tc cao
ca b nh, cc thit b c tc thp hn s khng th hot ng bnh thng.
Bus khng ng b c s dng gii quyt vn trn, tt nhin l cch
gii quyt ca n tng i phc tp v n khng c xung nhp ng b. Mt
thit b ch master s t tt c mi th m n cn ln h thng bus (a ch, d
(master
liu, tn hiu iu khin), sau kch hot tn hiu ng b ch
synchronization). Thit b t s p ng vi tc nhanh nht c th ri kch
hot tn hiu ng b t
(slave synchronization) khi kt thc qu trnh
truyn nhn. Tip , thit b ch s gii phng
ri thit b t gii phng
. Bng cch ny, h thng ch/t hot ng vi tc cao s hot ng
hiu qu hn so vi h thng ch/t hot ng vi tc thp.
tm hiu r hn v qu trnh trao i d liu khng ng b, ta s xem xt
qu trnh c d liu khng ng b c miu t trn hnh 8.16. c c
d liu trong b nh, CPU t tn hiu a ch ln bus a ch, sau l kch
hot tn hiu
v
. Khi cc tn hiu ny n nh, CPU s kch hot
. S kin ny kch hot b nh thc hin hot ng c. Qu trnh c
b nh s kt thc khi tn hiu
c kch hot bi b nh. Ta cng c th
nhn r qu trnh ny thng qua cc mi tn c trn hnh 8.18. Phng php trao
BI GING CU TRC MY TNH V GHP NI
Page 152
Page 153
Page 154
Page 155
Page 156
Page 157
Chun MCA
MCA Micro Channel Architecture l chun kt ni do IBM pht trin t nm
1987 cho cc my tnh PS/2. Tn ti mt thi gian kh di, hin nay chun
MCA c th c tm thy trong mt s my mainframe nh PS/2, RS/6000
hay /400 hoc System/370. Chun MCA cng c dng 16 bit v c dng 32
bit. S chn ca chun ny c th hin trn hnh 8.21. di y
Page 158
Page 159
Page 160
Page 161
Page 162
Page 163
rng bus
Tn s lm vic
1x
2x
4x
8x
32 bit
32 bit
32 bit
32 bit
66MHz
66MHz
66MHz
66MHz
S d liu truyn 1
xung nhp
1
2
4
8
Bng thng
266 MBps
533 MBps
1066 MBps
2133 MBps
Page 164
Page 165
PCI Express
PCI v PCI express (PCIe) khc bit c bn trn giao thc ghp ni tip serial.
PCIe l kiu kt ni im-im theo 2 chiu vi bng thng ging nhau v
khng chia s cho cc thit b khc. Do c th tng bng thng khi tng s
Page 166
Page 167
Page 168
Page 169
Page 170
8.5.1. T l bit li
C rt nhiu cch khc nhau c th gii thiu v cc li trong h thng my
tnh, v cc li ny cng c th c rt nhiu dng khc nhau. Ti thi im ny,
ta s gi s rng xc sut mt bit nhn c b li c lp vi xc sut cc bit
khc gn b li. Trong trng hp , ta c th nh ngha t l bit li BER
(bit error rate) l xc sut bit nhn c b li. R rng trong nh ngha ny,
con s l rt nh, thng thng t l bit li nh hn 10-12 cho mi bit c
kim tra, tc l s xut hin mt li trong 1012 bit c kim tra.
Trong mt h thng my tnh, t l bit li BER c th c chp nhn gi tr
10-18 hoc t hn. Theo mt c tnh, nu xung nhp ng h 100MHz, v h
thng l 32 bit. Khi s lng li trong 1 giy s c tnh l 10-18 100
106 32 hay 3.2 10-9 li trong 1 giy, tc l xp x 1 li s xy ra trong
khong thi gian khong 10 nm.
8.5.2. Pht hin li v sa li single-bit-error
Mt phng php n gin v lu i nht pht hin li trong qu trnh
truyn v nhn k t l kim tra chn l parity bit. Mt bit parity, mang gi tr
BI GING CU TRC MY TNH V GHP NI
Page 171
Hamming Codes
Nhng bit thm vo d liu ngoi chc nng pht hin li, n cn cn c kh
nng t sa li. Mt s phng php m ha ph bin c s dng rng ri l
m Hamming. Phng php ny c thc hin da trn cc nghin cu ca
Richard Hamming ti Bell Telephone Laboratories, hin nay hot ng di s
qun l ca Lucent Technologoies
Khong cch Hamming HD c nh ngha l s lng bit li ti thiu m
khng m bo chc chn pht hin c trong mt chui bit. Khi truyn mt
chui k t ASCII v nhn c 1 chui k t ASCII khc, bn nhn khng c
kh nng pht hin ra c li trn ng truyn, do HD = 1. Nu by gi bng
mt phng php no , ta tng khong cch HD = 2 th c ngha l ta c th
pht hin tt c cc li n (single-bit error)
Mt phng php tng khong cch HD n gin l thm 1 bit kim tra chn
l pariy bit nh trnh by trn. Nu thc hin kim tra chn vi bit kim tra
c t pha bn tri. K t a khi s c biu din bi chui
11100001. Tng t, ta c th xc nh c chui th hin k t b, c, z
hoc A nh th hin trn hnh 8.29. Bng m ASCII lc ny s c tng s 28 =
256 trng thi khc nhau. Mt na trong s th hin m k t sai. Khi bn
nhn nhn c m k t sai, bn nhn s yu cu thc hin truyn li m k t
.
Qu trnh truyn li k t b sai khng phi lc no cng c th thc hin c.
Do cn c mt phng php no ng thi pht hin li v t sa li.
Page 172
Page 173
thit b nhn, ta s tin hnh kim tra theo quy trnh sau
1. Kim tra chn l cc bit d phng C1, C2, C4, C8 vi cc t hp tng
ng.
2. Nu kt qu kim tra u ph hp, th d liu truyn khng li
3. Nu c li tc l t nht mt gi tr Ci c kt qu kim tra l l th v tr
li c tnh l =
C1
C2
C4
C8
{1, 3, 5, 7, 9, 11}
{2, 3, 6, 7, 10, 11}
{4, 5, 6, 7}
{8, 9, 10, 11}
Kt qu l
Kt qu chn
Kt qu l
Kt qu chn
Kt qu l C1 v C4 do v tr bit b li l n = 1 + 4 = 5. Chui c sa li
l 10010101001. D liu thu c 1000100. y chnh l k t D trong bng
m ASCII
Page 174
Page 175
Hnh 8.31. Thc hin php chia trong kim tra CRC
Chui truyn i s l
Page 176
32 =
+
+
+
+
+
+
+1
+1
+1
TNG KT CHNG
Cc lu tr d liu c rt nhiu dng khc nhau. Vi d lu tr c cc loi
nh cng, bng t. a quangcos mt lu tr cao hn a t, nhng c
gi thnh cao hn v khng h tr kh nng ghi d liu. Cc a quang thng
dng l CD ROM, DVD ROM.
Cc thit b vo/ra cng c rt nhiu loi khc nhau. Trong chng ny chng ta
nghin cu mt s thit b c bn. l bn phm, bit pad, chut, trackball,
mn hnh hin th CRT.
Cc cng vo ra d liu cng lin quan ti h thng bus truyn thng bn trong
my tnh. Chng ta cng tm hiu mt s h thng bus c bn trong my tnh.
Cc h thng bus ny khc nhau tc truyn thng, rng d liu m n
h tr, kh nng kt ni. Vi mi h thng bus ny, chng ta cng tm hiu
s chn v cc tn hiu trong bus.
kt ni vi cc thit b ngoi vi bn ngoi, my tnh phi s dng cc knh
truyn dn ring (khc vi bus). Mt s knh truyn dn l RS-232, cng LPT,
v c bit l chun USB
Trong qu trnh truyn nhn d liu, li pht sinh l khng th trnh khi. Ta
tm hiu mt s phng php pht hin v t sa li c bn, thng c s
dng nh kim tra chn l, kim tra VRC, v mt phng php rt mnh l
CRC.
Page 177