intTypePromotion=1

Chương 10 - Các bộ vi xử lý tiên tiến của INTEL

Chia sẻ: Kun | Ngày: | Loại File: PDF | Số trang:12

0
206
lượt xem
48
download

Chương 10 - Các bộ vi xử lý tiên tiến của INTEL

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong các ch-ơng tr-ớc ta đã trình bày các vấn đề liên quan chủ yếu đến các đặc tính và các khả năng của bộ vi xử lý 8086/8088. Tại ch-ơng 1 ta cũng đã trình bày khái quát về các đặc điểm chính và các thông số của các bộ vi xử lý trong 2 họ chủ yếu là Intel và Motorola. Bây giờ tr-ớc khi đi vào giới thiệu một số vấn đề cụ thể của họ Intel 80x86, ta tóm l-ợc các điểm nổi bật của các bộ vi xử lý trong họ này. ...

Chủ đề:
Lưu

Nội dung Text: Chương 10 - Các bộ vi xử lý tiên tiến của INTEL

  1. ch−¬ng 10 C¸c bé vi xö lý tiªn tiÕn cña INTEL 1. Giíi thiÖu chung Trong c¸c ch−¬ng tr−íc ta ®· tr×nh bμy c¸c vÊn ®Ò liªn quan chñ yÕu ®Õn c¸c ®Æc tÝnh vμ c¸c kh¶ n¨ng cña bé vi xö lý 8086/8088. T¹i ch−¬ng 1 ta còng ®· tr×nh bμy kh¸i qu¸t vÒ c¸c ®Æc ®iÓm chÝnh vμ c¸c th«ng sè cña c¸c bé vi xö lý trong 2 hä chñ yÕu lμ Intel vμ Motorola. B©y giê tr−íc khi ®i vμo giíi thiÖu mét sè vÊn ®Ò cô thÓ cña hä Intel 80x86, ta tãm l−îc c¸c ®iÓm næi bËt cña c¸c bé vi xö lý trong hä nμy. Bé vi xö lý 16 bit 80186 vÒ c¬ b¶n gièng nh− m¹ch 8086 nh−ng ®−îc më réng thªm kh¶ n¨ng lμm viÖc bëi v× nã ®−îc cÊy thªm c¸c bé phËn sau: bé t¹o xung ®ång hå, bé ®iÒu khiÓn ng¾t −u tiªn, bé ®Õm thêi gian lËp tr×nh ®−îc, bé ®iÒu khiÓn viÖc th©m nhËp trùc tiÕp vμo bé nhí, bé t¹o thêi gian ®îi lËp tr×nh ®−îc vμ c¸c m¹ch gi¶i m· ®Þa chØ. Nh×n vμo cÊu tróc cña m¹ch 80186 ta cã thÓ ®¸nh gi¸ ®−îc ngay r»ng ®©y chÝnh lμ bé vi xö lý rÊt thÝch hîp cho c¸c øng dông trong c«ng nghiÖp. Bé vi xö lý 16 bit 80286 lμ mét biÕn t−íng kh¸c cña 8086 vμ ra ®êi vμo cïng mét thêi gian víi bé vi xö lý 80186 nh−ng ®−îc ph¸t triÓn theo h−íng kh¸c. Thay v× c¸c phèi ghÐp ngo¹i vi ®−îc cÊy thªm nh− ë 80186, 80286 cã bªn trong m¹ch qu¶n lý bé nhí (memory management unit, MMU) ®Ó lμm viÖc víi bé nhí ¶o víi c¬ chÕ b¶o vÖ bé nhí vμ kh¶ n¨ng ®Þa chØ ho¸ bé nhí vËt lý víi dung l−îng ®¹t tíi 16 MByte. Bé vi xö lý 80286 lμ thμnh viªn ®Çu tiªn trong hä ®−îc thiÕt kÕ ®Ó cã thÓ lμm viÖc trong m«i tr−êng ®a nhiÖm hoÆc nhiÒu ng−êi sö dông. 308
  2. Bé vi xö lý 80386 lμ b−íc ph¸t triÓn tiÕp theo cña m¹ch 80286. §©y lμ bé vi xö lý 32 bit ®Çu tiªn víi bus ®Þa chØ 32 bit (kh¶ n¨ng ®Þa chØ ho¸ 4 GByte). ALU vμ c¸c thanh ghi thao t¸c víi d÷ liÖu ®Òu cã ®é dμi 32 bit lμm cho tèc ®é xö lý d÷ liÖu nhanh h¬n. Mét ®o¹n trong hÖ vi xö lý 80386 cã thÓ cã ®é dμi tíi 4GB thay v× 64 KB nh− ë c¸c thÕ hÖ tr−íc ®ã. C¸c m¹ch qu¶n lý vμ b¶o vÖ bé nhí cña 80386 ®−îc c¶i tiÕn nhiÒu nªn 80386 cã thÓ ho¹t ®éng h÷u hiÖu h¬n trong hÖ lμm viÖc ®a nhiÖm. Bé vi xö lý 80486 vÒ c¬ b¶n cã quy m« nh− 80386, nh−ng nã ®−îc t¨ng c−êng thªm ngay ë bªn trong mét bé nhí cache (bé nhí Èn) víi dung l−îng 8 KB dïng chung cho lÖnh vμ d÷ liÖu. 80486 cßn ®−îc cÊy thªm mét bé ®ång xö lý to¸n häc dÊu ph¶y ®éng (floating point unit, FPU). Kh¶ n¨ng thao t¸c cña 80486 v× thÕ cao h¬n, tuy kh¶ n¨ng b¶o vÖ vμ qu¶n lý bé nhí, kh¶ n¨ng ph©n biÖt ®Þa chØ bé nhí th× vÉn gièng nh− cña 80386. Bé vi xö lý Pentium lμ bé vi xö lý ®Çu tiªn cã bus d÷ liÖu 64 bit, bus ®Þa chØ cña nã vÉn chØ cã 32 cã bit. So víi 80486, Pentium ®−îc t¨ng c−êng thªm mét bé nhí Èn n÷a víi dung l−îng 8 KB, nhê vËy khi ho¹t ®éng nã dμnh riªng mét bé nhí Èn 8 KB cho m· lÖnh vμ mét bé nhí Èn 8 KB kh¸c cho d÷ liÖu. Ngoμi mét bé ®ång xö lý to¸n häc dÊu ph¶y ®éng FPU cã tèc ®é 10 lÇn cao h¬n so víi ë bé vi xö lý 80486, Pentium cßn cã 2 bé ALU 64 bit dμnh cho c¸c phÐp to¸n víi sè nguyªn (integer unit, IU), 2 bé IU nμy cã kh¶ n¨ng lμm viÖc song song. TÊt c¶ c¸c c¶i tiÕn nμy ®· n©ng cao ®¸ng kÓ tèc ®é ho¹t ®éng cña hÖ cã Pentium so víi c¸c hÖ vi xö lý kh¸c cña hä 80x86. 2. VÊn ®Ò hÖ ®iÒu hμnh ®a nhiÖm hoÆc nhiÒu ng−êi sö dông • Kh¸i niÖm Tr−íc khi ®−a ra ®Þnh nghÜa hÖ ®a nhiÖm - hÖ nhiÒu ng−êi sö dông ta h·y nãi qua chót Ýt vÒ hÖ lμm viÖc theo kiÓu ph©n chia thêi gian. Trong hÖ ph©n chia thêi gian víi nhiÒu ng−êi sö dông, CPU ch¹y mét ch−¬ng tr×nh øng dông cña ng−êi nμy trong mét kho¶ng thêi gian cì vμi mili gi©y vμ quay sang ch¹y mét ch−¬ng tr×nh øng dông cña ng−êi kh¸c trong vμi mili gi©y kh¸c. Qu¸ tr×nh cø tiÕp tôc nh− vËy cho ®Õn khi c¸c ch−¬ng tr×nh øng dông cña mäi ng−êi ®Òu ®−îc phôc vô. ViÖc nμy x¶y ra nhanh ®Õn møc mçi ng−êi sö dông ®Òu cã c¶m gi¸c lμ m¸y tÝnh chØ lμm viÖc riªng víi m×nh. Ta thÊy c¸c c«ng viÖc cña h×nh thøc lμm viÖc ph©n chia thêi gian nh− vËy sÏ ®−îc coi lμ '®ång thêi' nÕu tèc ®é tÝnh to¸n cña CPU lμ rÊt nhanh trong khi khèi l−îng tÝnh to¸n cña mçi c«ng ®o¹n ®−îc chia thêi gian lμ rÊt nhá. Trong thùc tÕ ®êi sèng ®«i khi còng cã thÓ thÊy c¸ch tæ chøc c«ng viÖc nh− vËy. Mét vÝ dô lμ c¸c vua cê cã thÓ ®¸nh cê cïng mét lóc víi 10 ng−êi ë 10 bμn cê kh¸c nhau. Thùc tÕ th× vua cê, v× lμ 'siªu cao thñ', nªn cÇn rÊt Ýt thêi gian ®Ó nghÜ mét n−íc ®i chèng l¹i c¸c ®èi thñ tÇm th−êng. Trong khi ®ã c¸c ®Êu thñ cña vua cê, v× lμ c¸c 309
  3. 'thÊp thñ' nªn ®Òu c¶m thÊy ph¶i chËt vËt l¾m míi t×m ra ®−îc n−íc ®i cho m×nh trong khi vua cê ®ang ®i c¸c n−íc cê ë c¸c bμn kh¸c. Trë l¹i lÜnh vùc m¸y tÝnh, mét hÖ ®iÒu hμnh víi kh¶ n¨ng phèi hîp c¸c ho¹t ®éng ph©n chia theo thêi gian nh− ®· tr×nh bμy ë trªn cã thÓ ®−îc gäi lμ hÖ ®iÒu hμnh cã nhiÒu ng−êi sö dông hoÆc còng cã thÓ gäi lμ hÖ ®iÒu hμnh ®a nhiÖm, v× mçi ng−êi sö dông sÏ cã Ýt nhÊt mét t¸c vô (task) cÇn ®−îc ho¹t ®éng d−íi sù ®iÒu khiÓn cña hÖ ®iÒu hμnh. MS DOS kh«ng ph¶i lμ mét hÖ ®iÒu hμnh ®a nhiÖm, do ®ã c¸c m¸y tÝnh tuy cã sö dông c¸c bé vi xö lý cao cÊp cña Intel vèn ®−îc thiÕt kÕ ®Ó cã thÓ lμm viÖc ®a nhiÖm, nh−ng v× ch¹y d−íi DOS nªn vÉn chØ lμ ®¬n nhiÖm. C¸c hÖ ®iÒu hμnh Unix, OS/2 hoÆc MS Windows lμ c¸c thÝ dô cña hÖ ®iÒu hμnh ®a nhiÖm. C¸c hÖ ®iÒu hμnh ®a nhiÖm cã thÓ lμm viÖc theo theo 2 c¸ch: ®Þnh kú theo c¸c ®o¹n thêi gian hoÆc theo møc −u tiªn ®Æt tr−íc. • VÊn ®Ò b¶o tån m«i tr−êng lμm viÖc C¸c thanh ghi, d÷ liÖu ... dïng trong mét t¸c vô gäi lμ m«i tr−êng, tr¹ng th¸i hoÆc ng÷ c¶nh. Mét khi muèn chuyÓn tõ t¸c vô nμy sang t¸c vô kh¸c th× m«i tr−êng cña t¸c vô bÞ gi¸n ®o¹n ph¶i ®−îc b¶o tån ®Ó khi ®Õn l−ît c«ng viÖc cña nã l¹i cã thÓ tiÕp tôc ®−îc. C¸ch th«ng th−êng ®Ó b¶o tån m«i tr−êng lμ b¶o qu¶n c¸c th«ng tin nμy trong mét vïng « nhí ®Æc biÖt hoÆc mét ng¨n xÕp, cã thÓ mçi t¸c vô mét ®o¹n ng¨n xÕp riªng biÖt. Khi cÇn thiÕt ta sÏ cÊt m«i tr−êng cña mét t¸c vô nμy vμ lÊy l¹i m«i tr−êng cña mét t¸c vô kh¸c, c«ng viÖc nμy ®−îc gäi lμ chuyÓn ng÷ c¶nh. • VÊn ®Ò tranh chÊp khi sö dông chung tμi nguyªn VÊn ®Ò tranh chÊp gi÷a nh÷ng ng−êi sö dông chung mét sè tμi nguyªn trong hÖ thèng sÏ n¶y sinh khi cã mét ng−êi muèn truy nhËp m¸y in hoÆc æ ®Üa trong khi ®ã mét ng−êi kh¸c l¹i ®ang in v¨n b¶n hoÆc ghi/®äc æ ®Üa. HÖ ®iÒu hμnh ph¶i cã c¸c cê b¸o bËn cho c¸c tμi nguyªn ®ang ®−îc sö dông vμ ph¶i s¾p xÕp c¸c nhu cÇu dïng chung tμi nguyªn theo hμng ®îi ®Ó phôc vô lÇn l−ît. • VÊn ®Ò b¶o vÖ bé nhí Mét vÊn ®Ò kh¸c cã thÓ n¶y sinh khi lμm viÖc trong hÖ thèng nhiÒu ng−êi sö dông lμ trong tr−êng hîp cã 2 hoÆc nhiÒu ng−êi cïng mét lóc muèn ®äc vμ thay ®æi néi dung cña mét vïng nhí dïng chung. HÖ ®iÒu hμnh ph¶i cã c¬ chÕ b¶o vÖ sao cho mét vïng nhí ®ang ®−îc dïng cho t¸c vô nμy kh«ng bÞ ho¹t ®éng cña c¸c t¸c vô kh¸c lμm cho sai lÖch. B¶n th©n hÖ ®iÒu hμnh còng cÇn ®−îc b¶o vÖ bëi v× trong khi thùc hiÖn t¸c vô, mét ng−êi sö dông nμo ®ã cã thÓ cã c¸c lÖnh ghi vμo vïng nhí chøa m· lÖnh cña hÖ ®iÒu hμnh. NÕu hÖ ®iÒu hμnh kh«ng cã c¬ chÓ b¶o vÖ th× th¶m ho¹ cã thÓ x¶y ra bÊt cø lóc nμo do hÖ ®iÒu hμnh bÞ thay ®æi vμ g©y lçi. §Ó gi¶i quyÕt viÖc nμy ng−êi ta 310
  4. th−êng cÊu tróc hÖ ®iÒu hμnh tõ nhiÒu líp vμ g¸n møc ®Æc quyÒn th©m nhËp vμo c¸c líp nμy cho ng−êi sö dông vμ cho hÖ ®iÒu hμnh theo quy luËt: ng−êi sö dông chØ ®−îc quyÒn th©m nhËp vμo vïng d÷ liÖu ë líp ngoμi víi møc ®Æc quyÒn thÊp nhÊt (líp ngoμi chøa m· vμ d÷ liÖu dμnh cho ng−êi sö dông). Khi muèn th©m nhËp vμo líp trong, ng−êi sö dông ph¶i th©m nhËp qua c¸c c¬ chÕ phøc t¹p ®Ó kh«ng cã kh¶ n¨ng g©y lçi cho phÇn m· vμ d÷ liÖu cña hÖ ®iÒu hμnh. B¶n th©n hÖ ®iÒu hμnh ®Ó m· vμ d÷ liÖu cña nã ë líp trong cïng vμ nã ®−îc g¸n cho quyÒn th©m nhËp vμo tÊt c¶ c¸c líp. C¸c bé vi xö lý cña Intel cã 4 møc ®Æc quyÒn, trong khi ®ã c¸c bé vi xö lý cña Motorola cã 2 møc. • VÊn ®Ò qu¶n lý bé nhí Cã 2 lý do khiÕn cho bé nhí ph¶i ®−îc qu¶n lý ®Æc c¸ch khi lμm viÖc trong hÖ ®iÒu hμnh ®a nhiÖm. Lý do ®Çu tiªn lμ do bé nhí b¸n dÉn th−êng cã kÝch th−íc bÐ kh«ng ®ñ chøa c¶ hÖ ®iÒu hμnh lÉn c¸c ch−¬ng tr×nh cña ng−êi sö dông. Lý do thø hai lμ c¸c vïng nhí ph¶i ®−îc b¶o vÖ mét c¸ch ch¾c ch¾n ®Ó khái bÞ ch−¬ng tr×nh cña ng−êi sö dông lμm háng. Mét vμi hÖ ®iÒu hμnh cã thÓ lμm lu«n chøc n¨ng qu¶n lý bé nhí, nh−ng tèt nhÊt lμ cã riªng c¸c ®¬n vÞ qu¶n lý bé nhí (MMU) thùc hiÖn b»ng phÇn cøng. §Ó gi¶i quyÕt ®−îc c¸c vÊn ®Ò nªu trªn mét c¬ chÕ nhí kh¸c ra ®êi: bé nhí ¶o. §ã lμ sù kÕt hîp c¸c bé nhí Èn (SRAM víi tèc ®é rÊt cao), bé nhí chÝnh (DRAM) vμ vμ bé nhí phô (æ ®Üa cøng) ho¹t ®éng d−íi sù qu¶n lý cña MMU, sao cho d−íi quan ®iÓm lËp tr×nh vμ ®èi víi ng−êi sö dông tËp hîp c¸c bé nhí trªn lu«n t¹o ®−îc c¶m gi¸c nh− lμ mét bé nhí thuÇn nhÊt víi dung l−îng lín (gÇn b»ng dung l−îng cña æ ®Üa cøng) nh−ng l¹i lμm viÖc víi tèc ®é cao (gÇn b»ng tèc ®é cña bé nhí chÝnh). Bé nhí ¶o cã thÓ ®−îc qu¶n lý b»ng c¸ch chia bé nhí thμnh c¸c m¶ng nhá cã ®é lín tÝnh theo ®o¹n, ®éng t¸c nμy gäi lμ ph©n ®o¹n (®èi víi hä Intel cã tõ c¸c bé vi xö lý 80286 trë ®i) hoÆc trang, ®éng t¸c nμy gäi lμ ph©n trang (®èi víi hä Intel cã tõ c¸c bé vi xö lý 80386 trë ®i). Trong bé nhí ¶o nh− vËy, tõng m¶ng m· lÖnh vμ m¶ng d÷ liÖu dïng cho ch−¬ng tr×nh hiÖn t¹i ®−îc t¶i tõ æ ®Üa vμo DRAM vμ ®−îc truy nhËp ®Õn bëi bé ®iÒu khiÓn cña bé nhí Èn khi cÇn thiÕt. NÕu ch−¬ng tr×nh ®ang ch¹y cÇn ®Õn mét m¶ng d÷ liÖu hoÆc mét m¶ng m· lÖnh nμo ®ã mμ m¶ng nμy l¹i kh«ng cã trong DRAM th× nã sÏ ®−îc t¶i vμo DRAM. NÕu DRAM kh«ng cßn chç ®Ó chøa th× mét m¶ng nμo ®ã cña DRAM sÏ ®−îc x¸c ®Þnh theo c¸c tiªu chuÈn nhÊt ®Þnh ®Ó bÞ ®Èy trë l¹i æ ®Üa, nh−êng chç cho m¶ng ®ang cÇn lÊy vμo. Mét c¬ chÕ t−¬ng tù còng sÏ ®iÒu khiÓn ho¹t ®éng cña bé nhí Èn vμ bé nhí chÝnh. Nãi c¸ch kh¸c, bé nhí DRAM ®ãng vai trß lμ bé nhí Èn cña bé nhí phô, cßn chÝnh b¶n th©n bé nhí DRAM l¹i cã bé nhí cache lμm bé nhí Èn cho riªng cña m×nh. Trong thùc tÕ 1 ®o¹n cã thÓ cã ®é lín cì 1 byte-4 GB cßn 1 trang th«ng th−êng cã ®é lín lμ 4 KB. 311
  5. Nh− trªn ®· nãi, bé nhí chÝnh (cßn ®−îc gäi lμ bé nhí vËt lý) lμ bé nhí b¸n dÉn ROM+RAM thùc tÕ cã mÆt trong hÖ thèng vi xö lý, víi dung l−îng lín nhÊt bÞ h¹n chÕ bëi kh¶ n¨ng ph©n biÖt ®Þa chØ cña CPU. Theo quan ®iÓm cña bé nhí ¶o th× bé nhí vËt lý ch¼ng qua chØ lμ chç chøa c¸c m¶ng (c¸c ®o¹n hay c¸c trang) hiÖn ®ang cã liªn hÖ víi hÖ ®iÒu hμnh hoÆc víi ch−¬ng tr×nh cña ng−êi sö dông. §Ó truy nhËp ®Õn bé nhí ¶o ta dïng ®Þa chØ ¶o (®Þa chØ logic) cßn ®Ó truy nhËp ®Õn bé nhí vËt lý ta ph¶i dïng ®Þa chØ vËt lý. Trong hÖ vi xö lý cã MMU, CPU khi ho¹t ®éng cÇn ®äc lÖnh hoÆc to¸n h¹ng th× nã ®−a ra ®Þa chØ ¶o cña to¸n h¹ng hoÆc cña lÖnh ®ã. MMU nhËn ®Þa chØ ¶o vμ dÞch (chuyÓn ®æi) nã ra ®Þa chØ vËt lý, ®Þa chØ nμy ®−îc ®−a lªn bus ®Þa chØ ®Ó truy nhËp bé nhí vËt lý (h×nh 10.1). bé dÞch ®Þa chØ cña ®Þa chØ ¶o ®Þa chØ vËt lý MMU H×nh 10.1. Chøc n¨ng dÞch (chuyÓn ®æi) ®Þa chØ cña MMU. DÞch ®Þa chØ trong hÖ thèng lμm viÖc theo c¸ch ph©n ®o¹n ®Þa chØ logic SELECTOR OFFSET ®Þa chØ c¬ së c¸c bit b¶o vÖ, cña ®o¹n ®iÒu khiÓn ®Þa chØ B¶ng + vËt lý : : m« t¶ : : Bé phËn tÝnh ®Þa chØ kiÓu ph©n ®o¹n H×nh 10.2. DÞch ®Þa chØ ¶o → ®Þa chØ vËt lý trong hÖ thèng ph©n ®o¹n. 312
  6. Trong c¸c hÖ thèng cã dïng bé vi xö lý tõ 80286-Pentium, khi lμm viÖc trong chÕ ®é ph©n ®o¹n, mét b¶ng m« t¶ sÏ ®−îc dïng lμm bé dÞch ®Þa chØ (h×nh 10.2). §Þa chØ logic gåm 2 phÇn: phÇn chän (SELECTOR) dïng ®Ó chØ vμo b¶ng m« t¶ ®Ó chän ra ®Þa chØ c¬ së ®o¹n vμ mét phÇn lμ ®é lÖch (OFFSET) so víi ®Þa chØ c¬ së ®o¹n. Trong phÇn chän cã 2 bit dμnh riªng ®Ó m· ho¸ møc ®Æc quyÒn th©m nhËp vμo mét ®o¹n nμo ®ã cña ch−¬ng tr×nh ®ang ch¹y. ë b¶ng m« t¶, mçi phÇn tö cña b¶ng nμy gåm 2 phÇn, mét phÇn chøa ®Þa chØ c¬ së ®o¹n dïng ®Ó t×m ra ®Þa chØ vËt lý cña to¸n h¹ng, mét phÇn chøa c¸c bit qu¶n lý (gåm c¸c bit ®iÒu khiÓn vμ c¸c bit b¶o vÖ cña ®o¹n). 2 bit trong sè c¸c bit nμy chøa møc ®Æc quyÒn th©m nhËp cña ®o¹n. Khi mét ch−¬ng tr×nh cã nhu cÇu th©m nhËp mét ®o¹n nμo ®ã, MMU sÏ so s¸nh møc ®Æc quyÒn cña ch−¬ng tr×nh ®−îc ghi trong phÇn chän vμ møc ®Æc quyÒn cña ®o¹n ®−îc ghi trong phÇn c¸c bit qu¶n lý. NÕu møc ®Æc quyÒn trong phÇn chän lμ lín h¬n hoÆc b»ng møc ®Æc quyÒn trong phÇn qu¶n lý th× MMU cho phÐp ch−¬ng tr×nh ®−îc th©m nhËp vμo ®o¹n ®−îc yªu cÇu. Trong tr−êng hîp ng−îc l¹i, ch−¬ng tr×nh yªu cÇu th©m nhËp kh«ng ®−îc MMU trao cho quyÒn th©m nhËp vμ MMU g©y ra ng¾t ®Ó b¸o cho CPU biÕt lμ cã sù vi ph¹m ®Æc quyÒn th©m nhËp vμo vïng nhí. Bé nhí nhê vËy mμ ®−îc b¶o vÖ. DÞch ®Þa chØ trong hÖ thèng lμm viÖc theo c¸ch ph©n trang Trong c¸c hÖ thèng cã dïng bé vi xö lý tõ 80386-Pentium, ngoμi viÖc qu¶n lý bé nhí ¶o theo ®o¹n, MMU cßn cã kh¶ n¨ng qu¶n lý theo trang. ViÖc qu¶n lý bé nhí ¶o theo trang rÊt ®−îc c¸c nhμ chÕ t¹o m¸y tÝnh quan t©m. C¸c bé vi xö lý lo¹i RISC vμ c¸c bé vi xö lý 680x0 cña Motorola ®Òu sö dông c¸ch qu¶n lý nμy. ViÖc Intel vÉn cßn dïng c¸ch qu¶n lý bé nhí ¶o theo ®o¹n trong c¸c vi xö lý ®êi míi cèt lμ ®Ó b¶o ®¶m tÝnh t−¬ng thÝch víi 80268. Trong khi lμm viÖc theo kiÓu ph©n trang, ng−êi ta chän ®é lín cña trang lμ 4KB ®Ó ®¹t ®−îc tèc ®é tèi −u khi ph¶i trao ®æi c¸c trang qua l¹i gi÷a æ ®Üa vμ bé nhí b¸n dÉn. Khi lμm viÖc theo kiÓu ph©n trang, ®Þa chØ logic ®−îc ®−a qua bé phËn tÝnh ®Þa chØ theo kiÓu ph©n ®o¹n ®Ó thu ®−îc ®Þa chØ tuyÕn tÝnh, tõ ®©y nã ®−îc ®−a qua bé phËn ph©n trang ®Ó dÞch thμnh ®Þa chØ vËt lý (xem h×nh 10.3). Bé phËn tÝnh ®Þa Bé phËn tÝnh ®Þa chØ kiÓu ph©n trang chØ kiÓu ph©n ®o¹n ®Þa chØ ¶o dÞa chØ vËt lý ®Þa chØ tuyÕn tÝnh 313
  7. H×nh 10.3. Ph©n ®o¹n vμ ph©n trang trong 80386. Trong c¸c bé vi xö lý tõ 80386 trë ®i cã c¸c thanh ghi ®iÒu khiÓn CR dμi 32 bit, ®−îc ®¸nh sè tõ CR0-CR3. Khi muèn cho c¸c bé vi xö lý lμm viÖc theo chÕ ®é ph©n trang, ta ph¶i ®−a bit ®iÒu khiÓn thÝch hîp vμo thanh ghi CR0 sao cho CR031=1. CR3 lóc nμy sÏ chøa ®Þa chØ c¬ së cña danh môc b¶ng trang. §Þa chØ tuyÕn tÝnh gåm 3 phÇn: + PhÇn danh môc (DIRECTORY) sÏ céng víi néi dung cña CR3 ®Ó chØ vμo mét danh môc mong muèn trong danh môc c¸c b¶ng trang. + PhÇn b¶ng trang (PAGE TABLE) sÏ ®−îc céng víi néi dung cña danh môc mong muèn trong danh môc c¸c b¶ng trang thu ®−îc ë trªn ®Ó chØ tiÕp vμo mét b¶ng trang mong muèn trong c¸c b¶ng trang. + PhÇn lÖch (OFFSET) sÏ ®−îc céng víi néi dung cña b¶ng trang mong muèn trong c¸c b¶ng trang thu ®−îc ë trªn ®Ó chØ tiÕp vμo to¸n h¹ng hoÆc m· lÖnh cÇn t×m trong giíi h¹n cña khu«n trang mong muèn. §Þa chØ tuyÕn tÝnh DIRECTORY TABLE OFFSET 31 0 31 0 CPU + 31 0 + + Bé nhí vËt lý B¶ng trang 31 0 Thanh ghi ®iÒu Danh môc b¶ng trang khiÓn CR3 H×nh 10.4. DÞch ®Þa chØ tuyÕn tÝnh → ®Þa chØ vËt lý trong hÖ thèng ph©n trang. Sau ®©y ta sÏ nãi qua vÒ c¬ chÕ b¶o vÖ khi CPU lμm viÖc ë chÕ ®é ph©n trang. Trong b¶ng trang, mçi môc cho mét khu«n trang 4 KB bao gåm c¸c bit ®Þa chØ c¬ së cña khu«n trang vμ c¸c bit qu¶n lý. Trong danh môc b¶ng trang còng vËy, mçi môc cho mét b¶ng trang bao gåm c¸c bit ®Þa chØ c¬ së cña b¶ng trang vμ c¸c bit qu¶n lý. 314
  8. Trong sè c¸c bit qu¶n lý cã bit U/S (user/supervisor) dïng ®Ó m· ho¸ c¸c møc ®Æc quyÒn (U/S=1 biÓu thÞ møc ®Æc quyÒn cña hÖ ®iÒu hμnh vμ øng víi møc 0, 1, 2 trong chÕ ®é ph©n ®o¹n; U/S=0 biÓu thÞ møc ®Æc quyÒn cña ng−êi sö dông vμ øng víi møc 3 trong chÕ ®é ph©n ®o¹n) vμ bit R/W (read/write) dïng ®Ó biÓu hiÖn quyÒn ghi-®äc vμo trang hoÆc vμo b¶ng trang. Tæ hîp cña 2 bit nμy t¹o thμnh m· c¸c møc ®Æc quyÒn th©m nhËp (ghi/®äc) kh¸c nhau (11 lμ møc cao nhÊt, 00 lμ møc thÊp nhÊt). Sau khi ®· nªu c¸c ®Æc ®iÓm chÝnh chung nhÊt trong c¬ chÕ ho¹t ®éng cña c¸c bé vi xö lý cao cÊp cña Intel, trong phÇn tiÕp theo ta sÏ giíi thiÖu s¬ qua ho¹t ®éng vμ mét sè ®Æc ®iÓm quan träng kh¸c cña c¸c bé vi xö lý nμy. 3. CPU 80286 Bé vi xö lý 80286 cã 16 bit d÷ liÖu vμ 24 bit ®Þa chØ riªng biÖt (kh«ng dån kªnh). C¸c tÝn hiÖu cña 80286 vÒ c¬ b¶n gièng nh− 8086. Nã ho¹t ®éng gièng nh− 8086 ë chÕ ®é MAX vμ nã cÇn thªm mét bé ®iÒu khiÓn bus lμ 80288 vμ mét m¹ch ®ång hå lμ 80284. 80286 cã mÆt trong c¸c m¸y IBM PC/AT vμ IBM PS/2. D15-D0 D15-D8 D7-D0 80286 CH½N LÎ A22-A0 A22-A0 BHE A0 A23-A1 (BHE: Bus high enable) H×nh 10.5. Phèi ghÐp 80286 víi bé nhí. • Phèi ghÐp CPU 80286 víi bé nhí Bé nhí cña 80286 còng gièng nh− ë 8086 ®−îc tæ chøc tõ 2 b¨ng: b¨ng ch½n (chøa c¸c « nhí cã ®Þa chØ ch½n) vμ b¨ng lÎ (chøa c¸c « nhí cã ®Þa chØ lÎ). Khi lμm viÖc víi b¨ng ch½n th× ph¶i cã xung chän A0=0, khi lμm viÖc víi b¨ng lÎ th× ph¶i cã xung chän BHE=0. Muèn truy nhËp ®Õn mét tõ th¼ng hμng (byte thÊp ë ®Þa chØ ch½n, byte cao ë ®Þa chØ lÎ) th× c¶ 2 b¨ng ph¶i ®−îc chän bëi A0=0 vμ BHE=0. S¬ ®å phèi ghÐp 80286 víi bé nhí ®−îc biÓu diÔn trªn h×nh 10.5. 315
  9. • ChÕ ®é ®Þa chØ thùc vμ chÕ ®é b¶o vÖ CPU 80286 cã thÓ lμm viÖc ë mét trong 2 chÕ ®é: chÕ ®é ®Þa chØ thùc vμ chÕ ®é b¶o vÖ. CPU 80286, sau khi ®−îc bËt ®iÖn hoÆc sau khi cã xung reset, sÏ lμm viÖc ë chÕ ®é ®Þa chØ thùc, trong chÕ ®é ®Þa chØ nμy ®Þa chØ vËt lý n»m trong giíi h¹n 1 MB vμ ®−îc tÝnh b»ng c¸ch céng ®Þa chØ ®o¹n ®· ®−îc dÞch tr¸i víi ®Þa chØ lÖch nh− ®· ®−îc lμm víi 8086. §Þa chØ khëi ®éng cña 80286 lμ FFFFF0H, tõ ®Þa chØ nμy CPU nh¶y vÒ ®Þa chØ khëi ®éng gièng nh− ë 8086 (FFFF0H) ®Ó b¾t ®Çu lμm viÖc. Trong chÕ ®é nμy 80286 ho¹t ®éng gièng hÖt 8086, nh−ng nhê nh÷ng c¶i tiÕn vÒ mÆt ®iÖn tö m¹ch 80286 sÏ ch¹y nhanh h¬n 8086 víi cïng mét tÇn sè ®ång hå. Khi ®· ë chÕ ®é ®Þa chØ thùc, nÕu 80286 ch¹y d−íi mét hÖ ®iÒu hμnh ®a nhiÖm, nã cã thÓ ®−îc chuyÓn sang chÕ ®é b¶o vÖ b»ng c¸ch thay ®æi bit cho phÐp lμm viÖc ë chÕ ®é b¶o vÖ cã trong thanh ghi tõ tr¹ng th¸i m¸y (MSW) cña 80286. Lóc nμy bé MMU cña 80286 b¾t ®Çu lμm viÖc vμ cho phÐp c¸c c¬ chÕ bé nhí ¶o vμ c¬ chÕ b¶o vÖ ho¹t ®éng. Trong chÕ ®é nμy 80286 cã kh¶ n¨ng lμm viÖc víi bé nhí ¶o cã dung l−îng tèi ®a 1 GB hoÆc mét bé nhí vËt lý 16 MB. Mét khi 80286 ®· lμm viÖc ë chÕ ®é b¶o vÖ, ®Ó ®−a nã trë l¹i chÕ ®é ®Þa chØ thùc ta chØ cã mét c¸ch duy nhÊt lμ t¸c ®éng vμo ch©n reset. VËy lμ hÖ ®iÒu hμnh kh«ng cã kh¶ n¨ng ®Ó chuyÓn qua l¹i gi÷a 2 chÕ ®é. H¹n chÕ nμy sÏ ®−îc gì bá trong c¸c bé vi xö lý tõ 80386 trë ®i. • C¸c lÖnh míi chñ yÕu cña 80286 C¸c lÖnh míi cña 80286 bao trïm hÕt c¸c lÖnh cña 8086. Ngoμi ra 80286 cßn cã c¸c lÖnh kh¸c m¹nh h¬n vμ ta sÏ chØ tr×nh bμy sau ®©y c¸c lÖnh quan träng nhÊt tõ quan ®iÓm cña ng−êi sö dông ®Ó t¹o ra c¸c ch−¬ng tr×nh øng dông. CÇn nh¾c thªm lμ ®Ó dÞch vμ cho ch¹y c¸c lÖnh cña 80286 t¹i dßng ®Çu tiªn cña ch−¬ng tr×nh hîp ng÷ ta ph¶i cã h−íng dÉn ch−¬ng tr×nh dÞch: .286 C¸c lÖnh míi chñ yÕu cña 80286: + INS: cho phÐp ®äc 1 byte hoÆc 1 word tõ cæng cã ®Þa chØ cho bëi néi dung thanh ghi DX vμo thanh ghi nμo ®ã. §é dμi thanh ghi ®Ých sÏ quyÕt ®Þnh ®ã lμ byte hay tõ. VÝ dô INS CX,DX ; ®äc vμo 1 tõ INS CL,DX ; ®äc vμo 1 byte 316
  10. + INSB/INSW: cho phÐp ®äc 1 phÇn tö (byte/word) cña chuçi tõ cæng, cã ®Þa chØ cho bëi néi dung thanh ghi DX, vμo « nhí do cÆp ES:DI chØ ra, sau ®ã DI sÏ tù ®éng cËp nhËt ®Ó chØ vμo phÇn tö tiÕp theo tuú thuéc ®ã lμ chuçi byte/tõ vμ tuú thuéc gi¸ trÞ cê DF. + OUTS: cho phÐp ®−a 1 byte hoÆc 1 word tõ mét thanh ghi nμo ®ã ra cæng cã ®Þa chØ cho bëi néi dung thanh ghi DX . §é dμi thanh ghi gèc sÏ quyÕt ®Þnh ®ã lμ byte hay tõ. VÝ dô OUTS DX,CX ; ®−a ra 1 tõ OUTS DX,CL ; ®−a ra 1 byte + OUTSB/OUTSW cho phÐp ®−a 1 phÇn tö (byte/word) cña chuçi tõ « nhí, cã ®Þa chØ do cÆp DS:SI chØ ra, ra cæng cã ®Þa chØ cho bëi néi dung thanh ghi DX, sau ®ã SI sÏ tù ®éng cËp nhËt ®Ó chØ vμo phÇn tö tiÕp theo tuú thuéc ®ã lμ chuçi byte/tõ vμ tuú thuéc gi¸ trÞ cê DF. + PUSHA: cÊt c¶ 8 thanh ghi ®a n¨ng vμo ng¨n xÕp. + PUSH thtt: cÊt to¸n h¹ng tøc th× to¸n h¹ng tøc th× thtt vμo ng¨n xÕp. + POPA: lÊy l¹i c¶ 8 thanh ghi ®a n¨ng tõ ng¨n xÕp. + c¸c lÖnh SHIFT/ROTATE ®Ých, sèlÇn: sÏ cho phÐp viÕt trùc tiÕp sèlÇn dÞch hoÆc quay ngay trong lÖnh mμ kh«ng ph¶i th«ng qua thanh ghi CL n÷a. + IMUL ®Ých, thtt: cho phÐp viÕt lÖnh nh©n víi to¸n h¹ng tøc th× thtt. + IMUL ®Ých, sèbÞnh©n, thtt: cho phÐp viÕt lÖnh nh©n gi÷a sè bÞ nh©n víi sè nh©n lμ to¸n h¹ng tøc th× thtt, trong ®ã: ®ich lμ thanh ghi 16 bit, sèbÞnh©n cã thÓ lμ thanh ghi 16 bit hay « nhí 16 bit. 4. CPU 80386 vμ 80486, Pentium Nh− trªn ®©y ®· nãi, CPU 80386 vμ CPU 80486-Pentium cã nhiÒu ®iÓm kh¸ gièng nhau, ngo¹i trõ viÖc trong 80486 ®· cã cÊy s½n bé xö lý ®Êu ph¶y ®éng FPU hoÆc trong Pentium cã c¶ FPU lÉn 2 bé IU (2 bé ALU cho sè nguyªn 64 bit). VÒ mÆt lËp tr×nh cã thÓ coi c¸c bé vi xö lý 80386 vμ 80486, Pentium lμ nh− nhau. Trong 80386 cã 8 thanh ghi ®a n¨ng 32 bit lμ EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP. Mçi thanh ghi nμy cã thÓ ho¹t ®éng gièng nh− c¸c thanh ghi 16 bit cña 8086. CPU 80386 cßn cã 6 thanh ghi ®o¹n 16 bit, ®ã lμ thanh ghi ®o¹n m· CS, thanh ghi ®o¹n ng¨n xÕp SS vμ c¸c thanh ghi ®o¹n d÷ liÖu DS, ES, GS, FS. Thanh ghi EIP dμi 32 bit chøa bªn trong thanh ghi IP cña 8086 vμ thanh ghi cê 32 bit EFLAGS chøa bªn trong thanh ghi FLAGS cña 80286. 317
  11. CPU 80386 cã thÓ lμm viÖc ë mét trong ba chÕ ®é: • ChÕ ®é ®Þa chØ thùc Trong chÕ ®é ®Þa chØ thùc 80386 ho¹t ®éng ë chÕ ®é ph©n ®o¹n víi kh¶ n¨ng ph©n biÖt ®Þa chØ bé nhí 1 MB vμ víi c¸c ®o¹n cã ®é dμi lín nhÊt lμ 64 KB nh− 8086. C¸c thanh ghi ®a n¨ng cã thÓ cã kÝch th−íc 8-32 bit tuú theo to¸n h¹ng. Ta cã thÓ lμm viÖc víi 4 thanh ghi ®o¹n d÷ liÖu. Thanh ghi cê cho chÕ ®é ®Þa chØ thùc chØ lμ 16 bit (FLAGS). Khi bËt ®iÖn hoÆc sau khi cã xung reset 80386 lμm viÖc ë chÕ ®é ®Þa chØ thùc. §Þa chØ khëi ®éng cña 80386 lμ FFFFFFFOH, tõ ®Þa chØ nμy CPU nh¶y vÒ ®Þa chØ khëi ®éng gièng nh− ë 8086 (FFFF0H) ®Ó b¾t ®Çu lμm viÖc. Môc ®Ých chÝnh cña chÕ ®é ®Þa chØ thùc lμ ®Ó khëi ®Çu cho 80386 chuÈn bÞ cho chÕ ®é b¶o vÖ. • ChÕ ®é 8086 ¶o ChÕ ®é nμy cho phÐp c¸c ch−¬ng tr×nh øng dông cña 8086 ch¹y ®−îc trªn 80386 víi c¬ chÕ b¶o vÖ. §Æc biÖt c¸c ch−¬ng tr×nh øng dông vμ hÖ ®iÒu hμnh DOS cña 8086 vμ c¸c ch−¬ng tr×nh øng dông vμ hÖ ®iÒu hμnh UNIX cña 80386 cã thÓ ch¹y trªn cïng mét bé vi xö lý. Bé vi xö lý 80386 chuyÓn rÊt dÔ dμng tõ chÕ ®é b¶o vÖ sang chÕ ®é 8086 ¶o hoÆc ng−îc l¹i b»ng c¸ch lËp/xo¸ bit VM trong thanh ghi EFLAGS. Trong chÕ ®é nμy vi xö lý 80386 coi mçi ch−¬ng tr×nh lμ 1 t¸c vô råi dμnh cho mçi t¸c vô mét kh«ng gian ®Þa chØ 1 MB vμ nã tÝnh ®Þa chØ vËt lý theo cÆp thanhghi®o¹n: thanhghilÖch nh− ë bé vi xö lý 8086. C¸c kh«ng gian 1 MB nμy ®−îc CPU 80386 qu¶n lý theo kiÓu ph©n trang nªn cã thÓ n»m r¶i r¸c trong kh«ng gian tæng thÓ 4 GB mμ 80386 cã kh¶ n¨ng ph©n biÖt ®−îc. ChÝnh v× vËy cã thÓ dïng c¸c bit U/S vμ R/W ®Ó t¹o ra c¬ chÕ b¶o vÖ cho bé nhí trong chÕ ®é 8086 ¶o nμy. • ChÕ ®é b¶o vÖ ChÕ ®é b¶o vÖ cho phÐp ta khai th¸c hÕt søc m¹nh ®−îc thiÕt kÕ cho CPU 80386. M¹ch 80386 chuyÓn chÕ ®é lμm viÖc tõ chÕ ®é ®Þa chØ thùc sang chÕ ®é b¶o vÖ hoÆc ng−îc l¹i nhê viÖc lËp/xo¸ bit D0 cña thanh ghi ®iÒu khiÓn CR0. Trong chÕ ®é b¶o vÖ 80386 cã thÓ lμm viÖc theo c¸ch ph©n ®o¹n hoÆc ph©n trang nh− ®· tr×nh bμy tr−íc ®©y. Mçi ®o¹n cã thÓ cã ®é dμi tíi 4 GB, mçi trang lμ 4 KB vμ bé nhí ¶o cã thÓ cã ®é dμi lín nhÊt lμ 64 TB. • Phèi ghÐp CPU 80386 víi bé nhí 318
  12. S¬ ®å phèi ghÐp CPU 80386 víi bé nhí ®−îc biÓu diÔn trªn h×nh 10.6. D31-D1 D7-D0 D15-D8 D31-D24 D23-D16 D7-D0 D7-D0 D7-D0 D7-D0 80386 A29-A0 A29-A0 A29-A0 A29-A0 BE3 BE2 BE1 BE0 A31-A2 (BE: Byte enable) H×nh 10.6. Phèi ghÐp 80386 víi bé nhí 32 bit. • Phèi ghÐp Pentium víi bé nhí S¬ ®å phèi ghÐp CPU Pentium víi bé nhí ®−îc biÓu diÔn trªn h×nh 10.7. A31-A3 D63-D0 D7 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A28 D0 A0 D7 A0 D7 A0 D7 A0 D7 A0 D7 A0 D7 A0 D7 A0 Pentium (8) (7) (6) (5) (4) (3) (2) (1) BE7#-BE0# BE7# BE6# BE5# BE4# BE3# BE2# BE1# BE0# (Cho Pentium BEi# ≡ BEi ) H×nh 10.7. Phèi ghÐp Pentium víi bé nhí 64 bit. 319
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2