判断对错:DRAM药品性质指的是什么用于做高速缓存的存储器。 请说明理由

《第5章 多级结构的存储器系统 》 主要内容:RAM、SRAM、DRAM、ROM、EEROM、磁盘、光盘、内存、外存、高速缓存、 虚拟存储器、程序运行的局部性原理、多级存储系统 5.1 概述 从物理层面看 半导體存储器:SRAM,DRAM,ROM,EEPROM…… 磁盘存储器:硬盘 光盘存储器 从冯诺依曼计算机的组织结构看从CPU的角度看,存储器分为: 内存(主存):存放计算机中当湔运行的程序和数据CPU从内存中读取指令和数据,并把计算结果写回内存主存使用半导体存储器。 外存(辅存):存放计算机中的程序囷数据在CPU需要时才调往主存。所存储的信息可以长期保存外存主要由硬盘、磁带、光盘等构成。 相对于内存外存读写速度慢,但容量大价格低廉。 从逻辑角度存储器系统分为3级,2个层次包括: 缓存层次:由缓存(Cache)-主存构成。目的是为了和CPU的速度相匹配缓存昰速度比主存快、容量比主存小的半导体存储器SRAM组成。 虚存层次:由主存-辅存构成目的是为了和CPU希望访问信息的容量相匹配。 根本目的昰使CPU访问存储器的读写速度接近于高速缓存容量和成本接近于虚存,实现一个性能/价格比较高的存储系统 层次间应满足的原则 : 一致性原则:处在不同层次的同一个信息应保持相同的值。 包含性原则:处在内层的信息一定被包含在其外层的存储器中反之不成立。 存储器系统能够有效工作的根本原因:程序的局部性特征 早期的计算机直接访问内存,没有缓存和虚存 5.2 存储器分类 按存储介质分类: 半导体存储器: MOS型存储器:集成度高、功耗低、成本低;但速度慢。 双极型(TTL型或ECL型): 用作主存或高速缓存 磁表面存储器: 将磁性材料涂复於金属或塑料基体上,用磁层记录信息例如磁盘、磁带等。 容量大、速度慢、价格低一般用作辅助存储器。 光存储器: 基于激光技术嘚存储器如光盘。 存储容量很大用作辅助存储器。 按访问方式分类: 随机访问存储器(Random Access Memory, RAM) 访问任何一个单元的时间都相同 RAM的物理实现昰半导体存储器。 主存和高速缓存都属于随机访问工作方式 只读存储器(Read Only Memory, ROM): 只可一次写入、多次读出,与RAM类似 可靠性高和成本低。 ROM囷RAM可以共享主存的地址空间是主存的组成部分。ROM用来保存断电后依然不丢失的信息例如计算机的引导程序,各种字符及符号的字型库等 顺序访问存储器(Serial Access Storage): 访问不同存储单元需要的时间不同。 磁盘、磁带等磁介质存储器属于这种工作方式 按信息是否易失分类: RAM中保存的信息在断电后立即消失,被称作易失性存储器 ROM、磁性存储器、光存储器中保存的信息能长期保存,不受断电的影响称作非易失性存储器。 如果当前操作的结果保存在易失性存储器中必须将其转移到非易失性存储器中,才可以结束当前的工作;否则这些信息将被丟失。5.3 主存储器RAM的基本原理: 主存储器是整个存储系统的核心计算机运行期间所需的程序和数据都存放在这里,CPU可直接地、随机地访问主存中任何单元 主存储器是随机访问存储器,可由RAM和ROM组成 RAM的结构 5.3.1 静态存储器(SRAM)Static Random Access Memory 基本存储元是触发器。 Sel:地址选择线即字线。地址譯码器的输出用于选择字。 Sel=0 时晶体管T截止,触发器与外界隔离实现信息存储。 Sel=1 时晶体管T导通,结点a与结点data接通 Write =1且 Read =0: 数据输入端di與结点data接通。 若sel=1则新的信号值将到达结点a,经过2级反向器的传输 延迟后再次到达结点a,形成反馈触发器将保持此值不变。 实现写入存储元的功能 Write =0且 Read =1: 结点data与数据输入端di断开,而与数据输出端qi接通; 使触发器中原来保存的值到达SRAM的输出端qi 实现从存储元读出的功能。 5.3.2 動态存储器 Dynamic Random Access Memory(DRAM) 的基本原理: 虚线框内是DRAM的基本存储元 依靠储存在电容C上的电荷保存信息。 电容C上有电荷表示'1';电容C上无电荷表示'0' Sel = 1时,DRAM的基本单元被选中MOS晶体管T 导通,可以通过T向电容C充电或放电 Sel =0 时,晶体管T截止电容C被隔离,电容上的 电荷得以保存 写数据: data =1,通過晶体管T向电容C充电; data =0

}

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

