80x86微處理器有實(shí)地址、保護(hù)虛地址和虛擬8086 三種模式的存儲(chǔ)管理機(jī)制。

實(shí)地址模式是CPU初始化后工作的基本模式,它相當(dāng)于一個(gè)高速的80">

女班长扒开内裤让我们摸视频,麻豆精产国品一二三产区区别免费,鲁一鲁一鲁一鲁一澡,久久国产精品99夜夜嗨,久久午夜无码鲁丝片秋霞

大學(xué)生之家,大學(xué)生資訊發(fā)布平臺
大學(xué)生之家

計(jì)算機(jī)5.7.180x86存儲(chǔ)管理的特點(diǎn)

    發(fā)布時(shí)間:2018-09-18    閱讀:
    來源:大學(xué)生之家
5.7.180x86存儲(chǔ)管理的特點(diǎn)

80x86微處理器有實(shí)地址、保護(hù)虛地址和虛擬8086 三種模式的存儲(chǔ)管理機(jī)制。

實(shí)地址模式是CPU初始化后工作的基本模式,它相當(dāng)于一個(gè)高速的8086CPU。在實(shí)地址模式下,系統(tǒng)32位地址總線只能使用低20位(即 A19~A0),可尋址的有效地址空間為1MB。實(shí)地址模式下不支持虛擬存儲(chǔ)器管理方式,程序只能在實(shí)地址空間內(nèi)運(yùn)行,由于CPU中用來尋址的寄存器是 16位,為了能尋址1MB的內(nèi)存空間,實(shí)地址模式存儲(chǔ)器采用分段的存儲(chǔ)結(jié)構(gòu)進(jìn)行管理。但這種分段方式與虛擬存儲(chǔ)器中的分段方式概念不同,前者指的是對實(shí)存 (內(nèi)存)空間的分段,而后者指的是對虛存空間的分段。

保護(hù)虛地址模式引入了虛擬存儲(chǔ)器的概念,可支持多任務(wù)操作。在保護(hù)模式下,32 位CPU可訪問的物理存儲(chǔ)空間為4GB(232字節(jié)),程序可用的虛擬存儲(chǔ)空間為64TB(246字節(jié))。保護(hù)模式支持4種特權(quán)級,可以隔離和保護(hù)操作系 統(tǒng)的核心代碼不受用戶軟件的破壞,防止應(yīng)用程序之間的干擾。

虛擬8086模式是一種既有保護(hù)功能又能執(zhí)行16位微處理器軟件的工作方式。虛擬8086模式的工作原理與保護(hù)模式相同,但程序指定的邏輯地址解釋與8086微處理器相同。虛擬8086模式可以看做是保護(hù)模式的一種子方式。

80x86微處理器的實(shí)地址存儲(chǔ)器管理方式已在第2章中做過詳細(xì)介紹,本節(jié)重點(diǎn)討論保護(hù)模式和虛擬8086模式存儲(chǔ)器管理方式。

5.7.280x86保護(hù)模式存儲(chǔ)管理

80x86微處理器工作在保護(hù)模式時(shí)對存儲(chǔ)器的管理有兩個(gè)特點(diǎn):一是引入了分段分頁虛擬存儲(chǔ)器管理機(jī)制、二是引入了對存儲(chǔ)器的保護(hù)機(jī)制。

1.分段分頁存儲(chǔ)器管理

32位微處理器的虛擬存儲(chǔ)空間最大可達(dá)64TB(246字節(jié)),使用46位虛擬地址,采用分段分頁管理機(jī)制,段的最大長度為4GB,段數(shù)最大可達(dá)16K 個(gè)。頁的大小因CPU不同而異:80386/80486每頁固定在4KB。Pentium允許頁面擴(kuò)大到4MB,由控制寄存器CR4中的第4位PSE來控 制頁的大小。當(dāng)PSE為1時(shí),頁面大小為4MB;當(dāng)PSE為0時(shí),頁面大小為4KB。

分段分頁存儲(chǔ)器工作原理與上節(jié)介紹的相同:首先 將虛擬地址空間分成若干個(gè)大小不等的邏輯段,邏輯地址由間接指向段基址的16位段選擇符和32位段內(nèi)偏移量兩部分組成,并由分段機(jī)制將46位邏輯地址轉(zhuǎn)換 為32位線性地址(線性地址空間是一個(gè)不分段的、連續(xù)的地址空間地址空間的轉(zhuǎn)換),然后再將線性地址空間等分為固定大小的若干頁,將線性地址用頁基址和頁 內(nèi)偏移量表示,以頁為單位進(jìn)行地址映射,并由分頁機(jī)制將32位線性地址轉(zhuǎn)換為32位物理地址。

2.分段方式中的地址轉(zhuǎn)換

分段方式中的地址轉(zhuǎn)換原理如虛線左側(cè)部分所示。程序中的邏輯地址由16位段選擇符(通過段選擇符可獲得32位段基址)和32位段內(nèi)偏移量構(gòu)成。邏輯地址 中的16位段選擇符在程序執(zhí)行時(shí)裝載到相應(yīng)的段寄存器CS、DS、SS、ES、GS、FS中,用來選擇邏輯地址空間中的一個(gè)特定的段;32位偏移量由指令 中的尋址方式給出。

段選擇符16位長:13位索引(Index)、1位表選擇位(TI)和2位請求特權(quán)級(RPL)。其中,請求特權(quán)級不用于段選擇,即16位中只有14位用于段選擇,可尋址16K個(gè)邏輯段,加上每個(gè)段最大可達(dá)4GB,使32位微處理器的虛擬存儲(chǔ)空間可達(dá)64TB。

由程序給出的邏輯地址通過描述符表中的描述符數(shù)組進(jìn)行轉(zhuǎn)換。邏輯地址在段寄存器CS、DS、ES、SS、FS、GS中的選擇符用做在全局描述符表GDT 或局部描述符表LDT中索引段描述符。每當(dāng)段選擇符裝入段寄存器時(shí),由索引指向的段描述符自動(dòng)從TI位所選定的GDT或LDT中取出,段描述符中的32位 段基址與邏輯地址中的32位偏移量相加即得到32位線性地址。若不啟用分頁機(jī)制(控制寄存器CR0的PG0)時(shí),線性地址就是物理地址。

3.分頁方式中的地址轉(zhuǎn)換

當(dāng)控制寄存器CR0的PG位置1時(shí),就啟用了分頁存儲(chǔ)器管理機(jī)制,它自動(dòng)地把線性地址空間中的任何一頁映射到物理空間的一頁,將線性地址轉(zhuǎn)換成物理地址。

分頁方式中的線性地址到物理地址的轉(zhuǎn)換是由駐留在內(nèi)存中的頁表來完成的。為了節(jié)省頁表所占的內(nèi)存空間,32位CPU采用兩級頁表機(jī)構(gòu):第一級用210個(gè) 表項(xiàng)構(gòu)成頁目錄表,每項(xiàng)4個(gè)字節(jié),共有1024項(xiàng),占4KB內(nèi)存,其物理基址由CR3控制寄存器提供;第二級也是由210個(gè)表項(xiàng)構(gòu)成頁表,每項(xiàng)也是4個(gè)字 節(jié),最多1024個(gè)頁表,占4KB內(nèi)存。這樣,兩級頁表組合起來只占8KB內(nèi)存,即可描述220個(gè)表項(xiàng)。
計(jì)算機(jī)學(xué)習(xí)推薦
  • 掃一掃 分享悅讀 ➤
  • 掃碼可以分享到微信 qq朋友圈
計(jì)算機(jī)學(xué)習(xí)熱點(diǎn)