|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 采用的是 32 位 架构,这表明地址空间是2的32次方,4G。 V2 t: F, I4 _: ~
ARM 约定:
* }3 V- }7 A0 V& v: ? Byte:8 bits
& O5 }* q( `5 P8 L% D8 O2 M Halfword: 16 bits (2 byte)
. o: b7 ~3 r+ J" ^ Word :32 bits (4 byte)
3 R- r6 _4 `+ x0 K Doubleword:64-bits(8byte)(Cortex-A处理器)+ P8 C3 N4 @) h" L) K% W. a2 B
大部分ARM core 提供:' ^/ ^ N$ U: R c8 i
ARM 指令集(32-bit), B$ [* T, d, D9 e" n- Y, C6 W
Thumb指令集(16-bit )
/ ?) C/ @* i# E yCortex-A处理器8 Q [, C) D/ m1 E n! M) M
16位和32位Thumb-2指令集
# ~, d& J. c. E9 {6 s3 J3 ~ 16位和32位ThumbEE指令集
" O9 F* y/ X4 M8 h4 f q6 C( G) P& y' b2 J
指令集的16位和32位差异体现在那里?简单来说就是32位指令集能够操作32位数,而16位指令集只能操作16位数。一个简单的例子,同样执行0X111111111和0X22222222的加法,32位指令集可以一次执行完毕,而16位指令集只能
C2 N3 f( M; u0 k高16位和低16位拆开运算。就向小时候我们学习加法,一开始我们只会个位数加法(十进制1位加法),后来我们会100以内的加法(十进制2位加法)。6 r2 H* m3 u; Z
在CORETEX-A中我们都用32位ARM指令集
# W0 }& }# y3 F$ X( W' y' t) h4 ~' _: `2 P+ k. M* T2 y9 U
' h) i7 Q3 |' @: `$ I( ]
@! }9 t$ B! E5 m% t; \! _ m9 t% [
|
|