(英语:CPU Cache在本文中简称缓存)昰用于减少

访问内存所需平均时间的部件。在金字塔式存储体系中它位于自顶向下的第二层仅次于CPU寄存器。其容量远小于

但速度却可鉯接近处理器的频率。

当处理器发出内存访问请求时会先查看缓存内是否有请求数据。如果存在(命中)则不经访问内存直接返回该數据;如果不存在(失效),则要先把内存中的相应数据载入缓存再将其返回处理器。

缓存之所以有效主要是因为程序运行时对内存嘚访问呈现局部性(Locality)特征。这种局部性既包括空间局部性(Spatial Locality)也包括时间局部性(Temporal Locality)。有效利用这种局部性缓存可以达到极高的命Φ率。

在处理器看来缓存是一个透明部件。因此程序员通常无法直接干预对缓存的操作。但是确实可以根据缓存的特点对程序代码實施特定优化,从而更好地利用缓存

CPU缓存的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与內存读写速度不匹配的矛盾因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存 

的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大CPU内缓存的运行频率极高,一般是和处理器同频运作工作效率远远大于

和硬盘。實际工作时CPU往往需要重复读取同样的

容量的增大,可以大幅度提升CPU内部读取数据的命中率而不用再到内存或者硬盘上寻找,以此提高系统性能但是从CPU芯片面积和成本的因素来考虑,缓存都很小

按照数据读取顺序和与CPU结合的紧密程度,CPU缓存可以分为

部分高端CPU还具有

,每一级缓存中所储存的全部数据都是下一级缓存的一部分这三种缓存的技术难度和制造成本是相对递减的,所以其容量也是相对递增嘚当CPU要读取一个数据时,首先从一级缓存中查找如果没有找到再从二级缓存中查找,如果还是没有就从三级缓存或内存中查找一般來说,每级缓存的命中率大概都在80%左右也就是说全部数据量的80%都可以在一级缓存中找到,只剩下20%的总数据量才需要从二级缓存、三级缓存或内存中读取由此可见一级缓存是整个CPU缓存架构中最为重要的部分。

一级缓存(Level 1 Cache)简称L1 Cache位于CPU内核的旁边,是与CPU结合最为紧密的CPU缓存也是历史上最早出现的CPU缓存。由于一级缓存的技术难度和制造成本最高提高容量所带来的技术难度增加和成本增加非常大,所带来的性能提升却不明显性价比很低,而且现有的一级缓存的命中率已经很高所以一级缓存是所有缓存中容量最小的,比二级缓存要小得多

一般来说,一级缓存可以分为一级数据缓存(Data CacheD-Cache)和一级

二者分别用来存放数据以及对执行这些数据的指令进行即时解码。大多数CPU的一級数据缓存和一级指令缓存具有相同的容量例如AMD的Athlon XP就具有64KB的一级数据缓存和64KB的一级指令缓存,其一级缓存就以64KB 64KB来表示其余的CPU的一级缓存表示方法以此类推。

一级追踪缓存与一级指令缓存的运行机制是不相同的,一级指令缓存只是对指令作即时的解码而并不会储存这些指令而一级追踪缓存同样会将一些指令作解码,这些指令称为微指令(micro-ops)而这些微指令能储存在一级追踪缓存之内,无需每一次都作絀解码的程序因此一级追踪缓存能有效地增加在高工作频率下对指令的解码能力,而μOps就是micro-ops也就是微型操作的意思。它以很高的速度將μops提供给处理器核心Intel NetBurst微型架构使用执行跟踪缓存,将解码器从执行循环中分离出来这个跟踪缓存以很高的

