You are on page 1of 10

I-Vi x ly 8086/8088:

1. S khi va chc nng cac khi:

- Khi giao tip BIU: +Ch.nng:iu khin bus h thng: a ra ia chi oc ma lnh oc ghi d liu t M/I/C +Cac t.phn: B cng tng( ): tng ia chi vt ly 4 thanh ghi oan 16 bit B m chng trinh(PC)-con goi la con tro lnh IP IQ:hang i lnh (IR) 8086 6 byte; 8088 4 byte; - Khi thc hin lnh EU + Chc nng: Nhn lnh va d liu t BIU x ly Kt qua--->BIU lu tr +Thanh phn: ALU (khi s hoc&logic): dung thc hin cac thao tac # vi cac toan hang cua lnh CU(khi iu khin): chc nng dung giai ma lnh 8 thanh ghi 16 bit: 4thanh ghi chung: AX, BX, CX, DX 4 thanh ghi con tro chi s: SP, BP, SI, DI thanh ghi c: cha trang thai kt qua ma ALU thc hin - Bus trong(internal bus) + ghep ni cac b phn trong CPU + 8086 ALU-Bus 16 bit + 8088 A-Bus 16bit 2. Chu trinh s ly lnh: 3. Cac ch ia chi: - Ch ia chi la cach CPU tim thy toan hang cho cac lnh cua no khi thc hin - Co 7 ch ia chi: (1) Ch ia chi thanh ghi: +c im Cac toan hang cua lnh u la thanh ghi MOV ich,gc.Chuyn DL t ich vao gc VD: Mov ax,bx ; ax<--bx Mov al,ah ; al<--ah Mov al,bx; Sai(ko tng thich v kich thc/c) (2) Ch ia chi tc thi: +c im: Toan hang gc la 1 hng Toan hang con lai co th la thanh ghi hoc nh

VD: Mov al , 200; al<--200 (t.g) (hng) Mov al ,1000; Sai(chi cha c hng <255) (3) Ch ia chi trc tip: +c im: S dung 1 hng biu din ia chi 1 nh la 1 toan hang Toan hang con lai co th la thanh ghi hoc 1 hng(ko c la 1 nh) VD: Mov al , [1000] ; al <--[1000] (t.g)( nh co ia chi 1000) Mov [2000], bl ; [2000] <--bl Mov ax , [3000]; al<--[3000] al1<--[3000+1] Mov 1500 , bx; [1500] <--bl; [1500+1]<--bl1 (4) Ch ia chi gian tip qua thanh ghi: +c im: SD 1 thanh ghi(BX,BP,SI,DI) cha ia chi nh la 1 toan hang Toan hang con lai co th la thanh ghi hoc hng(nhng ko la nh) VD: Mov al , [Bx]; al<--[Bx] (t.g) ( nh co ia chi cha trog Bx) Mov [bx], 200; [bx]<--200 Mov ax , [bx]; al<--[bx] ah<--[bx+1] Mov ax , bx ; ax <-- bx (5) Ch ia chi tng i c s: +c im: . 1 toan hang la ia chi nh,c biu din bi 2 t.p:1 thanh ghi c s (BX,BP)&1 hng . Toan hang con lai la thanh ghi hoc hng(ko c la nh) Nu thanh ghi la Bx thi nh se thuc oan DS Nu thanh ghi la Bp thi nh se thuc oan SS VD: Mov al , [bx]+100; al<--ds: [Bx+100] Mov ah,[bp]+1000; ah<--ss: [bp+1000] Mov [bx] +200,150 ; ds: [bx+200]<--150 (6) Ch ia chi chi s: +c im: . 1 toan hang la 1 ia chi nh.gm 2 phn: t.g chi s (SI, DI) Hng . toan hang con lai la thanh ghi hoc hng(ko la nh) VD: Mov al , [Si]+200; al<--[Si] +200 Mov [di]+300, al ; [di]+300<--al (7) Ch ia chi chi s c s: +c im:--1 toan hang la ia chi nh gm 3 phn : -thanh ghi c s(BX,BP) -thanh ghi chi s(SI,DI) -Hng --Toan hang con lai la thanh ghi hoc hng (ko la nh) VD: Mov al ,[Bx]+[Si]+100 ; al<--ds: [Bx+Si+100] Mov [Bp+di+300] , al ; ss: [Bp+di+300]<--al 4. Dang lnh va ma hoa lnh: * Dang lnh:

