- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2 指令系统的设计
指令由两部分组成:操作码、地址码 操作码:通常包括两部分,即指令的操作类型和所用操作数的数据类型。 地址码:通常包括三部分内容,即操作数的地址、地址的附加信息和寻址方式。 指令格式的设计:确定指令字的编码方式,包括操作码字段和地址码字段的编码和表示方式。 指令格式的优化是指如何用最短的位数来表示指令的操作信息和地址信息。 1、定长编码 所有指令都采同一长度的操作码。 可保证操作码的译码速度,减少译码的复杂度。 以程序的存储空间为代价换取硬件实现上的好处。 对于n条指令的指令系统,采用定长编码时,操作码长度为: 2、哈夫曼编码 哈夫曼压缩概念的基本思想:当各种事件发生的概率不均等时,可以对发生概率最高的事件用最短的位数(时间)来表示(处理),而对于出现概率较低的事件,则可以用较长的位数(时间)来表示(处理),从而使总的平均位数(时间)缩短。 2、哈夫曼编码 构造哈夫曼树的方法: 将各事件按其使用频度从小到大依次排列; 每次从中选择两个频度值最小的结点,将其合并成一个新的结点,并把新结点画在所选节点的上面; 然后用两条边把新结点分别与那两个结点相连,新结点的频度值是所选两个结点的频度值的和; 把新结点与其他剩余未结合的结点一起,再以上面的步骤进行处理,反复进行,直到全部结点都结合完毕形成根结点为止。 2、哈夫曼编码 从哈夫曼树写出哈夫曼编码的方法: 对于从任意结点引出的两条边,按左“0”右“1”的方法进行标记; 从哈夫曼树根结点出发、沿一条路径连接到叶结点Ii,把所经过的边的标记按顺序记录下来,便是该指令Ii的哈弗曼编码。 操作码优化的程度可用信息熵来衡量: 它表示用二进制编码表示n个码点时,理论上的最短平均编码长度。 例2.1:假设某模型机有7条指令,这些指令的使用频度分别为0.40、0.30、0.15、0.05、0.04、0.03、0.03。 (1)计算这7条指令的操作码编码的最短平均码长。 (2)画出哈夫曼编码树,写出这7条指令的定长编码、哈夫曼编码,计算该编码的平均码长和信息冗余量。 3、扩展哈夫曼编码 虽然利用哈夫曼编码来减少操作码的平均位数,但所获得的编码是变长的,不利于硬件处理。 一般是采用扩展哈夫曼编码,这是位于定长二进制编码和哈夫曼编码之间的一种编码方案。 这种方案采用有限几种固定长度的码长,仍然采用高概率的用短码、低概率用长码的哈夫曼压缩思想,使操作码平均长度缩短。 例2.1续:对例2.1中的指令采用2-4的扩展哈夫曼编码,计算该编码的平均码长。 1、如果指令字的宽度是固定的,而且指令中地址码的长度和个数是固定的,则操作码的缩短并不能带来好处。 2、为了能利用操作码缩短带来的好处,可以采用地址个数可变和/或地址码长度可变的方案。 2.3.3 指令操作码的优化 2.3.3 指令操作码的优化 2.3.3 指令操作码的优化 2.3.3 指令操作码的优化 操作码编码 说明 操作码编码 说明 0000 0001 …… 1110 4位长度的操作码共15种 0000 0001 …… 0111 4位长度的操作码共8种 1111 0000 1111 0001 …… 1111 1110 8位长度的操作码共15种 1000 0000 1000 0001 …… 1111 0111 8位长度的操作码共64种 1111 1111 0000 1111 1111 0001 …… 1111 1111 1110 12位长度的操作码共15种 1000 1000 0000 1000 1000 0001 …… 1111 1111 0111 12位长度的操作码共512种 等长15/15/15 ……扩展法 等长8/64/512 ……扩展法 例2-2:4-8-12等长扩展的两种方法 2.3.4 指令格式的优化 2.3.4 指令格式的优化 3、寻址方式的表示方法 将寻址方式编码于操作码中,由操作码描述相应操作的寻址方式。 适合:处理机采用load-store结构,寻址方式只有很少几种。 设置专门的地址描述符,由地址描述符表示相应操作数的寻址方式。 适合:处理机具有多种寻址方式,且指令有多个操作数。 2.3.4 指令格式的优化 4、采用固定长度操作码情况下的3种编码格式 变长编码格式 当指令集的寻址方式和操作种类很多时,这种编码格式是最好的。 用最少的二进制位来表示目标代码。 可能会使各条指令的字长和执行时间相差很大。 2.3.4 指令格式的优化 定长编码格式 将操作类型和寻址方式一起编码到操作码中。 当寻址方式和操作类型非常少时,这种编码格式非常好。 可以有效地降低译码的复杂度,提高译码的速度。 大部分RISC的指令集均采用这种编码格式。 2.3.4 指令格式的优化 混合型编码格式 提供若干种固定的指令字长。
文档评论(0)