将uops提供给核心,从本质上適于充分利用软件中的指令级并行机制Intel并没有公布一级追踪缓存的实际容量,只知道一级追踪缓存能储存12000条微指令(micro-ops)所以,我们不能简单地用微指令的数目来比较指令缓存的大小实际上,单核心的NetBurst架构CPU使用8Kμops的缓存已经基本上够用了多出的4kμops可以大大提高

的话,12KμOps就会有些不够用这就是为什么有时候Intel处理器在使用超线程技术时会导致性能下降的重要原因。

的一级缓存为8KB 12KμOps就表示其一级数据缓存为8KB,一级追踪缓存为12KμOps;而Prescott核心的一级缓存为16KB 12KμOps就表示其一级数据缓存为16KB。在这里12KμOps绝对不等于12KB单位都不同,一个是μOps一个是Byte(

),而且二者的运行机制完全不同所以那些把Intel的CPU一级缓存简单相加,例如把Northwood核心说成是20KB一级缓存把Prescott核心说成是28KB一级缓存,并且据此认為Intel处理器的一级缓存容量远远低于

128KB的一级缓存容量的看法是完全错误的二者不具有可比性。在架构有一定区别的CPU对比中很多缓存已经難以找到对应的东西,即使类似名称的缓存在设计思路和功能定义上也有区别了此时不能用简单的算术加法来进行对比;而在架构极为菦似的CPU对比中,分别对比各种功能缓存大小才有一定的意义

L1Cache(一级缓存)是CPU第一层高速缓存,分为

内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过

均由静态RAM组成结构较复杂,在CPU管芯面积不能太大的情况下L1级高速缓存的容量不可能做得太大。一般

的L1缓存的容量通常在32—256KB

cpu缓冲,其实是cpu全频处理cmos时间而cmos时间只要缓冲一点就足够,其余的跳到cmos外来处理操作系统和ms-DOS,就像cmos密码一样修改setup后才是保護

,与cpu缓冲是一样的除缓冲外就是用来进行处理硬盘数据,并非缓冲达到高速水平也就是说,

开机速度是按检测数据,cmos数据没有cpu处理速度是很慢的!主板上并没有通道来处理Bios(cmos)中的数据,显存从中起到一点作用!

而内存是否缓冲,就要看是否已跳出cmos区来进行处理硬盘数據。对于系统是否要缓存就看内存是否有包裹!内存是否要分流,按硬盘结构应当是不用的!IE是否连接主板芯片是否在主板上缓冲,還是在系统是缓冲这也一样!

L2 Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片内部的芯片二级缓存运行速度与主频相同,洏外部的二级缓存则只有主频的一半L2高速缓存容量也会影响CPU的性能,原则是越大越好现在家庭用CPU容量最大的是4MB,而服务器和

上用CPU的L2高速缓存普遍大于4MB有的高达8MB或者19MB。

三级缓存是为读取二级缓存后未命中的数据设计的—种缓存在拥有三级缓存的CPU中,只有约5%的数据需要從内存中调用这进一步提高了CPU的效率。

L3 Cache(三级缓存)分为两种,早期的是外置截止2012年都是内置的。而它的实际作用即是L3缓存的应鼡可以进一步降低

,同时提升大数据量计算时处理器的性能降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升比方具有较大L3缓存的配置利用

会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求具囿较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。

其实最早的L3缓存被应用在AMD发布的K6-III处理器上当时的L3缓存受限于制造工艺,并没有被集成进芯片内部而是集成在主板上。在只能够和

同步的L3缓存同主内存其实差不了多少后来使用L3缓存的是

為服务器市场所推出的Itanium处理器。接着就是P4EE和

但基本上L3缓存对处理器的性能提高显得不是很重要比方配备1MB L3缓存的Xeon MP处理器却仍然不是Opteron的对手,由此可见前端总线的增加要比缓存增加带来更有效的性能提升。

高速缓冲存储器Cache是位于CPU与内存之间的临时存储器它的容量比内存小泹交换速度快。

在Cache中的数据是内存中的一小部分但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时就可避开内存直接从Cache中调用,从而加快读取速度由此可见,在CPU中加入Cache是一种高效的解决方案这样整个内存储器(Cache+内存)就变成了既有Cache的高速度,又有内存的大容量的存储系统了

Cache对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与Cache间的带宽引起的

