ARM提供兩個前沿特性輔助帶深嵌入處理器的高集成SoC器件的調試,它們是嵌入式ICE-RT邏輯和嵌入式跟蹤宏核系列。為增進大家對ARM處理器的認識,本文將對ARM處理器的工作模式以及ARM處理器中RISC設計主要特點予以介紹。如果你對ARM處理器具有興趣,不妨繼續(xù)往下閱讀哦。
一、ARM處理器工作模式
1、用戶模式(usr,User Mode):ARM處理器正常的程序執(zhí)行狀態(tài)。
2、快速中斷模式(fiq,F(xiàn)ast Interrupt Request Mode):用于高速數(shù)據傳輸或通道處理。當觸發(fā)快速中斷時進入此模式。
3、外部中斷模式(irq,Interrupt Request Mode):用于通用的中斷處理。當觸發(fā)外部中斷時進入此模式。
4、管理模式(svc,Supervisor Mode):操作系統(tǒng)使用的保護模式。在系統(tǒng)復位或執(zhí)行軟件中斷指令SWI時進入。
5、數(shù)據訪問中止模式(abt,Abort Mode):當數(shù)據或指令預取中止時進入該模式,可用于虛擬存儲及存儲保護。
6、系統(tǒng)模式(sys,System Mode):運行具有特權的操作系統(tǒng)任務。
7、未定義指令中止模式(und,Undefined Mode):當未定義的指令執(zhí)行時進入該模式,可用于支持硬件協(xié)處理器的軟件仿真。
除了用戶模式之外,其余六種模式都是特權模式。除了用戶模式和系統(tǒng)模式之外,其余五種模式都是異常模式。
在特權模式下程序可以訪問所有的系統(tǒng)資源。非特權模式和特權模式之間的區(qū)別在于有些操作只能在特權模式下才被允許,例如直接改變模式和中斷使能等。而且為了保證數(shù)據安全,一般MMU會對地址空間進行劃分,只有特權模式才能訪問所有的地址空間。而用戶模式如果需要訪問硬件,必須切換到特權模式下,才允許訪問硬件。
二、ARM處理器RISC設計主要特點
1、指令集——RISC減少了指令集的種類,通常一個周期一條指令,采用固定長度的指令格式,編譯器或程序員通過幾條指令完成一個復雜的操作。而CISC指令集的指令長度通常不固定。
2、流水線——RISC采用單周期指令,且指令長度固定,便于流水線操作執(zhí)行。
3、寄存器——RISC的處理器擁有更多的通用寄存器,寄存器操作較多。例如ARM處理器具有37個寄存器。
4、Load/Store結構——使用加載/存儲指令批量從內存中讀寫數(shù)據,提高數(shù)據的傳輸效率。
5、尋址方式簡化,指令長度固定,指令格式和尋址方式種類減少。
ARM處理器是基于RISC的,但不是純粹的RISC體系結構。為了使ARM處理器能夠更好的滿足嵌入式系統(tǒng)的需要,ARM指令集和單純的RISC指令集有以下幾點不同:
1、一些特定的指令周期數(shù)可變。例如多寄存器裝載或存儲的Load/Store指令執(zhí)行周期就是不確定的,這個會根據相關的寄存器個數(shù)而定。如果是訪問連續(xù)的內存地址,就可以改善性能,因為連續(xù)的內存訪問比隨機訪問要快。根據這個特點,由于在函數(shù)的起始和結尾通常會有多個寄存器與內存進行數(shù)據交換的操作,因此相應操作的指令條數(shù)會減少,提高了代碼的密度。
2、內嵌的桶形移位寄存器產生了更復雜的指令。桶形移位寄存器是一個硬件部件,在一個寄存器被一條指令使用之前,桶形移位寄存器可以處理這個寄存器中的數(shù)據。桶形移位寄存器擴展了許多指令的功能,以此改善內核的性能,提高代碼密度。
3、Thumb16位指令集。ARM處理器有兩種工作狀態(tài),一種是ARM狀態(tài),一種是Thumb狀態(tài)。ARM狀態(tài)下指令長度為32位,Thumb狀態(tài)下指令長度為16位。這種特點使得ARM既能執(zhí)行16位指令,又能執(zhí)行32位指令,從而增強了ARM內核的功能。
4、條件執(zhí)行。只有當某個特定條件滿足時指令才會被執(zhí)行。這個特性可以減少分支指令的數(shù)目,從而改善性能,提高代碼密度。
5、增強指令。一些功能強大的數(shù)字信號處理器(DSP)指令被加入到標準的ARM指令中,以支持快速的16*16乘法操作及飽和運算。ARM的這些增強指令,使得ARM處理器不需要加上DSP即可實現(xiàn)。
以上便是此次小編帶來的ARM處理器相關內容,通過本文,希望大家對ARM處理器已經具備一定的了解。如果你喜歡本文,不妨持續(xù)關注我們網站哦,小編將于后期帶來更多精彩內容。最后,十分感謝大家的閱讀,have a nice day!





