微機原理CPU-2_第1頁
微機原理CPU-2_第2頁
微機原理CPU-2_第3頁
微機原理CPU-2_第4頁
微機原理CPU-2_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 16位和32位微處理器12.2 32位微處理器Pentium1Pentium采用的先進技術(shù)2Pentium的工作方式 3Pentium的原理結(jié)構(gòu)4Pentium的寄存器5Pentium的存儲管理6Pentium的中斷7Pentium的保護技術(shù) 第2章 16位和32位微處理器21.Pentium采用的先進技術(shù)Pentium外部采用64位數(shù)據(jù)總線,內(nèi)部總線32位;支持數(shù)據(jù)成組傳輸。設(shè)置相互獨立的代碼cache和數(shù)據(jù)cache。采用超標(biāo)量流水線技術(shù)使得在1個時鐘周期內(nèi)發(fā)射兩條簡單的整數(shù)指令或發(fā)射一條浮點指令。片內(nèi)設(shè)置增強型浮點處理部件采用RISC 、CISC相結(jié)合的技術(shù),部分常用指令用硬件實

2、現(xiàn);微程序?qū)崿F(xiàn)的指令,其微代碼的算法也作了改進,以減少所需時鐘周期。第2章 16位和32位微處理器3采用分段和分頁兩級存儲管理機制具有BTB方式的轉(zhuǎn)移預(yù)測能力增強了校驗?zāi)芰蜋C器異常事件的處理能力具有很好的檢測能力和調(diào)試能力第2章 16位和32位微處理器42.Pentium 的工作方式實地址方式保護虛擬地址方式(保護方式)虛擬8086方式系統(tǒng)管理方式第2章 16位和32位微處理器51)實地址方式的特點尋址機構(gòu)、存儲器管理、中斷處理機構(gòu)均同8086。操作數(shù)默認長度16位。使用A19A0尋址1MB物理地址物理地址=線性地址=段寄存器*16+16位偏移量兩個內(nèi)存保留區(qū):系統(tǒng)初始化區(qū):FFFF0HFF

3、FFFH中斷向量表區(qū):00000H003FFH第2章 16位和32位微處理器62)保護方式的特點使用A31A0尋址4GB物理地址空間。用戶編程采用虛擬地址(邏輯地址),虛擬地址空間為64TB。存儲器采用分段、分頁管理。段寄存器的內(nèi)容作為選擇子,通過描述符表實現(xiàn)虛擬地址向線性地址的轉(zhuǎn)換;通過頁表實現(xiàn)線性地址向物理地址的轉(zhuǎn)換。能進行16位運算,也能進行32位運算。第2章 16位和32位微處理器7支持多任務(wù),支持兩種主要保護類型。不同任務(wù)之間的保護采用任務(wù)隔離LDT指定了獨立的虛擬地址空間,隔離了任務(wù)間的相互影響達到保護目的。同一任務(wù)內(nèi)的保護采用特權(quán)級保護任務(wù)的4種特權(quán)級I/O的兩個特權(quán)級第2章 1

4、6位和32位微處理器83)虛擬8086方式的特點V86方式的尋址(與保護方式的區(qū)別)尋址的地址空間是1MB;段寄存器的內(nèi)容作為段值解釋;20位存儲單元地址由段值乘以16加偏移量構(gòu)成。V86方式下的保護(與實地址方式的區(qū)別)V86方式下的代碼規(guī)定在特權(quán)級3下運行。V86可進行多任務(wù)操作V86方式下的分頁功能(實地址方式不支持)只能訪問第一個頁目錄項頁表項最多為256+16=272個第2章 16位和32位微處理器93.Pentium 的原理結(jié)構(gòu)Pentium 的內(nèi)部主要包括12個主要部件:n總線接口部件nU流水線和V流水線n數(shù)據(jù)Cachen代碼Cachen指令預(yù)取部件n指令譯碼器n控制ROMn分支

5、目標(biāo)緩沖器BTBn控制部件n浮點處理部件FPUn分段部件和分頁部件n寄存器組第2章 16位和32位微處理器10第2章 16位和32位微處理器111)U流水線和V流水線Pentium整數(shù)指令采用5段式流水線。U流水線和V流水線都有:ALU、地址生成電路和與數(shù)據(jù)cache的接口兩條流水線共用部件兩個預(yù)取緩沖器、指令譯碼器、控制ROM指令譯碼器除完成譯碼指令外,還要完成指令配對檢查。第2章 16位和32位微處理器12U和V流水線都由5段組成指令預(yù)?。≒F)指令譯碼(D1)地址生成(D2)指令執(zhí)行(EX)結(jié)果寫回(WB)U和V共享第2章 16位和32位微處理器13第2章 16位和32位微處理器14U、

