全部分类
移动开发与应用
WEB前端
架构与运维
程序设计
数据库
操作系统
热点技术
综合
《ARM嵌入式系统开发--软件设计与优化》读书笔记
2980阅读 0评论
2014-01-16
gfvvz
分类:
嵌入式
第1章 基于ARM的嵌入式系统
1.1 RISC设计思想
RISC
是一种
设计思想
,其目标是设计出一套能在
高时钟频率下单周期执行,简单而有效的指令集
。RISC的设计重点在于降低由硬件执行的指令的复杂度,这是因为软件比硬件容易提供更大的灵活性和更高的性能。因此,RISC设计
对编译器有更高的要求
。
RISC设计思想主要由下面
四个设计准则
来实现。
>>
指令集
--- RISC处理器减少了指令种类。编译器或者程序员通过几条简单指令的组合来实现一个复杂的操作(例如,除法操作)。每条指令的长度是固定的,允许流水线在当前指令译码阶段去取下一条指令;而在CISC处理器中,指令长度通常不固定,执行也需要多个周期。
>>
流水线
--- 指令的处理过程被拆分成几个更小的。能够被流水线并行执行的单元。
>>
寄存器
--- RISC处理器拥有更多的通用寄存器。寄存器可为所有数据操作提供快速的局部存储访问;而CISC处理器都是用于特殊目的的专用寄存器。
>>
load-store结构
--- 处理器
只处理寄存器中的数据
。独立的load和store指令用来完成数据在寄存器和外部存储器之间的传送。这样有一个好处,那就是可以反复地使用保存在寄存器中的数据,避免多次访问存储器。因为,访问存储器很耗时。
这些设计准则,使得RISC结构的处理器更为简单,因此内核能够工作在更高的时钟频率。
1.2 ARM设计思想
ARM内核
不是一个纯粹的RISC体系结构
,这是为了使它能够更好地适应其主要应用领域---嵌入式系统。嵌入式系统往往有
低功耗
、
高代码密度
(由于成本和物理尺寸的限制,嵌入式系统的存储器是很有限的)、
价格敏感
等要求。
ARM的指令集和单纯的RISC定义有以下几个方面的不同。
>> 一些
特定指令的周期数可变
。例如,多寄存器装载/存储的load/store指令的执行周期就是不确定的,需根据被传送的寄存器个数而定。
>>
内嵌桶形移位器
产生了更为复杂的指令。在一个输入寄存器被使用之前,内嵌桶形移位器可以处理该寄存器中的数据,它
扩展
了许多指令的功能,提高了代码密度。
>>
Thumb 16位指令集
。该指令集使得内核能够执行16位指令,相比32位的定长指令,代码密度可以提高约30%。
>>
条件执行
。只有当某个
条件满足时,指令才会被执行
。这个特性可以减少分支指令的数目,从而改善性能,提高代码密度。
>>
增强指令
。一些功能强大的DSP指令被加入到标准的ARM指令中。
上一篇:
《计算机网络(第6版)》读书笔记
下一篇:
基于QEMU的虚拟开发板创建过程记录