文章目录
- 一.复杂指令系统计算机CISC
- 二.精简指令系统计算机RISC
- 三.CISC和RISC比较
一.复杂指令系统计算机CISC
为增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类机器成为复杂指令系统计算机CISC(Complex Instruction Set Computer)
1.设计思路:一条指令完成一个复杂的基本功能。
2.代表:x86架构,主要用户笔记本、台式机等
3.特点:
(1)指令系统复杂庞大,指令数目一般大于200条
(2)指令的长度不固定,指令格式多,寻址方式多
(3)可以访存的指令不受限制
(4)各种指令使用频度相差很大
(5)各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成
(6)控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连接控制
(7)难以用优化编译生成高效的目标代码程序
- 微程序:微程序设计是用规整的存储逻辑代替不规则的硬接线逻辑来实现计算机控制器功能的技术。每一条指令启动一串微指令,这串微指令称为微程序。微程序存放在控制存储器中,修改控制存储器内容可以改变计算机的指令。
- 微程序控制器:将控制器所需的微命令以代码形式编成微指令,存入一个由ROM构成的控制存储器(CM)中。将各种机器指令的操作分解成若干微操作序列。每条微指令包含的微命令控制实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。
比如设计一套能实现整数、矩阵加/减/乘运算的指令集,CISC除了提供整数的加/减/乘指令之外,还提供矩阵的加/减/乘指令,共6条。一条指令可以由一个专门的电路完成。但有的复杂指令用纯硬件实现很困难(如乘法),所以通常采用“存储程序”的设计思想,由一个比较通用的电路配合存储部件完成一条指令,这些通用的电路及存储部件配合实现复杂的指令(乘法),这就是微程序。
因为各种指令的使用频率相差悬殊,大概只有20%的指令被反复使用,约占整个程序的80%,而剩余80%左右的指令很少使用,因此提出了RISC
二.精简指令系统计算机RISC
为减少指令种类、简化指令功能,提出了精简指令系统计算机RISC(Reduced Instruction Set Computer)
1.设计思路:一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能。
2.代表:ARM架构,主要用于手机、平板等
3.特点:控制方式采用组合逻辑控制,效率更高。各种指令执行时间相差不大,便于实现“并行”、“流水线”
比如设计一套能实现整数、矩阵加/减/乘运算的指令集,RISC只提供整数的加/减/乘指令。一条指令对应一个电路,电路设计相对简单,功耗更低。
三.CISC和RISC比较
1.可访存指令
RISC只有Load指令(从主存读到寄存器)和Store指令(从寄存器往主存写)可以访存,因此需要较多的寄存器。乘法指令取数时需要访存,并没有用到这两条指令,因此乘法指令一定不是RISC。因为CISC可以访存的指令不受限制,所以乘法指令是CISC
2.目标代码
CISC相当于提供了很多库函数(库函数难以修改),而RISC相当于基本操作语句。因此CISC难以用优化编译生成高效的目标代码程序(库函数),RISC采用优化的编译程序,生成代码较为高效
- 什么是RISC,简述它的主要特点
RISC是精简指令系统计算机,它减少了指令种类、简化了指令功能。
特点:
①让复杂的指令功能由频度高的简单指令的组合来实现;
②指令长度固定、指令格式种类少,寻址方式种类少;
③只有取数/存数指令访问存储器,其余指令的操作都在寄存器内完成;
④CPU中有多个通用寄存器;
⑤采用流水线技术,大部分指令在一个时钟周期内完成;
⑥控制器采用组合逻辑控制,不用微程序控制;
⑦采用优化的编译程序,生成代码较为高效 - RISC和CISC有哪些不同点
①CISC复杂指令系统计算机:指令字长不固定,可访存指令不加限制,通用寄存器少,难以用优化编译生成高效的目标代码程序。RISC精简指令系统计算机:指令字长固定,可访存指令只有Load/Store指令,寻址方式简单,绝大多数指令执行时间在一个周期内完成,通用寄存器多,必须实现指令流水线
②RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。
③RISC系统虽然有很高的性能,但由于历史原因,CISC产品已经占据广大终端用户市场,而RISC又不能与CISC兼容,这使得RISC产品难以在短期内改变市场格局。目前RISC产品主要应用于高端服务器和工作站领域。