一、某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=11110100,[y]补=10110000。若整型变量z=2*x+y/2,则z的机器数为。
先分别求出 2*x
和 y/2
的补码,再将它们相加得到 z
的补码,以下是具体步骤:
求
2*x
的补码
根据补码的算术移位规则,对于正数左移一位相当于乘以 2(数值增大),对于负数左移一位同样相当于乘以 2(数值在二进制表示上的变化体现为左移,且符号位不变)。
已知 [x]补 = 11110100
,它是一个负数(因为最高位为 1),将其左移一位(符号位保持不变),得到 2*x
的补码为 11101000
。
求
y/2
的补码
根据补码的算术移位规则,对于定点整数来说,右移一位相当于除以 2(向下取整)。
已知 [y]补 = 10110000
,它是一个负数(因为最高位为 1),将其右移一位(符号位保持不变),得到 y/2
的补码为 11011000
。
求
z
的补码(即求2*x + y/2
的补码)
将 2*x
的补码 11101000
和 y/2
的补码 11011000
进行补码加法运算,运算规则是:连同符号位一起相加,按逢二进一的原则进行计算,若最高位产生进位,则舍去进位。
11101000
+11011000
=111000000
舍去最高位产生的进位,得到 z
的补码为 11000000
。
所以,整型变量 z
的机器数为 11000000
。
二、在微程序控制方式中,机器指令和微指令的关系?
- 指令层次关系
- 在微程序控制方式中,机器指令是计算机硬件能够直接识别和执行的指令,它是面向程序员或用户的,程序员通过编写一系列机器指令来完成特定的任务。例如,在编写一个简单的加法程序时,使用的如 “ADD”(加法)这样的指令就是机器指令。
- 微指令是用于实现机器指令功能的更底层指令。一条机器指令的功能通常需要通过执行一系列微指令来完成。可以把微指令看作是对机器指令的细化和分解,它直接控制硬件电路的操作。
- 微程序与机器指令的对应关系
- 每一条机器指令对应着一段微程序,这段微程序由若干条微指令组成。当计算机执行一条机器指令时,实际上是通过执行对应的微程序来实现的。例如,对于 “ADD” 机器指令,其对应的微程序可能包含从内存中取操作数、执行加法运算、将结果存回内存等一系列微指令操作。
- 微指令对硬件的控制
- 微指令的格式和内容是与计算机硬件结构紧密相关的。微指令中包含控制信号字段,这些控制信号直接作用于计算机的各个硬件部件,如运算器、控制器、存储器和输入输出设备等,指挥硬件完成特定的操作。例如,微指令中的某个控制信号可能用于控制数据总线的传输方向,另一个控制信号可能用于启动运算器中的加法器进行运算。
- 微程序存储与执行
- 微程序通常存储在控制存储器(CM)中。当计算机需要执行一条机器指令时,首先根据机器指令的操作码找到对应的微程序在控制存储器中的入口地址,然后从该地址开始依次取出微指令并执行,直到微程序执行完毕,从而完成机器指令的功能。
总之,机器指令是用户编程的基本单位,而微指令是实现机器指令功能的微观操作序列,微程序是一系列微指令的有序集合,它们共同协作实现计算机的指令执行过程。
评论区