当前位置:首页 » 文件管理 » 单晶缓存

单晶缓存

发布时间: 2025-03-07 13:46:42

① 什么是系统缓存

许多人认为,“缓存”是内存的一部分
许多技术文章都是这样教授的
但是还是有很多人不知道缓存在什么地方,缓存是做什么用的
其实,缓存是cpu的一部分,它存在于cpu中
cpu存取数据的速度非常的快,一秒钟能够存取、处理十亿条指令和数据(术语:cpu主频1g),而内存就慢很多,快的内存能够达到几十兆就不错了,可见两者的速度差异是多么的大
缓存是为了解决cpu速度和内存速度的速度差异问题
内存中被cpu访问最频繁的数据和指令被复制入cpu中的缓存,这样cpu就可以不经常到象“蜗牛”一样慢的内存中去取数据了,cpu只要到缓存中去取就行了,而缓存的速度要比内存快很多
这里要特别指出的是:
1.因为缓存只是内存中少部分数据的复制品,所以cpu到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时cpu还是会到内存中去找数据,这样系统的速度就慢下来了,不过cpu会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的
3.关于一级缓存和二级缓存
为了分清这两个概念,我们先了解一下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找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
以上技术文章原创于私人网站海市蜃楼
网络实名:海市蜃楼

② 缓存和虚拟内存有什么区别

