: O~rn I~h(hang dqi I~nh)
kh(mg co piclining IFli Dli Ell F21 021 E21 F31 F31 OJI E
co pipelining I Fli Dli Ell I F2102IE21
I F31 DJIE31
(F: dqc l~nh, D: giai rna l¢nh, E: thlfc hi~n l¢nh)
Hll1lt 3.24: Dong IfnI! tlll((lllg va ([()lIg Ifnh xeJl ke lien t~/c
Trong h¢ vi xtr Iy 8088 ta con thay c6 cac thanh ghi 16 bit nam trong cii 2 kh6i BIU va EU, ngoai ra ding c6 mN s6 thanh ghi 8 ho~c 16 bit t~i EU, TJ se liin IUq1 gi6i thi¢u cac thanh ghi n6i tren cung chuc nang chfnh cua chung.
* Ok thanh ghi do~n
Kh6i BIU dua ra tren bus dia chi 20 bit dia chi, nhu v~y 8088 co kha nang phan hj~t ra dU<Jc 2211 = 1.048.576 = 1M 6 nha hay 1 Mbyte, vi c;l,C b¢ nhd noi chung t6 chuc thea byte, N6i each khac: kh6ng gian dia chi cua 8088 IiI 1 Mbyte. Trong kh6ng gian 1 Mbyte nay b¢ nh6 dn duqc chia thanh cac vung
khac nhau (dieu nay rat co Iqi khi lam vi¢c ache d¢ nhieu nguoi sir dl,mg ho~c
da nhi~m) ditnh rieng dI!: - Chua rna chuang trinh.
- Chua du li~u va ket qua trung gian cua chuang trlnh.
- T<;lo ra m¢t vung nha d~c bi~t g9i Ia ngan xep (stack) dung vao vi¢c quan 19 cac thong s6 cua b¢ vi xu 19 khi g9i chuang t.r1nh con ho~c lra ve tu chuang (rlnh con.
Trong thl!c te b¢ vi xU 19 8088 co cac thanh ghi 16 bit lien quan den dia chi dau cua cae vung (cae do~n) ke tren va ehung duqc g9i la d.e thanh ghi do~n
(segment registers). D61a thanh ghi do~n rna CS (code segment), thanh ghi do~n
du li~u OS (data segment), thanh ghi dOi.,ln ngan xep SS (stack segment) va Ihanh ghi dO<;ln di1 li~u phy. ES (extra segment). Ok thanh ghi dOi.,ln 16 bit nay chi ra dja chi dau cua 4 dOi.,ln trong b¢ nha, dung luqng IOn nhat eua moi dO<;ln nha nay ta 64 Kbyte va t~i m¢t thai dilim nhat djnh b¢ vi xu 19 chi lam vi~c duqc vai 4
do~n nha 64 Kbyte nay. Vi?e thay d6i gia tf! eua cae thanh ghi do;:~n him cho cae
do;:~n wang ung co the djeh chuy~n hnh hO'.lt lrong phi.,lm vi khong gian 1 Mbyte,
VI v~y d.c dO<;ln nay co the: nam d.ch nhau khi thong tin can luu trong chung doi h,')i dung luqng du 64 Kbyte ho~c ding co lh~ nam trum nhau do co nhung dO'.ln kh6ng can dung het d¢ dai 64 Kbytc va VI the' nhung do,!-n khac co the: b5t dau n6i tiep ngay sau do. Dieu nay cGng cho phep ta truy nh~p vao bat ky do,!-n nha (64 Kbyte) nao nam trong toan b¢ kh6ng gian IMbyte.
N(ii dung cac thanh ghi dOi.,ln sc xac djnh dja chi coa 6 nha nam a dau elm.m. Dia chi nay con g9i la dja chi C0 so. Dja chI cua d.c 6 nha kh,\c nam trong do;:~n
tfnh duqc bang each c¢ng them vao dia chi ca sa m¢t gia trj gQi lit dja chi J¢ch hay dQ l~ch (offset), g9i nhu the VI no ung vai khmlng l~ch cua to,-~ d¢ m()t 0 nha
CI,l the nao d6 so voi 0 df!u do'!-n. D¢ I?ch nay duqc X<lC djnh boi cac thanh ghi 16 bit khac d6ng vai tro thanh ghi I¢ch (offset register) rna ta se noi den sau. CI,l lh~, d~ xac djnh dja chi v~t ly 20 bit cua m¢t 0 nha nao do trong m¢t do~n bfit
ky, CPU 8088 phai dung den 2 thanh ghi 16 bit (m(>t thanh d~ chlra dja chi cO sa con thanh kia chua d(> l~ch) va tu n¢i dung cua c~p thanh ghi do no 1<,10 fa dja chi v~t 1y theo cong thuc sau:
Dja chi vat Iy = Thanh ghi do~n x 16 + Thanh ghi I~ch
Vi~c dung 2 thanh ghi de ghi nha thong tin ve dia chi thl!e chat li.,l0 ra m¢t 10,!-i dja chi g9i la dja chi logic va duqc ky hi~u nhu sau:
Dja chi kieu segment: offset la logic VI no t6n t~i d1I6i d~ng gia tri eila cae thanh ghi Cl,l th~ ben trang CPU va khi d.n thiet truy nh~p 6 nh6 nao do thl no phiii dlIQ'c dbi ra dia chi v~t ly d~ roi dlIQ'c dlIa len bus dja chi. Vi~c chuy~n d6i nay do m¢t b¢ t~o dja chi Ihl!e hi~n (phan tir L tren hlnh 3.24).
Vi dl,l: C~p CS: IP sf: chi ra dju chi clla l¢nh sap thl!C hi~n trang do~n rna. Neu t~i m¢t thai di~m nao do ta co CS = FOOOH .va IP = FFFOH thi
CS:IP - FOOOH x 16 + FFFOH = FOOOOH + FFFOH = FFFFOH
Dja chi FFFFOH chfnh la dja chi khbi dong clla 8088. Dau - t'1 day la d6 chi
SI! tlIang ling. Dja chi cac 6 nh6 thuQc dc dO<;Ln khac cung co th~ tfnh dlIQ'c thco cach wang tl! nhlI v~y. Tll' nay khi can noi den dju chi clla m¢t 6 nha ta co th~ Slr d~ng cit dju chi logic Ian dia chi v~t ly vi bao gio cung ton t'.li 51! wong Ung giila 2 lo;~i dja chi nay (thong qua b¢ t:,to dja chi I).
Tmac khi n6i den cac thanh ghi kM.c ta noi them chut it ve trnh da tr! eila d.c thanh ghi do~n va thanh ghi I~ch trang dia chi logic ung vai m¢t dia chi v~t
IY. Dieu nay cung n6i len tfnh Hnh hO~H clla co chc segment: offset trang vi~c
djnh dia chi cua 8068/88. Nhin VaG gia trj eu6i cung ella dja chi v~t ly, ta thay eo th~ t~o fa dju chi do Ill' nhicu gia tfj khac nhau cila thanh ghi do~n va thanh ghi l¢ch.
Vi d~: Dia chi v~t ly 12345H co the dL1Q'C t:,to ra tll' cac gia trj:
Thanh ghi do~n Thanh ghi l~ch
IOOOH 2345H
1200H I004H 0300H
* Qic thanh ghi da nang
0345H 2305H E345H
Trong kh6i EU c6 4 thaah ghi da nang 16 bit: AX, BX, CX, DX. Di6u d~c bi~t la khi can chua cac dfr li~u 8 bit thl mOi thanh ghi nay co the tach ra thanh 2 thanh ghi 8 bit eao va thap de lam vi~c d¢c l~p, do Hi cac c~p thanh ghi AH va AL, BH va BL, CH va CL, DH va DL (trong d6 H chi phan cao, L chi phan thttp). M6i thanh ghi co th~ dlIQ'c dung m¢t cach v,:,n nang de chua cac iO<;l.i dfr li¢u khac nhau, nhlIng cung c6 nhfrng c6ng vi~c d~c bi¢t nhat djnh chi thao tac vOi m¢t vai thanh ghi nao d6 va chfnh vi v~y cac thanh ghi thuang dlIqc gan cho nhiing eai ten d~c bi9t rat c6 y nghia. CI,l th~:
'" AX (accumulator, Acc): Thanh chua. Ole ket qua clla cac thao Hie thm1ng duqc chua 0 day (ket qua clla phcp nhan, chia). Neu ket qua la 8 bit thl thanh ghi AL duqc coi la Acc.
'" BX (base): Thanh ghi cei so, thuang chua dia chi cei sO clla m¢t bang dung trong I¢nh XLAT
'" CX (count); BQ dem. CX thuang duqc dung dC chua so hin I~p trong twang hqp cac I¢nh LOOP (l~p), con CL thuang chua s6 tan djch ho:,!c quay trang cac
l~nh dich ho:,!c quay thanh ghi.
'" DX (data): Thanh ghi da li¢u. OX dmg AX tham gia vao cac thao tac clla phcp nhan ho~c chia cac so 16 bit. DX con dung d~ chua dja chi clla d.c c6ng trong eac l¢nh vaalI'll da li¢u tn!c tiep (IN/OUT).
Oie thanh ghi con tri') va chi s6
Trang 8088 con co 3 thanh ghi can trb va 2 thanh ghi chi so 16 bit. Oic thanh ghi nay (tru IP) deu c6 the cluqc dung nhu c:.\c thanh ghi da nang, nhung ung dl:mg ehfnh cua moi thanh ghi la chung dW:1e ngam djnh nhu la thanh ghi 19Ch eho cac dO'-.tn lUang ung. CI,l Ih~:
* IP: Can tro l~nh (instfuction pointer), IP iuon If 0 vao J¢nh tiep thea sc cluqc thl!c hi¢n nam trang do~n ma CS. Dia chi dfiy dil ella i¢nh tiep thca nay ung voi CS:IP va duqc xac djnh thea each da n6i 0 tfcn.
* np: Con tra cei sO (base pointer), BP iuon tra vao mOt da li¢u n,\m trong
do~n ngan xep 55. Dla chi day dil ella mOt phan ttl trang dOiJ.n ngan xep ung voi SS:PP va duqc x;:ic dinh thea each da n6i 0 tren.
'" SP; Con tra ngan xep (stack pointef), SP luon tro vao dinh hi¢n thai cua ngan xep nam trang do,!-n ngan xep S5. Dja chi day du cua dinh ngan xc'p tIng voi SS:SP va cluqc xac djnh thea each dil n6i a tren.
'" SI: Chi so g6c hay ngu6n (source index). SI chi van dfr li¢u trang do<;tn da
li¢u DS rna dia chi C1,l th~ day du ung vai DS:SI va duqe xac dinh thea each eta n6i a tren.
* DI: Chi s6 dfch (destination index), DI chi vao da li~u trang do~n dfr li~u
DS rna dia chi Cl,l the day dll ung voi D5:DI va duqc xac djnh thea cach da n6i o tren.
Rieng (rang cae l~nh thao tac vai da li¢u ki~u chuoi thl c~p ES:DI Iuon ung vai dja chi cua ph~n ttl thu¢c chuoi dfch, con c~p D5:SI ung vai dia chi ella ph an tll' thu¢e ehuoi goc.
• Thanh ghi co FR (Flag register)
Day la thanh ghi kha d~c bi~t trong CPU, m6i bit cua no duqc dung de
phan <'tnh m¢t tr~ng thai nhft't djnh cua ket qua phep toan do ALU th,!c hi~n
ho~c m¢t tr~ng thai ho~t d¢ng eua EU. DY'a vao cae co nay nguo'i l~p trinh co th€ c6 d.c l~nh thich hqp tiep thea eho b¢ vi xu 1:9 (cae l¢nh nhay co dieu ki¢n). Thanh ghi co gem 16 bit nhung nguai ta chi dung het 9 bit eua no d€ lam cae bit co (hinh 3.25)
Ok co eua b¢ vi xua ly 8085
X: kh6ng duqc dinh nghia
fill/it 3.25: So (M thanh ghi ci'! cua h(J vi xu Iy 8086188
2. H~ vi xu Iy
Hinh 3 .. 26 gi6i thi¢u sa do kh6i tong quat eila mQl h~ vi xu ly
Tn:n day ta d1i thay b¢ vi xu ly 18. m¢t thanh phao rtit co ban kh6ng thieu duqc de t<).o nen may vi tfnh. Trang th!!c te b¢ vi xu 19 con phili ket hqp them voi
cae b¢ ph~n di¢n lU khac nhu b¢ nha va cae b¢ ph6i ghcp vao/ra d~ qo nen m¢t h¢ vi xu 1y hoan chinh. Din luu y dng d~ chi m¢t h¢ th6ng co cau true nhu tren,
thu~t ngu "h¢ vi xu If' mang y nghia tOng quat hem so voi thu~t ngu "may vi tinh", VI may vi tinh chi III m¢t trong nhung tlng dl:lng q.l the eua h¢ vi xu JY.
Sa do khoi cua h~ vi xu ly vai de thanh ghi tTOng va ngoai. BUS Duli¢u
BUS di~u khi~n
1 1 1
BQ xiI ly Bo nh& Ph6i ghep I Thi€t bi vao.1
trung tAm thanh ghi (Memory) thanh vao/ra
(CPU) / lrong ROM-RAM / .hi ... 1/0) J Thi€t bi fa
·1 I
Bus dja chi
Trong sa do nay ta thay r6 d.e kh6i chue nang ehinh eua h~ vi xir ly g6m:
+ Kh6i xu ly trung ta.m (central proeesing unit, CPU),
+ B9 nho ban dan (memory, M),
+ Kh6i ph6i ghep voi cae thiet bi ngo~i vi (input/output, I/O),
+ cae bus truycn thong tin
Ba kh6i ehue nang duu lien h¢ voi nhau thong qua t~p cae dUCmg day d~ truycn tin hi~u gQi chung HI. bus h¢ thong. Bus' h~ thong bao gam 3 bus thilnh phan. (jng voi d.c trn hi¢u dia chi, du li~u va dicu khi€n ta co bus dia chI, bu:;; du li¢u Va bus dieu khic'n.
CPU dong vai tro chu d<,lo trong h¢ vi xiI 19. Day la m¢t m~ch vi di~n tir co d¢ tfeh hqp rfft cao. Khi hO<,lt d¢ng, no dQc rna I¢nh duqe ghi duai d~ng cae bit o va bit 1 tu b¢ nha, sau do no se giai rna dc l~nh nay thanh day d.e xung dicu khitn ung voi cae thao tac trang l¢nh de dicu khi6'n cac khoi khae thlfe hi¢n tUng bu(1c cae thao tac do. Dt lam duqc vi¢c nay ben trang CPU co thanh ghi dung de chua dja chi cua I¢nh sap thl,fC hi~n gqi la thanh ghi con tro l¢nh (in:;;truction pointer, IP) ho~c b¢ dem chuang tdnh (program counter, PC), m¢t s6 thanh ghi da nang khac cung b¢ t{nh toan s6 hQc va.logie (ALU) de thao tic voi du li¢u. Ngoai ra b day con c6 cac h¢ thong m<,lch di¢n tir rAt phuc t<,lP dt giai rna l¢nh
va tu do t~o ra cae xung dicu khi6'n cho toan h~.
B¢ nha ban dan hay con gQi la b¢ nho trang la m¢t b¢ ph~n rat quan trQng clla h¢ vi xu 19. T<,li day (trong ROM) ta co thci chua chuang trlnh dicu khiin hm.tt d¢ng eua toan h¢ dt khi b~t di~n thl CPU co th~ lay I¢nh tir day rna khbi dau h¢ thong. M¢t phAn cua chuang trlnh dieu khi6n h~ thong, cae chuang tdnh ung dl:lllg, dfr li¢u cung cac ket qua clla chuang trlnh thuong duqc dt trang RAM. Cae dfr li¢u va chuang tdnh muon luu trll lau dai se dugc d€ b b¢
nha ngoai.
Kh6i ph6i ghep vao/ra (I/O) t~o ra khii nang giao tiep gifra h¢ vi xU 19 voi the giai ben ngoai. Cae thiet bi ngo~i vi nhu ban phim. chu¢t, man hlnh, may in, chuy€n dOi sO/luang I~ (D/A converter, DAC) va chuyen deli luang l~/so (AID
converter, ADC), 6 dia tU ... deu lien h~ vai h~ vi xir 1:9 qua b¢ ph~n nay. B¢ ph~n ph6i ghep c~ th€ giua bus h~ thong vaj the gioi ben ngoai thucmg duqc gQi la c6ng. Nhu v~y ta se co d.e c6ng VaG d~ Hiy thong tin tu ngoai VaG va cae e6ng ra de: dua thong tin tu trong h¢ ra ngoai. Tuy theo nhu d.u c~ th~ eua cong vi¢c, cac m<,leh c6ng nay co th~ duqe xAy dl,fng tu cac m~ch logic dan gian ho~e tir cae vi m~ch ehuyen d~ng l~p tdnh duqe.
Bus dja chi thuang c6 til 16, 20, 24 den 32 duong da.y song song chuy~n hU thong tin cua d.c bit dja chi. Khi d9C/ghi b¢ nha CPU se dua ra trcn bus nay dia chi cua 0 nhalien quan. Khii nang phan bi¢t dja chi (s6luqng dja chi cho 0 nha rna CPU co khii nang phan bi¢l duqc) phy. thu¢c van 56 bit cua bus dja chi. Vi dy. neu m¢l CPU co 56 duang day dja chi N = 16 lhi no co khii nang dja chi hoa
N ,.
dUge 2 ~ 65536 ~ 64 Kilo 6 nh6 khac nhau (IK ~ 2 ~ 1024). Khi dge/ghi vdi cbng vao/ra CPU dIng dua ra tren bus d!a chi cac bit dja chi tuang Ung cua c6ng. Trcn SCi d6 kh6i ta de nh~n ra tinh m¢t chieu cua bus dia chi qua chil~u cua mili len. Chi co CPU mai co khil nang duu ra d!u chi trcn bus dja chi (sau nay ta SC
thay con m;:Jch DMAC, m~lch dieu khi6n trao deli du li¢u trlfc tiep giua b¢ nha - thiet bi ngo<;ti vi cilng co kha nang nay).
Bus dfr li~u thuemg co tir 8,16,20,24,32 den 64 duemg day tuy theo Clie b¢ vi xu 19 Cl.1 th~. S6 IUQ'ng duong day nay quyet djnh s6 bit du li¢u rna CPU co kha nang xu 19 cung m¢t 11k. Chieu mui ten tren bus 56 li¢u chi ra dIng day la bus 2 ehieu, nghia la dii Ii~u co tht dL1qc truyen di til CPU (du li~u ra) ho~c
truyen den CPU (dii li¢u vao). Cae phan ti'r co dau ra noi th~ng vai bus dii U¢u deu phai d uQ'c trang bi duu ra 3 tqng thai de co th~ ghep vao dUQ'e va ho~t d¢ng blnh thuang vai bus nay.
Bus dieu khi~n thuang g6m hang chl,lc dL1ang day tin hi¢u khac nhau. M6i tin hi¢u dieu khi~n co m¢t chieu nhat djnh. VI khi ho~t d¢ng CPU dua tin hi¢u dieu khi~n tai cac kh6i khae trong h9, dong thai no Cling nh~n cae tin hi¢u dieu khien til d.c kh6i do de phoi hQ'p hO'.lt d¢ng cua toi'm h¢ ncn cae tin hi¢u nay tren tren hlnh ve dUQ'c th~ hi¢n bai cac dL10ng co mGi ten theo 2 chieu, dieu do khong ph;:H la d€ chi tinh 2 chieu cua m¢t tin hi¢u rna la tinh 2 chieu cua c.ii
nhom tin hi¢u.
Ho~t dOng clla h¢ th6ng vi xu lSi tren cGng co the duQ'C nhin theo m¢t cach khac. Trong khi hO'.lt dOng va t~i m¢t thai di~m nhat dinh, ve m~t chuc nang moi kh6i trong h'; th6ng tren wang dUOIlg vai cac thanh ghi trong (nAm tTOng CPU) h01!c cac thanh ghi ngoai (nam rai rac trong b¢ nha ROM. bO nha RAM va trong kh6i ph6i ghep I/O). Ho~t d¢og cita toan h~ th~c cMt I. s~ ph6i hqp ho~t di)ng cua cac thanh ghi trong va ngoai n6i tItn de thl!C hi~n 51! bi~n d6i dii li~u ho~c SI! trao d6i dii li~u theo cac yeu Call da dinh trL1ac.
Cau hoi va bai taD
1. Chuy~n deli cac 56 sau tlt h~ th~p phan sang h~ nhj pMn; 709; 451; 600; 315,42;
181,99.
2. Chuy~n deli cac 56 sau tll' h~ nhj pMn sang h~ th~p pMn: (1101): (10101): (10011,10): (11100,11). (1101): (10101): (10011,10): (11100,11).