1.什么是Cache?解释他的命中率.

2.为什么缓存可以加快硬盘的读写速度呢?

3.电脑的内存和缓存有区别吗

4.缓存和内存有什么区别?

什么是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之类的下载软件就非常有用。

为什么缓存可以加快硬盘的读写速度呢?

DMA固然快, 可它毕竟是要读磁盘的. 而像SMARTDRV这样的东西是在内存中开辟一块缓冲区, 读一次之后就把它的部分内容放到内存缓冲区里了, 以后再读时读的是内存而不是磁盘, 它当然比磁盘快很多了(你可以想像一下读盘与读内存的差别有多少个数量级). 所以如果每次读的数据都是新鲜的, 它不会快; 但对于计算机大量的读写操作来说, 重复数据是很多的. 至于写盘, 它也是可以先放在内存中, 当机器空闲时再写入, 让你感觉不到它的费时.

当然, 一般来说缓存只用于硬盘, 像软盘这样的移动的设备, 就不大合适了.

楼上各位说的都是硬件缓存, 与本问题无关.

电脑的内存和缓存有区别吗

内存和缓存都是供CPU提取数据从而进行计算的,简单点解释:正在运行的程序都储存在内存中,当你要进行某一操作时,CPU就要从内存中找到数据进行计算,但是由于速度和内存空间较大的原因,影响了CPU找到数据的时间,所以为了使计算更加高速就添加了缓存,缓存里存放最近经常使用的数据,当CPU要使用这些数据时,先在缓存中查找,如果找到则能立刻计算(CPU在缓存中查找数据要比内存快很多的)。所以计算机的缓存大小对CPU的工作效率有很大影响。其他配置一样的情况下,缓存越大,性能越好

缓存和内存有什么区别?

内存是内部存储器,是一个硬件设备;缓存是一个比较大的一个概念,用来预读取信息(比如硬盘的缓存),或者是暂时存储一些不长久的信息。

1、“内存”犹如人体大脑的记忆系统,用于存放计算机的运行程序和处理的数据,无论是否打开电源启动计算机,内存中总会有各种各样的数据信息存在,可以说它永远也不会空闲着。

2、当运行计算机程序时,程序将首先被读入内存中,然后在特定的内存中开始执行,并且处理的结果也将保存在该内存中,也就是说内存总会和CPU之间频繁地交换数据,没有内存,CPU的工作将难以开展,计算机也无法启动。

3、“缓存”(cache),现代的电脑同时具有L1和L2 cache 。你可能在购买电脑的时候也听到过要好的朋友这样建议,“不要购买赛扬(Celeron)系列处理器,因为它的cache比较少”。

4、在电脑系统里,缓存在很多方面都起着举足轻重的作用, 并且它以各种各样的形式存在不同的硬件里面。其中有内存缓存,硬盘和软盘缓存,软件磁盘缓存,还有页面缓存等更多;虚拟内存也是另外一种不同表达形式的缓存。