在CPU和主存间设置cache存储器主要是为了(14)。若使用基于数据内容进行访问的存储设备作为cache时,能更快决定是否命中。这种地址映射方法称为(15)映射。CPU向cache执行写操作时,可以同时写回主存储器或者仅当cache中该数据被淘汰时才写回

admin2019-04-08  31

问题 在CPU和主存间设置cache存储器主要是为了(14)。若使用基于数据内容进行访问的存储设备作为cache时,能更快决定是否命中。这种地址映射方法称为(15)映射。CPU向cache执行写操作时,可以同时写回主存储器或者仅当cache中该数据被淘汰时才写回主存储器,前者称为(16),而后者称为(17)。若cache的存取速度是主存存取速度的10倍,且命中率可达到0.8,则CPU对该存储系统的平均存取周期为(18)T(T为主有的存取周期)。

选项 A、0.1
B、0.19
C、0.21
D、0.28

答案D

解析 cache(高速缓冲存储器)的功能是提高CPU数据输入输出的速率,突破所谓的“冯.诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的主存储器完全由这种高速存储器组成则会大大增加计算机的成本。通常在CPU和主存储器之间设置小容量的高速存储器cache。cache容量小但速度快,主存储器速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与主存相当而访问速度近似cache。在计算机的存储系统体系中,cache是访问速度最快的层次。使用cache改善系统性能的依据是程序的局部性原理(有关此原理的详细情况,请读者阅读“操作系统”一章)。依据局部性原理,把主存储器中访问概率高的内容存放在cache中,当CPU需要读取数据时就首先在cache中查找是否有所需内容,如果有,则直接从cache中读取;若没有,再从主存中读取该数据,然后同时送往CPU和cache。如果CPU需要访问的内容大多都能在 cache中找到(称为访问命中,hit),则可以大大提高系统性能。如果以h代表对cache的访问命中率,t1表示cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“cache+主存储器”的系统的平均周期为t3则:t3=h×t1+(1-h)×t2。其中,(1-h)又称为失效率(未命中率)。系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。当CPU发出访存请求后,存储器地址先被送到cache控制器以确定所需数据是否已在cache中,若命中则直接对cache进行访问。这个过程称为cache的地址映射。常见的映射方法有直接映射、相联映射和组相联映射。当cache存储器产生了一次访问未命中之后,相应的数据应同时读入CPU和cache。但是当cache已存满数据后,新数据必须淘汰cache中的某些旧数据。最常用的淘汰算法有随机淘汰法、先进先出法(FIFO)和近期最少使用淘汰法(LRU)。因为需要保证缓存在cache中的数据与主存中的内容一致,相对读操作而言,cache的写操作比较复杂,常用的有以下几种方法。(1)写直达(write through)当要写cache时,数据同时写回主存储器,有时也称为写通。(2)写回(write back)CPU修改cache的某一行后,相应的数据并不立即写入主存储器单元,而是当该行从cache中被淘汰时,才把数据写回到主存储器中。(3)标记法  对cache中的每一个数据设置一个有效位。当数据进入cache后,有效位置1;而当CPU要对该数据进行修改时,数据只需写入主存储器并同时将该有效位清0。当要从cache中读取数据时需要测试其有效位:若为1则直接从cache中取数,否则从主存中取数。本题已知h=0.8;cache的存取速度是主存存取速度的10倍,因为存取周期是存取速度的倒数,所以我们可以得到t1=T/10,代入上式有T’=0.8×(T/10)+0.2×T=0.28T
转载请注明原文地址:https://jikaoti.com/ti/7EJ7FFFM
0

最新回复(0)