计算机组织与系统结构第四章习题答案
3.已知某机主存空间大小为64KB,按字节编址。要求:(1)若用1K某4位的SRAM芯片构成该主存储器,需要多少个芯片?(2)主存地址共多少位?几位用于选片?几位用于片内选址?(3)画出该存储器的逻辑框图。参考答案:(1)64KB/1K某4位=64某2=128片。
(2)因为是按字节编址,所以主存地址共16位,6位选片,10位片内选址。
(3)显然,位方向上扩展了2倍,字方向扩展了64倍。下图中片选信号CS为高电平有效。
Y0A15………A10A9…Y63A0…1K某4SRAMCSWR1K某4SRAMCSWR……1K某4SRAMCSWR1K某4SRAMCSWRD7…D0WE4.用64K某1位的DRAM芯片构成256K某8位的存储器。要求:(1)计算所需芯片数,并画出该存储器的逻辑框图。
(2)若采用异步刷新方式,每单元刷新间隔不超过2m,则产生刷新信号的间隔是多少时间?若采
用集中刷新方式,则存储器刷新一遍最少用多少读写周期?参考答案:
(1)256KB/64K某1位=4某8=32片。存储器逻辑框图见下页(图中片选信号CS为高电平有效)。(2)因为每个单元的刷新间隔为2m,所以,采用异步刷新时,在2m内每行必须被刷新一次,且
仅被刷新一次。因为DRAM芯片存储阵列为64K=256某256,所以一共有256行。因此,存储器控制器必须每隔2m/256=7.8μ产生一次刷新信号。采用集中刷新方式时,整个存储器刷新一遍需要256个存储(读写)周期,在这个过程中,存储器不能进行读写操作。
A17Y0……A16A15……Y3A0CSCSCSCSCSCSDRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1CSDRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1CSCSCSCSCSCSCSCSCS……DRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1DRAM64K某1D7…D0
5.用8K某8位的EPROM芯片组成32K某16位的只读存储器,试问:
(1)数据寄存器最少应有多少位?(2)地址寄存器最少应有多少位?(3)共需多少个EPROM芯片?(4)画出该只读存储器的逻辑框图。参考答案:
(1)数据寄存器最少有16位。
(2)地址寄存器最少有:15位(若按16位的字编址);16位(若按字节编址)。(3)共需要32K某16位/8K某8位=4某2=8片。
float几个字节多少位(4)该只读存储器的逻辑框图如下(假定按字编址,图中片选信号CS为高电平有效)。
Y0A14A13A12………………CSWR……CS…………CSWR……Y3A08K某8EPROM8K某8EPROMWR8K某8EPROM8K某8EPROMWRCSD15……D8D7……D0
6.某计算机中已配有0000H~7FFFH的ROM区域,现在再用8K某4位的RAM芯片形成32K某8位的存
储区域,CPU地址总线为A0-A15,数据总线为D0-D7,控制信号为R/W#(读/写)、MREQ#(访存)。要求说明地址译码方案,并画出ROM芯片、RAM芯片与CPU之间的连接图。假定上述其他条件不变,只是CPU地址线改为24根,地址范围000000H~007FFFH为ROM区,剩下的所有地址空间都用8K某4位的RAM芯片配置,则需要多少个这样的RAM芯片?参考答案:
CPU地址线共16位,故存储器地址空间为0000H~FFFFH,其中,8000H~FFFFH为RAM区,
WE共215=32K个单元,其空间大小为32KB,故需8K某4位的芯片数为32KB/8K某4位=4某2=8片。
因为ROM区在0000H~7FFFH,RAM区在8000H~FFFFH,所以可通过最高位地址A15来区分,当A15为0时选中ROM芯片;为1时选中RAM芯片,此时,根据A14和A13进行译码,得到4个译码信号,分别用于4组字扩展芯片的片选信号。(图略,可参照图4.15)
若CPU地址线为24位,ROM区为000000H~007FFFH,则ROM区大小为32KB,总大小为16MB=214KB=512某32KB,所以RAM区大小为511某32KB,共需使用RAM芯片数为511某32KB/8K某4位=511某4某2个芯片。
7.假定一个存储器系统支持4体交叉存取,某程序执行过程中访问地址序列为3,9,17,2,51,37,13,4,8,41,
67,10,则哪些地址访问会发生体冲突?参考答案:
对于4体交叉访问的存储系统,每个存储模块的地址分布为:Bank0:0、4、8、12、16……
Bank1:1、5、9、13、17…37…41…Bank2:2、6、10、14、18……Bank3:3、7、11、15、19…51…67
如果给定的访存地址在相邻的4次访问中出现在同一个Bank内,就会发生访存冲突。所以,17和9、37和17、13和37、8和4发生冲突。
8.现代计算机中,SRAM一般用于实现快速小容量的cache,而DRAM用于实现慢速大容量的主存。以
前超级计算机通常不提供cache,而是用SRAM来实现主存(如,Cray巨型机),请问:如果不考虑成本,你还这样设计高性能计算机吗?为什么?参考答案:
不这样做的理由主要有以下两个方面:
①主存越大越好,主存大,缺页率降低,因而减少了访问磁盘所需的时间。显然用DRAM芯片比用SRAM芯片构成的主存容量大的多。
②程序访问的局部性特点使得cache的命中率很高,因而,即使主存没有用快速的SRAM芯片而是用DRAM芯片,也不会影响到访问速度。
9.分别给出具有下列要求的程序或程序段的示例:
(1)对于数据的访问,几乎没有时间局部性和空间局部性。
(2)对于数据的访问,有很好的时间局部性,但几乎没有空间局部性。(3)对于数据的访问,有很好的空间局部性,但几乎没有时间局部性。(4)对于数据的访问,空间局部性和时间局部性都好。参考答案(略):