计算机组成原理计算题.docx
11页计算题:【第三章】 交叉方式的片选方法,交叉方式的地址分配,交叉存取度的概念,交叉存储器的带宽的计算 多模块交叉存储器采用低位地址做偏选模块存取一个字的存储周期为 T ,总线传送时间为 t ,存储器的交叉模块数为 m, 称 m=T / t 为交叉存取度例5】存储器容量32字,字长64位,模块数m=4,存储周期T=200ns,数据总线宽 度为64位,总线传送周期t=50ns,若连续读出4个字,顺序和交叉的带宽各为多少? 信息总量q=64b*4=256b所需时间:交叉 t1=T +(m-1)*t =350ns ;顺序 t2=m*T=800ns; 带宽:交叉 W1=q / t1 =730Mb / s ; 顺序 W2=q / t2 =320Mb / s.【 2007】1. 设阶码3位,尾数6位,按浮点运算方法(否则不计分),完成x-y运算,x=2-oiiX 0.100101, y=2-oio X (-0.011110)共 9 分)2. 有一个1024KX16位的存储器,由256KX8位的SRAM芯片构成9分)问:(1)总共 需要多少DRAM芯片? (3分)(2)设计此存储体组成框图6分)3. 已知 x= -0.101011 , y=0.111010 ,要求: (共7分)(1) 写出变形补码[x]补和[y]补和[-y]补;(3分)补 补 补(2) 用变形补码计算[x+y]补和[x-y]补,并判断是否溢出。
4分)补补4. 已知x= 0.10101, y= - 0.11001,计算[x*y]和其真值(要求有补码直接乘法的算式)9 分)补5. 设有一微指令格式字长为24位,其中下址字段8位;判别测试字段3位;其余为操作控 制字段操作控制字段采用混合编码方式,有5位分别经一个3:8译码器和一个2:4译码器 输出,其它均为直接控制问: (共5分,要求有算式)(1) 这种指微指令格式中最多可以表示多少个微命令? (2分)(2) 一条微指令最多可同时发出多少个微命令? (2分)(3) 可直接寻址的控制存储器最大单元数是多少? (1分) 答案 1. 设两数均以补码表示,阶码和尾数均采用双符号位,则它们的浮点表示分别为:[x]浮=11101,0.100101 [-y]浮=11110, 0.011110 1'(1) 求阶差并对阶 1'△ E=Ex-Ey=[Ex] -[Ey]二[Ex] +[-Ey] =11101 + 00 010 =11 111补 补 补 补即厶E为-1, x阶码小,应使Mx右移1位,Ex加1[x] =11 110,00.010010(1)浮(2) 尾数求和 2'0 0. 0 1 0 0 1 0 (1)+0 0. 0 1 1 1 1 00 0 1 1 0 0 0 0 (1)(3) 规格化 2'可见尾数运算结果的符号位与最高位不相同,不需要执行规格化处理(4) 舍入处理 11 110, 00.110001。
1'(5) 判溢出 阶码两符号位为 11,无溢出1'故最后结果为 [x] +[y] =11 110, 00.110001, 真值为 2-2*0.110001 1'浮浮2. (1) 1°24K *16 = 4*2 = 8 3'256K*8(2) 存储体组成框图如下: 6 '33.(3)(4)=00.111010 [-y] =11.000110补 [x-y]补=[x ]补+[-刃补11.010101 1010.011011(有负溢出)x-y=-1.110101111 0 10 11x= -0.101011 , y=0.111010[x] =11.010101 [y] 补补 [x+y]补=[x ]补 +[y]补11.010101 010 00.001111(没有溢出)x+y=0.0011114. 解:x= 0.10101, [x] =0.10101 补y=-0.11001, [y] =1.00111补(0).1 0 1 0(1) .0 0 1 1 (0) 1(0) 1 0(0) 1 0 10 (1)(0)(1)(0)(1)1. 0 1 1 1 1 0 1 0 1 1[x] *[y] =1.0111101011补补其值 x*y=-0.1000010101=-(512+8+4+1)/1024=-525/1024.5. 解:(4) 由题意可知,其操作控制字段共24—8 — 3 = 13位,13位的操作控制字段采用混合编 码,直接表示的位数为13-3-2=8,3位译码后可表示7个微命令, 2位译码后可表示3 个微命令,所以该格式最多可以表示8+7+3=18个微命令。
(2分)(5) 一条微指令最多可同时发出8 + 1 + 1 = 1 0个微命令( 2分)(6) 因为其下址字段为8位,可直接寻址的控制存储器最大单元数是2561分) 【2008】1用8k*2位的RAM构成32k*8位的存储器,需要多少片,说明原因,画出组成的逻辑框 图2用变形补码计算X-Y,X+Y,并判别结果的正确性设:X=0.11011, Y=-0.100103存储器容量为32字,字长64位,模块数为8,用交叉方式进行组织,存储周期为200ns, 数据总线宽度为64位,总线传输周期为50ns,问该存储器的带宽是多少?4已知某机采用微程序控制,其控制存储器容量为512X48位微程序可在控制存储器中实 现转移,可控制微程序转移的条件共4个微指令采用水平型格式,微命令采用直接控制,后继微指令地址采用断定方式,问微指令格式中三个字段分别应为多少位?5已知x= 0.10101, y= - 0.11001,计算[x*y]和其真值(要求有补码直接乘法的算式)补 答案 1 (32k*8)/(8k*2)=4*4=164片为一组,共需要4组2 [X] =0011011 [Y] =1101110 [-Y] =0010010补 补 补[X] +[-Y] =0101101 溢出补补[X] +[Y] =0001001 无溢出 X+Y = 0.01001 补补3 连续读出8个字的信息量是64位X 8=512位连续读出 8 个字所需的时间是 200+7X50=5.5X10-7s交叉存储器的带宽是512位/5.5X 10-7s=93X 107位/s4 假设判别字段中每一位作为一个判别标志,那么由于有4个转移条件,故该 字段为4位。
由于控存容量为512单元,所以下地址字段为9位故微命令 字段字长为48-9-4=35位5 解:x= 0.10101, [x] =0.10101补y=-0.11001, [y] =1.00111补(0).1 0 1 0 1(1).0 0 1 1 1 (0) 1 0 1 0 1(0) 1 0 1 0 1(0) 1 0 1 0 10 (1)(0)(1)(0)(1)(1).0 1 1 1 1 1 0 0 1 1[x] *[y] =1.0111110011补补其值 x*y=-0.1000001101=-(512+8+4+1)/1024=-525/1024.其值 x*y=-0.1000010101=-(512+8+4+1)/1024=-525/1024.【2009】1.设有两个浮点数 x=2ExXSx,y=2EyXSy,Ex=(-10)2,Sx=(+0.1001)2,Ey=(+10)2,Sy=(+0.1011)2 若尾数4位,数符1位,阶码2位,阶符1位,求x+y= ?并写出运算步骤及结果7分)2 已知 X=-0.01111, Y=+0.11001,求[X]补,[-X]补,[Y]补,[-Y]补,X+Y=?,X-Y=?(用 变形补码计算,并说明结果是否出现溢出)。
6分)3 如下图所示的 CPU 逻辑框图中,有两条独立的总线和两个独立的存储器已知指令存储 器 IM 最大容量为 16384 字(字长 18 位),数据存储器 DM 最大容量是 65536 字(字长 16 位)各寄存器均有“打入”(R.) “送出” (R t)控制命令,但图中未标出8分)in out「JR 1数据存贮器,11 D1|(1)指出下列寄存器的位数程序计数器PC,指令寄存器IR, J AC1,通用寄存器Ro〜R3,地址寄存器IAR,,指令存储器数据存储器IDR,数据存储器地址寄存器DAR, 数据寄存器DDR3分)指令存储器数据存储器17OP13 12X(2) 设机器指令格式为+ x)部分通加法指令可写为“ ADD X(R)”,其功能是(AC) + ((R) + X)-AC ,其中((R)i 0 i 1 i过寻址方式指向数据存储器DM现取R为R画出ADD指令的指令周期流程图,写明“数 i1据通路”和相应的微操作控制信号5分)4某计算机的主存地址空间大小为256 MB,按字节编址指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。
现有两个功能相同的程序A和B,其伪代码如下所示: 程序 A:程序 B:int a[256][256];int a[256][256];int sum_array1(){int i,j,sum=0;for (i=0;i<256;i++) for(j=0;j<256;j++) sum+=a[i][j];return sum;}int sum_array2(){int i,j,sum=0;for (j=0;j<256;j++) for(i=0;i<256;i++) sum+=a[i][j];return sum;}假定int类型数据用32位补码表示,程序编译时i, j, sum均分配在寄存器中,数组a按行优 先方式存放,其首地址为 320(十进制数)请回答下列问题,要求说明理由或给出计算过 程5 分)(1) 若不考虑用于Cache 一致性维护和替换算法的控制位,则数据Cache的总容量为多少? ( 2 分)(2) 数组元素a[0][31]和a[1][ 1]各自所在的主存块对应的Cache行号分别是多少(Cache行 号从 0 开始)?( 2 分)(3) 程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短? (1分)5有一个1024KX16位的存储器,由512KX4位的DRAM芯片构成(5分)。
问:(1)总共需 要多少DRAM芯片? (2分)(2)设计此存储体组成框图3分)6已知x= 0.11101, y=- 0.10011,计算[x*y]和其真值(要求有补码直接乘法的算式)(4分)补 答案 1 对阶:△J=Ex—Ey=(-10)2—(+10)2=(-100)2 所以 ExvEy,则 Sx 右移 4 位,Ex+(100)2=(10)2=EYoSX右移四位后SX=0.00001001,经过舍入后SX=0001,经过对阶、舍入后,X=2(10)2XXX(0.0001)2尾数求和: SX+SY0. 0001(S )X+ 0. 1011 (SY)S +S =0. 1100XY结果为规格化数所以:X+Y=2(10)2X(SX+SY)=2(10)2(0.1100)2=(11.00)2X Y 2 22 [X] =。





