计算机组成原理第三章参考答案 白中英主编
- 格式:doc
- 大小:132.00 KB
- 文档页数:8
第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理为什么答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令单操作数指令无操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 !9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1) 单字长二地址指令。
》(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 015 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二地址指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。
|5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 12 11 9 8 6 5 3 2 0答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
第2章作业参考答案1、(1) -35(=23)16 (2)127 (3)-127 (4)-1[-35]原=10100011[127]原=01111111 [-127]原=11111111 [-1]原=10000001[-35]反=11011100[127]反=01111111 [-127]反=10000000 [-1]反=11111110[-35]补=11011101[127]补=01111111 [-127]补=10000001 [-1]补=111111112 当a 7=0时,x ≥0,满足x>-0.5的条件,即:若a 7=0,a 6~ a 0可取任意值 当a 7=1时,x<0,若要满足x>-0.5的条件,则由补码表示与其真值的关系,可知:7061524334251676022222221)2(1--------=*+*+*+*+*+*+*+-=*+-=∑a a a a a a a a x i i i 要使x>-0.5 ,所以要求a 6=1,并且a 5~a 0不能全部为0所以,要使x>-0.5,则要求a 7=0;或者a 7= a 6=1,并且a 5~a 0至少有一个为13、由题目要求可知,该浮点数的格式为:31 30 23 22 0注:由于S是数符,已表示了尾数的符号,所以为了提高表示精度,M(23位)不必存储符号位,只需存小数点后面的有效数值位即可。
(1)最大数的二进制表示为:0 11111111 1111……111(23个1)(2)最小数的二进制表示为:1 11111111 0000……000(23个0)(3)非IEEE754标准的补码表示的规格化数是指其最高有效位与符号位相反故有:最大正数为:0 11111111 1111……111(23个1)=+(1-2-23)⨯2127最小正数为:0 00000000 1000……000(22个0)=+0.5⨯2-128最大负数为:1 00000000 0111……111(22个1)=-(0.5+2-23)⨯2-128最小负数为:1 11111111 0000……000(23个0)=-1⨯2127所以其表示数的范围是:+0.5⨯2-128~+(1-2-23)⨯2127以及-1⨯2127~-(0.5+2-23)⨯2-1284、IEEE754标准32位浮点的规格化数为X=(-1)S⨯1.M⨯2E-127(1)27/6427/64=27⨯2-6=(11011)2⨯2-6=(1.1011)2⨯2-2所以S=0,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:00111110 11011000 00000000 00000000,即十六进制的(3ED80000)16(2)-27/64-27/64=-(1.1011)2 2-2所以S=1,E=e+127=125=(01111101)2,M=101132位的规格化浮点数为:10111110 11011000 00000000 00000000,即十六进制的(BED80000)165、[x+y]补=[x]补+[y]补(1)x=11011,y=00011[x+y]补=0011011+0000011=0011110;没有溢出,x+y=11110(2)x=11011,y=-10101[x+y]补=0011011+1101011=0000110;0 0 1 1 0 1 1+ 1 1 0 1 0 1 10 0 0 0 1 1 0没有溢出,x+y=00110(3)x=-10110,y=-00001[x+y]补=1101010+1111111=1101001;没有溢出,x+y=-101116、[x-y]补=[x]补+[-y]补(1)x=11011,y=-11111[-y]补=0011111[x-y]补=0011011+0011111=0111010;0 0 1 1 0 1 1+ 0 0 1 1 1 1 10 1 1 1 0 1 0正溢出,x-y=+111010(2)x=10111,y=11011[-y]补=1100101[x-y]补=0010111+1100101=1111100;0 0 1 0 1 1 1+ 1 1 0 0 1 0 11 1 1 1 1 0 0没有溢出,x-y=-00100(3)x=11011,y=-10011[-y]补=0010011[x-y]补=0011011+0010011=0101110;正溢出,x-y=+1011107、(1)x=11011,y=-11111用原码阵列乘法器1 1 0 1 11 1 1 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=0⊕1=1所以 [x⨯y]原=1 1101000101用直接补码阵列乘法器:[x]补=011011,[y]补=100001(0) 1 1 0 1 1⨯ (1) 0 0 0 0 1(0) 1 1 0 1 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (1) (1) (0) (1) (1)0 (1) (1) 0 (1) (1) 1 1 0 1 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]补=1 0010111011(2) x=-11111,y=-11011用原码阵列乘法器1 1 1 1 1⨯ 1 1 0 1 11 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1[x⨯y]符号=1⊕1=0所以 [x⨯y]原=0 1101000101用直接补码阵列乘法器:[x]补=100001,[y]补=100101(1) 0 0 0 0 1⨯ (1) 0 0 1 0 1(1) 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0) 0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1)1 0 0 (1) (1) 0 0 0 1 0 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x⨯y]补=0 11010001018、(1) x=11000,y=-11111用原码阵列除法器计算,符号位单独处理,商的符号位=0⊕1=1设a=(|x|⨯2-5),b=(|y|⨯2-5),则a,b均为正的纯小数,且x÷y的数值=(a÷b);余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.11000,[b]补=[|y|⨯2-5]补=0.11111,[-b]补=1.00001过程如下:0. 1 1 0 0 0+[-b]补 1. 0 0 0 0 11. 1 1 0 0 1 ——余数为负,商为01. 1 0 0 1 0 ——余数和商左移一位(0)+[b]补 0. 1 1 1 1 10. 1 0 0 0 1 ——余数为正,商为11. 0 0 0 1 0 ——余数和商左移一位(01)+[-b]补 1. 0 0 0 0 10. 0 0 0 1 1 ——商为10. 0 0 1 1 0 ——(011)+[-b]补 1. 0 0 0 0 11. 0 0 1 1 1 ——商为00. 0 1 1 1 0 ——(0110)+[b]补 0. 1 1 1 1 11. 0 1 1 0 1 ——商为00. 1 1 0 1 0 ——(01100)+[b]补 0. 1 1 1 1 11. 1 1 0 0 1 ——商为0——(011000)即:a÷b的商为0.11000;余数为1.11001⨯2-5,因为1.11001为负数,加b处理为正数,1.11001+b=1.11001+0.11111=0.11000,所以a÷b的余数为0.11000⨯2-5所以,(x÷y)的商=-0.11000,原码为:1.11000;余数为0.11000(2) x=-01011,y=11001商的符号位=1⊕0=1设a=|x|⨯2-5,b=|y|⨯2-5,则a,b均为正的纯小数,且x÷y的数值=a÷b;余数等于(a÷b)的余数乘以25下面用不恢复余数法的原码阵列除法器计算a÷b[a]补=[|x|⨯2-5]补=0.01011,[b]补=[|y|⨯2-5]补=0.11001,[-b]补=1.00111过程如下:0. 0 1 0 1 1+[-b]补 1. 0 0 1 1 11. 1 0 0 1 0 ——余数为负,商为01. 0 0 1 0 0 ——余数和商左移一位(0)+[b]补 0. 1 1 0 0 11. 1 1 1 0 1 ——余数为负,商为01. 1 1 0 1 0 ——余数和商左移一位(00)+[b]补 0. 1 1 0 0 10. 1 0 0 1 1 ——商为11. 0 0 1 1 0 ——(001)+[-b]补 1. 0 0 1 1 10. 0 1 1 0 1 ——商为10. 1 1 0 1 0 ——(0011)+[-b]补 1. 0 0 1 1 10. 0 0 0 0 1 ——商为10. 0 0 0 1 0 ——(00111)+[-b]补 1. 0 0 1 1 11. 0 1 0 0 1 ——商为0——(001110)即:a÷b的商为0.01110;余数为1.01001⨯2-5,因为1.01001为负数,加b处理为正数,1.01001+b=1.01001+0.11001=0.00010,所以a÷b的余数为0.00010⨯2-5所以,(x÷y)的商=-0.01110,原码为:1.01110;余数为0.000109、(1)x=2-011⨯0.100101,y=2-010⨯(-0.011110)E X=-011,E y=-010,所以 [E X]补=1101,[E y]补=1110M X=0.100101,M y=-0.011110,所以[M X]补=0.100101,[M y]补=1.100010 [x]浮=1101 0.100101,[y]浮=1110 1.100010E X<E y,E y-E X = E y+(-E X)=1110+0011=0001对阶后[x]浮=1110 0.010010(1),[y]浮=1110 1.100010对阶后的尾数相加:M X+M y=0.010010(1)+1.1000100. 0 1 0 0 1 0 (1)+ 1. 1 0 0 0 1 01. 1 1 0 1 0 0 (1)x+y=1.110100(1)⨯21110,化为规格化数(左移2位)为:x+y=1.010010⨯21100,即:x+y=-0.101110⨯2-4对阶后的位数相减:M X-M y=M X+(-M y)=0.010010(1)+0.0111100. 0 1 0 0 1 0 (1)+ 0. 0 1 1 1 1 00. 1 1 0 0 0 0 (1)x-y=0.110000(1)⨯21110,已经是规格化数,采用0舍1入法进行舍入处理:x-y=0.110001⨯21110,即:x-y=0.110001⨯2-2(2)x=2-101⨯(-0.010110),y=2-100⨯(0.010110)E X=-101,E y=-100,所以 [E X]补=1011,[E y]补=1100M X=-0.010110,M y=0.010110,所以[M X]补=1.101010,[M y]补=0.010110[x]浮=1011 1.101010,[y]浮=1100 0.010110E X<E y,E y-E X = E y+(-E X)=1100+0101=0001对阶后[x]浮=1100 1.110101(0),[y]浮=1100 0.010110对阶后的尾数相加:M X +M y =1.110101+0.0101101. 1 1 0 1 0 1 + 0. 0 1 0 1 1 00. 0 0 1 0 1 1x+y=0.001011⨯21100,化为规格化数(左移2位)为:x+y=0.101100⨯21010,即: x+y=0.101100⨯2-6对阶后的位数相减:M X -M y =M X +(-M y )=1.110101+1.1010101. 1 1 0 1 0 1 + 1. 1 0 1 0 1 01. 0 1 1 1 1 1x-y=1.011111⨯21100,已经是规格化数,所以x-y=-0.100001⨯2-410、 (1) ⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243 M x =110100.02110116134=⨯=-,Ex=0011 M y =100100.021*******-=⨯-=--,Ey=0100 Ex+Ey=0011+0100=0111[x ⨯y]符=0⊕1=1,乘积的数值=|M x |⨯|M y |:0. 1 1 0 1⨯ 0. 1 0 0 10 1 1 0 10 0 0 0 00 0 0 0 00 1 1 0 1 0 0 0 0 00 0 1 1 1 0 1 0 1所以,x ⨯y =-0.01110101⨯20111,规格化处理(左移一位),并采用0舍1入法进行舍入:x ⨯y =-0.111011⨯20110 即:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⨯⨯⎪⎭⎫ ⎝⎛⨯16921613243=-0.111011⨯26 (2) ⎪⎭⎫ ⎝⎛⨯÷⎪⎭⎫ ⎝⎛⨯-161523213232 将x 、y 化为规格化数:M x =011010.02110132135=⨯=-,Ex=1110 M y =111100.021********=⨯=-,Ey=0011 Ex-Ey=Ex+(-Ey)=1110+1101=1011[x ÷y]符=0⊕0=0,下面用加减交替法计算尾数M x ÷M y :[Mx]补=0.011010,[My]补=0.111100,[-My]补=1.0001000. 0 1 1 0 1 0+[-My]补 1. 0 0 0 1 0 01. 0 1 1 1 1 0 ——余数为负,商为00. 1 1 1 1 0 0 ——余数和商左移一位(0)+[My]补 0. 1 1 1 1 0 01. 1 1 1 0 0 0 ——余数为负,商为01. 1 1 0 0 0 0 ——余数和商左移一位(00)+[My]补 0. 1 1 1 1 0 00. 1 0 1 1 0 0 ——余数为正,商为11. 0 1 1 0 0 0 ——余数和商左移一位(001)+[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为10. 1 1 1 0 0 0 ——(0011)+[-My]补 1. 0 0 0 1 0 01. 1 1 1 1 0 0 ——商为01. 1 1 1 0 0 0 ——(00110)+[My]补 0. 1 1 1 1 0 00. 1 1 0 1 0 0 ——商为11. 1 0 1 0 0 0 ——(001101)+[-My]补 1. 0 0 0 1 0 00. 1 0 1 1 0 0 ——商为11. 0 1 1 0 0 0 ——(0011011)+[-My]补 1. 0 0 0 1 0 00. 0 1 1 1 0 0 ——商为1——(00110111)Mx÷My的商为0.0110111,余数为0.011100⨯2-7,由于x化为0.01101(Mx)是尾数右移2位才得到,所以x÷y真正的余数是0.011100⨯2-7再尾数左移2位,即0.011100⨯2-9=0.111000⨯2-10所以,x÷y的商为:0.0110111⨯21011,规格化处理后为:0.110111⨯21010=0.110111⨯2-6,余数为0.111000⨯2-1011、不考虑181ALU的函数发生器,而是从简单的全加器出发,则:若设4位的二进制数为A=A3A2A1A0,B=B3B2B1B0,并设G i=A i B i,P i=A i⊕B i,由全加器进位输出的逻辑函数C i+1=A i B i+C i(A i⊕B i)可知:(由于进位输出函数还可以写成C i+1=A i B i+C i(A i+B i),故P i=A i+B i也可)(1) 串行进位方式:C1=A0B0+C0(A0⊕B0)=G0+P0C0C2=A1B1+C1(A1⊕B1)=G1+P1C1C3=A2B2+C2(A2⊕B2)=G2+P2C2C4=A3B3+C3(A3⊕B3)=G3+P3C3(2) 并行进位方式:C1=G0+P0C0C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C012、(1) -5-5=-(101)2=-(1.01)2⨯22所以S=1E=e+127=2+127=129=(81)16=(10000001)2M=(010 0000 0000 0000 0000 0000)2故浮点格式为:1 10000001 010 0000 0000 0000 0000 0000,用十六进制表示为:(C0A00000)16(2) -1.5-1.5=-(1.1)2=-(1.1)2⨯20所以S=1E=e+127=0+127= (7F)16=(01111111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:1 01111111 100 0000 0000 0000 0000 0000,用十六进制表示为:(BFC00000)16 (3) 384384=(180)16=(1 1000 0000)2=(1.1)2⨯28所以S=0E=e+127=8+127=135= (87)16=(10000111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:0 10000111 100 0000 0000 0000 0000 0000,用十六进制表示为:(43C00000)16 (4) 1/161/16= (1.0)2⨯2-4所以S=0E=e+127=-4+127= (7B)16=(01111011)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:0 01111011 000 0000 0000 0000 0000 0000,用十六进制表示为:(3D800000)16 (5) -1/32-1/32=-(1.0)2⨯2-5所以S=1E=e+127=-5+127= (7A)16=(01111010)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:1 01111010 000 0000 0000 0000 0000 0000,用十六进制表示为:(BD000000)1613、(1) 1 10000011 110 0000 0000 0000 0000 0000S=1E=(83)16=131 e=E-127=131-127=41.M=(1.11)2所以,该浮点数为 -(1.11)2⨯24=-(11100)2=-28(2) 0 01111110 101 0000 0000 0000 0000 0000S=0E=(7E)16=126 e=E-127=126-127=-11.M=(1.101)2所以,该浮点数为 (1.101)2⨯2-1=(0.1101)2=0.812514、IEEE754标准中,32位二进制数仍然有232种不同的组合,但是由于在IEEE754标准中,阶码为全1并且尾数为非0的情况不表示一个数。
计算机专业的考研参考书目和复习攻略考研计算机组成原理参考书及复习重点计算机组成原理教材:推荐使用的是唐朔飞的《计算机组成原理》和配套的学习指导与习题解答组成原理的重点内容是:数据的表示和计算、主存与CPU的连接、高速缓存与主存的映射、常用寻址方式、CPU指令执行过程、程序中断方式、微程序控制器(重点章节:数据的表示和计算、存储管理之Cache这一块与主存CPU的连接、指令系统等)。
个人觉得组成原理这门课不管对于跨专业的考生还是本专业考生来说都是难度最大的一门,这些年组成原理题出的一般都比较“怪”,虽然这两年的题型日益稳定,但自14年开始,第二个题往往会与上一个题相关联,这就进一步加大了考试难度,我敢说大多数人都不会想到会出这种类型的题,学校自主出题的,各个学校出题风格虽然相差很大,但是只需要参考近几年的真题就可以知道必考的重点内容。
当然关于组原大题考的知识点根据历年真题还是能有迹可循的,后期的时候大家可以稍微研究针对性练习下。
考研计算机组成原理复习要领一、考查目标1、理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。
2、理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。
3、能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。
二、知识点解析在计算机组成原理方面,主要考查计算机系统基础知识、数据的表示和运算、存储器层次结构、指令系统、中央处理器、总线、输入输出系统。
1、计算机系统概述学习计算机组成原理之前,我们先要了解计算机的发展历程,搞清楚计算机的系统层次结构,包括计算机硬件的基本组成(五大部件的构成)、计算机软件的分类,以及计算机的基本工作过程。
从体系结构上来看,有多种不同类型的计算机,那么这些不同的计算机谁好谁坏?如何评价?所以,还需要我们了解计算机性能评价指标和相关参数,包括吞吐量、响应时间;CPU时钟周期、主频、CPI、CPU执行时间;MIPS、MFLOPS等。
第三章参考答案 [1题] 设有一个具有20位地址和32位字长的存储器,问:
(1) 该存储器能存储多少个字节的信息? (2) 如果存储器由512K×8的 SRAM芯片组成,需要多少片? (3) 需要多少地址作为芯片选择? [解] (1) 该存储器能存储220×32=220×22×8=222×8=4MB (2) (1024K×32)/(512K×8)=(1024/512)×(32/8)=2×4=8(片) (3) 需要1根地址线作为片选。
A19 A18 ~ A0
R/W D31 ~ D0
512K×8 512K×8 CS CS [2题]已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K×16位的DRAM芯片组成该机允许的最大主存空间,并选用模板块结构形式,
问: (1) 若每个模板块为1024K×64位,共需要几个模板? (2) 每个模板块共有多少片DRAM? (3)主存共需多少片DRAM?CPU如何选择各模块板? [解]: (1) 226×64=26×220×64=64M×64=(64×1024K)×64 需要的板的块数=(64×1024K/1024K)×(64/64)=64(块) (2) 每个模板需要的256K×16位的芯片数 =(1024K/256K)×(64/16)=4×4=16(片) (3) 每个主存需要64×16=1024(片)DRAM 板内地址为A0~A19,每个板需要一个片选,共需64个选择信号,所以用6-64译码器,即A20~A25作为译码地址线输入,产生64个板选信号。 [3题]用16K×8位的DRAM芯片构成64K×32位存储器,要求:
(1) 画出该存储器的组成逻辑图。 (2)设存储器读/写周期为0.5μs,CPU在1μs内至少要访问内存一次,试问采用哪种刷新方式比较合理?两次刷新最大时间间隔是多少?全部刷新一遍所需要的实际刷新时间是多少? (1) (64K×32)/(16K×8)=(64K/16K)×(32/8) =4(组容量扩展)×4(片堆叠)
(2)CPU要1μ内访问内存一次(频繁)整个存储器的平均读写与单个存储芯片的读写周期差不多,采用异步刷新方式比较合适。 16K采用128×128阵列,设刷新最大时间间隔为2ms=2000μS则刷新时间间隔 为2000/128=15.6μS,所以刷新信号周期可取15μS. 刷新一次所用时间为128*15=1920μS=1.92mS [4题]有一个1024K×32位的存储器,由128 K×8位的DRAM芯片组成。问:
(1) 总共需要多少DRAM芯片?
Y3(11) Y2(10) Y1(01) Y0(00)
A15
A14
A13 ~ A0
R/W D31 ~ D0
16K×8 16K×8 16K×8 16K×8
2-4 译 码 器
CS CS CS CS (2)此存储体组成框图。 (3)采用异步刷新方式,如果单元刷新间隔不超过8 mS,则刷新周期(一行)是多少? 解: (1) 需要(1024K/128K) ×(32/8)=8(组)×4(片堆叠)=32(片) (2)存储器组成框图 Y7(111)
Y2(010) Y1(001) Y0(000)
A19
A18 A17
A16 ~ A0
R/W D31 ~ D0
128K×8 128K×8 128K×8 128K×8
3-8 译 码 器
CS CS CS CS 。。。。。。
。。。。。。 (2) 新周期即单芯片刷新时间间隔 128K=27×210=217=28×29=256(行) ×512(列) 刷新周期=8mS/256=8000μS/256=31.25μS [5题]要求用256K×16位SRAM芯片设计1024K ×32位的存储器,SRAM芯片有两
个控制端:当CS=0 有效选中该片,当1/RW执行读操作,0/RW执行写操作。 解:需要(1024K/256K) ×(32/16)=4(组字扩展) ×(2片位扩展)
[6题] 用32K×8的 EPROM 组成128K×16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位? (3) 总共需要多少片 EPROM芯片?
Y3(11) Y2(10) Y1(01) Y0(00)
A19 A18
A17 ~ A0
R/W D31 ~ D0
256K×16 256K×16 256K×16 256K×16
2-4 译 码 器
CS CS CS CS (4) 画出此存储器组成框图。 解: (1) 数据寄存器16位 (2) 地址寄存器17位 (3) 共需要(128K/32K) ×(16/8)=(4组字扩展) ×(2片位扩展)=8(片) (4)存储器框图
[7题] 某计算机中,已知配有一个地址空间为0000H~3FFFH的ROM区域.现在再用一种 RAM芯片(8K×8)形成40K×16的RAM区域,起始地址为6000H. 假设 RAM芯片有片选CS和WE信号控制, CPU的地址总线为 A15-A0,数据总线为 D15-D0,控制信号为 R/W(读/写), MREQ (访存),要求:
Y3(11) Y2(10) Y1(01) Y0(00)
A16
A15
A14 ~ A0
RD D15 ~ D0
32K×8 32K×8 32K×8 32K×8
2-4 译 码 器
CS CS CS CS (1) 画出地址译码方案. (2) 将 ROM与RAM同CPU连接. 解: ROM------0000~3FFFH 片内地址需要A0~A13 14根地址线. RAM------(40K/8K) ×(16/8)=5(组字扩展) ×2(片位扩展) 片内地址需要A0~A12 13根地址线
8. 设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织,存储周期T=100ns ,数据总线宽度为64位,总线传送周期为τ=50ns.求:顺序存储器和交叉存储器的带宽各是多少? 解:顺序存储器和交叉存储器连续读8个字的信息总量
Y7(111) Y6(110) Y5(101) Y4(100) Y3(011) Y2(010) Y1(001) Y0(000)
CS CS CS CS CS CS
A15 A14 A13
MREQ
A12 ~ A0
R/W D15 ~ D0 16位数据总线
8K×8 8K×8 8K×8 8K×8
R/W
3-8 译 码 器
G
8K×8 16K×16 0000H~ 3FFFH
6000H~ 7FFFH 8000H~ 9FFFH A000H~ BFFFH C000H~ DFFFH E000H~ FFFFH q=64 bit ×8=512 bit 顺序存储器读出8个字所需时间为 t2=mT=8×100=800nS=8×10-7S 顺序存储器的带宽为 w2=q/t2= 512/(8×10-7)=64×107(bit/s)=640M 交叉存储器读出8个字所需时间为 t1=T+(m-1)τ=100ns+7×50ns=450nS=4.5×10-7S 交叉存储器的带宽为 w1=q/t1= 512/(4.5×10-7)=114×107(bit/s)=1140M [9题] CPU 执行一段程序,cache完成存取次数为2420次,主存完成存取次数为80次,已知 cache的存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间. 命中率为 968.08024202420mccacheNNNh
平均访问时间 38.4668.77.38240)968.01(40968.0)1(mcathhtt 效率 %2.8638.4640actte [10题] 已知cache存储周期为40ns ,主存存储周期为200ns, cache/主存系统平均访问时间为50 ns,求 cache的命中率是多少? 由mcathhtt)1(得
9375.0160/1504020050200cmamtttth