《指令系统的发展和改进.ppt》由会员分享,可在线阅读,更多相关《指令系统的发展和改进.ppt(58页珍藏版)》请在三一办公上搜索。
1、4 指令系统的发展和改进,CISC和RISC按CISC方向发展和改进指令系统按RISC方向发展和改进指令系统,指令系统的优化设计,优化指令系统设计的3个阶段:CISC:复杂指令系统60年代至70年代中期RISC:精简指令系统70年代后期至现在VLIW:80年代初期至现在关键在软硬件的功能分配,系统的综合性能时间与空间;执行、编译、编写时间,复杂指令系统计算机,Complex Instruction Set Computer CISC 增强原有指令的功能,设置更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化。IBM 370、VAX-11/780、VAX 8600、Intel i
2、486、MC 68040方法:用一条指令代替一串指令增加新的指令增强指令功能,设置功能复杂的指令增加寻址方式增加数据表示方式优化的途径:面向目标代码面向高级语言面向操作系统,指令系统复杂的原因,当高级语言(如C语言)取代汇编语言后,就不断增加新的复杂指令来支持高级语言程序的高效实现;由于访主存的速度显著低于访CPU寄存器的速度,因此在功能相同时,不断用一条功能复杂的新指令来取代原先需一连串指令完成的功能,将程序软件固化和硬化;系列机软件要求向上兼容和向后兼容,使得指令系统不断扩大和增加;,精简指令系统计算机,Reduced Instruction Set Computer RISC减少指令总数
3、和简化指令的功能,降低硬件设计的复杂性,提高指令的执行速度。Sun SPARC、Intel i860、MC 88100、IBM 6150只保留功能简单的指令功能较复杂的指令用软件实现提高流水线效率,超长指令字,Very Long Instruction Word VLIW 一种显式指令级并行指令系统二维程序结构指令级并行度高,按CISC方向发展与改进指令系统,面向目标程序的优化实现改进 面向高级语言的优化实现改进 面向操作系统的优化实现改进,面向目标程序的优化实现来改进,对使用频度高的指令增强其功能静态使用频度-减少存储空间动态使用频度-减少执行时间提高运算型指令功能提高传送指令功能增加成组取
4、、成组传送指令增加条件转移指令增加程序控制指令功能,举例,IBM360指令串:(VARIABLE)+N-(VARIABLE)ST REG,SAVEL REG,VARIABLE 增设一条指令LA REG,N,(REG)增量 N X2 B2 D2ST REG VARIABLEL REG,SAVE5条,20个字节,8.8微秒 1条,4个字节,2.7微秒,面向高级语言的优化实现来改进,增加对高级语言和编译系统支持的指令功能高级语言计算机指令系统对源程序中各种高级语言语句的使用频度进行统计面向编译,优化代码生成改进指令系统,减少语义差距让机器具有分别面向各种高级语言的多种指令系统、多种系统结构,并能动态
5、切换发展高级语言计算机;间接执行高级语言机器:高级语言直接成为机器的汇编语言直接执行高级语言机器:让高级语言本身作为机器语言,由硬件或固件对高级语言源程序的语句逐条进行解释执行;,各种语言与传统机器指令系统结构的语义差距,各种机器的语义差距,面向操作系统的优化实现来改进,通过对操作系统中常用的指令和指令串的使用频度进行统计和分析来改进专用于操作系统的新指令,举例:测试与置定 自学比较与交换 自学把操作系统由软件子程序实现的某些功能进行硬化或固化,改用硬件和固件实现发展让操作系统由专门的处理机来完成的功能分布处理系统结构,按RISC方向发展与改进指令系统,精简指令系统思想的提出IBM公司的Joh
6、n Cocke设计一个电话交换系统的控制器,1979年研制出32位的IBM 801 小型计算机,120条指令,10MIPS(1千万条指令/秒)。1979年,美国加州大学伯克利分校David Patterson研究小组开始研究RISC系统。1981年Patterson等人研制了32位RISC I微处理器,共31种指令,3种数据类型,2种寻址方式;研制周期10个月,比当时最先进的MC68000和Z8002快3至4倍;1983年又研制了RISC II,指令种类扩充到39种,单一的变址寻址方式,通用寄存器138个,CISC的主要特点,指令系统庞大,指令功能复杂,指令格式、寻址方式多;绝大多数指令需多个
7、机器周期完成;各种指令都可访问存储器;采用微程序控制;有专用寄存器,少量;难以用优化编译技术生成高效的目标代码程序;,CISC存在的问题,指令系统庞大,指令功能复杂,指令格式、寻址方式多;执行速度慢;难以优化编译,编译程序复杂;80%的指令在20%的运行时间使用;无法并行;无法兼容;,导致CISC指令系统复杂的主要原因,减少语义差距减少存储空间,提高速度为了向上兼容,带来的后果电路复杂,编译效率低 无法并行;无法兼容,典型的CISC产品,从CISC到RISC,CISC指令系统存在的问题:20与80规律CISC中,大约20的指令占据了80的处理机时间。其余80指令:使用频度只占20的处理机运行时
8、间VLSI技术的发展引起的问题VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求主存与控存的速度相当,简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别;由于VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。,二八法则,1897年,意大利经济学家帕累托(18481923)偶然注意到英国人的财富和收益模式,于是潜心研究这一模式,并于后来提出了著名的二八法则。一般情况下,我们付出的80的努力,也就是绝大部分的努力,都没有创造收益和效果,或者是没有直接创造收益和效果。而我们80的收获却仅仅来源于20的努力,其他80的付出只带来20的成果。,二八
9、法则,为公司创造80收益的客户实际上只占所有客户的20;而在企业中,20的员工为企业创造了80的收益。80的交通事故是被那些20的违规驾驶者造成的;家里的地毯有20遭受了80程度的磨损;你所有衣服中的20占据了你全部生活时间的80;你的电脑80的故障是由20的原因导致的;你一生使用的80的文句是用字典里20的字组成的。而在考试中,20的知识能为你带来80的分数。同样的道理,你20的朋友,占据了你80与朋友见面的时间,二八法则,20时间赢得80的快乐研究二八法则的专家理查德科克认为:凡是洞悉了二八法则的人,都会从中受益匪浅,有的甚至会因此改变命运。传统的智慧教你不要把所有的鸡蛋放在同一个篮子里,
10、可是二八法则却要你小心选定一个篮子,将你所有的鸡蛋放进去,然后像老鹰一样盯紧它。,二八法则,在CISC中,大约20的指令占据了80的处理机执行时间。例如:8088处理机的指令种类大约100种前11种(11)指令的使用频度已经超过80前8种(8)指令的运行时间已经超过80前20种(20)指令:使用频度达到91.1,运行时间达到97.72其余80的指令:使用频度只有8.9,2.28的处理机运行时间,从CISC到RISC(续),软硬件的功能分配问题复杂的指令使指令的执行周期大大加长一般CISC处理机的指令平均执行周期都在4以上,有些在10以上CISC增强了指令系统功能,简化了软件,但硬件复杂了,设计
11、周期加长。,RISC的定义,卡内基梅隆(Carnegie Mellon)大学论述RISC的特点如下:大多数指令在单周期内完成LOAD/STORE结构硬布线控制逻辑减少指令和寻址方式的种类固定的指令格式注重编译的优化,RISC的定义,90年代初,IEEE的Michael Slater对RISC定义的描述:RISC为使流水线高效率执行,应具有:简单而统一格式的指令译码大部分指令可以单周期执行完成仅Load和Store指令可以访问存储器简单的寻址方式采用延迟转移技术采用LOAD延迟技术RISC为使优化编译器便于生成优化代码,应具有:三地址指令格式、较多的寄存器、对称的指令格式,减少CPI是RISC思
12、想的精华,程序执行时间的计算公式:P=I CPI T 其中:P是执行这个程序所使用的总的时间;I是这个程序所需执行的总的指令条数;CPI(Cycles Per Instruction)是每条指令执行的平均周期数T是一个周期的时间长度。RISC的速度要比CISC快3倍左右,关键是RISC的CPI减小了,同类问题的程序长度,RISC比CISC长30%40%CPI,RISC比CISC少2倍10倍RISC的速度要比CISC快3倍左右,关键是RISC的CPI减小了,硬件方面:采用硬布线控制逻辑减少指令和寻址方式的种类使用固定的指令格式采用LOAD/STORE结构指令执行过程中设置多级流水线等。软件方面:
13、十分强调优化编译技术的作用RISC设计思想也可以用于CISC中,例如:Intel公司的80 x86处理机的CPI在不断缩小8088的CPI大于2080286的CPI大约是5.580386的CPI进一步减小到4左右80486的CPI已经接近2Pentium处理机的CPI已经与RISC十分接近 目前,超标量、超流水线处理机的CPI已经达到0.5,实际上用IPC(Instruction Per Cycle)更确切。,RISC的设计原则,使用频度很高的指令大大减少寻址方式所有指令在一个机器周期完成扩大通用寄存器个数采用硬联控制实现通过精简指令和优化设计编译程序,易简单有效的方式支持高级语言,Simpl
14、e is fast,Small is fast,CISC与RISC的主要特征对比,主要RISC产品,DEC公司Alpha 21064,21066,21164,21264,21364-endMIPS公司(SGI公司)R3000,R4000,R8000,R10000,R12000,R14000,R18000IBM,Motorola,ApplePowerPC 601,602,603,603E,604,615,620,630,640Power3、Power4、Power4+、Power5HP公司PA-RISC8000:8800,8700,8900SUN公司SPARC MicroSPARC,SuperS
15、PARC,UltraSPARC I,II,III,IV,V,RISC结构采用的基本技术,遵循按RISC机器一般原则设计的技术在逻辑上采用硬联实现和微程序固件实现相结合的技术在CPU中设置数量较大的寄存器组,并采用重叠寄存器窗口的技术指令的执行采用流水和延迟转移技术采用认真设计和优化编译系统设计的技术,重叠寄存器窗口技术,目标:缩短CALL、RETURN操作时间方法:将设置的大量的寄存器,分成多个组和全局区;每个组中分高、本地、低三个区;相邻组的高、低区重叠,加速参数与结果的传递。结果:节省了保存现场和恢复现场等辅助时间。,延迟转移技术(Delayed Branch),将转移指令与其前面的一条指
16、令对换位置,让成功转移总是在紧跟的指令执行之后发生,从而使预取的指令不作废,节省一个机器周期。,举例,举例,采用比较转移指令,在RISC机中,把比较和转移(在CISC机中需用两条指令完成的功能)合并成一条指令。该指令将直接对两个对象(寄存器-寄存器或存储器-立即数)进行相等或不等比较,然后根据比较结果判别是否进行转移。这样就可省去一条指令,并不受条件码的约束。,优化编译技术,使用大量寄存器,优化寄存器的分配和使用,提高效率,减少访存次数。减少局部变量和工作变量的中间传递。优化调整指令的执行次序,减少机器的空等时间。,举例,设A,A+1,B,B+1为主存单元。,RISC技术的发展,采用RISC后
17、的好处简化指令系统设计提高机器的执行速度和效率降低设计成本,提高系统可靠性提供直接支持高级语言的能力,简化编译程序的设计,RISC的不足 指令少,加重汇编程序员的负担 浮点运算和虚拟存储器支持不足 编译程序难写,典型的RISC型机器的基本特征,代表性的RISC处理机特征,代表性的RISC处理机特征(续),VLIW,由美国J.A.Fisher教授于1981年首先提出最初来源于水平微程序由J.A.Fisher创建的Mutiflow公司研制了的世界上第一台VLIW处理机TRACE28/300一条指令中包含有多个能够同时执行的操作TRACE28/300处理机的一条超长指令中最多有28条可以同时执行的指
18、令。算法和编译技术是关键在下一代处理机中将普遍采用,一种显式指令级并行指令系统。在一条VLIW指令中包含有多个相同或不同的操作字段(每个操作字段的功能相当于一般处理机中的一条指令)。每个操作字段能够分别独立控制各自的功能部件同时工作。二维程序结构指令级并行度高,VLIW的主要特点,采用显式并行指令计算(EPIC:Explicitly Parallel Instruction Computing)方式。在VLIW处理机上运行的程序是一个二维指令矩阵,每一行上的所有操作组成一条超长指令,他们之间没有数据相关、控制相关和功能部件冲突,这些指令可以在VLIW处理机上同时执行超标量处理机和超流水线处理机
19、通常采用隐式并行指令方式。程序是一维线性的指令序列,每条指令中一般只包含一个操作。,指令级并行度高超标量处理机和超流水线处理机的指令级并行度一般为2左右,通常不超过4,目前多数VLIW处理机的指令级并行度在4至8之间,有的已经达到几十。由于在VLIW中通过并行编译器来开发程序中的指令级并行性,可以在一个循环、一个函数、甚至整个程序中寻找指令级并行性,而且,可以采用软件流水、循环展开等指令级并行度很高的方法充分开发程序中的多种并行性,硬件结构规整、简单VLIW处理机主要由很规则的寄存器、存储器、运算部件和数据通路等组成,不规则的控制器很简单,而且,不需要复杂的指令并行调度窗口及多发射机制等。编译
20、器的实现难度大VLIW并行编译器主要依靠指令级并行算法、数据相关性分析算法、寄存器分配算法及并行编译技术等来显式开发程序中的指令级并行性,从而提高处理机的运行速度。要研制指令级并行度高的编译器难度很大。,VLIW处理机,安腾(Intanium)处理机Intel公司与HP公司联合研制在Intel公司称为IA-64处理机安腾(Intanium)处理机有自己独立的系统软件和应用软件DAISY(Dynamically Architected Instruction Set from Yorktown)处理机由IBM公司研制采用动态二进制转换技术实现与X86处理机兼容Crusoe处理机由Transmet
21、a公司研制已经大量应用于笔记本计算机中,一个重要特点是功耗很低。采用动态二进制转换技术把X86通用处理机的程序直接映射到Crusoe处理机的VLIW结构中执行。嵌入式、DSP、JAVA虚拟机很多专用处理机采用VLIW体系结构,EPICExplicitly Parallel Instruction Computing,显性并行指令计算Intel和HP合作研发Itanium、Itanium 2IA-64指令系统的统称。集成RISC和VLIW各自的优势技术,指令字长为128位,包含三个40位的指令和一个8位的模版代码。每个指令分为多个独立的操作字段,每个字段可分别控制各个功能部件并行工作,而模版中包
22、含各指令间并行处理的信息,依据模版代码信息,可同时在不同的执行单元中执行三条没有相关性的指令,控制并行处理关系,提高并行处理能力,Itanium 2,HP Integrity SuperdomeHP-UX,Win2000,Linux,SGI Altix 3700 Linux,IA-64面临的问题,操作系统的准备有待充分64位的API,64位的地址空间,64位的文件系统。Windows 2000、Linux6464位的全面应用非一日之功编译器开发困难效益上要承担风险面临其他硬件厂商的激烈竞争AMD公司的Opteron,小结,名词解释数据表示 RISC CISC数据表示的含义及与数据结构的关系定义数据表示,标识符、描述符,两者的区别引入数据表示的原则Huffmann编码与扩展编码RISC的设计原则、基本技术及存在的问题,