注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

融智技术学院

融智技术学院163分站,为广大好友提供更多的帮助

 
 
 

日志

 
 

IT百科——CPU缓存(CPU cache)  

2014-03-21 16:28:00|  分类: IT百科 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

CPU缓存(CPU cache

CPU缓存是由一个计算机为了减少访问内存平均时间的中央处理单元(CPU)使用的缓存。缓存是规模较小、速度更快的内存存储数据的副本从频繁地使用主内存的位置。大多数的CPU有不同的独立缓存,包括指令和数据缓存、数据缓存通常作为更多缓存级别(L1L2等。)的层次结构组织。

当处理器需要读取或写入到主内存中的位置时,它首先检查该数据的一个拷贝是否在缓存中。如果是这样,处理器将立即从读取或写入缓存,这样比读或写到主内存快的多。

大部分现代桌面或服务器CPU至少有3个独立的高速缓存:一个指令高速缓存、加快可执行指令的读取,一个数据缓存,加快数据读取、存储和转换查找缓存(TLB),用来加快虚拟物理地址转换为可执行的指令和数据。数据高速缓存通常作为更多缓存级别(L1L2等;请参阅多级缓存)的层次结构进行组织。

数据在内存和缓存之间以固定大小的块传输。当高速缓存线将从内存复制到缓存中时,一个缓存条目被创建。缓存条目将包括所复制的数据,以及(现在称为标记)请求的内存位置。

当处理器需要在主内存中读取或写入一个位置时,它将首先检查缓存中的相应条目。缓存检查请求内存位置的内容,以任何可能包含该地址的缓存行。如果处理器发现内存位置是在缓存中,缓存命中发生了。然而,如果处理器没有在缓存中找到的内存位置,发生了缓存未命中。情况如下:

高速缓存命中,处理器立即读取或写入的数据高速缓存行中缓存未命中,缓存分配一个新的条目,并将数据从主内存中复制;然后,来自缓存中请求的内容是非常满足。访问缓存命中的结果被称为的点击率,并且可以是一项措施的效力的一个给定的程序或算法的高速缓存的比例。

读未命中延迟执行,因为它们需要的数据从内存高速缓存本身传输比缓慢得多。写未命中,可能会出现没有这种刑罚,因为处理器可以继续执行,而在后台将数据复制到主内存。

为了使缓存未命中的新条目的余地,缓存可能必须逐出现有的条目之一。启发式算法,使用它来选择要逐出的条目称为替换策略。任何更换政策的基本问题是它必须预测现有的缓存项是最不可能在将来使用。预测未来很难,所以没有完美的选择之间的置换政策可用各种方式。

一个受欢迎的替换策略,最近最少使用(LRU),将替换至少最近访问过的条目。

标记为不可缓存一些内存范围可以提供性能,通过避免缓存很少重新访问的内存区域。这避免了一些东西加载到缓存中,而无需任何重用的开销。

  评论这张
 
阅读(4)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017