计算机组成原理复习

第一章

课后习题

第三章

课后习题

3.1、什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?

答:总线是多个部件共享的传输部件。 总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。 为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。

3.2、总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?

答:①按连接部件不同,可分为片内总线、系统总线、通信总线。 ②系统总线按照传输信息不同分为数据总线,地址总线,控制总线

3.4、为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?

答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;

常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;

3.7、画图说明异步通信中请求与回答有哪几种互锁关系?

t5pXQJ.png

第四章

课后习题

4.3、存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?

答:存储器的层次结构主要体现在 Cache- 主存和主存 - 辅存这两个存储层次上。

Cache- 主存层次在存储系统中主要对 CPU 访存起加速作用,即从整体运行的效果分析, CPU 访存速度加快,接近于 Cache 的速度,而寻址空间和位价却接近于主存。

主存 - 辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。

综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。

主存与 CACHE 之间的信息调度功能全部由硬件自动完成。而主存 与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

4.8、试比较静态 RAM 和动态 RAM 。

答:区别:动态RAM会周期性的刷新,静态RAM不进行刷新

1、静态RAM,指zhiSRAM:只要有供电,它保存的数据就不会丢失,dao且为高速存储器,如CPU中的高速缓存(cache) 2、动态RAM,指DRAM:有供电,还要根据它要求的刷新时间参数,才能保持存储的数据不丢失,如电脑中的内存条

4.9、什么叫刷新?为什么要刷新?说明刷新有几种方法。

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

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

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

4.10、半导体存储器芯片的译码驱动方式有几种?

解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。

4.15、设 CPU 共有 16 根地址线, 8 根数据线,并用 ( 低电平有效)作访存控制信号,作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片: ROM ( 2K × 8 位, 4K × 4 位, 8K × 8 位), RAM ( 1K × 4 位, 2K × 8 位, 4K × 8 位),及 74138 译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出 CPU 和存储芯片的连接图。要求:

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

答:地址空间分配图:

系统程序区( ROM 共 4KB ): 0000H-0FFFH

用户程序区( RAM 共 12KB ): 1000H-3FFFH

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

答:选片: ROM :选择 4K × 4 位芯片 2 片,位并联RAM :选择 4K × 8 位芯片 3 片,字串联 (RAM1 地址范围为 :1000H-1FFFH,RAM2 地址范围为 2000H-2FFFH, RAM3 地址范围为 :3000H-3FFFH)

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

答:( 3 )各芯片二进制地址分配如下:

 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
ROM1,20000000000000000
00000111111111111
RAM10001000000000000
00011111111111111
RAM20010000000000000
00101111111111111
RAM30011000000000000
00111111111111111

CPU和存储器连接逻辑图及片选逻辑如下图所示:

tIuiTS.png

4.17、写出 1100 、 1101 、 1110 、 1111 对应的汉明码。

解:有效信息均为 n=4 位,假设有效信息用 b4b3b2b1 表示

校验位位数 k=3 位,( 2 k >=n+k+1 )

设校验位分别为 c1 、 c2 、 c3 ,则汉明码共 4+3=7 位,即: c1c2b4c3b3b2b1

校验位在汉明码中分别处于第 1 、 2 、 4 位

c1=b4 ⊕ b3 ⊕ b1

c2=b4 ⊕ b2 ⊕ b1

c3=b3 ⊕ b2 ⊕ b1

当有效信息为 1100 时, c3c2c1=110, 汉明码为 0111100 。

当有效信息为 1101 时, c3c2c1=001, 汉明码为 1010101 。

当有效信息为 1110 时, c3c2c1=000, 汉明码为 0010110 。

当有效信息为 1111 时, c3c2c1=111, 汉明码为 1111111 。

4.18、已知收到的汉明码(按配偶原则配置)为 1100100 、 1100111 、 1100000 、 1100001 ,检查上述代码是否出错?第几位出错?

解:假设接收到的汉明码为: c1 ’ c2 ’ b4 ’ c3 ’ b3 ’ b2 ’ b1 ’

纠错过程如下:

P1=c1 ’⊕ b4 ’⊕ b3 ’⊕ b1 ’

