gogo专业大尺度亚洲高清人体,美女张开双腿让男生桶,亚洲av无码一区二区三区鸳鸯影院,久久久久国产精品人妻

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > ARM:指令寄存器

ARM:指令寄存器 時間:2018-12-12      來源:未知

在arm 處理器共有37個寄存器。其中包含,31個通用寄存器,6個狀態(tài)寄存器,多有的這些寄存器都是32位寄存器。Arm微處理器有7中工作模式,在不同的工作模式下有不同的寄存器組,某些寄存器在不同的工作模式下是公用的。

下圖是arm微控制器的組織模式:

ARM處理器,指令寄存器,ARM嵌入式

其中 R13,R14,R15,分別對應SP棧頂?shù)刂芳拇嫫?指向函數(shù)中的局部變量的內(nèi)存空間)、lR鏈接寄存器(函數(shù)return時將會返回到IR指向的內(nèi)存空間執(zhí)行),PC程序計數(shù)器寄存器(保存當前正在執(zhí)行的機器指令所在存儲單元的地址值,可以自動加1操作跳過4個字節(jié)指向下一條指令的地址)。

這些寄存器是arm中央處理器內(nèi)的組成部分,在其內(nèi)部存在一個指令寄存器(IR)用來保存當前正在執(zhí)行的一條指令。PC保存的是正在執(zhí)行的這條指令的地址。不同的中央處理器的指令寄存器長度是不一樣的,通常和指令的長度相等。ARM指令長度為32比特位,IR的大小也是32bits。一條指令的32個比特位被分為兩段操作碼和地址碼。執(zhí)行指令前先檢測指令是否是合法的指令,如果不能識別會產(chǎn)生未定義指令異常。指令寄存器中操作碼會送入指令譯碼器中。經(jīng)過譯碼后想操作控制器發(fā)出具體操作的制定信號,例如加法,減法等。

獲取一條指令的過是,將PC指向的主存地址中的指令從主存取出并送入指令寄存器IR中,然后PC自加1,跳過4個字節(jié)的存儲單元,指向主存中的下一條指令。

指令寄存器是用來存放當前的處理器正在執(zhí)行的指令,比如對于arm匯編語言中的一條指令mov r1, #5, 會被匯編器編譯為32個比特位的 E3A01005H。E3A01005H在取值的時候就會從主存儲其中取出并送入IR寄存器中。經(jīng)過執(zhí)行 r1 寄存器被賦值為5。

ARM處理器中指令寄存器(IR)和程序計數(shù)器(PC)的區(qū)別:

程序計數(shù)器PC也就是上圖中標識的R15寄存器,用于保存主存的內(nèi)存地址,它指向的內(nèi)存中保存的是一條一條的ARM指令(4字節(jié)一個的機器指令)。執(zhí)行完成一條指令之后PC會自定加1(移動四個字節(jié)),執(zhí)行主存中的下一條機器指令。PC寄存器用于保存地址,這個概念跟C語言中的指針變量類似,所以有地方也稱它為PC指針。

指令寄存器IR用于保存PC指向的保存在主存中的機器指令。大家知道一條指令的執(zhí)行包括取指,譯碼,執(zhí)行三個過程。其中取指過程就是將PC指向的保存在主存中的機器指令獲取到處理器中的IR寄存器中,也就是將機器指令從主存獲取到處理器的過程。然后再通過譯碼和執(zhí)行,那么一條指令就執(zhí)行結束了。

上一篇:STM32單片機如何編程

下一篇:matlab定義函數(shù)

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號

回到頂部