唐朔飞计算机组成原理习题答案.docx

上传人:b****8 文档编号:10581698 上传时间:2023-02-21 格式:DOCX 页数:20 大小:28.93KB
下载 相关 举报
唐朔飞计算机组成原理习题答案.docx_第1页
第1页 / 共20页
唐朔飞计算机组成原理习题答案.docx_第2页
第2页 / 共20页
唐朔飞计算机组成原理习题答案.docx_第3页
第3页 / 共20页
唐朔飞计算机组成原理习题答案.docx_第4页
第4页 / 共20页
唐朔飞计算机组成原理习题答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

唐朔飞计算机组成原理习题答案.docx

《唐朔飞计算机组成原理习题答案.docx》由会员分享,可在线阅读,更多相关《唐朔飞计算机组成原理习题答案.docx(20页珍藏版)》请在冰豆网上搜索。

唐朔飞计算机组成原理习题答案.docx

唐朔飞计算机组成原理习题答案

《计算机组成原理》习题答案

第 一 章

5.冯•诺依曼计算机的特点是什么?

  解:

冯氏计算机的特点是:

  •由运算器、控制器、存储器、输入设备、输出设备五大部件组成;

  •指令和数据以同一形式(二进制形式)存于存储器中;

  •指令由操作码、地址码两大部分组成;

  •指令在存储器中顺序存放,通常自动顺序取出执行;

  •以运算器为中心(原始冯氏机)。

7.解释下列概念:

主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。

  解:

P10

  主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;

  CPU——中央处理器(运算器与控制器合称CPU),是计算机硬件的核心部件

  主存——存放正在运行的程序和数据的存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成

  存储单元——可存放一个机器字并具有特定存储地址的存储单位

  存储元件——存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取;

  存储字——一个存储单元所存二进制代码的逻辑单位;

  存储字长——一个存储单元所存二进制代码的位数;

  存储容量——存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)

  机器字长——CPU能同时处理的数据位数;

  指令字长——一条指令的二进制代码位数;

8.解释下列英文缩写的中文含义:

CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS

  解:

全面的回答应分英文全称、中文名、中文解释三部分。

  CPU——CentralProcessingUnit,中央处理机(器),见7题;

  PC——ProgramCounter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;

  IR——InstructionRegister,指令寄存器,存放当前正在执行的指令的寄存器;

  CU——ControlUnit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;

  ALU——ArithmeticLogicUnit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;

  ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;

  MQ——Multiplier-QuotientRegister,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。

  X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;

  MAR——MemoryAddressRegister,存储器地址寄存器,用来存放欲访问存储单元地址的寄存器;

MDR——MemoryDataRegister,存储器数据缓冲寄存器,用来存放从某单元读出、或写入某存储单元数据的寄存器;

  I/O——Input/Outputequipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;

  MIPS——MillionInstructionPerSecond,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;

11.指令和数据都存于存储器中,计算机如何区分它们?

  解:

计算机硬件主要通过不同的时间段来区分指令和数据,即:

取指周期(或取指微程序)取出的既为指令,执行周期(或相应微程序)取出的既为数据。

  另外也可通过地址来源区分,从PC指出的存储单元取出的是指令,由指令地址码部分OP(Ad)提供操作数地址。

  问题讨论:

  ×由控制器分析是指令还是数据; 

  ×MAR放地址,MDR放MM的内容:

指令、数据?

×指令由指令寄存器存取;

×存取数据和存取指令的操作在机器中完全一样;

×有的机器指令和数据的地址不一样?

(分区的问题)  

第三章

1.什么是总线?

总线传输有何特点?

为了减轻总线负载,总线上的部件应具备什么特点?

解:

总线是多个部件共享的传输部件。

  总线传输的特点是:

某一时刻只能有一路部件的信息在总线上传输,即分时使用。

  为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。

围绕“为减轻总线负载”的几种说法:

×应对设备按速率进行分类,各类设备挂在与自身速率相匹配的总线上;

×应采用多总线结构;

×总线上只连接计算机的五大部件;

×总线上的部件应为低功耗部件。

×总线上的部件应具备机械特性、电器特性、功能特性、时间特性;

第四章

7.一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?

当选用下列不同规格的存储芯片时,各需要多少片?

  1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位

