CPU的實模式和保護模式 一

2021-08-24 20:47:57 字數 1000 閱讀 8571

實模式和保護模式都是cpu的工作模式,而cpu的工作模式是指cpu的定址方式、暫存器大小等用來反應cpu在該環境下如何工作的概念。

1.實模式工作原理

實模式出現於早期8088cpu時期。當時由於cpu的效能有限,一共只有20位位址線(所以位址空間只有1mb),以及8個16位的通用暫存器,以及4個16位的段暫存器。所以為了能夠通過這些16位的暫存器去構成20位的主存位址,必須採取一種特殊的方式。當某個指令想要訪問某個記憶體位址時,它通常需要用下面的這種格式來表示:

(段基址:段偏移量)

其中第乙個欄位是段基址,它的值是由段暫存器提供的(一般來說,段暫存器有6種,分別為cs,ds,ss,es,fs,gs,這幾種段暫存器都有自己的特殊意義,這裡不做介紹)。

第二欄位是段內偏移量,代表你要訪問的這個記憶體位址距離這個段基址的偏移。它的值就是由通用暫存器來提供的,所以也是16位。那麼兩個16位的值如何組合成乙個20位的位址呢?cpu採用的方式是把段暫存器所提供的段基址先向左移4位。這樣就變成了乙個20位的值,然後再與段偏移量相加。

即:實體地址 = 段基址<<4 + 段內偏移

所以假設段暫存器中的值是0xff00,段偏移量為0x0110。則這個位址對應的真實實體地址是 0xff00<<4 + 0x0110 = 0xff110。

2.保護模式工作原理

隨著cpu的發展,cpu的位址線的個數也從原來的20根變為現在的32根,所以可以訪問的記憶體空間也從1mb變為現在4gb,暫存器的位數也變為32位。所以實模式下的記憶體位址計算方式就已經不再適合了。所以就引入了現在的保護模式,實現更大空間的,更靈活的記憶體訪問。

在保護模式下,cpu的32條位址線全部有效,可定址高達4g位元組的實體地址空間; 擴充的儲存器分段管理機制和可選的儲存器分頁管理機制,不僅為儲存器共享和保護提供了硬體支援,而且為實現虛擬儲存器提供了硬體支援; 支援多工,能夠快速地進行任務切換(switch)和保護任務環境(context); 4個特權級和完善的特權檢查機制,既能實現資源共享又能保證**和資料的安全和保密及任務的隔離; 支援虛擬8086方式,便於執行8086程式。

實模式和保護模式

實模式 即實位址訪問模式 它是intel公司80286及以後的x86 80386,80486和80586等 相容處理器 cpu 的一種操作模式。實模式被特殊定義為20位位址記憶體可訪問空間上,這就意味著它的容量是2的20次冪 1m 的可訪問記憶體空間 物理記憶體和bios rom 軟體可通過這些位址...

實模式和保護模式

無法支援多工 程式設計師多個程式可能指定執行的實體地址一樣 程式的安全性無法得到保證 使用者程式可以改寫系統空間或者其他使用者的程式內容 實模式將整個物理記憶體看成分段的區域,程式 和使用者程式沒有區別對待,而且每乙個指標都是指向 實在 的實體地址。這樣一來,使用者程式的乙個指標如果指向了系統程式區...

實模式和保護模式

從80386開始,cpu有三種工作模式 實模式 保護模式和虛擬8086模式。80286開始的cpu引入保護模式,實際上,實模式概念是在保護模式推出之後為了區別保護模式之前的8086cpu工作模式才有的,在8086時代cpu工作模式只有一種,自然沒有實模式之說。實模式有著先天的缺陷 下文詳述 但出於向...