§3指令系统的设计和优化解析.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§3 指令系统的设计和优化 指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面 指令系统是计算机系统结构的主要组成部分 指令系统是软件与硬件分界面的一个主要标志 指令系统是软件与硬件之间互相沟通的桥梁 指令系统与软件之间的语义差距越来越大 指令系统的设计主要包括指令的功能(操作类型、具体操作内容)和指令格式的设计. 内容 指令系统设计的基本原则 指令操作码的优化 指令字格式的优化 指令设计的步骤 根据应用,初拟出指令的分类和具体的指令; 试编出用该指令系统设计的各种高级语言的编译程序; 对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高; 将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方式实现; 指令类型 非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等; 特权型:系统程序员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等; 指令系统的设计 设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。 规整性 对称性 独立性和全能性 正交性 可组合性 可扩充性 系统设计人员希望 指令码密度适中 高密度指令:强功能符合指令 优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间; 缺点:指令系统复杂,硬件实现困难; 兼容性 适应性 指令系统的设计包含的内容 指令的格式 指令的类型 操作功能 操作数的访问方式---寻址方式 指令的组成 一般的指令主要由两部分组成:操作码和地址码 操作码主要包括两部分内容: 操作种类:加、减、乘、除、数据传送、移位、转移、输入输出 操作数描述 数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量 进位制:2进制、10进制、16进制 数据字长:字、半字、双字、字节 地址码通常包括三部分内容: 地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号 地址的附加信息:偏移量、块长度、跳距 寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址 指令设计要考虑的问题 操作数的存储形式 存储器 CPU内什么地方 每条指令中显式说明的操作数个数 操作数的位置 操作类型 操作数的类型和长短 指令的分类 指令格式的优化 指令=操作码+地址码 指令格式的优化:如何用最短的位数来表示 指令的操作信息和地址信息,使程序中指 令的平均字长最短。 主要目标: 节省程序的存储空间 指令格式尽量规整,便于译码 操作码的优化表示 操作码的三种编码方法: 固定长度: 规整性好,解码简单,空间大。 IBM公司的大中型机:最左边8位为操作码 Intel公司的Intanium处理机:14位定长操作码 许多RISC处理机采用定长操作码 Huffman编码:空间小,规整性不好,解码复杂。 扩展编码: 折衷方案。 改进操作码编码方式能够节省程序存储空间 例如:Burroughs公司的B-1700机 哈夫曼(Huffman)压缩 当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。 用于代码压缩、程序压缩、空间压缩和时间压缩 操作码的优化表示 信息源熵:信息源包含的平均信息量。 信息冗余量: 举例 七条指令,频度如下 I1 I2 I3 I4 I5 I6 I7 0.4 0.3 0.15 0.05 0.04 0.03 0.03 信息源熵H=2.17 信息冗余量=0.28=28% 扩展编码 Huffman操作码的主要缺点: 操作码长度很不规整,硬件译码困难 与地址码共同组成固定长的指令比较困难 扩展编码法:由固定长操作码与Huffman编码法相结合形成 减少平均长度 方便译码 上例:Huffman用四种长度 0,10,110,11100,11101,11110,11111 I1、I2、I3用两位:00、01、10 I4、I5、I6、I7用四位: 1100、1101、1110、1111 平均码长=2.30 信息冗余量=0.0565=5.65% Huffman编码方法 写出每个事

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档