计算机执行指令的过程执行过程中是通过( )来获得指令在内存中的地址?是程序计数器还是指令寄存器?

程序指令从内存中被fetch的顺序对应程序指令在内存中的存储顺序除非被JUMP指令打乱。

CPU把内存发送过来的指令寄存到指令寄存器然后把程序计数器的值增加2,这样程序计数器就包含了下一个要fetch计算机执行指令的过程内存地址

举例:如果指令是要从内存加载数据,CPU就会向主存发送相应的信号等待主存发送數据,然后把数据寄存到指定的寄存器中;如果指令是一个算术操作CPU就会激活算术/逻辑单元内相应的电路,并提供寄存器内的数据等待执行完成后把结果寄存到相应的寄存器。

注意如果指令是B058,那么程序计数器的值是否要被改变取决于寄存器0和寄存器0的内容是否相等

机器要执行程序,首先把地址A0寄存到程序计数器(图2.10)

CPU开始机器循环的第一步fetch:读取地址A0上的指令(156C),并把它寄存到指令寄存器(图2.11a)

把指令寄存到指令寄存器,为程序计数器加2:

在execute期间:算数/逻辑单元执行了加法运算把结果寄存到寄存器0(由控制单元决定),並通知控制单元计算结束

}

A.两个整数相加若最高位(符号位)有进位,则一定发生溢出

B.两个整数相加若结果的符号位为0,则一定发生溢出

C.两个整数相加若结果的符号位为1,则一定发生溢出

D.两个同号的整数相加若结果的符号位与加数的符号位相反,则一定发生溢出

}

我要回帖

更多关于 计算机执行指令的过程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信