解:

地址线和数据线的总和=14+32=46根;

各需要的片数为:

1K×4:

16K×32/1K×4=16×8=128片

2K×8:

16K×32/2K×8=8×4=32片

4K×4:

16K×32/4K×4=4×8=32片

16K×1:

16K×32/16K×1=32片

4K×8:

16K×32/4K×8=4×4=16片

8K×8:

16K×32/8K×8=2×4=8片

讨论:

地址线根数与容量的关系,在此为214=16K,14根;

  数据线根数与字长位数相等,在此为32根。

  

9.什么叫刷新?

为什么要刷新?

说明刷新有几种方法。

解:

刷新——对DRAM定期进行的全部重写过程;

  刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;

  常用的刷新方法有三种——集中式、分散式、异步式。

  集中式:

在最大刷新间隔时间内,集中安排一段时间进行刷新;

  分散式:

在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;

  异步式:

是集中式和分散式的折衷。

15.设CPU共有16根地址线,8根数据线,并用-MREQ(低电平有效)作访存控制信号,R/-W作读写命令信号(高电平为读,低电平为写)。

现有下列存储芯片:

ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。

试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。

要求:

  

(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;

  

(2)指出选用的存储芯片类型及数量;

  (3)详细画出片选逻辑。

解:

(1)分配地址空间,写出对应的二进制地址码:

CPU-16脚(64K)

系统程序区地址(0-4K):

0000000000000000-0000111111111111;共4K.

用户程序区地址(4K-16K):

0001000000000000-0011111111111111;共12K.

(2)选片:

ROM:

4K×4位,2片;[ROM(2K×8位,4K×4位,8K×8位)]

      RAM:

4K×8位:

3片;[RAM(1K×4位,2K×8位,4K×8位)]

(3)CPU和存储器连接逻辑图及片选逻辑:

4片4K的存储器地址线相同:

A0-A11;A12A13每片不同,接入74138译码器作为片选信号(-CS):

00选ROM,01、10、11分别选RAM1—3。

A0-A11接ROM(4K×4位),2片;地址线一样,数据线分高低4位。

A0-A11接RAM(4K×8位),3片;地址线一样,数据线一样。

-MREQ端并联接入-G2A/-G2B,A14A15经与非门接入G1端。

ROM的-PD/Progr端接地(只读),R/-W接入RAM相应端。

讨论:

⏹选片:

当采用字扩展和位扩展所用芯片一样多时,选位扩展。

理由:

字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可。

本题ROM如选用2K×8ROM,片选要采用二级译码,实现较麻烦。

⏹当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线——地址线一样。

⏹应尽可能的避免使用二级译码,以使设计简练。

⏹片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码。

16.CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:

  

(1)用74138译码器画出CPU与存储芯片的连接图;

  

(2)写出每片RAM的地址范围;

  (3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。

  (4)根据

(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?

 解:

 

(1)分配地址空间:

8片8K×8位,地址线相同:

A0-A12,A13-A15接入74138译码器输出8个片选信号(-CS)分别选中RAM1-8。

(2)每片RAM的地址范围:

0000-1FFF,2000-3FFF,4000-5FFF,6000-7FFF,8000-9FFF,A000-BFFF,

C000-DFFF,E000-FFFF.

(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(第5片)都有与其相同的数据,则根本的故障原因为:

该存储芯片的片选输入端很可能总是处于低电平。

可能的情况有(假设芯片与译码器本身都是好的):

⏹该片的-CS端与-WE端错连或短路;

⏹该片的-CS端与CPU的-MREQ端错连或短路;

⏹该片的-CS端与地线错连或短路;

(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为“1”的情况。

此时存储器只能寻址到片选信号:

A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。

⏹若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。

第五章

14.在什么条件下,I/O设备可以向CPU提出中断请求?

  解:

I/O设备向CPU提出中断请求的条件是:

I/O接口中的设备工作完成状态为1(D=1);中断屏蔽码为0(MASK=0);且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

15.什么是中断允许触发器?

它有何作用?

  解:

中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用,即中断总开关。

中断屏蔽触发器可视为中断的分开关。

16.在什么条件和什么时间,CPU可以响应I/O的中断请求?

  解:

CPU响应I/O中断请求的条件和时间是:

当中断允许状态为1(EINT=1);且至少有一个中断请求被查到;则在一条指令执行完时,响应中断。

28.CPU对DMA请求和中断请求的响应时间是否一样?

为什么?

解:

CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求(一个存取周期末)。

讨论:

⏹CPU对DMA的响应是即时的;

⏹CPU响应DMA的时间更短;DMA比中断速度高;

⏹因为DMA与CPU共享主存,会出现两者争用主存的冲突,CPU必须将总线让给DMA接口使用,常用停止CPU访存、周期窃取及DMA与CPU交替访存三种方式有效的分时使用主存;

    

27.试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。

  

(1)数据传送依赖软件还是硬件;

  

(2)传送数据的基本单位;

  (3)并行性;

  (4)主动性;

  (5)传输速度;

  (6)经济性;

  (7)应用对象。

 解:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。

(3)程序查询方式传送时,CPU与I/O设备串行工作;

程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行;

DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。

(4)程序查询方式时,CPU主动查询I/O设备状态;程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。

硬件调用子程序。

(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;

程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;

DMA方式基本由硬件实现传送,因此速度最快;

注意:

程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。

(6)程序查询接口硬件结构最简单,因此最经济;

程序中断接口硬件结构稍微复杂一些,因此较经济;

DMA控制器硬件结构最复杂,因此成本最高;

(7)程序中断方式适用于中、低速设备的I/O交换;

  程序查询方式适用于中、低速实时处理过程;

DMA方式适用于高速设备的I/O交换;

讨论:

问题1:

这里的传送速度指I/O设备与主存间,还是I/O与CPU之间?

答:

视具体传送方式而定,程序查询、程序中断为I/O与CPU之间交换,DMA为I/O与主存间交换。

问题2:

主动性应以CPU的操作方式看,而不是以I/O的操作方式看。

程序查询方式:

以缓冲器容量(块、二进制数字)为单位传送;

程序中断方式:

以向量地址中的数据(二进制编码)为单位传送;

DMA:

传送单位根据数据线的根数而定;

30.什么是多重中断?

实现多重中断的必要条件是什么?

  解:

多重中断是指:

当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

  实现多重中断的必要条件是:

在现行中断服务期间,中断允许触发器为1,即开中断。

 

第 六 章

5.已知[x]补,求[x]原和x。

[x1]补=1.1100;X=-0.0100;[x]原=1.0100

[x2]补=1.1001;X=-0.0111;[x]原=1.0111

[x3]补=0.1110;X=0.1110;[x]原=0.1110 

[x4]补=1.0000;X=-1.0000;[x]原不能表示

[x5]补=1,0101X=-1011;[x]原=1,1011

[x6]补=1,1100;X=-0100;[x]原=1,0100

[x7]补=0,0111;X=0111;[x]原=0,0111

[x8]补=1,0000;X=-10000;[x]原不能表示  

9.当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数8位字长,采用一位符号位)?

  

解:

9B(10011011)

原码:

-27、补码对应(-1100101):

-101、反码对应(-1100100):

-100、移码对应的补码(00011011):

27、无符号数:

155。

FF(11111111)

原码:

-127、补码:

-1、反码:

-0、移码:

127、无符号数:

255。

19.设机器数字长8位(含1位符号位),用补码运算规则计算下列各题。

 

(1)A=9/64,B=-13/32,求A+B; 

(3)A=-3/16,B=9/32,  求A+B; 

(4)A=-87, B=53,   求A-B; 

(5)A=115,B=-24,  求A+B。

  

解:

(1)A=9/64(右移6位)=(0.001001)2   

B=-13/32(右移5位)=(-0.01101)2   

8位字长[A]补=0.0010010;[B]补=1.1001100

[A+B]补=0.001 0010

   +1.100 1100 

   =1.1011110——无溢出  

A+B=(-0.0100010)2=-17/64 

(3)A=-3/16(右移4位)=(-0.0011000)2   

B=9/32(右移5位)=(0.0100100)2   

[A]补=1.1101000;[B]补=0.0100100

[A+B]补=1.110 1000   

+ 0.010 0100     

=0.000 1100——无溢出  

A+B=(0.0001100)2=3/32

(4)A=-87=(-1010111)2   

B=53=(110101)2   

[A]补=1,0101001;[B]补=0,0110101——[-B]补=1,1001011

[A-B]补=1,010 1001  

+ 1,100 1011     

=0,111 0100——溢出  

A-B=(-1,0001100)2=-140(-128——127)

 

26.按机器补码浮点运算步骤,计算[x±y]补  

(1)x=2-011×0.101100,      y=2-010×(-0.011100);

解:

先将x、y转换成机器数形式:

[x]补=1,101;0.101100   [y]补=1,110;1.100100  

1)对阶:

【E】补=[Ex]补+[-Ey]补

[E]补=11,101+00,010=11,111;

E<0,小阶对大阶应Ex向Ey对齐,则:

[X]补+1=11,110;0.010110Ex=Ey,对毕。

2)尾数运算:

  

[Mx]补+[My]补=00.010 110

      +11.100 100        

   =11.111 010

[Mx]补+[-My]补=00.010 110        

+00.011 100         

=00.110 010

3)结果规格化:

 

[x+y]补=11,110;11.111010     

=11,011;11.010000(左规3次,阶码减3) 

[x-y]补=11,110;00.110010  已是规格化数。

4)舍入:

5)溢出:

