版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Intel CPU 和 ARM CPU 的運行模式摘要: 本文介紹了Intel CPU的三種運行模式:實模式、保護模式,虛擬實模式,同時還介紹了ARM處理器的工作模式:用戶模式和特權(quán)模式,并且分析比較了兩種CPU的這些運行模式的作用及適用場合,以便對這些運行模式有更深入的了解。CPU作為計算機和各種電子設(shè)備的大腦,對計算機和電子設(shè)備起著至關(guān)重要的作用,它主要用來解釋指令和處理數(shù)據(jù),是計算機和電子設(shè)備能夠?qū)崿F(xiàn)各種各樣的功能的基礎(chǔ)。CPU運行模式指的是各種工作環(huán)境, 以及對芯片的指令和能力的影響。CPU運行模式控制處理器如何查看和管理系統(tǒng)存儲器以及使用它的任務(wù)。Intel的CPU占領(lǐng)了大部分的PC
2、市場,而ARM處理器則大量存在于手機和各種嵌入式設(shè)備中。對這兩種CPU的運行模式進行分析能讓我們對CPU的運行模式更加深入的理解。絕大部分PC的CPU都是Intel公司的CPU,Intel的 CPU經(jīng)過多年的發(fā)展,已經(jīng)當(dāng)初的一種運行模式發(fā)展成了現(xiàn)在的三種運行模式,分別是:實模式、保護模式,虛擬實模式。下面對這三種模式進行詳細(xì)介紹。實模式 Intel的8086到80186處理器都只有一種運行模式,這就是實模式。在這個模式下,CPU用20根地址線進行內(nèi)存尋址,所以在這個模式下CPU只能訪問從00000h-FFFFFh的地址范圍的內(nèi)存,即1M大小的內(nèi)存。同時使用16根數(shù)據(jù)線,使用l6位內(nèi)部寄存器運行
3、16位指令。由于使用的是16根數(shù)據(jù)線,為了能夠支持使用20位的地址來訪問1M的內(nèi)存,于是就對內(nèi)存的使用引入了分段機制。為了支持分段機制,CPU設(shè)置了四個16位的段寄存器:CS、DS、SS、ES,分別是代碼段,數(shù)據(jù)段,堆棧段和其他段,對應(yīng)于地址總線中的高16位。尋址時,將段寄存器中的值向左移四位再加上段內(nèi)偏移量就得到了物理地址。這樣就實現(xiàn)了16位內(nèi)存地址到20位物理地址的轉(zhuǎn)換,這種方式叫做“映射”。由于其偏移量只能用16位來表示,所以其支持的段的大小只有64K字節(jié)。在實模式下,系統(tǒng)一次只能運行一個程序,其他程序都處于休眠狀態(tài)。在這個模式下,任何一個程序都可以訪問內(nèi)存的任何地方,并沒有一種保護機制
4、來防止一個程序被另一個程序重寫,即便是對于在內(nèi)存中的操作系統(tǒng)也是如此。所以如果有幾個程序存在內(nèi)存中,很可能會因為其中的一個程序修改了另一個程序的數(shù)據(jù)而導(dǎo)致系統(tǒng)崩潰。為了能夠和前面的CPU兼容,80286 及以后x86系列兼容處理器仍然是開機啟動時工作在實模式下,這時的CPU和8086沒有任何區(qū)別,只是運行速度比8086更快而已。然后通過操作系統(tǒng)設(shè)置之后就可以進入一個更加先進的模式保護模式。保護模式 要發(fā)揮80386及x86系列處理器的全部優(yōu)勢就要在保護模式下。那么保護模式和實模式到底有什么區(qū)別呢?首先是在保護模式下采用的是32根地址線和數(shù)據(jù)線,運行32位指令,可尋址高達(dá)4G字節(jié)的物理地址空間
5、字。實模式下只能尋址的1M字節(jié)的物理地址空間。保護模式采用了虛擬內(nèi)存,并采用分段和分頁技術(shù)相結(jié)合的方式,其支持的最大的段的大小也從實模式的64K增長到4G。同時保護模式的地址轉(zhuǎn)換方式也發(fā)生了變化。此時段寄存器里存的不再是基址,而是段選擇子。通過段選擇子來選出段的描述符,描述符用來描述一個段,包含了段基址,段界限,段屬性等段的信息。得到了段基址之后,再加上偏移量就得到了線性地址,與實模式最大的區(qū)別是保護模式的基址不要偏移。得到線性地址之后,如果禁止分頁線性地址就被解釋為物理地址;如果允許分頁線性地址就通過頁表映射到物理地址。保護模式和實模式的最大區(qū)別是在保護模式下運行的軟件程序受到了保護。這種保
6、護作用首先體現(xiàn)在進程間的保護。在保護模式下每個進程都有自己的地址空間,然后把地址空間分頁,得到許多的頁面,再把這些頁面映射到物理內(nèi)存。由于不同進程的頁表被映射到不同的物理內(nèi)存,這就實現(xiàn)了進程間的相互隔離,防止一個程序被另一個程序重寫,導(dǎo)致系統(tǒng)崩潰。同時進程間的隔離使得一個進程的崩潰也不會影響到其他進程的執(zhí)行。同時保護作用還包括進程內(nèi)的保護。在一個進程內(nèi),段定義有四種執(zhí)行特權(quán)級別,用數(shù)字0、1、2、3表示,用于限制對任務(wù)中的段進行訪問,數(shù)字越小,級別越高。按照包含在段中的數(shù)據(jù)的重要性和代碼的可信程度,給段指定特權(quán)級別。把最高的特權(quán)級別分配給最重要的數(shù)據(jù)段和最可信任的代碼段,高特權(quán)級別代碼可以訪問
7、地特權(quán)級別代碼,但是反過來就會被阻止。所以系統(tǒng)代碼與應(yīng)用程序代碼雖處于同一地址空間,但系統(tǒng)代碼具有高特權(quán)級別,應(yīng)用程序代碼處于低特權(quán)級別,這樣就防止了用戶代碼破壞系統(tǒng)代碼。操作系統(tǒng)被設(shè)置為0級,擁有最高特權(quán)等級,這就保證了操作系統(tǒng)的安全。段的特權(quán)級別是通過段描述符的中的一個占兩位的DPL位來表示的。保護模式支持的多任務(wù)運行,但這需要多任務(wù)操作系統(tǒng)來完成。操作系統(tǒng)讓每個進程都得到部分的CPU時間,讓它們輪流使用CPU,看起來就好像是多個任務(wù)在運行,實際上在很小的時間片段內(nèi)還是只有一個程序運行,但在多核CPU中可以實現(xiàn)真正的并行運行。通過操作系統(tǒng)的設(shè)置,CPU可以從實模式進入保護模式,但是不能夠倒
8、退從保護模式進入實模式。虛擬8086模式 在當(dāng)初設(shè)計Intel 80386 CPU的時候,需要解決的一個難題是如何讓運行在16位實模式下的程序能夠在80386的保護模式中運行。為此Intel的設(shè)計人員在80386中加入了虛擬8086模式。在虛擬8086模式中,CPU把內(nèi)存分成許多大小為1M的部分,每個部分分配給一個任務(wù)。大部分16位實模式下的程序能夠不經(jīng)任何修改的運行在保護模式下,每個程序都有屬于他們的1M內(nèi)存。微軟在用虛擬8086模式來運行他們的DOS程序。運行Windows操作系統(tǒng)中的DOS提示窗口時,就建立了一個虛擬8086模式的會話。和真正的MS-DOS不一樣,MS-DOS一次只能運行
9、一個任務(wù),其他任務(wù)都在睡眠,而在Windows中,每個任務(wù)都可以得到一個CPU的時間片段,所以許多任務(wù)都可以同時保持活躍,這是因為保護模式支持多任務(wù)。一個虛擬8086會話窗口完全模擬了一個8086環(huán)境,每一個虛擬機器都有其自己的l M B地址空間、實際硬件BIOS程序的映像、所有各寄存器的仿真以及其他能在實模式中找到的特性,除了速度更快以外。Intel的三個模式中實模式和虛擬8086模式都是為了兼容以前的版本而設(shè)計的,因為向前兼容才使得 Intel現(xiàn)在的CPU設(shè)計的比較復(fù)雜,但其最重要的模式是保護模式,它是現(xiàn)在計算機能夠極大方便人們生活的基石。Intel統(tǒng)治PC的CPU市場,而ARM CPU則
10、統(tǒng)治著嵌入式設(shè)備, 全球 95% 以上的手機以及超過四分之一的電子設(shè)備都在使用 ARM 技術(shù)。 ARM處理器作為廣泛應(yīng)用的嵌入式處理器,有其獨特的體系結(jié)構(gòu)。ARM CPU有兩種工作狀態(tài),分為ARM狀態(tài)和THUMB狀態(tài)。在ARM狀態(tài)下執(zhí)行的是32位字對齊的ARM指令。在THUMB狀態(tài)下執(zhí)行的是執(zhí)行16位半字對齊的THUMB指令。在這種狀態(tài)下,PC寄存器的第1位來選擇一個字中的哪一半。THUMB狀態(tài)下有著更高的代碼密度,在不需要32位運算場合時,使用THUMB指令可以有更好的效率,但THUMB不是一個完整的體系,只支持一般的功能,無法支持全部功能,高級功能必須要靠ARM來實現(xiàn)。ARM有七種處理器的
11、運行模式,分為兩大類:用戶模式和特權(quán)模式。ARM CPU工作狀態(tài)的轉(zhuǎn)換并不影響CPU的運行模式。用戶模式 大多數(shù)的用戶程序運行在用戶模式下,這時,應(yīng)用程序不能訪問一些受操作系統(tǒng)保護的資源,例如一些特殊的寄存器。在用戶模式,應(yīng)用程序不能直接切換處理器模式。如果要進行模式切換,則必須產(chǎn)生中斷才可以。產(chǎn)生中斷后就進入了特權(quán)模式。特權(quán)模式 特權(quán)模式包括除用戶模式之外的其他六種模式:快速中斷模式、中斷模式、超級用戶模式、中止模式、系統(tǒng)模式和未定義模式。其中除系統(tǒng)模式之外的其他特權(quán)模式又叫異常模式。在每一種異常模式下都有一組寄存器,供相應(yīng)的異常處理程序使用,這樣就可以保證在進入異常模式時,用戶模式下的寄存
12、器不被破壞。在特權(quán)模式下,程序可以訪問系統(tǒng)的所有資源,也可以任意的對運行模式進行切換。每一個模式都有其特殊用途??焖僦袛嗄J?當(dāng)一個高優(yōu)先級的中斷產(chǎn)生時將會進入這個模式。這個模式是用來支持高速數(shù)據(jù)傳輸或通道處理而設(shè)計的??焖僦袛嗑哂休^高的中斷優(yōu)先級,進入這個模式后必須盡快處理中斷事件并離開這個模式??焖僦袛嗟目焖袤w現(xiàn)在:一是快速中斷位于中斷向量表的最后,因此可緊接異常向量表書寫快中斷處理程序,而不必進行程序跳轉(zhuǎn)操作,避免了刷新指令流水線和高速緩存。二是快速中斷有著足夠的私有寄存器,從而可以減少了由于上下文切換造成的寄存器數(shù)據(jù)的保存和恢復(fù)工作而帶來了額外開銷。中斷模式 當(dāng)一個低優(yōu)先級的中斷產(chǎn)生時
13、就會進入這個模式,這些中斷都要比快速中斷的優(yōu)先級低,當(dāng)一個快速中斷序列進入時它將被屏蔽。所以這個模式只是進行普通的中斷處理。系統(tǒng)的外設(shè)可以通過中斷進入這個模式來請求服務(wù)。超級用戶模式 當(dāng)復(fù)位或軟中斷指令執(zhí)行時就會進入這個模式,通常用于請求執(zhí)行特定的管理功能,是操作系統(tǒng)使用的一種保護模式。軟中斷是用戶模式中的程序用來調(diào)用特權(quán)操作指令,實現(xiàn)系統(tǒng)功能調(diào)用,它是通訊進程之間用來模擬硬件中斷的一種信號通訊方式,中斷源發(fā)中斷請求或軟中斷信號后,CPU或接收進程在適當(dāng)?shù)臅r機自動進行中斷處理或完成軟中斷信號對應(yīng)的功能。中止模式 當(dāng)存取出現(xiàn)異常時就會進入這個模式,產(chǎn)生中止異常就意味著對存儲器的訪問失敗。中止異常
14、包括兩種類型,一種是發(fā)生在指令預(yù)取時的指令預(yù)取中止,另一種是發(fā)生在數(shù)據(jù)訪問時的數(shù)據(jù)中止。若處理器的預(yù)取指令的地址不存在,或該地址不允許當(dāng)前指令訪問,存儲器會向處理器發(fā)出中止信號,所取得的指令將會被標(biāo)記為無效,但是異常不會立即發(fā)生,只有當(dāng)處理器試圖執(zhí)行無效指令時,指令預(yù)取中止異常才會發(fā)生。如果在無效指令執(zhí)行前發(fā)生分支跳轉(zhuǎn),那么異常就不會發(fā)生。若處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當(dāng)前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常。中止機制使得頁面虛擬存儲器機制得以實現(xiàn)。在采用虛擬存儲器的系統(tǒng)中,處理器可以產(chǎn)生任意的地址。當(dāng)某個地址的數(shù)據(jù)無效時,MMU將產(chǎn)生一個中止信號。這樣中止異常的處理程序就必須找出異常中斷的原因,使要求的數(shù)據(jù)可用,并重新執(zhí)行被中止掉的指令。應(yīng)用程序也就不需要了解實際可用存儲空間的大小,也不需要了解異常中斷對它的影響。未定義模式 當(dāng)產(chǎn)生一個未定義指令異常時,就會進入這個模式。若ARM處理器不認(rèn)識當(dāng)前指令,則將該指令發(fā)送到協(xié)處理器;若所有的協(xié)處理器都不認(rèn)識該指令,則產(chǎn)生未定義指令異常中斷。該異常中斷處理程序就是用軟件仿真系統(tǒng)中某些部件(協(xié)處理器)的一條指令如仿真浮點運算器的某條浮點運算指令等。如果不仿真,就直接返回,執(zhí)行下一條指令。采用這種機制,就可以通過軟件仿真擴展ARM或THUMB指令集。系統(tǒng)模式 這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 顧城的詩讀后感
- 集成墻板施工方案
- 施工方案管理培訓(xùn)心得
- 監(jiān)控安裝調(diào)試課程設(shè)計
- 2025年度個人消費分期付款合同范本6篇
- 部編人教版八年級上冊語文《寫作 學(xué)寫傳記》教學(xué)設(shè)計
- 英國國旗簡筆畫課程設(shè)計
- 墻布施工方案
- 通信工程課程設(shè)計波形
- 混凝土門洞施工方案
- 公司組織架構(gòu)圖(可編輯模版)
- 1汽輪機跳閘事故演練
- 陜西省銅川市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 禮品(禮金)上交登記臺賬
- 普通高中英語課程標(biāo)準(zhǔn)詞匯表
- 北師大版七年級數(shù)學(xué)上冊教案(全冊完整版)教學(xué)設(shè)計含教學(xué)反思
- 2023高中物理步步高大一輪 第五章 第1講 萬有引力定律及應(yīng)用
- 青少年軟件編程(Scratch)練習(xí)題及答案
- 浙江省公務(wù)員考試面試真題答案及解析精選
- 系統(tǒng)性紅斑狼瘡-第九版內(nèi)科學(xué)
- 全統(tǒng)定額工程量計算規(guī)則1994
評論
0/150
提交評論