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