Xem mẫu
§¹i häc quèc gia hµ néi khoa c«ng nghÖ
Gi¸o tr×nh tin häc c¬ së phÇn II
lËp tr×nh hîp ng÷
Vò B¸ Duy
Hµ Néi, th¸ng 1 n¨m 2003
Lêi nãi ®Çu
§©y lµ b¶n th¶o ®Çu tiªn vÒ gi¸o tr×nh hîp ng÷ trong khu«n khæ m«n tin häc c¬ së cho sinh viªn n¨m thø nhÊt khoa C«ng nghÖ.
Môc ®Ých cña m«n häc nµy nh»m cung cÊp cho sinh viªn c¸c hiÓu biÕt vÒ lËp tr×nh hîp ng÷ (Assembly) ë møc ®¬n gi¶n gióp sinh viªn hiÓu kü h¬n xö lý th«ng tin ë møc m¸y.
KiÕn thøc tr×nh bµy trong gi¸o tr×nh nµy sÏ kh«ng ®ñ víi môc ®Ých ®Ó sinh viªn cã thÓ lËp tr×nh hÖ thèng. Th«ng th−êng ®Ó cã thÓ lËp tr×nh ®−îc tèt trªn assembler, thêi gian cÇn thiÕt ph¶i tõ 3 ®ªn 4 ®¬n vÞ häc tr×nh kÓ c¶ lý thuyÕt vµ thùc hµnh. Trong ch−¬ng tr×nh tin häc c¬ së nµy, víi môc ®Ých ®· nªu trªn, thêi l−îng dµnh cho häc phÇn nµy chØ lµ 12 tiÕt häc trªn líp vµ 12 tiÕt thùc hµnh t¹i phßng m¸y.
Do thêi gian kh«ng nhiÒu, sinh viªn khã cã thÓ tiÕp thu thÊu ®¸o mäi kiÕn thøc ®Ó h×nh thµnh kü n¨ng lËp tr×nh tèt trªn assembly. Tµi liÖu nµy gióp sinh viªn hÖ thèng ho¸ l¹i bµi gi¶ng trªn líp. Nh÷ng ai muèn hiÓu kü h¬n cã thÓ ®äc thªm c¸c tµi liÖu kh¸c nh− ®· ®−îc nªu trong tµi liÖu tham kh¶o.
Do thêi gian rÊt gÊp nªn ch¾c ch¾n tµi liÖu cßn nhiÒu khiÕm khuyÕt. Mäi vÊn ®Ò liªn quan ®Õn néi dung xin liªn hÖ víi thµy Vò B¸ Duy, Bé m«n C¸c HÖ thèng th«ng tin .
Mong r»ng tµi liÖu nµy cã thÓ gióp Ých cho sinh viªn khi häc m«n lËp tr×nh hîp ng÷ trong khu«n khæ m«n häc tin häc c¬ së
Ch©n thµnh c¶m ¬n thµy Vò B¸ Duy ®· dµnh nhiÒu c«ng søc ®Ó kip thêi cã mét tµi liÖu cho sinh viªn.
Gi¸o viªn phô tr¸ch m«n häc
§µo KiÕn Quèc
2
I. C¸c thµnh phÇn c¬ b¶n cña m¸y tÝnh
---------------------------------------------------------------------------------------------------Tµi liÖu tham kh¶o: [5-p.99]
Môc ®Ých:
PhÇn nµy giíi thiÖu s¬ l−îc vÒ: CPU, bé nhí, bus vµ liªn kÕt gi÷a chóng. Ho¹t ®éng cña bé vi xö lý.
---------------------------------------------------------------------------------------------------I.1 – KiÕn tróc Von Neumann
Theo c¸ch nh×n logic hÇu hÕt c¸c m¸y tÝnh ®−îc thiÕt kÕ theo nguyªn lý Von Neumann (do Jonh von Neumann ®Ò xuÊt).
Theo kiÕn tróc Von Neumann m¸y tÝnh bao gåm 4 phÇn c¬ b¶n ®ã lµ:
¾ Bé vi xö lý (CPU : Central Processing Unit – khèi xö lý trung t©m) ¾ Bé nhí (Memory),
¾ HÖ th«ng vµo/ra(I/O: Input/Output)
¾ Bus ®Ó kÕt nèi, chuyÓn th«ng tin gi÷a c¸c thµnh phÇn.
§ã lµ kiÕn tróc cã c¸c ®Æc ®iÓm sau:
¾ Bé nhí lµ n¬i l−u tr÷ d÷ liÖu vµ ch−¬ng tr×nh – chóng ta nãi ®Õn bé nhí trong.
¾ Ch−¬ng tr×nh lµ tËp c¸c chØ lÖnh, c¸c chØ lÖnh cña ch−¬ng tr×nh còng lµ 1 d¹ng d÷ liÖu ®−îc m· hãa ®Ó ®iÒu khiÓn ho¹t ®éng cña m¸y tÝnh.
¾ D÷ liÖu lµ c¸c th«ng tin ®−îc c¸c ch−¬ng tr×nh sö dông.
¾ Bé vi xö lý trung t©m (CPU) thùc hiÖn tuÇn tù thao t¸c: lÊy (n¹p) c¸c chØ lÖnh vµ d÷ liÖu(nÕu cÇn thiÕt) tõ bé nhí, gi¶i m· chØ lÖnh vµ thùc hiÖn c¸c t¸c vô cña ch−¬ng tr×nh. Tøc lµ bé vi xö lý lÆp ®i lÆp l¹i qu¸ tr×nh sau:
• n¹p (fetching) c¸c chØ lÖnh tõ bé nhí • gi¶i m· chØ lÖnh
• thùc hiÖn lÖnh
Chu tr×nh xö lý c¸c chØ lÖnh
(Còng cã tµi liÖu quan niÖm r»ng m¸y tÝnh gåm 3 thµnh phÇn: CPU, bé nhí vµ hÖ th«ng I/O)
3
C¸c thµnh phÇn ®−îc g¾n trªn mét b¶ng m¹ch gäi lµ b¶ng m¹ch chñ (main board). Trong ®ã CPU lµ tr¸i tim cña hÖ thèng, trong gi¸o tr×nh nµy chóng ta chØ nãi ®Õn c¸c m¸y tÝnh IBM-PC vµ t−¬ng thÝch (hä c¸c m¸y PC sö dông bé vi xö lý Intel).
I.1.1 – Khèi xö lý trung t©m CPU (Central Processing Unit)
Nh− tªn gäi cña nã, ®©y thµnh phÇn trung t©m cña m¸y tÝnh, nã ®iÒu khiÓn mäi ho¹t ®éng cña m¸y tÝnh, n¬i thùc hiÖn mäi phÐp to¸n c¬ së, qu¶n lý vµ ®iÒu khiÓn c¸c thiÕt bÞ. C¸c thao t¸c mµ CPU cã thÓ thùc hiÖn ®−îc gäi lµ chØ thÞ (chØ lÖnh). Tõ khi xuÊt hiÖn bé vi xö lý cña h·ng Intel ®· ph¸t triÓn qua nhiÒu thÕ hÖ ®ã lµ: 8088, 8086, 80286, 80386,.., Pentium (ta gäi chung lµ hä 80x86), nh−ng vÒ mÆt logic (víi gãc ®é cña chóng ta) bé vi xö lý hä 80x86 bao gåm c¸c thµnh phÇn c¬ b¶n:
¾ Khèi thùc hiÖn EU (Excute Unit) vµ
¾ Khèi giao tiÕp bus BIU (Bus Interface Unit). a. Khèi EU
Trong EU l¹i gåm hai khèi thµnh phÇn ®ã lµ khèi ®iÒu khiÓn CU (Control Unit), khèi sè häc vµ logic ALU (The Arithmetic & Logical Unit ) vµ c¸c thanh ghi.
C¸c thµnh phÇn cña CPU
• Khèi ®iÒu khiÓn(CU): Lµ khèi ®Þnh h−íng (direct) vµ ®iÒu khiÓn c¸c ho¹t ®éng cña c¸c thiÕt bÞ, diÔn dÞch c¸c chØ thÞ, quyÕt ®Þnh lÊy d÷ liÖu thÕ nµo, n¬i l−u kÕt qu¶, ph¸t c¸c tÝn hiÖu ®iÒu khiÓn tíi c¸c thiÕt bÞ yªu cÇu thùc hiÖn chØ thÞ,.. (Chóng ta biÕt ch−¬ng tr×nh lµ tËp c¸c lÖnh, CU diÔn dÞch m· lÖnh ®Ó ph¸t sinh c¸c tÝn hiÖu ®iÒu khiÓn).
4
• Khèi sè häc vµ logic(ALU): Chøc n¨ng cña khèi nµy lµ thùc hiÖn c¸c phÐp to¸n sè häc vµ logic c¬ së. Trong qu¸ tr×nh thùc hiÖn c¸c thao t¸c, ALU lÊy d÷ liÖu tõ n¬i l−u tr÷ t¹m thêi trong CPU ®ã lµ c¸c thanh ghi.
• C¸c thanh ghi: Bªn trong bé vi xö lý gåm cã 14 thanh ghi 16 bit, mçi thanh ghi cã mét c«ng dông kh¸c nhau vµ ®−îc chia 4 nhãm:
¾ C¸c thanh ghi ®a chøc n¨ng:
− AX (Accumulator – thanh ghi tÝch lòy) − BX (Base – thanh ghi c¬ së)
− CX (count – thanh ghi ®Õm) − DX (Data- thanh ghi d÷ liÖu).
Mçi thanh ghi ®a n¨ng l¹i bao gåm 2 (nöa) thanh ghi 8 bit, ®ã lµ AX gåm nöa cao AH, nöa thÊp AL (H, L lµ kÝ tù viÕt t¾t cña High vµ Low). T−¬ng tù BX gåm BH, BL, CX gåm CH, CL, DX gåm DH, DL
C¸c thanh ghi ®a n¨ng
¾ C¸c thanh ghi ®o¹n:
− CS (Code segment - ®o¹n m· lÖnh) − DS (Data segment - ®o¹n d÷ liÖu)
− EX (Extra segment - ®o¹n më réng) − SS(Stack segment- ®o¹n ng¨n xÕp)
¾ Thanh ghi con trá vµ chØ sè:
− SP (Stack pointer – con trá ®Ønh ng¨n xÕp) − BP (Base pointer – con trá c¬ së)
− SI (Source index – chØ sè nguån)
− DI (Destination index – chØ sè ®Ých)
− IP (instruction pointer - thanh ghi trá lÖnh)
¾ Thanh ghi cê (Flags): Thanh ghi cê gåm 16 bit, mçi cê lµ 1 bit ®−îc sö dông ®Ó thÓ hiÖn 1 tr¹ng th¸i cña bé vi xö lý t¹i thêi ®iÓm hiÖn t¹i trong qu¸ tr×nh thùc hiÖn ch−¬ng tr×nh, víi 8086 chØ cã 9 bit (9 cê) ®−îc sö dông.
5
...
- tailieumienphi.vn
nguon tai.lieu . vn