MOV ich, gc - Dung chuyn d liu gia 2 thanh ghi hoc gia nh va thanh ghi. * Ma hoa lnh:

- ma hoa lnh mov phai cn it nht la 2 byte, trong o 6 bit cua byte u tin dung cha ma lnh. - chuyn kiu DL: thanh ghi thanh ghi (tr thanh ghi oan) Hoc b nh thanh ghi (tr thanh ghi oan) thi 6 bit u tin lun la 100010 - Bit W: W=0 1 byte c chuyn W=1 1 t c chuyn - Bit D chi hng DL: D=0 DL i t thanh ghi D=1 DL i n thanh ghi - 2 bit MOD va 3 bit M/R tao ra 5 bit chi ra ch ia chi cho cac toan hang cua lnh.

- Mt s bang cn dung: 5. Tp lnh: * Phn loai: co 2 tp lnh: Tp lnh phc hp CISC Tp lnh giam thiu RISC CISC RISC - Tp lnh nhiu lnh, phong phu - Tp lnh giam thiu (it lnh) - Nhiu ch ia chi - It ch ia chi - Kich thc lnh khac nhau - Kich thc lnh tng ng nhau

- Piple hiu qua ko cao - Ma chng trinh ngun ngn chim it Mem - Kho ti u cho chng trinh dich - Thng s dung cho may tinh ban

- Piple hiu qua cao - Ma chng trinh ngun dai chim nhiu Mem - D ti u hoa - Thng s dung cho may chu

* Mt s lnh cua VXL CISC (tp lnh 8086/8088) (1) Cc lnh vn chuyn DL: ko nh hng n cc c. - MOV: Dng MOV ch, gc; ch gc VD: mov ax, bx; ax bx Mov ax, 1000; ax 1000 Mov [bx], al; [bx] al - IN: Dng IN al, dx; al [dx] /c vo - OUT: Dng OUT dx, al; [dx] al /c ra (2) Cc lnh s hc: - ADD: Cng 2 ton hng. ADD ch, gc; ch ch, gc C nh hng n cc c: S, C, A, Z, P, O VD: ADD ax, bx; ax ax+bx ADD cx, 100; cx cx+100 - SUB: Tr 2 ton hng: SUB ch gc; ch ch-gc C nh hng n cc c: A, C, O, P, S, Z VD: SUB ax, bx; ax ax-bx - MUL nhn: Dng MUL gc: + gc l tham s 8 bit: al * gc ax + 16 bit: ax * gc dx * ax gc phi l thanh ghi hoc nh nh hng n c: C, O VD1: 30 * 20 mov al, 30 Mov bl, 20 MUL bl; ax=al*bl=30*20=600 VD2: 300*10 mov al, 300 Mov bl, 10 MUL bl sai (v 300 ko cha trong al) - DIV: Chia. Dng DIV gc Gc 8 bt; ax: gc: al: thng ah: d 16 bt; dx ax gc: ax: thng dx: d nh hng n cc c: A, C, O, P, S, Z VD1: 30:20 mov ax, 30; Mov bl, 20; DIV bl; al=1, ah=10 VD2: 1000:3 mov ax, 1000; Mov bl, 3; DIV bl; al=333; ah=1 Trn Mov ax, 1000;

