- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lecture 5 指令系统 指令格式 指令操作码的扩展 寻址方式 教学目的与要求 掌握指令、指令系统的基本概念 掌握指令格式和指令扩展技术 理解存储器中数据的存放方式 熟练掌握指令寻址和操作数寻址方式 了解指令的分类及功能 掌握RISC的特点 一. 指令系统的发展 指令:指示计算机完成特定功能的命令 指令系统:一台计算机的指令格式及其所有指令的集合 系列计算机:基本指令相同,基本体系结构相同的一系列计算机。 一个系列有多种型号,各型号的组织和性能可以有很大差异, 软件兼容:系列机有共同的指令集,而且新机种的指令系统一定包含旧机种的所有指令 一. 指令系统的发展 指令系统的改进 分立元件元件减少,集成化增大,计算机指令系统由简单、指令少、寻址方式简单向多样化、多功能发胀。 围绕着缩小指令与高级语言的语义差异以及有利于操作系统的优化而进行的。 指令系统太复杂也会带来一些不利的因素 如设计周期长,正确性难以保证,不易维护; 复杂指令的利用率很低。 提出了便于VLSI实现的精简指令系统计算机(RISC) 算术-逻辑运算,数据传送,转移和子程序调用等基本指令。 二. 指令格式 一条指令必须包含下列信息 操作码:操作的性质和功能 操作数的地址 操作结果的地址 下一条指令的地址 指令格式 操作码:表示该指令要完成的操作 地址码:描述该指令的操作对象 二. 指令格式 地址码的设计 四地址格式:(实际不用) 二. 指令格式 举例:完成Y=(A-B)÷(C+D×E)的指令序列 三. 指令操作码的扩展 指令系统中不同操作的指令条数由指令操作码的长度决定。 编码格式: 固定格式(等长编码): 简化硬件设计,减少指令译码时间。 使用:字长比较长的机器、RISC。 IBM 370 可变格式(不等长编码): 能有效压缩程序中操作码的平均长度。 会增加指令译码和分析的难度,使控制器的设计复杂化,且需更多的硬件来支持。 使用:字长比较短的机器。Pentium 三. 指令操作码的扩展 不等长编码方法 对于一部分不需要某个地址码的指令,把它们的操作码扩充到该地址字段,这样既能充分利用指令的各个字段,又能在不增加指令长度的情况下扩展操作码的长度,使它能表示更多的指令。 15/15/15扩展法 8/64/512扩展法 Huffman 编码法 操作码扩展技术是一种重要的指令优化技术。 15/15/15扩展法 机器字长位16位,设计一个具有15条三地址指令、15条双地址指令、15条单地址指令和16条零地址指令的指令系统。(保留一个码点) 8/64/512扩展法 机器字长位16位,设计一个具有8条三地址指令、64条双地址指令、512条单地址指令和8192条零地址指令的指令系统。(保留一位标志位) Huffman 编码 由于指令使用的频度不一致,对出现频度高的信息单元,可以用较短的位数表示,从而达到构成的指令系统的平均码长最短。 实现: 按概率分布情况,构成一棵Huffman树,然后从树根沿着树枝到达信息单元(指令出现的概率点),在每个分枝上、下(或左、右)写上0和1,直到全部编码完毕; 指令编码为:从树根开始,沿着树枝写出各个信息单元的全部代码。 Huffman 编码 信息量的概念 定义:信息量=-log2Pi (比特), Pi位信息出现的概率. 指令Ii在n条指令组成的程序中的信息量为: (- n*Pi*Log2Pi) m条指令组成的指令系统,在该程序中的全部信息量:?( - n*Pi*Log2Pi ),i=1…m 系统平均信息量(熵):H=全部信息量/n= ?( -Pi*Log2Pi ),(比特) 平均码长即最短码长:L= ?(Pi*li) 其中,Pi为指令出现的概率, li为指令分配的码长。 Huffman 编码举例 某机器共有7条指令,其使用统计频度如下,求出该系统的平均信息量(最短平均码长),若采用定长编码,则系统的信息冗余量为多少? 指令 使用频度 I1 0.45 I2 0.28 I3 0.17 I4 0.05 I5 0.03 I6 0.01 I7 0.01 Huffman 编码举例 例题: 若某指令字长16位,每个操作数的地址码长6位。指令分为零地址、单地址和二地址3种格式。已知零地址指令有P种,单地址指令有Q种。 若操作码长度固定,则二地址指令最多有几种? 若采用扩展操作码技术,则二地址指令最多允许有几种? 例题: 某机器指令字长24位,共能完成130种操作。 若采用单地址格式,可以直接寻址的范围是多大? 若采用二地址格式,可直接寻址的范围又是多大? 三. 指令操作码的扩展 指令长度与字长的关系 字长是指计算机能直接处理的二进制数据的
文档评论(0)