问题 单项选择题

计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将______的内容送到地址总线上。

A.程序计数器PC
B.指令寄存器IR
C.状态寄存器SR
D.通用寄存器GR

答案

参考答案:A

解析:指令系统中的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。
通用计算机系统的基本指令有数据传送类指令、运算类指令、程序控制类指令、I/O指令、处理机控制和调试指令。
①数据传送类指令。数据传送类指令是最基本的指令类型,主要用于实现寄存器与寄存器之间、寄存器与主存单元之间,以及两个主存单元之间的数据传送。数据传送指令的种类由三个主要因素决定,分别是数据存储设备的种类、数据传送单位和采用的寻址方式。数据传送类指令又可以细分为一般传送指令、堆栈操作指令和数据交换指令。一般传送指令具有数据复制的性质,即数据从源地址传送到目的地址,而源地址中的内容保持不变;堆栈操作指令分为进栈(PUSH)和出栈(POP)两种,在程序中它们往往是成对出现的;数据交换指令是双方向数据传送指令,即将源操作数与目的操作数相互交换位置。
②运算类指令。运算类指令又分为算术运算指令、逻辑运算指令和移位指令,其中移位指令又可分为算术移位、逻辑移位和循环移位。运算类指令在整个指令系统中应该占有比较大的比重(例如,超过30%)。如果所占比重过小,就会影响整个计算机系统的性能。设计运算类指令,主要考虑操作种类、数据表示、数据长度、数据存储设备,以及它们的组合。在对这些因素进行组合时,必须考虑指令的执行时间、使用频率、硬件实现的复杂程度等多方面的情况。
③程序控制指令。程序控制类指令用于控制程序的执行顺序,并使程序具有测试、分析与判断的能力,主要包括三类,分别是转移指令(包括无条件转移和有条件转移)、程序调用和返回指令、循环控制指令。其中,前两类指令在一般计算机中是必须具备的,最后一类指令用于对循环程序进行优化。
④I/O指令。I/O指令用来实现主机与外部设备之间的信息交换,包括I/O数据、主机向外设发控制命令或外设向主机报告工作状态等。I/O指令通常比较简单,采用单一的直接寻址方式,数据字长一般以字节为单位。在多用户或多任务环境下,I/O指令属于特权指令。当程序需要进行I/O操作时,用系统调用进入操作系统,由操作系统对设备统一进行管理。
⑤处理机控制和调试指令。在一般的计算机系统中,处理机有两个状态,分别是管态和用户态,或称主态和从态。这两个状态需要互相切换,在这两个状态下所能使用的指令应该有所区别。在一般通用计算机系统中,按照指令的使用权限,可以把指令分为两大类,分别是一般指令和特权指令。只有系统管理程序能够使用,一般用户程序不能使用的指令称为特权指令,主要包括处理机状态的设置和管理、系统硬件和软件资源的管理、进程的管理等。只有在管态下才能够使用特权指令;在用户态下,只能使用一般指令。
程序计数器(PC)用于记录需要执行的下一条指令操作码的地址,所以在读指令操作码时,应将程序计数器的内容送到地址总线上。

单项选择题
单项选择题