计算机组成原理第四章课后习题及答案唐朔飞完整版.docx

上传人:b****5 文档编号:5176968 上传时间:2022-12-13 格式:DOCX 页数:16 大小:31.85KB
下载 相关 举报
计算机组成原理第四章课后习题及答案唐朔飞完整版.docx_第1页
第1页 / 共16页
计算机组成原理第四章课后习题及答案唐朔飞完整版.docx_第2页
第2页 / 共16页
计算机组成原理第四章课后习题及答案唐朔飞完整版.docx_第3页
第3页 / 共16页
计算机组成原理第四章课后习题及答案唐朔飞完整版.docx_第4页
第4页 / 共16页
计算机组成原理第四章课后习题及答案唐朔飞完整版.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

计算机组成原理第四章课后习题及答案唐朔飞完整版.docx

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

计算机组成原理第四章课后习题及答案唐朔飞完整版.docx

计算机组成原理第四章课后习题及答案唐朔飞完整版

第4章存储器

1.解释概念:

主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、FlashMemory。

答:

主存:

主存储器,用于存放正在执行的程序和数据。

CPU可以直接进行随机读写,访问速度较高。

辅存:

辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。

Cache:

高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。

RAM:

半导体随机存取存储器,主要用作计算机中的主存。

SRAM:

静态半导体随机存取存储器。

DRAM:

动态半导体随机存取存储器。

ROM:

掩膜式半导体只读存储器。

由芯片制造商在制造时写入内容,以后只能读出而不能写入。

PROM:

可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。

EPROM:

紫外线擦写可编程只读存储器。

需要修改内容时,现将其全部内容擦除,然后再编程。

擦除依靠紫外线使浮动栅极上的电荷泄露而实现。

EEPROM:

电擦写可编程只读存储器。

CDROM:

只读型光盘。

FlashMemory:

闪速存储器。

或称快擦型存储器。

2.计算机中哪些部件可以用于存储信息?

按速度、容量和价格/位排序说明。

答:

计算机中寄存器、Cache、主存、硬盘可以用于存储信息。

按速度由高至低排序为:

寄存器、Cache、主存、硬盘;

按容量由小至大排序为:

寄存器、Cache、主存、硬盘;

按价格/位由高至低排序为:

寄存器、Cache、主存、硬盘。

3.存储器的层次结构主要体现在什么地方?

为什么要分这些层次?

计算机如何管理这些层次?

答:

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

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

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

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

主存与CACHE之间的信息调度功能全部由硬件自动完成。

而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。

因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

4.说明存取周期和存取时间的区别。

解:

存取周期和存取时间的主要区别是:

存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。

即:

存取周期=存取时间+恢复时间

5.什么是存储器的带宽?

若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?

解:

存储器的带宽指单位时间内从存储器进出信息的最大数量。

存储器带宽=1/200ns×32位=160M位/秒=20MB/秒=5M字/秒

注意:

字长32位,不是16位。

(注:

1ns=10-9s)

6.某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?

若主存以字节编址,试画出主存字地址和字节地址的分配情况。

解:

存储容量是64KB时,按字节编址的寻址范围就是64K,

如按字编址,其寻址范围为:

64K/(32/8)=16K

主存字地址和字节地址的分配情况:

如图

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)=1×32=32片

4K×8:

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

8K×8:

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

8.试比较静态RAM和动态RAM。

答:

略。

(参看课件)

9.什么叫刷新?

为什么要刷新?

说明刷新有几种方法。

解:

刷新:

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

刷新原因:

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

常用的刷新方法有三种:

集中式、分散式、异步式。

集中式:

在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。

分散式:

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

异步式:

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

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

解:

半导体存储器芯片的译码驱动方式有两种:

线选法和重合法。

线选法:

地址译码信号只选中同一个字的所有位,结构简单,费器材;

重合法:

地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。

这种方法通过行、列译码信号的重合来选址,也称矩阵译码。

可大大节省器材用量,是最常用的译码驱动方式。

11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。

试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?

解:

采用分散刷新方式刷新间隔为:

2ms,其中刷新死时间为:

256×0.1μs=25.6μs

采用分散刷新方式刷新间隔为:

256×(0.1μs+×0.1μs)=51.2μs

采用异步刷新方式刷新间隔为:

2ms

12.画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。

要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。

解:

设采用SRAM芯片,则:

总片数=(64K×8位)/(1024×4位)=64×2=128片

题意分析:

本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。

首先应确定各级的容量:

页面容量=总容量/页面数=64K×8/4=16K×8位,4片16K×8字串联成64K×8位

组容量=页面容量/组数  =16K×8位/16=1K×8位,16片1K×8位字串联成16K×8位

组内片数=组容量/片容量=1K×8位/1K×4位=2片,两片1K×4位芯片位并联成1K×8位

存储器逻辑框图:

(略)。

13.设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?

欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。

解:

存储基元总数=64K×8位=512K位=219位;

思路:

如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。

设地址线根数为a,数据线根数为b,则片容量为:

2a×b=219;b=219-a;

若a=19,b=1,总和=19+1=20;

a=18,b=2,总和=18+2=20;

 a=17,b=4,总和=17+4=21;

 a=16,b=8,总和=16+8=24;

 ……    ……

由上可看出:

芯片字数越少,芯片字长越长,引脚数越多。

芯片字数减1、芯片位数均按2的幂变化。

结论:

如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:

地址线=19根,数据线=1根;或地址线=18根,数据线=2根。

14.某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:

(1)该机所允许的最大主存空间是多少?

(2)若每个模块板为32K×8位,共需几个模块板?

(3)每个模块板内共有几片RAM芯片?

(4)共有多少片RAM?

