|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 采用的是 32 位 架构,这表明地址空间是2的32次方,4G。
% H" T5 G; K* _) aARM 约定:
+ w& ^5 q9 M: R- M Byte:8 bits. h( f1 T5 F2 J& t S
Halfword: 16 bits (2 byte)8 h$ X! H# T7 W8 E
Word :32 bits (4 byte)0 p+ B3 b _- |, _) n0 }9 b% K
Doubleword:64-bits(8byte)(Cortex-A处理器)
3 y# r0 @ j& o大部分ARM core 提供:( E$ a! ?& Q7 K" S
ARM 指令集(32-bit)
8 X9 c3 }8 B& L7 M7 m0 c: F Thumb指令集(16-bit )
5 ^7 I/ W* Q) Z; U9 B5 Q1 S3 |$ l# xCortex-A处理器
3 g& |' Y- D3 f: C; n. h 16位和32位Thumb-2指令集
9 d8 R: G2 @, R) O 16位和32位ThumbEE指令集5 F% W3 \" n/ a4 M6 s% K! b
, a, a+ l2 W; I7 w$ G8 h9 I
指令集的16位和32位差异体现在那里?简单来说就是32位指令集能够操作32位数,而16位指令集只能操作16位数。一个简单的例子,同样执行0X111111111和0X22222222的加法,32位指令集可以一次执行完毕,而16位指令集只能
6 ?2 J6 {9 k( s8 m( E! k' S/ S4 k. o高16位和低16位拆开运算。就向小时候我们学习加法,一开始我们只会个位数加法(十进制1位加法),后来我们会100以内的加法(十进制2位加法)。
: E9 K0 q" S1 b在CORETEX-A中我们都用32位ARM指令集
2 W0 O, k% }5 F$ d" o- o
+ N8 T5 w* ^9 i( Z
7 R8 O p9 J3 q& _/ H! ?+ C1 `
: F+ `9 \0 \! @8 V- ~- U |
|