“21天好习惯”第一期——5

《计算机组成原理》

  3.2.4指令功能和类型

 按指令的功能分类,现在的大部分微处理器将指令分为:传输类指令、访存指令、I/O指令、算术运算指令、逻辑运算指令、程序控制类指令、处理机控制类指令等。

1.传输类指令

    传输类指令是计算机中最基本的指令,用于实现数据传输操作。从编程的角度,传输类指令是使用得最多的指令。从掌握计算机工作机制的角度。计算机硬件的操作基本上都可以归结为信息的传输。 

     计算机的指令系统中通常将传输类指令分为如下3种:

      1.传输指令,实现CPU中各寄存器之间的数据传输,如R0到R1。

      2.访存指令,实现对存储器的读出或写入,如将数据从主存储器调至CPU的寄存器中,以后就可以在CPU中进行运算处理。

     3.I/O操作指令,将有关I/O接口中寄存器的内容输入到主机(CPU的寄存器中或主存储器中)或将数据从主机输出到I/O接口中。

     有的计算机将这3种合并为一个大类,统称为通用型数据传输指令。根据寻址方式区分它是在CPU内传输还是访存。

     在具体设置传输指令时,一般当对三方面做出约定或说明。

      1.传输范围,指令允许数据在什么范围内传输。数据可能来源于目的地可能是CPU寄存器、主存储器或I/O接口寄存器。

     2.传输单位。数据可以按字节、字、双字或数组为单位进行传输,因此传输指令中应明数据传输单位。

    3.设置寻址方式。有的计算机为各种寻址方式分类编号,如0型、1型 ,,n型等,在指令中设置专门的寻址方式编码字段,说明是何种寻址方式。

2.访存指令

   许多机器设置了专门的访存指令,用于主存储器于CPU寄存器之间数据传输类,访存指令分为读、写两类。

   1.加载指令(读存储器)。从主存储器某个单元将数据读出,送入CPU的某个寄存器,常被称为加载(LOAD)。加载指令又可分为按字节、按字等几条指令。

   2.存储指令(写入存储器)。将数据写入某个主存储器单元,称为存储(STORE),也可被分为按字节、按字等。

  3.弹出(TOP)。从堆栈栈顶弹出数据。可视为读存储器的一个特例。

  4.压栈(PUSH)。将数据压入堆栈栈顶,可视为存储指令的一个特例。

3.输入/输出(I/O)指令

    I/O指令实现主机和各外围设备之间的信息传输,输入和输出都以主机为参考。将信息送入主机,称为输入;将信息送至外围设备,称为输出。主机发送者/接收者可以是CPU的中的寄存器,也可以是主存单元。外围设备通过I/O接口与系统总线相连,实现与主机的信息交互,数据的发送/接收者是I/O接口中的寄存器,主机对外围设备的访问就是对有关接口寄存器的访问。

    I/O指令所传输的指令信息大致可分为:数据、命令和状态信息。

、I/O设备的编址方法。

   1.I/O设备的编址方法

         外围设备的编址方式总体上可以分为如下两大类。

        (1)外围设备单独编址

               为外围设备接口中有关寄存器单独分配单独的I/O端口地址。“单独分配”指的是独立于主存编址系统,即外围设备分配I/O端口地址码可以与主存单元地址码相同,设备和主存的地址码是相互独立的。

        (2)与主存储器统一编址

                 将总线空间划分为两大部分,大部分空间留给主存,小部分留给I/O接口寄存器(即I/O端口)使用。

    2.I/O指令的设置方法

考虑到外围设备有两种不同的编址方式,因此也要两类I/O指令设置与之分别对应。

        (1)设置专用的I/O指令

             大多数计算机的指令系统中设置了专门的I/O指令,以支持对外围设备(I/O接口寄存器)单独编址。这类指令是I/O操作专用的且明确存在(非借用内存操作指令完成I/O操作)的,故又为显示I/O指令。相应,I/O指令的操作码明确规定某种I/O操作,在地址部分分别给出CPU寄存器号及I/O端口地址。

           采用专用I/O指令启用外围设备的方法有两种:一种是有操作码给出启动指令,另一种是用输出指令,从CPU寄存器向I/O接口的控制寄存器送出命令字,其中包含启动命令和其他命令。、

        (2)采用通用数据传输指令实现I/O操作

            有些计算机采用通用的数据传输指令实现I/O操作,相应地将外围设备(I/O接口寄存器)与主存单元统一编址。

            这类指令的I/O等价功能是借用内存传输指令实现的,所以被称为隐式I/O指令。

           通用传输指令中并不直接包含启动外围设备的启动命令,它们启动外围设备的方法是通过数据总线向接口输出命令字,包含启动位。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值