You are on page 1of 95

Msc.

V Vn Chn
ThS. Nguyn Hng Vn
KS Phm Hu Ti

Gio trnh

KIN TRC MY TNH


c bin son trong khun kh d n ASVIET002CNTT
Tng cng hiu qu o to v nng lc t o to ca sinh vin
khoa Cng ngh Thng tin - i hc Cn th

i hc Cn Th - 12/2003

Mc lc

Kin trc my tnh

MC LC
*****
MC LC ..........................................................................................................................2
GII THIU TNG QUAN.............................................................................................5
GIO TRNH KIN TRC MY TNH .......................................................................5
MC CH ......................................................................................................................5
YU CU .........................................................................................................................5
NI DUNG ......................................................................................................................6
KIN THC TIN QUYT..............................................................................................6
TI LIU THAM KHO ..................................................................................................6
PHNG PHP HC TP ............................................................................................6
CHNG I: I CNG ...............................................................................................7
I.1 CC TH H MY TNH.........................................................................................7
a.
Th h u tin (1946-1957)................................................................................7
b. Th h th hai (1958-1964) .................................................................................8
c. Th h th ba (1965-1971) ..................................................................................8
d. Th h th t (1972-????) ...................................................................................8
e. Khuynh hng hin ti ........................................................................................8
I.2 PHN LOI MY TNH...........................................................................................9
I.3 THNH QU CA MY TNH .............................................................................10
QUI LUT MOORE V S PHT TRIN CA MY TNH ...................................10
I.4- THNG TIN V S M HO THNG TIN........................................................12
I.4.1 - Khi nim thng tin.........................................................................................12
I.4.2 - Lng thng tin v s m ho thng tin .........................................................13
I.4.3 - Biu din cc s: .............................................................................................13
I.4.4 S nguyn c du..............................................................................................16
I.4.5 - Cch biu din s vi du chm ng:...........................................................17
I.4.6 - Biu din cc s thp phn .............................................................................19
I.4.7 - Biu din cc k t ..........................................................................................19
CU HI N TP V BI TP CHNG I ............................................................22
CHNG II: KIN TRC PHN MM B X L.................................................23
II.1 - THNH PHN C BN CA MT MY TNH..............................................23
II.2 - NH NGHA KIN TRC MY TNH.............................................................25
II.3 - CC KIU THI HNH MT LNH ...................................................................25
II.4 - KIU KIN TRC THANH GHI A DNG ....................................................27
II.5 - TP LNH............................................................................................................27
II.5.1 - Gn tr............................................................................................................28
II.5.2 - Lnh c iu kin ...........................................................................................29
II.5.3 - Vng lp.........................................................................................................30
II.5.4 - Thm nhp b nh ngn xp..........................................................................31
II.5.5 - Cc th tc .....................................................................................................31
II.6 - CC KIU NH V ............................................................................................33

Mc lc

Kin trc my tnh

II.7 - KIU CA TON HNG V CHIU DI CA TON HNG ......................34


II.8 - TC V M LNH THC HIN .......................................................................34
II.9 - KIN TRC RISC ( REDUCED INSTRUCTION SET COMPUTER) ...........................35
II.10 - KIU NH V TRONG CC B X L RISC...............................................37
II.10.1 - Kiu nh v thanh ghi..................................................................................37
II.10.2 - Kiu nh v tc th.......................................................................................37
II.10.3 - Kiu nh v trc tip ...................................................................................38
II.10.4 - Kiu nh v gin tip bng thanh ghi + di ..........................................38
II.10.5 - Kiu nh v t tng .....................................................................................38
II.11 - NGN NG CP CAO V NGN NG MY ..............................................39
CU HI N TP V BI TP CHNG II ..........................................................41
CHNG III: T CHC B X L ..........................................................................42
III.1. NG I CA D LIU.................................................................................42
III.2. B IU KHIN .................................................................................................44
III.2.1. B iu khin mch in t ...........................................................................44
III.2.2. B iu khin vi chng trnh: ......................................................................45
III.3. DIN TIN THI HNH LNH M MY ..........................................................46
III.4. NGT QUNG (INTERRUPT)...........................................................................47
III.5. K THUT NG DN (PIPELINE)...................................................................48
III.6. KH KHN TRONG K THUT NG DN ...................................................49
III.7. SIU NG DN...................................................................................................51
III.8. SIU V HNG (SUPERSCALAR)................................................................52
III.9. MY TNH C LNH THT DI VLIW (VERY LONG INSTRUCTION
WORD)..........................................................................................................................53
III.10. MY TNH VECT...........................................................................................53
III.11. MY TNH SONG SONG .................................................................................53
III.12 KIN TRC IA-64 ..............................................................................................59
a) c trng ca kin trc IA-64: .........................................................................59
b) nh dng lnh trong kin trc IA-64 ...............................................................60
CU HI N TP V BI TP CHNG III.........................................................62
CHNG IV: CC CP B NH ...............................................................................63
IV.1. CC LOI B NH............................................................................................63
IV.2. CC CP B NH..............................................................................................65
IV.3. XC SUT TRUY CP D LIU TRONG B NH TRONG ........................66
IV.4. VN HNH CA CACHE..................................................................................67
IV.5. HIU QU CA CACHE....................................................................................72
IV.6. CACHE DUY NHT HAY CACHE RING L.................................................73
IV.7. CC MC CACHE..............................................................................................73
IV.8. B NH TRONG.................................................................................................74
IV.9. B NH O.........................................................................................................75
IV.10. BO V CC TIN TRNH BNG CCH DNG B NH O...................79
CU HI N TP V BI TP CHNG IV .........................................................81
CHNG V: NHP - XUT..........................................................................................82

Mc lc

Kin trc my tnh

V.1. DN NHP ...........................................................................................................82


V.2. A T ..................................................................................................................82
V.3. A QUANG .........................................................................................................84
V.4. CC LOI TH NH ...........................................................................................86
V.5. BNG T ..............................................................................................................86
V.6. BUS NI NGOI VI VO B X L V B NH TRONG ...........................87
V.7. CC CHUN V BUS..........................................................................................89
V.8. GIAO DIN GIA B X L VI CC B PHN VO RA ..........................90
V.9. MT S BIN PHP AN TON D LIU TRONG VIC LU TR THNG
TIN TRONG A T....................................................................................................91
CU HI N TP V BI TP CHNG V...........................................................95

Gii thiu tng quan

Kin trc my tnh

GII THIU TNG QUAN


GIO TRNH KIN TRC MY TNH
MC CH
Gio trnh ny nhm trang b cho ngi c cc ni dung ch yu sau:
Lch s pht trin ca my tnh, cc th h my tnh v cch phn loi my
tnh. Cch bin i c bn ca h thng s, cc bng m thng dng c dng biu
din cc k t.
Gii thiu cc thnh phn c bn ca mt h thng my tnh, khi nim v kin
trc my tnh, tp lnh. Cc kiu kin trc my tnh: m t kin trc, cc kiu nh v.
Gii thiu cu trc ca b x l trung tm: t chc, chc nng v nguyn l
hot ng ca cc b phn bn trong b x l. M t din tin thi hnh mt lnh m my
v mt s k thut x l thng tin: ng dn, siu ng dn, siu v hng, my tnh c
lnh tht di, my tnh vc-t, x l song song v kin trc IA-64.
Gii thiu chc nng v nguyn l hot ng ca cc cp b nh my tnh.
Gii thiu mt s thit b lu tr ngoi nh: a t, a quang, th nh, bng t.
H thng kt ni c bn cc b phn bn trong my tnh. Cch giao tip gia cc ngoi vi
v b x l.
Phng php an ton d liu trn thit b lu tr ngoi.

YU CU
Sau khi hc xong mn hc ny, ngi hc c trang b cc kin thc v:
Sinh vin c trang b kin thc v lch s pht trin ca my tnh, cc th h
my tnh v cch phn loi my tnh. Nm vng cc khi nim c bn lin quan n cc
h thng s c dng trong my tnh. Thnh tho cc thao tc bin i s gia cc h
thng s.
Sinh vin c kin thc v cc thnh phn c bn ca mt h thng my tnh,
khi nim v kin trc my tnh, tp lnh. Nm vng cc kin thc v cc kiu kin trc
my tnh, cc kiu nh v c dng trong kin trc, loi v chiu di ca ton hng, tc
v m my tnh c th thc hin. Phn bit c hai loi kin trc: CISC (Complex
Instruction Set Computer), RISC (Reduced Instruction Set Computer). Cc kin thc c
bn v kin trc RISC, tng qut tp lnh ca cc kin trc my tnh.
Sinh vin phi nm vng cu trc ca b x l trung tm v din tin thi hnh
mt lnh m my, v y l c s hiu c cc hot ng x l lnh trong cc k
thut x l thng tin trong my tnh.
Sinh vin phi hiu c cc cp b nh v cch thc vn hnh ca cc loi b
nh c gii thiu c th nh gi c hiu nng hot ng ca cc loi b nh.
Sinh vin phi nm vng cc kin thc v h thng kt ni c bn cc b phn
bn trong my tnh, cch giao tip gia cc ngoi vi v b x l. Bit c cu to v cc
vn hnh ca cc loi thit b lu tr ngoi v phng php an ton d liu trn a cng.

Gii thiu tng quan

Kin trc my tnh

NI DUNG
Chng I: I CNG
Lch s pht trin ca my tnh, thng tin v s m ho thng tin.
Chng II: KIN TRC PHN MM B X L
Gii thiu cc thnh phn c bn ca mt h thng my tnh, kin trc my tnh, tp
lnh v cc kiu nh v c bn. Khi nim v kin trc RISC v CISC, ngn ng cp cao
v ngn ng my.
Chng III: T CHC B X L
Gii thiu cu trc ca b x l trung tm: t chc, chc nng v nguyn l hot
ng ca cc b phn bn trong b x l. Mt s k thut x l thng tin.
Chng IV: CC CP B NH
Gii thiu chc nng v nguyn l hot ng ca cc cp b nh my tnh.
Chng V: NHP - XUT
Thit b ngoi vi: cc thnh phn v h thng lin kt. Phng php an ton d liu
trn thit b lu tr ngoi

KIN THC TIN QUYT


-

K THUT S (TH 313)

TI LIU THAM KHO


1. Kin trc my tnh V Vn Chn, i hc Cn Th, 1997.
2. Computer Architecture: A Quantitative Approach, A. Patterson and J. Hennesy,
Morgan Kaufmann Publishers, 2nd Edition, 1996.
3. Computer Otganization and Architecture: Designing for Performance, Sixth
Edtion, William Stallings, Prentice Hall.
4. Principles of Computer Architecture, Miles Murdocca and Vincent Heuring
(internet- http://iiusaedu.com).
5. Computer Organization and Design: The Hardware/Software Interface, Patterson
and Hennessy, Second Edition (internet-http://engronline.ee.memphis.edu).

PHNG PHP HC TP
Do gio trnh ch mang tnh cht gii thiu tng qut nn ngi c cn c thm
cc ti liu gii thiu v kin trc c th ca cc b x l. Ngi c cn tm hiu thm
cc hnh nh v v d minh ho trong cc ti liu lin quan thy c su hn vn
c t ra.

Chng I: i cng

Kin trc my tnh

Chng I: I CNG
Mc ch: Gii thiu lch s pht trin ca my tnh, cc th h my tnh v cch
phn loi my tnh. Gii thiu cc cch bin i c bn ca h thng s, cc bng m
thng dng c dng biu din cc k t.
Yu cu: Sinh vin c trang b kin thc v lch s pht trin ca my tnh, cc
th h my tnh v cch phn loi my tnh. Nm vng cc khi nim c bn lin quan
n cc h thng s c dng trong my tnh. Thnh tho cc thao tc bin i s gia
cc h thng s.

I.1 CC TH H MY TNH
S pht trin ca my tnh c m t da trn s tin b ca cc cng ngh ch to
cc linh kin c bn ca my tnh nh: b x l, b nh, cc ngoi vi,Ta c th ni
my tnh in t s tri qua bn th h lin tip. Vic chuyn t th h trc sang th h
sau c c trng bng mt s thay i c bn v cng ngh.
a. Th h u tin (1946-1957)

Hnh 1.1: My tnh ENIAC


ENIAC (Electronic Numerical Integrator and Computer) l my tnh in t s u
tin do Gio s Mauchly v ngi hc tr Eckert ti i hc Pennsylvania thit k vo
nm 1943 v c hon thnh vo nm 1946. y l mt my tnh khng l vi th tch
di 20 mt, cao 2,8 mt v rng vi mt. ENIAC bao gm: 18.000 n in t, 1.500

Chng I: i cng

Kin trc my tnh

cng tc t ng, cn nng 30 tn, v tiu th 140KW gi. N c 20 thanh ghi 10 bit
(tnh ton trn s thp phn). C kh nng thc hin 5.000 php ton cng trong mt
giy. Cng vic lp trnh bng tay bng cch u ni cc u cm in v dng cc ngt
in.
Gio s ton hc John Von Neumann a ra tng thit k my tnh IAS
(Princeton Institute for Advanced Studies): chng trnh c lu trong b nh, b iu
khin s ly lnh v bin i gi tr ca d liu trong phn b nh, b lm ton v lun l
(ALU: Arithmetic And Logic Unit) c iu khin tnh ton trn d liu nh phn,
iu khin hot ng ca cc thit b vo ra. y l mt tng nn tng cho cc my
tnh hin i ngy nay. My tnh ny cn c gi l my tnh Von Neumann.
Vo nhng nm u ca thp nin 50, nhng my tnh thng mi u tin c
a ra th trng: 48 h my UNIVAC I v 19 h my IBM 701 c bn ra.
b. Th h th hai (1958-1964)
Cng ty Bell pht minh ra transistor vo nm 1947 v do th h th hai ca
my tnh c c trng bng s thay th cc n in t bng cc transistor lng
cc. Tuy nhin, n cui thp nin 50, my tnh thng mi dng transistor mi xut
hin trn th trng. Kch thc my tnh gim, r tin hn, tiu tn nng lng t hn.
Vo thi im ny, mch in v b nh bng xuyn t c dng. Ngn ng cp cao xut
hin (nh FORTRAN nm 1956, COBOL nm 1959, ALGOL nm 1960) v h iu
hnh kiu tun t (Batch Processing) c dng. Trong h iu hnh ny, chng
trnh ca ngi dng th nht c chy, xong n chng trnh ca ngi dng th
hai v c th tip tc.
c. Th h th ba (1965-1971)
Th h th ba c nh du bng s xut hin ca cc mch kt (mch tch hp IC: Integrated Circuit). Cc mch kt tch hp mt thp (SSI: Small Scale
Integration) c th cha vi chc linh kin v kt tch hp mt trung bnh (MSI:
Medium Scale Integration) cha hng trm linh kin trn mch tch hp.
Mch in nhiu lp xut hin, b nh bn dn bt u thay th b nh bng xuyn t.
My tnh a chng trnh v h iu hnh chia thi gian c dng.
d. Th h th t (1972-????)
Th h th t c nh du bng cc IC c mt tch hp cao (LSI: Large Scale
Integration) c th cha hng ngn linh kin. Cc IC mt tch hp rt cao (VLSI: Very
Large Scale Integration) c th cha hn 10 ngn linh kin trn mch. Hin nay, cc chip
VLSI cha hng triu linh kin.
Vi s xut hin ca b vi x l (microprocessor) cha c phn thc hin v phn
iu khin ca mt b x l, s pht trin ca cng ngh bn dn cc my vi tnh c
ch to v khi u cho cc th h my tnh c nhn.
Cc b nh bn dn, b nh cache, b nh o c dng rng ri.
Cc k thut ci tin tc x l ca my tnh khng ngng c pht trin: k
thut ng dn, k thut v hng, x l song song mc cao,
e. Khuynh hng hin ti
Vic chuyn t th h th t sang th h th 5 cn cha r rng. Ngi Nht
v ang i tin phong trong cc chng trnh nghin cu cho ra i th h th 5 ca
8

Chng I: i cng

Kin trc my tnh

my tnh, th h ca nhng my tnh thng minh, da trn cc ngn ng tr tu nhn to


nh LISP v PROLOG,... v nhng giao din ngi - my thng minh. n thi im
ny, cc nghin cu cho ra cc sn phm bc u v gn y nht (2004) l s ra mt
sn phm ngi my thng minh gn ging vi con ngi nht: ASIMO (Advanced Step
Innovative Mobility: Bc chn tin tin ca i mi v chuyn ng). Vi hng trm
nghn my mc in t ti tn t trong c th, ASIMO c th ln/xung cu thang mt
cch uyn chuyn, nhn din ngi, cc c ch hnh ng, ging ni v p ng mt s
mnh lnh ca con ngi. Thm ch, n c th bt chc c ng, gi tn ngi v cung
cp thng tin ngay sau khi bn hi, rt gn gi v thn thin. Hin nay c nhiu cng ty,
vin nghin cu ca Nht thu Asimo tip khch v hng dn khch tham quan nh:
Vin Bo tng Khoa hc nng lng v i mi quc gia, hng IBM Nht Bn, Cng ty
in lc Tokyo. Hng Honda bt u nghin cu ASIMO t nm 1986 da vo nguyn l
chuyn ng bng hai chn. Cho ti nay, hng ch to c 50 robot ASIMO.
Cc tin b lin tc v mt tch hp trong VLSI cho php thc hin cc
mch vi x l ngy cng mnh (8 bit, 16 bit, 32 bit v 64 bit vi vic xut hin cc b
x l RISC nm 1986 v cc b x l siu v hng nm 1990). Chnh cc b x l
ny gip thc hin cc my tnh song song vi t vi b x l n vi ngn b x l.
iu ny lm cc chuyn gia v kin trc my tnh tin on th h th 5 l th h cc
my tnh x l song song.
Th h

Nm

19461957

n
t

19581964

Transistors My tnh r tin

Burroughs 6500, NCR,


CDC 6600, Honeywell

19651971

Mach IC

50 hng mi: DEC PDP-11,


Data general ,Nova

1972????

LSI - VLSI My tnh c Apple II, IBM-PC, Appolo


nhn v trm DN 300, Sun 2
lm vic

5 ??

K thut

Sn phm mi

Hng sn xut v my
tnh

in My tnh in t IBM 701. UNIVAC


tung
ra
th
trng

My tnh mini

????-???? X l song My tnh a x Sequent


?
Thinking
song
l. a my tnh Machine Inc.? Honda, Casio
Bng 1.1: Cc th h my tnh

I.2 PHN LOI MY TNH


Thng thng my tnh c phn loi theo tnh nng k thut v gi tin.
a. Cc siu my tnh (Super Computer): l cc my tnh t tin nht v tnh
nng k thut cao nht. Gi bn mt siu my tnh t vi triu USD. Cc siu my tnh
thng l cc my tnh vect hay cc my tnh dng k thut v hng v c thit k
tnh ton khoa hc, m phng cc hin tng. Cc siu my tnh c thit k vi k

Chng I: i cng

Kin trc my tnh

thut x l song song vi rt nhiu b x l (hng ngn n hng trm ngn b x l


trong mt siu my tnh).
b. Cc my tnh ln (Mainframe) l loi my tnh a dng. N c th dng
cho cc ng dng qun l cng nh cc tnh ton khoa hc. Dng k thut x l song
song v c h thng vo ra mnh. Gi mt my tnh ln c th t vi trm ngn USD n
hng triu USD.
c. My tnh mini (Minicomputer) l loi my c trung, gi mt my tnh mini
c th t vi chc USD n vi trm ngn USD.
d. My vi tnh (Microcomputer) l loi my tnh dng b vi x l, gi mt
my vi tnh c th t vi trm USD n vi ngn USD.

I.3 THNH QU CA MY TNH


QUI LUT MOORE V S PHT TRIN CA MY TNH
Hnh I-2 cho thy din bin ca thnh qu ti a ca my tnh. Thnh qu ny
tng theo hm s m, tng trng cc my vi tnh l 35% mi nm, cn i vi cc
loi my khc, tng trng l 20% mi nm. iu ny cho thy tnh nng cc my
vi tnh vt qua cc loi my tnh khc vo u thp nin 90 .
Super Computers

1000

Mainframes

100

Mini Computers

10
1
Micro Processor
0.1
1965

1970

1975

1980

1985

1990

1995

2000

Hnh 1.2: nh gi thnh qu ca my tnh


My tnh dng tht nhiu b x l song song rt thch hp khi phi lm tnh
tht nhiu.
S tng trng theo hm s m ca cng ngh ch to transistor MOS l
ngun gc ca thnh qu cc my tnh.
Hnh I.4 cho thy s tng trng v tn s xung nhp ca cc b x l MOS.
tng trng ca tn s xung nhp b x l tng gp i sau mi th h v tr
hon trn mi cng / xung nhp gim 25% cho mi nm .
S pht trin ca cng ngh my tnh v c bit l s pht trin ca b vi x l
ca cc my vi tnh lm cho cc my vi tnh c tc vt qua tc b x l ca cc
my tnh ln hn.

10

Chng I: i cng

Kin trc my tnh

B x l Intel

Nm SX

S lng transistor tch hp

4004

1971

2,250

8008
8080

1972
1974

2,500
5,000

8086

1978

29,000

286

1982

120,000

Intel386 processor

1985

275,000

Intel486 processor

1989

1,180,000

Intel Pentium processor

1993

3,100,000

Intel Pentium II processor


Intel Pentium III processor
Intel Pentium 4 processor

1997
1999
2000

7,500,000
24,000,000
42,000,000

Intel Itanium processor


Intel Itanium 2 processor

2002
2003

220,000,000
410,000,000

Hnh I.3 v Bng I.2: S pht trin ca b x l Intel


da vo s lng transistor trong mt mch tch hp theo qui lut Moore
T nm 1965, Gordon Moore (ng sng lp cng ty Intel) quan st v nhn thy
s transistor trong mi mch tch hp c th tng gp i sau mi nm, G. Moore a
ra d on: Kh nng ca my tnh s tng ln gp i sau 18 thng vi gi thnh l
nh nhau.
Kt qu ca quy lut Moore l:

Chi ph cho my tnh s gim.

Gim kch thc cc linh kin, my tnh s gim kch thc

H thng kt ni bn trong mch ngn: tng tin cy, tng tc .

Tit kim nng lng cung cp, to nhit thp.

Cc IC thay th cho cc linh kin ri.


11

Chng I: i cng

Kin trc my tnh

Hnh I.4: Xung nhp cc b x l MOS


Mt s khi nim lin quan:

Mt tch hp l s linh kin tch hp trn mt din tch b mt tm


silicon cho sn, cho bit s nhim v v mch c thc hin.

Tn s xung nhp b x l cho bit tn s thc hin cc nhim v.

Tc x l ca my tnh trong mt giy (hay cng sut tnh ton ca mi


mch): c tnh bng tch ca mt tch hp v tn s xung nhp. Cng sut ny cng
tng theo hm m i vi thi gian.

I.4- THNG TIN V S M HO THNG TIN


I.4.1 - Khi nim thng tin
Hiu th
Vt2
VH

VL
Vt1

t1

t2

Thi gian

Hnh I.5: Thng tin v 2 trng thi c ngha ca hiu in th


12

Chng I: i cng

Kin trc my tnh

Khi nim v thng tin gn lin vi s hiu bit mt trng thi cho sn trong
nhiu trng thi c th c vo mt thi im cho trc.
Trong hnh ny, chng ta quy c c hai trng thi c ngha: trng thi thp
khi hiu in th thp hn VL v trng thi cao khi hiu in th ln hn VH. c
thng tin, ta phi xc nh thi im ta nhn trng thi ca tn hiu. Th d, ti thi
im t1 th tn hiu trng thi thp v ti thi im t2 th tn hiu trng thi cao.
I.4.2 - Lng thng tin v s m ho thng tin
Thng tin c o lng bng n v thng tin m ta gi l bit. Lng thng
tin c nh ngha bi cng thc:
I = Log2(N)
Trong : I: l lng thng tin tnh bng bit
N: l s trng thi c th c
Vy mt bit ng vi s hiu bit ca mt trng thi trong hai trng thi c th
c. Th d, s hiu bit ca mt trng thi trong 8 trng thi c th ng vi mt lng
thng tin l:
I = Log2(8) = 3 bit
Tm trng thi c ghi nhn nh 3 s nh phn (mi s nh phn c th c
gi tr 0 hoc 1).
Nh vy lng thng tin l s con s nh phn cn thit biu din s trng
thi c th c. Do vy, mt con s nh phn c gi l mt bit. Mt t n bit c th
tng trng mt trng thi trong tng s 2n trng thi m t c th tng trng.
Vy mt t n bit tng ng vi mt lng thng tin n bit.
Trng thi
0
1
2
3
4
5
6
7

X2
0
0
0
0
1
1
1
1

X1
0
0
1
1
0
0
1
1

X0
0
1
0
1
0
1
0
1

Bng I.3: Tm trng thi khc nhau ng vi 3 s nh phn


I.4.3 - Biu din cc s:
Khi nim h thng s: C s ca mt h thng s nh ngha phm vi cc gi
tr c th c ca mt ch s. V d: trong h thp phn, mt ch s c gi tr t 0-9, trong
h nh phn, mt ch s (mt bit) ch c hai gi tr l 0 hoc 1.
Dng tng qut biu din gi tr ca mt s:

Vk
13

Chng I: i cng

Kin trc my tnh

Trong :
Vk: S cn biu din gi tr
m: s th t ca ch s phn l
(phn l ca s c m ch s c nh s th t t -1 n -m)
n-1: s th t ca ch s phn nguyn
(phn nguyn ca s c n ch s c nh s th t t 0 n n-1)
bi: gi tr ca ch s th i
k: h s (k=10: h thp phn; k=2: h nh phn;...).
V d: biu din s 541.25 10
2
1
0
1
2
541.2510 = 5 * 10 + 4 * 10 + 1 * 10 + 2 * 10- + 5 * 10= (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10
Mt my tnh c ch yu cu to bng cc mch in t c hai trng thi. V
vy, rt tin li khi dng cc s nh phn biu din s trng thi ca cc mch in
hoc m ho cc k t, cc s cn thit cho vn hnh ca my tnh.
bin i mt s h thp phn sang nh phn, ta c hai phng thc bin i:
- Phng thc s d bin i phn nguyn ca s thp phn sang nh phn.
V d: i 23.37510 sang nh phn. Chng ta s chuyn i phn nguyn dng
phng thc s d:
bit gi
bit c trng
s nh nht

Phng thc nhn bin i phn l ca s thp phn sang nh phn


bit c trng
s ln nht

bit c trng
s nh nht
Kt qu cui cng nhn c l: 23.37510 = 10111.0112
Tuy nhin, trong vic bin i phn l ca mt s thp phn sang s nh phn
theo phng thc nhn, c mt s trng hp vic bin i s lp li v hn

14

Chng I: i cng

Kin trc my tnh

V d:

Trng hp bin i s nh phn sang cc h thng s khc nhau, ta c th


nhm mt s cc s nh phn biu din cho s trong h thng s tng ng.
Binary
(Base 2)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Octal
(Base 8)
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

Decimal
(Base 10)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Hexadecimal
(Base 16)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Thng thng, ngi ta nhm 4 bit trong h nh phn h biu din s di


dng thp lc phn (Hexadecimal).
Nh vy, da vo cch bin i s trong bng nu trn, chng ta c v d v
cch bin i cc s trong cc h thng s khc nhau theo h nh phn:
10112 = (102)(112) = 234

234 = (24)(34) = (102)(112) = 10112

1010102 = (1012)(0102) = 528

011011012 = (01102)(11012) = 6D16


Mt t n bit c th biu din tt c cc s dng t 0 ti 2n-1. Nu di l mt s
nh phn th i, mt t n bit tng ng vi mt s nguyn thp phn.

N=

n 1

d i 2i

i =0

15

Chng I: i cng

Kin trc my tnh

Mt Byte (gm 8 bit) c th biu din cc s t 0 ti 255 v mt t 32 bit cho


php biu din cc s t 0 ti 4294967295.
I.4.4 S nguyn c du
C nhiu cch biu din mt s n bit c du. Trong tt c mi cch th bit
cao nht lun tng trng cho du.
Khi , bit du c gi tr l 0 th s nguyn dng, bit du c gi tr l 1 th s
nguyn m. Tuy nhin, cch biu din du ny khng ng trong trng hp s c
biu din bng s tha K m ta s xt phn sau trong chng ny (bit du c gi tr
l 1 th s nguyn dng, bit du c gi tr l 0 th s nguyn m).
dn-3
....
d2
d1
d0
dn-1 dn-2
....
bit du

S nguyn c bit dn-1 l bit du v c tr s tng trng bi cc bit t d0 ti dn-2 .


a) Cch biu din bng tr tuyt i v du
Trong cch ny, bit dn-1 l bit du v cc bit t d0 ti dn-2 cho gi tr tuyt i.
Mt t n bit tng ng vi s nguyn thp phn c du.

N=

n2

(1) d n 1 d i 2 i
i =0

V d: +2510 = 000110012
-2510 = 100110012
Mt Byte (8 bit) c th biu din cc s c du t -127 ti +127.
C hai cch biu din s khng l 0000 0000 (+0) v 1000 0000 (-0).
b) Cch biu din hng s b 1
Trong cch biu din ny, s m -N c c bng cch thay cc s nh phn di
ca s ng N bng s b ca n (ngha l nu di = 0 th ngi ta i n thnh 1 v
ngc li).
-2510 = 111001102
V d: +2510 = 000110012
Mt Byte cho php biu din tt c cc s c du t -127 (1000 00002) n
127 (0111 11112)
C hai cch biu din cho 0 l 0000 0000 (+0) v 1111 1111 (-0).
c) Cch biu din bng s b 2
c s b 2 ca mt s no , ngi ta ly s b 1 ri cng thm 1. Vy
mt t n bit (dn-1 ....... d0) c tr thp phn.
N = d n 1 2

