- 左迁
-
分类: 电脑/网络 >> 硬件
解析:
在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。
既然内存是用来存放当前正在使用的(即执行中)的数据和程序,那么它是怎么工作的呢?我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,借此来保持数据的连续性。
从一有计算机开始,就有内存。内存发展到今天也经历了很多次的技术改进,从最早的DRAM一直到FPMDRAM、EDODRAM、SDRAM等,内存的速度一直在提高且容量也在不断的增加。今天,服务器主要使用的是什么样的内存呢?目前,IA架构的服务器普遍使用的是REGue011ISTEREDECCSDRAM,下一期我们将详细介绍这一全新的内存技术及它给服务器带来的独特的技术优势
什么是内存?
内存最小的物理单元是位,从本质上来讲,位是一个位于某种二值状态(通常是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缓存。内存的升级也就是处理器的升级,然而总价格仍然维持在一个相对较低的水平上。