存储器总结二
来源:互联网 发布:智能遥控器软件 编辑:程序博客网 时间: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中。
这里先说说直接映射。最简单粗暴的。
直接映射:在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
- 存储器总结二
- 虚拟存储器解惑<二>
- 存储器原理之二
- 存储器管理(二)
- OS存储器管理(二)
- 存储器知识总结
- 虚拟存储器总结
- 存储器总结一
- 存储器类型总结
- 嵌入式学习:存储器总结
- 存储器管理总结
- 操作系统总结 存储器管理
- 二、CPU资源和存储器
- 二、存储器和寄存器简介
- stm32f10x学习二 存储器组织
- 存储器层次结构(二)
- 对存储器的一些总结
- 几种存储器类型总结
- 错误总结2015.10.21
- DL:DBN on Imbalance Data 问题所在
- sphinx全文检索类
- android中的style部分属性值介绍
- Twitter api 接口类
- 存储器总结二
- linux 循环fork并等待其结束
- 使用YUM 下载源码
- zip php压缩类
- 课时10第三章:方法
- C# DateTime 日期加1天 减一天 加一月 减一月 等方法
- HDU 2092
- STM32的定时器中断
- 遇到的问题: server sql 修改表,居然不让修改,百度解决