组成课后答案.docx
《组成课后答案.docx》由会员分享,可在线阅读,更多相关《组成课后答案.docx(22页珍藏版)》请在冰豆网上搜索。
![组成课后答案.docx](https://file1.bdocx.com/fileroot1/2023-3/1/03e26c72-998e-469e-b070-cc771927212d/03e26c72-998e-469e-b070-cc771927212d1.gif)
组成课后答案
《一》2 .冯· 诺依曼计算机的特点是什么?
其中最主要的一点是什么?
解:
冯· 诺依曼计算机的特点如下:
① 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;
② 计算机内部采用二进制来表示指令和数据;
③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③ 点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?
它们各有哪些功能?
解:
计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
它们各自的功能是:
①输入设备:
把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计算机内部所能识别和接受的信息方式。
②输出设备:
将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:
用来存放程序和数据。
④运算器:
对信息进行处理和运算。
⑤控制器:
按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自动工作。
6.计算机系统的主要技术指标有哪些?
解:
计算机系统的主要技术指标有:
机器字长、数据通路宽度、主存容量和运算速度等。
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。
《二》17.将下列十进制数转换为IEEE短浮点数:
18.将下列IEEE短浮点数转换为十进制数:
(1)11000000111100000000000000000000;
(2)00111111000100000000000000000000;
(3)01000011100110010000000000000000;
(4)01000000000000000000000000000000;
(5)01000001001000000000000000000000;
(6)00000000000000000000000000000000。
《三》3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令已有K种,无操作数指令已有L种,问单操作数指令最多可能有多少种?
上述三类指令各自允许的最大指令条数是多少?
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配
方案,使该指令系统包含:
4条三地址指令,8条二地址指令,180条单地址指令。
5.指令格式同上题,能否构成:
三地址指令4条,单地址指令255条,零地址指令64条?
为什么?
9.某机字长为16位,主存容量为64K字,采用单字长单地址指令,共有50条指令。
若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。
解:
操作码6位,寻址方式2位,地址码8位。
10.某机字长为16位,主存容量为64K字,指令格式为单字长单地址,共有64条指令。
试说明:
(1)若只采用直接寻址方式,指令能访问多少主存单元?
(2)为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?
指令直接寻址的范围为多少?
(3)采用页面寻址方式,若只增加一位Z/C(零页/现行页)标志,指令寻址范围为多少?
指令直接寻址范围为多少?
(4)采用(2)、(3)两种方式结合,指令的寻址范围为多少?
指令直接寻址范围为多少?
《四》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
8.分别用原码乘法和补码乘法计算X×Y。
(1)X=0.11011,Y=-0.11111
(2)X=-0.11010,Y=-0.011
(2)X×Y=0.0101101100,过程略。
10.分别用原码和补码加减交替法计算X÷Y。
(1)X=0.10101,Y=0.11011
(2)X=-0.10101,Y=0.11011
(3)X=0.10001,Y=-0.10110
(4)X=-0.10110,Y=-0.11011
《五》2.存储器的主要功能是什么?
为什么要把存储系统分成若干个不同层次?
主要有哪些层次?
解:
存储器的主要功能是用来保存程序和数据。
存储系统是由几个容量、速度和价格各不相同的存储器用硬件、软件、硬件与软件相结合的方法连接起来的系统。
把存储系统分成若干个不同层次的目的是为了解决存储容量、存取速度和价格之间的矛盾。
由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次,其中高速缓存和主存间称为Cache-主存存储层次(Cache存储系统);主存和辅存间称为主存—辅存存储层次(虚拟存储系统)。
5.动态RAM为什么要刷新?
一般有几种刷新方式?
各有什么优缺点?
解:
DRAM记忆单元是通过栅极电容上存储的电荷来暂存信息的,由于电容上的电荷会随着时间的推移被逐渐泄放掉,因此每隔一定的时间必须向栅极电容补充一次电荷,这个过程就叫做刷新。
常见的刷新方式有集中式、分散式和异步式3种。
集中方式的特点是读写操作时不受刷新工作的影响,系统的存取速度比较高;但有死区,而且存储容量越大,死区就越长。
分散方式的特点是没有死区;但它加长了系统的存取周期,降低了整机的速度,且刷新过于频繁,没有充分利用所允许的最大刷新间隔。
异步方式虽然也有死区,但比集中方式的死区小得多,而且减少了刷新次数,是比较实用的一种刷新方式。
11.某机字长为32位,其存储容量是64KB,按字编址的寻址范围是多少?
若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:
某机字长为32位,其存储容量是64KB,按字编址的寻址范围是16KW。
若主存以字节编址,每一个存储字包含4个单独编址的存储字节。
假设采用大端方案,即字地址等于最高有效字节地址,且字地址总是等于4的整数倍,正好用地址码的最末两位来区分同一个字中的4个字节。
主存字地址和字节地址的分配情况如图5-19所示。
12.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?
当选用下列不同规格的存储芯片时,各需要多少片?
1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。
解:
地址线14根,数据线32根,共46根。
若选用不同规格的存储芯片,则需要:
1K×4位芯片128片,2K×8位芯片32片,4K×4位芯片
32片,16K×1位芯片32片,4K×8位芯片16片,8K×8位芯片8片。
13.现有1024×1的存储芯片,若用它组成容量为16K×8的存储器。
试求:
(1)实现该存储器所需的芯片数量?
(2)若将这些芯片分装在若干块板上,每块板的容量为4K×8,该存储器所需的地址线总位数是多少?
其中几位用于选板?
几位用于选片?
几位用作片内地址?
解:
(1)需1024×1的芯片128片。
(2)该存储器所需的地址线总位数是14位,其中2位用于选板,2位用于选片,10位用作片内地址。
14.已知某机字长8位,现采用半导体存储器作主存,其地址线为16位,若使用1K×4的SRAM芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。
(1)若每块模板容量为4K×8,共需多少块存储模板?
(2)画出一个模板内各芯片的连接逻辑图。
解:
(1)根据题干可知存储器容量为216=64KB,故共需16块存储模板。
(2)一个模板内各芯片的连接逻辑图如图5-20所示。
《六》11.设一地址指令格式如下:
现在有4条一地址指令:
LOAD(取数)、ISZ(加“1”为零跳)、DSZ(减“1”为零跳)、STORE(存数),在一台单总线单累加器结构的机器上运行,试排出这4条指令的微操作序列。
要求:
当排ISZ和DSZ指令时不要破坏累加寄存器Acc原来的内容。
解:
(1)LOAD(取数)指令
PC→MAR,READ ;取指令
MM→MDR
MDR→IR,PC+1→PC
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
(2)ISZ(加“1”为零跳)指令
取指令微操作略。
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
Acc+1→Acc;加1
IfZ=1thenPC+1→PC;结果为0,PC+1
Acc→MDR,WRITE;保存结果
MDR→MM
Acc-1→Acc;恢复Acc
(3)DSZ(减“1”为零跳)指令
取指令微操作略。
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
Acc-1→Acc;减1
IfZ=1thenPC+1→PC;结果为0,PC+1
Acc→MDR,WRITE;保存结果
MDR→MM
Acc+1→Acc;恢复Acc
(4)STORE(存数)指令:
取指令微操作略。
A→MAR;Acc中的数据写入主存单元
Acc→MDR,WRITE
MDR→MM
12.某计算机的CPU内部结构如图6唱22所示。
两组总线之间的所有数据传送通过ALU。
ALU还具有完成以下功能的能力:
F=A; F=B
F=A+1;F=B+1
F=A-1;F=B-1
写出转子指令(JSR)的取指和执行周期的微操作序列。
JSR指令占两个字,第一个字是操作码,第二个字是子程序的入口地址。
返回地址保存在存储器堆栈中,堆栈指示器始终指向栈顶。
解:
①PC→B,F=B,F→MAR,Read ;取指令的第一个字
②PC→B,F=B+1,F→PC
③MDR→B,F=B,F→IR
④PC→B,F=B,F→MAR,Read;取指令的第二个字
⑤PC→B,F=B+1,F→PC
⑥MDR→B,F=B,F→Y
⑦SP→B,F=B-1,F→SP,F→MAR;修改栈指针,返回地址压入堆栈
⑧PC→B,F=B,F→MDR,Write
⑨Y→A,F=A,F→PC;子程序的首地址→PC
⑩End
13.某机主要部件如图6-23所示。
(1)请补充各部件间的主要连接线,并注明数据流动方向。
(2)拟出指令ADD(R1),(R2)+的执行流程(含取指过程与确定后继指令地址)。
该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2中,目的操作数寻址方式为自增型寄存器间址。
解:
(1)将各部件间的主要连接线补充完后如图6-24所示。
(2)指令ADD(R1),(R2)+的含义为
((R1))+((R2))→(R2)
(R2)+1→R2
指令的执行流程如下:
①(PC)→MAR ;取指令
②Read
③M(MAR)→MDR→IR
④(PC)+1→PC
⑤(R1)→MAR;取被加数
⑥Read
⑦M(MAR)→MDR→C
⑧(R2)→MAR;取加数
⑨Read
⑩M(MAR)→MDR→D
(R2)+1→R2;修改目的地址
(C)+(D)→MDR;求和并保存结果
Write
MDR→MM
14.CPU结构如图6唱25所示,其中有一个累加寄存器AC、一个状态条件寄存器和其他4个寄存器,各部件之间的连线表示数据通路,箭头表示信息传送方向。
(1)标明4个寄存器的名称。
(2)简述指令从主存取出送到控制器的数据通路。
(3)简述数据在运算器和主存之间进行存取访问的数据通路。
解:
(1)这4个寄存器中,a为存储器数据寄存器MDR,b为指令寄存器IR,c为存储器地址寄存器MAR,d为程序计数器PC。
(2)取指令的数据通路:
PC→MAR→MM→MDR→IR
(3)数据从主存中取出的数据通路(设数据地址为X):
X→MAR→MM→MDR→ALU→AC
数据存入主存中的数据通路(设数据地址为Y):
Y→MAR,AC→MDR→MM
15.什么是微命令和微操作?
什么是微指令?
微程序和机器指令有何关系?
微程序和程序之间有何关系?
解:
微命令是控制计算机各部件完成某个基本微操作的命令。
微操作是指计算机中最基本的、不可再分解的操作。
微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。
微令是若干个微命令的集合。
微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。
微程序和程序是两个不同的概念。
微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户;程序是由机器指令组成的,由程序员事先编制好并存放在主存储器中。
16.什么是垂直型微指令?
什么是水平型微指令?
它们各有什么特点?
又有什么区别?
解:
垂直型微指令是指一次只能执行一个微命令的微指令;水平型微指令是指一次能定义并能并行执行多个微命令的微指令。
垂直型微指令的并行操作能力差,一般只能实现一个微操作,控制1~2个信息传送通路,效率低,执行一条机器指令所需的微指令数目多,执行时间长;但是微指令与机器指令很相似,所以容易掌握和利用,编程比较简单,不必过多地了解数据通路的细节,且微指令字较短。
水平型微指令的并行操作能力强,效率高,灵活性强,执行一条机器指令所需微指令的数目少,执行时间短;但微指令字较长,增加了控存的横向容量,同时微指令和机器指令的差别很大,设计者只有熟悉了数据通路,才有可能编制出理想的微程序,一般用户不易掌握。
17.水平型和垂直型微程序设计之间各有什么区别?
串行微程序设计和并行微程序设计有什么区别?
解:
水平型微程序设计是面对微处理器内部逻辑控制的描述,所以把这种微程序设计方法称为硬方法;垂直型微程序设计是面向算法的描述,所以把这种微程序设计方法称为软方法。
在串行微程序设计中,取微指令和执行微指令是顺序进行的,在一条微指令取出并执行之后,才能取下一条微指令;在并行微程序设计中,将取微指令和执行微指令的操作重叠起来,从而缩短微周期。
18.图6唱26给出了某微程序控制计算机的部分微指令序列。
图中每一框代表一条
微指令。
分支点a由指令寄存器IR的第5、6两位决定。
分支点b由条件码C0决定。
现
采用下址字段实现该序列的顺序控制。
已知微指令地址寄存器字长8位。
(1)设计实现该微指令序列的微指令字之顺序控制字段格式。
(2)给出每条微指令的二进制编码地址。
(3)画出微程序控制器的简化框图。
解:
(1)该微程序流程有两处有分支的地方,第一处有4路分支,由指令操作码
IR5IR6指向4条不同的微指令,第二处有2路分支,根据运算结果C0的值决定后继微地
址。
加上顺序控制,转移控制字段取2位。
图6唱26中共有15条微指令,则下址字段至少
需要4位,但因已知微指令地址寄存器字长8位(μMAR7~μMAR0),故下址字段取8
位。
微指令的顺序控制字段格式如图6-27所示。
(2)转移控制字段2位:
00 顺序控制
01 由IR5IR6控制修改μMAR4,μMAR3。
10 由C0控制修改μMAR5。
微程序流程的微地址安排如图6-28所示。
每条微指令的二进制编码地址见表6-3。
注:
每条微指令前的微地址用十六进制表示。
图6-28 微程序流程的微地址安排
(3)微程序控制器的简化框图略。
19.已知某机采用微程序控制方式,其控制存储器容量512×48位,微程序可在整个控制存储器中实现转移,可控制转移的条件共4个,微指令采用水平型格式,后继指令地址采用断定方式,微指令格式如图6-29所示。
(1)微指令中的3个字段分别应为多少位?
spring跳跃sprang/sprungsprung(2)画出围绕这种微指令格式的微程序控制器逻辑框图。
解:
(1)因为控制转移的条件共4个,则判别测试字段为2位;因为控存容量为512个单元,所以下地址字段为9位;微命令字段是(48-2-9)=37位。
(2)对应上述微指令格式的微程序控制器逻辑框图如图6-30。
《九》17.现有A、B、C、D共4个中断源,其优先级由高向低按A、B、C、D顺序排列。
若中断服务程序的执行时间为20μs,请根据图8-16所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。
解:
CPU执行程序的轨迹如图8-17所示。
wake醒着woke/wakedwoke/waked/woken
18.设某机有5级中断:
L0、L1、L2、L3、L4,其中断响应优先次序为:
L0最高、L1次
eat吃ateeaten之、⋯⋯、L4最低。
现在要求将中断处理次序改为L1→L3→L0→L4→L2,试问:
arise出现arosearisen(1)各级中断服务程序中的各中断屏蔽码应如何设置(设每级对应一位,当该位为
“0”,表示中断允许;当该位为“1”,表示中断屏蔽)?
(2)若这5级同时都发出中断请求,试画出进入各级中断处理过程示意图。
解:
(1)各级中断服务程序中的各中断屏蔽码设置如表8-3所示
swim游泳swamswum5级中断同时发出中断请求,各级中断处理过程示意如图8-18所示。
mistake误认mistookmistaken
pay支付paidpaid19.实现多重中断应具备何种条件?
如有A、B、C、D共4级中断,A的优先级最高,B次之,⋯⋯,D最低。
如在程序执行过程中,C和D同时申请中断,该先响应哪级中断?
如正在处理该中断时,A、B又同时有中断请求,试画出该多级中断处理的流程来。
freeze结冰frozefrozen解:
多重中断又称为中断嵌套,在执行某个中断服务程序的过程中,CPU可去响应级别更高的中断请求。
make制作mademade多级中断处理的流程如图8-19所示。