发布网友 发布时间:2022-05-15 08:53
共1个回答
热心网友 时间:2023-11-07 14:42
复杂指令集计算机(CISC),长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,待处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条. 传统计算机大多数为复杂指令系统计算机CISC(Complex Instruction Set Computer),机器结构以存储器为中心,认为机器执行速度和程序代码大小成比例,绝大多数指令需要多个时钟周期执行完毕。计算机指令系统十分庞大和复杂(指令条数多,寻址方式多,指令格式也很多),如1973年的IBM370/168基本指令208条,寻址方式4种,指令格式2~6个字节。1978年的VAⅫ/780基本指令304条,24种寻址方式,指令格式2~57个字节,其中微代码存储器大小约480KB。指令的控制执行是采用微程序控制技术,有专用的寄存器。这样庞大的指令系统使得控制器十分复杂,占用了大量CPU芯片面积,可是有些复杂指令又用得很少,难以用优化编译生成高效目标代码。处理器的执行效率不高。指令系统与软件之间语义差别越来越大,软件设计任务十分繁重,整个设计风格不是十分经济有效的。
在计算机指令系统的优化发展过程中,出现过两个截然不同的优化方向:CISC技术和RISC技术。CISC是指复杂指令系统计算机(Complex Instruction Set Computer);RISC是指精简指令系统计算机(Reced Instruction Set Computer)。这里的计算机指令系统指的是计算机的最低层的机器指令,也就是CPU能够直接识别的指令。随着计算机系统的复杂,要求计算机指令系统的构造能使计算机的整体性能更快更稳定。最初,人们采用的优化方法是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度,这种计算机系统就被称为复杂指令系统计算机,即Complex Instruction Set Computer,简称CISC。另一种优化方法是在20世纪80年代才发展起来的,其基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现,这种计算机系统就被称为精简指令系统计算机.即Reced Instruction Set Computer,简称RISC。RISC技术的精华就是通过简化计算机指令功能,使指令的平均执行周期减少,从而提高计算机的工作主频,同时大量使用通用寄存器来提高子程序执行的速度。
从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿用。桌面计算机流行的x86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有一些已经更名的厂商,如TI(德州仪器)、Cyrix以及ⅥA(威盛)等。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(IntelArchitecture,英特尔架构)为主,而且多数为中低档服务器所采用。