1、CISC
Complex Instruction Set Computer设计思路:一条指令完成一个复杂的基本功能。
代表:×86架构,主要用于笔记本、台式机等。
80-20规律:典型程序中80%的语句仅仅使用处理机中20%的指令
特点:
(1)指令系统复杂庞大,指令数目一般大于200条
(2)指令的长度不固定,指令格式多,寻址方式多
(3)可以访存的指令不受限制
(4)各种指令使用频度相差很大
(5)各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成
(6)控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连接控制
(7)难以用优化编译生成高效的目标代码程序
2、RISC
RISC:Reduced Instruction Set Computer设计思路:一条指令完成一个基本“动作”。多条指令组合完成一个复杂的基本功能。
代表:ARM架构,主要用于手机、平板等。
特点:控制方式采用组合逻辑控制,效率更高。各种指令执行时间相差不大,便于实现“并行”、“流水线”
比如设计一套能实现整数、矩阵加/减/乘运算的指令集,RISC只提供整数的加/减/乘指令。一条指令对应一个电路,电路设计相对简单,功耗更低。
3、总结
类别 | CISC | RISC |
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 一般大于200条 | 一般小于100条 |
指令字长 | 不固定 | 定长 |
可访存指令 | 不加限制 | 只有Load/Store指令 |
各种指令执行时间 | 相差较大 | 绝大多数在一个周期内完成 |
各种指令使用频度 | 相差很大 | 都比较常用 |
通用寄存器数量 | 较少 | 多 |
目标代码 | 难以用优化编译生成高效的目标代码程序 | 优化的编译程序,生成代码较为高效 |
寻址方式 | 支持多种寻址方式 | 支持方式少 |
实现方式 | 微程序控制技术 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 |
常见考题
1、什么是RISC,简述它的主要特点。
RISC是精简指令系统计算机,它减少了指令种类、简化了指令功能。
特点:
①让复杂的指令功能由频度高的简单指令的组合来实现;
②指令长度固定、指令格式种类少,寻址方式种类少;
③只有取数/存数指令访问存储器,其余指令的操作都在寄存器内完成;
④CPU中有多个通用寄存器;
⑤采用流水线技术,大部分指令在一个时钟周期内完成;
⑥控制器采用组合逻辑控制,不用微程序控制;
⑦采用优化的编译程序,生成代码较为高效
2、RISC和CISC有哪些不同点
①CISC复杂指令系统计算机:指令字长不固定,可访存指令不加限制,通用寄存器少,难以用优化编译生成高效的目标代码程序。RISC精简指令系统计算机:指令字长固定,可访存指令只有Load/Store指令,寻址方式简单,绝大多数指令执行时间在一个周期内完成,通用寄存器多,必须实现指令流水线
②RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。
③RISC系统虽然有很高的性能,但由于历史原因,CISC产品已经占据广大终端用户市场,而RISC又不能与CISC兼容,这使得RISC产品难以在短期内改变市场格局。目前RISC产品主要应用于高端服务器和工作站领域。