10、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(2)

简介: 1、组相联高速缓存(set associative cache) 1 < E < C/B 2、全相联映射(fully associative cache) E = C/B 因为全相联高速缓存需要并行搜索许多相匹配的行,所以构造相对是困难的;因此只适合做小的高速缓存;如虚拟存储器系统中的TLB,它缓存页表项。

1、组相联高速缓存(set associative cache<?xml:namespace prefix = o />

wps_clip_image-28052

1 < E < C/B

wps_clip_image-20770

wps_clip_image-1193

2、全相联映射(fully associative cache

E = C/B

wps_clip_image-7986

wps_clip_image-296

因为全相联高速缓存需要并行搜索许多相匹配的行,所以构造相对是困难的;因此只适合做小的高速缓存;如虚拟存储器系统中的TLB,它缓存页表项。

3、写回(write back:尽可能推迟存储器更新,只有当替换算法要驱逐已更新的块时,才把它写回存储器。

处理不命中:写分配(write-allocate),即加载相应的存储器块到高速缓存中,然后更新这个高速缓存器。

建议采用写回和写分配的高速缓存器。

<Computer Systems:A Programmer's Perspective>

目录
相关文章
|
存储 索引
9、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(1)
1、高速缓存存储结构 注:set(组) 组索引位告诉我们这个字必须存储在那个组中;然后A中t个标记位告诉我们这个组中的那一行(if any)包含这个字;当且仅当设置了有效位并且该行的标记位与地址A中的标记位相匹配时,组中的这一行包含这个字;确定行后,b个块偏移位给出了在B个字节的数据块中的字偏移。
970 0
|
29天前
|
存储 缓存 NoSQL
Redis缓存设计典型问题
缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。
|
1月前
|
存储 缓存 NoSQL
Redis 布隆过滤器实战「缓存击穿、雪崩效应」
Redis 布隆过滤器实战「缓存击穿、雪崩效应」
71 1
Redis 布隆过滤器实战「缓存击穿、雪崩效应」
|
1月前
|
缓存 NoSQL Java
微服务框架(十二)Spring Boot Redis 缓存
  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现。 本文为Spring Boot集成Redis。 在这篇文章中,我们将配置一个Spring Boot应用程序示例,并将其与Redis Cache 集成。虽然Redis是一个开源是一个开源内存数据结构存储,用作数据库,缓存和消息代理,但本文仅演示缓存集成。
|
1月前
|
存储 缓存 NoSQL
redis之缓存穿透,击透,雪崩~
redis之缓存穿透,击透,雪崩~
|
1月前
|
存储 消息中间件 缓存
redis的缓存机制
redis的缓存机制
65 0
|
2天前
|
缓存 NoSQL Redis
如何在Python中使用Redis或Memcached进行缓存?
如何在Python中使用Redis或Memcached进行缓存?
9 2
|
23天前
|
存储 缓存 NoSQL
Redis--缓存设计与性能优化
Redis--缓存设计与性能优化
|
24天前
|
缓存 监控 NoSQL
Redis缓存保卫战:拒绝缓存击穿的进攻【redis问题 三】
Redis缓存保卫战:拒绝缓存击穿的进攻【redis问题 三】
15 0
|
24天前
|
缓存 监控 NoSQL
Redis缓存雪崩:预防、应对和解决方案【redis问题 二】
Redis缓存雪崩:预防、应对和解决方案【redis问题 二】
42 0

热门文章

最新文章