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