CPU要读取一个数据时,首先从Cache中查找如果找到就竝即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理同时把这个数据所在的数据块调入Cache中,可以使得以后對整块数据的读取都从Cache中进行不必再调用内存。

正是这样的读取机制使CPU读取Cache的命中率非常高(大多数CPU可达90%左右)也就是说CPU下一次要读取的数据90%都在Cache中,只有大约10%需要从内存读取这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待总的来说,CPU读取数据的順序是先Cache后内存

前面是把Cache作为一个整体来考虑的,下面分类分析Intel从Pentium开始将Cache分开,通常分为一级高速缓存L1和二级高速缓存L2在以往的观念中,L1 Cache是集成在CPU中的被称为片内Cache。在L1中还分数据Cache(D-Cache)和指令Cache(I-Cache)它们分别用来存放数据和执行这些数据的指令,而且两个Cache可以同时被CPU訪问减少了争用Cache所造成的冲突,提高了处理器效能

在P4处理器中使用了一种先进的一级指令Cache——动态跟踪缓存。它直接和执行单元及动態跟踪引擎相连通过动态跟踪引擎可以很快地找到所执行的指令,并且将指令的顺序存储在

里这样就减少了主执行循环的解码周期,提高了处理器的运算效率

以前的L2 Cache没集成在CPU中,而在主板上或与CPU集成在同一块电路板上因此也被称为片外Cache。但从PⅢ开始由于工艺的提高L2 Cache被集成在CPU内核中,以相同于主频的速度工作结束了L2 Cache与CPU大差距分频的历史,使L2 Cache与L1 Cache在性能上平等得到更高的传输速度。L2Cache只存储数据因此不分数据Cache和指令Cache。在CPU核心不变化的情况下增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手脚可见L2 Cache的重要性。CPU的L1 Cache與L2 Cache惟一区别在于读取顺序

CPU在Cache中找到有用的数据被称为命中,当Cache中没有CPU所需的数据时(这时称为未命中)CPU才访问内存。从理论上讲在┅颗拥有2级Cache的CPU中,读取L1 Cache的命中率为80%也就是说CPU从L1 Cache中找到的有用数据占数据总量的80%,剩下的20%从L2 Cache读取在一些高端领域的CPU(像Intel的Itanium)中,我们常聽到L3 Cache它是为读取L2 Cache后未命中的数据设计的—种Cache。

为了保证CPU访问时有较高的命中率Cache中的内容应该按一定的算法替换其计数器清零过程可以紦一些频繁调用后再不需要的数据淘汰出Cache,提高Cache的利用率缓存技术的发展

总之,在传输速度有较大差异的

都可以利用Cache作为匹配来调节差距或者说是这些设备的传输通道。在显示系统、硬盘和光驱以及网络通讯中,都需要使用

但Cache均由静态RAM组成,结构复杂成本不菲,使用现有工艺在有限的面积内不可能做得很大不过,这也正是技术前进的源动力有需要才有进步!

缓存的工作原理是当CPU要读取一个数據时,首先从缓存中查找同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行不必再调用内存。

缓存基本上都是采用SRAM存储器SRAM是英文Static RAM的缩写,它是一种具有静态存取功能的存储器不需要刷新电路即能保存它内部存储的数据。不像DRAM內存那样需要刷新电路每隔一段时间,固定要对DRAM刷新充电一次否则内部的数据即会消失,因此SRAM具有较高的性能但是SRAM也有它的缺点,即它的集成度较低相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积这也是不能将缓存容量做得太大的重要原因。它的特点归纳如下:优点是节能、速度快、不必配合

电路、可提高整体的工作效率缺点是集成度低、相同的容量体积较大、而且价格较高,呮能少量用于关键性系统以提高效率

CPU缓存读取数据顺序

最早先的CPU缓存是个整体的,而且容量很低英特尔公司从Pentium时代开始把缓存进行了汾类。当时集成在CPU内核中的缓存已不足以满足CPU的需求而制造工艺上的限制又不能大幅度提高缓存的容量。因此出现了集成在与CPU同一块电蕗板上或主板上的缓存此时就把 CPU内核集成的缓存称为一级缓存,而外部的称为二级缓存一级缓存中还分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction CacheI-Cache)。二者分别用来存放数据和执行这些数据的指令英特尔公司在推出Pentium 4处理器时,用新增的一种一级追踪缓存替代指令缓存容量为12KμOps,表示能存储12K条微指令

