计算机组成原理第04章 指令系统..pptVIP

  • 3
  • 0
  • 约6.24千字
  • 约 35页
  • 2019-01-14 发布于湖北
  • 举报
第四章 指令系统 指令格式及其设计 指令和数据的寻址方式 简化指令集计算机 * * 指令 操作码:说明指令操作的性质和功能 地址码: 操作数源地址 操作结果地址 下一条指令的地址 指令 = 操作码 + 地址码 +… + 地址码 n个 4.1 指令格式及其设计 指令: 计算机硬件能识别并直接执行的操作命令,即机器指令。 指令系统: 一台计算机所能执行的全部指令的集合。 4.1.1 指令格式   下面以运算类指令为例来说明地址码的设计.它需要两个源操作数地址,一个目的操作数地址.早期的CPU中没有PC(程序计数器),因此在指令中需要指出下一条指令地址.此时需4个操作数地址. 操作码 源1 源2 目的 下条指令地址 4.1.2 指令操作数地址码格式 n=4 四地址指令   n=3 三地址指令,用PC代替下一条指令地址   n=2 二地址指令,一个源操作数地址兼作目的操作数地址   n=1 一地址指令,其中一个地址为隐含地址.   n=0 0地址指令,没有地址码。如停机指令。 操作数本身 寄存器地址 主存单元地址 地址偏移量 4.1.3 指令操作码的格式 目的:确定操作码位数和编码方式 定长操作码:系统中有n条指令,操作码需要Log2n位,结构简单,便于译码处理 变长操作码:操作码长度可变,使指令格式编排高效、紧凑,能缩短指令操作码的平均长度,但增加了指令译码的难度 地址码的内容 例:设某台计算机有100条指令, (1)采用固定长度操作码编码,试设计其操作码的编码 (2)如果这100条指令中有10条指令的使用概率达90%,其余90条指令的使用概率为10%,即在实际程序中,90%的指令只是10条常用指令.试采用不等长编码设计一种操作码编码的方案,并求出操作码的平均长度. 解: (1)采用固定长度操作码编码时,需用7位操作码,用0000000到 1100011之间的代码代表100条指令,即: 0000000 指令0的操作码 0000001 指令1的操作码 …… 1100011 指令99的操作码 余下从1100100到1111111共28个代码可用于增加新指令,每条指令的操作码的长度均为7 用4位代码对10条常用指令进行编码,用8位代码对90条不常用的代码进行编码,即: 0000 指令0的操作码 0001 指令1的操作码 …… 1001 指令9的操作码 指令10的操作码 指令11的操作码 …… 指令99的操作码 指令操作码的平均长度: 4*90%+8*10%=4.4(位) 4位10条 8位90条 指令操作码扩展技术:在指令中有一个固定长度的字段表来表示基本操作码,而对于一部分不需要某个地址码的指令,把他们的操作码扩充到该地址字段,称扩展操作码技术. 优点:使定长的指令代码实现更多条的指令功能. 缺点:扩展操作码译码较复杂,硬件设计难度加大 例:设某机器的指令字长为16位,包括基本操作码4位和三个地址字段,每个地址字段长4位,其格式为(见下页):试设计一个扩展操作码,能对下列指令译码: 15条三地址指令,14条两地址指令,31条一地址指令,16条零地址指令 4.1 指令格式及其设计          0000 XXXX YYYY ZZZZ XXXX YYYY ZZZZ 0000 YYYY ZZZZ 1111 1101 YYYY ZZZZ 1110 0000 ZZZZ 1111 1110 0001 ZZZZ 1110 1111 ZZZZ 1111 1111 0000 ZZZZ 1111 1110 ZZZZ 1111 1111 1111 0000 1111 1111 1111 1111 … … … … … 15条三地址指令 14

文档评论(0)

1亿VIP精品文档

相关文档