n 1

n -2

d i 2i

i =0

Mt t n bit c th biu din cc s c du t - 2n-1 n 2n-1 - 1. Ch c mt


cch duy nht biu din cho s khng l tt c cc bit ca s u bng khng.
-2510 = 111001112
V d: +2510 = 000110012
Dng 1 Byte (8 bit) biu din mt s c du ln nht l +127 v s nh
nht l 128.
Ch c mt gi tr 0: +0 = 000000002, -0 = 000000002
16

Chng I: i cng

Kin trc my tnh

d3 d2 d1 d0 N
d3 d2 d1 d0 N
0
0
0
0
0
1
0
0
0 -8
0
0
0
1
1
1
0
0
1 -7
0
0
1
0
2
1
0
1
0 -6
0
0
1
1
3
1
0
1
1 -5
0
1
0
0
4
1
1
0
0 -4
0
1
0
1
5
1
1
0
1 -3
0
1
1
0
6
1
1
1
0 -2
0
1
1
1
7
1
1
1
1 -1
Bng I.4: S 4 bit c du theo cch biu din s m bng s b 2
d) Cch biu din bng s tha K
Trong cch ny, s dng ca mt s N c c bng cch cng thm vo
s tha K c chn sao cho tng ca K v mt s m bt k lun lun dng. S m
-N ca s N c c bng cck ly K-N (hay ly b hai ca s va xc nh).
V d: (s tha K=128, s cng thm vo 128 l mt s nguyn dng. S m
l s ly b hai s va tnh, b qua s gi ca bit cao nht) :
+2510 = 100110012 -2510 = 011001112
Dng 1 Byte (8 bit) biu din mt s c du ln nht l +127 v s nh
nht l 128.
Ch c mt gi tr 0: +0 = 100000002, -0 = 100000002
Cch biu din s nguyn c du bng s b 2 c dng rng ri cho cc
php tnh s nguyn. N c li l khng cn thut ton c bit no cho cc php tnh
cng v tnh tr, v gip pht hin d dng cc trng hp b trn.
Cc cch biu din bng "du , tr tuyt i" hoc bng "s b 1" dn n vic
dng cc thut ton phc tp v bt li v lun c hai cch biu din ca s khng.
Cch biu din bng "du , tr tuyt i" c dng cho php nhn ca s c du
chm ng.
Cch biu din bng s tha K c dng cho s m ca cc s c du chm
ng. Cch ny lm cho vic so snh cc s m c du khc nhau tr thnh vic so
snh cc s nguyn dng.
I.4.5 - Cch biu din s vi du chm ng:
Trc khi i vo cch biu din s vi du chm ng, chng ta xt n cch
biu din mt s di dng du chm xc nh.
V d:
Trong h thp phn, s 25410 c th biu din di cc dng sau:
0
1
2
3
4
254 * 10 ; 25.4 * 10 ; 2.54 * 10 ; 0.254 * 10 ; 0.0254 * 10 ;
Trong h nh phn, s (0.00011)2 (tng ng vi s 0.0937510) c
th biu din di cc dng :
0
1
-4
0.00011; 0.00011 * 2 ; 0.0011 * 2- ; 0.011 * 2-2; 0.11 * 2-3; 1.1 * 2
Cc cch biu din ny gy kh khn trong mt s php so snh cc s. d
dng trong cc php tnh, cc s c chun ho v mt dng biu din:
1. fff...f x 2 E
Trong : f l phn l; E l phn m
17

Chng I: i cng

Kin trc my tnh

S chm ng c chun ho, cho php biu din gn ng cc s thp phn rt


ln hay rt nh di dng mt s nh phn theo mt dng qui c. Thnh phn ca s
chm ng bao gm: phn du, phn m v phn nh tr. Nh vy, cch ny cho php
biu din gn ng cc s thc, tt c cc s u c cng cch biu din.
C nhiu cch biu din du chm ng, trong cch biu din theo chun
IEEE 754 c dng rng ri trong khoa hc my tnh hin nay. Trong cch biu din
ny, phn nh tr c dng 1,f vi s 1 n tng v f l phn s l.
Chun IEEE 754 nh ngha hai dng biu din s chm ng:
S chm ng chnh xc n vi nh dng c nh ngha: chiu di
s: 32 bit c chia thnh cc trng: du S (Sign bit - 1 bit), m E (Exponent - 8
bit), phn l F (Fraction - 23 bit).
S ny tng ng vi s thc (-1)S * (1,f1 f2 ..... f23) * 2(E - 127)
bit 31 30
23 22
bit 1 bit 0
S

f1

f2

...........

f22

f23

Hnh I.7: Biu din s c du chm ng chnh xc n vi 32 bit


S chm ng chnh xc kp vi nh dng c nh ngha: chiu di
s: 64 bit c chia thnh cc trng: du S (Sign bit - 1 bit), m E (Exponent - 11
bit), phn l F (Fraction - 52 bit)
S ny tng ng vi s thc (-1)S * (1,f1 f2 ..... f52) * 2(E - 1023)
bit 63 62
52 51
bit 1 bit 0
S

f1

f2

...........

f51

f52

Hnh I.8: Biu din s c du chm ng chnh xc kp vi 64 bit


thun li trong mt s php tnh ton, IEEE nh ngha mt s dng m
rng ca chun IEEE 754:
Tham s

Chnh
xc n

M rng
chnh xc n

Chnh
xc kp

M rng
chnh xc kp

Chiu di (bit)

32

43

64

79

Chiu di trng m (E)

11

11

15

S tha

127

1023

Gi tr m ti a

127

1023

1023

16383

Gi tr m ti thiu

-126

- 1022

-1022

-16382

23

31

52

63

Chiu di trng l F (bit)

Chun IEEE 754 cho php biu din cc s chun ho (cc bit ca E khng
cng lc bng 0 hoc bng 1), cc s khng chun ho (cc bit ca E khng cng lc
bng 0 v phn s l f1 f2 ... khc khng), tr s 0 (cc bit ca E khng cng lc bng
0 v phn s l bng khng), v cc k t c bit (cc bit ca E khng cng lc bng
1 v phn l khc khng).
V d cc bc bin i s thp phn -12.62510 sang s chm ng chun IEEE
754 chnh xc n (32 bit):
18

Chng I: i cng

Kin trc my tnh

Bc 1: i s -12.62510 sang nh phn: -12.62510 = -1100.1012.


Bc 2: Chun ho: -1100.1012 = -1.1001012 x 23 (S 1.1001012 dng 1.f)
Bc 3: in cc bit vo cc trng theo chun:
S m: bit du S c gi tr 1.
Phn m E vi s tha K=127, ta c: E-127=3
E = 3 + 127 = 130 (1000 00102).
32 bit
Kt qu nhn c: 1 1000 0010 1001 0100 0000 0000 0000 000
S

I.4.6 - Biu din cc s thp phn


Mt vi ng dng, c bit ng dng qun l, bt buc cc php tnh thp
phn phi chnh xc, khng lm trn s. Vi mt s bit c nh, ta khng th i mt
cch chnh xc s nh phn thnh s thp phn v ngc li. V vy, khi cn phi dng
s thp phn, ta dng cch biu din s thp phn m bng nh phn (BCD: Binary
Coded Decimal) theo mi s thp phn c m vi 4 s nh phn (bng I.6).
S thp
d3 d2 d1 d0
phn
0
0
0
0
5
0
1
0
1
0
0
0
1
6
0
1
1
0
0
0
1
0
7
0
1
1
1
0
0
1
1
8
1
0
0
0
0
1
0
0
9
1
0
0
1
Bng I.5: S thp phn m bng nh phn
biu din s BCD c du, ngi ta thm s 0 trc mt s dng cn tnh, ta
c s m ca s BCD bng cch ly b 10 s cn tnh.
0000 0111 1001
V d: biu din s +07910 bng s BCD:
B 9
1001 0010 0000
+1
B 10
1001 0010 0001
Vy, ta c: S - 07910 trong cch biu din s BCD: 1001 0010 0001BCD.
Cch tnh ton trn tng ng vi cch sau:
o Trc ht ta ly s b 9 ca s 079 bng cch: 999 - 079 = 920.
o Cng 1 vo s b 9 ta c s b 10:
920 + 1 = 921.
o Biu din s 921 di dng s BCD, ta c: 1001 0010 0001BCD
S thp
phn
0
1
2
3
4

d3

d2

d1

d0

I.4.7 - Biu din cc k t


Tu theo cc h thng khc nhau, c th s dng cc bng m khc nhau:
ASCII, EBCDIC, UNICODE,....Cc h thng trc y thng dng bng m ASCII
(American Standard Codes for Information Interchange) biu din cc ch, s v

19

Chng I: i cng

Kin trc my tnh

mt s du thng dng m ta gi chung l k t. Mi k t c biu din bi 7 bit


trong mt Byte. Hin nay, mt trong cc bng m thng dng c dng l Unicode,
trong bng m ny, mi k t c m ho bi 2 Byte.

Bng m ASCII
Bng m
EBCDIC

20

Chng I: i cng

Kin trc my tnh

Bng m UNICODE

21

Chng I: i cng

Kin trc my tnh

CU HI N TP V BI TP CHNG I
*****
1. Da vo tiu chun no ngi ta phn chia my tnh thnh cc th h?
2. c trng c bn ca cc my tnh th h th nht?
3. c trng c bn ca cc my tnh th h th hai?
4. c trng c bn ca cc my tnh th h th ba?
5. c trng c bn ca cc my tnh th h th t?
6. Khuynh hng pht trin ca my tnh in t ngy nay l g?
7. Vic phn loi my tnh da vo tiu chun no?
8. Khi nim thng tin trong my tnh c hiu nh th no?
9. Lng thng tin l g ?
10. S hiu bit v mt trng thi trong 4096 trng thi c th c ng vi lng
thng tin l bao nhiu?
11. im chung nht trong cc cch biu din mt s nguyn n bit c du l g?
12. S nh phn 8 bit (11001100)2, s ny tng ng vi s nguyn thp phn c
du l bao nhiu nu s ang c biu din trong cch biu din:
a. Du v tr tuyt i.
b. S b 1.
c. S b 2.
13. i cc s sau y:
a. (011011)2 ra s thp phn.
b. (-2005)10 ra s nh phn 16 bits.
c. (55.875)10 ra s nh phn.
14. Biu din s thc (31.75)10 di dng s c du chm ng chnh xc n
32 bit.

22

Chng II: Kin trc phn mm b x l

Kin trc my tnh

Chng II: KIN TRC PHN MM B X L


Mc ch: Gii thiu cc thnh phn c bn ca mt h thng my tnh, khi nim
v kin trc my tnh, tp lnh. Gii thiu cc kiu kin trc my tnh, cc kiu nh v
c dng trong kin trc, loi v chiu di ca ton hng, tc v m my tnh c th
thc hin. Kin trc RISC (Reduced Instruction Set Computer): m t kin trc, cc kiu
nh v. Gii thiu tng qut tp lnh ca cc kin trc my tnh.
Yu cu :Sinh vin c kin thc v cc thnh phn c bn ca mt h thng my
tnh, khi nim v kin trc my tnh, tp lnh. Nm vng cc kin thc v cc kiu kin
trc my tnh, cc kiu nh v c dng trong kin trc, loi v chiu di ca ton
hng, tc v m my tnh c th thc hin. Phn bit c hai loi kin trc: CISC
(Complex Instruction Set Computer), RISC (Reduced Instruction Set Computer). Cc kin
thc c bn v kin trc RISC, tng qut tp lnh ca cc kin trc my tnh.

II.1 - THNH PHN C BN CA MT MY TNH


Thnh phn c bn ca mt b my tnh gm: b x l trung tm (CPU:
Central Processing Unit), b nh trong, cc b phn nhp-xut thng tin. Cc b phn
trn c kt ni vi nhau thng qua cc h thng bus. H thng bus bao gm: bus a
ch, bus d liu v bus iu khin. Bus a ch v bus d liu dng trong vic chuyn
d liu gia cc b phn trong my tnh. Bus iu khin lm cho s trao i thng tin
gia cc b phn c ng b. Thng thng ngi ta phn bit mt bus h thng
dng trao i thng tin gia CPU v b nh trong (thng qua cache), v mt bus vora dng trao i thng tin gia cc b phn vo-ra v b nh trong.

B x l trung tm (CPU)
B iu khin
(CU)

Bus a ch

B lm tnh v lun l
(ALU)

Bus d liu

CC THANH GHI
(Registers)

Bus iu khin

B nh trong

Ngoi vi

Hnh II.1: Cu trc ca mt h my tnh n gin


Mt chng trnh s c sao chp t a cng vo b nh trong cng vi cc
thng tin cn thit cho chng trnh hot ng, cc thng tin ny c np vo b nh

23

Chng II: Kin trc phn mm b x l

Kin trc my tnh

trong t cc b phn cung cp thng tin (v d nh mt bn phm hay mt a t). B


x l trung tm s c cc lnh v d liu t b nh, thc hin cc lnh v lu cc kt
qu tr li b nh trong hay cho xut kt qu ra b phn xut thng tin (mn hnh hay
my in).
Thnh phn c bn ca mt my tnh bao gm :
- B nh trong: y l mt tp hp cc nh, mi nh c mt s bit nht
nh v chc mt thng tin c m ho thnh s nh phn m khng quan tm n kiu
ca d liu m n ang cha. Cc thng tin ny l cc lnh hay s liu. Mi nh ca b
nh trong u c mt a ch. Thi gian thm nhp vo mt nh bt k trong b nh l
nh nhau. V vy, b nh trong cn c gi l b nh truy cp ngu nhin (RAM:
Random Access Memory). di ca mt t my tnh (Computer Word) l 32 bit (hay
4 byte), tuy nhin dung lng mt nh thng thng l 8 bit (1 Byte).
- B x l trung tm (CPU): y l b phn thi hnh lnh. CPU ly lnh t b
nh trong v ly cc s liu m lnh x l. B x l trung tm gm c hai phn: phn
thi hnh lnh v phn iu khin. Phn thi hnh lnh bao gm b lm ton v lun l
(ALU: Arithmetic And Logic Unit) v cc thanh ghi. N c nhim v lm cc php ton
trn s liu. Phn iu khin c nhim v m bo thi hnh cc lnh mt cch tun t v
tc ng cc mch chc nng thi hnh cc lnh.
- B phn vo - ra: y l b phn xut nhp thng tin, b phn ny thc
hin s giao tip gia my tnh v ngi dng hay gia cc my tnh trong h thng
mng (i vi cc my tnh c kt ni thnh mt h thng mng). Cc b phn xut
nhp thng gp l: b lu tr ngoi, mn hnh, my in, bn phm, chut, my qut nh,
cc giao din mng cc b hay mng din rng...B to thch ng l mt vi mch tng
hp (chipset) kt ni gia cc h thng bus c cc tc d liu khc nhau.
Bus h thng ( Bus ni CPU - B nh trong )
Cache

B to thch ng

CPU

B nh trong
Bus vo - ra

iu khin vo -ra

a t

iu khin vo -ra

Mn hnh th

iu khin vo -ra

Mng

Hnh II.2: S m t hot ng in hnh ca mt my tnh

24

Kin trc my tnh

Chng II: Kin trc phn mm b x l

II.2 - NH NGHA KIN TRC MY TNH


Kin trc my tnh bao gm ba phn: Kin trc phn mm, t chc ca my tnh
v lp t phn cng.
Kin trc phn mm ca my tnh ch yu l kin trc phn mm ca b
x l, bao gm: tp lnh, dng cc lnh v cc kiu nh v.
+
Trong , tp lnh l tp hp cc lnh m my (m nh phn) hon
chnh c th hiu v c x l bi b x l trung tm, thng thng cc lnh
trong tp lnh c trnh by di dng hp ng. Mi lnh cha thng tin yu
cu b x l thc hin, bao gm: m tc v, a ch ton hng ngun, a ch ton
hng kt qu, lnh k tip (thng thng th thng tin ny n).
+ Kiu nh v ch ra cch thc thm nhp ton hng.
Kin trc phn mm l phn m cc lp trnh vin h thng phi nm vng
vic lp trnh hiu qu, t sai st.
Phn t chc ca my tnh lin quan n cu trc bn trong ca b x l, cu
trc cc bus, cc cp b nh v cc mt k thut khc ca my tnh. Phn ny s c
ni n cc chng sau.
Lp t phn cng ca my tnh m ch vic lp rp mt my tnh dng cc
linh kin in t v cc b phn phn cng cn thit. Chng ta khng ni n phn
ny trong gio trnh.
Ta nn lu rng mt vi my tnh c cng kin trc phn mm nhng phn t
chc l khc nhau (VAX- 11/780 v VAX 8600). Cc my VAX- 11/780 v VAX11/785 c cng kin trc phn mm v phn t chc gn ging nhau. Tuy nhin vic
lp t phn cng cc my ny l khc nhau. My VAX- 11/785 dng cc mch kt
hin i ci tin tn s xung nhp v thay i mt t t chc ca b nh trong.

II.3 - CC KIU THI HNH MT LNH


Nh m t, mt lnh m my bao gm mt m tc v v cc ton hng.
V d: lnh m my 01101001010101010000001101100101
Vic chn s ton hng cho mt lnh m my l mt vn then cht v phi c
mt s cn i gia tc tnh ton v s cc mch tnh ton phi dng. Tu theo tn
s s dng cc php nh trn m cc nh thit k my tnh quyt nh s lng cc
mch chc nng cn thit cho vic tnh ton. Thng thng s ton hng thay i t 0
ti 3.
V d: lnh Y := A + B + C + D c th c hin bng mt lnh m my nu ta
c 3 mch cng, hoc c thc hin bng 3 lnh m my nu chng ta ch c mt
mch cng, nu vic tnh ton trn xy ra t, ngi ta ch cn thit k mt mch cng
thay v phi tn chi ph lp t 3 mch cng. Tuy nhin, vi mt mch cng th thi
gian tnh ton ca h thng s chm hn vi h thng c ba mch cng.
V tr ca ton hng cng c xem xt. Bng II.1 chn mt vi nh sn xut
my tnh v 3 kiu c bn ca v tr cc ton hng i vi nhng lnh tnh ton trong
ALU l: ngn xp, trn thanh ghi tch lu, v trn cc thanh ghi a dng. Nhng
kin trc phn mm ny c gi l kin trc ngn xp, kin trc thanh ghi tch lu v
kin trc thanh ghi a dng.

25

Chng II: Kin trc phn mm b x l

Kin trc my tnh

V tr cc
ton hng

Th d

Ton hng cho


lnh tnh ton
trong ALU
0

V tr t
kt qu

Cch thc thm nhp vo


ton hng

B 5500 HP
Ngn xp Lnh Push, Pop
3000/70
Thanh ghi PDP 8
1
Thanh ghi Lnh np vo hoc ly ra
tch lu
Motorola
tch lu
t thanh ghi tch lu
6809
(load, store)
2 hoc 3
Thanh ghi Lnh np vo hoc ly ra
Thanh ghi IBM 360
a dng
DEC, VAX
hoc b nh t thanh ghi hoc b nh
Bng II.1 : V d v cch chn la v tr cc ton hng
Mt vi nh sn xut my tnh tun th cht ch cc kiu chn v tr ton hng nu
trn, nhng phn nhiu cc b x l dng kiu hn tp. V d, mch x l 8086 ca Intel
dng cng mt lc kiu "thanh ghi a dng" v kiu "thanh ghi tch lu".
V d minh ho chui lnh phi dng thc hin php tnh C := A + B trong 3
kiu kin trc phn mm.
Ngn xp

Kin trc ngn


xp
Push A
Push B
ADD
Pop C

Kin trc thanh ghi tch


lu
Load A
ADD B
Store C

Kin trc thanh ghi a


dng
Load R1, A
ADD R1, B
Store R1, C

Bng II.2: Chui lnh dng thc hin php tnh C := A + B


(gi s A, B, C u nm trong b nh trong)
Hin ti cc nh sn xut my tnh c khuynh hng dng kin trc phn mm
thanh ghi a dng v vic thm nhp cc thanh ghi a dng nhanh hn thm nhp b
nh trong, v v cc chng trnh dch dng cc thanh ghi a dng c hiu qu hn.
Loi kin trc
Ngn xp
(Stack)

Li im
- Lnh ngn
- t m my
- Lm ti thiu trng thi
bn trong ca my tnh
- D dng to ra mt b
bin dch n gin cho
kin trc ngn xp
Thanh ghi tch lu - Lnh ngn
- Lm ti thiu trng thi
(Accumulator
bn trong ca my tnh
Register)
(yu cu t mch chc
nng).
- Thit k d dng

26

Bt li
- Thm nhp ngn xp khng
ngu nhin.
- M khng hiu qu
- Kh dng trong x l song
song v ng dn
- Kh to ra mt b bin dch
ti u
- Lu gi thanh ghi tch lu
l tm thi.
- Nghn thanh ghi tch lu
- Kh dng trong x l song
song v ng dn
- Trao i nhiu vi b nh.

Kin trc my tnh

Chng II: Kin trc phn mm b x l

- Tc x l nhanh, - Lnh di
Thanh ghi
nh v n gin.
- S lng thanh ghi b gii
a dng
hn
(General Register) - t thm nhp b nh.
- Kiu rt tng qut
to cc m hu hiu
Bng II.3: im li v bt li ca 3 kiu kin trc phn mm

II.4 - KIU KIN TRC THANH GHI A DNG


