指令系统的发展和CISC设计思想
来源: 作者: 时间:2009-01-13 17:50
回顾计算机的发展历史,指令系统的发展经历了从简单到复杂的演变过程。早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指令系统也越来越丰富。在70年代,高级语言己成为大、中、小型机的主要程序设计语言,计算机应用日益普及。由于软件的发展超过了软件设计理论的发展,复杂的软件系统设计一直没有很好的理论指导,导致软件质量无法保证,从而出现了所谓的“软件危机”。人们认为,缩小机器指令系统与高级语言语义差距,为高级语言提供很多的支持,是缓解软件危机有效和可行的办法。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样的复杂的、面向高级语言的指令,使指令系统越来越庞大。这是几十年来人们在设计计算机时,保证和提高指令系统有效性方面传统的想法和作法。按这种传统方法设计的计算机系统称为复杂指令系统计算机(Complex Set Instruction Computer),简称CISC.
RISC是一种计算机体系结构的设计思想,是近代计算机体系结构发展史中的一个里程碑。然而,直到现在,RISC还没有一个确切的定义。90年代初,IEEE的Michael Slater对于RISC的定义做了如下描述: RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。
1.RISC为使流水线高效率执行,应具有下述特征: (1) 简单而统一格式的指令译码; (2) 大部分指令可以单周期执行完成; (3) 只有L AD和STORE指令可以访问存储器; (4) 简单的寻址方式 ; (5) 采用延迟转移技术; (6) 采用LOAD 延迟技术。
2.RISC为 使优化编译器便于生成优化代码,应具有下述特征: (1) 三地址指令格 式 ; (2) 较多的寄存器 ; (3) 对称的指令格式 。
减少指令平均执行周期数是RISC思想的精华。