Mov bx, 3; DIV bx; ax=333; dx=1 (3) Cc php tnh s hc logic: NOT: o AND: v bit OR: hoc XOR: loi tr x y NOT x x AND y x OR y x XOR y 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 - AND: Dng AND ch, gc; ch ch ^ gc C nh hng n cc c P, S, Z VD: AND al, bl; al al^bl theo tng bt AND bl, OFH; Che 4 bt cao ca BL - NOT: Dng NOT ch; ch ch Ko nh hng n cc c VD: NOT ah; ah ah - OR: Dng OR ch, gc; ch ch v gc C nh hng n cc c P, S, Z VD: OR al, bl; al al v bl theo tng bt - XOR: Dng: XOR ch, gc; ch gc C nh hng n cc c P, S, Z VD: XOR al, bl; al al bl theo tng bit 1 XOR bh, bh; xa bh, x CF v OF (4) Cc lnh dch, quay: - SHL: dch tri. Dng: SHL ch, CL (Nu s bt cn dch =1 ghi lun - SHR: dch phi. Dng: SHL ch, CL Nu s bt cn dch>1 ghi vo CL) C tc ng n cc c: S, Z, P - ROL: quay tri. Dng: ROL ch, CL C nh hng n cc c C v O Chc nng: x l bt v truyn thong (5) Cc lnh iu khin: ko nh hng n cc c * Cc lnh nhy: - Nhy ko iu kin: JMP: short Near Dng JMP NHN Fat - Nhy c iu kin: + JE: nhy nu bng nhau + JZ: Nhy nu kt qu bng nhau * Lnh LOOP: Lp. Dng LOOP nhn Ko nh hng n cc c (6) Cc lnh x l bit: ko nh hng n cc c - Xa c: CLC: xa c nh CF=0 CLD: xa c hng DF=0 CLI: xa c ngt IF=0 - t c: STC: t c nh CF=1 STD: t c hng DF=1

STI: t c ngt IF=1 (7) Lnh iu kin h thng: ko nh hng n cc c - HLT: dng chng trnh - NOP: CPU ko lm vic (8) Cc lnh khc: - INC: lnh tng 1: INC (ch); ch ch+1 C nh hng n cc c: A, O, P, S, Z - DEC: Lnh gim 1: DEC (ch); ch-1 C nh hng n cc c: A, O, P, S, Z - CMP: Lnh so snh: CMP ch, gc; c ch C nh hng n cc c A, C, O, P, S, Z - Lnh thao tc v ngn xp: ko nh hng n cc c Push gc: y DL vo ngn xp SP SP+2 [SP] gc Pop ch: Ly DL ra khi ngn xp ch {SP} SP SP-2 V. Vi iu khin: 1. nh ngha: Vi iu khin l 1 h thng vi x l y tch hp trong 1 chp vi mch, thng gi l vi iu khin n chip 2. Chc nng: C y cc chc nng nh 1 vi x l - Thc hin cc chc nng iu khin (chnh) - Lp trnh - Thc hin cc php tnh s hc, logic v cc php ton khc - Kt ni, trao i DL vi cc thit b bn ngoi thng qua cng I/O - X l DL (gm tnh ton v vn chuyn DL) 3. So snh vi iu khin vi vi x l: 1. Gm 2. Cu to 3.Cng sut 4.Tp lnh 5.Mc ch sd -Tnh ton, iu khin -L 1 phn ca h VXL -Ln -Ln -Nhiu mc ch: my tnh c nhn, my ch, iu khin -Tnh ton, iu khin, Mem v I/O -L 1 VXL hon chnh trong 1 chp -Nh -Hn ch -Sd di dng nhng v cc thit b khc: tivi, my git, t lnh..

III. Cc phng php vo ra DL: 1. Phng php thm d: * c im: - Cc thit b I/O s lin tc cp nht trng thi sn sng lm vic ca mnh ln byte trong byte trng thi tng ng. - CPU qut byte trng thi Nu bt vo =1 => thit b tng ng sn sng lm vic -> 2 bn s trao i DL u im: Phng php n gin, d thc hin, c th thc hin bng phn mm. Nhc im: tn time CPU qut sch trng thi, ko cn time thc hin cng vic khc.

* C 2 phng php thm d:

- Chc nng: thm d c dung khi: + khi ng (chut, bn phm, a) + Chy ( mm, CD, my in) 2. Phng php DMA: - L qua trnh thit b I/O trao i trc tip vi Mem ko qua CPU

