复杂指令系统计算机(ComplexInstructionSetComputer)简称(CISC),是一种微处理器指令集架构(ISA),微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。这些指令被称为微理器的微代码(microcode),不同制造商的微处理器有不同的微代码系统,制造商可按自己的意愿使微代码做得简单或复杂。指令系统越丰富,微处理器编程就越简单,然而,执行速度也相应越慢。
1.指令格式不固定,指令可长可短,操作数可多可少.
2.寻址方式复杂多样,操作数可来自寄存器,也可来自存储器.
3.使用微代码,指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行.
4.允许设计师实现CISC体系机器的向上相容.新的系统可以使用一个包含早期系统的指令超集合.
5.微程式指令的格式与高阶语言相匹配,因而编译器的设计较简单.
6.CPI>5,指令越复杂,CPI越大.
1.指令使用频度不均衡."80~20"的理论,80%的计算任务只需要调用20%的指令就能完成; 扩充的复杂指令往往是低频度指令.
2.大量复杂指令的控制逻辑不规整.不适于VLSI集成,微程序的使用反而制约了速度提高.
3.CISC指令的格式长短不一,需要不同的时钟周期来完成.执行较慢的指令将影响整台机器的执行效率.不利于采用先进指令级并行技术.
4.软硬功能分配.复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增多,数据重复利用率低