B14第2章CPU-2.ppt_第1頁
B14第2章CPU-2.ppt_第2頁
B14第2章CPU-2.ppt_第3頁
B14第2章CPU-2.ppt_第4頁
B14第2章CPU-2.ppt_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,2.2 32位微處理器Pentium,1Pentium采用的先進(jìn)技術(shù) 2Pentium的工作方式 3Pentium的原理結(jié)構(gòu) 4Pentium的寄存器 5Pentium的存儲(chǔ)管理 6Pentium的中斷 7Pentium的保護(hù)技術(shù),2,1.Pentium采用的先進(jìn)技術(shù),Pentium外部采用64位數(shù)據(jù)總線,內(nèi)部總線32位;支持?jǐn)?shù)據(jù)成組傳輸。 設(shè)置相互獨(dú)立的代碼cache和數(shù)據(jù)cache。 采用超標(biāo)量流水線技術(shù)使得在1個(gè)時(shí)鐘周期內(nèi)發(fā)射兩條簡單的整數(shù)指令或發(fā)射一條浮點(diǎn)指令。 片內(nèi)設(shè)置增強(qiáng)型浮點(diǎn)處理部件 采用RISC 、CISC相結(jié)合的技術(shù),部分常用指令用硬件實(shí)現(xiàn);微程序?qū)崿F(xiàn)的指令,其微代碼的算

2、法也作了改進(jìn),以減少所需時(shí)鐘周期。,3,采用分段和分頁兩級(jí)存儲(chǔ)管理機(jī)制 具有BTB方式的轉(zhuǎn)移預(yù)測能力 增強(qiáng)了校驗(yàn)?zāi)芰蜋C(jī)器異常事件的處理能力 具有很好的檢測能力和調(diào)試能力,4,2.Pentium 的工作方式,實(shí)地址方式 保護(hù)虛擬地址方式(保護(hù)方式) 虛擬8086方式 系統(tǒng)管理方式,5,1)實(shí)地址方式的特點(diǎn),尋址機(jī)構(gòu)、存儲(chǔ)器管理、中斷處理機(jī)構(gòu)均同8086。 操作數(shù)默認(rèn)長度16位。 使用A19A0尋址1MB物理地址物理地址=線性地址=段寄存器*16+16位偏移量 兩個(gè)內(nèi)存保留區(qū): 系統(tǒng)初始化區(qū):FFFF0HFFFFFH 中斷向量表區(qū):00000H003FFH,6,2)保護(hù)方式的特點(diǎn),使用A31A0

3、尋址4GB物理地址空間。用戶編程采用虛擬地址(邏輯地址),虛擬地址空間為64TB。存儲(chǔ)器采用分段、分頁管理。段寄存器的內(nèi)容作為選擇子,通過描述符表實(shí)現(xiàn)虛擬地址向線性地址的轉(zhuǎn)換;通過頁表實(shí)現(xiàn)線性地址向物理地址的轉(zhuǎn)換。 能進(jìn)行16位運(yùn)算,也能進(jìn)行32位運(yùn)算。,7,支持多任務(wù),支持兩種主要保護(hù)類型。 不同任務(wù)之間的保護(hù)采用任務(wù)隔離LDT指定了獨(dú)立的虛擬地址空間,隔離了任務(wù)間的相互影響達(dá)到保護(hù)目的。 同一任務(wù)內(nèi)的保護(hù)采用特權(quán)級(jí)保護(hù)任務(wù)的4種特權(quán)級(jí)I/O的兩個(gè)特權(quán)級(jí),8,3)虛擬8086方式的特點(diǎn),V86方式的尋址(與保護(hù)方式的區(qū)別) 尋址的地址空間是1MB;段寄存器的內(nèi)容作為段值解釋;20位存儲(chǔ)單元地

4、址由段值乘以16加偏移量構(gòu)成。 V86方式下的保護(hù)(與實(shí)地址方式的區(qū)別) V86方式下的代碼規(guī)定在特權(quán)級(jí)3下運(yùn)行。 V86可進(jìn)行多任務(wù)操作 V86方式下的分頁功能(實(shí)地址方式不支持) 只能訪問第一個(gè)頁目錄項(xiàng) 頁表項(xiàng)最多為256+16=272個(gè),9,3.Pentium 的原理結(jié)構(gòu),Pentium 的內(nèi)部主要包括12個(gè)主要部件: 總線接口部件 U流水線和V流水線 數(shù)據(jù)Cache 代碼Cache 指令預(yù)取部件 指令譯碼器 控制ROM 分支目標(biāo)緩沖器BTB 控制部件 浮點(diǎn)處理部件FPU 分段部件和分頁部件 寄存器組,10,11,1)U流水線和V流水線,Pentium整數(shù)指令采用5段式流水線。 U流水線

