歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

微型計(jì)算機(jī)原理與應(yīng)用-第11章%20

  • 資源ID:249895424       資源大小:1.93MB        全文頁數(shù):94頁
  • 資源格式: PPT        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

微型計(jì)算機(jī)原理與應(yīng)用-第11章%20

單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,,*,*,第,11,章,32,位微處理器,,湯世平,,北京理工大學(xué),,目錄,,11.1 80386,微處理器的結(jié)構(gòu),,11.2 32,位微處理器的地址總線和數(shù)據(jù)總線,,11.3 32,位微處理器的工作方式,,11.4,實(shí)地址方式,,11.5,保護(hù)方式,,11.6,虛擬,8086,方式,,11.7 80486,位微處理器的特點(diǎn)簡介,,11.8 Pentium,微處理器,,2,,11.1 80386,微處理器的結(jié)構(gòu),,,,,3,,1,.,中央處理部件,(CPU),指令部件,,指令預(yù)取隊(duì)列,,已譯碼指令隊(duì)列,,執(zhí)行部件,,32,位的算術(shù)運(yùn)算單元,ALU,,8,個(gè),32,位通用寄存器組,,64,位的桶形移位器和乘/除硬件,,4,,2.,存儲(chǔ)管理部件,(MMU),分段部件,,分頁部件,,頁是機(jī)械劃分的,每,4KB,為一頁,程序或數(shù)據(jù)均以頁為單位進(jìn)入實(shí)存,,存儲(chǔ)器按段來組織,每段包含若干個(gè)頁,段的最大容量可達(dá),4000MB,,一個(gè)任務(wù)最多可包含,16K,個(gè)段,每個(gè)任務(wù)可使用,64MMB,的虛擬存儲(chǔ)空間,,高速緩沖存儲(chǔ)器,(cache),,構(gòu)成完整的,cache—,主存,—,輔存的,3,級(jí)存儲(chǔ)體系,,5,,3,.,總線接口部件,(BIU),數(shù)據(jù)總線,,地址總線,,控制總線,,包括訪問存儲(chǔ)器預(yù)取指令,讀/寫數(shù)據(jù)和訪問,I,/,O,端口讀/寫數(shù)據(jù)等全部操作及其他控制功能,,,6,,80386,的寄存器,,通用寄存器組,,段寄存器指令指針,,標(biāo)志寄存器,,控制寄存器,,系統(tǒng)地址寄存器,,調(diào)試寄存器,,測試寄存器,,,7,,11.2 32,位微處理器的地址總線和數(shù)據(jù)總線,80X86CPU,對(duì)外的地址總線和數(shù)據(jù)總線都是,32,條,如何來進(jìn)行,16,位和,8,位數(shù)的傳送呢,?,,,8,,11.2.1,地址總線,,80X86CPU,的,32,位地址總線是用,30,條地址線,A,2,~A,31,加上,4,個(gè)字節(jié)允許符,BE,0,~BE,3,來實(shí)現(xiàn)。這,4,個(gè)字節(jié)允許符給出了兩個(gè)最低有效地址位和傳送寬度編碼。,,9,,11.2.2,數(shù)據(jù)總線,32,位數(shù)據(jù)總線是,32,條三態(tài)雙向數(shù)據(jù)線,D,0,~D,31,。,,D,0,~D,7,為最低字節(jié),,D,24,~D,31,為最高字節(jié)。,,可以使用,BS8,和,BS16,引腳輸入控制信號(hào)來改變數(shù)據(jù)總線的寬度,將數(shù)據(jù)傳送到,8,位或,16,位設(shè)備中去。使,32,位微處理器能直接與,32,位、,16,位或,8,位總線相連接。,,10,,11.2.3,總線傳送機(jī)制,,32,位微處理器的所有數(shù)據(jù)傳送都是由一個(gè)或多個(gè)總線周期來完成。,,1,字節(jié)、,2,字節(jié)或,4,字節(jié)的邏輯數(shù)據(jù)操作數(shù)可以在物理地址不對(duì)界的情況下傳送。在對(duì)界時(shí)的操作數(shù)只需要,1,個(gè)總線周期,而對(duì)于不對(duì)界時(shí)的操作數(shù)就需要,2,個(gè)或,3,個(gè)總線周期。,,80X86CPU,地址信號(hào)的設(shè)計(jì)可以簡化外部系統(tǒng)的硬件。高位地址由,A,2,~A,31,提供。低位地址則以,BE,0,~BE,3,形式提供了,32,位數(shù)據(jù)總線,4,個(gè)字節(jié)的選擇信號(hào)。,,有時(shí),對(duì)多總線接口需要,A0,和,A1,這兩個(gè)地址信號(hào),可由圖,11.11,所示的邏輯電路產(chǎn)生。這樣,由,A,2,~A,31,和,BE,0,~BE,3,就能形成了完整的,80X86CPU,的,32,條地址線。,,11,,圖,11.11,11.3 32,位微處理器的工作方式,,實(shí)地址方式,(real mode),,保護(hù)方式,(protected mode),,可訪問,2,32,字節(jié)的物理存儲(chǔ)空間,段長為,2,32,字節(jié),而且還可以實(shí)施保護(hù)功能,,虛擬,8086,方式,(virtual 8086 mode),,既能有效利用保護(hù)功能,又能執(zhí)行,8086,代碼的工作方式,,CPU,與保護(hù)方式下的原理相同,但程序指定的邏輯地址與,8086 CPU,解釋相同,,運(yùn)行和轉(zhuǎn)換的關(guān)系如圖,11.12,所示,,13,,圖,11.12,,當(dāng),CPU,進(jìn)行啟動(dòng)或復(fù)位時(shí)首先進(jìn)入實(shí)地址方式工作。修改控制寄存器,CR,0,的機(jī)器狀態(tài)字時(shí),就可以由實(shí)地址方式轉(zhuǎn)換到保護(hù)方式工作。再執(zhí)行,IRET,指令或進(jìn)行任務(wù)轉(zhuǎn)換,就可由保護(hù)方式轉(zhuǎn)移到虛擬,8086,方式工作。,,任務(wù)轉(zhuǎn)換功能是,32,位微處理器的特點(diǎn)之一,采用中斷處理,就可再把,CPU,從虛擬,8086,方式返回到保護(hù)方式,以及實(shí)地址方式。,,,15,,,在實(shí)地址方式運(yùn)行時(shí),,32,位微處理器就像一個(gè)速度很快的,8086 CPU,,但是,對(duì)某些指令,它也可擴(kuò)展為,32,位。,,保護(hù)方式提供了復(fù)雜的存儲(chǔ)器管理和處理器的特權(quán)級(jí)能力。在保護(hù)方式運(yùn)行時(shí),可實(shí)現(xiàn)任務(wù)的切換,即切換到虛擬,8086,方式,允許執(zhí)行,8086,的操作系統(tǒng)和應(yīng)用程序,使,32,位微處理器實(shí)現(xiàn)多任務(wù)和多用戶的目標(biāo)。,,,16,,11.4,實(shí)地址方式,,32,位微處理器復(fù)位或加電后即處于實(shí)地址方式。實(shí)地址方式具有與,8086,相同的特性,但允許訪問,32,位寄存器組。其尋址機(jī)制、存儲(chǔ)器訪問范圍和中斷控制等都與,8086 CPU,相同。,,32,位微處理器中分段存儲(chǔ)器管理的工作原理。,,在實(shí)地址方式中默認(rèn)的操作數(shù)是,16,位數(shù),段的大小是,64KB,。則,32,位有效地址必須是比,0000FFFFH,小的值。,,為了使用,32,位寄存器和尋址方式必須用超越前綴。,,實(shí)地址方式尋址方法如圖,11.13,所示。,,,17,,圖11.13,,實(shí)地址方式的首要目的是安排,32,位微處理器進(jìn)入保護(hù)方式。,,在實(shí)地址方式運(yùn)行時(shí),最大的存儲(chǔ)器訪問范圍是,1MB,。因此,僅,A,0,~A,19,地址線有效,,A,20,~,A,31,地址線是高電平。,,19,,,在實(shí)地址方式運(yùn)行時(shí),不允許分頁,物理地址是由相應(yīng)的段寄存器內(nèi)容:左移,4,位;再加上指定的偏移量而形成。與,8086 CPU,相同。,,在實(shí)地址方式中,存儲(chǔ)器內(nèi)保留兩個(gè)固定的區(qū)域,即系統(tǒng)初始化區(qū)和中斷向量表。,FFFFFFF0H,~,FFFFFFFFH,為系統(tǒng)初始化保留區(qū),,C0000H,~,003FFH,為中斷向量表,對(duì),256,級(jí)中斷的每一級(jí)都有一個(gè)相應(yīng)的,4,字節(jié)跳轉(zhuǎn)向量。,,20,,11.4.1 32,位微處理器的地址空間,,3,種不同方式的地址空間,,邏輯空間、線性空間和物理空間。,,可以訪問,2,32,字節(jié)的物理存儲(chǔ)器,但它支持多個(gè)任務(wù)時(shí),每個(gè)任務(wù)又能得到最大為,2,46,字節(jié)。,,這就出現(xiàn)了,2,32,字節(jié)的物理存儲(chǔ)器如何去分配給多個(gè)任務(wù)的存儲(chǔ)器管理問題。,,物理存儲(chǔ)器是,CPU,可訪問的存儲(chǔ)器空間,其容量由,CPU,的地址總線寬度所決定;而虛擬存儲(chǔ)器是程序占有的空間,它的容量是由,CPU,內(nèi)部結(jié)構(gòu)所決定。,,段部件將邏輯地址空間轉(zhuǎn)換為,32,位的線性地址空間。如果不使用分頁部件,則,32,位線性地址就對(duì)應(yīng)著物理地址。分頁部件能將線性地址空間轉(zhuǎn)換為物理地址空間。,,21,,,對(duì)于,8086 CPU,來說,程序占有的存儲(chǔ)器與,CPU,可以訪問的存儲(chǔ)器是一致的,其容量都是,1MB,。,,對(duì),32,位微處理器來說,物理存儲(chǔ)器與虛擬存儲(chǔ)器是有區(qū)別的,其容量也不同。用戶在寫程序時(shí),其程序是存在磁盤里,因此可寫,2,46,字節(jié)的程序。然而,在執(zhí)行程序時(shí),一定要把程序加載到物理存儲(chǔ)器。但是,物理存儲(chǔ)器的容量只有,2,32,字節(jié)。因此,存在著物理存儲(chǔ)器的如何分配問題,即存儲(chǔ)器管理。這種存儲(chǔ)器管理是由操作系統(tǒng)進(jìn)行,但,32,位微處理器內(nèi)部固件就有支持存儲(chǔ)器管理的功能。,,我們在對(duì)程序進(jìn)行編碼時(shí),不可能直接指定物理存儲(chǔ)器地址。這時(shí),程序占有的是虛擬存儲(chǔ)器地址。該地址是由程序指定,所以也叫做“邏輯地址”。,,22,,,32,位微處理器中程序占有的虛擬存儲(chǔ)器如圖,11.14,所示。,,它與,8086 CPU,相同,程序可以是有多段構(gòu)成的。,,圖,11.14,只表示了一個(gè)有,OMEGA,變量,(,位置,),的數(shù)據(jù)段。在程序中,OMEGA,的虛擬存儲(chǔ)器地址由邏輯地址所決定。,,,23,,圖11.14,,例如,要把,AL,寄存器內(nèi)容傳送到這個(gè)位置,就要采用如下指令:,,,MOV FS,:,OMEGA,,,AL,,FS,:,OMEGA,是名為,OMEGA,的虛擬存儲(chǔ)器地址的邏輯地址格式。,,像,8086 CPU,那樣,,OMEGA,是存入該段的開始地址到,OMEGA,位置的偏移量中。,,在,8086 CPU,中,段寄存器,FS,是段基地址;而在,32,位微處理器中,則是段選擇器。段選擇器的作用是間接地來指定段。,,25,,,用程序來處理的所有地址都是以邏輯地址格式指定的虛擬地址。,,32,位微處理器實(shí)際使用的,FS,寄存器是其中的高,14,位。,,因此,虛擬地址共可有,46,位,虛擬存儲(chǔ)器地址的空間范圍也就是,2,46,字節(jié)。,,26,,,32,位微處理器對(duì)程序指定的,46,位虛擬地址又是怎樣變換成為,32,位物理地址的呢,?,,在,32,位微處理器里有了一個(gè)“分段部件”,如圖,11.15,所示。,,它能把,46,位虛擬地址變換成為,32,位物理地址。,,,27,,圖11.15,,也可用,8086 CPU,中邏輯地址變換為物理地址的方法來理解,32,位微處理器的變換,如圖,11.16,所示。,,29,,圖11.16,,在,8086 CPU,中,段寄存器的內(nèi)容就是段的基地址,為了換算成起始地址,把它左移,4,位,(×16),即可。但對(duì),32,位微處理器,用,16,位段選擇器變換成為,32,位段地址就比較復(fù)雜。,,32,位,CPU,的選擇器寄存器共有,16,位,除上述高,14,位作為虛擬存儲(chǔ)器地址空間外,其最后兩位是請求保護(hù)特權(quán)級(jí),(RPL),。,,31,,11.4.2,描述符表,,在,32,位微處理器里,由虛擬地址變換為物理地址時(shí)需要用描述符表。,,描述符表與程序一起保存在虛擬存儲(chǔ)器中,程序執(zhí)行時(shí)都要裝入物理存儲(chǔ)器。,,在描述符表里描述符記載的僅是程序段數(shù),如圖,11.17,所示。,,描述符長度由,8,個(gè)字節(jié)組成。它記載著段的起始地址、大小和屬性。,,CPU,根據(jù)虛擬地址的選擇器從描述符表選定一個(gè)描述符,讀取存于其描述符中的起始地址等參數(shù),進(jìn)行虛擬地址到物理地址的變換。,,32,,圖11.17,,32,位微處理器為了讀取描述符中的起始地址,一定先要知道描述符的物理地址。所以,在,CPU,中有描述符表寄存器,其中存有描述符表的起始地址。計(jì)算的方法如下:,,(,選擇器中高,13,位數(shù),)×8+(,描述符表的起始地址,)=,,描述符的物理地址,,其中,乘以,8,是因?yàn)槊枋龇?8,個(gè)字節(jié)組成。,,利用選擇器,從描述符表可以找到段的起始地址,也稱為段基地址??梢哉f,選擇器的功能是用間接方法指定段的基地址,也可理解為選擇器在確定段地址時(shí),起到索引的作用。,,如上所述,,32,位微處理器的軟件在執(zhí)行時(shí)需要有把虛擬地址變換為物理地址的描述符表,而,8086 CPU,的代碼里不包含描述符表,因此,在保護(hù)方式時(shí)軟件不可能執(zhí)行。,,,34,,,操作系統(tǒng)的存儲(chǔ)器管理工作是包括段起始地址的管理,可以以段為單位把程序分配到物理存儲(chǔ)器。而,32,位微處理器的作用是根據(jù)描述符表把程序指定的虛擬地址變換為物理地址,它起到支持存儲(chǔ)器管理的功能。,,在,32,位微處理器中虛擬地址用以下格式表示:段寄存器:偏移量,例如:,,,FS,:,OMEGA,,FS,:,OMEGA,所表示的地址是虛擬存儲(chǔ)器中某位置的地址,不是實(shí)際物理地址,是虛擬地址,也稱為邏輯地址。,,35,,11.4.3,段寄存器,,32,位微處理器是根據(jù)描述符表實(shí)現(xiàn)把虛擬地址變換成物理地址。訪問描述符表就要花費(fèi)時(shí)間,使,CPU,速度降低。采用段寄存器來替代描述符表。,,32,位微處理器的段寄存器要比,8086 CPU,中復(fù)雜得多。它由,16,位選擇器寄存器與,64,位描述符寄存器構(gòu)成,描述符寄存器中內(nèi)容是復(fù)制記載在描述符表中的描述符。,,因?yàn)橹挥?CS,,,SS,,,DS,,,ES,,,FS,和,GS 6,個(gè)選擇器寄存器,所以也只能復(fù)制,6,條描述符,如圖,11.18,所示。,,36,,圖11.18,,CPU,把虛擬地址變換成物理地址變成為訪問存儲(chǔ)器,實(shí)際上訪問描述符寄存器,也就等于訪問了描述符表,所以速度很快。,,例如:,,,MOV AH,,,FS,:,OMEGA,,把,FS,:,OMEGA,的虛擬地址變換成物理地址時(shí),要訪問,FS,描述符寄存器,使用保存在描述符寄存器中的段起始地址,如圖,11.19(a),所示。,,38,,圖11.19,,例,11.2,,PUSH EAX,,把,EAX,的內(nèi)容壓入堆棧,SS,:,ESP,的虛擬地址,但是存入,SS,描述符寄存器中的段起始地址加上,ESP,寄存器中內(nèi)容,(,偏移量,),形成物理地址如圖,11.19(b),所示。,,40,,11.4.4,描述符,,描述符的作用是描述段,由,8,個(gè)字節(jié)組成,如圖,11.20,所示。,,圖11.20,,41,,,其中,20,位記載段的大小,它等于段字節(jié)數(shù)減,1,,同時(shí)也限制各邏輯段的長度不超過,64KB,;,,32,位記載段的起始地址;,,8,位記載訪問權(quán)字節(jié),用來定義該段的有關(guān)特性;,,還記載有,G,位,,D,位,,U,位和,1,位預(yù)約位。,,G,位為,0,時(shí),段的單位大小是,1,字節(jié);,,G,位為,1,時(shí),段的單位大小是,4KB,。,,因此,當(dāng),G,位為,0,時(shí),段的最大范圍是,1MB,;當(dāng),G,位為,1,時(shí),段的最大范圍是,4GB,。,,,42,,11.5,保護(hù)方式,,32,位微處理器的段寄存器從結(jié)構(gòu)到數(shù)據(jù)處理都比原來的要復(fù)雜得多,,為了多任務(wù)操作系統(tǒng)的需要,微處理器必須要有一種對(duì)數(shù)據(jù)處理有更為可靠的運(yùn)行方式,即保護(hù)方式,,特權(quán)級(jí)、存儲(chǔ)器保護(hù)功能和分頁管理,,,43,,11.5.1 32,位微處理器的保護(hù)機(jī)制,,支持多任務(wù)操作系統(tǒng),,以,4,個(gè)特權(quán)級(jí)來隔離或保護(hù)各用戶及操作系統(tǒng),,不同等級(jí)的特權(quán)級(jí)不能訪問所規(guī)定區(qū)域外的單元,,數(shù)據(jù)也不能寫到禁止寫入的段里。,,44,,1.,特權(quán)級(jí)及特權(quán)級(jí)規(guī)則,PL (protected level)——,特權(quán)級(jí)。,32,位微處理器在保護(hù)方式運(yùn)行時(shí),分為,4,個(gè)特權(quán)級(jí),,PL0,級(jí)是最高級(jí),,PL3,級(jí)是最低級(jí)。,,RPL——,請求特權(quán)級(jí)。由選擇符提供的特權(quán)級(jí)請求符。,RPL,由選擇符的最低兩位決定。,,DPL——,特權(quán)級(jí)描述符。一個(gè)任務(wù)可以訪問的描述符。,DPL,由選擇符所訪問權(quán)字節(jié)的第,5,和第,6,兩位決定。,,32,位微處理器提供的保護(hù)機(jī)制不是通過復(fù)雜的外部硬件,而是使用,CPU,內(nèi)部固件來實(shí)現(xiàn)。它主要包括分段保護(hù)及分頁保護(hù)。,,CPL——,當(dāng)前特權(quán)級(jí),是當(dāng)前正在執(zhí)行任務(wù)的特權(quán)級(jí)。它相當(dāng)于正執(zhí)行代碼段的優(yōu)先級(jí)。,CPL,由檢測,CS,寄存器的最低兩位來決定。,,EPL——,有效特權(quán)級(jí),是,RPL,和,DPL,的最低特權(quán)級(jí)。因?yàn)檩^小的特權(quán)級(jí)值代表了較高的特權(quán)級(jí),因此,,EPL,是,RPL,和,DPL,兩者中數(shù)值較大的那個(gè)特權(quán)級(jí)。,,45,,保護(hù)方式的概念,,32,位微處理器用保護(hù)權(quán)等級(jí)來劃分計(jì)算機(jī)中的各類軟件。,4,級(jí)特權(quán)在計(jì)算機(jī)中形成的保護(hù)體制如圖所示。,,內(nèi)部的,PL=0,,I/O,系統(tǒng)的,PL=1,,操作系統(tǒng)的,PL=2,,應(yīng)用軟件的,PL=3,,由,CPU,強(qiáng)制實(shí)施,,,46,,特權(quán)級(jí)的運(yùn)作規(guī)則,,存儲(chǔ)在特權(quán)級(jí)為,PL,段中的數(shù)據(jù),僅可由至少像,PL,同樣特權(quán)級(jí)上執(zhí)行的代碼來訪問。,,具有特權(quán)級(jí)為,PL,的代碼段或過程可由與,PL,相同或低于,PL,特權(quán)級(jí)的任務(wù)來調(diào)用。,,47,,11.5.2,保護(hù)方式的尋址方法,,32,位微處理器的保護(hù)方式可以擴(kuò)大線性地址空間,從,4GB(2,32,字節(jié),),擴(kuò)大到,64MMB(2,46,字節(jié)或,64,萬億字節(jié),),,可運(yùn)行虛擬存儲(chǔ)器程序。另外,保護(hù)方式提供了精巧復(fù)雜的內(nèi)存管理和硬件輔助的保護(hù)機(jī)構(gòu)。,,保護(hù)方式和實(shí)地址方式間的主要差別是增加了地址空間和一個(gè)不同的尋址機(jī)制,,48,,,邏輯地址由兩部分來形成,,一個(gè),16,位的選擇符用來確定段的起始地址,,一個(gè),32,位的偏移,,形成一個(gè),32,位線性地址,這個(gè)線性地址就叫做,32,位物理地址。,,在保護(hù)方式下,選擇符用來指定一個(gè)查找由操作系統(tǒng)定義的一個(gè)表所需的變址,如圖,11.22,所示。這個(gè)表包含一個(gè)已給段的,32,位起始地址。從這表中得到的起始地址加上偏移就得到物理地址。,,49,,圖11.22,11.5.3,分頁,,分頁是另一種存儲(chǔ)器管理方式。,,與分段不同,分頁是把程序分為許多大小相同的頁;而分段是將程序和數(shù)據(jù)模塊化,劃成可變長度的段。,,所以,頁與程序的邏輯結(jié)構(gòu)沒有直接關(guān)系。在任何時(shí)刻,每個(gè)任務(wù)所需激活的“頁”是很少的。,,“分頁”提供一種另外的內(nèi)存管理機(jī)制,只有在保護(hù)方式下才起作用,分頁提供了一個(gè)管理,32,位微處理器非常大的段的方法。,,分頁的作用是在分段的基礎(chǔ)上進(jìn)行的。,,分頁機(jī)制把來自分段單元保護(hù)線性地址轉(zhuǎn)換為一個(gè)物理地址,如圖,11.23,給出了在允許分頁條件下,32,位微處理器的尋址機(jī)制。,,51,,圖11.23,1.,分頁部件的結(jié)構(gòu),32,位微處理器用兩級(jí)表形式,在分頁部件中把線性地址轉(zhuǎn)換成物理地址。其工作機(jī)制如圖,11.24,所示。,,,53,,圖11.24,,由,3,部分組成,,頁目錄,,頁表,,頁面,,每一頁面的長度均為,4K,。,,CR,2,是頁面故障線性地址寄存器,保存最近一次頁面故障的地址,(32,位線性地址,),。,,CR,3,是頁目錄物理基地址寄存器,存有頁目錄的物理起始地址。,,CR,3,中的低,12,位總為,0,,以保證頁目錄始終按頁面界對(duì)齊。,,55,,2.,頁目錄,頁目錄長度為,4KB,。,,每一個(gè)頁目錄條目為,4,字節(jié),其內(nèi)容如圖,11.25(a),所示。,,頁目錄總共可容納,1024,個(gè)頁目錄條目。,,線性地址的高,10,位,(A,22,~,A,31,),用作要選取頁目錄條目的變址。,,56,,3.,頁表,頁表長度也為,4KB,。,,每一個(gè)頁表?xiàng)l目為,4,字節(jié),其內(nèi)容如圖,11.25(b),所示。,,頁表總共也可容納,1024,個(gè)頁表?xiàng)l目,其地址,A,12,~,A,21,位用于在,1024,個(gè)頁表?xiàng)l目中選擇其一的變址。,,頁表?xiàng)l目中的高,20,位是頁面地址,把頁面地址加上線性地址的低,12,位,(,偏移,),就是分頁部件所得到的物理地址。,,57,,圖11.25,4.,頁面級(jí)保護(hù),兩級(jí)保護(hù),,用戶級(jí)保護(hù):相當(dāng)于分段機(jī)制保護(hù)的第,3,級(jí),,管理級(jí)保護(hù):相當(dāng)于,0,,,1,,,2,級(jí)。,,在頁表?xiàng)l目,(,見圖,11.25(b)),中的第,1,位,(R/W),和第,2,位,(U/S),可用來保護(hù)該頁面,,在頁目錄條目,(,見圖,11.25(a)),中的第,1,位,(R/W),和第,2,位,(U/S),可用來保護(hù)頁目錄中所包括的全部頁面。,,59,,,例如,在頁目錄條目中,其,U/S,和,R/W,位是,10,,而在頁表?xiàng)l目中,其,U/S,和,R/W,位是,01,;這時(shí),對(duì)頁的訪問權(quán)應(yīng)在頁表?xiàng)l目中和頁目錄條目中取最大限制的,U/S,和,R/W,值來尋址該頁,也就是這兩數(shù)值中的小者,即,01,。,,,60,,11.6,虛擬,8086,方式,,運(yùn)行,8086,應(yīng)用程序,,實(shí)地址方式,,虛擬,8086,方式,(,虛擬方式,),,虛擬方式為系統(tǒng)設(shè)計(jì)者提供了最大的靈活性。,,在虛擬方式下,可以盡量利用,32,位微處理器的保護(hù)機(jī)構(gòu)。,,尤其是允許同時(shí)執(zhí)行,8086,的操作系統(tǒng)及其應(yīng)用程序和,32,位微處理器操作系統(tǒng)的應(yīng)用程序。,,在一個(gè)多用戶的,80X86,計(jì)算機(jī)中,一個(gè)用戶可以運(yùn)行,Windows,版本,另一個(gè)用戶可以使用,MS-DOS,,而第,3,個(gè)用戶則可以運(yùn)行多個(gè),Unix,資源及其應(yīng)用程序等。,,在這種環(huán)境下的每一個(gè)用戶就好像完全擁有該計(jì)算機(jī)資源,如圖,11.26,所示。,,61,,圖11.26,1.,虛擬,8086,方式的尋址機(jī)制,實(shí)地址方式與保護(hù)方式的一個(gè)主要差別:對(duì)段選擇字的不同解釋。,,虛擬,8086,方式,段寄存器與實(shí)地址方式是一樣的。段寄存器的內(nèi)容左移,4,位后與偏移量相加形成段基本線性地址。,,32,位微處理器允許操作系統(tǒng)在每一個(gè)任務(wù)內(nèi)指定哪些程序使用,8086,方式的地址機(jī)構(gòu),哪些程序則使用保護(hù)方式尋址。,,利用分頁,可以把虛擬方式任務(wù)的,1MB,地址空間映射到,32,位微處理器的,4GB,線性地址空間的任一空間中去。,,有效地址不能超出,64KB,。然而,這些限制并不是很重要的,因?yàn)榇蠖鄶?shù)在虛擬,8086,方式下運(yùn)行的程序是目前已有的,8086,應(yīng)用程序。,,63,,2.,虛擬,8086,方式下的分頁,分頁硬件允許同時(shí)運(yùn)行多個(gè)虛擬任務(wù),并提供保護(hù)及操作系統(tǒng)隔離。,,運(yùn)行虛擬方式任務(wù)不一定要采用分頁,但是對(duì)于運(yùn)行多個(gè)虛擬任務(wù)或把虛擬方式任務(wù)的地址重新分配到大于,1MB,的物理地址空間上時(shí)需要分頁部件。,,分頁機(jī)制把虛擬方式的程序產(chǎn)生的,20,位線性地址分成,256,個(gè)頁面。,,每一頁面可以安排在,32,位微處理器,4GB,物理地址空間的任何位置上。,,64,,,由于是通過一個(gè)任務(wù)的切換來裝載,CR,3,(,頁檢索基址寄存器,),的,所以每一個(gè)虛擬方式下的任務(wù)可以利用不同的映射方式把頁面映射到不同的物理地址上。,,分頁機(jī)制允許多個(gè),8086,應(yīng)用程序共享,8086,操作系統(tǒng)。,,圖,11.26,表示了,32,位微處理器分頁部件能使多個(gè),8086,程序在虛擬存儲(chǔ)器的情況下運(yùn)行,這就要求分頁系統(tǒng)。,,65,,3.,虛擬,8086,方式下的保護(hù),所有的虛擬,8086,方式程序都是在特權(quán)級(jí),3,下運(yùn)行的,這是最低特權(quán)級(jí)。,,虛擬,8086,方式程序要服從所有的保護(hù)方式所定義的保護(hù)檢查,,這與實(shí)地址方式不同,它是在特權(quán)級(jí),0,下執(zhí)行的,這是最高的特權(quán)級(jí),,在虛擬,8086,方式下,要想執(zhí)行一條賦予了特權(quán)級(jí)的指令會(huì)導(dǎo)致系統(tǒng)故障。,,66,,,有些特權(quán)級(jí)的指令,它們僅可在特權(quán)級(jí),0,下執(zhí)行的。,,要想使這些指令在虛擬,8086,方式下,(,或當(dāng),CPL>0),執(zhí)行將導(dǎo)致系統(tǒng)故障。,,對(duì)于應(yīng)用于多任務(wù)方式和保護(hù)方式的指令,只能在保護(hù)方式中執(zhí)行。,,要想使下面的指令在實(shí)地址方式或虛擬,8086,方式下執(zhí)行會(huì)產(chǎn)生系統(tǒng)故障。,,67,,4.,中斷處理,虛擬,8086,方式中的中斷是在一個(gè)獨(dú)特的方式中進(jìn)行處理的。,,當(dāng)在虛擬方式中運(yùn)行時(shí),所有的中斷都包括一個(gè)返回主,32,位微處理器操作系統(tǒng)的特權(quán)級(jí)變化。,,中斷是來自保護(hù)方式應(yīng)用程序還是虛擬方式程序是由,32,位微處理器操作系統(tǒng)通過檢查放在堆棧中的,EFLAGS,的映像中的,VM,位來加以確定的。,,68,,5.,線性地址變換成物理地址,在保護(hù)方式尋址時(shí),存儲(chǔ)器用分頁方式管理。,,把,1234056H,的線性地址變換為物理地址的實(shí)例如圖,11.27,所示。,,CR,3,寄存器內(nèi)存有頁目錄的物理地址,(5000H),。線性地址的,31,~,22,位,(12H),作為頁目錄的索引使用。將索引乘以,4,即,4×12H,,得到頁目錄項(xiàng)的偏移量。因此,頁目錄項(xiàng)的物理地址為,5048H,。,,69,,圖11.27,,求得的頁表的物理地址的,31,~,12,位,存入頁目錄項(xiàng),31,~,12,位,這頁目錄項(xiàng)的內(nèi)容為,0000BH,。,,線性地址的位,21,~,12(34H),為頁表的索引使用,與頁目錄項(xiàng)相同,求得頁表登記項(xiàng)的物理地址為,0B0D0H,。,,頁表項(xiàng)內(nèi)容的位,31,~,12(3000H),是物理存儲(chǔ)器的頁地址的位,31,~,12,。把作為線性地址的位,11,~,0(56H),的偏移量與頁地址相加,就形成物理地址,(3000056H),。,,71,,,上例說明如何把段部件輸出的,4834056H,的線性地址由頁部件換算為,3000056H,的物理地址。,,計(jì)算物理地址時(shí),利用了存入物理存儲(chǔ)器的頁目錄與頁表。,,圖,11.27,中只畫出一個(gè)頁表,但頁表數(shù)最大為,1K,個(gè)。,,,72,,,操作系統(tǒng)通過對(duì)項(xiàng)目與頁表內(nèi)容的管理,把,2,32,字節(jié)的物理存儲(chǔ)器以頁為單位分配給每個(gè)任務(wù),每個(gè)任務(wù)擁有,2,46,字節(jié)的程序,并進(jìn)行管理。,,CPU,的頁管理部件由頁目錄與頁表把線性地址變換為物理地址。,,73,,11.7 80486,位微處理器的特點(diǎn)簡介,除了有一般,32,位微處理器的保護(hù)功能、存儲(chǔ)器管理功能、任務(wù)轉(zhuǎn)換功能、分頁功能和片內(nèi)高速緩存器外,還具有浮點(diǎn)數(shù)運(yùn)算部件。因此,在計(jì)算機(jī)系統(tǒng)內(nèi)不再需要數(shù)字協(xié)處理器,是一種完整的,32,位微處理器。,,能運(yùn)行,Windows, DOS, OS/2,和,UNIX V/386,等操作系統(tǒng),它與,Intel,公司的,80X86,系列的各種微處理器保持二進(jìn)制兼容。,,具有完整的,RISC,內(nèi)核,使得常用的指令執(zhí)行時(shí)間都只要一個(gè)時(shí)鐘周期。,,采用,8KB,統(tǒng)一的代碼和數(shù)據(jù),cache(,高速緩沖存儲(chǔ)器,),,具有,160MB/s,的突發(fā)總線,保證在整機(jī)中采用了廉價(jià)的,DRAM(,動(dòng)態(tài),RAM),能達(dá)到較高的系統(tǒng)流通量。,,內(nèi)部的自測試功能包括執(zhí)行代碼和訪問數(shù)據(jù)時(shí)的斷點(diǎn)陷阱,會(huì)廣泛地測試片上邏輯、,cache,和分頁轉(zhuǎn)換,cache,。,,74,,11.8 Pentium,微處理器,,有兩組算術(shù)邏輯單元,(ALU),、兩條流水線、能同時(shí)執(zhí)行兩條指令;,,并且把數(shù)據(jù),cache(,高速緩沖存儲(chǔ)器,),和代碼,cache,分開;,,不僅提高了總線的速度;還將數(shù)據(jù)總線增加到,64,條;,,流水浮點(diǎn)部件提供了工作站的特性。,,因此它幾乎具有兩臺(tái),80X86,的功能。,,75,,11.8.1 Pentium,微處理器結(jié)構(gòu),,Pentium,微處理器的結(jié)構(gòu)方框如圖,11.28,所示。,,是一種雙,ALU,流水線工作的結(jié)構(gòu),使得每個(gè)時(shí)鐘周期可執(zhí)行兩條指令;并且把代碼,cache,和數(shù)據(jù),cache,分開,減少了,cache,的沖突。,,內(nèi)部是由總線部件、,cache,部件、代碼預(yù)取部件、指令譯碼部件、浮點(diǎn)數(shù)部件、頁部件、控制部件、執(zhí)行部件、分支目標(biāo)緩沖器等組成;其內(nèi)部數(shù)據(jù)總線為,64,位,同時(shí)可傳輸或處理,8,字節(jié)的數(shù)據(jù)。,,76,,圖11.28,11.8.2 Pentium,微處理器流水線的工作原理,微處理器流水線對(duì)指令操作一般分為以下,5,個(gè)步驟:,,① 預(yù)取,(PF),;,,② 指令譯碼,(D1),;,,③ 產(chǎn)生地址,(D2),;,,④ 執(zhí)行,ALU,和,cache,訪問,(EX),;,,⑤ 回寫,(WB),。,,以每個(gè)操作步驟均為,1,個(gè)時(shí)鐘周期的指令為例,其流水線工作過程如圖,11.29,所示。這種指令稱為整數(shù)指令。,,Pentium,微處理器能支持并行執(zhí)行兩條指令。在并行執(zhí)行中也有,5,個(gè)流水操作步驟,它在流水線中執(zhí)行整數(shù)指令時(shí),即每一個(gè)步驟都只有一個(gè)時(shí)鐘周期,如圖,11.30,所示。,,78,,圖11.29,圖11.30,,Pentium,微處理器中的兩條流水線稱為“,U”,和“,V”,流水線。,,并行發(fā)出兩條指令的過程稱“配對(duì)”。,,當(dāng)指令配對(duì)時(shí),發(fā)到“,V”,流水線的指令總是發(fā)到“,U”,流水線這條指令后邊緊接著的一條指令。,,“,U”,流水線可以執(zhí)行,80X86CPU,結(jié)構(gòu)的任何指令,而“,V”,流水線執(zhí)行的只是簡單的指令。,,所謂簡單指令是指完全是由硬件實(shí)現(xiàn),不需任何代碼控制的指令。通常是在一個(gè)時(shí)鐘內(nèi)執(zhí)行完成一條整數(shù)指令。,,80,,11.8.3 Pentium,微處理器的數(shù)據(jù)總線和地址總線,64,條數(shù)據(jù)總線是一般,32,位微處理器的一倍。這,64,條數(shù)據(jù)線,D,0,~,D,63,是三態(tài)雙向數(shù)據(jù)線。,,它不采用,BS8,和,BS16,信號(hào)來改變數(shù)據(jù)總線的傳輸寬度,而是采用地址總線的接口電路來實(shí)現(xiàn),如圖,11.31,所示。,,32,位地址總線是用,29,條地址線,A,3,~,A,31,加上,8,個(gè)字節(jié)允許符,BE,0,~,BE,7,來實(shí)現(xiàn)。,,地址總線提供內(nèi)存和,I/O,端口的物理地址。,32,位微處理器的物理尋址空間有,4GB,,即,2,32,字節(jié);而,I/O,地址空間只有,64KB,,即,2,16,字節(jié)。所以,,A,3,~,A,31,用來尋址到一個(gè),8,個(gè)字節(jié)的單元,而用,BE,0,~,BE,7,來標(biāo)識(shí)在當(dāng)前傳送操作中這,8,個(gè)字節(jié)單元的處理方法。,,64,位、,32,位、,16,位和,8,位存儲(chǔ)器尋址接口,如圖,11.32,所示。,,81,,圖11.31,圖11.32,11.8.4 Pentium,微處理器的存儲(chǔ)器結(jié)構(gòu),可以,64,位、,32,位、,16,位和,8,位的數(shù)據(jù)進(jìn)行訪問。,,存儲(chǔ)器空間是按,64,位組成一個(gè)單位構(gòu)成的。每,64,位單元都有在存儲(chǔ)器地址上連續(xù)的,8,個(gè)獨(dú)立可尋址的字節(jié),如圖,11.33,所示。,,64,位存儲(chǔ)器構(gòu)成,4,字,(8,字節(jié),),陣列,,4,字的起始地址應(yīng)可被,8,除,所以可通過,A,31,~,A,3,尋址。,,32,位存儲(chǔ)器構(gòu)成,2,字,(4,字節(jié),),陣列,雙字的起始地址應(yīng)可被,4,除,所以可通過,A,31,~,A,3,和,A,2,對(duì)雙字尋址。,,16,位存儲(chǔ)器構(gòu)成字,(2,字節(jié),),陣列,字的起始地址應(yīng)可被,2,除,所以可通過,A,31,~,A,3,和,A,2,、,A,1,對(duì)字尋址。,,,84,,圖11.33,11.8.5 Pentium,微處理器的分支預(yù)測,用一個(gè)分支目標(biāo)緩沖器來預(yù)測分支指令的結(jié)果,,使得通過預(yù)取的指令順序所造成的流水拖延時(shí)間,減到最小。,,,,86,,11.8.7 Pentium,微處理器的外部中斷,外部中斷在指令邊界識(shí)別,指令邊界是指在指令流水線的執(zhí)行步驟中的第,1,個(gè)工作時(shí)鐘周期,即意味著在指令執(zhí)行之前。,,外部中斷優(yōu)先級(jí)自高到低的次序?yàn)椋?,BUSCHK——,總線檢查輸入;,,R/S——,異步中斷輸入;,,FLUSH——cache,清洗;,,SMI——,系統(tǒng)管理中斷;,,INIT——,啟動(dòng)中斷;,,NMI——,非屏蔽中斷;,,INTR——,可屏蔽中斷。,,87,,11.8.8 Pentium,微處理器的浮點(diǎn)數(shù)部件,預(yù)取,(PF),。,,指令譯碼,(D1),。,,產(chǎn)生地址,(D2),。,,存儲(chǔ)器和寄存器讀,(EX),;轉(zhuǎn)換浮點(diǎn)數(shù)為外部存儲(chǔ)器數(shù)據(jù)格式,并進(jìn)行存儲(chǔ)器寫操作。,,浮點(diǎn)執(zhí)行步驟,1(X1),;轉(zhuǎn)換外部存儲(chǔ)器格式為內(nèi)部浮點(diǎn)數(shù)數(shù)據(jù)格式并進(jìn)行寫操作,把數(shù)放到浮點(diǎn)數(shù)寄存器堆中。,,浮點(diǎn)數(shù)執(zhí)行步驟,2(X2),。,,執(zhí)行舍入和寫浮點(diǎn)數(shù)結(jié)果到寄存器堆,(WF),。,,錯(cuò)誤報(bào)告或修改狀態(tài)字,(ER),,88,,11.8.9 Pentium,微處理器的高速緩沖存儲(chǔ)器,集成有,16KB,至,64KB,的,cache,,數(shù)據(jù),cache,和代碼,cache,各為一半。這些,cache,對(duì)應(yīng)用軟件透明以維持與,80X86 CPU,結(jié)構(gòu)的兼容性。,,數(shù)據(jù),cache,完全支持,MESI (modified/ exclusive/ shared/invalid),回寫,cache,一致性協(xié)議。代碼,cache,具有固有的寫保護(hù)以避免偶然的錯(cuò)誤。,,每,8KB,的,cache,構(gòu)成為兩路組相關(guān)。在每個(gè),cache,中有,128,組,每組包含,2,行,(,每行都有其自己的標(biāo)記地址,),。每,cache,行是,32,字節(jié)寬。,,數(shù)據(jù)和指令兩,cache,的替換是通過,LRU,機(jī)構(gòu)管理,在每個(gè),cache,中每組需要一位。,,指令和數(shù)據(jù),cache,可以同時(shí)訪問,,89,,11.8.10 Pentium,微處理器初始化方式,先驅(qū)動(dòng),RESET,引腳有效,迫使它處于啟動(dòng)狀態(tài)。,,在,RESET,下降沿對(duì)自測試,(BIST),,功能冗余度檢測和三態(tài)測試模式進(jìn)行選擇。,,除了,RESET,引腳外,,Pentium,微處理器還有一個(gè)初始化引腳,(INIT),,它使處理器在不破壞內(nèi)部,cache,內(nèi)容或浮點(diǎn)狀態(tài)的情況下,從一已知狀態(tài)開始執(zhí)行。,,,90,,,1.,加電,加電期間,當(dāng),V,CC,接近正常工作電壓時(shí),,RESET,必須建立,(,此時(shí),CLK,必須翻轉(zhuǎn),),。,,在,V,CC,和,CLK,達(dá)到它們規(guī)定的電氣特性后,,RESET,必須保持,1ms,。,,91,,2.,測試,當(dāng),RESET,從高到低變化時(shí)采樣,INIT,,,FLUSH,和,FRCMC 3,個(gè)輸入引腳,以便確定,CPU,以下是進(jìn)行自測試,或者進(jìn)入三態(tài)測試模式或功能冗余度檢測模式。,,,92,,3. RESET,和,INIT,RESET,和,INIT,兩引腳是用于以兩種不同的方式來復(fù)位,Pentium,微處理器。,,前者是當(dāng),Pentium,微處理器開始加電時(shí),與,RESET,建立有關(guān)的“冷”或“加電”復(fù)位。,,后者是當(dāng)V,CC,和,CLK,維持在規(guī)定的操作界限內(nèi),與,RESET,或,INIT,建立有關(guān)的“熱”復(fù)位。,,觸發(fā),RESET,或,INIT,引腳迫使,Pentium,微處理器從地址,FFFFFFF0H,開始執(zhí)行。,,可用物理存儲(chǔ)器頂部的,ROM,初始化系統(tǒng)。,,93,,課后作業(yè),,11.1,,11.2,,11.5,,,94,,

注意事項(xiàng)

本文(微型計(jì)算機(jī)原理與應(yīng)用-第11章%20)為本站會(huì)員(沈***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!