Do hin nay kiu kin trc thanh ghi a dng chim v tr hng u nn trong cc
phn sau, ta ch cp n kiu kin trc ny.
i vi mt lnh tnh ton hoc logic in hnh (lnh ALU), c 2 im cn nu
ln.
Trc tin, mt lnh ALU phi c 2 hoc 3 ton hng. Nu trong lnh c 3 ton
hng th mt trong cc ton hng cha kt qu php tnh trn hai ton hng kia (V d:
add A, B, C). Nu trong lnh c 2 ton hng th mt trong hai ton hng phi va l
ton hng ngun, va l ton hng ch (V d: add A, B).
Th hai, s lng ton hng b nh c trong lnh. S ton hng b nh c th
thay i t 0 ti 3.
Trong nhiu cch t hp c th c cc loi ton hng ca mt lnh ALU, cc my
tnh hin nay chn mt trong 3 kiu sau : thanh ghi-thanh ghi (kiu ny cn c gi
np - lu tr), thanh ghi - b nh v b nh - b nh.
Kiu thanh ghi - thanh ghi c nhiu nh ch to my tnh lu vi cc l do:
vic to cc m my n gin, chiu di m my c nh v s chu k xung nhp cn
thit cho vic thc hin lnh l c nh, t thm nhp b nh. Tuy nhin, kiu kin trc
ny cng c mt vi hn ch ca n nh: s lng thanh ghi b gii hn, vic cc
thanh ghi c cng di dn n khng hiu qu trong cc lnh x l chui cng nh
cc lnh c cu trc. Vic lu v phc hi cc trng thi khi c cc li gi th tc hay
chuyn i ng cnh.

II.5 - TP LNH
Mc tiu ca phn ny l dng cc v d trch t cc kin trc phn mm c
dng nhiu nht, cho thy cc k thut mc ngn ng my dng thi hnh cc
cu trc trong cc ngn ng cp cao.
minh ho bng th d, ta dng c php lnh trong hp ng sau y :
T gi nh m lnh, thanh ghi ch, thanh ghi ngun 1, thanh ghi ngun 2.
T gi nh m lnh m t ngn gn tc v phi thi hnh trn cc thanh ghi ngun,
kt qu c lu gi trong thanh ghi ch.
Mi lnh ca ngn ng cp cao c xy dng bng mt lnh m my hoc mt
chui nhiu lnh m my. Lnh nhy (GOTO) c thc hin bng cc lnh hp ng v
nhy (JUMP) hoc lnh hp ng v vng. Chng ta phn bit lnh nhy lm cho b
m chng trnh c np vo a ch tuyt i ni phi nhy n (PC a ch
tuyt i ni phi nhy ti), vi lnh vng theo ta ch cn cng thm mt di vo
b m chng trnh (PC PC + di). Ta lu l trong trng hp sau, PC cha
a ch tng i so vi a ch ca lnh sau lnh vng.

27

Chng II: Kin trc phn mm b x l

Kin trc my tnh

II.5.1 - Gn tr
Vic gn tr, gm c gn tr cho biu thc s hc v logic, c thc hin nh
mt s lnh m my. Cho cc kin trc RISC, ta c th nu ln cc lnh sau :
- Lnh b nh
LOAD Ri, M (a ch) M[a ch] Ri
STORE Ri, M(a ch)
; Ri M[a ch]
a ch c tnh tu theo kiu nh v c dng.
- Lnh tnh ton s hc: tnh ton s nguyn trn ni dung ca hai thanh ghi
Ri, Rj v xp kt qu vo trong Rk:
ADD (cng)
ADDD (cng s c du chm ng, chnh xc kp)
SUB (tr)
SUBD (tr s c du chm ng, chnh xc kp)
MUL (nhn)
DIV (chia)
- Lnh logic: thc hin php tnh logic cho tng bit mt.
AND (lnh V)
OR (lnh HOC)
XOR (lnh HOC LOI)
NEG (lnh ly s b 1 )
1
Dch phi logic

0
Dch tri logic

Dch phi s hc

0
Dch tri s hc

Quay phi

Quay tri

Hnh II.7: Minh ho lnh dch chuyn v quay vng


28

Kin trc my tnh

Chng II: Kin trc phn mm b x l

- Cc lnh dch chuyn s hc hoc logic (SHIFT ), quay vng (ROTATE) c


hoc khng c s gi ng vo, sang phi hoc sang tri. Cc lnh ny c thc
hin trn mt thanh ghi v kt qu lu gi trong thanh ghi khc. S ln dch chuyn
(mi ln dch sang phi hoc sang tri mt bit) thng c xc nh trong thanh ghi
th ba. Hnh II.7 minh ho cho cc lnh ny
Cho cc kin trc kiu RISC, ta c :
SLL (shift left logical : dch tri logic)
SRL (shift right logical : dch phi logic)
SRA (shift right arithemtic : dch phi s hc)
II.5.2 - Lnh c iu kin
Lnh c iu kin c dng :
Nu <iu kin> th <chui lnh 1> nu khng <chui lnh 2>
(IF <condition> THEN <instructions1> ELSE <instructions2>)
Lnh ny buc phi ghi nh iu kin v nhy vng nu iu kin c tho.
a) Ghi nh iu kin .
B lm tnh ALU cung cp kt qu ng ra tu theo cc ng vo v php tnh
cn lm. N cng cho mt s thng tin khc v kt qu di dng cc bit trng thi. Cc
bit ny l nhng i lng logic NG hoc SAI (hnh II.8).
Trong cc bit trng thi ta c bit du S (Sign - ng nu kt qu m), bit
trc nghim zero Z (Zero - ng nu kt qu bng khng), bit trn OVF (Overflow)
NG nu php tnh s hc lm thanh ghi khng kh nng lu tr kt qu, bit s
gi C (carry) NG nu s gi ng ra l 1 .... Cc bit trn thng c gi l bit
m iu kin.
S gi
Ton hng ngun 1
ALU

Kt qu

Bit S
Bit Z
Bit OVF
Bit C

Ton hng ngun 2

Hnh II.8 : Bit trng thi m ALU to ra


C hai k thut c bn ghi nh cc bit trng thi
Cch th nht, ghi cc trng thi trong mt thanh ghi a dng.
V d lnh CMP Rk, Ri, Rj

29

Kin trc my tnh

Chng II: Kin trc phn mm b x l

Lnh trn s lm php tnh tr Ri - Rj m khng ghi kt qu php tr, m li ghi


cc bit trng thi vo thanh ghi Rk. Thanh ghi ny c dng cho mt lnh nhy c
iu kin. im li ca k thut ny l gip lu tr nhiu trng thi sau nhiu php
tnh dng v sau. im bt li l phi dng mt thanh ghi a dng ghi li trng
thi sau mi php tnh m s thanh ghi ny li b gii hn 32 trong cc b x l hin
i.
Cch th hai, l cc bit trng thi vo mt thanh ghi c bit gi l
thanh ghi trng thi. Vn lu gi ni dung thanh ghi ny c gii quyt
bng nhiu cch. Trong kin trc SPARC, ch c mt s gii hn lnh c
php thay i thanh ghi trng thi v d nh lnh ADDCC, SUBCC (cc lnh
ny thc hin cc php tnh cng ADD v php tnh tr SUB v cn lm thay
i thanh ghi trng thi). Trong kin trc PowerPC, thanh ghi trng thi c
phn thnh 8 trng, mi trng 4 bit, vy l thanh ghi phn thnh 8 thanh
ghi trng thi con.
b) Nhy vng
Cc lnh nhy hoc nhy vng c iu kin, ch thc hin lnh nhy khi
iu kin c tho. Trong trng hp ngc li, vic thc hin chng trnh c
tip tc vi lnh sau . Lnh nhy xem xt thanh ghi trng thi v ch nhy nu iu
kin nu ln trong lnh l ng.
Chng ta xem mt v d thc hin lnh nhy c iu kin.
Gi s trng thi sau khi b x l thi hnh mt tc v, c lu tr trong
thanh ghi, v b x l thi hnh cc lnh sau :
1. CMP R4, R1, R2 : So snh R1 v R2 bng cch tr R1 cho R2 v
lu gi trng thi trong R4
2. BGT R4, +2
: Nhy b 2 lnh nu R1 > R2
3. ADD R3, R0, R2 : R0 c gi tr 0. Chuyn ni dung ca R2 vo R3
4. BRA +1
: nhy b 1 lnh
5. ADD R3, R0, R1 : chuyn ni dung R1 vo R3
6. Lnh k
Nu R1 > R2 th chui lnh c thi hnh l 1, 2, 5, 6 c thi hnh,
nu khng th chui lnh 1, 2, 3, 4, 6 c thi hnh.
Chui cc lnh trn , trong c 2 lnh nhy, thc hin cng vic sau y :
Nu R1 > R2 th R3 = R1 nu khng R3 = R2
Cc lnh nhy lm tc thi hnh lnh chm li, trong cc CPU hin i dng
k thut ng dn. Trong mt vi b x l ngi ta dng lnh di chuyn c iu kin
trnh dng lnh nhy trong mt vi trng hp. Th d trn y c th c vit li
:
1. CMP R4, R1, R2 : So snh R1 v R2 v cc bit trng thi trong R4.
2. ADD R3, R0, R2 : Di chuyn R2 vo R3
3. MGT R4, R3, R1 : (MGT : Move if greater than). Nu R1 > R2 th
di chuyn R1 vo R3
II.5.3 - Vng lp
Cc lnh vng lp c th c thc hin nh lnh nhy c iu kin m ta
ni trn. Trong trng hp ny, ta qun l s ln lp li bng mt b m vng lp,

30

Kin trc my tnh

Chng II: Kin trc phn mm b x l

v ngi ta kim tra b m ny sau mi vng lp xem s vng cn thc hin


hay cha.
B x l PowerPC c mt lnh qun l vng lp
BNCT Ri, di
Vi thanh ghi Ri cha s ln lp li.
Lnh ny lm cc cng vic sau:
Ri := Ri -1
Nu Ri <> 0, PC := PC + di. Nu khng th tip tc thi hnh lnh k.
II.5.4 - Thm nhp b nh ngn xp
Ngn xp l mt t chc b nh sao cho ta ch c th c mt t nh ngn xp
hoc vit mt t vo nh ngn xp. a ch ca nh ngn xp c cha trong mt
thanh ghi c bit gi l con tr ngn xp SP (Stack Pointer).
ng vi cu trc ngn xp, ngi ta c lnh vit vo ngn xp PUSH v lnh
ly ra khi ngn xp POP. Cc lnh ny vn hnh nh sau:
- Cho lnh PUSH
SP := SP +1
M (SP) := Ri (Ri l thanh ghi cn vit vo ngn xp)
- Cho lnh POP
Ri := M(SP) (Ri l thanh ghi, nhn t ly ra khi ngn xp)
SP := SP -1
Trong cc b x l RISC, vic vit vo hoc lp ra khi ngn xp dng cc
lnh bnh thng. V d thanh ghi R30 l con tr ngn xp th vic vit vo ngn xp
c thc hin bng cc lnh:
ADDI R30, R30, 4 ; tng con tr ngn xp ln 4 v t di 32 bit
STORE Ri, (R30) ; Vit Ri vo nh ngn xp
Vic ly ra khi ngn xp c thc hin bng cc lnh :
LOAD Ri, (R30) ; ly s liu nh ngn xp v np vo Ri
SUBI R30, R30,4 ; gim con tr ngn xp bt 4
II.5.5 - Cc th tc
Cc th tc c gi t bt c ni no ca chng trnh nh lnh gi th
tc CALL. khi chm dt vic thi hnh th tc th chng trnh gi c tip
tc bnh thng, ta cn lu gi a ch tr v tc a ch ca lnh sau lnh gi
th tc CALL. Khi chm dt thi hnh th tc, lnh tr v RETURN np a ch
tr v vo PC.
Trong cc kin trc CISC (VAX 11, 80x86, 680x0), a ch tr v c
gi ngn xp. Trong cc kin trc RISC, mt thanh ghi c bit (thng l
thanh ghi R31) c dng lu gi a ch tr v.
Lnh gi th tc l mt lnh loi JMPL Ri, lnh ny lm cc tc v :
R31 := PC ; a ch tr v trong R31
PC := Ri
; nhy ti a ch ca th tc nm trong thanh ghi Ri
Lnh tr v khi chm dt th tc l JMP R31, v thanh ghi R31 cha a ch
tr v.

31

Chng II: Kin trc phn mm b x l

Kin trc my tnh

Vic dng mt thanh ghi c bit lu tr a ch tr v l mt gii php


ch p dng cho cc th tc cui cng, ngha l cho th tc khng gi th tc no c.
c th cho cc th tc c th gi mt th tc khc, ta c hai gii php:
Gii php 1: c nhiu thanh ghi lu tr a ch tr v
Gii php 2: lu gi a ch tr v ngn xp.
Vic gi th tc c th c thc hin bng chui lnh sau y :
ADDI R30, R30,4
; R30 l con tr ngn xp
STORE R31, (R30) ; lu gi a ch tr v
JMPL Ri
; gi th tc
Ngi ta dng chui lnh sau y tr v chng trnh gi :
LOAD R31, (R30)
; phc hi a ch tr v
SUBI R30, R30,4
; cp nht con tr ngn xp
JMP R31
; tr v chng trnh gi
a ch

B nh trong
Chng
trnh chnh

Th tc
Proc1

Th tc
Proc2

a) Gi th tc v tr v

a) Khi to
ngn xp

b) Sau li
gi th tc 1

c) Sau li
gi th tc 2

b) Din tin thi hnh

d) Tr v
sau li gi
th tc 2

e) Sau li
gi th tc 2
ln 2

f) Tr v
sau li gi
th tc 2

Hnh II.9: Gi th tc v tr v khi thc hin xong th tc


32

g) Tr v
sau li gi
th tc 1

Chng II: Kin trc phn mm b x l

Kin trc my tnh

Vic truyn tham s t th tc gi n th tc b gi c th thc hin bng


cch dng cc thanh ghi ca b x l hoc dng ngn xp. Nu s tham s cn truyn
t, ta dng cc thanh ghi.

II.6 - CC KIU NH V
Kiu nh v nh ngha cch thc thm nhp cc ton hng. Mt vi kiu xc
nh cch thm nhp ton hng b nh, ngha l cch tnh a ch ca ton hng, cc
kiu khc xc nh cc ton hng nm trong cc thanh ghi.
Ch rng, trong cc kiu nh v, ta cn lu khi chuyn i d liu nh phn
gia hai kiu nh a ch lin quan n nh, v mi t my tnh gm bn byte, mi
nh cha mt byte. Nh vy, mt t my tnh c lu trong bn nh lin tip
trong b nh trong, c nhiu cch xc mt t my tnh, trong , hai cch tiu biu
nht l:

a ch t l x cho c hai minh ho


Hnh II.3: Minh ho hai cch sp xp a ch trong b nh
-

nh v kiu Big-Endian: byte thp nht c t trong nh c a ch cao


nht (IBM, Motorolla, Sun, HP).
nh v kiu Little-Endian: byte thp nht c t trong nh c a ch thp
nht (Intel, DEC)
Kiu nh v

V d v lnh
Add R3, R4
Thanh ghi
Add R4, #3
Tc th
Add R1, (1001)
Trc tip
ADD R4, (R1)
Gin tip (thanh ghi)
Add R1, @ (R3)
Gin tip (b nh)
Add R4, 100(R1)
Gin tip (thanh ghi + di)
Gin tip (thanh ghi + thanh ghi) Add R3, (R1 + R2)
Gin tip ( t/g nn + t/g ch s + di ) Add R1, 100(R2)[R3]
Add R1, (R2)+
T tng
T gim
Bng II.4 :

Gii thch
R3 R3 + R4
R4 R4 + 3
R1 R1 + M [1001]
R4 R4 + M [R1]
R1 R1 + M[ M [R3]]
R4 R4 + M[R1 + 100]
R3 R3 + M[R1 + R2]
R1R1+M[100+R2+ d * R3]
R1 R1 + M[R2]
R2 R2 +d
Add R1, -(R2)
R2 R2 - d
R1 R1 + M[R2]
Kiu nh v ca mt b x l c kin trc phn mm kiu thanh
ghi a dng.

33

Chng II: Kin trc phn mm b x l

Kin trc my tnh

R1, R2, R3, R4 : cc thanh ghi


R4 R3 + R4 : Cng cc thanh ghi R3 v R4 ri kt qu v R4
M[R1] : R1 cha a ch b nh m ton hng c lu tr
M[1001] : ton hng c lu tr a ch 1001
d : s byte s liu cn thm nhp (d = 4 cho t my tnh, d = 8 cho t i my tnh ).
Trong kiu nh v thanh ghi, cc ton hng u c cha trong cc thanh ghi.
Trong kiu nh v tc th, ton hng c cha trong lnh.
Trong kiu nh v trc tip, a ch ca ton hng c cha trong lnh.
Trong kiu nh v gin tip (thanh ghi), a ch ton hng c cha trong thanh
ghi.
Trong kiu nh v gin tip (b nh), thanh ghi R3 cha a ch ca a ch ca
ton hng nh trong hnh II.4
B nh
R3
nh ny cha
(R3 ch ti a ch ny)
a ch ton hng

Ton hng
Hnh II.4: Minh ho kiu nh v gin tip (b nh)

II.7 - KIU CA TON HNG V CHIU DI CA TON HNG


Kiu ca ton hng thng c a vo trong m tc v ca lnh. C bn kiu
ton hng c dng trong cc h thng:
- Kiu a ch.
- Kiu dng s: s nguyn, du chm ng,...
- Kiu dng chui k t: ASCII, EBIDEC,...
- Kiu d liu logic: cc bit, c,...
Tuy nhin mt s t my tnh dng cc nhn xc nh kiu ton hng.
Thng thng loi ca ton hng xc nh lun chiu di ca n. Ton hng thng
c chiu di l byte (8 bit), na t my tnh (16 bit), t my tnh (32 bit), t i my tnh
(64 bit). c bit, kin trc PA ca hng HP (Hewlet Packard) c kh nng tnh ton vi
cc s thp phn BCD. Mt vi b x l c th x l cc chui k t.

II.8 - TC V M LNH THC HIN


Bng II.5 cho cc loi tc v m mt my tnh c th thc hin. Trn tt c my
tnh ta u thy 3 loi u tin (tnh ton s hc v lun l, di chuyn s liu, chuyn
iu khin). Tu theo kin trc ca mi my tnh, ngi ta c th thy 0 hoc vi loi
tc v trong s 5 tc v cn li (h thng, tnh ton vi s c du chm ng, tnh ton
vi s thp phn, tnh ton trn chui k t).
Loi tc v
Tnh ton s hc v lun l
Di chuyn s liu

Th d
Php tnh s nguyn v php tnh lun l: cng,
tr, AND, OR
Np s liu, lu gi s liu

34

Kin trc my tnh

Chng II: Kin trc phn mm b x l

Lnh nhy, lnh vng lp, gi chng trnh con v tr


v, ngt qung
Gi h iu hnh, qun l b nh o
H thng
Cc php tnh trn s c du chm ng: cng,
Tnh s c du chm ng
nhn
Cc php tnh trn s thp phn: cng, nhn, i t
Tnh s thp phn
thp phn sang k t
Tnh ton trn chui k t Chuyn, so snh, tm kim chui k t
Nn v gii nn d liu hnh nh ho (3D) v
d liu a phng tin (hnh nh ng v m
ho v a phng tin
thanh)
Bng II.5: Cc tc v m lnh c th thc hin
Chuyn iu khin

II.9 - KIN TRC RISC ( REDUCED INSTRUCTION SET COMPUTER)


Cc kin trc vi tp lnh phc tp CISC (Complex Instruction Set Computer)
c ngh ra t nhng nm 1960. Vo thi k ny, ngi ta nhn thy cc chng
trnh dch kh dng cc thanh ghi, rng cc vi lnh c thc hin nhanh hn cc lnh
v cn thit phi lm gim di cc chng trnh. Cc c tnh ny khin ngi ta
u tin chn cc kiu nh - nh v nh - thanh ghi, vi nhng lnh phc tp v
dng nhiu kiu nh v. iu ny dn ti vic cc lnh c chiu di thay i v nh
th th dng b iu khin vi chng trnh l hiu qu nht.
Bng II.6 cho cc c tnh ca vi my CISC tiu biu. Ta nhn thy c ba my
u c im chung l c nhiu lnh, cc lnh c chiu di thay i. Nhiu cch thc
hin lnh v nhiu vi chng trnh c dng.
Tin b trong lnh vc mch kt (IC) v k thut dch chng trnh lm cho cc
nhn nh trc y phi c xem xt li, nht l khi c mt kho st nh lng
v vic dng tp lnh cc my CISC.
B x l
IBM 370/168
DEC 11/780
iAPX 432
Nm sn xut
1973
1978
1982
S lnh
208
303
222
B nh vi chng trnh
420 KB
480 KB
64 KB
16 - 48
16 - 456
6 - 321
Chiu di lnh (tnh
bng bit)
K thut ch to
ECL - MSI
TTl - MSI
NMOS VLSI
Cch thc hin lnh
Thanh ghi- thanh ghi Thanh ghi - thanh ghi
Ngn xp
Thanh ghi - b nh
Thanh ghi - b nh
B nh- b nh
B nh - b nh
B nh - b nh
Dung lng cache
64 KB
64 KB
0
Bng II.6: c tnh ca mt vi my CISC
V d, chng trnh dch bit s dng cc thanh ghi v khng c s khc bit
ng k no khi s dng nh cho cc vi chng trnh hay nh cho cc chng
trnh. iu ny dn ti vic a vo khi nim v mt my tnh vi tp lnh rt gn
RISC vo u nhng nm 1980. Cc my RISC da ch yu trn mt tp lnh cho
php thc hin k thut ng dn mt cch thch hp nht bng cch thit k cc lnh
35

Kin trc my tnh

Chng II: Kin trc phn mm b x l

c chiu di c nh, c dng n gin, d gii m. My RISC dng kiu thc hin
lnh thanh ghi - thanh ghi. Ch c cc lnh ghi hoc c nh mi cho php thm
nhp vo nh. Bng II.7 din t ba mu my RISC u tin: mu my ca IBM
(IBM 801) ca Berkeley (RISC1 ca Patterson) v ca Stanford (MIPS ca
Hennessy). Ta nhn thy c ba my u c b iu khin bng mch in (khng
c nh vi chng trnh), c chiu di cc lnh c nh (32 bits), c mt kiu thi
hnh lnh (kiu thanh ghi - thanh ghi) v ch c mt s t lnh.
B x l
IBM 801
RISC1
MIPS
1980
1982
1983
Nm sn xut
120
39
55
S lnh
0
0
0
Dung lng b nh
vi chng trnh
32
32
32
di lnh (tnh
bng bit)
ECL MSI
NMOS VLSI
NMOS VLSI
K thut ch to
Thanh ghi-thanh ghi Thanh ghi-thanh ghi Thanh ghi-thanh ghi
Cch thc hin lnh
Bng II.7 : c tnh ca ba mu u tin my RISC
Tm li, ta c th nh ngha mch x l RISC bi cc tnh cht sau:
- C mt s t lnh (thng thng di 100 lnh ).
- C mt s t cc kiu nh v (thng thng hai kiu: nh v tc th v nh
v gin tip thng qua mt thanh ghi).
- C mt s t dng lnh (mt hoc hai)
- Cc lnh u c cng chiu di.
- Ch c cc lnh ghi hoc c nh mi thm nhp vo b nh.
- Dng b to tn hiu iu khin bng mch in trnh chu k gii m cc
vi lnh lm cho thi gian thc hin lnh ko di.
- B x l RISC c nhiu thanh ghi gim bt vic thm nhp vo b nh
trong.
Ngoi ra cc b x l RISC u tin thc hin tt c cc lnh trong mt chu k
my.
B x l RISC c cc li im sau :
- Din tch ca b x l dng cho b iu khin gim t 60% (cho cc b x l
CISC) xung cn 10% (cho cc b x l RISC). Nh vy c th tch hp thm vo bn
trong b x l cc thanh ghi, cc cng vo ra v b nh cache .....
- Tc tnh ton cao nh vo vic gii m lnh n gin, nh c nhiu thanh
ghi (t thm nhp b nh), v nh thc hin k thut ng dn lin tc v c hiu qu
(cc lnh u c thi gian thc hin ging nhau v c cng dng).
- Thi gian cn thit thit k b iu khin l t. iu ny gp phn lm
gim chi ph thit k.
- B iu khin tr nn n gin v gn lm cho t ri ro mc phi sai st m
ta gp thng trong b iu khin.
Trc nhng iu li khng chi ci c, kin trc RISC c mt s bt li:

36

Kin trc my tnh

Chng II: Kin trc phn mm b x l

Cc chng trnh di ra so vi chng trnh vit cho b x l CISC. iu


ny do cc nguyn nhn sau :
+ Cm thm nhp b nh i vi tt c cc lnh ngoi tr cc lnh c v ghi vo
b nh. Do ta buc phi dng nhiu lnh lm mt cng vic nht nh.
+ Cn thit phi tnh cc a ch hiu dng v khng c nhiu cch nh v.
+ Tp lnh c t lnh nn cc lnh khng c sn phi c thay th bng mt
chui lnh ca b x l RISC.
Cc chng trnh dch gp nhiu kh khn v c t lnh lm cho c t la
chn din dch cc cu trc ca chng trnh gc. S cng nhc ca k thut ng
dn cng gy kh khn.
C t lnh tr gip cho ngn ng cp cao.
Cc b x l CISC tr gip mnh hn cc ngn ng cao cp nh c tp lnh
phc tp. Hng Honeywell ch to mt my c mt lnh cho mi ng t ca ngn
ng COBOL.
Cc tin b gn y cho php xp t trong mt vi mch, mt b x l RISC nn
v nhiu ton t chuyn dng.
Th d, b x l 860 ca Intel bao gm mt b x l RISC, b lm tnh vi cc
s l v mt b to tn hiu ho.

II.10 - KIU NH V TRONG CC B X L RISC


Trong b x l RISC, cc lnh s hc v logic ch c thc hin theo kiu
thanh ghi v tc th, cn nhng lnh c v ghi vo b nh l nhng lnh c ton
hng b nh th c thc hin vi nhng kiu nh v khc.
II.10.1 - Kiu nh v thanh ghi
y l kiu nh v thng dng cho cc b x l RISC, cc ton hng ngun
v kt qu u nm trong thanh ghi m s th t c nu ra trong lnh. Hnh II.5 cho
vi v d v kiu thanh ghi v dng cc lnh tng ng trong mt vi kin trc RISC.
Dch chuyn

