第三章参考答案
[1题] 设有一个具有20位地址和32位字长的存储器,问:
(1) 该存储器能存储多少个字节的信息?
(2) 如果存储器由512K×8的 SRAM芯片组成,需要多少片? (3) 需要多少地址作为芯片选择? [解]
(1) 该存储器能存储220×32=220×22×8=222×8=4MB
(2) (1024K×32)/(512K×8)=(1024/512)×(32/8)=2×4=8(片) (3) 需要1根地址线作为片选。
A19 A18 ~ A0 R/W D31 ~ D0
CS CS 512K×8 512K×8
[2题]已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K×16位的DRAM芯片组成该机允许的最大主存空间,并选用模板块结构形式,
问:
(1) 若每个模板块为1024K×64位,共需要几个模板? (2) 每个模板块共有多少片DRAM?
(3)主存共需多少片DRAM?CPU如何选择各模块板?
[解]:
(1) 226×64=26×220×64=64M×64=(64×1024K)×64
需要的板的块数=(64×1024K/1024K)×(64/64)=64(块) (2) 每个模板需要的256K×16位的芯片数
=(1024K/256K)×(64/16)=4×4=16(片) (3) 每个主存需要64×16=1024(片)DRAM
板内地址为A0~A19,每个板需要一个片选,共需64个选择信号,所以用6-64译码器,即A20~A25作为译码地址线输入,产生64个板选信号。
[3题]用16K×8位的DRAM芯片构成64K×32位存储器,要求:
(1) 画出该存储器的组成逻辑图。
(2)设存储器读/写周期为0.5μs,CPU在1μs内至少要访问内存一次,试问采用哪种刷新方式比较合理?两次刷新最大时间间隔是多少?全部刷新一遍所需要的实际刷新时间是多少?
(1) (64K×32)/(16K×8)=(64K/16K)×(32/8)
=4(组容量扩展)×4(片堆叠) A15 A14 A13 ~ A0 R/W D31 ~ D0 2-4 译 码 器 Y3(11) Y2(10) Y1(01) Y0(00) CS CS CS CS 16K×8 16K×8 16K×8 16K×8
(2)CPU要1μ内访问内存一次(频繁)整个存储器的平均读写与单个存储芯片的读写周期差不多,采用异步刷新方式比较合适。
16K采用128×128阵列,设刷新最大时间间隔为2ms=2000μS则刷新时间间隔 为2000/128=15.6μS,所以刷新信号周期可取15μS. 刷新一次所用时间为128*15=1920μS=1.92mS
[4题]有一个1024K×32位的存储器,由128 K×8位的DRAM芯片组成。问:
(1) 总共需要多少DRAM芯片?
(2)此存储体组成框图。
(3)采用异步刷新方式,如果单元刷新间隔不超过8 mS,则刷新周期(一行)是多少? 解:
(1) 需要(1024K/128K) ×(32/8)=8(组)×4(片堆叠)=32(片) (2)存储器组成框图 A19 A18 A17 A16 ~ A0 R/W D31 ~ D0 3-8 译 码 器 Y7(111) 。。。。。。 Y2(010) Y1(001) Y0(000) 。。。。。。 CS CS CS CS 128K×8 128K×8 128K×8 128K×8
(2) 新周期即单芯片刷新时间间隔
128K=27×210=217=28×29=256(行) ×512(列) 刷新周期=8mS/256=8000μS/256=31.25μS
[5题]要求用256K×16位SRAM芯片设计1024K ×32位的存储器,SRAM芯片有两
个控制端:当CS=0 有效选中该片,当W/R?1执行读操作,W/R?0执行写操作。 解:需要(1024K/256K) ×(32/16)=4(组字扩展) ×(2片位扩展) A19 A18 2-4 译 码 器 Y3(11) Y2(10) Y1(01) Y0(00) A17 ~ A0 R/W D31 ~ D0 CS 256K×16 256K×16 CS CS 256K×16 CS 256K×16 [6题] 用32K×8的 EPROM 组成128K×16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位?
(3) 总共需要多少片 EPROM芯片?
(4) 画出此存储器组成框图。 解:
(1) 数据寄存器16位 (2) 地址寄存器17位
(3) 共需要(128K/32K) ×(16/8)=(4组字扩展) ×(2片位扩展)=8(片) (4)存储器框图 A16 A15 A14 ~ A0 RD D15 ~ D0 2-4 译 码 器 Y3(11) Y2(10) Y1(01) Y0(00) CS 32K×8 32K×8 CS 32K×8 CS 32K×8 CS [7题] 某计算机中,已知配有一个地址空间为0000H~3FFFH的ROM区域.现在再用一种 RAM芯片(8K×8)形成40K×16的RAM区域,起始地址为6000H. 假设 RAM芯片有片选CS和WE信号控制, CPU的地址总线为 A15-A0,数据总线为 D15-D0,控制信号为 R/W(读/写), MREQ (访存),要求:
(1) 画出地址译码方案. (2) 将 ROM与RAM同CPU连接.
解: ROM------0000~3FFFH 片内地址需要A0~A13 14根地址线.
RAM------(40K/8K) ×(16/8)=5(组字扩展) ×2(片位扩展)
片内地址需要A0~A12 13根地址线 MREQ A12 ~ A0 R/W D15 ~ A15 A14 A13 3-8 译 码 器 G Y7(111) Y6(110) Y5(101) Y4(100) Y3(011) Y2(010) Y1(001) Y0(000) CS 6000H~ 7FFFH CS 8000H~ 9FFFH CS A000H~ BFFFH CS C000H~ DFFFH CS E000H~ FFFFH CS 16K×16 0000H~ 3FFFH 8K×8 8K×8 8K×8 8K×8 8K×8 R/W D0 16位数据总线 8. 设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织,存储周期T=100ns ,数据总线宽度为64位,总线传送周期为τ=50ns.求:顺序存储器和交叉存储器的带宽各是多少?
解:顺序存储器和交叉存储器连续读8个字的信息总量
q=64 bit ×8=512 bit
顺序存储器读出8个字所需时间为 t2=mT=8×100=800nS=8×10-7S 顺序存储器的带宽为
w2=q/t2= 512/(8×10-7)=64×107(bit/s)=640M 交叉存储器读出8个字所需时间为
t1=T+(m-1)τ=100ns+7×50ns=450nS=4.5×10-7S 交叉存储器的带宽为
w1=q/t1= 512/(4.5×10-7)=114×107(bit/s)=1140M
[9题] CPU 执行一段程序,cache完成存取次数为2420次,主存完成存取次数为80次,已知 cache的存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间.
命中率为 h?Ncache2420??0.968 Nc?Nm2420?80ta?htc?(1?h)tm?0.968?40?(1?0.968)?240?38.7?7.68?46.38平均访问时间 效率 e?
tc40??86.2% ta46.38[10题] 已知cache存储周期为40ns ,主存存储周期为200ns, cache/主存系统平均访问时间为50 ns,求 cache的命中率是多少?
由ta?htc?(1?h)tm得
h?tm?ta200?50??150/160?0.9375 tm?tc200?40