发布网友 发布时间:2022-05-15 08:53
共1个回答
热心网友 时间:2023-09-14 04:04
采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司设在纽约Yorktown的JhomasI.Wason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能。1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点. 首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.
复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.尽管VLSI技术已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度. 因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令,并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(Reced Instruction Set Computer-RISC)结构.简称RISC.
指令系统庞大,指令功能复杂,指令格式、寻址方式多;绝大多数指令需多个机器周期完成;各种指令都可访问存储器;采用微程序控制;有专用寄存器,少量;难以用优化编译技术生成高效的目标代码程序。
CISC存在的问题
⑴指令系统庞大,指令功能复杂,指令格式、寻址方式多;
⑵执行速度慢;
⑶难以优化编译,编译程序复杂;
⑷80%的指令在20%的运行时间使用;无法并行;无法兼容;
⑸CISC强调完善的中断控制, 势必导致动作繁多,设计复杂,研制周期长;
⑹CISC给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。
导致CISC指令系统复杂的主要原因
减少语义差距减少存储空间,提高速度为了向上兼容带来的后果电路复杂,编译效率低无法并行;无法兼容 典型的CISC产品 项目 VAX11/780 1978年 Intel80386 1985年 MC68020 1984年指令条数 304 111 101寻址方式24 11 16指令格式变长(2-57byte) 变长(1-17byte) 16
从CISC到RISC CISC指令系统存在的问题
20%与80%规律 CISC中,大约20%的指令占据了80%的处理机时间。其余80%指令:使用频度只占20%的处理机运行时间VLSI技术的发展引起的问题 VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求主存与控存的速度相当,简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别;由于VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。软硬件的功能分配问题复杂的指令使指令的执行周期大大加长一般CISC处理机的指令平均执行周期都在4以上,有些在10以上 CISC增强了指令系统功能,简化了软件,但硬件复杂了,设计周期加长。