计算机组成与设计 教学课件 作者 胡越明 第四章.ppt

计算机组成与设计 教学课件 作者 胡越明 第四章.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 指令系统 4.1 指令与指令系统 4.1.1 指令的格式 指令格式:操作码,地址码 一、操作码opcode 固定长度操作码:便于译码,扩展性差 可变长度操作码:能缩短指令平均长度 二、地址码addressing code 零地址指令,如NOP, CLR 一地址指令,如INC R1 二地址指令,如ADD R1, R2 三地址指令,如ADD R1, R2, R3 4-1 设某台计算机有100条指令, (1) 采用固定长度操作码编码,试设计其操作码的编码。 (2) 假如这100条指令中有10条指令的使用概率达到90%,其余90条指令的使用概率为10%。试采用不等长编码设计操作码。 解: (1) 采用固定长度操作码编码时,需要7位操作码。取其中的100个代码作为指令操作码,可以用0000000到1100011之间的代码代表100条指令,即 0000000 指令0的操作码 0000001 指令1的操作码 … 1100011 指令99的操作码 剩下从1100100到1111111共28个代码可用于增加新指令,每条指令的操作码的长度都是7。 4-1 设某台计算机有100条指令, (1) 采用固定长度操作码编码,试设计其操作码的编码。 (2) 假如这100条指令中有10条指令的使用概率达到90%,其余90条指令的使用概率为10%。试采用不等长编码设计操作码。 (2) 用4位代码对10条常用指令进行编码,用8位代码对90条不常用代码进行编码,即 0000 指令0的操作码 0001 指令1的操作码 … 1000 指令8的操作码 1001 指令9的操作码 指令10的操作码 指令11的操作码 … 指令99的操作码 指令操作码的平均长度为 4×90% + 8×10% = 4.4位 比等长编码的7位小。 例4-2 若某计算机要求有如下形式的指令:三地址指令12条,二地址指令60条,零地址指令16条(不要求有单地址指令)。设指令字长为16位,每个地址码长为4位,试用扩展操作码为其编码。 解:三个地址码字段占12位。剩下4位作为操作码,12条指令的操作码分别为0000、0001、0010、…、1011。 在双地址指令中,操作码扩展到8位,每个编码加上扩展的4位后,可以有24=16个编码,共有64个编码,取60个,即1100 0000~1111 1011。 零地址指令中,全部16位指令代码都是操作码,取其前16个编码,即1111 1100 0000 0000~1111 1100 0000 1111。 4.1.1 指令的格式 三、指令长度 固定长度 取指快、译码简单。 单字长、双字长、多字长 可变长度 可提高编码效率 四、指令助记符 伪指令、累加器,通用寄存器 Add $1, $2, $3 4.2 数据的类型及其存储方式 4.2.1 操作数的类型 整型数、单精度和双精度浮点数、字符型 数据长度:单字节、双字节、字、双字、四倍字 4.2.2 操作数的存储方式 大数端(big Endian)和小数端(little Endian) 4.2 数据的类型及其存储方式 数据对齐方式 字不对齐方式下的数据存储 访存次数问题 Char c; Short int i,j; int k; 跨页问题 字对齐方式下的数据存储 空间浪费问题 Char c; Short int i,j; int k; 字对齐方式下的存储器访问 速度较高 接口较简单 字不对齐方式下的存储器访问 节省空间 访存速度慢 接口复杂 数据存储方式的例子 4.2.4 堆栈 ——寄存器堆栈 4.2.4 堆栈 ——存储器堆栈 4.3 寻址方式 按地址寻找与按内容寻找 寻址方式 地址码形成操作数存储位置的方式 4.3 寻址方式 4.3 寻址方式 解:(1) 指令执行之后PC的值为50010。 (2) 相对转移指令中的地址偏移量应为 500 - 754 = -254 (3) 254 28,如果采用补码表示相对地址,则可以形成前向和后向的转移,这样需要增加一个符号位,相对地址字段需要9个二进制位。 4.4 指令格式的设计 4.4.1 操作码的编码 霍夫曼编码 频率相关编码方法 前缀码 采用霍夫曼树 扩展霍夫曼编码法 减少操作码长度数量 扩展霍夫曼编码 确定不同的编码长度 在满足长度数量限制的条件下,可以有多种不同长度的选择方案,需要进行比较才能选出最佳的编码长度选择 根据长度进行编码 编码时将使用概率较高的指令操作码用较短的编码表示,使用概率较低指令的操作码用较长的编码表示; 尽量将较多的指令操作码采用较短的编码,充分利用短小的编码。 4.4.1 操

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档