Pentium微管理組織器內部寄存器_第1頁
Pentium微管理組織器內部寄存器_第2頁
Pentium微管理組織器內部寄存器_第3頁
Pentium微管理組織器內部寄存器_第4頁
Pentium微管理組織器內部寄存器_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.Pentium微處理器的內部寄存器Pentium是Intel公司于1993年3月推出的第五代80X86系列微處理器,簡稱P5或80586,中文譯名為“奔騰”。與其前輩80X86微處理器相比,Pentium采用了全新的設計,它有64位數據線和32位地址線,但依然保持了與其前輩80X86的兼容性,在相同的工作方式上可以執(zhí)行所有的80X86程序。精品文檔放心下載Pentium的內部結構如圖2.4所示。它主要由執(zhí)行單元、指令Cache、數據Cache、指令預取單元、指令譯碼單元、地址轉換與管理單元、總線單元以及控制器等部件組成。其中核心是執(zhí)行單元(又叫運算器),它的任務是高速完成各種算術和邏輯運算,其內部包括兩個整數算術邏輯運算單元(ALU)和一個浮點運算器,分別用來執(zhí)行整數和實數的各種運算。為了提高效率,它們都集成了幾十個數據寄存器用來臨時存放一些中間結果。這些功能部件除地址轉換和管理單元與80386/80486保持兼容外,其他都進行了重新設計。精品文檔放心下載超標量體系結構和指令流水線Pentium由“U”和“V”兩條指令流水線構成超標量流水線結構,其中每條流水線都有自己的ALU、地址生成邏輯和Cache接口。這種雙流水線技術可以使兩條指令在不同流水線中并行執(zhí)行。謝謝閱讀2.4Pentium微處理器的內部結構.每條流水線又分為指令預取PF、指令譯碼(一次譯碼)D1、地址生成(二次譯碼)D2、指令執(zhí)行EX和回寫WB共5個步驟。圖2.5給出了Pentium的指令流水線操作示意。謝謝閱讀2.5Pentium指令流水線操作示意圖當第一條指令完成指令預取,進入第二個操作步驟D1,執(zhí)行指令譯碼操作時,流水線就精品文檔放心下載可以開始預取第二條指令;當第一條指令進入第三個步驟D2,執(zhí)行地址生成時,第二條指令進入第二個步驟D1,開始指令譯碼,流水線又開始預取第三條指令;當第一條指令進入第四個步驟EX,執(zhí)行指令規(guī)定的操作時,第二條指令進入第三個步驟D2,執(zhí)行地址生成,第三條指令進入第二個步驟D1,開始指令譯碼,流水線又開始預取第四條指令;當第一條指令進入第五個步驟WB,執(zhí)行回寫操作時,第二條指令進入第四個步驟EX,執(zhí)行指令規(guī)定的操作,第三條指令進入第三個步驟D2,執(zhí)行地址生成,第四條指令進入第二個步驟D1,開始指令譯碼,流水線又開始預取第五條指令。精品文檔放心下載這種流水線操作并沒有減少每條指令的執(zhí)行步驟,5個步驟哪一步都不能跳越。但由于各指令的不同步驟之間并行執(zhí)行,從而極大地提高了指令的執(zhí)行速度。從第一個時鐘開始,經過5個時鐘后,每個時鐘都有一條指令執(zhí)行完畢從流水線輸出。在這種理想情況下,Pentium的超標量體系結構每個時鐘周期內可執(zhí)行兩條整數指令(每條流水線執(zhí)行一條指令)。感謝閱讀重新設計的浮點運算部件Pentium的浮點運算部件在80486的基礎上作了重新設計,采用了超流水線技術,由8個獨立執(zhí)行部件進行流水線作業(yè),使每個時鐘周期能完成一個浮點操作(或兩個浮點操作)。采用快速算法可使諸如ADD、MUL和LOAD等運算的速度最少提高3倍,在許多應用程序中利用指令調度和重疊(流水線)執(zhí)行可使性能提高5倍以上。同時,這些指令用電路進行固化,用硬件來實現,使執(zhí)行速度得到更大提高。謝謝閱讀3)獨立的指令Cache和數據CachePentium片內有兩個8KB的超高速緩存器,一個是指令Cache,一個是數據Cache。轉換后備緩沖器TLB(TranslationLook-asideBuffer)的作用是將線性地址轉換為物理地址。這兩種Cache采用32×8線寬,是對Pentium的64位總線的有力支持。指令和數據分別使感謝閱讀.用不同的Cache,使Pentium中數據和指令的存取減少了沖突,提高了性能。謝謝閱讀Pentium的數據Cache有兩種接口,分別與U和V兩條流水線相連,以便能在相同時刻向兩個獨立工作的流水線進行數據交換。當向已被占滿的數據Cache中寫數據時,將移走當前使用頻率最低的數據,同時將其寫回內存,這種技術稱為Cache回寫技術。由于CPU向Cache寫數據和將Cache釋放的數據寫回內存是同時進行的,所以采用Cache回寫技術將節(jié)省處理時間。精品文檔放心下載4)分支指令預測。Pentium提供了一個稱為BTB(BranchTargetBuffer)的小Cache來動態(tài)地預測程序的分支操作。當某條指令導致程序分支時,BTB記憶下該條指令和分支的目標地址,并用這些信息預測該條指令再次產生分支時的路徑,預先從該處預取,保證流水線的指令預取步驟不會空置。這一機構的設置,可以減少在循環(huán)操作時對循環(huán)條件的判斷所占用的CPU的時間。感謝閱讀5)采用64位外部數據總線Pentium芯片內部ALU和通用寄存器仍是32位,所以還是32位微處理器,但它同內存儲器進行數據交換的外部數據總線為64位,使兩者之間的數據傳輸速度可達528MB/s。此外Pentium還支持多種類型的總線周期,在突發(fā)方式下,可以在一個總線周期內讀入256B的數據。精品文檔放心下載2.Pentium的外部引腳Pentium芯片有168個引腳,這些引腳信號線也即PentiumCPU總線,分為三大類:精品文檔放心下載總線接口引腳、處理器控制引腳、調試與測試引腳。1)總線接口信號Pentium的總線接口信號如表2.1所示。這些引腳信號包括用于管理訪問外部存儲器和I/O端口必須的地址、數據和總線周期控制信號,以及Cache控制信號。感謝閱讀表2.1總線接口信號類型符號功能方向A31~A3地址總線。用于指明某一8字節(jié)(64位)單元地址輸出AP地址奇偶校驗輸出地址信APCHK地址奇偶校驗出錯輸出號BE7~BE0字節(jié)允許。用于指明訪問8字節(jié)中的哪些字節(jié)輸出D63~D0數據總線。D63~D56、D7~D0分別是最高和最低輸入/輸DP7~有效字節(jié)出DP0數據奇偶校驗引腳。分別對應數據的8個字節(jié)輸入/輸.PEN數據信 PCHK號BUSCHKADSBRDYD/CW/RM/IO

