网络中的缓存是什么?

网络中的缓存是什么?,第1张

CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。
缓存是为了解决CPU速度和内存速度的速度差异问题。内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多。
这里要特别指出的是:
1因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的。
缓存的工作原理
[编辑本段]
缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。
一级缓存和二级缓存
[编辑本段]
为了分清这两个概念,我们先了解一下RAM 。RAM和ROM相对的,RAM是掉电以后,其中的信息就消失那一种,ROM在掉电以后信息也不会消失那一种。
RAM又分两种,一种是静态RAM,SRAM;一种是动态RAM,DRAM。前者的存储速度要比后者快得多,我们现在使用的内存一般都是动态RAM。
有的菜鸟就说了,为了增加系统的速度,把缓存扩大不就行了吗,扩大的越大,缓存的数据越多,系统不就越快了吗?缓存通常都是静态RAM,速度是非常的快, 但是静态RAM集成度低(存储相同的数据,静态RAM的体积是动态RAM的6倍), 价格高(同容量的静态RAM是动态RAM的四倍), 由此可见,扩大静态RAM作为缓存是一个非常愚蠢的行为, 但是为了提高系统的性能和速度,我们必须要扩大缓存, 这样就有了一个折中的方法,不扩大原来的静态RAM缓存,而是增加一些高速动态RAM做为缓存, 这些高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢, 我们把原来的静态ram缓存叫一级缓存,而把后来增加的动态RAM叫二级缓存。
一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。 通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了。
缓存的技术发展
[编辑本段]
最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12KμOps,表示能存储12K条微指令。
随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。现在再用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。
二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。
CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。
为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。
CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB、4MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高。
现在主流的CPU二级缓存都在2MB左右,其中英特尔公司07年相继推出了台式机用的4MB、6MB二级缓存的高性能CPU,不过价格也是相对比较高的,对于对配置要求不是太高的朋友,一般的2MB二级缓存的双核CPU基本也可以满足日常上网需要了。

