计算机组成原理——指令格式

计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息:

(1)操作码(OP),具体说明了操作的性质及功能
(2)第一操作数的地址 A 1 A_{1} A1
(3)第二操作数的地址 A 2 A_{2} A2
(4)操作结果存放地址 A 3 A_{3} A3
(5)下一条将要执行指令的地址 A 4 A_{4} A4

由上可得,一条指令包括两种信息:操作码,地址码

操作码地址码

此外补充一下其他知识:
字长:计算机在单位时间内(同一时间)能一次处理一组二进制数的位数,决定了计算机的运算精度和一次处理能力。其中包含了CPU、寄存器、Data bus等能够一次传输数据的能力

字节:1Byte=8bit

地址码长度(操作数):地址码的位数,存储器可以按字长存储单元或字节存储单元编址,地址码的位数可以寻 2 N 2^{N} 2N个存储单元地址。所以地址码长度决定了指令的直接寻址能力。

指令长度:操作码长度+操作数地址码长度+操作数地址个数。指令长度和字长没有固定的联系

一、定长编码指令格式
这是最简单的一种编码方法。操作码字段的位数和位置固定,为能够表示整个指令系统中的全部指令,指令的操作码字段应当具有足够的位数。
设指令系统共有m条指令,指令中操作码字段的位数为N位,则满足
m<= 2 N 2^{N} 2N
在这里插入图片描述
上图为IBM370机的指令格式

二、变长编码指令格式
变长编码的操作码字段位数是不固定的,且分散地放在指令字的不同位置上。
在这里插入图片描述
上图为PDP-11机的指令格式图(PPT里截的图)


下面放一道例题来熟悉一下这两种编码方式的应用

例:设某计算机字长16位,欲使设计的指令系统有零地址指令16条,一地址指令有15条,二地址指令有15条,三地址指令有15条,设每个地址码字段为4位,应如何设计?

解法一、定长操作码解法

共需要满足15+15+15+16=61条指令

2 6 2^{6} 26=64>61

所以操作码长度为6位
零地址指令长度6位
一地址指令长度10位
二地址指令长度14位
三地址指令长度18位

若要求指令字长为字节的整数倍,则
零地址指令长度8位
一地址指令长度16位
二地址指令长度16位
三地址指令长度24位

解法二、操作码扩展技术解法

2 4 2^{4} 24=16>15

指令格式为在这里插入图片描述
各个字段均为4位,指令长度16位。
(1)把4位操作码的编码0000~1110作为15条三地址指令的操作码,1111作为扩展窗口把操作码扩展到 A 1 A_{1} A1

(2)8位操作码编码1111 0000~1111 1110作为15条二地址指令,1111 1111作为扩展窗口把操作码扩展到 A 2 A_{2} A2

(3)12位操作码编码1111 1111 0000~1111 1111 1110作为15条一地址指令,1111 1111 1111作为扩展窗口把操作码扩展到 A 3 A_{3} A3

(4)最后16位操作码编码1111 1111 1111 0000~1111 1111 1111 1111作为16条零地址指令。

PS:操作码扩展法即在4位二进制表示的16个码点中,用前15个(0000开始到1110)来表示最常用指令的操作码,剩余的一个码字(1111)作为扩展窗口把操作码扩展到下一个4位。下一个4位表示的16个码字按照同样的原则处理和扩展。

  • 18
    点赞
  • 147
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
计算机组成原理模板块容量: 模板块容量是指一个存储芯片中存储单元的数量。在计算机组成原理中,模板块通常是指存储器芯片。存储器芯片中存储单元的数量取决于芯片的物理结构和制造工艺。 常见的存储器芯片有静态随机存储器(SRAM)和动态随机存储器(DRAM)。SRAM通常比DRAM速度更快,但是成本更高。因此,在实际应用中,需要根据不同的需求选用适当的存储器芯片。 计算机组成原理习题——带答案: 1. 什么是冯·诺依曼体系结构? 答:冯·诺依曼体系结构是指一种将程序指令和数据存储在同一存储器中,并通过总线进行传输的计算机体系结构。冯·诺依曼体系结构的特点是程序和数据存储在同一存储器中,采用存储程序的方式控制计算机的运行。 2. 什么是指令周期? 答:指令周期是指执行一条指令所需的时间。指令周期包括取指周期、译码周期、执行周期和写回周期等阶段。 3. 什么是中断? 答:中断是指计算机在执行程序的过程中,由于外部事件的发生(如输入输出操作、时钟信号等)而打断原有的程序执行流程,转而去执行与中断事件相关的特殊处理程序的一种机制。 4. 什么是流水线? 答:流水线是指将一个复杂的操作分为多个子操作,并且将这些子操作以一定的次序组织起来,使得每个子操作在不同的处理器件上并行执行,从而提高处理速度和效率的一种技术。 5. 什么是Cache? 答:Cache是指高速缓存存储器,它是计算机系统中的一种存储器层次结构。Cache存储器通常位于CPU和主存储器之间,用于缓存主存中频繁访问的数据和指令,从而提高计算机系统的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值