- Chu trnh hot ng: B1: Thit b I/O gi yu cu DRQ DMAC . DRQ_DMA Request . HRQ_Hold Request . Hold_ nhn tn hiu CPU tip nhn yu cu DMA . HLDA_ nhn tn hiu tr li yu cu DMA . HACK_ Hold Acknow ledge . DACK_DMA Acknow ledge B2: DMAC chuyn yu cu n chn tn hiu HOLD ca CPU B3: CPU: + Hon tt lnh ang thc hin + Gi tn hiu tr li (ng ) HACK thng qua HLDA + CPU t treo (tch ra khi h thng bus -- ton b bus A v D -- 1 phn bus C) B4: DMAC nhn c HACK Cho thit b I/O c DACK nm quyn iu khin bus cho CPU - Cc kiu trao i DL bng DMA: + Treo CPU trao i 1 byte DL + Treo CPU trao i mng DL + Tn dng thi gian bus ri trao i DL

- Chc nng: s dng DMA khi cc thit b c nhu cu: DL nhiu Tc cao 3. Ngt, x l ngt: * nh ngha: ngt l s kin CPU tm dng thc hin chng trnh chuyn sang thc hin chng trnh khc theo yu cu bn ngoi. * Cc loi ngt: - Ngt cng l cch ngt khi to t thit b phn cng v c gi n 1 trong 2 chn ca CPU: NMI INTR - Ngt mm: l cc ngt kch hot t chng trnh thng qua cc lnh gi ngt INT (n-s hiu ngt) - Ngoi l: l cc ngt xy ra do cc li trong qu trnh thc hin chng trnh (VD: Chia cho 0, do trn) * u tin x l ngt: - Khi c nhiu yu cu ngt gi n CPU n s phn cp t caothp + Ngt ni b: INT N, INT 0 (php chia cho 0) + Ngt ko cho c NMI + Ngt cho c INTR + Ngt chy tng lnh INT 1 * Chu trnh x l ngt: - CPU ang thc hin chng trnh con th c yu cu ngt gi n chp nhn ngtlu cc thanh ghi: F, CS, IP - Xa c ngt (IF=0): xa c (TF=0). Sau ly a ch ca chng trnh con phc v ngt (cn c vo s hiu ngt n) np vo CS v IP - CPU thc hin chng trnh con phc v ngtkt thc (gp IRET) CPU np li (khi phc cc gi tr ca IP, CS, F) v tip tc thc hin chng trnh chnh. * Chng trnh vo ra bng ngt: gm 5 bc B1: thit b I/O c yu cu ngt. Yu cu ngt c chuyn n CPU INTR B2: CPU thc hin cc vic: + Hon tt cc lnh ang thc hin + Lu cc thanh ghi IP, CS, F + Gi tn hiu chp nhn ngt n thit b I/O thng qua INTA + Xa c ngt (cm ngt), xa c by (IF=0) + Yu cu thit b I/O cung cp s hiu ngt B3: Thit b I/O nhn c tn hiu chp nhn ngt, gi s hiu ngt n CPU B4: CPU nhn s hiu ngt n. Qua xc nh c phc v ngt (CS, IP). ng thi thc hin chng trnh con phc v ngt trao i DL vi thit b I/O B5: Kt thc chng trnh con phc v ngt, CPU s khi phc cc thanh ghi IP, CS, F. t IF=1 v tip tc thc hin chng trnh con. 4. So snh 3 phng php: thm d, DMA v ngt c im 1. Ai ch ng 2. Tnh n gin 3. Tc 4. Hiu nng Thm d - CPU - n gin - Chm - Thp Ngt - I/O - Tng i phc tp - Chm - Trung bnh DMA - I/O - Rt phc tp - Nhanh - Cao