(5)CPU如何选择各模块板?

解:

(1)该机所允许的最大主存空间是:

218×8位=256K×8位=256KB

(2)模块板总数=256K×8/32K×8=8块

(3)板内片数=32K×8位/4K×4位=8×2=16片

(4)总片数=16片×8=128片

(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。

地址格式分配如下:

15.设CPU共有16根地址线,8根数据线,并用

(低电平有效)作访存控制信号,

作读写命令信号(高电平为读,低电平为写)。

现有下列存储芯片:

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

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

要求:

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

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

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

解:

(1)地址空间分配图:

系统程序区(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)各芯片二进制地址分配如下:

A15

A14

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

ROM1,2

0

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

RAM1

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

RAM2

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

RAM3

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

CPU和存储器连接逻辑图及片选逻辑图略

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

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

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

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

(4)根据

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

解:

(1)CPU与存储器芯片连接逻辑图 图略

(2)地址空间分配图:

RAM0:

0000H——1FFFH

RAM1:

2000H——3FFFH

RAM2:

4000H——5FFFH

RAM3:

6000H——7FFFH

RAM4:

8000H——9FFFH

RAM5:

A000H——BFFFH

RAM6:

C000H——DFFFH

RAM7:

E000H——FFFFH

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

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

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

1)该片的

端与

端错连或短路;

2)该片的

端与CPU的

端错连或短路;

3)该片的

端与地线错连或短路。

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

此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。

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

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

解:

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

校验位位数k=3位,(2k>=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。

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

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。

20.欲传送的二进制代码为1001101,用奇校验来确定其对应的汉明码,若在第6位出错,说明纠错过程。

解:

欲传送的二进制代码为1001101,有效信息位数为n=7位,则汉明校验的校验位为k位,则:

2k>=n+k+1,k=4,进行奇校验设校验位为C1C2C3C4,汉明码为C1C2B7C3B6B5B4C4B3B2B1,

C1=1⊕B7⊕B6⊕B4⊕B3⊕B1=1⊕1⊕0⊕1⊕1⊕1=1

C2=1⊕B7⊕B5⊕B4⊕B2⊕B1=1⊕1⊕0⊕1⊕0⊕1=0

C3=1⊕B6⊕B5⊕B4=1⊕0⊕0⊕1=0

C4=1⊕B3⊕B2⊕B1=1⊕1⊕0⊕1=1

故传送的汉明码为10100011101,若第6位(B5)出错,即接收的码字为10100111101,则

P1=1⊕C1’⊕B7’⊕B6’⊕B4’⊕B3’⊕B1’=1⊕1⊕1⊕0⊕1⊕1⊕1=0

P2=1⊕C2’⊕B7’⊕B5’⊕B4’⊕B2’⊕B1’=1⊕0⊕1⊕1⊕1⊕0⊕1=1

P3=1⊕C3’⊕B6’⊕B5’⊕B4’=1⊕0⊕0⊕1⊕1=1

P4=1⊕C4’⊕B3’⊕B2’⊕B1’=1⊕1⊕1⊕0⊕1=0

P4P3P2P1=0110说明第6位出错,对第6位取反即完成纠错。

21.为什么在汉明码纠错过程中,新的检测位P4P2P1的状态即指出了编码中错误的信息位?

答:

汉明码属于分组奇偶校验,P4P2P1=000,说明接收方生成的校验位和收到的校验位相同,否则不同说明出错。

由于分组时校验位只参加一组奇偶校验,有效信息参加至少两组奇偶校验,若果校验位出错,P4P2P1的某一位将为1,刚好对应位号4、2、1;若果有效信息出错,将引起P4P2P1中至少两位为1,如B1出错,将使P4P1均为1,P2=0,P4P2P1=101,

22.某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?

画图说明。

解:

若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序图略。

23.设CPU共有16根地址线,8根数据线,并用

作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),

(低电平有效)为写命令,

(低电平有效)为读命令。

设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。

现有下图所示的存储器芯片和138译码器。

画出CPU和存储器芯片(芯片容量自定)的连接图,并写出图中每个存储芯片的地址范围(用十六进制数表示)。

解:

8体低位交叉并行存储器的每个存储体容量为64KB/8=8KB,因此应选择8KBRAM芯片,芯片地址线12根(A0-A12),数据线8根(D0-D7),用138译码器进行存储体的选择。

图略

24.一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?

解:

4体低位交叉的存储器的总线传输周期为τ,τ=T/4,依次访问64个字所需时间为:

t=T+(64-1)τ=T+63T/4=16.75T

25.什么是“程序访问的局部性”?

存储系统中哪一级采用了程序访问的局部性原理?

答:

程序运行的局部性原理指:

在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:

1)。

存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。

26.计算机中设置Cache的作用是什么?

能否将Cache的容量扩大,最后取代主存,为什么?

答:

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

不能将Cache的容量扩大取代主存,原因是:

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

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

27.Cache做在CPU芯片内有什么好处?

将指令Cache和数据Cache分开又有什么好处?

答:

Cache做在CPU芯片内主要有下面几个好处:

(1)可提高外部总线的利用率。

因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线。

(2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率。

(3)可提高存取速度。

因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高。

将指令Cache和数据Cache分开有如下好处:

1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。

2)指令Cache可用ROM实现,以提高指令存取的可靠性。

3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。

补充:

Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。

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

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

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

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

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

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

解:

(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,

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

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

Cache字块地址(9位)

字块内地址(2位)

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

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

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

主存字块标记(7位)

Cache字块地址(9位)

字块内地址(2位)

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

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

主存字块标记(9位)

组地址(7位)

字块内地址(2位)

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

当前位置:首页 > 高等教育 > 艺术

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

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