8. 存储器容量为64M,字长64位,模块数m = 8,分别用顺序方式和交叉方式进行组织。存储周期T = 100ns,数据总线宽度为64位,总线周期τ = 10ns .问顺序存储器和交叉存储器的带宽各是多少?
解:信息总量: q = 64位 ×8 =512位
顺序存储器和交叉存储器读出8个字的时间分别是:
t2 = m T = 8×100ns =8×
10 (s)
t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×
10 (s)
顺序存储器带宽是:
W2 = q / t2 = 512÷(8×
10 )= 64 ×10(位/ S)
交叉存储器带宽是:
W1 = q / t1 = 512÷(1.7 ×
10)= 301 ×10 (位/ S)
9. CPU执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80
次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
解:先求命中率h
h=nc/(nc +nm )=2420÷(2420+80)=0.968
则平均访问时间为ta
ta=htc+(1-h)tm=0.968×40+(1-0.968) ×240=46.4(ns)
r =tm/tc=240÷40=6
cache/主存系统的效率为e
e=1/[r+(1-r)×h]=86.2%
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在 cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。