FPGA系统中DRAMSRAMSDRAMFLASH 区别.docx
- 文档编号:27901811
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:19
- 大小:30.58KB
FPGA系统中DRAMSRAMSDRAMFLASH 区别.docx
《FPGA系统中DRAMSRAMSDRAMFLASH 区别.docx》由会员分享,可在线阅读,更多相关《FPGA系统中DRAMSRAMSDRAMFLASH 区别.docx(19页珍藏版)》请在冰豆网上搜索。
FPGA系统中DRAMSRAMSDRAMFLASH区别
FPGA系统中DRAM,SRAM,SDRAM,FLASH区别
一般来说这几种存储器是一个nios系统都具有的,sram的好处是接口简单,速度快容易操作,用资源也比较少;sdram的最大好处是容量大,当然速度也比较快,但是接口复杂些,也耗逻辑资源多些;flash是非易失性存储器,速度慢。
SRAM、SDRAM都用于程序工作时保存临时数据和程序,因为在系统调电后,保存在其中的数据都会丢失。
FLASH用于系统中保存长期的数据,如:
配置信息,程序等。
由于SRAM接口电路简单,在小系统中常用,SDRAM的接口相对复杂,需要相应的控制器支持,但由于容量大、价格便宜、访问速度快,所以常用在对内存容量和处理速度要求高的应用场合,在这种场合中,相应的处理器(CPU)都自带有SDRAM控制器。
DRAM是动态存储器(DynamicRAM)的缩写SDRAM是英文SynchronousDRAM的缩写,译成中文就是同步动态存储器的意思。
从技术角度上讲,同步动态存储器(SDRAM)是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。
使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。
在功能上,它类似常规的DRAM,且也需时钟进行刷新。
可以说,SDRAM是一种改善了结构的增强型DRAM。
目前的SDRAM有10ns和8ns
什么是DRAM?
DRAM(DynamicRAM):
动态随机存储器。
什么是SDRAM?
SDRAM(SynchronousDRAM):
同步动态随机存储器。
目前的168线64bit带宽内存基本上都采用SDRAM芯片,工作电压3.3V电压,存取速度高达7.5ns,而EDO内存最快为15ns。
并将RAM与CPU以相同时钟频率控制,使RAM与CPU外频同步,取消等待时间。
所以其传输速率比EDODRAM更快。
什么是DDRSDRAM?
DDR(DoubleDataRate)SDRAM。
其核心建立在SDRAM的基础上,但在速度上有了提高。
SDRAM仅在时钟信号的上升沿读取数据,而DDR在时钟信号的上升沿和下降沿都读取数据,因此,它的速度是标准SDRAM的2倍。
什么是RDRAM?
RDRAM(RambusDRAM):
总线式动态随机存储器,是由RAMBUS公司与INTEL公司合作提出的一项专利技术,它的数据传输率最高可达800MHZ,而它的总线宽度却仅为16bit,远远小于现在的SDRAM的64bit。
什么是SPD?
SPD(SerialPresenceDetect):
SPD是一颗8针的EEPROM(ElectricallyErasableProgrammableROM电可擦写可编程只读存储器),容量为256字节,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度等。
SPD的内容一般由内存模组制造商写入。
支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。
什么是SRAM SRAM的英文全称是"StaticRAM",翻译成中文就是"静态随机存储器"。
SRAM主要用于制造Cache
什么是Cache Cache的英文原意是"储藏",它一般使用SRAM制造,它与CPU之间交换数据的速度高于DRAM,所以被称作"高速缓冲存储器",简称为"高速缓存"。
由于CPU的信息处理速度常常超过其它部件的信息传递速度,所以使用一般的DRAM来作为信息存储器常常使CPU处于等待状态,造成资源的浪费。
Cache就是为了解决这个问题而诞生的。
在操作系统启动以后,CPU就把DRAM中经常被调用的一些系统信息暂时储存在Cache里面,以后当CPU需要调用这些信息时,首先到Cache里去找,如果找到了,就直接从Cache里读取,这样利用Cache的高速性能就可以节省很多时间。
大多数CPU在自身中集成了一定量的Cache,一般被称作"一级缓存"或"内置Cache"。
这部分存储器与CPU的信息交换速度是最快的,但容量较小。
大多数主板上也集成了Cache,一般被称作"二级缓存"或"外置Cache",比内置Cache容量大些,一般可达到256K,现在有的主板已经使用了512K~2M的高速缓存。
在最新的Pentium二代CPU内部,已经集成了一级缓存和二级缓存,那时主板上的Cache就只能叫作"三级缓存"了。
SRAM、FLASH和SDRAM的区别:
SRAM
SRAM是英文StaticRAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
而DRAM(DynamicRandomAccessMemory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积,在主板上哪些是SRAM呢?
一种是置于CPU与主存间的高速缓存,它有两种规格:
一种是固定在主板上的高速缓存(CacheMemory);另一种是插在卡槽上的COAST(CacheOnAStick)扩充用的高速缓存,另外在CMOS芯片1468l8的电路里,它的内部也有较小容量的128字节SRAM,存储我们所设置的配置数据。
还有为了加速CPU内部数据的传送,自80486CPU起,在CPU的内部也设计有高速缓存,故在PentiumCPU就有所谓的L1Cache(一级高速缓存)和L2Cache(二级高速缓存)的名词,一般L1Cache是内建在CPU的内部,L2Cache是设计在CPU的外部,但是PentiumPro把L1和L2Cache同时设计在CPU的内部,故PentiumPro的体积较大。
最新的PentiumII又把L2Cache移至CPU内核之外的黑盒子里。
SRAM显然速度快,不需要刷新的操作,但是也有另外的缺点,就是价格高,体积大,所以在主板上还不能作为用量较大的主存。
现将它的特点归纳如下:
◎优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。
◎缺点,集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。
◎SRAM使用的系统:
○CPU与主存之间的高速缓存。
○CPU内部的L1/L2或外部的L2高速缓存。
○CPU外部扩充用的COAST高速缓存。
○CMOS146818芯片(RT&CMOSSRAM)。
SDRAM
SDRAM:
SynchronousDynamicRandomAccessMemory,同步动态随机存取存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
SDRAM从发展到现在已经经历了四代,分别是:
第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM.(显卡上的DDR已经发展到DDR5)
第一代与第二代SDRAM均采用单端(Single-Ended)时钟信号,第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDRSDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(DoubleDataRate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。
如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。
很多人将SDRAM错误的理解为第一代也就是SDRSDRAM,并且作为名词解释,皆属误导。
SDR不等于SDRAM。
Pin:
模组或芯片与外部电路电路连接用的金属引脚,而模组的pin就是常说的“金手指”。
SIMM:
SingleIn-lineMemoryModule,单列内存模组。
内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指)。
DIMM:
DoubleIn-lineMemoryModule,双列内存模组。
是我们常见的模组类型,所谓双列是指模组电路板与主板插槽的接口有两列引脚,模组电路板两侧的金手指对应一列引脚。
RIMM:
registeredDIMM,带寄存器的双线内存模块,这种内存槽只能插DDR或Rambus内存。
SO-DIMM:
笔记本常用的内存模组。
工作电压:
SDR:
3.3V
DDR:
2.5V
DDR2:
1.8V
DDR3:
1.5V
SDRAM内存条的金手指通常是168线,而DDRSDRAM内存条的金手指通常是184线的。
几代产品金手指的缺口数及缺口位置也不同有效防止反插与错插,SDRAM有两个缺口,DDR只有一个缺口。
SDRAM的结构、时序与性能的关系
一、影响性能的主要时序参数
所谓的影响性能是并不是指SDRAM的带宽,频率与位宽固定后,带宽也就不可更改了。
但这是理想的情况,在内存的工作周期内,不可能总处于数据传输的状态,因为要有命令、寻址等必要的过程。
但这些操作占用的时间越短,内存工作的效率越高,性能也就越好。
非数据传输时间的主要组成部分就是各种延迟与潜伏期。
通过上文的讲述,大家应该很明显看出有三个参数对内存的性能影响至关重要,它们是tRCD、CL和tRP。
每条正规的内存模组都会在标识上注明这三个参数值,可见它们对性能的敏感性。
以内存最主要的操作——读取为例。
tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔,CL决定了列寻址到数据进行真正被读取所花费的时间,tRP则决定了相同L-Bank中不同工作行转换的速度。
现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可):
1、要寻址的行与L-Bank是空闲的。
也就是说该L-Bank的所有行是关闭的,此时可直接发送行有效命令,数据读取前的总耗时为tRCD+CL,这种情况我们称之为页命中(PH,PageHit)。
2、要寻址的行正好是前一个操作的工作行,也就是说要寻址的行已经处于选通有效状态,此时可直接发送列寻址命令,数据读取前的总耗时仅为CL,这就是所谓的背靠背(BacktoBack)寻址,我们称之为页快速命中(PFH,PageFastHit)或页直接命中(PDH,PageDirectHit)。
3、要寻址的行所在的L-Bank中已经有一个行处于活动状态(未关闭),这种现象就被称作寻址冲突,此时就必须要进行预充电来关闭工作行,再对新行发送行有效命令。
结果,总耗时就是tRP+tRCD+CL,这种情况我们称之为页错失(PM,PageMiss)。
显然,PFH是最理想的寻址情况,PM则是最糟糕的寻址情况。
上述三种情况发生的机率各自简称为PHR——PHRate、PFDR——PFHRate、PMR——PMRate。
因此,系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR,同时减少PMR,以达到提高内存工作效率的目的。
二、增加PHR的方法
显然,这与预充电管理策略有着直接的关系,目前有两种方法来尽量提高PHR。
自动预充电技术就是其中之一,它自动的在每次行操作之后进行预充电,从而减少了日后对同一L-Bank不同行寻址时发生冲突的可能性。
但是,如果要在当前行工作完成后马上打开同一L-Bank的另一行工作时,仍然存在tRP的延迟。
怎么办?
此时就需要L-Bank交错预充电了。
VIA的4路交错式内存控制就是在一个L-Bank工作时,对下一个要工作的L-Bank进行预充电。
这样,预充电与数据的传输交错执行,当访问下一个L-Bank时,tRP已过,就可以直接进入行有效状态了。
目前VIA声称可以跨P-Bank进行16路内存交错,并以LRU算法进行预充电管理。
有关L-Bank交错预充电(存取)的具体执行在本刊2001年第2期已有详细介绍,这里就不再重复了。
L-Bank交错自动预充电/读取时序图(可点击放大):
L-Bank0与L-Bank3实现了无间隔交错读取,避免了tRP对性能的影响三、增加PFHR的方法
无论是自动预充电还是交错工作的方法都无法消除tRCD所带来的延迟。
要解决这个问题,就要尽量让一个工作行在进行预充电前尽可能多的接收多个工作命令,以达到背靠背的效果,此时就只剩下CL所造成的读取延迟了(写入时没有延迟)。
如何做到这一点呢?
这就是北桥芯片的责任了。
在上文的时序图中有一个参数tRAS(ActivetoPrechargeCommand,行有效至预充电命令间隔周期)。
它有一个范围,对于PC133标准,一般是预充电命令至少要在行有效命令5个时钟周期之后发出,最长间隔视芯片而异(基本在120000ns左右),否则工作行的数据将有丢失的危险。
那么这也就意味着一个工作行从有效(选通)开始,可以有120000ns的持续工作时间而不用进行预充电。
显然,只要北桥芯片不发出预充电(包括允许自动预充电)的命令,行打开的状态就会一直保持。
在此期间的对该行的任何读写操作也就不会有tRCD的延迟。
可见,如果北桥芯片在能同时打开的行(页)越多,那么PFHR也就越大。
需要强调的是,这里的同时打开不是指对多行同时寻址(那是不可能的),而是指多行同时处于选通状态。
我们可以看到一些SDRAM芯片组的资料中会指出可以同时打开多少个页的指标,这可以说是决定其内存性能的一个重要因素。
Intel845芯片组MCH的资料:
其中表明它可以支持24个页面同时处于打开状态
但是,可同时打开的页数也是有限制的。
从SDRAM的寻址原理讲,同一L-Bank中不可能有两个打开的行(S-AMP只能为一行服务),这就限制了可同时打开的页面总数。
以SDRAM有4个L-Bank,北桥最多支持8个P-Bank为例,理论上最多只能有32个页面能同时处于打开的状态。
而如果只有一个P-Bank,那么就只剩下4个页面,因为有几个L-Bank才能有同时打开几个行而互不干扰。
Intel845的MHC虽然可以支持24个打开的页面,那也是指6个P-Bank的情况下(845MCH只支持6个P-Bank)。
可见845已经将同时打开页数发挥到了极致。
不过,同时打开页数多了,也对存取策略提出了一定的要求。
理论上,要尽量多地使用已打开的页来保证最短的延迟周期,只有在数据不存在(读取时)或页存满了(写入时)再考虑打开新的指定页,这也就是变向的连续读/写。
而打开新页时就必须要关闭一个打开的页,如果此时打开的页面已是北桥所支持的最大值但还不到理论极限的话,就需要一个替换策略,一般都是用LRU算法来进行,这与VIA的交错控制大同小异。
flash是存储芯片的一种,通过特定的程序可以修改里面的数据。
Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。
在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
目前Flash主要有两种NORFlash和NADNFlash。
NORFlash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NORFLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。
NANDFlash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。
用户不能直接运行NANDFlash上的代码,因此好多使用NANDFlash的开发板除了使用NANDFlah以外,还作上了一块小的NORFlash来运行启动代码。
一般小容量的用NORFlash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NANDFLASH,最常见的NANDFLASH应用是嵌入式系统采用的DOC(DiskOnChip)和我们通常用的"闪盘",可以在线擦除。
目前市面上的FLASH主要来自Intel,AMD,Fujitsu和Mxic,而生产NANDFlash的主要厂家有Samsung和Toshiba及Hynix。
ROM和RAM指的都是半导体存储器,ROM是ReadOnlyMemory的缩写,RAM是RandomAccessMemory的缩写。
ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
---------------------------------------------------------------------------------------------ROMROM指的是“只读存储器”,即Read-OnlyMemory。
这是一种线路最简单半导体电路,通过掩模工艺,一次性制造,其中的代码与数据将永久保存,不能进行修改。
在微机的发展初期,BIOS都存放在ROM(ReadOnlyMemory,只读存储器)中。
如果发现内部数据有错,则只有舍弃不用,重新订做一份。
PROMPROM指的是“可编程只读存储器”既ProgrammableRed-OnlyMemory。
这样的产品只允许写入一次,所以也被称为“一次可编程只读存储器”(OneTimeProgarmmingROM,OTP-ROM)。
PROM在出厂时,存储的内容全为1,用户可以根据需要将其中的某些单元写入数据0(部分的PROM在出厂时数据全为0,则用户可以将其中的部分单元写入1),以实现对其“编程”的目的。
PROM的典型产品是“双极性熔丝结构”,如果我们想改写某些单元,则可以给这些单元通以足够大的电流,并维持一定的时间,原先的熔丝即可熔断,这样就达到了改写某些位的效果。
另外一类经典的PROM为使用“肖特基二极管”的PROM,出厂时,其中的二极管处于反向截止状态,还是用大电流的方法将反相电压加在“肖特基二极管”,造成其永久性击穿即可。
PROM一旦写入后无法修改,若是出了错误,已写入的芯片只能报废。
EPROMEPROM指的是“可擦写可编程只读存储器”,即ErasableProgrammableRead-OnlyMemory。
它的特点是具有可擦除功能,擦除后即可进行再编程,但是缺点是擦除需要使用紫外线照射一定的时间。
这一类芯片特别容易识别,其封装中包含有“石英玻璃窗”,一个编程后的EPROM芯片的“石英玻璃窗”一般使用黑色不干胶纸盖住,以防止遭到阳光直射。
EEPROMEEPROM指的是“电可擦除可编程只读存储器”,即ElectricallyErasableProgrammableRead-OnlyMemory。
它的最大优点是可直接用电信号擦除,也可用电信号写入。
鉴于EPROM操作的不便,后来出的主板上的BIOSROM芯片大部分都采用EEPROM。
EEPROM的擦除不需要借助于其它设备,它是以电子信号来修改其内容的,而且是以Byte为最小修改单位,不必将资料全部洗掉才能写入,彻底摆脱了EPROMEraser和编程器的束缚。
EEPROM在写入数据时,仍要利用一定的编程电压,此时,只需用厂商提供的专用刷新程序就可以轻而易举地改写内容,所以,它属于双电压芯片。
借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“ON”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“OFF”的位置,防止病毒对BIOS芯片的非法修改。
FlashROMFlashROM指的是“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品,Flash属于真正的单电压芯片,它的读和写操作都是在单电压下进行。
它的最大特点是必须按块(Block或Sector)擦除(每个区块的大小不定,不同厂家的产品有不同的规格),而EEPROM则可以一次只擦除一个字节(Byte)。
FlashROM是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。
FlashROM的存储容量普遍大于EEPROM,约为512K到至8MKBit,由于大批量生产,价格也比较合适,很适合用来存放程序码,近年来已逐渐取代了EEPROM,广泛用于主板的BIOSROM。
另外,它还主要用于U盘,Mp3等需要大容量且断电不丢数据的设备。
---------------------------------------------------------------------------------------------RAM有两大类1)静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
2)动态RAM(DynamicRAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDRRAM、RDRAM、SGRAM以及WRAM等。
其中DDRRAM(Double-Date-RateRAM)也称作DDRSDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
这是目前电脑中用得最多的内存,在很多高端的显卡上,也配备了高速DDRRAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
RAM工作原理SRAM利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。
DRAM利用MOS管的栅电容上的电荷来存储信息,一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
但时间一长,由于栅极漏电,代表1的电容会放电,代表0的电容会吸收电荷,这样会造成数据丢失,因此需要一个额外设电路进行内存刷新操作。
刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
这也是DRAM中的D(Dynamic动态)的意思。
由于DRAM只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。
SDRAM比它多了一个与CPU时钟同步。
掩膜式ROM
芯片生产厂家在制造芯片过程中把程序一并做在芯片内部,这就是二次光刻版图形(掩膜)。
存储阵列中的基本存储单元仅由一只MOS管构成,或缺省,凡有MOS管处表示存储0,反之为1.工厂在生产时,根据客户提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA系统中DRAMSRAMSDRAMFLASH 区别 FPGA 系统 DRAMSRAMSDRAMFLASH