5、和V流水線都有: ALU、地址生成電路和與數(shù)據(jù)cache的接口 兩條流水線共用部件 兩個(gè)預(yù)取緩沖器、指令譯碼器、控制ROM 指令譯碼器除完成譯碼指令外,還要完成指令配對(duì)檢查。,12,U和V流水線都由5段組成 指令預(yù)?。≒F) 指令譯碼(D1) 地址生成(D2) 指令執(zhí)行(EX) 結(jié)果寫回(WB),U和V共享,13,14,U、V兩條流水線不是等價(jià)的 V流水線總是接受U流水線的下一條指令 U流水線能執(zhí)行指令集的任何指令,包括指令前綴; V流水線只能執(zhí)行簡單指令。 若連續(xù)的兩條指令不能配對(duì),需要U流水線先后執(zhí)行這兩條指令。,15,發(fā)射一對(duì)指令必須滿足的條件: 兩條指令是簡單指令 沒有RAW和WAR相

6、關(guān)性 每條指令不同時(shí)含有立即數(shù)和相對(duì)尋址偏移量 帶有指令前輟的指令發(fā)射到U流水線。,16,2)分立的代碼cache和數(shù)據(jù)cache,8KB代碼cache和8KB數(shù)據(jù)cache 代碼cache是只讀的指令代碼,單端口,256位 數(shù)據(jù)cache是可讀寫的,雙端口,每端口32位,與U,V兩條流水線交換整數(shù)數(shù)據(jù),或組合成一個(gè)64位端口與浮點(diǎn)運(yùn)算部件交換浮點(diǎn)數(shù)據(jù)。 兩個(gè)cache與64位數(shù)據(jù)、32位地址的CPU內(nèi)部總線相接。,17,3)浮點(diǎn)運(yùn)算指令流水線,浮點(diǎn)運(yùn)算指令采用8段式流水線 指令預(yù)?。≒F) 指令譯碼(D1) 地址生成(D2) 取操作數(shù)(EX) 執(zhí)行1(X1) 執(zhí)行2(X2) 結(jié)果寫回寄存器堆

7、(WF) 錯(cuò)誤報(bào)告(ER),前4段在U流水線完成,18,一般情況下,只能由U流水線完成一條浮點(diǎn)操作指令;少數(shù)情況下,V流水線也能同時(shí)完成一條簡單浮點(diǎn)數(shù)指令。 浮點(diǎn)部件內(nèi): 有浮點(diǎn)專用的加法器、乘法器和除法器 有8個(gè)80位寄存器組成的寄存器堆,內(nèi)部的數(shù)據(jù)總線為80位寬。 支持IEEE 754標(biāo)準(zhǔn)的單、雙精度格式及80位臨時(shí)浮點(diǎn)數(shù)。,19,4)以BTB實(shí)現(xiàn)的動(dòng)態(tài)轉(zhuǎn)移預(yù)測,Pentium采用動(dòng)態(tài)轉(zhuǎn)移預(yù)測技術(shù),來減少由于轉(zhuǎn)移相關(guān)引起的流水線性能損失。 提供的轉(zhuǎn)移目標(biāo)緩沖器BTB是個(gè)小容量的cache。,20,BTB是一個(gè)4路組相聯(lián)的cache,有64組。轉(zhuǎn)移指令地址(高26位)字段即為該項(xiàng)的標(biāo)記(ta

8、g),以轉(zhuǎn)移指令地址的低6位為行索引,每項(xiàng)有兩位歷史位,作為預(yù)測依據(jù)。 每次轉(zhuǎn)移指令執(zhí)行完,依據(jù)預(yù)測是否正確相應(yīng)地修改歷史位。,26位標(biāo)記 32位轉(zhuǎn)移目標(biāo)地址 2位歷史位,21,BTB預(yù)測向轉(zhuǎn)移取傾斜(P40) 統(tǒng)計(jì)表明轉(zhuǎn)移指令發(fā)生轉(zhuǎn)移取的概率為60%。 指令預(yù)取緩沖區(qū)(B)提前存放預(yù)測為轉(zhuǎn)移取的目標(biāo)地址指令,為轉(zhuǎn)移取實(shí)為順序取的損失比預(yù)測為順序取實(shí)為轉(zhuǎn)移取的損失小。,22,23,4.Pentium的寄存器,Pentium 的寄存器組可以分成如下三類: (1)基本寄存器組(2)系統(tǒng)寄存器組(3)浮點(diǎn)寄存器組,24,1)基本寄存器組,通用寄存器 8個(gè)32位通用寄存器,用于保存數(shù)據(jù)和地址EAX、E