P2=c2 ’⊕ b4 ’⊕ b2 ’⊕ b1 ’

P3=c3 ’⊕ b3 ’⊕ b2 ’⊕ b1 ’

如果收到的汉明码为 1100100 ,则 p3p2p1=011 ,说明代码有错,第 3 位( b4 ’)出错,有效信息为: 1100

如果收到的汉明码为 1100111 ,则 p3p2p1=111 ,说明代码有错,第 7 位( b1 ’)出错,有效信息为: 0110

如果收到的汉明码为 1100000 ,则 p3p2p1=110 ,说明代码有错,第 6 位( b2 ’)出错,有效信息为: 0010

如果收到的汉明码为 1100001 ,则 p3p2p1=001 ,说明代码有错,第 1 位( c1 ’)出错,有效信息为: 0001

4.19、已经接收到下列汉明码,分别写出它们所对应的欲传送代码。

( 1 ) 1100000 (按偶性配置)

( 2 ) 1100010 (按偶性配置)

( 3 ) 1101001 (按偶性配置)

( 4 ) 0011001 (按奇性配置)

( 5 ) 1000000 (按奇性配置)

( 6 ) 1110001 (按奇性配置)

解:(一)假设接收到的汉明码为 C1 ’ C2 ’ B4 ’ C3 ’ B3 ’ B2 ’ B1 ’, 按偶性配置则:

P1=C1 ’⊕ B4 ’⊕ B3 ’⊕ B1 ’

P2=C2 ’⊕ B4 ’⊕ B2 ’⊕ B1 ’

P3=C3 ’⊕ B3 ’⊕ B1 ’

( 1 )如接收到的汉明码为 1100000 ,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P2=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P3=0 ⊕ 0 ⊕ 0=0

P3P2P1=011 ,第 3 位出错,可纠正为 1110000 ,故欲传送的信息为 1000 。

( 2 )如接收到的汉明码为 1100010 ,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0=1

P2=1 ⊕ 0 ⊕ 1 ⊕ 0=0

P3=0 ⊕ 0 ⊕ 0=0

P3P2P1=001 ,第 1 位出错,可纠正为 0100010 ,故欲传送的信息为 0010 。

( 3 )如接收到的汉明码为 1101001 ,

P1=1 ⊕ 0 ⊕ 0 ⊕ 1=0

P2=1 ⊕ 0 ⊕ 0 ⊕ 1=0

P3=1 ⊕ 0 ⊕ 1=0

P3P2P1=000 ,传送无错,故欲传送的信息为 0001 。

(二)假设接收到的汉明码为 C1 ’ C2 ’ B4 ’ C3 ’ B3 ’ B2 ’ B1 ’, 按奇性配置则:

P1=C1 ’⊕ B4 ’⊕ B3 ’⊕ B1 ’⊕ 1

P2=C2 ’⊕ B4 ’⊕ B2 ’⊕ B1 ’⊕ 1

P3=C3 ’⊕ B3 ’⊕ B1 ’⊕ 1

( 4 )如接收到的汉明码为 0011001 ,

P1=0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=1

P2=0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=1

P3=1 ⊕ 0 ⊕ 1 ⊕ 1=1

P3P2P1=111 ,第 7 位出错,可纠正为 0011000 ,故欲传送的信息为 1000 。

( 5 )如接收到的汉明码为 1000000 ,

P1=1 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 1=0

P2=0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1=0

P3=0 ⊕ 0 ⊕ 0 ⊕ 1=1

P3P2P1=100 ,第 4 位出错,可纠正为 1001000 ,故欲传送的信息为 0000 。

( 6 )如接收到的汉明码为 1110001 ,

P1=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=0

P2=1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 1=0

P3=0 ⊕ 0 ⊕ 1 ⊕ 1=0

P3P2P1=000 ,传送无错,故欲传送的信息为 1001 。

4.26、计算机中设置 Cache 的作用是什么?能否将 Cache 的容量扩大,最后取代主存,为什么?

答:计算机中设置 Cache 的作用是解决 CPU 和主存速度不匹配问题。

不能将 Cache 的容量扩大取代主存,