Hm
5
6
SPARC
Khong trng Ngun 2
khc
5
8
Power
Op code
ch
Ngun 1
Ngun 2 Op code m rng 0
PC
6
5
5
5
10
1
ALPHA
Op code
Ngun 1
Ngun 2
0
Op code m
ch
6
5
5
3
1
rng
5
7
Hnh II.5 : Dng lnh trong kiu nh v thanh ghi - thanh ghi cho vi CPU RISC
MIPS

Op code
Ngun 1
Ngun 2
ch
6
5
5
5
Op code ch Op code Ngun 1 0
2
5
6
5
1

II.10.2 - Kiu nh v tc th
Trong kiu ny, ton hng l mt s c du, c cha ngay trong lnh. Hnh
II.6 cho ta vi v d v dng lnh kiu tc th.
37

Chng II: Kin trc phn mm b x l

Kin trc my tnh

MIPS
SPARC
ALPHA

Power
PC

Op code

Thanh ghi
ngun

Thanh ghi
ch

S c du ( ton hng tc th )
16

Thanh ghi Op code


Thanh ghi
1 Ton hng tc th c du
Op
ch
ngun
code
5
5
6
1
2
13
Thanh
ghi
Thanh ghi
Ton
Op code
1
Op code
ngun
ch
hng tc
m rng
5
5
th > 0
6
1
7
8
Thanh ghi
Thanh ghi
Ton hng tc th c du
Op code
ch

ngun

6
16
5
5
Hnh II.6 : Dng lnh trong kiu nh v thanh ghi - tc th cho vi CPU RISC

II.10.3 - Kiu nh v trc tip


Trong kiu ny a ch ton hng nm ngay trong lnh (hnh II.6). V d, kiu
nh v trc tip c dng cho cc bin ca h iu hnh, ngi s dng khng c
quyn thm nhp cc bin ny.
MIPS

Op code

Thanh ghi Thanh ghi


di c du
a ch
s liu
6
5
5
16
SPARC
Op
Thanh
Op code Thanh ghi 1
di c du
code
ghi
a ch
1
13
2
s liu
6
5
5
ALPHA
Op code Thanh ghi Thanh ghi
di c du
s liu
a ch
6
5
5
16
Power
Op code Thanh ghi Thanh ghi
di c du
PC
s liu
a ch
6
5
5
16
Hnh II.7 : Dng lnh thm nhp b nh trong ca vi kin trc RISC
II.10.4 - Kiu nh v gin tip bng thanh ghi + di
y l kiu c th cho cc kin trc RISC. a ch ton hng c tnh nh
sau :
a ch ton hng = Thanh ghi (a ch ) + di. Ta rng kiu nh v
trc tip ch l mt trng hp c bit ca kiu ny khi thanh ghi (a ch) = 0. Trong
cc b x l RISC, mt thanh ghi (R0 hoc R31) c mc vo in th thp (tc l 0)
v ta c nh v trc tip khi dng thanh ghi nh l thanh ghi a ch.
II.10.5 - Kiu nh v t tng
Mt vi b x l RISC, v d b x l PowerPC, dng kiu nh v ny.
38

Chng II: Kin trc phn mm b x l

Kin trc my tnh

II.11 - NGN NG CP CAO V NGN NG MY


Trong chi ph cho mt h thng tin hc, bao gm gi tin ca my tnh, gi tin
cc phn mm h thng v cc phn mm ng dng, th chi ph cho trin khai phn
mm lun ln hn chi ph mua phn cng. V th cc nh tin hc trin khai t lu
cc ngn ng gi l ngn ng cp cao. Ngn ng cp cao dng cc lnh c cu trc gn
vi ngn ng thng thng hn ngn ng my. Cc ngn ng cp cao ni ting l:
FORTRAN cho tnh ton khoa hc, COBOL cho qun l, LISP v PROLOG dng
trong tr tu nhn to, PASCAL, C, ADA ... im chnh ca cc ngn ng ny l s c
ng v s c lp i vi mi b x l. S c lp i vi mi my tnh c ngha l c
th c thi hnh trn mi kin trc phn mm ca b x l, vi iu kin l phi c
chng trnh dch dch chng trnh vit bng ngn ng cp cao thnh chng trnh
m my ca my tnh ang s dng.
y, chng ta khng quan tm n cc c tnh ca ngn ng cp cao m ch
quan tm n quan h ca n i vi ngn ng my. Thy vy, mun cho mt chng
trnh ngn ng my c thc hin mt cch hu hiu th chng trnh dch phi dch
hu hiu cc lnh ca ngn ng cp cao thnh lnh m my. Mun th th kin trc
phn mm ca b x l rt quan trng i vi chng trnh dch.
Qu trnh chuyn i t ngn ng cp cao sang ngn ng my: mt b bin dch
(Compiler) chuyn i ngn ng cp cao (c lp vi kin trc phn mm) sang dng
hp ng (ph thuc kin trc phn mm). Mt chng trnh dch hp ng (Assembler)
chuyn i mt chng trnh vit bng hp ng (Assembly Language) sang ngn ng
my my tnh c th thc hin c chng trnh .

temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;

Chng trnh bng


ngn ng cp cao
Trnh bin dch
(Compiler)

lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)

Chng trnh bng hp


ng
B dch hp ng
(Assembler)
Chng trnh bng
ngn ng my

0000
1010
1100
0101

1001
1111
0110
1000

1100
0101
1010
0000

0110
1000
1111
1001

1010
0000
0101
1100

1111
1001
1000
0110

0101
1100
0000
1010

1000
0110
1001
1111

Hnh II.10: M t qu trnh chuyn i t ngn ng cp cao sang ngn ng my


Trc y, k thut ch to cc b x l cn km, vic quyt nh mt kin
trc phn mm no cho mt b x l nhm gip ch cho lp trnh bng hp ng.
Ngi ta c gng tch kin trc phn mm ca b x l ra khi vic thc hin cc
chng trnh dch hu hiu. Nhng dn dn, vi s tin b trong cng ngh ch to
my tnh, ngi ta bt u ngh ti thit k cc kin trc phn mm lm gim nh cc
cng vic ca chng trnh dch ca nhng ngn ng cp cao. Trong nhng nm
39

Kin trc my tnh

Chng II: Kin trc phn mm b x l

1970, ngi ta c gng gim bt chi ph pht trin phn mm bng cch thit k
cc kin trc b x l c nhng chc nng m nhng b x l trc phi dng mt
phn mm thc hin. Do vy cc kin trc phn mm mnh nh kin trc phn
mm ca my VAX, c thc hin. My VAX c nhiu kiu nh v v mt tp
lnh phong ph c th s dng nhiu kiu d liu. Tuy nhin, vo u nhng nm
1980, vi s tin b ca cng ngh vit cc chng trnh dch, ngi ta xem xt li
cc kin trc phn mm phc tp v c chuyn hng ch to cc kin trc phn mm
n gin v hu hiu. Chnh v vy m cc my tnh dng b x l kiu RISC
(Reduced Instruction Set Computer) ra i. Vi nhng tin b khng ngng ca
cng ngh ch to my tnh, ca cng ngh vit chng trnh dch v ca cng ngh
lp trnh, ngi ta ang tin ti ch to cc kin trc phn mm hp dn hn trong
tng lai.
*****

40

Kin trc my tnh

Chng II: Kin trc phn mm b x l

CU HI N TP V BI TP CHNG II

*****
1. Cc thnh phn ca mt h my tnh n gin
2. Nhim v ca mi bus trong h thng bus ca mt h my tnh n gin? Ti
sao trong thc t cn c mt h thng bus vo ra?
3. M t cc kiu thi hnh lnh ca mt my tnh. Ti sao kiu thi hnh lnh
thanh ghi thanh ghi c dng nhiu hin ti?
4. M t mi kiu nh v trong cc kiu nh v m mt CPU c th c. Cho
CPU RISC, cc kiu nh v no thng c dng nht?
5. S khc bit gia CPU RISC v CPU CISC?
6. Trong CPU Power PC, gi s m tc v ca lnh ADD l 011010. Vit lnh
m my tng ng vi ADD R1, R19, #-15673

41

Chng III: T chc b x l

Kin trc my tnh

Chng III: T CHC B X L


Mc ch: Gii thiu cu trc ca b x l trung tm: t chc, chc nng v
nguyn l hot ng ca cc b phn bn trong b x l: ng i ca d liu, b iu
khin to ra s vn chuyn tn hiu bn trong b x l nhm thc hin tp lnh tng
ng vi kin trc phn mm ra. M t din tin thi hnh mt lnh m my, y l
c s hiu c cc hot ng x l lnh trong cc k thut ng dn, siu ng dn,
siu v hng,...Mt s k thut x l thng tin: ng dn, siu ng dn, siu v hng,
my tnh c lnh tht di, my tnh vc-t, x l song song v kin trc IA-64
Yu cu: Sinh vin phi nm vng cu trc ca b x l trung tm v din tin
thi hnh mt lnh m my, v y l c s hiu c cc hot ng x l lnh trong
cc k thut x l thng tin trong my tnh.
B x l c chia ch yu thnh hai b phn: Phn iu khin v phn
ng i ca d liu (data path) nh c v trong hnh III.1.

III.1. NG I CA D LIU
Phn ng i d liu gm c b phn lm tnh v lun l (ALU: Arithmetic
and Logic Unit), cc mch dch, cc thanh ghi v cc ng ni kt cc b phn trn.
Phn ny cha hu ht cc trng thi ca b x l. Ngoi cc thanh ghi tng qut,
phn ng i d liu cn cha thanh ghi m chng trnh (PC: Program Counter),
thanh ghi trng thi (SR: Status Register), thanh ghi m TEMP (Temporary), cc
thanh ghi a ch b nh (MAR: Memory Address Register), thanh ghi s liu b nh
(MBR: Memory Buffer Register), b a hp (MUX: Multiplexor), y l im cui
ca cc knh d liu - CPU v b nh, vi nhim v lp thi biu truy cp b nh t
CPU v cc knh d liu, h thng bus ngun (S1, S2) v bus kt qu (Dest).
Nhim v chnh ca phn ng i d liu l c cc ton hng t cc thanh
ghi tng qut, thc hin cc php tnh trn ton hng ny trong b lm tnh v lun l
ALU v lu tr kt qu trong cc thanh ghi tng qut. ng vo v ng ra cc thanh
ghi tng qut c cc mch cht A, B, C. Thng thng, s lng cc thanh ghi tng
qut l 32.
Phn ng i ca d liu chim phn na din tch ca b x l nhng l
phn d thit k v ci t trong b x l.

42

Chng III: T chc b x l

Kin trc my tnh

B X L
BUS S1

S2

BUS DEST

Ng vo

ALU
B

Ng ra

Ng vo

Dy cc
thanh ghi

K
H
I

TEMP
PC
SR
MAR
MBR

IR

Ng vo d liu
B NH TRONG
a ch
Ng ra d liu

Hnh III.1: T chc ca mt x l in hnh


(Cc ng khng lin tc l cc ng iu khin)
43

MUX

Chng III: T chc b x l

Kin trc my tnh

III.2. B IU KHIN
B iu khin to cc tn hiu iu khin di chuyn s liu (tn hiu di chuyn
s liu t cc thanh ghi n bus hoc tn hiu vit vo cc thanh ghi), iu khin cc
tc v m cc b phn chc nng phi lm (iu khin ALU, iu khin c v vit
vo b nh trong...). B iu khin cng to cc tn hiu gip cc lnh c thc hin
mt cch tun t.
Vic ci t b iu khin c th dng mt trong hai cch sau: dng mch
in t hoc dng vi chng trnh (microprogram).
III.2.1. B iu khin mch in t
hiu c vn hnh ca b iu khin mch in t, chng ta xt n m
t v Automate trng thi hu hn: c nhiu h thng hay nhiu thnh phn m mi
thi im xem xt u c mt trng thi (state). Mc ch ca trng thi l ghi nh
nhng g c lin quan trong qu trnh hot ng ca h thng. V ch c mt s trng
thi nht nh nn ni chung khng th ghi nh ht ton b lch s ca h thng, do
vy n phi c thit k cn thn ghi nh nhng g quan trng. u im ca h
thng (ch c mt s hu hn cc trng thi) l c th ci t h thng vi mt
lng ti nguyn c nh. Chng hn, chng ta c th ci t Automate trng thi hu
hn trong phn cng my tnh dng mch in hay mt dng chng trnh n gin,
trong , n c kh nng quyt nh khi ch bit mt lng gii hn d liu hoc bng
cch dng v tr trong on m lnh a ra quyt nh.
Dy iu khin

B iu khin dng mch in

Automate
trng thi hu hn

Ng ra

ng i
d liu

Trng
Thi
tng
lai

Trng thi
Ng vo

Xung
nhp

IR

Hnh III.2: Nguyn tc vn hnh ca b iu khin dng mch in


Hnh III.2 cho thy nguyn tc ca mt b iu khin bng mch in. Cc
ng iu khin ca phn ng i s liu l cc ng ra ca mt hoc nhiu
Automate trng thi hu hn. Cc ng vo ca Automate gm c thanh ghi lnh, thanh
ghi ny cha lnh phi thi hnh v nhng thng tin t b ng i s liu. ng vi

44

Chng III: T chc b x l

Kin trc my tnh

cu hnh cc ng vo v trng thi hin ti, Automate s cho trng thi tng lai v
cc ng ra tng ng vi trng thi hin ti. Automate c ci t di dng l
mt hay nhiu mch mng logic lp trnh c (PLA: Programmable Logic Array)
hoc cc mch logic ngu nhin.
K thut iu khin ny n gin v hu hiu khi cc lnh c chiu di c
nh, c dng thc n gin. N c dng nhiu trong cc b x l RISC.
III.2.2. B iu khin vi chng trnh:
Dy diu khin
B iu khin vi chng trnh
B nh vi chng
trnh

Ng ra

xung nhp
PC ca vi CT
+1

ng i
d liu

phn
vi
a
ch
tip
theo

Xc nh a ch
ca vi lnh tip
theo

IR

Hnh III.3: Nguyn tc vn hnh ca b iu khin vi chng trnh


S nguyn tc ca b iu khin dng vi chng trnh c trnh by
hnh III.3. Trong k thut ny, cc ng dy iu khin ca b ng i d liu ng
vi cc ng ra ca mt vi lnh nm trong b nh vi chng trnh. Vic iu khin cc
tc v ca mt lnh m my c thc hin bng mt chui cc vi lnh. Mt vi my
tnh nm bn trong b iu khin thc hin tng lnh ca vi chng trnh ny. Chnh
vi my tnh ny iu khin vic thc hin mt cch tun t cc vi lnh hon thnh
tc v m lnh m my phi thc hin. Cc tc v ca lnh m my cng tu thuc
vo trng thi ca phn ng i d liu.
B iu khin bng vi chng trnh c dng rng ri trong cc b x l
CISC. B x l ny c tp lnh phc tp vi cc lnh c chiu di khc nhau v c
dng thc phc tp. Trong cc b x l CISC, ngi ta ci t mt lnh m my bng
cch vit mt vi chng trnh. Nh vy cng vic kh n gin v rt hu hiu. Cc
sai st trong thit k automat iu khin cng d sa i.

45

Chng III: T chc b x l

Kin trc my tnh

III.3. DIN TIN THI HNH LNH M MY


Vic thi hnh mt lnh m my c th chia thnh 5 giai on:

c lnh (IF: Instruction Fetch)

Gii m lnh (ID: Instruction Decode)

Thi hnh lnh (EX: Execute)

Thm nhp b nh trong hoc nhy (MEM: Memory access)

Lu tr kt qu (RS: Result Storing).

Mi giai on c thi hnh trong mt hoc nhiu chu k xung nhp.


1. c lnh:
MAR PC
IR M[MAR]
B m chng trnh PC c a vo MAR . Lnh c c t b nh
trong, ti cc nh c a ch nm trong MAR v c a vo thanh ghi lnh IR.
2. Gii m lnh v c cc thanh ghi ngun:
A Rs1
B Rs2
PC PC + 4
Lnh c gii m. K cc thanh ghi Rs1 v Rs2 c a vo A v B.
Thanh ghi PC c tng ln ch ti lnh k .
hiu r giai on ny, ta ly dng thc ca mt lnh lm tnh tiu biu sau
y:
M lnh
bit

Thanh ghi Rs1

Thanh ghi Rs2


5

Thanh ghi Rd
5

Tc v
11

Cc thanh ghi ngun Rs1 v Rs2 c s dng tu theo tc v, kt qu c


t trong thanh ghi ch Rd.
Ta thy vic gii m c thc hin cng lc vi vic c cc thanh ghi Rs1
v Rs2 v cc thanh ghi ny lun nm ti cng v tr trong lnh.
3. Thi hnh lnh:
Tu theo loi lnh m mt trong ba nhim v sau y c thc hin:
- Lin h ti b nh
MAR a ch do ALU tnh tu theo kiu nh v (Rs2).
MBR Rs1
a ch hiu dng do ALU tnh c a vo MAR v thanh ghi ngun Rs1
c a vo MBR c lu vo b nh trong.

46

Chng III: T chc b x l

Kin trc my tnh

- Mt lnh ca ALU
Ng ra ALU Kt qu ca php tnh
ALU thc hin php tnh xc nh trong m lnh, a kt qu ra ng ra.
- Mt php nhy
Ng ra ALU a ch lnh tip theo do ALU tnh.
ALU cng a ch ca PC vi di lm thnh a ch ch v a a ch
ny ra ng ra. Nu l mt php nhy c iu kin th thanh ghi trng thi c c
quyt nh c cng di vo PC hay khng.
4. Thm nhp b nh trong hoc nhy ln cui
Giai on ny thng ch c dng cho cc lnh np d liu, lu gi d liu
v lnh nhy.
- Tham kho n b nh:
MBR M[MAR] hoc M[MAR] MBR
S liu c np vo MBR hoc lu vo a ch m MAR tr n.
- Nhy:
If (iu kin), PC ng ra ALU
Nu iu kin ng, ng ra ALU c np vo PC. i vi lnh nhy khng
iu kin, ng ra ALU lun c np vo thanh ghi PC.
5. Lu tr kt qu
Rd Ng ra ALU hoc Rd MBR
Lu tr kt qu trong thanh ghi ch.

III.4. NGT QUNG (INTERRUPT)


Ngt qung l mt s kin xy ra mt cch ngu nhin trong my tnh v lm
ngng tnh tun t ca chng trnh (ngha l to ra mt lnh nhy). Phn ln cc nh sn
xut my tnh (v d nh IBM, INTEL) dng t ngt qung m ch s kin ny, tuy
nhin mt s nh sn xut khc dng t ngoi l, li, by ch nh hin tng
ny.
B iu khin ca CPU l b phn kh thc hin nht v ngt qung l phn kh
thc hin nht trong b iu khin. nhn bit c mt ngt qung lc ang thi hnh
mt lnh, ta phi bit iu chnh chu k xung nhp v iu ny c th nh hng n hiu
qu ca my tnh.
Ngi ta ngh ra ngt qung l nhn bit cc sai st trong tnh ton s
hc, v ng dng cho nhng hin tng thi gian thc. By gi, ngt qung c
dng cho cc cng vic sau y:

Ngoi vi i hi nhp hoc xut s liu.

Ngi lp trnh mun dng dch v ca h iu hnh.

47

Chng III: T chc b x l

Kin trc my tnh

Cho mt chng trnh chy tng lnh.

Lm im dng ca mt chng trnh.

Bo trn s liu trong tnh ton s hc.

Trang b nh thc s khng c trong b nh.

Bo vi phm vng cm ca b nh.

Bo dng mt lnh khng c trong tp lnh.

Bo phn cng my tnh b h.

Bo in b ct.

D rng ngt qung khng xy ra thng xuyn nhng b x l phi c thit


k sao cho c th lu gi trng thi ca n trc khi nhy i phc v ngt qung. Sau khi
thc hin xong chng trnh phc v ngt, b x l phi khi phc trng thi ca n
c th tip tc cng vic.
n gin vic thit k, mt vi b x l ch chp nhn ngt sau khi thc hin
xong lnh ang chy. Khi mt ngt xy ra, b x l thi hnh cc bc sau y:
1. Thc hin xong lnh ang lm.
2. Lu tr trng thi hin ti.
3. Nhy n chng trnh phc v ngt
4. Khi chng trnh phc v chm dt, b x l khi phc li trng thi c ca
n v tip tc thc hin chng trnh m n ang thc hin khi b ngt.

III.5. K THUT NG DN (PIPELINE)


y l mt k thut lm cho cc giai on khc nhau ca nhiu lnh c thi
hnh cng mt lc.
V d: Chng ta c nhng lnh u n, mi lnh c thc hin trong cng mt
khon thi gian. Gi s, mi lnh c thc hin trong 5 giai on v mi giai on c
thc hin trong 1 chu k xung nhp. Cc giai on thc hin mt lnh l: ly lnh (IF:
Instruction Fetch), gii m (ID: Instruction Decode), thi hnh (EX: Execute), thm nhp
b nh (MEM: Memory Access), lu tr kt qu (RS: Result Storing).
Hnh III.4 cho thy ch trong mt chu k xung nhp, b x l c th thc hin
mt lnh (bnh thng lnh ny c thc hin trong 5 chu k).
Chui lnh
1
Lnh th i
Lnh th i+1
Lnh th i+2
Lnh th i+3

2
IF

Chu k xung nhp


4
5
6
MEM
RS

ID

3
EX

IF

ID

EX

MEM

RS

IF

ID

EX

MEM

IF

ID

EX

IF

ID

Lnh th i+4

RS
MEM RS
EX MEM RS

Hnh III.4: Cc giai on khc nhau ca nhiu lnh c thi hnh cng mt lc

48

Chng III: T chc b x l

Kin trc my tnh

So snh vi kiu x l tun t thng thng, 5 lnh c thc hin trong 25 chu
k xung nhp, th x l lnh theo k thut ng dn thc hin 5 lnh ch trong 9 chu k
xung nhp.
Nh vy k thut ng dn lm tng tc thc hin cc lnh. Tuy nhin k thut
ng dn c mt s rng buc:
- Cn phi c mt mch in thi hnh mi giai on ca lnh v tt c cc
giai on ca lnh c thi hnh cng lc. Trong mt b x l khng dng k thut ng
dn, ta c th dng b lm ton ALU cp nht thanh ghi PC, cp nht a ch ca ton
hng b nh, a ch nh m chng trnh cn nhy ti, lm cc php tnh trn cc ton
hng v cc php tnh ny c th xy ra nhiu giai on khc nhau.
- Phi c nhiu thanh ghi khc nhau dng cho cc tc v c v vit. Trn hnh
III.4, ti mt chu k xung nhp, ta thy cng mt lc c 2 tc v c (ID, MEM) v 1 tc
v vit (RS).
- Trong mt my c k thut ng dn, c khi kt qu ca mt tc v trc ,
l ton hng ngun ca mt tc v khc. Nh vy s c thm nhng kh khn m ta s
cp mc ti.
- Cn phi gii m cc lnh mt cch n gin c th gii m v c cc
ton hng trong mt chu k duy nht ca xung nhp.
- Cn phi c cc b lm tnh ALU hu hiu c th thi hnh lnh s hc di
nht, c s gi, trong mt khong thi gian t hn mt chu k ca xung nhp.
- Cn phi c nhiu thanh ghi lnh lu gi lnh m chng ta phi xem xt
cho mi giai on thi hnh lnh.
- Cui cng phi c nhiu thanh ghi b m chng trnh PC c th ti tc
cc lnh trong trng hp c ngt qung.

III.6. KH KHN TRONG K THUT NG DN


Khi thi hnh lnh trong mt my tnh dng k thut ng dn, c nhiu trng
hp lm cho vic thc hin k thut ng dn khng thc hin c nh l: thiu cc
mch chc nng, mt lnh dng kt qu ca lnh trc, mt lnh nhy.
Ta c th phn bit 3 loi kh khn: kh khn do cu trc, kh khn do s liu
v kh khn do iu khin.

a. Kh khn do cu trc:
y l kh khn do thiu b phn chc nng, v d trong mt my tnh dng k
thut ng dn phi c nhiu ALU, nhiu PC, nhiu thanh ghi lnh IR ... Cc kh khn ny
c gii quyt bng cch thm cc b phn chc nng cn thit v hu hiu.
b. Kh khn do s liu:
Ly v d trng hp cc lnh lin tip sau:
Lnh 1: ADD R1, R2, R3
Lnh 2: SUB R4, R1, R5
Lnh 3: AND R6, R1, R7
R8, R1, R9
Lnh 4: OR

49

Chng III: T chc b x l

Kin trc my tnh

Hnh III.5 cho thy R1, kt qu ca lnh 1 ch c th c dng cho lnh 2 sau
giai on MEM ca lnh 1, nhng R1 c dng cho lnh 2 vo giai on EX ca lnh 1.
Chng ta cng thy R1 c dng cho cc lnh 3 v 4.

1- ADD R1, R2, R3

IF

2- SUB R4, R1, R5


3- AND R6, R1, R4
4- OR

ID

EX

MEM RS

IF

ID

EX

IF

ID

EX

IF

ID

R8, R1, R9

MEM RS
MEM RS
EX MEM RS

Hnh III.5: Chui lnh minh ho kh khn do s liu.


khc phc kh khn ny, mt b phn phn cng c dng a kt qu
t ng ra ALU trc tip v mt trong cc thanh ghi ng vo nh trong hnh III.6.

CC THANH GHI

a hp

a hp

ALU

Thanh ghi
m cha kt
qu

R4
R1
Hnh III.6: ALU vi b phn phn cng a kt qu tnh ton tr li ng vo
Khi b phn phn cng nu trn pht hin c dng kt qu ca ALU lm ton
hng cho lit k, n tc ng vo mch a hp a ng ra ca ALU vo ng vo ca
ALU hoc vo ng vo ca mt n v chc nng khc nu cn.
c. Kh khn do iu khin:
Cc lnh lm thay i tnh thi hnh cc lnh mt cch tun t (ngha l PC tng
u n sau mi lnh), gy kh khn v iu khin. Cc lnh ny l lnh nhy n mt
a ch tuyt i cha trong mt thanh ghi, hay lnh nhy n mt a ch xc nh mt
cch tng i so vi a ch hin ti ca b m chng trnh PC. Cc lnh nhy trn c
th c hoc khng iu kin.
Trong trng hp n gin nht, tc v nhy khng th bit trc giai on gii
m (xem hnh III.4). Nh vy, nu lnh nhy bt u chu k C th lnh m chng trnh

