版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第八章Intel系列
高檔微處理器
隨著微機(jī)應(yīng)用領(lǐng)域的擴(kuò)大和應(yīng)用技術(shù)的深入,微處理器也不斷地向前發(fā)展,最新的INTEL微處理器的主頻率已經(jīng)達(dá)到3GHz以上。本章簡(jiǎn)要介紹具有代表性的Intel主流CPU的發(fā)展過程,重點(diǎn)介紹80386的存儲(chǔ)器分段和分頁(yè)管理。X86處理器尋址方式演變現(xiàn)代計(jì)算機(jī)技術(shù)的開山鼻祖圖靈提出一個(gè)思想模型:一臺(tái)可以計(jì)算的機(jī)器,由一個(gè)控制器、一個(gè)讀寫頭和一條無限長(zhǎng)的帶子組成。帶子相當(dāng)于存儲(chǔ)器,它被劃分為大小相同的格子,每個(gè)格子上可以寫一個(gè)字母,讀寫頭可以在帶子上隨意移動(dòng),控制器可以控制讀寫頭讀取帶子上的字母。這個(gè)思想是當(dāng)代馮諾依曼計(jì)算機(jī)體系的理論鼻祖。它帶來的“數(shù)據(jù)連續(xù)存儲(chǔ)和選擇讀取”思想是目前所有計(jì)算機(jī)運(yùn)行背后的靈魂。計(jì)算機(jī)體系結(jié)構(gòu)中的核心問題之一就是如何有效地進(jìn)行內(nèi)存尋址。24位、8位機(jī)的尋址1971年,4位處理器4004,可尋址640字節(jié);1972年,8位處理器8008,可尋址16k字節(jié);1974年,8位處理器8080,8位寄存器,兩個(gè)8位寄存器的組合,可尋址64kByte內(nèi)存地址;共同的特點(diǎn)是:沒有“段”的概念,使用絕對(duì)地址,無法重定位316位處理器1978年,8086,Intelx86王朝的開始,由于引入“段”的概念,實(shí)現(xiàn)了內(nèi)存尋址的第一次飛躍;寄存器16位,總線寬度16位,如何尋址1M空間?解決辦法:分段。邏輯地址由段加偏移量組成,邏輯地址到物理地址的轉(zhuǎn)換實(shí)現(xiàn)了16位內(nèi)存地址到20位物理地址的“映射”;段式內(nèi)存管理帶來了顯而易見的優(yōu)勢(shì):程序的地址不再需要硬編碼(實(shí)際地址),錯(cuò)誤易定位,支持更大的內(nèi)存地址。4X86處理器尋址方式演變HistoryLate70's:8086,RealModeandhasnoprotection.1982:80286,RealModeand16bProtectedMode.1985:80386,RealModeand32bProtectedMode.5保護(hù)模式1982年80286問世,具有24位地址線,內(nèi)存尋址16MB;引入了內(nèi)存管理新概念:保護(hù)模式。該模式下內(nèi)存段的訪問受到限制,訪問內(nèi)存時(shí)不能直接從段寄存器獲得段的起始地址,而需要經(jīng)過額外的轉(zhuǎn)換和檢查,從此你不能隨意存取數(shù)據(jù),從而可以實(shí)現(xiàn)“保護(hù)”。6保護(hù)模式為了和過去兼容,80286尋址有2種模式:實(shí)模式和保護(hù)模式。實(shí)模式下與8086相同,可訪問1MB空間,保護(hù)模式下可訪問16MB空間,保護(hù)模式下的段的空間仍為64kB,程序規(guī)模仍受限制。很快被80386取代。732位處理器--803861985年,80386,32位處理器,數(shù)據(jù)總線和地址總線都是32位,可尋址4GB。80386在段寄存器的基礎(chǔ)上構(gòu)筑保護(hù)模式,使段的范圍擴(kuò)大到4GB,一下子解放了軟件工程師,軟件功能和規(guī)模迅速上升。從16位的8086到32位的80386,在尋址方式上實(shí)現(xiàn)了“實(shí)模式”到“保護(hù)模式”的進(jìn)步,處理器結(jié)構(gòu)體系發(fā)生了質(zhì)的變化。之后的486、Pentium等均屬相同的體系結(jié)構(gòu),統(tǒng)稱為IA32(32BitIntelArchitecture)。864位處理器2006,core2,36位地址線,64GB尋址;2008,corei7,40位地址線,1TB尋址;9TheRingarchitecture:80386hasfourrings.Eachringisassociatedwithdifferentprivileges.Ring0isthemostprivilegedring,andtheOSkernelusuallyresideswithinthislayer.Eachobjectandsubjectisassociatedwithalabel,calledring.Thislabelisusedasthesubjectinaccesscontrolpolicies.Whetherasubjectcanaccessanobjectisdecidedbythemandatoryaccesscontrolpolicythatareimplementedinthehardware.101112
8.180286微處理器一、概述
80286是Intel公司于1982年推出的,它是更加先進(jìn)的16位處理器,內(nèi)部操作和寄存器均是16位的。1、芯片內(nèi)集成了13.5萬個(gè)晶體管,68只引腳,具有獨(dú)立的16條數(shù)據(jù)線和24條地址線(16MB),內(nèi)部時(shí)鐘頻率為8MHZ到10MHZ。(8086為5MHz)2、增加了存儲(chǔ)器管理和虛地址保護(hù)機(jī)構(gòu),對(duì)存儲(chǔ)器采用分段管理,每段最大64KB,并支持虛擬存儲(chǔ)器。133、80286有兩種基本工作方式:實(shí)地址方式和虛地址保護(hù)方式。在實(shí)地址方式下尋址能力為1MB,相當(dāng)于8086;在虛地址保護(hù)方式下,可為每個(gè)任務(wù)提供1GB的虛擬地址空間,并將之映射到16MB的物理地址空間中。
虛擬存儲(chǔ)器------硬盤 物理存儲(chǔ)器------實(shí)際內(nèi)存4、改進(jìn)了流水結(jié)構(gòu),加快了處理速度。5、80286保證了所有軟件向下的兼容性,
8086的程序可以在80286運(yùn)行。14
二、80286的基本結(jié)構(gòu)指令部件IU總線部件BU執(zhí)行部件EU地址部件AU15
80286的功能結(jié)構(gòu)
80286與8086一樣,分為執(zhí)行部件EU和總線接口部件BIU兩大部分。
BIU細(xì)分為地址部件AU,指令部件IU和總線部件BU。其中IU是新增的部件,作用是取出BU預(yù)取代碼隊(duì)列中的指令進(jìn)行譯碼,然后放到指令隊(duì)列中,加快指令的執(zhí)行。1617
8.280386微處理器一、概述1、1985年10月Intel公司推出了80386,集成了32萬個(gè)晶體管,片內(nèi)集成了存儲(chǔ)管理部件和保護(hù)機(jī)構(gòu),內(nèi)部操作和寄存器都是32位的。2、芯片有132只引腳,數(shù)據(jù)線、地址線各32條3、80386存儲(chǔ)管理部件可進(jìn)行段頁(yè)式存儲(chǔ)管理,支持虛擬存儲(chǔ)器。18虛擬存儲(chǔ)器虛擬存儲(chǔ)器——將用戶的邏輯地址與物理地址相分離只有部分要執(zhí)行的程序需要調(diào)入內(nèi)存中;因此邏輯地址空間可以遠(yuǎn)大于物理地址空間;允許多個(gè)過程共享同一地址空間;提高過程生成效率虛擬存儲(chǔ)器的實(shí)現(xiàn)分段分頁(yè)194、80386有三種工作方式:實(shí)地址工作方式:就是一個(gè)極快的8086虛地址工作方式:80386可尋址4GB(232)物理地址空間和64TB虛地址空間。存儲(chǔ)器分段,每段最大4GB,最多16384個(gè)段。虛擬8086方式:可同時(shí)執(zhí)行8086的操作系統(tǒng)及其應(yīng)用程序,以及80386的操作系統(tǒng)和80286、386的應(yīng)用程序。205、1986年后Intel推出了多種型號(hào)的80386:
80386SX,外部數(shù)據(jù)總線只有16位
80386DX,標(biāo)準(zhǔn)8038680386SL,低功耗、節(jié)能芯片
80386DL,低功耗、節(jié)能型的80386DX80386EX,基于80386SX,但地址總線是26位,且低功耗、節(jié)能型。21二、80386的基本結(jié)構(gòu)1、80386的功能結(jié)構(gòu)
80386由執(zhí)行單元EU、存儲(chǔ)管理部件MMU和總線接口部件BIU組成。
2223⑴EU部件由指令部件和執(zhí)行部件組成,包括預(yù)取、譯碼、執(zhí)行三個(gè)部件。⑵MMU分為分段部件和分頁(yè)部件。分段部件對(duì)邏輯地址空間進(jìn)行管理,分頁(yè)部件對(duì)物理地址空間進(jìn)行管理。⑶BIU負(fù)責(zé)與存儲(chǔ)器、I/O端口傳送數(shù)據(jù)。
80386的預(yù)取、譯碼、執(zhí)行、分段、分頁(yè)、總線接口這6個(gè)部件可以并行操作,從而加快指令執(zhí)行速度。242、80386的寄存器結(jié)構(gòu)
80386共有7類32個(gè)寄存器,分別是通用寄存器、指令指針和標(biāo)志寄存器、段寄存器、系統(tǒng)地址寄存器、控制寄存器、調(diào)試寄存器和測(cè)試寄存器。2526
(1)通用寄存器共有8個(gè)32位寄存器,它們由8086的16位寄存器擴(kuò)展而來,它們的低16位與8086使用方法相同。EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI2728
指令指針寄存器EIP由8086的IP寄存器擴(kuò)展而來。標(biāo)志寄存器EFLAGS是由80286的標(biāo)志寄存器FLAGS擴(kuò)展而來,增加了2個(gè)標(biāo)志。VM是虛擬模式標(biāo)志,RF是重新啟動(dòng)標(biāo)志。
31181716150EFLAGSVMRF80286FLAGSEIPIP(2)指令指針和標(biāo)志寄存器29
6個(gè)16位的段寄存器,CS、DS、SS、ES、FS、GS其中FS,GS是新加的附加數(shù)據(jù)段寄存器。描述符高速緩沖寄存器共64位,包括32位的段基址,20位的段限和12位的其他信息。80386線性地址由段基地址和段內(nèi)偏移地址相加得到。(3)段寄存器和段描述符高速緩沖寄存器30(4)系統(tǒng)地址寄存器和系統(tǒng)段寄存器:系統(tǒng)地址寄存器有全局描述符表寄存器GDTR、中斷描述符表寄存器IDTR。
系統(tǒng)段寄存器有局部描述符表寄存器LDTR和任務(wù)寄存器TR。這些寄存器保存相應(yīng)的描述符表的地址。
(5)控制寄存器:4個(gè)32位的控制寄存器CR0,CR1(保留),CR2,CR3,它們保存全局性的機(jī)器狀態(tài)。
(6)調(diào)試寄存器:共8個(gè)排錯(cuò)寄存器DR0-DR7。
(7)測(cè)試寄存器:2個(gè)32位的測(cè)試寄存器TR6和TR7,用于控制轉(zhuǎn)換后援緩沖器中的RAM測(cè)試。31一、描述符與描述符表二、保護(hù)模式的寄存器模型三、保護(hù)模式下存儲(chǔ)器尋址四、虛擬8086模式80386保護(hù)模式存下的存儲(chǔ)管理機(jī)制32存儲(chǔ)管理機(jī)制在保護(hù)方式下,80386采用了和8086完全不同的存儲(chǔ)管理機(jī)制,這種存儲(chǔ)管理機(jī)制的功能是:第一,實(shí)現(xiàn)虛擬存儲(chǔ);第二,支持多用戶、多任務(wù)操作系統(tǒng)。虛擬存儲(chǔ)技術(shù):80386有32根地址線,這意味著能訪問的物理存儲(chǔ)器最大容量為4GB,如果大型軟件的代碼和數(shù)據(jù)的超過4GB,則因?yàn)椴荒苎b入存儲(chǔ)器而無法運(yùn)行。解決這個(gè)問題的方法就是使用虛擬存儲(chǔ)技術(shù)。33保護(hù)功能為了能夠支持多用戶、多任務(wù)操作系統(tǒng),80386的存儲(chǔ)管理機(jī)制具有保護(hù)功能,這種保護(hù)功能表現(xiàn)在以下兩個(gè)方面。第一,將虛擬存儲(chǔ)空間劃分為多個(gè)區(qū)域,不同任務(wù)的私有存儲(chǔ)段(包括代碼段、數(shù)據(jù)段和堆棧段)存放在各自的局部區(qū)域中,以實(shí)現(xiàn)任務(wù)之間的隔離,避免相互干擾和破壞;第二,對(duì)存儲(chǔ)段的訪問需要進(jìn)行權(quán)限判別,只有符合權(quán)限要求的訪問才被允許。34LDT在80386中,任務(wù)之間的隔離是通過為每個(gè)任務(wù)建立自己的局部描述符表(LDT)來實(shí)現(xiàn)的,LDT中的每個(gè)段描述符記錄了一個(gè)私有存儲(chǔ)段的起始地址、長(zhǎng)度等信息,一個(gè)任務(wù)通過LDT訪問自己私有的存儲(chǔ)段,其它任務(wù)無法訪問該任務(wù)的LDT,因而無法訪問該任務(wù)私有的存儲(chǔ)段。35特權(quán)級(jí)
特權(quán)級(jí)(PL,PrivilegeLevel):任務(wù):程序在執(zhí)行時(shí)的一種情況,是一個(gè)動(dòng)態(tài)的概念Pentium為每個(gè)任務(wù)提供了4種特權(quán)級(jí),0級(jí)最高,3級(jí)最低應(yīng)用程序常規(guī)擴(kuò)展系統(tǒng)服務(wù)內(nèi)核級(jí)別0級(jí)別1級(jí)別2級(jí)別33680386的存儲(chǔ)管理機(jī)制用戶程序在訪問存儲(chǔ)器時(shí)給出的是48位虛擬地址(或稱為邏輯地址),由16位的段選擇子(SegmentSelector)和32位偏移量?jī)刹糠纸M成,段選擇子由段寄存器給出,而偏移量則根據(jù)不同的尋址方式得到。3738分段部件根據(jù)段選擇子可以得到要訪問的存儲(chǔ)段的32位段起始地址,與偏移量相加后得到了一個(gè)32位地址,這個(gè)地址因?yàn)槭怯尚〉酱缶€性地排列的,因而又稱為線性地址。在使用分頁(yè)機(jī)制的情況下,線性地址并不是主存儲(chǔ)器的物理地址,需要通過分頁(yè)部件才能轉(zhuǎn)換為物理地址。若不使用分頁(yè)機(jī)制,則線性地址就是物理地址。39由邏輯地址到物理地址的映射如何根據(jù)程序給出的邏輯地址(虛擬地址)計(jì)算出要訪問的存儲(chǔ)器的物理(實(shí))地址呢?這要通過一種叫描述符表的數(shù)組來進(jìn)行變換。因此,首先要了解描述符和描述符表。什么是描述符?401.2描述符(Descriptor):描述存儲(chǔ)器段的屬性的一個(gè)8字節(jié)的數(shù)據(jù)結(jié)構(gòu)。
描述符用來定義存儲(chǔ)器的用法,以及控制轉(zhuǎn)移和任務(wù)切換的功能。
段描述符通過GDT(全局描述符表)、LDT(局部描述符表)和IDT(中斷描述符表)進(jìn)行存儲(chǔ)。一、描述符與描述符表4142非系統(tǒng)段描述符:用于描述代碼、數(shù)據(jù)和堆棧段(用戶段)01234567段界限0~15位段基址0~23位訪問權(quán)限字節(jié)段界限16~19位段基址24~31位DG0AVL43非系統(tǒng)段描述符:G位(粒度位):G=0,段的長(zhǎng)度以字節(jié)為單位段長(zhǎng)最大1M字節(jié)G=1,段的長(zhǎng)度以頁(yè)(4K字節(jié))為長(zhǎng)度單位段長(zhǎng)最大1M4K=4G字節(jié)D位:D=0,16位指令方式
D=1,32位指令方式AVL位:AVL=0,程序不可使用本段
AVL=1,程序可以使用本段44非系統(tǒng)段描述符:訪問權(quán)限字節(jié)01234567APDPLSEEDCRWP位:P=0,段不在內(nèi)存中
P=1,段在內(nèi)存中DPL:取值0~3,確定段的特權(quán)級(jí)S位:S=1,段描述符A位:A=0,段尚未被訪問
A=1,段已被訪問45非系統(tǒng)段描述符:訪問權(quán)限字節(jié)01234567APDPLSEEDCWR1~3位表示段的類型當(dāng)E=0,為數(shù)據(jù)段ED=0,段向上擴(kuò)展 為數(shù)據(jù)段ED=1,段向下擴(kuò)展 為堆棧段W=0,數(shù)據(jù)段只讀W=1,數(shù)據(jù)段可寫當(dāng)E=1,為代碼段C=0,忽略描述符特權(quán)級(jí)C=1,遵循描述符特權(quán)級(jí)R=0,代碼段不可讀 即只執(zhí)行R=1,代碼段可讀46系統(tǒng)段描述符:格式與段描述符基本相同,主要差別①訪問權(quán)限字節(jié)01234567PDPLS
TYPES=0,系統(tǒng)段描述符TYPE為4個(gè)字節(jié),共有16種類型。其中:2,LDT9,TSS,非忙B,TSS,忙5,任務(wù)門C,調(diào)用門E,中斷門F,陷阱門②D位無定義(D=0)47門描述符:偏移量:相對(duì)于段基地址的偏移量,為目標(biāo)代碼的入口點(diǎn)選擇符:用于確定段基地址字計(jì)數(shù):從調(diào)用者堆棧中復(fù)制到被用者堆棧中的參數(shù)個(gè)數(shù),參數(shù)為32位屬于系統(tǒng)段描述符門提供了將程序控制轉(zhuǎn)給服務(wù)程序入口的手段。有任務(wù)門、調(diào)用門、中斷門、陷阱門4種類型48門描述符:訪問權(quán)限字節(jié)格式與系統(tǒng)段描述符相同DPL為任務(wù)允許訪問該門的最低特權(quán)級(jí)49例:判斷系統(tǒng)段描述符所描述的段的性質(zhì)01234567P=1,S=0,DPL=2TYPE=2,為L(zhǎng)DT因此為一個(gè)特權(quán)級(jí)為2的LDT,已經(jīng)在內(nèi)存中該LDT的基址為00200000H,界限為00300HG=0,段的長(zhǎng)度為字節(jié)長(zhǎng)度AVL=0該段不可被程序訪問501.3描述符表描述符表由描述符順序排列組成,占內(nèi)存一定的區(qū)域,由系統(tǒng)地址寄存器(GDTR、IDTR、LDTR)指示其在物理存儲(chǔ)器中的位置和大小描述符表有三種:全局描述符表GDT中斷描述符表IDT局部描述符表LDT51二、保護(hù)模式的寄存器模型520151631015015163178ALBLCLDLAXBXCXDXAHBHCHDHEAXEBXECXEDXIPCSDSSSESFSGSSPBPSIDIESPEBPESIEDIFLAGSCR0實(shí)模式的寄存器模型532.1全局描述符表寄存器GDTR,48位
每個(gè)操作系統(tǒng)都必須在物理存儲(chǔ)器中定義唯一一個(gè)GDT,可被系統(tǒng)中的所有程序和任務(wù)使用。計(jì)算機(jī)開機(jī)后首先要準(zhǔn)備GDT,然后將GDT的基址和大?。ń缦蓿┬畔⑺腿隚DTR。GDTR長(zhǎng)度為48位。0151647GDTRBASELIMITBASE指示GDT在物理存儲(chǔ)器中開始的位置LIMIT規(guī)定GDT的界限LIMIT有16位,從而GDT最大65536個(gè)字節(jié),能夠容納65536/8=8192個(gè)描述符54例:(GDTR)=001000000FFFH,求GDT在物理存儲(chǔ)器中的起始地址,結(jié)束地址,表的大小,表中可以存放多少個(gè)描述符?2.1全局描述符表寄存器GDTR解:GDT的起始地址為00100000H結(jié)束地址為00100000H+0FFFH=00100FFFH表的大小為0FFFH+1=4096字節(jié)表中可以存放4096/8=512個(gè)描述符552.2中斷描述符表寄存器IDTR,48位在物理存儲(chǔ)器地址空間中定義中斷描述符表IDT0151647IDTRBASELIMIT由于Pentium只能支持256個(gè)中斷和異常,因此LIMIT最大為0FFFHIDT中的描述符類型為中斷門562.3局部描述符表寄存器LDTR,16位LDT定義任務(wù)用到的局部存儲(chǔ)器地址空間一個(gè)系統(tǒng)可以有多個(gè)任務(wù),每個(gè)任務(wù)有且只有一個(gè)獨(dú)立的局部描述符表LDT,存放與該任務(wù)相關(guān)的描述符,包括代碼段和數(shù)據(jù)段的描述符,以及除中斷門以外的門描述符。16位的LDTR并不直接定義LDT,它只是一個(gè)指向GDT中LDT描述符的選擇符如果LDTR中裝入了選擇符,相應(yīng)的描述符將從GDT中讀出并裝入局部描述符表高速緩沖寄存器。將該描述符裝入高速緩沖寄存器就為當(dāng)前任務(wù)創(chuàng)建了一個(gè)LDT。?。?!57GDTRGDTBASELIMITLDT描述符LDTRLDT基址界限32位16位LDT描述符高速緩沖寄存器(不可見)58GDT與LDT的關(guān)系59一個(gè)系統(tǒng)只有一個(gè)GDT,可以有多個(gè)LDT;一個(gè)GDT最多可存放8192個(gè)描述符;所有的LDT最多可存放8192個(gè)描述符;一個(gè)任務(wù)可以訪問一個(gè)GDT和一個(gè)LDT;602.4控制寄存器612.4控制寄存器CR0的低5位組成機(jī)器狀態(tài)字(MSW):PE: 0——實(shí)模式;1——保護(hù)模式MP: 1(系統(tǒng)有數(shù)學(xué)協(xié)處理器)EM: 0TS: 任務(wù)切換,切換任務(wù)時(shí)自動(dòng)設(shè)置ET: 1(協(xié)處理器的類型)PG:設(shè)置為1,表示允許分頁(yè)62存儲(chǔ)器分頁(yè)機(jī)制:CR3包含頁(yè)目錄基址,指向頁(yè)目錄的開頭如果發(fā)生缺頁(yè),則將發(fā)生缺頁(yè)的地址保存在CR2中2.4控制寄存器632.5任務(wù)寄存器TR存放16位的選擇符,指示全局描述符表中任務(wù)狀態(tài)段(TSS)描述符的位置當(dāng)選擇符裝入TR時(shí),相應(yīng)的TSS描述符自動(dòng)從存儲(chǔ)器中讀出并裝入任務(wù)描述符緩沖寄存器。該描述符定義了一個(gè)稱為任務(wù)狀態(tài)段(TSS)的存儲(chǔ)塊。每個(gè)任務(wù)都有TSS,TSS包含啟動(dòng)任務(wù)所必需的信息。TSS最大64K字節(jié)64GDTRGDTBASELIMITTSS描述符TR基址界限32位16位TSSTSS描述符高速緩沖寄存器(不可見)652.6段選擇符寄存器保護(hù)模式下CS、DS、SS、ES、FS、GS寄存器稱為段選擇符寄存器,其值不再是基址而是選擇符,它選擇一個(gè)定義存儲(chǔ)器段大小和屬性的描述符012315TIRPL索引RPL:申請(qǐng)?zhí)貦?quán)級(jí)
0~3TI:表指示符0——使用全局描述符表1——使用局部描述符表索引:選擇描述符表入口662.6段選擇符寄存器例:設(shè)LDT的基址為00120000H,GDT的基址為00100000H,(CS)=1007H,那么:①請(qǐng)求的特權(quán)級(jí)是多少②段描述符位于GDT中還是LDT中③段描述符的地址是什么解:(CS)=1007H=0001000000000111B①RPL=3,申請(qǐng)的特權(quán)級(jí)為3②TI=1,描述符位于LDT中③描述符相對(duì)于LDT基址的偏移量為0001000000000B8=5128=4096=1000H段描述符的地址為00120000HH=00121000H672.7標(biāo)志寄存器EFLAGSIOPL:輸入/輸出特權(quán)級(jí)VM:虛擬8086模式標(biāo)志68三、保護(hù)模式下存儲(chǔ)器尋址實(shí)模式存儲(chǔ)器尋址693保護(hù)模式下存儲(chǔ)器尋址保護(hù)模式的存儲(chǔ)器管理單元使用48位存儲(chǔ)器指針:16位選擇符:32位偏移量選擇符放在段選擇符寄存器中偏移量放在其他用戶可訪問的32位寄存器中偏移量32位,因此段的大小可以達(dá)到4G字節(jié)48位存儲(chǔ)器指針稱為虛擬地址(邏輯地址)16位選擇符中有14位用于存儲(chǔ)器段選擇,虛擬空間中可容納16384個(gè)段,每段最大4GB,因而虛擬地址空間最大64TB703.1虛擬地址空間的分段在分段模型中,64TB虛擬地址空間被分為32TB的全局存儲(chǔ)器地址空間和32TB局部存儲(chǔ)器地址空間全局段0全局段8192局部段0局部段8192虛擬地址空間64TB局部地址空間32TB全局地址空間32TB713.2段式地址轉(zhuǎn)換虛擬地址指針GDT/LDT選擇符偏移量段描述符數(shù)據(jù)段描述符高速緩沖寄存器(不可見)數(shù)據(jù)段操作數(shù)DSEAX723.2段式地址轉(zhuǎn)換CSDSSSESFSGS程序員可見訪問權(quán)限基址界限01920515263段描述符高速緩沖寄存器(不可見)段寄存器:共80位,16位可見,64位不可見。733.2段式地址轉(zhuǎn)換例:假設(shè)虛擬地址為0100:00000200H,禁止分頁(yè)。如果描述符中讀出的段基址為00030000H,那么操作數(shù)的物理地址是什么?解:將此虛擬地址轉(zhuǎn)換成物理地址為基地址+偏移量=00030000HH=00032000H743.3分頁(yè)機(jī)制分段法:將程序分成可變長(zhǎng)的若干段分頁(yè)法:將程序分成若干相同大小的頁(yè),每頁(yè)長(zhǎng)4KB如果不允許分頁(yè),那么分段機(jī)構(gòu)確定的32位線性地址即為物理地址;如果允許分頁(yè),就要將32位線性地址通過兩級(jí)表格結(jié)構(gòu)轉(zhuǎn)換成物理地址,第一級(jí)是頁(yè)目錄,第二級(jí)是頁(yè)表7576773.3分頁(yè)機(jī)制——頁(yè)目錄頁(yè)目錄長(zhǎng)4KB,包含最多1024個(gè)頁(yè)目錄項(xiàng);每個(gè)頁(yè)目錄項(xiàng)4字節(jié),含有下級(jí)頁(yè)表的基地址,格式為:0123783.3分頁(yè)機(jī)制——頁(yè)目錄頁(yè)表的起始地址是4K的整數(shù)倍,因此32位地址的低12位總為0,用高20位表示即可。U/SR/W特權(quán)級(jí)3特權(quán)級(jí)0~200無讀/寫
01無讀/寫
10只讀讀/寫
11讀/寫讀/寫793.3分頁(yè)機(jī)制——頁(yè)表頁(yè)表長(zhǎng)4KB,包含最多1024個(gè)頁(yè)面項(xiàng),每項(xiàng)4字節(jié)765432100DA00U/SR/WP頁(yè)面地址0~3位OS專用0頁(yè)面地址4~11位頁(yè)面地址12~19位0123頁(yè)面的起始地址為4K的整數(shù)倍,所以32位頁(yè)面地址只用高20位D位:對(duì)所涉及頁(yè)面進(jìn)行寫操作時(shí),D置1803.3分頁(yè)機(jī)制整個(gè)存儲(chǔ)器有一個(gè)頁(yè)目錄,它最多有1024個(gè)頁(yè)目錄項(xiàng),每個(gè)頁(yè)目錄項(xiàng)可含有1024個(gè)頁(yè)面項(xiàng)——共有10241024=1M個(gè)頁(yè)面,每頁(yè)面4KB,存儲(chǔ)器大小正好4GB目錄偏移量頁(yè)表偏移量頁(yè)偏移量31222112110線性地址格式813.3分頁(yè)機(jī)制線性地址頁(yè)目錄目錄偏移量頁(yè)目錄項(xiàng)頁(yè)面操作數(shù)頁(yè)CR3頁(yè)表頁(yè)表項(xiàng)823.3分頁(yè)機(jī)制TLB——轉(zhuǎn)換后援緩沖器TLB為一個(gè)Cache,其中保存了32個(gè)最近使用的頁(yè)轉(zhuǎn)換地址。若訪問同樣的存儲(chǔ)區(qū)域,則不必再訪問頁(yè)目錄和頁(yè)表,可以加快程序的運(yùn)行。例:對(duì)于線性地址00000000H~00000FFFH,將選中頁(yè)目錄項(xiàng)0和頁(yè)表項(xiàng)0。若頁(yè)表項(xiàng)0包含的地址為00100000H,則線性地址00000000H~00000FFFH對(duì)應(yīng)的物理地址為00100000H~00100FFFH83例180386中,指令MOVEAX,[EBX];EBX=3010H,GDTR=08A000009FFF,LDTR=3201H,DS=2005H,CS=8005LDT描述符=300BA2400000FFFFH,數(shù)據(jù)段描述符=6200D2000000FFFFH,試分析:1)GDT地址范圍;2)LDT描述符地址范圍;3)LDT基址與界限;4)代碼段描述符地址范
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煉油廠每日安全分享
- 糖尿病胰島素種類
- 術(shù)后肺部感染如何預(yù)防與護(hù)理
- 廚房規(guī)劃方案總結(jié)
- 4-2-2 元素周期表及元素周期律的應(yīng)用 課件 高一上學(xué)期化學(xué)人教版(2019)必修第一冊(cè)
- 黑客攻擊解決方案
- 消化道大出血的應(yīng)急流程演練
- 消防安全知識(shí)演練
- 氧化硫說課稿
- 化簡(jiǎn)比說課稿人教版
- 木箱的設(shè)計(jì)(專業(yè)應(yīng)用)
- 鐵路工程提、抽、壓、注水文地質(zhì)試驗(yàn)教程
- DB5111∕T 24-2022 樂山市山坪塘工程技術(shù)規(guī)范
- 《好餓的毛毛蟲》繪本故事PPT模板
- HR工作法律手冊(cè)(人力資源管理全案-法務(wù)篇)
- 醫(yī)學(xué)倫理學(xué)模擬試題及答案
- 檢驗(yàn)科標(biāo)本接收流程圖
- C70型通用敞車
- 教練技術(shù)第一階段導(dǎo)師講義(部分)
- 通知書之實(shí)習(xí)生錄用通知模板
- 鋼軌尺寸圖(清晰)
評(píng)論
0/150
提交評(píng)論