在说之前要向大家安利一个网站,http://www.ecs.umass.edu/ece/koren/architecture/Cache/tutorial.html,这是马萨诸塞大学安姆斯特分校的体系结构课程的tutorial,能够对cache有更直观的理解。
之前课上老师讲的飞快,课后复习压力很大,无意间看了他的tutorial感觉非常有收获,本篇博客基于tutorial,详细说明cache,这一篇先详细说说cache的映射结构。
我们知道,存储分层是为了在速度和存储容量上获得最优解,从cache,到主存到辅存,速度上越来越慢,存储容量上越来越大。同理,单看cache,cache内部也是分层的,目的也是为了获得速度和容量上的最优解。层级被标记为L1,L2,L3。。。(如下图)
当一个数据要从cache中读,L1没有就要去L2,以此层层向下。如果在所有层上都没有找到则访问主存,从主存中取数据送到cpu,此时取出的数据从 主存------》 cache --------》 cpu, 如果cache已满则用置换算法换出一块给这个数据挪位,数据读到了cache中以便下次查找。
由此引出:
hit 命中 —— 在ca