
六、请简述复杂指令集计算机(CISC)和精简指令集计算机(RISC)的特征。
答:
特征 RISC CISC
指令功能 选取使用频率高的指令,并补充一些必要的指令;指令功能尽量简单 提供功能复杂的指令
寻址方式 选择使用频率高且实现容易的寻址方式,例如寄存器寻址,立即值寻址等;抛弃比较复杂,可能带来很多不定因素的寻址方式,例如存储器间接寻址;寻址方式的表示尽量保持简单,通常可以根据操作码确定,以利于译码 支持复杂的寻址方式,并支持灵活而复杂的寻址方式表示,例如为每一个操作数指定不同的寻址方式。寻址方式与操作码的耦合度相对较低。
指令周期 尽量使每条指令的执行时间做到均衡,都在一个机器周期内完成 允许指令有不同的执行时间。简单指令可能在一个机器周期内完成,而复杂指令可能需要很多机器周期才完成。
指令长度 所有指令长度均相同,且固定 允许指令长度可变
指令格式 采用较为简单的指令格式,字段位置基本固定且含义明确,多义情况较少,以便高效译码 指令格式灵活,操作码和操作数可能包含修饰字段,需要扫描检查以确定各个字段的含义,译码较为复杂
访存操作 只有Load和Store操作指令才访问存储器,其它指令操作均在寄存器之间进行 允许算术逻辑运算指令的操作数来自于存储器
操作数类型 只支持简单的数据类型,如定点整数,浮点数,字符等 可以支持复杂的数据类型,例如VAX指令集包含有直接操作“队列”的指令
操作数数目 通常只支持最多2到3个操作数 可以支持超过3个以上的操作数
对高级程序设计语言的支持 通过组合功能简单的指令去实现复杂的高级程序设计语言语句功能,因此由高级程序设计语言编译得到目标文件指令数较多 提供了面向高级程序设计语言的复杂指令,能用较少的指令数目实现复杂的高级程序设计语言语句功能
对于CPU流水线设计的支持 面向高效的CPU流水线设计。功能简单而规整的指令集有利于设计出简洁高效的流水线。 复杂而且不定因素较多的指令集给流水线设计带来较大困难
对于编译器优化的支持 功能简单而规整的指令集有利于编译器进行各种优化抉择。 复杂而且不定因素较多的指令集给编译器的优化抉择带来较大困难
出自:江开 >> 湖南大学-自算计体系结构