50

Chng III: T chc b x l

Kin trc my tnh

nhy ti ch c bt u chu k C+2. Ngoi ra, phi bit a ch cn nhy n m ta c


cui giai on gii m ID. Trong lnh nhy tng i, ta phi cng di cha trong
thanh ghi lnh IR vo thanh ghi PC. Vic tnh a ch ny ch c thc hin vo giai
on ID vi iu kin phi c mt mch cng vic ring bit.
Vy trong trng hp lnh nhy khng iu kin, lnh m chng trnh nhy n bt
u thc hin chu k C+2 nu lnh nhy bt u chu k C.
Cho cc lnh nhy c iu kin th phi tnh ton iu kin. Thng thng cc
kin trc RISC t kt qu vic so snh vo trong thanh ghi trng thi, hoc vo trong
thanh ghi tng qut. Trong c 2 trng hp, c iu kin tng ng vi c thanh
ghi. c thanh ghi c th c thc hin trong phn na chu k cui giai on ID.
Mt trng hp kh hn c th xy ra trong nhng lnh nhy c iu kin. l
iu kin c c khi so snh 2 thanh ghi v ch thc hin lnh nhy khi kt qu so snh l
ng. Vic tnh ton trn cc i lng logic khng th thc hin c trong phn na chu
k v nh th phi ko di thi gian thc hin lnh nhy c iu kin. Ngi ta thng trnh
cc trng hp ny khng lm gim mc hu hiu ca my tnh.
Vy trng hp n gin, ngi ta c th c a ch cn nhy n v iu kin
nhy cui giai on ID. Vy c chm i mt chu k m ngi ta c th gii quyt bng
nhiu cch.
Cch th nht l ng bng k thut ng dn trong mt chu k, ngha l ngng
thi hnh lnh th i+1 ang lm nu lnh th i l lnh nhy. Ta mt trng mt chu k cho
mi lnh nhy.
Cch th hai l thi hnh lnh sau lnh nhy nhng lu rng hiu qu ca mt
lnh nhy b chm mt mt lnh. Vy lnh theo sau lnh nhy c thc hin trc khi
lnh m chng trnh phi nhy ti c thc hin. Chng trnh dch hay ngi lp
trnh c nhim v xen vo mt lnh hu ch sau lnh nhy.
Trong trng hp nhy c iu kin, vic nhy c th c thc hin hay khng
thc hin. Lnh hu ch t sau lnh nhy khng lm sai lch chng trnh d iu kin
nhy ng hay sai.
B x l RISC SPARC c nhng lnh nhy vi hu b. Cc lnh ny cho php
thi hnh lnh sau lnh nhy nu iu kin nhy ng v hu b thc hin lnh nu
iu kin nhy sai.

III.7. SIU NG DN
My tnh c k thut siu ng dn bc n bng cch chia cc giai on ca k
thut ng dn n gin, mi giai on c thc hin trong khon thi gian Tc, thnh n
giai on con thc hin trong khon thi gian Tc/n. hu hiu ca k thut ny tng
ng vi vic thi hnh n lnh trong mi chu k Tc. Hnh III.7 trnh by th d v siu
ng dn bc 2, c so snh vi siu ng dn n gin. Ta thy trong mt chu k Tc, my
dng k thut siu ng dn lm 2 lnh thay v lm1 lnh trong my dng k thut ng
dn bnh thng. Trong my tnh siu ng dn, tc thc hin lnh tng ng vi
vic thc hin mt lnh trong khong thi gian Tc/n. Cc bt li ca siu ng dn l thi
gian thc hin mt giai on con ngn Tc/n v vic tr hon trong thi hnh lnh nhy ln.
Trong v d hnh III.7, nu lnh th i l mt lnh nhy tng i th lnh ny c gii

51

Chng III: T chc b x l

Kin trc my tnh

m trong giai on ID, a ch nhy n c tnh vo giai on EX, lnh phi c nhy
ti l lnh th i+4, vy c tr tr 3 lnh thay v 1 lnh trong k thut ng dn bnh thng.
i

IF1

IF2

ID1

ID2

EX1 EX2

MEM1 MEM2

RS1 RS2

i+1
i+2
i+3
i+4
i+5
i

IF

i+1
i+2

ID

EX

MEM

RS

IF

ID

EX

MEM

RS

IF
ID
EX
MEM
RS
Hnh III.7: Siu ng dn bc 2 so vi siu ng dn n gin.
Trong khong thi gian Tc, my c siu ng dn lm 2 lnh
thay v 1 lnh nh trong my c k thut ng dn n gin.

III.8. SIU V HNG (SUPERSCALAR)


My tnh siu v hng bc n c th thc hin ng thi n lnh trong mt chu k
xung nhp Tc. Hnh III.8 trnh by mt v d v s vn hnh ca mt my tnh siu v
hng bc 2 so vi mt my tnh dng k thut ng dn.
i
IF
ID
EX
MEM
RS
i+1

IF

ID

EX

MEM

RS
(a)

i+2

IF

ID

EX

MEM

RS

i+3

IF

ID

EX

MEM

RS

ID

EX

MEM

RS

IF

(b)
i+1

IF

ID

EX

MEM

RS

Hnh III.8: Siu v hng (a) so vi k thut ng dn (b).

52

Chng III: T chc b x l

Kin trc my tnh

Trong mt my tnh siu v hng phn cng phi qun l vic c v thi hnh
ng thi nhiu lnh. Vy n phi c kh nng qun l cc quan h gia s liu vi nhau.
Cng cn phi chn cc lnh c kh nng c thi hnh cng mt lc. Nhng b x l
u tin a ra th trng dng k thut ny l cc b x l Intel i860 v IBM RS/6000.
Cc b x l ny c kh nng thc hin song song nhiu tc v trn s nguyn v trn s
l.
Nm 1992, ngi ta thy xut hin cc b x l c nhiu b thc hin tc v c lp
vi nhau (nhiu ALU, b tnh ton s l, np d liu, lu d liu, nhy), c th thc hin song
song nhiu lnh (lnh tnh s nguyn, s l, lnh b nh, lnh nhy...). S lnh c th c thi
hnh song song cng nhiu th phn cng thc hin vic ny cng phc tp.

III.9. MY TNH C LNH THT DI VLIW (VERY LONG


INSTRUCTION WORD)
My tnh siu v hng c th thc hin 2 hoc 3 lnh trong mi chu k xung
nhp. Do k thut ng dn i hi cc lnh phi ph thuc vo nhau nn rt kh thc
hin nhiu lnh trong mt chu k. Nh vy, thay v c thc hin nhiu lnh trong mt
chu k, ngi ta tm cch a vo nhiu lnh trong mt t lnh di. Mt lnh VLIW
c th cha hai tc v tnh ton s nguyn, hai tc v tnh ton s l, hai tc v thm
nhp b nh v mt lnh nhy. Mt lnh nh vy c chia thnh nhiu trng, mi
trng c th c t 16 n 24 bt v chiu di ca lnh VLIW l t 112 n 168 bt.
C nhiu k thut to ra mt lnh VLIW trong tt c cc trng u c dng.
Gi thnh v phc tp ca mt my tnh c lnh tht di tng ln rt nhiu nu
ngi ta tng s trng trong mt lnh VLIW.

III.10. MY TNH VECT


Mt my tnh vect bao gm mt b tnh ton v hng bnh thng dng k
thut ng dn v mt b lm tnh vect. B tnh ton v hng, ging nh b x l
dng k thut ng dn, thc hin cc php tnh v hng, cn b lm tnh vect thc
hin cc php tnh vect. a s cc my tnh vect cho php lm cc php tnh trn
vect s nguyn, vect s l v vect s logic (s Boolean).
C 2 kiu kin trc my tnh vect: kiu vect nh - nh v kiu thanh
ghi vect. Trong my tnh loi vect b nh - b nh, cc php tnh vect c thc
hin trong b nh. Kin trc kiu thanh ghi vect c thc hin trong cc siu my
tnh CRAY - 1, CRAY - 2, X - MP, Y - MP, trong cc siu my tnh ca Nht NEC
SX/2, Fujitsu VP200 v Hitachi S820. Cc my ny c mt b nhiu thanh ghi vect
v nhng tc v vect c thc hin trn cc thanh ghi ny ngoi tr cc tc v np
d liu v lu d liu. My CRAY-2 (1995) c 8 thanh ghi vect, mi thanh ghi c
th cha 64 vect, mi vect c chiu di 64 bt.

III.11. MY TNH SONG SONG


Trong cc my tnh siu ng dn, siu v hng, my tnh vect, my tnh
VLIW, ngi ta dng tnh thc hin song song cc lnh cc mc khc nhau
lm tng hiu qu ca chng. Gii hn v kh nng tnh ton ca loi my trn cng

53

Chng III: T chc b x l

Kin trc my tnh

vi s pht trin ca cng ngh my tnh khin ngi ta ngh ti gii php song song
theo ngi ta tng cng hiu qu ca my tnh bng cch tng s lng b x l.
Cc my tnh c th sp xp vo 4 loi sau:
1- SISD (Single Instructions Stream, Single Data Stream): My tnh mt dng
lnh, mt dng s liu.
2- SIMD (Single Instructions Stream, Multiple Data Stream): My tnh mt
dng lnh, nhiu dng s liu.
3- MISD (Multiple Instructions Stream, Single Data Stream):My tnh nhiu
dng lnh, mt dng s liu.
4- MIMD (Multiple Instruction Stream, Multiple Data Stream): My tnh
nhiu dng lnh, nhiu dng s liu.
Kiu phn loi ny n gin, d hiu, vn cn hiu lc n hm nay, mc d
c nhng my tnh dng kin trc hn tp.
Cc my tnh SISD tng ng vi cc my mt b x l m chng ta
nghin cu.
Cc my MISD kiu my tnh ny khng sn xut thng mi.
Cc my SIMD c mt s ln cc b x l ging nhau, cng thc hin mt
lnh ging nhau x l nhiu dng d liu khc nhau. Mi b x l c b nh d
liu ring, nhng ch c mt b nh lnh v mt b x l iu khin, b ny c v
thi hnh cc lnh. My CONNECTION MACHINE 2 (65536 b x l 1 bt) ca cng
ty Thinking Machine Inc, l mt v d in hnh ca SIMD. Tnh song song dng
trong cc my SIMD l tnh song song ca cc d liu. N ch c hiu qu nu cu
trc cc d liu d dng thch ng vi cu trc vt l ca cc b x l thnh vin. Cc
b x l vc-t v mng thuc loi my tnh ny
Cc my MIMD c kin trc song song, nhng nm gn y, cc my MIMD
ni ln v c xem nh mt kin trc ng nhin phi chn cho cc my nhiu b
x l dng trong cc ng dng thng thng, mt tp hp cc b x l thc hin mt
chui cc lnh khc nhau trn cc tp hp d liu khc nhau. Cc my MIMD hin ti
c th c xp vo ba loi h thng s c gii thiu trong phn tip theo ca
chng trnh l: SMP (Symmetric Multiprocesors), Cluster v NUMA (Nonunifrom
Memory Access)
a). Mt h thng SMP bao gm nhiu b x l ging nhau c lp t bn
trong mt my tnh, cc b x l ny kt ni vi nhau bi mt h thng bus bn trong
hay mt vi s sp xp chuyn mch thch hp. Vn ln nht trong h thng SMP
l s kt hp cc h thng cache ring l. V mi b x l trong SMP c mt cache
ring ca n, do , mt khi d liu trong b nh trong c th tn ti trong mt hay
nhiu cache khc nhau. Nu mt khi d liu trong mt cache ca mt b x l no
b thay i s dn n d liu trong cache ca cc b x l cn li v trong b nh
trong khng ng nht. Cc giao thc cache kt hp c thit k gii quyt vn
ny.

54

Chng III: T chc b x l

Kin trc my tnh

b). Trong h thng cluster, cc my tnh c lp c kt ni vi nhau thng


qua mt h thng kt ni tc cao (mng tc cao Fast Ethernet hay Gigabit) v
hot ng nh mt my tnh thng nht. Mi my trong h thng c xem nh l
mt phn ca cluster, c gi l mt nt (node). H thng cluster c cc u im:
- Tc cao: C th to ra mt h thng cluster c kh nng x l mnh
hn bt c mt my tnh n l no. Mi cluster c th bao gm hng t my tnh,
mi my c nhiu b x l.
- Kh nng m rng cao: c th nng cp, m rng mt cluster c cu
hnh v hot ng n nh.
- tin cy cao: H thng vn hot ng n nh khi c mt nt (node)
trong h thng b h hng. Trong nhiu h thng, kh nng chu li (fault tolerance)
c x l t ng bng phn mm.
- Chi ph u t thp: h thng cluster c kh nng mnh hn mt my tnh
n l mnh nht vi chi ph thp hn.
c). Mt h thng NUMA (Nonunifrom Memory Access) l h thng a x l
c gii thiu trong thi gian gn y, y l h thng vi b nh chia s, thi gian truy
cp cc vng nh dnh ring cho cc b x l th khc nhau. iu ny khc vi kiu qun
l b nh trong h thng SMP (b nh dng chung, thi gian truy cp cc vng nh khc
nhau trong h thng cho cc b x l l nh nhau). H thng ny c nhng thun li v
bt li nh sau:
Thun li:
- Thc hin hiu qu hn so vi h thng SMP trong cc x l song song.
- Khng thay i phn mm chnh.
- B nh c kh nng b nghn nu c nhiu truy cp ng thi, nhng iu
ny c th c khc phc bng cch:
+ Cache L1&L2 c thit k gim ti thiu tt c cc thm nhp b nh.
+ Cn cc phn mm cc b c qun l tt vic cc ng dng hot ng
hiu qu.
+ Qun tr b nh o s chuyn cc trang ti cc nt cn dng.
Bt li:
- H thng hot ng khng trong sut nh SMP: vic cp pht cc trang, cc
qu trnh c th c thay i bi cc phn mm h thng nu cn.
- H thng phc tp.
Lin quan n b nh trong cc my tnh song song, chng ta c th chia
thnh hai nhm my:
- Nhm my th nht, m ta gi l my c kin trc b nh chia s, c mt b
nh trung tm duy nht c phn chia cho cc b x l v mt h thng bus chia s
ni cc b x l v b nh. V ch c mt b nh trong nn h thng b nh khng
kh nng p ng nhu cu thm nhp b nh ca mt s ln cc b x l. Kiu
kin trc b nh chia s c dng trong h thng SMP.

55

Chng III: T chc b x l

Kin trc my tnh

Nhm my th hai bao gm cc my c b nh phn tn vt l. Mi my ca


nhm ny gm c cc nt, mi nt cha mt b x l, b nh, mt vi ng vo ra v mt
giao din vi h thng kt ni gia cc nt (hnh III.10).
B x l

B x l

L1 Cache

B x l

L1 Cache

L2 cache

L1 Cache

L2 cache

L2 cache

Bus dng
h

iu hp
vo ra
B nh trong
dng chung

Bus
ni
ngoi
vi

iu hp
vo ra

iu hp
vo ra

Hnh III.9: My tnh song song vi b nh dng chung, h thng bus dng chung
B X
L
+
CACHE

B NH
TRONG

B X
L
+
CACHE

I/O

B NH
TRONG

B X
L
+
CACHE

I/O

B NH
TRONG

I/O

B NH
TRONG

I/O

H thng kt ni

B NH
TRONG

I/O

B X
L
+
CACHE

B NH
TRONG

I/O

B X
L
+
CACHE

Hnh III.10: Cu trc nn ca mt b nh phn tn

56

B X
L
+
CACHE

Chng III: T chc b x l

Kin trc my tnh

Vic phn tn b nh cho cc nt c hai im li. Trc ht, y l mt cch phn


tn vic thm nhp b nh. Th hai, cch ny lm gim thi gian ch i lc thm nhp
b nh cc b. Cc li im trn lm cho kin trc c b nh phn tn c dng cho
cc my a x l c mt s t b x l. im bt li chnh ca kin trc my tnh ny l
vic trao i d liu gia cc b x l tr nn phc tp hn v mt nhiu thi gian hn v
cc b x l khng cng chia s mt b nh trong chung. Cch thc hin vic trao i
thng tin gia b x l v b nh trong, v kin trc logic ca b nh phn tn l mt
tnh cht c th ca cc my tnh vi b nh phn tn.
C 2 phng php c dng truyn d liu gia cc b x l.
i). Phng php th nht l cc b nh c phn chia mt cch vt l c th
c thm nhp vi mt nh v chia s mt cch logic, ngha l nu mt b x l bt k
c quyn truy xut, th n c th truy xut bt k nh no. Trong phng php ny cc
my c gi c kin trc b nh chia s phn tn (DSM: Distributed Sharing Memory).
T b nh chia s cho bit khng gian nh v b chia s. Ngha l cng mt a ch vt l
cho 2 b x l tng ng vi cng mt nh.
ii). Phng php th hai, khng gian nh v bao gm nhiu khng gian nh v
nh khng giao nhau v c th c mt b x l thm nhp. Trong phng php ny,
mt a ch vt l gn vi 2 my khc nhau th tng ng vi 2 nh khc nhau trong 2
b nh khc nhau. Mi m-un b x l-b nh th c bn l mt my tnh ring bit v
cc my ny c gi l a my tnh. Cc my ny c th gm nhiu my tnh hon ton
ring bit v c ni vo nhau thnh mt mng cc b.

Hnh III.11: T chc kt ni ca my tnh song song c b nh phn tn

57

Chng III: T chc b x l

Kin trc my tnh

Kin trc song song pht trin mnh trong thi gian gn y do cc l do:
- Vic dng x l song song c bit trong lnh vc tnh ton khoa hc v cng
ngh. Trong cc lnh vc ny ngi ta lun cn n my tnh c tnh nng cao hn.
- Ngi ta chp nhn rng mt trong nhng cch hiu qu nht ch to
my tnh c tnh nng cao hn cc my n x l l ch to cc my tnh a x l.
- My tnh a x l rt hiu qu khi dng cho a chng trnh. a chng trnh
c dng ch yu cho cc my tnh ln v cho cc my phc v ln.
Cc v d v cc siu my tnh dng k thut x l song song:
- My in ton Blue Gene/L ca IBM ang c t ti Phng th nghim
Lawrence Livermore, v ng u trong s 500 siu my tnh mnh nht th gii. Siu
my tnh Blue Gene/L s c s dng cho cc cng vic "phi truyn thng", ch yu l
gi lp v m phng cc qu trnh sinh hc v nguyn t. My in ton Blue Gene/L
t tc hn 70 teraflop (nghn t php tnh/giy). Kt qu ny c th s a c my
ln v tr dn u trong danh sch cc siu my tnh nhanh nht th gii, c cng b
ngy 8/11/2004. Theo , siu my tnh do IBM lp rp t tc 70,72 teraflop trong
cc cuc th nghim hi thng 10/2004. IBM nghin cu v pht trin Blue Gene vi
mc ch th nghim nhm to ra cc h thng cc mnh nhng chim t khng gian v
tiu th t nng lng. IBM d kin, s lp t cho phng th nghim quc gia Lawrence
Livermore mt siu my tnh c tc nhanh gp 4 ln so vi k lc va t c. Khi
, thit b s c ng dng vo nhiu nghin cu khoa hc. H thng mi bao gm
16,384 giao im in ton kt ni 32.768 b x l.
- Thng tin mi nht (02/2005) cho bit: siu my tnh IBM Blue Gene/L va
thit lp k lc mi l c kh nng x l 135,5 nghn t php tnh/giy (135,3
teraflop), vt xa k lc 70,72 teraflop do chnh siu my tnh ny lp nn. S b x l
(BXL) ca Blue Gene/L va c cc nh khoa hc tng ln gp i (64.000 BXL) nhm
tng cng kh nng tnh ton cho siu my tnh ny. Cng cn phi nhc li rng thit
k hon thin ca siu my tnh Blue Gene/L, d kin s hon tt vo khong thng 6 ti,
s bao gm 130.000 BXL vi tc tnh ton c k vng vo khong 360 teraflop.
Blue Gene l tn gi chung cho d n nghin cu siu my tnh c IBM khi
ng t nm 2000, vi mc ch ban u l thit k mt "c my" c kh nng x l 1
teraflop. Trong khi , siu my tnh Blue Gene/L l mt trong nhiu sn phm ch lc
ca IBM nhm cnh tranh vi cc hng i th Silicon Graphics v NEC.
- Hng in t khng l NEC pht hnh mt supercomputer dng vector, my
SX-8 mi ra i c tc x l cc i ln ti 65 teraflop (65 nghn t php tnh du
phy ng/giy) v kh nng hot ng n nh mc xp x 90% ca tc 58,5%
teraflop. My SX-8 c kin trc khc hn Blue Gene/L ca IBM. N dng kin trc
vector nn em n n nh khi hot ng cao hn nhiu so vi dng my tnh v
hng (scalar) nh ca IBM
- Mt h thng ti trung tm nghin cu ca C quan hng khng v tr M
(NASA) ti California cng t c tc 42,7 teraflop. Vi tn gi Columbia, siu
my tnh ny s c s dng nghin cu kh tng v thit k my bay. H thng tr
gi 50 triu USD (thi im thng 10/2004) ny s dng phn mm Linux v c
SGI k hp ng bn cho C quan hng khng v tr M NASA. N c th thc hin

58

Chng III: T chc b x l

Kin trc my tnh

42,7 nghn t php tnh/giy (42,7 teraflop). Tuy nhin, tc cha phi l tt c
nhng g ni bt ca siu my tnh ny: h thng mi ch khai thc c 4/5 cng sut ca
10.240 b x l Intel Itanium 2 trong ton b c my t trung tm nghin cu ca
NASA California (M). Siu my tnh ny khng ging vi hu ht cc siu my tnh
hin nay thng c to nn theo kiu cluster, vi s tham gia ca nhiu c my gi r.
Columbia c thit lp t 20 my tnh m mi chic c 512 b x l, kt ni bng cng
ngh mng cao tc v u chy mt h iu hnh c lp. Cch xy dng ny rt hu ch
cho nhng cng vic nh gi lp cc yu t kh ng lc cho tu khng gian. Mt ng
dng khc ca siu my tnh Columbia l vic d bo bo. Phn mm cho tc v ny
ang c thit k v ha hn kh nng d bo chnh xc ng i ca bo sm 5 ngy.
Ton b my Columbia chim dng mt din tch bng khong 3 sn bng r.

III.12 KIN TRC IA-64


Kin trc IA-64 l mt kin trc mi c gii thiu trong nhng nm gn y.
Kin trc ny l sn phm ca s kt hp nghin cu gia hai cng ty my tnh hng u
th gii l Intel, HP (Hewlett Packard) v mt s trng i hc. Kin trc mi da trn
s pht trin ca cng ngh mch tch hp v k thut x l song song. Kin trc IA-64
gii thiu mt s khi u mi quan trng ca k thut siu v hng - k thut x l
lnh song song (EPIC: Expicitly Parallel Intruction Computing) - k thut nh hng
nhiu n s pht trin ca b x l hin nay. Sn phm u tin thuc kin trc ny l
b x l Itanium.
a) c trng ca kin trc IA-64:

C ch x l song song l song song cc lnh m my (EPIC) thay v cc


b x l song song nh h thng a b x l.
Cc lnh di hay rt di (LIW hay VLIW).

Cc lnh r nhnh xc nh (thay v on cc lnh r nhnh nh cc kin


trc trc).

Np trc cc lnh (theo s suy on).


Cc c trng ca t chc ca b x l theo kin trc IA-64:

C nhiu thanh ghi: s lng thanh ghi cc b x l kin trc IA-64 l 256
thanh ghi. Trong , 128 thanh ghi tng qut (GR) 64 bit cho cc tnh ton s nguyn,
lun l; 128 thanh ghi 82 bit (FR) cho cc php tnh du chm ng v d liu ho;
ngoi ra, cn c 64 thanh ghi thuc tnh (PR)1 bit ch ra cc thuc tnh lnh ang thi
hnh.

Nhiu b thi hnh lnh: hin nay, mt my tnh c th c tm hay nhiu


hn cc b thi hnh lnh song song. Cc b thi hnh lnh ny c chia thnh bn kiu:
+
Kiu I (I-Unit): dng x l cc lnh tnh ton s nguyn, dch, lun
l, so snh, a phng tin.
+
Kiu M (M-Unit): Np v lu tr gia thanh ghi v b nh thm vo
mt vi tc v ALU.
+
Kiu B (B-Unit): Thc hin cc lnh r nhnh.
+
Kiu F (F-Unit): Cc lnh tnh ton s du chm ng

59

Chng III: T chc b x l

Kin trc my tnh

b) nh dng lnh trong kin trc IA-64

PR: Predicate register


GR: General hay Floating-point

Hnh III.12: nh dng lnh trong kin trc IA-64

Kin trc IA-64 nh ngha mt gi (buldle) 128 bit cha ba lnh (mi lnh di
41 bit) v mt trng mu (template field) 5 bit. B x l c th ly mt hay nhiu gi
lnh thi hnh cng lc. Trng mu (template field) ny cha cc thng tin ch ra cc
lnh c th thc hin song song (Bng III.1). Cc lnh trong mt b c th l cc lnh
c lp nhau. B bin dch s sp xp li cc lnh trong cc gi lnh k nhau theo mt
th t cc lnh c th c thc hin song song
Hnh III.12a ch ra nh dng lnh trong kin trc IA-64. Hnh III.12b m t
dng tng qut ca mt lnh trong gi lnh. Trong mt lnh, m lnh ch c 4 bit ch ra
16 kh nng c th thi thi hnh mt lnh v 6 bit ch ra thanh ghi thuc tnh c dng
vi lnh. Tuy nhin, cc m tc v ny cn tu thuc vo v tr ca lnh bn trong gi
lnh, v vy kh nng thi hnh ca lnh nhiu hn s m tc v c ch ra. Hnh III.12c
m t chi tit cc trng trong mt lnh (41 bit)
Trong bng III.1 , cc kiu L-Unit, X-Unit l cc kiu m rng, c th thc hin
lnh bi I-Unit hay B-Unit.
Template
00
01
02
03
04
05
08
09
0A

