17302 - kien truc may tinh

Upload: kim-oanh

Post on 10-Jul-2015

3.142 views

Category:

Documents


1 download

TRANSCRIPT

B GIAO THNG VN TI TRNG I HC HNG HI B MN: K THUT MY TNH KHOA: CNG NGH THNG TIN BI GING KIN TRC MY TNH TN HC PHN: KIN TRC MY TNH M HC PHN: 17302 TRNH O TO: I HC CHNH QUY DNG CHO SV NGNH: CNG NGH THNG TIN

HI PHNG - 2010 - 1 - MC LC Chng I : GII THIU CHUNG .......................................................................................... 7 1.1. Lch s pht trin v phn loi ..................................................................................... 7 1.1.1. Lch s pht trin .................................................................................................. 7 1.1.2. Phn loi my tnh ................................................................................................ 8 1.2. Biu din thng tin trn my tnh ............................................................................... 10 1.2.1. H m ............................................................................................................... 10 1.2.2. i s thp phn ra s nh phn hoc ngc li................................................... 11 1.2.3. Cc loi m ......................................................................................................... 12 1.2.4. Biu din s nguyn theo m nh phn ................................................................ 12 1.2.5. Biu din s thc theo m nh phn .................................................................... 12 1.2.6. Biu din cc dng thng tin khc ....................................................................... 13 1.3. Cc loi my tnh c nhn .......................................................................................... 13 Chng II: B XL TRUNG TM ............................................................................... 15 2.1. T chc b x l ....................................................................................................... 15 2.2. T chc thanh ghi ...................................................................................................... 16 2.2.1. User-Visible Registers: ....................................................................................... 16 2.2.2. Control and Status Registers: .............................................................................. 17 2.3. n v s hc v logic ALU (Arithmetic and logic unit) ............................................ 18 2.4. n v iu khin CU(Control Unit).......................................................................... 19 2.4.1 Tn hiu iu khin: ............................................................................................. 20 2.4.2. n v iu khin vi chng trnh ...................................................................... 21 2.4.3. Mt s m rng cavi x l my tnh cho n ngy nay.................................... 21 2.5. Cu trc kt ni - BUS .............................................................................................. 22 2.6. Tp lnh v cc Mode a ch .................................................................................... 23 2.6.1. Tp lnh ca CPU ............................................................................................... 23 2.6.2. Cc nhm lnh ca CPU ..................................................................................... 24 2.6.3. Hp ng (Assembly) .......................................................................................... 30 2.6.4. Cc Mode a ch ................................................................................................ 34 Chng III: H THNG NH ............................................................................................ 37 3.1. Khi qut v h thng nh ......................................................................................... 37 3.2. Phn cp b nh ........................................................................................................ 38 3.3. B nh bn dn ......................................................................................................... 38 3.3.1. Cc loi b nh bn dn ...................................................................................... 38 3.3.2. T chc b nh ................................................................................................... 39 3.4. Cache Memory .......................................................................................................... 39 3.4.1. Nguyn tc ......................................................................................................... 39 3.4.2. K thut nh x b nh cache ............................................................................. 40 3.5. Qun l b nh .......................................................................................................... 43 3.5.1. Cc k thut qun l b nh................................................................................ 43 - 2 - 3.5.2. B nh o ........................................................................................................... 46 3.5.3. S phn on ...................................................................................................... 48 3.6. K thut gii m a ch ............................................................................................. 49 3.6.1. Cu to mt vi mch nh .................................................................................... 49 3.6.2. Gii m a ch cho b nh ................................................................................. 50 Chng IV: H THNG VO RA ...................................................................................... 53 4.1. Gii thiu chung ........................................................................................................ 53 4.1.1. Cc thit b ngoi vi ............................................................................................ 53 4.1.2. Modul vo ra ...................................................................................................... 53 4.2. Ghp ni my tnh vi thit b ngoi vi ...................................................................... 54 4.2.1. Ghp ni song song ............................................................................................ 54 4.2.2. Ghp ni ni tip ................................................................................................ 56 4.3. Cc phng php iu khin vo ra ........................................................................... 56 4.3.1. Vo ra iu khin bng cch thm d .................................................................. 56 4.3.2. Vo ra iu khin bng Ngt ............................................................................... 57 4.3.3. Vo ra iu khin bng DMA ............................................................................. 61 Chng V: THIT B NHP D LIU .............................................................................. 64 5.1. Gii thiu chung ........................................................................................................ 64 5.2. Bn phm ................................................................................................................... 64 5.1.1. K thut d phm ................................................................................................. 64 5.1.2. K thut qut phm (Scan) ................................................................................... 65 5.3. Chut ........................................................................................................................ 66 5.4. Cc thit b nhp liu tin tin ................................................................................... 66 Chng VI: THIT B XUT D LIU ............................................................................. 67 6.1. Nhng khi nim c bn ............................................................................................ 67 6.1.1. Nguyn l ca phng php hin th hnh nh video. .......................................... 67 6.1.2. Nhng c im chung ca mn hnh ................................................................. 67 6.2. Mn hnh mu CRT (Cathod Ray Tube) .................................................................... 68 6.2.1. Cu to ............................................................................................................... 68 6.2.2. Phng php qut dng ...................................................................................... 69 6.2.3. S ghp ni v hot ng: .............................................................................. 69 6.2.4. K thut lm ti hnh nh .................................................................................. 70 6.3. My in ....................................................................................................................... 70 Chng VII: THIT B LU TR ...................................................................................... 71 7.1. Gii thiu chung ........................................................................................................ 71 7.2. a t (Magetic) ........................................................................................................ 71 7.2.1. Tham s c ghi (u t) ................................................................................... 71 7.2.2. Tham s a t .................................................................................................... 72 72.3. Cc cng ngh sn xut a t .............................................................................. 73 7.2.4. Chun b mt a cng a vo s dng ......................................................... 74 7.3. a Quang (Optical Disk) .......................................................................................... 74 7.3.1. c im ............................................................................................................ 74 7.3.2. Nguyn tc c/ghi thng tin .............................................................................. 74 - 3 - 7.3.3. Phn loi ............................................................................................................. 75 7.4. Cc thit b lu tr khc ............................................................................................ 75 Chng VIII: THIT B GHP NI V TRUYN THNG .............................................. 76 8.1. Gii thiu chung ........................................................................................................ 76 8.2. B chuyn i tn hiu ............................................................................................... 76 8.2.1. B chuyn i tn hiu s - tng t: DAC (Digital Analog Converter) .............. 76 8.2.2. B chuyn i tn hiu tng t - s: ADC (Analog Digital Converter) .............. 77 8.2.3. Modem (Modulation - Demodulation) iu ch v gii iu ch ......................... 78 8.3. Cc chun giao tip ................................................................................................... 79 8.3.1. Cc chun chung: ............................................................................................... 79 8.3.2. Cc chun v giao din ga DTE v DCE bao gm: ........................................... 79 8.3.3. Chun EIA-RS 232 (Electronic Industry Association-Recomand Standard) ........ 79 8.4. Mch iu khin truyn s liu .................................................................................. 81 8.4.1. Gii thiu chung ................................................................................................. 81 8.4.2. Mch iu khin truyn thng d b vn nng UART (VXL 8250A) ................... 82 8.4.3. Mch iu khin truyn thng ng b-d b vn nng USART (VXL 8251A) ... 89 - 4 - YU CU V NI DUNG CHI TIT Tn hc phn: Kin trc my tnh v thit b ngoi viLoi hc phn: 2 B mn ph trch ging dy: K thut my tnhKhoa ph trch: CNTT M hc phn: 17312Tng s TC:4 TS titL thuytThc hnh/XeminaT hcBi tp ln n mn hc 756015000 iu kin tin quyt: Sinh vin phi hc xongcc hc phn sau mi c ng k hc phn ny: Kin H iu hnh, Cu trc d liu, cc Ngn ng lp trnh cp cao, Mch v tn hiu, K thut s. Mc tiu ca hc phn: Gii thiu cho sinh vin c khi nim tng quan v kin trc my tnh, cc k thut c bn v phn cng, cc k thut iu khin v ghp ni. Ni dung ch yu - Phn I: Kin trc my tnh -gii thiu v cc phng php biu din thng tin trong mytnh, kintrcchungcamytnhintvccthnhphnbntrongcngnh chc nng v cu trc trong ca cc thnh phn ny. - Phn II: Cc thit b ngoi vi - gii thiu chung v h thng vo ra, cc thit b ngoi vi, chc nng v cu trc trong ca chng cng nh qu trnhghp ni cc thit b ny vi my tnh in t.Ni dung chi tit ca hc phn: TN CHNG MC PHN PHI S TIT TSLTBTTHKT Chng I : Gii thiu chung 66 1. Lch s pht trin 1 2. Phn loi 1.5 3. H m0.5 4. Cc loi m1 5. n v thng tin 0,5 6. Biu din s nguyn trong my1 7. Mng v ngn xp0,5 Chng II :B x l trung tm14851 1. T chc ca b x l trung tm1 2. Tp cc thanh ghi1 3. n v s hc v Logic1,5 4. n v iu khin2 5. Cu trc kt ni0,5 6. Tp lnh Assembly v cc Mode a ch2 Chng III: H thng nh13121 I. Tng quan2 - 5 - TN CHNG MC PHN PHI S TIT TSLTBTTHKT 1. H thng nh 2. Phn cp h thng nhII. B nh bn dn2 1. T chc ca b nh bn dn 2. Cc loi b nh bn dn II. B nh Cache3 1. Khi nim 2. Cc phng php nh x d liu IV. K thut gii m a ch4 1. Khi nim 2. K thut gii m a ch V. K thut qun l b nh1 1. Cc k thut qun l b nh 2. Qun l b nh o Chng IV: H thng vo ra981 I. Tng quan2 1. Cc Thit b ngoi vi 2. Cc M un vo ra II. Ghp ni vo ra3 1. Ghp ni ni tip 2. Ghp ni song song III. Cc phng php vo ra3 1. Vo ra bng phng php thm d 2. Vo ra bng Ngt 3. Vo ra bng phng php truy nhp trc tip b nh Chng V:Thit b nhp d liu55 1. Khi nim0,5 2. Bn phm3 3. Chut1 4. Cc thit b nhp liu tin tin0,5 ChngVI : Thit b xut d liu55 1. Gii thiu chung0,5 2. Mn hnh 3,5 4. My in1 Chng VII : Thit b lu tr1165 1. Cc khi nim1 2. a t3 3. a quang0,5 4. Cc thit b lu tr khc1,5 - 6 - TN CHNG MC PHN PHI S TIT TSLTBTTHKT Chng VIII : Thit b ghp ni v truyn thng12651 1. Gii thiu chung1 2. B chuyn i ADC DAC2 3. Cc chun ghp ni v truyn thng 1 4. Thit b iu khin ghp ni truyn thng2 Nhim v ca sinh vin : Tham d cc bui thuyt trnh cagio vin, thc, t lm bi tp do giovingiao, tham d cc bui thc hnh, cc bi kim tra nh k v cui k, hon thnh bi tp ln theo yu cu. Ti liu hc tp : - William Stalling - Computer Organization and Architecture, 1997 - Mc. Graw - Computer Architecture, 1997 - Vn Th Minh - K thut vi x l - NXB gio dc 1997 - Nguyn Kim Khnh - Gio trnh kin trc my tnh- HBK H ni - Nguyn nh Vit - Gio trnh kin trc my tnh - HQG H ni - Trn Thi B - iu khin v ghp ni thit b ngoi vi -NXB thng k 2000 - Trn Quang Vinh - Cu trc my tnh - NXB gio dc 1997 - V Vn Thnh - My vi tnh s c chn on v cch gii quyt - NXB thng k 1996. - William Stalling- Computer Architecture Advanced, 1997 Hnh thc v tiu chun nh gi sinh vin:- nh gi da trn tnh hnh tham d bui hc trn lp, cc bui thc hnh, im kim tra thng xuyn v im kt thc hc phn.- Hnh thc thi cui k : thi vit. Thang im: Thang im ch A, B, C, D, F im nh gi hc phn Z = 0.3X + 0.7Y. BigingnyltiliuchnhthcvthngnhtcaBmnKthutmytnh,Khoa Cng ngh Thng tin v c dng ging dy cho sinh vin.