原因如下:

1 ) Cache 容量越大成本越高,难以满足人们追求低价格的要求;

( 2 )如果取消主存,当 CPU 访问 Cache 失败时,需要将辅存的内容调入 Cache 再由 CPU 访问,造成 CPU 等待时间太长,损失更大。

4.28、设主存容量为 256K 字, Cache 容量为 2K 字,块长为 4 。

( 1 )设计 Cache 地址格式, Cache 中可装入多少块数据?

( 2 )在直接映射方式下,设计主存地址格式。

( 3 )在四路组相联映射方式下,设计主存地址格式。

( 4 )在全相联映射方式下,设计主存地址格式。

( 5 )若存储字长为 32 位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。

解:( 1 ) Cache 容量为 2K 字,块长为 4 , Cache 共有 块,

Cache 字地址 9 位,字块内地址为 2 位

因此, Cache 地址格式设计如下:

  
Cache 字块地址( 9 位)字块内地址( 2 位)

( 2 )主存容量为 256K 字 =2 18 字,主存地址共 18 位,共分 256K/4=2 16 块,

主存字块标记为 18-9-2 =7 位。

直接映射方式下主存地址格式如下:

   
主存字块标记( 7 位)Cache 字块地址( 9 位)字块内地址( 2 位)

( 3 )根据四路组相联的条件,一组内共有 4 块,得 Cache 共分为 512/4=128=2 7 组,

主存字块标记为 18-7-2 =9 位,主存地址格式设计如下:

   
主存字块标记( 9 位)组地址( 7 位)字块内地址( 2 位)

( 4 )在全相联映射方式下,主存字块标记为 18-2=16 位,其地址格式如下:

  
主存字块标记( 16 位)字块内地址( 2 位)

( 5 )若存储字长为 32 位,存储器按字节寻址,则主存容量为 256K*32/4=2 21 B ,

Cache 容量为 2K32/4=2 14 B ,块长为 432/4=32B=2 5 B ,字块内地址为 5 位,

在直接映射方式下,主存字块标记为 21-9-5 =7 位,主存地址格式为:

   
主存字块标记( 7 位)Cache 字块地址( 9 位)字块内地址( 5 位)

在四路组相联映射方式下,主存字块标记为 21-7-5 =9 位,主存地址格式为:

   
主存字块标记( 9 位)组地址( 7 位)字块内地址( 5 位)

在全相联映射方式下,主存字块标记为 21-5=16 位,主存地址格式为:

  
主存字块标记( 16 位)字块内地址( 5 位)

4.30、一个组相连映射的 CACHE 由 64 块组成,每组内包含 4 块。主存包含 4096 块,每块由 128 字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。

cache 组数: 64/4=16 , Cache 容量为: $ 字, cache 地址 13 位

主存共分 4096/16=256 区,每区 16 块

主存容量为: 4096*128=2 19 字,主存地址 19 位,地址格式如下:

   
主存字块标记( 8 位)组地址( 4 位)字块内地址( 7 位)

第五章

课后习题

5.3、I/0设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。

5.10、什么是I/O接口,与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?

解:I/O接口一般指CPU和I/O设备间的连接部件,而端口是指I/O接口内CPU能够访问的寄存器,端口加上相应的控制逻辑即构成I/O接口。

I/O接口分类方法很多,主要有:

(1)按数据传送方式分有并行接口和串行接口两种;

(2)按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。

5.15、什么是中断允许触发器?它有何作用?

解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。

第六章

课后习题

6.5、已知[x]补,求[x]原和x。

