没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Arm 设计思想与高效 C 编程 .
一.RISC 设计思想
ARM 内核采用 RISC 体系结构。RISC 是一种设计思想,其目标是设计出一套能在高时钟频率
下单周期执行,简单而有效的指令集。RISC 的设计重点在于由硬件执行的指令的复杂度,
这是因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RISC 设计对编译器有更
高的要求;相反,传统的复杂指令集的计算机(CISC)则更侧重于硬件执行指令的功能性,
使 CISC 变得更复杂。
RISC 设计思想主要由下面 4 个设计准则来实现:
l 指令集
RISC 处理器减少了指令种类,每条指令的长度都是固定的,允许流水线在当前指令译码阶
段去取其下一条指令;而 CISC 处理器中,指令的长度通常不固定,执行也需要多个周期。
l 流水线
在理想情况下,流水线每周期前进一步,可获得最高的吞吐率;而 CISC 指令的执行需要调
用微代码的一个微程序。
l 寄存器
RISC 处理器拥有更多的通用寄存器,每个寄存器都可存放数据或地址。寄存器可为所有的
数据操作提供快速的局部存储访问;而 CISC 处理器都是用于特定目的的专用处理器。
l load-store 结构
处理器只能处理寄存器中的数据。独立的 load 和 store 指令用来完成数据在寄存器和外部
存储器之间的传送。因为访问存储器很耗时,所以把存储器访问和数据处理分开。这样有
一个好处,那就是可反复地使用保存在寄存器中的数据,而避免多次访问存储器。相反,
在 CISC 结构中,处理器能够直接处理存储器中的数据。
二.ARM 设计思想
为降低功耗,ARM 处理器已被特殊设计成较小的核,较高的代码密度。ARM 内核不是一个
纯粹的 RISC 体系结构,这是为了使它能够更好的适应其主要应用领域-嵌入式系统。在某种
意义上,甚至可以认为 ARM 内核的成功,正是因为它没有在 RISC 概念上沉入太深。现在
系统的关键并不在于单纯的处理器速度,而在于有效的系统性能和功耗。
面向嵌入式系统的指令集
l 一些特定指令的周期数可变
例如:多寄存器装载/存储的 load/store 指令的执行周期就是不确定的
l 内嵌桶形移位器产生了更为复杂的指令
l Thumb 16 位指令集
l 条件执行
l 增强指令
三.高效的 C 编程
1)C 数据类型的有效用法
l 对于存放在寄存器中的局部变量,除了 8 位或 16 位的算数模运算符外,尽量不要使
用 char 和 short 类型。而要使用有符号或者无符号的 int 类型。除法运算时使用无符号数执
行速度更快。
l 对于存放在主存储器中的数组和全局变量,在满足数据大小的前提下,应尽可能使用
小尺寸的数据类型,这样做可以节省存储空间。ARMv4 体系结构可以有效的装载和存储所
有宽度的数据,并可以使用递增数组的指针来有效的访问数组。对于 short 类型数组,要避
免使用数组基地址的偏移,因为 LDRH 指令不支持偏移寻址。
l 由于隐式或者显式的数据类型转换通常会有额外的指令周期开销,所以在表达式中应
资源评论
- magicningli2012-12-08很有用的资料,针对ARM的C编程
verilog_picoblaze
- 粉丝: 3
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功