Ngy ph duyt: 15 / 6 / 2010 Trng B mn: ThS. Ng Quc Vinh - 7 - Chng I : GII THIU CHUNG 1.1. Lch s pht trin v phn loi 1.1.1. Lch s pht trin Nhiu th h tri qua con ngi thc hin cc php ton vi cc con s ch yu bng tay hay bng cc cng c tnh th s (bng tnh, thc tnh ...). Nm 1943,John Mauchleyv cchc tr ca ng ch to ra chic my tnh in t utinM-chicmytnhcttnlENIAC(ElectronicNumerialItergratorAnd Calculator).Ngm18.000nint,1500rle,nng30tn,tiuthcngsutin 140KW.Chic my ny mc ch phc v qun i trong chin tranh th gii ln th 2 nhng n nm 1946 n mi hon thnh. Cho n ngy nay my tnh c nhng s pht trin vt bc, ng dng trong hu ht cc hot ng ca x hi vi rt nhiu chng loi th h tu theo cng vic. Tuy nhink t n nay c th phn my tnh ra thnh cc th h sau: Th h 1: (1950-1959): -Vk thut:linhkin dng n in t, tin cythp, tn hao nnglng. Tc tnh ton t vi nghn n vi trm nghn php tnh/giy. -V phn mm:ch yu dng ngn ng my lp trnh. -V ng dng: mc ch nghin cu khoa hc k thut. Th h 2: (1959-1964): -V k thut:linh kin bn dn ch yu l transistor. B nh c dung lng kh ln. -V phn mm: bt u s dng mt s ngn ng lp trnh bc cao:Fortran,Algol, Cobol,... -V ng dng: tham gia gii cc bi ton kinh t x hi. Th h 3 (1964-1974) -V k thut: linh kin ch yu s dng cc mch tch hp (IC),cc thit b ngoi vi c ci tin, a t c s dng rng ri.Tc tnh ton t vi triu php ton trn giy;dung lng b nh t vi MB (Megabytes). -V phn mm: Xut hin nhiu h iu hnh khc nhau.X l song song. Phn mm a dng, cht lng cao, cho php khai thc my tnh theo nhiu ch khc nhau. -V ng dng: tham gia trong nhiu lnh vc ca x hi. Th h th 4 (1974-199?): -Vkthut:Xdngmchtchhpcln(Verylargescaleintegration)VLSI, thit k cc cu trc a x l. Tc t ti hng chc triu php tnh /giy. y chng ta ch yu ni v cu trc my vi tnh tng thch IBM nn lch s cachicmyPCgnlinvisphttrincaIBM-PC.chicmytnhcnhn pht trin cng vi s pht trin ca cc b vi x l . My IBM_PC coi nh c khi u t mt cng trnh ca phng thnghim ti Atlanta ca IBM. oT nm 1979-1980 IBM hon thnh chic my Datamaster. Myny dngvi x l 16 bit ca Intel. oNm1980khochsnxutmyPCbtucthchin.Chicmy IBM_PC u tin dng mt b vi x l 8 bits ca Intel, b VXL 8085. oNm 1981-1982 IBM sn xut my tnh PC s dng b vi x l 8086,8088.oNm 1984 my tnh x dng chp 80286. oNm 1987 my tnh x dng b VXL 32bits 80386. oNm 1990 b VXL 80486 ra i vi nhiu tnh nng hn. - 8 - oNm 1993 BVXL Pentiumra i m ra mt th hvi tnh cnhn mivi 64 bits d liu, 32 bit a ch. o1995-1999ccthhVXLminhMMX,PentiumII,IIIvikhnngbiu din khng gian 3 chiu, nhn dng ting ni... oT nm 2000 cng vi Merced mt th h VXL 64 bit vi cu trc hon ton mi ra i to ra mt th h my vi tnh mi. -V ng dng : My tnh c p dng trong hu ht cc lnh vc ca x hi. Th h th 5: Theo n ca ngi Nht chic my tnh in t th h th 5 c cu trc hon ton mi, bao gm 4 khi c bn.Mt trong cc khi c bn l my tnh in t c cu trc nhhinnayvlinh trc tip vingis dng thng qua khigiao tip tr thc gm 3 khi con: b x l giao tip, c s tri thc v khi lp trnh. 1.1.2. Phn loi my tnh Mytnh(computer)lmtkhinimtngirng,tutheocutrc,chcnng, hnh dng... m c th phn ra nhiu loi khc nhau. V cn bn my tnh c phn lm cc loi chnh sau: 1.1.2.1. Phn loi theo kh nng -My tnh ln (mainframe computer) -My tnh con (mini computer) -my vi tnh (Microcomputer). My tnh ln (mainframe computer):Lnhngmytnhcln,ckhnnghtrchohngtrmnhngngn ngi s dng. C kh nng gii nhng bi ton ln tc tnh ton nhanh.Chng c thit k c bit vi chiu di bus d liu rng 64 bit hoc hn. Kch thc b nh lm vic rt ln. Gi thnh cao ch c chuyn dng cho cc ng dng trong qun s, ngn hng, kh tng. Thng c s dng trong ch cc cng vic sp xp theo l ln (Large-Batch-Job) hoc x l cc giao dch (Transaction Processing), v d trong ngn hng. My tnh con (mini computer):Lmtdngthunhcamytnhln.Chiurngdliuvokhong32bit n64bit.Dogithnhthphnmytnhln,tnhnngmnhnnmytnhconrt c a dng trong nghin cu khoa hc. My vi tnh (MicroComputer):Nhngmydngbvixl(hIntel,Motorola)lmctli,viiukhin (microcontroler) v my tnh trong mt vi mch (one-chip microcomputer) u thuc h myvi tnh. c im chungv cngngh ca h ny mc t hp ln VLSI (very large scale integration) v dng cng ngh CMOS (complementary metal oxide silicon) ch to cc mch logic. Tc phttrin ccvix l32 bit v 64 bit hin ilm khong cch gia my tnh ln v my vi tnh ngy cng thu hp. Trm lm vic (workstation):Cng l mt loi my vi tnh, c im khc bit so vi my tnh c nhn PC l c kh nng c nhiu ngi cng x dng cng mt lc.My tnh c nhn PC (Personal Computer):Chcmtngisdng.Githnhcachngrdocuhnhngin, c chun ho, v c sn xut hng lot vi s lng ln.Cng vi s pht trin ca khoa hc cng ngh m my tnh c nhn ngy nay c th lm c nhng cng vic m trc kia vn ch l c quyn ca my tnh ln. - 9 - 1.1.2.2. Phn loi theo nguyn l -My tnh c kh. -My tnh tng t-My tnh s 1.1.2.3. Phn loi theo kin trc Kin trc tun t (kin trc VonNewman c in) Mytnh gm CPU, Memory, I/O. CPU gm:thanh ghi (regiser) ALU (Arithmetic Logical Unit) CU (Control Unit). c im : Thc hin ln lt tng lnh mt Tc chm Cn c gi l kin trc SISD(Single Instruction Stream-Single Data Stream) Kin trc song song + SIMD (Single Instruction Stream-Multiple Data Stream) c im:oC mt n v iu khin, n phn t x l onviukhin:iukhinngthittcccphntticngmtthi imccphntxlthchincngmtthaotctrncctpdliukhc nhau. C U ALU 2 AL U1T n h i u i u k h i nmemoryl n hD LDLM e mo ryR e g i s ter AL UC UI/O- 10 - + MIMD (Multiple Instruction Stream-Multiple Data Stream) c im: oMygmhaihocnhiubvixltngtvkhnng,cththchin nhng php ton khc nhau tren cc DL khc nhau. oTt c cc CPU cng chia x mt b nh chung. Mt s b nh cc b cng c th c dng. oTt c CPU cngx dng chung cc thit bvo ra, cth dng chung mt s knh hoc dng cc knh khc nhau dn n cng mt thit b. oH thng c iu khin bi h thng hot ng tch hp .N cung cp s nh hnglnnhau giaCPUv cc chng trnhchy trn chng task, file,cc thnh phn d liu... + MISD (Multiple Instruction Stream-Single Data Stream) c im:oC nhiu n v iu khinoThc hin lnh theo cc cng on, ti mt thi im mi n v iu khinx lmtcngonnhvycthtitkimcschukmycnxl lnh. oycnglnguyntccaPipelingkhichialnhthnhcccngon:nhn lnh F (Fetch), gii m lnh D (Decode), thc hin lnh E (Execute), v ghi kt qu W (write back). Nh vy vi 4 lnh c th tit kim ti 9 chu k my1.2. Biu din thng tin trn my tnh 1.2.1. H ma. H m bt k Bt k mt h m no u biu din mt s nguyn theo nguyn tc sau: N = an-1...a0 = a0.s0 + a1.s1 + ... + an-1.sn-1 = iniis a =10 (1.1) Trong N l mt s nguyn c n ch s. Ch s ai ti v tr i (i=0...n-1) c gi l tr s (hay cn gi l trng s). Gi tr s l c s ca h m . H m c t tn theo gi tr c s s. Chng hn, vi s=2 ta c h m c s 2, vi s=10 ta c h m c s 10 v vi s=16 ta c h m 16. Gi tr s cng xc nh s k t cn dng biu din tr s. Chng hn vi s=2 h m s cn hai k t biu din, v th ta c khi nim h nh phn(chia ra lm hai). Tng t nh vy, h m 10 v 16 cn c gi l h thp phn v h thp lc phn. b. H m thp phn nhngha:lhm quenthucnhtcanhnloi.Clhmnybtngunt vic ngi tin s dng mi u ngn tay m cc vt xung quanh. Ngy nay ton th gii thng nht s dng nhng k t s Rp biu din h thp phn.Cc k t s l: CU1 CU2 ALU1Tn hi u i u khi nmemoryl nhDLDLALU2Tn hi u i u khi n- 11 - 0,1,2,3,4,5,6,7,8,9.Vicphtminhras0mickhnngbiudins nguyntheong nguyn tc nu trong phng trnh (1.1). Ngoi ra nh chng ta bit mt s nn vn minh khc cng pht minh ra h m ca mnh nh Trung Quc, La M c.... Tuy nhin v khng c k t s 0 nn cc h m ny u cn nhiu hn 10 k t biu din s nguyn. V d biu din s nguyn: N = 1547d = 1.103 + 5.102 + 3.101 + 7.100 c. H m nh phn c hnh thnh trn c s i s lgic Boole, xut hin t cui th k 19. H m ny v cc mn ton lin quan n n thc s pht huy c sc mnh khi c mch in hai trng thi .Vi hai con s 0,1 c th biu din mt s nguyn bt k .Mi k t (hay mi tr s) ca h nh phn c gi l mt bit (binary digit). i vi my tnh in t cc bit c biu din bng mt hiu in th tng ng: mc 0 (0V-1 V), mc 1 (2v-5v). gin tin trongvics dng snh phn, ngi ta cn t nhiu bi s ca hnh phn nh sau: 4 bit l mt nibble. 8 bit l mt byte. 16 bit l mt t (word). 32 bit l mt t kp (double word) 210 bit l mt kilobit (Kbit). 220 bit l mt Megabit (Mbit). 230 bit l mt Gigabit (Gbit). V d biu din mt s nguyn: N = 1011b = 1.23+ 0.22+ 1.21+ 1.20= 8 + 0 + 2 + 1 = 11d d. H thp lc phn (hexa) Xut hin nh mt cch biu din gin tin trong cng ngh tin hc. V mt s nh phn qu di v bt tin khi vit v tnh ton. 4 ch s nh phn c gp thnh mt ch s thp lc phn.Nh vy c s ca h thp lc phn l s=16.iu ny c ngha l cn c 16 k t khc nhau biu din h thp lc phn.Cc k t l :0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. V d biu din mt s nguyn: N = 2BC1h = 2.163 + 11.162 + 12.161 + 1.160 = 11201d. 1.2.2. i s thp phn ra s nh phn hoc ngc li i s s thp phn ras nh phnhay thplc phn, ta ch cn chia s thp phn cho c s ca h (2 hoc 16).S d l tr s, thng s c chia tip tnh tr s tip theo. Tronghnh phn, tr s u tin (ngoicng bn phi) c gilsgLSB (least significant bit) v tr s cui cng (ngoi cng bn tri) c gi l MSB (most signifcant bit).V d: N = 113d Nh phn Thp lc phn 113/2=56 d 1 LSB113/16=7 d 1 56/2=28 d 07/16=0 d 7 28/2=14 d 0 14/2=7 d 0 7/2=3 d 1 3/2=1 d 1MSB Kt qu = 113d = 110001b = 71h - 12 - 1.2.3. Cc loi m a. M BCD Dng 4 bit h 2 biu din mt s h 10 b. M ASCII Dng 7 bit m ho, bit cui cng l bit kim tra chn l, pht hin li khi truyn 1.2.4. Biu din s nguyn theo m nh phn Dng s nh phn khng du: n bit biu din 2n s t 0 n 2n-1 Dng s nh phn c du: n bit biu din 2n s t -2n-1 n +2n-1-1 S b 2: - S b 1: 1 i thnh 0, 0 i thnh 1 - S b 2: s b 1 cng 1 1.2.5. Biu din s thc theo m nh phn a. Biu din du chm c nh Cch biu din du chm c nh trongh nh phn hon ton ging cch biu din s thc thng thng ca h thp phn R = an-1...a0, b0...bm-1 = iniis a =10 + iniis a =10 TrongRsthccnbiudingmntrsngtrcvmtrsngsaudu chm. Tu thuc vo h thp phn hay nh phn m c s s c gi tr l 2 hay 10. b. Biu din du chm ng Chia lm 4 thnh phn: M: phn nh tr E: phn m R: c s S: du Nh vy X = (-1)S.M.RE V d: R=-750d = -0,75.103 = -0,75E3 nh dng du chm ng c th dng chunIEEE754-1985 (Institute of Electrical and Electronic Engineering) 32 bit hoc 64 bit.y l chun c mi hng chp nhn v c dng trong b x l ton hc ca Intl. Bit du nm v tr cao nht, kch thc phn m v khun dng phn nh tr thay i theo tng loi s thc Gi tr s thc IEEE754-1985 c tnh nh sau: R = (-1)S.(1 + M1.2-1 + ...+Mn2-n).2E7...E0-127 SE7-E0 nh tr(M1- M23) V d: 428CE9FCh = 0100 0010 1000 1100 1110 1001 1111 1100 Phn du (bit cao nht): 0 = s dng Phn m: 28 + 22 + 20 -127= 133-127 =6 Phn nh tr: 2-4 + 2-5 + 2-8 + 2-10 + 2-12 + 2-15 + 2-16 + 2-17 + 2-18 + 2-19 + 2-20 + 2-21

