Bài giảng kiến trúc máy tính - ĐHCNTT - ĐH thái nguyên

mục lục Trang Chương 1: Kiến trúc máy vi tính pc và đơn vị xử lý trung tâm 3 Chương 2: Tổ chức bộ nhớ trong máy vi tính 39 Chương 3: Các thiết bị điều khiển và giao diện vào ra dữ liệu 48 Chương 4: Thiết bị ngoại vi 92

pdf118 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2061 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng kiến trúc máy tính - ĐHCNTT - ĐH thái nguyên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 1 KHOA C¤NG NGHÖ TH¤NG TIN Bé M¤N Kü THUËT M¸Y TÝNH BµI GI¶NG M¤N HäC: KIÕN TRóC M¸Y TÝNH Gv biªn SO¹N: NguyÔn duy minh PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 2 môc lôc Trang Ch­¬ng 1: KiÕn tróc m¸y vi tÝnh pc vµ ®¬n vÞ xö lý trung t©m 3 Ch­¬ng 2: Tæ chøc bé nhí trong m¸y vi tÝnh 39 Ch­¬ng 3: C¸c thiÕt bÞ ®iÒu khiÓn vµ giao diÖn vµo ra d÷ liÖu 48 Ch­¬ng 4: ThiÕt bÞ ngo¹i vi 92 PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 3 CH¦¥NG 1 KiÕn tróc m¸y vi tÝnh pc vµ ®¬n vÞ xö lý trung t©m 1.1 KiÕn tróc c¬ b¶n cña m¸y tÝnh PC Theo sù ph¸t triÓn cña c«ng nghÖ, c¸c m¸y tÝnh hiÖn nay ®­îc thiÕt kÕ, x©y dùng theo xu h­íng chung lµ; - M¹nh h¬n vª tèc ®é vµ kh¶ n¨ng tÝnh to¸n - Nhá h¬n vÒ kÝch th­íc - TiÕt kiÖm h¬n vÒ n¨ng l­îng §Ó mét hÖ thèng m¸y tÝnh cã thÓ ho¹t ®éng vµ thùc hiÖn c¸c chøc n¨ng ®Æt ra, ngoµi cÊu tróc phÇn cøng cÇn cã thªm c¸c ch­¬ng tr×nh phÇn mÒm (HÖ ®iÒu hµnh, tiÖn Ých, øng dông,….) - PhÇn cøng lµ nh÷ng ®èi t­îng vËt lý h÷u h×nh nh­ b¶n m¹ch chÝnh, æ ®Üa cøng, ®Üa mÒm,….. - PhÇn mÒm bao gåm hÖ ®iÒu hµnh gióp m¸y tÝnh qu¶n lý, vËn hµnh hÖ thèng vµ c¸c ch­¬ng tr×nh øng dông Tæ chøc c¸c khèi chøc n¨ng cña m¸y tÝnh gåm 4 khèi c¬ b¶n sau; - CPU ( Central Processing Unit): Thùc hiÖn c¸c phÐp to¸n, phÐp tÝnh sè häc, phÐp logic, quan hÖ. Khèi nµy gåm c¸c khèi ( ALU, CU, Regs), ngoµi ra cã c¸c khèi FPU, MU - Bé nhí ( MEMORY); thùc hiÖn viÖc l­u tr÷ th«ng tin vµ phôc vô cho qu¸ tr×nh trao ®æi th«ng tin gåm (ROM, RAM) - Khèi phèi ghÐp vµo ra; t¹o kh¶ n¨ng giao tiÕp gi÷a m¸y tÝnh vµ thiÕt bÞ bªn ngoµi - ThiÕt bÞ vµo/ra; ThiÕt bÞ vµo; BiÕn ®æi tÝn hiÖu tù nhiªn hoÆc do con ng­êi t¹o ra sang d¹ng m· m¸y ®Ó bé VXL thùc hiÖn ThiÕt bÞ ra; BiÕn ®æi c¸c m· bªn trong m¸y tÝnh sau khi xö lý ®Ó con ng­êi cã thÓ hiÓu ®­îc hoÆc ®iÒu khiÓn c¸c thiÕt bÞ kh¸c PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 4 C¸c khèi chøc n¨ng ®­îc ghÐp nèi qua hÖ thèng Bus; cã 2 lo¹i hÖ thèng bus hiÖn nay ®ang dïng. - HÖ thèng ®¬n Bus ( kiÕn tróc kinh ®iÓn) - HÖ thèng ®a Bus ( kiÕn tróc hiÖn ®¹i) 1.1.1 KiÕn tróc kinh ®iÓn ( hÖ thèng ®¬n Bus) M« h×nh kinh ®iÓn cña m¸y tÝnh cã s¬ ®å nh­ h×nh vÏ Bao gåm c¸c khèi chøc n¨ng sau: - CPU bé xö lý trung t©m - MEMORY - Ghép nối I/O - Thiết bị I/O C¸c khèi trªn ®­îc ghÐp nèi bëi mét hÖ thèng BUS Đặc điểm Tại một thời điểm chỉ thực hiện một giao dịch. Các thiết bị I/O sẽ đáp ứng yêu cầu của CPU. Đóng vai trò làm bộ điều khiển trung tâm, các lệnh phát ra từ CPU một cách tuần tự, CPU sẽ quyết định chiều Bus Data và Bus điều khiển. Nhược điểm : Tại một thời điểm chỉ thực hiện một giao dịch, do vậy không nâng cao hiệu quả làm việc của CPU. 1.1.2 KiÕn tróc hiÖn ®¹i ( HÖ thèng ®a Bus) PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 5 Tõ nh÷ng nh­îc ®iÓm cña hÖ thèng ®¬n bus hiÖn nay cÊu tróc tæng qu¸t cña m¸y tÝnh ®­îc thiÕt kÕ nh­ h×nh vÏ vµ c¸c ®Æ ®iÓm sau; Tại một thời điểm thực hiện được hai giao dịch cho nªn n©ng cao được hiệu quả tÝnh to¸n, do trong hệ thống cã 2 Bus độc lập nhau, v× thế hệ thống Bus lµ bộ điều khiển th«ng minh (x©y dùng c¸c cầu nối) có biện pháp đồng bộ dữ liệu CPU, Memory bằng xung đồng hồ tín hiệu CLK. Nhược điểm : Cấu tróc hệ thống m¸y tÝnh phức tạp hơn so với m« h×nh kinh điển ( m« h×nh đơn Bus). 1.2 KiÕn tróc m¸y vi tÝnh PCvµ ®¬n vÞ xö lý trung t©m 80286 1.2.1- KiÕn tróc c¬ b¶n m¸y vi tÝnh PC. M¸y vi tÝnh PC ®­îc x©y dùng trªn c¬ së c¸c khèi chøc n¨ng c¬ b¶n (h.29). H×nh 29 Ÿ §¬n vÞ xö lý trung t©m CPU 80286 CPU 80286 lµ lo¹i 16 bÝt (®é réng cña d÷ liÖu hoÆc m· lÖnh lµ 16 bit). Chøc n¨ng chÝnh cña CPU. FD C H D C U A RT 82 50 PP I CR TC K C 80 42 ## # TI M ER 82 54 CM O S M C 14 68 18 PI C 82 59 D M A C 82 37 R O M R A M B U S ®Þ a ch Ø CPU & Co-Processor B U S D ÷ li Öu B U S § iÒ u kh iÓ n PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 6 + Qu¶n lý bé nhí. CPU 80286 cã Bus ®Þa chØ 24bit vµ qu¶n lý ®­îc 24*220 = 16M « nhí vËt lý. + HiÓu vµ xö lý mét tËp h÷u h¹n c¸c lÖnh. - ChuyÓn d÷ liÖu gi÷a CPU vµ bé nhí (MOV, PóH, POP v.v.) - Sè häc vµ logic (ADD, SUB, MUL, DIV v.v...) - Xö lý bit (SHL.SHR.ROL.Rá v.v...) - RÏ nh¸nh (JMP. CALL, RET. INT v.v...) - Vµo/ra d÷ liÖu c¸c cæng (IN, OUT) - C¸c lÖnh kh¸c (CLI. STI v.v...) + Thùc hiÖn ch­¬ng tr×nh theo c¬ chÕ nhËp tuÇn tù tõng lÖnh tõ bé nhí vµ xö lý. + §iÒu khiÓn ho¹t ®éng trao ®æi d÷ liÖu gi÷a CPU vµ bé nhí, gi÷a CPU víi thiÕt bÞ vµo/ra vµ víi c¸c thiÕt bÞ kh¸c. CPU 80286 cã hai chÕ ®é lµm viÖc. + ChÕ ®é thùc: lµ chÕ ®é ho¹t ®éng gièng nh­ CPU.8086. Khi bËt nguån ®iÖn th× CPU ®­îc ®Æt ë chÕ ®é thùc. Trong chÕ ®é nµy CPU qu¶n lý bé nhí vËt lý lín ®Õn 24*216 = 1Mb, vµ cã thÓ më réng ®Õn 16Mb. + ChÕ ®é b¶o vÖ ChÕ ®é b¶o vÖ cung cÊp c¬ chÕ b¶o vÖ bé nhí vµ c«ng cô hç trî qu¶n lý bé nhí ¶o. Trong chÕ ®é nµy CPU qu¶n lý ®­îc 214 * 216 = 230 = 1G « nhí. C¸c CPU tõ 80286 trë vÒ sau ®Òu cã kh¶ n¨ng lµm viÖc ë chÕ ®é nµy. Ÿ Bé ®ång xö lý Bé ®ång xö lý trî gióp CPU xö lý c¸c phÐp tÝnh sè häc cã gi¸ trÞ lµ dÊu chÊm ®éng, c¸c phÐp tÝnh logarit, l­îng gi¸c víi tèc ®é nhanh vµ víi ®é chÝnh x¸c cao. Ÿ Bé nhí chÝnh Bé nhí chÝnh ®­îc hiÓu lµ bé nhí cã tèc ®é truy nhËp cao (bé nhí b¸n dÉn). Bé nhí chÝnh ®­îc tæ chøc kiÓu tuyÕn tÝnh. §Þa chØ cña c¸c « nhí (x¸c ®Þnh vÞ trÝ cña « ®ã trong bé nhí) b¾t ®Çu tõ 0 vµ t¨ng dÇn. Bé nhí chÝnh chøa m· lÖnh ch­¬ng tr×nh vµ d÷ liÖu cña ch­¬ng tr×nh ®ang ch¹y hiÖn thêi. Khi CPU ph¸t ®Þa chØ lªn Bus ®Þa chØ lµ ®Ó truy nhËp bé nhí chÝnh. Bé nhí chÝnh cã hai phÇn ROM vµ RAM. ROM : ROM lµ bé nhí chØ ®äc. D÷ liÖu trong ROM ®­îc duy tr× ngay c¶ khi kh«ng cã nguån ®iÖn nu«i. ROM chøa c¸c phÇn mÒm c¬ b¶n sau: - C¸c ch­¬ng tr×nh kiÓm tra hÖ thèng (qu¸ tr×nh POST): KiÓm tra CPU, kiÓm tra RAM, kiÓm tra c¸c thiÕt bÞ ®iÒu khiÓn vµ giao diÖn, c¸c thiÕt bÞ ngo¹i vi nh­ bµn phÝm, æ ®Üa, v.v... - Ch­¬ng tr×nh x¸c lËp cÊu h×nh hÖ thèng. - Ch­¬ng tr×nh quÐt ROM më réng (T¹i c¸c ®Þa chØ C000 : 0000, D000: 000. NÕu t×m thÊy bÊt kú ROM nµo cã ch­¬ng tr×nh th× nã sÏ ®­îc thùc thi). - Ch­¬ng tr×nh ®äc cung khëi ®éng (mÆt 0, r·nh 0, cung vËt lý 1) cña æ ®Üa khëi ®éng mÆc ®Þnh. BIOS th­êng cho phÐp chän æ ®Üa khëi ®éng mÆc ®Þnh. NÕu khëi ®éng tõ ®Üa mÒm th× cung khëi ®éng (Boot Record) ®­îc ®äc. NÕu PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 7 khëi ®éng tõ æ cøng th× cung khëi ®éng chñ (Master Boot Record-MBR) cña æ ®Üa cøng thø nhÊt ®­îc ®äc. Néi dung cung nµy ®­îc n¹p vµo RAM t¹i ®Þa chØ 0000 : 7C00. CPU ch¹y ch­¬ng tr×nh khëi ®éng hÖ ®iÒu hµnh t¹i ®Þa chØ nµy. ROM cßn chøa c¸c ch­¬ng tr×nh ®iÒu khiÓn c¸c thiÕt bÞ vµo-ra c¬ b¶n cña m¸y tÝnh (BIOS-Basic Input/Output/Output System). BIOS lµ cÇu nèi gi÷a phÇn cøng vµ phÇn mÒm trong hÖ thèng m¸y tÝnh. C¸c ch­¬ng tr×nh ®iÒu khiÓn nµy lu«n g¾n víi cÊu h×nh phÇn cøng cña m¸y tÝnh. Th«ng qua c¸c ch­¬ng tr×nh nµy hÖ ®iÒu hµnh cã thÓ giao diÖn ®­îc víi phÇn cøng cña tõng m¸y tÝnh. RAM: RAM lµ bé nhí thao t¸c. Bé nhí RAM cã chøc n¨ng chøa c¸c phÇn mÒm cña hÖ thèng (hÖ ®iÒu hµnh), phÇn mÒm vµ d÷ liÖu cña mét hoÆc nhiÒu ch­¬ng tr×nh ®ang ho¹t ®éng (ch­¬ng tr×nh øng dông). Ph©n bæ ®Þa chØ cña c¸c vïng chøc n¨ng t¹i vïng nhí ®Çu tiªn nh­ sau: §Þa chØ vËt lý (hexadecimal) §Þa chØ ®o¹n (hexadecimal) Tªn vµ chøc n¨ng vïng nhí 000000 - 09 FFFF 0000 Vïng nhí quy ­íc 640 Kb dµnh cho hÖ ®iÒu hµnh vµ ng­êi sö dông. 0A0000 - 0BFFFF A000 Vïng nhí 128Kb dµnh cho hiÓn thÞ (VIDE0 RAM) 0C0000 - 0DFFFF C000 Vïng nhí 128Kb dù phßng cho ROM më réng (C000.C800.D000, D800) 0E0000-0EFFF E000 Vïng nhí 64Kb dù phßng cho RAM hÖ thèng 0E0000-0EFFF F000 Vïng nhí 64Kb ROM hÖ thèng 0E0000-0EFFF Vïng nhí më réng15Mb Ÿ CMOS ThiÕt bÞ CMOS gåm hai bé phËn chÝnh: ®ång hå thêi gian thùc vµ RAM-CMOS. C¸c thiÕt bÞ nµy ®­îc nu«i b»ng nguån ®iÖn ®éc lËp. §ång hå thêi gian thùc cung cÊp th«ng tin thêi gian thùc; n¨m-th¸ng- ngµy, giê-phót-gi©y. C¸c th«ng tin nµy ®­îc chøa ë 10 byte ®Çu tiªn trong RAM-CMOS. RAM-CMOS: phÇn cßn l¹i cña RAM-CMOS chøa th«ng tin vÒ cÊu h×nh hÖ thèng (kÝch th­íc RAM, c¸c th«ng tin vÒ æ ®Üa tõ, v.v...). ViÖc truy nhËp RAM-CMOS ®­îc thùc hiÖn th«ng qua c¸c cæng víi ®Þa chØ 070h vµ 071h. Ÿ Bé ®Þnh thêi TIMER 8254 Vïng nhí quy ­íc (RAM) VIDEO & ROM Vïng nhí më réng (RAM) §Þa chØ vËt lý 00000h 09FFFFh 0A0000h 0FFFFh 100000h FFFFFFh PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 8 TIMER 8254 gåm cã 3 bé ®Õm nhÞ ph©n 16 bÝt. §©y lµ c¸c bé ®Õm kh¶ tr×nh. C¸c bé ®Õm 16 bÝt trong TIMER 8254 nhËn xung nhÞp tÇn sè 1190MHz tõ m¹ch t¹o xung chuÈn. TIMER 8254 t¹o ra xung nhÞp cho ®ång hå hÖ thèng, xung nhÞp lµm t­¬i DRAM vµ xung ©m thanh cho loa: Bé ®Õm # 0: t¹o xung nhÞp chu kú 55ms (» 18.2 xung/ls) cho ®ång hå hÖ thèng. Bé ®Õm #1: t¹o xung nhÞp kÝch ho¹t hÖ thèng lµm t­¬i DRAM. Bé ®Õm #2: Cho phÐp ng­êi sö dông lËp tr×nh t¹o xung ©m thanh cho loa. Ÿ Bé ®iÒu khiÓn ng¾t PIC8259 (Programmable Interrupt Controller) PIC 8259 lµ thiÕt bÞ ®iÒu khiÓn kh¶ tr×nh. PIC 8259 hç trî CPU thùc hiÖn c¬ chÕ ng¾t cïng cho phÐp CPU ph¶n øng tøc thêi víi yªu cÇu cña c¸c thiÕt bÞ vµo-ra d÷ liÖu vµ c¸c thiÕt bÞ kh¸c. Trong m¸y vi tÝnh dßng AT cã hai thiÕt bÞ PIC 8259, mçi thiÕt bÞ ghi nhËn ®­îc 8 yªu cÇu ng¾t. Ÿ Bé ®iÒu khiÓn truy nhËp trùc tiÕp bé nhí DMAC 8237 (Direct Memory Access Controller) DMAC 8237 lµ thiÕt bÞ ®iÒu khiÓn kh¶ tr×nh. DMAC 8237 ®iÒu khiÓn qu¸ tr×nh vµo/ra d÷ liÖu trùc tiÕp gi÷a bé nhí vµ c¸c thiÕt bÞ ngo¹i vi (vÝ dô: thiÕt bÞ ®Üa tõ), gäi t¾t lµ qu¸ tr×nh DMA (Direct Memory Access). Trong m¸y vi tÝnh dßng AT cã hai thiÕt bÞ DMAC 8237, mçi thiÕt bÞ phôc vô 4 kªnh DMA. Ÿ ThiÕt bÞ giao diÖn bµn phÝm KC 8042 (Keyboard Controller) KC 8042 thùc hiÖn chøc n¨ng giao diÖn gi÷a bµn phÝm vµ ®¬n vÞ xö lý trung t©m CPU.KC 8042 thùc hiÖn giao diÖn kiÓu nèi tiÕp ®ång bé gi÷a CPU vµ bµn phÝm, ph¸t c¸c chØ thÞ vµ nhËn m· phÝm tõ bµn phÝm. ŸThiÕt bÞ giao diÖn mµn h×nh CRTC (Cathode Ray Tube Controller) CRTC lµ thiÕt bÞ kh¶ tr×nh. CRTC thùc hiÖn chøc n¨ng giao diÖn gi÷a CPU vµ mµn h×nh hiÓn thÞ. CRTC nhËn lÖnh vµ d÷ liÖu tõ CPU, t¹o ra tÝn hiÖu ¶nh vµ c¸c tÝn hiÖu ®ång bé ®iÒu khiÓn hiÓn thÞ trªn mµn h×nh. CRTC cã thÓ lµm viÖc ë hai chÕ ®é v¨n b¶n vµ ®å ho¹ mµu. ŸThiÕt bÞ giao diÖn nèi tiÕp UART 8250 (Universal Asynchronous Receiver Transmitter) UART 8250 thùc hiÖn chøc n¨ng giao diÖn kiÓu nèi tiÕp kh«ng ®ång bé gi÷a CPU vµ c¸c thiÕt bÞ ngo¹i vi theo chuÈn RS232.UART 8250 thùc hiÖn chøc n¨ng nhËn vµ ph¸t d÷ liÖu d¹ng nèi tiÕp, t¹o vµ nhËn c¸c tÝn hiÖu b¾t tay víi thÕ giíi bªn ngoµi theo chuÈn RS232. Trong m¸y vi tÝnh dßng AT cã hai thiÕt bÞ UART 8250. ŸThiÕt bÞ giao diÖn song song PPI (Programmable Peripheral Interface) M¹ch PPI thùc hiÖn qu¸ tr×nh giao diÖn song song gi÷a CPU vµ c¸c thiÕt bÞ ngo¹i vi. PPI thùc hiÖn chøc n¨ng nhËn vµ ph¸t d÷ liÖu d¹ng song song, t¹o vµ nh¹n c¸c tÝn hiÖu b¾t tay víi c¸c thiÕt bÞ ngo¹i vi. ŸThiÕt bÞ giao diÖn mÒm FDC (Floppy Disk Controller) FDC thùc hiÖn chøc n¨ng giao diÖn gi÷a CPU vµ thiÕt bÞ ®Üa mÒm. FDC nhËn lÖnh vµ d÷ liÖu tõ CPU hoÆc bé nhí, chuyÓn thµnh d¹ng thÝch hîp ®­a ra thiÕt bÞ ®Üa mÒm vµ ng­îc l¹i. ŸThiÕt bÞ giao diÖn ®Üa cøng HDC (Hard Disk Controller) PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 9 HDC thùc hiÖn chøc n¨ng giao diÖn gi÷a CPU vµ thiÕt bÞ ®Üa cøng theo chuÈn IDE, HDC nhËn d÷ liÖu tõ bé nhí, chuyÓn thµnh d¹ng thÝch hîp ®­a ra thiÕt bÞ ®Üa cøng vµ ng­îc l¹i theo chuÈn IDE. Trong PC hiÖn ®¹i c¸c m¹ch chøc n¨ng nh­ 8254, 8259, 8237, CMOS- RAM, 8250, PPI, 8042, ®iÒu khiÓn IDE, cÇu PCI, v.v... ®­îc tÝch hîp vµo c¸c m¹ch tÝch hîp cì lín (chipset). Kh«ng gian ®Þa chØ c¸c thiÕt bÞ vµo-ra ®­îc ph©n bæ chÆt chÏ. §Þa chØ c¸c cæng vµo-ra (port address) ®­îc ph©n bæ nh­ sau: Vïng ®Þa chØ (hexadecimal-thËp lôc ph©n) ThiÕt bÞ 000 - 01F Bé ®iÒu khiÓn DMAC-1 8237 020 - 03F Bé ®iÒu khiÓn ng¾t PIC-1 8259, chñ 040 - 043 Bé ®Þnh thêi 8254 060 - 064 ThiÕt bÞ ®iÒu khiÓn giao diÖn bµn phÝm KC 8042 070 - 071 CMOS-RAM-§ång hå thêi gian thùc 080 - 09F Thanh ghi trang DMA 0A0 - 0BF Bé ®iÒu khiÓn ng¾t PIC-2 8259, thî 0C0 - 0DF Bé ®iÒu khiÓn DMAC-2 8237 0F8 - 0FF Bé ®ång xö lý 80´87 170 - 177 ThiÕt bÞ ®iÒu khiÓn giao diÖn IDE-1 1F0 - 1F7 ThiÕt bÞ ®iÒu khiÓn giao diÖn IDE-0 200 - 207 ThiÕt bÞ giao diÖn ®iÒu khiÓn trß ch¬i 278 - 27F ThiÕt bÞ giao diÖn song song 2 (cæng m¸y in LPT2) 2F8 - 2FF ThiÕt bÞ giao diÖn nèi tiÕp 2 (cæng nèi tiÕp COM2) 300 - 31F Card thö nghiÖm 378 - 37F ThiÕt bÞ giao diÖn song song 1 (cæng m¸y in LPT1) 380 - 38F Dù phßng 3A0 - 3AF Dù phßng 3B0 - 3BF ThiÕt bÞ giao diÖn mµn h×nh ®¬n s¾c 3C0 - 3CF Dù phßng 3D0 - 3DF ThiÕt bÞ giao diÖn mµn h×nh VGA 3F0 - 3F7 ThiÕt bÞ giao diÖn ®Üa mÒm FDC 3F8 - 3FF ThiÕt bÞ giao diÖn nèi tiÕp 1(cæng nèi tiÕp COM1) PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 10 1.2.1- §¬n vÞ xö lý trung t©m. a- CÊu h×nh bªn ngoµi: §¬n vÞ xö lý trung t©m 80286 cña m¸y vi tÝnh PC/AT cã c¸c ch©n tÝn hiÖu nh­ h×nh trªn. - CLK: tÝn hiÖu xung t¹o nhÞp thêi gian c¬ së cho ®¬n vÞ xö lý trung t©m. - RST: tÝn hiÖu khëi ®éng hÖ thèng. - A23-A0: BUS ®Þa chØ (24 tÝn hiÖu ®Þa chØ, 3 tr¹ng th¸i) x¸c ®Þnh ®Þa chØ bé nhí vµ c¸c thiÕt bÞ vµo-ra. KÝch th­íc tèi ®a cña bé nhí vËt lý lµ 224 = 16Mb. Khi CPU lµm viÖc víi c¸c cæng vµo-ra th× c¸c ch©n A23-A16 cã møc 0, c¸c d©y A15-A0 ®­îc dïng ®Ó x¸c ®Þnh ®Þa chØ 64Kb cæng vµo-ra. - D15-DO: BUS d÷ liÖu 16 bÝt, hai chiÒu, 3 tr¹ng th¸i. C¸c tÝn hÖu ®iÒu khiÓn. - HOLD: yªu cÇu CPU "th¶ næi" hÖ thèng BUS. - HLDA: tr¶ lêi "HOLD". Khi HLDA tÝch cùc th× c¸c ®Çu Ao-A23, Do-D15 vµ mét sè ®Çu tÝn hiÖu ®iÒu khiÓn kh¸c cã trë kh¸ng cao, CPU bÞ c¸ch ly víi thÕ giíi bªn ngoµi. - LOCK: cÊm c¸c mP kh¸c lµm chñ BUS. - INT: tÝn hiÖu yªu cÇu ng¾t cøng. Yªu cÇu ng¾t cã thÓ bÞ che khi bit cê IF trong thanh ghi FLAGS ®­îc ®Æt xuèng 0. - COD/-INTA: møc tÝch cùc thÊp lµ tÝn hiÖu tr¶ lêi ng¾t. - NMI: yªu cÇu ng¾t kh«ng che ®­îc b»ng cê IF. - PEREQ: tÝn hiÖu tõ bé ®ång xö lý lµ mét to¸n h¹ng ®· ®­îc göi. - ERROR: tÝn hiÖu tõ bé ®ång xö lý b¸o bËn. - BUSY: tÝn hiÖu tõ bé ®ång xö lý b¸o bËn. - C¸c tÝn hiÖu x¸c ®Þnh chu kú BUS: CLK READY RST - SO - S1 MI-10 INT COD-INTA NMI - BHE HOLD -ERROR HLDA -BUSY -LOCK -PEACK FEREQ VCC GND A23-AO D15-DO PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 11 COD/-INTA M/-IO SI SO Chu kú BUS 0 0 0 0 Tr¶ lêi ng¾t INTA 0 1 0 1 MRD 0 1 1 0 MWR 1 0 0 1 IORD 1 0 1 0 IOWR 1 1 0 1 NhËn lÖnh b. CÊu tróc bªn trong CPU 80286 ®­îc cÊu thµnh tõ 4 ®¬n vÞ chÝnh (h.31) H×nh 31 Ÿ §¬n vÞ BUS BU BU bao gåm c¸c ®Öm ®Þa chØ, ®iÒu khiÓn vµ d÷ liÖu. BU thùc hiÖn giao diÖn BUS, t¹o ra vµ nhËn vµo c¸c tÝn hiÖu ®Þa chØ, ®iÒu khiÓn vµ d÷ liÖu, nhËp lÖnh tõ bé nhí vµo hµng ®îi. Ÿ §¬n vÞ lÖnh IU IU gåm bé gi¶i m· lÖnh vµ hµng ®îi lÖnh ®· gi¶i m·. §¬n vÞ lÖnh IU thùc hiÖn gi¶i m· lÖnh vµ ®­a vµo hµng ®îi. Ÿ §¬n vÞ thùc hiÖn EU EU bao gåm ®¬n vÞ ®iÒu khiÓn, c¸c thanh ghi vµ ®¬n vÞ sè häc - logic, EU thùc hiÖn lÖnh ®· ®­îc gi¶i m·. Bé t¹o ®Þa chØ vËt lý C¸c thanh ghi CS, DS, SS, ES Bé céng offset CU ALU EU (®¬n vÞ thùc hiÖn) EU (®¬n vÞ thùc hiÖn) Hang d¬i lÖnh ®· gi¶i m· EU (®¬n vÞ lÖnh) Gi¶i m· lÖnh ID C¸c thanh ghi AX, BX, CX, DX, SI, DI, BP, SP, IP, FLAGS Hµng ®îi lÖnh §Öm BUS d÷ liÖu §iÒu khiÓn BUS §Öm BUS ®Þa chØ BU (®¬n vÞ BUS) A23-AD S1.S0,v.v. D15-D0 PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 12 Ÿ §¬n vÞ ®Þa chØ AU §¬n vÞ ®Þa chØ AU gåm c¸c thanh ghi ®o¹n, c¸c thanh ghi trong chÕ ®é b¶o vÖ, bé céng ®Þa chØ offset, bé t¹o ®Þa chØ vËt lý tõ ®Þa chØ logic. AU qu¶n lý bé nhí trong c¶ hai chÕ ®é lµm viÖc: chÕ ®é thùc vµ chÕ ®é b¶o vÖ. CPU 80286 thùc hiÖn lÖnh theo kü thuËt ®­êng èng (pipeline). 1.2.3- Qu¶n lý bé nhí trong chÕ ®é thùc vµ c¸c thanh ghi ®o¹n Trong chÕ ®é thùc bé nhí ®­îc qu¶n lý theo c¬ chÕ ph©n ®o¹n (segmentation). C¬ chÕ qu¶n lý bé nhí theo ph©n ®o¹n lµ c¬ chÕ táng ®ã bé nhí ®­îc ®Þnh vÞ vµ gi¸m s¸t theo ®o¹n. Trong c¬ chÕ ph©n ®o¹n mçi mét ch­¬ng tr×nh kh«ng ®­îc xem lµ mét chuçi liªn tôc cña m· lÖnh vµ d÷ liÖu mµ ®­îc chia thµnh c¸c modul m· lÖnh, d÷ liÖu, ng¨n xÕp v.v... Mçi modul ®­îc chøa trong mét ®o¹n nhí vµ cã mét ®Þa chØ x¸c ®Þnh. ë CPU 16 bÝt mçi mét ®o¹n cã kÝch th­íc 64Kb. HÖ ®iÒu hµnh cã thÓ ®Æt c¸c modul cña ch­¬ng tr×nh ë bÊt kú chç nµo trong bé nhí vËt lý ®o¹n nhí sÏ mang tªn cña lo¹i modul nã chøa. Cã 4 lo¹i ®o¹n kh¸c nhau: + §o¹n m· lÖnh (code segment): chøa m· lÖnh cña ch­¬ng tr×nh. + §o¹n d÷ liÖu (data segment): chøa d÷ liÖu cña ch­¬ng tr×nh. + §o¹n ng¨n xÕp (stack segment): lµ ®o¹n chøa c¸c th«ng tin vµ d÷ liÖu phôc vô chu¬ng tr×nh con. + §o¹n më réng (extra segment): chøa d÷ liÖu më réng. Mçi ®o¹n cã mét ®Þa chØ gäi lµ ®Þa chØ ®oan. CPU cã phÇn cøng hç trî viÖc qu¶n lý vµ truy nhËp c¸c ®o¹n, ®ã lµ c¸c thanh ghi ®o¹n 16 bit CS, DS, SS, ES: Trong chÕ ®é thùc thanh ghi ®o¹n chøa ®Þa chØ ®o¹n. Thanh ghi CS chøa ®Þa chØ ®o¹n m· lÖnh, thanh ghi DS chøa ®Þa chØ ®o¹n d÷ liÖu, thanh ghi SS chøa ®Þa chØ ®o¹n ng¨n xÕp, thanh ghi ES chøa ®Þa chØ ®o¹n më réng (h.32). DS CS SS ES PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 13 §Þa chØ ®o¹n x¸c ®Þnh vÞ trÝ cña ®o¹n trong bé nhí. Ta nhËn ®­îc ®Þa chØ nÒn cña ®o¹n vËt lý (®Þa chØ vËt lý cña « nhí ®Çu tiªn cña ®o¹n) b»ng c¸ch dÞch tr¸i ®Þa chØ ®o¹n ®i 4 bit vµ ®iÒn c¸c sè 0 vµo 4 bÝt thÊp nhÊt. Mçi mét « nhí trong mçi ®o¹n ®­îc ®Þnh vÞ b»ng mét cÊp con sè: ®Þa chØ ®o¹n vµ ®Þa chØ offset (®Þa chØ lÖnh), trong ®ã ®Þa chØ offset lµ con sè x¸c ®Þnh vÞ trÝ cña « nhí so víi nÒn ®o¹n. CÆp sè nµy ®­îc gäi lµ ®Þa chØ logic cña « nhí. §Þa chØ logic cña mét « nhí th­êng ®­îc biÓu diÔn ë d¹ng: §Þa chØ ®o¹n: §Þa chØ offset Thanh ghi IP chøa ®Þa chØ offset cña « nhí trong ®o¹n m· lÖnh chøa lÖnh CPU cÇn nhËp. Thanh ghi SP chøa ®Þa chØ offset cña « ®Ønh ng¨n xÕp trong ®o¹n ng¨n xÕp Khi truy nhËp c¸c ®o¹n d÷ liÖu ng­êi lËp tr×nh cÇn x¸c ®Þnh ®Þa chØ offset cña c¸c « nhí b»ng c¸c ph­¬ng ph¸p x¸c ®Þnh ®Þa chØ (cßn gäi lµ c¸c ph­¬ng ph¸p ®Þnh vÞ) to¸n h¹ng. H×nh 32 Trong chÕ ®é thùc c¸ch tÝnh ®Þa chØ vËt lý cña « nhí trong bé nhí vËt lý ®­îc thùc hiÖn theo ph­¬ng ph¸p nh­ h×nh 33 sau: CS DS ES SS CS : 0000h 15 0 §Þa chØ thÊp IP Kho¶ng c¸ch DS : 0000h DS : offset ES : 0000h ES : offset SS : 0000h SP NÒn ®o¹n d÷ liÖu §o¹n m· lÖnh 64K NÒn ®o¹n d÷ liÖu §o¹n m· lÖnh 64K NÒn ®o¹n më réng §o¹n më réng NÒn ®o¹n ng¨n xÕp §o¹n ng¨n xÕp §Þa chØ cao §¸y ng¨n xÕp PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 14 H×nh 33 C«ng thøc tÝnh: §Þa chØ vËt lý = §Þa chØ ®o¹n *16 + §Þa chØ offset 1.2.4- C¸c thanh ghi C¸c thanh ghi lµ c¸c ®¬n vÞ l­u tr÷ d÷ liÖu n»m trong CPU. Chóng ®­îc dïng ®Ó chøa c¸c to¸n h¹ng cña lÖnh. Ÿ C¸c thanh ghi ®a n¨ng AX, BX, CX, DX AX, BX, CX, DX lµ c¸c thanh ghi ®a n¨ng 16 bit, ®­îc dïng ®Ó chøa c¸c to¸n h¹ng cña lÖnh hoÆc c¸c kÕt qu¶ cña phÐp tÝnh. C¸c thanh ghi BX, CX, DX cßn cã c¸c chøc n¨ng mÆc ®Þnh riªng trong mét sè ng÷ c¶nh cô thÓ. Cã thÓ truy nhËp tõng thanh ghi nµy nh­ lµ c¸c thanh ghi 16 bit AX, BX, CX, DX hoÆc nh­ c¸c thanh ghi 8 bit AH, AL, BH, BL, CH, CL, DH, DL... AX AH AL BX BH BL CX CH CL DX DH DL - AX (Accumulator): lµ thanh ghi ®a n¨ng 16 bit AX ®­îc dïng ®Ó chøa to¸n h¹ng hoÆc kÕt qu¶ phÐp tÝnh. Khi gäi c¸c hµm chøc n¨ng cña hÖ ®iÒu hµnh qua lÖnh INT, thanh ghi AX hoÆc AH ®­îc dïng ®Ó chøa con sè x¸c ®Þnh mét chøc n¨ng cô thÓ cÇn thùc hiÖn cña hµm nµy. 0 §Þa chØ ®o¹n (CS, DS, ES, SS) 0 0 0 0 §Þa chØ offset 16 bit (IP, SP, d.c. OFFSET) 19 §Þa chØ vËt lý 19 0 + 15 8 7 0 PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 15 - BX (Base): lµ thanh ghi ®a n¨ng 16 bit. BX ®­îc dïng ®Ó chøa to¸n h¹ng hoÆc kÕt qu¶ phÐp tÝnh. Khi thùc hiÖn c¸c lÖnh truy nhËp ®o¹n d÷ liÖu, BX ®­îc dïng ®Ó x¸c ®Þnh ®Þa chØ offset hoÆc ®Þa chØ offset nÒn cña « nhí trong ®o¹n. - CX (Counter): lµ thanh ghi ®a n¨ng 16 bit CX ®­îc dïng ®Ó chøa to¸n h¹ng hoÆc kÕt qu¶ phÐp tÝnh. Khi thùc hiÖn c¸c lÖnh LOOP hoÆc REP, CX ®ãng vai trß mét bé ®Õm (chøa sè ®Õm), x¸c ®Þnh sè lÇn thùc hiÖn lÆp. - DX (Data): lµ thanh ghi ®a n¨ng 16 bit DX cßn ®­îc dïng ®Ó chøa hai byte cao kÕt qu¶ phÐp nh©n hoÆc phÇn d­ cña phÐp chia 16 bit. Khi tuy nhËp c¸c cæng vµo/ra cã ®Þa chØ lín h¬n 255, DX ®­îc dïng ®Ó chøa ®Þa chØ (x¸c ®Þnh ®Þa chØ) c¸c c«ng nµy. Ÿ C¸c thanh ghi ®Þa chØ BP, SI, DI, SP: lµ c¸c thanh ghi 16 bit BP SI DI SP - SP (Base Pointer): BP ®­îc dïng ®Ó x¸c ®Þnh ®Þa chØ offset hoÆc ®Þa chØ offset nÒn cña « nhí khi thùc hiÖn c¸c lÖnh truy nhËp c¸c ®o¹n d÷ liÖu. BP th­êng ®­îc dïng ®Ó x¸c ®Þnh ®Þa chØ offset hoÆc ®Þa chØ offset nÒn khi truy nhËp ®o¹n ng¨n xÕp. - SI (Source Index) : SI ®­îc dïng ®Ó chøa (x¸c ®Þnh) ®Þa chØ offset hoÆc mét phÇn cña ®Þa chØ offset khi truy nhËp ®o¹n d÷ liÖu. SI th­êng ®­îc dïng ®Ó chøa ®Þa chØ offset cña x©u ký tù trong ®o¹n d÷ liÖu (DS : SI) khi thùc hiÖn lÖnh thao t¸c x©u. - DI (Destination Index) : DI ®­îc dïng ®Ó chøa (x¸c ®Þnh) ®Þa chØ offset hoÆc mét phÇn cña ®Þa chØ offset khi truy nhËp ®o¹n d÷ liÖu. DI th­êng ®­îc dïng ®Ó chøa ®Þa chØ offset cña x©u ký tù trong ®o¹n më réng (ES: SD khi thùc hiÖn lÖnh thao t¸c x©u. PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 16 - SP (Stack Pointer) : Con trá ng¾n xÕp SP chøa ®Þa chØ offset cña « nhí trong ®o¹n ng¨n xÕp. SP lu«n trá ®Õn ®Ønh ng¨n xÕp. Ÿ C¸c thanh ghi ®iÒu khiÓn vµ tr¹ng th¸i. 15 0 SI DI SP - Con trá lÖnh IP (In struction Pointer): lµ thanh ghi 16 bit IP chøa ®Þa chØ offset cña « nhí trong ®o¹n m· lÖnh. Khi nhËp lÖnh th× IP tù ®éng t¨ng dÇn vµ khi CPU nhËp xong mét lÖnh th× IP trá ®Õn « nhí chøa lÖnh tiÕp theo trong ®o¹n m· lÖnh. Néi dung IP bÞ thay ®æi bÊt th­êng khi CPU thùc lÖnh nh¶y, lÖnh gäi ch­¬ng tr×nh con hoÆc bëi c¸c c¬ chÕ ng¾t cøng vµ mÒm. Ÿ Thanh ghi cê FLAGS : lµ thanh ghi 16 bit Thanh ghi cê FLAGS chøa c¸c bÝt th«ng tin ph¶n ¸nh tr¹ng th¸i cña kÕt qu¶ phÐp tÝnh. Mét sè bit cê nh­ IF, TF, IOPL ¶nh h­ëng ®Õn ho¹t ®éng cña CPU. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 NT IOPL OF DF IF TF SF ZF AF PF CF Kh«ng thÓ t¸c ®éng trùc tiÕp vµo toµn bé thanh ghi cê mµ chØ cã thÓ t¸c ®éng vµo mét sè bit cê qua c¸c lÖnh CLC, STC, CLI, STI, CLD, STD. - CF (Carry Flag) : cê nhí NÕu cã hiÖn t­îng nhí tõ bit cao nhÊt khi thùc hiÖn phÐp tÝnh th× CF = 1. C¸c lÖnh CLC, STC vµ c¸c lÖnh dÞch bit, quay vßng ¶nh h­ëng tíi cê nµy - PF (Parity Flag) : cê kiÓm tra ch½n lÎ NÕu l­îng c¸c bit 1 trong kÕt qu¶ ch½n th× PF = 1. - AF(Auxiliary Flags) : cê nhí phô. Cê AF ®­îc sö dông trong c¸c phÐp tÝnh sè häc víi c¸c sè BCD (Binary Co®e Decimal). NÕu cã nhí hay cã m­în ®èi víi 4 bit thÊp th× AF = 1 - ZF (Zero Flag) : cê zero PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 17 NÕu kÕt qu¶ phÐp tÝnh b»ng kh«ng th× ZF = 1. - SF (Sign Flag): cê dÊu NÕu kÕt qña ©m (bÝt cao nhÊt cña kÕt qu¶ cã gi¸ trÞ 1) th× SF = 1 - TF (Trap Flag) : cê b¶y NÕu TF = 1, CPU ®­îc ®Æt ë chÕ ®é ch¹y tõng lÖnh phôc vô hiÖu chØnh ch­¬ng tr×nh (debug). Trong chÕ ®é nµy mçi lÖnh khi ®­îc thùc hiÖn xong sÏ g©y ra mét ng¾t logic (ng¾t 01H) kÝch ho¹t ch­¬ng tr×nh hiÖu chØnh. - IF (Interrupt Flag) : cê ng¾t NÕu IF = 1, cho phÐp CPU ph¶n øng víi tÝn hiÖu b¸o ng¾t INT. Dïng lÖnh CLI hoÆc ST1 t¸c ®éng ®­îc vµo cê nµy. - DF (Direction Flag): cê h­íng DF x¸c ®Þnh h­íng t¨ng hoÆc gi¶m cña c¸c thanh ghi SI. DI khi thùc hiÖn c¸c lÖnh thao t¸c x©u ký tù. NÕu DF = 1 th× SI vµ DI gi¶m. NÕu DF = 0 th× SI vµ DI t¨ng Dïng lÖnh STD vµ CLD t¸c ®éng ®­îc vµo bÝt cê nµy. - OF (Overfl¬ Flag) : cê trµn OF ®­îc dïng trong c¸c phÐp tÝnh sè häc dÊu chÊm ®éng. OF = 1 nÕu kÕt qu¶ qu¸ lín hoÆc qu¸ nhá, v­ît qu¸ kh¶ n¨ng biÓu diÔn cña m¸y tÝnh (bÞ trµn). - Hai cê NT vµ IOPL (I/O Privilªg Level) chØ ®­îc dïng trong chÕ ®é b¶o vÖ. Ÿ Thanh ghi tr¹ng th¸i m¸y (MSW) 15 4 3 2 1 0 TS EM MP PE - PE (Protected Mode Enable) cho phÐp chÕ ®é b¶o vÖ. NÕu PE = 1 : cho phÐp CPU lµm viÖc ë chÕ ®é b¶o vÖ. Khi khëi ®éng m¸y tÝnh th× PE = 0. - MP (Monitor CoProcessor): MP ®­îc dïng ®Ó ®ång bé ho¹t ®éngcña CPU vµ bé ®ång xö lý. - EM (Emulation) EM = 0 cho phÐp thùc hiÖn c¸c m· lÖnh dÊu ph¶y ®éng trªn bé ®ång xö lý. PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 18 EM = 1 khi CPU gÆp m· lÖnh lÖnh dÊu phÈy ®éng sÏ sinh ra ngo¹i tÖ kÝch ho¹t ch­¬ng tr×nh thùc hiÖn phÐp tÝnh dÊu chÊm ®éng (ch­¬ng tr×nh m« pháng bé ®ång xö lý). - TS (Task Switch) dïng ë chÕ ®é ®a nhiÖm. LÖnh LMSW t¸c ®éng ®­îc vµo thanh ghi nµy. 1.2.5- ChÕ ®é b¶o vÖ vµ qu¶n lý bé nhí trong chÕ ®é b¶o vÖ. ChÕ ®é b¶o vÖ (Protected Mode) ®­îc thiÕt kÕ cho CPU dßng Intel tõ 80286 cho ®Õn c¸c CPU 32 bÝt sau nµy. ChÕ ®é b¶o vÖ ®­îc thiÕt kÕ ®Ó hç trî hÖ ®iÒu hµnh ®a nhiÖm, c¸ch ly vµ b¶o vÖ hÖ ®iÒu hµnh khái nh÷ng truy nhËp tr¸i phÐp cña c¸c ch­¬ng tr×nh øng dông, c¸ch ly vµ b¶o vÖ ch­¬ng tr×nh øng dông nµy khái sù truy nhËp tr¸i phÐp cña ch­¬ng tr×nh øng dông kh¸c. 1.2.5.1- C¸c møc ®Æc quyÒn vµ luËt vÒ quyÒn truy nhËp. Trong chÕ ®é b¶o vÖ th× mçi ®o¹n nhí ®­îc gÇn mét møc ®Æc quyÒn vµ ®­îc b¶o vÖ nhê c¬ chÕ vÒ quyÒn truy nhËp. C¸c møc ®Æc quyÒn ®­îc thiÕt kÕ ®Ó hç trî ho¹t ®éng cña hÖ ®iÒu hµnh ®a nhiÖm nh»m: + C¸ch ly vµ b¶o vÖ hÖ ®iÒu hµnh khái c¸c truy nhËp tr¸i phÐp cña ch­¬ng tr×nh øng dông. + C¸ch ly vµ b¶o vÖ ch­¬ng tr×nh øng dông nµy khái sù truy nhËp tr¸i phÐp cña ch­¬ng tr×nh øng dông kh¸c. Dùa vµo møc ®Æc quyÒn vµ luËt vÒ quyÒn truy nhËp mµ CPU sÏ quyÕt ®Þnh cho phÐp hay kh«ng cho phÐp truy nhËp ®o¹n nhí yªu cÇu. C¸c møc ®Æc quyÒn (ký hiÖu lµ PL - Privilªg Level) n»m trong mét hÖ thèng c¸c møc ®Æc quyÒn 4 cÊp. + §Æc quyÒn møc PL = 0, møc ®Æc quyÒn cao nhÊt. Møc ®Æc quyÒn PL = 0 ®­îc g¾n cho c¸c ch­¬ng trr×nh qu¶n lý thiÕt bÞ vµ qu¶n lý bé nhí. + §Æc quyÒn møc PL = 1. Møc ®Æc quyÒn PL = 1 ®­îc g¾n cho c¸c ch­¬ng tr×nh thiÕt lËp møc ­u tiªn gi÷a c¸c nhiÖm vô, ch­¬ng tr×nh hoµn ®æi d÷ liÖu gi÷a bé nhí chÝnh vµ bé nhí thø cÊp (®Üa tõ, ch­¬ng tr×nh qu¶n lý c¸c cæng vµo/ra vµ c¸c dÞch vô hÖ thèng kh¸c. + §Æc quyÒn møc PL = 2. Møc ®Æc quyÒn PL = 2 ®­îc g¾n cho c¸c ch­¬ng tr×nh qu¶n lý tÖp, th­ môc vµ c¸c chøc n¨ng më réng cña hÖ ®iÒu hµnh. + §Æc quyÒn møc PL = 3 møc thÊp nhÊt møc ®Æc quyÒn PL = 3 ®­îc g¸n cho c¸c ch­¬ng tr×nh øng dông. PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 19 C¸c luËt vÒ quyÒn truy nhËp: luËt vÒ quyÒn truy nhËp x¸c ®Þnh quy t¾c truy nhËp ®o¹n nhí. LuËt I: D÷ liÖu ®­îc l­u tr÷ trong ®o¹n nhí coa møc ®Æc quyÒn PL = P chØ cã thÓ bÞ truy nhËp bëi m· lÖnh cã møc ®Æc quyÒn b»ng hoÆc cao h¬n P (CPL £ DPL, CPL lµ møc ®Æc quyÒn cña nhiÖm vô ®ang thùc hiÖn, DPL lµ møc ®Æc quyÒn cña ®o¹n d÷ liÖu bÞ truy nhËp. LuËt 2: §o¹n m· lÖnh cã møc ®Æc quyÒn PL = P cã thÓ bÞ gäi hoÆc truy nhËp bëi nhiÖm vô cã møc ®Æc quyÒn b¾c hoÆc thÊp h¬n P. ®o¹n m· lÖnh cã møc ®Æc quyÒn thÊp cã thÓ gäi hoÆc truy nhËp ®o¹n m· lÖnh cã møc ®Æc quyÒn cao h¬n th«ng qua cæng gäi. Theo c¸c luËt vÒ quyÒn truy nhËp th× ch­ong tr×nh dang thùc hiÖn cã thÓ truy nhËp tù do vµo c¸c ®o¹n m· lÖnh vµ ®o¹n d÷ liÖu cã cïng møc ®Æc quyÒn. Mét ch­¬ng tr×nh cã thÓ truy nhËp vµo mét ®o¹n d÷ liÖu cã møc ®Æc quyÒn thÊp h¬n, nh­ng nÕu truy nhËp hoÆc gäi ®o¹n m· lÖnh cã møc ®Æc quyÒn cao h¬n th× ph¶i th«ng qua cæng gäi. 1.2.5.2- Qu¶n lý bé nhí theo ph©n ®o¹n trong chÕ ®é b¶o vÖ. C¸c ®o¹n nhí trong chÕ ®é b¶o vÖ ®­îc qu¶n lý theo ba th«ng sè: + §Þa chØ nÒn + Giíi h¹n ®o¹n + QuyÒn truy nhËp. Do th«ng tin vÒ c¸c ®o¹n kh¸ lín nªn kh«ng thÓ chøa trong thanh ghi ®o¹n mµ ®­îc chøa trong c¸c bé m« t¶ ®o¹n. C¸c bé m« t¶ ®o¹n n»m trong b¶ng bé m« t¶. Cã ba lo¹i b¶ng bé m« t¶. - B¶ng bé m« t¶ toµn côc GDT (b¶ng GDT - Global Descriptor Table). B¶ng GDT qu¶n lý c¸c ®o¹n (c¸c vïng nhí) chøa c¸c ch­¬ng tr×nh cña hÖ ®iÒu hµnh vµ d÷ liÖu cña hÖ thèng (c¸c vïng nhí chøa c¸c th«ng tin cã tÝnh chÊt toµn côc, thuéc kh«ng gian nhí toµn côc). C¸c ch­¬ng tr×nh øng dông cã thÓ truy nhËp vïng nhí nµy. + B¶ng bé m« t¶ côc bé LDT (b¶ng LDT - Local Desriptor Table). Mçi b¶ng LDT qu¶n lý c¸c vïng nhí thuéc mét nhiÖm vô (c¸c vïng nhí chøa c¸c th«ng tin cã tÝnh chÊt côc bé, thuéc kh«ng gian nhí côc bé). M· lÖnh vµ d÷ liÖu cña mét nhiÖm vô ®ang ch¹y sÏ ®­îc b¶o vÖ tr­íc sù truy nhËp tr¸i thÐp cña c¸c nhiÖm vô kh¸c. C¸c b¶ng LDT thuéc kh«ng gian nhí toµn côc. PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 20 + B¶ng bé m« t¶ ng¾t (b¶ng IDT - Interrupt Descriptor Table). B¶ng IDT chøa c¸c bé m« t¶ trá ®Õn 256 ch­¬ng tr×nh phôc vô ng¾t. B¶ng IDT ®ãng vai trß b¶ng vect¬ ng¾t, trong ®ã mçi vÐc t¬ ng¾t lµ mét bé m« t¶. TÊt c¶ c¸c B¶ng bé m« t¶ ®Òu n»m trong bé nhí chÝnh. a) Bé chän ®o¹n 16 bÝt Trong chÕ ®é b¶o vÖ c¸c thanh ghi ®o¹n CS, DS, ES, SS kh«ng ®­îc dïng ®Ó x¸c ®Þnh ®Þa chØ nÒn ®o¹n nh­ trong chÕ ®é thùc, mµ ®­îc dïng ®Ó chän bé m« t¶ ®o¹n trong B¶ng bé m« t¶, thùc hiÖn chøc n¨ng Bé chän ®o¹n. Bé chän ®o¹n ®­îc dïng ®Ó x¸c ®Þnh vÞ trÝ cña Bé m« t¶ ®o¹n trong B¶ng bé m« t¶. Ng­êi lËp tr×nh ph¶i n¹p Bé chän ®o¹n vµo thanh ghi ®o¹n t­¬ng øng khi muèn truy nhËp mét ®o¹n nµo ®ã. Bé chän ®o¹n cã ba phÇn (h.34): + PhÇn Index: 13 bÝt, dïng ®Ó x¸c ®Þnh vÞ trÝ cña Bé m« t¶ ®o¹n, tÝnh tõ nÒn cña B¶ng bé m« t¶. + TI : x¸c ®Þnh lo¹i B¶ng bé m« t¶ cÇn truy nhËp. TI = 1 truy nhËp c¸c b¶ng LDT TI = 0 truy nhËp b¶ng GDT + RPL (Requested Privilege Level) : møc ®Æc quyÒn yªu cÇu. Møc ®Æc quyÒn RPL ®­îc sinh ra bëi ng­êi n¹p bé chän ®o¹n. H×nh 34 b) Bé m« t¶ ®o¹n n 0 0 ... 1 0 1 RPL Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n B¶ng LDT Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n ÷ Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n Bé m« t§TLT B¶ng GDT Bé m« t¶ LDT Bé m« t¶ TSS ÷ TI = 1 TI = 1 Index Bé chän ®o¹n CS, DS, ES, SS PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 21 Bé m« t¶ ®o¹n chøa c¸c th«ng tin qu¶n lý mét ®o¹n: ®Þa chØ nÒn ®o¹n, kÝch th­íc (giíi h¹n) ®o¹n vµ quyÒn truy nhËp ®o¹n. Bé m« t¶ ®o¹n ®­îc hÖ ®iÒu hµnh, tr×nh biªn dÞch hoÆc tr×nh n¹p bé nhí t¹o ra. Bé m« t¶ ®o¹n gåm 8 byte: Dù phßng cho hÖ 32 bit 2 byte QuyÒn truy nhËp 1 byte §Þa chØ nÒn ®o¹n A23 - A0 3 byte Giíi h¹n ®o¹n L15 - L0 2 byte Tr­êng ®Þa chØ nÒn ®o¹n (24 bÝt : A23 - A0) x¸c ®Þnh ®Þa chØ nÒn cña ®o¹n. ë hÖ 16 bÝt th× ®Þa chØ nµy còng lµ ®Þa chØ vËt lý nÒn cña ®o¹n. Tr­êng giíi h¹n ®o¹n (16 bit : L15 - L0) x¸c ®Þnh kÝch th­íc cña ®o¹n tõ 1 byte ®Õn 64Kb). Tr­êng quyÒn truy nhËp (8 bit) x¸c ®Þnh møc ®Æc quyÒn vµ c¸c thuéc tÝnh kh¸c cña ®o¹n: D7 D6 D5 D4 D3 D0 P DPL DT KiÓu bé m« t¶ P - (Present) : NÕu P = 1 ®o¹n ®ang tån t¹i trong bé nhí. NÕu P = 0 CPU sÏ t¹o ra ngo¹i tÖ "kh«ng tån t¹i ®o¹n" khi ng­êi yªu cÇu chän ®o¹n nµy. DPL - Descriptor Privilege Level): x¸c ®Þnh møc ®Æc quyÒn cña bé m« t¶ (møc ®Æc quyÒ cña ®o¹n). DT - Descriptor Type) : x¸c ®Þnh lo¹i bé m« t¶. DT = 1 Bé m« t¶ ®o¹n m· lÖnh hoÆc d÷ liÖu DT = 0 Bé m« t¶ ®o¹n hÖ thèng hoÆc cæng giao dÞch. KiÓu bé m« t¶: cÊu tróc cña tr­êng nµy phô thuéc vµo lo¹i bé m« t¶. Cã c¸c lo¹i bé m« t¶ sau: Bé m« t¶ ®o¹n d÷ liÖu. Bé m« t¶ ®o¹n m· lÖnh, Bé m« t¶ ®o¹n hÖ thèng. Bé m« t¶ ®o¹n hÖ (DT = 0) cã hai lo¹i: bé m« t¶ LDT, bé m« t¶ TSS. Bé m« t¶ cæng giao dÞch (DT = 0) (cßn gäi lµ cæng giao dÞch) ®­îc dïng ®Ó PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 22 truy nhËp vµo c¸c ®o¹n m· lÖnh. C¸c bé m« t¶ nµy sÏ ®­îc tr×nh bµy ë c¸c phÇn sau. - CÊu tróc cña byte quyÒn truy nhËp trong Bé m« t¶ ®o¹n d÷ liÖu: 7 6 5 4 3 2 1 0 P DPL 1 0 ED W/R A ED (Expansion Direction): x¸c ®Þnh h­íng truy nhËp ®o¹n (h­íng tiÕn triÓn cña ®Þa chØ). ED = 1 : h­íng ®Þa chØ gi¶m, ®o¹n d÷ liÖu lµ lo¹i ng¨n xÕp. ED = 0 : h­íng ®Þa chØ t¨ng W/R (Wrie/Read): x¸c ®Þnh quyÒn ghi/®äc W/R = 1 : cho ghi/®äc ®o¹n, d÷ liÖu W/R = 0 cÊm ghi ®o¹n d÷ liÖu A (Accessed): A = 1 ®o¹n ®· bÞ truy nhËp - CÊu tróc cña byte quyÒn truy nhËp trong Bé m« t¶ ®o¹n m· lÖnh: 7 6 5 4 3 2 1 0 P DPL 1 1 C R A C (Conforming) : C = 0 ch­¬ng tr×nh con sÏ thùc hiÖn víi møc ®Æc quyÒn PL = DPL C = 1 ch­¬ng tr×nh sÏ thùc hiÖn víi møc ®Æc quyÒn PL b»ng møc ®Æc quyÒn cña ®o¹n chøa ch­¬ng tr×nh gäi ch­¬ng tr×nh con nµy. R (Read): R = 0 : §o¹n m· lÖnh thùc hiÖn ®­îc R = 1 : §o¹n m· lÖnh thùc hiÖn ®­îc vµ ®äc ®­îc. A (Accessed): A = 1 ®o¹n m· lÖnh ®· bÞ truy nhËp - CÊu tróc cña byte quyÒn truy nhËp trong Bé m« t¶ ®o¹n hÖ thèng: Bé m« t¶ ®o¹n hÖ thèng (Bé m« t¶ TSS, Bé m« t¶ LDT) quy chiÕu ®Õn (trá ®Õn) c¸c ®o¹n chøa th«ng tin hÖ thèng. PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 23 7 6 5 4 3 2 1 0 P DPL 0 0 0 KiÓu ®o¹n KiÓu ®o¹n: - KiÓu = 1: Bé m« t¶ quy chiÕu ®Õn ®o¹n tr¹ng th¸i nhiÖm vô TSS, nhiÖm vô nµy kh«ng ë tr¹ng th¸i ®ang thùc hiÖn. - KiÓu = 2 : Bé m« t¶ quy chiÕu ®Õn ®o¹nchøa b¶ng LDT - KiÓu = 3: Bé m« t¶ quy chiÕu ®Õn ®o¹n tr¹ng th¸i nhiÖm v ô TSS cña nhiÖm vô ®ang thùc hiÖn. + Hai byte dù phßng cho hÖ 32 bit cã d¹ng: §ÞachØ nÒn A31 - A24 §Æc tÝnh ®o¹n Giíi h¹n ®o¹n L19 - L16 §èi víi hÖ 16 bÝt th× hai byte nµy ph¶i cã gi¸ trÞ lµ 0000H. c) Bé m« t¶ cæng giao dÞch (cæng giao dÞch): Bé m« t¶ cæng giao dÞch (cæng giao dÞch) ®­îc dïng ®Ó truy nhËp vµo c¸c ®o¹n m· lÖnh. Cæng giao dÞch cung cÊp ph­¬ng tiÖn chuyÓn giao ®iÒu khiÓn gi÷a ch­¬ng tr×nh nguån vµ ch­¬ng tr×nh dÞch, vÝ dô qua c¸c lÖnh CALL. Cã thÓ truy nhËp vµo c¸c ®o¹n cã møc ®Æc quyÒn cao h¬n th«ng qua mét cæng giao dÞch lµ cæng gäi. Cæng giao dÞch cã cÊu tróc nh­ sau: Dù phßng cho hÖ 32 bit 2 byte QuyÒn truy nhËp 1 byte 0 0 0 Bé ®Õm 1 byte Bé chän ®o¹n 2 byte §Þa chØ offset b¾t ®Çu ch­¬ng tr×nh 2 byte Bé ®Õm (WC - word count): x¸c ®Þnh sè tõ cÇn sao chÐp tõ ng¨n xÕp cña ch­¬ng tr×nh gäi sang ch­¬ng tr×nh ®­îc gäi. Th«ng sè WC chØ cã ë cæng giao dÞch kiÓu gäi (cæng gäi). PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 24 CÊu tróc cña byte quyÒn truy nhËp trong Bé m« t¶ cæng giao dÞch (cæng giao dÞch): 7 6 5 4 3 2 1 0 P DPL 0 KiÓu cæng giao dÞch KiÓu cæng giao dÞch: cã 4 lo¹i cæng giao dÞch. KiÓu = 4 : cæng giao dÞch kiÓu gäi (cæng gäi) KiÓu = 5 : cæng giao dÞch kiÓu nhiÖm vô (cæng nhiÖm vô) KiÓu = 6 : cæng giao dÞch kiÓu ng¾t (cæng ng¾t) KiÓu = 7 : cæng giao dÞch kiÓu bÉy (cæng bÉy) Bé m« t¶ cæng giao dÞch kiÓu gäi (cæng gäi) th­êng ®­îc dïng ®Ó ch­¬ng tr×nh nguån cã møc ®Æc quyÒn thÊp h¬n gäi ch­¬ng tr×nh ®Ých cã møc ®Æc quyÒn cao h¬n. Bé m« t¶ cæng giao dÞch kiÓu nhiÖm vô (cæng nhiÖm vô) ®­îc sö dông khi cã sù thay ®æi nhiÖm vô trong nhiÖm vô hiÖn hµnh. Bé m« t¶ cæng giao dÞch kiÓu nhiÖm vô quy chiÕu ®Õn Bé m« t¶ ®o¹n TSS. Bé m« t¶ cæng giao dÞch kiÓu ng¾t vµ kiÓu bÉy (cæng ng¾t vµ cæng bÉy) cung cÊp bé chän vµ ®Þa chØ offset x¸c ®Þnh vÞ trÝ cña ch­¬ng tr×nh con phôc vô ng¾t bªn trong ®o¹n m· lÖnh ®ã. d) L­îc ®å truy nhËp ®o¹n nhí nhê Bé chän ®o¹n vµ Bé m« t¶ ®o¹n (h.35) H×nh 35 INDEX TI RPL §Þa chØ offset 15 (Bé chän ®o¹n) 0 CS, DS, ES, SS 15 0 Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n B¶ng LDT hoÆc GDT NÒn b¶ng To¸n h¹ng §o¹n d÷ liÖu NÒn ®o¹n PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 25 Trong chÕ ®é b¶o vÖ do bé chän ®o¹n cho kh¶ n¨ng trá tíi ®­îc 213 Bé m« t¶ ®o¹n vµ mçi Bé m« t¶ cña CPU 80286 trá ®Õn mét ®o¹n cã kÝch th­íc cùc ®¹i 212 byte nªn CPU 80286 cã thÓ qu¶n lý ®­îc bé nhí kÝch th­íc. 2*213*216 = 230 = 1 Gbyte e) C¬ chÕ truy nhËp bé nhí (« nhí) qua b¶ng GDT (h.36). H×nh 36 B¶ng GDT ®­îc hÖ ®iÒu hµnh t¹o ra khi khëi ®éng hÖ thèng. CPU qu¶n lý b¶ng GDT qua thanh ghi GDTR. Thanh ghi GDTR chøa hai th«ng tin vÒ b¶ng GDT: §Þa chØ nÒn b¶ng vµ kÝch th­íc (giíi h¹n) b¶ng. Khi cã yªu cÇu truy nhËp ®o¹n, ng­êi yªu cÇu cung cÊp Bé chän ®o¹n, CPU thùc hiÖn thao t¸c kiÓm tra quyÒn truy nhËp ®o¹n tr­íc khi cho truy nhËp. §èi víi viÖc truy nhËp ®o¹n d÷ liÖu, qu¸ tr×nh kiÓm tra ®­îc tiÕn hµnh theo quy t¾c: EPL = max (CPL, RPL) £ DPL trong ®ã: + CPL lµ møc ®Æc quyÒn cña nhiÖm vô ®ang thùc hiÖn. Th«ng th­êng CPL cã gi¸ trÞ b»ng møc ®Æc quyÒn cña ®o¹n chøa m· lÖnh ®ang ch¹y. Bé xö lý trung t©m cã thÓ thay ®æi gi¸ trÞ cña CPL khi ®iÒu khiÓn ch­¬ng tr×nh chuyÓn ®Õn mét ®o¹n m· cã søc ®Æc quyÒn cao h¬n. + RPL lµ møc ®Æc quyÒn yªu cÇu vµ lµ møc ®Æc quyÒn cña bé chän. Møc ®Æc quyÒn RPL ®­îc sinh ra bëi ng­êi n¹p bé chän ®o¹n. + EPL lµ møc ®Æc quyÒn hiÖu dông. + DPL lµ møc ®Æc quyÒn cña ®o¹n bÞ truy nhËp §Þa chØ nÒn Giíi h¹n INDEX 0 RPL (Bé chän ®o¹n) DS GDTR 39 16 15 0 NÒn GDT §o¹n d÷ liÖu Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n Bé m« t¶ LDT Bé m« t¶ TSS B¶ng GDT §Þa chØ offset To¸n h¹ng §Þa chØ cao §Þa chØ thÊp NÒn ®o¹n PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 26 NÕu ®iÒu kiÖn trªn kh«ng ®­îc tho¶ m·n th× sÏ sinh ra mét ngo¹i lÖ vµ CPU kh«ng cho truy nhËp ®o¹n. NÕu ®iÒu kiÖn vÒ quyÒn truy nhËp ®­îc tho¶ m·n th× CPU cho truy nhËp ®o¹n. ViÖc truy nhËp tõng « nhí trong ®o¹n ®­îc thùc hiÖn kh«ng qua ®Þa chØ nÒn ®o¹n (cã ®­îc tõ Bé m« t¶ ®o¹n võa ®­îc chän) vµ ®Þa chØ offset cña « nhí ®ã. §èi víi viÖc truy nhËp ®o¹n m· lÖnh, qu¸ tr×nh kiÓm tra ®­îc tiÕn hµnh theo quy t¾c: EPL = max (CPL, RPL) ³ DPL trong ®ã viÖc truy nhËp mét ®o¹n m· lÖnh cã møc ®Æc quyÒn cao h¬n (EPL > DPL) ph¶i thùc hiÖn th«ng qua cæng gäi. f) C¬ chÕ truy nhËp bé nhí (« nhí) qua b¶ng LDT. B¶ng LDT ®­îc hÖ ®iÒu hµnh t¹o ra khi n¹p mét ch­¬ng tr×nh øng dông vµo bé nhí hoÆc khi thùc hiÖn mét nhiÖm vô. Mçi b¶ng LDT qu¶n lý c¸c ®o¹n cña mét ch­¬ng tr×nh øng dông (mét nhiÖm vô). ViÖc qu¶n lý c¸c ®o¹n (c¸c vïng nhí) thuéc mét ch­¬ng tr×nh øng dông (mét nhiÖm vô) ®­îc tæ chøc nh­ sau (h.37): H×nh 37 Mçi mét ®o¹n nhí ®­îc qu¶n lý bëi mét Bé m« t¶ ®o¹n. §o¹n d÷ liÖu Bé m« t¶ ®o¹n Bé m« t¶ ®o¹n B¶ng LDT B¶n copy Bé m« t¶ ®o¹n §Þa chØ offset To¸n h¹ng §Þa chØ cao NÒn ®o¹n NÒn LDT RPL 1 INDEX 0 47 DS 15 0 Bé m« t¶ ®o¹n Bé m« t¶ LDT B¶ng GDT Bé m« t¶ LDT Bé m« t¶ TSS (PhÇn hë) Bé chän ®o¹n (PhÇn kÝn) §Þa chØ nÒn Giíi h¹n GDTR 39 16 15 0 NÒn GDT Bé chän LDT B¶n copy Bé m« t¶ LDT 15 0 47 0 LDTR (PhÇn kÝn) (PhÇn hë) §Þa chØ cao PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 27 C¸c Bé m« t¶ ®o¹n cña mét nhiÖm vô ®­îc chøa trong mét b¶ng LDT riªng biÖt. Nãi c¸ch kh¸c, mçi b¶ng LDT qu¶n lý c¸c ®o¹n nhí cña mét nhiÖm vô. Mçi b¶ng LDT ®­îc qu¶n lý bëi mét Bé m« t¶ LDT. Bé m« t¶ LDT chøa ®Þa chØ nÒn b¶ng LDT, kÝch th­íc b¶ng, quyÒn truy nhËp b¶ng (quyÒn truy nhËp nhiÖm vô). C¸c Bé m« t¶ LDT cña c¸c nhiÖm vô ®­îc chøa trong b¶ng GDT, B¶ng GDT ®­îc qu¶n lý bëi thanh ghi hÖ thèng GDTR. Khi mét nhiÖm vô ®­îc thùc hiÖn, hÖ ®iÒu hµnh sÏ n¹p Bé chän LDT vµo thanh ghi hÖ thèng LDTR. Thanh ghi LDTR trá ®Õn Bé m« t¶ LDT vµo thanh ghi hÖ thèng LDTR. Thanh ghi LDTR trá ®Õn Bé m« t¶ LDT trong b¶ng GDT, tõ ®©y CPU th«ng qua b¶ng LDT qu¶n lý ®­îc c¸c ®o¹n cña nhiÖm vô ®ã vµ b¾t ®Çu (hoÆc tiÕp tôc) thùc hiÖn nhiÖm vô nµy. §Ó truy nhËp c¸c ®o¹n trong nhiÖm vô, ng­êi yªu cÇu cÇn n¹p Bé chän ®o¹n vµo thanh ghi ®o¹n t­¬ng øng. CPU thùc hiÖn thao t¸c kiÓm tra quyÒn truy nhËp ®o¹n. NÕu ®iÒu kiÖn vÒ quyÒn truy nhËp ®­îc tho¶ m·n th× CPU sÏ sinh ra mét ngo¹i lÖ vµ kh«ng cho truy nhËp ®o¹n. ViÖc truy nhËp tõng « nhí trong ®o¹n ®­îc thùc hiÖn th«ng qua ®Þa chØ nÒn ®o¹n (cã ®­îc tõ Bé m« t¶ ®o¹n võa ®­îc chän) vµ ®Þa chØ offset cña « nhí ®ã. g) C¬ chÕ chuyÓn ®iÒu khiÓn vµ gäi ch­¬ng tr×nh con trong chÕ ®é b¶o vÖ. ViÖc chuyÓn ®iÒu khiÓn xÈy ra khi thùc hiÖn c¸c lÖnh nh¶y (lÖnh JMP) hoÆc lÖnh gäi ch­¬ng tr×nh con (lÖnh CALL). Tr­êng hîp thùc hiÖn lÖnh nh¶y hoÆc lÖnh gäi trong cïng ®o¹n m· lÖnh cña nhiÖm vô ®ang ch¹y (lÖnh nh¶y g¾n, lÖnh gäi g¾n) xÈy ra nh­ sau: Khi thùc hiÖn lÖnh nh¶y gÇn (NEAR JUMP), con trá lÖnh IP ®­îc n¹p gi¸ trÞ míi. Ch­¬ng tr×nh tiÕp tôc ®­îc thùc hiÖn tõ vÞ trÝ míi do IP trá ®Õn. Khi thùc hiÖn lÖnh gäi gÇn (NEAR, CALL), bé xö lý trung t©m thùc hiÖn c¸c thao t¸c sau: + CÊt gi¸ trÞ hiÖn thêi cña IP vµo ng¨n tiÕp. + N¹p ®Þa chØ offset cña ch­¬ng tr×nh con ®­îc gäi (®ich) vµo IP. + Thùc hiÖn ch­¬ng tr×nh con (®Ých). Tr­êng hîp chuyÓn ®iÒu khiÓn ®Õn nh÷ng ®o¹n m· lÖnh kh¸c khi thùc hiÖn lÖnh gäi xa (FAR CALL) th× cã hai t×nh huèng: - §o¹n m· lÖnh ®Ých cã møc ®Æc quyÒn thÊp h¬n hoÆc b»ng møc ®Æc quyÒn cña ®o¹n m· lÖnh nguån hiÖn t¹i. Khi ®ã bé xö lý trung t©m thùc hiÖn c¸c thao t¸c sau: PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 28 + CÊt gi¸ trÞ hiÖn thêi cña CS vµ IP vµo ng¨n xÕp. + N¹p bé chän ®o¹n m· lÖnh chøa ch­¬ng tr×nh con (®Ých) vµo CS + N¹p ®Þa chØ offset cña ch­¬ng tr×nh con (®Ých vµo IP + Thùc hiÖn ch­¬ng tr×nh ®Ých LÖnh RET cho phÐp rêi khái ch­¬ng tr×nh con ®Ó trë vÒ ch­¬ng tr×nh gäi nã. LÖnh nµy kh«i phôc l¹i néi dung bé chän ®o¹n m· lÖnh nguån (néi dung thanh ghi CS), näi dung con trá lÖnh (néi dung thanh ghi IP) vµ tiÕp tôc thùc hiÖn ch­¬ng tr×nh ®· gäi ch­¬ng tr×nh con nµy. - §o¹n m· lÖnh ch­¬ng tr×nh con (®Ých) cã møc ®Æc quyÒn cao h¬n møc ®Æc quyÒn cña ®o¹n m· lÖnh nguån hiÖn t¹i. Khi ®ã viÖc gäi ch­¬ng tr×nh con (®Ých) ph¶i thùc hiÖn qua cæng gäi. Bé chän ®o¹n lóc nµy kh«ng trá ®Õn bé m« t¶ ®o¹n m· lÖnh chøa ch­¬ng tr×nh con (®Ých), mµ trá ®Õn cæng gäi (bé m« t¶ cæng gäi). Cæng gäi trá ®Õn bé m« t¶ ®o¹n m· lÖnh cña ch­¬ng tr×nh con (®Ých), cæng gäi còng chøa ®Þa chØ offset b¾t ®Çu ch­¬ng tr×nh con (®Ých), qua ®ã gäi ®­îc ch­¬ng tr×nh con (®Ých. Bé xö lý trung t©m thùc hiÖn qu¸ tr×nh nµy nh­ sau: + T¹m l­u gi÷ néi dung CS, IP, SS, SP hiÖn thêi (thuéc ch­¬ng tr×nh nguån). + N¹p bé chän cæng gäi vµ kiÓm tra quyÒn truy nhËp. + CÊt gi÷ gi¸ trÞ t¹m l­u cña SS vµ SP nguån vµo ng¨n xÕp ®Ých + ChuyÓn c¸c tham sè tõ ng¨n xÕp nguån sang ng¨n xÕp ®Ých + CÊt gi÷ gi¸ trÞ t¹m l­u cña CS vµ IP nguån vµo ng¨n xÕp ®Ých. + N¹p bé chän bé m« t¶ ®o¹n m· lÖnh ®Ých vµ ®Þa chØ offset (lÊy tõ cæng gäi), qua ®ãn¹p bé m« t¶ ®o¹n m· lÖnh ®Ých. + Thùc hiÖn ch­¬ng tr×nh con (®Ých). Khi bé xö lý trung t©m gÆp lÖnh RET th× viÖc trë vÒ ch­¬ng tr×nh nguån ®­îc thùc hiÖn b¾t ®Çu b»ng viÖc kiÓm tra quyÒn truy nhËp, sau ®ã lµ kh«i phôc néi dung c¸c thanh ghi CS, IP, SS, SP theo mét tr×nh tù ng­îc l¹i. 1.2.6- C¬ chÕ ho¹t ®éng ®a nhiÖm NhiÖm vô ®­îc ®Þnh nghÜa nh­ lµ mét thùc hiÖn cña ch­¬ng tr×nh nµo ®ã. Mçi mét nhiÖm vô cã mét ®o¹n tr¹ng th¸i nhiÖm vô (®o¹n TSS - Task State Segment) chøa toµn bé tr¹ng th¸i cña nhiÖm vô ®ã. Mçi ®o¹n TSS ®­îc qu¶n lý (trá) bëi mét Bé m« t¶ TSS n»m trong b¶ng GDT. CPU x86 cã phÇn cøng hç trî thao th¸c chuyÓn nhiÖm vô. Thao t¸c chuyÓn nhiÖm vô thùc hiÖn l­u vµ b¶o vÖ toµn bé tr¹ng th¸i ho¹t ®éng cña nhiÖm vô ®ang thùc hiÖn (bao gåm néi dung toµn bé c¸c thanh ghi cña CPU, kh«ng PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 29 gian ®Þa chØ cã liªn quan vµ Bé chän LDT cña nhiÖm vô ®ang ch¹y) vµo ®o¹n TSS, sau ®ã n¹p tr¹ng th¸i cña nhiÖm vô tiÕp theo tõ ®o¹n TSS t­¬ng øng vµo CPU, kiÓm tra quyÒn truy nhËp vµ b¾t ®Çu thùc hiÖn nhiÖm vô míi. H×nh38 Thanh ghi nhiÖm vô TR (Task Register) trá ®Õn Bé m« t¶ TSS qu¶n lý nhiÖm vô hiÖn thêi. Thao t¸c chuyÓn nhiÖm vô ®­îc tiÕn hµnh theo c¸c b­íc sau (h.38): + L­u toµn bé tr¹ng th¸i ho¹t ®éng cña nhiÖm vô ®ang thùc hiÖn (bao gåm néi dung toµn bé c¸c thanh ghi cña CPU, c¸c ®Þa chØ cã liªn quan vµ Bé chän LDT cña nhiÖm vô hiÖn thêi) vµo ®o¹n tr¹ng th¸i nhiÖm vô TSS cña nhiÖm vô nµy. + N¹p Bé chän nhiÖm vô tiÕp theo vµo thanh ghi TR. Thanh ghi TR trá ®Õn Bé m« t¶ TSS qu¶n lý ®o¹n TSS cña nhiÖm vô tiÕp theo. + Qua Bé m« t¶ TSS truy nhËp ®o¹n TSS cña nhiÖm vô tiÕp theo, n¹p tr¹ng th¸i nhiÖm vô tiÕp theo vµo c¸c thanh ghi cña CPU, trong ®ã cã thanh ghi LDTR. Bé m« t¶ TSS ®­îc n¹p vµo phÇn kÝn cña TR. + Thùc hiÖn kiÓm tra quyÒn truy nhËp. + Thùc hiÖn nhiÖm vô tiÕp theo. 1.2.7- C¸c chÕ ®é x¸c ®Þnh ®Þa chØ to¸n h¹ng. CPU x86 thùc hiÖn mét tËp c¸c nhãm lÖnh: - Nhãm lÖnh sè häc: ADD, SUB, MUL, DIV, ... - Nhãm lÖnh chuyÓn sè liÖu: MOV, PUSH, POP ... - Nhãm lÖnh rÏ nh¸nh vµ ®iÒu khiÓn: JMP, CALL, RET, INT, LOOP, CLI, STI, ... - Nhãm lÖnh vµo ra: IN, OUT §Þa chØ ng¨n xÕp c¸c møc ®Æc quyÒn 0,1, 2 Néi dung c¸c thanh ghi cña CPU, tr¹ng th¸i hÖ thèng v.v... Bé chän LDT ¶nh bÝt cho phÎptuy nhËp cæng vµo/ra liªn quan B¶n copy Bé m« t¶ TSS NÒn TSS §o¹n TSS N¹p vµo c¸c thanh ghi CPU N¹p vµo LDTR Bé m« t¶ ®o¹n Bé m« t¶ LDT Bé m« t¶ TSS B¶ng GDT NÒn GDT Bé chän TSS (PhÇn kÝn) 15 0 47 0 TR (PhÇn hë) PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 30 - C¸c lÖnh kh¸c: logic, thao t¸c bÝt, xö lý x©u... a- CÊu tróc lÖnh CÊu tróc cña mét lÖnh cã thÓ cã c¸c d¹ng sau: M· lÖnh M· lÖnh §Þa chØ to¸n h¹ng M· lÖnh §Þa chØ to¸n h¹ng ®Ých §Þa chØ to¸n h¹ng nguån M· lÖnh: lµ phÇn chøa th«ng tin x¸c ®Þnh c¸c thao t¸c hoÆc c«ng viÖc cÇn ®­îc thùc hiÖn. PhÇn ®Þa chØ: lµ phÇn th«ng tin x¸c ®Þnh n¬i chøa to¸n h¹ng. C¸c n¬i cã thÓ chøa to¸n h¹ng: + Tøc thêi trong lÖnh (gi¸ trÞ to¸n h¹ng n»m ngay trong lÖnh). + C¸c thanh ghi cña CPU. + Bé nhí. C¸c thao t¸c cã thÓ xÈy ra gi÷a c¸c ®èi t­îng sau: Thanh ghi ¬ Tøc thêi Thanh ghi « Thanh ghi Bé nhí ¬ Tøc thêi Bé nhí « Thanh ghi b- C¸c ph­¬ng ph¸p x¸c ®Þnh ®Þa chØ to¸n h¹ng C¸c ph­¬ng ph¸p x¸c ®Þnh ®Þa chØ to¸n h¹ng (C¸c ph­¬ng ph¸p ®Þnh vÞ to¸n h¹ng) cho phÐp x¸c ®Þnh n¬i chøa to¸n h¹ng. N¬i chøa to¸n h¹ng cã thÓ lµ: Trªn lÖnh, thanh ghi vµ bé nhí. Bé nhí mÆc ®Þnh ®­îc hiÓu lµ ®o¹n d÷ liÖu, x¸c ®Þnh ®Þa chØ « nhí lµ x¸c ®Þnh ®Þa chØ offset hiÖu dông cña « nhí trong ®o¹n ®ã. Trong c¸c tr­êng hîp kh¸c cÇn chØ râ ®o¹n nhí cÇn truy nhËp, vÝ dô ES: [®Þa chØ offset]. Cã ba nhãm chÕ ®é ®Þnh vÞ toµn h¹ng. + §Þnh vÞ tøc thêi + §Þnh vÞ thanh ghi + §Þnh vÞ bé nhí. Ÿ §Þnh vÞ tøc thêi: D÷ liÖu n»m ngay trong c©u lÖnh VÝ dô: MOV AX. 0F000h: ®­a gi¸ trÞ F000h vµo AX Ÿ §Þnh vÞ thanh ghi: PDF created with pdfFactory Pro trial version www.pdffactory.com Bµi gi¶ng: M«n häc kiÕn tróc m¸y tÝnh Nguyễn Duy Minh 31 C¸c thanh ghi ®a n¨ng, c¸c thanh ghi ®Þa chØ hoÆc c¸c thanh ghi ®o¹n cña CPU lµ n¬i chøa d÷ liÖu. VÝ dô: NOV AX. BX: ®­a gi¸ trÞ ë BX vµ AX Ÿ §Þnh vÞ bé nhí: Ph­¬ng ph¸p ®Þnh vÞ bé nhí cho phÐp x¸c ®Þnh ®Þa chØ offset (®Þa chØ lÖch) cña « nhí chøa to¸n h¹ng, « nhí mÆc ®Þnh n»m trong ®o¹n d÷ liÖu. Cã c¸c ph­¬ng ph¸p ®Þnh vÞ bé nhí sau: - §Þnh vÞ trùc tiÕp - §Þnh vÞ gi¸n tiÕp. - §Þnh vÞ c¬ së - §Þnh vÞ chØ sè - §Þnh vÞ c¬ së chØ sè - §Þnh vÞ ®Çy ®ñ. + §Þnh vÞ trùc tiÕp §Þa chØ « nhí chøa d÷ liÖu n»m ngay trong lÖnh. §Þa chØ offset = [gÝa trÞ cô thÓ] VÝ dô: MOV AX. [1000h]: §­a néi dung « nhí cã ®Þa chØ DS: 1000h vµo AX MOV AX. ALFA: ALFA lµ tªn tiÕn ®· ®­îc khai b¸o + §Þnh vÞ gi¸n tiÕp (thanh ghi). C¸c thanh ghi ®Þa chØ BX, BP, SI, DI, SP lµ n¬i chøa ®Þa chØ « d÷ liÖu. VÝ dô: MOV AX. [BX]: trong ®ã [BX]: º 1000h : lÖnh thùc hiÖn ®­a néi dung « nhí cã ®

Các file đính kèm theo tài liệu này:

  • pdfBài giảng kiến trúc máy tính - ĐHCNTT - ĐH thái nguyên.pdf