cache实例
来源:互联网 发布:topshop淘宝旗舰店 编辑:程序博客网 时间:2024/06/08 07:02
64KB cache容量,块大小为64字节. 采用2路组相联,LRU替换策略,写回法,写分配策略.
进入cache的物理地址被分为两个部分:
34位块地址,块地址只包括标志地址与索引地址
6位块内地址偏移(与64相关)
索引字段:确定哪一个标志将被检验,将该标志与处理器发出的访问地址中的标志进行比较.
索引字段的宽度决定于cache的大小,块大小,组相联度相关.
2^(index)=cache大小/(块大小*组相联度)=65536/(64*2)=512=2^9
索引字段宽度为9,则标志字段为34-9=25.
用索引的9位选择正确的块,再用偏移地址字段的3位确定需要的8个字节.(第二步)
从cache中读出2个标志之后,将从处理器发出的块地址中的标志字段部分进行比较,(第三步)
假定有一个标志字段匹配,则最后一步是通知处理器根据2选1多路选择器有效输出从cache中加载的正确数据.
上述采用写回法,一个替换掉的块可能已经被修改,因此不能简单的被丢弃,上述结构中使用1位重写位记录该块是否被修改:
若被修改,将该块数据和地址送至牺牲缓冲区,该牺牲缓冲区由8个牺牲块组成,将替换出来的牺牲块写回低一级存储器,如果牺牲缓存已满,cache必须停下等待.
上述给出了数据cache的工作流程,但是并不能支持处理器所有的存储器访问请求,处理器还需要处理指令.
一体cache同时进行指令与数据的处理,这样会造成一体cache的性能瓶颈.
处理器知道它发射的是指令地址还是数据地址,从而使得处理器和存储器层次结构间的带宽得以加倍.
- cache实例
- Cache高速缓存实例
- Ibatic Cache 使用实例
- Cache Manifest配置实例
- Dubbo Cache 操作实例
- Ibatic Cache 使用实例
- Spring Cache编写实例
- apt-cache subcommands 一些使用实例
- 写Cache缓存对象测试实例
- Guava学习笔记之Cache实例
- Google Guava Cache实例与分析
- (反向代理 + cache) varnish 使用 (实例)
- Google Guava Cache--localcache本地缓存实例
- cache
- cache
- Cache
- cache
- Cache
- smarty中的自定义函数(一)assign、cycle、debug...
- 【Using MVC】有关MVC
- display:none和visibilitY:hiddeN区别
- Windows和Linux下的字节对齐
- keil的51单片机仿真调试中如何查看内存的内容
- cache实例
- WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
- 丁丁学数学(2-3)
- 关于“error LNK2001: unresolved external symbol”
- CentOS5中文乱码问题解决
- 新工作重心
- 快到51了诶
- Android上的单元测试shell
- Liunx C获取IP、MAC地址