ARM指令集特点
相比CISC,采用RISC的ARM具有以下幾個主要特點:
1)只提供有限的操作,基本上單周期執行每條指令,其指令長度也是等長的(4字節);32位指令的字節分布為:
基本格式為: {} {s} , {, }
其中,<>內的項是必須的,{}內的項是可選的,如是指令助記符,是必須的,條件碼“cond”的使用可以實現高效的邏輯操作(節省跳轉和條件語句),提高代碼效率。所有的ARM指令都可以條件執行,而THUMB指令只有B(跳轉)指令具有條件執行功能。如果指令不標明條件代碼,將默認為無條件(AL)執行。
opcode: ?? 指令助記符,如LDR,STR等?;
cond: 執行條件,如EQ, NE等;
s: 是否影響CPSR寄存器的值,帶s時影響CPSR,否則不影響;
Rd: 目標寄存器;
Rn: 第一個操作數的寄存器;
operand2 (0-11) : 第二個操作數;立即數 或 寄存器+寄存器移位 (如 MOVS R3, R1, LSL #2)
X: 第二操作數類型標志碼(X = 0移位寄存器, X = 1立即數)
2)CPU不會對內存中的數據進行直接操作,所有的計算都要求在寄存器(里面存放著指令、數據和地址供CPU計算使用)中運行,而寄存器與內存的通信則有專有的指令(ldr,str,ldm,stm,swp)來完成。所以相比CISC,它有更多的通用寄存器可以使用,每個寄存器都可以進行數據存儲或者尋址。
3)RISC指令集能夠非常有效的適用于采用流水線、超流水線和超標量技術從而實現指令集并行操作,提高處理器的性能。
總結
- 上一篇: 搞懂C++为什么难学,看这篇就够了!
- 下一篇: 整理一篇Linux drm显示系统的文章