RISC和CISC之间主要的区别
指标 | RISC | CISC |
指令集 | 一个周期执行一条指令,通过简单指令的组合实现复杂操作;指令长度固定 | 指令长度不固定,执行需要多个周期 |
流水线 | 流水线每周期前进一步 | 指令的执行需要调用微代码的微程序 |
寄存器 | 更多的通用寄存器 | 用于特定目的的寄存器 |
Load/Store结构 | 独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输 | 处理器能够直接处理存储器中的数据 |
指令执行效率 | 对于不常用的指令,通过常用指令组合而成,因此常用指令简单高效,而特殊功能的效率较低 | 有专用指令来完成特定任务,因此完成特殊功能的效率较高,而通用指令没有RISC效率高 |
指令:指挥机器工作的指示和命令,或者说指令是指示计算机硬件执行某种运算、处理功能的命令
展开:程序就是一系列按照一定顺序排列的指令。
指令集:就是CPU中用来计算和控制计算的一套指令的集合。而每一种新型的CPU在设计时就规定了一系列与其他硬件电路相配合的指令系统
流水线:一种并行处理实现技术,程序执行时多条指令重叠进行操作。他们可同时为多条指令的不同部分进行工作。
展开:流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。表示方法:时空图,如下为4端指令流水线的时空图。
寄存器:是CPU内部的元件,功能是从来存储二进制代码,分为通用寄存器、专用寄存器、控制寄存器。
常用(简单)指令:高时钟频率下单周期执行指令,如add、sub、mul等。
Load-Store结构:功能是承担寄存器和内存之间交换数据的重要媒介。原因:ARM CPU不能直接处理内存中的数据。
ARM体系结构的主要特征:
参考文档:
https://blog.csdn.net/qq_36413982/article/details/89300769
1.大量的寄存器,它们都可以用于多种途径。
主要是哪些寄存器,分别用于什么用途?
ARM 有37个32-Bits长的寄存器 :
1个PC(program counter,程序计数器)
1个CPSR(current program status register,当前程序状态字寄存器)
5个SPSR(saved program status registers,保存程序状态寄存器)
30个通用寄存器
处理器的工作模式决定操作哪组寄存器
2.load/Store体系结构
什么是Load/Store体系结构(见上)
3.每条指令都条件执行
条件执行:
1.在ARM模式下,任何一条数据处理指令可以选择是否根据操作的结果来更新CPSR寄存器中的ALU状态标志位。在数据处理指令中使用S后缀来实现该功能。
2.在Thumb模式下,所有数据处理指令都更新CPSR中的标志位
展开:两种模式就是对应2种状态,既ARM状态和Thumb状态,2者最明显的区别就是ARM状态下,所有指令均为32位,Thumb状态下,所有指令均为16位。
4.多寄存器的Load/Store指令
5.能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作。
6.通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型。
7.算上16 Thumb指令,在Thumb体系结构中以高密度16位压缩形式表示指令集。