WORD格式.分享
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连接。
解:RAM区域共需RAM芯片40K×16/8K×8=10片,可先用2片8K×8位的RAM芯片用于位扩展构成8K×16位存储器,然后再用5组8K×16位存储器用于字扩展构成40K×16位存储器,该存储器的组成逻辑框图可参照5、6题。
(A)为了将ROM和RAM同CPU连接,需先将十六进制地址转换为二进制地址码,并确定ROM容量,以及观察ROM和RAM地址码的特点。
精品.资料
WORD格式.分享
A15~A12 0000 ... 0011 0100 ... 0101 0110 ... 0111 1000 ... 1001 1010 ... 1011 1100 ... 1101 1110 ... 1111 A11~A8 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 A7~A4 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 A3~A0 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 0000 ... 1111 说明 ROM,16K×16 空区域 RAM(0),8K×16 2片8K×8位扩展 RAM(1),8K×16 2片8K×8位扩展 RAM(2),8K×16 2片8K×8位扩展 RAM(3),8K×16 2片8K×8位扩展 RAM(4),8K×16 2片8K×8位扩展 精品.资料
WORD格式.分享
(B)分配CPU地址线:将CPU的低13位地址A12~A0与ROM和2片8K×8位RAM的地址线相连。剩下的高位地址A13~A15与访存信号共同产生芯片的片选信号。 (C)片选信号的形成:观察上面的地址码发现,当访存信号MREQ’=0,而且高位地址A13~A15为000(或001)、011、100、101、110、111时,分别选择ROM、RAM(0)、RAM(1)、RAM(2)、RAM(3)和RAM(4)芯片,故,可采用一个3-8译码器来实现上述片选关系,最后得ROM和RAM与CPU的连接如下图所示。
【说明】上图假设ROM区域由2片8K×16位芯片进行字扩展构成,若ROM区域由1片16K×16位芯片构成,则地址线连接会不同。
8、设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期τ=50ns。求:顺序存储器和交叉存储器的带宽各是多少? 解:假设连续读出m=8个字,则:
顺序存储器和交叉存储器的数据信息量为:q=8×64=512位 顺序存储器所需要的时间为:t1=m×T=8×100ns=800ns=8×10-7s 故顺序存储器的带宽为:W1=q/t1=512/(8×10-7)=64×107(bit/s) 交叉存储器所需要的时间为
精品.资料
WORD格式.分享
t2=T+(m-1)×τ=100ns+(8-1)×50ns=450ns=4.5×10s
故交叉存储器的带宽为W2=q/t2=512/(4.5×10-7)=113.8×107(bit/s)
9、CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
解:命中率:h=Nc/(Nc+Nm)=2420/(2420+80)=0.968
平均访问时间:ta=htc+tm(1-h)=0.968×40ns+0.032×240=46.4ns cache/主存系统的效率:e=tc/ta=40/46.4=86.2%
10、已知Cache存储周期为40ns,主存存储周期200ns,Cache/主存系统平均访问时间为50ns,求Cache的命中率为多少? 解:根据平均访问时间公式ta=htc+(1-h)tm,得:
命中率h=(tm-ta)/(tm-tc)=(200-50)/(200-40)=150/160=0.9375
11、某机器采用四体交叉存储器,今执行一段小循环程序,此程序放在存储器的连续地址单元中。假设每条指令的执行时间相等,而且不需要到存储器存取数据,请问在下面两种情况中(执行的指令数相等),程序运行的时间是否相等? (1)循环程序由6条指令组成,重复执行80次;
解:设总线传送周期为τ,取指周期T,执行指令时间为t,则: 程序运行时间为:ta=(T+(6-1)τ+6t)×80
(2)循环程序由8条指令组成,重复执行60次。
解:设总线传送周期为τ,取指周期T,执行指令时间为t,则: 程序运行时间为:ta=(T+(8-1)τ+8t)×60
13、一个组相联Cache由64个行组成,每组4行。主存储器包含4K个块,每块
-7
精品.资料