存储器总结二

来源:互联网 发布:智能遥控器软件 编辑:程序博客网 时间:2024/06/06 08:50
Cache的基本原理总结


这里先说说直接映射。最简单粗暴的。


直接映射:在cache中为主存中每个字分配一个位置的最简单方法就是根据这个字的主存地址进行分配
公式:(块地址) mod (cache中块数)


由主存的地址和cache建立联系
这里假设有一个8块大小的cache,每个块大小一个字。由于有8个块,故只需要3位便可以找到所有字(2^3 = 8)。
例子:
如上图所示(图裁的丑了点哈),下面那张表格的下标利用公式 :(块地址) mod (cache中块数) 比如第二个00101用公式计算就是采用最后的三位101,为这个主存中的字在cache中的101位置分配空间,存储这个字。


这样子的分配方法有个弊端,cache中的每个位置都可能对应于主存中的多个位置,因为利用公式算出的后三位是可能相同的。那么如何确定cache中的某个字就是我们要找
的主存中的那个字呢?这个麻烦只要在cache中加上主存中关于地址的一些信息就可以解决了。比如上面的那个00101这个地址,后面三位用来索引cache,那么前面的00就可
拿来检查是否是我们所需要的那个主存中的数据,称作标记位。这样就解决了在主存和cacah中如何建立联系的问题以及解决了如何确定在cache中用索引找到的那个数据是否
是我们要找的主存中的那个数据。


这里还有一个地方要注意,万一在cache用索引找到了这个位置,但是这个位置上可能并未存数据。所以需要一个东西表示在cache中找到的这个字是否有效,这个东西就叫有效位。也是存在cache中。
0 0
原创粉丝点击