32位微處理器(2)綜述_第1頁
32位微處理器(2)綜述_第2頁
32位微處理器(2)綜述_第3頁
32位微處理器(2)綜述_第4頁
32位微處理器(2)綜述_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

§11.332位微處理器的工作方式一、實(shí)地址方式:

自動(dòng)特點(diǎn):

①主要為386進(jìn)行初始化用在實(shí)地址環(huán)境下,為386保護(hù)模式所需的數(shù)據(jù)結(jié)構(gòu)做好各種配置和準(zhǔn)備

實(shí)地址方式加電或復(fù)位②386類似于8086的體系結(jié)構(gòu)a.操作數(shù):16位,但允許使用32位尋址,但在指令前加上前綴--表示越權(quán)存取b.M:≤1MB,分段管理。段≤64KB此時(shí),線性地址即為物理地址--CS×16+EA,無虛擬Mc.386中,M中保留兩個(gè)固定存儲(chǔ)區(qū)域初始化程序區(qū):FFFFFFF0H~FFFFFFFFH中斷向量區(qū):00000~003FFH(1KB)最底層(16字節(jié))

d.386具有特權(quán)級(jí),在實(shí)模式下,程序在最高級(jí)(0級(jí))上執(zhí)行386的指令在實(shí)模式下均有效(少數(shù)除外)設(shè)置實(shí)模式:一為使80386和8086兼容二為可方便的從實(shí)模式轉(zhuǎn)換到保護(hù)模式1、32位cpu的地址空間:

邏輯空間、線性空間、物理空間3種

①邏輯空間:程序員編程時(shí)所用的地址空間(虛擬、邏輯、編程地址)②線性空間:線性地址:由分段部件產(chǎn)生的地址線性地址或指令譯碼部件③物理空間:物理地址:在內(nèi)存中可直接尋址的實(shí)際地址邏輯空間、線性地址、物理地址的轉(zhuǎn)換邏輯地址線性地址物理地址段部件su頁部件pu(不使用pu時(shí),物理地址=線性地址)圖示:32位有效地址P選擇字RL

su

pu物理寄存器+463232邏輯地址線性地址物理地址321415210段寄存器(偏移地址)3).選擇字選擇一個(gè)對(duì)應(yīng)的描述符(內(nèi)含段基址),指向一個(gè)邏輯地址空間2).無論哪一種類型的程序在系統(tǒng)中運(yùn)行,都由存儲(chǔ)管理機(jī)制把虛擬地址轉(zhuǎn)換成物理地址1).程序員編程時(shí)只關(guān)注有效地址4).偏移地址(由之算出最終的有效地址)指向一個(gè)邏輯地址空間5).su根據(jù)段描述符表算出32的線性地址(尋址機(jī)構(gòu)算出有效地址)…………段描述符段描述符…………特權(quán)級(jí)界限值線性基址段描述符表一項(xiàng)64位,8字節(jié)段描述符(對(duì)應(yīng)一個(gè)段)

⑥各機(jī)構(gòu)操作為流水線操作:即:當(dāng)前一個(gè)操作還在總線上進(jìn)行時(shí),下一個(gè)物理地址已經(jīng)算出,并開始調(diào)入新的地址信息(可以認(rèn)為轉(zhuǎn)換時(shí)間幾乎為0)2、描述符表1)描述符表保存在虛擬存儲(chǔ)器中.4)由選擇器(段寄存器)選中一描述符進(jìn)行地址轉(zhuǎn)換3)描述符由8各字節(jié)組成(段的信息)2)描述符表的每項(xiàng)為描述符選擇字………描述符……………段……選擇器M。描述符表描述符

8個(gè)字節(jié)∴先應(yīng)知描述符的物理地址(選擇字高13位×8+描述符表的起始地址)即:從描述符表中找到段的起始地址(段基址)

3、段寄存器

實(shí)模式下:與8086中的CS的使用相同.物理地址=CS×16+偏移地址16位64位CS段描述符寄存器段寄存器

保護(hù)模式下:CS為選擇字,作為進(jìn)入M中描述符表的變地址,由此值找到表中的一項(xiàng)(64位)對(duì)應(yīng)一個(gè)段,該項(xiàng)由系統(tǒng)自動(dòng)裝入段描述符寄存器中4、描述符描述符用以描述段的信息(8個(gè)字節(jié))其中:20位(1~19):段的大小32位(1~32)段的起始地址(物理地址)8位:段的有關(guān)特性4位:G.D.U.O

