Giao Trinh Kien Truc May Tinh - DH Can Tho

  • Upload
    ken-key

  • View
    23

  • Download
    1

Embed Size (px)

Citation preview

  • Msc. V Vn Chn

    KIN Tc bin son tr

    Tng cng hiu qukhoa Cng

    ThS. Nguyn Hng Vn KS Phm Hu Ti

    Gio trnh

    RC MY TNH

    ong khun kh d n ASVIET002CNTT o to v nng lc t o to ca sinh vin

    ngh Thng tin - i hc Cn th

    i hc Cn Th - 12/2003

  • Kin trc my tnh Mc lc 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

    2

  • Kin trc my tnh Mc lc 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

    3

  • Kin trc my tnh Mc lc 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

    4

  • Kin trc my tnh Gii thiu tng quan

    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.

    5

  • Kin trc my tnh Gii thiu tng quan 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.

    6

  • Kin trc my tnh Chng I: i cng

    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

    7

  • Kin trc my tnh Chng I: i cng

    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

  • Kin trc my tnh Chng I: i cng

    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 K thut Sn phm mi Hng sn xut v my

    tnh 1 1946-

    1957 n in t

    My tnh in t tung ra th trng

    IBM 701. UNIVAC

    2 1958-1964

    Transistors My tnh r tin Burroughs 6500, NCR, CDC 6600, Honeywell

    3 1965-1971

    Mach IC My tnh mini 50 hng mi: DEC PDP-11, Data general ,Nova

    4 1972-????

    LSI - VLSI My tnh c nhn v trm lm vic

    Apple II, IBM-PC, Appolo DN 300, Sun 2

    5 ?? ????-???? X l song song

    My tnh a x l. a my tnh

    Sequent ? Thinking 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

    9

  • Kin trc my tnh Chng I: i cng

    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 .

    Mini Computers

    Mainframes

    Super Computers

    100

    10

    1

    0.1 1965 1970 1975 1980 1985 1990 1995 2000

    Micro Processor

    1000

    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

  • Kin trc my tnh Chng I: i cng

    S lng transistor tch hpNm SXB x l Intel

    410,000,0002003Intel Itanium 2 processor220,000,0002002Intel Itanium processor

    42,000,0002000Intel Pentium 4 processor24,000,0001999Intel Pentium III processor7,500,0001997Intel Pentium II processor3,100,0001993Intel Pentium processor 1,180,0001989Intel486 processor

    275,0001985Intel386 processor 120,0001982286 29,00019788086

    5,00019748080 2,50019728008 2,25019714004

    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

  • Kin trc my tnh Chng I: i cng

    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

    t1 t2 Thi gian

    Vt2Hiu th

    VLVt1

    VH

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

    12

  • Kin trc my tnh Chng I: i cng

    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 X2 X1 X0 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 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

  • Kin trc my tnh Chng I: i cng

    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 10541.2510 = 5 * 10

    2 + 4 * 101 + 1 * 100 + 2 * 10-1 + 5 * 10-2 = (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 ca cc mch in hoc m ho cc k t, cc s cn thit cho vn hnh c

    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 c trng s nh nht

    bit gi

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

    Kt qu cui cng nhn c l: 23.37510 = 10111.0112

    bit c trng s ln nht

    bit c trngs nh nh

    Tuy nhin, trong vic bin i phn l ca mt s thp phn theo phng thc nhn, c mt s trng hp vic bin i s lp li

    14 trng thi a my tnh. nh phn

    t

    sang s nh phn v hn

  • Kin trc my tnh Chng I: i cng

    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)

    Octal (Base 8)

    Decimal (Base 10)

    Hexadecimal (Base 16)

    0000 0 0 0 0001 1 1 1 0010 2 2 2 0011 3 3 3 0100 4 4 4 0101 5 5 5 0110 6 6 6 0111 7 7 7 1000 10 8 8 1001 11 9 9 1010 12 10 A 1011 13 11 B 1100 14 12 C 1101 15 13 D 1110 16 14 E 1111 17 15 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 = di ii

    n2

    0

    1

    =

    15

  • Kin trc my tnh Chng I: i cng

    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-1 dn-2 dn-3 . . . . d2 d1 d0

    . . . . 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 = =

    2

    02)1( 1

    n

    i

    ii

    d dn

    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).

    V d: +2510 = 000110012 -2510 = 111001102 - 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 n n i= + d ii =0

    n -2

    112 2d

    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.

    V d: +2510 = 000110012 -2510 = 111001112 - 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

  • Kin trc my tnh Chng I: i cng

    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: 254 * 100; 25.4 * 101; 2.54 * 102; 0.254 * 103; 0.0254 * 104;

    - Trong h nh phn, s (0.00011)2 (tng ng vi s 0.0937510) c th biu din di cc dng :

    0.00011; 0.00011 * 20 ; 0.0011 * 2-1; 0.011 * 2-2; 0.11 * 2-3; 1.1 * 2-4

    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

  • Kin trc my tnh Chng I: i cng

    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 E f1 f2 ........... f22 f23Hnh 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 E f1 f2 ........... f51 f52Hnh 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) 8 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 Chiu di trng l F (bit) 23 31 52 63

    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

  • Kin trc my tnh Chng I: i cng

    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

    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 E F

    S thp phn

    d3 d2 d1 d0 S thp phn

    d3 d2 d1 d0

    0 0 0 0 0 5 0 1 0 1 1 0 0 0 1 6 0 1 1 0 2 0 0 1 0 7 0 1 1 1 3 0 0 1 1 8 1 0 0 0 4 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. V d: biu din s +07910 bng s BCD: 0000 0111 1001 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

    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

  • Kin trc my tnh Chng I: i cng

    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

  • Kin trc my tnh Chng I: i cng

    21

    Bng m UNICODE

  • Kin trc my tnh Chng I: i cng

    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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 vo-ra dng trao i thng tin gia cc b phn vo-ra v b nh trong.

    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

    B U)x l trung tm (CP

    B iu khin (CU)

    B lm tnh v lun l

    (ALU)

    CC THANH GHI (Registers)

    Bus a ch

    Bus d liu

    Bus iu khin

    B nh trong Ngoi vi

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

    23

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 B nh trong

    CPU Bus vo - ra

    iu khin vo -ra iu khin vo -ra iu khin vo -ra

    a t Mn hnh th 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 VAX- 11/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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    V tr cc ton hng

    Th d Ton hng cho lnh tnh ton

    trong ALU

    V tr t kt qu

    Cch thc thm nhp vo ton hng

    Ngn xp

    B 5500 HP 3000/70

    0 Ngn xp Lnh Push, Pop

    Thanh ghi tch lu

    PDP 8 Motorola 6809

    1 Thanh ghi tch lu

    Lnh np vo hoc ly ra t thanh ghi tch lu (load, store)

    Thanh ghi a dng

    IBM 360 DEC, VAX

    2 hoc 3 Thanh ghi hoc b nh

    Lnh np vo hoc ly ra 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.

    Kin trc ngn

    xp Kin trc thanh ghi tch

    lu Kin trc thanh ghi a

    dng Push A Push B ADD Pop C

    Load A ADD B Store C

    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 Li im Bt li

    Ngn xp (Stack)

    - 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

    - 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

    Thanh ghi tch lu (Accumulator

    Register)

    - Lnh ngn - Lm ti thiu trng thi bn trong ca my tnh (yu cu t mch chc nng). - Thit k d dng

    - 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.

    26

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    Thanh ghi a dng

    (General Register)

    - Tc x l nhanh, nh v n gin. - t thm nhp b nh. - Kiu rt tng qut to cc m hu hiu

    - Lnh di - S lng thanh ghi b gii hn

    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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 )

    0

    1

    0

    Quay phi

    Quay tri

    Dch phi s hc

    Dch tri s hc

    Dch tri logic

    Dch phi logic

    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 th nu khng (IF THEN ELSE ) 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.

    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

    Kt qu

    Ton hng ngun 2

    Ton hng ngun 1

    S gi

    ALU

    Bit S Bit Z Bit OVF Bit C

    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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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

    Th tc Proc2

    Th tc Proc1

    c) Sau li gi th tc 2

    g) Tr v sau li gi th tc 1

    f) Tr v sau li gi th tc 2

    e) Sau li gi th tc 2

    ln 2

    d) Tr v sau li gi th tc 2

    b) Sau li gi th tc 1

    a) Khi to ngn xp

    b) Din tin thi hnh a) Gi th tc v tr v

    a ch B nh trong

    Chng trnh chnh

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

    32

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 Gii thch Thanh ghi Add R3, R4 R3 R3 + R4 Tc th Add R4, #3 R4 R4 + 3 Trc tip Add R1, (1001) R1 R1 + M [1001] Gin tip (thanh ghi) ADD R4, (R1) R4 R4 + M [R1] Gin tip (b nh) Add R1, @ (R3) R1 R1 + M[ M [R3]] Gin tip (thanh ghi + di) Add R4, 100(R1) R4 R4 + M[R1 + 100] Gin tip (thanh ghi + thanh ghi) Add R3, (R1 + R2) R3 R3 + M[R1 + R2] Gin tip ( t/g nn + t/g ch s + di ) Add R1, 100(R2)[R3] R1R1+M[100+R2+ d * R3] T tng Add R1, (R2)+ R1 R1 + M[R2]

    R2 R2 +d T gim Add R1, -(R2) R2 R2 - d

    R1 R1 + M[R2] Bng II.4 : Kiu nh v ca mt b x l c kin trc phn mm kiu thanh

    ghi a dng.

    33

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 (R3 ch ti a ch ny) nh ny cha 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 Th d

    Tnh ton s hc v lun l Php tnh s nguyn v php tnh lun l: cng, tr, AND, OR Di chuyn s liu Np s liu, lu gi s liu

    34

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    Chuyn iu khin Lnh nhy, lnh vng lp, gi chng trnh con v tr v, ngt qung H thng Gi h iu hnh, qun l b nh o

    Tnh s c du chm ng Cc php tnh trn s c du chm ng: cng, nhn

    Tnh s thp phn Cc php tnh trn s thp phn: cng, nhn, i t thp phn sang k t Tnh ton trn chui k t Chuyn, so snh, tm kim chui k t

    ho v a phng tin Nn v gii nn d liu hnh nh ho (3D) v d liu a phng tin (hnh nh ng v m thanh)

    Bng II.5: Cc tc v m lnh c th thc hin

    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 Chiu di lnh (tnh bng bit)

    16 - 48 16 - 456 6 - 321

    K thut ch to ECL - MSI TTl - MSI NMOS VLSI Cch thc hin lnh Thanh ghi- thanh ghi

    Thanh ghi - b nh B nh - b nh

    Thanh ghi - thanh ghi Thanh ghi - b nh

    B nh - b nh

    Ngn xp 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 Nm sn xut 1980 1982 1983 S lnh 120 39 55 Dung lng b nh vi chng trnh

    0 0 0

    di lnh (tnh bng bit)

    32 32 32

    K thut ch to ECL MSI NMOS VLSI NMOS VLSI Cch thc hin lnh Thanh ghi-thanh ghi Thanh ghi-thanh ghi Thanh ghi-thanh ghi

    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.

    MIPS Op code

    6 Ngun 1

    5 Ngun 2

    5 ch

    5 Dch chuyn

    5 Hm

    6 SPARC Op code

    2 ch

    5 Op code

    6 Ngun 1

    5 0 1

    Khong trng khc 8

    Ngun 25

    Power PC

    Op code 6

    ch 5

    Ngun 1 5

    Ngun 2 5

    Op code m rng10

    0 1

    ALPHA Op code 6

    Ngun 1 5

    Ngun 2 5

    3

    0 1

    Op code m rng 7

    ch 5

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

    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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    MIPS Op code

    6

    Thanh ghi ngun

    5

    Thanh ghi ch 5

    S c du ( ton hng tc th ) 16

    SPARC Op code

    2

    Thanh ghi ch 5

    Op code

    6

    Thanh ghi ngun

    5

    1

    1

    Ton hng tc th c du

    13 ALPHA Op code

    6

    Thanh ghi ngun

    5

    Ton hng tc th > 0

    8

    1

    1

    Op code m rng

    7

    Thanh ghi ch 5

    Power PC

    Op code

    6

    Thanh ghi ch 5

    Thanh ghi ngun

    5

    Ton hng tc th c du

    16 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

    6

    Thanh ghia ch

    5

    Thanh ghis liu

    5

    di c du

    16 SPARC Op

    code 2

    Thanh ghi

    s liu 5

    Op code

    6

    Thanh ghia ch

    5

    1 1

    di c du 13

    ALPHA Op code

    6

    Thanh ghis liu

    5

    Thanh ghia ch

    5

    di c du

    16 Power

    PC Op code

    6

    Thanh ghis liu

    5

    Thanh ghia ch

    5

    di c du

    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

  • Kin trc my tnh Chng II: Kin trc phn mm b x l

    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 .

    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

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

    0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

    Trnh bin dch (Compiler)

    B dch hp ng (Assembler)

    Chng trnh bng hp ng

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

    Chng trnh bng ngn ng my

    Chng trnh bng ngn ng cp cao

    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

  • Kin trc my tnh Chng III: T chc b x l

    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

  • Kin trc my tnh Chng III: T chc b x l

    BUS S1 S2 BUS DEST Ng vo Ng ra Ng vo A C B

    Dy cc thanh ghi

    TEMP PC SR MAR MBR

    B I U

    K H I N

    Ng vo d liu

    B NH NG a ch

    Ng ra

    MUX

    ALU

    IR

    Hnh III.1: T chc ca mt x l i(Cc ng khng lin tc l cc ng

    43TRO B X L

    d liu

    n hnh iu khin)

  • Kin trc my tnh Chng III: T chc b x l

    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.

    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

    Xung

    nhp

    Dy iu khin

    Trng thi

    B iu khin dng mch in

    Automate trng thi hu hn

    Ng vo

    IR

    Ng ra

    Trng Thi

    tng lai

    ng i d liu

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

    44

  • Kin trc my tnh Chng III: T chc b x l

    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:

    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.

    Dy diu khin

    ng i d liu

    Ng ra

    IR

    phn vi a ch tip theo

    xung nhp

    PC ca vi CT

    Xc nh a ch ca vi lnh tip

    theo

    + 1

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

    B nh vi chng trnh

    B iu khin vi chng trnh

    45

  • Kin trc my tnh Chng III: T chc b x l

    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 Thanh ghi Rs1 Thanh ghi Rs2 Thanh ghi Rd Tc v

    bit 6 5 5 5 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

  • Kin trc my tnh Chng III: T chc b x l

    - 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

  • Kin trc my tnh Chng III: T chc b x l

    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 Chu k xung nhp

    1 2 3 4 5 6 7 8 9 Lnh th i IF ID EX MEM RS Lnh th i+1 IF ID EX MEM RS Lnh th i+2 IF ID EX MEM RS Lnh th i+3 IF ID EX MEM RS Lnh th i+4 IF ID EX MEM RS

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

    48

  • Kin trc my tnh Chng III: T chc b x l

    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 Lnh 4: OR R8, R1, R9

    49

  • Kin trc my tnh Chng III: T chc b x l

    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 ID EX MEM RS 2- SUB R4, R1, R5 IF ID EX MEM RS 3- AND R6, R1, R4 IF ID EX MEM RS 4- OR R8, R1, R9 IF ID 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

    Thanh ghi m cha kt

    qu

    a hp a hp

    ALU 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

  • Kin trc my tnh Chng III: T chc b x l

    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

  • Kin trc my tnh Chng III: T chc b x l

    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 ID EX MEM RS i+1 IF ID EX MEM RS i+2 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

    i IF ID EX MEM RS

    (b)

    i+1 IF ID EX MEM RS

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

    52

  • Kin trc my tnh Chng III: T chc b x l

    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