|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 采用的是 32 位 架构,这表明地址空间是2的32次方,4G。
6 d9 @" z% L+ @7 @9 B- C; yARM 约定:* ^9 x. @; y# l" x( X2 A3 N
Byte:8 bits
0 Q" P3 J1 m6 Y0 c7 a6 a) K Halfword: 16 bits (2 byte): Q& u" A0 J# M
Word :32 bits (4 byte)
4 M( j# r4 z/ }4 t0 Z4 U8 A Doubleword:64-bits(8byte)(Cortex-A处理器). e [- ?: I; _1 G& e j& m- z
大部分ARM core 提供:
: h/ c6 L/ I" y1 | ARM 指令集(32-bit)
7 n) V. \; H1 M) ^) J* I! A- t Thumb指令集(16-bit )+ M1 n. R/ D7 q9 i
Cortex-A处理器
* h! O% q! C# e* K8 c( w% K- l/ g: Z 16位和32位Thumb-2指令集4 x3 h; z0 B0 C3 f. J$ g
16位和32位ThumbEE指令集
7 P' l* d& @1 A% ?3 P
9 F5 h, r$ _ u# p指令集的16位和32位差异体现在那里?简单来说就是32位指令集能够操作32位数,而16位指令集只能操作16位数。一个简单的例子,同样执行0X111111111和0X22222222的加法,32位指令集可以一次执行完毕,而16位指令集只能) K: @& H" Z- {9 l. i
高16位和低16位拆开运算。就向小时候我们学习加法,一开始我们只会个位数加法(十进制1位加法),后来我们会100以内的加法(十进制2位加法)。3 B7 J: C! [, F- q4 ^
在CORETEX-A中我们都用32位ARM指令集" X9 u0 x. e% j
) B2 E/ e/ H' W0 E" g4 {/ j0 D* P, _$ L; {7 i
" w( E7 D0 Y. k, L" a7 @2 i+ i
|
|