EDA365电子论坛网

标题: ARM数据和指令类型 [打印本页]

作者: thinkfunny    时间: 2021-6-2 09:46
标题: ARM数据和指令类型
ARM 采用的是 32 位 架构,这表明地址空间是2的32次方,4G。
+ C( ?2 j( |9 {# d9 f' RARM 约定:- A+ x  C- l" o2 _6 ]1 q# \; K0 q
     Byte:8 bits
% _% K7 M) g  z# ?5 o, N      Halfword: 16 bits (2 byte)& c; J+ U+ `( M" R3 j9 n: o- M& X1 B( c
      Word :32 bits (4 byte)2 G$ @" d6 Z7 S+ s
      Doubleword:64-bits(8byte)(Cortex-A处理器)! H/ u% R! q% G5 H  s
大部分ARM core 提供:
- m2 D  ^( W7 C! T$ y, p0 M      ARM 指令集(32-bit)& n" f* I3 Y5 W( f7 r7 f: q
      Thumb指令集(16-bit )
, z; }# y$ y2 b' x: @. Z. Y0 x! N* eCortex-A处理器
. T6 c8 _$ c/ `$ g! l       16位和32位Thumb-2指令集) Z/ F: b" W- {, G( j0 {# t
       16位和32位ThumbEE指令集4 z. r( y: A/ s4 H" @2 R7 X

2 @3 W0 X' f9 A! p) N6 {7 e( U1 M指令集的16位和32位差异体现在那里?简单来说就是32位指令集能够操作32位数,而16位指令集只能操作16位数。一个简单的例子,同样执行0X111111111和0X22222222的加法,32位指令集可以一次执行完毕,而16位指令集只能
( T5 u8 o% p6 p- y3 R, m; ^高16位和低16位拆开运算。就向小时候我们学习加法,一开始我们只会个位数加法(十进制1位加法),后来我们会100以内的加法(十进制2位加法)。
9 x4 R$ I. e4 }2 m) w在CORETEX-A中我们都用32位ARM指令集) N1 g: S& v% b

( a$ f2 D  p$ M+ a) B% F8 x8 V5 H. r4 W9 F8 a6 L
* u/ d( o* p/ `4 \7 c1 U

作者: SsaaM7    时间: 2021-6-2 11:02
ARM数据和指令类型
作者: ExxNEN    时间: 2021-6-2 11:08
ARM数据和指令类型
作者: uiabluqp    时间: 2021-6-2 11:08
ARM数据和指令类型




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2