迅驰是英特尔公司针对手提电脑提出的无线移动计算技术解决方案
迅驰移动计算技术包括:
·一个微处理器
·相关的芯片组
·80211(Wi-Fi)无线联网功能。
2003年1月9日,英特尔正式宣布即将推出的无线移动计算技术的品牌名称:迅驰移动计算技术。
一代平台代号Carmel
二代平台代号sonoma
三代平台代号napa
四代平台代号Santa Rosa
一二代已经过时
第三代迅驰平台Napa
Napa是Intel第三代移动技术平台的名称,它由Intel 945系列芯片组、Yonah Pentium M处理器、Intel 3945ABG无线网卡模块组成的整合平台,相对于第二代迅驰Sonoma平台最大的技术提升有,系统总线速率提升到667MHz,Yonah处理器推出单、双核技术并且采用65nm制程,IntelPro/Wireless 3945ABG无线模块则开始兼容80211a/b/g三种网络环境。其中,Yonah Pentium M处理器开始引入双核技术,是这次Napa的一项重点技术。
1Yonah Pentium M处理器
在Napa平台里面,最为瞩目的莫过于采用了双核技术的Yonah Pentium M处理器, Yonah Pentium M处理器是采用65nm制程新一代移动处理器,不过仍然采用Socket 479针脚。它除了引入双核技术以外,同时前端总线速率提升至667MHz,因为双核心的存在而使用的SmartCache技术、新一代电源管理技术,以及开始支持SEE3多媒体指令集。
Yonah Pentium M双核是Intel第一款在移动处理器产品里面引入双核技术的产品,它在一个处理器里面植入了两个核心单元,通过SmartCache技术共享2M L2二级缓存,根据处理任务的负荷程度,在两个核心处理单元之间进行协调,然后分别同时进行指令运算,从而达到更高效的处理能力。双核技术所解决的是,并发多任务运行时整体的性能。
虽然Yonah双核Pentium M有两个核心,但是缓存是通过SmartCache技术来共享使用2M L2缓存,而并没有为两个核心单独设计二级缓存,因此总线速率同时提高至667MHz会相应减少处理器与芯片组之间通信存在瓶颈的可能性。
双核心技术的引入,虽然性能方面获得了绝对的提升,同时也提高了多任务并发运行的处理效率,但是作移动处理器产品来说,功耗有没有得到相应的控制也是用户最为关心的方面。Yonah Pentium M处理器的产品线当中,单核Yonah处理器的功耗还是与Dothan处理器一样,而双核Yonah普通版的最大运行功率达到了31W,超低电压双核Yonah Pentium M只有9W,低电压单核15W,普通一般单核为27W,单核Yonah处理器的功耗比相应Dothan处理器保持同样的水平,而双核版的Yonah处理器的功耗则有所提升,因此Intel引入了名为Intel Dynamic Power Coordination技术、Enhanced Intel Deeper Sleep节能技术,来使Napa平台可以更合理的根据用户的应用来调整功耗,结合Intel SPeedstep自动调频技术,Napa平台在整体功耗方面会相应到改善。
Intel Digital Media Boost也是Yonah处理器引入的一个新技术,其主要就是在SSE/SSE2 Micro Ops Fusion、SSE解码器容量提高以及对SSE3指令集的支持,这一技术的引入,会增加Yonah处理器在多媒体应用方面的性能,对于家庭用户来说,其娱乐性会得到改善,比如在视频剪辑、视频播放等应用上,性能以及效果都会得到提高。
2Intel 945芯片组系列
Calistoga是移动Intel 945系列芯片组的代号,相比于Intel 915系列芯片组,Calistoga芯片组提供了系统总线至667MHz,支持DDR2双通道内存,最高速率支持667MHz(PC5300),支持PCI-Express x16接口技术,Intel 945GM集成Intel Graphics Media Accelerator 950显示单元,400MHz显示核心,并且提升共享系统DDR2 667MHz内存为显存。
Intel 945北桥相应地搭配ICH7-M南桥,支持6个PCI-Express x1接口,同时也支持PCI接口,SATA-300硬盘接口,最高支持3Gbps传输速率。另外,同样支持HD Audio音频技术。
3Intel Pro/Wireless 3945ABG无线模块
Napa将使用Intel Pro/Wireless 3945ABG无线模块,它支持IEEE 80211a/b/g无线网络协议,并且在Napa中将一改在Sonoma以及之前的Carmel平台使用的PCI接口,开始使用PCI-Express x1接口,并且模块的规格也转为一种更小的迷你卡。
基于PCI-Express x1接口的WiFi迷你卡无疑最大的好处可以为机器节约一些资源,符合笔记本电脑机体尺寸向更便携的方向发展,不过就目前来看,也有部分Napa平台的工程样机仍然采用基于PCI接口的Intel 2200BG无线模块,因此在未来Napa产品中,这两种无线模块会同时存在,需要一个过渡期来完成两代无线模块的交接。
兼容80211a/b/g三种无线网络协议,可以使Napa有更为广泛的应用领域,就随着迅驰技术发展起来的无线网络市场来看,目前普遍的还是兼容80211b/g双模无线环境,而抗干扰能力更强的80211a无线环境多用于一些特殊领域。
第四代迅驰平台(Santa Rosa):
2007年5月9日,Intel发布了迅驰4平台Santa Rosa,平台包含四大组件,分别是Merom+处理器、Intel 965M系列芯片组、Intel 4965AGN无线模块和Intel Tubro Memory(英特迅盘)模块。其中处理器和Intel 965移动芯片组是必要选择,而Intel无线模块可以从4965AGN、3945ABG两种模块中随意选择,都符合Santa Rosa平台的要求。Intel Tubro Memory模块则为可选方案,即便不采用该模块,依然可以张贴新版的Centrino Duo标志。
1、处理器:Santa Rosa平台采用的处理器依然使用酷睿微体系架构,因此也属于Core2Duo处理器的范畴,但从处理器的开发代号来看,Santa Rosa平台采用的处理器名为Merom+,相对于传统的Merom处理器,Merom+处理器主要有两点改进,分别是FSB由原来的667MHz升级到800MHz,其次是处理器的针脚定义由原来的Socket-M更改为Socket-P,但依然是Socket478针设计,以往的Socket479型处理器底座可以完全兼容,但是针脚定义的不同导致945芯片组以及915芯片组并不能兼容新的处理器。此外提供了对64位运算的原生支持,而且其支持IDA技术,该技术能够进一步提高双核处理器的性能,并减小双核处理器的能耗。在二级缓存方面,则依旧有2MB和4MB两种级别可供选择,新增了Intel Dynamic Acceleration (IDA)技术,对于单线程任务,或者大范围非并行指令的多线程任务,IDA技术能够更好的进行任务的分配,只由一个核心来处理器,从而提高性能,同时其它空闲的核心能够进入C3或者更深的休眠状态,降低处理器的耗电,延长续航时间。而当有新的线程进入队列时,休眠的核心就会根据需要开始工作。
2、移动芯片组:开发代号为Crestline的Intel 965移动芯片组共包含三种不同的规格,分别是GM965、PM965和GL960,根据搭配的南桥芯片不同,即将发售的各类Santa Rosa平台产品还是存在一些微小的功能差别,搭配ICH8-M的芯片组不支持RAID功能,而搭配ICH8-ME的芯片组则能够支持RAID0及RAID1。
965系列芯片组,全部采用新的命名方式,之前采用的数字+字母的组合,如今刚好掉了个,改为字母+数字的组合。其中PM为不集成显卡,而GM为集成显卡,GL表示集成显卡的低端产品,主要是为Celeron-M所准备。
(1)PM965芯片同样是无内置显卡,只要面对高端市场的独显机型。PM965支持800MHz的前端总线,支持最大4GB DDR2 667/533内存,可以搭配ICH8M和ICH8M-Enhanced两款南桥芯片组,在Santa Rosa发布之后,其将成为独显本本芯片组中的主力。
(2)GM965在各方面与PM965基本相同,但GM965集成了显卡GMA X3000,最高核心频率达到了500MHz,可以完整支持Direct X 90c。
GMA X3000作为Intel第四代绘图核心,成为首个支援Direct X 90、Sharder Model 30及OpenGL 15的Intel IGP芯片组,硬件Pixel Sader 30及Vertex Shader 30处算能力,硬件Transform & Lighting (T&L)及Full Precision Floting Point Operations支援HDR效果,最高可共享256MB系统记忆体。同时GMA X3000亦已整合独立的UDI输出功能,作为未来的数字输入输出技术,相信随着GMA X3000的推广,这一技术也会逐渐成为主流。
(3)GL960仅支持533MHz的前端总线,同样的,内存也仅支持最大2GB DDR2 533,相比GM965缩水不少,更多的是为Celeron-M所准备。此外,GL960集成的GMA X3000显示核心,其核心频率也仅为320MHz,同时在搭配的南桥芯片方面,GL960仅可使用ICH8M,不过GL960同样可以完整支持Vista的Aero特效,对于入门级市场,相信会是一个很不错的选择。
而在南桥芯片组方面,将有ICH8M和ICH8M-Enhanced两款。ICH8M-Enhanced将比普通版则加入Intel Active Management Technology 25版本支援,及支援RAID 0、1功能。
3、无线网卡模块:相比3945ABG的单一选择方案,Santa Rosa改用4965AGN和4965AG上下搭配,厂商任选其中一种无线网卡,今后都可以贴上迅驰的Logo。就目前了解到的情况,4965AGN和4965AG均放弃了对80211b的支持,其中4965AG仅支持80211a和80211g,而4965AGN又增加了对80211n的支持。
Intel早在2006年底就发布了Intel Wireless 4965AGN无线网卡模块,这款新的无线模块依旧采用Mini-Card接口,能够兼容目前的3945ABG无线模块直接升级。Intel Wireless 4965AGN无线模块是符合80211N草案的产品,能够向下兼容24GHz的BG无线格式和5GHz的A无线格式,是目前笔记本无线网卡模块中规格最高的产品。这款Intel Wireless 4965AGN无线网卡模块能够提供300Mbps的最高数据传输速度,通过MIMO接口进行信号发射,能够提供更好的覆盖率,MIMO天线也是保证了如此高带宽数据连接的关键因素。
Intel Wireless 4965AGN无线模块开始支持基于无线的技术的主动管理技术,这将会是配合将来的VPro技术的一个关键细节,管理者可以通过无线模块唤醒笔记本电脑,保证时时刻刻都处于被管理状态,这是目前3945AGN无线模块所无法支持的。
关于无线广域网,Santa Rosa增加了1965HSD作为建议规格,1965HSD支持25G(Edge)和3G(CDMA-2000/WCDMA)无线技术,其中25G最高支持348Kbps,3G则可以实现24Mbps的速率。
4、英特尔迅盘(Tubro Memory)模块:Tubro Memory模块是新增加的一个新面孔,根据英特尔的说法,Turbo Memory可以大幅增加 *** 作系统的启动和运行速度,能够更快的从休眠中恢复,速度能够提高近一倍,而休眠时的功耗水平却大幅降低。不过它并不是Santa Rosa平台必需的硬件配置。
Turbo Memory的全部神秘之处,就在于NAND闪存芯片。Turbo Memory充当硬盘和系统之间的缓存。读数据时,硬盘根据预测算法,将数据预读到Turbo Memory上,系统则从Turbo Memory直接读数据,由于NAND闪存芯片能够更快的读取随机数据,可以高速多次重复读取某一数据,因而系统可以更高速的读取所需的数据。写数据时,系统将数据传输到Turbo Memory,累计到一定数量后,Turbo Memory再将数据一次性传递给硬盘。由于在目前,硬盘已经成为整机的绝对性能瓶颈,而NAND闪存芯片的采用会大量减缓这一瓶颈。同时,由于系统的更多的是从Turbo Memory读取和写入数据,硬盘更多的时间处于待机状态,无论功耗、噪音还是热量都会大幅减少,这对笔记本电脑无疑是一个很诱人的改进。
而在休眠的时候,以往的传统方式是将数据全部转移到硬盘上,现在则是将数据都存储在Turbo Memory上,由于NAND闪存即使断电也不会丢失数据,而其数据的读写速度当然不是传统硬盘可以比拟的,因而可以实现更高速度的休眠和恢复,根据英特尔官方的数据,从休眠中恢复的速度将提高一倍。
就原理和技术上来说,Turbo Memory技术是个相当完美的硬盘加速方案,至少在SSD闪存硬盘诞生之前还是。但是是否当真能够如英特尔所说,实现X2的系统速度呢?关键就在于预读的算法,是否能够具有足够的命中率
Tubro Memory模块只能在Windows Vista *** 作系统下工作。满足使用Tubro Memory模块的条件比较苛刻,首先,用户需要启用硬盘的AHCI功能,安装Windows Vista *** 作系统,并且计算机硬件本身需要能够支持DFOROM功能(磁盘过滤ROM),只有满足这些条件才可以正常使用Tubro Memory模块的功能。
二级缓存又叫L2 CACHE,它是处理器内部的一些缓冲存储器,其作用跟内存一样。 它是怎么出现的呢? 要上溯到上个世纪80年代,由于处理器的运行速度越来越快,慢慢地,处理器需要从内存中读取数据的速度需求就越来越高了。然而内存的速度提升速度却很缓慢,而能高速读写数据的内存价格又非常高昂,不能大量采用。从性能价格比的角度出发,英特尔等处理器设计生产公司想到一个办法,就是用少量的高速内存和大量的低速内存结合使用,共同为处理器提供数据。这样就兼顾了性能和使用成本的最优。而那些高速的内存因为是处于CPU和内存之间的位置,又是临时存放数据的地方,所以就叫做缓冲存储器了,简称“缓存”。它的作用就像仓库中临时堆放货物的地方一样,货物从运输车辆上放下时临时堆放在缓存区中,然后再搬到内部存储区中长时间存放。货物在这段区域中存放的时间很短,就是一个临时货场。 最初缓存只有一级,后来处理器速度又提升了,一级缓存不够用了,于是就添加了二级缓存。二级缓存是比一级缓存速度更慢,容量更大的内存,主要就是做一级缓存和内存之间数据临时交换的地方用。现在,为了适应速度更快的处理器P4EE,已经出现了三级缓存了,它的容量更大,速度相对二级缓存也要慢一些,但是比内存可快多了。 缓存的出现使得CPU处理器的运行效率得到了大幅度的提升,这个区域中存放的都是CPU频繁要使用的数据,所以缓存越大处理器效率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本也很高。
大量使用二级缓存带来的结果是处理器运行效率的提升和成本价格的大幅度不等比提升。举个例子,服务器上用的至强处理器和普通的P4处理器其内核基本上是一样的,就是二级缓存不同。至强的二级缓存是2MB~16MB,P4的二级缓存是512KB,于是最便宜的至强也比最贵的P4贵,原因就在二级缓存不同。
即L2 Cache。由于L1级高速缓存容量的限制,为了再次提高CPU的运算速度,在CPU外部放置一高速存储器,即二级缓存。工作主频比较灵活,可与CPU同频,也可不同。CPU在读取数据时,先在L1中寻找,再从L2寻找,然后是内存,在后是外存储器。所以L2对系统的影响也不容忽视。
CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。
缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先缓存后内存。
最早先的CPU缓存是个整体的,而且容量很低,英特尔公司从Pentium时代开始把缓存进行了分类。当时集成在CPU内核中的缓存已不足以满足CPU的需求,而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电路板上或主板上的缓存,此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存。一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被CPU访问,减少了争用Cache所造成的冲突,提高了处理器效能。英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存,容量为12KμOps,表示能存储12K条微指令。
随着CPU制造工艺的发展,二级缓存也能轻易的集成在CPU内核中,容量也在逐年提升。现在再用集成在CPU内部与否来定义一、二级缓存,已不确切。而且随着二级缓存被集成入CPU内核中,以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作,可以为CPU提供更高的传输速度。
二级缓存是CPU性能表现的关键之一,在CPU核心不变化的情况下,增加二级缓存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二级缓存上有差异,由此可见二级缓存对于CPU的重要性。
CPU在缓存中找到有用的数据被称为命中,当缓存中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有二级缓存的CPU中,读取一级缓存的命中率为80%。也就是说CPU一级缓存中找到的有用数据占数据总量的80%,剩下的20%从二级缓存中读取。由于不能准确预测将要执行的数据,读取二级缓存的命中率也在80%左右(从二级缓存读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。目前的较高端的CPU中,还会带有三级缓存,它是为读取二级缓存后未命中的数据设计的—种缓存,在拥有三级缓存的CPU中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。
为了保证CPU访问时有较高的命中率,缓存中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出缓存,提高缓存的利用率。
CPU产品中,一级缓存的容量基本在4KB到64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等。一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键。二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高
CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少兆赫的,而这个多少兆赫就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。比如AMD公司的AthlonXP系列CPU大多都能以较低的主频,达到英特尔公司的Pentium 4系列CPU较高主频的CPU性能,所以AthlonXP系列CPU才以PR值的方式来命名。因此主频仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
CPU的主频
CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。举个例子来说,假设某个CPU在一个时钟周期内执行一条运算指令,那么当CPU运行在100MHz主频时,将比它运行在50MHz主频时速度快一倍。因为100MHz的时钟周期比50MHz的时钟周期占用时间减少了一半,也就是工作在100MHz主频的CPU执行一条运算指令所需时间仅为10ns比工作在50MHz主频时的20ns缩短了一半,自然运算速度也就快了一倍。只不过电脑的整体运行速度不仅取决于CPU运算速度,还与其它各分系统的运行情况有关,只有在提高主频的同时,各分系统运行速度和各分系统之间的数据传输速度都能得到提高后,电脑整体的运行速度才能真正得到提高。
>首先我们来简单了解一下一级缓存。目前所有主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三级缓存。其中,一级缓存可分为一级指令缓存和一级数据缓存。一级指令缓存用于暂时存储并向CPU递送各类运算指令;一级数据缓存用于暂时存储并向CPU递送运算所需数据,这就是一级缓存的作用(如果大家对上述文字理解困难的话,可参照下图所示)。
那么,二级缓存的作用又是什么呢?简单地说,二级缓存就是一级缓存的缓冲器:一级缓存制造成本很高因此它的容量有限,二级缓存的作用就是存储那些CPU处理时需要用到、一级缓存又无法存储的数据。同样道理,三级缓存和内存可以看作是二级缓存的缓冲器,它们的容量递增,但单位制造成本却递减。需要注意的是,无论是二级缓存、三级缓存还是内存都不能存储处理器 *** 作的原始指令,这些指令只能存储在CPU的一级指令缓存中,而余下的二级缓存、三级缓存和内存仅用于存储CPU所需数据。
根据工作原理的不同,目前主流处理器所采用的一级数据缓存又可以分为实数据读写缓存和数据代码指令追踪缓存2种,它们分别被AMD和Intel所采用。不同的一级数据缓存设计对于二级缓存容量的需求也各不相同,下面让我们简单了解一下这两种一级数据缓存设计的不同之处。
一、AMD一级数据缓存设计
AMD采用的一级缓存设计属于传统的“实数据读写缓存”设计。基于该架构的一级数据缓存主要用于存储CPU最先读取的数据;而更多的读取数据则分别存储在二级缓存和系统内存当中。做个简单的假设,假如处理器需要读取“AMD ATHLON 64 3000+ IS GOOD”这一串数据(不记空格),那么首先要被读取的“AMDATHL”将被存储在一级数据缓存中,而余下的“ON643000+ISGOOD”则被分别存储在二级缓存和系统内存当中(如下图所示)。
需要注意的是,以上假设只是对AMD处理器一级数据缓存的一个抽象描述,一级数据缓存和二级缓存所能存储的数据长度完全由缓存容量的大小决定,而绝非以上假设中的几个字节。“实数据读写缓存”的优点是数据读取直接快速,但这也需要一级数据缓存具有一定的容量,增加了处理器的制造难度(一级数据缓存的单位制造成本较二级缓存高)。
二、Intel一级数据缓存设计
自P4时代开始,Intel开始采用全新的“数据代码指令追踪缓存”设计。基于这种架构的一级数据缓存不再存储实际的数据,而是存储这些数据在二级缓存中的指令代码(即数据在二级缓存中存储的起始地址)。假设处理器需要读取“INTEL P4 IS GOOD”这一串数据(不记空格),那么所有数据将被存储在二级缓存中,而一级数据代码指令追踪缓存需要存储的仅仅是上述数据的起始地址(如下图所示)。
由于一级数据缓存不再存储实际数据,因此“数据代码指令追踪缓存”设计能够极大地降CPU对一级数据缓存容量的要求,降低处理器的生产难度。但这种设计的弊端在于数据读取效率较“实数据读写缓存设计”低,而且对二级缓存容量的依赖性非常大。
在了解了一级缓存、二级缓存的大致作用及其分类以后,下面我们来回答以下硬件一菜鸟网友提出的问题。
从理论上讲,二级缓存越大处理器的性能越好,但这并不是说二级缓存容量加倍就能够处理器带来成倍的性能增长。目前CPU处理的绝大部分数据的大小都在0-256KB之间,小部分数据的大小在256KB-512KB之间,只有极少数数据的大小超过512KB。所以只要处理器可用的一级、二级缓存容量达到256KB以上,那就能够应付正常的应用;512KB容量的二级缓存已经足够满足绝大多数应用的需求。
这其中,对于采用“实数据读写缓存”设计的AMD Athlon 64、Sempron处理器而言,由于它们已经具备了64KB一级指令缓存和64KB一级数据缓存,只要处理器的二级缓存容量大于等于128KB就能够存储足够的数据和指令,因此它们对二级缓存的依赖性并不大。这就是为什么主频同为18GHz的Socket 754 Sempron 3000+(128KB二级缓存)、Sempron 3100+(256KB二级缓存)以及Athlon 64 2800+(512KB二级缓存)在大多数评测中性能非常接近的主要原因。所以对于普通用户而言754 Sempron 2600+是值得考虑的。
反观Intel目前主推的P4、赛扬系列处理器,它们都采用了“数据代码指令追踪缓存”架构,其中Prescott内核的一级缓存中只包含了12KB一级指令缓存和16KB一级数据缓存,而Northwood内核更是只有12KB一级指令缓存和8KB一级数据缓存。所以P4、赛扬系列处理器对二级缓存的依赖性是非常大的,赛扬D 320(256KB二级缓存)与赛扬 24GHz(128KB二级缓存)性能上的巨大差距就很好地证明了这一点;而赛扬D和P4 E处理器之间的性能差距同样十分明显。
最后,如果您是狂热的游戏发烧友或者从事多媒体制作的专业用户,那么具有1MB二级缓存的P4处理器和具有512KB/1MB二级缓存的Athlon 64处理器才是您理想的选择。因为在高负荷的运算下,CPU的一级缓存和二级缓存近乎“爆满”,在这个时候大容量的二级缓存能够为处理器带来5%-10%左右的性能提升,这对于那些要求苛刻的用户来说是完全有必要的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13177450.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-16
下一篇 2023-06-16

发表评论

登录后才能评论

评论列表(0条)

保存