综合以上结果有
3 设x=-18,y=+26,数据用补码表示,用带求补器的阵列乘法器求出乘积x×y,并用十进制数乘法进行验证。 解:符号位单独考虑:X为正符号用二进制表示为 0 ,Y为负值符号用 1 表示。 【X】补 = 101110 【Y】补 = 011010 两者做乘法 1 0 0 1 0 x 1 1 0 1 0 ----------- 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0
---------------- 1 1 1 0 1 0 1 0 0 结果化为10进制就是468
符号位进行异或操作 0异或1得 1
所以二进制结果为 1 1 1 1 0 1 0 1 0 0 化为十进制就是 -468
十进制检验: -18 x26= -468
5 图1所示的系统中,A、B、C、D四个设备构成单级中断结构,它要求CPU在执行完当前指令时转向对中断请求进行服务。现假设:
① TDC为查询链中每个设备的延迟时间;
② TA、TB、TC、TD分别为设备A、B、C、D的服务程序所需的执行时间; ③ TS、TR分别为保存现场和恢复现场所需的时间;
④ 主存工作周期为TM;
⑤ 中断批准机构在确认一个新中断之前,先要让即将被中断的程序的一条指令执行完毕。
试问:在确保请求服务的四个设备都不会丢失信息的条件下,中断饱和的最小时间是多少?中断极限频率是多少?
解:假设主存工作周期为TM,执行一条指令的时间也设为TM 。则中断处理过程和各时间段如图B17.3所示。当三个设备同时发出中断请求时,依次处理设备A、B、C的时间如下:
tA = 2TM +3TDC + TS + TA + TR (下标分别为A,M,DC,S,A,R) tB = 2TM +2TDC + TS + TB+ TR (下标分别为B,M,DC,S,B,R) tC = 2TM + TDC + TS + TC + TR (下标分别为C,M,DC,S,C,R) 达到中断饱和的时间为: T = tA + tB + tC 中断极限频率为:f = 1 / T
6 某计算机有图2所示的功能部件,其中M为主存,指令和数据均存放在其中,MDR为主存数据寄存器,MAR为主存地址寄存器,R0~R3为通用寄存器,IR为指令寄存器,PC为程序计数器(具有自动加1功能),C、D为暂存寄存器,ALU为算术逻辑单元,移位器可左移、右移、直通传送。
(1)将所有功能部件连接起来,组成完整的数据通路,并用单向或双向箭头表示信息传送方向。 (2)画出“ADD R1,(R2)”指令周期流程图。该指令的含义是将R1中的数与(R2)指示的主存单元中的数相加,相加的结果直通传送至R1中。
(3)若另外增加一个指令存贮器,修改数据通路,画出⑵的指令周期流程图。
解:(1)各功能部件联结成如图所示数据通路:
移aIR 移位器 位
PC
-ALU
+1 C
D
R0 R1 R2 R3 MDR M MAR
(2)此指令为RS型指令,一个操作数在R1中,另一个操作数在R2为地址的内存单元中,相加结果放在R1中。 送当前指令地址到MAR (PC)→ 取当前指令到IR,
M→MDR→IR,(PC) PC+1,为取下条指令 做好准备
译码 (R1)① 取R1操作数→ (R2)②R2中的内容是内存
M→ ③从内存取出数→D暂
(C)+(D)④暂存器C和D中的数相加后
7 参见图1,这是一个二维中断系统,请问: ① 在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设备的中断优先级。
② 若CPU现执行设备C的中断服务程序,IM2,IM1,IM0的状态是什么?如果CPU执行设备H的中断服务程序,IM2,IM1,IM0的状态又是什么?
③ 每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能,采取什么方法可达到目的? ④ 若设备C一提出中断请求,CPU立即进行响应,如何调整才能满足此要求?
解: (1)在中断情况下,CPU的优先级最低。
各设备优先级次序
是:A-B-C-D-E-F-G-H-I-CPU
(2)执行设备B的中断服务程序时IM0IM1IM2=111;执行设备D的中断服务程序时IM0IM1IM2=011。
(3)每一级的IM标志不能对某优先级的个别设备进行单独屏蔽。可将接口中的BI(中断允许)标志清“0”,它禁止设备发出中断请求。
(4)要使C的中断请求及时得到响应,可将C从第二级取出,单独放在第三级上,使第三级的优先级最高,即令IM3=0即可 。
8 已知x=-001111,y=+011001,求:
① [x]补,[-x]补,[y]补,[-y]补; ② x+y,x-y,判断加减运算是否溢出。
解: [x]原=100111 [x]补=1110001 [-x]补=0001111
[y]原=0011001 [y]补=0011001 [-y]补=1100111 X+y=0001010 x-y=1011000 13 机器字长32位,常规设计的物理存储空间≤32M,若将物理存储空间扩展到256M,请提出一种设计方案。
解:用多体交叉存取方案,即将主存分成8个相互独立、容量相同的模块M0,M1,M2…,M7,每个模块32M×32位。它们各自具备一套地址寄存器、数据缓冲器,各自以等同的方式与CPU传递信息,其组成如图
j1
j2
0 8
12 有两个浮点数N1=2×S1,N2=2×S2,其中阶码用4位移
码、尾数用8位原码表示(含1位符号位)。设j1=(11)2,S1=(+0.0110011)2,j2=(-10)2,S2=(+0.1101101)2,求N1+N2,写出运算步骤及结果。
解: (1)浮点乘法规则:
j1j2(j1j2)
N1 ×N2 =( 2 ×S1)× (2 × S2) = 2+ ×(S1×S2) (2)码求和:
j1 + j2 = 0 (3)尾数相乘:
被乘数S1 =0.1001,令乘数S2 = 0.1011,尾数绝对值相乘得积的绝对值,积的符号位 =
0
0⊕0 = 0。按无符号阵乘法器运算得:N1 ×N2 = 2×0.01100011 (4)尾数规格化、舍入(尾数四位)
(-01)
N1 ×N2 = (+ 0.01100011)2 = (+0.1100)2×22