6、V兩條流水線不是等價的V流水線總是接受U流水線的下一條指令U流水線能執(zhí)行指令集的任何指令,包括指令前綴;V流水線只能執(zhí)行簡單指令。若連續(xù)的兩條指令不能配對,需要U流水線先后執(zhí)行這兩條指令。第2章 16位和32位微處理器15發(fā)射一對指令必須滿足的條件:兩條指令是簡單指令沒有RAW和WAW相關(guān)性每條指令不同時含有立即數(shù)和相對尋址偏移量帶有指令前輟的指令發(fā)射到U流水線。第2章 16位和32位微處理器162)分立的代碼cache和數(shù)據(jù)cache8KB代碼cache和8KB數(shù)據(jù)cache代碼cache是只讀的指令代碼,單端口,256位數(shù)據(jù)cache是可讀寫的,雙端口,每端口32位,與U,V兩條流水線交換

7、整數(shù)數(shù)據(jù),或組合成一個64位端口與浮點運算部件交換浮點數(shù)據(jù)。兩個cache與64位數(shù)據(jù)、32位地址的CPU內(nèi)部總線相接。 第2章 16位和32位微處理器173)浮點運算指令流水線浮點運算指令采用8段式流水線指令預(yù)?。≒F)指令譯碼(D1)地址生成(D2)取操作數(shù)(EX)執(zhí)行1(X1)執(zhí)行2(X2)結(jié)果寫回寄存器堆(WF)錯誤報告(ER)前4段在U流水線完成第2章 16位和32位微處理器18 一般情況下,只能由U流水線完成一條浮點操作指令;少數(shù)情況下,V流水線也能同時完成一條簡單浮點數(shù)指令。浮點部件內(nèi):有浮點專用的加法器、乘法器和除法器有8個80位寄存器組成的寄存器堆,內(nèi)部的數(shù)據(jù)總線為80位寬。

8、支持IEEE 754標(biāo)準的單、雙精度格式及80位臨時浮點數(shù)。第2章 16位和32位微處理器194)以BTB實現(xiàn)的動態(tài)轉(zhuǎn)移預(yù)測Pentium采用動態(tài)轉(zhuǎn)移預(yù)測技術(shù),來減少由于轉(zhuǎn)移相關(guān)引起的流水線性能損失。提供的轉(zhuǎn)移目標(biāo)緩沖器BTB是個小容量的cache。第2章 16位和32位微處理器20 BTB是一個4路組相聯(lián)的cache,有64組。轉(zhuǎn)移指令地址(高26位)字段即為該項的標(biāo)記(tag),以轉(zhuǎn)移指令地址的低6位為行索引,每項有兩位歷史位,作為預(yù)測依據(jù)。每次轉(zhuǎn)移指令執(zhí)行完,依據(jù)預(yù)測是否正確相應(yīng)地修改歷史位。26位標(biāo)記 32位轉(zhuǎn)移目標(biāo)地址 2位歷史位第2章 16位和32位微處理器21BTB預(yù)測向轉(zhuǎn)移取傾

9、斜(P40) 統(tǒng)計表明轉(zhuǎn)移指令發(fā)生轉(zhuǎn)移取的概率為60%。 指令預(yù)取緩沖區(qū)(B)提前存放預(yù)測為轉(zhuǎn)移取的目標(biāo)地址指令,為轉(zhuǎn)移取實為順序取的損失比預(yù)測為順序取實為轉(zhuǎn)移取的損失小。第2章 16位和32位微處理器22 第2章 16位和32位微處理器234.Pentium的寄存器nPentium 的寄存器組可以分成如下三類: (1)基本寄存器組(2)系統(tǒng)寄存器組(3)浮點寄存器組第2章 16位和32位微處理器241)基本寄存器組n通用寄存器8個32位通用寄存器,用于保存數(shù)據(jù)和地址EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESPn段寄存器6個16位長段寄存器CS、SS、DS、 ES、 FS、G