- 13 - = 0,1008906 nh vy gi tr ngm nh l 1,1008906 Quy tc i ngc li: Chuyn s du phy ng v dng nh phna v dng 1.xxxxEyyyy xc nh bit 31: du Xc nh bit t 30-23: yyyy+7Fh Xc nh bit 22-0: xxxx00..00 1.2.6. Biu din cc dng thng tin khc a. Biu din hnh nh b. Biu din m thanh c. Cc i lng vt l khc 1.3. Cc loi my tnh c nhn m bo tnh tng thch, cu trc phn cng bn trong cc my vi tnhc nhn v c bn l ging nhau. V th chng ch c phn loi theo hnh dng vt l.-Loi bn(desktop), loi bn thu nh (desktop slim-line) -Loi t ng (tower),mini-tower -Loi xch tay (notebook) -Loi b ti (palmtop,palmpilot) Kin trc chung ca my tnh in t -Bnhtrungtm(CentralMemoryorMainMemory)Cnhimvchanhng chng trnh v d liu trc khi chng trnh c thc thi-B iu khin(Control Unit -CU) C nhim v iu khin s hot ng ca tt c cc thnh phn ca h thng my tnh theo chng trnh m n c giao thi hnh. Thit b voI NPUTDEVI CEB nh ngoiThi t BRaMAIN MEMORYB S hc -l ogi cALUB i u khi n CUC c n vchc n ng c bn ca m y tnh i n t(Cc ng v nt t ch mi quan h. Cc ng nt lin l ng truyn d liu)- 14 - -Bshcvlogic(ArithmeticLogicalUnit,thngcvitttlALU).C nhim v thc hin cc thao tc tnh ton theo s iu khin ca CU. -Thit b vo (Input Device). C nhim v nhn cc thng tin t th gii bn ngoi, bin i sang dng s mt cch thch hp ri a vo b nh trong. -Thit b ra (Output Device) C nhim v a thng tin s t b nh trong ra ngoi di dng nhng dng m con ngi yu cu. CU HI V BI TP 1.1. Trnh by hiu bit ca anh ch v cc giai on pht trin ca my tnh in t 1.2. Trnh by v phn loi my tnh theo kin trc 1.3. i s 23786d, -17456d sang s nh phn nguyn c du 16 bt 1.4. i s 3476,0655d sang s thc nh phn 32 bt theo chun IEEE754 1995 1.5. Trnh by cu trc chung mt my tnh in t - 15 - Chng II: B XL TRUNG TM 2.1. T chc b x l hiu c t chc ca CPU, chng ta hy xem xt nhngyu cu t ra trn CPU, nhng th n phi lm: -Fetch Instructions(ch lnh tm np): CPU phi c cc ch lnh t b nh. -Interpret Instructions: ch lnh phi c gii m xc nh hnh ng no c yu cu. -Fetch data (d liu tm np): S thi hnh mt ch lnh c th yu cu thc hin mt vi thao tc s hc hoc lgi trn d liu. -Write Data: Nhng kt qu ca s thi hnh c th yu cu vit d liu vo b nh hoc module vo ra. Thng thngCPU phi thchin cc cngvic ny,n c th r rngCPU cn mt ch cha tm thi cha d liu. N phi nh v tr ca ch lnh sau cng n mc n c th bit ni no cha lnh tip theo. N cn cha cc ch lnh v d liu tm thi trong khi mt lnh c thc thi. Ni cch khc CPU cn mt b nh trong nh. Hnh trn xc nh cc kt ni ca CPU vi phn cn li ca h thng thng qua bus h thng.Mtgiao dintngtcthcnnchottcccccutrcktnikhc.Ccb phnchnh ca mtCPUl nv s hcvlogic (ALU)v nv iu khin (CU). ALU lm cng vic tnh ton thc s hoc x l d liu. n v iu khin CU chuyn d liu v ccchlnhvovrakhiCPUviukhinccthaotccaALU.Thmna,hnhtrn cn m t mt b nh trong, l ch cha tm thi gi l thanh ghi (Register) Hnh nh chi tithn cutrc CPU c m t trangsau. Cc ng truyn d liu v cc ng iu khin logic u c xc nh, bao gm mt thnh phn gn nhn internal CPUbus.Thnhphnnycyucuchuyndliugiaccthanhghikhcnhauv ALU, t ALU thc t hot ng ch trn d liu trong b nh trong CPU. Hnh v cng m t cc thnh phn c bn tiu biu ca ALU. Ch s tng t gia cu trc trong ca my tnh vcu trc trongca CPU. Trong chai trnghp, c mt s tphp ca cc thnh phn chnh(computer:CPU,I/O,bnh;CPU:CU,ALU,ccthanhghi)cktnibngcc ng d liu. Regi st er sControlUni tALUCPUControl BUSDataBUSAddressBUSSystemBUS- 16 - 2.2. T chc thanh ghi Mt h thng my tnh dng mt h thng cp bc b nh. Ti cc mc cao hn trong h thng cp bc, b nh nhanh hn, nh hn, v t hn (tnh theo bit). Trong CPU, c tp hp cc thanhghi chcnngl mcnh trn b nh chnhv b nh cachetrongh thng cp bc. Cc thanh ghi trong CPU phc v 2 chc nng chnh: -User-Visible Registers: N cho php ngi lp trnh ngn ng myhoc ngn ng Asembly thu nh b nh chnh bng ti u ho vic s dng cc thanh ghi. -ControlandStatusRegisters:Ccthanhghinycsdngbinviu khinCUiukhinccthaotccaCPUvbngphnquyn,ccchng trnh iu khin h thng iu khin s thc thi ca cc chng trnh khc. Khng c s ring bit r rng gia cc thanh ghi trong hai loi trn. V d trn mt s mychngtrnhmlthanhghiuser-visible(vdVAX)nhngtrnnhiumykhcli khng phi vy. Cho cc mc ch s c tho lundi y, chng ta s s dnghailoi ny 2.2.1. User-Visible Registers: Thanh ghi User-Visible l mt trong nhng thnh phn c tham chiu bi cch thc ca ngn ng my c CPU thi hnh. Thc s tt c cc thit k CPU ng thi cung cp mt scc thanh ghiUser-Visible i lp vi mt thanhghi tng ngin. Chng ta c th m t c im ca chng trong cc loi sau: -Mc ch chung -D liu -a ch -M iu kin Ccthanhghimc chchung(general-purposeregisters)cthb phnchiachocc chcnngkhcnhaubingilptrnh.Thnhthong,chngsdngtrongtplnhtrc giao vi thao tc. l, bt c mt thanh ghi mc ch chung no c th cha ng ton hng choopcode. N cungcp s dng thanhghimc ch chung thcs. Thng thng, c cc gii hn v d c th c cc thanh ghi cho cc thao tc con tr ng. Trong mt s trng hp cc thanh ghi mc ch chung c th c dng cho cc chc nng a ch ho (v d thanh ghi gin tip, dch chuyn). Trong cc trng hp khc, c mt phnhoc s phn chia r rnggi thanh ghi d liu v thanhghia ch. Cc thanhghi d liu c th c s dng ch gi d liu v khng th c dng trong vic tnh ton ca Status FlagsShifterComplementerArithmetic andBoolean LogicRegistersControl UnitInternal CPU BusControl BUSArthimetic and Logic Unit- 17 - mt a ch ton hng. Cc thanh ghi a ch c th t bn thn l thanh ghi mc ch chung, hoc n c th c dnh ht cho ch a ch ring. -Contr on:Trongmtmyviphngphp achon,mtthanhghion gi a ch c s ca on. C th c nhiu thanh ghi: v d, mt cho h thng iu khin v mt cho tin trnh hin ti. -Thanhghichs:cdngtrongchachchsvcthctng nh ch s. -Con tr ngn xp: Nu c user-visible stackaddressing, sau ngn xp tiu biu l trong b nh v c mt thanh ghi ch n u ngn xp.N cho php nh a ch tuyt i; l push,pop, v cc ch lnh ngn xp khc cn khng cha mt ton hng ngn xp r rng. 2.2.2. Control and Status Registers: C rt nhiuthanhghi CPUkhcnhau c s dng iu khin thao tc ca CPU. Huhtchngtrnasmylkhnghuhnhvingidng.Mtvithanhghicth huhnhvicclnhmythcthitrongchiukhinhoctrongoperating-system mode. Vi cc my tnhkhc nhau s c t chc thanhghikhcnhau vs dng thut ng khc nhau.Bn thanh ghi l ct tu i vi s thi hnh lnh. -Program Counter (PC): cha a ch ca mt ch lnh c tm np. -Thanh ghi lnh (Instruction Register): cha ch lnh c tm np gn nht. -Thanhghiach bnh(MemoryAddressRegister):chaachcaccvtr trong b nh. -Thanh ghi b nh m (Memory Fuffer Register): ch mt t d liu c ghi vao trong b nh hoc t c c gn y nht. V d cc t chc thanh ghi vi x l. Cc v d cung cp ti liu nghin cu v so snh t chc thanh ghi ca cc h thng c th so snh c.Trong phn ny, chng ta s xem xt 3 b vi x l 16 bit c thit k cngmtthiim:ZilogZ8000(PEUT79),Intel8086[MORS78,HEYW83],VMotorola MC6800 [STRI79]. V d vi b x l 8086: Bao gm: -1thanhghicontrlnhIP(instructionPointer):Lutrachlnhktips c chy trong on CT hin thi. Mi 1 t lnh c c t b nh BIU s thay i gi tr IP sao cho n ch n a ch ca t lnh k tip trong b nh. -8 thanh ghi chung-4 thanh ghi d liu AX,BX, CX, DX. AX: (Accumulator Register) thanh ghi tch lu cc kt qu tnh ton. BX (Base Register) thanh ghi c s: ch a ch c s ca vng nh thuc b nh. CX (Counter Register) thanh ghi m: Khai bo s ln 1 thao tc no phi c thc hin trong cc vng lp, php dch, quay. DX (Data Register) thanh ghi s liu: lu tr sl lm thng s chuyn giao CT (2 byte). Khi cn truy nhp ch vi 1 byte th byte cao hay thp c nhn din H,L. *Cc thanh ghi con tr, ch s: -SP (Stack pointer) con tr ngn xp: a ch nh ngnxp. SP cho php truy xut d dng cc a ch trong on ngn xp SS (stack segment). Gi tr trong SP m t - 18 - phi offset ca a ch ngn xp k tip so vi a ch hin ti ang c lu trong SS. -BP(Base pointer) con tr c s: m t offsettnh t SS nhng cn c sdng truy nhp DL trong SS. -I (index) thanhghi ch s:lu a ch offset i vinhnglnh truynhp DL ct trong on DL *Thanh ghi on: B nh c chia thnh cc on logic (segment) di 64kb. CPU c th truy nhp 1 ln ti 4 on. a ch on cha trong thanh ghi on. -ThanhghionmCS(codeSegment)nhndinCbtucaonchng trnh hin hnh trong b nh. -DS (data Segment) on DL : a ch bt u on s liu. -SS (Stack Segment) on ngn xp: a ch logic on ngn xp. -EX (extra Segment) on m rng: /c DL cc chui. *Thanh ghi c: Flag Register 9 trong s 16 bit ca thanh ghi ny c s dng, mi bit c th c thit lp hay xo d ch th kt qu ca mi thao tc trc hoc trng thi hin thi b XL-CF Carry : nh-PF perity: chn l -ZF zero : kt qu php ton =0 -SF sign : 0 dng, 1 m. -OF overflow : trn 2.3. n v s hc v logic ALU (Arithmetic and logic unit) n v s hc v logic (ALU) l mt phn ca my tnh thc s thc hin cc thao tc shcvlogictrndliu.Ttcccthnhphnkhccahthngmytnh-nviu khin, thanh ghi, b nh, ch yu mang d liu vo cho ALU ALU x l v sau a kt qu ra ngoi. n v s hc v logic v tt c cc thnh phn in t trong my tnh u da trn vic sdngccthitbs ngincth chaccconsnhphn,vthchinccthaotc boolean logic n gin. Hnh trn ch ra trong mt gii hn chung, ALU c kt ni vi phn cn li ca CPU nh th no. D liu c sn sng cho ALU trong cc thanh ghi, v kt ca ca mt thao tc c cha trong cc thanh ghi khc. Cc thanh ghi l ch cha tm thi trong CPU c kt ni bi cc ng tn hiu ti ALU. ALU s t c nh l kt qu ca mt thao tc. V d c trn c t ln 1 nu kt qu ca vic tnh ton vt qu chiu di ca thanh ghi cha.Gi trccchatrongccthanhghitrongCPU.nviukhincungcptnhiuiu khin thao tc ca ALU, v s di chuyn d liu vo v ra khi ALU. (Cu to ca ALU c m t trong hnh trang sau) ALU Flags Regi sters Control Unit Regi sters - 19 - Cc php ton c bn ca ALU B cng, tr: 2.4. n v iu khin CU(Control Unit) Nh bit cc thnh phn chc nng c bn ca CPU l: -n v s hc v Logic (ALU) -Tp cc Thanh ghi -Cc ng d liu trong -Cc ng d liu ngoi -n v iu khin(CU) ALU l thnh phn chc nng thc s ca my tnh, Cc thanh ghi dng cha d liu trongCPU, Mt vi thanhghi cha thngtin trng thi cn qun l ch lnh sp xp lin tc (v d t trng thi chng trnh). Nhng thanh ghi khc cha d liu a n hoc ly t ALU,bnh,modulevora.Ccngdliutrongcdngchuyndliugia cc thanh ghi, gia cc thanh ghi v ALU. Cc ng d liu ngoi lin kt cc thanh ghi vi b nh vmodule vo ra. thng bng phng tinca bus h thng. nv iu khin to ra cc thao tc xy ra trong CPU. S thi hnh mt chng trnh bao gm cc thao tc lin quan n cc thnh phn CPU. Nhchngtathy,ccthaotcnybaogmslintccaccvithaotc(viiu khin). Tt c cc vi thao tc l mt trong cc loi sau: -Truyn d liu t mt thanh ghi n thanh ghi khc. -Truyn d liu t mt thanh ghi n mt giao din ngoi (v d system bus) -Truyn d liu t mt giao din ngoi ti thanh ghi. -Thc hin thao tc s hc v logic, s dng thanh ghi nhn v ghi d liu. Ttcccvithao tccnthchintrongmtchukchlnh(baogmttcccvi thao tc thc hin mi ch lnh trong tp ch lnh,nm trong mt trong nhng loi trn) n v iu khin thc hin hai cng tc chnh: -Sspxpchui(sequencing):nviukhinkhinCPUspxpchuivi thaotcvomt chuilintcthchhp, datrnchngtrnhangcthc hin -S thihnh (Execution): nv iukhinkhin mi vi thao tc cthc hin. n v iu khin thao tc da vo vic s dng cc tn hiu iu khin. Shi f f erA& L MUX R BUS BUS - 20 - 2.4.1 Tn hiu iu khin: Chng ta nhngha cc thnh phn to ra CPU (ALU, thanhghi, ng dn d liu) v cc vi thao tc ang c thc hin. i vi n v iu khin thc hin cc chc nng ca n, n phi c d liu vo cho php n xc nh trng thi ca h thng v mc ra cho php n iu khin tc ng ca h thng. C cc chi titk thut ngoi ca n v iu khin. Ni ti, n v iu khin phi c logc yu cu thc hin chui vi thao tc v thi hnh cc chc nng.Ccyu cu caphnnyllin quan vistngtcgia nv iu khinv cc thnh phn khc ca CPU. Cc tn hiu ca n v iu khin c th hin trong hnh trn. Bao gm: Tn hiu vo Tn hiu ra a. Cc tn hiu vo -Clock: y l cch n v iu khin gi thi gian n v iu khin to ra mt vi thao tc (hoc mt tp cc thao tc ng thi) c thc hin vimi xung ng h. y l m vi ln nhc n nh l chu k thi gian x l, hoc chu k thi gian ng h. -Thanhghichlnh:mchlnhhinticdngxcnhvithaotcno c thc hin trong chu k thi hnh. -C:Cccyucu binviukhinxcnhtrngthicaCPUvkt qucathaotcALUtrc.Vd,ivichlnhIncrementandskip-ifrezo (ISZ), n v iu kin s lng gia PC nu c Rezo c t. -Cctnhiuiukhintbusiukhin:Khuphnbusiukhincabush thng cung cp tn hiu cho n v iu khin, nh l tn hiu ngt v s cng nhn. b. Cc tn hiu ra -TnhiuiukhintrongCPU:c2loi:Nkhindliubdichuyntmt thanh ghi ti cc thanh ghi khc, v lm hot ng cc chc nng ALU c th. -Cc tnhiuiu khin iu khin bus: Cng c 2 loi: cc tnhiu iu khin b nh, v tn hiu iu khin module vo ra. Thnhphnmicgiithiutronghnhnyltnhiuiukhin.Bakiutn hiu c s dng: kch hot mt chc nng ALU, kch hot cc ng d liu, v l cc tn hiu trn bus h thng ngoi hoc giao din ngoi. Tt c cc dng tn hiu ny c cung cp cui cng trc tip nh cc tn hiu vo hay cc cng logic ring bit. Control UnitInstruction RegisterControl BusControl Signals FromSystem busControl Signals toSystem BusControl SignalsWithin CPUFlagClock- 21 - Chngtahyxemxtlichuktmnp xemcchnviukhinduytridiu khin. nv iu khingi du vt nin l trong chu k tmnp. Ti im quynh, n bit chu k tm np oc thc hin tip. Bc u tinl di chuyn cc ni dung ca PC v MAR. n v iu khin dngn bng vic kch hot tn hiu iu khin m cc cnggia cc bit ca PC v cc bit ca MAR. Bc tip theo l c mt t trong b nh vo MBR v gia lng PC. n v iu khin lm vic ny bng vc gi cc tn hiu km theo ng thi. -Mt tn hiu iu khin m cc cng cho php ni dung ca MAR a vo bus a ch. -B nh c tn hiu iu khin trn bus iu khin. -Mttnhiu iukhincccngchophpni dungbus dliu cchatrong MBR.-Cc tn hiu iu khin thm mt vo ni dung ca PC v cha kt qu tr li cho PC Theo,nviukhingitnhiuiukhinmcccnggiaMBR(Memory buffer register) v IR (Instruction Register) 2.4.2. n v iu khin vi chng trnh Cc chc nng chnh ca n v iu khin ny: thc hin mt lnh, n v logic tun t a ra mt lnh c ti b nh iu khin-T m a ch c xc nh trong thanh ghi a ch iu khin c c vo thanh ghi b m iu khin. -Ni dung ca thanh ghi b m iu khin pht ra tn hiu iu khin v thong tin a ch tip theo cho n v lgic tun t. -n v logic tun t ti a ch mi vo trong thanh ghi a ch iu khin da vo thng tin a ch tip theo t thanh ghi b m iu khin v cc c ALU. Tt c xy ra trong mt xung ng h. 2.4.3. Mt s m rng cavi x l my tnh cho n ngy nay Ts phttrincaccmytnhchachngtrnhutinnhngnm1950, c mt s s cch tn thc s r rt trong cc khu vc ca t chc my tnh. Sau y khng phi l mt danh sch hon chnh, m ch l mt vi tin b chnh k t ngy sinh ca my tnh. ALUFlagsClockInstruction RegistersDecorderControl Address RegisterSequencingLogicControl MemoryControl Buffer RegisterDecorderReadControl UnitNext Address ControlControl SignalsWithin CPUControl Signals toSystem Bus- 22 - -The Family Concept: c gii thiu bi IBM vi h thng System/360 nm 1964, tiptheongaysaulDECvi PDP-S.Khinimgianhtch ringkintrc ca my t s thi hnh ca n. M tp hp cc my tnh c ngh, vi s khc nhaugiactrnggi/tnhnngaracngmtkintrcchongidng.S khc nhau trong gi v hiu sut l bi ti s thi hnh khc nhau ca cng mt kin trc. -nviukhinvichngtrnh(MicroprogrammedControlUnit):c xutbiWikesnm1951,vcgiithiubiIBMtrnhthngS/360line trong nm 1964. Lptrnhvi chng trnhlmgim bt cng tcthitkv thc hin n v iu khin v h tr cho family concept. BnhCache(cacheMemory):utincgiithiurngritrnhthng IBM S/360 Model 85 nm 1968.S thm vo thnh phnny trongh thng phn cp b nh ci thin r rt hiu sut -Pipelining: Mt binphpatnhtonsongsongvobnchttuntcamt chng trnh ch lnh my. Cc v d l ng dn ch lnh v x l vector oInstruction Pipelining Nhs tinho ca cc h thng my tnh, hiu sut cao hn c th c t c bi vic nm bt cc tin b ca s pht trin cng ngh.Hn na, s ci tin t chc ca CPU c th lm tng hiu sut. Chng ta c mt s v d v nhsdngccthanhghibihonlsdng mtthanhghichan,vs dngbnhcache.Mtphngphptchckhcrtthngdngl Instruction Pipe. (Cn thiu) oChin lc ng dnngdnchlnhtngtvicsdngmtdychuyntrongkhochsn xut.Mtdychuyntoraccthunlitrongthctmtsnphmiqua nhiutrngthikhcnhaucaqutrnhsnxut.Bngcchbtrtintrnh snxut trongmt dy truyn, ccsn phm nhng trng thikhcnhau c th c lm ng thi. Tin trnh ny cng c quy cho l pipelining, Bi v nh trong mt ng dn, mt sn phmvo mi c chp nhn mt u cui trccc sn phm vo c chp nhn trc xut hin nh sn phm ra u cui khc. 2.5. Cu trc kt ni - BUS Mt my tnh bao gm cc b phnhay ccnv caba thnh phn chnh: CPU,h thngnh,thitbvora,clinlcvinhau.Vthcchtmytnhccoilmt mng ca cc n v c bn. Hn na cn phi c cc ng kt ni cc n v vi nhau. Tp hp cc ng kt ni cc n v c gi l Interconnection Structure.Cu trc kt ni thng dng nht c s dng trong my tnh l BUS BUS l tp hp cc ng dy kt ni hai hay nhiu thit b vi nhau. Rt nhiu thit b kt ni vi BUS, mt tn hiu c truyn i t bt k mt tht b no cng c th c gi n tt c cc thit b kt ni vi BUS. Nu c hai thit b cng truyn d liu ng thi trong mt thi im, nhng tn hiu ny s gi ln nhau v s b sai lc, nh vy ch mt thit b c th truyn d liu thnh cng trong mt thi im.Trongnhiutrnghp,BUSthcsgmnhiunglinlc,mingckh nng truyn cc tn hiu m t cc gi tr nh phn 0, 1. Cc s nh phn c truyn lin tc thng qua mt ng, mt s ng ca BUS truyn cc bit nh phn ng thi (kt ni song song).Mt h thng my tnh cha ng mt s loi BUS khc nhau tu thuc cc ng kt ni gia cc b phn cc mc khc nhau ca h thng. BUS kt ni cc b phn chnh ca my gi l BUS h thng. - 23 - BUSh thng bao gm t 50 n 100 ng truyn ring bit, mi ng c phn chia mt chc nng hay mt ngha ring bit. Mc d c rt nhiu cch tht k BUS khc nhau, nhng trn bt k cch no cc ng BUS cng phn loi thnh ba nhm chnh: BUS d liu, BUS a ch, BUS iu khin, ngoi ra c th c mt s ng cung cp nng lng cho cc module tham gia BUS. -BUS d liu: truyn ti d liu ti cc thit b. Mt BUS d liu tiu biu bao gm 8, 16 hay 32 ng, sng c coi l rngca BUS d liu. Mi ng ch c th mang mt bit d liu ti mt thi im, s lng ng xc nh s lng bit c th c truyn trong mt thi im.-BUS a ch: dng ch nh r ngungc hay ch n ca d liu trn BUS d liu. a ch thng l a ch cc cng vo/ra, t nh trong ngn nh. -BUS iukhin:iukhinvictruynhpvvicsdngccngachvd liu. Cc ng d liu v a ch c chia s cho tt c cc b phn, phi c s iu khin vic s dng cc ng . Cc tn hiu iu khin truyn c lnh v thng tin thigiangia cc module h thng. Tnhiu thi gian ch ranhng thng tinv a ch v d liu hp l. Cc tn hiu lnh nh r thao tc c thc hin Nhng ng iu khin tiu biu: -Memory write: iu khin d liu trn BUS c vit vo v tr c xc nh bng a ch -Memory read: iu khin vic a d liu t mt v tr xc nh vo BUS -I/O write: iu khin a d liu t BUS ra cng vo/ra xc nh -I/O read: iu khin vic nhn d liu t cng vo/ra chuyn vo BUS -Transfer ACK: ch ra d liu c chp nhn-BUS request: ch ra module cn chim quyn iu khin BUS -BUS grant: ch ra module ang yu cu c cp quyn iu khin BUS -Interrupt request: yu cu ngt t thit b ngoi vi -Interrupt ACK: chp nhn ngt t CPU -Clock: xung ng h dng trong qu trnh ng b -Reset: khi ng li cc module Phn loi BUS theo ng truyn -BUS ng b: c iu khin bi nhp ng h vi chu k nht nh. Hot ng ca vi x l i hi thi gian l bi s ca chu k my -BUSkhngngb:khnghotngtheoxungnghnhtnh,khitruyntn hiu thit b truyn pht tn hiu MSYN bo cho thit b nhn chy nhanh nht c th, sau khi hon thnh thit b nhn pht li tn hiu SSYN. 2.6. Tp lnh v cc Mode a ch 2.6.1. Tp lnh ca CPU Chc nng my tnh: X l tin Truyn thng Vcbnvicxlthngtinvtruynthngudatrnnguyntcthhinlnh (Instruction). Lnh bao gm:M lnh + Ton hng Ton t Ton t cha m lnh dng tng trng M lnh: chc nng ca thao tc - 24 - Dn hng bin dch: ton t cha ton t gi(pseudo_op), cc ton t gi ny khng c dch sang m my m ch bo cho chng trnh dch lm vic g . Ton hng Ton hng: xc nh d liu s c thao tc Ton hng: ch, Ngun 2.6.2. Cc nhm lnh ca CPU Ngn ng my (Machine Language):Chng trnh a vo b nh cho my thc hin theo nhiu dng, dng c bn nht m my c thhiu ngay c gilngnng my. Tu theo CPU mngnng my c dng nht nh, chng trnh vit bng ngn ng my thc hin rt nhanh v chim t ch trong b nh, tuy nhin chng trnh kh vit v kh nh. Hp ng (Assembly) Ngnnggiplp trnhvinvitchngtrnhdnghn,thaychongnngmy. Mt lnh ca hp ng tng ng nh mt lnh ca ngn ng my nhng thay vit chng trnh di dng nh phn s dng k hiu tng trng. biudinccnhmlnhCPU,dngtplnhHpngdngchoVXL8086Intel. Cc nhm lnh bao gm: Nhm lnh c s Cc lnh vo ra Nhm lnh s hc Nhm lnh logic Cc lnh iu khin, r nhnh. a. Nhm lnh c s LnhMOV(move):chuyndliugiaccthanhghi,gia1thanhghiv1nh hoc trc tip 1 s vo 1 thanh ghi hay nh C php: MOVch,ngun;khng lm thay i ni dung ngun Lnh XCHG (exchange): hon chuyn ni dung ca 2 thanh ghi, 1 thanh ghi v 1 nh C php: XCHG ch,ngun Ch : 1 lnh trn khng hp l khi c ch v ngun l cc nh Lnh LEA (load effective address): np a ch thc(hiu dng) Hm9h cangt21hyucuachtngicachuiktchatrongDX, thc hin iu ny dng lnh LEA C php: LEAch,ngun ch: thanh ghi cng dng chung Ngun: nh b. Nhm lnh vo/ra CPU lin lc vi cc thit b ngoi vi qua cc thanh ghi vo/ra hay cc cng vo/ra. C 2 lnh truy nhp trc tip cc cng l lnh IN v OUT, tuy nhin t s dng Lnh INT: dng gi cc chng trnh con ngt ca DOS v BIOS C php: INs hiu ngt S hiu ngt l 1 s xc nh 1 chng trnh (ngt mm) - 25 - Ta xem xt cc ngt ca DOS: Ngt 20h: kt thc chng trnh, 1 chng trnh c th dng ngt 20h tr iu khin v cho DOS(dng trong chng trnh ui .COM) Ngt22h-26h:ccphcvqunlCTRL+BREAK,cclinghimtrngv truy nhp trc tip a Ngt 27h: kt thc chng trnh v li thng tr Ngt 21h: gi cc hm: Hm 0h: kt thc chng trnh Hm 1h: vo t bn phm : i c 1 k t t thit b vo chun sau a k t ti thit b ra v tr v m ASCII ca d liu trong DL -AH = 01h -AL = k t vo Hm 2h: hin th: a k t trong DL ra thit b ra chun -AH = 02h -DL = k t ra Hm 5h: in ra: a d liu trong DL ra thit b in -AH = 5h -DL = k t ra Hm 9h: in chui: a chui k t ra thit b chun -AH = 9h -DS:DX con tr n chui k t kt thc bng $ Ch :hm 2h ca ngt 21h cng c th s dng thc hin 1 chc nng iu khin nu DL cha m ASCII ca k t iu khin, hm ny s thi hnh chc nng : M ASCIIK hiuChc nng iu khin 7BELPht ting Bp 8BS(back space)Li li 1 k t 9HTTab ALF(line feed)Xung dng DCR(carry return)Xung dng, v u dng b. Nhm lnh s hc * Ch th ADD (add) v SUB (subtract): c s dng cng hoc tr ni dung ca 2 thanh ghi, 1 thanh ghi v 1 nh hoc cng tr 1 s vo thanh ghi hay 1 nh C php: ADDch,ngun SUBch,ngun V d: SUBAX,DX;AX nhn gi tr AX + DXADDBL,5;BL nhn gi tr BL + 5 Ch : php cng, tr trc tip gia cc nh l khng hp l * Ch thINC (increment) v DEC (decrement): c s dng cng, tr 1 vo ni dung 1 thanh ghi hay nh C php: INCch DECch - 26 - V d: INCWORD;WORD nhn gi tr WORD + 1* Lnh NEG (negavi): lnh NEG dng ph nh ni dung ca ton hng ch, thay th ni dung bi phn b 2 C php: NEGch Ton hng ch c th l 1 thanh ghi hay nh *CclnhMUL (Multiply)vIMUL(IntegerMUL):Lnhnhngitrshc.Khi xtccsc duvkhngduth ktqathchinphptonlkhcnhau,viccsc du ta dng lnh IMUL, cc s khng du ta dng lnh MUL C php: MULton hng ngun IMULton hng ngun Khinhn cc bytevi nhau, 1 s c cha trong tonhngngun, s cn li c gi thit cha trong AL. Ton hng ngun c th l 1 thanh ghi hay nh. * Cc lnh DIV (Device) v IDIV (Integer DIV): Lnh chia s hc. Khi xt cc s c du v khng du th kt qa thc hin php ton l khc nhau, vi cc s c du ta dng lnh IDIV, cc s khng du ta dng lnh DIV C php: DIVs chia IDIVs chia Dngbyte:schialthanhghihaynh1 byte,s bchia:16 bitcgi nh cha trong AX thng 8 bit cha trong AL, s d 8 bit trong AH Dng word: s chia 16 bit, s b chiagi nh cha trong DX:AX, thng 16 bit cha trong AX, s d 16 bit trong DX c. Cc lnh logic dch v quay * Cc lnh logic: AND, OR, NOT, XOR: thay i tng bit trong my C php: ANDch,ngun ORch,ngun XORch,ngun nh hng ti cc c: SF, ZF, PF phn nh kt qu lnh AF khng xc nh CF, OF=0 Lnh AND: xo cc bit nht nh ca ton hng ch trong khi gi nguyn cc bit cn li, cc bit cn xo c AND vi 0 Lnh OR: thitlp cc bitxc nh ca tonhng chkhivnginguyn cc bit cn li, cc bit cn thit lp c OR vi 1 Lnh XOR: o cc bit xc nh S dng: i m ASCII ca 1 s thnh s tng ng: khi c 1 k t t bn phm, AL s cha m ASCII ca k t v vy dng lnh AND i m ASCII ca k t ra gi tr thp phn tng ng - 27 - V d: S 5 m ASCII l 35h v vy khi i ra gi tr thp phn thc hin php: AND AL,0Fh i ch thng thnh ch hoa:c th dng lnh SUB SUB ch,20hhoc dng lnh AND: AND ch,0DFh Xo 1 thanh ghi: XORch,ngun; ch=ngun V d: MOVAX,0 SUBAX,AX XORAX,AX Kim tra xem 1 thanh ghi c bng 0 hay khng: ORch,ngun; ch=ngun V d: ORCX,CX;(CMP CX,0) * Lnh NOT: ly s b 1 ca ton hng ch C php: NOTton hng ch; khng nh hng ti c *LnhTEST:thchinphpANDgiatonhngchvitonhngngunnhng khng lm thay i ton hng ch m ch thit lp c C php: TESTton hng ch,ton hng ngun Cc c b tc ng: SF, ZF, PF: phn nh kt qu AF: khng xc nh CF, OF=0 d. Cc lnh dch v quay Quay v dch cc bit trong ton hng ch sang tri hoc phi 1 hoc 1 s v tr.Lnh dch: cc bit b dch ra khi ton hng s b mt Lnh quay: cc bit b dch ra 1 pha ca ton hng ch s c a tr li pha bn kia quay 1 v tr C php: Quay, dch 1 v tr M lnhTon hng ch,1 Quay, dch N v tr M lnhTon hng ch,CL; CL cha N * Cc lnh dch tri Lnh SHL(Shift Left):Dch cc bit ca ton hng sang tri 1 v tr: SHLton hng ch,1;Gi tr 0 s c a vo v tr bn phi nht ca ton hng, cn MSB ca n s c a vo CF N v tr SHLton hng ch,CL - 28 - N php dch tri s c thc hin C th dng lnh SHL thc hin php nhn nh phn Lnh SAL(Shift Arithmetic Left): Tng t nh lnh SHL Lnh SHR(Shift Right):Dch cc bit ca ton hng sang phi 1 v tr: SHRton hng ch,1;Gi tr 0s c a vo v tr bn tri nht ca ton hng, cn LSB ca n s c a vo CF N v tr SHRton hng ch,CL N php dch phi s c thc hin C th dng lnh SHR thc hin php chia nh phn Lnh SAR(Shift Arithmetic Right): Tng t nh lnh SHR * Cc lnh quay Lnh ROL(Rotate Left):Dch cc bt ca ton hng sang tri 1 v tr: ROLton hng ch,1;Bit MSB s c dch vo v tr bn phi nht ca ton hng, ng thi c a vo CF N v tr ROLton hng ch,CL N php quay tri s c thc hin Lnh ROR(Rotate Right):Dch cc bt ca ton hng sang phi 1 v tr: RORton hng ch,1;Bitbnphinht(LSB)scdchvovtrbntri(MSB)nhtcatonhng, ng thi c a vo CF N v tr RORton hng ch,CL N php quay phi s c thc hin V d: m s bit 1 c trong thanh ghi BX m khng lm thay i ni dung BX, kt qu lu trong AX XORAX,AX; xo AX MOVCX,16; bin m vng lp Top: ROLBX,1 JNCNext; bit 0? INCAX; khng, tng bin m kt qu Next: LOOPTop; quay li Lnh RCL (Rotate Carry Left): quay tri qua c nhDchccbtcatonhngchsangtri.BitMSBc tvoCF,gitrcaCF c a vo bit phi nht(LSB) ca ton hng ch C php: RCLton hng,1 hocRCLton hng,CL - 29 - Lnh RCR(Rotate Carry Right): quay phi qua c nh Dch cc bt ca ton hng ch sang phi. Bit LMSB c t vo CF, gi tr ca CF c a vo bit phi nht (LSB) ca ton hng ch V d: o cc bit trong 1byte hay 1word MOVCX,8; s ln lp Everse: SHLAL,1; ly 1 bit vo CF RCRBL,1; quay, a vo BL LOOPReverse MOVAL,BL; a vo AL e. Cc lnh iu khin r nhnh Cho php chn la v lp li cc on m lnh *Cc lnh nhy c iu kin C php:Tn lnhnhn ch Nu iu kin ca lnh nhy tho mn, lnh c nhn ch s c thc hin. Lnh ny c th trc hoc sau lnh nhy. Nu iu kin khng tho lnh ngaysau lnh nhy c thc hin Phm vi ca lnh nhy c iu kin: Nhn ch phi ng trc lnh nhy khng qu 126byte hoc ng sau lnh nhy khng qu 127byte CPU thc hin 1 lnh nhy ntn? CPU da vo thanh ghi c iu chnh IP ch n nhn chCc lnh nhy c iu kin K hiuChc nngiu kin nhy JG/JNLENhynulnhn,nhynukhngnhhnhay bng(JumpifGreate,JumpifNotLessthanor Equal) ZF=0 v SF=0 JGE/JNLNhynulnhnhaybng,nhynukhngnh hn SF=OF JL/JNGENhynunhhn,nhynukhnglnhnhay bng SFOF JLE/JNGNhynunhhnhocbng,nhynukhngln hn ZF=1 hay SF=OF Cc lnh nhy khng du JA/JNBENhynulnhn,nhynukhngnhhnhoc bng (Jump if Above, Jump if Not Below or Equal) CF=0 v ZF=0 JAE/JNB/JNCNhy nu khng nh(No Carry)CF=0 JB/JNAE/JCNhy nu c nhCF=1 JBE/JNANhy nu nh hn hay bngCF=1 hay ZF=1 Cc lnh nhy iu kin n JE/JZNhy nu kt qu bng nhau, nhy nu kt qu bng khng (Jump if Equal, Jump if Zero) ZF=1 JNE/JNZNhy nu khng bng nhau, nu kt qu khc 0ZF=0 JONhy nu trn(Jump if Overflow)OF=1 - 30 - K hiuChc nngiu kin nhy JNONhy nu khng trnOF=0 JSNhy nu du m(Jump if Signed)SF=1 JNSNhy nu du dngSF=0 JP/JPENhynuchn(JumpifParity,JumpifParity Even) PF=1 JNP/JPONhy nu l (Jump if Parity Odd)PF=0 Lnh CMP (compare) Cc iu kin nhy thng c cung cp bi lnh CMP C php: CMPch,ngun So snh cc ton t chvi ton tngun bngcchly ton t ch tr i ton t ngun Ton t ch khng th l hng s, cc ton t khng cng l nh Lnh JMP (Jump)Lnh JMP dn n vic chuyn iu khin khng iu kin C php: JMPch ch phi l 1 nhn trong cng 1 on vi lnh JMP * Cu trc lp Lp:chophplpli1onchngtrnhno,slnlpcthbittrchoc khng bit trc Vng lp FOR FOR s ln lp DO cc dng lnh END_FOR Thc hin: dng lnh LOOP C php: LOOPnhn ch B m vng lp l thanh ghi CX, c khi to bng s ln lp MilnthchinLOOPthanhghiCXtnggimi1,vnuCX0thiu khincchuyntinhnch.NuCX=0thlnhtiptheoLOOPscthc hin 2.6.3. Hp ng (Assembly) a. C php ca hp ng Ccchngtrnhhpngcdchraccchthmybngmtchngtrnhbin dch v vy khi vit phi ph hp vi cc khun mu ca trnh bin dch Cc dng lnh: Chng trnh l tp hp ca cc dng lnh, bao gm: oLnh m trnh bin dch dch ra m my oLnh dn hng bin dch C php: TnTon tTon hngCh thch - 31 - Cc trng cch nhau t nht mt du cch hay TAB V d: START:MOVCX,5; Khi to CX Tn trng: S dng: Nhn lnh, tn th tc, tn bin Chng trnh bin dch chuyn cc tn thnh a ch b nh di: 1 n 31 k t(khng cha du cch) Khng bt u bi ch s Khng phn bit ch hoa, ch thng Nu c du chm(.) phi t u Ton t Ton t cha m lnh dng tng trng M lnh: chc nng ca thao tc Dnhngbindch:tontchatontgi(pseudo_op),cctontgi nykhngcdchsangmmymchbochochngtrnhdchlm vic g . Ton hng Ton hng: xc nh d liu s c thao tc Ton hng: ch, Ngun Li gii thch t sau du ; v gii thch xem dng lnh lm g D liu chng trnh Biu din d liu di dng s nh phn, thp phn, hexa thm ch k t S nh phn: kt thc bng B hoc b S thp phn: kt thc bng D hoc d S hexa: kt thc bng H hoc h, bt u bng ch s thp phn Cc k t: bao trong du nhy kp Cc ton t gi nh ngha s liu DBbyte DWword(2 byte) DDdouble word(2 word) DQquard word(4 word) DT10 byte lin tip b. Cc bin Mi bin c mt kiu d liu v c chng trnh gn cho mt a ch b nh Bin kiu Byte nh ngha:TnDBgi tr khi to V d: ALPHADB4 Gii hn thp phn ca cc gi tr khi to: -128 n 127 hoc 0 n 255 Nu dng du ? th bin khng c khi to Bin kiu Word nh ngha:TnDWgi tr khi to - 32 - v d: ALPHADW? Bin kiu Mng Mng: chui byte nh hay t nh nh ngha: TnKiugi tr khi to Phn t u tin ca mng chnh l tn mng Mng byte: tn+1 l phn t tip theo Mng word: tn+1 l phn t tip theo v d: ARRAYDB4h,5h,6h phn t 1: ARRAY phn t 2: ARRAY+1 phn t 3: ARRAY+2 Ch : byte thp v byte cao trong mt t v d:WORDDB1234h byte thp: WORD, ni dung: 34h byte cao: WORD+1, ni dung: 12h Chui k t C th c khi to bng bng m ASCII CHAR DBABC hocCHAR DB41h,42h,43h cng c th kt hp cc k t v s: MSGDBHELLO,0Ah,$ hocMSGDB48h,45h,4Ch,4Fh,0Ah,24h ch phn bit ch hoa v ch thng c. Cc hng c tn Dng cc tn tng trng biu din cc hng s C php: TnEQUHng s v d: CONSTEQU0Ah cng c th dng chui: MSGEQUhello ch : b nh khng dnh ch cho cc hng c tn d. Cu trc chng trnh DOS thi hnh c hai loi tp tin: dng .COM v .EXE. Tp tin dng .EXE thng dng xy dng cc chng trnh ln, cn cc tp tin .COM to cc chng trnh nh hn. ASM cho php to c hai loi tp tin ni trn song cch vit l khc nhau: - 33 - Tp tin dng .COM c im: Ch cduynhtmt on,chngtrnh,dliuvSTACKuchungon ny Kch thc ti a ca tp l 64K Thc hin nhanh hn tp .EXE Cch thc hin mt tp tin dng .COM DOSkhitovngnh256byteoffset:0000hgilvngnhPSP(Program Segment Prefix)nh v tp tin vo vng nh vi offset 100h Cc thanh ghi on CS, DS, ES, SS tr ti PSP IP c gn gi tr 100h SP c gn gi tr FFFEh Cu trc chng trnh .MODEL TINY .CODE ORG100h START: JMP CONTINUE ; khai bo d liu CONTINUE: MAINPROC; on m ... INT 20 h; v DOS MAINENDP ; cc lnh chng trnh con ENDSTART Tp tin dng .EXE c im: Chng trnh c thkhai bo nhiu on khcnhau, mi chngtrnhc th c nhiu on chng trnh, nhiu on d liu C th gi chng trnh con Kch thc ca tp tu v ln hn 64K Cch thc hin mt tp tin dng .EXE DOSkhitovngnh256byteoffset:0000hgilvngnhPSP(Program Segment Prefix)Np Header ca tp sau PSP CcthanhghionCS,IPcxcnhtHeaderlachbtuca chng trnh Cu trc chng trnh .MODEL SMALL .STACK .DATA ; khai bo d liu .CODE - 34 - MAINPROCMOV AX,@DATA MOVDS,AX ; cc lnh ... MOVAX,4Ch INT21h; v DOS MAINENDP ; cc lnh chng trnh con ENDMAIN e. Cc ch dn .MODEL: xc nh kiu b nh dnh cho on m v on d liu Cc kiu b nh thng dng: TINY: m v d liu nm trong phm vi 1 on SMALL: m nm trong phm vi on 64K, d liu nm trong on khc MEDIUM: m nm trong on >64K, d liu nm trong on 64K COMPACT:mnmtrongphmvion64K,vdliunmtrongon >64K LARGE: m v d liu nm trong on >64K, nhng mt mng d liu 64K, mng d liu >64K .STACK: kch thc Stack khi c chng trnh con Qui nh kch thc Stack l 512byte(100h) Mc nh: 1K .CODE: im bt u on m chng trnh .DATA: im bt u on d liu .MAIN PROC ;thn chng trnh END MAINf. To lp v chy mt chng trnh oDng cc phn mm son tho vn bn (SK, NC...) to lp tp vn bn chng trnh gc bng hp ng, ui tp l ASM oDngchngtrnhdchMASM(MicrosoftMacroAssembly)hoc TASM(Turbo...) dch tp .ASM ra m my di dng tp .OBJ(Object) oDngchngtrnhLINKhocTLINKktniccOBJlivinhauthnh chng trnh .EXE oNuchngtrnhvitradchrakiu.COMthdngchngtrnhEXE2BIN ca DOS dch tip t .EXE sang .COM oChy chng trnh V d: vit chng trnh a ra mn hnh li cho Hello 2.6.4. Cc Mode a ch Ch a ch dng xc nh ton hng, bao gm: Ch a ch thanh ghi: ton hng l thanh ghi Ch a ch tc th: ton hng l hng s Ch a ch trc tip: ton hng l bin nh - 35 - Ch a ch gin tip thanh ghi achoffsetcatonhngcchatrongmtthanhghi,thanhghingvaitr nh mt con tr tr n cc nh Khun dng ton hng: [thanh ghi] Thanh ghi c th l BX, DI, SI hay BP vi cc thanh ghi BX, DI, SI s hiu on ca ton hng cha trong DS, vi thanh ghi BP s hiu on cha trong SS. V d: SI cha a ch offset 0100h v cc t nh ti a ch 0100h c gi tr l 1234h. Khi thc hin MOVAX,[SI]Th CPUkim tra SI suy ra a ch t nh l DS:0100h sau chuynni dung ca t nh ny(1234h) vo AX, nh vy AX nhn gi tr 1234h MOVAX,SITh AX nhn gi tr 100h V d: tnh tng mt mng 10 phn t, lu kt qu vo AX XORAX,AX LEASI,W Tong: ADDAX,[SI] ADDSI,2 LOOPTong Ch a ch c s v ch s Trongccchachnyachoffsetcacctonhngnhncbngcch cng 1 s c gi l dch vi ni dung ca 1 thanhghi. Trong dch c th l: a ch offset ca 1 bin 1 hng s a ch offset ca 1 bin cng hoc tr vi 1 hng s Ton hng c vit: [thanh ghi + dch] [ dch + thanh ghi] [thanh ghi] + dch dch + [thanh ghi] dch[thanh ghi] Cc thanh ghi phi l BX, SI, DI hay BP Dng BX, SI hay DI th s hiu on cha trong DS Dng BP th s hiu on cha trong SS. Ch a ch uc gi lc s nu dng BX hay BP, gi l ch s nu dng SI hay DI. V d: mng W, thanh ghi BX=4 cc lnh sau l tng ng MOVAX,W[BX] MOVAX,[W+BX] MOVAX,[BX+W] MOVAX,W+[BX] - 36 - MOVAX[BX]+W V d 2: Cho mng ALPHADW0123h,0456h,0789h,0ABCh trong on nh a ch bi DS BX cha 2, offset 0002 cha 1084h SI cha 4, offset 0004 cha 2BACh DI cha 1 Vi cc lnh LnhOffset ton hngS c chuyn Mov ax,[alpha+bx]Alpha+20456h Mov bx,[bx+2]2+22BACh Mov cx,alpha[si]Alpha+40789h Mov ax,-2[si]-2+41084h Mov bx,[alpha+3+di]Alpha+3+10789h V d 3: thay th ch thng trong chui thnh ch hoa ASM: MOVCX,N XORSI,SI Lap: CMPMSG[SI], JENext ANDMSG[SI],0DFH Next: INCSI LOOPlap CU HI V BI TP 2.1.TrnhbykintrcchungcamytnhtheonguynlVonNewman?Nuchc nng tng n v? Phn loi my tnh theo kin trc? 2.2 Trnh by s cu trc, chc nng nhim v ca b x l trung tm (Nu r chc nng ca tng n v) 2.3. Trnh by t chc thanh ghi trong vi x l 8086?2.4. Trnh by chc nng nhim v cu to ca n v s hc v logic ALU? 2.5. Cc loi tn hiu iu khin ca n v x l trung tm (V s gii thch)? 2.6. Trnh by s cu trc, chc nng nhim v ca n v iu khin vi chng trnh ? 2.7. Trnh by khi nim v BUS? Phn loi BUS - 37 - Chng III: H THNG NH 3.1. Khi qut v h thng nh - V tr: Bn trong CPU (register) Internal memory (main memory) B nh ngoi (a cng, a quang) -Dung lngKch thc t nh (word size): thng l 8,16,32 bits S lng t nh -n v truyn Word:nv tnhintchc bnh.Kchthctnhthnglsbit dng biu din s hoc di lnh . Khi (block) l n v truyn d liu ln hn t nh, thng c dng truyn d liu vi b nh ngoi. - Phng php truy nhp Sequential access (truy nhp tun t): thng c dng truy cp bng t. Truynhptrctip(directmemory):gingnhtruynhptunt,truynhp trc tip bao hm vic chia s c vit c kh.Nhng t nh ca bn ghi c a ch c s duynht trnv trvt l. Vic truynhp c hon thnh bi truy nhptrctiplinvnglncnchungcngvitmkimtunt,m hoci i nvtrcuicng.Thigiantruynhpcththayi c. Cc loi a s dng phng php truy nhp trc tip. Truy nhp ngu nhin (Random access): mi v tr a ch trong b nh l c nht. Thi gian truy nhp cc v tr cho l c lp vi dy truy nhp u tin v l hng s.Nh vy, v tr no cng c th c chn ngu nhin, v a ch trc tip.B nh chnh l truy nhp ngu nhin. Truy nhp lin kt: y l kiu truynhp ngu nhin cth lm s so snhv tr bt trong t cho mt php ton c th v lm vic ny cho tt c cc t ng thi.Vvy mt t c tm li c da vo chnhni dung can thayv a ch ca n.Vi truy nhp ngu nhin thng thng, mi v tr c a ch c kh ca mnh, v thigian tm l hng s c lp vi v tr hay muhnh truy nhp u tin.B nh cache dng cch truy nhp ny. -S thi hnh. Thigiantruynhp:(accesstime):ivitruynhpngunhinlthi gian thc hin hot ng c ghi. l thi gian t khi a ch sn sng trong b nh n khi d liu c ct tr hoc c lm c th s dng c. i v truy nhp khng phi l ngu nhin thi gian truy nhp l thi gian a v tr c vit c kh n v tr mong mun. Cycle time (chu k thi gian): Transfer rate: tc d liu c th c truyn vo hoc ra khi n v nh.-Kiu vt l Bn dnT (magnetic) Quang (optical) -c tnh vt l C th thay i/ khng thay i - 38 - C th xo c/ khng th xo c 3.2. Phn cp b nh Vic phn cp b nh theo cc tiu chun: Gim gi/bit Tng dung lng Tng thi gian truy nhp Gim tn s truy nhp ca b nh bi CPU. Theo chiu t trn xung di: Dung lng tng dn Tc truy nhp gim dn. 3.3. B nh bn dn 3.3.1. Cc loi b nh bn dn Tt c cc loi b nh c trnh by sau y l truy nhp ngu nhin. l nhng t nh ring bit c truy nhp trc tip qua a ch logic a. RAM (random- access memory):c im phn bit l c th c d liu t b nh v d dng ghi d liu vo.Vic c v ghi d liu c hon thnh nh cc tn hiu in. Mt c tnh khc ca RAM l thay i c. RAM c nui bng mt ngun in n nh. Nu ngun nui b ngt d liu trn RAM s mt. V vy RAM c dng lm ch tr tm thi. Cng ngh RAM chia lm 2 loi:RAM tnh: gi tr nh phn c ct tr dng cc flip-flop truyn thng cu hnh cng logic. Static RAM s gi c d liu n nh,tc nhanh. RAMng(DinamicRAM):sdngcctbochadliudatrnsnp in cho cc t in.V cc t in c xu hng phng in nn RAM ng yu cu np in lm ti nh k gi thng tin . b. ROM (Read only Memory)Tng phn vi RAM l ROM. ROM cha ng cc kiu d liu khng th b thay i trong mt thi gian di. Mt c tnh ca ROM l ch c th c d liu t m khng th ghi d liu mi vo n. Mt ng dng quan trng ca ROM l cha ng cc vi chng trnh. Nhng ng dng tim tng khc bao gm: Th vin th tc con cho cc chc nng c s dng lin tc. Cc chng trnh h thng. Cc bng chc nng. ROMcsnxuttngtnhccmchintchhpkhc,vidliucghi vo chip trong qu trnh ch to. Magnetic TapeThanh ghiCacheMain memoryDisk CacheMagnetic diskOptical DiskPhan cap memory- 39 - Phn loi:Maskable ROM: ghi khi ch to PROM (Programable ROM) ch ghi mt ln. EPROM (Erasable PROM) xo c bng tia cc tm. Flash ROM : Flash memory c th xo c bng tn hiu in .Flash ROM c thxovghili c bng tnhiu in. Thm nan c th ch xo cc khi nh thay v phi xo ton b chp. Flash memory s dng mt transistor trn mt bit, v do ginh c mt cao. 3.3.2. T chc b nh Da trn cc mch Flip- flop C 2N ngn nh -> N chn a ch. di mi ngn nh m bits Dung lng 2N*m 3.4. Cache Memory 3.4.1. Nguyn tc Cache memory c dng c tc nh gn bng tc ca cc b nh nhanh nht c sn,vticngthigiancungcpmtkchthcbnhrngvigikhngthncc kiu b nh bn dn. ylmiquanhgiabnhchnhlnvchmhnvibnhcachenhnhng nhanh hn. B nh cache sao chp mt phn ca b nh chnh. Khi CPU c gng c mt t nhcabnh,skimtraclmxcnhrnutnhnmtrongcache.Trong trnghp ,t nh ccung cp cho CPU. Nu khngkhinh ca bnh chnh, bao gmmtstnhcnhc cvotrongcachevsaud tnhccungcpcho CPU. Bi v hin tng tham vn cc b, khi khi d liu c em v trong cache tho CASMemoryRASBufferTruy nhpAddressDataCAS: Colum Address SelectRAS: RowAddress SelectCPUCacheMain MemoryWord TransferBlock trasferCache and Main Memory- 40 - mn tn hiu tham chiu b nh, hu nh nhng tham chiu tng lai s l nhng t nh khc ca khi nh. B nh chnh bao gm ti 2n t nh c th nh a ch, vi mi t nh c mt a ch n bitduynht.Chomcchnhx,b nhnycoinhbaogmmtsca dinhng khi c nh ca mi K t nh. Tc l c M=2n/ k khi nh. Cache bao gm C khe ca mi K tnh,vscacckhe,hoccchng,ncoinhthnskhinhcabnhchnh (C line 0 Bock i -> line (i mod C) MemoryAddressData123Block(K word)2^n-1WordLength0123TagBlockBlock Length( K Words)a) Main memoryb) Cache- 41 - Gi s cache c 2n2 ngn nh (ng), a ch do CPU pht ra l n bit Tagn2n1 n1 xc nh s byte trong khi 2n1 ->byte n-n1 bit cn li : xc nh khi nm trong b nh chnh. n2 bt tip theo xc nh ng trong cachecn li l trng Tag Mi1blockcghivocachethcn1chghiTag (bitcngnonm trong cache)B so snh : thng dch a ch v so snh ni vo. Nhc im ca phng php nh x ny l c mt v tr c nh ca cache cho bt c khi cho no. Hn na nu xy ra chng trnh mun tham vn li t nh t 2 khi khc nhau c nh x vo cng mt ng, khi cc khi s tip tc c trao i trong cache, v t l thnh cng s gim xung. b. nh x lin kt hon ton nhxlinktskhcphcnhcimtrnbngcchchophpmikhibnh chnh c np vo trong bt k ng no ca cache. Comparex xTag Line WordMemory AddressHit in cacheMiss in cacheTag DataMain MemoryCompareXHit in CacheXW0W1W2W3Memory AddressTag WordTag DataCacheL0L1L2Miss in cache- 42 - Trong trng hp ny n bit chia ra 2 trng: Khi CPU pht ra a ch th n so snh vi tt c cc Tag c ghi trong cache, nu c 1 Tag no trong cache trng vi Tag a ch th hit in cache c. nh x lin kt tp hp (cache 2 ng) Chia cache thnh cc tp hp, Mi tp hp c m ng nh x: Block 0 -> set 0 ... Block i -> Set (i mod S) a chTagSet n1 V d : Cho b nh chnh 4 GB, kch thc cache 16 kB, kch thc khi 32 byte. Xc nh a ch do CPU pht ra theo 3 phng php nh x B nh chnh c dung lng 4GB = 232B -> S bit a ch do CPU pht ra l n=321 khi (block) c kch thc l 32B = 25B -> n1=5 * Xt trong trng hp nh x trc tip S ng trong cache: n2 = 95142223216= =bytekb -> n2 = 9 bit Tag = 32 9 5 = 18 bit * Vi lin kt hon tonTag=32 5 = 27 bit * Vi lin kt tp hp (2 ng)S ng trong cache: n2 = 851422 . 222 . 3216= =line bytekb -> n2 = 8 bit Tag = 32 8 5 = 19 bit Tagword XW0W1W2W3Memory AddressTag WordTag Data CacheL0L1L2Miss in cacheMain memoryCompareSetXHit in cache- 43 - Trc tip 1895 Hon ton 275 Tp hp 1985 3.5. Qun l b nh 3.5.1. Cc k thut qun l b nh Trong mt h thng lp trnh n nhim, b nh chnh c chia thnh hai phn:-Mt phn dnh cho h iu hnh (resident monitor)-Mt phn dnh cho chng trnh ang c thc hin.Trongmththnglptrnhanhim,phncabnhdnhchochngtrnhcn phicchianhhnnacungcpchocctintrnhphctp.Cngtcchianhc qunlngbihiuhnhvcncbitduitnqunlbnh(memory management). Qun l b nh thc s l quan trng trong mt h thng a nhim. Nu ch l mt vi tin trnh trong b nh, trong hu ht thi gian tt c cc tin trnh s phi i vic truy nhp voravbvixlsb nhnri.Nhvy,bnh cnphinhvhiu qusp t cng nhiu tin trnh trong b nh cng tt. a. Swapping (hon i) Trn h thng lun tn ti 3 kiu hng i (queues):-Hng i cho cc tin trnh mi-Hng i cho cc tin trnh sn sng s dng CPU -Hng i cho cc tin trnh khng sn sng s dng CPU.Thct, cc hot ngvo ra chmhn rt nhiu so vi khnng tnh ton ca CPU, nn trong cc h thng lp trnh n nhim CPU nhn ri trong hu ht thi gian. Trong qu trnh hot ng, b nh lu gi cc tin trnh v d liu, CPU c th chuyn ti tin trnhkhckhi mt tin trnh ang i. Nhngvixl nhanhhn thit bvora i vittccctintrnhtrongbnhangiI/O.Vvythmchvilptrnhanhim, mt b CPU c th nhn ri trong hu ht thi gian. B nh chnh c th c m rng, v c th iu tit cho nhiu tin trnh.Nhng c hai tr ngi trong cch tip cn ny. u tin, b nh chnh l rt t. Th hai, s yu cu b nh ENDProcessRequestFigure 7.14 Queuing diagram representation of processor schedulingLong TermQueueShort TermQueueCPUI/O I/O QueueI/O I/O QueueI/O I/O Queue- 44 - ca cc chng trnh pht trin rtnhanhkhigib nh gimxung. Kt qu cctin trnh cha chc tng ln trong khi c dung lng b nh ln hn. Mt gii php khc l tro i (swapping). Chng ta c mt hng i (long-term queue) ca cc yu cu tin trnh c tr trn a. N c np vo mt ln khi khng gian b nh chophp. Khi cc tin trnh hon thnh, chng c chuyn rakhi b nh chnh. Bygi, trngthisxuthinlkhngcbtktintrnhnotrongbnhnmtrngthisn sng. ng hn trong thi gian ri cn li. CPU tro i mt trong nhng tin trnh tr li a vo trong mt hng i trung gian. y l hng i ca cc tin trnh tn ti c tm thi a rakhi b nh. H iu hnh sau np mt tin trnh khc t hng i trung gian hoc thc hin mt yu cu tin trnh mi t hng i (long-term queue). K thut tro i, d sao cngl thao tc vo ra (I/O) vvvy cng c th pht sinh cc s c v d liu. Nhng, khi disk I/O l thit b vo ra nhanh nht trn h thng (v d so snh vi bng t hoc vi vo ra my in), tro i s nng cao s thc thi. Mt gin tinh vi hn l b nh o s ci thin s thi hnh hn s tro i n gin.b. Phn vng (Partioning) Hiuhnhchimgimtphnc nhcabnh.Phncnlicabnhc phn vng cho vic s dng ca cc tin trnh. Luc n gin nht cho b nh c th phn vng l s dng cc phn vng kch thc c nh (fixed-size partitions) Ch rng, mc d cc phnvngc kch thc c nh, chngkhng c kch thc bng nhau. Khi mt tin trnh c ti vo b nh, n c t vo mt phn vng nh nht c th. OperatingSystem128k64K384K256K192KFigure 7.16 Example ofFixed PartioningMain MemoryOperatingSystemCompleted Jobsand UserSessionsMain MemoryCompleted Jobsand UserSessionsOperatingSystemIntermediateQueueLong TermQueueDiskStorageDiskStorage(a) Simple Job Scheduling(b) SwappingFigure 7.15. The use of swapping- 45 - Thm ch vi vic s dng nhng partition kch thc c nh khng bng nhau; s c s lng ph b nh. Trong hu ht cc trng hp, mt tin trnh s khng yu cu chnh xc dunglngbnhccungcpbimtphnvng.Vd,mttintrnhyucu 128kbytesbnh c th c t vo phn vng dung lng 192kbytes, lng ph 64 kbytes khng th dng bi tin trnh khc. Mt cch tip cn hiu qu hn l s dng cc phn vng kch thc thay i c. Khi mt tin trnh c np vo trong b nh, n c cp chnh xc dung lng b nh nyu cu v khng hn. B nh chnh ban u rng, tr phn cung cp cho h iu hnh (a). N b mc mt l hng phn cui b nh v qu nh cho tin trnh th 4. Khi tin trnh 2 c tro i ra ngoi (b) c mt ch trng cho tin trnh th 4 . Tin trnh 4 nh hn tin trnh 2, mtltrngnhctora.Nhvd trnhby,phngthcnykhiuttnhng cuicngdnnmttrngthitrongcrtnhiu ltrngnhtrongbnh.Cng ngy, b nh cng b phn mnh v khng tn dng c b nh. Mt k thut khc phc vn ny l compaction. T tr i, h iu hnh lun chuyn cc tin trnh trong b nh t tt cl trnglivinhau trong mt khi. yl mt th tc lng ph thigian, lng ph thi gian s l ca CPU. Trc khi xem xt cch gii quyt vi s thiu st ca s phn vng, chng ta phi gii quyt mt vn . Nu ngi c cn nhcmt cht, n c th tr ln r rng rng mt tin trnh hu nh khng c ti vo trong cng mt ch trong b nh mi ln n c tro i vo. Hn na, nu compaction c thc hin mt tin trnh c th phi lun chuyn trong b nh chnh. By gi, tin trnh trong b nh bao gm cc ch lnh v d liu. Cc ch lnh s bao gm a ch cc v tr trong b nh thuc 2 loi: a ch ca mc d liu. a ch ca cc ch lnh s dng cho s phn nhnh ch lnh Nhngbygi chng ta thy rngnhng a ch khngc nh. Chng s thay i mi ln tin trnh c tro i. gii quyt vn ny, mt s phn bit c to ra gia a ch logic v a chvt l. a ch logic c biu din mt v tr lin quan ti khi u ca chng trnh. Cc ch lnh trong chng trnh bao hm ch mt a ch logic. a ch vt l l v tr thc trong b nh chnh. Khi CPU thc hin mt tin trnh, n t ng chuyn i t a ch logic sang i ch vt l bng vic cng thm v tr khi u hin ti ca tin trnh, cgilachcs,chomiachlogic.MtvdkhccaCPUlctnhphn cng c thitkt tung thchviyu cu ca h iu hnh. trng thi tnhinchnhxc ca c trng phn cng ph thuc vo chin thut qun l b nh c s dng.c. Phn trang C cc phn vng kch thc c nh v thay i u khng hiu qu trong vic s dng bnh.Ginh,bnhc phnvngvoccchunkslinktnhckchthcc nh bng nhau, v mi tin trnh cng c phn chia vo trong mt s cc chunks . Sau ccchunkscamtchngtrnh,cgilcctrang,cthc phnbvocc chunkscthtrong bnh,gilccframe(khung),hoctrangkhung.Ttnhinphnb nh lng ph ca tin trnh ny l mt phn nh trn trang cui cng.(Hnh v) - 46 - miimthigiancho,mtvikhungtrongbnhcsdngvmtvi khung trng. Danh sch cc khung trng c duy tr bi h iu hnh. Tin trnh A, c tr trn a, bao gm bn trang. Khin thigiannp tin trnhny,h iu hnh tm 4 khung trng v np bn trang ca tin trnh A vo trong bn khung . Bygiginh,nhtrongvdny,khngccckhungtrngktipgitin trnh. N c ngn cn h iu hnh np ti tin trnh khng? Cu tr li l khng, bi v chng tac thsdnglikhinimachlogic.Mtachcsnginskhng.Hn nahiuhnhduytrmtbngtrangchomitintrnh.Bngtranglugivtrcc khungchomitrangcatintrnh.Trongchngtrnh,miachlogicbaogmmts hiu trang v mt a ch quan h trong trang.Trong trng hp phn vng n gin mt a ch logic l v tr ca mt t ch ti im khi u ca chng trnh; CPU bin dch n thnh a chvtl. Vi phn trang s bin dch a chlgic-vtlvn c lm bi phn cng CPU. By gi CPU phi bit cch truy nhp bng trang ca tin trnh hin ti. Trnh din vi mt a ch logic (s hiu trang, a ch lin quan), CPU s dng bng trang a ra a ch vt l (s hiu khung, a ch lin quan).B nh chnh c chia thnhcckhungnhc kch thc bngnhau. Mi tin trnh c chia vo cc trang khung (frame-size page). Cc tin trnh nh hn yu cu t trang hn cc tin trnh ln. Khi mt tin trnh c np vo, cc trang ca n c ti vo cc khung ri v mt bng trang c thit lp. 3.5.2. B nh o a. Yu cu phn trang Vivic sdng phn trang, cch thng chng trnh a nhimtr ln thc shiu qu. Vic chia nh mt tin trnh vo cc trang dn n s pht trin ca mt khi nim quan trng khc: b nh o. hiu b nh o, chng ta phi tm hiu v bn phn trang. S tm hiu chn lc ny lyu cu phn trang, chng ch n gin l mi trang ca tin trnh c a vo trong b nh ch mt khi chng c cn n, l yu cu. Xem xt mt tin trnh ln, baogm mt chng trnh di cngvi mt s lngln cc mng d liu. Trong bt k chu trnh no, s thc hin c th b hn ch ch mt section (on) chng trnh (v d mt th tc con), c th ch mt hoc hai mng d liu c dng - y l nguyn tc nh hng. S rt lng ph khi ti vo rt nhiu trang cho tin trnh ny khi ch mt vi trang c dng trc khi chung trnh tm treo. Chng ta c th s dng b nh tt hn bng vic ti vo ch mt vi trang. Sau , nu chng trnh phn nhnh ti mt ch lnh trn mt trang khng nm trong b nh chnh, hoc nu chng trnh tham chiu d liu trn mt trang khng nm trong b nh, mt ngoi l li trang s xy ra. N yu cu h iu hnh np cc trang yu cu vo b nh. Nh vy, bt k thi im no, ch mt vi trang ca chng trnh l nm trong b nh v bi vy rt nhiu tin trnh c th c duy tr trong b nh. . Hn na, thi gian c ghi li bi v nhng trang khng c dng khng c tro i vo ra trong b nh. Tuy nhin, h iu hnh phi kho lo qun l bn phn trang. Khi n np mt trang vo, n phi y mt trang khc ra. Nu n y ra mt trang va c s dng, sau n s phi tm li trang ngaylptc.RtnhiutrongchngdntimttrngthicgilThrashing:tin trnhtiutnhuhtthigiantroicctranghnlthchinccchlnh.Victrnh thrashinglmthnghincuchnhtrongthpnin70vdnnnhiugiithutphc hp a dng nhng hiu qu. Viyu cu phn trang,n khng cnthit ti ton b chng trnhvo trong b nh chnh.Thctcmtktqu rrt:cctintrnhcthlnhnbnhchnh.Mt trong nhnggiihnhnntngtronglptrnh cnngln.Khngyucu phntrang,mt lp trnh vin phi nhn thc su sc v dung lng b nh cho php. Nu chng trnh c vitquln,lptrnhvinphinghraconungcutrcchngtrnhvotrongccb - 47 - phn nh c th c np vo ti mt thi im. Viyu cu phn trang, cng vic c giao ph cho h iu hnh v phn cng. Ngilp trnh s c phn pht mt b nh rt ln, kch thc lin kt vi thit b lu tr ngoi. H iu hnh s dng yu cu phn trang np cc phn ca tin trnh vo b nh chnh. Bivmttintrnhthchinchtrongbnhchnh,chbnhchnhctham chiu nh l b nh thc s. Nhng mt lp trnh vin, hoc ngi dng nht thy mt b nh ln hn rt nhiu- c nh r trn a cng. N c tham chiu n nh l b nh o. B nh o cho php lp trnh a nhim hiu qu v gim nh nhng p buc khng cn thit ca ngi dng vi b nh chnh. b. Phn trang trong qun l b nh o Chia b nh thnh cc trang nh c kch thc c nh t vi KB -> vi chc KB B x l pht ra a ch o thng qua MMU chuyn thnh a ch vt l. Kch thc trang vi cc b x l 86x thng l 4kbyte hay 4Mb.Cc trang ny c th nh x vo b nh vt l hay a cng. Khi mt chng trnh (hay mt nhim v)yu cu truy nhp mt a ch logic, VXL bin dch a ch logic ny sang a ch tuyn tnh. Sau , dng phng php phn trang bin dch a ch tuyn tnh sang a ch vt l tng ng. Nu trang cha a ch tuyn tnh trn khng tn ti trong b nh vt l, b VXL ra ngoi l li trang #PF. Chng trnh x l ngoi l ny np trang cn truy nhp t a cng v b nh vt l (c th np mt trang khc t b nh vt l ln a cng ly ch).Sau khi trang cn truy nhp c mt trong b nh vt l, lnh return t chng trnh x l ngoi l khin b vi x l thc hin lnh gy ra ngoi l #PF. Thng tin m b vi x l dng nh x a ch tuyn tnh vo khng gian a ch vaat l (cng nh to ngoi l li trang) c lu tr trong danh mc trang (PDE) v bng trang. Danh mc trang v bng trang u nm trong b nh vt l. c. Cch qun l trang v phng php bin dch a ch tuyn tnhMy tnh qun l b nh phn trang da trn danh mc trang, bng trang v trang. Danh mc trang: T hp cc gi tr 32 bit, c gi l PDE (page-directory entry) . Danh mc trang c chiu di bng mt trang (4kbyte) v cha 1024 PDE. Bng trang : t hp cc gi tr 32 bit, c gi l PTE, bng trang cng c chiu di bng 1 trang(4kbyte) v cha tt c 1024 PTE. Nu dng trang kch thc 4 Mbyte hay 2 Mbyte th b vi x l khng cn n PTE. Cc trang ln (4 hay 2 Mb) c nh x trc tip t danh mc trang. Trang (page) khng gian a ch phng c kch thc 4 kbyte, 4 Mbyte,B x l M M UCacheM ai n memor yB nh ngoiD M AD at aD ataV i r tualA ddr essPhy si calA ddr essM M U : M emor yM anager ment U ni t- 48 - Bng con tr danh mc trang : t hp 3 gi tr 64 bit, mi gi tr tr n mt danh mc trang. Cu trc ny ch c dng khi m rng khng gian a ch ln 36 bit. Bin dch a ch tuyn tnh (4kbyte) Hnhv cho ta thy cch dng danh mc trangv bng trangkhi nhx a ch tuyn tnh sang trang4 kbyte. Gi tr trong danh mc trang tr n mt v tr trong bng trang, gi tr tng ng trong bng trang tr n trang cn truy nhp trong b nh vt l. C ch ny cho php truy nhp 220 trang hay mt khng gian b nh vt l gm (232 byte = 4 Gbyte). bin dch a ch tuyn tnh sang a chvt l, a chtuyn tnh c chialm 3 phn: Gitrdanhmctrang:bit22n31,lgitrlchcamtvtr(PDE)trong bng danh mc (c tt c 210 PDE), PDE cho bit v tr bng trang cn truy nhp. Gi tr bng trang: bit 12 n bit 21 l gi tr lch ca mt v tr (PTE) trong bng trang. PTE cho bit a ch c s ca mt trang trong b nh vt l. achlchtrongtrang:bit0nbit11chobitvtrcabytecntruynhp trong trang c trn bng gi tr PTE. a ch c s ca danh mc trang a ch c s ca danh mc trang hin ti c lu tr trong thanh ghi iu khin CR3 (vvy thanh ghiny cn c gi lthanh ghi c s danh mc trang PDBR-page directory baseregister).Nudngcchphntrang,thanhghiPDBRcncnpngaykhikhi ng my (trc khi cho php c ch phn trang). Ni dung ca thanh ghi PDBR c th c thay i t ng khi thay i nhim v bng lnh MOV. 3.5.3. S phn on C mt cch qun l b nh khcgil phn on b nh. Trongkhivic phn trang chophp cung cp cho lp trnhvin mt khnggian a chlnhn, s phn on thng cung cp cho lp trnh vin mt tin ch cho vic t chc cc chng trnh v d liu, v nh l mt phng tincho vic tch hp quyn u tin v cc thuc tnh bo v vi cc ch lnh v d liu. Sphnonchophpngilptrnhxemxtbnhnhlvicbaogmnhiu khnggian a chhay cc on. Cc on l bin i, ngvkch thc. c bit, ngi lp trnhhoc h iu hnh s phn b cc chng trnh v d liu vo cc on khcnhau. Cthcmtslngcconchngtrnhchocckiuchngtrnhkhcnhauging nhmtslngccondliu.Mioncthcphnbtruynhpvquyns Bi n dch a chtuyn tnh (tr ang 4 kbyte)CR3( pd br )Danh mc bng of f setDanh mc bng bng trangTrang 4 kbyte10 101232PDEPTE /C vt l 1024PDE* 1024PTE=2^20 Trang a chtuyn tnh31 0- 49 - dng. S tham chiu b nh bao gm mt dng a ch. Cch t chc ny c mt s thun li cho ngui lp trnh so vi khng gian a ch khng phn on. Nlmngincchtrnhbysphttrincacccutrcdliu.Nulp trnhvinkhngbitkchthccamtcutrcdliuringbitslbao nhiu, n s khng cn hng dn. Cu trc d liu c th c phn b v on ca n v h iu hnh s m rng hoc co rt li on nu cn thit. N cho php cc chng trnh c bin i v bin dch li c lp, khngyu cuthitttonbccchngtrnhphiclinktvnptili.Mtln na, y ang s dng hon ho a on . Ntgipvicchiasgiacctintrnh.Mtlptrnhvincthtmt chng trnh tin ch hoc mt bng d liu hu dng trong mt on c th c nh a ch bi mt tin trnh khc. N t bo vmnh. Khi mt on c th c xy dng cha ng mt tp cc chng trnh hoc d liu c nh ngha, lp trnh vin hoc nh qun tr mng c th phn b quyn u tin truy nhp trong mt kiu ph hp. Nhng thun li ny khng c sn vi vic phn trang, (vic phn trang lkhng thy c vi lp trnh vin). Ni cch khc, chng ta nhn thyk thut phn trang cung cp mt kiu qun l b nh hiu qu. kt hp cc thun li ca c hai, mt s h thng c h tr vi phn cng v phn mm h iu hnh cung cp c hai phng php qun l . 3.6. K thut gii m a ch 3.6.1. Cu to mt vi mch nh Mt mch nh c to nn t nhiu vi mch nh. Mt vi mch nh thng c cu trc tiu biu nh sau: -Nhm tn hiu a ch: cc tn hiu a ch c tc dng chn ra mt nh (t nh) c th ghi / c. Cc nh c di khc nhau tu theo nh sn xt: 1,2,4,8 bit. Mt vi mch nh c m bit a ch th c2m t nh. -Nhmtnhiudliu:S ngdydliuquytnh ditnhcamch nh. Thng thng ngi ta hay ni r dung lng v di t nh cng mt lc. V d mch nh: 1K x 8... -Nhmtnhiuchnvimch(chnv):CctnhiuchnvlCS(chipselect) hoc CE (chip enable) thng c dng chn ra vi mch nh c th c ghi / c . Tn hiu mchnh Ram thng l CS ROM l CE. Cc tn hiu chn v thngniviuracamchgiimach.Khimtmchnhkhngc chn th bus d liu ca n b treo ( trng thi tr khng cao). A0 A1 A2 AmD0 D1 D2 DnWRtnhi uachTn hi u d l i uWECS OEChn VRDWR: WriteWE: write enableOE: output enableCS: Chip selectRD: read- 50 - -Nhm tn hiu iu khin: Mt mch nh RAM thng c 1 tn hiu iu khin l R/W iu khin qu trnh ghi / c. Nu mch nh RAM c 2 tn hiu iu khin th l WE(write enable) iu khin ghi v OE iu khin c. Hai tn hiu ny phi ngc pha nhau iu khin vic ghi c mch nh.3.6.2. Gii m a ch cho b nh Mi mt mch nh ghp ni vi CPU cn phi c CPU quy chiu ti mt cch chnh xc khi thc hin thao tc ghi / c.iu c ngha l mi mch nh phi c gn cho mt vng ring bit c a ch xc nhnmtrongkhnggianachtngthcabnh.Vicgnachcthchotng mch nhc thc hin nh b gii m a ch. Vic phn thnh ccvngnhkhcnhau thc hinccchcnngnht nhgil phn vng b nh. a. Cu to chung ca b gii m a ch: -Tn hiu iu khin : IO/ M dng phn bit i tng m CPU chon lm vic l b nh hay thit b vo ra.-Tn hiu a ch : l cc bit a ch c quan h nht nh n vic chn v u ra.Thng thngkhi thitkmchgii mngi ta thng tnh di ra d phng, sao cho sau ny co th tng thm dung lng b nh.b. Gii m a ch bng cc mch NAND VdmchgiimnginchoEPROM2761-1dunglng2Kx8cachnm trong khong FF800h-FFFFFh (vng a ch c cha a ch khi ng ca CPU 8088) S mch gii m: M ch gi ima chCS1CS2CS3CSnC c tnhi u chnvtnhi ua chtnhi ui ukhi nM ch gi ima ch tng qu tA0-A7 D0-D7CE OEA11A12...A19IO/MRD2716-12716-1lEPROM2KB- 51 - A19 A18 A17 A16A15 A14 A13 A12A11 A10 A9 A8 A7 A6 A5A4 A3 A2 A1 A0 1111 111 1 100 00 000 0 0 0 0 =FF800h 1111 111 1 111 11 111 1 1 1 1 =FFFFFh S chn a ch trong CPU 8088 l 20 chn nh s t A0 n A19. Trong mch gii m ny ERPROM dung lng 2KB -> s dng 11 bt a ch thp t A0 n A10 chn t nh trong ERPROM . Cc bt cao cn li A11 n A19 kt hp vi xung IO/M ( c o) to xung chn v cho 2KB t ti vng nh cao nht ca CPU 8088 c. Gii m dng mch gii m kiu 74LS138 S mch gii m LS138 Bng chc nng: ABCG2BG2AG1y0y1y2y3y4y5y6y7 xxx1xx11111111 xxxx1x11111111 xxxxx011111111 00000101111111 00100110111111 01000111011111 01100111101111 10000111110111 10100111111011 11000111111101 11100111111110 Vd:giimachvngnh64kbachbtuF0000hnFFFFFhbng EPROM 8KB Vi a ch vng nh nh trn cn 20 bit a ch m ho : A0 A19 dung lng ca EPROM l 8 kb -> cn 13 bit a ch xc nh t nh ( nh)-> s dng 13 bit thp m ho: A0A12 . Cc bit a ch A13A15 c a vo cc u vo chn A, B, C ca b gii m ls138 chn EPROM tng ng.Cc chn cn li A16 A18 qua mch NAND a vo chn G2a tn hiu IO/M c a vo chn G2b - 52 - A19 c a vo G1 Nu dng EPROM 2Kb -> cn s dng 32 mch nh.->s dng 4 b gii m LS138 chn chp nh tng ng.Dung lng ca EPROM l 2kb -> s dng 11 bit thp A0A10 xc nh t nh trong mch nh.Cc bit A11A13 c a vo chn chn v ca cc b gii m LS138BitA14avochnG2AcabgiimLS138 1v3;quamchNOTithnh xung m a vo chn G2A ca b gii m LS138 2v 4. BitA15c avochnG2BcabgiimLS1381v2;quamchNOTthnh xung m a vo chn G2B ca b gii m 3,4 . Cc chn A16A19 Kt hpvixung tnhiu IO/M ( c i du) qua mch AND a vo chn G1. S ghp ni EPROM v gii m a ch: CU HI V BI TP 3.1. Trnh by khi nim, nguyn tc hot ng ca b nh Cache? 2.2. Trnh by k thut qun l b nh (Khi nim, k thut hon i, phn vng, phn trang) 3.3. Trnh by khi nim b nh o (Virtual memory)? Cch qun l trang v phng php bin dch a ch tuyn tnh? 3.4. Cho b nh chnh 32 MB, kch thc cache 8 kB, kch thc khi 32 byte. Xc nh a ch do CPU pht ra theo 3 phng php nh x 3.5. Trnh by s ghp ni v gii m a ch vng nh 8 KB c a ch F0000hFFFFFh s dng mch gii m LS138 v EPROM 1Kx4 - 53 - Chng IV: H THNG VO RA 4.1. Gii thiu chung H thng vo ra: trao i thng tin gia my tnh v th gii bn ngoi, bao gm: Ccmodulvora(mchghpniIO):ghpnigiaCPUvbnhvicc TBNV. CcTBNV:mchghpnivoratchcthnhcccngvorasaochomi cng c mt a ch xc nh. a ch ho cng vo ra: a ch ho tch bit (vo ra trc tip): khng gian a ch cng c lp vi khng gian a ch b nh. a ch ho theo bn b nh: khng gian a ch cng vo ra nm trong khng gian a ch b nh. 4.1.1. Cc thit b ngoi vi Chc nng: Trao i thng tin ngi - my Trao i thng tin my - my Cu trc Logic iu khin:Nhn tn hiu iu khin ca CPU Pht tn hiu iu khin TBNV Pht tn hiu trng thi bo cho CPU bit trng thi ca TBNV m d liu: cha tm thi d liu trao i gia TBNV v Modul vo ra Chuyn i tn hiu: chuyn tn hiu dng phi in nng thnh tn hiu in nng. 4.1.2. Modul vo ra m d liu Chuyn i tn hiu Logic iu khin modul vo ra d liu nh phn d liu t mi trng ngoi Thanh ghi d liu Logic iu khina chiu khin d liud liuiu khin trng thi Cng IO Thanh ghi iu khin v trng thi Cng IO d liu iu khin trng thi - 54 -Chc nng:iu khin v nh thi gian cho qu trnh trao i Trao i thng tin vi CPU Trao i thng tin vi TBNV m d liu Pht hin li Cu trc: (Hnh v trang trc) Ngilptrnhcthcanthipvonidungcacccngvthanhghiiukhin trng thi. Ni dung thanh ghi trng thi s quyt nh ch lm vic cho cc cng 4.2. Ghp ni my tnh vi thit b ngoi vi Ghp ni gia CPU v Modul vo ra: song song Ghp ni gia Modul vo ra v TBNV: song song s to ra cng LPT, ni tip s to ra cng COM 4.2.1. Ghp ni song song Nguyntc:Cccavoracghpnitrctipvibxl,ghpnisongsong iu khin bng chng trnh dng mch 8255A (PPI:Programable peripheral inteface) Mch ghp ni vo ra song song lp trnh c 8255A * Cu trc 8255A Cc chn tn hiu ca 8255A: D0-D7: Chn tn hiu d liuRD : chn tn hiu yu cu c Logic iu khin ghi / c m bus D iu khin nhm B iu khin nhm A Nhm ACng A Nhm B Cng B Nhm B Cng C (thp) Nhm A Cng C (cao) Bus ni b PC4-PC7 PC0-PC3 PB0-PB7 RD WR A0 A1 R CS PA0-PA7 - 55 - WR: chn tn hiu yu cu ghi A0-A1: Cc chn tn hiu a ch: chn 4 thanh ghi bn trong 8255A Thanh ghi t iu khin CWR, PA,PB,PC. PA,PB,PC L cc thanhghi m ghi/c d liu. a ch cho thanh ghi PA cng l a ch c s ca 8255. C hai loi t iu khin cho 8255A: T iu khin nh ngha cu hnh cho cc cng PA,PB,PC. T iu khin lp/xo tng bit u ra ca PC Bng chn thanh ghi trong 8255A CSA1A0Chn ra 1XXKhng chn 000PA 001PB 010PC 011CWR T iu khin nh ngha cu hnh * Cc ch hot ng ca 8255 Ch 0 (ch vo ra c s): Cc cng A, B, C c s dng c lp nhau CccngA,B,Ccthlcngvohoccngratugitrtiukhinghi trong thanh ghi t iu khin. Khng c s i thoi vi VXL cng nh TBN. Nu mun c tn hiu i thoi phi dng bit ca cng no (thng l cng C) xc lp bit 1 v sau xo v 0 bng cch ghi s liu (1 hoc 0) hoc bng cch xc lp/ xo mt bit PCi ca cng C bng lnh vi D7 bng 0. ChcaA 00-Ch0 01-Ch1 1x- Ch 2 Chiu ca A 1: Vo 0: Ra Chiu ca Ch 1: Vo 0: Ra Nhm A D7 D6 D5D4 D3D2 D1D01 Nhm BChiu Ca Cl 1-Vo 2-Ra Chiu ca B 1-Vo 2-Ra Ch ca B 1 :Ch 1 1: Ch 0 - 56 - Ch 1 (ch vo/ ra i thoi) vi cc bit cng C.Chia hai nhm: Nhm A gm cng A trao i s liu v na C cao (PC7- PC4) i thoi vi VXL v TBN. Nhm B gm cng B trao i s liu v na C thp (PC3- PC0) i thoi vi VXL v TBN. Chiuv ch 1 ca cng A, B do t iu khin quyt nh, cc tnhiu i thoi PCi ph thuc vo chiu cng vo hay ra cho cc tn hiu PCi. V d: (SGK) Ch 2 (vo ra c cht): Ch nych dng cho cng Avivo ra thunnghch (haichiu) v cc bit PC3, PC4- PC7 dng lm tn hiu i thoi, trong : PC3chotnhiuyucungtIRNTAchungchochaichiuvgingch M=1. PC4 cho tn hiu vo STBA khi cng A c chiu vo (ging ch 1) PC6 cho tn hiu vo ACKA khi cng A c chiu ra (ging ch 1) Chung c hai ch 1, 2 cc bit cn li dng lm i thoi ca cng C u l cc tn hiu ra. Cng B hot ng ging ch 1 hoc ch 0. * Ghp ni 8255A vi MVT v TBN Nguyn tc chung: Phn ghp ni vi my vi tnh (MVT) Phn ghp ni vi TBN *Lp trnh cho 8255A 4.2.2. Ghp ni ni tip Nguyn tc: cho php trao i thng tin gia CPU v TBNV theo tng bit, s liu trao i thng c gi theo cc nhm bit m n to thnh mt k t hay mt t. S dng:Khi TBNV cn trao i vn l vo ra ni tip Khi khong cch gia CPU v TBNV tng i ln. Nhp truyn: tng s ln thay i tn hiu trong mt giy (baud rate) Phng thc: Thi gian: ng b, d b ng truyn: song cng, n cng, bn song cng. 4.3. Cc phng php iu khin vo ra 4.3.1. Vo ra iu khin bng cch thm d Vn iu khin vo/ra d liu s tr thnh rt n gin nu thit b ngoi vi lc no cng sn sng ch lm vic vi CPU. V d, b phn o nhit s (nh l mt thit b vo) lp sn trong mt h thng iu khin lc no cng c th cung cp s o v nhit ca i tng cn iu chnh, cn mt b n LED 7 nt (nh l mt thit b ra) dng ch th mt gi tr no ca mt i lng vt l nht nh trong h thng ni trn th lc no cng c th biu hin thng tin . Nh vy, khi CPU mun c thng tin v nhit ca h thng th n ch vic c cng phi ghp vi b o nhit , v nu CPU mun biu din thng tin va c c trn n LED th n ch vic a tn hiu iu khin ti m khng phi kim tra xemcc thit b ny c ang sn sng lm vic hay khng. - 57 - Tuy nhin trong thc t khng phi lc no CPU cng lm vic vi cc i tng "lin tcsnsng"nhtrn.ThngthngkhiCPUmunlmvicvimtitngno, trc tin n phi kim tra xemthit b c ang trng thi sn sng lm vic hay khng, nuc thn mi thchinvic trao i d liu. Nhvy,nu lmvic theophng php thm d th h thng thng l CPU phi c dnh ring cho vic trao i d liu v n phi lintckimtratrngthisnsngcathitbngoivithngquacctnhiumcni (Handshake Signal). Cc tn hiu ny c ly t mch phi ghp, do ngi thit k to ra, chng trnh thm d hot ng trn . V d: Mt cngvo s 0 (C a ch 00) c dng c trng thisnsng ca 2 thit b ngoi vi ni trn. Tn hiu snsng ca thit b ngoi vi s 1 (cng vo 01) c t vo bit D0, tn hiu sn sng ca thit b ngoi vi s 2 (cng vo 02) c t vo bit D1. Cc thitb nysc gi tr1 khi thit b ngoivi tng ng trng thi snsnglmvicvi CPU v chng s c a vo Bus d liu khi CPU c n bng lnh c cng vo s 0. M t hot ng ca phn mch vo d liu. Khi thit bvo s 1 c 1 Bytes liu cn trao i, n a ra xung STB cho php mch cht 8 bit ly Byte d liu ng thi kch cho mch lt D (mch to tn hiu sn sng) lm vic. CPU s thm d trng thi sn sng ca thit b vo s 1 qua bit D0 khi n c cng D0.nkhiCPUc 1Bytedliuvothnngthixolunmchtotrngthisn sng chun b cho ln lm vic ti vi 1 Byte d liu khc. 4.3.2. Vo ra iu khin bng Ngt a. Ngt v iu khin ngt Trong cch t chc trao i d liu thng qua vic thm d trng thi sn sng ca thit b ngoi vi, trc khi tin hnh bt k mt cuc trao i d liu no CPU phi ton b thi gian vo vic xc nh trng thi sn sng lm vic ca thit b ngoi vi. Trong h thng vi x l vi cch lm vic nh vy, thng thng CPU c thit k ch yu ch l phc v cho vicvora d liu v thchin ccxl lin quan. Trong thc tCPUlun cnhu cu t ngi dngl tn dngkhnnglmvic ca CPU lmthmnhiu cngvickhcna. Ch ti khi no c yu cu trao i d liu th mi yu cu CPU tm dng cng vic hin ti phc v vic trao i d liu. Sau khi hon thnh vic trao i d liu CPU s quay v lm tip cng vic hin ang b gin on. Cch lm ny gi l ngt CPU trao i d liu. - 58 -Nhvy mt h thngvicchhot ng theo kiu ny c th p ng c rt nhanh cc yucutrao i dliutrongkhivncthlmccccngvickhc.Munt c iu ny, ta phi c cch t chc h thng sao cho c th tn dng c kh nng thc hin cc chng trnh phcv ngt ti cc a chxc nh ca CPU.Vi mch 8088 ca CPU c ccyucungtchecINTRvkhngchecNMI,chnhccchnnyscs dng vo vic a cc yu cu ngt t bn ngoi n CPU. b. Cc loi ngt trong 8088 Trong h vi x l 8088 c th xp cc nguyn nhn gy ra ngt CPU vo 3 nhm sau: * Nhm cc ngt cng: l cc yu cu ngt CPU do tn hiu ngt n t cc chn INTR v NMI. Ngt cng NMI l yu cu ngt khng che c, tng ng vi ngt INT2. Cc lnh CLI (xo c IF) v STI (lp c IF) khngc nh hng nvicnhn bit tnhiuyu cu ngt NMI. Ngt cng INTR l yu cu ngt che c, cc lnh CLI v STI c nh hng trc tip ti trng thi ca c IF trong b vi x l, tc l nh hng ti vic CPU