淺談ARM體系CPU的7種工作模式

發(fā)布時(shí)間:2017-11-24 11:34    發(fā)布者:傲壹電子
ARM有37個(gè)寄存器,其中31個(gè)通用寄存器,6個(gè)狀態(tài)寄存器。本文主要討論的是ARM體系的CPU的7種工作模式。

  一、存儲器格式(字對齊)

  Arm體系結構將存儲器看做是從零地址開(kāi)始的字節的線(xiàn)性組合。從零字節到三字節放置第一個(gè)存儲的字(32位)數據,從第四個(gè)字節到第七個(gè)字節放置第二個(gè)存儲的字數據,一次排列。作為32位的微處理器,arm體系結構所支持的最大尋址空間為4GB。

  存儲器格式

  1、大端格式:高字節在低地址,低字節在高地址;

  2、小端格式:高字節在高地址,低字節在低地址。

  指令長(cháng)度

  Arm微處理器的指令長(cháng)度是32位的,也可以為16位(thumb狀態(tài)下)。Arm微處理器中支持字節(8位),半字(16位),字(32位)三種數據類(lèi)型,其中,字需要4字節對齊,半字需要2字節對齊。

  注:所謂的指令長(cháng)度是一條完整的指令的長(cháng)度,而不是單純的mov這3個(gè)字母長(cháng)度。

淺談ARM體系CPU的7種工作模式

  二、ARM體系的CPU有兩種工作狀態(tài)

  1、ARM狀態(tài):處理器執行32位的字對齊的ARM指令;

  2、Thumb狀態(tài):處理器執行16位的、半字對齊的Thumb指令。

  在程序運行的過(guò)程中,可以在兩種狀態(tài)之間進(jìn)行相應的轉換。處理器工作狀態(tài)的轉變并不影響處理器的工作模式和相應寄存器中的內容。

  CPU上電處于A(yíng)RM狀態(tài)。

  三、ARM體系的CPU有以下7種工作模式

  1、用戶(hù)模式(Usr):用于正常執行程序;

  2、快速中斷模式(FIQ):用于高速數據傳輸;

  3、外部中斷模式(IRQ):用于通常的中斷處理;

  4、管理模式(svc):操作系統使用的保護模式;

  5、數據訪(fǎng)問(wèn)終止模式(abt):當數據或指令預取終止時(shí)進(jìn)入該模式,可用于虛擬存儲以及存儲保護。

  6、系統模式(sys):運行具有特權的操作系統任務(wù);

  7、未定義指令中止模式(und):當未定義的指令執行時(shí)進(jìn)入該模式,可用于支持硬件。

  CPU的模式可以簡(jiǎn)單的理解為當前CPU的工作狀態(tài),比如:當前操作系統正在執行用戶(hù)程序,那么當前CPU工作在用戶(hù)模式,這時(shí)網(wǎng)卡上有數據到達,產(chǎn)生中斷信號,CPU自動(dòng)切換到一般中斷模式下處理網(wǎng)卡數據(普通應用程序沒(méi)有權限直接訪(fǎng)問(wèn)硬件),處理完網(wǎng)卡數據,返回到用戶(hù)模式下繼續執行用戶(hù)程序。

  特權模式

  除用戶(hù)模式外,其它模式均為特權模式(Privileged Modes)。ARM內部寄存器和一些片內外設在硬件設計上只允許(或者可選為只允許)特權模式下訪(fǎng)問(wèn)。此外,特權模式可以自由的切換處理器模式,而用戶(hù)模式不能直接切換到別的模式。

  異常模式

  特權模式中除系統(system)模式之外的其他5種模式又統稱(chēng)為異常模式。它們除了可以通過(guò)在特權下的程序切換進(jìn)入外,也可以由特定的異常進(jìn)入。比如硬件產(chǎn)生中斷信號進(jìn)入中斷異常模式,讀取沒(méi)有權限數據進(jìn)入中止異常模式,執行未定義指令時(shí)進(jìn)入未定義指令中止異常模式。其中管理模式也稱(chēng)為超級用戶(hù)模式,是為操作系統提供軟中斷的特有模式,正是由于有了軟中斷,用戶(hù)程序才可以通過(guò)系統調用切換到管理模式 。

 。1)用戶(hù)模式

  用戶(hù)模式是用戶(hù)程序的工作模式,它運行在操作系統的用戶(hù)態(tài),它沒(méi)有權限去操作其它硬件資源,只能執行處理自己的數據,也不能切換到其它模式下,要想訪(fǎng)問(wèn)硬件資源或切換到其它模式只能通過(guò)軟中斷或產(chǎn)生異常。

 。2)系統模式

  系統模式是特權模式,不受用戶(hù)模式的限制。用戶(hù)模式和系統模式共用一套寄存器,操作系統在該模式下可以方便的訪(fǎng)問(wèn)用戶(hù)模式的寄存器,而且操作系統的一些特權任務(wù)可以使用這個(gè)模式訪(fǎng)問(wèn)一些受控的資源。

 。3)一般中斷模式

  一般中斷模式也叫普通中斷模式,用于處理一般的中斷請求,通常在硬件產(chǎn)生中斷信號之后自動(dòng)進(jìn)入該模式,該模式為特權模式,可以自由訪(fǎng)問(wèn)系統硬件資源。

 。4)快速中斷模式

  快速中斷模式是相對一般中斷模式而言的,它是用來(lái)處理對時(shí)間要求比較緊急的中斷請求,主要用于高速數據傳輸及通道處理中。

 。5)管理模式

  管理模式是CPU上電后默認模式,因此在該模式下主要用來(lái)做系統的初始化,軟中斷處理也在該模式下,當用戶(hù)模式下的用戶(hù)程序請求使用硬件資源時(shí)通過(guò)軟件中斷進(jìn)入該模式。

 。6)終止模式

  中止模式用于支持虛擬內存或存儲器保護,當用戶(hù)程序訪(fǎng)問(wèn)非法地址,沒(méi)有權限讀取的內存地址時(shí),會(huì )進(jìn)入該模式,Linux下編程時(shí)經(jīng)常出現的segment fault通常都是在該模式下拋出返回的。

 。7)未定義模式

  未定義模式用于支持硬件協(xié)處理器的軟件仿真,CPU在指令的譯碼階段不能識別該指令操作時(shí),會(huì )進(jìn)入未定義模式。

技術(shù)資料出處:電子發(fā)燒友網(wǎng)
該文章僅供學(xué)習參考使用,版權歸作者所有。

AO-Electronics 傲壹電子
官網(wǎng):www.aoelectronics.com 中文網(wǎng):www.aoelectronics.cn

本文地址:http://selenalain.com/thread-519848-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页