❶ 电脑里的缓存是什么意思
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界接口传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,如果有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。
硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。2MB和8MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了16MB、64MB等。
大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度,但并不意味着缓存越大就越出众。缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。更大容量缓存是未来硬盘发展的必然趋势。
❷ ssd无缓存和有缓存有什么区别
SSD上的缓存一般都是1或者2颗 DRAM 颗粒构成,起到数据交换缓冲作用,一款SSD产品是否有缓存这样的设计,往往是厂商根据产品定位和用途做得决定!
一般一些入门级产品或者低速产品,在设计上就会考虑不带缓存方案,而一些高速产品由于数据交换量大,就设计有缓存,以提高产品的读写效率!
如果是不同厂商产品,也未必能这样做对比!
❸ 电脑的内存和缓存有区别吗
“内存”犹如人体大脑的记忆系统,用于存放计算机的运行程序和处理的数据,无论是否打开电源启动计算机,内存中总会有各种各样的数据信息存在,可以说它永远也不会空闲着。当运行计算机程序时,程序将首先被读入内存中,然后在特定的内存中开始执行,并且处理的结果也将保存在该内存中,也就是说内存总会和CPU之间频繁地交换数据,没有内存,CPU的工作将难以开展,计算机也无法启动。
在计算机中,描述数据量的单位是“字节(Byte,常用B表示)”,内存的大小都以MB(读作“兆字节”,简称“兆”)来表示。一台计算机要配置多大的内存才合适呢?这需要根据所要完成的工作来定的,或者说取决于运行的软件,以及要处理的数据量。初学者可以这样来理解这个问题,“内存”好比是一个大仓库,这个仓库的容量不得小于所要贮藏的“货物”量,也就是程序运行的基本需要,小了!“货物”搬运不方便,会影响CPU的运算速度,甚至不能让程序运行;太大了,又会造成大部分仓库空着,白白浪费了资源。当运行的软件一定时,内存的增加对系统运行速度的提高是有一个限度的,当内存达到某一数目后,再加大内存,运行的速度就几乎不会再提高了。所以,内存的大小应该视需要而定,比如用于文字处理工作,那16 MB就差不多了,而若要用来处理图形图像,或者玩三维游戏,64MB都可能远远不够,特别是在多任务环境下128MB可能都还少
“缓存”(cache),现代的电脑同时具有L1和L2 cache 。你可能在购买电脑的时候也听到过要好的朋友这样建议,“不要购买赛扬(Celeron)系列处理器,因为它的cache比较少”。
在电脑系统里,缓存在很多方面都起着举足轻重的作用, 并且它以各种各样的形式存在不同的硬件里面。其中有内存缓存,硬盘和软盘缓存,软件磁盘缓存,还有页面缓存等更多;虚拟内存也是另外一种不同表达形式的缓存。在这篇“神奇的硬件”文章里面,我们将会探究缓存,你可以 从中明白它的工作原理,并且知道为什么它在电脑系统中的地位是这么的重要。
一个简单的例子
超高速缓存(Caching)是计算机里面基于内存子系统的技术。使用缓存的主要目的是使价位低廉的电脑也可以保持高速运行;超高速缓存允许你的电脑在运行日常任务的时候能够更加 流畅、快速
❹ 内存和缓存的区别和联系
缓存是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的L1和L2缓存,显卡的显存是给GPU用的缓存,硬盘上也有16M或者32M的缓存。千万不能把缓存理解成一个东西,它是一种处理方式的统称!
❺ 电脑中的缓冲和缓存是什么意思
1、缓冲器相当于一个寄存器,暂时保存数据。缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位 置的时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,攻击者写一个超过缓冲区长度的字符串,然后植入到缓冲区,而再向一个有 限空间的缓冲区中植入超长的字符串可能会出现两个结果,一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可导致系统崩溃;另有一个结果就 是利用这种漏洞可以执行任意指令,甚至可以取得系统root特级权限。大多造成缓冲区溢出的原因是程序中没有仔细检查用户输入参数而造成的。
2、缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着动态分配变量会出现问题。大多时为了不占用太多的内存,一个有动态分配变量 的程序在程序运行时才决定给它们分配多少内存。这样想下去的话,如果说要给程序在动态分配缓冲区放入超长的数据,它就会溢出了。一个缓冲区溢出程序使用这 个溢出的数据将汇编语言代码放到机器的内存里,通常是产生root权限的地方,这就不是什么好现象了。仅仅就单个的缓冲区溢出惹眼,它并不是最大的问题根 本所在。但如果溢出送到能够以root权限运行命令的区域,一旦运行这些命令,那可就等于把机器拱手相让了。
3、缓存:它事实上相当于一个临时仓库。每次打开一个网页,IE会自动创建一份该网页文字和图像的缓存文件(一个临时副本)。当再次打开该页时,IE会检查网 站服务器上该页的变化。如果页面变化了,IE从网络上重新下载新的网页。如果该页面没有变化,IE就从内存或硬盘上使用缓存中的临时复本来显示它。 IE会在缓存中保留网页到硬盘,直到各自的缓存占满空间;IE则根据网页的时间和空间来向下取舍。这样设计的目的是为了更快地装载页面。
4、缓存不仅可以用来加快网页加载速度,而且当需要查看以前看过的网页时,还可以无需驱动“小猫”,只需单击IE上的“文件→脱机工作”菜单命令,然后单击工具栏上的“历史”按钮,即可方便地进行浏览。既然IE缓存有这个妙处,那自然应该共享它了。
5、除了直接复制缓存文件的方法外,还有大搬家—更改IE缓存的保存路径法: 首先打开IE浏览器,单击“工具→Internet选项”菜单命令,打开“Internet选项”对话框。在“常规”选项卡中单击“Internet临时 文件”部分的“设置”按钮,打开“设置”对话框,单击“移动文件夹”按钮,在打开的“浏览文件夹”对话框里定位到另一个分区下的某个路径,然后单击“确定 ”按钮即可
❻ 电脑的缓存指的是什么
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基本也可以满足日常上网需要了。
❼ 固态硬盘带缓存和不带缓存哪个好
之前机械硬盘在读取的时候受到寻道延迟的影响,因此在读取等待的过程中会浪费大量的时间,因此才推出了硬盘缓存的机制来预先缓存数据,但是对于固态硬盘来说已经不存在寻道延迟的现象,固态硬盘的寻道时间接近0。因此固态硬盘的可以说是不需要硬盘缓存的。
硬盘的缓存芯片类似内存的芯片颗粒属于高速缓存颗粒,不同于固态硬盘上面的永久FLASH闪存颗粒,缓存芯片断电后数据会清空,读写速度都要高于固态硬盘上的FLASH闪存颗粒,因此,较大的容量的缓存在某些程序上还是能体现一定的效果的。
而且注意一点,写入缓存的数据不一定会写入到固态硬盘上,只有最终需要保存的数据才会写入到硬盘的FLASH芯片上,这个由程序和系统控制。因此,具备较大缓存有助于减少固态硬盘上FLASH芯片的读写次数,延长了芯片的使用时间。
因此还是带缓存芯片的固态硬盘好一点,固态硬盘的缓存容量通常比机械硬盘的缓存大很多,只有这样才有用,现在很多固态硬盘的缓存都是256MB的,当然不一定越大越好,主要还是在软件与驱动的优化控制上。
选择固态硬盘的时候主要看主控芯片和闪存芯片的型号,然后到网上搜集评价信息。
如: 三星SSD 830 Series SATA III(MZ-7PC064D/CN) 2012-10-12 参考价格:¥499
以上文章仅为参考帮助说明,并不做全面的可适用性保证,相关支持请点击右侧的微博进行讨论。
点击搜索更多硬件问答: 中关村在线问答堂-硬件
更多的关于电脑和网络的问题请到 中关村在线-硬件论坛 交流分享
希望以上信息对你有所帮助
❽ 固态硬盘(SSD)有缓存和没有缓存有什么区别
随着SSD固态硬盘的普及,如今带有缓存的SSD价格也逐渐被用户接受,虽然我们知道没有缓存的SSD在价格上会比有缓存的略贵一些,但是缓存究竟在SSD固态硬盘中发挥了怎样的作用并不是每个用户都了解。其实“缓存”一词单纯从字面上理解可解释为延缓存放,简单的说“缓存”是为了平衡高速设备和低速设备之间的速度差异而存在的。作用是让低速设备尽量的不拖高速设备的后退。这里之所以用“尽量”一词,主要是各类产品中的缓存容量有限,算法也不可能100%的准确命中,所以低速设备多多少少还是会拖高速设备的后腿,缓存的作用只能是“尽量”减少这种现象。例如CPU缓存;每当CPU从内存里读数据时,会向内存控制器发出一个读指令,要求内存控制器返回其要求的数据,可是因为内存响应速度相对于CPU是很慢的,所以在数据返回之前CPU只有无所事事的“等待”,如果经常出现这样的情况,再快的CPU也会被内存拖后腿,效率也不会提高。如图所示,在主内存(RAM)和CPU之间,放一块小容量的SRAM。当CPU申请RAM数据的时候,先在SRAM里面寻找,如果找到了数据,就不用花费很多时间到RAM里去读了(同步读取)。如果SRAM里没有数据,再到RAM去读,当RAM返回数据的时候,不仅仅返回原来所需要的数据,同时“捎带”返回所需数据“前后”的一些看似无关的数据,并将这些数据放入SRAM中。下次CPU再次到SRAM里读数据的时候,如果所需数据正好在SRAM里,就可以“命中”了。从原理上可以看出,命中率越高,CPU的效率就越高。而命中率又是被“捎带”返回的数据所决定的,哪些数据被捎带返回,这个就要依CPU内部的缓存算法而定了。由此可见,由于缓存容量远远小于主内存容量,而缓存算法也不可能100%的准确命中。缓存在机械硬盘中的作用:以上是以CPU缓存做例子。但是在电脑系统里,缓存并不仅仅是CPU独有,因为高速设备与低速设备的矛盾并不仅仅体现在CPU和内存之间。现在假如说,我要把数据从内存写入硬盘,由于硬盘相当缓慢,需要等待很长的时间才能完成此任务。那么用户体验就是电脑非常慢。实际上,这里CPU不慢,内存不慢,只是硬盘太慢了。解决机械硬盘速度过慢的问题,就在其内部安置了一个小容量的内存,也就是硬盘的缓存,数据首先写入到缓存里。那么在操作系统层面,就会认为数据已经写入了,用户的感觉就是快速。随后硬盘自己再从缓存写入到盘片,这个过程无需用户干预了。不过需要注意的是,其实硬盘的缓存并不全都用于缓存数据,还有其他用途,所以不见得缓存越大,性能就越好。而且还有个缓存算法问题。如果算法不优秀,命中率就不会高,这样大容量缓存形同虚设。缓存在SSD固态硬盘中的作用:刚才为大家介绍了什么是缓存,以及它在机械硬盘和内存中发挥的作用,其实缓存在SSD固态硬盘中发挥的作用也相差不远。SSD上的缓存一般都是1或者2颗DRAM颗粒构成,起到数据交换缓冲作用。一款SSD产品是否有缓存这样的设计,往往是厂商根据产品定位和用途做得决定,一般一些入门级产品或者低速产品,在设计上就会考虑不带缓存方案,而一些高速产品由于数据交换量大,就设计有缓存,以提高产品的读写效率。通常带有缓存的SSD在价格上或比不带缓存的略高一些,虽然SSD带缓存读取小文件的速度会快些,但对SSD来说,快的太有限了。就反应速度来说,SSD的反应速度一般都在0.2毫秒以内,不比缓存慢。所以带缓存对读取速度的提升,几乎可以忽略。其次带不带缓存并不影响SSD的寿命,决定SSD寿命的是NANDFLASH的写入次数。其次,主控芯片的好坏才是是决定SSD性能和使用寿命的重要因素。文章总结:通过笔者的介绍相信大家对缓存的作用有了深入的了解,另外我们可以看出缓存在内存、机械硬盘和SSD固态硬盘身上发挥作用的强弱是不一样的。缓存是为了平衡高速设备和低速设备之间的速度差异而存在的,其作用是让低速设备尽量的不拖高速设备的后脚。缓存的主要功能在于是电脑有资料放到HDD时,因为HDD机械式运作比电脑慢很多,所以在HDD上放上缓存,暂时存储资料以便电脑能够继续做其他事情,不会因为HDD的动作慢,而拖慢了电脑的效能。而SSD的速度大幅提升,已经能够实时处理数据,缓存作为提升速度的作用就不大了。由此我们可以得出依据缓存大小判断SSD速度并不科学,固态硬盘速度快慢主要由主控芯片和闪存颗粒品质决定。
❾ 固态硬盘有缓存和没缓存的区别在哪最近准备组装一台电脑玩游戏用,装不装缓存盘有没有什么区别
有缓存优势是性能一致性更好,也就是空盘和满盘性能差距不会太大,缺点是掉电容易丢数据,需要额外的掉电保护电路和在固件中加入掉电保护逻辑。
无缓存优势是掉电相对不容易丢失数据,以及更好的成本控制,缺点就是4k性能会比较难看,而且性能一致性不够好,不适合高负载的场合,比如数据库服务器等。
❿ 缓存和内存有什么区别
缓存和内存是计算机不同的组成部件。