计算机组成原理第四章_作业_2012-13-1
计算机组成原理第五版 白中英(详细)第4章习题参考答案
第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令单操作数指令无操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1) 单字长二地址指令。
(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二地址指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效地址可通过变址寻址求得,即有效地址等于变址寄存器(选择16个之一)内容加上位移量。
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
计算机组成原理第4章习题参考答案
第4章 数值的机器运算4-2.某加法器采用组内并行,组间并行的进位链,4位一组,写出进位信号C6逻辑表达式。
[解] 组间并行的进位链,产生的最低一组的进位输出为:C4=G1*+P1*C0 (其中:G1*=G4+P4G3+P4P3G2+P4P3P2G1;P1*=P4P3P2P1)然后在组内产生进位信号C6:C6=G6+P6C5=G6+P6G5+P6P5C44-4.已知X和Y,使用它们的变形补码计算出X+Y,并指出结果是否溢出。
(1)X=0.11011,Y=0.11111(2)X=0.11011,Y=-0.10101(3)X=-0.10110,Y=-0.00001(4)X=-0.11011,Y=0.11110[解](1)[X]补=0.11011,[Y]补=0.1111100.11011 [X]补+00.11111 [Y]补01.11010 [X+Y]补 结果正溢出!(2)[X]补=0.11011,[Y]补=1.0101100.11011 [X]补+11.01011 [Y]补00.00110 [X+Y]补 结果不溢出!X+Y=0.00110(3)[X]补=1.01010,[Y]补=1.1111111.01010 [X]补+11.11111 [Y]补11.01001 [X+Y]补 结果不溢出!X+Y=-0.10111(4)[X]补=1.00101,[Y]补=0.1111011.00101 [X]补+00.11110 [Y]补00.00011 [X+Y]补 结果不溢出!X+Y=0.000114-5.已知X和Y,使用它们的变形补码计算出X-Y,并指出结果是否溢出。
(1)X=0.11011,Y=-0.11111(2)X=0.10111,Y=0.11011(3)X=0.11011,Y=-0.10011(4)X=-0.10110,Y=-0.00001[解](1)[X]补=0.11011,[Y]补=1.00001, [-Y]补=0.1111100.11011 [X]补+00.11111 [-Y]补01.11010 [X-Y]补 结果正溢出!(2)[X]补=0.10111,[Y]补=0.11011, [-Y]补=1.0010100.10111 [X]补+11.00101 [-Y]补11.11100 [X-Y]补 结果不溢出!X-Y=11.11100(3)[X]补=0.11011,[Y]补=1.01101, [-Y]补=0.1001100.11011 [X]补+00.10011 [-Y]补01.01110 [X-Y]补 结果正溢出!(4)[X]补=1.01010,[Y]补=1.11111,[-Y]补=0.0000111.01010 [X]补+00.00001 [-Y]补11.01011 [X-Y]补 结果不溢出!X-Y=-0.101014-6.已知:X=0.1011,Y=-0.0101求:[X/2]补 ,[X/4]补 ,[-X]补 ,[Y/2]补 ,[Y/4]补 ,[-Y]补,[2Y]补[解] 由[X]补=0.1011,[Y]补=1.1011 得:[X/2]补=0.0101,[X/4]补=0.0010,[-X]补=1.0101[Y/2]补=1.1101,[Y/4]补=1.1110,[-Y]补=0.0101,[2Y]补=1.01104-7. 设下列数据长8位,包括一位符号位,采用补码表示,分别写出每个数右移或左移两位之后的结果(1)0.1100100 (2) 1.0011001 (3) 1.1100110 (4)1.0000111[解] (1)右移两位后为 0.0011001 左移两位后为1.0010000(溢出)或0.0010000 (2)右移两位后为 1.1100110 左移两位后为0.1100100(溢出)或1.1100100(3)右移两位后为1.1111001 左移两位后为 1.0011000(4)右移两位后为 1.11000001 左移两位后为0.0011100(溢出)或1.00111004-8.分别用原码乘法和补码乘法计算X×Y.(1) X=0.11011,Y=-0.11111(2) X=-0.11010,Y=-0.01110[解]原码乘法:(1)|X|=0.11011 → B, |Y|=0.11111 →C,0→A5=1,+ |X|00.1101100.01101 1 0 1 1 1 1 部分积右移1位5=1,+ |X|01.0100000.10100 0 1 0 1 1 1 部分积右移1位5=1,+ |X|01.0111100.10111 1 0 1 0 1 1 部分积右移1位5=1,+ |X|01.1001000.11001 0 1 0 1 0 1 部分积右移1位5=1,+ |X|01.1010000.11010 0 0 1 0 1 0 部分积右移1位所以, |X×Y|=0.1101000101X×Y=-0.1101000101(2) |X|=0.11010 → B, |Y|=0.01110 → C, 0→A5=0,+ 000.0000000.00000 0 0 0 1 1 1 部分积右移1位5=1,+ |X|00.1101000.01101 0 0 0 0 1 1 部分积右移1位5=1,+ |X|01.0011100.10011 1 0 0 0 0 1 部分积右移1位5=1,+ |X|01.0110100.10110 1 1 0 0 0 0 部分积右移1位5=0,+ 000.1011000.01011 0 1 1 0 0 0 部分积右移1位所以, |X×Y|=0.010*******X×Y=+0.010*******补码乘法:(1)[X]补=0.11011 → B, [Y]补=1.00001 → C, 0 → A[-X]补说明 + [-X]补5C 6=10,+ [-X]补11.0010111.10010 1 1 0 0 0 0 1 部分积右移1位+ [X]补5C 6=01,+ [X]补00.0110100.00110 1 1 1 0 0 0 0 部分积右移1位5C 6=00,+ 000.0011000.00011 0 1 1 1 0 0 0 部分积右移1位5C 6=00,+ 000.0001100.00001 1 0 1 1 1 0 0 部分积右移1位5C 6=00,+ 000.0000100.00000 1 1 0 1 1 1 0 部分积右移1位+ [-X]补 5C 6=10,+ [-X]补所以, [X×Y]补=1.0010111011X×Y =-0.1101000101(2)[X]补=1.00110 → B, [Y]补=1.10010 → C, 0→A[-X]补说明5C 6=00,+ 01位+ [-X]补 00.11010 C 5C 6=10,+ [-X]补00.1101000.01101 0 0 1 1 0 0 1 部分积右移1位+ [X]补 11.00110 C 5C 6=01,+ [X]补11.1001111.11001 1 0 0 1 1 0 0 部分积右移1位+ 0 00.00000 C 5C 6=00,+ 011.1100111.11100 1 1 0 0 1 1 0 部分积右移1位+ [-X]补 00.11010 C 5C 6=10,+[-X]补00.1011000.01011 0 1 1 0 0 1 1 部分积右移1位+ 0 5C 6=11,+ 000.01011所以, [X×Y]补=0.010*******X×Y = 0.010*******4-10.分别用原码和补码加减交替法计算X/Y 。
《计算机组成原理》第四章总线与时序练习题及答案
《计算机组成原理》第四章总线与时序练习题及答案选择题目:1. 当M/IO 0=,RD 0=,WR=1时,CPU 完成的操作是( c )。
A. 存储器读操作B. 存储器写操作C. IO 端口读操作D. IO 端口写操作2. 8086CPU 的时钟频率为5MHz ,它的典型总线周期为( c )A. 200nsB. 400nsC. 800nsD. 1600ns3. 某微机最大可寻址的内存空间为16MB ,则其系统地址总线至少应有( D)条。
A. 32B. 16C. 20D. 244. 8086的系统总线中,地址总线和数据总线分别为( B )位。
A. 16,16B. 20,16C. 16,8D. 20,205. 8086CPU 一个总线周期可以读(或写)的字节数为( B )A. 1个B. 2个C. 1个或2个D. 4个8086有16条数据总路线,一次可以传送16位二进制,即两个字节的数6. 当8086CPU 采样到READY 引脚为低电平时,CPU 将( B )A. 执行停机指令B. 插入等待周期C. 执行空操作D. 重新发送地址7. 当8086CPU读写内存的一个对准存放的字时,BHE和A0的状态为( A )。
A. 00B. 01C. 10D. 118. 当8086CPU采样到READY引脚为低电平时,CPU将( B )A. 执行停机指令B. 插入等待周期C. 执行空操作D. 重新发送地址9. 8086CPU的字数据可以存放在偶地址,也可以存放在奇地址。
下列说法正确的是( A )A. 堆栈指针最好指向偶地址B. 堆栈指针最好指向奇地址C. 堆栈指针只能指向偶地址D. 堆栈指针只能指向奇地址10. 8086CPU在进行对外设输出操作时,控制信号M/IO和DT/R状态必须是(D )A. 0,0B. 0,1C. 1,0D. 1,111. 8086CPU复位时,各内部寄存器复位成初值。
复位后重新启动时,计算机将从内存的( c )处开始执行指令。
4计算机组成原理(第四章)
23
算术逻辑部件ALU
实现Ai+Bi 选择S3~S0=1011 、M=1
Fi=( Ai+Bi )⊕0= Ai+Bi
实现AiBi 选择S3~S0=1110 、M=1
控制信号与选择器输出关系
S3 S2 Xi
S1 S0 Yi
0 0 1 0 0 Ai 0 1 Ai+Bi 0 1 AiBi
1 0 Ai+Bi 1 0 AiBi
■ 2■因逻辑相同,能直接用4位先行进位电路(CLA)生成这些信
号
16
多级先行进位
组内进位信号能同时产生、组间进位信号也能同时产生,由此 可构成多级并行进位逻辑。16位2级先行进位加法器如下图:
17
多级先行进位
二级先行进位的实现思路(16位为例): 4位一组分成4组,组内实现先行进位,为一级先行进位;其 电路称为成组先行进位电路; 让一级进位链多产生两个辅助函数Gi*和Pi*,并作为高一级 先行进位的输入,该高一级进位为二级先行进位; 组间进位信号C4.C8、C12、C16,根据其逻辑关系式由二级进 位链来产生;(注:一级和二级进位链用同一电路) 再将组间进位信号C4.C8、C12、C16输入一级加法电路,与操 作数一起产生和的输出。
15
多级先行进位
四个组内的最高进位C16.C12、C8、C4可以分别表示为
:C4 = G1* + P1* C0 C8 = G2* + P2* C4 C12 = G3* + P3* C8 C16 = G4* + P4* C12
■ 1■这4组进位结构与前述4位先行进位逻辑完全相同,组 间进位信号只与最低进位C0有依赖关系, 所以能同时 产生
控制参数不同,得到的组合函数也不同,就能实现多种算术和逻 辑运算——ALU。
(完整版)计算机组成原理第4章作业参考答案
第4章部分习题参考答案【4-4】已知X和Y,试用它们的变形补码计算出X + Y,并指出结果是否溢出(3)X = -0.10110,Y = -0.00001解:[X]补= 1.01010 [Y]补= 1.111111 1 . 0 1 0 1 0+ 1 1 . 1 1 1 1 11 1 . 0 1 0 0 1无溢出,X+Y = -0.10111【4-5】已知X和Y,试用它们的变形补码计算出X - Y,并指出结果是否溢出(3)X = 0.11011,Y = -0.10011解:[X]补= 0.11011 [-Y]补= 0.100110 0 . 1 1 0 1 1+ 0 0 . 1 0 0 1 10 1 . 0 1 1 1 0结果正溢【4-8】分别用原码乘法和补码乘法计算X * Y(1)X = 0.11011,Y = -0.11111法一:原码一位乘算法解:|X| = 0.11011→B |Y| = 0.11111→C 0→AA C 说明1 1 1 1 1C5 = 1, +|X|1 1 1 1 1 部分积右移一位→C5 = 1, +|X|0 1 1 1 1 部分积右移一位→C5 = 1, +|X|1 0 1 1 1 部分积右移一位→C5 = 1, +|X|0 1 0 1 1 部分积右移一位→C5 = 1, +|X|0 0 1 0 1 部分积右移一位→|X * Y| = 0.1101000101Ps = Xs ⊕ Ys = 0 ⊕ 1 = 1X*Y = -0.1101000101法二:补码一位乘算法解:[X]补= 0.11011→B [Y]补= 1.00001→C [-X]补= 1.00101 0→AA C 附加说明0 0. 0 0 0 0 0 1 0 0 0 0 1 0+1 1. 0 0 1 0 1 C4C5 = 10 -|X|1 1. 0 0 1 0 11 1. 1 0 0 1 0 1 1 0 0 0 0 1 部分积右移一位→+0 0. 1 1 0 1 1 C4C5 = 01 +|X|0 0. 0 1 1 0 10 0. 0 0 1 1 0 1 1 1 0 0 0 0 部分积右移一位→+0 0. 0 0 0 0 0 C4C5 = 00 +00 0. 0 0 1 1 00 0. 0 0 0 1 1 0 1 1 1 0 0 0 部分积右移一位→+0 0. 0 0 0 0 0 C4C5 = 00 +00 0. 0 0 0 1 10 0. 0 0 0 0 1 1 0 1 1 1 0 0 部分积右移一位→+0 0. 0 0 0 0 0 C4C5 = 00 +00 0. 0 0 0 0 10 0. 0 0 0 0 0 1 1 0 1 1 1 0 部分积右移一位→+1 1. 0 0 1 0 1 C4C5 = 10 -|X|1 1. 0 0 1 0 1[X*Y]补= 11.0010111011X*Y = -0.1101000101【4-10】计算X/Y(2)X = -0.10101,Y = 0.11011原码恢复余数法:解:|X| = -0.101010→A |Y| = 0.110110→B [-|Y|]补= 1.00101 0→C0 0. 1 0 1 0 1 0 0 0 0 0 0+1 1. 0 0 1 0 1 -|Y|1 1. 1 1 0 1 0 <0+0 0. 1 1 0 1 1 +|Y|0 0. 1 0 1 0 1 0 0 0 0 0 0 商00 1. 0 1 0 1 0 0 0 0 0 0 0 左移←+1 1. 1 1 0 0 1 -|Y|0 0. 0 1 1 1 1 0 0 0 0 0 1 >0,商10 0. 1 1 1 1 0 0 0 0 0 1 0 左移←+1 1. 0 0 1 0 1 -|Y|0 0. 0 0 0 1 1 0 0 0 0 1 1 >0,商10 0. 0 0 1 1 0 0 0 0 1 1 0 左移←+1 1. 0 0 1 0 1 -|Y|1 1. 0 1 0 1 1 <0+0 0. 1 1 0 1 1 +|Y|0 0. 0 0 1 1 0 0 0 0 1 1 0 商00 0. 0 1 1 0 0 0 0 1 1 0 0 左移←+1 1. 0 0 1 0 1 -|Y|1 1.1 0 0 0 1 <0+0 0. 1 1 0 1 1 +|Y|0 0. 0 1 1 0 0 0 0 1 1 0 0 商00 0. 1 1 0 0 0 0 1 1 0 0 0 左移←+1 1. 0 0 1 0 1 -|Y|1 1. 1 1 1 0 1 <0+0 0. 1 1 0 1 1 +|Y|0 0. 1 1 0 0 0 0 1 1 0 0 0 商0Qs = Xs⊕Ys = 0⊕1 = 1Q = -0.11000,R = 0.11000*2-5【4-11】设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题(2)X = 2-101*0.101100,Y = 2-100*(-0.101000)解:[X]补= 1011;0.101100[Y]补= 1100;1.011000对阶:△E = Ex – Ey = -5 -(-4)= -1Ex < Ey,将Mx右移一位,Ex+1→Ex[X]’补=1011;0.010110尾数求和:0 0. 0 1 0 1 1 0+1 1. 0 1 1 0 0 01 1. 1 0 1 1 1 0尾数结果规格化:尾数左移1位,阶码减1[X+Y]补=1011;1.011100X+Y = (-0.100100)*2-101减法算法过程略,X-Y = 0.111110 * 2-100【4-13】用流程图描述浮点除法运算的算法步骤设:被除数X = Mx * 2Ex; 除数Y = My * 2 Ey。
计算机组成原理第四章要求作业参考答案
习题4 4.1设X=0.1101,Y= -0.0110,求:(1)[X]补(2)[-X]补(3)[2X]补(4)[-2X]补(5)[X/2]补(6)[-X/2]补(7)[Y]补(8)[-Y]补(9)[2Y]补(10)[-2Y]补(11)[Y/2]补(12)[-Y/2]补(13)[-Y/4]补1. (1) [X]补= 0.1101(2) [-X]补= 1.0011(3) [2X]补= 0.1010 溢出(4) [-2X]补= 1.0110 溢出(5)[X/2]补= 0.0110注意:参见P109中的补码算术移位规则,以及P110的例4.4(6)[-X/2]补= 1.1001(7)[Y]补= 1.1010(8) [-Y]补= 0.0110(9) [2Y]补=1.0100(10)[-2Y]补=0.1100(11)[Y/2]补=1.1101(12)[-Y/2]补= 0.0010(13) [-Y/4]补= 0.00014.2 已知X和Y,用变形补码计算X+Y和X-Y,并指出运算结果是否溢出:(1) X=0.11011,Y=0.11111(2) X=-0.1101,Y=0.0110答:.(1)[X]补=00.11011 [Y]补=00.11111 [-Y]补=11.00001[X]补 00.11011+ [Y]补 00.11111 [X+ Y]补 01.11010 [X]补 00.11011 + [-Y]补 11.00001 [X-Y]补 11.11100 S f1与S f2不同,溢出S f1与S f2相同,无溢出所以:[X+Y]补:发生溢出[X-Y]补= 1.11100注意:参见P107中的双符号位判溢方法原理。
(2) [X+Y]补=1.1001[X-Y]补:溢出4.4 使用原码一位乘法计算X*Y : (1) X=0.11101,Y=0.01111 (2) X=-0.10011,Y=0.11010答: (1)[X]原=0.11101 [Y]原=0.01111000s s s P X Y =⊕=⊕=部分积0.00000乘数|Y|操作说明Y 5=1,+|X |0.11101+0.11101右移一位0.011100.11101+1.01011右移一位0.10101Y 2=1,+|X |0.11101+1.10010右移一位0.11001Y 1=0,+00.11101+1.10110右移一位0.11011+0.110110.00000 0011 01 0111011 0111 01101111右移一位Y 4=1,+|X |Y 3=1,+|X |100110.01101[]0.01101100110.0110110011P X Y ∴=∴⨯=+原4.5 使用补码Booth 乘法计算X*Y : (1) X=0.01111,Y=-0.11101 (2) X=-0.10011,Y=-0.11010答:(1)[X ]补=00.01111 [Y ]补=11.00011 [-X ]补=11.10001部分积00.00000乘数Y(Y n Y n+1)操作说明11.10001+11.1000111.1100000.00000+11.1100011.1110000.01111+00.01011右移一位00.0010100.00000+00.00101右移一位00.0001000.00000+00.0001000.0000111.1000111.10010+1.0001101 1.000110 1 1.00011 0 1 1.0001101 1.00Y 5Y 6=10,+[-X ]补右移一位Y 4Y 5=11,+0右移一位Y 0Y 1=10,+[-X ]补Y 1Y 2=00,+001101 1.001101右移一位Y 3Y 4=01,+[X ]补Y 2Y 3=00,+0所以:[X*Y ]补=1.1001001101X*Y =-0.01101100114.6 分别使用原码恢复余数除法和原码加减交替除法计算X/Y : (1) X=0.0111,Y=0.1101 (2) X=0.1011,Y=-0.1110 答:(1)原码恢复余数除法注意:参见P124中例4.9。
计算机组成原理第四章答案
第4章习题参考答案1.ASCII码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什么?答:不合理。
指令最好半字长或单字长,设16位比较合适。
一个字符的ASCII 是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这也是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。
2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共有70条指令,请设计满足要求的指令格式。
答:字长32位,指令系统共有70条指令,所以其操作码至少需要7位。
双操作数指令3.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1) 单字长二XXX指令。
(2) 操作码字段OP可以指定26=64种操作。
(3) 源和目标都是通用寄存器(可分指向16个寄存器)所以是RR型指令,即两个操作数均在寄存器中。
(4) 这种指令结构常用于RR之间的数据传送及算术逻辑运算类指令。
4.指令格式结构如下所示,试分析指令格式及寻址方式特点。
15 10 9 8 7 4 3 0答:该指令格式及寻址方式特点如下:(1)双字长二XXX指令,用于访问存储器。
(2)操作码字段OP可以指定26=64种操作。
(3)RS型指令,一个操作数在通用寄存器(选择16个之一),另一个操作数在主存中。
有效XXX可通过变址寻址求得,即有效XXX等于变址寄存器(选择16个之一)内容加上位移量。
5.指令格式结构如下所示,试分析指令格式及寻址方式特点。
答:该指令格式及寻址方式特点如下:(1)该指令为单字长双操作数指令,源操作数和目的操作数均由寻址方式和寄存器构成,寄存器均有8个,寻址方式均有8种。
根据寻址方式的不同,指令可以是RR型、RS型、也可以是SS型;(2)因为OP为4位,所以最多可以有16种操作。
计算机组成原理第四章答案
计算机组成原理第四章答案1. 注册器和存储器是计算机中用于保存数据的两种不同的设备。
注册器是一种用于高速临时存储数据的小型存储设备,它位于CPU内部,用于保存正在执行的指令、数据以及中间结果。
存储器则是一种用于永久保存数据的设备,它通常是外部的、容量较大的设备,如硬盘、固态硬盘或者内存条。
2. 计算机中的存储器分为主存储器和辅助存储器两种类型。
主存储器是计算机中用于临时保存指令和数据的存储设备,它的容量较小但速度较快。
辅助存储器则是一种容量较大但速度较慢的存储设备,用于永久保存数据和程序文件,如硬盘。
3. 冯·诺依曼计算机的基本构成包括中央处理器(CPU)、存储器、输入设备和输出设备。
其中,CPU负责执行计算机指令并控制计算机的运行,存储器用于保存指令和数据,输入设备用于将外部数据输入计算机,输出设备用于将计算结果输出给用户。
4. 计算机的运算速度主要取决于CPU的运算速度,而CPU的运算速度受到时钟频率、指令周期和执行指令的效率等多个因素影响。
时钟频率是CPU每秒钟钟摆的次数,它决定了CPU的基本工作速度;指令周期是指CPU执行一条指令所需的时间,它由时钟频率决定;指令的执行效率则取决于CPU的微操作执行速度。
5. 指令流水线是一种提高CPU执行效率的技术。
它将执行一条指令的过程分为多个阶段,并让多条指令在不同的阶段同时执行,从而实现指令的并行执行。
指令流水线可以提高CPU 的吞吐量,减少指令执行的延迟。
6. 高速缓存是一种用于提高CPU访问存储器效率的技术。
它位于CPU内部,与主存储器之间,用于保存最近访问的指令和数据。
高速缓存的访问速度比主存储器快,可以减少CPU 对主存储器的访问次数,提高CPU的执行效率。
7. 数据的表示方式包括原码、反码和补码。
原码是用最高位表示符号位,其余位表示数值的方式;反码是对原码取反得到的表示方式;补码是对反码加1得到的表示方式。
补码表示方式可以解决原码和反码相加减时的进位问题,同时将负数的表示范围扩展了一倍。
计算机组成原理课后答案(白中英第四版)第四章
计算机组成原理课后答案(⽩中英第四版)第四章第四章1.不合理。
指令最好半字长或单字长,设16位⽐较合适。
2.3.(1)RR 型指令(2)寄存器寻址(3)单字长⼆地址指令(4)操作码字段OP 可以指定26=64种操作4.(1)双字长⼆地址指令,⽤于访问存储器。
操作码字段可指定64种操作。
(2)RS 型指令,⼀个操作数在通⽤寄存器(共16个),另⼀个操作数在主存中。
(3)有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内容加上位移量。
5.(1)双操作数指令(2)23=8种寻址⽅式(3)24=16种操作6.(1)直接寻址⽅式(2)相对寻址⽅式(3)变址寻址⽅式(4)基址寻址⽅式(5)间接寻址⽅式(6)变址间接寻址⽅式7.40条指令需占6位,26=64,剩余24条可作为扩充4种寻址⽅式需占2位剩余8位作为地址X = 00 直接寻址⽅式 E = DX = 01 ⽴即寻址⽅式X = 10 变址寻址⽅式 E = (R )+DX = 11 相对寻址⽅式 E = (PC )+D2位E = PC H -DX = 01 ⽴即寻址⽅式X = 10 直接寻址⽅式 E = D(2)PC ⾼8位形成主存256个页⾯,每页K M 42561 个单元 (3)寻址模式X = 11尚未使⽤,故可增加⼀种寻址⽅式。
由于CPU 中给定的寄存器中尚可使⽤PC ,故可增加相对寻址⽅式,其有效地址E = PC+D ,如不⽤相对寻址,还可使⽤间接寻址,此时有效地址E = (D )。
当位移量变成23位时,寻址模式变成3位,可有更多的寻址⽅式。
9. 16个通⽤寄存器占4位,64种操作占6位,剩下22位⽤于存储器地址,采⽤R为基址寄存器寻址,地址=(R)+D 当基址最⼤,D也是最⼤的时候,寻址能⼒最⼤⽽寄存器是32位的,故最⼤存储空间是232+222 = 4GB+4MB。
11.C12.(1)寄存器(2)寄存器间接(3)⽴即(4)直接(5)相对、基值、变址。
计算机组成原理第四章单元测试(一)(含答案)
计算机组成原理第四章单元测试(一)(含答案)存储系统(一)单元测验1、CPU可直接访问的存储器是A、磁盘B、主存C、光盘D、磁带2、主存储器和CPU之间增加高速缓冲存储器(Cache)的目的是A、提高存储系统访问速度B、简化存储管理C、扩大主存容量D、支持虚拟存储技术3、存储字长是指A、存储器地址线的二进制位数B、存放在一个存储单元中的二进制位数C、存储单元总数D、寄存器的数据位数4、计算机字长32位,主存容量为128MB,按字编址,其寻址范围为A、0 ~ 32M-1B、0 ~ 128M-1C、0 ~ 64M-1D、0 ~ 16M-15、字位结构为256Kx4位SRAM存储芯片,其地址引脚与数据引脚之和为A、18B、22C、24D、306、某SRAM芯片,存储容量为64K×16位,该芯片的地址线和数据线数目分别为A、64,16B、16,64C、16,16D、64,647、假定用若干块4K *4位的存储芯片组成一个8K*8位的存储器,则地址0B1F所在芯片的最小地址是A、0000HB、0600HC、0700HD、0B00H8、计算机系统中的存贮器系统是指A、RAM和ROM存贮器B、CacheC、磁盘存储器D、Cache、主存贮器和外存贮器9、用若干片2K′4位的存储芯片组成一个8K′8位的存储器,则地址0B1FH所在的芯片在全局的最大地址是A、0CFFHB、0BFFHC、1BFFHD、0FFFH10、动态存储器刷新以()为单位进行A、存储单元B、行C、列D、字节11、下列存储器类型中,速度最快的是A、DRAMB、Flash MemoryC、SRAMD、EPROM12、某计算机字长32位,下列地址属性中属于按双字长边界对齐的是A、存储器地址线低三位全部为0B、存储器地址线低二位全部为0C、存储器地址线最低为0D、存储器地址线低三位取值随意13、在32位的机器上存放0X12345678,假定该存储单元的最低字节地址为0X4000,则在小端存储模式下存在在0X4002单元的内容是A、0X12B、0X34C、0X56D、0X7814、关于内存的下列说法中,错误的是A、内存的存取速度不能低于CPU速度,否则会造成数据丢失B、程序只有在数据和代码等被调入内存后才能运行C、采用虚拟内存技术后程序可以在硬盘上直接运行D、某计算机内存容量为8GB,按字节编址,那么它的地址总线为33位15、下列关于RAM和ROM的叙述中,正确的是A、RAM是易失性存储器,ROM是非失性存储器B、RAM和ROM都采用随机存取的方式进行访问C、Cache可选RAM、ROM做数据存储体D、ROM和RAM都不需要刷新16、下列属于衡量存储器技术指标的是A、存储容量B、存取时间C、存储周期D、存储器带宽17、不需要定时刷新的半导体存储器芯片是A、SRAMB、DRAMC、EPROMD、Flash Memory18、DRAM比SRAM慢,可能的原因包括A、DRAM需要刷新B、DRAM存储体行列地址线复用C、DRAM读之前需要预充电D、DRAM存储单元采用了双译码结构19、全部使用4片32K*8位的SRAM存储芯片,可设计的存储器有A、128K* 8位B、32K* 32位C、64K* 16位D、128K* 16位20、符合存储体系构建思想的是A、时间局部性B、空间局部性C、编程采用顺序结构D、编程采用分支结构21、某计算机主存容量为64K*16,其中ROM区为4K,其余为RAM区,按字节编址。
最新计算机组成原理第4章主存储器
②写工作方式( WE=0) 写工作周期 tCWR
RAS CAS WE DIN DOUT
高阻态
22
2. 动态存储器(DRAM)(7)
③读一改写工作方式
读-改写周期 tCRMW
RAS
CAS
WE
td
DIN
数据对写允许的建立 时间tsuDIN
CPU必须在这段时 间内输出数据
16
2. 动态存储器(DRAM)(1)
有存储电荷:1 无存储电荷:0
(1) 存储单元和存储器原理
高电平写0,低电平写1
读出选择线 写入选择线
位线 数据线
T3
读出数据线
T1
C
T2
字线
T
Cs
写入数据线
3管存储单元
(读出和写入部分分开)
K
UGG
S
D
1.当UGG>UT 时,MOS管导通,忽略导通电阻,漏--源极相当短路, 相当于开关“闭合”。
2.当UGG<UT 时,MOS管截止,漏--源极相当开路。
10
1. 静态存储器(SRAM)(1)
(1) 存储单元和存储器
位线1
(高电平写0)
T3 T5 T1
字选择线
VDD
VGG
T4
位线2
(高电平写1)
DRAM采用“读出”方式进行再生。而接在单元数据线上的读放是 一个再生放大器。
由于DRAM每列都有自己的读放,因此,只要依次改变行地址,轮 流对存储矩阵的每一行所有单元同时进行读出,直到把所有行全部 读出一遍,就完成了对存储器的再生。
19
2. 动态存储器(DRAM)(5)
计算机组成原理—习题解答(第四章)
第四章题解计算机组成原理习题解答第四章4.2❒4.2在存储系统的层次结构中,设计高速缓冲存储器和虚拟存储器的目的各是什么?对这两个存储层次的管理有何异同点?❒题解:1、设计cache的目的是为了提高存储器的访问速度。
Cache层使得CPU在对存储器进行访问时,速度可以接近Cache的速度,容量可以达到主存的容量。
设计虚存的目的是为了提高存储器的容量。
虚拟存储技术使得用户在使用存储器时,感觉可用容量接近于辅存的容量,而访问速度上接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
2、两个存储层次管理的异同点:两个层次的功能均由系统自动实现,对用户来讲都是透明的。
第四章4.2两个存储层次均以信息块作为基本信息的传送单位,Cache存储器每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块划分方案很多,有页、段等等,长度均在几百~几百K 字节左右。
主存Cache 存储体系中CPU与Cache和主存都建立了直接访问的通道。
一旦不命中时,CPU 就直接访问主存并同时向Cache调度信息块。
而辅助存储器与CPU之间没有直接通路,一旦在主存不命中时,只能从辅存调块到主存。
Cache 存储器存取信息的过程、地址变换和替换策略全部用硬件实现,对程序员均是透明的。
而主存-辅存层次的虚拟存储器基本上是由操作系统的存储管理软件并辅助一些硬件来进行信息块的划分和主存-辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的,而对应用程序员,因为虚拟存储路提供了庞大的逻辑空间可以任意使用,是透明的。
第四章4.4❒4.4 图4-3中,如果检索寄存器的值为“**** 1011 **** ****”,屏蔽寄存器的值是什么?检索完成后,匹配寄存器中的值又是什么?❒题解:❒屏蔽寄存器的值是:0000 1111 0000 0000;完成检索后匹配寄存器的值为:01000…第四章4.74.7 将数据Cache和指令Cache分开有什么好处?答:将数据Cache和指令Cache分开有如下好处:1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;2)指令Cache可用ROM实现,以提高指令存取的可靠性;3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
计算机组成原理第四章
64KB
1K×4 1K×4
1K×4 1K×4
1K×4 1K×4
1K×4 1K×4
4KB
需12位地址
寻址: A11~A0
低位地址分配给芯片,高位地址形成片选逻辑。 芯片 芯片地址 片选信号 片选逻辑
1K
A9~A0
CS0
1K
A9~A0
CS1
1K
A9~A0
CS2
1K
A9~A0
CS3
A11A10 A11A10
第4章 存 储 器
4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器
4.1 概 述
一、存储器分类
1. 按存储介质分类
(1) 半导体存储器 TTL 、MOS
易失
(2) 磁表面存储器 (3) 磁芯存储器 (4) 光盘存储器
磁头、载磁体
非 硬磁材料、环状元件 易
失
激光、磁光材料
2. 按存取方式分类
字扩展方式
A15
3/8
译
A14 A13
码 器
A12
A0 C P WE
U D7
111
000
001
010
011
100 101 110 CS CS
8K x 8 8K x 8 8K x 8 8K x 8 8K x 8 8K x 8 8K x 8 8K x 8
D0
(3)字位扩展:既增加字数,又增加字长
给出芯片地址分配与片选逻辑,并画出M框图。
1.计算芯片数
(1)先扩展位数,再扩展字(单元)数。
2片1K×4 4组1K×8
1K×8 8片 4K×8
(2)先扩展字数,再扩展位数。
4片1K×4 2组4K×4
计算机组成原理第四章课后习题和答案解析[完整版]
第4章存储器1. 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。
答:主存:主存储器,用于存放正在执行的程序和数据。
CPU可以直接进行随机读写,访问速度较高。
辅存:辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。
Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。
RAM:半导体随机存取存储器,主要用作计算机中的主存。
SRAM:静态半导体随机存取存储器。
DRAM:动态半导体随机存取存储器。
ROM:掩膜式半导体只读存储器。
由芯片制造商在制造时写入内容,以后只能读出而不能写入。
PROM:可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。
EPROM:紫外线擦写可编程只读存储器。
需要修改内容时,现将其全部内容擦除,然后再编程。
擦除依靠紫外线使浮动栅极上的电荷泄露而实现。
EEPROM:电擦写可编程只读存储器。
CDROM:只读型光盘。
Flash Memory:闪速存储器。
或称快擦型存储器。
2. 计算机中哪些部件可以用于存储信息?按速度、容量和价格/位排序说明。
答:计算机中寄存器、Cache、主存、硬盘可以用于存储信息。
按速度由高至低排序为:寄存器、Cache、主存、硬盘;按容量由小至大排序为:寄存器、Cache、主存、硬盘;按价格/位由高至低排序为:寄存器、Cache、主存、硬盘。
3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P1= 1 P2= 2
P4= 4
3
5 6
6
7 = 0 无错
3
7 = 1 有错
(110)2 =(6)10
5
7 = 1 有错
∴ P4P2P1 = 110
第 6 位出错,可纠正为 1100110, 故要求传送的信息为 0110。
4.18 已知接收到的汉明码(按配偶原则配置)为 1100100、1100111、1100000、1100001,检查上 述代码是否出错?第几位出错? 解:1100111的纠错过程如下:
2K ×8位 ROM
D7 D4 D3 D0 WR
…
…
… …
…
…
4.17 写出1100、1101、1110、1111对应的汉明码 解: ∵ n = 4 根据 2k ≥ n + k + 1 取k=3 二进制序号 1 2 3 4 5 6 7
名称
按照配奇原则:
C1 C2 1
C4
1
0
0
按照配偶原则:
C1= 3
…
4K ×8位 RAM
…
4K ×8位 RAM
…
… …
…
… …
(4) CPU 与存储器的连接图 ---2片2K*8
+5V
A15 A14 A13 A12
MREQ
G1 G2A G2B C B A
Y3
Y2
Y1
请自己补充
Y0
&
&
A11
10
1 … …
4K ×8位 RAM
… …
2K ×8位 ROM
A0
…
4K ×8位 RAM
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4K×8位
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
…
…
16K×8位减 4K×8位
(2) 确定芯片的数量及类型 系统程序区:4K×8位 可选ROM(2K*8,4K*4,8K*8)
选择两片:2K*8位芯片或者4K*4位芯片
当存在两种选择时,建议扩展数据线,而不是 扩展地址线,原因是处理简单!
用户程序区:16K×8位-4K×8位=12K*8 可选RAM(1K*4位,2K*8位,4K*8位) 选择3片:4K*8位芯片
(3) 分配地址线---确定每个芯片的地址范围
A15A14A13A12A11 A10 … A7 … A4 A3 … A0
C 2= 3
5
6
7=1
7=0
C1= 3 C2= 3 C4= 5
5 6 6
7=0 7=1 7=1
C4= 5
6
7=0
1100的汉明码为1010100 1100的汉明码为0111100
4.17 写出1100、1101、1110、1111对应的汉明码 解: ∵ n = 4 根据 2k ≥ n + k + 1 取k=3 二进制序号 1 2 3 4 5 6 7
4.14
ROM(2K*8位,4K*4位,8K*8位) RAM(1K*4位,2K*8位,4K*8位) 系统程序区:最小4K 地址范围:0~4K-1 用户程序区:4096~16383 地址范围:4k~16K-1
解: (1) 写出对应的二进制地址码
A15A14A13 A11 A10 … A7 … A4 A3 … A0
名称
按照配奇原则:
C1 C2 1
C4
1
0
1
按照配偶原则:
C 1= 3 C 2= 3 C 4= 5
5 6 6
7=0 7=1 7=1
C1= 3 C2= 3 C4= 5
5 6 6
7=1 7=0 7=0
1101的汉明码为0111101 1101的汉明码为1010101
4.18 已知接收到的汉明码(按配偶原则配置)为 1100100、1100111、1100000、1100001,检查上 述代码是否出错?第几位出错? 解:1100100的纠错过程如下:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 … … … …
P1= 1 P2= 2
P4= 4
3 3
5
5 6
6
7 = 1 有错 7 = 1 有错
7 = 1 有错
(111)2 =(7)10
∴ P4P2P1 = 111
第 7 位出错,可纠正为 1100111, 故要求传送的信息为 0111。
两个4K×4 的ROM芯片
3个4K×8的 RAM芯片
(4) CPU 与存储器的连接图 ---2片4K*4
+5V
A15 MREQ A14 A13 A12 A11 A0 G1 G2A G2B C B A Y3 Y2 Y1
请自己补充
Y0
WR
…
D7 D4 D3 D0
Hale Waihona Puke … …4K ×4位 ROM
…
4K ×4位 ROM