1.磁盘缓存 磁盘缓存又称为虚拟缓存,它的读/写速度比管理磁介质快得多,是改善硬盘性能的主要手段。在硬盘空闲时会把数据预先存入缓存,一旦程序请求到此段资料,可以马上从缓存中得到,无须再读/写硬盘,特别是连续存取的操作之中,Cache能够极大地提高系统的整体速度。 为了让大家更好的理解系统缓存的作用,我们可以将处理器和内存系统想象成为使用者和供货商(Client-Server模式)。CPU“消费”由硬盘及内存提供的数据。由于制造技术和设计的进步,CPU的消费能力已经大大超过了存储系统的供应能力,尽管存储系统也有些进步(UDMA、Rambus等),CPU的时钟循环相对与内存和总线而言,越来越短,于是CPU不得不在存储系统提供足够的数据前等待,什么也不能做。而且每当CPU的频率提升,这样的差距就更是明显。 2.系统缓存 较慢的CPU频率 较快的CPU频率 如果将CPU比作一个城里的家具厂,而将存储系统比作郊区的木料厂,那么实际情况就是木料厂离家具厂越来越远,即使使用更大的卡车来运送木料,家具厂也得停工来等待木料送来。 在这样的情况下,一种解决方法是在市区建立一个小型仓库,在里面放置一些家具厂最常用到的木料。这个仓库实际上就是家具厂的“Cache”,家具厂就可以从仓库不停的及时运送需要的木料。当然,仓库越大,存放的木料越多,效果就越好,因为这样即使是些不常用的东西也可以在仓库里找到。如果我们需要的木料仓库里没有,就要从城外的木料厂里继续找,而家具厂就得等着了。 我想现在大家已经明白了我的意思,仓库就相对于L1缓存,可以由CPU及时快速的读写,所以存储的是CPU最常用代码和数据(后面我们会介绍一下如何挑选“最常用”)。L1缓存的速度比系统内存快的多是因为使用的是SRAM,这种内存单芯片使用四到六个晶体管。这也使得SRAM的造价相当的高,所以不能拿来用在整个存储系统上。 在大多数CPU上,L1缓存和核心一起在一块芯片上。如果在我们家具厂的例子中,就好比工厂和仓库在同一条街上。这样的设计使CPU可以从最近最快的地方得到数据,但是也使得“城外的木料厂”到“仓库”和到“家具厂”的距离差不多远。这样如果CPU需要的数据不在L1缓存中,也就是“Cache Miss”,从存储设备取数据就要很长时间了。处理器速度越快,两者之间的差距就越大。如果使用Pentium4那样的高频率处理器,从内存中取得数据就相当于“木料厂”位于另一个国家。 3.虚拟内存 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。 虚拟内存的设置 对于虚拟内存主要设置两点,即内存大小和分页位置,内存大小就是设置虚拟内存最小为多少和最大为多少;而分页位置则是设置虚拟内存应使用那个分区中的硬盘空间。对于内存大小的设置,如何得到最小值和最大值呢?你可以通过下面的方法获得:选择“开始→程序→附件→系统工具→系统监视器”(如果系统工具中没有,可以通过“添加/删除程序”中的Windows安装程序进行安装)打开系统监视器,然后选择“编辑→添加项目”,在“类型”项中选择“内存管理程序”,在右侧的列表选择“交换文件大小”。这样随着你的操作,会显示出交换文件值的波动情况,你可以把经常要使用到的程序打开,然后对它们进行使用,这时查看一下系统监视器中的表现值,由于用户每次使用电脑时的情况都不尽相同,因此,最好能够通过较长时间对交换文件进行监视来找出最符合您的交换文件的数值,这样才能保证系统性能稳定以及保持在最佳的状态。 找出最合适的范围值后,在设置虚拟内存时,用鼠标右键点击“我的电脑”,选择“属性”,弹出系统属性窗口,选择“性能”标签,点击下面“虚拟内存”按钮,弹出虚拟内存设置窗口,点击“用户自己指定虚拟内存设置”单选按钮,“硬盘”选较大剩余空间的分区,然后在“最小值”和“最大值”文本框中输入合适的范围值。如果您感觉使用系统监视器来获得最大和最小值有些麻烦的话,这里完全可以选择“让Windows管理虚拟内存设置”。 调整分页位置 Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。 而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把原先的分区设置为无分页文件,然后再选择其他分区。 或者,WinXP一般要求物理内存在256M以上。如果你喜欢玩大型3D游戏,而内存(包括显存)又不够大,系统会经常提示说虚拟内存不够,系统会自动调整(虚拟内存设置为系统管理)。 如果你的硬盘空间够大,你也可以自己设置虚拟内存,具体步骤如下:右键单击“我的电脑”→属性→高级→性能 设置→高级→虚拟内存 更改→选择虚拟内存(页面文件)存放的分区→自定义大小→确定最大值和最小值→设置。一般来说,虚拟内存为物理内存的1.5倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。 4.虚拟内存使用技巧 对于虚拟内存如何设置的问题,微软已经给我们提供了官方的解决办法,对于一般情况下,我们推荐采用如下的设置方法: (1)在Windows系统所在分区设置页面文件,文件的大小由你对系统的设置决定。具体设置方法如下:打开"我的电脑"的"属性"设置窗口,切换到"高级"选项卡,在"启动和故障恢复"窗口的"写入调试信息"栏,如果你采用的是"无",则将页面文件大小设置为2MB左右,如果采用"核心内存存储"和"完全内存存储",则将页面文件值设置得大一些,跟物理内存差不多就可以了。 小提示:对于系统分区是否设置页面文件,这里有一个矛盾:如果设置,则系统有可能会频繁读取这部分页面文件,从而加大系统盘所在磁道的负荷,但如果不设置,当系统出现蓝屏死机(特别是STOP错误)的时候,无法创建转储文件 (Memory.dmp),从而无法进行程序调试和错误报告了。所以折中的办法是在系统盘设置较小的页面文件,只要够用就行了。 (2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的 页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。 (3)其它硬盘分区不设置任何页面文件。当然,如果你有多个硬盘,则可以为每个硬盘都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作。这样系统性能将得到提高。 小提示: 允许设置的虚拟内存最小值为2MB,最大值不能超过当前硬盘的剩余空间值,同时也不能超过32位操作系统的内存寻址范围——4GB。

热点内容
两周自制脚本语言pdf 发布:2025-03-09 11:37:10 浏览:976
和速度算法 发布:2025-03-09 11:16:26 浏览:591
中文linuxman手册 发布:2025-03-09 11:11:59 浏览:894
c语言图片压缩 发布:2025-03-09 11:10:26 浏览:435
linuxchmod文件夹 发布:2025-03-09 11:09:39 浏览:933
linux进程查询 发布:2025-03-09 10:55:15 浏览:422
如何给电脑硬盘加密 发布:2025-03-09 10:54:09 浏览:911
低能耗电脑打印服务器 发布:2025-03-09 10:45:06 浏览:314
英雄联盟免费脚本 发布:2025-03-09 10:38:14 浏览:28
短信报警脚本 发布:2025-03-09 10:27:54 浏览:953