Slot 0
M-Unit
M-Unit
M-Unit
M-Unit
M-Unit
M-Unit
M-Unit
M-Unit
M-Unit

Slot 1
I-Unit
I-Unit
I-Unit
I-Unit
L-Unit
L-Unit
M-Unit
M-Unit
M-Unit

60

Slot 2
I-Unit
I-Unit
I-Unit
I-Unit
X-Unit
X-Unit
I-Unit
I-Unit
I-Unit

Chng III: T chc b x l

Kin trc my tnh

0B
0C
0D
0E
0F
10
11
12
13
16
17
18
19
1C
1D

M-Unit
M-Unit
I-Unit
M-Unit
F-Unit
I-Unit
M-Unit
F-Unit
I-Unit
M-Unit
M-Unit
F-Unit
M-Unit
M-Unit
F-Unit
M-Unit
I-Unit
B-Unit
M-Unit
I-Unit
B-Unit
M-Unit
B-Unit
B-Unit
M-Unit
B-Unit
B-Unit
B-Unit
B-Unit
B-Unit
B-Unit
B-Unit
B-Unit
M-Unit
M-Unit
B-Unit
M-Unit
M-Unit
B-Unit
M-Unit
F-Unit
B-Unit
M-Unit
F-Unit
B-Unit
Bng III.1: Bng m ho tp hp cc nh x trong trng mu.
*****

61

Chng III: T chc b x l

Kin trc my tnh

CU HI N TP V BI TP CHNG III

*****
1. Cc thnh phn v nhim v ca ng i d liu?
2. M t ng i d liu ng vi cc lnh sau:
i. ADD R1,R2,R3
ii. SUB R1, R2, (R3)
iii. ADD R1, R5, #100
iv. JMP R1 (Nhy n nh m R1 tr ti)
v. BRA +5 (Nhy b 5 lnh)
3. Th no l ngt qung? Cc giai on thc hin ngt qung ca CPU.
4. V hnh m t k thut ng dn. K thut ng dn lm tng tc CPU
ln bao nhiu ln (theo l thuyt)? Ti sao trn thc t s gia tng ny li t
hn?
5. Cc iu kin m mt CPU cn phi c ti u ho k thut ng dn. Gii
thch tng iu kin.
6. Cc kh khn trong k thut ng dn v cch gii quyt kh khn ny.
7. Th no l my tnh vect? Cc kiu ca kin trc vect?
8. Cho v d v my tnh mt dng lnh, nhiu dng s liu (SIMD)
9. Cc my tnh song song nhiu dng lnh, nhiu dng s liu (MIMD) dng
nhiu b x l, c phn thnh 2 loi tu theo t chc b nh ca chng l:
my tnh a x l c b nh tp trung chia s v my tnh a x l c b nh
phn tn. Phn tch u - khuyt im ca hai loi my tnh ny.
10. Cc loi h thng MIMD.
11. Cc c trng ca kin trc IA-64? nh dng lnh trong kin trc IA-64?

62

Chng IV: Cc cp b nh

Kin trc my tnh

Chng IV: CC CP B NH
Mc ch: Chng ny gii thiu chc nng v nguyn l hot ng ca cc cp
b nh my tnh: b nh cache: nguyn l vn hnh, phn loi cc mc, nh gi hiu
qu hot ng; v nguyn l vn hnh ca b nh o.
Yu cu: Sinh vin phi hiu c cc cp b nh v cch thc vn hnh ca cc
loi b nh c gii thiu c th nh gi c hiu nng hot ng ca cc loi b
nh.

IV.1. CC LOI B NH
B nh cha chng trnh, ngha l cha lnh v s liu. Ngi ta phn bit cc
loi b nh: B nh trong (RAM-B nh vo ra ngu nhin), c ch to bng cht bn
dn; b nh ch c (ROM) cng l loi b nh ch c v b nh ngoi bao gm: a
cng, a mm, bng t, trng t, cc loi a quang, cc loi th nh,...
B nh RAM c c tnh l cc nh c th c c hoc vit vo trong
khong thi gian bng nhau cho d chng bt k v tr no trong b nh. Mi nh c
mt a ch, thng thng, mi nh l mt byte (8 bit), nhng h thng c th c ra
hay vit vo nhiu byte (2,4, hay 8 byte). B nh trong (RAM) c c trng bng dung
lng v t chc ca n (s nh v s bit cho mi nh), thi gian thm nhp (thi
gian t lc ua ra a ch nh n lc c c ni dung nh ) v chu k b nh
(thi gian gia hai ln lin tip thm nhp b nh).
MAR

RAM

Wi

MBR

Wj
R/W

Hnh IV.1: Vn hnh ca b nh RAM


(Wi, Wj, R/W l cc tn hiu iu khin)
Tu theo cng ngh ch to, ngi ta phn bit RAM tnh (SRAM: Static RAM)
v RAM ng (Dynamic RAM).
RAM tnh c ch to theo cng ngh ECL (CMOS v BiCMOS). Mi bit nh
gm c cc cng logic vi 6 transistor MOS, vic nh mt d liu l tn ti nu b
nh c cung cp in. SRAM l b nh nhanh, vic c khng lm hu ni dung ca
nh v thi gian thm nhp bng chu k b nh.
RAM ng dng k thut MOS. Mi bit nh gm c mt transistor v mt t
in. Cng nh SRAM, vic nh mt d liu l tn ti nu b nh c cung cp in.
Vic ghi nh da vo vic duy tr in tch np vo t in v nh vy vic c mt bit
nh lm ni dung bit ny b hu. Vy sau mi ln c mt nh, b phn iu khin b
nh phi vit li nh ni dung va c v do chu k b nh ng t nht l gp

63

Chng IV: Cc cp b nh

Kin trc my tnh

i thi gian thm nhp nh. Vic lu gi thng tin trong bit nh ch l tm thi v t
in s phng ht in tch np vo v nh vy phi lm ti b nh sau mi 2s.
Lm ti b nh l c nh v vit li ni dung vo li nh. Vic lm ti c
thc hin vi tt c cc nh trong b nh. Vic lm ti b nh c thc hin t ng
bi mt vi mch b nh. B nh DRAM chm nhng r tin hn SRAM.

Hnh IV.2: SRAM v DRAM


SDRAM (Synchronous DRAM DRAM ng b), mt dng DRAM ng b
bus b nh. Tc SDRAM t t 66-133MHz (thi gian thm nhp b nh t 75ns150ns).
DDR SDRAM (Double Data Rate SDRAM) l ci tin ca b nh SDRAM vi
tc truyn ti gp i SDRAM nh vo vic truyn ti hai ln trong mt chu k b
nh. Tc DDR SDRAM t t 200-400MHz
RDRAM (Rambus RAM) l mt loi DRAM c thit k vi k thut hon
ton mi so vi k thut SDRAM. RDRAM hot ng ng b theo mt h thng lp v
truyn d liu theo mt hng. Mt knh b nh RDRAM c th h tr n 32 chip
DRAM. Mi chip c ghp ni tun t trn mt module gi l RIMM (Rambus Inline
Memory Module) nhng vic truyn d liu gia cc mch iu khin v tng chp ring
bit ch khng truyn gia cc chip vi nhau. Bus b nh RDRAM l ng dn lin tc
i qua cc chip v module trn bus, mi module c cc chn vo v ra trn cc u i
din. Do , nu cc khe cm khng cha RIMM s phi gn mt module lin tc m
bo ng truyn c ni lin.Tc RDRAM t t 400-800MHz
B nh ch c ROM cng c ch to bng cng ngh bn dn. Chng trnh
trong ROM c vit vo lc ch to n. Thng thng, ROM cha chng trnh khi
ng my tnh, chng trnh iu khin trong cc thit b iu khin t ng,...

64

Chng IV: Cc cp b nh

Kin trc my tnh

PROM (Programable ROM): Ch to bng cc mi ni (cu ch - c th lm t


bng in). Chng trnh nm trong PROM c th c vit vo bi ngi s dng bng
thit b c bit v khng th xa c.
EPROM (Erasable Programable ROM): Ch to bng nguyn tt phn cc tnh
in. Chng trnh nm trong ROM c th c vit vo (bng in) v c th xa (bng
tia cc tm - trung ha tnh in) vit li bi ngi s dng.
EEPROM (Eletrically Erasable Programable ROM): Ch to bng cng ngh
bn dn. Chng trnh nm trong ROM c th c vit vo v c th xa (bng in)
vit li bi ngi s dng.
Kiu b nh

Loi

C ch xo

RAM
ROM
Programmable ROM
(PROM)
Erasable PROM
Electrically Erasable
PROM (EEPROM)
Flash Memory

c/ghi

bng in, mc byte

ch c

Khng th xo
Tia cc tm, mc chip

hu ht ch
c

C ch
ghi
bng in
Mt n

bng in

Tnh bay
hi
C

Khng

bng in, mc byte

bng in, mc khi


Bng IV.1: Cc kiu b nh bn dn

IV.2. CC CP B NH
Cc c tnh nh lng thng tin lu tr, thi gian thm nhp b nh, chu k b
nh, gi tin mi bit nh khin ta phi phn bit cc cp b nh: cc b nh nhanh vi
dung lng t n cc b nh chm vi dung lng ln (hnh IV.3)

Hnh IV.3: Cc cp b nh

65

Chng IV: Cc cp b nh

Kin trc my tnh

Cc c tnh chnh ca cc cp b nh dn n hai mc chnh l: mc cache - b


nh trong v mc b nh o (bao gm b nh trong v khng gian cp pht trn a
cng) (hnh IV.4). Cch t chc ny trong sut i vi ngi s dng. Ngi s dng ch
thy duy nht mt khng gian nh v nh, c lp vi v tr thc t ca cc lnh v d
liu cn thm nhp.

Mc
cache - B
nh trong

Cc thanh ghi

Cache

Mc b
nh o

B nh trong
a cng
Hnh IV.4: Hai mc b nh
Bng t, CD, DVD
Hnh IV.4: Hai mc b nh

Cc cp b nh gip ch cho ngi lp trnh mun c mt b nh tht nhanh vi


chi ph u t gii hn. V cc b nh nhanh t tin nn cc b nh c t chc thnh
nhiu cp, cp c dung lng t th nhanh nhng t tin hn cp c dung lng cao hn.
Mc tiu ca vic thit lp cc cp b nh l ngi dng c mt h thng b nh r tin
nh cp b nh thp nht v gn nhanh nh cp b nh cao nht. Cc cp b nh thng
c lng vo nhau. Mi d liu trong mt cp th c gp li trong cp thp hn v c
th tip tc gp li trong cp thp nht.
Chng ta c nhn xt rng, mi cp b nh c dung lng ln hn cp trn
mnh, nh x mt phn a ch cc nh ca mnh vo a ch nh ca cp trn trc
tip c tc nhanh hn, v cc cp b nh phi c c ch qun l v kim tra cc a
ch nh x.

IV.3. XC SUT TRUY CP D LIU TRONG B NH TRONG


Cache l b nh nhanh, n cha lnh v d liu thng xuyn dng n. Vic
la chn lnh v d liu cn t vo cache da vo cc nguyn tc sau y:
Mt chng trnh mt 90% thi gian thi hnh lnh ca n thi hnh 10% s
lnh ca chng trnh.
Nguyn tc trn cng c p dng cho vic thm nhp d liu, nhng t hiu
nghim hn vic thm nhp lnh. Nh vy c hai nguyn tc: nguyn tc v khng gian
v nguyn tc v thi gian

Nguyn tc v thi gian: cho bit cc nh c h thng x l thm


nhp c kh nng s c thm nhp trong tng lai gn. Tht vy, cc chng trnh
c cu to vi phn chnh l phn c thi hnh nhiu nht v cc phn ph dng

66

Chng IV: Cc cp b nh

Kin trc my tnh

x l cc trng hp ngoi l. Cn s liu lun c cu trc v thng thng ch c mt


phn s liu c thm nhp nhiu nht m thi.

Nguyn tc v khng gian: cho bit, b x l thm nhp vo mt nh


th c nhiu kh nng thm nhp vo nh c a ch k tip do cc lnh c sp xp
thnh chui c th t.
T chc cc cp b nh sao cho cc lnh v d liu thng dng c nm
trong b nh cache, iu ny lm tng hiu qu ca my tnh mt cch ng k.

IV.4. VN HNH CA CACHE


Mc cache -b nh trong trong bng cc cp b nh c c cu vn hnh trong
sut i vi b x l. Vi thao tc c b nh, b x l gi mt a ch v nhn mt d
liu t b nh trong. Vi thao tc ghi b nh, b x l vit mt d liu vo mt nh vi
mt a ch c ch ra trong b nh. cho chng trnh vn hnh bnh thng th
cache phi cha mt phn con ca b nh trong b x l c th thm nhp vo cc
lnh hoc d liu thng dng t b nh cache. Do dung lng ca b nh cache nh
nn n ch cha mt phn chng trnh nm trong b nh trong. m bo s ng
nht gia ni dung ca cache v b nh trong th cache v b nh trong phi c cng cu
trc. Vic chuyn d liu gia cache v b nh trong l vic ti ln hay ghi xung cc
khi d liu. Mi khi cha nhiu t b nh tu thuc vo cu trc b nh cache. S la
chn kch thc ca khi rt quan trng cho vn hnh ca cache c hiu qu.
Chuyn tng t

B x l

Chuyn tng khi

Cache

B nh trong

Hnh IV.5: Trao i d liu gia cc thnh phn CPU-Cache-B nh trong


Trc khi kho st vn hnh ca cache, ta xt n cc khi nim lin quan:
- Thnh cng cache (cache hit): b x l tm gp phn t cn c (ghi) trong
cache.
- Tht bi cache (cache miss): b x l khng gp phn t cn c (ghi) trong

cache.
- Trng pht tht bi cache (cache penalty): Thi gian cn thit x l mt

tht bi cache. Thi gian bao gm thi gian thm nhp b nh trong cng vi thi gian
chuyn khi cha t cn c t b nh trong n cache. Thi gian ny tu thuc vo kch
thc ca khi.
hiu c cch vn hnh ca cache, ta ln lt xem xt v tr li bn cu hi
lin quan n cc tnh hung khc nhau xy ra trong b nh trong.
Cu hi 1: Phi mt khi b nh vo ch no ca cache (sp xp khi)?
Cu hi 2: Lm sao tm mt khi khi n hin din trong cache (nhn din
khi)?

67

Chng IV: Cc cp b nh

Kin trc my tnh

Cu hi 3: Khi no phi c thay th trong trng hp tht bi cache (thay


th khi)?
Cu hi 4: Vic g xy ra khi ghi vo b nh (chin thut ghi)?
Tr li cu hi 1: Phi mt khi b nh vo ch no ca cache (sp xp
khi)?
Mt khi b nh c t vo trong cache theo mt trong ba cch sau:

Kiu tng ng trc tip: Nu mi khi b nh ch c mt v tr t


khi duy nht trong cache c xc nh theo cng thc: K= i mod n
Trong :
K: v tr khi t trong cache
i:
s th t ca khi trong b nh trong
n: s khi ca cache
Nh vy, trong kiu xp t khi ny, mi v tr t khi trong cache c th cha
mt trong cc khi trong b nh cch nhau xn khi (x: 0,1,...,m; n: s khi ca cache)
V d:
S th t khi cache
S th t ca khi trong b nh trong
0
0, n, 2n,...mn
1
1,n+1, 2n+1,...,mn+1
...
...
n-1
n-1, 2n-1,...mn-1

Kiu hon ton phi hp: trong kiu t khi ny, mt khi trong b nh
trong c th c t vo v tr bt k trong cache.
Nh vy, trong kiu xp t khi ny, mi v tr t khi trong cache c th cha
mt trong tt c cc khi trong b nh

Kiu phi hp theo tp hp: vi cch t chc ny, cache bao gm cc tp


hp ca cc khi cache. Mi tp hp ca cc khi cache cha s khi nh nhau. Mt
khi ca b nh trong c th c t vo mt s v tr khi gii hn trong tp hp c
xc nh bi cng thc: K= i mod s
Trong :
K: v tr khi t trong cache
i:
s th t ca khi trong b nh trong
s: s lng tp hp trong cache.
Trong cch t khi theo kiu phi hp theo tp hp, nu tp hp c m khi, s
tng ng gia cc khi trong b nh trong v cc khi ca cache c gi l phi hp
theo tp hp m khi.
Nu m=1 (mi tp hp c 1 khi), ta c kiu tng ng trc tip.
Nu m=n (n: s khi ca cache), ta c kiu tng hon ton phi hp.
Hin nay, phn ln cc cache ca cc b x l u l kiu tng ng trc tip
hay kiu phi hp theo tp hp (mi tp hp gm 2 hoc 4 khi).
V d: B nh trong c 32 khi, cache c 8 khi, mi khi gm 32 byte, khi th
12 ca b nh trong c a vo cache.

68

Chng IV: Cc cp b nh

Kin trc my tnh

S th t khi

1
0

1
1

1
2

1
3

1
4

1
5

1
6

1
7

1
8

1
9

2
0

2
1

2
2

2
3

2
4

2
5

2
6

2
7

2
8

2
9

3
0

3
1

B nh trong

S th t khi

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

B nh cache

Hon ton phi hp

Tng ng trc tip

TH0

TH1

TH2

TH3

Phi hp theo tp hp

Tr li cu hi 2: Lm sao tm mt khi khi n hin din trong cache


(nhn din khi)?
Mi khi ca cache u c mt nhn a ch cho bit s th t ca cc khi b
nh trong ang hin din trong cache. Nhn ca mt khi ca cache c th ch thng tin
cn thit c xem xt bit c cc khi nm trong cache c cha thng tin m b
x l cn c hay khng. Tt c cc nhn u c xem xt song song (trong kiu tng
ng trc tip v phi hp theo tp hp) v tc l yu t then cht. bit xem mt
khi ca ca cache c cha thng tin m b x l cn tm hay khng, ngi ta thm mt
bit nh du (valid bit) vo nhn ni ln khi c cha thng tin m b x l cn tm
hay khng.
Nh m t phn u, vi thao tc c (ghi) b nh, b x l a ra mt a
ch v nhn (vit vo) mt d liu t (vo) b nh trong. a ch m b x l a ra c
th phn tch thnh hai thnh phn: phn nhn dng s th t khi v phn xc nh v tr
t cn c trong khi.
Tng ng vi ba kiu lp t khi xt, ta c:
a. Cn c vo t chc s t trong khi b nh m s bit trong a ch xc nh
v tr t cn c trong khi. Cch ny ng vi c ba cch xp t khi xt.
b. Phn nhn dng s th t khi s khc nhau tu thuc vo cch xp t
khi, trng ch s khi c so snh vi nhn ca cache xc nh khi trong cache.
D liu c b x l c cng lc vi vic c nhn. Phn ch s khi ca khi
trong b nh trong c so snh vi bng tng quan xc nh khi c nm trong
cache hay khng. chc rng nhn cha thng tin ng n (tc l khi c cha t m
b x l cn c-ghi), nu vic so snh nhn ca khi cache ging vi s th t khi, bit
nh du (Valid bit) phi c bt ln. Ngc li, kt qu so snh c b qua. B x l
cn c vo phn xc nh t trong khi c (ghi) d liu t (vo) cache.
i vi kiu tng ng trc tip, phn nhn dng ch s khi c chia
thnh hai phn:

69

Chng IV: Cc cp b nh

Kin trc my tnh

Phn ch s khi cache: ch ra s th t khi cache tng ng cn xem

xt.

+
Phn nhn: so snh tng ng vi nhn ca khi cache c ch ra bi
phn ch s khi.
Ch s khi trong b nh
Nhn
-

Ch s khi cache

a ch
t cn c trong khi

i vi kiu hon ton phi hp, phn nhn dng ch s khi trong a ch
s c so snh vi nhn ca tt c cc khi cache.
a ch
t cn c trong khi

Ch s khi

i vi kiu phi hp theo tp hp, phn nhn dng ch s khi c chia


thnh hai phn:
+ Phn ch s tp hp: ch ra s th t tp hp trong cache cn xem xt.
+ Phn nhn: so snh tng ng vi nhn ca cc khi cache thuc tp hp
c ch ra bi phn ch s tp hp.
Ch s khi b nh
Nhn

Ch s tp hp

a ch
t cn c trong khi

V d: phn tch a ch mt t trong c cho trn, a ch xc nh mt t


trong b nh c 10 bit, tu theo cch xp t khi m ta c th phn tch a ch ny
thnh cc thnh phn nh sau:
i vi kiu tng ng trc tip:
10 bit
Ch s khi b nh (5 bit)
Nhn
Ch s khi cache
(2 bit)
(3 bit)
-

i vi kiu hon ton phi hp:


10 bit

Ch s khi b nh (Nhn)
(5 bit)
-

a ch
t cn c trong khi
(5 bit)

a ch
t cn c trong khi
(5 bit)

i vi kiu phi hp theo tp hp, gi s cache gm 4 tp hp, mi tp


hp gm hai khi:

70

Chng IV: Cc cp b nh

Kin trc my tnh

10 bit
Ch s khi b nh (5 bit)
Nhn
Ch s tp hp
(3 bit)
(2 bit)

a ch
t cn c trong khi
(5 bit)

Tr li cu hi 3: Khi no phi c thay th trong trng hp tht bi


cache (thay th khi)?
Khi c tht bi cache, b iu khin cache thm nhp b nh trong v chuyn
khi m b x l cn c (ghi) vo cache. Nh vy, khi no trong cache s b thay th
bi khi mi c chuyn ln. i vi kiu tng ng trc tip, v tr t khi khng c
s la chn, n c xc nh bi trng ch s khi cache trong a ch ca t cn c
(ghi). Nu cache l kiu hon ton phi hp hay phi hp theo tp hp th khi tht bi
phi chn la thay th trong nhiu khi. C bn chin thut ch yu dng chn khi
thay th trong cache:
- Thay th ngu nhin: phn b ng u vic thay th, cc khi cn thay th
trong cache c chn ngu nhin.
- Khi xa nht (LRU: Least Recently Used): cc khi c thm nhp s
c nh du v khi b thay th l khi khng c dng t lu nht.
- Vo trc ra trc (FIFO: First In First Out): Khi c a vo cache u
tin, nu b thay th, khi s c thay th trc nht.
- Tn s s dng t nht (LFU: Least Frequently Used): Khi trong cache c
tham chiu t nht
iu ny s dng h qu ca nguyn tc s dng nh theo thi gian: nu cc
khi mi c dng c kh nng s c dng trong tng lai gn, khi b thay th l
khi khng dng trong thi gian lu nht.
Tr li cu hi 4: Vic g xy ra khi ghi vo b nh (chin thut ghi)?
Thng thng b x l thm nhp cache c thng tin. Ch c khong 15%
cc thm nhp vo cache l thc hin thao tc ghi (con s ny l 33% vi cc tnh ton
vect-vect v 55% i vi cc php dch chuyn ma trn). Nh vy, ti u ho cc
hot ng ca cache, cc nh thit k tm cch ti u ho vic c bi v cc b x l
phi i n khi vic c hon thnh nhng s khng i n khi vic ghi hon tt. Hn
na, mt khi c th c c, so snh v nh th vic c mt khi c th c bt u
khi ch s khi c bit. Nu thao tc c thnh cng, d liu nh cn c s c
giao ngay cho b x l. Ch rng, khi mt khi c nh x t b nh trong vo cache,
vic c ni dung ca khi cache khng lm thay i ni dung ca khi so vi khi cn
nm trong b nh trong.
i vi vic ghi vo b nh th khng ging nh trn, vic thay i ni dung ca
mt khi khng th bt u trc khi nhn c xem xt bit c thnh cng hay tht
bi. Thao tc ghi vo b nh s tn nhiu thi gian hn thao tc c b nh. Trong vic
ghi b nh cn c mt kh khn khc l b x l cho bit s byte cn phi ghi, thng l
t 1 n 8 byte. m bo ng nht d liu khi lu tr, c hai cch chnh ghi vo
cache:

71

Chng IV: Cc cp b nh

Kin trc my tnh

- Ghi ng thi: Thng tin c ghi ng thi vo khi ca cache v khi ca


b nh trong. Cch ghi ny lm chm tc chung ca h thng. Cc ngoi vi c th truy
cp b nh trc tip
- Ghi li: m bo tc x l ca h thng, thng tin cn ghi ch c ghi
vo khi trong cache. qun l s khc bit ni dung gia khi ca cache v khi ca
b nh trong, mt bit trng thi (Dirty bit hay Update bit) c dng ch th. Khi mt
thao tc ghi vo trong cache, bit trng thi (Dirty bit hay Update bit) ca khi cache s
c thit lp. Khi mt khi b thay th, khi ny s c ghi li vo b nh trong ch khi
bit trng thi c thit lp. Vi cch ghi ny, cc ngoi vi lin h n b nh trong
thng qua cache.
Khi c mt tht bi ghi vo cache th phi la chn mt trong hai gii php sau:
- Ghi c np: khi cn ghi t b nh trong c np vo trong cache nh m t
trn. Cch ny thng c dng trong cch ghi li.
- Ghi khng np: khi c thay i b nh trong khng c a vo cache.
Cch ny c dng trong cch ghi ng thi.
Trong cc t chc c nhiu hn mt b x l vi cc t chc cache v b nh chia
s, cc vn lin quan n tnh ng nht ca d liu cn c m bo. S thay i d
liu trn mt cache ring l s lm cho d liu trn cc h thng cache v b nh lin
quan khng ng nht. Vn trn c th c gii quyt bng mt trong cc h thng
cache t chc nh sau:
Mi b iu khin cache s theo di cc thao tc ghi vo b nh t cc b
phn khc. Nu thao tc ghi vo phn b nh chia s c nh x vo cache ca n qun
l, b iu khin cache s v hiu ho s thm nhp ny. Chin lc ny ph thuc vo
cch ghi ng thi trn tt c cc b iu khin cache.
Mt vi mch c dng iu khin vic cp nht, mt thao tc ghi vo b
nh t mt cache no s c cp nht trn cc cache khc.
Mt vng nh chia s cho mt hay nhiu b x l th khng c nh x ln
cache. Nh vy, tt c cc thm nhp vo vng nh chia s ny u b tht bi cache.

