计算机组成基本知识第四章课后知识题及答案解析唐朔飞.docx
《计算机组成基本知识第四章课后知识题及答案解析唐朔飞.docx》由会员分享,可在线阅读,更多相关《计算机组成基本知识第四章课后知识题及答案解析唐朔飞.docx(23页珍藏版)》请在冰点文库上搜索。
计算机组成基本知识第四章课后知识题及答案解析唐朔飞
第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/200nsX32位=160M位/秒=20MB/秒=5M字/秒
注意:
字长32位,不是16位。
(注:
1ns=10-9s)
6.某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?
若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:
存储容量是64KB时,按字节编址的寻址范围就是64K,
如按字编址,其寻址范围为:
64K/(32/8)=16K
主存字地址和字节地址的分配情况:
如图
7.一个容量为16KX32位的存储器,其地址线和数据线的总和是多少?
当选用
列不同规格的存储芯片时,各需要多少片?
1KX4位,2KX8位,4KX4位,16KX1位,4KX8位,8KX8位
解:
地址线和数据线的总和=14+32=46根;选择不同的芯片时,各需要的片数为:
1KX4:
(16KX32)/
2KX8:
(16KX32)/
4KX4:
(16KX32)/
16KX1:
(16KX32)/4KX8:
(16KX32)/8KX8:
(16KX32)/
(1KX4)=16X8=128片
(2KX8)=8X4=32片
(4KX4)=4X8=32片(16KX1)=1X32=32片
4KX8)=4X4=16片
(8KX8)=2X4=8片
8.试比较静态RAM和动态RAM。
答:
略。
(参看课件)
9.什么叫刷新?
为什么要刷新?
说明刷新有几种方法。
解:
刷新:
对DRAM定期进行的全部重写过程;刷新原因:
因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种:
集中式、分散式、异步式。
集中式:
在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存
死时间。
分散式:
在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
异步式:
是集中式和分散式的折衷。
10.半导体存储器芯片的译码驱动方式有几种?
解:
半导体存储器芯片的译码驱动方式有两种:
线选法和重合法。
线选法:
地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:
地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。
这种
方法通过行、列译码信号的重合来选址,也称矩阵译码。
可大大节省器材用量,是最常用的译码驱动方式。
11.一个8KX8位的动态RAM芯片,其内部结构排列成256X256形式,存取
周期为0.1g。
试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各
为多少?
解:
采用分散刷新方式刷新间隔为:
2ms,其中刷新死时间为:
256X0.1血=25.6
g
采用分散刷新方式刷新间隔为:
256X(0.1闻+X0.1g)=51.2血
采用异步刷新方式刷新间隔为:
2ms
12.画出用1024X4位的存储芯片组成一个容量为64KX8位的存储器逻辑框
图。
要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。
解:
设采用SRAM芯片,则:
总片数=(64KX8位)/(1024X4位)=64X2=128片
题意分析:
本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应
分三级画。
首先应确定各级的容量:
页面容量=总容量/页面数=64KX8/4=16KX8位,4片16KX8字串联成64KX8位
组容量=页面容量/组数=16KX8位/16=1KX8位,16片1KX8位字
串联成16KX8位
组内片数=组容量/片容量=1KX8位/1KX4位=2片,两片1KX4位芯
片位并联成1KX8位
存储器逻辑框图:
(略)
13.设有一个64KX8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?
欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
解:
存储基元总数=64KX8位=512K位=219位;
思路:
如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
设地址线根数为a,数据线根数为b,则片容量为:
2aXb=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位,若使用4KX4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32KX8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
解:
(1)该机所允许的最大主存空间是:
218X8位=256KX8位=256KB
(2)模块板总数=256KX8/32KX8=8块
(3)板内片数=32KX8位/4KX4位=8X2=16片
(4)总片数=16片X8=128片
(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯
片。
地址格式分配如下:
15.设CPU共有16根地址线,8根数据线,并用MKhQ(低电平有效)作访存控制信号,R/w作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:
ROM(2KX8位,4KX4位,8KX8位),RAM(1KX4位,2KX8位,4KX8位),及74138译码器和其他门电路(门电路自定)。
试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。
要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。
(2)指出选用的存储芯片类型及数量。
(3)详细画出片选逻辑。
解:
(1)地址空间分配图:
系统程序区(ROM共4KB):
0000H-0FFFH用户程序区(RAM共12KB):
1000H-3FFFH
(2)选片:
ROM:
选择4KX4位芯片2片,位并联
RAM:
选择4KX8位芯片3片,字串联(RAM1地址范围
为:
1000H-1FFFH,RAM2地址范围为2000H-2FFFH,RAM3地址范围
为:
3000H-3FFFH)
(3)各芯片二进制地址分配如下:
A15A
\14A
13A
12A1
1A1
0A9
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
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片8KX8位的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写入数据后,以AOOOH为起始地址的
存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:
该存储芯片的片选输入端很可能总是处于低电平。
假设芯片与译码器本身都是好的,可能的情况有:
1)该片的⑴端与WE端错连或短路;
2)该片的①端与CPU的h倔FQ端错连或短路;
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®blc2=b4®b2®b1
1100000、
c3=b3®b2®b1
当有效信息为
1100
时,
c3c2c1=110,
汉明码为
0111100
当有效信息为
1101
时,
c3c2c1=001,
汉明码为
1010101
当有效信息为
1110
时,
c3c2c1=000,
汉明码为
0010110
当有效信息为
1111
时,
c3c2c1=111,
汉明码为
1111111
18.已知收到的汉明码(按配偶原则配置)为1100100、1100111
1100001,检查上述代码是否出错?
第几位出错?
解:
假设接收到的汉明码为:
c1'c2'b4'c3'b3'b2'b1'
纠错过程如下:
P1=c1'
®b4'
®b3'
®bl
P2=c2'
®b4'
®b2'
®bl
P3=c3'
®b3'
®b2'
®bl
如果收到的汉明码为
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
1110000,故欲传送的信息为
2)如接收到的汉明码为1100010,
P1=1©0©0©0=1
P2=1©0©1©0=0
P3=0©0©0=0
0100010,故欲传送的信息为
3)如接收到的汉明码为1101001,
P1=1®0®0©1=0
P2=1®0®0©1=0
P3=1©0©1=0
P3P2P1=000,传送无错,故欲传送的信息为0001
(二)假设接收到的汉明码为
C1'C2'
则:
P1=C1'
©B4'
©B3'
©B1'
©1
P2=C2'
©B4'
©B2'
©B1'
©1
P3=C3'
©B3'
©B1'
©1
(4)如接收到的汉明码为0011001,
B4'C3'B3'B2'B1',按奇性配置
P1=0©1©0©1©1=1
P2=0©1©0©1©1=1
0011000,故欲传送的信息为1000
P3=1©0©1©1=1
P3P2P1=111,第7位出错,可纠正为
(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根数据线,并用血2作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),矶(低电平有效)为写命令,血(低电平有效)为读命令。
设计一个容量为64KB的采用低位交叉编址的8
体并行结构存储器。
现有下图所示的存储器芯片和
画出CPU和存储器芯片(芯片容量自定)的连接图,并写出图中每个存储芯片
的地址范围(用十六进制数表示)。
解:
8体低位交叉并行存储器的每个存储体容量为64KB/8=8KB,因此应选择
8KBRAM芯片,芯片地址线12根(A0-A12),数据线8根(D0-D7),用
138译码器进行存储体的选择。
图略
24.一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
解:
4体低位交叉的存储器的总线传输周期为t,t=T/4,依次访问64个字所需时间为:
t=T+(64-1)t=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