ARM体系结构(一)——ARM体系结构的特点

ARM内核采用精简指令计算机结构(RISC,Reduced Instruction Set Computer)。RISC技术产生于上世纪70年代,其目标是设计出一套能在高时钟频率下单周期执行简单而有效的指令集,RISC设计重点在于降低硬件指令的复杂度,这是因为软件比硬件容易提供更大的灵活性和更高的智能。

1.RISC的设计思想

♦Load/Store体系结构:

Load/Store体系结构也称为寄存器/寄存器体系结构或者RR结构。在这类机器中,操作数和运算结果不是通过主存储器直接取回CUP而是借用大量寄存器取回CPU。与RR体系结构相反,还有一种存储器/存储器体系结构,在这种体系结构中,操作室和运算结构通过主存储器直接取回CPU,这类体系结构也称为SS体系结构。

♦固定指令长度:

固定指令长度使得机器译码变得比较容易。由于ARM采用精简指令集,需要更多的指令来完成同样的工作,但是随着存储器和CPU速度的提升,处理器可以更快的执行大量代码。

♦流水线:

指令的处理过程被拆分为更小的、能够被流水线并行执行的单元。在理想情况下,流水线每周期前进一步,可获得更高的吞吐率。

♦寄存器:

RISC处理器拥有更多的通用寄存器,每个寄存器都可以存放数据或地址。

2.RISC和CISC之间的主要区别

RISC与CISC之间的主要区别

指标

RISC

CISC

指令集

一个周期执行一条指令,通过简单指令的组合实现复杂操作

指令长度不固定,执行需要多个周期

流水线

流水线每周期前进一步

指令的执行需要调用伪代码的一个微程序

寄存器

更多的通用寄存器

用于特定目的的专用寄存器

Load/Store结构

独立的Load和Store指令完成在寄存器和外部存储器之间的传输

处理器能够直接处理存储器中的数据

3.ARM指令集与RISC定义的不同

为了使ARM指令集能够更好的满足嵌入式应用的要求,ARM指令集和单纯的RISC定义有以下几方面不同:

①  一些特定指令的周期数可变

并非所有的ARM指令都是单周期的。例如,多寄存器转载/存储的Load/Store指令的周期数九不确定,必须根据被传送到的寄存器个数而定。如果访问连续的存储器地址,就可以改善性能,因为连续的存储器访问通常比随机访问要快。同时代码密度也得到了提高,因为在函数的起始和结尾,多个寄存器的传输室很常用的操作。

②  内嵌桶形移位器产生更复杂的指令

内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用前,内嵌桶形移位器可以处理该寄存器中的数据。它扩展了许多指令的功能,改善了内核的性能,提高了代码密度。

③  Thumb指令集

ARM处理器根据RISC原理设计,但是由于各种原因,在低代码密度上它比其他多数RISC好一些,然而它的代码密度仍不如某些CISC处理器。在代码密度重要的场合,ARM公司在某些版本的ARM处理器中加入了一个称谓Thumb结构的新型结构。Thumb指令集是原来32位ARM指令集的16位压缩形式,并在指令流水线中使用了动态解压硬件。Thumb代码密度优于多数的CISC处理器达到的代码密度。

④  条件执行

只有当某个特性条件满足时指令才会被执行。这个特性可以减少分支指令数目,从而改善性能,提高代码密度

⑤  DSP指令

一些功能强大的数字信号处理(DSP)指令被加入到标准ARM指令中,以支持快速的16*16乘法操作以及饱和运算。在某些应用中,传统的方法需要微处理器上加上DSP才能实现。这些增强指令使得ARM处理器也能够满足这些应用的需要。

 

总结】ARM体系结构的主要特征如下:

♦大量的寄存器,可用于多种用途;

♦Load/Store体系结构;

♦每条指令都有条件执行;

♦多寄存器的Load/Store指令;

♦能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作;

♦通过协处理指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型。

如果把Thumb指令集也当做ARM体系结构的一部分,那么还可以加上:

♦在Thumb体系结构中以16位压缩形式表示指令集。

你可能感兴趣的:(嵌入式开发)