欢迎光临散文网 会员登陆 & 注册

韦东山ARM架构与编程基于STM32MP157

2023-08-13 22:32 作者:bili_34604920956  | 我要投稿

ARM架构包含了下述RISC特性:

读取/储存 架构

不支援地址不对齐内存存取(ARMv6内核现已支援)

正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)

大量的16 × 32-bit 寄存器阵列(register file)

固定的32 bits 操作码(opcode)长度,降低编码数量所产生的耗费,减轻解码和流水线化的负担。

大多均为一个CPU周期执行。

为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:

大部分指令可以条件式地执行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足。

算数指令只会在要求时更改条件编码(condition code)

32-bit筒型位移器(barrel shifter)可用来执行大部分的算数指令和寻址计算而不会损失效能

强大的索引寻址模式(addressing mode)

精简但快速的双优先级中断子系统,具有可切换的暂存器组

有个附加在ARM设计中好玩的东西,就是使用一个4-bit 条件编码 在每个指令前头,表示每支指令的执行是否为有条件式的

这大大的减低了在内存存取指令时用到的编码位,换句话说,它避免在对小型叙述如if做分支指令。有个标准的范例引用欧几里得的最大公因子算法:

在C编程语言中,循环为:

int gcd (int i, int j)

{

while (i != j)

if (i > j)

i -= j;

else

j -= i;

return i;

}

 

韦东山ARM架构与编程基于STM32MP157的评论 (共 条)

分享到微博请遵守国家法律