Giáo trình Kiến trúc máy tính I - Chương VII: Tổ chức bộ xử lý - Vũ Đức Lung

pdf 31 trang phuongnguyen 770
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kiến trúc máy tính I - Chương VII: Tổ chức bộ xử lý - Vũ Đức Lung", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_kien_truc_may_tinh_i_chuong_vii_to_chuc_bo_xu_ly.pdf

Nội dung text: Giáo trình Kiến trúc máy tính I - Chương VII: Tổ chức bộ xử lý - Vũ Đức Lung

  1. ChươngVII:TchcBxlý ChươngVII:TCHCBXLÝ Trongcácchươngtrưcchúngtađãcáckháinimcơbn liênquanđncácphnkhácnhaucamáytính.Trongchươngnày chúngtatptrungvàobphnchínhyucamimáytính–b xlýtrungtâm(centralprocessingunitCPU).Chcnăngchính yucaCPUlàthcthicáclnhđưclưutrongbnhchính.Như đã đ cp trong phn gii thiu, do giáo trình này đưc thit k dànhchosinhviênhcngayhckỳđutiênchonênchúngtach đcpđncácvnđmcđđơngin. 7.1.Tchcbxlýtrungtâm ðhiuđưccáchtchctrongCPUnhưthnàochúngta hãyxemnhngđịihibêntrongnĩvànhngginĩphithc hin.Nĩichungnhngcơngvicnĩphilàmlà: Tìmnplnh(FetchInstruction):CPUđcmtlnht bnh Din gii lnh (Interpret Instruction): Lnh đưc gii mãvàxácđnhxemhànhđnggìđịihithchin Tìmnpdliu(Fetchdata):ðthchincâulnhcĩ th địi hi đc d liu t b nhhoc tcác thitb nhpxut Xlýdliu(Processdata):Victhihànhlnhcĩth địihithchinmtvàiphéptínhshchaylogic trêncácdliutìmnpvào Ghidliu(Writedata):Ktquthcthilnhcũngcĩ thđịihiphighidliuvàobnhhocghiracác thitbnhpxut. ðlàmđưccácvicnhưvyđịihiCPUcnlưumts dliutmthi.Nĩphnhvtrícalnhvathchincũng nhưnĩcnphibitđưcđâucĩthnhnđưclnhtiptheođ thchin.Nĩcnlưutplnhvàdliutmthitrongkhithcthi 191
  2. ChươngVII:TchcBxlý mtlnhnàođĩ.NĩicáchkhácCPUcnmtbnhtrongnhđ tinlilàmvic. Nĩichungđthchincácvicvalitkêtrên,mtb x lý trung tâm đơn gin cn bao gm ba nguyên t quan trng nht: tp các thanh ghi, mt b x lý logic s hc (Arithmetic LogicUnitALU)vàmtbđiukhin(ControlUnitCU).T chcmtmáytínhđơngingmCPUvàtươngtáccanĩvib nhchínhvàcácthitbnhpxutcĩthbiudinnhưhình7.1. Hình7.1.Tchcmtmáytínhđơngin B các thanh ghi ca các loi máy tính là khác nhau và thưngchia làm hai loi, các thanhghiđưc dùng vi mc đích chung(general-purpose registers),vàcácthanhghivimcđích đcbit(special-purpose registers).Cácthanhghimcđíchchung đưcsdngchobtkỳmcđíchnào,vídnhưcĩthdùngnĩ làmnơilưutrcácloidliukhácnhau,dùnglàmlưucáctốn hngcamtlnh.Trongkhicácthanhghivimcđíchđcbit chcĩmtschcnăngbêntrongCPU,vídnhưbđmchương 192
  3. ChươngVII:TchcBxlý trình(progamcounterPC)làmtthanhghivimcđíchđcbit đĩlàchdùngđlưuđachcalnhcnthchintiptheo.Mt vídkháccathanhghivimcđíchđcbitlàthanhghimãlnh (InstructionRegisters–IR),thanhghinàychđưcdùngđlưumã lnhđangthchiêntithiđimhinti. BlogicshcALUcungcpmtmchscnthit đ thchincácphéptínhshc(nhưcng,tr,nhân,chia),logic (nhưNOT,AND,OR)vàcácphéptốndchchuyntrongblnh. Bđiukhin(controlblock)chutráchnhimđiukhin mihotđngcaCPUnhưtìmnplnhtbnhchính,giimã nĩ,đnhloixemnĩthucloinàovàcuơicùnglàralnhchocác bphntrongCPUlàmvicgì. CPUtìmnplnhtbnhchính,đcdliutbnh chính,ghidliungưcliđĩkhicnvàtruyncácdliutcác thitbngoivivàomáytínhcũngnhưđưacácdliutrongmáy tínhracácthitbngoivi.Cácthitbngoiviđâycĩthlà đãcng,máyin,flashmemory, Tronghình7.2chotasơđtngquátcaCPUmtcácht mhơn.Trongđĩchravictruyndliuvàđưngđiukhin logiccũngđưcchrabaogmcmtnguyêntgilàtrcCPU ni(Internal CPU bus).Nguyêntnàyđưccnđtruyndliu giacácthanhghikhácnhauvàALU,bivìtrênthctthìALU thcthichtrêncácdliunmbnhbêntrongCPU. 193
  4. ChươngVII:TchcBxlý Hình7.2.CutrúcbêntrongcaCPU 7.2.Bđiukhin Gingnhưtrongmttrungđithìmihotđngđưcđiu khin bi trung đi trưng, b điu khin chu trách nhim điu khinmihotđngcaCPU.Bđiukhintocáctínhiuđiu khindichuynsliu(tínhiudichuynsliutcácthanhghi đnbushoctínhiuvitvàocácthanhghi),điukhincáctácv màcácbphnchcnăngphilàm(điukhinALU,điukhin đc và vit vào b nh trong ). B điu khin cũngtocáctín hiugiúpcáclnhđưcthchinmtcáchtunt. ðthitkmtbđiukhin,tacĩthdùngmttronghai cách là dùng mch đin t hoc dùng vi chương trình (microprogram). 194
  5. ChươngVII:TchcBxlý Bđiukhinmchđint Trongchương5chúngtađãhcvmchtunt.Mtb điu khin mch đin t cĩ nguyên lý hot đng như mt mch tunt.Tclàscĩ cáctrng tháivàcácđưngtínhiu màs thayđicacáctínhiutimtthiđimnhtđnhslàmtrng tháiginguyênhocchuynsangmttrngtháimi. ð hiu đưc vn hành ca b điu khin mch đin t, chúngtaxétđnmơtvAutomate(mchtđnghĩa)trngthái huhnnhưmtmchtuntcĩnhiuhthnghaynhiuthành phn mà mi thi đim xem xét đu cĩ mt trng thái (state). Mcđích catrngtháilàghinhnhnggìcĩliênquan trongquátrìnhhotđngcahthng.Vìchcĩmtstrngthái nhtđnhnênnĩichungkhơngthghinhhttồnblchsca hthng,dovynĩphiđưcthitkcnthnđghinhnhng gìquantrng. Ưu đim ca h thng (ch cĩ mt s hu hn các trng thái) đĩ là cĩ th cài đt h thng vi mt lưng tài nguyên c đnh.Chnghn,chúngtacĩthcàiđtAutomatetrngtháihu hn trong phn cng máy tính dng mch đin hay mt dng chươngtrìnhđơngin,trongđĩ,nĩcĩkhnăngquytđnhkhich bitmtlưnggiihndliuhocbngcáchdùngvtrí trong đonmãlnhđđưaraquytđnh. Theotchcđiukhincng,lunlýđiukhinđưccài đtquacáccng, mchlt,mchgii mãvà cácmchskhác. Thunlilàcĩthtiưuđtorachđnhanhchotácv Theotchcđiukhinvitrình,thơngtinđiukhinđưc lưutrongbnhđiukhin,bnhđiukhinđưclptrìnhđ khi đngdãyvi tac v theo yêu cu.Khi thayđithit k, cn thay đi cách kt ni các thành phn nu t chc theo kiu điu khincàicng.Nutchc theođiukhinvitrình chcncp nhtvitrìnhtrongbnhđiukhin. 195
  6. ChươngVII:TchcBxlý Hình7.3.chotasơđkhimtbđiukhincơbn.Lnh đưcđctbnhvàđưavàothanhghilnhIR.Thanhghilnh thìnhưtrongchương6chúngtađãbit,trongđĩcĩphnmãhĩa vitácvhayopcodesđưcquamtmchgiimãđbitđưc mãtácvphilàmlàgì.Saukhigiimã,cáctínhiunàyđưcđưa vàomchđiukhingmcáccngđiukhin. ðđiukhincáchotđngđưcđngb,tadùngmtb tocácthihiu,mithihiungvimtthiđimnhtđnh. Cácthihiunàycùngvicáctínhiutbgiimãvàtcáctín hiukháctrongphncịnlicathanhghiIRsaukhiquacáccng điukhinschotacáctínhiuđiukhincnthit.Cáctínhiu điukhincĩthlàđưadliumtthanhghinàođĩlênBUS,đưa dliuttrênBUSvàothanhghi,mtínhiughivàomtthanh ghi,đưaratínhiuđc/ghivàobnhchính,khiđngngtđ truyndliuraHDD,máyin, IR Mãtácv đachbnh,thanhghi, Mchgiimã nxm m1 0 D0 Tínhiu điukhin Cáccng Dm1 điukhin T Cáctínhiukhác (INR,CLR, ) Btocác thihiu Clock Hình7.3.Sơđkhibđiukhinmáytínhcơbn 196
  7. ChươngVII:TchcBxlý Bđiukhinvichươngtrình Thayvìbđiukhincngdùngmchthpcáccngđ choracáctínhiuđiukhinthìđiukhinvitrìnhdùngmtvi chương trình lp sn nm trong b nh điu khin đkhiđng dãyvitacvtheoyêucu. Bđiukhinbngvichươngtrìnhđưcdùngrng rãi trongcácbxlýCISC.Bxlýnàycĩtplnhphctpvicác lnhcĩchiudàikhácnhauvàcĩdngthcphctp.Trongcác bxlýCISC,ngưitacàiđtmtlnhmãmáybngcáchvit mtvichươngtrình.Nhưvycơngvickháđơnginvàrthu hiu.Cácsaisĩttrongthitkautomatđiukhincũngdsađi. 7.3.Bthanhghi Cácthanhghilàmtloibnhđcbitnhanhnmbên trongCPUvàđưcdùngđtoravàlưutrcácktqucacác lnh trong CPU và các phép tốn khác. Các loi máy tính khác nhaucĩcácbthanhghikhácnhau.Chúngkhácnhauvslưng cácthanhghi,cácloithanhghivàcchiudàicamithanhghi. Chúngcũngkhácnhautrongcáchdùngchomithanhghi. Thanhghimucđíchchungcĩthđưcdùngchonhiumc đíchvàđưcnhàlptrìnhdùngđgánchonhngtrngtháikhác nhaucacáchàm,cácbin. Thanhghicĩmcđíchđcbitchđưcdùngchomts chcnăngđcbit.Trongmtstrưnghp,mtvàithanhghich đưcdùngđlưutrdliuvàkhơngthdùngtrongtínhtốnđa chcacáctốnhng. Chiudàicathanhghiphiđđlưutrhuhtcácloi dliu,đcbitlàthanhghiđachphiđdàiđcĩthlưuđưc đachlnnht. Slưngthanhghitrongmtkintrúcmáytínhnhhưng trctipđnvicthitkblnh.Nuslưngthanhgiítsdn đnvicphisdngthamchiuhaycontrtibnhnhiuhơn làmgimđángkđntcđthcthicachươngtrình. 197
  8. ChươngVII:TchcBxlý Mtdngkháccacácthanhghiđưcdùngđlưucácbit trngtháicabxlýhaylàcácctrngthái.Nhngbitnàythay đitùytheoktquthchinmtlnhnàođĩtrongCPU Thanhghitruycpbnh Cĩhaithanhghiđưcdùngđcbittrongcáclnhđc/ghi vi b nh: thanh ghi d liu b nh (memory data register - MDR) và thanh ghi đa ch b nh (memory address regiater – MAR).HaithanhghinàyđưcCPUsdngđcbitvàcácnhà lptrìnhkhơngthtruycptrctipvàochúng. Trongthtthchinmtlnhghivàomtvùngnhđc bit,MDRvàMARđưcdùngnhưsau: 1. Mttcnlưuvàomtvtrínàođĩtrongbnh,đu tiênsđưcCPUtivàothanhghiMDR 2. ðachcavùngnhđĩ(vùngnhsghidliuvào) đưcCPUtivàotrongMAR 3. Saucùngbđiukhinsphátratínhiuđiukhin “ghi”(write)đghidliunmtrênMDRvàođach nmtrênMAR. Tươngtkhithchinmtlnhđc(read)tbnh, thanhghiMDRvàMARsđưcdùngnhưsau: 1. ðachcatnhnmtrongbnhcnđcđưcđưa vàoMAR 2. Bđiukhinsphátratínhiuđiukhin“đc” (read)đđcdliunmtrongbnh. 3. DliunmtrongbnhcĩđachchatrongMARs đưctivàotrongMDR Thanhghichuyntilnh Cĩhaithanhghirtquantrngđưcdùngđlưucáccâu lnh chovicthcthicachương trìnhlà:Bđmchươngtrình (programcounter–PC)vàthanhghilnh(instructionregister– IR). 198
  9. ChươngVII:TchcBxlý ThanhghiPCdùngđlưuđchcalnhtiptheoquađĩ sđiukhinthtthchincáclnhtrongmtchươngtrình.Các lnhthchinlnlưtđưctìmthyvàlưuvàotrongthanhghi IR.TimithiđimchcĩmtlnhđưclưutrongIR.Saukhi đãtìmvàđemmtlnhvchoIR,thanhghiPCsđưcnpmt giátrmilàđachcalnhtiptheo. Thanhghitrngthái Các thanh ghi trng tháihay là các c trng tháiđưcs dngđgicácthơngtinvtrngtháicaquátrìnhthcthilnh. Mtskintrúcmáytínhchamtthanhghiđcbitgilàthanh ghittrngtháicachươngtrình(programstatureword–PSW). TrongPSWchacácbittrngtháichobitktqucacácphép tínhshc(cĩbng0khơng?cĩsthakhơng? ),trngtháingt, thơngtinbovbnh,tìnhtrngcabxlý, Cácthanhghih80x86 Trongcácthhmáytính32bitcaIntelnhư386,486và Pentiumcĩbanhĩmthanhghi,đĩlà: Thanhghimcđíchchung Thanhghisegment ThanhghiđmchươngtrìnhPCvàthanhghic trngthái Tronghình7.4chotathybanhĩmnày.Nhĩmthnhtlà các thanh ghi mc đích chung đưc đt tên bng các ký t A,B,C,D,SI (source index), DI (destination index), SP (stack pointer)vàBP(basepointer).Nhĩmthhaibaogmcácthanhghi CS(codesegment),SS(stacksegment)và4thanhghiđondliu DS,ES,FSvàGS.Nhĩmthanhghithbabaogmthanhghilnh IRvàthanhghitrngthái.Trongsnhngbittrngthái,5bitđu tiênđngnhtvicácbitcabvixlý8bittrưcđây8085.Các bittiptheo611gingnhưđưcgiithiutrong8086.Cácbit12 14 đưc gii thiu trong 80286 trong khi các bit 1617 trong 80386.Bitflag18trong80486.Trongđĩcịnnhiubitchưađưc 199
  10. ChươngVII:TchcBxlý dùngtivàđlàmdtrchonhngmcđíchcĩthxuthinsau này. Hình7.4.Cácthanhghih80x86 7.4.ðưngđidliu(Datapath) Phn đưng đi d liu gm cĩ b logics hc (ALU: ArithmeticandLogic Unit), cácmchdch,cácthanhghivàcác đưngniktcácbphntrên.Phnnàychahuhtcáctrng tháicabxlý.Ngồicácthanhghitngquát,phnđưngđid liucịnchathanhghiđmchươngtrình(PC:ProgramCounter), thanhghitrngthái(SR:StatusRegister),cácthanhghiđachb nh MAR, thanh ghi s liu b nh MDR, b đa hp (MUX: Multiplexor),đâylàđimcuicacáckênhdliuCPUvàb nh, vi nhim v lp thi biu truy cp b nh t CPUvàcác kênhdliu,cáchthngbus 200
  11. ChươngVII:TchcBxlý Nhimvchínhcaphnđưngđidliulàđccáctốn hngtcácthanhghitngquát,thchincácphéptínhtrêntốn hngnàytrongALUvàlưu trktqu trongcác thanhghitng quát.ngãvàovàngãracácthanhghitngquátcĩcácmchcht A,B,C.Nhưđãđcptrên,thơngthưng,slưngcácthanh ghitngquátlà32. Phnđưngđicadliuchimphânnadintíchcab xlýnhưnglàphndthitkvàcàiđttrongbxlý. 7.4.1.TchcOneBus Các thanh ghi CPU và ALU dùng mt BUS đơn đ di chuyndliuravàogiachúngvinhau.VìmtBUSchcĩth sdngmtdliudichuyntrongmtchukỳđngh,chonên mtphéptốncĩhaitốnhngsphicnhaichukỳđnghđ tìmvànpcáctốnhngchoALU.DngtchcBUSnàylàđơn gin nht nhưng nĩ b nhiu hn ch vs lưng d liu đưc chuyntitrongmtchukỳđnghnĩichungđãlàmchmch thnglirtnhiu. Hình7.5chotasơđtchcđưngđidliuonebus.Nĩ baogmbcácthanhghiđamcđích,mtthanhghiđachb nhMAR,mtthanhghidliubnhMDR,mtthanhghilnh IR,mtthanhghiđmchươngtrìnhPCvàblogicshcALU. Hình7.5.TchcOneBus 201
  12. ChươngVII:TchcBxlý 7.4.2.TchcTwoBus,ThreeBus SdnghaiBUSđtchcđưngđidliulàmtgii phápgiúpcithintcđrtnhiusovicơngnghdùngonebus. Trongtrưnghpnàycácthanhghiđamcđíchđưcnivic haibus.Dliucĩthtruynthaithanhghikhácnhauđnđu vàocaALUticùngmtthiđim.Dovy,mtlnhcĩhaitốn hngcĩthtìmvànptrongcùngmtchukỳđnghvànhưvy rõràngtcđxlýlnhlúcnàyđãtănggpđơi.Hơnna,trong cutrúcnày(hình7.6)cịncĩmtthanhghiđm(buffer register) cĩthcnthitđlưutrdliuđuracaALUkhihaibusđng bnchuyntidliu. Tronghình 7.6(a)cho tathy cách t chckin trúckiu twobusnày.Trongmtstrưnghp,mtbuscĩthđưcdùng đdichuyndliuvàothanhghi(in-bus).trơnghpnàymt thanhghiđmthêmcĩthđưcdùngnhưlàmtbnhtmthi trưckhiđưavàoALU.ðuracaALUđưcnitrctipviin- bus vàchophépchuynktqutínhtốntimttrongcácthanh ghi.Hình7.6(b)chotatchctwo-busviin-busvàout-bus. Trongtchcthreebusthìhaitrongsđĩđưcdùngnhư là các bus ngun, bus cịn li như là bus đích. Các bus ngun chuyn d liu ra khi thanh ghi (out-bus), và bus đích cĩ th chuyndliuvàotrongcácthanhghi(in-bus).Miđucaout- busđưcniviđuvàocaALU.ðuracaALUthìnitrc tipviin-bus.Nhưvychúngtalicĩ thtruyndliunhiu hơntrongcùngmtchukỳđngh.Tuynhiênvictăngcácbus lênslàmtăngđphctpcaphncnglênnhiuhơn,vìvy tùytheomcđcnthitmàcácloimáytínhkhácnhauscĩs lưngbuskhácnhau.Tchcmáytínhđơnginloithreebuscĩ thmihhanhưhình7.7. 202
  13. ChươngVII:TchcBxlý Hình7.6.Tchcđưngtruyndliudngtwo-bus 203
  14. ChươngVII:TchcBxlý Hình7.7.Tchcđưngtruyndliudngthree-bus 7.5.Dintinthihànhlnhmãmáy(CPUinstruction cycle) CơngviccaCPUdinraliêntcvàvicthchincác lnhdinranhưtronghình7.8.Cáclnhđưclyratbnh chínhvà khi CPU tìm thymt lnh,nĩs phân tíchlnhđĩđ thcthi,sauđĩlistìmnplnhtiptheovàcnhưvydinra liêntc. Victhihànhmtlnhmãmáycĩthchiathành5giaiđonsau:  ðclnh(IF:InstructionFetch)  Giimãlnh(ID:InstructionDecode)  Thihànhlnh(EX:Execute)  Thâmnhpbnhtronghocnhy(MEM:Memory access)  Lưutrktqu(RS:ResultStoring). Migiaiđonđưcthihànhtrongmthocnhiuchukỳxung nhp. 204
  15. ChươngVII:TchcBxlý Hình7.8.HotđngcaCPU 1.ðclnh(fetchinstruction): Chuicácskintrongmtlntìmđclnhcịthtng quátnhưsau: 1. DliutrongPCđưcloadvàoMAR: MAR←PC 2. GiátrtrongthanhghiPCtănglên1: PCPC+1 3. Ktqucalnhđctbnh,dliuđưcloadvào MDR:MDRM[MAR] 4. DliutrongMDRđưcloadvàoIR:IR←M[MAR] BđmchươngtrìnhPCđưcđưavàoMAR.Lnh đưc đc t b nh trong, ti các ơ nh cĩ đa ch nm trongMARvàđưcđưavàothanhghilnhIR.Thtthc hinlnhtheothigianđiviloione-busnhưsau: 205
  16. ChươngVII:TchcBxlý Nudùngthree-bus nhưhình7.7thìtacĩthtcác bưcnhưsau: 2.Giimãlnhvàđccácthanhghingun: A←Rs1 B←Rs2 PC←PC+4 Lnhđưcgiimã.KđĩcácthanhghiRs1vàRs2 đưcđưavàoAvàB.ThanhghiPCđưctănglênđchti lnhkđĩ. ðhiurõgiaiđonnày,talydngthccamt lnhlàmtínhtiêubiusauđây: 206
  17. ChươngVII:TchcBxlý CácthanhghingunRs1vàRs2đưcsdngtuỳ theotácv,ktquđưcđttrongthanhghiđíchRd. Ta thy vic gii mã đưc thc hin cùng lúc vi vicđccácthanhghiRs1vàRs2vìcácthanhghinàyluơn nmticùngvtrítronglnh. 3.Thihànhlnh: Tuỳtheoloilnhmàmttrongbanhimvsauđâyđưc thchin: Liênhtibnh MAR←ðachdoALUtínhtuỳtheokiuđnhv (Rs2). MDR←Rs1 ðachhiudngdoALUtínhđưcđưavàoMAR vàthanh ghi ngun Rs1đưc đưa vào MDRđ đưc lưu vàobnhtrong. MtlnhcaALU NgãraALU←Ktqucaphéptính ALUthchinphéptínhxácđnhtrongmãlnh, đưaktqurangãra. Mtphépnhy NgãraALU←ðachlnhtiptheodoALUtính. ALUcngđachcaPCviđdiđlàmthành đachđíchvàđưađachnàyrangãra.Nulàmtphép 207
  18. ChươngVII:TchcBxlý nhycĩđiukinthìthanhghitrngtháiđưcđcquyt đnhcĩcngđdivàoPChaykhơng. 4.Thâmnhpbnhtronghocnhylncui Giaiđonnàythưngchđưcdùngchocáclnh npdliu,lưugidliuvàlnhnhy. Thamkhođnbnh: MDR←M[MAR]hocM[MAR]←MDR SliuđưcnpvàoMDRhoclưuvàođachmà MARtrđn. Nhy: If(điukin),PC←ngraALU Nuđiukinđúng,ngãraALUđưcnpvàoPC. ðivilnhnhykhơngđiukin,ngraALUluơnđưc npvàothanhghiPC. 5.Lưutrktqu Rd←NgãraALUhocRd←MDR Lưutrktqutrongthanhghiđích. 7.6.Xlýngt(InterruptHandling) Ngtlàmtskinxyramtcáchngunhiêntrongmáy tính và làm ngưng tính tun t ca chương trình(nghĩa là tora mt lnh nhy). Phn ln các nhà sn xut máy tính (vídnhư IBM,INTEL)dùngtngtquãngđámchskinnày,tuynhiên 208
  19. ChươngVII:TchcBxlý mtsnhàsnxutkhácdùngt“ngoil”,“li”,“by”đch đnhhintưngnày. BđiukhincaCPUlàbphnkhĩthchinnhtvà ngt quãng là phn khĩ thc hin nht trong b điu khin. ð nhnbitđưcmtngtquãnglúcđangthihànhmtlnh,taphi bitđiuchnhchukỳxungnhpvàđiunàycĩthnhhưngđn hiuqucamáytính. Ngưitađãnghĩra“ngtquãng”làđnhnbitcácsaisĩt trongtínhtốnshc,vàđngdngchonhnghintưngthi gianthc.Bâygi,ngtquãngđưcdùngchocáccơngvicsau đây:  Ngoiviđịihinhphocxutsliu.  Ngưilptrìnhmundùngdchvcahđiu hành.  Chomtchươngtrìnhchytnglnh.  Làmđimdngcamtchươngtrình.  Báotrànsliutrongtínhtốnshc.  Trangbnhthcskhơngcĩtrongbnh.  Báoviphmvùngcmcabnh.  Báodùngmtlnhkhơngcĩtrongtplnh.  Báophncngmáytínhbhư.  Báođinbct. 209
  20. ChươngVII:TchcBxlý Dùrngngtquãngkhơngxyrathưngxuyênnhưngb xlýphiđưcthitksaochocĩthlưugitrngtháicanĩ trưc khi nhy đi phc v ngt quãng. Sau khi thc hin xong chươngtrìnhphcvngt,bxlýphikhơiphctrngtháica nĩđcĩthtiptccơngvic. ðđơnginvicthitk,mtvàibxlýchchpnhn ngtsaukhithchinxonglnhđangchy.Khimtngtxyra, bxlýthihànhcácbưcsauđây: 1.Thchinxonglnhđanglàm. 2.Lưutrtrngtháihinti. 3.Nhyđnchươngtrìnhphcvngt 4.Khichươngtrìnhphcvchmdt,bxlýkhơiphc litrngtháicũcanĩvàtiptcthchinchươngtrình mànĩđangthchinkhibngt. Bng7.1chotathythtthchincácskinkhixyra ngt,đâyt1<t2<t3. Bng7.1.Thchincácvitácvkhingt 210
  21. ChươngVII:TchcBxlý 7.7.Kthutngdn(PIPELINE) ðâylàmtkthutlàmchocácgiaiđonkhácnhauca nhiulnhđưcthihànhcùngmtlúc. Víd:Chúngtacĩnhnglnhđuđn,milnhđưcthc hintrongcùngmtkhongthigian.Gis,milnhđưcthc hintrong5giaiđonvàmigiaiđonđưcthchintrong1chu kỳxungnhp.Cácgiaiđonthchinmtlnhlà: • Lylnh(IF:InstructionFetch), • Giimã(ID:InstructionDecode), • Thihành(EX:Execute), • Thâmnhpbnh(MEM:MemoryAccess), • Lưutrktqu(RS:ResultStoring). Hình 7.9chothyđ x lý 5lnhchúng ta cn9 chu kỳ xungnhp.Trongchukỳxungnhpthnht,lnhthinhtđưc tìmnpvào.Trongchukỳxungnhpthhai,trongkhilnhthi đangthchingiimãthìlitiptcnplnhtiptheoi+1. Sang chukỳxungnhpthba,trongkhilnhthi đangthchin,lnh thi+1 đanggiimãthìlitiptctìmnplnhthi+2. Hình7.9.Thchinlnhtrongkthutpipeline 211
  22. ChươngVII:TchcBxlý Sosánhvikiuxlýtuntthơngthưng,5lnhđưc thchintrong25chukỳxungnhp,thìxlýlnhtheokthut ngdnthchin5lnhchtrong9chukỳxungnhp. Cnhưth,nuslnhtănglênnathìtintichtrong mt chu kỳ xung nhp, b x lý cĩth thchinmtlnh(bình thưnglnhnàyđưcthchintrong5chukỳ). Nhưvykthutngdnlàmtăngtcđthchincác lnh.Tuynhiênkthutngdncĩmtsràngbuc: Cnphicĩmtmchđintđthihànhmigiaiđon calnhvìttccácgiaiđoncalnhđưcthihànhcùnglúc. Trongmtbxlýkhơngdùngkthutngdn,tacĩthdùngb logicshcALUđcpnhtthanhghiPC,cpnhtđachca tốnhngbnh,đachơnhmàchươngtrìnhcnnhyti,làm cácphéptínhtrêncáctốnhngvìcácphéptínhnàycĩthxyra nhiugiaiđonkhácnhau. Phicĩnhiuthanhghikhácnhaudùngchocáctác v đcvàvit.Trênhình7.9,timtchukỳxungnhp(chukỳxung nhp5),tathycùngmtlúccĩ2tácvđc(IF,MEM)và1tácv vit(RS). Trongmtmáycĩkthutngdn,cĩkhiktquca mttácvtrưcđĩ,làtốnhngnguncamttácvkhác.Gi sktqucalnhthi làtốnhngcalnhthi+1thìtichu kỳxungnhpth4lnhthi+1 khơngththchin(EX)đưcvì cịnchưacĩgiátrtốnhng.Nhưvyscĩthêmnhngkhĩkhăn địihiphicĩcơchxlýriêng. Cnphi gii mã các lnh mt cách đơngin đcĩ th giimãvàđccáctốnhngtrongmtchukỳduynhtcaxung nhp. CnphicĩcácblàmtínhALUhuhiuđcĩththi hànhlnhshcdàinht,cĩsgi,trongmtkhongthigianít hơnmtchukỳcaxungnhp. 212
  23. ChươngVII:TchcBxlý Cn phi cĩ nhiu thanh ghi lnh đ lưu gi lnh mà chúngtaphixemxétchomigiaiđonthihànhlnh. Cuicùngphicĩnhiuthanhghibđmchươngtrình PCđcĩthtáitccáclnhtrongtrưnghpcĩngtquãng.  Nhngkhĩkhăntrongkthutngdn Khi thi hành lnh trong mt máy tính dùng k thut ng dn,cĩnhiutrưnghplàmchovicthchinkthutngdn khơngthchinđưcnhưlà:thiucácmchchcnăng,mtlnh dùngktqucalnhtrưc,mtlnhnhy. Tacĩthphânbit3loikhĩkhăn:khĩkhăndocutrúc, khĩkhăndosliuvàkhĩkhăndođiukhin. a.Khĩkhăndocutrúc: ðâylàkhĩkhăndothiubphnchcnăng,vídtrong mtmáytínhdùngkthutngdnphicĩnhiuALU,nhiuPC, nhiuthanhghilnhIR Cáckhĩkhănnàyđưcgiiquytbng cáchthêmcácbphnchcnăngcnthitvàhuhiu. b.Khĩkhăndosliu: Lyvídtrưnghpcáclnhliêntipsau: Lnh1:ADDR1,R2,R3 Lnh2:SUBR4,R1,R5 Lnh3:ANDR6,R1,R7 Lnh4:ORR8,R1,R9 Hình7.10chothyR1,ktqucalnh1chcĩthđưc dùngcholnh2saugiaiđonMEMcalnh1,nhưngR1đưc 213
  24. ChươngVII:TchcBxlý dùngcholnh2vàogiaiđonEXcalnh1.Chúngtacũngthy R1đưcdùngchocáclnh3và4. Hình7.10.Nhngkhĩkhăndosliu ðkhcphckhĩkhănnày,mtbphnphncngđưc dùngđđưaktqutngãraALUtrctipvơmttrongcác thanhghingãvàonhưtronghình7.5. Khibphnphncngnêutrênpháthincĩdùngktqu caALUlàmtốnhngcholitkê,nĩtácđngvàomchđahp đđưangãracaALUvàongãvàocaALUhocvàongãvào camtđơnvchcnăngkhácnucn. c.Khĩkhăndođiukhin: Cáclnhlàmthayđitínhthihànhcáclnhmtcáchtun t(nghĩalàPCtăngđuđnsaumilnh),gâykhĩkhănvđiu khin. Các lnhnày là lnh nhyđn mt đach tuytđicha trongmtthanhghi,haylnhnhyđnmtđachxácđnhmt cáchtươngđisoviđachhinticabđmchươngtrìnhPC. Cáclnhnhytrêncĩthcĩhockhơngđiukin. Trongtrưnghpđơnginnht,tácvnhykhơngthbit trưcgiaiđongiimã.Nhưvy,nulnhnhybtđuchukỳC thìlnhmàchươngtrìnhnhytichđưcbtđuchukỳC+2. Ngồira,phibitđachcnnhyđnmàtacĩcuigiaiđon 214
  25. ChươngVII:TchcBxlý giimãID.Tronglnhnhytươngđi,taphicngđdicha trongthanhghilnhIRvàothanhghiPC.Victínhđachnàych đưcthchinvàogiaiđonIDviđiukinphicĩmtmch cơngvicriêngbit. Vytrongtrưnghplnhnhykhơngđiukin,lnhmà chươngtrìnhnhyđnbtđuthchinchukỳC+2nulnh nhybtđuchukỳC. Chocáclnhnhycĩđiukinthìphitínhtốnđiukin. Thơng thưng các kin trúc RISC đt kt qu vic so sánh vào trong thanh ghi trng thái, hoc vào trong thanh ghi tng quát. Trongc2trưnghp,đcđiukintươngđươngviđcthanh ghi.ðcthanhghicĩthđưc thchintrongphânna chukỳ cuigiaiđonID. Mt trưng hp khĩ hơn cĩ th xy ra trong nhng lnh nhycĩđiukin.ðĩlàđiukinđưccĩkhisosánh2thanhghi vàchthchinlnhnhykhiktqusosánhlàđúng.Victính tốntrêncácđilưnglogickhơngththchinđưctrongphân nachukỳvànhưthphikéodàithigianthchinlnhnhy cĩđiukin.Ngưitathưngtránhcáctrưnghpnàyđkhơng làmgimmchuhiucamáytính. Vytrưnghpđơngin,ngưitacĩthđưcđachcn nhyđnvàđiukinnhycuigiaiđonID.Vycĩchmđimt chukỳmàngưitacĩthgiiquytbngnhiucách. Cáchthnhtlàđĩngbăngkthutngdntrongmtchu kỳ,nghĩalàngưngthihànhlnhthi+1đanglàmnulnhthưilà lnhnhy.Tamttrngmtchukỳchomilnhnhy. Cách th hai là thi hành lnh sau lnh nhy nhưng lưu ý rnghiuqucamtlnhnhybchmmtmtlnh.Vylnh theosaulnhnhyđưcthchintrưckhilnhmàchươngtrình 215
  26. ChươngVII:TchcBxlý phi nhy ti đưc thc hin. Chương trình dch hay ngưi lp trìnhcĩnhimvxenvàomtlnhhuíchsaulnhnhy. Trongtrưnghpnhycĩđiukin,vicnhycĩthđưc thc hin hay khơng thc hin. Lnh hu ích đt sau lnhnhy khơnglàmsailchchươngtrìnhdùđiukinnhyđúnghaysai. BxlýRISCSPARCcĩnhnglnhnhyvihub.Các lnhnàychophépthihànhlnhsaulnhnhynuđiukinnhy đúngvàhubthchinlnhđĩnuđiukinnhysai. CÂUHIVÀBÀITPCHƯƠNGVII 1.LitkêcácthànhphnvànhimvcaCPU? 2.Mơttchcmtmáytínhđơnginvàhotđngcacácb phnchínhtrongCPU 3.Nhimvcabđiukhinvàcácloibđiukhin? 4.Bthanhghigmcácloinào?Trongh80x86,hãynêucác thanhghivàcácđctínhtươngngcamiloi. 5.Cácloiđưngđicadliuvàcácưu,nhưcđimcami loi? 6.Victhihànhlnhmãmáyđưcthcthirasao?giithíchvic thcthiđonchươngtrìnhsau: MOV R4,#24 ADD R4,(R1) 7.Thnàolàngtquãng?Cácgiaiđonthchinngtquãngca CPU. 216
  27. ChươngVII:TchcBxlý 8.Vhìnhđmơtkthutngdn.Kthutngdnlàmtăng tcđCPUlênbaonhiêuln(theolýthuyt)?Tisaotrênthct sgiatăngnàyliíthơn? 9.CácđiukinmàmtCPUcnphicĩđtiưuhốkthut ngdn.Giithíchtngđiukin. 10.Cáckhĩkhăntrongkthutngdnvàcáchgiiquytkhĩ khănnày. 217
  28. Kintrúcmáytính1–VũðcLung PHLC Trang Linĩiđu 1 3 ChươngI:Giithiu 1.1.Lchspháttrincamáytính 3 1.1.1.Thhzeromáytínhcơhc(16421945) 3 1.1.2.ThhI–bĩngđènđin(19451955) 4 1.1.3.ThhII–transistor(19551965) 9 1.1.4.ThhIII–mchtíchhp(19651980) 12 1.1.5.ThhIV–máytínhcánhân(1980đnnay) 16 1.2.Khuynhhưnghinti 18 1.3.Phânloimáytính 20 1.4.CácdịngIntel 21 CâuhivàbàitpchươngI 28 30 ChươngII:Cácbphncơbncamáytính 2.1.Bxlý(CPU) 30 2.2.Bnmchchính(Mainboard) 39 2.3.đĩamm(FDD) 42 2.4.đĩacng(HDD) 43 2.5.CDvàDVD 47 2.6.BnhRAMvàROM 47 2.7.Bànphím(Keyboard) 53 2.8.Chut(Mouse) 54 2.9.Cardmànhình(VGACard) 55 2.10.Mànhình(Monitor) 57 2.11.Cardmng(Networkadapter)vàModem 61 CâuhivàbàitpchươngII 62 63 ChươngIII:Biudindliu 3.1.Kháinimthơngtin 63 3.2.Lưngthơngtinvàsmãhĩathơngtin 64 218
  29. Kintrúcmáytính1–VũðcLung 3.3.Hthngs 65 3.4.Cácphéptínhshcchohnhphân 71 3.4.1.Phépcngnhphân 71 3.4.2.Phéptrnhphân 72 3.4.3.Biudinsnguyêncĩdu 73 3.4.4.Sbùcamts 73 3.4.5.Phéptrnhphândùngbù2 74 3.5.Squán(excessn) 76 3.6.Cáchbiudinsviduchmđng 77 3.7.BiudinsBCD 79 3.8.Biudincáckýt 81 CâuhivàbàitpchươngIII 82 ChươngIV:MchLogics 84 4.1.CngvàđisBoolean 84 4.1.1.Cng(Gate) 84 4.1.2.ðisBoolean 88 4.2.BnđKarnaugh 103 4.3.NhngmchLogicscơbn 111 4.3.1.Mchtíchhp(ICIntergrateCircuit) 111 4.3.2.Mchkthp(CombinationalCircuit) 113 4.3.3.Bdnkênhbphânkênh 114 4.3.4.Mchcng(Adder) 118 4.3.5.Mchgiimãvàmãhĩa 120 CâuhivàbàitpchươngIV 127 ChươngV:Mchtunt 130 5.1.Xungđngh 130 5.2.Mchlt(cht–latch) 131 5.2.1.MchltSR(SRlatch) 132 5.2.2.MchltD 135 5.2.3.MchltIK 136 5.3.4.MchltT 136 5.3.Mchltl(Flipflop) 137 5.4.Mchtunt 140 BàitpchươngV 147 219
  30. Kintrúcmáytính1–VũðcLung ChươngVI:Kintrúcblnh 150 6.1.Phânloikintrúcblnh 150 6.2.ðachbnh 154 6.3.Mãhĩatplnh 156 6.3.1.Cáctiêuchunthitkdngthclnh 157 6.3.2.Opcodemrng 159 6.3.3.Vídvdngthclnh 162 6.3.4.Cácchđlpđach 166 6.4.Blnh 174 6.4.1.Nhĩmlnhtruyndliu 176 6.4.2.Nhĩmlnhtínhtốnshc 178 6.4.3.NhĩmlnhLogic 179 6.4.4.Nhĩmcáclnhdchchuyn 180 6.4.5.Nhĩmcáclnhcĩđiukinvàlnhnhy 181 6.5.CutrúclnhCISCvàRISC 184 CâuhivàbàitpchươngVI 189 ChươngVII:Tchcbxlý 191 7.1.Tchcbxlýtrungtâm 191 7.2.Bđiukhin 194 7.3.Bthanhghi 197 7.4.ðưngđidliu(Datapath) 200 7.4.1.TchcOneBus 201 7.4.2.TchcTwoBus,ThreeBus 202 7.5.Dintinthihànhlnhmãmáy 204 7.6.Xlýngt(InterruptHandling) 208 7.7.Kthutngdn(Pipeline) 211 CâuhivàbàitpchươngVII 216 Phlc 218 Tàiliuthamkho 221 220
  31. Kintrúcmáytính1–VũðcLung TÀILIUTHAMKHO 1.NguynMinhTun,Kintrúcmáytính(giáotrìnhlưcgin), V3.7,TrưngðHKhoahctnhiêntp.HCM 2.Cutrúcmáytínhcơbn,tnghpvàbiêndchVNGuide,nhà xutbnthngkê. 3.VõðcKhánh,Kintrúcmáytính,ThS.VõðcKhánh 4.VõVănChín,NguynHngVân,PhmHuTài.Giáotrình kintrúcmáytính.ðHCnThơ,2003. 5.M.AbdElBarr,H.ElRewini,FundamentalsofComputer OrganizationandArchitecture,Wiley,2005 6.Patterson,D.A.,andJ.L.Hennessy.Computer Organization and Design: The Hardware/Software Interface,3rded.SanMateo, CA:MorganKaufman,2004 7.RobertBruceThompson,BarbaraFritchmanThompson, RepairingandUpgradingYourPC,O’Reilly,2006 8.WilliamStallings.ComputerOrganization&Architecture (Designingforperformance),Sixthedition,PearsonEducation, 2003 221