昨天的文章中,我们聊了ARM处理器,提到目前的处理器中,一般分为CISC和RISC两大系列,CISC(复杂指令集处理器)中常用的指令集只占源代码的20%,剩余的80%不常用。
为了改变这种不合理,出现了RISC即精简指令集处理器。其通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单,尽量使用单周期指令,便于流水线操作执行。
今天我们再深入的聊一聊RISC CPU,那么首先什么是CPU?
CPU是什么
CPU是Central Processing Unit(中央处理单元)的缩写,被称为计算机的大脑。首先我来介绍一下计算机的运行过程(如想了解详细情况,可深入学习《微机接口原理》)。
CPU工作过程
计算机在进行信息处理的时候,一般分为两步:
- 将程序和要进行处理的数据,放到计算机的存储系统中;
- 从存储系统中,拿数据,运行相应的程序,得到结果。
我们今天要聊的CPU,就是负责协调、指挥、控制程序有条不紊的进行。一般控制过程分为以下几步:
- 取指令。当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。
- 指令译码。分析当前取得的指令,根据分析的结果,产生相应的控制命令,进行相应的操作。
- 执行指令。根据指令译码时产生的“操作命令”,产生相应的操作控制信号序列,通过运算单元,存储器系统及输入/输出接口设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。
CPU的结构
现在市场上的CPU性能指标和结构细节十分繁杂,但是完成的功能都相同,所以基本结构也都雷同,基本要包含下面这些部件:
- 算术逻辑运算单元(ALU)。用于执行算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
- 累加器。用于存放当前运算的结果。
- 程序计数器。用于提供指令地址。
- 指令寄存器,译码器。用于将数据总线送入的指令,放入指令寄存器。
- 时序和控制部件。用于根据译码结果,发出“操作指令”的控制信号。
RISC(Reduced Instruction Set Computer)
RISC即精简指令集计算机,一般的CPU 相比,不仅只是简化了指令系统,而且是通过简化指令系统,使计算机的结构更加简单合理,从而提高了运算速度。
从实现的途径看,RISC_CPU与一般的CPU的不同处在于:它的时序控制信号形成部件是用硬布线逻辑实现的,而不是采用微程序控制的方式。
硬布线逻辑,就是用触发器和逻辑门,直接连线,所构成的状态机和组合逻辑,故产生控制序列的速度,比用微程序控制方式快得多,因为这样做省去了读取微指令的时间。
RISC CPU结构
RISC CPU很复杂,这里我们尝试将它拆分成以下基本部件:
- 时钟发生器。用于产生CPU各个部件的时钟。
- 指令寄存器。将数据总线送入的指令,放入指令寄存器。
- 累加器。用于存放当前运算的结果。
- 算术逻辑运算单元。用于根据输入的操作码,进行相应的加、与、异或等操作。
- 数据控制器。用于控制累加器的数据输出。
- 状态控制器。用于产生一系列的控制信号,启动或停止某些部件。
- 程序计数器。用于提供指令地址。
- 地址多路器。用于选择输出的地址是PC(程序计数)地址还是数据/端口地址。
小结
本篇文章,只是想从各个大的部分,来比较一下CPU和RISC CPU的区别,所以有的部分并没有展开来讲,后续的文章中,我会再针对一些小的部分,讲的再细化一些,但是,个人建议,先对CPU的整个运行过程,有一个比较全面的认知,然后再深入,可能效果能更好一些。