第四课内存储器 第一节内存的类型 内存是一组,或多组具有数据输入/输出和数据存储功能的集成电路。存根据其存储信息的特点,主要有两种基本类型:
第一种类型是只读存储器ROM(Read Only Memory),只读存储器强调其只读性,这种内存里面存放一次性写入的程序和数据,只能读出,不能写入;
第二种类型是随机存取存储器RAM(Random Access Memory),它允许程序通过指令随机地读写其中的数据。
1. 只读存储器ROM 存储在ROM中的数据理论上是永久的,既使在关机后,保存在ROM中的数据也不会丢失。因此,ROM中常用于存储微型机的重要信息,如主板上的BIOS等。常见类型如下: (1) ROM 这是标准ROM,用于存储不随外界的因素变化而永久性保存的数据。在ROM中,信息是被永久性融刻在ROM单元中的,这使得ROM在完成融刻工作之后,不可能将其中的信息改变。
(2) PROM(Programmable Rom) 即可编程ROM,它的工作情况与CD-R相似,允许一次性地写入其中的数据,一旦信息被写入PROM后,数据也将被永久性地融刻其中了,其他方面与上面介绍的ROM就没有什么两样了。
(3) EPROM(Erasable Programmable Rom) 即可擦写、可编程ROM,它可以通过特殊的装置(通常是紫外线)反复擦除,并重写其中的信息。
(4) EEPROM(Electrically Erasable Programmable Rom) 即电可擦写、可编程ROM,可以使用电信号来对其进行擦写。因此便于对其中的信息升级,常用于存放系统的程序和数据。 (5) Flash Memory Flash Memory 即闪存存储器,又称闪存,是目前取代传统的EPROM和EEPROM的主要非挥发性存储器,目前主板上的BIOS都是使用Flash Memory。它的存取时间仅为30ns,并具有体积小,高密度,低成本和控震性能好的优点,是目前为数不多的同时具有大容量、高速度、非易失性、可在线擦写特性的存储器。Flash Memory除用于系统的BIOS外,在移动存储器和HUB、路由器等网络设备中也得到了广泛的应用。
2. 随机存取存储器RAM 随机存储器RAM主要用来存放系统中正在运行的程序、数据和中间结果,以及用于与外部设备交换的信息。它的存储单元根据需要可以读出、也可以写入,但它只能用于暂时存放信息,一旦关闭电源,或发生断电,其中的数据就会丢失。
(1) SDRAM(Synchronous DRAM) SDRAM(Synchronous DRAM)的中文名字是“同步动态随机存储器”,它是PC100和PC133规范所广泛使用的内存类型,其接口为168线的DIMM类型(这种类型接口内存插板的两边都有数据接口触片),最高速度可达5ns,工作电压3.3 V。SDRAM与系统时钟同步,以相同的速度同步工作,即在一个CPU周期内来完成数据的访问和刷新,因此数据可在脉冲周期开始传输。SDRAM也采用了多体(Bank)存储器结构和突发模式,能传输一整块而不是一段数据,大大提高了数据传输率,最大可达133 MHz。
DIMM (168线)内存 DIMM内存插槽 (2) DDR SDRAM(Double Data Rate SDRAM) DDR就是双倍数据传输率(Double Data Rate),DDR SDRAM就是双倍数据传输率的SDRAM, DDR内存是SDRAM 的升级版本,它是更先进的SDRAM。SDRAM只在时钟周期的上升沿传输指令、地址和数据。而DDR SDRAM的数据线有特殊的电路,可以让它在时钟的上下沿都传输数据。DDR SDRAM与普通SDRAM的另一个比较明显的不同点在于电压,普通SDRAM的额定电压为3.3V,而DDR SDRAM则为2.5V。在物理结构上,DDR SDRAM采用采用184针(pin),金手指部分只有一个缺槽,与SDRAM的模块并不兼容。DDR SDRAM在命名原则上,也与SDRAM不同。SDRAM的命名是按照时钟频率来命名的,例如PC100与PC133,而DDR SDRAM则是以数据传输量作为命名原则,例如PC1600以及PC2100,分别表示其数据传速率为1600MB/s和2100MB/s。
(3) RDRAM(Rambus DRAM) RDRAM(Rambus DRAM)是Rambus公司开发出的具有系统带宽、芯片到芯片接口设计的新型DRAM,它能在很高的频率范围内通过一个简单的总线传输数据。Rambus通过进行上升、下降沿分别触发,使原有的400Mhz的频率转变为800Mhz。其带宽为1.6GB/s。其管脚数为184,使用2.5V电压。Rambus要求RIMM槽中必须全部插满,空余的RIMM槽要用专用的Rambus终结器插满Rambus之所以可以达到400Mhz的时钟频率,是因为它使用了铜线连接内存控制器和内存模块,并且通过减少铜线数量和长度,降低电磁干扰。
(4) 高速缓冲存储器(Cache) 高速缓冲存储器是位于CPU和主内存DRAM之间的规模较小、但速度很高的存储器,通常由SRAM组成。把在一段时间内一定地址范围被频繁访问的信息集合,成批地从主存中读到一个能高速存取的小容量存储器中存放起来,供程序在这段时间内随时采用,而减少,或不再去访问速度较慢的主存,就可以加快程序的运行速度。这个介于CPU和主存之间的高速小容量存储器就称之为高速缓冲存储器,简称Cache。目前,CPU一般设有一级缓存(L1 Cache)和二级缓存(L2 Cache)。Cache的基本操作有读和写,其衡量指标为命中率,即在有Cache的系统中,CPU访问数据时,在Cache中能直接找到的概率,它是Cache的一个重要指标。由于Cache加快了CPU访问主存的速度,所以Cache的大小对系统整体速度的提高十分显著。 第二节内存的性能指标和规范 1.内存的性能指标 (1) 存储容量 30线的内存条在容量大小上一般有三种:256K、1MB、4MB;72线的内存条现在有五种容光焕发量规格:1MB、4MB、8MB、16MB、32MB;168线和184线的容量都比较大,有32MB、64MB、128MB、256MB、512MB、1GB等。
(2) 接口类型 目前内存的主要接口类型是184(DDR内存)和168(SD内存)线的DIMM类型接口,较早的EDO-RAM内存条使用的72线的SIMM类型接口已经很少见了。DIMM内存插板的两边都有数据接口触片,一般是84或92针,双边共84*2=168或92*2=184针,所以通常把这种内存称为168/184线内存。而SIMM内存为72线内存。是5X86及其较早的PC中常采用的内存接口方式。
(3) 系统时钟周期(Tck)、最大延迟时间(tAC)和CAS延迟时间(CL)tCK(TCLK)
系统时钟周期,它代表SDRAM所能运行的最大频率。数字越小说明SDRAM芯片所能运行的频率就越高。最大延迟时间tAC(Access Time from CLK)是最大CAS延迟时的最大输入时钟数,PC100规范要求在CL=3时tAC不大于6ns。目前大多数SDRAM芯片的存取时间为5、6、7、8或10ns。CAS的延迟时间CL(CAS Latency)是纵向地址脉冲的反应时间,它关系着内存的反应速度。目前SDRAM的CAS延迟时间大部分为2或3,即它在读取数据时的延迟时间,可以是2个时钟周期,也可以是3个时钟周期,当然越小越快。
(4) 内存的带宽总量 内存带宽总量是在理想状态下一组内存在一秒内所能传输的最大数据容量。计算公式为:内存带宽总量(MBytes) = 最大时钟速频率 (MHz) * 总线宽度 (bits) x*每时钟数据段数量/ 8
(5) 电压 SDRAM使用3.3V电压,DDR使用2.5 V电压,而新的DDR-II内存使用1.8 V电压。
(6) 错误检查与校正(ECC) ECC(Error Check Correct,错误检查与校正)校验功能,不但使内存只有数据检查的能力,而且使内存具备数据错误修正功能。以前奇偶校验的是8 bit数据,用1bit的奇偶校验位来检查数据的正确性,但具有ECC功能的内存,则用4bit来检查8bit的数据是否正确。当CPU读取数据时,若有1个bit的数据错误,则ECC就会根据原先存在4bit中的检验bit数据,来定位那个bit错误,而且会将错误数据加以校正。
(7) 奇偶校验 为检验内存在存取过程中是否准确无误,每8位容量配备1位作为奇偶校验位,配合主板上的奇偶校验电路,对存取的数据进行正确校验,这需要在内存条上额外加装一块芯片。鉴别内存条是否带奇偶校验比较简单,装好内存开机后,在BIOS设置中,选择允许奇偶校验,如果机器可正常引导,则说明内存条带奇偶校验,如果屏幕上出现奇偶校验错的提示后死机,则说明内存不带奇偶校验。 (8) SPD 从PC100标准开始,内存条上就装有一个称为SPD(Serial Presence Detect,串行存在探测)的小芯片。SPD一般位于内存条正面右侧,它是1个8针SDIC封装(3mm*4mm)256字节的EEPROM芯片,里面保存着内存条的速度、工作频率、容量、工作电压、CAS、tRCD、tRP、tAC、SPD版本等信息。当开机时,支持SPD功能的主板BIOS就会读取SPD中的信息,按照读取的值来设置内存的存取时间。当然,这些情况只是在内存参数设置为By SPD的情况下才可以实现。
2. 内存的规范