设为首页收藏本站

融智技术学院

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 558|回复: 0

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

[复制链接]
MrLi 发表于 2014-3-14 14:00:04 | 显示全部楼层 |阅读模式
CPU缓存(CPU cache)
CPU缓存是由一个计算机为了减少访问内存平均时间的中央处理单元(CPU)使用的缓存。缓存是规模较小、速度更快的内存存储数据的副本从频繁地使用主内存的位置。大多数的CPU有不同的独立缓存,包括指令和数据缓存、数据缓存通常作为更多缓存级别(L1,L2等。)的层次结构组织。
当处理器需要读取或写入到主内存中的位置时,它首先检查该数据的一个拷贝是否在缓存中。如果是这样,处理器将立即从读取或写入缓存,这样比读或写到主内存快的多。
大部分现代桌面或服务器CPU至少有3个独立的高速缓存:一个指令高速缓存、加快可执行指令的读取,一个数据缓存,加快数据读取、存储和转换查找缓存(TLB),用来加快虚拟物理地址转换为可执行的指令和数据。数据高速缓存通常作为更多缓存级别(L1、L2等;请参阅多级缓存)的层次结构进行组织。
数据在内存和缓存之间以固定大小的块传输。当高速缓存线将从内存复制到缓存中时,一个缓存条目被创建。缓存条目将包括所复制的数据,以及(现在称为标记)请求的内存位置。
当处理器需要在主内存中读取或写入一个位置时,它将首先检查缓存中的相应条目。缓存检查请求内存位置的内容,以任何可能包含该地址的缓存行。如果处理器发现内存位置是在缓存中,缓存命中发生了。然而,如果处理器没有在缓存中找到的内存位置,发生了缓存未命中。情况如下:
高速缓存命中,处理器立即读取或写入的数据高速缓存行中缓存未命中,缓存分配一个新的条目,并将数据从主内存中复制;然后,来自缓存中请求的内容是非常满足。访问缓存命中的结果被称为的点击率,并且可以是一项措施的效力的一个给定的程序或算法的高速缓存的比例。
读未命中延迟执行,因为它们需要的数据从内存高速缓存本身传输比缓慢得多。写未命中,可能会出现没有这种刑罚,因为处理器可以继续执行,而在后台将数据复制到主内存。
为了使缓存未命中的新条目的余地,缓存可能必须逐出现有的条目之一。启发式算法,使用它来选择要逐出的条目称为替换策略。任何更换政策的基本问题是它必须预测现有的缓存项是最不可能在将来使用。预测未来很难,所以没有完美的选择之间的置换政策可用各种方式。
一个受欢迎的替换策略,最近最少使用(LRU),将替换至少最近访问过的条目。
标记为不可缓存一些内存范围可以提供性能,通过避免缓存很少重新访问的内存区域。这避免了一些东西加载到缓存中,而无需任何重用的开销。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新突破电商

小黑屋|手机版|Archiver|融智技术学院 ( 京ICP备09018999号  

GMT+8, 2018-4-19 17:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表