无  

则:

x+y=2-101×(-0.110000)    

x-y=2-010×0.110010

(2)x=2-011×(-0.100010),     y=2-010×(-0.011111);  

解:

先将x、y转换成机器数形式:

[x]补=1,101;1.011110   [y]补=1,110;1.100001 

1)对阶:

过程同上,则 [x]补=1,110;1.101111 

2)尾数运算:

  [Mx]补+[My]补=11.101 111          

+11.100 001         

=11.010000  

[Mx]补+[-My]补=11.101 111           

+00.011 111         

=00.001 110

3)结果规格化:

[x+y]补=11,110;11.010000  已是规格化数。

 

[x-y]补=11,110;00.001110

=11,100;00.111 000(左规2次,阶码减2)  

4)舍入:

5)溢出:

无  

则:

x+y=2-010×(-0.110000)    

x-y=2-100× 0.111000

(3)x=2101×(-0.100101)   y=2100×(-0.001111)   

第 七 章

16.机器为16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:

某机主存容量为4M  

(1)画出一地址指令格式并指出各字段的作用;  

(2)该指令直接寻址的最大范围;  

(3)一次间址和多次间址的寻址范围;  

(4)立即数的范围(十进制表示);

(5)相对寻址的位移量(十进制表示);  

(6)上述六种寻址方式的指令哪一种执行时间最短?

