lol赵信符文s7:什么是内存?什么是虚拟内存?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/09 20:00:54
虚拟内存是越大越好吗?一般最大植最小植在多少之间.

关于内存

内存最小的物理单元是位,从本质上来讲,位是一个位于某种二值状态(通常是0和1)下的电气单元。

八位组成一个字节,这样组合的可能有256种(2的8次方)。字节是内存可访问的最小单元,每个这样的组合可代表单独的一个数据字符或指令。ascii码字符集实际上只使用了7位,因此支持128种可能的字符。对于所有的26个英文字母(包括大小写)、数字和特殊字符来说,这个数目完全够用。某些语种的字符数目比较庞大,因此它们可能会使用“双字节”字符集(例如汉字)。

pc机上所使用的内存可以分为两大类,分别是只读内存(rom)和随即访问内存(ram)。从它们的名字上可以看出,rom数据不能随意更新,但是在任何时候都可以读取。即使是断电,rom也能够保留数据。至于ram则在任何时候都可以读写,因此ram通常用作操作系统或其他正在运行的程序的临时存储介质(可称作系统内存)。不幸的是,掉电时ram不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将ram称作“可变存储器”。

ram内存可以进一步分为静态ram(sram)和动态内存(dram)两大类。由于实现方法上的差异,dram要比sram慢。sram由逻辑晶体管组成,数据采用触发的方式进行存储。因此改变和读取内存单元格的速度非常快。而dram使用电容存储数据。由于电容会逐渐放电,所以必须周期性的对它重新充电(即:刷新)。由于在执行读操作时电容也会放电,因此每次读操作之后也必须重新充电。刷新操作需要占用时钟周期,这可能会影响到其他的操作。虽然sram比dram的速度要快近10倍,但是它的价格也要比dram贵许多—
事实上,sram要比dram贵近10倍。

内存的使用

使用rom内存来保存pc上的bios程序非常理想,后者是一个基本的引导程序。这个引导程序非常小,可以驻留在较小的内存中(小于2mb)。rom内存包括可编程rom(prom)、可擦写可编程rom(eprom)、电可擦写可编程rom(eeprom)等等。目前bios一般使用eeprom,由于它可以通过加电擦除改写,由此能够对bios进行程序升级,从而在芯片中置入新的引导程序。这就是所谓的“闪写bios”。

起初的微机都是朝着廉价低档方向设计,其组件的成本也很低,系统内存也一直使用廉价(因此速度也慢)的dram。在pc出现时,dram的速度足够处理8086/8088
4.77mhz的总线速度,甚至在较快的80286处理器(总线速度可达12mhz,或80ns)上也是如此。

随着80386的出现,时钟速度可以达到20mhz、25mhz、甚至33mhz时,当时现有的dram就不能满足速度的要求。

为了消除处理器和主存速度之间的不一致,设计人员开始在主板上使用少量的sram内存,它们运行在系统总线速度下,用来保存最近使用过的数据。尽管sram的速度要比dram快很多,但是没过多久处理器的速度就再次超过了主板缓存的速度。在80486出现时,其芯片内部已经置入了8k的sram缓存,因为它运行在cpu速度下,因此被称作第一层(l1)缓存,而主板上的缓存则被称作l2。今天高性能的系统仍在沿用这种“内存层次结构”。

内存方面值得关注的问题

所有的dram的基本内核都相同,因此内部速度也相同,而等待时间也都相对比较大。在过去几年中,人们设计出了许多方案来优化或消除这些局限,然而结果往往是某个方面得到了改善,而另外某个方面却不如以前。由于sram的成本相对较高,行业的竞争相当激烈,因此dram仍然是大容量系统内存唯一可行的选择,包括在图形子系统中常常也是如此。sram内存通常仅用作缓存:外部缓存(位于主板上)或者内部缓存(内置到处理器或dram芯片中很少量的一部分)。

处理器主频的发展速度是相当惊人的,因此内存设计人员不得不在不显著提高其成本的前提下大力提高dram的速度。如果处理器需要一个以上的时钟周期来执行一条指令,而内存子系统可以以慢两到三倍的速度运行,那么内存还能够和cpu速度相协调。随着处理器性能越来越优良,已经可以在一个时钟周期内执行一条甚至多条指令。不幸的是,虽然处理器目前的速度可以达到500mhz,但是主存的速度却局限于100mhz(在某些情况下可能会达到133mhz)。这时内存和处理器之间的速度就存在失调现象。造成这种失调的主要原因是,主存通常使用dram,这种类型的内存本身就太慢了。

人们提出了许多设计sram和dram的方法并付诸实施。每种方法都希望能够着解决一定情况下的速度问题。然而不幸的是,我们还没有找到一种“理想”的内存体系结构来解决所有的问题。因为任何人都没有能够做到显著的提高dram的速度而不用显著的提高其成本。

目前的发展方向

处理器的速度仍在飞速的增长。大约在2000年主流处理器的速度将达到1ghz。现在正在使用的内存很快就会显得太慢,当然很快也会出现新的设计方案。在过去的一些年中,人们提出了许多种设计方案,但是由于营销和公司政策方面的原因,它们或被舍弃,或局限于很小的应用范围。

sram和dram内存经历了一个逐步演变的过程,从单芯片、异步、单排结构发展到多芯片、同步的多排结构,同时还采用了更多的先进技术,例如流水线操作、脉冲模式访问以及数据预取。此外还专门为图形、通信以及其他应用设计了专用的dram。有一点似乎是确定的——处理器和内存都将渐渐变得越来越廉价,生命周期也会相对变短许多。最终我们可能会看到这样一个局面:不仅l2缓存被嵌入到了芯片中,整个系统ram也被嵌入了进来。到那时由于dram可以运行在,或者接近于,处理器速度下,因此没有必要再使用sram缓存。内存的升级也就是处理器的升级,然而总价格仍然维持在一个相对较低的水平上。

关于虚拟内存

内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,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倍,稍大一点也可以,如果你不想虚拟内存频繁改动,可以将最大值和最小值设置为一样。

虚拟内存不是越大越好最小值为内存的1.5倍,最大值为3倍