- 指令系统分类
复杂指令系统计算机(CISC:complex instruction set computer)
设置一些复杂的指令,把一些计算机功能集成到硬件的指令系统实现
精简指令系统计算机(RISC:Reduced Instruction-Set Computer)
设置简单指令功能,保留功能简单能在一个节拍内完成的指令
- 复杂指令系统计算机(CISC:complex instruction set computer)
特点
指令数量众多:通常有100~250条左右
指令使用频率相差悬殊:有20%的指令在80%程序用到
支持很多种寻址方式:选址方式有5~20钟
变长的指令:长度不固定,增加了指令译码器电路的复杂性
指令可对主存单元中的数据直接进行处理
以微程序控制为主:由于复杂性,用硬件难以实现,通常用微程序
目标程序优化
优化目标
缩短程序的长度,也就是减少程序的空间开销
缩短程序的执行时间,也即是减少程序的时间开销
主要途径:增加指令功能,具体是
数据传送指令
运算类指令
程序控制指令
具体做法
分析程序中使用频率高和时间长的指令和指令串
对于指令用硬件代替实现
对于指令串用一条心的指令代替
对高级语言和编译程序的优化
增加支持高级语言和编译程序的功能,减少体系结构中特殊情况
设计高级语言计算机,这种计算机不需要经过编译,而是直接由机器的硬件执行,例如LISP计算机和PROLOG计算机
操作系统优化
复杂指令系统缺陷
2-8原则:指令使用频率悬殊,20%的指令在80%程序中用到
超大规模集成电路问题:控制逻辑不规整
软硬件分配问题:为了支持高级语言、目标程序、编译程序,常用一条指令代替指令串,这使用那条指令的实现异常复杂,增加了硬件复杂长度和指令的执行周期