版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第 2 2 章章 指令集结构指令集结构本章学习内容指令结构的分类指令结构的分类寻址方式设计寻址方式设计指令格式的优化指令格式的优化实现实现RISCRISC设计的技术手段设计的技术手段 在机器上直接运行的程序是由指令组成的。 指令系统是软件与硬件之间的一个主要分界面,也是他们之间互相沟通的一座桥梁。 硬件设计人员采用各种手段实现指令系统,而软件设计人员则使用这些指令系统编制系统软件和应用软件,用这些软件来填补指令系统与人们习惯的使用方式之间的语义差距。 指令系统设计必须由软件设计人员和硬件设计人员共同来完成。 指令系统发展相当缓慢,需要用软件来填补的东西也就越来越多。 有三种类型的指令系统:有
2、三种类型的指令系统: CISC:复杂指令系统:复杂指令系统 RISC:精简指令系统:精简指令系统 VLIW:超长指令字:超长指令字(严格讲严格讲,属于并行处理属于并行处理技术技术) 指令系统设计包括:指令系统设计包括: 指令的格式设计指令的格式设计 指令系统的功能设计指令系统的功能设计 指令系统的性能评价指令系统的性能评价2.0 2.0 指令系统设计的基本概念指令系统设计的基本概念 2.0.1 2.0.1 指令系统的设计内容指令系统的设计内容 指令系统:机器所具有的全部指令的集合。指令系统:机器所具有的全部指令的集合。 指令系统设计的内容:确定指令的格式、指令系统设计的内容:确定指令的格式、类
3、型、功能及操作、操作数的类型及大小、类型、功能及操作、操作数的类型及大小、操作数的访问寻址方式。操作数的访问寻址方式。 确定计算机系统中的一些基本操作确定计算机系统中的一些基本操作( (包括操包括操作系统和高级语言中的操作作系统和高级语言中的操作) ),应由硬件实,应由硬件实现还是由软件实现;某些复杂操作是由一条现还是由软件实现;某些复杂操作是由一条专用的指令实现,还是由一串基本指令实现。专用的指令实现,还是由一串基本指令实现。指令系统设计的基本思想指令系统设计的基本思想2.0.2 2.0.2 指令系统的设计要求指令系统的设计要求 1. 完备性完整性)完备性完整性):是指应该具备的基本是指应该
4、具备的基本指令种类指令种类 2. 有效性有效性: 指令的执行速度要快指令的执行速度要快, 指令的使指令的使用频度要高用频度要高 3. 兼容性兼容性: 在同一系列机内,指令系统,在同一系列机内,指令系统,包括寻址方式和数据表示等保持基本不变;包括寻址方式和数据表示等保持基本不变;可以适当增加指令、增加寻址方式,增加数可以适当增加指令、增加寻址方式,增加数据表示等;但不能减少任何已有的据表示等;但不能减少任何已有的。 4. 规整性规整性: 对相似的操作数做出相同的规定对相似的操作数做出相同的规定. 5. 对称性对称性: 所有的寄存器同等对待所有的寄存器同等对待, 操作码操作码的设置等都要对称的设置
5、等都要对称 6. 可扩充性可扩充性 7. 正交性正交性: 互不相干原则互不相干原则 8. 利于编译,适应高级语言的发展。利于编译,适应高级语言的发展。2.0.3 2.0.3 指令系统的设计步骤指令系统的设计步骤 1. 根据未来用途和应用范围,设计一个初根据未来用途和应用范围,设计一个初步指令系统;步指令系统; 2. 用本指令系统编制编译程序;用本指令系统编制编译程序; 3. 模拟测试,研究操作码和寻址方式的效模拟测试,研究操作码和寻址方式的效能;能; 4. 根据结果,将使用频率高的指令串组合根据结果,将使用频率高的指令串组合成一条指令;成一条指令; 5. 重复重复14步骤,直到证明指令系统有高
6、的步骤,直到证明指令系统有高的效能。效能。 1. 指令系统分类的准则指令系统分类的准则 在在CPU中操作数的存放方法。中操作数的存放方法。 在每条指令中,显式指明的操作数个数。在每条指令中,显式指明的操作数个数。 操作数的寻址方式。操作数的寻址方式。 指令系统所提供的操作类型。指令系统所提供的操作类型。 操作数的类型与大小。操作数的类型与大小。2.1 指令系统结构的分类指令系统结构的分类 2.指令系统结构的分类指令系统结构的分类 按在按在CPU中操作数的存放方法可分为:中操作数的存放方法可分为: 堆栈型堆栈型 累加器型累加器型 通用寄存器型通用寄存器型 对于一条有两个源操作数和一个目的操对于一
7、条有两个源操作数和一个目的操作数的指令,指令中显式表示的操作数作数的指令,指令中显式表示的操作数的个数随的个数随CPU存取操作数方式的不同而存取操作数方式的不同而不同。不同。三种不同的指令系统集结构三种不同的指令系统集结构取/存寄存器或存储器寄存器或存储器2/3IBM360/370DEC VAX-11RISC机寄存器集取/存累加器累加器1PDP-8MC 6800累加器进栈或退栈堆栈0B5500/6500HP3000Transputer堆栈访问显式操作数的过程结果存放目的地每条ALU指令需指明的显式操作数机器型号CPU中存储部件形式 设设A、B、C均保存在存储器单元中,且在运算过均保存在存储器单
8、元中,且在运算过程中不破坏程中不破坏A、B的值,则在三种不同类型的指令的值,则在三种不同类型的指令系统中实现系统中实现CAB的指令序列为:的指令序列为:堆栈型堆栈型累加器型累加器型寄存器存储器型寄存器存储器型(RM)寄存器寄存器型寄存器寄存器型(RR)PUSH A LOAD ALOAD R1,ALOAD R1,APUSH B ADD BADD R1,BLOAD R2,BADDSTORE CSTORE C,R1ADD R3,R1,R2POP CSTORE C,R3 寄存器寄存器型寄存器寄存器型 (RR) 寄存器存储器型寄存器存储器型 (RM) 或或 (RS) 存储器存储器型存储器存储器型 (MM
9、)3. 通用寄存器型指令系统结构的分类通用寄存器型指令系统结构的分类 ALU指令中操作数的个数和操作数个数的的所有指令中操作数的个数和操作数个数的的所有可能组合及相应的机器实例。可能组合及相应的机器实例。 2.2 操作数访问方式操作数访问方式 操作数访问方式即操作数的寻址方式。操作数访问方式即操作数的寻址方式。 按访问操作数的手段,寻址方式可分为:按访问操作数的手段,寻址方式可分为: 按地址访问方式按地址访问方式 事先计算出需访问的操作数的地址。工作方式是串事先计算出需访问的操作数的地址。工作方式是串行顺序的。行顺序的。 按内容访问方式按内容访问方式 将给定的访问内容将与存储单元中的内容进行比
10、较。将给定的访问内容将与存储单元中的内容进行比较。工作方式是并行的。工作方式是并行的。2.2.1 按地址访问方式按地址访问方式 1. 能被指令访问的存放操作数的部件能被指令访问的存放操作数的部件 通用寄存器、存储器单元、堆栈以及控制寄通用寄存器、存储器单元、堆栈以及控制寄存器、设备寄存器等专用寄存器。存器、设备寄存器等专用寄存器。 2. 计算机中的两种地址概念计算机中的两种地址概念 逻辑地址逻辑地址 程序员在编制程序时所使用的地址程序员在编制程序时所使用的地址(逻辑空逻辑空间间)。 物理地址物理地址 程序在主存内的实际物理地址。程序在主存内的实际物理地址。逻辑地址与物理地址的关系逻辑地址与物理
11、地址的关系 逻辑空间与物理空间一样大逻辑空间与物理空间一样大 逻辑空间小,物理空间大逻辑空间小,物理空间大 逻辑空间大,物理空间小逻辑空间大,物理空间小3. 编址方式编址方式 编址方式:对各种存储设备进行编码的方法。编址方式:对各种存储设备进行编码的方法。 (1) 按各种部件分类编址。按各种部件分类编址。 (2) 统一编址。统一编址。 (3) 隐式编址。隐式编址。4. 编址单位编址单位 字编址:以访问一次设备所获得的信息字编址:以访问一次设备所获得的信息量为单位进行编址。量为单位进行编址。 字节编址:以字节为单位进行编址。字节编址:以字节为单位进行编址。 位编址:按二进制位编址。位编址:按二进
12、制位编址。按字节编址时需解决的问题按字节编址时需解决的问题 多字节数据的存放顺序多字节数据的存放顺序 小端排序:将一个字中的低位字节存放在低地址小端排序:将一个字中的低位字节存放在低地址单元中。单元中。 大端排序:将一个字中的高位字节存放在低地址大端排序:将一个字中的高位字节存放在低地址单元中。单元中。 小端排序符合从右向左进位的硬件习惯;大端排小端排序符合从右向左进位的硬件习惯;大端排序符合程序员从左向右的编程习惯。序符合程序员从左向右的编程习惯。 编址规定编址规定(略,组原介绍过略,组原介绍过) 在按字节编址时,可能出现字节,半字、字、双在按字节编址时,可能出现字节,半字、字、双字混存的情
13、况,会使读写控制复杂。字混存的情况,会使读写控制复杂。 例:例:XX00H字节字节半字半字双双XX08H字字单字单字半半XX10H字字单字单字字节字节单单XX18H字字 主存宽度:传送信息的最大位数主存宽度:传送信息的最大位数/单位时间单位时间 解决程序访存越界的方法:解决程序访存越界的方法: 规定每个数据都必须从一个存储字开始存放。规定每个数据都必须从一个存储字开始存放。 这种方法避免了访存越界,但会浪费存储空间和这种方法避免了访存越界,但会浪费存储空间和地址空间。地址空间。XX00H字节字节XX08H半字半字XX10H字字XX18H双双 字字 折中方法:对数据按其信息量的整数边界编址。折中
14、方法:对数据按其信息量的整数边界编址。即规定:即规定: 双字数据存储单元的地址末尾为双字数据存储单元的地址末尾为 000B 单字数据存储单元的地址末尾为单字数据存储单元的地址末尾为 00B 半字数据存储单元的地址末尾为半字数据存储单元的地址末尾为 0B 字节数据可以任意存放。字节数据可以任意存放。 5. 按地址寻址方式略,按地址寻址方式略,P47) 寻址方式的使用频度:寻址方式的使用频度: R寻址寻址-直接直接-变址变址-单字位移单字位移-自增自增-R间址间址-自自减减 高高 - 低低2.2.2 按内容访问方式按内容访问方式 1. 按内容访问方式按内容访问方式 按照要访问的数据的内容访问内存。
15、按照要访问的数据的内容访问内存。 2. 联想存储器相联存储器、按内容访问存储器)联想存储器相联存储器、按内容访问存储器) 满足按内容访问方式的存储器。满足按内容访问方式的存储器。 联想存储器的主要特点:以并行方式在存储器中联想存储器的主要特点:以并行方式在存储器中查找所需信息的内容。查找所需信息的内容。 3. 按内容访问的方法按内容访问的方法 通过硬件将要访问的内容与存储单元的内容进行通过硬件将要访问的内容与存储单元的内容进行比较,若相同,则进行访问。比较,若相同,则进行访问。联想存储器的基本结构联想存储器的基本结构联想存储器的访问过程联想存储器的访问过程 ( 520 X 540 )用途用途
16、虚存中的快表虚存中的快表 Pentium的的BTB (分支转移目标缓冲器)(分支转移目标缓冲器)2.3 2.3 指令系统的两种设计风格指令系统的两种设计风格*优化指令系统设计的3个阶段:CISC:复杂指令系统 60年代至70年代中期RISC:精简指令系统 70年代后期至现在VLIW: 80年代初期至现在关键在软硬件的功能分配,系统的综合性能 时间与空间;执行、编译、编写时间。从CPU的执行时间入手,加快程序的运行速度.CPUCPU执行时间的改进策略执行时间的改进策略 Tcpu=In Tcpu=In* *CPICPI* *TcTc 在器件工艺限制下,在器件工艺限制下, TcTc值为一极限值。值为
17、一极限值。 InIn的改进的改进 增强指令的功能,增强指令的功能, 增加指令的复杂度增加指令的复杂度 CISCCISC CPICPI的改进的改进 简化指令系统,简化指令系统, 减少指令的执行时间减少指令的执行时间 RISCRISC 总体上总体上: : Tcpu(risc)-RISC(In Tcpu(risc)-RISC(In* *CPI)CPI) 小于小于 Tcpu(cisc)-CISC(InTcpu(cisc)-CISC(In* *CPI)CPI) RISC RISC机器指令的平均周期数少机器指令的平均周期数少2.3.1 CISC2.3.1 CISC设计风格设计风格 1. CISC1. CI
18、SC复杂指令系统计算机的基本思复杂指令系统计算机的基本思想想: : 计算机性能的提高主要依靠增加指令复杂性计算机性能的提高主要依靠增加指令复杂性及其功能来获取。及其功能来获取。(1方法:用一条指令代替一串指令方法:用一条指令代替一串指令 增加新的指令增加新的指令 增强指令功能,设置功能复杂的指令增强指令功能,设置功能复杂的指令 增加寻址方式增加寻址方式 增加数据表示方式增加数据表示方式(2优化的途径:优化的途径: 面向目标代码面向目标代码 面向高级语言面向高级语言 面向操作系统面向操作系统2. CISC的主要特点的主要特点 (1) 指令系统复杂。指令系统复杂。 指令数多,一般大于指令数多,一般
19、大于100条。条。 寻址方式多,一般大于寻址方式多,一般大于4种。种。 指令格式多,一般大于指令格式多,一般大于4种。种。 (2) 绝大多数指令需要多个机器时钟周期方可执行绝大多数指令需要多个机器时钟周期方可执行完毕。完毕。 (3) 各种指令都可访问存储器。各种指令都可访问存储器。 (4) 采用微程序控制。采用微程序控制。 (5) 有专用寄存器。有专用寄存器。 (6) 难以用优化编译生成高效的目标代码程序。难以用优化编译生成高效的目标代码程序。2.3.2 RISC2.3.2 RISC设计风格设计风格 2.3.2.1 RISC2.3.2.1 RISC的基本思想的基本思想 1. RISC1. RI
20、SC精简指令系统计算机的基本精简指令系统计算机的基本思想:思想: 指令系统只由使用频率高的和必要的简指令系统只由使用频率高的和必要的简单指令构成。将不是最频繁使用的指令单指令构成。将不是最频繁使用的指令功能由软件实现,以简化硬件,使功能由软件实现,以简化硬件,使其执行得更快。提高流水线效率。其执行得更快。提高流水线效率。2. 2. 从从CISC CISC 到到 RISCRISC 70年代,指令系统已经非常复杂。机机 型型(生生产产年年代代)I IB BM M3 37 70 0/ /1 16 68 8(1 19 97 73 3)V VA AX X- -1 11 1(1 19 97 78 8)i
21、iA AP PX X 4 43 32 2(1 19 98 82 2)D Do or ra ad do o(1 19 97 78 8)指指令令种种类类2 20 08 83 30 03 32 22 22 22 27 70 0微微程程序序容容量量4 42 20 0K K4 48 80 0K K6 64 4K K1 13 36 6K K指指令令长长度度1 16 6- -4 48 81 16 6- -4 45 56 66 6- -3 32 21 18 8- -2 24 4采采用用的的工工艺艺E EC CL L M MS SI IT TT TL L M MS SI IN NM MO OS S V VL L
22、S SI IE EC CL L M MS SI I指指令令操操作作类类型型存存储储器器- -存存储储器器存存储储器器- -寄寄存存器器寄寄存存器器- -寄寄存存器器存存储储器器- -存存储储器器存存储储器器- -寄寄存存器器寄寄存存器器- -寄寄存存器器面面向向堆堆栈栈存存储储器器- -存存储储器器面面向向堆堆栈栈C Ca ac ch he e 容容量量6 64 4K KB B6 64 4K KB B0 06 64 4K KB B19751975年,年,IBMIBM公司率先组织力量开始研究指令公司率先组织力量开始研究指令系统的合理性问题系统的合理性问题19791979年研制出世界上第一台采用年
23、研制出世界上第一台采用RISCRISC思想的计思想的计算机算机IBM 801IBM 80119861986年,年,IBMIBM正式推出采用正式推出采用RISCRISC体系结构的工体系结构的工作站作站IBM RT PCIBM RT PCCISCCISC指令系统存在的问题:指令系统存在的问题: 19791979年,美国加洲伯克利分校年,美国加洲伯克利分校 David David Patterson Patterson 提出:提出:(1 1) 2020与与8080规律规律在在CISCCISC中,大约中,大约2020的指令占据了的指令占据了8080的处理的处理机执行时间。机执行时间。 例如:例如:80
24、888088处理机的指令种类大约处理机的指令种类大约100100种种 前前1111种种(11(11) )指令的使用频度已经超过指令的使用频度已经超过8080 前前8 8种种(8(8) )指令的运行时间已经超过指令的运行时间已经超过8080 前前2020种种(20(20) )指令:使用频度达到指令:使用频度达到91.191.1 运行时间达到运行时间达到97.7297.72 其余其余8080的指令:使用频度只有的指令:使用频度只有8.98.9 2.282.28的处理机运行时间的处理机运行时间IntelIntel80888088 处理机指令系统使用频度和执行时间统计处理机指令系统使用频度和执行时间统
25、计 (C C 语言编译程序和语言编译程序和 PROLOGPROLOG 解释程序)解释程序) 使用频度使用频度 执行时间执行时间 序号序号 指令指令 累计累计 序号序号 指令指令 累累 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020 MOVMOV PUSHPUSH CMPCMP JMPccJMPcc ADDADD POPPOP RETRET CALLCALL JUMPJUMP SUBSUB INCINC LESLES REPNREPN IMULIMUL DECDE
26、C XORXOR REPNZREPNZ CLDCLD LOOPccLOOPcc TESTTEST 24.8524.85 10.3610.36 10.2810.28 9.039.03 6.806.80 4.144.14 3.923.92 3.893.89 2.702.70 2.432.43 2.372.37 1.981.98 1.921.92 1.691.69 1.371.37 1.131.13 0.780.78 0.540.54 0.520.52 0.400.40 24.8524.85 35.2135.21 45.4945.49 54.5254.52 61.3261.32 65.4665.46
27、 69.3869.38 73.2773.27 75.9775.97 78.4078.40 80.7780.77 82.7582.75 84.6784.67 86.3686.36 87.7387.73 88.8688.86 89.6489.64 90.1890.18 90.7090.70 91.1091.10 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020 IMULIMUL MOVMOV PUSHPUSH JMPccJMPcc CMPCMP CALLCALL RE
28、TRET ADDADD JMPJMP LESLES POPPOP DECDEC SUBSUB XORXOR INCINC LOOPccLOOPcc LDSLDS CMPSCMPS MOVSMOVS JCXZJCXZ 19.5519.55 17.4417.44 11.1111.11 10.5510.55 7.807.80 7.277.27 4.854.85 3.273.27 3.263.26 2.832.83 2.612.61 1.491.49 1.181.18 1.041.04 0.990.99 0.640.64 0.640.64 0.440.44 0.390.39 0.370.37 19.5
29、519.55 36.9936.99 48.1048.10 58.6558.65 66.4566.45 73.7273.72 78.5778.57 81.8481.84 85.1085.10 87.9387.93 90.5490.54 92.092.03 3 93.2193.21 94.2594.25 95.2495.24 95.8895.88 96.5296.52 96.9696.96 97.3597.35 97.7297.72 Intel 80X86最最常用的十条指令最最常用的十条指令执行频率排序执行频率排序80X86指令指令指令执行频率(执行指令总数)指令执行频率(执行指令总数)1Load
30、222条件分支条件分支203比较比较164Store125加加86与与67减减58寄存器寄存器间数据移动寄存器寄存器间数据移动49调用调用110前往前往1合合 计计96(2) VLSI技术的发展引起的问题技术的发展引起的问题* VLSI工艺要求规整性,工艺要求规整性,RISC正好适应了正好适应了VLSI工艺的要求。工艺的要求。* 主存与控存的速度相当,主存与控存的速度相当, 简单指令没有必简单指令没有必要用微程序实现,复杂指令用微程序实现与要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别。用简单指令组成的子程序实现没有多大区别。* 由于由于VLSI的集成度迅速提高,
31、使得生产单芯的集成度迅速提高,使得生产单芯片处理机成为可能。片处理机成为可能。(3 3) 软硬件的功能分配问题软硬件的功能分配问题* 复杂的指令使指令的执行周期大大加长,复杂的指令使指令的执行周期大大加长, CISC处处理机的指令平均执行周期都在理机的指令平均执行周期都在4以上。在以上。在CISC中,中,增强指令系统功能,简化了软件,硬件复杂了。增强指令系统功能,简化了软件,硬件复杂了。* 1981年,年,Patterson等人研制了等人研制了32位的位的RISC I微处理微处理器,总共器,总共31种指令,种指令,3种数据类型,两种寻址方式,种数据类型,两种寻址方式,研制周期研制周期10个月,
32、比当时最先进的个月,比当时最先进的MC68000和和Z8002快快3至至4倍。倍。* 1983年,又研制了年,又研制了RISC II,指令种类扩充到,指令种类扩充到39种,种,单一变址寻址方式,通用寄存器单一变址寻址方式,通用寄存器138个。个。2.3.2.2 RISC2.3.2.2 RISC的主要特点的主要特点 1简化指令系统。简化指令系统。 (1) 指令条数较少。指令条数较少。 (2) 基本寻址方式少。基本寻址方式少。 (3) 指令格式少。指令格式少。 (4) 指令字长度一致。指令字长度一致。 2以寄存器以寄存器寄存器方式工作。寄存器方式工作。 3除除LOADSTORE指令外,所有指令都指
33、令外,所有指令都在一个机器时钟周期内执行完毕,并采用流在一个机器时钟周期内执行完毕,并采用流水技术。水技术。 4设置大的寄存器组,使用较多的通用寄设置大的寄存器组,使用较多的通用寄存器,不允许有专用寄存器。存器,不允许有专用寄存器。 5为提高指令执行速度绝大部分采用硬为提高指令执行速度绝大部分采用硬联线控制实现,不用或少用微程序实现。联线控制实现,不用或少用微程序实现。 6通过精简指令系统和优化编译技术,力通过精简指令系统和优化编译技术,力求能高效地支持高级语言。求能高效地支持高级语言。* * 卡内基梅隆卡内基梅隆(Carnegie Mellon)(Carnegie Mellon)大学论述大学
34、论述RISCRISC的特点自习)的特点自习) (1) (1)大多数指令在单周期内完成大多数指令在单周期内完成 (2)LOAD/STORE(2)LOAD/STORE结构结构 (3)(3)硬布线控制逻辑硬布线控制逻辑 (4)(4)减少指令和寻址方式的种类减少指令和寻址方式的种类 (5)(5)固定的指令格式固定的指令格式 (6)(6)注重编译的优化注重编译的优化* IEEE的的Michael Slater对对RISC描述自习)描述自习) 90年代初给出的描述: (1)RISC为提高流水线效率, 应具有下述特征: 简单而统一格式的指令译码; 大部分指令可以单周期执行完成; 只有LOAD和STORE指令
35、可以访问存储器; 简单的寻址方式; 采用延迟转移技术; 采用LOAD延迟技术。 (2)为使编译器便于生成优化代码,应具有: 三地址指令格式, 较多的寄存器,对称的指令格式。同类问题的程序长度同类问题的程序长度,RISC比比CISC长长30%40% CPI,RISC比比CISC少少2倍倍10倍。倍。 RISC的速度要比的速度要比CISC快快3倍左右倍左右,关键是关键是 RISC的的CPI减小了。减小了。2.3.2.3 RISC2.3.2.3 RISC设计的主要技术措施设计的主要技术措施 采用硬联逻辑,少数指令用微程序实现。采用硬联逻辑,少数指令用微程序实现。 采用简单规整的指令操作及采用简单规整
36、的指令操作及RR操作。操作。 采用流水线技术以及超标量、超流水、超长采用流水线技术以及超标量、超流水、超长指令字技术。指令字技术。 大量寄存器并采用窗口重叠寄存器技术。大量寄存器并采用窗口重叠寄存器技术。 采用优化延迟转移技术。采用优化延迟转移技术。 采用比较转移指令。采用比较转移指令。 采用优化编译技术。采用优化编译技术。1. 窗口重叠寄存器技术窗口重叠寄存器技术 寄存器窗口:由若干寄存器组成的寄存器组。寄存器窗口:由若干寄存器组成的寄存器组。 窗口重叠寄存器技术:每当有过程调用时,就分窗口重叠寄存器技术:每当有过程调用时,就分配一个未被使用的寄存器窗口,这样就可减少保配一个未被使用的寄存器
37、窗口,这样就可减少保存和恢复现场的开销。存和恢复现场的开销。 在每个寄存器窗口中,分成大小固定的高区、本在每个寄存器窗口中,分成大小固定的高区、本地区和低区三个区段。地区和低区三个区段。 本地:用来存放局部变量。本地:用来存放局部变量。 高区:在被调用时用来保存调用过程送来的参数,高区:在被调用时用来保存调用过程送来的参数,在返回主调用过程时,存放返回结果。在返回主调用过程时,存放返回结果。 低区:在调用时存放需送往被调用过程的参数,低区:在调用时存放需送往被调用过程的参数,在被调用过程返回时用来存放返回结果。在被调用过程返回时用来存放返回结果。 例:例:RISC机共有机共有138个个32位物
38、理寄存器。位物理寄存器。第第0号到第号到第9号作为全局寄存器,为所有过程号作为全局寄存器,为所有过程公用。其余公用。其余128个寄存器分为个寄存器分为8个寄存器窗口,个寄存器窗口,每个窗口中有每个窗口中有22个逻辑寄存器,其中个逻辑寄存器,其中6个为个为高区高区26号号3l号),用于存放输入参数;号),用于存放输入参数; 10个为本地寄存器个为本地寄存器16号号25号)号) ,用于,用于存放本过程中所用的局部变量;存放本过程中所用的局部变量; 6个为低区个为低区10号号15号),存放输出参数。号),存放输出参数。 例:过程例:过程A调用过程调用过程B,过程,过程B又调用过程又调用过程C时寄存器
39、窗口的使用情况。时寄存器窗口的使用情况。 8个寄存器窗口以环形缓冲器结构组成,最个寄存器窗口以环形缓冲器结构组成,最后一个窗口与第一个窗口相重叠。窗口之间后一个窗口与第一个窗口相重叠。窗口之间的转换是通过改变硬件指针内容实现的。的转换是通过改变硬件指针内容实现的。 上溢:所需的寄存器窗口超过上溢:所需的寄存器窗口超过8个。个。 发生上溢时,需将一个窗口中内容传送到主发生上溢时,需将一个窗口中内容传送到主存,以腾出一个空窗口。存,以腾出一个空窗口。 下溢:所需的内容在寄存器窗口找不到。下溢:所需的内容在寄存器窗口找不到。 发生下溢时,要将内存中存放的内容送回窗发生下溢时,要将内存中存放的内容送回
40、窗口。口。寄寄存存器器窗窗口口技技术术的的效效果果程程序序名名称称调调用用次次数数最最大大调调用用深深度度R RI IS SC C I II I溢溢出出次次数数R RI IS SC C I II I访访存存次次数数V VA AX X- -1 11 1访访存存次次数数Q Qu ui ic ck ks so or rt t 1 11 11 1K K( (0 0. .7 7) )1 10 06 64 44 4K K( (0 0. .8 8) )6 69 96 6K K( (5 50 0) )P Pu uz zz zl le e4 43 3K K( (8 8. .0 0) )2 20 01 12 24
41、 48 8K K( (1 1. .0 0) )4 44 44 4K K( (2 28 8) )过过程程调调用用所所需需开开销销的的比比较较机机器器类类型型执执行行指指令令条条数数执执行行时时间间( (微微秒秒) )访访问问存存储储器器次次数数V VA AX X- -1 11 1P PD DP P- -1 11 1M MC C6 68 80 00 00 0R RI IS SC C I II I5 51 19 99 96 62 26 62 22 21 19 92 21 10 01 15 51 12 20 0. .2 2注注:Q Qu ui ic ck ks so or rt t程程序序的的调调用用
42、的的次次数数多多,深深度度不不大大,P Pu uz zz zl le e程程序序正正好好相相反反窗口重叠寄存器技术的优缺点窗口重叠寄存器技术的优缺点 优点:优点: 使处理器与存储器之间的传送大为减少。使处理器与存储器之间的传送大为减少。 缺陷:缺陷: 因寄存器窗口的大小和所划分的高区、低因寄存器窗口的大小和所划分的高区、低区和本地区都是固定的,所以利用率往往不区和本地区都是固定的,所以利用率往往不高。高。2. 采用优化延迟转移技术采用优化延迟转移技术 转移延迟槽:在转移指令后,需延迟到转移延迟槽:在转移指令后,需延迟到后继指令进入流水线的时间段。后继指令进入流水线的时间段。 为了减小转移延迟槽
43、的长度,常用的方为了减小转移延迟槽的长度,常用的方法有:法有: 采用预取两个分支方法来防止断流。采用预取两个分支方法来防止断流。 利用软件手段,采用优化延迟转移利用软件手段,采用优化延迟转移技术。技术。 优化延迟转移优化延迟转移: 转移指令在准备将控制转向目标指令的转移指令在准备将控制转向目标指令的同时,执行紧随在转移指令之后的指令,同时,执行紧随在转移指令之后的指令,即在转移延迟槽内安排有用的指令,将即在转移延迟槽内安排有用的指令,将转移指令后转移延迟槽内的指令执行完转移指令后转移延迟槽内的指令执行完毕后,才发生真正转移。毕后,才发生真正转移。 例:延迟转移技术和优化延迟转移技术的说明。例:
44、延迟转移技术和优化延迟转移技术的说明。3. 3. 采用比较转移指令采用比较转移指令 比较转移指令:将比较和转移两条指令合并成一比较转移指令:将比较和转移两条指令合并成一条指令,使其同时具有比较和转移这两个功能。条指令,使其同时具有比较和转移这两个功能。4 4采用优化编译技术采用优化编译技术 优化编译技术中要解决的重点问题:优化编译技术中要解决的重点问题: 选择寄存器,对寄存器堆中的寄存器进行最佳选择寄存器,对寄存器堆中的寄存器进行最佳分配,提高寄存器的使用效率,减少对存储器的分配,提高寄存器的使用效率,减少对存储器的访问次数。访问次数。 进行数据控制相关性分析,设法对程序中的指进行数据控制相关
45、性分析,设法对程序中的指令序列在保持原来语义基础上进行重新排序和调令序列在保持原来语义基础上进行重新排序和调度,配合硬件实现指令的优化延迟和取消。度,配合硬件实现指令的优化延迟和取消。 例:对指令序列进行重新调度的方法。例:对指令序列进行重新调度的方法。 设要执行如下的表达式:设要执行如下的表达式: abc def 设完成设完成LOAD指令需两个周期,重新调度的方法是:指令需两个周期,重新调度的方法是:5. 流水线结构为流水线结构为RISC机器的主要技术机器的主要技术 流水线执行和相关性流水线执行和相关性 IF ID EX WR IF ID EX WR IF ID EX WR IF ID 气泡
46、气泡 EX WRIF冲突冲突IF 取指令取指令 ID-指令译码指令译码 EX-执行指令执行指令 WR-写回结果写回结果 nn+1n+2n+3n+42.3.2.4 RISC2.3.2.4 RISC技术的特点技术的特点 1. 优点优点 可提高处理器的运算速度。可提高处理器的运算速度。 适合适合VLSI技术的实现。控制器简单、规整,方技术的实现。控制器简单、规整,方便了便了VLSI的设计与验证。的设计与验证。 降低了设计成本,提高了处理器的可靠性和可降低了设计成本,提高了处理器的可靠性和可测试性。测试性。 能与编译程序较好匹配,有效地支持高级语言能与编译程序较好匹配,有效地支持高级语言的实现,易于实
47、现优化编译。的实现,易于实现优化编译。 2. 存在问题存在问题 目标代码长,对编译器要求高。目标代码长,对编译器要求高。2.4 操作数操作数 的类型和大小的类型和大小 ( 数据表示数据表示 ) 数据表示数据表示: 计算机硬件能够直接识别、指令集可以计算机硬件能够直接识别、指令集可以直接调用的数据类型。直接调用的数据类型。 浮点数据表示浮点数据表示 向量数据表示向量数据表示 自定义数据表示自定义数据表示 (见(见“补充数据表示补充数据表示.ppt”)2.5 2.5 指令格式及其优化指令格式及其优化 2.5.1 指令格式的设计准则指令格式的设计准则 1. 尽可能采用短指令格式尽可能采用短指令格式
48、2. 留有足够长的操作码留有足够长的操作码 3. 正确选择地址个数和地址长度正确选择地址个数和地址长度 4. 字长、指令长、数据长与字符长应相匹配字长、指令长、数据长与字符长应相匹配 5. 适应高级语言的发展,利于编译。适应高级语言的发展,利于编译。2.5.2 指令格式的优化指令格式的优化 指令格式优化的主要任务:指令格式优化的主要任务: 使指令中操作码和操作数两者之间有最佳配合,使指令中操作码和操作数两者之间有最佳配合,以尽量减少指令字中冗余信息以及用最少信息以尽量减少指令字中冗余信息以及用最少信息位来表位来表 示所需的操作信息和地址信息。示所需的操作信息和地址信息。 指令的长度指令的长度
49、定长指令格式:指令字长固定。定长指令格式:指令字长固定。 变长指令格式:指令字长可变。变长指令格式:指令字长可变。2.5.2.1 操作码的优化操作码的优化 1霍夫曼压缩概念理论依据)霍夫曼压缩概念理论依据) 当事件出现概率不均匀时,将出现频率高的当事件出现概率不均匀时,将出现频率高的事件用短的编码位数表示或短的时间进行事件用短的编码位数表示或短的时间进行处理),将出现频率低的事件用长的编码位处理),将出现频率低的事件用长的编码位数表示或长的时间进行处理)数表示或长的时间进行处理) ,就可以,就可以使平均编码位数或平均处理时间大大缩使平均编码位数或平均处理时间大大缩短。短。 根据:熵 1952年
50、由Huffman首先提出 操作码的最短平均长度可通过如下公式计算:(优化Huffman公式) pi表示第i种操作码在程序中出现的概率Hppiini 21log 固定长编码相对于Huffman编码的信息冗余量: 必须知道每种操作码在程序中出现的概率Rppniiin1212lo glo g2. 霍夫曼编码方法霍夫曼编码方法 (1) (1) 将要编码的指令按出现频率的次序排列,每将要编码的指令按出现频率的次序排列,每一条指令是一个结点,频率相等的指令可任意排一条指令是一个结点,频率相等的指令可任意排列。列。 (2) (2) 把出现频率最小的两个结点合并,并将其频把出现频率最小的两个结点合并,并将其频
51、率相加,其和作为新结点的频率,按新的频率次率相加,其和作为新结点的频率,按新的频率次序重新排序。序重新排序。 (3) (3) 继续过程继续过程(2)(2),直至只剩下两个频率的结点。,直至只剩下两个频率的结点。此后便以相反过程进行编码。此后便以相反过程进行编码。 (4) (4) 对每个结点分支分别指定代码对每个结点分支分别指定代码0 0和和1(1(或或1 1和和0)0),直至所有指令获得代码。直至所有指令获得代码。 (5) (5) 从根结点沿线到某一指令的代码组合即为该从根结点沿线到某一指令的代码组合即为该指令的操作码。指令的操作码。例:对模型机例:对模型机7条指令的编码。条指令的编码。指令指
52、令频率频率Pi普通编码普通编码霍夫曼编码霍夫曼编码24扩展码扩展码1-2-3-5扩展码扩展码I10.450000000I20.3001100110I30.1501011010110I40.050111110110011100I50.0310011110110111101I60.01101111110111011110I70.01110111111111111111平均代码平均代码长度长度3.001.972.221.000.550.250.10.050.020.010.010.030.050.150.300.451010101010103. 霍夫曼编码的平均长度霍夫曼编码的平均长度 Pi :编码
53、出现的概率,:编码出现的概率, Li:编码的长度:编码的长度 n:指令条数:指令条数n1iiilpH 采用Huffman编码法的操作码平均长度为: 0.4510.3020.153 0.0540.0350.0160.016 1.97位)Hpliii17 而 操作码的最短平均长度为: 0.451.1520.301.737 0.152.7370.054.322 0.035.0590.016.644 0.016.6441.95位)712logiiippH%35395.117log12HRR 11951971 0%. 采用采用3 3位固定长操作码的信息冗余量为:位固定长操作码的信息冗余量为: Huffm
54、anHuffman编码法的信息冗余量仅为:编码法的信息冗余量仅为: 与与3 3位固定长操作码的信息冗余量位固定长操作码的信息冗余量3535相比相比要小得多要小得多4. 扩展的霍夫曼编码扩展的霍夫曼编码 Huffman操作码的主要缺点:操作码的主要缺点: 操作码长度很不规整,硬件译码困难操作码长度很不规整,硬件译码困难 与地址码共同组成固定长的指令比较困难与地址码共同组成固定长的指令比较困难 扩展编码法:由固定长操作码与扩展编码法:由固定长操作码与Huffman编编码法相结合形成码法相结合形成. 即即,在霍夫曼编码的基础上对编码长度加以在霍夫曼编码的基础上对编码长度加以限制。一般进行规整化处理,
55、便于译码。限制。一般进行规整化处理,便于译码。 频率相近的指令长度相近频率相近的指令长度相近 (或相同,为一组)(或相同,为一组) 例:将上例改为1-2-3-5扩展编码法,操作码最短平均长度为: H0.4510.3020.153 (0.050.030.010.01)52.00 信息冗余量为: R 11952 0025%. 若改为2-4等长扩展编码法,操作码最短平均长度为: H(0.450.300.15)2 (0.050.030.010.01)4 2.20 2-4等长扩展编码法信息冗余量为:R 1195220114%.操操作作码码等等长长扩扩展展编编码码法法 操操作作码码编编码码 说说 明明 操
56、操作作码码编编码码 说说 明明 0 00 00 00 0 0 00 00 01 1 1 11 11 10 0 4 4位位长长度度的的 操操作作码码共共1 15 5种种 0 00 00 00 0 0 00 00 01 1 0 01 11 11 1 4 4位位长长度度的的 操操作作码码共共8 8种种 1 11 11 11 1 0 00 00 00 0 1 11 11 11 1 0 00 00 01 1 1 11 11 11 1 1 11 11 10 0 8 8位位长长度度的的 操操作作码码共共1 15 5种种 1 10 00 00 0 0 00 00 00 0 1 10 00 00 0 0 00
57、00 01 1 1 11 11 11 1 0 01 11 11 1 8 8位位长长度度的的 操操作作码码共共6 64 4种种 1 11 11 11 1 1 11 11 11 1 0 00 00 00 0 1 11 11 11 1 1 11 11 11 1 0 00 00 01 1 1 11 11 11 1 1 11 11 11 1 1 11 11 10 0 1 12 2位位长长度度的的 操操作作码码共共1 16 6种种 1 10 00 00 0 1 10 00 00 0 0 00 00 00 0 1 10 00 00 0 1 10 00 00 0 0 00 00 01 1 1 11 11 11
58、 1 1 11 11 11 1 0 01 11 11 1 1 12 2位位长长度度的的操操 作作码码共共5 51 12 2种种 等等长长1 15 5/ /1 15 5/ /1 15 5扩扩展展法法 等等长长8 8/ /6 64 4/ /5 51 12 2扩扩展展法法 不不等等长长操操作作码码扩扩展展编编码码法法( (4-6-10扩展编码) 各各种种不不同同长长度度操操作作码码的的指指令令 编编码码方方法法 4 4位位操操作作码码 6 6位位操操作作码码 1 10 0位位操操作作码码 指指令令种种类类 1 15 5/ /3 3/ /1 16 6 1 15 5 3 3 1 16 6 3 34 4
59、8 8/ /3 31 1/ /1 16 6 8 8 3 31 1 1 16 6 5 55 5 8 8/ /3 30 0/ /3 32 2 8 8 3 30 0 3 32 2 7 70 0 8 8/ /1 16 6/ /2 25 56 6 8 8 1 16 6 2 25 56 6 2 28 80 0 4 4/ /3 32 2/ /2 25 56 6 4 4 3 32 2 2 25 56 6 2 29 92 2 2.5.2.2 地址码的优化地址码的优化 地址码优化时应注意的问题:地址码优化时应注意的问题: (1) 地址码宽度应随不同指令而变化。地址码宽度应随不同指令而变化。 (2) 通过改变指令字
60、中的地址数和地址码的通过改变指令字中的地址数和地址码的长度,以使单地址,双地址甚至三地址都可长度,以使单地址,双地址甚至三地址都可以在指令中使用。以在指令中使用。 (3) 设法利用空白处存放立即操作数或常数。设法利用空白处存放立即操作数或常数。 (4) 采用间接寻址、变址寻址方式缩短地址采用间接寻址、变址寻址方式缩短地址码的长度。码的长度。1. 1. 地址码个数的选择地址码个数的选择地址码个数通常有地址码个数通常有3个、个、2个、个、1个及个个及个等等4种情况种情况评价指令中地址码个数应该取多少的标评价指令中地址码个数应该取多少的标准主要有两个:准主要有两个:程序存储容量,包括操作码和地址码程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 染色体断裂综合征的妊娠风险评估
- 临西执业护士护理技能测试卷
- 急性心梗护理查房
- Unit 8 Natural laws or human laws说课稿2025学年高中英语教科版必修四-教科版2016
- 26年肺功能动态评估指引
- 安徽省安庆市怀宁县2025-2026学年七年级下学期期中学情检测语文试卷(含答案)
- 医学26年:静脉血栓栓塞症防治 查房课件
- 第5课 美化图片我来做说课稿2025年小学信息技术(信息科技)五年级下册人教·陕师大版
- 老年人护理伦理困境处理
- 上海工商职业技术学院《安全系统工程》2025-2026学年第一学期期末试卷(A卷)
- YB-T6230-2024《不锈钢单位产品能源消耗技术要求》
- 监理安全保密培训课件
- 2025年宣威市交通运输局公开招聘编外行政执法普通辅助工作人员(4人)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 苹果公司采购部面试题目及答案
- 金属硅购销合同范本
- 工业渗滤液处理运营保障措施方案
- 雨课堂学堂在线学堂云《机电设备管理江西交职》单元测试考核答案
- 美发学徒合同协议书
- 中海大卫星海洋学课件第6章 水色遥感和辐射计
- 雨课堂学堂在线学堂云《大学财商新思维与创新创业(西南财大 )》单元测试考核答案
- 北京市第七届中小学生气象知识竞赛题及答案
评论
0/150
提交评论