630屬性(12位)起始地址(32位)大?。?0位)描述符寄存器起始址(32)段大小(20位)屬性(12位)新版:描述符寄存器從表中可見:①段限值占最低2個(gè)字節(jié)以及第7字節(jié)的低4位~~20位(記載段的大小,段的大小=字節(jié)數(shù)-1)使邏輯段的最大容量由64KB增為1MB(220=1MB)②段基址:共占4個(gè)字節(jié)(3、4、5、8)三處存放--32位∴可尋址232=4KM存儲(chǔ)空間

③第6字節(jié)為訪問權(quán)字節(jié)

④第7字節(jié)為高4位為語義控制段⑴G位:為界限域選擇1或4K倍的倍數(shù)G=0則倍數(shù)為1,表示該段的段界限長度以字節(jié)為單位

∴段的大小220×倍數(shù)1=1MB

eg:某段的大?。?FFFFH,則:段的字節(jié)數(shù)=段的大小×倍數(shù)1+1=1FFFF×1B+1=20000H

最大值G=1,則倍數(shù)為4,表示該段的段界限長度以頁面為單位

∴段的大小220×倍數(shù)4K=4KMB=4GB=1M頁

eg:某段的大小=1FFFFH,則:段的字節(jié)數(shù)=段的大小×倍數(shù)4K+1=1FFFF×FFFH+1=20000,000H最大值段的起始地址是段的最低物理地址段的末地址(界限)是段的最高物理地址(段界限)所以:⑵D位:選擇寄存器寬度,即操作數(shù)長度D=0,寄存器為16位默認(rèn)值:16位地址or16位(8位)操作數(shù)D=1,寄存器為32位默認(rèn)值:32位地址or32位(16,8位)操作數(shù)在實(shí)方式下:寄存器位16寬如果用32位,加前綴DOS的當(dāng)前版本設(shè)為D=0⑶U位:表示描述符所描述的段可用,由操作系統(tǒng)使用⑷P位:存在位P=1,對(duì)應(yīng)段存在,且已裝入內(nèi)存P=0,對(duì)應(yīng)段目前不在內(nèi)存,需從磁盤上調(diào)入內(nèi)存⑸DPL:設(shè)置對(duì)應(yīng)段的特權(quán)級(jí):由高至低分別為00,01,10,11用來防止一般用戶任意訪問操作系統(tǒng)的對(duì)應(yīng)數(shù)b.如果用一個(gè)比DPL低的特權(quán)級(jí)訪問該段將發(fā)生越權(quán)中斷⑺TYPE:(P300)⑹S:段位,指示描述符的類型S=0,為非代碼段或數(shù)據(jù)段(對(duì)應(yīng)一個(gè)系統(tǒng)段)S=1,為代碼段或數(shù)據(jù)段(對(duì)應(yīng)一般的存儲(chǔ)器代碼段和數(shù)據(jù)段)§11.5保護(hù)方式一、保護(hù)(對(duì)數(shù)據(jù)處理有保護(hù)的、可靠的運(yùn)行方式)

不同任務(wù)之間的保護(hù):給每個(gè)任務(wù)分配虛擬空間,每個(gè)任務(wù)有各自不同的虛擬--物理地址轉(zhuǎn)換映射,因而可實(shí)現(xiàn)任務(wù)之間的完全隔離。

同一任務(wù)的保護(hù):在一個(gè)任務(wù)內(nèi)定義4種執(zhí)行特權(quán)的級(jí)別pl,每個(gè)段都與一個(gè)特權(quán)級(jí)別pl相聯(lián)系,由pl決定是否能訪問(有規(guī)則,通過cup內(nèi)硬件完成保護(hù)功能)

特點(diǎn):M用三種地址空間描述,MMU將外存的虛擬空間有效地址映射到內(nèi)存空間;4級(jí)保護(hù)二、保護(hù)方式下的尋址(在su上增加pu)32位有效地址P選擇字RL

su

pu物理寄存器+463232邏輯地址線性地址物理地址321415210段寄存器(偏移地址)指令中的通過段描述表通過頁目錄表,頁表1、有關(guān)地址計(jì)算

邏輯地址=16位選擇字+32位有效地址

=48位(46位)

選擇一個(gè)對(duì)應(yīng)的描述符--描述符中含有段基址--段基址指向一個(gè)邏輯地址空間

