K12第4章指令系统概要1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
K12第4章指令系统概要1

第4章 指令系统 4.1 指令格式 4.2 寻址方式 4.3 指令类型 4.4 复杂指令系统计算机和精简指令系统计算机 4.5 教学计算机的指令系统 4.1 指令格式 4.1.1 指令四要素 4.1.2 指令的地址数目 4.1.3 指令的操作码 4.1.4 指令长度 4.1.1 指令四要素 1)操作码 表征指令的操作特性与功能。n 2n 2)源操作数地址 通过该地址取得所需的操作数。 来源:寄存器组、主存或虚存、I/O设备 3)目的操作数地址 指出指令的操作结果被存放的地方。 4)下一条指令的地址 顺序执行:隐含(PC)+1 PC 改变执行顺序:显式指出 4.1.2 指令的地址数目 根据地址码部分所给出地址的个数可分为: 零地址指令、一地址指令、二地址指令、 三地址指令、多地址指令 1)零地址指令 只有操作码,而没有地址码 无需任何操作数 操作数是隐含的 2)一地址指令 单操作数指令 隐含第二操作数,如: (AC)OP(A)→AC 3)二地址指令 双操作数指令 (A1)OP(A2)→A1 (A2)→A1 进一步分类为 M-M R-R R-M 4)三地址指令 ?? (A1)OP(A2)→A3 5)多地址指令 用于处理成批数据 4.1.3 指令的操作码 1)指令操作码的两种编码方式 定长编码(固定格式) 操作码长度固定, 且集中放在指令字的一个字段中。 变长编码(可变格式) 操作码的长度可变,且分散地放在指令字的不同字段中。 2)可变格式指令的扩展技术 指令字中用一个固定长度的字段表示基本操作码,对于不需要某个地址码的指令,可将操作码扩充到地址码字段。 例如:某机器的指令长度为16位,其中4位基本操作码字段,3个4位地址码字段,采用操作码扩展技术可以形成多于16条指令。 ⑴一种扩展方法如下: 15条三地址指令,操作码 0000~1110 15条二地址指令, 操作码15条一地址指令, 操作码 111111110000 ~ 111111111110 16条一地址指令, 操作码 1111111111110000~1111111111111111 共61条 例题:假设某计算机指令长度为20位,具有二地址指令、一地址指令、零地址指令三类指令形式,在此情况下,这台计算机地址规定用6位表示,问: ①若操作码字段固定为8位,现已设计出m条二地址指令,n条零地址指令,在此情况下,这台计算机最多可以设计出多少条一地址指令? ②当二地址指令条数取最大值,且此基础上一地址指令条数也取最大值时,计算这台计算机最多指令数是多少? 答: ①由于操作码的位数决定了指令系统的规模及指令的性质。所以一地址指令的条数: 28-m-n=256-m-n ②应为255+63+64=382条。 操作码扩展技术遵循原则 使用频度高的指令分配短的操作码 使用频度低的指令分配较长的操作码 ⑵霍夫曼编码(Huffman) 用霍夫曼树的方法实现: 将所有指令的使用频度由小到大排列,每次选择其中最小的两个频度求和得到一个新结点,然后把它作为叶结点。一个新结点与其他叶结点再按频度大小排序。如此重复,直至全部使用频度都处理完毕最后形成一个频度为1的根结点为止。 由根结点开始向下延伸,对两个分支用一位“1”或“0”来表示,直至遍历所有的结点为止。 例题:某计算机有10条指令,它们的使用频度分别为: 0.3,0.24,0.16,0.12,0.07,0.04,0.03,0.02,0.01,0.01 要求用霍夫曼编码对其编码,并求出平均编码长度。 解:霍夫曼编码见图。 平均编码长度=0.01*7+0.01*7+0.02*6+0.03*5+0.04*4+0.07*3 +0.12*3+0.16*3+0.24*2+0.3*2=2.7 ⑶霍夫曼 (Huffman)扩展编码 在霍夫曼 (Huffman) 编码的基础上再对码长加以一定限制,且对编码作适当的改变,使得编码为有限的几种码长。 例题:某模型机有8条指令,使用频度分别为: 0.3,0.3,0.2,0.1,0.05,0.02,0.02,0.01 试分别用霍夫曼编码和扩展编码对其操作码进行编码,限定扩展编码只能有两种长度。它们的平均编码长度各比定长操作码的平均编码长度减少多少? 扩展编码平均码长为:(0.01+0.02+0.02+0.05+0.1)*5+(0.2+0.3+0.3)*2=2.6 定长操作码的平均码长为:3 霍夫曼编码的平均码长比定长码减少: (3-2.38)/3=21% 扩展码则平均减少: (3-2.6)/3=13% 4.1.4 指令长度 1)指令长度与机器字长的关系 机器字长 是指计算机能直接处理

文档评论(0)

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

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

1亿VIP精品文档

相关文档