10、Sn指令指針和標(biāo)志寄存器 EIP、EFLAGS第2章 16位和32位微處理器25第2章 16位和32位微處理器2632位標(biāo)志寄存器(EFLAGS)IOPL:I/O特權(quán)級。當(dāng)前特權(quán)級高于等于IOPL,I/O指令能順利執(zhí)行。若當(dāng)前特權(quán)級低于IOPL,則產(chǎn)生中斷,使任務(wù)掛起。NT:嵌套任務(wù)標(biāo)志位。NT=1,表示當(dāng)前執(zhí)行的任務(wù)嵌套在另一個任務(wù)中執(zhí)行。RF:恢復(fù)標(biāo)志位。配合斷點或單步操作一起使用。VM:虛擬8086方式標(biāo)志位。第2章 16位和32位微處理器27AC (b18):對準檢查標(biāo)志。AC=1,進行未對準地址訪問時將產(chǎn)生異常中斷17。只有在特權(quán)級3時此位有效。(同80486)VIF(b19):虛擬

11、中斷允許標(biāo)志VIP(b20):虛擬中斷禁止標(biāo)志 虛擬中斷(virtual interrupt)用于多任務(wù)環(huán)境。ID(b21):識別標(biāo)志,ID=1指明這個處理器能支持CPUID指令。第2章 16位和32位微處理器28段寄存器6個16位的段寄存器CS、SS、DS、ES、FS、GS保護地址方式下作為段選擇子寄存器,段選擇子用來選擇進入GDT/LDT。每個段選擇子寄存器對應(yīng)有一個64位的內(nèi)部段描述符寄存器。指令執(zhí)行時被透明地裝入描述符。63 5251 2019 012位屬性32位段基址20位段限值第2章 16位和32位微處理器292)系統(tǒng)寄存器組n系統(tǒng)地址寄存器GDTR、IDTR、LDTR、TR n5

12、個控制寄存器CR0、 CR1、CR2、CR3、CR4n8個調(diào)試寄存器n18個測試寄存器第2章 16位和32位微處理器30第2章 16位和32位微處理器31系統(tǒng)地址寄存器全局描述符表寄存器-GDTR(48位)定義了一個全局描述符表(GDT)中斷描述符表寄存器-IDTR (48位)定義了一個中斷描述符表(GDT)中斷描述符類型稱為中斷門。47 1615 032位基址段限值第2章 16位和32位微處理器32局部描述符表寄存器-LDTR (16位)選擇子,用于選擇一個LDT描述符,裝入LDTR高速緩沖寄存器。LDT描述符定義了一個局部描述符表(LDT)任務(wù)寄存器-TR (16位)選擇子,用于選擇一個任

13、務(wù)狀態(tài)段(TSS)描述符,裝入到任務(wù)描述符高速緩沖寄存器。第2章 16位和32位微處理器33Pentium 控制寄存器PG、PE工作模式 0 0實地址模式,8086操作 0 1保護模式,禁止分頁 1 0非法 1 1保護模式,允許分頁CR0的PG、PE組成給定CPU的工作模式CR3保存頁目錄表的基地址。頁目錄表按頁對齊,CR3最低12位為0(每頁為4KB)。第2章 16位和32位微處理器34nPentium的存儲管理部件MMU設(shè)有分段部件SU和分頁部件PU,允許SU、PU單獨工作或同時工作。不分段不分頁模式分段不分頁模式分段分頁模式兩種分頁方式:4KB的頁、4MB的頁不分段分頁模式也稱為平面存儲

14、模式(平展模式)5.Pentium的存儲管理保護模式分段、分頁管理第2章 16位和32位微處理器35虛擬地址:48位存儲器指針(16位選擇子,32位有效地址)選擇子的格式15 321 0索引TIRPL任務(wù)指示符:0=使用GDT,1=使用LDT請求特權(quán)級1)虛擬地址空間第2章 16位和32位微處理器362)虛實地址轉(zhuǎn)換 Y N 選擇符 16 位 偏移量 32 位 段轉(zhuǎn)換 PG=0? 目錄 10 頁 10 偏移量 12 邏輯地址 線性地址 頁轉(zhuǎn)換 32 位物理地址 第2章 16位和32位微處理器373)段式地址轉(zhuǎn)換 3 2 位 數(shù) 據(jù) 段 基 址 選 擇 符D S 偏 移 量E B X 操 作 數(shù)

