arm 核心採用精簡指令集結構(risc,reduced instruction set computer)體系結構。其目標是設計出一套能在高時鐘頻率下單週期執行、簡單而有效的指令集,risc 的設計重點在於降低硬體執行指令的複雜度,這是因為軟體比硬體容易提供更大的靈活性和更高的智慧型。與其相對的傳統複雜指令級計算機(cisc)則更側重於硬體執行指令的功能性,使 cisc 指令變得更複雜。
thumb 指令集
arm 處理器根據 rics 原理設計,但是由於各種原因,在低**密度上它比其他多數 rics 要好一些,然
而它的**密度仍不如某些 cisc 處理器。在**密度重要的場合,arm 公司在某些版本的 arm 處理器
中加入了乙個稱為 thumb 結構的新型機構。thumb 指令集是原來 32 位 arm 指令集的 16 位壓縮形式,並
在指令流水線中使用了動態解壓縮硬體。thumb **密度優於多數 cisc 處理器達到的**密度。
互鎖 在典型的程式處理過程中,經常會遇到這樣的情形,即一條指令的結果被用做下一條指令的運算元。如例
2.4 所示。
【例 2.4】
有如下指令序列:
ldr r0,[r0,#0]
add r0,r0,r1 ;在 5 級流水線上產生互鎖
從例 2.4 中可以看出,流水線的操作產生中斷,因為第一條指令的結果在第二條指令取數時還沒有產生。
第二條指令必須停止,直到結果產生為止。
在 arm9tdmi 中使用了典型的 5 級流水線。arm9tdmi 的組織結構如圖 2.7 所示。
5 級流水線包括下面的流水線級:
取指(fetch):從儲存器中取出指令,並將其放入指令流水線。
解碼(decode):指令被解碼,從暫存器堆中讀取暫存器運算元。在暫存器堆中有 3 個運算元讀埠,
因此,大多數 arm 指令能在 1 個週期內讀取其運算元。
執行(execute):將其中乙個運算元移位,並在 alu 中產生結果。如果指令是 load 或 store 指令,則
在 alu 中計算儲存器的位址。
緩衝/資料(buffer/data):如果需要則訪問資料儲存器,否則 alu 只是簡單地緩衝乙個時鐘週期。
回寫(write-back):將指令的結果回寫到暫存器堆,包括任何從暫存器讀出的資料。
ARM體系結構
arm是 advanced risc machines 高階精簡指令系統處理器 的縮寫,是arm公司提供的一種微處理器智財權 ip 核 arm既可以認為是乙個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字 arm微處理器的特點 1 體積小 低功耗 低成本 高效能 2 支援t...
ARM體系結構
一 arm公司簡介 arm公司成立於1990年11月,主要設計arm系列risc處理器核心 arm公司主要做授權,不生產任何一款具體的晶元。二 arm公司產業鏈 arm 將技術授權給合作廠商 廠商 生產各具特色的具體晶元,廠商就包括飛利浦 英特爾 三星等 三 arm微處理器的應用領域 工業控制 無線...
ARM體系結構 一
一 arm暫存器的作用 1 r0 r3 用作傳入函式引數 傳出函式返回值。2 r4 r11 被用來 存放函式的區域性變數。3 r12 是內部呼叫暫時暫存器 ip,目前沒搞懂。4 r13 sp作為 棧暫存器。5 r14 lr儲存函式呼叫或者中斷程式返回時要執行的 指令位址。6 r15 pc程式 取值位...