1. 什么是存储系统?对于一个由两个存储器M1和M2构成的存储系统,假设M1的命中率为h,两个存储器的存储容量分别为s1和s2,存取时间分别为t1和t2,每千字节的成本分别为c1和c2。 ⑴ 在什么条件下,整个存储系统的每千字节平均成本会接近于c2?
⑵ 该存储系统的等效存取时间ta是多少?
⑶ 假设两层存储器的速度比r=t2/t1,并令e=t1/ta为存储系统的访问效率。试以r和命中率h来表示访问效率e。 ⑷ 如果r=100,为使访问效率e>0.95,要求命中率h是多少?
⑸ 对于⑷中的命中率实际上很难达到,假设实际的命中率只能达到0.96。现在采用一种缓冲技术来解决这个问题。当访问M1不命中时,把包括被访问数据在内的一个数据块都从M2取到M1中,并假设被取到M1中的每个数据平均可以被重复访问5次。请设计缓冲深度(即每次从M2取到M1中的数据块的大小)。
答:
⑴ 整个存储系统的每千字节平均成本为:
不难看出:当s1/s2非常小的时候,上式的值约等于c2。即:s2>>s1时,整个存储器系统的每千字节平均成本会接近于c2。
⑵ 存储系统的等效存取时间ta为:
⑶
⑷ 将数值代入上式可以算得:h>99.95%
⑸
通过缓冲的方法,我们需要将命中率从0.96提高到0.9995。假设对存储器的访问次数为5,缓冲块的大小为m。那么,不命中率减小到原来的1/5m,列出等式有:
解这个方程得:m=16,即要达到⑷中的访问效率,缓冲的深度应该至少是16(个数据单位)。
2. 要求完成一个两层存储系统的容量设计。第一层M1是Cache,其容量有三种选择:64KB、128KB和256KB,它们的命中率分别为0.7、0.9和0.98;第二层M2是主存储器,其容量为4MB。并设两个存储器的存取时间分别为t1和t2,每千字节的成本分别为c1和c2。如果c1=20c2和t2=10t1。
⑴ 在t1=20ns的条件下,分别计算三种存储系统的等效存取时间。
⑵ 如果c2=0.2美元/KB,分别计算三种存储系统每千字节的平均成本。
⑶ 对三种存储系统的设计作一个比较,并分别按平均成本和等效存取时间指出它们性能
的排列次序。
⑷ 根据等效存取时间和平均成本的乘积,选择最优的设计。
答:
⑴
∵
∴ 三种存储系统的等效存取时间分别为:
⑵
三种存储系统每千字节的平均成本为:
⑶ 按照平均成本来说ca1<ca2<ca3,按照等效存取时间来说ta3<ta2<ta1。
⑷
人体塑化方案 | ta(ns) | ca($/KB) | 乘积 | 比较 |
1 | 74 | 0.26 | 19.24 | 最差 煤矿井下定位设备 |
2 | 38 | 0.32 | 12.16 | 中等 |
3 | 23.6 | 0.42 | 9.912 | 最优 |
| | | | |
3. 有16个存储器模块,每个模块的容量为4M字节,字长为32位。现在要用这16个存储器模块构成一个主存储器,有如下几种组织方式:
废油再生方式1:16个存储器模块采用高位交叉方式构成存储器。 方式2:16个存储器模块构成并行访问存储器。
方式3:16个存储器模块采用低位交叉方式构成存储器。 方式4:2路高位交叉8路低位交叉构成存储器。
方式5:4路高位交叉4路低位交叉构成存储器。
方式6:4路并行访问4路低位交叉构成存储器。
⑴ 写出各种存储器的地址格式。
⑵ 比较各种存储器的优缺点。
⑶ 不考虑访问冲突,计算各种存储器的频带宽度。
⑷ 画出各种存储器的逻辑示意图。
答:
⑴ 各种存储器的地址格式如下:
方式1:16个模块高位交叉
高 低
4bit模块号 | 20bit模块内地址 | 2bit字地址 |
| 风筝绞盘 | |
方式2:16个模块并行访问
高 低
20bit模块内地址 | 平面涡卷弹簧2bit字地址 | 4bit多路选择 |
| | |
方式3:16个模块低位交叉
高 低
方式4:2路高位交叉8路低位交叉
高 低
1bit组号 | 20bit模块内地址 | 2bit字地址 | 3bit模块号 |
| 黑发液 | | |
方式5:4路高位交叉4路低位交叉
高 低
2bit组号 | 20bit模块内地址 | 2bit字地址 | 2bit模块号 |
| | | |
方式6:4路并行访问4路低位交叉
高 低
20bit模块内地址 | 2bit字地址 | 2bit组号 | 2bit多路选择 |
| | | |
⑵
这几种存储器都能够并行工作,因此一般而言都可以用来提高内存的吞吐率。但他们也有所区别:并行访问存储器的优点是实现简单、容易,缺点是访问冲突大;高位交叉访问存储器的优点是扩充方便,但是因为访问冲突太大,一般不用于并行存取,缺点是访问效率不高;低位交叉访问存储器可以用分时的方法来提高速度,但扩充不方便。
⑶
各种存储器的频带宽度和他们的并行程度有关,在不考虑冲突的情况下,如果有足够多的独立控制电路和寄存器,那么,他们的频带宽度是相同的。但是,高位交叉访问存储器一般不用于并行存取,因此频带宽度最小。
⑷
方式1:16个模块高位交叉
方式2:16个模块并行访问
方式3:16个模块低位交叉
注意:并行访问存储器和低位交叉访问存储器很相象,只不过,并行访问存储器使用存储模块号(存储体号)来对已经输出的结果进行选择,而低位交叉访问存储器则用来生成对存储模块(存储体)的片选信号,他通过流水的方式来提高访问的速度。前者用一套存储器控制电路,后者用多套(与交叉模块数相等)存储器控制电路。