哪一种最长?

为什么?

哪一种便于程序浮动?

哪一种最适合处理数组问题?

  

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

  

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?

简要说明之。

解:

  

(1)单字长一地址指令格式:

7(操作码:

27=128)+3(寻址方式:

23=8)+6(地址码:

26=64)

(2)该指令直接寻址的最大范围为26=64字;  

(3)一次间址的寻址范围为216=64K字;  

多次间址的寻址范围为215=32K字;  

(4)立即数的范围(6位):

若采用补码表示为1FH——20H;十进制表示为+31——-32;无符号数为0——63;  

(5)相对寻址的位移量范围在采用补码表示时同立即数范围,为+31——-32;

(6)六种寻址方式中:

立即寻址指令执行时间最短,因为此时不需寻址;

间接寻址指令执行时间最长,因为寻址操作需访存一次到多次;

相对寻址便于程序浮动,因为此时操作数位置可随程序存储区的变动而改变,总是相对于程序一段距离;

变址寻址最适合处理数组问题,因为此时变址值可自动修改而不需要修改程序。

(7)为使指令寻址范围可扩大到4M,需要有效地址22(222)位,此时可将单字长一地址指令的格式改为双字长:

7+3+6;16

(8)如使一条转移指令能转移到主存的任一位置,可采用上述双字长一地址指令,通过选用合适的寻址方式完成。

(如选用直接寻址就可转移到主存任一位置,但选用相对寻址则只能在±2M范围内转移。

)除此之外,(7)、(8)两题也可通过段寻址方式达到扩大寻址空间的目的。

总之,不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1