cpu的工作模式

2021-05-08 02:06:13 字數 1534 閱讀 7865

一。x86實模式介紹

二。實模式的問題與保護模式的出現

三。386以上處理器的特點

四。保護模式下的位址轉換

一。x86實模式介紹

x86體系的處理器剛開始時只有20根位址線,定址暫存器是16位。我們知道16位的暫存器可以訪問64k的位址空間,如果程式要想訪問大於64k的記憶體,就需要把記憶體分段,每段64k,用段位址+偏移量的方式來訪問,這樣使20根位址線全用上,最大的定址空間就可以到1m位元組,這在當時已經是非常大的記憶體空間了。

二。實模式的問題與保護模式的出現

事實上,實模式將整個物理記憶體看成分段的區域,程式**和資料位於不同區域,系統程式和使用者程式並沒有區別對待,而且每乙個指標都是指向實際的實體地址。這樣一來,使用者程式的乙個指標如果指向了系統程式區域或其他使用者程式區域,並修改了內容,那麼對於這個被修改的系統程式或使用者程式,其後果就很可能是災難性的。再者,隨著軟體的發展,1m的定址空間已經遠遠不能滿足實際的需求了。最後,對處理器多工支援需求也日益緊迫,所有這些都促使新技術的出現。

為了克服實模式下的記憶體非法訪問問題,並滿足飛速發展的記憶體定址和多工需求,處理器廠商開發出保護模式。在保護模式中,除了記憶體定址空間大大提高;提供了硬體對多工的支援;物理記憶體位址也不能直接被程式訪問,程式內部的位址(虛擬位址)要由作業系統轉化為實體地址去訪問,程式對此一無所知。至此,程序(程式的執行態)有了嚴格的邊界,任何其他程序根本沒有辦法訪問不屬於自己的物理記憶體區域,甚至在自己的虛擬位址範圍內也不是可以任意訪問的,因為有一些虛擬區域已經被放進一些公共系統執行庫。這些區域也不能隨便修改,若修改就會有出現linux中的段錯誤,或windows中的非法記憶體訪問對話方塊。

三。386以上處理器的特點

386處理器有三種工作方式:實模式、保護模式和虛擬8086模式。

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

四。保護模式下的位址轉換

通過採用段位址加偏移量的方式,80386支援的虛擬位址空間可達64t位元組。但由於實際物理記憶體的大小可能會遠小於虛擬位址空間,所以實際上虛擬位址中只有部分才可以真正對映到物理儲存器。同時由於每乙個任務有乙個虛擬位址空間。為了避免多個並行任務的多個虛擬位址空間直接對映到同乙個實體地址空間,還需要使用線性位址空間來隔離虛擬位址空間和實體地址空間。線性位址空間由一維的線性位址構成,線性位址空間和實體地址空間是對等。線性位址也是32位長,定址空間為4g位元組。

在作業系統中,應用程式使用虛擬位址(也即邏輯位址)訪問記憶體,作業系統將虛擬位址轉換為線性位址,然後由處理器將線性位址轉換為實體地址,但是在交由處理器轉換前,作業系統必須設定處理器所需要的相關描述符表和描述符資訊。其實在linux系統中,這在系統啟動時就設定好了,而且是設定後就不會再改動了。

在80386中,通過使用分段管理和分頁管理實現虛擬位址到實體地址的轉換,其中分頁管理是可選的。

cpu的工作原理

cpu 只能識別機器碼,如110001010。每一位只有兩種狀態,分別表示高電平和低電平。如果用這種法式去編碼,就顯得不便記憶和理解。所以隨著時代的發展,就產生了組合語言。相對機器碼,組合語言就好理解多了。它主要通過彙編指令集來實現編碼。不過cpu還是不能直接來識別出彙編碼,要通過編譯器來對組合語言...

CPU 的工作原理

cpu 的根本任務就是執行指令,對計算機來說最終都是一串由 0 和 1 組成的序列。cpu 從邏輯上可以劃分成 3 個模組,分別是控制單元 運算單元和儲存單元 其內部架構如下 控制單元 控制單元是整個cpu的指揮控制中心,由指令暫存器ir instruction register 指令解碼器id i...

CPU如何工作

工具通常比機器簡單。它通常與手一起使用,而機器經常通過動物或蒸汽來驅動。查爾斯 巴貝奇計算機是一臺主要由電力驅動的機器,但是其靈活性和可程式設計性有助於實現工具的簡單性。cpu是計算機的心臟和 或大腦。它執行提供給它的指令。它的主要工作是執行算術和邏輯運算並將指令編排在一起。在深入 主要部分之前,我...