⑴ 存储器的分类
一、RAM(Random Access Memory,随机存取存储器)
RAM的特点是:电脑开机时,操作系统和应用程序的所有正在运行的数据和程序都会放置其中,并且随时可以对存放在里面的数据进行修改和存取。它的工作需要由持续的电力提供,一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复。
根据组成元件的不同,RAM内存又分为以下十八种:
01.DRAM(Dynamic RAM,动态随机存取存储器)
这是最普通的RAM,一个电子管与一个电容器组成一个位存储单元,DRAM将每个内存位作为一个电荷保存在位存储单元中,用电容的充放电来做储存动作,但因电容本身有漏电问题,因此必须每几微秒就要刷新一次,否则数据会丢失。存取时间和放电时间一致,约为2~4ms。因为成本比较便宜,通常都用作计算机内的主存储器。
02.SRAM(Static RAM,静态随机存取存储器)
静态,指的是内存里面的数据可以长驻其中而不需要随时进行存取。每6颗电子管组成一个位存储单元,因为没有电容器,因此无须不断充电即可正常运作,因此它可以比一般的动态随机处理内存处理速度更快更稳定,往往用来做高速缓存。
03.VRAM(Video RAM,视频内存)
它的主要功能是将显卡的视频数据输出到数模转换器中,有效降低绘图显示芯片的工作负担。它采用双数据口设计,其中一个数据口是并行式的数据输出入口,另一个是串行式的数据输出口。多用于高级显卡中的高档内存。
04.FPM DRAM(Fast Page Mode DRAM,快速页切换模式动态随机存取存储器)
改良版的DRAM,大多数为72Pin或30Pin的模块。传统的DRAM在存取一个BIT的数据时,必须送出行地址和列地址各一次才能读写数据。而FRM DRAM在触发了行地址后,如果CPU需要的地址在同一行内,则可以连续输出列地址而不必再输出行地址了。由于一般的程序和数据在内存中排列的地址是连续的,这种情况下输出行地址后连续输出列地址就可以得到所需要的数据。FPM将记忆体内部隔成许多页数Pages,从512B到数KB不等,在读取一连续区域内的数据时,就可以通过快速页切换模式来直接读取各page内的资料,从而大大提高读取速度。在96年以前,在486时代和PENTIUM时代的初期, FPM DRAM被大量使用。
05.EDO DRAM(Extended Data Out DRAM,延伸数据输出动态随机存取存储器)
这是继FPM之后出现的一种存储器,一般为72Pin、168Pin的模块。它不需要像FPM DRAM那样在存取每一BIT 数据时必须输出行地址和列地址并使其稳定一段时间,然后才能读写有效的数据,而下一个BIT的地址必须等待这次读写操作完成才能输出。因此它可以大大缩短等待输出地址的时间,其存取速度一般比FPM模式快15%左右。它一般应用于中档以下的Pentium主板标准内存,后期的486系统开始支持EDO DRAM,到96年后期,EDO DRAM开始执行。。
06.BEDO DRAM(Burst Extended Data Out DRAM,爆发式延伸数据输出动态随机存取存储器)
这是改良型的EDO DRAM,是由美光公司提出的,它在芯片上增加了一个地址计数器来追踪下一个地址。它是突发式的读取方式,也就是当一个数据地址被送出后,剩下的三个数据每一个都只需要一个周期就能读取,因此一次可以存取多组数据,速度比EDO DRAM快。但支持BEDO DRAM内存的主板可谓少之又少,只有极少几款提供支持(如VIA APOLLO VP2),因此很快就被DRAM取代了。
07.MDRAM(Multi-Bank DRAM,多插槽动态随机存取存储器)
MoSys公司提出的一种内存规格,其内部分成数个类别不同的小储存库 (BANK),也即由数个属立的小单位矩阵所构成,每个储存库之间以高于外部的资料速度相互连接,一般应用于高速显示卡或加速卡中,也有少数主机板用于L2高速缓存中。
08.WRAM(Window RAM,窗口随机存取存储器)
韩国Samsung公司开发的内存模式,是VRAM内存的改良版,不同之处是它的控制线路有一、二十组的输入/输出控制器,并采用EDO的资料存取模式,因此速度相对较快,另外还提供了区块搬移功能(BitBlt),可应用于专业绘图工作上。
09.RDRAM(Rambus DRAM,高频动态随机存取存储器)
Rambus公司独立设计完成的一种内存模式,速度一般可以达到500~530MB/s,是DRAM的10倍以上。但使用该内存后内存控制器需要作相当大的改变,因此它们一般应用于专业的图形加速适配卡或者电视游戏机的视频内存中。
10.SDRAM(Synchronous DRAM,同步动态随机存取存储器)
这是一种与CPU实现外频Clock同步的内存模式,一般都采用168Pin的内存模组,工作电压为3.3V。 所谓clock同步是指内存能够与CPU同步存取资料,这样可以取消等待周期,减少数据传输的延迟,因此可提升计算机的性能和效率。
11.SGRAM(Synchronous Graphics RAM,同步绘图随机存取存储器)
SDRAM的改良版,它以区块Block,即每32bit为基本存取单位,个别地取回或修改存取的资料,减少内存整体读写的次数,另外还针对绘图需要而增加了绘图控制器,并提供区块搬移功能(BitBlt),效率明显高于SDRAM。
12.SB SRAM(Synchronous Burst SRAM,同步爆发式静态随机存取存储器)
一般的SRAM是异步的,为了适应CPU越来越快的速度,需要使它的工作时脉变得与系统同步,这就是SB SRAM产生的原因。
13.PB SRAM(Pipeline Burst SRAM,管线爆发式静态随机存取存储器)
CPU外频速度的迅猛提升对与其相搭配的内存提出了更高的要求,管线爆发式SRAM取代同步爆发式SRAM成为必然的选择,因为它可以有效地延长存取时脉,从而有效提高访问速度。
14.DDR SDRAM(Double Data Rate二倍速率同步动态随机存取存储器)
作为SDRAM的换代产品,它具有两大特点:其一,速度比SDRAM有一倍的提高;其二,采用了DLL(Delay Locked Loop:延时锁定回路)提供一个数据滤波信号。这是目前内存市场上的主流模式。
15.SLDRAM (Synchronize Link,同步链环动态随机存取存储器)
这是一种扩展型SDRAM结构内存,在增加了更先进同步电路的同时,还改进了逻辑控制电路,不过由于技术显示,投入实用的难度不小。
16.CDRAM(CACHED DRAM,同步缓存动态随机存取存储器)
这是三菱电气公司首先研制的专利技术,它是在DRAM芯片的外部插针和内部DRAM之间插入一个SRAM作为二级CACHE使用。当前,几乎所有的CPU都装有一级CACHE来提高效率,随着CPU时钟频率的成倍提高,CACHE不被选中对系统性能产生的影响将会越来越大,而CACHE DRAM所提供的二级CACHE正好用以补充CPU一级CACHE之不足,因此能极大地提高CPU效率。
17.DDRII (Double Data Rate Synchronous DRAM,第二代同步双倍速率动态随机存取存储器)
DDRII 是DDR原有的SLDRAM联盟于1999年解散后将既有的研发成果与DDR整合之后的未来新标准。DDRII的详细规格目前尚未确定。
18.DRDRAM (Direct Rambus DRAM)
是下一代的主流内存标准之一,由Rambus 公司所设计发展出来,是将所有的接脚都连结到一个共同的Bus,这样不但可以减少控制器的体积,已可以增加资料传送的效率。
二、ROM(READ Only Memory,只读存储器)
ROM是线路最简单半导体电路,通过掩模工艺,一次性制造,在元件正常工作的情况下,其中的代码与数据将永久保存,并且不能够进行修改。一般应用于PC系统的程序码、主机板上的 BIOS (基本输入/输出系统Basic Input/Output System)等。它的读取速度比RAM慢很多。
根据组成元件的不同,ROM内存又分为以下五种:
1.MASK ROM(掩模型只读存储器)
制造商为了大量生产ROM内存,需要先制作一颗有原始数据的ROM或EPROM作为样本,然后再大量复制,这一样本就是MASK ROM,而烧录在MASK ROM中的资料永远无法做修改。它的成本比较低。
2.PROM(Programmable ROM,可编程只读存储器)
这是一种可以用刻录机将资料写入的ROM内存,但只能写入一次,所以也被称为“一次可编程只读存储器”(One Time Progarmming ROM,OTP-ROM)。PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1), 以实现对其“编程”的目的。
3.EPROM(Erasable Programmable,可擦可编程只读存储器)
这是一种具有可擦除功能,擦除后即可进行再编程的ROM内存,写入前必须先把里面的内容用紫外线照射它的IC卡上的透明视窗的方式来清除掉。这一类芯片比较容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住, 以防止遭到阳光直射。
4.EEPROM(Electrically Erasable Programmable,电可擦可编程只读存储器)
功能与使用方式与EPROM一样,不同之处是清除数据的方式,它是以约20V的电压来进行清除的。另外它还可以用电信号进行数据写入。这类ROM内存多应用于即插即用(PnP)接口中。
5.Flash Memory(快闪存储器)
这是一种可以直接在主机板上修改内容而不需要将IC拔下的内存,当电源关掉后储存在里面的资料并不会流失掉,在写入资料时必须先将原本的资料清除掉,然后才能再写入新的资料,缺点为写入资料的速度太慢。
⑵ 存储器的简介
存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。
存储器:存放程序和数据的器件
存储位:存放一个二进制数位的存储单元,是存储器最小的存储单位,或称记忆单元
存储字:一个数(n位二进制位)作为一个整体存入或取出时,称存储字
存储单元:存放一个存储字的若干个记忆单元组成一个存储单元
存储体:大量存储单元的集合组成存储体
存储单元地址:存储单元的编号
字编址:对存储单元按字编址
字节编址:对存储单元按字节编址
寻址:由地址寻找数据,从对应地址的存储单元中访存数据。
以存储体(大量存储单元组成的阵列)为核心,加上必要的地址译码、读写控制电路,即为存储集成电路;再加上必要的I/O接口和一些额外的电路如存取策略管理,则形成存储芯片,比如手机中常用的存储芯片。得益于新的IC制造或芯片封装工艺,现在已经有能力把DRAM和FLASH存储单元集成在单芯片里。存储芯片再与控制芯片(负责复杂的存取控制、存储管理、加密、与其他器件的配合等)及时钟、电源等必要的组件集成在电路板上构成整机,就是一个存储产品,如U盘。从存储单元(晶体管阵列)到存储集成电路再到存储设备,都是为了实现信息的存储,区别是层次的不同。
⑶ 计算机中存储器分哪两类,它们的特点是什么
内部存储器和外部存储器两类。
内部存储器速度快,但断电后存储的数据丢失。如内存。
外部存储器速度相对慢,但断电后数据仍然保存。如硬盘。
在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。
计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。
(3)再存储器扩展阅读:
服务器在存储器环境按这样的方法分配存储器:在某个环境分配的存储器可以被环境析构器释放而不会影响其他环境中分配的存储器。
所有存储器分配(通过 palloc 等)都被当作在当前环境的区域中分配存储器.如果你试图释放(或再分配)不在当前环境的存储器,你将得到不可预料的结果。
当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。
基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。
⑷ 存储器可分为哪两种
存储器可分为即内存储器和外存储器,简称内存和外存。
内存是直接受CPU控制与管理的并只能暂存数据信息的存储器,外存可以永久性保存信息的存储器。存于外存中的程序必须调入内存才能运行,内存是计算机工作的舞台。内存与外存的区别是:内存只能暂存数据信息,外存可以永久性保存数据信息;
外存不受CPU控制,但外存必须借助内存才能与CPU交换数据信息;内存的访问速度快,外存的访问速度慢。内存可分为:RAM与ROM。RAM的特点是:可读可写,但断电信息丢失。ROM用于存储BIOS。外存有:磁盘(软盘和硬盘)、光盘、U盘(电子盘)。
(4)再存储器扩展阅读:
构成存储器的存储介质,目前主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。
一个存储器包含许多存储单元,每个存储单元可存放一个字节。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。
假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示220,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1KB。
⑸ 常见的外存储器和内存储器有哪些它们有何联系
按照与CPU的接近程度,存储器分为内存储器与外存储器,简称内存与外存。内存储器又常称为主存储器(简称主存),属于主机的组成部分;外存储器又常称为辅助存储器(简称辅存),属于外部设备。CPU不能像访问内存那样,直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。在80386以上的高档微机中,就是现在所有的微机,还配置了高速缓冲存储器,这时内存包括主存与高速缓存两部分。
半导体存储器速度快,但价格高,容量不宜做得很大,因此仅用作与CPU频繁交流信息的内存储器。
磁盘存储器价格较便宜,可以把容量做得很大,但存取速度较慢,因此用作存取次数较少,且需存放大量程序、原始数据(许多程序和数据是暂时不参加运算的)和运行结果的外存储器。计算机在执行某项任务时,仅将与此有关的程序和原始数据从磁盘上调入容量较小的内存,通过CPU与内存进行高速的数据处理,然后将最终结果通过内存再写入磁盘。这样的配置价格适中,综合存取速度则较快。
内存储器速度快,但由于成本问题不能做到太大容量,而且有个致命弱点,就是需要电力维持数据,一旦断电,数据将会消失。比如CMOS是一种内存储器,在主板上保存BIOS设置的数据,例如主板的开机密码。所以我们可以拔掉主板上的电池来清除开机密码(所谓的清CMOS),就是利用内存这个弱点。没有了电池,保存在CMOS里的数据就丢失了,包括密码。
外存储器速度慢,但成本很低(80G硬盘才400元),容量可以做到很大。而且有内存没有的优点,就是不需要电力维持数据。所以你可以带硬盘到朋友家拷贝几十个G的电影,然后再带回自己家看,中途不需要背个电池来给硬盘通电维持它的数据。
⑹ 存储器的基本结构原理
存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM),两者的功能有较大的区别,因此在描述上也有所不同
存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干三进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似,故在VHDL语言中,通常由数组描述存储器
结构
存储器结构在MCS - 51系列单片机中,程序存储器和数据存储器互相独立,物理结构也不相同。程序存储器为只读存储器,数据存储器为随机存取存储器。从物理地址空间看,共有4个存储地址空间,即片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器,I/O接口与外部数据存储器统一编址
存储器是用来存储程序和各种数据信息的记忆部件。存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。
主存的工作方式是按存储单元的地址存放或读取各类信息,统称访问存储器。主存中汇集存储单元的载体称为存储体,存储体中每个单元能够存放一串二进制码表示的信息,该信息的总位数称为一个存储单元的字长。存储单元的地址与存储在其中的信息是一一对应的,单元地址只有一个,固定不变,而存储在其中的信息是可以更换的。
指示每个单元的二进制编码称为地址码。寻找某个单元时,先要给出它的地址码。暂存这个地址码的寄存器叫存储器地址寄存器(MAR)。为可存放从主存的存储单元内取出的信息或准备存入某存储单元的信息,还要设置一个存储器数据寄存器(MDR)
⑺ 存储器是什么
存储器(Memory)是现代信息技术中用于保存信息的记忆设备。在数字系统中,只要能保存二进制数据的都可以是存储器。
在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等。
在系统中,具有实物形式的存储设备也叫存储器,计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
(7)再存储器扩展阅读:
1、分类
cf闪存卡:一种袖珍闪存卡。像pc卡那样插入数码相机,它可用适配器,使之适应标准的pc卡阅读器或其他的pc卡设备。
sd闪存卡:存储的速度快,非常小巧,外观和MMC一样,市面上较多数数码相机使用这种格式的存储卡。
数字胶卷:一种数码相机的存储介质,同日立的sm卡、松下的sd卡、索尼的memorystick属同类的数字存储媒体。
2、特性
优异性能支持高并发、带宽饱和利用。存储系统将控制流和数据流分离,数据访问时多个存储服务器同时对外提供服务,实现高并发访问。
无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型以及使用目的。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。
⑻ 储存器可分为哪三类
储存器可分为随机存储器、只读存储器和外存储器三类。
一、随机存储器:随机存取存储器(random access memory)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。
二、只读存储器:其英文简称是ROM,它所存储的数据通常都是装入主机之前就写好的,在工作的时候只能读取而不能像随机存储器那样随便写入,但是只读存储器有的所存储的数据十分稳定。而且只读存储器的结构十分简单,读出很简便,因此一般用于存储各种的程序与数据的地方。
三、外存储器:外存储器包括软盘存储器、硬盘存储器、移动存储器、闪存盘(优盘)、移动硬盘、固态硬盘(SSD)、光盘存储器等。外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。
(8)再存储器扩展阅读
储存器主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。
一个存储器包含许多存储单元,每个存储单元可存放一个字节。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。
⑼ 存储器的原理是什么
存储器讲述工作原理及作用
介绍
存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
2.按存取方式分类
(1)随机存储器(RAM):如果存储器中任何存储单元的内容都能被随机存取,且存取时间与存储单元的物理位置无关,则这种存储器称为随机存储器(RAM)。RAM主要用来存放各种输入/输出的程序、数据、中间运算结果以及存放与外界交换的信息和做堆栈用。随机存储器主要充当高速缓冲存储器和主存储器。
(2)串行访问存储器(SAS):如果存储器只能按某种顺序来存取,也就是说,存取时间与存储单元的物理位置有关,则这种存储器称为串行访问存储器。串行存储器又可分为顺序存取存储器(SAM)和直接存取存储器(DAM)。顺序存取存储器是完全的串行访问存储器,如磁带,信息以顺序的方式从存储介质的始端开始写入(或读出);直接存取存储器是部分串行访问存储器,如磁盘存储器,它介于顺序存取和随机存取之间。
(3)只读存储器(ROM):只读存储器是一种对其内容只能读不能写入的存储器,即预先一次写入的存储器。通常用来存放固定不变的信息。如经常用作微程序控制存储器。目前已有可重写的只读存储器。常见的有掩模ROM(MROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM).ROM的电路比RAM的简单、集成度高,成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序、成熟的用户程序放在ROM中。
3.按信息的可保存性分类
非永久记忆的存储器:断电后信息就消失的存储器,如半导体读/写存储器RAM。
永久性记忆的存储器:断电后仍能保存信息的存储器,如磁性材料做成的存储器以及半导体ROM。
4.按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
能力影响
从写命令转换到读命令,在某个时间访问某个地址,以及刷新数据等操作都要求数据总线在一定时间内保持休止状态,这样就不能充分利用存储器通道。此外,宽并行总线和DRAM内核预取都经常导致不必要的大数据量存取。在指定的时间段内,存储器控制器能存取的有用数据称为有效数据速率,这很大程度上取决于系统的特定应用。有效数据速率随着时间而变化,常低于峰值数据速率。在某些系统中,有效数据速率可下降到峰值速率的10%以下。
通常,这些系统受益于那些能产生更高有效数据速率的存储器技术的变化。在CPU方面存在类似的现象,最近几年诸如AMD和 TRANSMETA等公司已经指出,在测量基于CPU的系统的性能时,时钟频率不是唯一的要素。存储器技术已经很成熟,峰值速率和有效数据速率或许并不比以前匹配的更好。尽管峰值速率依然是存储器技术最重要的参数之一,但其他结构参数也可以极大地影响存储器系统的性能。
影响有效数据速率的参数
有几类影响有效数据速率的参数,其一是导致数据总线进入若干周期的停止状态。在这类参数中,总线转换、行周期时间、CAS延时以及RAS到CAS的延时(tRCD)引发系统结构中的大部分延迟问题。
总线转换本身会在数据通道上产生非常长的停止时间。以GDDR3系统为例,该系统对存储器的开放页不断写入数据。在这期间,存储器系统的有效数据速率与其峰值速率相当。不过,假设100个时钟周期中,存储器控制器从读转换到写。由于这个转换需要6个时钟周期,有效的数据速率下降到峰值速率的 94%。在这100个时钟周期中,如果存储器控制器将总线从写转换到读的话,将会丢失更多的时钟周期。这种存储器技术在从写转换到读时需要15个空闲周期,这会将有效数据速率进一步降低到峰值速率的79%。表1显示出针几种高性能存储器技术类似的计算结果。
显然,所有的存储器技术并不相同。需要很多总线转换的系统设计师可以选用诸如XDR、RDRAM或者DDR2这些更高效的技术来提升性能。另一方面,如果系统能将处理事务分组成非常长的读写序列,那么总线转换对有效带宽的影响最小。不过,其他的增加延迟现象,例如库(bank)冲突会降低有效带宽,对性能产生负面影响。
DRAM技术要求库的页或行在存取之前开放。一旦开放,在一个最小周期时间,即行周期时间(tRC)结束之前,同一个库中的不同页不能开放。对存储器开放库的不同页存取被称为分页遗漏,这会导致与任何tRC间隔未满足部分相关的延迟。对于还没有开放足够周期以满足tRC间隙的库而言,分页遗漏被称为库冲突。而tRC决定了库冲突延迟时间的长短,在给定的DRAM上可用的库数量直接影响库冲突产生的频率。
大多数存储器技术有4个或者8个库,在数十个时钟周期具有tRC值。在随机负载情况下,那些具有8个库的内核比具有4个库的内核所发生的库冲突更少。尽管tRC与库数量之间的相互影响很复杂,但是其累计影响可用多种方法量化。
存储器读事务处理
考虑三种简单的存储器读事务处理情况。第一种情况,存储器控制器发出每个事务处理,该事务处理与前一个事务处理产生一个库冲突。控制器必须在打开一个页和打开后续页之间等待一个tRC时间,这样增加了与页循环相关的最大延迟时间。在这种情况下的有效数据速率很大程度上决定于I/O,并主要受限于DRAM内核电路。最大的库冲突频率将有效带宽削减到当前最高端存储器技术峰值的20%到30%。
在第二种情况下,每个事务处理都以随机产生的地址为目标。此时,产生库冲突的机会取决于很多因素,包括tRC和存储器内核中库数量之间的相互作用。tRC值越小,开放页循环地越快,导致库冲突的损失越小。此外,存储器技术具有的库越多,随机地址存取库冲突的机率就越小。
第三种情况,每个事务处理就是一次页命中,在开放页中寻址不同的列地址。控制器不必访问关闭页,允许完全利用总线,这样就得到一种理想的情况,即有效数据速率等于峰值速率。
第一种和第三种情况都涉及到简单的计算,随机情况受其他的特性影响,这些特性没有包括在DRAM或者存储器接口中。存储器控制器仲裁和排队会极大地改善库冲突频率,因为更有可能出现不产生冲突的事务处理,而不是那些导致库冲突的事务处理。
然而,增加存储器队列深度未必增加不同存储器技术之间的相对有效数据速率。例如,即使增加存储器控制队列深度,XDR的有效数据速率也比 GDDR3高20%。存在这种增量主要是因为XDR具有更高的库数量以及更低的tRC值。一般而言,更短的tRC间隔、更多的库数量以及更大的控制器队列能产生更高的有效带宽。
实际上,很多效率限制现象是与行存取粒度相关的问题。tRC约束本质上要求存储器控制器从新开放的行中存取一定量的数据,以确保数据管线保持充满。事实上,为保持数据总线无中断地运行,在开放一个行之后,只须读取很少量的数据,即使不需要额外的数据。
另外一种减少存储器系统有效带宽的主要特性被归类到列存取粒度范畴,它规定了每次读写操作必须传输的数据量。与之相反,行存取粒度规定每个行激活(一般指每个RAS的CAS操作)需要多少单独的读写操作。列存取粒度对有效数据速率具有不易于量化的巨大影响。因为它规定一个读或写操作中需要传输的最小数据量,列存取粒度给那些一次只需要很少数据量的系统带来了问题。例如,一个需要来自两列各8字节的16字节存取粒度系统,必须读取总共32字节以存取两个位置。因为只需要32个字节中的16个字节,系统的有效数据速率降低到峰值速率的50%。总线带宽和脉冲时间长度这两个结构参数规定了存储器系统的存取粒度。
总线带宽是指连接存储器控制器和存储器件之间的数据线数量。它设定最小的存取粒度,因为对于一个指定的存储器事务处理,每条数据线必须至少传递一个数据位。而脉冲时间长度则规定对于指定的事务处理,每条数据线必须传递的位数量。每个事务处理中的每条数据线只传一个数据位的存储技术,其脉冲时间长度为1。总的列存取粒度很简单:列存取粒度=总线宽度×脉冲时间长度。
很多系统架构仅仅通过增加DRAM器件和存储总线带宽就能增加存储系统的可用带宽。毕竟,如果4个400MHz数据速率的连接可实现 1.6GHz的总峰值带宽,那么8个连接将得到3.2GHz。增加一个DRAM器件,电路板上的连线以及ASIC的管脚就会增多,总峰值带宽相应地倍增。
首要的是,架构师希望完全利用峰值带宽,这已经达到他们通过物理设计存储器总线所能达到的最大值。具有256位甚或512位存储总线的图形控制器已并不鲜见,这种控制器需要1,000个,甚至更多的管脚。封装设计师、ASIC底层规划工程师以及电路板设计工程师不能找到采用便宜的、商业上可行的方法来对这么多信号进行布线的硅片区域。仅仅增加总线宽度来获得更高的峰值数据速率,会导致因为列存取粒度限制而降低有效带宽。
假设某个特定存储技术的脉冲时间长度等于1,对于一个存储器处理,512位宽系统的存取粒度为512位(或者64字节)。如果控制器只需要一小段数据,那么剩下的数据就被浪费掉,这就降低了系统的有效数据速率。例如,只需要存储系统32字节数据的控制器将浪费剩余的32字节,进而导致有效的数据速率等于50%的峰值速率。这些计算都假定脉冲时间长度为1。随着存储器接口数据速率增加的趋势,大多数新技术的最低脉冲时间长度都大于1。
选择技巧
存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择是一个非常重要的决策。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。另外,在选择过程中,存储器的尺寸和成本也是需要考虑的重要因素。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及系统总成本。
选择存储器时应遵循的基本原则
1、内部存储器与外部存储器
一般情况下,当确定了存储程序代码和数据所需要的存储空间之后,设计工程师将决定是采用内部存储器还是外部存储器。通常情况下,内部存储器的性价比最高但灵活性最低,因此设计工程师必须确定对存储的需求将来是否会增长,以及是否有某种途径可以升级到代码空间更大的微控制器。基于成本考虑,人们通常选择能满足应用要求的存储器容量最小的微控制器,因此在预测代码规模的时候要必须特别小心,因为代码规模增大可能要求更换微控制器。目前市场上存在各种规模的外部存储器器件,我们很容易通过增加存储器来适应代码规模的增加。有时这意味着以封装尺寸相同但容量更大的存储器替代现有的存储器,或者在总线上增加存储器。即使微控制器带有内部存储器,也可以通过增加外部串行EEPROM或闪存来满足系统对非易失性存储器的需求。
2、引导存储器
在较大的微控制器系统或基于处理器的系统中,设计工程师可以利用引导代码进行初始化。应用本身通常决定了是否需要引导代码,以及是否需要专门的引导存储器。例如,如果没有外部的寻址总线或串行引导接口,通常使用内部存储器,而不需要专门的引导器件。但在一些没有内部程序存储器的系统中,初始化是操作代码的一部分,因此所有代码都将驻留在同一个外部程序存储器中。某些微控制器既有内部存储器也有外部寻址总线,在这种情况下,引导代码将驻留在内部存储器中,而操作代码在外部存储器中。这很可能是最安全的方法,因为改变操作代码时不会出现意外地修改引导代码。在所有情况下,引导存储器都必须是非易失性存储器。
可以使用任何类型的存储器来满足嵌入式系统的要求,但终端应用和总成本要求通常是影响我们做出决策的主要因素。有时,把几个类型的存储器结合起来使用能更好地满足应用系统的要求。例如,一些PDA设计同时使用易失性存储器和非易失性存储器作为程序存储器和数据存储器。把永久的程序保存在非易失性ROM中,而把由用户下载的程序和数据存储在有电池支持的易失性DRAM中。不管选择哪种存储器类型,在确定将被用于最终应用系统的存储器之前,设计工程师必须仔细折中考虑各种设计因素。
⑽ 存储器的构成
构成存储器的存储介质,存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示2的20次方,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。