IV.5. HIU QU CA CACHE


Thng thng ngi ta dng thi gian thm nhp trung bnh b nh trong
nh gi hiu qu ca cache.
Thi gian thm nhp trung bnh c cho bi cng thc:
Thi gian thm nhp Thi gian thm T l Trngphat
*

=
+


trung bnh bnh
nhpthanh cng thtbai thtbai

Thi gian thm nhp thnh cng l thi gian thm nhp vo mt thng tin trong mt
thnh cng cache. T s tht bi l t s gia s tht bi cache v tng s thm nhp cache.
Thi gian thm nhp thnh cng v trng pht tht bi c o bng n v thi gian hoc
bng chu k xung nhp (clock cycle).
Trong vic tm kim thng tin trong cache phi ch lm gim t l tht bi m
cc nguyn nhn chnh l nh sau:

72

Chng IV: Cc cp b nh

Kin trc my tnh

- Khi ng: trong ln thm nhp cache u tin, khng c thng tin cn tm
trong cache nn phi chuyn khi cha thng tin vo cache.
- Kh nng: v cache khng th cha tt c cc khi cn thit cho vic thi hnh
mt chng trnh nn gp tht bi do cache thiu kh nng, do mt khi b ly ra khi
cache ri li c a vo sau ny.
- Tranh chp: Nu chin thut thay th cc khi l phi hp theo tp hp hay
tng ng trc tip, cc tht bi do tranh chp xy ra v mt khi c th b a ra khi
cache ri c gi vo sau nu c nhiu khi phi c thay th trong cc tp hp.
Ba nguyn nhn trn cho ta nim v nguyn nhn tht bi, nhng m hnh n
gin trn c nhng hn ch ca n. M hnh ny gip ta thy mt s liu trung bnh
nhng cha gii thch c tng tht bi mt. V d, nu tng kch thc cache th gim
tht bi do tranh chp v tht bi do kh nng v cache cng ln th nhiu khi c th
c a vo. Tuy nhin, mt tht bi c th i t tht bi do kh nng n tht bi do
tranh chp khi kch thc ca cache thay i. Khi nu ba nguyn nhn trn ta khng
lu n cch thc thay th cc khi. Cch thc ny c th dn n nhng vn hnh bt
thng nh l t l tht bi cao ln khi phi hp ln ln.

IV.6. CACHE DUY NHT HAY CACHE RING L


Cache duy nht cha ng thi lnh v d liu.
Cache ring l phn bit cache lnh v cache d liu.
Gii php sau c li l trnh cc kh khn do kin trc, khi thi hnh cc lnh
dng k thut ng dn.
Vi mt cache duy nht, s c tranh chp khi mt lnh mun thm nhp mt s
liu trong cng mt chu k ca giai on c mt lnh khc. Cache ring l cn gip ti
u ho mi loi cache v mt kch thc tng qut, kch thc cc khi v phi hp
cc khi.

IV.7. CC MC CACHE
Vic dng cache trong c th lm cho s cch bit gia kch thc v thi gian
thm nhp gia cache trong v b nh trong cng ln. Ngi ta a vo nhiu mc
cache:
Cache mc mt (L1 cache): thng l cache trong (on-chip cache; nm bn
trong CPU)
Cache mc hai (L2 cache) thng l cache ngoi (off-chip cache; cache
ny nm bn ngoi CPU).
Ngoi ra, trong mt s h thng (PowerPC G4, IBM S/390 G4, Itanium
ca Intel) cn c t chc cache mc ba (L3 cache), y l mc cache trung gian gia
cache L2 v mt th b nh.

73

Chng IV: Cc cp b nh

Kin trc my tnh

Kiu

Nm pht
hnh

L1 Cache a

L2 Cache

L3 Cache

IBM 360/85
PDP-11/70
VAX 11/780
IBM 3033
IBM 3090
Intel 80486
Pentium

Mainframe
Mini Computer
Mini Computer
Mainframe
Mainframe
PC
PC

1968
1975
1978
1978
1985
1989
1993

16 to 32 KB
1 KB
16 KB
64 KB
128 to 256 KB
8 KB
8 KB / 8 KB

PowerPC 601
PowerPC 620
PowerPC G4

PC
PC
PC/Server

1993
1996
1999

32 KB
32 KB / 32 KB
32 KB / 32 KB

IBM S390/G4
IBM S390/G6
Pentium 4
IBM SP

Mainframe
Mainframe
PC/Server
High-End server/
Super Computer
Super Computer
PC/Server
High-End server

1997
1999
2000
2000

32 KB
256 KB
8 KB / 8 KB
64 KB / 32 KB

256 to 512
KB
256KB to
1MB
256 KB
8 MB
256 KB
8 MB

2000
2001
2001

8 KB
16 KB / 16 KB
32 KB / 32 KB

B x l

CRAY MTA b
Itanium
SGI Origin 2001
a

2 MB
96 KB
4 MB

2 MB
2 MB
2 MB
-

Hai gi tr cch nhau bi du / ch gi tr cache lnh v cache d liu


C hai gi tr u l cache lnh
Bng IV.2: Kch thc cache ca mt s h thng

IV.8. B NH TRONG
B nh trong tho mn cc yu cu ca cache v c dng lm m vo
ra v b nh trong va l ni cha cc thng tin t ngoi a vo, va l ni xut
ra cc thng tin cho cache. Vic o hiu qu ca b nh trong da vo thi gian
thm nhp v b rng di thng. Thng thng thi gian thm nhp b nh trong l
phn t quan trng cho cache trong lc di thng b nh l phn chnh cho cc tc
v xut nhp. Vi vic dng ph bin cc cache ngoi, di thng ca b nh trong
cng tr thnh quan trng cho cache.
Mc d cache cn b nh trong c thi gian thm nhp nh, nhng thng th
d ci thin di thng b nh nh nhiu cch t chc b nh mi, hn l gim thi
gian thm nhp cho cache. Cache th hng cc tin b v di thng bng cch tng
kch thc ca mi khi ca cache m khng tng ng k trng pht tht bi cache.
Ngi ta dng cc k thut sau y ni rng di thng ca b nh trong:
Ni rng chiu di nh trong. y l k thut n gin tng gii thng
b nh. Thng thng cache v b nh trong c chiu rng nh l chiu rng 1 t v b
x l thm nhp vo mt t nh. Nhn i, nhn bn chiu rng nh ca cache v b
nh trong lm lu lng thm nhp b nh trong c nhn i hay nhn bn. Vy cng
phi chi tiu thm ni rng bus b nh (l bus ni b x l vi b nh).
Mt v d b x l c chiu di nh trong ln l b x l ALPHA AXP 21064 (Hng
DEC). Cache ngoi, b nh trong v bus b nh u c rng l 256 bit.

74

Chng IV: Cc cp b nh

Kin trc my tnh

B nh an cho n gin: cc IC b nh c th c t chc thnh di c hay


vit nhiu t cng mt lc thay v ch c mt t, rng ca bus v ca cache khng thay i.
Khi gi nhiu a ch n nhiu di th ta c c nhiu t cng mt lc. B nh an cho cng
cho php ghi vo b nh nhiu t cng mt lc. T chc b nh an cho n gin khng
rc ri nhiu so vi t chc bnh thng ca b nh trong v cc di c th dng chung
cc ng a ch vi b iu khin nh, v nh th mi di c th dng phn s liu
ca bus b nh. SDRAM v DDR SDRAM l cc loi RAM dng k thut ny
B nh an cho t chc thnh di c lp: mt t chc b nh an cho
hiu qu hn, l cho php nhiu thm thp b nh v nh th cho php cc di lm vic
c lp vi nhau. Mi di cn c cc ng a ch ring bit v i khi cn bus s liu
ring bit: Trong trng hp ny b x l c th tip tc cng vic ca mnh trong lc
ch i s liu (trng hp tht bi cache). RDRAM l b nh loi ny
Trnh xung t gia cc di b nh. Trong cc my tnh a x l v my
tnh vect, h thng b nh c thit k nhm cho php nhiu yu cu thm nhp c
lp nhau. S hiu qu ca h thng tu thuc vo tn s cc trng hp c yu cu c
lp thm nhp vo cc di khc nhau. Vi s an cho bnh thng (hnh IV.6), cc thm
nhp tun t hoc tt c cc thm nhp vo cc a ch cch bit nhau mt s chn, th
vn hnh tt nhng s gp rc ri nu s cch bit gia cc a ch l mt s l. Mt bin
php m cc my tnh ln dng l lm gim bt cc trng hp xung t tnh bng cch
tng s lng cc di. Th d, my NEC SX/3 chia b nh trong ra 128 di.
a ch
0
4
8
12

Di 0

a ch
Di 1
a ch
Di 2
a ch
Di 3
1
2
3
5
6
7
9
10
11
13
14
15
Hnh IV.6: B nh an cho bc 4.
Di th i cha tt c cc t c a ch tho mn cng thc (a ch) mod 4 = i

IV.9. B NH O
B nh o xc nh mt c ch vn chuyn t ng s liu gia b nh trong v
b nh ngoi (a t).
Trc y, khi di ca chng trnh vt qu gii hn dung lng b nh th
ngi lp trnh phi phn chia chng trnh ca mnh thnh tng phn t loi b nhau
(overlays) v phi t qun l vic trao i thng tin gia b nh v a t. B nh o lm
nh trch nhim ca cc nh lp trnh bng cch lm cho vic trao i thng tin ny c
thc hin mt cch t ng.
Trong cc b x l hin i, b nh o c dng cho php thc hin cng
lc nhiu tin trnh (process), mi tin trnh c mt khng gian nh v ring. Nu tt c
cc khng gian nh v ny u thuc khng gian nh v b nh trong th rt tn km. B
nh o bao gm b nh trong v b nh ngoi c phn tch thnh khi c th cung
cp cho mi chng trnh mt s khi cn thit cho vic thc hin chng trnh . Hnh
IV.7 cho thy mt chng trnh cha trong b nh o gm 4 khi, 3 trong 4 khi nm b
nh trong, khi th t nm trn a.

75

Chng IV: Cc cp b nh

Kin trc my tnh


a ch o
0
4K
8K
12K
16K
20K
24K
28K
32K
...
...
16M

a ch vt l
A
B
C
D

b nh trong

0
4K
8K
12K
16K
20K
24K
28K

A
B

...
...

a cng

DD

b nh o

Hnh IV.7. Mt chng trnh gm 4 trang A,B,C,D


trong trang D nm trong a
Ngoi vic phn chia khng gian b nh, cn bo v v qun l t ng cc cp
b nh, b nh o n gin ho vic np chng trnh vo b nh thi hnh nh mt c
ch c gi l s ti nh a ch (address relocation). C ch ny cho php mt chng
trnh c th c thi hnh khi n nm bt c v tr no trong b nh.
Tham s
Cache
B nh o
Chiu di mi khi (trang)

16 - 128 byte

4096 - 65536 bytes

Thi gian thm nhp thnh cng

1 - 2 xung nhp

40 - 100 xung nhp

Trng pht khi tht bi

8 - 100 xung nhp

700.000 - 6 triu xung

(Thi gian thm nhp)

6 - 60 xung

500.000 - 4 triu xung

(Di chuyn s liu)

2 - 40 xung

200.000 - 2 triu xung

T s tht bi

0,5% - 10%

0,00001% - 0,001%

Dung lng

8 KB 8MB

16 MB 8GB

Bng IV.3: i lng in hnh cho b nh cache v b nh o.


So vi b nh cache th cc tham s ca b nh o tng t 10 n 100.000 ln
Ngoi s khc bit nh lng m ta thy trong hnh IV.9, c nhng khc bit
khc gia b nh cache v b nh o l:
- Khi tht bi cache, s thay th mt khi trong cache c iu khin bng
phn cng, trong khi s thay th trong b nh o l ch yu do h iu hnh.

76

Chng IV: Cc cp b nh

Kin trc my tnh

- Khng gian nh v m b x l qun l l khng gian nh v ca b nh


o, trong lc th dung lng b nh cache khng tu thuc vo khng gian nh v
b x l.
- B nh ngoi cn c dng lu tr tp tin ngoi nhim v l hu
phng ca b nh trong (trong cc cp b nh).
B nh o cng c thit k bng nhiu k thut c th cho chnh n.
Cc h thng b nh o c th c chia thnh 2 loi: loi vi khi c dung
lng c nh gi l trang, v loi vi khi c chiu di thay i gi l on. nh v
trang xc nh mt a ch trong trang, ging nh nh v trong cache. Trong nh v
on cn 2 t: mt t cha s th t on v mt t cha di trong on. Chng
trnh dch gp kh khn nhiu hn trong nh v on.
Do vic thay th cc on, ngy nay t my tnh dng nh v on thun tu.
Mt vi my dng cch hn hp gi l on trang. Trong mi on cha mt s
nguyn cc trang.By gi chng ta tr li 4 cu hi t ra trong cc cp b nh cho b
nh o.
Cu hi 1: Mt khi c t ti u trong b nh trong?
Vic trng pht b nh o khi c tht bi, tng ng vi vic phi thm nhp
vo a. Vic thm nhp ny rt chm nn ngi ta chn phng n hon ton phi
hp trong cc khi (trang) c th nm bt k v tr no trong b nh trong. Cch
ny cho t l tht bi thp.

Hnh IV.8: nh x cc trang o vo b nh vt l


Cu hi 2: Lm th no tm mt khi khi n ang nm trong b nh trong?
nh v trang v nh v on u da vo mt cu trc d liu trong s
th t trang hoc s th t on c c ch s. Cho nh v trang, da vo bng
trang, a ch trong b nh vt l c xc lp cui cng l vic t k nhau s th
ca trang vt l vi a ch trong trang (hnh IV.9). Cho nh v on, da vo thng
tin trn bng on, vic kim tra tnh hp l ca a ch c tin hnh. a ch vt
cui cng c xc lp bng cch cng a ch on v a ch trong on ( di
trong on) (hnh IV.10).

77

Chng IV: Cc cp b nh

Kin trc my tnh

Hnh IV.9 : Minh ho s nh x a ch gia b nh o v b nh vt l


trong nh v trang
Bng on
Limit

CPU

Base

a ch
logic

ng
+

<
S: a ch on trong b nh
o
D: di on trong b nh o
Limit: gii hn ti a ca on
Base: di trong on

sai

a ch
vt l

B NH
TRONG

Hnh IV.10 : nh x a ch gia b nh o v b nh vt l trong cch nh v on

78

Chng IV: Cc cp b nh

Kin trc my tnh

Cu hi 3: Khi no phi c thay th khi c tht bi trang?


Hu ht cc h iu hnh u c gng thay th khi t dng gn y nht (LRU:
Least Recent Utilized) v ngh rng y l khi t cn nht.
Cu hi 4: Vic g xy ra khi cn ghi s liu?
Chin thut ghi lun l mt s ghi li ngha l thng tin ch c vit vo trong
khi ca b nh trong. Khi c thay i thng tin, c chp vo a t nu khi ny b
thay th.

IV.10. BO V CC TIN TRNH BNG CCH DNG B NH O


S xut hin ca a chng trnh (multiprogram) trong my tnh chy nhiu
chng trnh song song vi nhau, dn ti cc i hi mi v vic bo v v phn chia
gia cc chng trnh.
a chng trnh a n khi nim tin trnh (process): mt tin trnh gm c
mt chng trnh ang thc hin v tt c cc thng tin cn thit tip tc thc hin
chng trnh ny.
Trong a chng trnh, b x l v b nh trong c nhiu ngi s dng
chia s mt cch qua li (interactive), cng mt thi im, to cm gic rng
mi ngi dng ang c mt my tnh ring. V nh th, ti bt c lc no, phi c
th chuyn i t mt tin trnh ny sang mt tin trnh khc.
Mt tin trnh phi vn hnh ng n, d n c thi hnh lin tc t u ti
cui, hay n b ngt qua li bi cc tin trnh khc. Trch nhim m bo cc tin trnh
u chy ng, c chia s gia nh thit k my tnh v nh thit k h iu hnh. Nh
thit k my tnh phi m bo b x l c th lu gi trng thi cc tin trnh v phc
hi cc trng thi ny, cn nh thit k h iu hnh phi m bo cc tin trnh khng
nh hng ln nhau. H iu hnh gii quyt vn ny bng cch chia b nh trong cho
cc tin trnh v trng thi ca mi tin trnh ny hin din trong phn b nh c chia
cho n. iu ny c ngha rng cc nh thit k h iu hnh phi c s gip sc ca
cc nh ch to my tnh bo v mt tin trnh khng b nh hng bi tin trnh khc.
Nh thit k my tnh c thm 3 trch nhim trong vic gip cc nh thit k h
iu hnh bo v cc tin trnh l:
1. Cung cp hai ch vn hnh cho bit tin trnh ang thc hin l tin trnh
ca ngi s dng hay tin trnh h thng (ca ngi iu hnh).
2. Cung cp mt tp hp con trng thi ca b x l m tin trnh ngi s
dng c th dng nhng khng th sa i.
3. Cung cp cc c ch c th chuyn i t ch ngi dng sang ch
ngi iu hnh v ngc li.
Chng ta thy, a ch m b x l a ra phi c bin i t a ch o
sang a ch vt l. iu ny gip phn cng i xa na trong vic bo v cc tin trnh.
Cch n gin nht lm vic ny l cho php tin trnh ngi s dng tc ng ln cc bit
cho php thm nhp vo mi trang hay mi on. Khi b x l pht ra tn hiu c (hay
vit) v tn hiu ngi dng (hay h thng) th rt d dng pht hin cc vic thm nhp

79

Chng IV: Cc cp b nh

Kin trc my tnh

tri php b nh trc khi vic thm nhp ny gy h hi. Cc tin trnh c bo v v
c bng trang ring cho mnh tr n cc trang tch ri nhau trong b nh.
*****

80

Chng IV: Cc cp b nh

Kin trc my tnh

CU HI N TP V BI TP CHNG IV

*****
1. S khc nhau gia SRAM v DRAM? Trong my tnh chng c dng
u?
2. Mc tiu ca cc cp b nh?
3. Nu hai nguyn tc m cache da vo vn hnh.
4. Cho mt b nh cache tng ng trc tip c 8 khi, mi khi c 16 byte. B
nh trong c 64 khi. Gi s lc khi ng my, 8 khi u tin ca b nh
trong c a ln cache.
a. Vit bng nhn ca cc khi hin ang nm trong cache
b. CPU ln lt a cc a ch sau y c s liu: O4AH, 27CH, 3F5H.
Nu tht bi th cp nht bng nhn.
c. CPU dng cch ghi li. Khi tht bi cache, CPU dng cch ghi c np.
M t cng vic ca b qun l cache khi CPU a ra cc t sau y ghi
vo b nh trong: 0C3H, 05AH, 1C5H.
5. Cc nguyn nhn chnh gy tht bi cache?
6. Cc gii php m bo tnh ng nht d liu trong h thng b a x l c
b nh chia s dng chung?
7. Cc cch ni rng dy thng ca b nh trong?
8. Ti sao phi dng b nh o?
9. S khc bit gia cache v b nh o?

81

Chng V: Nhp xut

Kin trc my tnh

Chng V: NHP - XUT


Mc ch: Gii thiu mt s thit b lu tr ngoi nh: a t, a quang, th nh,
bng t. Gii thiu h thng kt ni c bn cc b phn bn trong my tnh. Cch giao
tip gia cc ngoi vi v b x l. Phng php an ton d liu trn thit b lu tr
ngoi.
Yu cu: Sinh vin phi nm vng cc kin thc v h thng kt ni c bn cc b
phn bn trong my tnh, cch giao tip gia cc ngoi vi v b x l. Bit c cu to
v cc vn hnh ca cc loi thit b lu tr ngoi v phng php an ton d liu trn
a cng.

V.1. DN NHP
B x l ca my tnh in t lin h vi bn ngoi nh cc b phn xut nhp
(I/O) m ta cn gi l ngoi vi.
Cc ngoi vi thng dng l:
- Mn hnh, bn phm, chut, my in, th mng... l nhng b phn gip con
ngi s dng my tnh d dng.
- Cc a t, bng t, a quang, cc loi th nh l nhng b phn lu tr thng
tin tr lng ln.
Tt c cc ngoi vi u c ni vo b x l v b nh trong bng mt h
thng dy ni phc tp v tnh a dng ca cc ngoi vi.
Trong chng ny chng ta tp trung ni n cc b phn lu tr s liu c tr
lng cao (a t, a quang, bng t) v s kt ni cc b phn ny vo my tnh.

V.2. A T
D rng cng ngh mi khng ngng pht minh nhiu loi b phn lu tr mt
lng thng tin ln nhng a t vn gi v tr quan trng t nm 1965. a t c hai
nhim v trong my tnh.
- Lu tr di hn cc tp tin.
- Thit lp mt cp b nh bn di b nh trong lm b nh o lc chy
chng trnh.
Do a mm dn c cc thit b lu tr khc c cc tnh nng u vit hn nn
chng ta khng xt n thit b ny trong chng trnh m ch ni n a cng. Trong ti
liu ny m t mt cch khi qut cu to, cch vn hnh cng nh cp n cc tnh
cht quan trng ca a cng.
Mt a cng cha nhiu lp a (t 1 n 4) quay quanh mt trc khong 3.60015.000 vng mi pht. Cc lp a ny c lm bng kim loi vi hai mt c ph mt
cht t tnh (hnh V.1). ng knh ca a thay i t 1,3 inch n 8 inch. Mi mt ca
mt lp a c chia thnh nhiu ng trn ng trc gi l rnh. Thng thng mi
mt ca mt lp a c t 10.000 n gn 30.000 rnh. Mi rnh c chia thnh nhiu
cung (sector) dng cha thng tin. Mt rnh c th cha t 64 n 800 cung. Cung l n
v nh nht m my tnh c th c hoc vit (thng thng khong 512 bytes). Chui
thng tin ghi trn mi cung gm c: s th t ca cung, mt khong trng, s liu ca
cung bao gm c cc m sa li, mt khong trng, s th t ca cung tip theo.

82

Chng V: Nhp xut

Kin trc my tnh

Vi k thut ghi mt khng u, tt c cc rnh u c cng mt s cung,


iu ny lm cho cc cung di hn cc rnh xa trc quay c mt ghi thng tin thp
hn mt ghi trn cc cung nm gn trc quay.

Hnh V.1: Cu to ca mt a cng


Vi cng ngh ghi vi mt u, ngi ta cho ghi nhiu thng tin hn cc
rnh xa trc quay. Cng ngh ghi ny ngy cng c dng nhiu vi s ra i ca cc
chun giao din thng minh nh chun SCSI.

Mt ghi khng u

Mt ghi u

Hnh V.2: Mt ghi d liu trn cc loi a cng


c hoc ghi thng tin vo mt cung, ta dng mt u c ghi di ng p vo
mi mt ca mi lp a. Cc u c/ghi ny c gn cht vo mt thanh lm cho

83

Chng V: Nhp xut

Kin trc my tnh

chng cng di chuyn trn mt ng bn knh ca mi lp a v nh th tt c cc u


ny u trn nhng rnh c cng bn knh ca cc lp a. T tr (cylinder) c
dng gi tt c cc rnh ca cc lp a c cng bn knh v nm trn mt hnh tr.
Ngi ta lun mun c nhanh a t nn thng thng a c nhiu hn s
d liu cn c; ngi ta ni y l cch c trc. qun l cc phc tp khi kt ni
(hoc ngng kt ni) lc c (hoc ghi) thng tin, v vic c trc, a cn c b iu
khin a.
Cng nghip ch to a t tp trung vo vic nng cao dung lng ca a m
n v o lng l mt trn mt n v b mt.

Bng V.1: Thng s k thut ca a cng

V.3. A QUANG
Cc thit b lu tr quang rt thch hp cho vic pht hnh cc sn phm vn
ho, sao lu d liu trn cc h thng my tnh hin nay. Ra i vo nm 1978, y l
sn phm ca s hp tc nghin cu gia hai cng ty Sony v Philips trong cng nghip
gii tr. T nm 1980 n nay, cng nghip a quang pht trin mnh trong c hai lnh
vc gii tr v lu tr d liu my tnh. Qu trnh c thng tin da trn s phn chiu
ca cc tia laser nng lng thp t lp lu tr d liu. B phn tip nhn nh sng s
nhn bit c nhng im m ti tia laser b phn x mnh hay bin mt do cc vt
khc (pit) trn b mt a. Cc tia phn x mnh ch ra rng ti im khng c l khc
v im ny c gi l im nn (land). B nhn nh sng trong a thu nhn cc tia
phn x v khuch tn c khc x t b mt a. Khi cc ngun sng c thu nhn, b
vi x l s dch cc mu sng thnh cc bit d liu hay m thanh. Cc l trn CD su 0,12
micron v rng 0,6 micron (1 micron bng mt phn ngn mm). Cc l ny c khc
theo mt track hnh xon c vi khong cch 1,6 micron gia cc vng, khong 16.000
track/inch. Cc l (pit) v nn (land) ko di khon 0,9 n 3,3 micron. Track bt u t
pha trong v kt thc pha ngoi theo mt ng khp kn cc ra a 5mm. D liu
lu trn CD thnh tng khi, mi khi cha 2.352 byte. Trong , 304 byte cha cc

84

Chng V: Nhp xut