9、BX、ECX、EDX、ESI、EDI、EBP、ESP 段寄存器 6個(gè)16位長段寄存器CS、SS、DS、 ES、 FS、GS 指令指針和標(biāo)志寄存器 EIP、EFLAGS,25,26,32位標(biāo)志寄存器(EFLAGS),IOPL:I/O特權(quán)級(jí)。當(dāng)前特權(quán)級(jí)高于等于IOPL,I/O指令能順利執(zhí)行。若當(dāng)前特權(quán)級(jí)低于IOPL,則產(chǎn)生中斷,使任務(wù)掛起。 NT:嵌套任務(wù)標(biāo)志位。NT=1,表示當(dāng)前執(zhí)行的任務(wù)嵌套在另一個(gè)任務(wù)中執(zhí)行。 RF:恢復(fù)標(biāo)志位。配合斷點(diǎn)或單步操作一起使用。 VM:虛擬8086方式標(biāo)志位。,27,AC (b18):對(duì)準(zhǔn)檢查標(biāo)志。AC=1,進(jìn)行未對(duì)準(zhǔn)地址訪問時(shí)將產(chǎn)生異常中斷17。只有在特權(quán)級(jí)3時(shí)

10、此位有效。(同80486) VIF(b19):虛擬中斷允許標(biāo)志 VIP(b20):虛擬中斷禁止標(biāo)志 虛擬中斷(virtual interrupt)用于多任務(wù)環(huán)境。 ID(b21):識(shí)別標(biāo)志,ID=1指明這個(gè)處理器能支持CPUID指令。,28,段寄存器,6個(gè)16位的段寄存器CS、SS、DS、ES、FS、GS 保護(hù)地址方式下作為段選擇子寄存器,段選擇子用來選擇進(jìn)入GDT/LDT。 每個(gè)段選擇子寄存器對(duì)應(yīng)有一個(gè)64位的內(nèi)部段描述符寄存器。指令執(zhí)行時(shí)被透明地裝入描述符。,29,2)系統(tǒng)寄存器組,系統(tǒng)地址寄存器GDTR、IDTR、LDTR、TR 5個(gè)控制寄存器CR0、 CR1、CR2、CR3、CR4 8

11、個(gè)調(diào)試寄存器 18個(gè)測試寄存器,30,31,系統(tǒng)地址寄存器,全局描述符表寄存器-GDTR(48位) 定義了一個(gè)全局描述符表(GDT) 中斷描述符表寄存器-IDTR (48位) 定義了一個(gè)中斷描述符表(GDT) 中斷描述符類型稱為中斷門。,32,局部描述符表寄存器-LDTR (16位) 選擇子,用于選擇一個(gè)LDT描述符,裝入LDTR高速緩沖寄存器。 LDT描述符定義了一個(gè)局部描述符表(LDT) 任務(wù)寄存器-TR (16位) 選擇子,用于選擇一個(gè)任務(wù)狀態(tài)段(TSS)描述符,裝入到任務(wù)描述符高速緩沖寄存器。,33,Pentium 控制寄存器,CR0的PG、PE組成給定CPU的工作模式 CR3 保存頁

