资料介绍
分享到:标签:精简指令集 ARM 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之间主要的区别
为了使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位压缩形式表示指令集。
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指令都是单周期的。例如,多寄存器转载/存储的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位压缩形式表示指令集。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 软件体系结构的分析 15次下载
- ARM体系结构和应用系统设计示例 4次下载
- 解读ARM体系结构命名规则 4次下载
- ARM7体系结构 29次下载
- ARM体系结构讲解 3次下载
- ARM_SoC体系结构讲解 3次下载
- ARM体系结构(2).PPT课件 9次下载
- ARM体系结构(1)PPT课件 0次下载
- 105ARM体系结构-编程模型_EXTI 7次下载
- ARM体系结构入门 492次下载
- ARM体系结构与编程_杜春雷 0次下载
- ARM体系结构与编程
- ARM SoC体系结构(中文版) 0次下载
- ARM微处理器体系结构
- ARM体系结构与编程模型
- GPGPU体系结构优化方向(1) 1.4k次阅读
- 嵌入式微处理器的体系结构 1.9k次阅读
- 一手掌握计算机体系结构核心内容 2.7k次阅读
- 米尔科技ARM体系结构与编程介绍 2.7k次阅读
- 米尔科技ARM处理器体系架构介绍 1.2w次阅读
- 浅析自然语言处理知识体系结构 6.1k次阅读
- 一个简化的PCIe总线体系结构 6.3k次阅读
- ARM处理器:“冯·诺依曼”体系结构和“哈佛”体系结构 3.6w次阅读
- 浅谈ARM处理器的特点和体系结构 1.8w次阅读
- ptn技术特点及体系结构详解 2.4w次阅读
- 学习ARM + Linux之前要讲解用ADS或RealViewMDK去调试ARM开发板的原因 6.3k次阅读
- 51单片机体系结构初步分析 3.1k次阅读
- 新手必看,关于ARM的22个常用概念 6.7k次阅读
- ARM下浮点数Middle-Endian问题的处理 1.8k次阅读
- 一种基于B/S结构与C/S结构结合的新体系结构 1.5k次阅读
下载排行
本周
- 1MDD品牌三极管BC807数据手册
- 3.00 MB | 次下载 | 免费
- 2MDD品牌三极管BC817数据手册
- 2.51 MB | 次下载 | 免费
- 3MDD品牌三极管D882数据手册
- 3.49 MB | 次下载 | 免费
- 4MDD品牌三极管MMBT2222A数据手册
- 3.26 MB | 次下载 | 免费
- 5MDD品牌三极管MMBTA56数据手册
- 3.09 MB | 次下载 | 免费
- 6MDD品牌三极管MMBTA92数据手册
- 2.32 MB | 次下载 | 免费
- 7STM32G474 HRTIME PWM 丢波问题分析与解决
- 1.00 MB | 次下载 | 3 积分
- 8新能源电动汽车高压线束的铜铝连接解决方案
- 2.71 MB | 次下载 | 2 积分
本月
- 1爱华AIWA HS-J202维修手册
- 3.34 MB | 37次下载 | 免费
- 2PC5502负载均流控制电路数据手册
- 1.63 MB | 23次下载 | 免费
- 3NB-IoT芯片厂商的资料说明
- 0.31 MB | 22次下载 | 1 积分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供电电路图资料
- 0.63 MB | 6次下载 | 1 积分
- 5UWB653Pro USB口测距通信定位模块规格书
- 838.47 KB | 5次下载 | 免费
- 6技嘉H110主板IT8628E_BX IO电路图资料
- 2.61 MB | 4次下载 | 1 积分
- 7苏泊尔DCL6907(即CHK-S007)单芯片电磁炉原理图资料
- 0.04 MB | 4次下载 | 1 积分
- 8苏泊尔DCL6909(即CHK-S009)单芯片电磁炉原理图资料
- 0.08 MB | 2次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191439次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183353次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论