出數據奇偶校驗允許輸出數據奇偶校驗狀態(tài)指示。低電平表示有奇偶校驗錯輸出總線檢查輸入地址狀態(tài)。它有效表明地址和總線定義信號是有效 輸出的輸出突發(fā)就緒。表明當前周期已完成SCYC輸出總線周CACHE數據/控制周期指示。用來區(qū)分數據和控制周期期輸出LOCK控制信寫/讀周期指示。用來區(qū)別讀還是寫周期號輸出存儲器/IO周期指示。用來區(qū)分存儲器和IO周期輸出分離周期。表示未對齊操作鎖定期間有2個以上的輸出周期被鎖定Cache輸出信號,指示當前Pentium周期可對數輸出據進行緩存.總線鎖定。它有效表明Pentium正在讀—修改—寫周期中運行,在讀與寫周期間不釋放外部總線,即獨占系統總線PWT頁面通寫。PWT=1表明寫操作命中時既要寫輸出PCDCache,也要寫內存輸入KEN頁面Cache禁止。PCD=1時禁止以頁為單位的輸入CacheCache操作NA控制信WB/WTCache允許。用來確定當前周期所傳送的數據是輸入號否能用于高速緩存EWBE下一地址,用于形成流水線式總線周期 輸出輸入回寫/通寫外部寫緩沖器空D63~D0是Pentium的64位雙向數據總線。A31~A3和BE7~BE0構成32位地址總線,以提供存儲器和I/O端口的物理地址。A31~A3用于確定一個8字節(jié)單元地址,BE7~BE0則用于指明在當前的操作中要訪問8字節(jié)中的哪些字節(jié)。Pentium微處理器規(guī)定:BE0對應謝謝閱讀數據線D7~D0;BE1對應數據線D15~D8;BE2對應數據線D23~D16;BE3對應數據線D31~D24;BE4對應數據線D39~D32;BE5對應數據線D47~D40;BE6對應數據線D55~D48;BE7對應數據線D63~D56。精品文檔放心下載Pentium微處理器的地址線沒有設置A2、A1和A0引腳,但可由BE7~BE0這8個字節(jié)使能信號產生,為保持與前輩80X86的兼容性,還應產生BHE信號。精品文檔放心下載D/C(數據/控制)、W/R(寫/讀)、M/IO(存儲器/IO)是總線周期定義的基本信號,這3個信號的不同組合可以決定當前的總線周期所要完成的操作,如表2.2所示。這些操作的意精品文檔放心下載.義將在有關章節(jié)加以介紹。表2.2總線周期定義M/IOD/CW/R啟動的總線周期000中斷響應周期001停機/暫停010I/O讀周期011I/O寫周期100微代碼讀周期101Intel公司保留110存儲器讀周期111存儲器寫周期處理器控制信號處理器控制信號如表2.3所示。包括時鐘、處理器初始化、FRC、總線仲裁、Cache窺視、中斷請求、執(zhí)行跟蹤、數字出錯和系統管理等信號。感謝閱讀表2.3處理器控制信號類型符號功能方向時鐘CLK時鐘輸入信號。為CPU提供內部工作頻率輸入RESET復位。高電平強制Pentium從已知的初始狀態(tài)開始執(zhí)輸入初始化INIT行程序初始化。INIT的作用類似于RESET信號,不同之處輸入是它在進行處理器初始化時,將保持片內Cache、寫緩沖器和浮點寄存器的內容不變FRCFRCM功能冗余檢查方式輸出IERR內部出錯 輸出.HOLD總線保持請求。它有效時,表示請求Pentium交出總輸入總線仲HLDA線控制權輸出裁BREG總線保持響應。它有效時,指明Pentium已經交出總輸出BOFF線控制權輸入總線請求。該引腳有效時,表示Pentium需要使用系統總線總線占用。它有效時,強制Pentium在下一時鐘浮空其總線AHOL地址保持請求。該信號決定地址線A31~A4是否接輸入D受地址輸入輸入EADS輸入CacheFLUSH有效外部地址。該信號表示地址總線A31~A4上的輸出窺視HITM地址信號有效輸出HITCache清洗。低電平有效時,強制Pentium清洗整輸入INV個內部高速緩存未命中命中中斷

