当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]ARM内核采用精简指令集结构(RISC,Reduced Instruction Set Computer)体系结构。RISC技术产生于上世纪70年代。其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集,RISC的设计重点在于降低硬件执行指令的复杂度,这是因为软件比硬件容易提供更大的灵活性和更高的智能。

2.1 ARM体系结构的特点

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

RISC的设计思想主要有以下特性。

· Load/Store体系结构。

Load/Store体系结构也称为寄存器/寄存器体系结构或者RR系统结构。在这类机器中,操作数和运算结果不是通过主存储器直接取回而是借用大量标量和矢量寄存器来取回的。与RR体系结构相反,还有一种存储器/存储器体系结构,在这种体系结构中,源操作数的中间值和最后的运算结果是直接从主存储器中取回的。这类机器的缩写符号是SS体系结构。

· 固定长度指令。

固定长度指令使得机器译码变得比较容易。由于指令简单,需要更多的指令来完成相同的工作,但是随着存储器存取速度的提高,处理器可以更快地执行较大代码段(即大量指令)。

· 硬联控制。

RISC机以硬联控制指令为特点,而CISC的微代码指令则相反。使用CISC(常常是可变长度的)指令集时处理器的语义效率最大,而简单指令往往容易被机器翻译。像CISC那样通过执行较少指令来完成工作未必省时,因为还要包括微代码译码所需要的时间。因此,由硬件实现指令在执行时间方面提供了更好的平衡。除此之外,还节省了芯片上用于存储微代码的空间并且消除了翻译微代码所需的时间。

· 流水线。

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

· 寄存器。

RICS处理器拥有更多的通用寄存器,每个寄存器都可存放数据或地址。寄存器可为所有的数据操作提供快速的局部存储访问。

表2.1总结了RISC和CISC之间主要的区别。

表2.1 RISC和CISC之间主要的区别

指 标

RISC

CISC

指令集

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

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

流水线

流水线每周期前进一步

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

寄存器

更多通用寄存器

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

Load/Store结构

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

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

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

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

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

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

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

· Thumb指令集

ARM处理器根据RICS原理设计,但是由于各种原因,在低代码密度上它比其他多数RICS要好一些,然而它的代码密度仍不如某些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位压缩形式表示指令集。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Andro...

关键字: Linux x86 ARM

随着计算需求的多样化,尤其是随着移动设备、嵌入式系统和云计算的兴起,ARM 和 x86 架构之间的争论变得更加突出。ARM(高级 RISC 机器)和 x86 代表两种不同类型的处理器架构,每种架构都针对不同的工作负载和用...

关键字: Linux x86 ARM

从画质优化 (NSS) 到帧率提升 (NFRU) 和光线追踪(NSSD),Arm 计划覆盖移动端图形处理的多个维度,推动边缘 AI 图形革命。而未来通过持续的技术迭代,Arm也将保持在移动计算领域的技术领先,满足手游、A...

关键字: ARM 神经图形技术 GPU AI ML

7月31日消息,据媒体报道,芯片架构提供商Arm Holdings首席执行官Rene Haas宣布,公司正加大投入开发自有芯片产品,此举标志着其从传统IP授权模式向提供实体芯片的战略重大转变。

关键字: ARM META

7月28日消息,2025年,中国AI硬件市场规模将首次突破万亿元大关。

关键字: AI ARM

受生成式 AI 驱动, RISC-V 芯片市场快速发展。预计到2030年,RISC-V SoC出货量将达到1618.1亿颗,营收将达到927亿美元。其中,用于AI加速器的RISC-V SoC出货量将达到41亿颗,营收将达...

关键字: RISC-V CPU AI CUDA ARM 推理
关闭