15、 段 描 述 符 數(shù) 據(jù) 段 L D T 或G D T 基 址 來 自L D T R 高 速 緩 存 或G D T R 數(shù) 據(jù) 段 描 述 符 高 速 緩 存 寄 存 器6 4 位 3 2 位 偏 移 第2章 16位和32位微處理器384)頁式地址轉(zhuǎn)換Pentium有兩種分頁方式:4KB的頁,使用頁目錄表、頁表兩級頁表進行地址轉(zhuǎn)換。4MB的頁,使用單級頁表進行地址轉(zhuǎn)換。(頁表項)PSE位(b7位)=1,頁大小為4MB (頁目錄表項)PSE位(b7位)=0 ,頁大小為4KB第2章 16位和32位微處理器39(1)Pentium 4KB分頁方式地址轉(zhuǎn)換線性地址由三部分組成:目錄(10位)、頁(10

16、位)、偏移量(12位)目錄域*4+CR3=目錄項的物理地址頁域*4+頁表基地址=頁表項的物理地址頁幀基地址+偏移量=操作數(shù)的物理地址第2章 16位和32位微處理器401000110101B00005000H00000010H0000000100B 4 , 頁 表 的 偏 移 量 T L B 操 作 數(shù) 偏 移 量 頁 幀 基 址 頁 表 基 址 4 , 頁 目 錄 表 的 偏 移 量 頁 幀4 K B 目 錄1 0 位 頁1 0 位 偏 移 量1 2 位 操 作 數(shù) 頁 表 項1 0 2 3 頁 表 項0 頁 目 錄 項1 0 2 3 頁 目 錄 項0 頁 表4 K B ( 1 K 4 B )

17、 頁 目 錄 表4 K B ( 1 K 4 B ) 頁 目 錄 表 的 基 址 寄 存 器C R 3 3 2 位 , 低1 2 位 為0 0 0 H 01235674H00000000H00005H000058D4H0003CH0003C000H674H0003C674H第2章 16位和32位微處理器41(2)Pentium 4MB分頁方式地址轉(zhuǎn)換32位線性地址分為高10位的頁面(號)和低22位的頁內(nèi)偏移兩個字段。32位地址模式下,全系統(tǒng)只一張頁表,由控制寄存器CR3指向。此頁表有1K個表項,每項4字節(jié)(32位)。第2章 16位和32位微處理器42第2章 16位和32位微處理器435)描述符和

18、頁表項(1)描述符描述符是用以管理64TB虛擬存儲地址空間分段的基本元素。它負責(zé)將代碼、數(shù)據(jù)、堆棧和任務(wù)狀態(tài)段的虛擬地址映象到線性地址,并給段指定屬性。采用描述符的特點擴展存儲空間實現(xiàn)虛擬存儲實現(xiàn)多任務(wù)隔離二種類型的描述符非系統(tǒng)系統(tǒng)段描述符系統(tǒng)段描述符第2章 16位和32位微處理器44非系統(tǒng)系統(tǒng)段描述符用于描述代碼、數(shù)據(jù)、堆棧段。段限長15-00段基址15-02訪問權(quán)限字節(jié)段基址23-164段基址31-24GD00段限長19-166粒度(界限長度屬性)0=以字節(jié)為單位 11MB1=以頁為單位 4KB 4GB本次尋址的操作數(shù)位數(shù)0= 16位1= 32位第2章 16位和32位微處理器45訪問權(quán)限字

19、節(jié)代碼段PDPL11CRA數(shù)據(jù)段PDPL100WA堆棧段PDPL101W=0ASEED第2章 16位和32位微處理器46系統(tǒng)段描述符(s=0)系統(tǒng)段描述符對應(yīng)一個系統(tǒng)段。系統(tǒng)段包括:任務(wù)狀態(tài)段TTS-特殊數(shù)據(jù)結(jié)構(gòu),對應(yīng)一個任務(wù)的各種信息各種門-一種轉(zhuǎn)換機制。門類型有:調(diào)用門、任務(wù)門、中斷門和陷阱門。LDTLDT描述符中的訪問權(quán)限字節(jié):PDPL00010S類型TYPE(低4位)第2章 16位和32位微處理器47(2)頁表項(4字節(jié))頁目錄項或頁表項格式:31110基址31-12AVL00DA00UW PUW用戶管理員00無讀/寫01無讀/寫10只讀讀/寫11讀/寫讀/寫第2章 16位和32位微處

20、理器486)轉(zhuǎn)換檢測緩沖器TLB(轉(zhuǎn)換后備緩沖區(qū))TLB可以保存32個頁表項,它是一個4路組相聯(lián)的高速緩存,每組8項,每項由兩部分組成:線性地址的高18位頁表項PTE第2章 16位和32位微處理器49 31 15 14 12 11 0 線性地址 VAH/PTE 共8項 0 VAH/PTE 共8項 1 VAH/PTE 共8項 3 VAH/PTE 共8項 4 0 1 2 3 4 5 6 7 VAH=VAH VAH=VAH VAH=VAH VAH=VAH 匹配邏輯 未命中 命中 第2章 16位和32位微處理器507)V86方式下的分頁功能前提:在保護方式下,使CR0中的PG=1。v線性地址為20位,