INTRNMI

無效請求可屏蔽中斷請求。高電平表示有外部中斷請求不可屏蔽中斷請求。上升沿表示該中斷請求有效

輸入輸入.IUU流水線指令完成輸出執(zhí)行跟IVV流水線指令完成輸出蹤IBT轉移跟蹤指令輸出數字出FERR浮點出錯。用來報告Pentium中PC類型的浮點出錯輸出錯IGNNE輸入忽略數字出錯系統管SMI系統管理中斷。該信號有效,使Pentium進入到系統輸入理SMIACT管理運行模式輸出系統管理中斷激活。該信號有效,表明Pentium正工作在系統管理模式感謝閱讀其他 A20M第20位地址屏蔽。該信號有效時,將屏蔽A20及以輸入上地址,使Pentium仿真8086的1MB存儲空間謝謝閱讀3)調試與測試引腳調試與測試信號如表2.4所示。包括探針方式、斷點/性能監(jiān)測和邊界掃描等引腳信號。感謝閱讀表2.4調試與測試信號類型符號功能方向探針方式R/S進入或退出探針方式輸入PRDY探針方式就緒輸出斷點/性PM0/BP0性能監(jiān)測0/斷點0輸出能監(jiān)測PM1/BP1性能監(jiān)測1/斷點1輸出BP3~BP2斷點3~斷點2輸出TCK測試時鐘輸入.TDI測試數據輸入輸入邊界掃描TDO測試數據輸出輸出TMS測試方式選擇輸入TRST測試復位輸入2.3.2內部寄存器Pentium的內部寄存器按功能分為四類:基本寄存器、系統級寄存器、調試與模型專用寄存器、浮點寄存器。它們是在80486內部寄存器的基礎上擴充而來,并與其前輩80X86保持了兼容。主要差別是Pentium用一組模型專用寄存器代替了80486的測試寄存器,并擴充了一個系統控制寄存器。謝謝閱讀基本寄存器基本寄存器包括通用寄存器、指令指針寄存器、標志寄存器和段寄存器,這些寄存器都是在8086/8088基礎上擴展而來的,如圖2.6所示。感謝閱讀圖2.6 基本寄存器1)通用寄存器8個32位通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP是在8086/8088的8個16位寄存器基礎上擴展位數而來的。為了與8086/8088兼容,它們的低16位可以單獨訪問,并以同8086/8088中相同的名稱命名:AX、BX、CX、DX、SI、DI、BP、SP。其中AX、BX、CX、DX還可進一步分成兩個8位寄存器單獨訪問,且同樣有自己獨立的名稱:AH、AL,BH、BL,CH、CL,DH、DL。上述寄存器中,(E)SP是指示棧頂的指針,精品文檔放心下載.稱為堆棧寄存器。在32位尋址時,8個32位寄存器均可用作存儲器訪問的地址寄存器,但在16位尋址時,只能使用BX、BP、SP、SI、DI寄存器,其中BX和BP稱為基址寄存器,SI和DI稱為變址寄存器,(E)CX則常用于循環(huán)控制,又稱為循環(huán)計數寄存器,(E)AX則稱為累加器。感謝閱讀2)指令指針寄存器(EIP)EIP用于保存下一條待預取指令相對于代碼段基址(由CS提供)的偏移量。它的低16位也可以單獨訪問,并稱之為IP寄存器。當80X86/Pentium工作在32位操作方式時,采用32位的EIP;工作在16位操作方式,采用16位的IP。用戶不可隨意改變其值,只能通過轉移類、調用及返回類指令改變其值。精品文檔放心下載3)標志寄存器(EFLAGS)標志寄存器EFLAGS是32位的,它是在8086/8088/80286標志寄存器FLAGS的基礎上擴充而來的,共定義了三類17種(18位)標志,即:狀態(tài)標志6種(CF、PF、AF、ZF、SF和OF),用于報告算術/邏輯運算指令執(zhí)行后的狀態(tài);控制標志1種(DF),用于控制串操作指令的地址改變方向;系統標志10種11位(TF、IF、IOPL、NT、RF、VM、AC、VIF、VIP和ID),用于控制I/O、屏蔽中斷、調試、任務轉換和控制保護方式與虛擬8086方式間的轉換。謝謝閱讀圖2.7給出了EFLAGS中各位的標志名以及各標志位與CPU的隸屬關系,取值為0的位是Intel保留的,并未使用。各標志位意義如下:精品文檔放心下載圖2.7 標志寄存器.①進位標志CF(位0):CF=1表示運算結果的最高位產生了進位或借位。這個標志主要用于多字節(jié)數的加減法運算。移位和循環(huán)指令也用到它。謝謝閱讀②奇偶標志PF(位2):PF=1表示運算結果中有偶數個1。該標志主要用于數據傳輸過程中檢錯。精品文檔放心下載③輔助進位標志AF(位4):AF=1表示運算導致了低4位向第5位(位4)的進位或借位。精品文檔放心下載該標志主要用于BCD碼運算。④零標志ZF(位6):ZF=1表示運算結果的所有位為0。謝謝閱讀⑤符號標志SF(位7):SF=1表示運算結果的最高位為1。對于用補碼表示的有符號數,SF=1表示結果為負數。精品文檔放心下載⑥自陷標志TF(位8):TF=1表示CPU將進入單步執(zhí)行方式,即每執(zhí)行一條指令后都產生一個內部中斷。利用它可逐條指令地調試程序。感謝閱讀⑦中斷允許標志IF(位9):IF=1表示CPU允許外部可屏蔽中斷,否則禁止外部可屏蔽中斷。注意,IF標志對內部中斷和外部不可屏蔽中斷(NMI)不會產生影響。精品文檔放心下載⑧方向標志DF(位10):DF=1表示在串操作過程中地址指針(E)DI和(E)SI的變化方向是遞減,否則為遞增。精品文檔放心下載⑨溢出標志OF(位11):OF=1表示有符號數運算時,運算結果的數值超過了結果操作數的表示范圍。OF對無符號數是無意義的。感謝閱讀⑩I/O特權級標志IOPL(位13和位12):這兩位表示0~3級4個I/O特權級,用于保護方式。只有當任務的現行特權級高于IOPL時(0級最高,3級最低),執(zhí)行I/O指令才能保證不產生異常。精品文檔放心下載任務嵌套標志NT(位14):指明當前任務是否嵌套,即是否被別的任務調用。該位的置位和復位通過向其他任務的控制轉移來實現,NT的值由IRET指令檢測,以確定執(zhí)行任務間返回還是任務內返回,NT用于保護方式。感謝閱讀恢復標志RF(位16):該標志與調試寄存器的斷點或單步操作一起使用。該位為1,即使遇到斷點或調試故障,也不產生異常中斷。在成功執(zhí)行完每條指令時,該位自動清零,但在執(zhí)行堆棧操作、任務切換、中斷指令時有例外。精品文檔放心下載虛擬86模式標志VM(位17):在保護方式下,若該位置1,80386/80486/Pentium處理器將轉入虛擬8086方式。VM位只能以兩種方式來設置:在保護方式下,由最高特權級(0級)的代碼段的IRET指令來設置;或者由任務轉換來設置。感謝閱讀對準檢查標志AC(位18):該位只對80486和Pentium有效。AC=1,且CR0的AM位也為1,則進行字、雙字或4字的對準檢查。若發(fā)現要訪問的操作未按邊界對齊時,會發(fā)生異常中斷。精品文檔放心下載虛擬中斷標志VIF(位19):該位只對Pentium有效。是虛擬方式下中斷允許標志位的拷貝(Copy)。感謝閱讀虛擬中斷掛起標志VIP(位20):該位只對Pentium有效。用于在虛擬方式下提供有關謝謝閱讀.中斷的信息,在多任務環(huán)境下,為操作系統提供虛擬中斷標志和中斷掛起信息。精品文檔放心下載標識標志ID(位21):該位只對Pentium有效。用以指示Pentium微處理器對CPUID指令的支持狀態(tài)。CPUID指令為系統提供了有關Pentium處理器的信息,諸如型號及制造商。精品文檔放心下載段寄存器6個段寄存器中,FS和GS是80386以上CPU才有的。段寄存器用于決定程序使用的存儲器區(qū)域塊。其中CS指明當前的代碼段;SS指明當前的堆棧段;DS、ES、FS和GS指明當前的四個數據段。謝謝閱讀每個段寄存器由一個16位的段選擇器和64位(對80286是48位)的描述符高速緩存器組成。段選擇器是編程者可直接訪問的,而描述符高速緩存器則是編程者不能訪問的。由于80X86/Pentium在不同工作方式下,段的概念有所不同,因而段寄存器的使用也不相同:謝謝閱讀(1)實地址方式和虛擬8086方式下的段寄存器在實地址方式和虛擬8086方式下,段的概念與8086的段定義相同,即每段的長度限定為64KB。這時,段選擇器就是段寄存器,它存放的是段基址的高16位。感謝閱讀在這兩種方式下,處理器的物理地址實質上是這樣產生的:CPU將段寄存器的內容自動乘16并放在段描述符高速緩存器的基地址中;將段限定固定為0FFFFH;其他屬性也是固定的。即:精品文檔放心下載物理地址=段選擇器×16+偏移地址這種物理地址的形成與8086在本質上沒有區(qū)別。由于段的最大長度、段基址的確定方法和段的其他屬性都是固定的,所以與8086一樣,不必用段描述符來說明段的性質。精品文檔放心下載(2)保護虛擬地址方式下的段寄存器保護虛擬地址方式是一種既支持虛擬存儲管理和多任務,又具有保護功能的工作方式。在該方式下,段的長度和段的屬性都不固定,每個段的長度可以在1B到4GB之間變化(80286只能在1B到64KB之間變化),段的基址也只有在操作系統將該段從外存調入內存時才能確定。所以,為了描述每個段的基址、屬性和邊界(長度),為每個段定義了一個64位(80286為48位)的描述符,稱為段描述符或描述子。謝謝閱讀段描述符的格式如圖2.8所示。低48位是80286的描述符,包括16位段邊界、24位段基地址和8位屬性。80386以上的32位微處理器則在此基礎上擴充了8位基地址、4位邊界和4位屬性,即包括20位段邊界、32位段基地址和12位屬性。其中屬性位定義如下:精品文檔放心下載2.8段描述符格式P為存在位,為1表示存在(在實內存中),為0表示不存在。謝謝閱讀.DPL為描述符特權級,允許為0~3級。S為段描述符類別,為1表示代碼段或數據段描述符,為0表示系統描述符。精品文檔放心下載TYPE為段的類型。A為已訪問位,為1表示已訪問過。G為粒度位(段邊界所用單位),為0表示字節(jié),即段的最大長度為220B=1MB,為1感謝閱讀表示頁,在80386/80486中,每頁為4KB,即段的最大長度為220×4KB=4GB,Pentium則提供了4KB和4MB兩種頁面選擇。精品文檔放心下載D為缺省操作數長度,為0表示16位,為1表示32位(該位僅對代碼段有效)。感謝閱讀這些段描述符存放在兩個系統表格GDT和LDT中。GDT是全局描述符表,存放著操作感謝閱讀系統使用的和各任務公用的段描述符;LDT是局部描述符表,存放著某個任務專用的段描述符。程序(或系統)中裝入段選擇器的也不再是直接的段基址,而是一個指向某個段描述符的感謝閱讀位的段選擇符,其格式如圖2.9所示。其中b1b0位為請求特權級字段RPL,這兩位提供謝謝閱讀(0~3級)4個特權級用于保護;b2位為表指示符字段TI,指明本段描述符是在GDT中還是LDT中;b15~b3這13位構成描述符索引字段INDEX,用于指明段描述符在指定描述符表中的序號。謝謝閱讀2.9段選擇符格式當將一個選擇符裝入一個段選擇器(給段選擇器預置初值)時,處理器將自動從GDT或精品文檔放心下載LDT中找到其對應的描述符,裝入相應段寄存器的描述符高速緩存器中。該過程對用戶來說是透明的。如圖2.10所示,當將一個選擇符裝入DS段選擇器時,處理器根據INDEX和TI指示自動從LDT中找到第64個描述符裝入DS段寄存器的描述符高速緩存器。精品文檔放心下載以后,每當訪問存儲器時,與所用段相關的段描述符高速緩沖器就自動參與該次存儲器訪問操作。段基地址成為線性地址或物理地址計算中的一個分量,界限用于段限檢查操作,屬性則對照所要求的存儲器訪問類型進行檢查。即:精品文檔放心下載線性地址=段描述符高速緩存器中段基址+偏移地址不使用頁部件時,線性地址即為物理地址;使用頁部件時,上述線性地址需經頁管理部件使用頁目錄表和頁表轉換成物理地址。謝謝閱讀.圖2.10 由段選擇器指示自動裝入段描述符系統寄存器Pentium微處理器中包含一組系統級寄存器:即5個控制寄存器CR0~CR4和4個系統地址寄存器。這些寄存器只能由在特權級0上運行的程序(一般是操作系統)訪問。謝謝閱讀1)控制寄存器Pentium微處理器有5個控制寄存器,如圖2.11所示。這些寄存器用來存放全局特性的機器狀態(tài)和實現對80X86/Pentium微處理器的多種功能的控制與選擇。感謝閱讀圖2.11 控制寄存器(1)控制寄存器CR0共定義了11個控制位。在80286微處理器中,CR0稱為機器狀態(tài)字MSW(MachineStatusWord)為一16位寄存器,定義了PE、MP、EM和TS4位。80386在此基礎上擴充了ET和PG兩位。80486以上微處理器在80386的基礎上又擴充了NE、WP、AM、NW和CD這5位。11個控制位分別定義如下:謝謝閱讀①PE為保護允許位,該位為1表示允許保護,為0則以實地址方式工作。精品文檔放心下載②MP為監(jiān)控協處理器位,MP位同TS位一起使用,用來確定WAIT指令是否自陷。精品文檔放心下載當MP=1,且TS=1時,執(zhí)行WAIT指令將產生異常7。謝謝閱讀③EM為仿真協處理器位,用以確定浮點指令是被自陷,還是被執(zhí)行。EM=1,所有浮點指令將產生異常7。感謝閱讀④TS為任務切換位,用以指出任務是否切換,執(zhí)行切換操作時,TS=1。TS=1時,執(zhí)行浮點指令將產生異常7。精品文檔放心下載.⑤ET是處理器擴充類型,該位用于80386微處理器,標識系統中所采用的協處理器的類型。ET=1,采用80387協處理器,否則采用80287。80486以上系統中ET置1。感謝閱讀⑥NE是數字異??刂莆?,該位用于控制是由中斷向量16還是由外部中斷來處理未屏蔽的浮點異常。NE=0,處理器同IGNNE輸入引腳和FEPR輸出引腳配合工作;NE=1,在執(zhí)行下一條非控制浮點指令或WAIT指令之前,任何未屏蔽的浮點異常(UFPE)將產生軟件中斷16。精品文檔放心下載⑦WP是寫保護位,用來保護管理程序寫訪問用戶級的只讀頁面。該位為1時,禁止特權級程序對只讀頁面的寫操作,否則允許只讀頁面由特權級0~2寫入。謝謝閱讀⑧AM是對準屏蔽位,用來控制標志寄存器中對準檢查位 (AC)是否允許對準檢查。謝謝閱讀AM=1,允許AC位;否則禁止AC位。⑨NW為不通寫控制位,該位用來選擇片內數據Cache的操作模式。NW=1時,禁止通寫,寫命中時不修改內存;否則,允許通寫。謝謝閱讀⑩CD是Cache禁止或使能位,該位用來控制允許或禁止向片內Cache填充新數據。感謝閱讀CD=1,當Cache未命中時,禁止填充Cache;否則,未命中時,允許填充Cache。感謝閱讀PG為頁使能位,用于控制是否允許分頁。PG=1,允許分頁,否則禁止分頁。感謝閱讀CR2是頁故障線性地址寄存器,用來保存發(fā)生頁故障中斷(異常14)之前所訪問的最后一個頁面的線性頁地址。用軟件讀出即可得到發(fā)生頁故障的線性地址。CR2由80386以上微處理器定義。謝謝閱讀CR3是頁目錄基地址寄存器,用來存放當前任務的頁目錄表的物理基地址。由于頁目錄表是按頁對齊的(4KB),因而CR3通過高20位來實施這一要求,而低12位保留或定義為感謝閱讀其他用途。CR3是80386以上微處理器才使用的,在80486中新定義了PWT和PCD兩個控制位。PWT是頁面通寫位,用于指示是頁面通寫還是回寫,該位為1,外部Cache對頁目錄進行通寫,否則進行回寫;PCD是頁面Cache禁止位,該位用于指示頁面Cache工作情況,PCD=1,禁止片內Cache,否則允許片內頁Cache。這兩個位只有在CR0中的頁管理使能位PG=0或Cache不使能位CD=1時才有效。精品文檔放心下載CR4是Pentium處理器中新增加的控制寄存器,共定義了6位,各位含義如下:謝謝閱讀①VME是虛擬方式擴充位,VME=1,允許虛擬8086方式擴充,否則禁止。精品文檔放心下載②PVI是保護方式虛擬中斷位,PVI=1,允許保護方式虛擬中斷,否則禁止。精品文檔放心下載③TSD是時間戳禁止位,該位為1,且當前特權級不為0時,禁止讀時間戳計數器指令感謝閱讀RDTSC,否則RDTSC將在所有特權級上執(zhí)行。精品文檔放心下載④DE是調試擴充位,該位用來控制是否支持I/O斷點,當DE=1時,允許I/O斷點調試擴充,否則禁止I/O斷點調試擴充。感謝閱讀⑤PSE是頁尺寸擴充位,該位為1,允許頁面大小擴充,每頁為4MB,否則禁止頁面大小擴充,每頁仍為4KB。精品文檔放心下載⑥MCE是機器檢查允許位,該位為1,允許機器檢查異常,否則禁止機器檢查異常。精品文檔放心下載.系統地址寄存器系統地址寄存器只在保護方式下使用,所以又叫保護方式寄存器。80X86/Pentium用4謝謝閱讀個寄存器把在保護方式下常用的數據基地址、界限和屬性保存起來,以確保其快速性。這4個寄存器如圖2.12所示。謝謝閱讀圖2.12 系統地址寄存器(1)全局描述符表寄存器GDTR全局描述符表寄存器GDTR是一個48位字長的寄存器(對80286而言,為40位寄存器),用于存放全局描述符表GDT的32位(或24位)線性基地址和16位界限。謝謝閱讀全局描述符表GDT是80X86/Pentium用來定義全局存儲器地址空間的一種機制。全局存儲器是一種可能被許多或所有軟件任務共享的通用系統資源。也就是說,全局存儲器中的存儲器地址可被微處理器上的所有任務訪問。該表存放著操作系統使用的和任務公用的段描述符,這些描述符標識全局存儲器中的段。謝謝閱讀用GDTR定義的全局描述符表如圖2.13所示。GDT的最大長度為216字節(jié)(64KB),由于每個描述符占8個字節(jié),即GDT中最多能定義213=8192個段描述符。感謝閱讀圖2.13 GDTR與它定義的全局描述符表(2)中斷描述符寄存器IDTR中斷描述符表寄存器IDTR也是一個48位字長的寄存器(對80286而言,為40位寄存器),用于存放中斷描述符表IDT的32位(或24位)線性基地址和16位界限。精品文檔放心下載(3)局部描述符表寄存器LDTR局部描述符表寄存器LDTR也是80X86/Pentium存儲器管理支持機制的一部分。每個任務除了可訪問全局描述符表外還可訪問它自己的專用描述符表。該專用表稱為局部描述符表(LDT),它定義了任務用到的局部存儲器地址空間。LDT中的段描述符可用來訪問當前任務感謝閱讀.的存儲器段中代碼和數據。由于每項任務都有它自己的存儲器段,因此保護模式的軟件系統可能會包含許多局部描述符表。所以,與段寄存器一樣,LDTR值并不直接定義一個局部描述符表。它只是一個指向GDT中LDT描述符的選擇符,所以LDTR和TR也稱為系統段寄存器。如圖2.14所示,當LDTR中裝入選擇符時,相應的描述符就能夠從GDT中讀出來并裝入LDTR的描述符高速緩存器,從而為當前任務建立了一個LDT。感謝閱讀LDT的最大長度也為64KB,即LDT中最多也只能定義8192個局部段描述符。精品文檔放心下載圖2.14 LDTR和它定義的局部描述符表(4)任務寄存器任務寄存器(TR)在保護模式任務切換機制中很重要。與LDTR一樣,該寄存器存放的也是一個稱為選擇符的16位索引值。TR開始的選擇符由軟件裝入,它開始第一個任務。這之后再執(zhí)行任務切換的指令時就自動修改選擇符。精品文檔放心下載圖2.15所示,TR中的選擇符用來指示全局描述符表中描述符的位置。當選擇符裝入TR中的時候,相應的任務狀態(tài)段(TSS)描述符自動從存儲器中讀出并裝入任務描述符高速緩存中。該描述符定義了一個稱為任務狀態(tài)段(TSS)的存儲塊,它提供了段起始地址(Base)和段界限(Limit)。每個任務都有它自己的TSS。TSS包含啟動任務所需的信息,諸如用戶可訪問的寄存器初值。謝謝閱讀圖2.15 任務寄存器和任務切換機制.調試和模型專用寄存器Pentium處理器中提供了一組調試寄存器和一組模型專用寄存器,用于排除故障和用于執(zhí)行跟蹤、性能監(jiān)測、測試及機器檢查錯誤。精品文檔放心下載(1)調試寄存器(Debug Register)調試寄存器如圖2.16所示,這是一組32位的寄存器,是程序員可訪問的,提供片上支持調試。80386/80486定義了6個調試寄存器,其中DR0~DR3指定了4個線性斷點地址;DR7為調試控制寄存器,用于設置斷點;DR6為調試狀態(tài)寄存器,用于顯示斷點的當前狀態(tài)。精品文檔放心下載圖2.16 調試寄存器Pentium處理器對調試寄存器DR4和DR5給予調試寄存器DR6和DR7的別名。當控制寄存器CR4中的DE位設置為0時,即禁止調試擴充,Pentium通過允許引用DR6和DR7的別名保持與現有軟件兼容;當DE位設置為1時,即允許調試擴充,引用DR4或DR5將產生未定義的操作碼異常。精品文檔放心下載模型專用寄存器Pentium處理器取消了80386/80486中的測試寄存器TR,其功能由一組“模型專用寄存器”MSR(ModelSpecialRegister)來實現,這一組MSR用于執(zhí)行跟蹤、性能監(jiān)測、測試和機器檢查錯誤。Pentium處理器采用兩條指令RDMSR(讀MSR)和WRMSR(寫MSR)來訪問這些寄存器,ECX中的值(8位值)確定將訪問該組寄存器中哪一個MSR。表2.5給出了所有模型專用寄存器MSR與需要裝入ECX值的關系。精品文檔放心下載表2.5 模型專用寄存器與ECX的關系ECX寄存器名說明00H機器檢查地址引起異常周期的存儲器地址01H機器檢查類型引起異常周期的存儲周期類型02H測試寄存器1奇偶校驗逆寄存器.03H保留04H測試寄存器2指令超高速緩存結束位05H測試寄存器3超高速緩存測試數據06H測試寄存器4超高速緩存測試標志07H測試寄存器5超高速緩存測試控制08H測試寄存器6TLB測試線性地址09H測試寄存器7TLB測試控制和物理地址A31~A120AH測試寄存器8TLB測試物理地址A35~A320BH測試寄存器9BTB測試標志0CH測試寄存器10BTB測試目標0DH測試寄存器11BTB測試控制0EH測試寄存器12執(zhí)行跟蹤和轉移預測0FH保留10H時間戳計數器性能監(jiān)測11H控制和事件選擇性能監(jiān)測12H計數器0性能監(jiān)測13H計數器1性能監(jiān)測14H保留2.3.3Pentium的四種工作方式Pentium在80486三種工作方式的基礎上新增了一種系統管理方式,使Pentium微處理器具有了四種工作方式,即:實地址方式、保護虛擬地址方式、虛擬8086方式和系統管理方式。感謝閱讀實地址方式實地址方式是

溫馨提示

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

評論

0/150

提交評論