|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
ARM 采用的是 32 位 架构,这表明地址空间是2的32次方,4G。
9 ?1 r' `3 Z1 eARM 约定:
2 ?& W7 w% I$ y$ L# N Byte:8 bits! a) {8 l+ ~! r" T: C/ r
Halfword: 16 bits (2 byte)9 i% |' T- z O6 N- F
Word :32 bits (4 byte): `5 ^9 o5 k! { [- w$ [) _3 j& _
Doubleword:64-bits(8byte)(Cortex-A处理器)
. o% _$ Z4 m9 Q/ ^5 \6 v* ^% q大部分ARM core 提供:/ d' r3 b8 Y0 q! v# D% k( [
ARM 指令集(32-bit)
" c0 h7 ?1 Z* f. \' d Thumb指令集(16-bit )
) L; P) c# Q4 v$ mCortex-A处理器
4 O4 e r: P$ ?+ s 16位和32位Thumb-2指令集$ W/ q. T( p6 f2 U4 `
16位和32位ThumbEE指令集% ^& ^, Y, \' {: u- _
$ N# \* p6 M& s/ z8 D# Z8 {0 @
指令集的16位和32位差异体现在那里?简单来说就是32位指令集能够操作32位数,而16位指令集只能操作16位数。一个简单的例子,同样执行0X111111111和0X22222222的加法,32位指令集可以一次执行完毕,而16位指令集只能
6 V8 _$ M6 @& p7 o- n" ?高16位和低16位拆开运算。就向小时候我们学习加法,一开始我们只会个位数加法(十进制1位加法),后来我们会100以内的加法(十进制2位加法)。* \0 ]/ K1 v* h/ Y6 _6 T% v
在CORETEX-A中我们都用32位ARM指令集4 q5 d* ]* g1 T
5 E6 H0 r, X. d9 }% {
( l m0 h& E" i/ S5 I$ N2 U, }: a" Y0 J0 t2 c
|
|