21、高12位為0,故只能訪問第一個頁目錄項。v頁表項最多為256+16=272個31 22212019 1211 0 0000000000000000000011111111考慮A20使能:FFFFH*16+FFFFH=10FFEFH當(dāng)A19A12=00/01/0FH,A20=1,共16頁。第2章 16位和32位微處理器516.Pentium 的中斷(256種)1)引發(fā)中斷的三類情況外設(shè)往CPU送一個中斷請求信號(外部硬件中斷、非屏蔽中斷)CPU或協(xié)處理器執(zhí)行指令時產(chǎn)生異常 (內(nèi)部異常)程序執(zhí)行INT指令 (軟件中斷)第2章 16位和32位微處理器52異常按報告錯誤方式分為三類:故障(Fault)

22、保存在堆棧中的CS、EIP值指向?qū)е翭ault指令,從而異常處理后可以繼續(xù)執(zhí)行該指令。陷阱(Trap)保存在堆棧中的CS、EIP值指向?qū)е耇rap指令的下一條指令,從而異常處理后從下一條指令處恢復(fù)。異常中止(Abort)不保存任何信息,系統(tǒng)可能需要重新啟動。第2章 16位和32位微處理器532)中斷向量和中斷描述符表中斷類型號通過一個地址指針表與中斷服務(wù)程序相聯(lián)。在實方式下,地址指針表稱為中斷向量表。在保護方式下,地址指針表稱為中斷描述符表(IDT)。中斷向量表位置-IDTR:基址為0,限長:03ffh中斷描述符表位置- IDTR的值確定。第2章 16位和32位微處理器54門描述符可定義:中斷

23、門、陷阱門、任務(wù)門IDTR的限長07FFH CPU 15 0 IDTR 31 0 限 長 基 址 存 儲 器 GATA255 GATA254 IDT GATA2 GATA1 GATA0 IDT+7F8H-IDT+7FFH IDT+7F7H-IDT+7F0H IDT+10H-IDT+17H IDT+8H-IDT+FH IDT+0-IDT+7H 第2章 16位和32位微處理器55中斷門、陷阱門描述符格式T=0:中斷門T=1:陷阱門區(qū)別:當(dāng)切換到陷阱門上下文時,不清除IF。代碼偏移量15-00段選擇符2P DPL 0 1 1 1 T000 未用4代碼偏移量16-316第2章 16位和32位微處理器5

24、67Pentium的保護技術(shù)n保護是指對存儲器采取防護措施以拒絕任務(wù)存儲器資源未經(jīng)授權(quán)或不正確訪問。n任務(wù)是在操作系統(tǒng)中處理器調(diào)度的一個單位,它可以是一個程序、一個過程、一個操作系統(tǒng)的服務(wù)例程、一個中斷或異常句柄或一個執(zhí)行內(nèi)核在處理器中的一次動態(tài)執(zhí)行過程。n一個任務(wù)由兩部分組成:執(zhí)行空間和任務(wù)狀態(tài)段TSS。執(zhí)行空間由代碼段、堆棧段和數(shù)據(jù)段組成。使用特權(quán)級保護機制,每個特權(quán)級提供一個獨立的堆棧。TSS是一種特殊的系統(tǒng)段,它載有任務(wù)運行的全部環(huán)境參數(shù)。第2章 16位和32位微處理器571)任務(wù)的4種特權(quán)級特權(quán)級通過段描述符中的DPL指定給每個段。當(dāng)一個程序試圖訪問某段時,就把該程序所擁有的特權(quán)級與要訪問段的DPL進行比較以決定是否訪問。0級:操作系統(tǒng)的核心1級:操作系統(tǒng)的其他部分2級:中間軟件3級:用戶的應(yīng)用程序第2章 16位和32位微處理器582)I/O的兩個特權(quán)級第一個特權(quán)級已指定的特權(quán)級(I/O驅(qū)動程序指定1級/0級)第二個特權(quán)級IOPL:程序的特權(quán)級IOPL時(指數(shù)值上的大小關(guān)系), I/O指令才能執(zhí)行。例如:程序的特權(quán)級為3IOPL=3時,可以使用I/O指令;IOPL=2、

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論