首页 > 编程知识 正文

指令系统有多少条指令(指令和指令系统)

时间:2023-05-03 10:41:14 阅读:122843 作者:4893

命令由以下两部分组成:

操作码操作数的地址

第一,命令的操作码。 操作码是本指令的操作功能,例如是否为算术加法、减法、逻辑积或运算功能,是否为读出、写入存储器或读出、写入外围设备的操作功能,程序的传输和子程序调用或恢复操作功能

第二部分是指令的操作数地址,是用于给出被操作的信息(指令或数据)的地址,有参加运算的一个或多个操作数的地址、运算结果的保存地址、程序的转送地址、被调用的子程序的链

1 .操作码组织和编码

)固定长度操作码的编制方案。 现在常用的计算机一般在指令语的最高位部分分配固定的数比特(固定长度)来表示操作码。 例如8位,由于有256个代码状态,所以最多可以表示256个指令

)2)加长操作码的组织方案

)3)操作码字段与操作数地址交叉的方案

2 .地址方式

(1)马上清点地址

操作数直接给指令语。 也就是说,直接赋予指令语的不是操作数地址,而是操作数本身。 其主要使用方法是将确定的数据传输到通用寄存器中。 如果该数据占用的位数少,例如,较小的整数、西班牙语字符,则保存在第一个指令语的操作数地址字段中,如果可以配置在第一个指令语中,则在读取指令的同时也可以获得相关数据。 否则,只能存储在指令的第二个指令语中。 这构成两个字的命令。

)2)直接寻址

直接寻址是指将操作数存储器中的地址直接赋予指令的操作数地址字段,这也是计算机常用的寻址方式之一。 和即时地址方式一样,当该地址占用的位数少时,存储在第一个指令语的操作数地址字段中,如果能够将该地址配置在第一个指令语中,则在读取指令的同时也得到相关的地址。 否则,只能存储在命令的第二个字符中。 这构成两个字符的命令。

)3)寄存器地址、寄存器间接地址

寄存器地址直接给出指令语中有操作数的通用寄存器的编号(名称、地址)。 表示由于通用寄存器的数量少,1个通用寄存器编号占有的位数变少,有利于缩短指令字的长度。 另外,考虑到从通用寄存器中取数参加运算,或者在通用寄存器中暂时保存运算结果更迅速方便,这基本上是最常用的地址方式。

在寄存器间寻址中,如果给了寄存器的操作数地址而不是操作数地址,则可以使用该地址来读取和写入存储器。 这种使用方法被称为寄存器间接寻址,这也是最基本和最常见的寻址方式之一。

(4)索引地址指定

索引地址是将指令语中给定的值(称为索引偏移)和指定的寄存器(称为索引寄存器)的内容相加而得到的操作数地址,用于内存的读写。 特别适用于数组型数据的处理。有些计算机具有自动递增和递减索引寄存器内容的操作功能,读写一个数据后,由索引寻址的地址自动变为下一个与索引修饰一样,根据允许的索引偏移大小范围,使用索引修饰的命令可能是单词、两个字符、甚至三个字符的命令。

)5)间接寻址

间接寻址不是指令字地址字段中给出的操作数地址,也不是下一个指令的地址,而是操作数地址,或者是指令地址的地址。 介绍寄存器地址时,已经提到了寄存器间接地址,这是间接地址的一个例子,比较常用。 如果是读写存储器操作,则在指令语的地址字段中,赋予操作数的地址的存储器内的地址、或者指令的地址的存储器内的地址。 此时,读写数据需要访问内存两次,速度会变慢。 执行多次间接寻址以获取单个指令或单个数据会降低系统运行效率。

命令的执行步骤

从图中可以看到,组合逻辑控制器由四个主要部件组成。

第一个是程序计数器PC,保存一个指令的存储器内的地址,服务于指令的读取,通常有自增量功能,可以接收下一个要执行的指令的地址。

二是指令寄存器IR,保存从存储器读取的指令内容,提供指令执行中使用的指令自身的主要信息。

第三个构成要素是脉冲源、起停控制逻辑、差拍发生器; 脉冲源和起停控制逻辑用于向计算机各部件提供连续(单个)主振动脉冲,差拍发生器用于标记各指令各执行步骤的相对顺序关系。

第四个构成要素是定时控制信号的产生部件,根据指令内容、指令的执行顺序(时刻)、或可能还有其他什么条件信号,形成并提供在计算机的各部件的当前时刻使用的控制信号。 这是设计控制器最费力的组成部分之一。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。