㈠ 什么是Cache解释他的命中率.
“Cache”是什么
Cache(即高速缓冲存储器(Cache Memory),是我姿衡们最常听到的一个词了。在老鸟们眼中,这个词或许已没有再谈的必要,因为他们对Cache从设计的必要性猜庆到工作原理、工作过程等等都已了如指掌了;而对菜鸟朋友们而言,这些未必就很清楚。那么,它们到底是指的什么呢?不用急,下面就请随笔者一起来全面认识Cache。
为什么要设计Cache
我们知道,电脑的内存是以系统总线的时钟频率工作的,这个频率通常也就是CPU的外频(对于雷鸟、毒龙系列的处理器,由于在设计采用了DDR技术,CPU工作的外频为系统总线频率的两倍)。但是,CPU的工作频率(主频)是外频与倍频因子的乘积。这样一来,内存的工作频率就远低于CPU的工作频率了。这样造成的直接结果是:CPU在执行完一条指令后,常常需要“等待”一些时间才能再次访问内存,极大降了CPU工作效率。在这样一种情况下,Cache就应运而生了!
Cache是什么
Cache是一种特殊的存储器,它由Cache 存储部件和Cache控制部件组成。Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。而Cache 控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址变换部件及替换控制部件等。至于它们各自又是怎样工作的、有何作用等等,我想我们就没有必要做进一步的研究,知道一般Cache分为L1 Cache(其中又分为数据Cache、代码Cache)、L2 Cache就行了。
Cache是怎样工作的
我们知道,CPU运行程序是一条指令一条指令地执行的,而且指令地址往往是连续的,意思就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。电脑在工作时,把这些活跃的子程序存入比内存快得多的Cache 中。CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为“不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。
Cache的应用
早在486时代,主板上就设计了Cache插槽,用户可以根据需要自己配置Cache;586级的CPU芯片中已集成了部分Cache,同时还保留了Cache插槽供用户扩充,而到了Pentium Ⅱ时代后,Cache已全部集成到了CPU芯片中,主板上再也没有Cache插槽。现在比较流行的CPU芯片中一般集成了至少16KB的代码Cache 和16KB的数据Cache(作为L1 Cache),以及至少64KB的L2 Cache。
有的朋友可能会问,既然Cache的作用如此重要,那为么不把电脑的全部内存都变为Cache,那样不是更好吗?其实对于这个问题,撇开价格因素,单就其实用性而言也是没有必要的,毕竟,电脑在执任务时,那种使用频率非常高的子程序或指令不是很多的,因此那些使用频率不太高的内容只须保存在速度相对较低的内存中就可以了!
在实际应用中,Cache,尤其是L2Cache对系统的性能,特别是对浮点运算能力有较大的影响。而我们知道,大部分游戏的流畅运行需要频繁的浮点运算。因此,CPU运行游戏的性能的好坏与L2Cache的容量与速度有很大关系。
网上找的资料,比较全面,也比我自己的理解容易懂。
小鼠仔
2005-08-25, 11:07
硬盘的物理缓存是不可以改的,现在迹兆做买硬盘的话最好买8M缓存的,贵不了多少.性价比高..
但是可以通过修改虚拟磁盘缓存来修改..原理就是占用内存空间来实现磁盘缓存功能.如果装的xp的话
Quote:
1.运行 "regedit";
2.去[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\IoPageLockLimit];
3.根据你的内存修改其十六进制值:
64M: 1000;
128M: 4000;
256M: 10000;
512M或更大: 40000.
4.重启
磁盘缓存空间 可以有效的保护和延长你硬盘的寿命 它可以减少硬盘的反复擦写。如果你经常用BT之类的下载软件就非常有用。
㈡ 什么是高速缓存
1,高速缓存(Cache),全称“高速缓冲存储器”。
2,例如:当CPU处理数据时,它会先到高速缓存中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从主内存中读取数据——由厅野乱于CPU的运行速度一般比主内存快,因此若要经常存取主内存的话,就必须等待数个CPU周期从而造成浪费。
3,提供“高速缓存”的目的是为了让数据存取的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”。
4,现在Cache的概念已经被扩充了:不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘高速缓存),乃至在硬盘与网络之间也有某种意义上的“Cache”(Internet临时文件夹)。
5,凡是位于速度相差较大的两种硬件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache。
6,所以脊森硬盘和内存之间的Cache就叫做磁盘高速缓存。它是在内存中开辟一块位置,来临时存取硬盘中的数据。这项技术可使计算机读写时的存储系统平均数据传输率提高5-10倍,适应了当前激增的海量数据存储需求。
7,在DOS时代,我们用:
smartdrv 内存容量
命令来加载硬盘高速缓存。自从有了Windows后,我们就不需要加载硬盘高速缓存了,因为Windows本身有自己的高速缓存管理单元,如果强行使用smartdrv命令加载,反而会影响Windows的性能。
8,我们在用硬盘安装扮档Win2000/XP时候,系统会提示加载高速缓存,这是因为在安装的初期还是DOS操作,所以为了达到读存的速度,安装程序要求加载高速缓存。
希望能帮到你!
㈢ CPU cache知识 —— ARM架构cache结构和细节
cache如何寻址
处理器谨乎访问cache时,岁蚂cache电路会将CPU地址进行解码,分成3个部分,分别是:
Data cache的组织方式以及各种的优缺点
处理器在进行存储器访问时,处理器访问的地址是虚拟地址,经过MMU的转换,得到物祥雀悉理地址。那么查询cache组是用虚拟地址还是物理地址的Index域呢?当找到cache组时,使用虚拟地址,还是物理地址的Tag域来匹配cache line呢?
说明:这里的V/P其实就是指上图中address中的Tag/Index/Line来自V(虚拟地址)还是P(物理地址)。
以VIPT方式cache工作流程举例说明
情形一:TLB hit并且cache hit
情形二:TLB hit并且cache miss
情形三:TLB miss并且cache hit
情形四:TLB miss并且cache miss
VIVT/VIPT/PIPT的优缺点分析
详细了解cache寻址: 虚拟索引物理标记(VIPT)缓存 - 芒果文档 (imangodoc.com)
㈣ 关于高速缓存cache
你想问的那句和你想散岩哗理解的过程不是同一个行为呀?
CPU想从Cache存储器中读写信息时就会去Cache里面找,如果块号知道了就只要主存地址中的主存区号与cache的主存区号相同冲行那地址就获取完整了--cache命枣歼中。
你想理解的是之前的那个过程:未命中时,主存会安排块替换到Cache的动作吗?那就看看替换算法一起理解好了,你想的过程应该没错。
㈤ 高速缓存Cache问题
本题高速缓冲存储器地址映像与变换的内容
高速缓冲存储器(Cache)简称高速缓存,它的功能是提高CPU数据输入输出的速率,突破所谓的“冯·诺依曼瓶颈”。使用高速缓存改善系统性能的依据是程序的局部性原理。如果CPU需要访问的内容大多能在高速缓存中找到(称为访问命中,hit)则可大大提高系统的性能
1、高速缓存Cache的存储系统的平均存储时间可以表示为:t3=h*t1+(1-h)*t2.其中,Cachce的存取时间t1、主存的存取时间t2及平均存取时间为t3已知后,可以求出Cache的命中率h为99%
2、高速缓存与主存之间有多种地址映射方式。常见的有直接映射方式、全相联映射方式和组相联映射方式。
全相联映射方式的基本单元分为两部分:地址部分和数据部分、数据部分用于存放数据,而地址部分用于存放该数据的存储器地址。
当进行映射时,相联存储器把CPU发出的存储器地址与高速缓存内所有的地址信息同时进行比较,已确定是否命中。
全相联映射方式的主存地址构成为:块内地址+区号+块号。高速缓存Cache的地址构成为:块号+块内地址。
将主存地址8888888H从十六进制转换为二进制为:1000100010001000100010001000B
即块内地址为10001000100010001000B,相联存储器中区号为100010B,区块号为00B,所以相联存储器中存储的是10001000B=88H。由相联存储器的地址变换表查出88H块号为01B。最后根据Cache的地址构成,把Cache块号与块内地址连接起来后得到高速缓存Cache的地址为0110001000100010001000B,转换为十六进制后即188888H
㈥ 高速缓冲存储器cache一般采用的什么存取方式
高速缓冲存储器cache一般采用随机存取方式。x0dx0a高速缓冲存储器cache工作时,cache能够根据指令地址得到cache中对应地址,按地址存取,因此它是随机存取。x0dx0ax0dx0a高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术,也有快取记忆体的名称。x0dx0a高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。x0dx0a高速缓冲存储器最重要的技术指标是它的命中率。
㈦ 计算机中为什么要采用高速缓存器(CACHE)
是为了解决低速的外设和高速的CPU之间速度不匹配的问题。
主要由三大部分组成:
1、Cache存储体:存放由主存调入的指令与数据块。
2、地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
3、替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
在有高速缓冲存储器的计算机系统中,中央处理器存取主存储器的地址划分为行号、列号和组内地址三个字段。
于是,主存储器就在逻辑上划分为若干行;每行划分为若干的存储单元组;每组包含几个或几十个字。高速存储器也相应地划分为行和列的存储单元组。二者的列数相同,组的大小也相同,但高速存储器的行数却比主存储器的行数少得多。
(7)高速缓存cache组织方式扩展阅读
当中央处理器存取主存储器时,高速缓存器首先自动对存取地址的列号字段进行译码,以便将联想存储器该列的全部行号与存取主存储器地址的行号字段进行比较:若有相同的,表明要存取的主存储器单元已在高速存储器中,称为命中,硬件就将存取主存储器的地址映射为高速存储器的地址并执行存取操作。
若都不相同,表明该单元不在高速存储器中,称为脱靶,硬件将执行存取主存储器操作并自动将该单元所在的那一主存储器单元组调入高速存储器相同列中空着的存储单元组中,同时将该组在主存储器中的行号存入联想存储器对应位置的单元内。
当出现脱靶而高速存储器对应列中没有空的位置时,便淘汰该列中的某一组以腾出位置存放新调入的组,这称为替换。确定替换的规则叫替换算法,常用的替换算法有:最近最少使用算法(LRU)、先进先出法(FIFO)和随机法(RAND)等。
替换逻辑电路就是执行这个功能的。另外,当执行写主存储器操作时,为保持主存储器和高速存储器内容的一致性,对命中和脱靶须分别处理。
㈧ 高速缓存cache的主要作用
高速缓存cache的主要作用是为了解决CPU运算速度与内存读颤羡睁写速度不匹配的矛盾。派返
Cache工作的基本原理是利用程序访问的局部性原理,包括空间局部性和时间局部性。
计算机在运行程序时首先将程序从磁盘读取到主存,然后CPU按规则从主存中取出指令、数据并执行指令,但是直接从主存(一般用DRAM制成)中读写是很慢的,所以我们引入了cache。
在执行程序前,首先会试图把要用到的指令、数据从主存移到cache中,然后在执行程序时直接访问cache。如果指令、数据在cache中,那么我们能很快地读取出来,这称为“命中(hit)”。
如果指令、数据不在cache中,我们仍旧要从主存中拿指令、数据,这称为“不命中(miss)”。命中率对于cache而言是很重要的。
实际上cache是一个广义的概念,可以认为主存是磁盘的cache,而CPU内cache又是主存的cache,使用cache的目的就是伪造出一个容量有低层次存储器(如磁盘)那么大,而速度又有寄存器(如通用寄存器)那么快的存储器,简单来说茄岁就要让存储单元看起来又大又快。
㈨ cache和cache的工作方式是什么
为了提高CPU读写程序和数据的速度,在RAM和CPU之间增加了高速缓存部件cache。
寄存器是CPU内部的元件,拥有非常高的读写速度,由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,游镇洞Cache中保存着CPU刚用过或循环使用的一部分数据。
当CPU再次旅御使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。
Cache的特点是读写速度快、存储容量小、价格高、断电后内容丢失。
寄存器的存取方式
寄存器有串行和并行两种数码存取方式。
将n位二进制数一次存入寄存器或从寄存器中读出的方式称为并行方式。将神枯n位二进制数以每次1位,分成n次存入寄存器并从寄存器读出,这种方式称为串行方式。
并行方式只需一个时钟脉冲就可以完成数据操作,工作速度快,但需要n根输入和输出数据线。
串行方式要使用几个时钟脉冲完成输入或输出操作,工作速度慢,但只需要一根输入或输出数据线,传输线少,适用于远距离传输。
㈩ 多级存储体系中,cache主存结构的作用
辅存与CPU速度桥旦不匹配。cache即高速缓存,由于CPU运行速度比硬盘和内存快得多,所以CPU在存储数据时会等待,cache位于主存和CPU之间,作用是解决主存和CPU速率匹配问题,主板上的控制系统统计主存中山旅哪些数据被CPU频繁访问,然后将这些数据放入cache中,CPU读取时优先在cache中查找,提高了整体速率。Cache通常由相联存敏唯扰储器实现。