由偏移地址算出--指向此邏輯空間中的一個(gè)待尋址的存儲(chǔ)單元地址(有效地址由程序員關(guān)注)組合含義線性地址:在虛擬存儲(chǔ)空間內(nèi)是可定位的地址線性地址=段基地址+有效地址(偏移址)(32位)(32位)(32位)物理地址:低12位=線性地址低12位

(32位)高20位=f(線性的高20位)2、su的工作過程(變換地址)

根據(jù)16位段選擇字從描述符表中選擇一描述符從中得到一個(gè)32的段基址段基址+有效地址=線性地址(32)選擇字32位有效地址………段描述符………32位段基址+線性地址描述符表

32表基址計(jì)算邏輯地址`另:描述符在表中的物理地址:

(由選擇字的D3位決定)T1位T1=0,在GDT中T1=1,在LDT中(段的描述符的索引值確定位置)另:邏輯地址中實(shí)際上包含了段選擇字和有效地址,所以常說su將邏輯地址線性地址選擇字高13位×8+表的起始地址3、pu的工作過程(變換地址)1)分頁機(jī)制的啟動(dòng):當(dāng)CR0中的PG=1,系統(tǒng)啟動(dòng)分頁機(jī)制(由cup內(nèi)部的CR和pu控制與實(shí)現(xiàn))2)分頁管理的對(duì)象:大小固定的4KB的存儲(chǔ)塊(頁),在4KB的邊界上對(duì)齊即:每頁的開始地址都能被4K整除?!?32=4KMB的線性空間220個(gè)頁面

(1M個(gè)頁面)劃分3)頁結(jié)構(gòu):386采用兩級(jí)表結(jié)構(gòu):頁目錄表、頁表

a、頁目錄(表):Ⅰ、表中每項(xiàng)(條目)--頁目錄描述符(頁目錄條目)Ⅱ、每項(xiàng)由4字節(jié)組成(32位)表共有1024個(gè)項(xiàng)∴表長度為1024×4=4KB長(一頁)……………………頁目錄描述符……………………頁目錄(表)Ⅲ、頁目錄描述符(頁目錄條目)結(jié)構(gòu):頁表地址(20位)控制位3112110Ⅳ、頁目錄描述符(頁目錄條目)選取:由線性地址的高10位(變址)選取和CR3

目錄CR3………頁目錄條目………+頁目錄基址寄存器線性地址3122高10位稱目錄×4b、頁表:Ⅰ、表中每項(xiàng)(條目)--頁描述符(頁條目)Ⅱ、每項(xiàng)由4字節(jié)組成(32位)共有1024個(gè)項(xiàng)∴表長度為1024×4=4KB長(一頁)……………………頁描述符……………………頁表Ⅲ、頁描述符(頁條目)結(jié)構(gòu)頁面地址(20位)控制位3112110Ⅳ、頁描述符(頁條目)選取:由線性地址的中10位選取和頁目錄條目的高20位

表(10位)………頁描述符………+頁目錄條目線性地址2112×43112110頁表地址(20)頁表(頁目錄描述符)4)pu的工作過程:3個(gè)步驟

①、線性地址的高10位×4+CR3=值--選中頁目錄表中的一個(gè)條目(頁目錄描述符)

②、線性地址的中10位×4+頁目錄條目中的20位頁表地址(擴(kuò)展成32位)=值--選中頁表中的一項(xiàng)(頁描述符)③、線性地址低12位+頁描述符中的

頁面地址=頁物理地址擴(kuò)展成32位,后添設(shè)03112可見:

頁目錄(表)映射頁表,頁表映射頁。

偏移………………………+頁描述符線性地址110

12位頁面地址(20)物理地址用戶內(nèi)存被訪問的頁

eg.把線性地址=04834056H轉(zhuǎn)換成物理地址已知:CR3=05000000H,(頁目錄基址寄存器)低12位為0

解:線性地址=00000100100000110100000001010110

012H034H

056H(10位)(10位)(12位)1)頁目錄描述符物理地址=線性地址高10位×4+CR3=012H×4+CR3=05000048H設(shè)對(duì)應(yīng)該地址的頁目錄描述符的32位為0000BXXXH則頁表地址=0000BH(擴(kuò)展成32位為0000B000H,低12位為0)2)線性地址的中10位:034H頁描述符物理地址=線性地址中10位×4+頁表地址=034×4+0000B000=0000B0D0H設(shè):對(duì)應(yīng)該物理地址的頁描述符的32位為03000XXXH則:頁面地址=03000H(擴(kuò)展成32位為03000000H)3)頁物理地址=線性地址低12位+頁面地址=056+03000000=03000056H4、幾點(diǎn)說明

1)386在執(zhí)行每條指令時(shí),硬件將自動(dòng)的進(jìn)行復(fù)雜的地址計(jì)算

3個(gè)操作的重疊,對(duì)程序員而言,轉(zhuǎn)換時(shí)間幾乎為02)各機(jī)構(gòu)按地址流水線的執(zhí)行過程:有效地址計(jì)算邏輯地址線性地址線性地址物理地址3)分段:把虛擬M組織成其容量大小可變的區(qū)間的集合,這些區(qū)間稱為段.段的信息段描述符編成表,以便硬件查找識(shí)別存入內(nèi)M中,其位置由3個(gè)寄存器來確定系統(tǒng)有3張:定義所有段中斷GDTLDT

1DT4)分頁:大小固定的存儲(chǔ)塊(4KB)線性空間、物理空間以頁為單位來組織即:pu只需把每個(gè)活動(dòng)任務(wù)當(dāng)前所需的少量頁面放在內(nèi)M中,可提高存取效率§11.6虛擬8086方式(V86模式)概述:虛擬8086方式是既能有效利用保護(hù)功能,又能執(zhí)行8086代碼的工作方式,它使386可快速地同時(shí)執(zhí)行多個(gè)8086的應(yīng)用程序.又述:V86是在保護(hù)模式中引入了虛擬8086工作模式,也可以理解為V86模式是運(yùn)行在保護(hù)環(huán)境中的8086模式.一、V86模式特點(diǎn):1)V86模式是讓386模擬1MB空間的尋址環(huán)境,但不限于1MB的存儲(chǔ)空間(因?yàn)樗梢酝瑫r(shí)支持幾個(gè)虛擬8086環(huán)境)2)在多用戶系統(tǒng)中,每一個(gè)虛擬8086環(huán)境都可有自己的操作系統(tǒng)和應(yīng)用程序eg.有3個(gè)任務(wù):操作系統(tǒng)為每個(gè)任務(wù)分配時(shí)間片(1ms)一個(gè)任務(wù)另一個(gè)任務(wù)另一個(gè)任務(wù)每個(gè)任務(wù)都得到Cpu的運(yùn)行時(shí)間,系統(tǒng)好像同時(shí)執(zhí)行多個(gè)任務(wù)切換切換(時(shí)間片技術(shù):允許多個(gè)應(yīng)用程序同時(shí)執(zhí)行)則:每過1ms4)V86模式是面向任務(wù)的,它允許386生成多個(gè)模擬的8086微處理器eg.386的操作系統(tǒng)是UNIX,但用戶可以在V86窗口下執(zhí)行8086的操作系統(tǒng)和用戶程序,使得每個(gè)任務(wù)認(rèn)為它正在一臺(tái)獨(dú)立的8086計(jì)算機(jī)上運(yùn)行3)在保護(hù)模式下,386的EFR中的VM=0,若使VM=1,則進(jìn)入V86模式3、有pu,則pu將線性地址物理地址,且物理地址可定位于4GB內(nèi)存中的386可尋址的任何地方(但程序訪問的仍然是1MB以內(nèi)的存儲(chǔ)器)二、V86模式的尋址

1、段寄存器的意義同8086相同段寄存器左移4位+偏移地址=線性地址2、可尋址的最大空間為00000H~FFFFFH的1MB存儲(chǔ)器頁表三、V86模式下的分頁

分頁:當(dāng)虛擬任務(wù)的地址空間大于1MB的物理空間時(shí),需要分頁1、在保護(hù)模式下,CR0中的PG位是1,啟動(dòng)分頁機(jī)制(V86下不能對(duì)CR0進(jìn)行修改)2、∵使用A的A19~A0又∵線性地址為:①∴線性地址高10位全為0即:系統(tǒng)只能訪問頁目錄表的第一個(gè)頁目錄描述符00031222120120高10位中間10位低12位②又∵A21,A20常為0(線性地址中10位只有8位有效地址)即:系統(tǒng)只能訪問28=256個(gè)頁表項(xiàng)(頁描述符)即20位線性地址(高位

溫馨提示

  • 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)論