[x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1.0000;

[x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000;

解:[x]补与[x]原、x的对应关系如下:

[x]补1.11001.10010.11101.00001,01011,11000,01111,0000
[x]原1.01001.01110.11101,10111,01000,0111
x-0.0100-0.01110.1110-1-1011-1000,0111-10000

第七章

课后习题

7.2、什么叫寻址方式?为什么要学习寻址方式?

答:

7.6、某指令系统字长为16位,地址码取4位,提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。

指令操作码分配方案如下:

4位OP

0000,

……, A1,A2,A3;8条三地址指令

0111,

1000,0000,

……,……, A2,A3:16条二地址指令

1000,1111,

1001,0000,0000,

……,……,……, A3:100条一地址指令

1001,0110,0011,

1001,0110,0100,

……,……,……, 冗余编码

1001,1111,1111, 可用来扩充一、零地址指令条数

1010,

……, 冗余编码

1111, 可用来扩充三、二、一、零地址指令条数

7.9、试比较间接寻址和寄存器间接寻址

答:间接寻址和寄存器间址都可扩大寻址范围,它们形成有效地址的方式类似;间接寻址需通过访存(若是多次间址还需多次访存)得到有效地址;寄存器间接寻址有效地址不是存放在存储单元中,而是存放于寄存器中,故比间接寻址少访存一次。

7.10、试比较基址寻址和变址寻址

答: 1、都可有效地扩大指令寻址范围。2、基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给 出。3、基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。4、基址寻址适用于程序的动态重定位,变址寻址适用于数组或字符串处理,适用场合不同。

第八章

课后习题

8.1、CPU有哪些功能?画出其结构框图并简要说明各个部件的作用。

答:CPU的主要功能是执行存放在主存储器中的程序即机器指令。CPU是由控制器和运算器组成

tofebj.png

ALU:实现逻辑运算

寄存器:存放操作数

CU:发出各种操作命令序列的控制部件

中断系统:处理异常情况和特殊请求

8.12、计算机为了管理中断,在硬件上通常有哪些设置?各有何作用?对指令系统有何考虑?

答:计算机为了管理中断,在硬件上设有专门处理中断的机构——中断系统。

它通常包括:中断请求寄存器、中断优先级排队器、向量编码器、中断允许触发器、中断标记触发器、中断屏蔽触发器等。

功能如下:

8.17、在中断系统中,INTR、INT、EINT这3个触发器各有何作用?

8.18、什么是中断隐指令,有哪些功能?

答:中断隐指令:CPU响应中断之后,经过某些操作,转去执行中断服务程序。这些操作是由硬件直接实现的

功能:(1)保存断点(2)暂不允许中断(3)引出中断服务程序

8.19、中断处理过程中“保护现场”需完成哪些任务?如何实现?

答:中断处理过程中"保护现场”要完成保存程序的断点和通用寄存器及状态寄存器的内容具体来讲,可在中断服务程序的起始部分安排若干条存数指令将寄存器的内容存到存储器中保存或用进栈指令将各寄存器的内容推入堆栈保存即将程序中断时间的"现场"保存起来.

8.24、现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D顺序排列。若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。

答:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:

tohg6U.png

8.25、某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0→ L1→L2→L3→L4,根据下示格式,现要求中断处理次序改为 L1→L4→L2→L0→L3,根据下面的格式,写出各中断源的屏蔽字。

答:各中断源屏蔽状态见下表:

 屏蔽字屏蔽字屏蔽字屏蔽字屏蔽字
中断源01234
L010010
L111111
L210110
L300010
L410111

表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。

 

8.26、设某机配有A、B、C三台设备,其优先顺序按A®B®C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:

设备屏蔽字
A111
B010
C011

请按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。

答:A、B、C设备的响应优先级为A最高、B次之、C最低,处理优先级为A最高、C次之、B最低。CPU执行程序的轨迹图如下:

to59a9.png

第九章

课后习题

9.1、设CPU内的部件有: PC、IR、MAR、MDR、ACC、ALU、CU,且采用非总线结构。 (1)写出取指周期的全部微操作。 (2)写出取数指令LDAX,存数指令STAX,加法指令ADDX (X均为主存地址)在执行阶段所需的全部微操作。 (3)当上述指令均为间接寻址时,写出执行这些指令所需的全部微操作。 (4)写出无条件转移指令JMP Y和结果为零则转指令BAZ Y在执行阶段所需的全部微操作。

9.2、控制单元的功能是什么?其输入受什么控制?

答:控制单元的主要功能是发出各种不同的控制信号。其输入受时钟信号、指令寄存器的操作码字段、标志和来自系统总线的控制信号的控制。

第十章

课后习题


作者:icelo

博客:冰洛博客