12、目錄表的基地址。 頁目錄表按頁對(duì)齊,CR3最低12位為0(每頁為4KB)。,34,Pentium的存儲(chǔ)管理部件MMU設(shè)有分段部件SU和分頁部件PU,允許SU、PU單獨(dú)工作或同時(shí)工作。 不分段不分頁模式 分段不分頁模式 分段分頁模式兩種分頁方式:4KB的頁、4MB的頁 不分段分頁模式也稱為平面存儲(chǔ)模式(平展模式),5.Pentium的存儲(chǔ)管理,保護(hù)模式分段、分頁管理,35,虛擬地址:48位存儲(chǔ)器指針(16位選擇子,32位有效地址) 選擇子的格式,任務(wù)指示符:0=使用GDT,1=使用LDT,請(qǐng)求特權(quán)級(jí),1)虛擬地址空間,36,2)虛實(shí)地址轉(zhuǎn)換,37,3)段式地址轉(zhuǎn)換,38,4)頁式地址轉(zhuǎn)換,Pen

13、tium有兩種分頁方式: 4KB的頁,使用頁目錄表、頁表兩級(jí)頁表進(jìn)行地址轉(zhuǎn)換。 4MB的頁,使用單級(jí)頁表進(jìn)行地址轉(zhuǎn)換。,(頁表項(xiàng))PSE位(b7位)=1,頁大小為4MB (頁目錄表項(xiàng))PSE位(b7位)=0 ,頁大小為4KB,39,(1)Pentium 4KB分頁方式地址轉(zhuǎn)換,線性地址由三部分組成:目錄(10位)、頁(10位)、偏移量(12位) 目錄域*4+CR3=目錄項(xiàng)的物理地址 頁域*4+頁表基地址=頁表項(xiàng)的物理地址 頁幀基地址+偏移量=操作數(shù)的物理地址,40,1000110101B,00005000H,00000010H,0000000100B,01235674H,00000000H,0

14、0005H,000058D4H,0003CH,0003C000H,674H,0003C674H,41,(2)Pentium 4MB分頁方式地址轉(zhuǎn)換 32位線性地址分為高10位的頁面(號(hào))和低22位的頁內(nèi)偏移兩個(gè)字段。 32位地址模式下,全系統(tǒng)只一張頁表,由控制寄存器CR3指向。此頁表有1K個(gè)表項(xiàng),每項(xiàng)4字節(jié)(32位)。,42,43,5)描述符和頁表項(xiàng),(1)描述符 描述符是用以管理64TB虛擬存儲(chǔ)地址空間分段的基本元素。它負(fù)責(zé)將代碼、數(shù)據(jù)、堆棧和任務(wù)狀態(tài)段的虛擬地址映象到線性地址,并給段指定屬性。 采用描述符的特點(diǎn) 擴(kuò)展存儲(chǔ)空間 實(shí)現(xiàn)虛擬存儲(chǔ) 實(shí)現(xiàn)多任務(wù)隔離 二種類型的描述符 非系統(tǒng)系統(tǒng)段描述

15、符 系統(tǒng)段描述符,44,非系統(tǒng)系統(tǒng)段描述符,用于描述代碼、數(shù)據(jù)、堆棧段。,粒度(界限長度屬性) 0=以字節(jié)為單位 11MB 1=以頁為單位 4KB 4GB,本次尋址的操作數(shù)位數(shù) 0= 16位 1= 32位,45,訪問權(quán)限字節(jié),46,系統(tǒng)段描述符(s=0),系統(tǒng)段描述符對(duì)應(yīng)一個(gè)系統(tǒng)段。 系統(tǒng)段包括: 任務(wù)狀態(tài)段TTS-特殊數(shù)據(jù)結(jié)構(gòu),對(duì)應(yīng)一個(gè)任務(wù)的各種信息 各種門-一種轉(zhuǎn)換機(jī)制。門類型有:調(diào)用門、任務(wù)門、中斷門和陷阱門。 LDT LDT描述符中的訪問權(quán)限字節(jié):,47,(2)頁表項(xiàng)(4字節(jié)),頁目錄項(xiàng)或頁表項(xiàng)格式:,48,6)轉(zhuǎn)換檢測緩沖器TLB(轉(zhuǎn)換后備緩沖區(qū)),TLB可以保存32個(gè)頁表項(xiàng),它是一

