版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高檔微處理器Pentium一概述二寄存器組三實(shí)方式1.Pentium的特性
工作速度更快具有保護(hù)功能支持虛擬存儲(chǔ)器1)與8086/8066相比:工作速度更快1)主頻加快133Mhz,350Mhz,450Mhz,750Mhz,1Ghz,….2)字長(zhǎng)加長(zhǎng)(內(nèi)部寄存器,內(nèi)部總線等):32位3)總線傳輸率提高:總線64位,并支持突發(fā)式讀寫(使總線周期縮短)4)先進(jìn)執(zhí)行技術(shù)(指令流水線,分支預(yù)測(cè),高速緩存等)指令流水線(ComputerPipeline)原理象工業(yè)生產(chǎn)上的裝配流水線:指令流水線由多個(gè)不同功能的電路單元組成,一條指令分成多個(gè)步驟分別由這些電路單元執(zhí)行.由于使多條指令或多個(gè)操作并行處理,可實(shí)現(xiàn)在一個(gè)時(shí)鐘周期完成一條指令,提高CPU的執(zhí)行速度.注意:每條指令的執(zhí)行步驟并未減少CPU執(zhí)行指令的過程:1.取指令FI
(FetchInstruction):從內(nèi)存或高速緩存中讀取指令2.譯碼D
(Decode):將指令進(jìn)行解碼3.取操作數(shù)FO
(FetchOperands):獲取執(zhí)行指令所需的數(shù)據(jù)4.執(zhí)行指令E
(ExecutionInstruction):執(zhí)行指令5.回寫W
(WriteBack):將執(zhí)行結(jié)果保存到內(nèi)存或某個(gè)寄存器中.指令1指令2FI1D1FO1E1W1FI2D2FO2E2W2CLK…….未采用流水線的CPU執(zhí)行指令的過程指令1指令2指令3指令4指令5FI1D1FO1E1W1FI2D2FO2E2W2FI3D3FO3E3W3FI4D4FO4E4W4FI5D5FO5E5W5FI6D6FO6E6W6指令6FI7D7FO7E7W7指令7CLK…….采用流水線的CPU執(zhí)行指令的過程在Dos下:單任務(wù)應(yīng)用程序和操作系統(tǒng)是同級(jí)的應(yīng)用程序可以管理系統(tǒng)的所有資源(包括內(nèi)存,各端口,中斷向量表等)具有保護(hù)功能故,一個(gè)編得不好的程序會(huì)影響整個(gè)系統(tǒng)的運(yùn)行,甚至造成死機(jī).例如:
一個(gè)程序把鍵盤中斷關(guān)掉了,所有程序就都不能從鍵盤獲得鍵入的數(shù)據(jù),直到有程序重新打開鍵盤為止.
一個(gè)程序陷入死循環(huán),沒有其他程序可以把它終止掉,造成系統(tǒng)死機(jī).在Windows下:多任務(wù)應(yīng)用程序和操作系統(tǒng)不是同級(jí)的,即程序是有級(jí)別之分的.操作系統(tǒng)工作在最高級(jí)0級(jí)中,而應(yīng)用程序工作在最低級(jí)3級(jí)中,所有的資源對(duì)應(yīng)用程序來說是被“保護(hù)”的:應(yīng)用程序?qū)O端口和內(nèi)存的訪問受到限制,使其無法訪問其他程序運(yùn)行的內(nèi)存.故,一個(gè)編得不好的程序不會(huì)影響整個(gè)系統(tǒng)的運(yùn)行例如:
如果DOS應(yīng)用程序無法正常返回系統(tǒng),只是出現(xiàn)該程序未正常結(jié)束的提示,允許用戶強(qiáng)行結(jié)束該任務(wù);并不影響其他程序(任務(wù))的執(zhí)行.支持虛擬存儲(chǔ)器高擋計(jì)算機(jī)存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)CPU內(nèi)部寄存器片內(nèi)高速緩存片外高速緩存主存儲(chǔ)器(內(nèi)存)虛擬存儲(chǔ)器(常用硬盤)外部存儲(chǔ)器(磁帶,軟盤,硬盤,光盤等)快慢在CPU內(nèi)部,存取速度快,數(shù)量有限由小容量的SRAM構(gòu)成(8KB,16KB)SRAM:32KB~512KB由DRAM構(gòu)成(16MB~256MB)速度慢,容量大(可軟件設(shè)置)
8.4GB~50GB程序的局部性特點(diǎn):因程序的代碼和數(shù)據(jù)大都按順序存放,如果存儲(chǔ)器中的某一單元被訪問,其鄰近單元可能很快也被訪問;如果某一單元被訪問,該單元將可能很快被再訪問.程序的局部性特點(diǎn)是高速緩存和虛擬存儲(chǔ)器的理論基礎(chǔ)高速緩存Cache:
解決CPU與主存儲(chǔ)器間的速度沖突.采用比DRAM讀寫速度更快的SRAM構(gòu)成,用來存儲(chǔ)CPU可能最需要的程序或數(shù)據(jù)快.
每次訪問主存儲(chǔ)器時(shí),都先訪問高速緩存,若訪問的內(nèi)容在高速緩存中,就從高速緩存獲取程序或數(shù)據(jù);否則,再訪問主存儲(chǔ)器,獲取需要的數(shù)據(jù),并把有關(guān)內(nèi)容及相關(guān)數(shù)據(jù)塊取入高速緩存。虛擬存儲(chǔ)器VirtualMemory:
解決實(shí)際安裝的內(nèi)存空間小,而運(yùn)行大型程序或多任務(wù)需要大空間的沖突.盡管Pentium可尋址的物理空間達(dá)4G(32根地址線),實(shí)際不會(huì)安裝如此大的內(nèi)存(PC機(jī)一般16MB~256MB).Pentium內(nèi)的存儲(chǔ)器管理機(jī)制支持虛擬存儲(chǔ)器的使用,提供比實(shí)際安裝的內(nèi)存大得多的存儲(chǔ)空間.使程序員在編寫大型程序時(shí),不用考慮計(jì)算機(jī)中物理存儲(chǔ)器的實(shí)際容量.并使系統(tǒng)能實(shí)現(xiàn)多任務(wù)的運(yùn)行.采用軟件和硬件相結(jié)合的技術(shù)(虛擬存儲(chǔ)技術(shù)),將程序劃分為多個(gè)固定大小的塊(稱為頁面),當(dāng)需要的時(shí)候,頁面被調(diào)到主存內(nèi);不需要時(shí),就保存在磁盤上.2)兩種工作方式(實(shí)方式和保護(hù)方式)開機(jī)/復(fù)位后,CPU運(yùn)行在實(shí)方式下,通過設(shè)置控制寄存器CR0中的D0位為1,切換至保護(hù)方式.PE313024231615876543210MPEMTSETPG0000000000000000000000CDNEWPAM控制寄存器CR0PE=0,工作在實(shí)方式下PE=1,工作在保護(hù)方式下實(shí)方式:相當(dāng)一個(gè)可進(jìn)行32位操作的快速8086/8088實(shí)方式下,CPU不能發(fā)揮其優(yōu)越性,不能支持多用戶,多任務(wù)的操作系統(tǒng).
20根地址線有效,可尋址的內(nèi)存空間仍為低端的1M字節(jié)單元.訪問內(nèi)存時(shí),物理地址的形成過程仍為段地址+偏移地址.其中,段地址由段寄存器直接提供,對(duì)內(nèi)存的訪問不受限制.
I/O地址為16位,可尋址的I/O空間為64K對(duì)I/O端口的讀寫訪問不受限制
中斷系統(tǒng)與8086/8088相同包括中斷源,中斷向量表的位置,中斷的響應(yīng)過程等指令系統(tǒng)與8086/8088兼容,所有DOS程序可在實(shí)方式下直接運(yùn)行.尋址方式有了擴(kuò)展,存儲(chǔ)器尋址更加靈活.指令系統(tǒng)比8086/8088有擴(kuò)展,操作數(shù)可以是32位
I/O地址為16位,可尋址的I/O空間仍為64K但對(duì)I/O端口的讀寫訪問受到特權(quán)級(jí)別等的限制支持虛擬8086方式,把V86任務(wù)(DOS應(yīng)用程序)作為保護(hù)方式下的一個(gè)任務(wù)運(yùn)行.可支持多個(gè)V86任務(wù),每個(gè)V86任務(wù)是相對(duì)獨(dú)立的.特權(quán)級(jí)4個(gè)和完善的特權(quán)檢查機(jī)制,保證程序的安全性,實(shí)現(xiàn)任務(wù)間的隔離.支持多任務(wù),能夠快速地進(jìn)行任務(wù)切換和保護(hù)任務(wù)環(huán)境采用分段管理機(jī)制和分頁管理機(jī)制為程序的共享和保護(hù),以及虛擬存儲(chǔ)器提供了硬件支持
32根地址線有效,可尋址4G的物理地址空間保護(hù)方式下:指令指針控制ROM控制部件地址生成(U流水線)地址生成(V流水線)ALU(U流水線)ALU(V流水線)整數(shù)寄存器組桶形移位器8K字節(jié)數(shù)據(jù)高速緩存TLB浮點(diǎn)部件控制寄存器組加法除法乘法總線部件頁面部件預(yù)取緩沖器指令譯碼器8K字節(jié)代碼高速緩存TLB分支目標(biāo)緩沖器分支檢驗(yàn)與目標(biāo)地址預(yù)取地址控制64位數(shù)據(jù)總線32位地址總線32位地址總線64位數(shù)據(jù)總線2563232323232322.Pentium內(nèi)部結(jié)構(gòu)二.寄存器組1.實(shí)方式下寄存器組2.保護(hù)方式下寄存器組3.控制寄存器4.標(biāo)志寄存器AHALAHEAXAXBHBLAHEBXBXCHCLAHECXCXDHDLAHEDXDXAHEBPBPAHESISIAHEDIDIAHESPSPAHEFLAGSAHEIPIPFLAGSCSSSDSESFS段寄存器通用寄存器GS0150311.Pentium實(shí)模式下寄存器組標(biāo)志指令指針CR0CR1CR2CR3DR0DR1DR2DR3DR4DR5DR6DR7TR6控制寄存器調(diào)試寄存器測(cè)試寄存器TR7031CR42.Pentium保護(hù)模式下寄存器組在實(shí)方式下寄存器組的基礎(chǔ)上增加了4個(gè)寄存器:全局描述符表寄存器GDTR(48位)GlobalDescriptorTableRegister中斷描述符表寄存器IDTR(48位)InterruptDescriptorTableRegister局部描述符表寄存器LDTR(16位)LocalDescriptorTableRegister任務(wù)寄存器TR(16位)TaskRegisterGTDR16位界限值32位基地址4716150ITDR16位界限值32位基地址LDTR16位選擇子TR16位選擇子3.80386的4個(gè)控制寄存器:
CR0,CR4:包含一些控制CPU操作的信息
如:工作方式控制位PE
啟用或禁用分頁管理機(jī)制的控制位PG
控制浮點(diǎn)協(xié)處理器操作的控制位MP,EM,TS,ET,NE
控制高速緩存的控制位CD,NW
CR1保留,供今后開發(fā)的處理器使用
不能使用CR1,否則將引起無效指令操作異常
CR2和CR3:供分頁管理機(jī)制使用.
CR2用于發(fā)生頁異常時(shí)報(bào)告出錯(cuò)信息.(當(dāng)發(fā)生頁異常時(shí),處理器把引起頁異常的線性地址保存于CR2中,操作系統(tǒng)中的頁異常處理程序可以檢查CR2的內(nèi)容,查出線性地址空間中的哪一頁引起本次異常)CR3用于保存頁目錄表的起始物理地址.控制寄存器CR0PE=0,CPU運(yùn)行于實(shí)方式;PE=1,CPU運(yùn)行于保護(hù)方式;從實(shí)方式切換到保護(hù)方式;切換前的準(zhǔn)備工作……;切換MOVEAX,CR0OREAX,1MOVCR0,EAX注意:開機(jī)或復(fù)位時(shí),PE=0,CPU工作在實(shí)方式PE313024231615876543210MPEMTSETPG0000000000000000000000CDNEWPAM;從保護(hù)方式切換到實(shí)方式;切換前的準(zhǔn)備工作……;切換MOVEAX,CR0ANDEAX,0FFFFFFFEhMOVCR0,EAXPG=0,關(guān)閉分頁管理機(jī)制
此時(shí)分段管理機(jī)制產(chǎn)生的線性地址直接作為物理地址.PG=1,啟用分頁管理機(jī)制此時(shí)線性地址經(jīng)過分頁管理機(jī)制轉(zhuǎn)換成物理地址.注意:開機(jī)或復(fù)位時(shí),PG=0,CPU關(guān)閉分頁管理機(jī)制PE313024231615876543210MPEMTSETPG0000000000000000000000CDNEWPAM;啟用分頁管理機(jī)制程序段;啟用前的準(zhǔn)備工作……;啟用MOVEAX,CR0OREAX,80000000hMOVCR0,EAX;關(guān)閉分頁管理機(jī)制程序段;關(guān)閉前的準(zhǔn)備工作……;關(guān)閉MOVEAX,CR0ANDEAX,7FFFFFFFhMOVCR0,EAX80X86的標(biāo)志寄存器CFPFAFZFSFTFIFDFOFNTIOPLRFVMACVIFVIPID31…...21201918171615141312111098765432108086/8088802868038680486Pentium4.標(biāo)志寄存器EFLAGSIOPL(Input/Outputprivilegelevel輸入/輸出特權(quán)級(jí)標(biāo)志)用于保護(hù)方式下,指定執(zhí)行I/O指令的特權(quán)級(jí)別.如果當(dāng)前特權(quán)級(jí)別CPL大于或等于IOPL,可執(zhí)行I/O指令,否則產(chǎn)生一個(gè)保護(hù)異常。
VM(虛擬8086方式標(biāo)志)
VM=1,表示工作在虛擬8086下方式。VM=0,表示工作在一般的保護(hù)方式下CFPFAFZFSFTFIFDFOFNTIOPLRFVMACVIFVIPID31…...2120191817161514131211109876543210三.實(shí)模式下存儲(chǔ)器地址的產(chǎn)生與8086/8088相似,物理地址20位物理地址PA=段地址+偏移地址=(段寄存器)×16+偏移地址=(段寄存器)×10H+偏移地址
即段寄存器的內(nèi)容左移4位,加上偏移地址段地址由段寄存器提供:CS、SS、DS、ES、FS、GS16位偏移地址由指令中的尋址方式提供,范圍在0~FFFFh。特點(diǎn):
1)段地址直接由段寄存器得到
2)20根地址線有效四.保護(hù)模式下存儲(chǔ)器地址的產(chǎn)生0線性地址線性地址空間232分段管理機(jī)制31物理地址物理地址空間最大232與實(shí)際的配置有關(guān)分頁管理機(jī)制031PG=1PG=0當(dāng)PG=0時(shí),分頁管理機(jī)制關(guān)閉,線性地址就是物理地址虛擬地址空間虛擬地址213×232
×
2=246=64T選擇子偏移量:015031段寄存器將存儲(chǔ)空間分為若干個(gè)段,存儲(chǔ)單元的地址為:段基地址(32位)+段內(nèi)偏移地址(32位)其中段基地址通過指令中的段寄存器間接獲取偏移地址由指令中的尋址方式獲取.如MOVAX,DS:[EBX]存儲(chǔ)單元的段基地址通過DS寄存器間接獲取偏移地址為EBX寄存器的內(nèi)容分段管理機(jī)制與實(shí)方式下不同的是,段基地址不是通過段寄存器直接得到,保護(hù)方式下,段寄存器起到的是索引的作用(稱為段選擇子).每個(gè)段由三個(gè)參數(shù)定義:段基值:指示段在線性地址空間中的起始地址.32位段界限:規(guī)定段的大小.0~4G段屬性:規(guī)定段的主要特性保護(hù)方式下的段用于表示段的三個(gè)參數(shù)的數(shù)據(jù)稱為描述符,每個(gè)描述符長(zhǎng)8字節(jié)每個(gè)段都有一個(gè)相應(yīng)的描述符來描述.為支持虛擬存儲(chǔ)管理和多任務(wù)的處理,使用了多種類型的描述符,根據(jù)功能的不同,在不同類型的描述符中存放不同的控制信息.利用描述符的內(nèi)容,CPU可以自動(dòng)完成訪問范圍和權(quán)限的檢查.存儲(chǔ)段描述符代碼段描述符數(shù)據(jù)段描述符系統(tǒng)段描述符LDT段描述符任務(wù)狀態(tài)段描述符門描述符調(diào)用門描述符任務(wù)門描述符中斷門描述符陷阱門描述符描述符存儲(chǔ)段描述符格式存儲(chǔ)段用于存放程序直接進(jìn)行訪問的代碼和數(shù)據(jù)的段。存儲(chǔ)段描述符用于描述存儲(chǔ)段/p>
段界限值的15~0位段基值的15~0位字節(jié)0字節(jié)2字節(jié)1字節(jié)3字節(jié)5字節(jié)7DPLPDT1EDCAEWR段基值的31~24位字節(jié)4段基值的23~16位字節(jié)6GAVLD0段界限值19~16位DPLPDT1EDCAE字節(jié)5GAVLD0段界限值19~16位字節(jié)6WRDT:
表示描述符的類型DescriptorType
DT=1,存儲(chǔ)段描述符DT=0,系統(tǒng)段描述符或門描述符
E:
可執(zhí)行位Execute
E=1,指示段是可執(zhí)行的,是代碼段,該描述符為代碼段描述符E=0,指示段是可執(zhí)行的,是數(shù)據(jù)段,該描述符為數(shù)據(jù)段描述符W/R:
可讀/寫位Write/Read
對(duì)數(shù)據(jù)段,W=1,表示該段可讀可寫;W=0,可讀不可寫對(duì)代碼段,R=1,表示該段可執(zhí)行可讀;R=0,可執(zhí)行不可讀G:
段界限粒度位Granularity
G=0,界限粒度為字節(jié);G=1,界限粒度為4K字節(jié)(212)當(dāng)G=1時(shí),一個(gè)段的最大為:220×4K
=
232DPL:
表示描述符特權(quán)級(jí)DescriptorPrivilegeLevel指示所描述的段的特權(quán)級(jí)。共4個(gè)級(jí)別(0~3級(jí))。用于權(quán)限檢查,以決定對(duì)該段能否進(jìn)行訪問。P:
表示段是否存在位
Present
P=1,表示該描述符所描述的段在內(nèi)存中P=0,表示該描述符所描述的段不在內(nèi)存中A:
訪問位Acess
A=1,指示描述符被訪問過。A=0,指示描述符未被訪問過ED/C:對(duì)數(shù)據(jù)段,表示數(shù)據(jù)擴(kuò)展方向位(0向高,1向低)
對(duì)代碼段,表示類型(1一致代碼段,0普通代碼,用于特權(quán)檢查)DPLPDTEDCAE字節(jié)5GAVLD0段界限值19~16位字節(jié)6WR系統(tǒng)段描述符及門描述符格式系統(tǒng)段是為實(shí)現(xiàn)存儲(chǔ)管理所使用的一種特殊段,系統(tǒng)段描述符用于描述系統(tǒng)段。門描述符用于描述控制轉(zhuǎn)移的入口點(diǎn)/p>
段界限值的15~0位段基值的15~0位字節(jié)0字節(jié)2字節(jié)1字節(jié)3字節(jié)5字節(jié)7DPLPDT0段基值的31~24位字節(jié)4段基值的23~16位字節(jié)6GAVLD0段界限值19~16位TYPEDPLPDT1字節(jié)5GAVLD0段界限值19~16位字節(jié)6TYPETYPE00000001001000110100010101100111
TYPE10001001101010111100110111101111
說明未定義可用286TSSLDT忙的286TSS286調(diào)用門任務(wù)門286中斷門286陷阱門
說明未定義可用386TSS未定義忙的386TSS386調(diào)用門未定義386中斷門386陷阱門門描述符格式
調(diào)用門:段選擇子指向代碼段描述符
任務(wù)門:段選擇子指向任務(wù)狀態(tài)段TSS描述符中斷門和陷阱門:段選擇子指向代碼段描述/p>
偏移量15~0位段選擇子字節(jié)0字節(jié)2字節(jié)1字節(jié)3字節(jié)5字節(jié)7DPLPDT0字節(jié)4字節(jié)6TYPE偏移量31~16位000計(jì)數(shù)值一個(gè)任務(wù)可以有多個(gè)段,每個(gè)段需要一個(gè)描述符來描述.
有三種類型的描述符表:1)全局描述符表GDT
(GlobalDescriptorTable)2)局部描述符表LDT
(LocalDescriptorTable)
3)中斷描述符表IDT
(InterruptDescriptorTable)為便于組織管理,把描述符組織成線性表,稱為描述符表.全局描述符表描述符0……描述符n…...描述符N-1描述符0……描述符m…...描述符M-1
中斷門0……中斷門p…...中斷門P-1內(nèi)存局部描述符表中斷描述符表全局描述符表GDT包含每個(gè)任務(wù)都可能或可以訪問的段的描述符,通常包含描述操作系統(tǒng)所使用的代碼段,數(shù)據(jù)段和堆棧段的描述符,也包含多種特殊數(shù)據(jù)段描述符,如各個(gè)用于描述任務(wù)LDT的特殊數(shù)據(jù)段等.在任務(wù)切換時(shí),并不切換GDT.每個(gè)任務(wù)可以訪問自己的LDT,不能訪問其他任務(wù)的LDT.通過LDT可以使各任務(wù)私有的各個(gè)段與其他任務(wù)相隔離,達(dá)到保護(hù)的目的.通過GDT可以使各任務(wù)都需要使用的段能夠被共享.在整個(gè)系統(tǒng)中只有一張GDT,但可以可以有多張LDT局部描述符表LDT它定義了某個(gè)任務(wù)用到的局部存儲(chǔ)器地址空間每個(gè)任務(wù)可以有一張自己的局部描述符表LDT:含該任務(wù)的代碼段,數(shù)據(jù)段和堆棧段的描述符,也包含該任務(wù)所使用的一些門描述符.隨著任務(wù)的切換,系統(tǒng)當(dāng)前的局部描述符表LDT也隨之切換.
GDT,LDT,IDT是保護(hù)方式下重要的特殊段,包含有對(duì)段機(jī)制所用的重要表格,為方便快速地定位這些段,CPU采用專用寄存器保存這些段的基地址和界限.全局描述符表描述符0……描述符n…...描述符N-1描述符0……描述符m…...描述符M-1
中斷門0……中斷門p…...中斷門P-1內(nèi)存局部描述符表中斷描述符表全局描述符表GDT8×N-1描述符0描述符1描述符2……描述符N-3描述符N-2描述符N-1
物理存儲(chǔ)器GTDR16位界限值32位基地址4716150xxxxxxxxH全局描述符表GDT全局描述符表寄存器GDTR全局描述符表GDT包含每個(gè)任務(wù)都可能或可以訪問的段的描述符,最多包含213個(gè)描述符局部描述符表LDTLDT段描述符局部描述符表寄存器LDTRLDTR高速緩沖器LDT描述符……物理存儲(chǔ)器全局描述符表GDTLDTR高速緩存器16位界限值32位基地址4716150yyyyyyyyHLDT段描述符……
LDTR150局部描述符表LDT局部描述符表LDT它定義了某個(gè)任務(wù)用到的局部存儲(chǔ)器地址空間最多包含213個(gè)描述符中斷門中斷描述符表IDT中斷描述符表寄存器IDTR物理存儲(chǔ)器中斷門0中斷門1…...中斷門p…...
中斷門P-2
中斷門P-1
中斷描述符表IDTIDTR16位界限值32位基地址47161508×P-1zzzzzzzzH中斷門描述中斷子程的入口點(diǎn)(段選擇子:偏移量)IDTR用于指向中斷描述符表IDT用中斷類型號(hào)p索引中斷門,再通過GDT或LDT找到中斷程序的入口地址。最多256個(gè)中斷類型號(hào),IDT最長(zhǎng)2K.如何從描述符表中獲取所需的描述符?即哪個(gè)描述符表?哪個(gè)描述符?由段寄存器給出.全局描述符表描述符0……描述符n…...描述符N-1描述符0……描述符m…...描述符M-1
中斷門0……中斷門p…...中斷門P-1內(nèi)存局部描述符表中斷描述符表在保護(hù)方式下,段寄存器包含的內(nèi)容稱為段選擇子,為訪問存儲(chǔ)器形成線性地址時(shí),CPU要使用段選擇子所指定的描述符中的基地址等信息/p>
TIRPL描述符索引nTI:描述符表指示位TableIndicator
TI=0指示從GDT中讀取描述符TI=1指示從LDT中讀取描述符RPL:表示請(qǐng)求特權(quán)級(jí)RequestedPrivilegeLevel指示所描述的段申請(qǐng)的特權(quán)級(jí)。共4個(gè)級(jí)別(0~3級(jí))用于權(quán)限檢查,以決定對(duì)該段能否進(jìn)行訪問描述符索引DescriptorIndex
指示所要讀取的描述符在描述符表中的序號(hào).段選擇子SegmentSelector描述符0描述符1……描述符n…...描述符N-1描述符N-2描述符0描述符1……描述符n…...描述符M-2描述符M-1
物理存儲(chǔ)器全局描述符表局部描述符表TI=0TI=1每當(dāng)把一個(gè)選擇子裝入到某個(gè)段寄存器時(shí),CPU自動(dòng)從描述符表中取出相應(yīng)的描述符,把描述符表中的信息保存到對(duì)應(yīng)的高速緩沖寄存器中.此后,在對(duì)該段訪問時(shí),CPU都使用高速緩沖寄存器中的描述符信息,而不用再?gòu)拿枋龇碇腥∶枋龇?為避免每次訪問存儲(chǔ)器時(shí),都要訪問描述符表而獲取對(duì)應(yīng)的描述符,為每個(gè)段寄存器都配有一個(gè)高速緩沖寄存器,對(duì)程序員而言是不可見的.段寄存器段描述符高速緩沖寄存器CS32位段基地址32位段界限段屬性SS32位段基地址32位段界限段屬性DS32位段基地址32位段界限段屬性ES32位段基地址32位段界限段屬性FS32位段基地址32位段界限段屬性GS32位段基地址32位段界限段屬性一個(gè)任務(wù)可使用的整個(gè)虛擬地址空間的描述符,一半在全局描述符表中,另一半在局部描述符表中.每個(gè)描述符所描述的段最大可達(dá)4G字節(jié),所以,最大的虛擬地址空間可為:213×232
×
2=246=64/p>
TIRPL描述符索引n段選擇子SegmentSelector描述符0描述符1……描述符n…...描述符N-1描述符N-2描述符0描述符1……描述符n…...描述符M-2描述符M-1
物理存儲(chǔ)器全局描述符表局部描述符表n的取值范圍:0~213-1全局和局部描述符表都可以包含多達(dá)213個(gè)描述符,分段管理機(jī)制:
將虛擬地址轉(zhuǎn)換為線性地址32位段基地址32位段界限段屬性+32位線性地址若(DS)=10h,(EBX)=12345678h,即虛擬地址10:12345678h,由選擇子10H所指定的GDT中的描述符的基地址為2000000H,則線性地址為32345678H描述符0描述符1……描述符n…...描述符N-2描述符N-1內(nèi)存描述符表起始地址例MOVAL,DS:[EBX]
150
TIRPL描述符索引n32位偏移地址五.保護(hù)機(jī)制在執(zhí)行指令過程中,保護(hù)機(jī)制要進(jìn)行一系列的檢查.這些檢查包括:類型檢查(可否執(zhí)行/可否讀/可否寫)描述符表限長(zhǎng)檢查(段選擇子是否超出描述符表的限長(zhǎng))段界限檢查(偏移量是否超出段的界限)特權(quán)級(jí)檢查(特權(quán)級(jí)是否滿足操作條件)指令集檢查(當(dāng)前條件下,該指令是否允許執(zhí)行)分段,分頁,描述符是保護(hù)機(jī)制的關(guān)鍵元素.只有檢查通過,訪問才能進(jìn)行;否則出現(xiàn)保護(hù)錯(cuò)誤.例數(shù)據(jù)訪問的特權(quán)級(jí)檢查
段界限值15~0位
段基值15~0位
DPL段基值31~24位段基值的23~16位段界限19~1632位段基地址32位段界限CPL描述符緩沖區(qū)當(dāng)前CSRPL描述符索引n目標(biāo)段選擇子數(shù)據(jù)段描述符CPU進(jìn)行特權(quán)檢查可訪問的條件:RPL或CPL的權(quán)限高于等于DPL六.尋址方式1.
立即數(shù)尋址
操作數(shù)在指令中,是一個(gè)常數(shù),可為8位、16位或32位。2.
寄存器尋址
操作數(shù)在寄存器中,可為8位、16位或32位寄存器.3.
存儲(chǔ)器尋址
操作數(shù)在存儲(chǔ)器中,指令中給出偏移地址的來源.段地址由默認(rèn)的段寄存器或使用段跨越前綴給出.支持8086/8088的16位偏移的存儲(chǔ)器尋址方式,并增加了32位偏移的存儲(chǔ)器尋址方式.16位偏移的存儲(chǔ)器尋址方式
直接,寄存器間接,相對(duì)寄存器,基址加變址,相對(duì)基址加變址無BXBP無SIDI++無8位16位16位基址寄存器常數(shù)偏移量16位變址寄存器32位偏移的存儲(chǔ)器尋址方式無EAXECXEDXEBXESPEBPESIEDI無EAXECXEDXEBXESPEBPESIEDI+×1248+無8位32位32位基址寄存器比例因子常數(shù)偏移量32位變址寄存器1)32位的基址寄存器2)可乘比例因子(1,2,4,8)的32位變址寄存器3)8位或32位的常數(shù)偏移量偏址可由以下三部分組成注意:
實(shí)方式和保護(hù)方式下,均可以使用16位或32位偏移的存儲(chǔ)器尋址方式,但:在實(shí)方式下,段內(nèi)偏移不能超過64K在保護(hù)方式下,段內(nèi)偏移可超過64K,最大是4G.基本指令集基本+增強(qiáng)指令集系統(tǒng)控制指令集8086/8088Pentium實(shí)模式保護(hù)模式七.指令系統(tǒng)Pentium是32位處理器,操作數(shù)的長(zhǎng)度可以是8位,16位,32位。是在8086/8088指令集上的擴(kuò)展。1.數(shù)據(jù)傳送指令MOVSX,MOVZX,PUSHA,POPA,PUSHAD,POPAD2.算術(shù)運(yùn)算指令3.邏輯運(yùn)算和移位指令移位次數(shù)為1,CL,或一個(gè)8位立即數(shù)4.控制轉(zhuǎn)移指令5.串操作指令I(lǐng)NSB,INSW,OUTSB,OUTW6.處理器控制指令
7.
條件字節(jié)設(shè)置指令
根據(jù)一些標(biāo)志位設(shè)置某個(gè)操作數(shù)為0或1
8.
位操作指令
直接對(duì)一個(gè)操作數(shù)中的某位進(jìn)行測(cè)試,設(shè)置,掃描
9.
高級(jí)語言支持指令
ENTER,LEAVE,BOUND
10.保護(hù)方式指令
LLDT,SLDT,LTR,STR,ARPL,LAR,LSL,VERR.VERW系統(tǒng)控制指令集(操作系統(tǒng)類指令集)為保證操作系統(tǒng)的安全,保護(hù)方式下支持4個(gè)特權(quán)級(jí)(0~3級(jí)),相應(yīng)地,這些操作系統(tǒng)類指令也可分為三種:1)實(shí)方式及保護(hù)方式任何特權(quán)下可執(zhí)行的指令2)實(shí)方式及保護(hù)方式特權(quán)級(jí)0下可執(zhí)行的指令3)僅在保護(hù)方式下執(zhí)行的指令如果在不滿足條件的情況下執(zhí)行這些指令,將引起非法操作故障(中斷類型號(hào)6).這些指令主要用于保護(hù)方式下,也用于從實(shí)方式進(jìn)入保護(hù)方式作準(zhǔn)備.通常只在操作系統(tǒng)中使用這些指令,而不在應(yīng)用程序代碼中使用這些指令。八.實(shí)方式下的匯編語言程序設(shè)計(jì)在實(shí)模式下,Pentuim相當(dāng)于一個(gè)可進(jìn)行32位操作的快速8086可使用32位的通用寄存器
例MOVEAX,CR0可使用新增的指令例LGDTsrc可采用擴(kuò)展的尋址方式,注意段的最大長(zhǎng)度仍是64K例MOVBX,[EAX]注意:盡管在實(shí)模式下只能使用16位段,但可以使用32位操作數(shù),也可以使用以32位形式表示的存儲(chǔ)單元地址,但段的最大長(zhǎng)度為64K.需用處理器類型偽指令告訴匯編程序CPU的類型.8086只支持對(duì)8086指令的匯編.286支持對(duì)非特權(quán)80286指令的匯編.286P支持對(duì)80286所有指令的匯編.386支持對(duì)非特權(quán)80386指令的匯編.386P支持對(duì)80386所有指令的匯編.486支持對(duì)非特權(quán)80486指令的匯編.486P支持對(duì)80486所有指令的匯編.586支持對(duì)非特權(quán)80586指令的匯編.586P支持對(duì)80586所有指令的匯編缺省情況下,僅識(shí)別8086/8088的指令.586;支持對(duì)非特權(quán)80586指令的匯編codeSEGMENTUSE16;USE16表示16位段ASSUMECS:codestart:MOVCX,32;32位寄存器MOVEBX,CR0next:ROLEBX,1;取顯示位的值MOVDL,30HJNCprintADDDL,1H;轉(zhuǎn)變?yōu)閿?shù)字的ASCIIprint:MOVAH,2H;顯示INT21HLOOPnextMOVAH,4CH;返回DOSINT21HcodeENDSENDstart例將CR0寄存器中的內(nèi)容以二進(jìn)制形式顯示出來九.保護(hù)方式下的匯編語言程序設(shè)計(jì)建立描述符表GDT,ID
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度全國(guó)連鎖美容院品牌轉(zhuǎn)讓合同范本3篇
- 二零二五年度能源項(xiàng)目承兌擔(dān)保合同4篇
- 2025年柴油車輛駕駛培訓(xùn)與考核合同4篇
- 二零二五版工業(yè)園區(qū)排水設(shè)施更新改造合同4篇
- 2025年度個(gè)人信用貸款擔(dān)保服務(wù)合同
- 2025年度個(gè)人住房貸款保證合同逾期貸款催收服務(wù)合同3篇
- 二零二五年度養(yǎng)殖場(chǎng)農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)合同3篇
- 2025年度網(wǎng)絡(luò)安全防護(hù)服務(wù)合同:典型合同“信息安全保證合同”2篇
- 二零二五年度廚師餐飲創(chuàng)新項(xiàng)目聘用合同協(xié)議書4篇
- 二零二五年度陶瓷藝術(shù)瓷磚采購(gòu)協(xié)議4篇
- 2024版?zhèn)€人私有房屋購(gòu)買合同
- 2024爆炸物運(yùn)輸安全保障協(xié)議版B版
- 2025年度軍人軍事秘密保護(hù)保密協(xié)議與信息安全風(fēng)險(xiǎn)評(píng)估合同3篇
- 《食品與食品》課件
- 讀書分享會(huì)《白夜行》
- 光伏工程施工組織設(shè)計(jì)
- DB4101-T 121-2024 類家庭社會(huì)工作服務(wù)規(guī)范
- 化學(xué)纖維的鑒別與測(cè)試方法考核試卷
- 2024-2025學(xué)年全國(guó)中學(xué)生天文知識(shí)競(jìng)賽考試題庫(含答案)
- 自動(dòng)駕駛汽車道路交通安全性探討研究論文
- 術(shù)后譫妄及護(hù)理
評(píng)論
0/150
提交評(píng)論