第3章奔騰系列微處理器._第1頁
第3章奔騰系列微處理器._第2頁
第3章奔騰系列微處理器._第3頁
第3章奔騰系列微處理器._第4頁
第3章奔騰系列微處理器._第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 掌握掌握PentiumPentium微處理器的原理結(jié)構(gòu)、基本寄微處理器的原理結(jié)構(gòu)、基本寄存器組中各寄存器的組成和功能、存器組中各寄存器的組成和功能、PentiumPentium工工作的實模式、保護模式以及虛擬作的實模式、保護模式以及虛擬80868086模式模式 掌握掌握PentiumPentium微處理器的超標量流水線技術(shù)微處理器的超標量流水線技術(shù) 熟悉存儲器的保護、浮點運算部件以及與之熟悉存儲器的保護、浮點運算部件以及與之相配套一起實現(xiàn)浮點運算的浮點寄存器等相配套一起實現(xiàn)浮點運算的浮點寄存器等 了解了解PentiumPentium微處理器的外部引腳微處理器的外部引腳 了解了解Pentium

2、 ProPentium Pro ItaniumItanium的技術(shù)概況的技術(shù)概況教學目的和教學要求教學目的和教學要求重點:重點:n Pentium工作的實模式、保護模式以及虛擬工作的實模式、保護模式以及虛擬8086模式的工模式的工作原理作原理n Pentium微處理器的超標量流水線技術(shù)微處理器的超標量流水線技術(shù)n Pentium微處理器的原理結(jié)構(gòu)微處理器的原理結(jié)構(gòu)難點:難點:n Pentium微處理器的只分段、只分頁管理微處理器的只分段、只分頁管理n Pentium微處理器的既分段又分頁管理微處理器的既分段又分頁管理n 存儲保護中的特權(quán)級保護方式存儲保護中的特權(quán)級保護方式本章重點、難點本章重點

3、、難點3.1 Pentium3.1 Pentium性能和結(jié)構(gòu)特點性能和結(jié)構(gòu)特點 3.1.1 Pentium性能簡介(性能簡介(1 1) 19931993年年3 3月月IntelIntel公司推出了第五代微處理器公司推出了第五代微處理器Pentium PentiumPentium Pentium是微處理器本質(zhì)上的一次創(chuàng)新是微處理器本質(zhì)上的一次創(chuàng)新PentiumPentium采用了采用了0.8m0.8m雙極性互補金屬氧化半導(dǎo)體雙極性互補金屬氧化半導(dǎo)體(BiCMOSBiCMOS)技術(shù),它屬于單芯片超標量流水線微處)技術(shù),它屬于單芯片超標量流水線微處理器,片內(nèi)集成了多達理器,片內(nèi)集成了多達310310

4、萬個晶體管,工作電壓萬個晶體管,工作電壓+5V+5V,功耗,功耗15W15W。片內(nèi)時鐘頻率(微處理器主頻)與。片內(nèi)時鐘頻率(微處理器主頻)與外片主總線的時鐘頻率相等,均為外片主總線的時鐘頻率相等,均為60MHz60MHz或或66MHz66MHz兩兩種種 3.1.1 Pentium性能簡介(性能簡介(2)19941994年年3 3月之后推出的月之后推出的PentiumPentium(P54CP54C)采用了)采用了0.6m0.6m的的CMOSCMOS技術(shù),工作電壓降為技術(shù),工作電壓降為3.3V3.3V,功耗降,功耗降至至4W4W。主總線時鐘頻率有。主總線時鐘頻率有50MHz50MHz、60MHz

