计算机组成原理课后答案第四章庞海波.docx
《计算机组成原理课后答案第四章庞海波.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课后答案第四章庞海波.docx(28页珍藏版)》请在冰豆网上搜索。
![计算机组成原理课后答案第四章庞海波.docx](https://file1.bdocx.com/fileroot1/2023-2/3/d6c44313-df3a-4e69-9739-d72b2f9e8407/d6c44313-df3a-4e69-9739-d72b2f9e84071.gif)
计算机组成原理课后答案第四章庞海波
第四章思考题与习题
1.解释下列概念主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、FlashMemory
答:
主存:
与CPU直接交换信息,用来存放数据和程序的存储器。
辅存:
主存的后援存储器,不与CPU直接交换信息。
CACHE:
为了解决CPU和主存的速度匹配,设在主存与CPU之间,起缓冲作用,用于提高访存速度的一种存储器。
RAM:
随机存储器:
是随机存取的,在程序执行过程中既可读出也可写入,存取时间与存储单元所在位置无关。
SRAM:
静态RAM,以触发器原理存储信息。
DRAM:
动态RAM,以电容充放电原理存储信息。
ROM:
只读存储器,在程序执行过程中只能读出,而不能对其写入。
PROM:
一次性编程的只读存储器。
EPROM:
可擦除的可编程只读存储器,用紫外线照射进行擦写。
EEPROM:
用电可擦除的可编程只读存储器。
CDROM:
只读型光盘
FlashMemory:
快擦型存储器,是性能价格比好,可靠性高的可擦写非易失型存储器
2.计算机中哪些部件可用于存储信息,请按其速度、容量和价格/位排序说明。
答:
寄存器、缓存、主存、磁盘、磁带等。
速度按顺序越来越慢,容量越来越高和价格/位越来越低
3.存储器的层次结构主要体现在什么地方?
为什么要分这些层次,计算机如何管理这些层次?
答:
存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,接近于Cache的速度,而容量和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,其容量和位价接近于辅存,而速度接近于主存
4.说明存取周期和存取时间的区别。
答:
存取周期和存取时间的主要区别是:
存取时间仅为完成一次存取操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。
即:
存取周期=存取时间+恢复时间
5.什么是存储器的带宽?
若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
解:
存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽=1/200ns×32位=160M位/秒=20MB/S=5M字/秒
6.某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?
若主存以字节编址,试画出主存字地址和字节地址的分配情况。
答:
存储容量是64KB时,按字节编址的寻址范围就是64KB,则:
按字寻址范围=64K×8/32=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=32片
4K×8:
16K×32/4K×8=4×4=16片
8K×8:
16K×32/8K×8=2X4=8片
8.试比较静态RAM和动态RAM。
特性
SRAM
DRAM
存储
触发器
电容
破坏性读出
非
是
需要刷新
不要
需要
地址复用
无
有
运行速度
快
慢
集成度
低
高
功耗
高
低
适用场合
cache
大容量主存
9.什么叫刷新?
为什么要刷新?
说明刷新有几种方法。
答:
刷新——对DRAM定期进行的全部重写过程;
刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种——集中式、分散式、异步式。
集中式:
在最大刷新间隔时间内,集中安排一段时间进行刷新;
分散式:
在每个读/写周期之后插入一个刷新周期,无CPU访存死时间;
异步式:
是集中式和分散式的折衷
10.半导体存储器芯片的译码驱动方式有几种?
答:
半导体存储器芯片的译码驱动方式有两种:
线选法和重合法。
线选法:
地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:
地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。
。
可大大节省器材用量,是最常用的译码驱动方式
11.一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为。
试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少?
答:
设DRAM的刷新最大间隔时间为2ms,
则异步刷新的刷新间隔=2ms/256行
即:
每刷新一行。
集中刷新时,死时间为。
分散刷新,刷新间隔,死时间为,读写周期
异步刷新,死时间,刷新间隔。
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位=2^19位;
设存储器有X根地址线和Y根数据线
则有2^X*Y=2^19
Y=1,X=19X+Y=20
Y=2,X=18X+Y=20
Y=4,X=17X+Y=21
Y=8,X=16X+Y=24
Y=16,X=15X+Y=31
Y=32。
。
。
由上可看出:
片字数越少,片字长越长,引脚数越多。
片字数、片位数均按2的幂变化。
结论:
如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:
地址线=19根,数据线=1根;或地址线=18根,数据线=2根。
因此,有两种解答,512K*1位和256K*2位
14.某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板?
(3)每个模块板内共有几片RAM芯片?
(4)共有多少片RAM?
(5)CPU如何选择各模块板?
答:
(1)218=256K,则该机所允许的最大主存空间是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根数据线,并用MREQ(低电平有效)作访存控制信号,RW作读写命令信号(高电平为读,低电平为写)。
现有下列存储芯片:
ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位)及74138译码器和其他门电路(门电路自定)。
试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。
要求:
(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区;
(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。
答:
(1)地址空间分配图如下
A15~A12A11~A8A7~A4A3~A0
0~4K0000000000000000
0000111111111111
4K~8K0001000000000000
0001111111111111
8k~12k0010000000000000
0010111111111111
12k~16k0011000000000000
0011111111111111
(2)选片:
ROM:
4K×4位:
2片;
RAM:
4K×8位:
3片;
(3)CPU和存储器连接逻辑图及片选逻辑
16.CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答:
(1)用74138译码器画出CPU与存储芯片的连接图;
(2)写出每片RAM的地址范围;(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。
(4)根据
(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果?
答:
(1)CPU与存储器芯片连接逻辑图:
(此题画法不标准,见15题答案画法)
(2)地址空间分配
0000~1FFF0~8K;2000~3fff8K~16K;4000~5fff16k~24K6000~7FFF24k~32k
8000~9FFF32~40K;A000~Bfff40K~48K;C000~Dfff48k~56KE000~FFFF56k~64k
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,则根本的故障原因为:
该存储芯片的片选输入端很可能总是处于低电平。
可能的情况有:
该片的-CS端与-WE端错连或短路;该片的-CS端与CPU的-MREQ端错连或短路;该片的-CS端与地线错连或短路。
在此,假设芯片与译码器本身都是好的。
(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=011,汉明码为1110100。
当有效信息为1101时,c3c2c1=100,汉明码为0011101。
当有效信息为1110时,c3c2c1=101,汉明码为1011110。
当有效信息为1111时,c3c2c1=010,汉明码为0110111。
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=110,说明代码有错,第6位(b2’)出错,有效信息为:
1100
如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:
0110
如果收到的汉明码为1100000,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:
1000
如果收到的汉明码为1100001,则p3p2p1=100,说明代码有错,第4位(c3’)出错,有效信息为:
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
5
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出错,将使P4P2P1均为1,P4P2P1=111,
22.某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?
画图说明。
解:
若想不改用高速存储芯片,而使访存速度提高到8倍,可采取八体交叉存取技术,8体交叉访问时序如下图:
线路图如下图:
23.设CPU共有16根地址线,8根数据线,并用M/-IO作为访问存储器或I/O的控制信号(高电平为访存,低电平为访I/O),-WR(低电平有效)为写命令,-RD(低电平有效)为读命令。
设计一个容量为64KB的采用低位交叉编址的8体并行结构存储器。
现有右图所示的存储芯片及138译码器。
画出CPU和存储芯片(芯片容量自定)的连接图,并写出图中每个存储芯片的地址范围(用十六进制数表示)。
答:
芯片容量=64KB/8=8KB
每个芯片(体)的地址范围以8为模低位交叉分布如下:
方案1:
8体交叉编址的CPU和存储芯片的连接图:
注:
此设计方案只能实现八体之间的低位交叉寻址,但不能实现八体并行操作。
方案2:
8体交叉并行存取系统体内逻辑如下
由于存储器单体的存取周期为T,而CPU的总线访存周期为(1/8)T,故体内逻辑要支持单体的独立工作速率。
因此在SRAM芯片的外围加了地址、数据的输入/输出缓冲装置,以及控制信号的扩展装置。
CPU和各体的连接图:
由于存储器单体的工作速率和总线速率不一致,因此各体之间存在总线分配问题,存储器不能简单地和CPU直接相连,要在存储管理部件的控制下连接。
24.一个4体低位交叉的存储器,假设存取周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?
答:
本题中,只有访问第一个字需一个存取周期,从第二个字开始,每隔1/4存取周期即可访问一个字,因此,依次访问64个字需:
存取周期个数=(64-1)×(1/4)T+T=(63/4+1)
25.什么是“程序访问的局部性”?
存储系统中哪一级采用了程序访问的局部性原理?
答:
程序运行的局部性原理指:
对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象。
时间:
在一小段时间内,最近被访问过的程序和数据很可能再次被访问;
空间:
在空间上,这些被访问的程序和数据往往集中在一小片存储区;
在访问顺序上,指令顺序执行比转移执行的可能性大。
存储系统中Cache—主存层次采用了程序访问的局部性原理。
26.计算机中设置Cache的作用是什么?
能不能把Cache的容量扩大,最后取代主存,为什么?
答:
计算机中设置Cache主要是为了加速CPU访存速度;
不能把Cache的容量扩大到最后取代主存,价格以及体积原因不适合。
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位)。
28.设主存容量为256K字,Cache容量为2K字,块长为4。
(1)设计Cache地址格式,Cache中可装入多少块数据?
(2)在直接映射方式下,设计主存地址格式。
(3)在四路组相联映射方式下,设计主存地址格式。
(4)在全相联映射方式下,设计主存地址格式。
(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式
答:
(1)cache地址长度为11位,块内地址长度为2位。
主存地址位数为18位
9位2位
缓存块号
块内地址
Cache可装入2^9=512个块
(2)直接映射方式
7位9位2位
标记
缓存块号
块内地址
(3)四路组相连
9位7位2位
标记
组地址
块内地址
(4)全相连
16位2位
标记
块内地址
(5)
直接映射方式
7位9位4位
标记
缓存块号
块内地址
四路组相连
9位7位4位
标记
组地址
块内地址
全相连
16位4位
标记
块内地址
29.假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?
答:
命中率h=4800/(4800+200)=96%
平均访问时间
效率e=tc/ta=30/34.8=86.2%
性能提高倍数
30.一个组相联映射的Cache由64块组成,每组内包含4块。
主存包含4096块,每块由128字组成,访存地址为字地址。
试问主存和Cache的地址各为几位?
画出主存的地址格式。
答:
缓存块号6位,块内地址7位,cache地址为13位。
组地址6-2=4位,
主存块号12位,块内地址7位。
主存地址19位
8位4位7位
主存标记
组地址
块内地址
31.设主存容量为1MB,采用直接映射方式的Cache容量为16KB,块长为4,每字32位。
试问主存地址为ABCDEH的存储单元在Cache中的什么位置?
答:
6位10位4
标记
缓存块号
块内地址
A19A15A11A7A3
10101011110011011110
32.设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。
(1)画出