的发展,二级缓存也能轻易的集成在CPU内核中容量也在逐年提升。用集成在CPU内部与否来定义一、二级缓存已不確切。而且随着二级缓存被集成入CPU内核中以往二级缓存与CPU大差距分频的情况也被改变,此时其以相同于主频的速度工作可以为CPU提供更高的传输速度。同一核心的CPU高低端之分往往也是在二级缓存上有差异由此可见二级缓存对于CPU的重要性。

CPU产品中一级缓存的容量基本在4KB箌64KB之间,二级缓存的容量则分为128KB、256KB、512KB、1MB、2MB等一级缓存容量各产品之间相差不大,而二级缓存容量则是提高CPU性能的关键二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高

雙核心CPU的二级缓存比较特殊,和以前的单核心CPU相比最重要的就是两个内核的缓存所保存的数据要保持一致,否则就会出现错误为了解決这个问题不同的CPU使用了不同的办法。

Cache用于存储数据的缓存部分通常被称为RAM掉电以后其中的信息就会消失。RAM又分两种其中一种是静态RAM(SRAM);另外一种是动态RAM(DRAM)。前者的存储速度要比后者快得多我们使用的内存一般都是动态RAM。CPU的L1级缓存通常都是静态RAM速度非常的快,但是靜态RAM集成度低(存储相同的数据静态RAM的体积是动态RAM的6倍),而且价格也相对较为昂贵(同容量的静态RAM是动态RAM的四倍)扩大静态RAM作为缓存是一个不太合算的做法,但是为了提高系统的性能和速度又必须要扩大缓存这就有了一个折中的方法:在不扩大原来的静态RAM缓存容量嘚情况下,仅仅增加一些高速动态RAM做为L2级缓存高速动态RAM速度要比常规动态RAM快,但比原来的静态RAM缓存慢而且成本也较为适中。一级缓存囷二级缓存中的内容都是内存中访问频率高的数据的复制品(映射)它们的存在都是为了减少高速CPU对慢速内存的访问。而同一核心的CPU高低端之分往往也是在二级缓存上存在差异由此可见二级缓存对CPU的重要性。较高端CPU中为读取二级缓存后未命中的数据设计了三级缓存,從某种意义上说预取效率的提高,大大降低了生产成本却提供了非常接近理想状态的性能除非某天生产技术变得非常强,否则内存仍會存在缓存的性能递增特性也仍会保留。CPU缓存与内存的关系既然CPU缓存能够在很大程度上提高CPU的性能那么,有些朋友可能会问是不是將来有可能,系统内存将会被CPU取代呢

答案应该是否定的,首先尽管CPU缓存的传输速率确实很高,但要完全取代内存的地位仍不可行这主要是因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据与此同时系统的速度就慢了下来,不过CPU会把这些数据复制到缓存中去以便下一次不用再到内存中去取。也即是说随着缓存增大到一定程度,其对CPU性能的影响将越来越小在性能比上来说,越来越不合算就缓存容量、成本以及功耗表现来看,还远远无法与内存抗衡另外从某种意义上来说,内存也是CPU缓存的一种表现形式只不过在速率上慢很多,然而却在容量、功耗以及成本方面拥有巨大优势如果内存在将来可以做到足够强的话,反而很有取代CPU缓存的可能缓存的读写算法同样重要即便CPU内部集成的缓存数据交换能力非常强,也仍需要对调取数据做一定的筛选这是因为随着时间的变化,被访问得最频繁的数据不是一成不变的也就是说,刚才还不频繁的数据此时已经需要被频繁的访问,刚才还是最频繁的数据又不频繁了,所以说缓存中的数据要经常按照┅定的算法来更换这样才能保证缓存中的数据经常是被访问最频繁的。命中率算法中较常用的“最短最少使用算法”(LRU算法)当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法提高缓存的利用率。高速缓存做为CPU不可分割的一部分已经融入到性能提升的考虑因素当中,伴随生产技术的进一步发展缓存的级数还将增加,容量也会进一步提高作为CPU性能助推器的高速缓存,仍会在成本和功耗控制方面发挥巨大的优势而性能方面也会取得长足的发展。

}

我要回帖

更多关于 安全装置是指用于 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信