版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章微處理器1第2章微處理器№
22.1微處理器的編程結構2.2INTEL8086微處理器2.3Intel80X86及Pentium系列微處理器第2章微處理器微處理器簡稱μP或MP(Microprocessor)是微型計算機的中央處理器CPU(centralprocessunit),由一片或幾片大規(guī)模集成電路組成。微處理器由運算器、控制器和寄存器組組成,具有算術運算和邏輯運算功能,能夠發(fā)出控制信號,支配整個微機系統(tǒng)的工作,是微型計算機的核心。3第2章微處理器本章以Intel系列微處理器為例,介紹微處理器的編程結構、工作模式和尋址機制并介紹典型的16位微處理器8086和32位微處理器Pentium的內部結構和外部特性42.1微處理器的編程結構52.1微處理器的編程結構6【學習目標】
掌握微處理器的可編程寄存器,實模式下的分段尋址方式,邏輯地址與物理地址的概念及相互轉換,了解微處理器的工作模式及其特點【主要內容】
微處理器在編程應用時所需的基本知識微處理器的設計模型工作模式實地址模式下的分段尋址方式2.1.1微處理器的程序設計模型7程序可見(programvisible)寄存器8086及以上編程人員進行程序設計時,能夠使用的寄存器。程序不可見寄存器(programinvisible)80286及以上在應用程序設計中不能直接訪問,但在系統(tǒng)程序設計中可以間接引用或通過特權指令訪問
Intel8086~Core2程序設計模型8寄存器位數(shù)8086,8088,80286—16位80386~Core2—16位,32位Pentium4和Core2—含64位通用寄存器指令指針寄存器標志寄存器段寄存器通用寄存器9累加器基址寄存器計數(shù)器數(shù)據(jù)寄存器基址指針源變址寄存器目標變址寄存器堆棧指針Pentium4和Core2工作在擴展64位模式使用通用數(shù)據(jù)寄存器可按64位、32位、16位或8位寄存器尋址通用寄存器10EAX(32-bits)AX(16-bits)AH,AL(8-bits)accumulatorEBXBXBH,BLbaseindexECXCXCH,CLcounterEDXDXDH,DLdataEBPBPbasepointerESP SP stackpointerEDIDIdestinationindexESISIsourceindexEAX
累加器
EBX基址寄存器ECX計數(shù)器
EDX數(shù)據(jù)寄存器EBP基址指針 ESP堆棧指針ESI源變址寄存器
EDI目標變址寄存器專用寄存器1164位32位16位標志寄存器指令指針寄存器段寄存器專用寄存器12RIP/EIP(Instructionpointer)指令指針寄存器與代碼段寄存器配合,尋址CPU要取出的下一條指令字節(jié).實模式—IP(16位)保護模式—EIP(32位)80386及以上64位模式—RIP(64位)專用寄存器RFLAGS/EFLAGS標志寄存器指示微處理器的狀態(tài)并控制它的操作FLAGS(16-bits)
8086
—
80286EFLAGS(32-bits)80386及以上RFLAGS(64-bits)FLAGS標志寄存器14實地址模式下,定義了9個標志位,6個狀態(tài)標志位,3個控制標志位狀態(tài)標志位反映了微處理器的工作狀態(tài),算術運算和邏輯運算指令的執(zhí)行會改變這些標志位的狀態(tài);控制標志位對微處理器的某些特定操作起到控制作用。FLAGS標志寄存器15進位標志CF(carryflag)反映加法運算的進位情況或減法運算的借位情況。當加法運算的最高位有進位或減法運算的最高位有借位,CF置1;反之,CF清0輔助進位標志AF(auxiliarycarryflag)“半進位”標志反映加減法運算中,第3位與第4位之間的進位或借位情況。如果有進位或借位,AF置1,否則清0。BCD碼運算中,AF標志位用作十進制調整的依據(jù)。FLAGS標志寄存器16零標志ZF(zeroflag)反映運算結果是否為零。如結果為0,則ZF置1;否則,ZF清0。符號標志SF(signalflag)記錄運算結果的符號。SF為1,運算結果的最高位(即符號位)為1;SF=0,則符號位為0。奇偶標志PF(parityflag)反映運算結果1的個數(shù)是偶數(shù)還是奇數(shù)。當1的個數(shù)為奇數(shù),則PF置1;否則,PF清0。FLAGS標志寄存器17溢出標志OF(overflowflag)反映有符號數(shù)運算結果的溢出情況。如運算結果溢出,則OF置1;否則,OF為0。溢出是指運算結果超出了有符號數(shù)的表示范圍。通常采用雙高位判別法來判斷運算結果是否溢出,即OF為最高位進位與次高位進位的異或。最高兩位同時有進位/借位或同時無進/借位,OF為0;只有一位有進/借位,OF置1。FLAGS標志寄存器18例【2-1】指出執(zhí)行下列加法操作后各標志位的狀態(tài)。 0111001001011000
+ 0101001101100110 1100010110111110最高位無進位,CF=0偶數(shù)個1,PF=1第3位向第4位無進位,AF=0運算結果不為0,ZF=0最高位為1,SF=1運算結果溢出,OF=1。FLAGS標志寄存器19TF,IF,DF控制標志TF(trap)
單步操作標志,或陷阱標志為程序調試的方便設置的,用于控制單步中斷TF=1,單步工作方式TF=0,正常執(zhí)行程序。IF(interrupt)中斷標志用于控制可屏蔽的硬件中斷INTRIF=1,允許CPU響應可屏蔽中斷請求IF=0,禁止CPU響應可屏蔽中斷請求不影響非屏蔽中斷請求(NMI)及內部的中斷請求。FLAGS標志寄存器20TF,IF,DF控制標志DF(direction)方向標志用于控制串操作指令中地址變化的方向DF=1,串操作指令中的地址寄存器的內容會自動遞減,操作由高地址向低地址方向進行DF=0,則為地址遞增方式,串操作由低地址向高地址方向進行。段寄存器21保存段基址,與其他寄存器或數(shù)據(jù)配合,形成存儲器地址CS(code)代碼段寄存器存放當前代碼段的段基址。代碼段是用于存放指令代碼的存儲區(qū)域,當前代碼段是指CPU即時訪問的代碼段。DS(data)數(shù)據(jù)段寄存器存放當前數(shù)據(jù)段的段基址。程序執(zhí)行需要的數(shù)據(jù)經(jīng)常存放于數(shù)據(jù)段中。ES(extra)附加段寄存器存放當前附加段的段基址。附加段是一個附加的數(shù)據(jù)段,通常也用來存放數(shù)據(jù),典型用法是在串操作指令中用來存放處理以后的數(shù)據(jù)。段寄存器22SS(stack)堆棧段寄存器存放程序當前堆棧段的段基址。堆棧操作所處理的數(shù)據(jù)均存放于當前堆棧段中,由堆棧段寄存器SS和堆棧指針SP共同確定堆棧操作將要訪問的存儲單元地址。段寄存器FS和GS僅存在于80386及更高型號的微處理器中,對應兩個附加的存儲段,通常也用來存放數(shù)據(jù)。.2.1.2微處理器的工作模式232.1.2微處理器的工作模式8086/8088微處理器只有一種工作模式,即實地址模式。80286可以工作在實地址模式和保護模式兩種工作模式下,80386以上的32位微處理器具有三種工作模式:實地址模式、保護模式和虛擬8086模式。242.1.2微處理器的工作模式實地址模式(real-addressmode)也稱為實模式32位微處理器的工作方式與8086基本相同,但允許訪問32位寄存器組采用分段尋址方式,尋址1MB的存儲器地址空間,不能管理和使用擴展存儲器尋址機制、存儲器訪問范圍和中斷控制等都與8086CPU相同DOS操作系統(tǒng)要求微處理器工作在實地址模式,計算機系統(tǒng)的初始化和引導程序也必須在實地址模式下運行252.1.2微處理器的工作模式保護模式(protectmode)也稱為保護的虛地址模式,支持多任務保護模式提供了一系列的保護機制,為多任務操作系統(tǒng)的設計提供了有力的支持。Windows操作系統(tǒng)在保護模式下運行。支持虛擬存儲器在保護模式下,CPU的32根地址線均有效,可以訪問4GB的物理存儲空間,以及64TB的虛擬存儲空間262.1.2微處理器的工作模式虛擬8086模式(virtual8086mode)又稱V86模式在V86模式下,CPU運行在保護機制中,但存儲器尋址與8086相同,是一種既有保護功能又能執(zhí)行8086代碼的工作模式。272.1.2微處理器的工作模式28圖2-3三種工作模式的轉換2.1.3實地址模式下的
存儲器分段尋址29為什么要分段尋址30實模式下20位地址總線訪問存儲器可尋址的存儲空間為220=1MB地址范圍是00000H~FFFFFH微處理器使用16位寄存器,指令給出16位地址信息16位地址信息1MB存儲單元1.存儲器分段技術311M字節(jié)的存儲單元劃分為若干個邏輯段,每個邏輯段的最大容量為64KB邏輯段的起始:地址低4位為全0的存儲單元,該存儲單元的地址稱為段首地址,通常為xxxx0H,低4位為0,高16位為有效數(shù)字。段基址(segmentbaseaddress):段首地址的高16位,通常保存在16位段寄存器偏移地址(offsetaddress):邏輯段中任意一個存儲單元的地址相對于段首地址的字節(jié)距離(即偏移量)可用16位二進制數(shù)表示,范圍是0000H~FFFFH。1.存儲器分段技術32圖2-4存儲器的分段結構1.存儲器分段技術33圖2-5存儲器的分段邏輯結構2.物理地址和邏輯地址34物理地址:存儲器中存放的實際地址邏輯地址:編程時使用的地址,由段基址和段內偏移地址組成習慣上寫成“段基址:偏移地址”。例如,1000H:0050H3.實模式下物理地址的產生35物理地址
=段基址×10H+偏移地址3.實模式下物理地址的產生36例【2-2】已知某存儲單元的邏輯地址為1020H:0450H,它的物理地址為:物理地址
=段基址×10H+偏移地址 =1020H×10H+0450H =10650H3.實模式下物理地址的產生37例【2-3】已知數(shù)據(jù)段寄存器DS的內容是30B0H,數(shù)據(jù)段中某存儲單元的偏移地址為0502H,則1)該存儲單元的物理地址 DS×10H+偏移地址
=30B00H+0502H
=31002H2)數(shù)據(jù)段的段首地址
DS×10H+0000H=30B00H3)數(shù)據(jù)段的段末地址
DS×10H+FFFFH=30B00H+FFFFH =40AFFH物理地址與邏輯地址38注意:每個存儲單元都有一個唯一的物理地址,但根據(jù)邏輯段劃分的不同,它可能有多個不同的邏輯地址2.2INTEL8086微處理器39【學習目標】
掌握8086微處理器的內部結構,執(zhí)行單元和總線接口單元的結構及特點,寄存器的名稱及主要作用,了解8086微處理器外部引腳的定義及功能【主要內容】
Intel8086微處理器的內部結構及外部引腳2.2.18086CPU的內部結構ExecuteUnitBusInterfaceUnit執(zhí)行單元EU41負責指令的執(zhí)行,從BIU的指令流隊列中取指令,分析指令和執(zhí)行指令。組成部分:(1)算術邏輯單元(ALU)(2)16位標志寄存器FLAGS(3)寄存器陣列通用寄存器AX、BX、CX、DX;專用寄存器:指針寄存器SP、BP和變址寄存器SI、DI。(4)數(shù)據(jù)暫存器(5)EU控制電路是控制、定時狀態(tài)邏輯電路,根據(jù)指令譯碼形成各種定時控制信號,對EU的各個部件實現(xiàn)特定的定時操作??偩€接口單元BIU42負責CPU與存儲器或CPU與I/O設備之間傳送數(shù)據(jù)。組成部分:4個16位段寄存器、1個16位指令指針I(yè)P、1個指令流隊列、20位地址加法器和總線控制電路(1)長度為6個字節(jié)的指令流隊列由BIU和EU組成取指令和執(zhí)行指令的兩級流水,通過并行操作,提高了系統(tǒng)的工作速度。(2)地址加法器用來產生20位地址寄存器陣列43EU單元4個16位通用寄存器:累加器AX,基址寄存器BX,計數(shù)器CX,數(shù)據(jù)寄存器DX可作為16位寄存器,也可作為8位寄存器使用。8位:
AH、AL、BH、BL,CH、CL,DH、DL2個16位指針寄存器:堆棧指針SP和基址指針BP2個變址寄存器:
源變址寄存器SI和目標變址寄存器DI寄存器陣列44EU單元16位狀態(tài)標志寄存器FLAGS定義了9個標志位6位狀態(tài)標志:進位標志CF、奇偶標志PF、輔助進位標志AF、零標志ZF、符號標志SF、溢出標志OF3位控制標志:中斷允許標志IF、方向標志DF和單步操作標志TF。寄存器陣列45BIU單元16位指令指針寄存器IP用于存放下一條將要取出的指令字節(jié)在當前代碼段內的偏移地址。IP寄存器不能由程序員直接訪問。4個段寄存器CS、DS、SS和ES分別用來存放當前代碼段、當前數(shù)據(jù)段、當前堆棧段以及當前附加段的段基址。2.2.28086的引腳信號和功能2.2.28086的引腳信號和功能47808620條地址總線,16條數(shù)據(jù)總線AD15—AD0地址/數(shù)據(jù)總線雙向三態(tài),分時復用T1狀態(tài):ALE=1,地址總線A15—A0
其他:ALE=0,
數(shù)據(jù)總線
DMA方式時,處于高阻狀態(tài)A19/S6—A16/S3地址/狀態(tài)復用引腳輸出,三態(tài)T1狀態(tài):輸出地址高4位;其他狀態(tài):輸出狀態(tài)信息S6保持為0 S5:指示IF的狀態(tài)S4、S3指示當前正在使用哪一個段寄存器
0 0 附加段寄存器0 1 堆棧段寄存器1 0 代碼段寄存器或未用段寄存器1 1 數(shù)據(jù)段寄存器2.2.28086的引腳信號和功能48控制引腳讀信號,輸出,低電平有效低電平時,表示正在執(zhí)行對存儲器或I/O端口的讀操作。READY準備好信號,輸入,高電平有效從CPU所尋址的存儲器或I/O端口發(fā)來的回答信號READY=1,表示外部電路已準備好,可進行一次數(shù)據(jù)傳送。INTR可屏蔽中斷請求信號,輸入,高電平有效。.是由外部設備發(fā)來的請求信號當INTR=1,表示外設提出了中斷請求INTR能否被響應受中斷允許標志位IF的控制2.2.28086的引腳信號和功能49等待測試信號,輸入,低電平有效。WAIT指令執(zhí)行時,CPU每隔5個時鐘周期測試該引腳信號為0,CPU將停止等待,轉去執(zhí)行WAIT指令的下一條指令;否則,繼續(xù)等待,且重復測試,直到出現(xiàn)有效低電平為止。NMI非屏蔽中斷請求,輸入,上升沿觸發(fā)。類似于INTR,但NMI不受中斷允許標志位IF的控制,也不能用軟件屏蔽。只要此引腳上出現(xiàn)一個上升沿觸發(fā)有效信號,CPU將在現(xiàn)行指令結束后馬上響應中斷,進入中斷響應周期。RESET復位信號,輸入,高電平有效。復位信號使處理器馬上結束現(xiàn)行操作,初始化CPU內部各寄存器。8086要求RESET脈沖寬度不小于4個時鐘周期,接通電源時不小于50μs。系統(tǒng)正常運行時,RESET保持低電平。2.2.28086的引腳信號和功能50最小/最大模式控制信號,輸入高8位數(shù)據(jù)總線允許/狀態(tài)線輸出,三態(tài)在總線周期的T1狀態(tài),
引腳輸出低電平有效信號,表示能在高8位數(shù)據(jù)總線D15~D8上傳送一個字節(jié)的數(shù)據(jù);在T1以外其他狀態(tài),此引腳輸出狀態(tài)信息S7。此信號和A0配合,指出應在存儲體的哪個庫(奇/偶地址庫)的存儲單元進行字節(jié)/字的讀寫操作。此引腳的不同設置決定了處理器的工作模式。接+5V時,處理器工作于最小模式;接地時,則工作于最大模式。2.2.28086的引腳信號和功能51時鐘及電源引腳CLK
系統(tǒng)時鐘輸入信號此信號通常由8284A時鐘發(fā)生器提供,為處理器及總線控制器提供基本的定時脈沖。非對稱脈沖,有效高電平時間占整個時鐘周期的1/3。VCC
+5V電源輸入引腳GND
接地端最小工作模式下引腳信號52地址鎖存器數(shù)據(jù)收發(fā)器8284CLKMN/MX+5VALEDENDT/R地址總線數(shù)據(jù)總線RD…控制總線最小模式基本配置最小工作模式下引腳信號53接+5.0V——最小模式存儲器/輸入輸出控制信號,輸出。高電平,表示CPU當前與存儲器進行信號傳送;低電平,表示CPU當前與I/O設備進行數(shù)據(jù)傳送。寫選通,輸出,低電平有效表示CPU正在對存儲器或I/O端口進行寫操作.中斷響應信號,輸出它用于對外設的可屏蔽中斷請求INTR作出響應低電平有效最小工作模式下引腳信號54ALE
地址鎖存允許信號,輸出,高電平有效在任何一個總線周期的T1狀態(tài),ALE有效信號隨地址信息一起輸出,其下降沿將地址信息鎖存。數(shù)據(jù)收發(fā)控制信號,輸出DEN
數(shù)據(jù)允許信號,輸出CPU發(fā)送數(shù)據(jù)CPU接收數(shù)據(jù)有效低電平時,表示CPU當前準備發(fā)送或接受一個數(shù)據(jù)最小工作模式下引腳信號55Hold
總線保持請求信號,輸入,高電平有效HOLD信號用于通知CPU,另一個主控設備請求使用總線1:請求
DMA
0:正常執(zhí)行程序HLDA
總線保持響應信號,輸出與HOLD信號配合使用.當此信號為有效高電平時,表示CPU已響應其他部件的請求,放棄了對總線的控制權。最大工作模式下引腳信號56接地地址鎖存器數(shù)據(jù)收發(fā)器8284CLKMN/MXDENDT/R地址總線數(shù)據(jù)總線RD…控制總線總線控制器最大模式配置最大工作模式下引腳信號57
總線周期狀態(tài)信號(輸出)提供當前總線周期中所進行的數(shù)據(jù)傳輸類型,由總線控制器8288譯碼,產生訪問存儲器和I/O端口的總線控制信號可供CPU以外兩個協(xié)處理器用來發(fā)出使用總線請求和接收CPU對總線請求信號的回答信號,雙向總線請求信號(輸入)/總線請求允許信號(輸出)總線封鎖信號(輸出)低電平有效時,表示不允許其他部件占用總線QS1andQS0
指令隊列狀態(tài)信號(輸出)信號組合起來可反映BIU中指令隊列的狀態(tài)
2.3Intel80X86及Pentium系列微處理器582.3Intel80X86及Pentium系列微處理器【主要內容】本節(jié)為擴展內容,介紹Intel80X86及Pentium系列微處理器的技術特點,以及32位Pentium微處理器的體系結構及寄存器組【學習目標】了解32位微處理器的體系結構,以及提高微處理器性能的主要技術。592.3.1Intel80X86系列微處理器6080286微處理器性能最好的16位80X86微處理器
2種工作模式:實地址模式和保護模式,支持對虛擬存儲器的訪問2.32位微處理器80386和8048680386:6級深度流水線,
3種工作模式:實地址模式、保護模式和虛擬8086模式80486:集成了CPU、浮點運算協(xié)處理器以及8KB高速緩沖存儲器;采用精簡指令計算機RISC技術,倍頻技術2.3.2Pentium微處理器611993年推出,早期采用0.5μm的CMOS制作工藝,集成度為310萬晶體管/片時鐘頻率最初為60MHz和66MHz,后提高到200MHz。工作電壓為4V,功耗為15W,后期采用3.3V工作電壓,功耗降為4W。Pentium仍屬于32位微處理器,其內部數(shù)據(jù)總線及主要寄存器的寬度為32位,外部數(shù)據(jù)總線可擴展為64位地址總線為36位,可尋址的物理空間為4GB,虛擬存儲空間為64TB,I/O尋址空間為64KB。1.Pentium微處理器的功能結構621.Pentium微處理器的功能結構63P5架構CPU內部的主要部件包括:總線接口單元、U流水線和V流水線、指令高速緩沖存儲器Cache、數(shù)據(jù)高速緩沖存儲器Cache、指令預取單元、指令譯碼器、浮點處理單元(FPU)、分支目標緩沖器(BTB)、微程序控制器中的控制ROM、寄存器組。1.Pentium微處理器的功能結構64總線接口單元(businterfaceunit,BIU)連接CPU與系統(tǒng)總線包括64位雙向的數(shù)據(jù)線、32位地址線和所有的控制信號線,具有地址總線驅動、數(shù)據(jù)總線驅動、總線周期控制、總線仲裁等多項功能,實現(xiàn)CPU與外設之間的信息交換。1.Pentium微處理器的功能結構65U、V兩條指令流水線,稱為超標量流水線每條流水線都帶有獨立的ALU、數(shù)據(jù)Cache接口、地址電路。U流水線執(zhí)行全部整數(shù)和浮點運算指令,V流水線執(zhí)行整數(shù)指令和簡單的浮點數(shù)據(jù)交換(FXCH)指令。流水線技術允許多條指令的不同階段同時執(zhí)行,從而提高CPU的處理能力,而超標量流水線通過指令并行操作,在同一時間的指令執(zhí)行能力是普通流水線的兩倍。在一個時鐘周期內,PentiumCPU可以同時執(zhí)行兩條整數(shù)指令,或一條整數(shù)指令,一條浮點指令。超標量流水線是Pentium系統(tǒng)結構的核心,使得PentiumCPU的速度較80486有很大的提高1.Pentium微處理器的功能結構66兩個獨立的高速緩沖存儲器Cache,分別用于存放指令代碼與數(shù)據(jù),容量均為8KB。數(shù)據(jù)Cache為雙端口結構,分別用于U、V兩條指令流水線,可以在同一時刻與兩條獨立工作的流水線交換整數(shù)數(shù)據(jù),或者組合成64位數(shù)據(jù)端口,與浮點運算單元交換浮點數(shù)據(jù)。指令Cache僅存儲指令,與轉移目標緩沖器、預取緩沖器相配合,將原始指令送人PentiumCPU的執(zhí)行單元中。CPU可同時訪問指令和數(shù)據(jù)Cache。1.Pentium微處理器的功能結構67分支目標緩沖器(branchtargetbuffer,BTB)動態(tài)預測程序的轉移操作。通過預測指令再次發(fā)生轉移的路徑,預先從記錄的轉移目標地址處預取指令,填充流水線,以避免指令隊列的清空操作。指令預取單元(codeprefetchunit,CPU)根據(jù)給定的地址,從指令Cache中預取指令并存入預取指令緩沖器中。當遇到轉移指令時,由分支目標緩沖BTB預測提供轉移目標地址,并從此地址處順序取指令。指令譯碼器對預取指令緩沖器提供的指令進行譯碼,以確定指令對應的操作。Pentium微處理器采用兩步流水線譯碼方案。1.Pentium微處理器的功能結構68控制單元(controlunit,CU)解釋來自指令譯碼部件的指令字和控制ROM的微代碼,產生時序信號,使微處理器按照一定的時序過程完成指令的操作。Pentium的大部分簡單指令采用“硬布線”方式執(zhí)行復雜指令則采用“微程序”方式。浮點運算單元(floatingpointunit,F(xiàn)PU)處理浮點數(shù)或進行浮點運算。PentiumCPU的浮點運算單元有8個80位的浮點寄存器,內部的數(shù)據(jù)總線寬度為80位,設置有專門用于浮點運算的加法器、乘法器和除法器,可同時進行3種不同的運算。FPU支持IEEE754標準的單、雙精度格式的浮點數(shù),以及一種臨時實數(shù)的80位浮點數(shù)。2.Pentium微處理器的寄存器69分為基本寄存器組(包括通用寄存器、指令寄存器、標示寄存器及段寄存器)系統(tǒng)寄存器組(包括系統(tǒng)地址寄存器、控制寄存器)浮點部件寄存器組(包括數(shù)據(jù)寄存器堆、控制寄存器、狀態(tài)寄存器、指令指針寄存器和數(shù)據(jù)指針寄存器以及標記字寄存器)(1)基本寄存器組70(1)基本寄存器組71①通用寄存器Pentium的通用寄存器與80386、80486完全相同,參見程序可見寄存器。②段寄存器和段描述符高速緩存器6個16位段寄存器,代碼段寄存器CS、堆棧段寄存器SS、數(shù)據(jù)段寄存器DS、附加段寄存器ES以及兩個數(shù)據(jù)段寄存器FS和GS。在實模式下,段寄存器的使用同8086。在保護模式下,段寄存器被稱為16位的段選擇字。每個段選擇字對應一個64位的段描述符,6個段描述符存放在CPU中的描述符高速緩存器中。這些描述符高速緩存器均用戶不可見(1)基本寄存器組72153210INDEXTIRPL段選擇字的格式RPL:請求特權級位,可以請求特權層的級別為0~3級,0級最高,3級最低。請求特權級位的設置可以防止特權級低的程序去訪問特權級高的程序的數(shù)據(jù)。TI:描述符表的指示標志。如TI=0,表示訪問全局描述符表GDT;TI=1,則表示訪問局部描述符表LDT。INDEX:段描述符索引值,用于索引段描述符表。INDEX共13位,用來在全局描述符表或局部描述符表的213個表項中選擇一個段描述符。(1)基本寄存器組73段描述符的格式三個組成部分:段界限、段基址和訪問權字節(jié),分別描述了存儲器段的長度、起始地址以及屬性信息(1)基本寄存器組74段描述符的格式段界限(limit)字段為20位,與顆粒度G共同使用,指定段的長度。G=0:則段長范圍為1B~1MB,單位是1B;G=1:則段長范圍可從4KB~4GB,單位是4KB。段基址(baseaddress)字段為32位,用于指示存儲器段的起始地址。80386以上的微處理器允許段起始于4GB存儲器的任意位置,因此段基址即為段起始的物理地址。(1)基本寄存器組75段描述符的格式訪問權限字節(jié)(accessrightbyte)控制著保護模式中存儲器段的訪問顆粒度G(Granularity)用于確定段界限字段的單位。G=0,單位是1B;
G=1,單位是4KB。D(Defaultoperationsize)用于設置代碼段偏移地址的長度。D=0,指令是16位指令,默認使用16位偏移地址和16位寄存器;D=1,指令是32位指令,默認使用32位偏移地址和32位寄存器。U位指示段有效(U=1)或段無效(U=0)。(1)基本寄存器組76段描述符訪問權限字節(jié)定義字段名占用位定義P7P=1,該段在物理存儲器中,段基址和段界限有效P=0,該段不在物理存儲器中,段基址和段界限無效DPL6、5該段的特權級S4S=1,該段為數(shù)據(jù)段或代碼段S=0,描述符為系統(tǒng)描述符(1)基本寄存器組77段描述符訪問權限字節(jié)定義字段名占用位定義TYPEE3E=0,該段為數(shù)據(jù)段ED2ED=0,該段向上擴展,偏移地址為16位ED=1,該段向下擴展,偏移地址為32位(堆棧段)W1W=1,數(shù)據(jù)可寫入W=0,數(shù)據(jù)不可寫入TYPEE3E=1,該段為代碼段C2C=0,忽視描述符優(yōu)先級C=1,遵循描述符優(yōu)先級R1R=1,代碼段可讀R=0,代碼段不可讀A0A=0,該段未被訪問過A=1,該段已被訪問過(1)基本寄存器組78③指令指針寄存器和標志寄存器指令指針寄存器EIP:32位寄存器,保存下一條待執(zhí)行指令在代碼段內的偏移地址。標志寄存器EFLAGS:32位寄存器。80286~Pentium微處理器新增的標志位,均用于保護模式。IOPL(I/Oprotectionlevel):I/O特權級標志,指示保護模式下輸入輸出操作的優(yōu)先級。如果當前任務的優(yōu)先級高于或等于IOPL,則執(zhí)行I/O指令;如當前優(yōu)先級比IOPL低,則產生中斷,暫停執(zhí)行程序。保護模式下,任務優(yōu)先級為0~3,其中0級最高,3級最低。NT(nestedtask):嵌套任務標志,該位置為1時,指明當前任務嵌套在另一個任務中執(zhí)行。RF(resumedflag):恢復標志,與調試寄存器的斷點一起使用,控制斷點中斷后恢復程序的執(zhí)行。(1)基本寄存器組79標志寄存器新增標志位(2)VM(virtual8086mode):虛擬8086模式標志。在保護模式下將該位置1,則微處理器切換到虛擬8086模式下運行。
AC(alignmentcheck):對準校驗標志。當尋址字或雙字數(shù)據(jù)時,如果地址不在字或雙字的邊界上,對準檢查標志位被置1。VIF(virtualinterruptflag):虛擬中斷標志。它是虛擬8086模式下中斷允許標志IE的副本,與VIP標志聯(lián)合使用。VIP(virtualinterruptpending):虛擬中斷掛起標志。VIP和VIF聯(lián)合使用,在虛擬8086模式下,為操作系統(tǒng)提供中斷標志和中斷掛起信息。ID(identification):識別標志,ID置1,指示微處理器支持CPUID指令。該指令能提供處理器的制造商、版本等信息(2)系統(tǒng)寄存器組80系統(tǒng)寄存器組包括5個控制寄存器和4個系統(tǒng)地址寄存器??刂萍拇嫫髦斜4嬷中缘暮腿蝿諢o關的機器狀態(tài)。(2)系統(tǒng)寄存器組81①控制寄存器CR0控制寄存器CR0內保存著系統(tǒng)的控制標志,用于控制處理器的操作模式或者顯示處理器的狀態(tài)。11個有定義標志位,含義如下:
PG(page):分頁允許位。PG置1時,允許分頁;若PG為0,則禁止分頁。
CD(Cachedisable):Cache禁止位,用來控制是否允許片內Cache的填充操作。若CD為0,則允許片內Cache執(zhí)行填充操作。若CD置1,則不允許片內Cache執(zhí)行填充操作。
NW(notwrite-through):非通寫控制位,用于控制Cache的功能。當CD=0,且NW=0時,所有命中Cache的寫操作將同時寫入Cache和主存;當CD=0,NW=1時,數(shù)據(jù)僅寫入Cache。(2)系統(tǒng)寄存器組82①控制寄存器CR0AM(aignmentmask):對準屏蔽位,這一位與標志寄存器中的對準校驗標志位AC聯(lián)合起來使用。若AM置1則允許對準校驗;AM置0則禁止對準校驗。
WP(writeprotect):寫保護位。當WP置1,對系統(tǒng)讀取的頁進行寫保護;WP為0時,保護被解除。
NE(numericerror):數(shù)值異常位,控制處理浮點部件中未被屏蔽的異常事故。當NE置1,執(zhí)行浮點指令發(fā)生故障時,將引起異常中斷16。NE為0,則用外部中斷處理。ET(processorextensiontype):處理器擴展類型位。僅適用于80386,Pentium微處理器不使用該位。(2)系統(tǒng)寄存器組83①控制寄存器CR0TS(taskswitched):任務轉換位。Pentium允許多任務運行,每當任務轉換時,由硬件置1,以后由軟件復位。
EM(emulatecoprocessor):模擬浮點部件位。EM置1表示用軟件模擬浮點運算協(xié)處理器。如Pentium系統(tǒng)中沒有配置浮點部件,該位必須置1。
MP(mathpresent):監(jiān)視浮點部件位。該位為1/0,表示有/無協(xié)處理器。此位僅當在Pentium上運行80X86程序時才起作用。PE(protectenable):保護允許位。PE置1,允許工作在保護模式;PE為0時,禁止工作在保護模式,CPU只能工作在實地址模式。(2)系統(tǒng)寄存器組84②控制寄存器CR1沒有定義,供將來使用。
③控制寄存器CR2用于保存最后出現(xiàn)頁故障的32位線性地址。當分頁操作期間出現(xiàn)異常時,引起這次異常事故的全32位線性地址被保存在CR2寄存器中。只有當CR0中允許分頁位PG置為1時,CR2才有效。啟動頁故障處理程序后,由被壓入該頁故障處理程序堆棧中的錯誤碼來提供頁故障的狀態(tài)信息。(2)系統(tǒng)寄存器組85④控制寄存器CR3頁目錄基地址寄存器CR3高20位存放頁目錄表的物理基地址,進行分頁變換時,加上10位線性地址×4,形成物理地址,從中找到某一存儲容量為4B的頁描述符。CR3的第3、4位定義了兩個控制位PCD和PWTPCD:頁面Cache禁止位。PCD為1時,禁止片內Cache分頁;PCD為0時,允許片內Cache分頁。PWT:頁面Cache通寫控制位。PWT為1時,片外Cache采用通寫方式;PWT為0時,片外Cache采用回寫方式。(2)系統(tǒng)寄存器組86⑤控制寄存器CR4控制寄存器CR4設置了9個控制位,用來擴展Pentium的某些體系結構。VME:虛擬8086模式擴展位。VME為1時,允許虛擬8086模式下中斷和異常的擴展處理。PVI:保護模式虛擬中斷位。保護模式下,如PVI置1,允許虛擬中斷,允許把某些在特權級0級下執(zhí)行的程序設計成到特權級3級下運行。TSD:時間標記禁止位。TSD置1時,只有特權級為0的程序才能使用指令RDTSC讀定時標志計數(shù)器。TSD為0時,所有特權級的程序均可以讀定時標志計數(shù)器。(2)系統(tǒng)寄存器組87⑤控制寄存器CR4DE:調試擴充允許位。DE置1時,允許微處理器在輸入輸出操作時中斷。PSE:頁面長度擴展位。PSE置1時,允許擴展頁面長度,即頁面大小為4MB;如PSE為0,則頁面大小為4KB。PGE:允許頁面全局使用位。PGE置1時,允許所有用戶程序共享全局特性的頁面。PAE:物理地址擴充位。PAE為1,允許按36位物理地址運行分頁機制;PAE為0,則按32位物理地址運行分頁機制。(2)系統(tǒng)寄存器組88⑤控制寄存器CR4MCE:允許機器檢查位。MCE置1,允許機器檢查異常事故。PCE:允許性能監(jiān)視計數(shù)器位。PCE置1時,允許任務特權級程序或過程執(zhí)行RDPMC指令,以讀取性能監(jiān)視計數(shù)器的值;PCE為0,只允許特權級為0的程序執(zhí)行RDPMC指令。(2)系統(tǒng)寄存器組89⑥全局描述符表寄存器GDTRGDTR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一體化物業(yè)管理與維護服務協(xié)議范本版A版
- 二零二五年度鮮活農產品運輸合同協(xié)議及保鮮技術要求3篇
- 2025年度智能制造廠房租賃居間服務協(xié)議4篇
- 2024版有關服務的合同匯編
- 專業(yè)技術資訊檢索服務協(xié)議范本一
- 2025年度廠房建設項目工程監(jiān)理合同范本4篇
- 2025年度茶葉產品追溯系統(tǒng)建設合同4篇
- 專用飲用水品質保障合同范本2024版B版
- 2025年度常年法律顧問專項服務合同7篇
- 2025年度體育健身中心場地租賃及會員服務合同4篇
- 《流感科普宣教》課件
- 離職分析報告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預防和處理條例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學寒假作業(yè)1
- 保險產品創(chuàng)新與市場定位培訓課件
- (完整文本版)體檢報告單模版
- 1例左舌鱗癌手術患者的圍手術期護理體會
- 鋼結構牛腿計算
評論
0/150
提交評論