Kin trc my tnh

thng tin v bit ng b, bit nhn dng (ID), m sa li (ECC), m pht hin li (EDC).
Cn li 2.048 byte cha d liu. Tc c chun ca CD-ROM l 75 khi/s hay
153.600 byte/s hay 150KB/s (1X).
Di y l mt s loi a quang thng dng.
CD (Compact Disk): a quang khng th xo c, dng trong cng nghip
gii tr (cc a m thanh c s ho). Chun a c ng knh 12 cm, m thanh pht t
a khong 60 pht (khng dng).
CD-ROM (Compact Disk Read Only Memory): a khng xo dng cha cc
d liu my tnh. Chun a c ng knh 12 cm, lu tr d liu hn 650 MB. Khi pht
hnh, a CD-ROM c cha ni dung. Thng thng, da CD-ROM c dng
cha cc phn mm v cc chng trnh iu khin thit b.
CD-R (CD-Recordable): Ging nh a CD, a mi cha c thng tin, ngi
dng c th ghi d liu ln a mt ln v c c nhiu ln. D liu trn a CD-R
khng th b xo.
CD-RW (CD-Rewritable): Ging nh a CD, a mi cha c thng tin, ngi
dng c th ghi d liu ln a, xo v ghi li d liu trn a nhiu ln.
DVD (Digital Video Disk - Digital Versatile Disk): Ra i phc v cho cng
nghip gii tr, a cha cc hnh nh video c s ho. Ngy nay, DVD c s dng
rng ri trong cc ng dng cng ngh thng tin. Kch thc a c hai loi: 8cm v 12
cm. a DVD c th cha d liu trn c hai mt a, dung lng ti a ln n 17GB.
Cc thng s k thut ca a DVD-ROM (loi a ch c) so vi CD-ROM. Tc c
chun (1X) ca DVD l 1.3MB/s (1X ca DVD tng ng khong 9X ca CDROM).
DVD-R (DVD-Recordable): Ging nh a DVD-ROM, ngi dng c th ghi
d liu ln a mt ln v c c nhiu ln. a ny ch c th ghi c trn mt mt
a, dung lng ghi trn mi mt ti a l 4.7 GB.
DVD-RW (DVD-Rewritable): Ging nh a DVD-ROM, ngi dng c th
ghi, xo v ghi li d liu ln a nhiu ln.. a ny cng c th ghi c trn mt mt
a, dung lng ghi trn mi mt ti a l 4.7 GB.

Bng V.2: So snh mt s thng s ca hai loi a CDROM v DVDROM

85

Chng V: Nhp xut

Kin trc my tnh

Vi cc c tnh ca a quang, gi thnh ngy cng thp, c xem nh mt


phng tin thch hp phn phi cc phn mm cho my vi tnh. Ngoi ra, a quang
cn c dng lu tr lu di cc d liu thay th cho bng t.

V.4. CC LOI TH NH
Hin nay, th nh l mt trong nhng cng ngh mi nht c dng lm thit
b lu tr. Th nh flash l mt dng b nh bn dn EEPROM(cng ngh dng ch
to cc chip BIOS trn cc v mch chnh), c cu to bi cc hng v cc ct. Mi v
tr giao nhau l mt nh gm c hai transistor, hai transistor ny cch nhau bi mt lp
-xt mng. Mt transistor c gi l floating gate v transistor cn li c gi l
control gate. Floating gate ch c th ni kt vi hng (word line) thng qua control gate.
Khi ng kt ni c thit lp, bit c gi tr 1. chuyn sang gi tr 0 theo mt qui
trnh c tn Fowler-Nordheim tunneling. Tc , yu cu v dng in cung cp thp v
c bit vi kch thc nh gn ca cc loi th nh lm cho kiu b nh ny c dng
rng ri trong cng ngh lu tr v gii tr hin nay.

Hnh V.3: Minh ho hai trng thi ca mt bit nh trong th nh

V.5. BNG T
Bng t c cng cng ngh vi cc a t nhng khc a t hai im:
- Vic thm nhp vo a t l ngu nhin cn vic thm nhp vo bng t l
tun t. Nh vy vic tm thng tin trn bng t mt nhiu thi gian hn vic tm thng
tin trn a t.
- a t c dung lng hn ch cn bng t gm c nhiu cun bng c th ly
ra khi my c bng nn dung lng ca bng t l rt ln (hng trm GB). Vi chi ph
thp, bng t vn cn c dng rng ri trong vic lu tr d liu d phng.
Cc bng t c chiu rng thay i t 0,38cm n 1,27 cm c ng thnh
cun v c cha trong mt hp bo v. D liu ghi trn bng t c cu trc gm mt
s cc rnh song song theo chiu dc ca bng.
C hai cch ghi d liu ln bng t:
Ghi ni tip: vi k thut ghi xon c, d liu ghi ni tip trn mt rnh ca
bng t, khi kt thc mt rnh, bng t s quay ngc li, u t s ghi d liu trn rnh
mi tip theo nhng vi hng ngc li. Qu trnh ghi c tip din cho n khi y
bng t.
Ghi song song: tng tc c-ghi d liu trn bng t, u c - ghi c th
c-ghi mt s rnh k nhau ng thi. D liu vn c ghi theo chiu dc bng t
nhng cc khi d liu c xem nh ghi trn cc rnh k nhau. S rnh ghi ng thi
trn bng t thng thng l 9 rnh (8 rnh d liu - 1byte v mt rnh kim tra li).

86

Chng V: Nhp xut

Kin trc my tnh

V.6. BUS NI NGOI VI VO B X L V B NH TRONG


Trong my tnh, b x l v b nh trong lin lc vi cc ngoi vi bng bus. Bus
l mt h thng cc dy cp ni (khong 50 n 100 si cp ring bit) trong mt
nhm cc cp c nh ngha chc nng khc nhau bao gm: cc ng d liu, cc
ng a ch, cc dy iu khin, cung cp ngun. Dng bus c 2 u im l gi tin
thp v d thay i ngoi vi. Ngi ta c th g b mt ngoi vi hoc thm vo ngoi vi
mi cho cc my tnh dng cng mt h thng bus.
Gi tin thit k v thc hin mt h thng bus l r, v nhiu ng vo/ra cng
chia s mt s ng dy n gin. Tuy nhin, im tht li chnh ca bus l to ra
nghn c chai, iu ny lm gii hn lu lng vo/ra ti a. Cc h thng my tnh dng
cho qun l phi dng thng xuyn cc ngoi vi, nn kh khn chnh l phi c mt h
thng bus kh nng phc v b x l trong vic lin h vi cc ngoi vi.
Mt trong nhng l do khin cho vic thit k mt h thng bus kh khn l tc
ti a ca bus b gii hn bi cc yu t vt l nh chiu di ca bus v s b phn
c mc vo bus.
Cc bus thng c hai loi: bus h thng ni b x l vi b nh (system bus,
Front Side Bus-FSB) v bus ni ngoi vi (bus vo/ra I/O bus) (hnh V.4). Bus vo/ra c
th c chiu di ln v c kh nng ni kt vi nhiu loi ngoi vi, cc ngoi vi ny c
th c lu lng thng tin khc nhau, nh dng d liu khc nhau. Bus kt ni b x l
vi b nh th ngn v thng th rt nhanh. Trong giai on thit k bus kt ni b x l
vi b nh, nh thit k bit trc cc linh kin v b phn m ng ta cn kt ni li, cn
nh thit k bus vo/ra phi thit k bus tho mn nhiu ngoi vi c mc tr hon v lu
lng rt khc nhau (xem hnh V.6).

Hnh V.4: H thng bus trong mt my tnh

87

Chng V: Nhp xut

Kin trc my tnh

Hin nay, trong mt s h thng my tnh, bus ni ngoi vi c phn cp thnh


hai h thng bus con. Trong , bus tc cao (high-speed bus) h tr kt ni cc thit b
tc cao nh SCSI, LAN, Graphic, Video,v h thng bus m rng (expansion bus)
c thit k kt ni vi cc ngoi vi yu cu tc thp nh: modem, cng ni tip,
cng song song,Gia hai h thng bus ni ngoi vi trong t chc h thng bus phn
cp l mt giao din m (hnh V.5).

Hnh V.5: H thng bus phn cp

Hnh V.6: Bng biu din tc d liu ca cc ngoi vi


88

Chng V: Nhp xut

Kin trc my tnh

Ta c th c nhiu la chn trong vic thit k mt bus, nh trong bng V.3.


c tnh ca
bus

Bus h thng

Bus ni ngoi vi

rng ca bus

ng dy a ch v s liu
khc nhau

ng a ch v s liu c a hp

rng bus s liu

Cng rng cng nhanh (v d


64 bt)

Cng hp cng t tn km (v d 8 bt)

S t c chuyn

Chuyn nhiu t

Chuyn n gin mi ln mt t

Ch nhn ca bus

Nhiu

Mt

Chuyn tng gi

C. Cn nhiu ch nhn bus

Xung nhp

ng b

Khng. Kt ni mt ln v chuyn ht
thng tin
Bt ng b

Bng V.3: Cc la chn chnh yu cho mt bus


Trong bng V.3 c khi nim sau y lin quan n cc ch nhn ca bus - cc
b phn c th khi ng mt tc v c hoc vit trn bus. V d b x l lun l mt
ch nhn ca bus. Mt bus c nhiu ch nhn khi n c nhiu b x l, hoc khi cc
ngoi vi c th khi ng mt tc v c dng bus. Nu c nhiu ch nhn ca bus th
phi c mt c ch trng ti quyt nh ch nhn no c quyn chim lnh bus. Mt
bus c nhiu ch, c th cp mt di thng rng (bandwidth) bng cch s dng cc gi
tin thay v dng bus cho tng tc v ring l. K thut s dng gi tin c gi l phn
chia nh tc v (dng bus chuyn gi). Mt tc v c c phn tch thnh mt tc v
yu cu c (tc v ny cha a ch cn c), v mt tc v tr li ca b nh (cha
thng tin cn c). Mi tc v u c mt nhn cho bit loi ca tc v. Trong k thut
phn chia nh tc v, trong khi b nh c cc thng tin a ch xc nh th bus
c dnh cho cc ch khc.
Bus h thng l mt bus ng b, n gm c mt xung nhp trong cc ng
dy iu khin, v mt nghi thc cho cc a ch v cc s liu i vi xung nhp. Do c
rt t hoc khng c mch logic no dng quyt nh hnh ng k tip no cn thc
hin, nn cc bus ng b va nhanh, va r tin. Trn bus ny, tt c u phi vn hnh
vi cng mt xung nhp.
Ngc li, cc bus vo/ra thuc loi bus bt ng b, cc bus ny khng c xung
nhp ng b trong h thng bus. Thay vo c cc nghi thc bt tay vi cc quy nh
ring v thi gian, c dng gia cc b phn pht v b phn thu ca bus. Bus bt
ng b rt d thch ng vi nhiu ngoi vi v cho php ni di bus m khng phi lo
ngi g n vn ng b. Bus bt ng b cng d thch ng vi nhng thay i cng
ngh.

V.7. CC CHUN V BUS


S lng v chng loi cc b phn vo/ra khng cn nh trc trong cc h
thng x l thng tin. iu ny gip cho ngi s dng my tnh dng b phn vo/ra
no p ng c cc yu cu ca h. Vo/ra l giao din trn cc b phn (thit b)

89

Chng V: Nhp xut

Kin trc my tnh

c kt ni vo h thng. N c th xem nh mt bus ni rng dng kt ni thm


ngoi vi vo my tnh. Cc chun lm cho vic ni kt cc ngoi vi vo my tnh c d
dng; bi v, trong khi cc nh thit k-sn xut my tnh v cc nh thit k-sn xut
ngoi vi c th thuc cc cng ty khc nhau. S tn ti cc chun v bus l rt cn thit.
Nh vy, nu nh thit k my tnh v nh thit k ngoi vi tn trng cc chun v bus
ny th cc ngoi vi c th kt ni d dng vo my tnh. Chun ca bus vo/ra l ti liu
quy nh cch kt ni ngoi vi vo my tnh.
Cc my tnh qu thng dng th cc chun v bus vo/ra ca chng c th c
xem l chun cho cc hng khc (v d: trc y, UNIBUS ca my PDP 11, cc chun
v bus ca my IBM PC, AT v hin nay l cc chun ca hng Intel lin quan n cc
my vi tnh). Cc chun v bus phi c cc c quan v chun nh ISO, ANSI v IEEE
cng nhn.

V.8. GIAO DIN GIA B X L VI CC B PHN VO RA


B x l dng 2 cch lin lc vi cc b phn vo ra:
Cch th nht, thng c dng: l cch dng mt vng a ch ca b nh
lm vng a ch ca cc ngoi vi. Khi c hay vit vo vng a ch ny ca b nh l
lin h n cc ngoi vi.
Cch th hai, dng m lnh ring bit cho vo/ra (tc l c cc lnh vo/ra ring,
khng trng vi lnh c hay vit vo nh). Trong trng hp ny, b x l gi mt tn
hiu iu khin cho bit a ch ang dng l ca mt ngoi vi. Vi mch Intel 8086 v
my IBM 370 l cc v d v b x l dng lnh vo/ra ring bit.
D dng cch no nh v vo/ra th mi b phn vo/ra u c cc thanh ghi
cung cp thng tin v trng thi v v iu khin. B phn vo/ra dng bit trng thi
sn sng bo cho b x l n sn sng nhn s liu. nh k b x l xem xt bt
ny bit b phn vo ra c sn sng hay khng. Phng php ny l phng php
thm d (polling). V nhc im ca phng php ny l lm mt thi gian ca b x
l v nh k phi thm d tnh sn sng ca cc thit b ngoi vi. iu ny c nhn
thy t lu v dn n pht minh ra ngt qung (interrupt) bo cho b x l bit lc
c mt b phn vo/ra cn c phc v.
Vic dng ngt qung lm cho b x l khng mt thi gian thm d xem cc
ngoi vi c yu cu phc v hay khng, nhng b x l phi mt thi gian chuyn d
liu. Thng thng vic trao i s liu gia ngoi vi v CPU l theo khi s liu, nn vi
mch thm nhp trc tip b nh trong (DMA: Direct Memory Access) c dng trong
nhiu my tnh chuyn mt khi nhiu t m khng c s can thip ca CPU.

Hnh V.7. S hot ng ca h thng bus c vi mch DMA


90

Chng V: Nhp xut

Kin trc my tnh

DMA l mt vi mch chc nng c bit. N chuyn s liu gia ngoi vi v b


nh trong, trong lc CPU rnh ri lm cng vic khc. Vy DMA nm ngoi CPU
v tc ng nh l mt ch nhn ca bus. B x l khi ng cc thanh ghi ca DMA,
cc thanh ghi ny cha a ch nh v s byte cn chuyn. DMA ch ng chuyn s
liu v khi chm dt th tr quyn iu khin cho b x l.
Vi mch DMA cng thng minh th cng vic ca CPU cng nh i. Nhiu vi
mch c gi l b x l vo/ra (hay b iu khin vo/ra) thc hin cng vic mnh
theo mt chng trnh c nh (cha trong ROM), hay theo mt chng trnh m h iu
hnh np vo b nh trong. H iu hnh thit lp mt hng ch i gm cc khi iu
khin cc b phn vo/ ra. Cc khi cha cc thng tin nh l v tr ca s liu (ngun v
ch) v s s liu. Cc b x l vo/ra ly cc thng tin ny trong hng ch i, thc
hin cc vic cn phi lm v gi v CPU tn hiu ngt khi thc hin xong cng vic.
Mt my tnh c b x l vo/ra c xem nh mt my tnh a x l v DMA
gip cho my tnh thc hin cng lc nhiu qu trnh. Tuy nhin b x l vo/ra khng
tng qut bng cc b x l v chng ch lm c mt s vic nht nh. Hn na b x
l vo/ra khng ch bin s liu nh cc b x l thng lm. N ch di chuyn s liu t
ni ny sang ni khc.

V.9. MT S BIN PHP AN TON D LIU TRONG VIC LU TR


THNG TIN TRONG A T
Ngi ta thng ch trng n s an ton trong lu gi thng tin a t hn l
s an ton ca thng tin trong b x l. B x l c th h m khng lm tn hi n
thng tin. a ca my tnh b h c th gy ra cc thit hi rt to ln.
Mt phng php gip tng cng an ton ca thng tin trn a t l dng
mt mng a t. Mng a t ny c gi l H thng a d phng (RAID - Redundant
Array of Independent Disks). Cch lu tr d thng tin lm tng gi tin v s an ton
(ngoi tr RAID 0). C ch RAID c cc c tnh sau:
1. RAID l mt tp hp cc a cng (vt l) c thit lp theo mt k
thut m h iu hnh ch nhn thy ch l mt a (logic) duy nht.
2.

Vi c ch c/ghi thng tin din ra trn nhiu a (ghi an cho hay soi

gng).
3. Trong mng a c lu cc thng tin kim tra li d liu; do , d liu c
th c phc hi nu c mt a trong mng a b h hng .
Tu theo k thut thit lp, RAID c th c cc mc sau:
i). RAID 0: Thc ra, k thut ny khng nm trong s cc k thut c c ch an
ton d liu. Khi mng c thit lp theo RAID 0, a logic c c (m h iu hnh
nhn bit) c dung dng bng tng dung lng ca cc a thnh vin. iu ny gip
cho ngi dng c th c mt a logic c dung lng ln hn rt nhiu so vi dung
lng tht ca a vt l cng thi im. D liu c ghi phn tn trn tt c cc a
trong mng. y chnh l s khc bit so vi vic ghi d liu trn cc a ring l bnh
thng bi v thi gian c-ghi d liu trn a t l nghch vi s a c trong tp hp
(s a trong tp hp cng nhiu, thi gian c ghi d liu cng nhanh). Tnh cht ny

91

Chng V: Nhp xut

Kin trc my tnh

ca RAID 0 tht s hu ch trong cc ng dng yu cu nhiu thm nhp a vi dung


lng ln, tc cao (a phng tin, ho,). Tuy nhin, nh ni trn, k thut
ny khng c c ch an ton d liu, nn khi c bt k mt h hng no trn mt a
thnh vin trong mng cng s dn n vic mt d liu ton b trong mng a. Xc sut
h hng a t l thun vi s lng a c thit lp trong RAID 0. RIAD 0 c th c
thit lp bng phn cng (RAID controller) hay phn mm (Stripped Applications)
Strip 0

Strip 1

Strip 2

Strip 3

Strip 4

Strip 5

Strip 6

Strip 7

Strip 8

Strip 9

Strip 10

Strip 11

Strip 12

Strip 13

Strip 14

Strip 15

Hnh V.8: RAID 0


ii). RAID 1 (Mirror - a gng): Phng cch thng thng trnh mt thng tin
khi a b h l dng a gng, tc l dng 2 a. Khi thng tin c vit vo mt a,
th n cng c vit vo a gng v nh vy lun c mt bn sao ca thng tin. Trong
c ch ny, nu mt trong hai a b h th a cn li c dng bnh thng. Vic thay
th mt a mi (cung thng s k thut vi a h hng) v phc hi d liu trn a n
gin. Cn c vo d liu trn a cn li, sau mt khong thi gian, d liu s c ti
to trn a mi (rebuild). RAID 1 cng c th c thit lp bng phn cng (RAID
controller) hay phn mm (Mirror Applications) vi chi ph kh ln, hiu sut s dng
a khng cao (50%).
Strip 0

Strip 1

Strip 2

Strip 3

Strip 0

Strip 1

Strip 2

Strip 3

Strip 4

Strip 5

Strip 6

Strip 7

Strip 4

Strip 5

Strip 6

Strip 7

Strip 8

Strip 9

Strip 10

Strip 11

Strip 8

Strip 9

Strip 10

Strip 11

Strip 12

Strip 13

Strip 14

Strip 15

Strip 12

Strip 13

Strip 14

Strip 15

Hnh V.9: RAID 1


iii) RAID 2: Dng k thut truy cp a song song, tt c cc a thnh vin
trong RAID u c c khi c mt yu cu t ngoi vi. Mt m sa li (ECC) c
tnh ton da vo cc d liu c ghi trn a lu d liu, cc bit c m ho c lu
trong cc a dng lm a kim tra. Khi c mt yu cu d liu, tt c cc a c truy
cp ng thi. Khi pht hin c li, b iu khin nhn dng v sa li ngay m khng
lm gim thi gian truy cp a. Vi mt thao tc ghi d liu ln mt a, tt c cc a
d liu v a sa li u c truy cp tin hnh thao tc ghi. Thng thng, RAID 2
dng m Hamming thit lp c ch m ho, theo , m ho d liu c ghi,
ngi ta dng mt bit sa li v hai bit pht hin li. RAID 2 thch hp cho h thng yu
cu gim thiu c kh nng xy ra nhiu a h hng cng lc.

92

Chng V: Nhp xut

Kin trc my tnh

b0

b1

b2

F1(b)

F0(b)

b3

F2(b)

Hnh V.10: RAID 2


iii). RAID 3: Dng k thut ghi song song, trong k thut ny, mng c thit
lp vi yu cu ti thiu l 3 a c cc thng s k thut ging nhau, ch mt a trong
mng c dng lu cc thng tin kim tra li (parity bit). Nh vy, khi thit lp
RAID 3, h iu hnh nhn bit c mt a logic c dung lng n-1/n (n: s a trong
mng). D liu c chia nh v ghi ng thi trn n-1 a v bit kim tra chn l c
ghi trn a dng lm a cha bit parity chn l an cho mc bt. Bt chn l l
mt bt m ngi ta thm vo mt tp hp cc bt lm cho s bt c tr s 1 (hoc 0) l
chn (hay l). Thay v c mt bn sao hon chnh ca thng tin gc trn mi a, ngi ta
ch cn c thng tin phc hi thng tin mt trong trng hp c hng a. Khi
mt a bt k trong mng b h, h thng vn hot ng bnh thng. Khi thay th mt
a mi vo mng, cn c vo d liu trn cc a cn li, h thng ti to thng tin. Hiu
sut s dng a cho cch thit lp ny l n-1/n. RAID 3 ch c th c thit lp bng
phn cng (RAID controller).

b0

b1

b2

P(b)

b3

Hnh V.11: RAID 3


iv) RAID 4: t RAID 4 n RAID 6 dng k thut truy cp cc a trong mng
c lp. Trong mt mng truy cp c lp, mi a thnh vin c truy xut c lp, do
mng c th p ng c cc yu cu song song ca ngoi vi. K thut ny thch hp
vi cc ng dng yu cu nhiu ngoi vi l cc ng dng yu cu tc truyn d liu
cao. Trong RAID 4, mt a dng cha cc bit kim tra c tnh ton t d liu c
lu trn cc a d liu. Khuyt im ln nht ca RAID 4 l b nghn c chai ti a
kim tra khi c nhiu yu cu ng thi t cc ngoi vi.
Block 0

Block1

Block2

Block3

P(0-3)

B4

B5

B6

B7

P(4-7)

B8

B9

B10

B11

P(8-11)

B12

B13

B14

B15

P(12-15)

Hnh V.12: RAID 4


93

Chng V: Nhp xut

Kin trc my tnh

v). RAID 5: yu cu thit lp ging nh RAID 4, d liu c ghi tng khi trn
cc a thnh vin, cc bit chn l c tnh ton mc khi c ghi tri u ln trn
tt c cc a trong mng. Tng t RAID 4, khi mt a bt k trong mng b h hng,
h thng vn hot ng bnh thng. Khi thay th mt a mi vo mng, cn c vo d
liu trn cc a cn li, h thng ti to thng tin. Hiu sut s dng a cho cch thit
lp ny l n-1/n. RAID 5 ch c th c thit lp bng phn cng (RAID controller). C
ch ny khc phc c khuyt im nu trong c ch RAID 4.
Block1

Block2

B4

B5

B6

P(4-7)

B7

B8

B9

P(8-11)

B10

B11

B12

P(1215)

B13

B14

B15

P(16-19)

B16

B17

B18

B19

Block 0

Block3

P(0-3)

Hnh V.13: RAID 5


vi). RAID 6: Trong k thut ny, cn c n+2 a trong mng. Trong , n a d
liu v 2 a ring bit lu cc khi kim tra. Mt trong hai a kim tra dng c ch
kim tra nh trong RAID 4&5, a cn li kim tra c lp theo mt gii thut kim tra.
Qua , n c th phc hi c d liu ngay c khi c hai a d liu trong mng b h
hng.
Hin nay, RAID 0,1,5 c dng nhiu trong cc h thng. Cc gii php RAID
trn y (tr RAID 6) ch m bo an ton d liu khi c mt a trong mng b h hng.
Ngoi ra, cc h hng d liu do phn mm hay ch quan ca con ngi khng c
cp trong chng trnh. Ngi dng cn phi c kin thc y v h thng cc h
thng thng tin hot ng hiu qu v an ton.
Block1

Block2

B4

B5

B6

B8

B9

B12
P(16-19)

Block 0

P(0-3)

Q(0-3)

P(4-7)

Q(4-7)

B7

P(8-11)

Q(8-11)

B10

B11

P(12-15)

Q(12-15)

B13

B14

B15

Q(16-19)

B16

B17

B18

B19

Block3

Hnh V.14: RAID 6


*****

94

Chng V: Nhp xut

Kin trc my tnh

CU HI N TP V BI TP CHNG V

*****
1.
2.
3.
4.

M t vn hnh ca a cng. Cch lu tr thng tin trong a cng


M t cc bin php an ton trong vic lu tr thng tin trong a cng.
Nguyn tc vn hnh ca a quang. u khuyt im ca cc loi a quang.
Thng thng c bao nhiu loi bus? Ti sao phi c cc chun cho cc bus
vo ra?
5. Th no l ch nhn ca bus? Khi bus c nhiu ch nhn th lm th no
gii quyt tranh chp bus?
6. Gii thch vic ni rng di thng bng cch s dng cc gi tin.
7. S khc bit gia b x l vo ra v b x l trung tm ca my tnh.

95

You might also like