5、60MHz以及以及66MHz66MHz等,經(jīng)倍頻后作為等,經(jīng)倍頻后作為PentiumPentium(P54CP54C)內(nèi)部的時鐘頻)內(nèi)部的時鐘頻率(主頻),表率(主頻),表3-13-1列出了幾種列出了幾種PentiumPentium(P54CP54C)的主頻與工作電壓的主頻與工作電壓 表表3-1 3-1 幾種幾種PentiumPentium的主頻與工作電壓的主頻與工作電壓 型型 號號 主總線時鐘主總線時鐘頻(頻(MHzMHz) 倍數(shù)因子倍數(shù)因子 主頻(主頻(MHz) 工作電壓工作電壓 Pentium90 601.5903.3V或或2.9V Pentium100 601.51003.3V Pen

6、tium120 6021203.3VPentium133 6021333.3VPentium150 602.51503.3VPentium166 662.51663.3VPentium200 6632003.3V3.1.1 Pentium性能簡介(性能簡介(3)PentiumPentium通往外部存儲器的數(shù)據(jù)總線為通往外部存儲器的數(shù)據(jù)總線為6464位,位,CPUCPU內(nèi)部主要寄存器的寬度仍然為內(nèi)部主要寄存器的寬度仍然為3232位,那么位,那么PentiumPentium、PentiumPentium(P54CP54C)應(yīng)該是)應(yīng)該是3232位微處位微處理器。外部理器。外部6464位數(shù)據(jù)總線(位

7、數(shù)據(jù)總線(D D6363- -D D0 0)每次可同)每次可同時傳輸時傳輸8 8字節(jié)的二進制信息,若選用主總線時字節(jié)的二進制信息,若選用主總線時鐘頻率鐘頻率66MHz66MHz計算,即存儲器總線的時鐘頻率計算,即存儲器總線的時鐘頻率也為也為66MHz66MHz,則,則PentiumPentium與主存儲器交換數(shù)據(jù)與主存儲器交換數(shù)據(jù)的速率可為的速率可為528MB/S528MB/S3.1.2 Pentium的原理結(jié)構(gòu)的原理結(jié)構(gòu)(1)一、一、Pentium CPUPentium CPU內(nèi)部的主要部件內(nèi)部的主要部件總線接口部件總線接口部件U U流水線和流水線和V V流水線流水線指令高速緩沖存儲器指令高

8、速緩沖存儲器CacheCache數(shù)據(jù)高速緩沖存儲器數(shù)據(jù)高速緩沖存儲器CacheCache指令預(yù)取部件指令預(yù)取部件指令譯碼器指令譯碼器浮點處理部件浮點處理部件FPUFPU分支目標緩沖器分支目標緩沖器BTBBTB微程序控制器中的控制微程序控制器中的控制ROMROM寄存器組寄存器組PentiumPentium微處理器的原理結(jié)構(gòu)圖如圖微處理器的原理結(jié)構(gòu)圖如圖3-13-1所示所示Pentium CPU原理結(jié)構(gòu)圖原理結(jié)構(gòu)圖3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(2) 二、原理結(jié)構(gòu)二、原理結(jié)構(gòu) 在在Pentium CPUPentium CPU中,總線接口部件實現(xiàn)中,總線接口部件實現(xiàn)CPUCPU與系

9、統(tǒng)總線之間的連接,其中包括與系統(tǒng)總線之間的連接,其中包括6464位雙向位雙向的數(shù)據(jù)線、的數(shù)據(jù)線、3232位地址線和所有的控制信號線,位地址線和所有的控制信號線,具有鎖存與緩沖等功能,總線接口部件實現(xiàn)具有鎖存與緩沖等功能,總線接口部件實現(xiàn)CPUCPU與外設(shè)之間的信息交換,并產(chǎn)生相應(yīng)的與外設(shè)之間的信息交換,并產(chǎn)生相應(yīng)的各類總線周期各類總線周期3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(3)1.互相獨立的指令互相獨立的指令Cache和數(shù)據(jù)和數(shù)據(jù)Cache PentiumPentium則在片內(nèi)設(shè)置了則在片內(nèi)設(shè)置了2 2個獨立的個獨立的8KB Cache8KB Cache,分,分別用于存放指令代碼

10、與數(shù)據(jù)。指令別用于存放指令代碼與數(shù)據(jù)。指令CacheCache是內(nèi)存中一是內(nèi)存中一部分程序的副本,通過猝發(fā)方式從內(nèi)存中每次讀入一部分程序的副本,通過猝發(fā)方式從內(nèi)存中每次讀入一塊存入某一塊存入某一CacheCache行中,便于行中,便于CPUCPU執(zhí)行程序時取出并執(zhí)執(zhí)行程序時取出并執(zhí)行,數(shù)據(jù)行,數(shù)據(jù)CacheCache是可以讀寫的,雙端口結(jié)構(gòu),每個端是可以讀寫的,雙端口結(jié)構(gòu),每個端口與口與U U、V V兩條指令流水線交換整數(shù)數(shù)據(jù),或者組合成兩條指令流水線交換整數(shù)數(shù)據(jù),或者組合成6464位數(shù)據(jù)端口,用來與浮點運算部件交換浮點數(shù)據(jù),位數(shù)據(jù)端口,用來與浮點運算部件交換浮點數(shù)據(jù),指令指令CacheCac

11、he與數(shù)據(jù)與數(shù)據(jù)CacheCache均與均與CPUCPU內(nèi)部的內(nèi)部的6464位數(shù)據(jù)線以位數(shù)據(jù)線以及及3232位地址線相連接位地址線相連接3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(4)n 互相獨立的指令互相獨立的指令CacheCache和數(shù)據(jù)和數(shù)據(jù)CacheCache有利于有利于U U、V V兩條流水線的并行操作,它不僅可以同時與兩條流水線的并行操作,它不僅可以同時與U U、V V兩條流水線分別交換數(shù)據(jù),而且使指令預(yù)取兩條流水線分別交換數(shù)據(jù),而且使指令預(yù)取和數(shù)據(jù)讀寫能無沖突地同時進行和數(shù)據(jù)讀寫能無沖突地同時進行n 可以通過硬件或軟件方法來禁止或允許使用可以通過硬件或軟件方法來禁止或允許使

12、用Pentium CPUPentium CPU內(nèi)部的內(nèi)部的CacheCache3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(5) 2.超標量流水線超標量流水線 PentiumPentium有有U U、V V兩條指令流水線,故稱之為超兩條指令流水線,故稱之為超標量流水線,超標量流水線技術(shù)的應(yīng)用,使得標量流水線,超標量流水線技術(shù)的應(yīng)用,使得Pentium CPUPentium CPU的速度較的速度較8048680486有很大的提高。因有很大的提高。因此,超標量流水線是此,超標量流水線是PentiumPentium系統(tǒng)結(jié)構(gòu)的核心系統(tǒng)結(jié)構(gòu)的核心3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(6)

13、n U U、V V流水線中整數(shù)指令流水線均由流水線中整數(shù)指令流水線均由5 5段組成。段組成。分別為分別為預(yù)取指令(預(yù)取指令(PFPF)、指令譯碼(指令譯碼(D1D1)、地地址生成(址生成(D2D2)、指令執(zhí)行(指令執(zhí)行(EXEX)和和結(jié)果寫回結(jié)果寫回(WBWB)n由于采用了指令流水線作業(yè),每條指令流水線由于采用了指令流水線作業(yè),每條指令流水線可以在可以在1 1個時鐘周期內(nèi)執(zhí)行一條指令。因此,個時鐘周期內(nèi)執(zhí)行一條指令。因此,最佳情況下一個時鐘周期內(nèi)可以執(zhí)行兩條整數(shù)最佳情況下一個時鐘周期內(nèi)可以執(zhí)行兩條整數(shù)指令指令3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(7) 3.重新設(shè)計的浮點運算部件重新

14、設(shè)計的浮點運算部件 Pentium CPUPentium CPU內(nèi)部的浮點運算部件在內(nèi)部的浮點運算部件在8048680486的基礎(chǔ)上進行了重新設(shè)計。如圖的基礎(chǔ)上進行了重新設(shè)計。如圖3-13-1所示。所示。浮點運算部件內(nèi)有專門用于浮點運算的加法浮點運算部件內(nèi)有專門用于浮點運算的加法器、乘法器和除法器,還有器、乘法器和除法器,還有8080位寬的位寬的8 8個寄個寄存器構(gòu)成了寄存器堆,內(nèi)部的數(shù)據(jù)通路為存器構(gòu)成了寄存器堆,內(nèi)部的數(shù)據(jù)通路為8080位。浮點運算部件支持位。浮點運算部件支持IEEE754IEEE754標準的單、標準的單、雙精度格式的浮點數(shù),還可以使用一種臨時雙精度格式的浮點數(shù),還可以使用一

15、種臨時實數(shù)的實數(shù)的8080位浮點數(shù)位浮點數(shù)3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(8)PentiumPentium對浮點數(shù)的一些常用指令,例如加對浮點數(shù)的一些常用指令,例如加法指令法指令A(yù)DDADD,乘法指令,乘法指令MULMUL等,都采用了新的等,都采用了新的算法,并將新的算法用硬件來實現(xiàn),使得浮點算法,并將新的算法用硬件來實現(xiàn),使得浮點數(shù)運算的速度大大提高,其速度相當于數(shù)運算的速度大大提高,其速度相當于8048680486的的1010多倍多倍 3.1.2 Pentium的原理結(jié)構(gòu)(的原理結(jié)構(gòu)(9)4.以以BTB實現(xiàn)動態(tài)轉(zhuǎn)換預(yù)測實現(xiàn)動態(tài)轉(zhuǎn)換預(yù)測 PentiumPentium采用了分

16、支目標緩沖器(采用了分支目標緩沖器(branch branch target buffertarget buffer)實現(xiàn)動態(tài)轉(zhuǎn)移預(yù)測,可以減)實現(xiàn)動態(tài)轉(zhuǎn)移預(yù)測,可以減少指令流水作業(yè)中因分支轉(zhuǎn)移指令而引起的流少指令流水作業(yè)中因分支轉(zhuǎn)移指令而引起的流水線斷流水線斷流 引入了轉(zhuǎn)移預(yù)測技術(shù),不僅能預(yù)測轉(zhuǎn)移是否引入了轉(zhuǎn)移預(yù)測技術(shù),不僅能預(yù)測轉(zhuǎn)移是否發(fā)生,而且能確定轉(zhuǎn)移到何處去執(zhí)行程序發(fā)生,而且能確定轉(zhuǎn)移到何處去執(zhí)行程序例【例【3-1】下面是連續(xù)傳送】下面是連續(xù)傳送100個字節(jié)的循環(huán)程序段個字節(jié)的循環(huán)程序段 MOV SI,0200H ;源數(shù)據(jù)區(qū)偏移地址給;源數(shù)據(jù)區(qū)偏移地址給SI MOV DI,0500H

17、 ;目的數(shù)據(jù)區(qū)偏移地址給;目的數(shù)據(jù)區(qū)偏移地址給DI MOV CX,64H ;待傳送字節(jié)數(shù)為待傳送字節(jié)數(shù)為100,賦給,賦給CXABC:MOV AL,SI ;從源區(qū)取出一個字節(jié);從源區(qū)取出一個字節(jié) MOV DI,AL ;存入目的數(shù)據(jù)區(qū);存入目的數(shù)據(jù)區(qū) INC SI ;源地址指針加;源地址指針加1 INC DI ;目的地址指針加;目的地址指針加1 DEC CX ;CX=CX-1 JNZ ABC ;若;若CX0,轉(zhuǎn),轉(zhuǎn)ABC 從上述程序可以看出,許多分支轉(zhuǎn)移指令轉(zhuǎn)從上述程序可以看出,許多分支轉(zhuǎn)移指令轉(zhuǎn)向每個分支的機會不是均等的,而且大多數(shù)分向每個分支的機會不是均等的,而且大多數(shù)分支轉(zhuǎn)移指令排列在循環(huán)

18、程序段中,除了一次跳支轉(zhuǎn)移指令排列在循環(huán)程序段中,除了一次跳出循環(huán)體之外,其余轉(zhuǎn)移的目標地址均在循環(huán)出循環(huán)體之外,其余轉(zhuǎn)移的目標地址均在循環(huán)體內(nèi)。因此,分支轉(zhuǎn)移指令的轉(zhuǎn)移目標地址是體內(nèi)。因此,分支轉(zhuǎn)移指令的轉(zhuǎn)移目標地址是可以預(yù)測的,預(yù)測的依據(jù)就是前一次轉(zhuǎn)移目標可以預(yù)測的,預(yù)測的依據(jù)就是前一次轉(zhuǎn)移目標地址的狀況,即根據(jù)歷史狀態(tài)預(yù)測下一次轉(zhuǎn)移地址的狀況,即根據(jù)歷史狀態(tài)預(yù)測下一次轉(zhuǎn)移的目標地址。預(yù)測的準確率不可能為的目標地址。預(yù)測的準確率不可能為100%100%,但,但是對于某些轉(zhuǎn)移指令預(yù)測的準確率卻非常高是對于某些轉(zhuǎn)移指令預(yù)測的準確率卻非常高3.2 Pentium的寄存器的寄存器 Pentium的

19、寄存器可以分為三組:的寄存器可以分為三組:基本寄存器組基本寄存器組:包括通用寄存器、指令寄存:包括通用寄存器、指令寄存器、標示寄存器以及段寄存器器、標示寄存器以及段寄存器系統(tǒng)寄存器組系統(tǒng)寄存器組:包括系統(tǒng)地址寄存器、控制:包括系統(tǒng)地址寄存器、控制寄存器寄存器浮點部件寄存器組浮點部件寄存器組:包括數(shù)據(jù)寄存器堆、控:包括數(shù)據(jù)寄存器堆、控制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標記字寄存器據(jù)指針寄存器以及標記字寄存器PentiumPentium的基本寄存器包括通用寄存器、段寄存器、的基本寄存器包括通用寄存器、段寄存器、指令指針和標志寄存器指令指

20、針和標志寄存器一、通用寄存器一、通用寄存器PentiumPentium通用寄存器如圖通用寄存器如圖3-23-2所示,它兼容所示,它兼容8086 8086 CPUCPU原來的原來的8 8個個1616位通用寄存器以及原來的位通用寄存器以及原來的8 8個個8 8位的位的寄存器,而且將原來的寄存器,而且將原來的8 8個個1616位通用寄存器位通用寄存器AXAX、BXBX、CXCX、DXDX、SISI、DIDI、BPBP、SPSP均擴展成均擴展成3232位的寄存器位的寄存器EAXEAX、EBXEBX、ECXECX、EDXEDX、ESIESI、EDIEDI、EBPEBP、ESPESP。既可以使用。既可以使

21、用保留的保留的8 8位和位和1616位寄存器,還可以使用位寄存器,還可以使用3232位寄存器位寄存器3.2 .1基本寄存器組基本寄存器組Pentium通用寄存器通用寄存器 段寄存器及段描述符高速緩存器段寄存器及段描述符高速緩存器如圖如圖3-33-3所示,所示,PentiumPentium有有6 6個個1616位段寄存器,每個段寄存器對位段寄存器,每個段寄存器對應(yīng)有一個應(yīng)有一個6464位的描述符,用戶不可見。位的描述符,用戶不可見。6 6個段寄個段寄存器的長度均為存器的長度均為1616位。除位。除CSCS和和SSSS分別是代碼段分別是代碼段寄存器和堆棧段寄存器之外,其余的寄存器和堆棧段寄存器之外

22、,其余的DSDS、ESES、FSFS、GSGS都是數(shù)據(jù)段寄存器都是數(shù)據(jù)段寄存器 二、段寄存器及段描述符高速緩存器 Pentium段寄存器及段描述符高速緩存器段寄存器及段描述符高速緩存器 每個段對應(yīng)一個段描述符(每個段對應(yīng)一個段描述符(8 8個字節(jié)),個字節(jié)),6 6個段描述符存放在個段描述符存放在CPUCPU內(nèi)的段描述符高速緩存內(nèi)的段描述符高速緩存器中,它們均由內(nèi)存的描述符表中拷貝而成,器中,它們均由內(nèi)存的描述符表中拷貝而成,以便以便CPUCPU訪問某一段時,均按存放在訪問某一段時,均按存放在CPUCPU內(nèi)該內(nèi)該段的段描述符所描述的信息進行操作。每個段的段描述符所描述的信息進行操作。每個段描述

23、符的具體組成如圖段描述符的具體組成如圖3-43-4所示所示1. 6個段描述符個段描述符圖圖3-4 段描述符的組成段描述符的組成 每個段寄存器的組成如圖每個段寄存器的組成如圖3-53-5所示。在保護所示。在保護模式下,段寄存器被稱作為一個模式下,段寄存器被稱作為一個1616位的段選擇位的段選擇字,其中字,其中b1b1、b0b0位為請求特權(quán)級位為請求特權(quán)級RPLRPL,可以請,可以請求特權(quán)層的級別求特權(quán)層的級別0-30-3級級26個個16位段寄存器位段寄存器 Pentium CPU Pentium CPU中有一個中有一個3232位的指令指(位的指令指(EIPEIP)和一個)和一個3232位的標志寄

24、存器(位的標志寄存器(EFLAGSEFLAGS),如圖),如圖3-63-6所示所示三、指令指針和標志寄存器三、指令指針和標志寄存器nEIPEIP保存下一條待執(zhí)行指令所在代碼段內(nèi)的偏保存下一條待執(zhí)行指令所在代碼段內(nèi)的偏移值,也就是偏離代碼段首地址的字節(jié)地址移值,也就是偏離代碼段首地址的字節(jié)地址數(shù)值。數(shù)值。EIPEIP的低的低1616位為位為IPIP,供實地址方式下采,供實地址方式下采用用nEFLAGSEFLAGS在在8086 168086 16位位FLAGSFLAGS基礎(chǔ)上擴充了高基礎(chǔ)上擴充了高1616位,其中,位,其中,F(xiàn)LAGS b11b0FLAGS b11b0中保留了中保留了8086 CP

25、U8086 CPU中中6 6個狀態(tài)標志和個狀態(tài)標志和3 3個控制標志,增加了個控制標志,增加了NTNT與與IOPLIOPL,高,高1616位中新增了位中新增了6 6個標志位。這些擴充個標志位。這些擴充標志位的含義參考教材標志位的含義參考教材PentiumPentium的系統(tǒng)寄存器組包括的系統(tǒng)寄存器組包括4 4個表所對應(yīng)的個表所對應(yīng)的4 4個基地址寄存器個基地址寄存器GDTRGDTR、IDTRIDTR、LDTRLDTR、TRTR,也稱,也稱為為4 4個段基地址寄存器,還包括個段基地址寄存器,還包括5 5個控制寄存器個控制寄存器CRCR0 0、CRCR1 1、CRCR2 2、CRCR3 3、CRC

26、R4 4。系統(tǒng)寄存器組中的。系統(tǒng)寄存器組中的所有寄存器都不可能被用戶訪問,只能由特權(quán)所有寄存器都不可能被用戶訪問,只能由特權(quán)級為級為0 0的操作系統(tǒng)程序訪問的操作系統(tǒng)程序訪問3.2.2 系統(tǒng)寄存器組 4個表基地址寄存器個表基地址寄存器如圖如圖3-7所示所示 (1 1)GDTRGDTR(Global Descriptor Table RegisterGlobal Descriptor Table Register),),全局描述符表全局描述符表寄存器。共有寄存器。共有4848位,其中,高位,其中,高3232位保存全局描述符表位保存全局描述符表的線性基地址,低的線性基地址,低1616位是表限字段,

27、即表的最大長度位是表限字段,即表的最大長度僅僅6464KBKB(2 2)IDTRIDTR(Interrupt Descriptor Table RegisterInterrupt Descriptor Table Register),),中斷描述符表中斷描述符表寄存器。共有寄存器。共有4848位,其中高位,其中高3232位用于保存中斷描述符位用于保存中斷描述符表表IDTIDT的的3232位線性基地址,低位線性基地址,低1616位是表限字段,表的位是表限字段,表的最大長度也是最大長度也是6464KBKB一、4個表基地址寄存器圖圖3-7 4個表基地址寄存器個表基地址寄存器 (3)(3)LDTRLD

28、TR(Local Descriptor Table RegisterLocal Descriptor Table Register),局部描述符寄局部描述符寄存器。包括存器。包括1616位段選擇符,不可編程的位段選擇符,不可編程的6464位描述符寄位描述符寄存器。在存器。在6464位描述符寄存器中,有位描述符寄存器中,有3232位位LDTLDT的線性基地的線性基地址,址,2020位的表限及位的表限及1212位的描述符屬性位的描述符屬性 (4)(4)TRTR,任務(wù)寄存器。包括,任務(wù)寄存器。包括1616位段選擇符,位段選擇符,6464位描述位描述符寄存器,其中,符寄存器,其中,3232位任務(wù)狀態(tài)段

29、的線性基地址,位任務(wù)狀態(tài)段的線性基地址,2020位的表限及位的表限及1212位的描述符屬性位的描述符屬性 1CR0 控制寄存器控制寄存器二、二、5個控制寄存器個控制寄存器 2 2CR2 CR2 頁故障線性地址寄存器頁故障線性地址寄存器 用于保存最后出現(xiàn)用于保存最后出現(xiàn)頁故障的頁故障的3232位線性地址。操作系統(tǒng)中的頁異常處理程位線性地址。操作系統(tǒng)中的頁異常處理程序可以通過檢查序可以通過檢查CR2CR2的內(nèi)容,得知的內(nèi)容,得知3232位的線性地址。位的線性地址。 3 3CR3 CR3 頁目錄基址寄存器頁目錄基址寄存器 其中高其中高2020位存放頁目錄位存放頁目錄表的物理基地址。在進行分頁變換時,

30、加上表的物理基地址。在進行分頁變換時,加上1010位線性位線性地址地址4 4,找到某一存儲容量為,找到某一存儲容量為4B4B的頁描述符。在頁目的頁描述符。在頁目錄基址寄存器的低錄基址寄存器的低1212中,有中,有PCDPCD和和PWTPWT兩位控制位,其兩位控制位,其余余1010位保留位保留 圖圖3-9 控制寄存器控制寄存器CR2、CR34CR4CR4允許結(jié)構(gòu)擴展的標志寄存器允許結(jié)構(gòu)擴展的標志寄存器 3232位位CR4CR4中僅使用了中僅使用了9 9個控制位,其余個控制位,其余2323位保留位保留 5模式專用寄存器模式專用寄存器 PentiumPentium取消了測試寄存器,而用一組專取消了測

31、試寄存器,而用一組專用寄存器來實現(xiàn)更多的功能。這組寄存器具用寄存器來實現(xiàn)更多的功能。這組寄存器具有測試、跟蹤、性能檢測以及機器檢查等功有測試、跟蹤、性能檢測以及機器檢查等功能能 Pentium Pentium內(nèi)部有一個浮點運算部件,與之配套一起內(nèi)部有一個浮點運算部件,與之配套一起實現(xiàn)浮點運算的浮點寄存器有實現(xiàn)浮點運算的浮點寄存器有: : 8 8個數(shù)據(jù)寄存器個數(shù)據(jù)寄存器 1 1個標記字寄存器個標記字寄存器 1 1個狀態(tài)寄存器個狀態(tài)寄存器 1 1個控制寄存器個控制寄存器 1 1個數(shù)據(jù)指針寄存器個數(shù)據(jù)指針寄存器3.2.3 浮點寄存器組1. 8個數(shù)據(jù)寄存器個數(shù)據(jù)寄存器 數(shù)據(jù)寄存器數(shù)據(jù)寄存器R R7 7

32、-R-R0 0均為均為8080位寬,在每個位寬,在每個8080位寄存器位寄存器中,均有中,均有1 1位數(shù)符位,位數(shù)符位,1515位階碼位,位階碼位,6464位尾數(shù)位位尾數(shù)位2. 標記字寄存器標記字寄存器 1616位寬的標記字寄存器分成位寬的標記字寄存器分成8 8個個2 2位,分別對應(yīng)位,分別對應(yīng)8 8個數(shù)據(jù)寄存器,如圖個數(shù)據(jù)寄存器,如圖3-113-11所示。標記字寄存器的所示。標記字寄存器的b b1 1、b b0 0位對應(yīng)位對應(yīng)R R0 0數(shù)據(jù)寄存器,數(shù)據(jù)寄存器,b b3 3、b b2 2位對應(yīng)位對應(yīng)R R1 1數(shù)據(jù)寄存數(shù)據(jù)寄存器,顯然器,顯然b b1515、b b1414位對應(yīng)數(shù)據(jù)寄存器位對

33、應(yīng)數(shù)據(jù)寄存器R R7 7,用兩位二,用兩位二進制數(shù)作標記,以便進制數(shù)作標記,以便CPUCPU只須通過檢查標記位,就只須通過檢查標記位,就可以知道數(shù)據(jù)寄存器是否空等可以知道數(shù)據(jù)寄存器是否空等圖圖3-11 Pentium的浮點寄存器的浮點寄存器1616位寄存器都被用來指示位寄存器都被用來指示FPUFPU當前所處的狀態(tài)當前所處的狀態(tài)(1 1)IEIE,若,若IEIE置置1 1,表示產(chǎn)生了無效操作,指示這是,表示產(chǎn)生了無效操作,指示這是非法操作產(chǎn)生的故障非法操作產(chǎn)生的故障(2 2)DEDE,若,若DEDE為為1 1,表示操作數(shù)不符合規(guī)范產(chǎn)生的故,表示操作數(shù)不符合規(guī)范產(chǎn)生的故障障(3 3)ZEZE,若,

34、若ZE=1ZE=1,則指示除數(shù)為,則指示除數(shù)為0 0引起的故障引起的故障(4 4)PEPE,若,若PE=1PE=1,則指示運算結(jié)果不符合精度規(guī)格,則指示運算結(jié)果不符合精度規(guī)格(5 5)SPSP,堆棧故障標志位,當,堆棧故障標志位,當IE=1IE=1且且SF=1SF=1時,若時,若C1=1C1=1則表示堆棧上溢引起無效故障。若則表示堆棧上溢引起無效故障。若C1=0C1=0,則指示堆,則指示堆棧下溢引起無效故障棧下溢引起無效故障三、狀態(tài)寄存器(6 6)ESES,錯誤標志位,以上任何一個故障都會,錯誤標志位,以上任何一個故障都會使使ES=1ES=1,且使,且使CPUCPU引腳信號變?yōu)榈碗娖揭_信號變

35、為低電平(7 7)C0C0C3C3,條件碼,這,條件碼,這4 4位條件碼可以用位條件碼可以用SAHFSAHF指令進行設(shè)置,也可用指令進行設(shè)置,也可用FSTSWFSTSW指令讀取,該指令讀取,該4 4位位二進制的狀態(tài)使二進制的狀態(tài)使FPUFPU實現(xiàn)某種選擇。實現(xiàn)某種選擇。C0C0還和還和SFSF配配合使用表示堆棧的狀態(tài)合使用表示堆棧的狀態(tài)(8 8)TOPTOP,堆棧棧頂指針,堆棧棧頂指針(9 9)B B,用來指示,用來指示FPUFPU當前是否處于忙狀態(tài),當當前是否處于忙狀態(tài),當B=1B=1時,表示忙,反之處于不忙狀態(tài)時,表示忙,反之處于不忙狀態(tài)(1 1)PMPMIMIM低低6 6位控制位位控制位

36、,分別用來控制,分別用來控制6 6種異種異常能否允許產(chǎn)生中斷,這常能否允許產(chǎn)生中斷,這6 6種控制位分別用來種控制位分別用來屏蔽狀態(tài)寄存器中的低屏蔽狀態(tài)寄存器中的低6 6種狀態(tài)位,即種狀態(tài)位,即IMIM位用位用來屏蔽來屏蔽IEIE位,位,DMDM位用于屏蔽位用于屏蔽DEDE位等位等(2 2)2 2位位PCPC位位,用作精度控制,當,用作精度控制,當2 2位位PCPC位為位為0000時,作時,作2424位單精度運算,位單精度運算,1010時為時為5353位雙精度位雙精度運算,運算,1111時為擴展的雙精度運算,即時為擴展的雙精度運算,即6464位運位運算,算,0101未用未用(3 3)2 2位位

37、RCRC位位,用作舍入控制,用作舍入控制四、FPU的控制寄存器圖3-13 FPU的控制寄存器3.3 Pentium的虛擬存儲器的虛擬存儲器3.3.1 Pentium的工作模式簡介的工作模式簡介PentiumPentium的虛擬存儲器(的虛擬存儲器(VivtualVivtual Storage Storage)技術(shù)、)技術(shù)、高速緩存(高速緩存(CacheCache)技術(shù)以及超標量流水線技術(shù)是微)技術(shù)以及超標量流水線技術(shù)是微型計算機系統(tǒng)的三大支柱,虛擬存儲器的目標是如型計算機系統(tǒng)的三大支柱,虛擬存儲器的目標是如何高速允許多個軟件進程共享并使用主存儲器這一何高速允許多個軟件進程共享并使用主存儲器這一

38、容量有限的存儲資源。虛擬存儲器的實現(xiàn)不僅僅體容量有限的存儲資源。虛擬存儲器的實現(xiàn)不僅僅體現(xiàn)在計算機硬件系統(tǒng)上的完美無缺,而且虛擬存儲現(xiàn)在計算機硬件系統(tǒng)上的完美無缺,而且虛擬存儲器技術(shù)是操作系統(tǒng)的核心技術(shù),操作系統(tǒng)中存儲器器技術(shù)是操作系統(tǒng)的核心技術(shù),操作系統(tǒng)中存儲器管理程序的主要任務(wù)就是要將有限的主存儲器不斷管理程序的主要任務(wù)就是要將有限的主存儲器不斷地動態(tài)分配給各活動進程地動態(tài)分配給各活動進程PentiumPentium的的工作模式工作模式分為:分為:實模式實模式、保護模式保護模式、虛虛擬擬8686模式模式、平展模式平展模式、線性空間以及系統(tǒng)管理模式線性空間以及系統(tǒng)管理模式共五種。共五種。Pe

39、ntiumPentium外部的地址總線寬度外部的地址總線寬度3636位,由控制寄存位,由控制寄存器器CR4CR4中物理地址擴充允許位中物理地址擴充允許位PAEPAE控制所使用的物理控制所使用的物理空間,一般設(shè)空間,一般設(shè)PAE=0PAE=0,禁止地址的擴充,只使用,禁止地址的擴充,只使用3232位的物理地址,位的物理地址,3232位地址由位地址由A A3131-A-A3 3及及8 8個字節(jié)選擇信個字節(jié)選擇信號號BEBE7 7BEBE0 0組成,因此,最大物理地址空間是組成,因此,最大物理地址空間是4GB4GB。Pentium CPUPentium CPU外部數(shù)據(jù)總線寬度為外部數(shù)據(jù)總線寬度為64

40、64位,但位,但CPUCPU內(nèi)部內(nèi)部寄存器仍為寄存器仍為3232位,位,PentiumPentium微處理器是微處理器是3232位微處理位微處理器器3.3.2 Pentium工作的保護模式工作的保護模式保護模式是受保護的虛擬地址模式保護模式是受保護的虛擬地址模式(Protected Protected Virtual Address ModeVirtual Address Mode)的簡稱。從的簡稱。從80386 CPU80386 CPU開始,開始,就具有了保護模式,就具有了保護模式,Pentium CPUPentium CPU內(nèi)部也設(shè)有內(nèi)部也設(shè)有存儲器管理部件存儲器管理部件MMUMMU,其中

41、,仍然包括分段部,其中,仍然包括分段部件件SUSU和分頁部件和分頁部件PUPU,通過系統(tǒng)程序員編程,通過系統(tǒng)程序員編程,PentiumPentium可以工作在只分段或只分頁或既分段可以工作在只分段或只分頁或既分段又分頁三種方式。這三種方式的關(guān)鍵建立在又分頁三種方式。這三種方式的關(guān)鍵建立在分段地址轉(zhuǎn)換與分頁地址轉(zhuǎn)換的基礎(chǔ)之上分段地址轉(zhuǎn)換與分頁地址轉(zhuǎn)換的基礎(chǔ)之上1 1利用利用GDTRGDTR與與LDTRLDTR分別訪問分別訪問GDTGDT與與LDTLDT 48 48位的全局描述符表寄存器包括位的全局描述符表寄存器包括3232位全局位全局描述符表的基地址和描述符表的基地址和1616位的表界限,位的表

42、界限,GDTGDT的長的長度不超過度不超過64KB64KB。在保護模式下,。在保護模式下,PentiumPentium支持支持多任務(wù)的運行,如果某一任務(wù)要訪問多任務(wù)的運行,如果某一任務(wù)要訪問GDTGDT時,時,則以則以GDTRGDTR中中3232位基地址作為全局描述符表的位基地址作為全局描述符表的基地址,再由每個任務(wù)選擇符的高基地址,再由每個任務(wù)選擇符的高1313位左移位左移3 3位后作為位后作為GDTGDT的偏移地址,指向所要訪問的的偏移地址,指向所要訪問的8 8字節(jié)的描述符字節(jié)的描述符一、分段地址轉(zhuǎn)換一、分段地址轉(zhuǎn)換n每個任務(wù)有各自的代碼段每個任務(wù)有各自的代碼段CS、數(shù)據(jù)段、數(shù)據(jù)段DS、還

43、、還可能有附加的數(shù)據(jù)段可能有附加的數(shù)據(jù)段ES、FS、GS以及堆棧段以及堆棧段等,每個段有一個等,每個段有一個64位的段描述符,如圖位的段描述符,如圖3-7所示,各個任務(wù)組成了自己的局部描述符表所示,各個任務(wù)組成了自己的局部描述符表LDT,因此,在內(nèi)存中有多個,因此,在內(nèi)存中有多個LDT n各任務(wù)公用的代碼段、數(shù)據(jù)段的段描述符以各任務(wù)公用的代碼段、數(shù)據(jù)段的段描述符以及任務(wù)狀態(tài)段及任務(wù)狀態(tài)段TSS等系統(tǒng)段的描述符組成了等系統(tǒng)段的描述符組成了全局描述符表全局描述符表GDT,內(nèi)存中只有一個,內(nèi)存中只有一個GDT。n當前任務(wù)訪問當前任務(wù)訪問LDT時,由時,由LDTR中對應(yīng)的中對應(yīng)的64位描述符高速緩存器

44、中位描述符高速緩存器中32位基地址作為位基地址作為LDT的基地址,再由段選擇符的高的基地址,再由段選擇符的高13位左移位左移3位位后作為后作為LDT的偏移地址,指向所要訪問的的偏移地址,指向所要訪問的8字字節(jié)的段描述符。如圖節(jié)的段描述符。如圖3-14所示,其中的描述所示,其中的描述符也就是圖符也就是圖3-4所示的描述符所示的描述符 圖圖3-14 由由LDTR由訪問由訪問LDT當任務(wù)發(fā)生切換時,由當任務(wù)發(fā)生切換時,由LDTRLDTR中選擇符的高中選擇符的高1313位左移三位后,作為位左移三位后,作為GDTGDT中的偏移地址,在中的偏移地址,在GDTGDT中取出該任務(wù)的中取出該任務(wù)的LDTLDT描

45、述符,并裝入到描述符,并裝入到LDTLDT對應(yīng)的描述符高速緩存器,于是在對應(yīng)的描述符高速緩存器,于是在LDTRLDTR中的中的高速緩存器中,存入了當前高速緩存器中,存入了當前LDTLDT的基地址,表的基地址,表界限以及性屬性等,如圖界限以及性屬性等,如圖3-153-15所示所示圖圖3-15 由由GDTR訪問訪問GDTn在在LDT中查到的描述符,其中查到的描述符,其32位基地址如果位基地址如果只分段不分頁的話,此只分段不分頁的話,此32位基地址加上指令位基地址加上指令中的中的32位偏移量址,就求得位偏移量址,就求得32位的物理地址。位的物理地址。n在在GDT中查到的描述符,其中查到的描述符,其3

46、2位基地址表示位基地址表示當前當前LDT的基地址,該描述符一定會由硬件的基地址,該描述符一定會由硬件自動存入高速緩存器中自動存入高速緩存器中由于由于PentiumPentium內(nèi)部寄存器是內(nèi)部寄存器是3232位,由于位,由于PentiumPentium芯片組成的微機為芯片組成的微機為3232位機,訪問存儲位機,訪問存儲器的指令仍然有直接尋址、寄存器尋址、基器的指令仍然有直接尋址、寄存器尋址、基址尋址、變址尋址、基址加變地尋址等址尋址、變址尋址、基址加變地尋址等 2分段地址的轉(zhuǎn)換分段地址的轉(zhuǎn)換例【例【3-23-2】 幾條訪問內(nèi)存指令幾條訪問內(nèi)存指令 MOV ALMOV AL, 1888 7777

47、H1888 7777H MOV AX MOV AX, EBXEBX MOV EAX MOV EAX,ESIESI MOV ECX MOV ECX,EBX+EDIEBX+EDI MOV DX MOV DX, EBPEBP只有最后一條指令訪問堆找段只有最后一條指令訪問堆找段SSSS,其余指令均訪問,其余指令均訪問數(shù)據(jù)段數(shù)據(jù)段DSDS,構(gòu)成邏輯地址為,構(gòu)成邏輯地址為DSDS:3232位偏移量或位偏移量或SSSS:3232位偏移量,在位偏移量,在3232位機中,我們將邏輯地址稱為虛擬地位機中,我們將邏輯地址稱為虛擬地址,段寄存器稱之為段選擇符址,段寄存器稱之為段選擇符 Pentium Pentium的

48、分段地址轉(zhuǎn)換過程圖如圖的分段地址轉(zhuǎn)換過程圖如圖3-163-16所示。所示。根據(jù)段寄存器即段選擇符中根據(jù)段寄存器即段選擇符中b b2 2位位TITI,確定訪問,確定訪問當前當前LDTLDT(TI=1TI=1)或)或GDTGDT(TI=0TI=0),如果訪問),如果訪問LDTLDT,將將1313位索引值左移位索引值左移3 3位后,作為位后,作為LDTLDT基地址的偏基地址的偏移量,指向移量,指向8B8B的段描述符,段描述符中的的段描述符,段描述符中的3232位位基地址加上指令中的基地址加上指令中的3232位偏移量成為位偏移量成為3232位線性位線性地址,如果不分頁只分段,結(jié)果為該機器指令地址,如果

49、不分頁只分段,結(jié)果為該機器指令所尋址的物理地址,如果還需要分頁,此線性所尋址的物理地址,如果還需要分頁,此線性地址分為三段,即頁目錄(號)、頁面(號)地址分為三段,即頁目錄(號)、頁面(號)和偏移量和偏移量n如果如果TI=0,則訪問,則訪問GDT,與前述相同。,與前述相同。n在圖在圖3-7中,系統(tǒng)還有一個中,系統(tǒng)還有一個48位的中斷描述符表寄位的中斷描述符表寄存器,其中存器,其中32位的基地址是全系統(tǒng)中僅有的一個中位的基地址是全系統(tǒng)中僅有的一個中斷描述符表斷描述符表IDT的基地址。的基地址。Pentium機中所有的中機中所有的中斷,包括軟中斷、硬件中斷以及斷,包括軟中斷、硬件中斷以及CPU內(nèi)部

50、的異常中內(nèi)部的異常中斷,每個中斷在斷,每個中斷在IDT中均有一個描述符,中均有一個描述符,IDT中最中最多可有多可有256個描述符。每個中斷描述符也是個描述符。每個中斷描述符也是8字節(jié),字節(jié),主要包括中斷服務(wù)程序的入口地址,還有其他屬性主要包括中斷服務(wù)程序的入口地址,還有其他屬性等信息。等信息。 圖3-16 分段地址轉(zhuǎn)換過程圖 分頁地址轉(zhuǎn)換由分頁地址轉(zhuǎn)換由CPUCPU內(nèi)的分頁部件內(nèi)的分頁部件PUPU來實現(xiàn),它將來實現(xiàn),它將3232位的線性地址轉(zhuǎn)換成位的線性地址轉(zhuǎn)換成3232位的物理地址。這位的物理地址。這3232位線位線性地址可能來自分段部件性地址可能來自分段部件SUSU(既分段又分頁方式),

51、(既分段又分頁方式),也可能是不分段只分頁的情況,程序不提供段選擇也可能是不分段只分頁的情況,程序不提供段選擇符,只由指令寄存器提供的符,只由指令寄存器提供的3232位地址作為線性地址,位地址作為線性地址,即即1010位的頁目錄(號)、位的頁目錄(號)、1010位的頁表(號)和位的頁表(號)和1212位位的頁內(nèi)偏移量的頁內(nèi)偏移量 在控制寄存器在控制寄存器CR4CR4中頁面長度控制位中頁面長度控制位PSEPSE的控制下,的控制下,PentiumPentium的分頁部件的分頁部件PUPU可以按可以按80386/8048680386/80486每頁每頁4KB4KB分分頁(頁(PSE=0PSE=0),

52、也可按每頁),也可按每頁4MB4MB分頁分頁(PSE=1PSE=1)二、分頁地址轉(zhuǎn)換二、分頁地址轉(zhuǎn)換 4KB 4KB分頁方式采用兩級分頁方式,第一級有分頁方式采用兩級分頁方式,第一級有一個一個4KB4KB的頁目錄表,可存放的頁目錄表,可存放10241024個頁目錄項,個頁目錄項,稱之為高級管理,第二級有一個稱之為高級管理,第二級有一個4KB4KB的頁表,的頁表,可以存放可以存放10241024個頁表項,稱之為低級管理。個頁表項,稱之為低級管理。頁目錄項與頁表項均為頁目錄項與頁表項均為3232位(位(4 4字節(jié)),如圖字節(jié)),如圖3-173-17所示所示14KB分頁方式分頁方式圖圖3-17 頁目

53、錄項與頁表項頁目錄項與頁表項P,存在位,存在位 P=1表示該頁表表示該頁表/頁存在,頁存在,P=0,表示不存在表示不存在PWT,通寫位,通寫位 用于片外用于片外Cache的寫控制,的寫控制,PWT=1時,片外時,片外Cache采用通寫法,采用通寫法,PWT=0時,片外時,片外cache使用回寫法使用回寫法PCD,頁,頁Cache禁止位禁止位 用于對分頁高速緩沖用于對分頁高速緩沖存儲器的控制。若存儲器的控制。若PCD=1時,時,CPU內(nèi)部內(nèi)部Cache被禁用被禁用A,訪問位,訪問位 表示該目錄項或頁表項所對應(yīng)的頁表示該目錄項或頁表項所對應(yīng)的頁面是否在近期被訪問過。當面是否在近期被訪問過。當A=1

54、時表示近期被訪時表示近期被訪問過,過一段時間后由操作系統(tǒng)清除為問過,過一段時間后由操作系統(tǒng)清除為0,當頁面,當頁面調(diào)度程序需要調(diào)出一些頁面時,通過檢查調(diào)度程序需要調(diào)出一些頁面時,通過檢查A位狀位狀態(tài),就可以知道各頁的使用情況,并根據(jù)調(diào)度算態(tài),就可以知道各頁的使用情況,并根據(jù)調(diào)度算法確定調(diào)出哪些頁法確定調(diào)出哪些頁D,寫標志位,寫標志位 僅頁表項中的僅頁表項中的D位有意義。當位有意義。當頁表項所涉及到的頁面被改寫過,頁表項所涉及到的頁面被改寫過,D位由硬件位由硬件置成置成1,一直保持為,一直保持為1狀態(tài),直到該頁被調(diào)出內(nèi)狀態(tài),直到該頁被調(diào)出內(nèi)存。當調(diào)度程序要調(diào)出此頁時,首先檢查存。當調(diào)度程序要調(diào)出

55、此頁時,首先檢查D標標志,若志,若D=1,則把內(nèi)存中的此頁拷貝回外存相,則把內(nèi)存中的此頁拷貝回外存相應(yīng)位置,以刷新外存上的本頁內(nèi)容。若應(yīng)位置,以刷新外存上的本頁內(nèi)容。若D=0,表示此頁沒有被改寫,調(diào)度程序不必將它拷貝表示此頁沒有被改寫,調(diào)度程序不必將它拷貝回外存,只是簡單地丟棄本頁內(nèi)容,因而回外存,只是簡單地丟棄本頁內(nèi)容,因而D位位也被稱之為也被稱之為“臟位臟位” PS(Page Size),頁大小位。只有頁表項頁大小位。只有頁表項中有此位。中有此位。PS=1,頁面大小按,頁面大小按4MB分頁,分頁,PS=0,頁面大小按頁面大小按4KB分頁分頁 U/S,用戶,用戶/管理員管理員。頁面保護屬性位

56、。頁面保護屬性位 R/W,讀,讀/寫寫。頁保護屬性位。頁保護屬性位 U/S與與R/W結(jié)合起來,實現(xiàn)頁保護。在分頁部結(jié)合起來,實現(xiàn)頁保護。在分頁部件中,具有頁保護功能,將使用對象分為特權(quán)級件中,具有頁保護功能,將使用對象分為特權(quán)級3的用戶以及特權(quán)級的用戶以及特權(quán)級2、1、0的管理員用戶,管理的管理員用戶,管理員用戶不受頁的保護員用戶不受頁的保護 Pentium 4KB Pentium 4KB分頁方式地址轉(zhuǎn)換如圖分頁方式地址轉(zhuǎn)換如圖3-183-18所示。將所示。將3232位線性地址定義為三個位線性地址定義為三個字段,頁目錄(號)、頁面(號)以及字段,頁目錄(號)、頁面(號)以及偏移量,分別為偏移量

57、,分別為1010位、位、1010位和位和1212位位圖圖3-18 Pentium 4KB分頁方式地址轉(zhuǎn)換圖分頁方式地址轉(zhuǎn)換圖 例【例【3-33-3】 假設(shè)線性地址是假設(shè)線性地址是3 3C445566HC445566H,CR3=11223000HCR3=11223000H 解:解:取線性地址的高取線性地址的高1010位作為頁目錄位作為頁目錄(號),求得(號),求得0011 1100 01B0011 1100 01B,乘以,乘以4 4(左移(左移2 2位)作為頁目錄項指針,結(jié)果為位)作為頁目錄項指針,結(jié)果為0011 1100 0011 1100 0100B=3C4H0100B=3C4H 查找頁目錄

58、項的物理地址:查找頁目錄項的物理地址:1122 1122 3000H+3C4H =1122 33C4H3000H+3C4H =1122 33C4H 例【例【3-43-4】 設(shè)所查找到頁表項中設(shè)所查找到頁表項中2020位頁面基地址是位頁面基地址是12345H12345H,線性地址仍,線性地址仍然取然取3C44 5566H3C44 5566H 解:轉(zhuǎn)換后最終物理地址:解:轉(zhuǎn)換后最終物理地址: 12345000H+566H=12345566H12345000H+566H=12345566Hn 存儲器分頁管理通過存儲器分頁管理通過CPU內(nèi)部寄存器內(nèi)部寄存器CR3和兩級和兩級頁表來實現(xiàn),頁目錄表稱為高級

59、管理,頁表稱為低頁表來實現(xiàn),頁目錄表稱為高級管理,頁表稱為低級管理級管理 n 將物理內(nèi)存按將物理內(nèi)存按4KB劃分為一頁,稱為一個頁面,劃分為一頁,稱為一個頁面,每每1024頁為一個低級管理,由線性地址的中間頁為一個低級管理,由線性地址的中間10位地址確定。每頁有一個起始地址,存放在頁表中,位地址確定。每頁有一個起始地址,存放在頁表中,由頁表項中由頁表項中20位基址作為物理地址的高位基址作為物理地址的高20位地址,位地址,低低12位補位補0。共有。共有1024頁,每頁的頁,每頁的20位基地址排位基地址排列存放在頁表中,整個頁表占列存放在頁表中,整個頁表占4KBn 在低級管理的上面是高級管理,由高

60、級管在低級管理的上面是高級管理,由高級管理(頁目錄表)對理(頁目錄表)對1024個頁表進行管理,每個頁表進行管理,每個頁表有一個起始地址,由頁目錄項中個頁表有一個起始地址,由頁目錄項中20位位基地址作高基地址作高20位地址,低位補位地址,低位補12個個0,求得,求得頁表的起始地址,頁目錄表共計有頁表的起始地址,頁目錄表共計有1024個頁個頁表項,分別用于存放表項,分別用于存放1024個頁表的基地址,個頁表的基地址,構(gòu)成了頁目錄表,每個頁目錄項占構(gòu)成了頁目錄表,每個頁目錄項占4B,頁目,頁目錄表也占錄表也占4KB n 將線性地址分為將線性地址分為10位、位、10位、位、12位三個位三個字 段 ,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論