Arm存儲器有哪幾種屬性?
ARM存儲器中有6種數據類型,即8位字節、16位半字和32位字的有符號和無符號數。ARM處理器的內部操作都面向32位操作數,只有數據傳送指令(STR, STM, LDR,LDM)支持較短的字節和半字數據。ARM存儲器支持兩種端序,即大端序和小端序。端序選擇由硬件引腳接線決定,默認的端序設置為小端序。存儲器中每一個字節都有唯一的地址。字節可以占有任一位置;半字占有兩個字節位置,該位置開始于偶數字節邊界地址;字以4字節的邊界對準。
1、ARM體系結構V4以上版本支持字節、半字和字,ARMV4以前的版本僅支持字節和字。
2、當將這些數據類型中的任一種說明成unsigned類型時,N位數據值表示范圍為0-2n-1的非負整數,使用通常的二進制格式。
3、當將這些數據類型的任一種說明成signed類型時,N位數據值表示范圍為-2n-1—2n-1-1的整數,使用二進制的補碼格式。
4、所有數據操作,例如ADD, AND,以字進行處理。
5、加載和存儲操作可以字節、半字和字的大小同存儲器之間傳送數據。加載時自動進行字節或半字的零擴展或符號擴展。
6、ARM指令恰好是一個字(與4字節邊界對準),Thumb指令恰好是一個半字(與2字節邊界對準)。
7、給出的是標準的“小端序”的三種存儲格式,ARM也可以通過硬件接線或者寄存器設置配置成為“大端序”格式的存儲器。