16、個(gè)4路組相聯(lián)的高速緩存,每組8項(xiàng),每項(xiàng)由兩部分組成: 線性地址的高18位 頁表項(xiàng)PTE,49,50,7)V86方式下的分頁功能 前提:在保護(hù)方式下,使CR0中的PG=1。 線性地址為20位,高12位為0,故只能訪問第一個(gè)頁目錄項(xiàng)。 頁表項(xiàng)最多為256+16=272個(gè),考慮A20使能:FFFFH*16+FFFFH=10FFEFH 當(dāng)A19A12=00/01/0FH,A20=1,共16頁。,51,6.Pentium 的中斷(256種),1)引發(fā)中斷的三類情況 外設(shè)往CPU送一個(gè)中斷請(qǐng)求信號(hào)(外部硬件中斷、非屏蔽中斷) CPU或協(xié)處理器執(zhí)行指令時(shí)產(chǎn)生異常 (內(nèi)部異常) 程序執(zhí)行INT指令 (軟件中斷

17、),52,異常按報(bào)告錯(cuò)誤方式分為三類: 故障(Fault)保存在堆棧中的CS、EIP值指向?qū)е翭ault指令,從而異常處理后可以繼續(xù)執(zhí)行該指令。 陷阱(Trap)保存在堆棧中的CS、EIP值指向?qū)е耇rap指令的下一條指令,從而異常處理后從下一條指令處恢復(fù)。 異常中止(Abort)不保存任何信息,系統(tǒng)可能需要重新啟動(dòng)。,53,2)中斷向量和中斷描述符表,中斷類型號(hào)通過一個(gè)地址指針表與中斷服務(wù)程序相聯(lián)。 在實(shí)方式下,地址指針表稱為中斷向量表。 在保護(hù)方式下,地址指針表稱為中斷描述符表(IDT)。 中斷向量表位置-IDTR:基址為0,限長:03ffh 中斷描述符表位置- IDTR的值確定。,54,

18、門描述符可定義:中斷門、陷阱門、任務(wù)門 IDTR的限長07FFH,55,中斷門、陷阱門描述符格式,T=0:中斷門 T=1:陷阱門 區(qū)別:當(dāng)切換到陷阱門上下文時(shí),不清除IF。,56,7Pentium的保護(hù)技術(shù),保護(hù)是指對(duì)存儲(chǔ)器采取防護(hù)措施以拒絕任務(wù)存儲(chǔ)器資源未經(jīng)授權(quán)或不正確訪問。 任務(wù)是在操作系統(tǒng)中處理器調(diào)度的一個(gè)單位,它可以是一個(gè)程序、一個(gè)過程、一個(gè)操作系統(tǒng)的服務(wù)例程、一個(gè)中斷或異常句柄或一個(gè)執(zhí)行內(nèi)核在處理器中的一次動(dòng)態(tài)執(zhí)行過程。 一個(gè)任務(wù)由兩部分組成:執(zhí)行空間和任務(wù)狀態(tài)段TSS。 執(zhí)行空間由代碼段、堆棧段和數(shù)據(jù)段組成。使用特權(quán)級(jí)保護(hù)機(jī)制,每個(gè)特權(quán)級(jí)提供一個(gè)獨(dú)立的堆棧。 TSS是一種特殊的系統(tǒng)

19、段,它載有任務(wù)運(yùn)行的全部環(huán)境參數(shù)。,57,1)任務(wù)的4種特權(quán)級(jí),特權(quán)級(jí)通過段描述符中的DPL指定給每個(gè)段。 當(dāng)一個(gè)程序試圖訪問某段時(shí),就把該程序所擁有的特權(quán)級(jí)與要訪問段的DPL進(jìn)行比較以決定是否訪問。 0級(jí):操作系統(tǒng)的核心 1級(jí):操作系統(tǒng)的其他部分 2級(jí):中間軟件 3級(jí):用戶的應(yīng)用程序,58,2)I/O的兩個(gè)特權(quán)級(jí),第一個(gè)特權(quán)級(jí)已指定的特權(quán)級(jí)(I/O驅(qū)動(dòng)程序指定1級(jí)/0級(jí)) 第二個(gè)特權(quán)級(jí)IOPL:程序的特權(quán)級(jí)IOPL時(shí)(指數(shù)值上的大小關(guān)系), I/O指令才能執(zhí)行。,例如:程序的特權(quán)級(jí)為3IOPL=3時(shí),可以使用I/O指令;IOPL=2、1、0時(shí),用戶程序需要通過操作系統(tǒng)的I/O驅(qū)動(dòng)程序完成I/O操作。,59,3)保護(hù)性檢查與限制,段保護(hù)檢查與限制 類型檢查 限長檢查

溫馨提示

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

評(píng)論

0/150

提交評(píng)論