在cache中,一个hit可以比一个miss快 100x
存储体系中,第k层存储设备都可以看成下一层的缓存 Register -> Cache -> DRAM -> disk
这样的存储体系的Big Idea:
提供大量存储的设备位于体系的底部,而服务程序的设备(快)位于顶部。这样可以造成一种假象,我们的存储设备又大又快。
如何将数据从主存放入Cache? 对4取余~
但是这样,Cache会迷惑,“我如何知道当前存的这个数据是哪来的?”,比如,上图中 0110 和 1010 的数据都会放入同一个桶, 10。
因此我们给每个数据加个tag,即存储<Tag,数据>对。
如何写一个利用好Cache的代码,课里给了个例子:矩阵乘法
坏的做法:
好的做法:拆成小矩阵再相乘
ORZ,除非真的时间缩短了很多,否则真的没人想这么做。。。