ARM学习系列 ---- RISC和CISC概述 行情价格 商务服务

chibohandong 2023-3-6 114

1 引言

        CPU发明到现在,有非常多种架构涌现出来,目前市场上主流的芯片架构有 X86、ARM、RISC-V和MIPS四种:

架构 指令集 特点

x86 CISC 因特尔和AMD,占领了95%以上的桌面计算机和服务器市场

ARM RISC 在智能手机、可穿戴设备等移动处理器市场占领主要地位

MIPS RISC 广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上

RISC-V RISC 基于RISC-V 指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。

2 CISC和RISC 

       CISC(Complex Instruction Set Computer),设计思路是用一条指令完成一个复杂的基本功能;RISC(Reduced Instruction Set Computer),设计思路是一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能。

       举个例子:CISC提供的乘法指令,调用时可以完成内存a和内存b中两个数据相乘,结果存入内存c中,需要多个CPU cycle才能完成;而RISC不提供“一站式”的乘法指令,需要调用四条单CPU cycle的指令完成两个数的相乘:

       (1) 内存a加载到寄存器;

       (2) 内存b加载到寄存器;

     (3)两个寄存器中数相乘;

       (4) 寄存器结果写入内存c。

       关于CISC和RISC具体指标的对比见下图:

对比项 CISC RISC

指令系统 复杂,庞大 简单,精简

指令数目 一般大于200条 小于100条

指令字长 不固定 定长

可访存指令 无限制

只有Load/Store指令

指令执行时间 相差较大 绝大多数在一个周期内完成

指令使用频度 相差加大 都比较常用

通用寄存器数量 较少 多

目标代码 难以用优化编译生成高效的目标代码程序 采用优化的编译程序,生成代码较为高效

控制方式 绝大多数位微程序控制 绝大多数位组合逻辑控制

指令流水线 可以通过一定方式实现 必须实现

        对于通用寄存器数量,RISC的数量多,而CISC的数量少的原因是:RISC在处理一个任务时往往会拆分成几个部分的指令,每个部分的指令往往需要多个通用寄存器来存储中间结果;而CISC则往往一条指令把一个任务都做完了,无需太多的通用寄存器。

        对微程序控制的解释:复杂指令直接用硬件实现的话,需要的硬件数量会过多,故往往需要一些存储的部件来辅助实现,而微程序控制器就是这一类部件。百度百科解释:微程序控制的基本思想,就是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里.当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作 。

        从硬件角度来看:CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定。因此在并行处理方面RISC明显优于CISC,RISC可同时执行多条指令,它可将一条指令分割成若干个进程或线程,交由多个处理器同时执行。由于RISC执行的是精简指令集,所以它的制造工艺简单且成本低廉。

       基于上述描述,可以发现,CISC指令较为复杂,因此,其对应的编译器会相对简单,源码编译出来的汇编文件和二进制文件小,但是硬件实现比较复杂,对工艺要求高。与之相反,RICS指令比较简单,由多条指令组合完成复杂的操作,绝大多数指令在一个cycle完成,因此,其对应的编译器会相对复杂,源文件编译出的汇编文件指令多,文件也更大,但是硬件实现简单,对工艺要求较低。

       CISC由于指定功能复杂,规则性不好,不利于采用流水线技术提升性能。RICS指令相对规整,功能简单,适合采用流水线技术提高性能,如下图所示:

3 参考:

chibohandong


上一篇:(计算机组成原理)RISC与CISC的区别
下一篇:RISC的主要特点和优点
最新回复 (0)
返回