Chinaunix首页 | 论坛 | 博客
  • 博客访问: 458064
  • 博文数量: 40
  • 博客积分: 1410
  • 博客等级: 军士长
  • 技术积分: 1396
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-22 19:26
个人简介

嵌入式系统工程师,从事视频、图像、网络、虚拟化等方面的底层软件开发与优化。

文章存档

2014年(4)

2013年(10)

2012年(14)

2011年(12)

分类: 嵌入式

2014-01-16 13:34:39


第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指令中。




阅读(2867) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~