复杂指令和精简指令.docx
4页复杂指令(CISC)系统和精简指令(RISC)系统复杂指令(CISC )系统复杂指令系统计算机(ComplexinstruetionSetComputer)简称(CISC),微处理器是台 式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路指令由完成任务的 多个步骤所组成,把数值传送进寄存器或进行相加运算这些指令被称为微理器的微代码 (microcode),不同制造商的微处理器有不同的微代码系统,制造商可按自己的意愿使微代 码做得简单或复杂指令系统越丰富,微处理器编程就越简单,然而,执行速度也相应越慢概述复杂指令集计算机(CISC),长期来,计算机性能的提高往往是通过增加硬件的复杂性 来获得•随着集成电路技术•特别是VLSI (超大规模集成电路)技术的迅速发展,为了软 件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指 令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件 越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器 和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,傲处理 在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为 复杂指令集计算机(ComplexInstruetionSetComputer-CISC)结构.一般CISC计算机所含的 指令数目至少300条以上,有的甚至超过500条.传统计算机大多数为复杂指令系统计算机CISC(ComplexInstruetionSetComputer),机 器结构以存储器为中心,认为机器执行速度和程序代码大小成比例,绝大多数指令需要多个 时钟周期执行完毕。
计算机指令系统十分庞大和复杂(指令条数多,寻址方式多,指令格式 也很多),如1973年的IBM370/168基本指令208条,寻址方式4种,指令格式2〜6个字 节1978年的VAXII/780基本指令304条,24种寻址方式,指令格式2〜57个字节,其中 微代码存储器大小约480KB指令的控制执行是采用微程序控制技术,有专用的寄存器这 样庞大的指令系统使得控制器十分复杂,占用了大量CPU芯片面积,可是有些复杂指令又用 得很少,难以用优化编译生成高效目标代码处理器的执行效率不高指令系统与软件之间 语义差别越来越大,软件设计任务十分繁重,整个设计风格不是十分经济有效的缺点采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是 有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看 过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约York town的JhomasI.Wason 研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指 令系统不但不易实现.而且还可能降低系统性能 1979年以帕特逊教授为首的一批科学家 也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用 的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这 些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在 实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易 造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件 做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操 作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方 式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包 含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照 这个原则发展而成的计算机被称为精简指令集计算(ReducedIns true tionSe tCompu ter-RISC) 结构.简称 RISC.精简指令(RISC)系统RISC 结构的最大特点是指令系统简单。
RISC 的基本特征:(1) 精简指令数量;(2) 简化指令格式;(3) 采用单周期指令;(4) 采用寄存器操作;(5) 硬线控制逻辑;(6) 优化编译程序;其实目前RISC还具有以下特点1、面向寄存器结构2、 注重提高流水线的执行效率,尽量让减少流水线断流,提高流水线效率3、 优化编译技术RISC 指令系统设计方法:RISC 的设计思想CISC存在的主要问题:指令系统日趋庞大和复杂,使机器的设计周期延长,成本升高, 错误增多,可靠性降低;指令的译码和操作的复杂,使指令执行速度降低;高级语言源程序 的优化编译变得困难,编译的时空开销增大;指令系统中,约有 80%的指令的使用频度很 低,因此,指令系统的性能价格比低针对CISC结构存在的这些问题,提出了 RISC的设计思想RISC实现的关键技术重叠寄存器窗口技术;采用流水和优化延迟转移技术;在逻辑上采用硬件实现为主, 固件实现为辅的技术;采用优化编译技术详细说明RISC技术中所采用的特殊方法:1、采用较大量的寄存器,采用窗口重叠寄存器技术窗口重叠技术:在RISC结构中,为了减少过程调用中保存现场和建立新现场,以及返 回时恢复现场等辅助操作,通常将所有寄存器分成若干个组,称为寄存器窗口。
每组中有若 干个寄存器,每当有过程调用时,就分配一个未被使用的寄存器窗口,这样就可减少保存和 恢复现场的开销此外在每个寄存器窗口中,又分成大小固定的高区、本地和低区三个区段 其中本地区用来存放局部变量,高区在被调用时用来保存调用过程送来的参数,而在返回主 调用过程时,存放返回结果而低区在调用时存放欲送往被调用过程的参数,而在被调用过 程返回时用来存放返回结果在使用时,每一对调用和被调用过程的寄存器窗口各自的低区 和高区相互重叠一旦发生过程调用或返回,在控制由一个窗口转换到另一窗口时,这些参 数就通过两个窗口间的公共寄存器区自动的被传送而不需要再用额外的传送时间可参照 教材进行理解)2、采用优化延迟转移技术优化延迟转移技术:即是使转移指令在准备将控制转向目标指令的同时,执行紧随在转 移指令之后的那条指令,也就是是在将转移指令后延迟槽内的指令执行完毕后,才发生真正 的转移(不论转移是否成功),这种优化技术可在保证程序正确执行的同时又可避免延迟转 移中损失的一个机器周期时间3、采用比较转移指令比较-转移指令:在RISC机中,把比较和转移(在CISC机中需用两条指令完成的功能) 合并成一条指令。
该指令将直接对两个对象(寄存器-寄存器或存储器-立即数)进行相等或 不等比较,然后根据比较结果判别是否进行转移这样就可省去一条指令,并不受条件码的 约束4、采用优化编译技术 优化编译技术:在编译时就可发现可能出现的阻塞情况,由编译器通过重排指令执行序 列来消除可能出现的阻塞情况,当无法消除时就填入相应的空操作,因此不需要硬件的互锁 流水支持RISC 指令系统设计原则:( 1)精简指令系统计算机使计算机结构变得更加简单、合理和有效,它克服了传统计 算机结构上的不足下面指出RISC机器应当遵循的原则2) 在确定指令系统时,选择那些使用频度高的指令,在此基础上增加少量支持操作 系统和高级语言实现及其他功能的有用指令,寻址方式也取最基本的一、两种,使指令条数 少,格式简单,并具有相同长度3) 提高处理速度,采用流水线技术使每一条指令都在一个机器周期内完成,因此, 增加大量内部通用寄存器,仅存数、取数访问内存,大部分指令操作在寄存器之间进行,采 用硬件逻辑控制实现操作,只有少量使用微程序实现 4)通过精简指令和优化设计编译程序,以简单有效方式支持高级语言实现,将编译 器作为机器的基本功能,大大地简化了编译工作,一个周期完成一条指令操作,编译器易于 调整指令流。
以上原则缩短了研制周期,在性能价格比方面比CISC优越得多CISC和RISC的区别CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构它们的区别 在于不同的CPU设计理念和方法早期的CPU全部是CISC架构,它的设计目的是要用最少 的机器语言指令来完成所需的计算任务oRISC和CISC是设计制造微处理器的两种典型技术, 虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做 出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们 主要有:(1) 指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单 高效的特色对不常用的功能,常通过组合指令来完成因此,在RISC机器上实现特殊功 能时,效率可能较低但可以利用流水技术和超标量技术加以改进和弥补而CISC计算机 的指令系统比较丰富,有专用指令来完成特定的功能因此,处理特殊任务效率较高2) 存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作 指令多,操作直接3) 程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易 设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易, 效率较高。
4) 中断:RISC机器在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指 令执行结束后响应中断5) CPU: RISCCPU包含有较少的单元电路,因而面积小、功耗低;而CISCCPU包含有丰富 的电路单元,因而功能强、面积大、功耗大6) 设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术; CISC微处理器结构复杂,设计周期长7) 用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处 理器结构复杂,功能强大,实现特殊功能容易8) 应用范围:由于RISC指令系统的确定与特定的应用领域有关,故RISC机器更适合于 专用机;而CISC机器则更适合于通用机。