IV. Cac tin hiu 8086/8088: 1. Cac nhom tin hiu: - Cac tin hiu ia chi: 20 tin hiu: + A/D0 A/D7 + A8 A15 + A16/S3 A19/S6 Quan ly ti a 226 < 1MB Chiu i ra (CPU phat ra tin hiu ia chi) - Cac tin hiu DL: 8088 (8 bit DL): A/D0 A/D7 8086 (16 bit DL): A/D0 A/D15 + Ch ia chi ALE: =1 A/D0 A/D7 thc hin ia chi =0 A/D0 A/D7 thc hin DL - Cac tin hiu iu khin h thng: + IO/M: Chon Mem chc nng tin hiu PO lam vic: . =1 lam vic vi thit bi I/O . =0 lam vic vi thit bi Mem + DT/R: Xac inh hng vn chuyn DL: =0 nhn DL =1 gi DL + RD: Xung cho phep oc + WR: Xung cho phep ghi + DEN: Cho phep DL - Tin hiu iu khin bus: + HOLD: Nhn yu cu DMA + HLDA: Gi tin hiu chp nhn DMA + INTA: Tra li yu cu ngt + ALE: Cht ia chi - iu khin CPU: + NIMI: Ngt ko cho oc + IMTR: Nhn yu cu ngt + MN/MX (Min/Max): Xac inh ch lam vic Min (MN/MX ni t) CPU cung cp cac trang thai cho b phn phu tr Max (MN/MX ni VCO) CPU cung cp cac trang thai cho b phn phu tr iu khin (Bus, ngt va cac b phn khac) - Cac tin hiu ng h va Ngun: + CLK (clock): nhn xung nhip + VCO (Ngun): 3,0 3,3V + GND: ni t - Mt s thit bi iu khin khac: S3, S4, S5, S6 2. Ch Min va Max: a. Ch Min: Chn MN/MX cn c ni thng vao +5V, ko qua R - CPU trc tip tao tin hiu iu khin: Mem; I/O - Cac tin hiu: dung xac inh cac chu ky cua Bus. + IO/M: phn bit thi im a inh phn t nao trong I/O hoc Mem c chon lam vic vi CPU + WR: Xung cho phep ghi: WR=0 DL n inh va c ghi vao Mem WR=1 t bin + INTA: Bao cho cac mach bn ngoai bit CPU chp nhn yu cu ngt INTA. Khi

INTA=0 Ch mach ngoai a vao s hiu ngt/bus DL + ALE: Xung cho phep cht ia chi. Khi ALE=1 trn bus dn knh AD co cac ia chi cua I/O hoc Mem. Khi ALE=0 CPU bi treo + DT/R: Tin hiu iu khin cac m 2 chiu cua bus DL chon chiu chuyn vn DL trn bus D. + DEN: Tin hiu bao cho bn ngoai bit trn bus dn knh AD co DL n inh + HOLD: Tin hiu yu cu treo CPU mach ngoai thc hin vic trao i DL vi Mem bng cach thm nhp trc tip. + SSO: Tin hiu trang thai. b. Ch Max: Chn MN/MX ni t - Cac tin hiu: + S1, S2, SO: la 3 tin hiu trang thai ghep ni mach 8088 + RQ/GTO va RQ/GT1: Cac tin hiu yu cu dung bus cua cac b x ly khac hoc thng bao chp nhn treo CPU cac b x ly dung bus. + Lock: Tin hiu do CPU a ra cm cac b x ly khac trong h thng dung bus trong khi no ang thi hanh 1 lnh nao o t sau tip u LOCK. + QSO va QS1: Tin hiu thng bao cac trang thai khac nhau cua m lnh. KH Tn NOTE CS TG chon ma DS TG d liu SS TG ngn xp ES TG d liu phu AX Phanh cha Cha kt qua cua cac thao tac BX TG c s Cha /c c s cua 1 bang dung trong lnh CX XLAT DX B m Cha s ln lp khi lnh LOOP lp TG liu Cha /c cua cac cng trong lnh I/O DL trc tip IP Con tro lnh Lun tro vao lnh tip theo se t/hin nm trong oan ma CS BP Con tro c s Lun tro vao 1 DL nm trong oan ngn xp CS SP Con tro ngn xp Lun tro vao ich cua ngn xp nm trong SS SI Chi s gc or ngun Chi vao DL trong oan DL DS DI Chi s ich Chi vao DL trong oan DL DS C-CF C nh CF=1c nh chc nng mn t SHB P-PF C parity p.an tinh chn le cua tng bit 1k.qua:=1khi chn =0khi le A-AF C nh phu AF=1nh hoc mn t 1 s BCD thp sang 1 s BCD cao Z-ZF Co rng ZF=1 kt qua =0 S-SF C du SF=1 kt qua m O-OF C tran OF=0 k.qua la 1 s bit 2 mt ra ngoai g.han biu din cua no TF,JF,DF (8086) c iu khin C by, c cho phep ngt, c hng

You might also like