ARM内核采用精简指令集结构(Reduced Instruction Set Computer,RISC)体系结构。RISC技术产生于20世纪70年代,其设计目标是创建一种能以每个时钟周期执行一条指令的速度很快的计算机。RISC的设计重点在于降低由硬件执行的指令复杂度,这是因为软件比硬件容易提供更大的灵活性和更高的智能。与其相对的传统复杂指令级计算机(CISC)则更侧重于硬件执行指令的功能性,这使CISC指令变得更复杂。

RISC设计思想

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

(2)固定长度指令固定长度指令使得机器译码变得比较容易。由于指令简单,需要更多的指令来完成相同的工作,但是开发快速的价格低廉的存储器装置使得可以更快地执行较大代码段(大量指令成为可能)。

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

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

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

RISC和CISC之间主要的区别

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

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

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

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

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

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

综上所述,ARM体系结构的主要特征如下:

① 大量的寄存器,它们都可以用于多种用途;

② Load/Store体系结构;

③ 每条指令都条件执行;

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

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

⑥ 通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型;如果把Thumb指令集也当做ARM体系结构的一部分,那么还可以加上16位的Thumb指令集;

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

精简指令集结构(Reduced Instruction Set Computer,RISC)相关推荐

  1. The case for reduced instruction set computer读后感

    文章目录 The case for reduced instruction set computer读后感 介绍 CISC流行的原因 **CPU的速度与内存的速度** **微程序和大规模集成电路** ...

  2. The case for the reduced Instruction Set computer读后感

    The case for the reduced Instruction Set computer读后感 计算机体系结构的目标 One of the primary goals of computer ...

  3. 读书笔记:Comments On The Case for the Reduced Instruction Set Computer

    这三个月正拜读<量化研究方法>.并且读了一些相关的论文.这篇论文是个人翻译的.这篇论文代表了工业界对D.A. Patterson的<n The Case for the Reduce ...

  4. 【原创翻译】The Case for the Reduced Instruction Set Computer

    RISC机的例子 David A. Patterson 加州大学伯克利分校计算机科学系 David R. Ditzel 贝尔实验室计算科学研究中心 介绍 计算机体系结构最主要的目标之一就是设计比之前产 ...

  5. ARM处理器 CISC(复杂指令集)与RISC(精简指令集)

    博文背景: 最近想学习一些树莓派的知识,便看了一本书<树莓派开始,玩转Linux>,在阅读此书的时候,顺便把其中不懂的知识重新梳理一些,算是作为自己的读书笔记了. 有感兴趣的同学,可以一起 ...

  6. 精简指令集(RISC)和复杂指令集(CISC)的区别

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构,x86是CISC的代表架构,占领了95%以上的桌面计算机和服务器市场.Arm作为RISC的一种,在智能手机.可穿戴设备 ...

  7. CISC(复杂指令集)与RISC(精简指令集)的区别

    复杂指令集计算机(CISC)  Complex Instruction SetComputer 长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成 ...

  8. 计算机系统结构的分类-复杂指令集系统CISC与精简指令集系统RISC

    在计算机系统结构发展的过程中,指令系统的优化设计有两个截然相反的方向,一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的.常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指 ...

  9. 精简指令集与复杂指令集

    转自:http://blog.sina.com.cn/s/blog_59bbea370100ecic.html 接触到计算机的时候,就听过两个想对应的名词:精简指令集和复杂指令集.于是就望文生意的认为 ...

最新文章

  1. 如何“正确”为SharePoint字段命名
  2. 攻防世界-web-bug-从0到1的解题历程writeup
  3. 电脑卡顿不流畅是什么原因_什么造成游戏直播画画卡顿、延迟?这三个原因了解一下...
  4. 山大824计算机基础,山大考研辅导班:山东大学2020年824计算机基础考研自命题科目考试大纲...
  5. 翁恺c语言程序设计入门作业,程序设计入门——C语言
  6. Windows下测试算法在FDDB数据库的性能
  7. TTL电平信号和RS232信号波形对比
  8. 理解 this.initialize.apply ( this, arguments )
  9. 办公局域网网络速度变慢分析
  10. Android 11 状态栏电池图标的定制
  11. 【数据结构】有限状态自动机(FSA)的理解-LeetCode表示数值的字符串(有效数字)题解(Java)
  12. 光学显微镜分辨率极限
  13. MATLAB积分函数integral()的使用方法
  14. navicat 表合并查询_数据库两个表合并命令
  15. oracle 热数据,ORACLE数据库热备份步骤解析
  16. 格鲁夫12年前惊人的预言,解释了今天美国对中国芯片所做的一切
  17. android 弹出窗口
  18. SpringCloud学习记录(1)-父工程与子模块创建及子模块调用
  19. 我是一位40岁的“老程序员”,我有一些想法
  20. ubuntu WPS升级后打不开

热门文章

  1. 算法工程师月薪多少钱,算法工程师岗位需要学习哪些知识?
  2. 高通狂吹新GPU:赶超桌面显卡
  3. 网络七层结构(讲人话)
  4. 云计算中paas,laas,saas的区别
  5. java2.0qq同步_qq同步助手2.0 apk下载
  6. 《区块链技术与应用》北大肖臻老师——课程笔记【21-23】
  7. 硕士阶段总结《科苑行》之科研论文
  8. ETL(八):路由器(rounter)转换组件的使用
  9. 网站中轮播图的制作方法
  10. oracle dba要学多久,Oracle DBA速成法的潜规则