Halbleiterspeicher
在现代计算机中,半导体存储器已广泛用于实现主存
分类
1.随机存取存储器(RAM)
由于大多数随机存取存储器在断电后会丢失其中存储的内容,所以这类随机存取存储器又被称为==易失性(flüchtig)存储器==。由于随机存取存储器可读可写,所以有时它们又被称为==可读写存储器==。
分为三类:
1. static RAM(SRAM)
每一个存储单位都由一个触发器构成,可以存储一个二进制位,只要不断电就可以保证其中存储的二进制数据不丢失。
使用触发器作为存储单位的问题是,每个存储单位至少需要6个MOS管来构造一个触发器。–> SRAM存储芯片的存储密度较低。
大容量SRAM:四个MOS管加上CMOS技术
2. dynamic RAM(DRAM)
使用一个MOS管和一个电容来存储一位二进制信息。用电容来存储信息减少了构成一个存储单位所需要的晶体管数目。==但由于电容本身不可避免的会产生漏电,因此DRAM需要频繁的刷新。==
3. 非易失性RAM(non volatile RAM, NV RAM)
一般情况下,不论DRAM还是SRAM都是易失性的,断电后存储的信息会丢失。
但NV RAM结合了RAM和ROM的优点:允许CPU对其进行随机读写,同时又像ROM一样,断电后内容不丢失。
2.只读存储器(ROM)
在系统断电以后,只读存储器中的内容不会丢失。因此是非易失性存储器。
分类:
1. 可编程ROM(programmable ROM, PROM)
是一种提供给用户,把他们要写入的信息==“烧”==入其中的ROM
是==一次可编程ROM(one time programmable ROM, OTPROM)==
对PROM写入信息需要一个叫==ROM编程器==的特殊设备来实现
2. 用紫外光实现擦除的ROM(erasable programmable ROM, EPROM)
使已写入PROM的信息能被修改 –> EPROM芯片可被编程、擦除几千次(与PROM有本质的不同, PROM是一次可编程ROM)
一次擦除擦除的是整个芯片上的内容
擦除其中的内容大概需要20分钟左右
所有的EPROM都有一个窗口用于接收照射它的紫外线,通过紫外线照射来擦除其内容,所以EPROM又被称为==紫外线可擦除可编程ROM(UV-EPROM)==
主要缺点:不能在系统电路板上对其直接编程
3. 用电实现擦除的PROM(electriaclly erasable programmable ROM, EEPROM)
优点:
用==电来擦除原有信息==,因此可以实现==瞬间擦除==,不像UV-EPROM需要20min
可以==有选择的擦除某个具体字节单元的内容==,而不像UV-EPROM那样,擦除的时整个芯片的内容
最主要: 使用者可以直接在电路板上对其进行擦除和编程,而不需要额外的擦除和编程设备。
4. 闪烁可编程可擦除的ROM(flash memory EPROM)
5. 掩膜ROM
RAM结构及工作原理
结构
–
一个==存储单元电路==存储一位二进制信息
把大量存储单元电路==按一定的形式排列起来, 就构成存储体==
存储体一般都排列成阵列形式,所以又称作==存储阵列==。
把存储体及其外围电路(包括店址译码与驱动电路,读写放大电路,时序控制电路等)集成在一块硅片上, 称为==存储器组件==
存储器组件经过各种形式的封装后,通过引脚引出地址线、数据线、控制线、电源与地线等 –> 构成==半导体存储器芯片==
内部组织一般有两种结构:
1. 字片式(见 计算机组成原理 p145)
由于采用单译码方案,有多少个存储单元就有多少个译码驱动电路,所需译码驱动电路较多。为减少译码驱动电路的数量,多数存储器芯片都采用双译码方案(位片式结构)
2. 位片式((见 计算机组成原理 p146)
假设 4k * 1位, 共有4096个存储单元电路, 排列成 64 * 64:
4096 = 2 ^ 12
--> 分为6位行地址、6位列地址
对于一个给定的访问某个存储单元电路的地址,分别经过行、列地址译码器的译码后,==使一根行地址选择线(RAS)和一根列地址选择线(CAS)有效==。
行地址选择选中的某一行的64个存储单元电路可以==同时==进行读写操作
列地址选择线用于控制这一行64个多路转接开关的一个,即==表示选中一列==。每个多路转接开关由两个MOS管组成,分别控制两条位线。选中的那一个多路转接开关(即选中的那一列)的两个MOS管呈现“开”状态,使这一列的位线与R/W电路连通;其余63个的多路转接开关的两个MOS管呈现“关”状态,使其余63列的位线与R/W电路断开。
流程:
当选中该芯片工作时,
首先给定要访问的存储单元的地址,并给出有效的片选信号(CS, chip select)和读写信号(R/W)
通过对行、列地址的译码,找到有由行、列地址确定的唯一一个存储单元电路,根据RW信号读出或写入一位二进制信息。
优点:
对于4096只需128个译码驱动电路(行64个, 列64个)。对于单译码字片式,4096需要4096个译码驱动电路。
DRAM的存取模式
分为四类:
标准模式
页模式(FPM)
静态列模式
半字节模式
1. 标准模式(存取模式四种模式中最长)
访问存储器一位信息的步骤:
给出要访问存储单元的行地址并保持地址信号稳定
给出有效的RAS(行地址选择)信号,将行地址锁存到行地址译码器中
此后再给出该单元的列地址
地址信号稳定后,再给出有效的CAS(列地址选择)信号,将列地址锁存的地址译码器中(这样可以通过行、列译码器的译码,找到对应的存储单元)
再根据R/W的状态,决定对该单元实施读或写操作。
–
访问时间(Memory access time)
tAA:指 ==从在芯片的地址引脚上给出行地址开始, 到可以使用出现在芯片的数据输出引脚上的数据为止所需的时间==(siehe Folien 13 s31)
通常给出的是==tRAC==(而非标准的tAA),即 ==RAS访问时间==,是指 ==从给出有效的RAS信号那一刻算起,到可以使用出现在芯片的数据输出引脚上的数据(或指令)为止所需的时间。==
如果以随机方式访问存储芯片中的存储单元,即连续两次访问的两个存储单元的两个地址之间不存在任何联系的话,把tRAC视作tAA也未尝不可。但是,若连续两次读写同一块DRAM芯片,是不能在tRAC规定的时间内完成读写的。==这是因为在每个RAS失效之后(低电平变为高电平),DRAM芯片需要一个precharge时间,以便为下次访问做准备。==
存取周期tRC:存储器连续两次读写操作之间的最小时间间隔
SRAM和ROM的存取周期和访问事假总是相等的
DRAM却不是,只是因为当RAS信号变为无效后(低电平变为高电平),==它保持高电平的状态持续时间至少要有tRP(pre charge time)规定的那么长时间,以便预充内部电路,为下次访问做准备==。因此在DRAM中存取周期tRC与访问时间的近似关系为:
tRC = tRAC + tRP==!!!存取周期不等于访问时间是SRAM和DRAM的主要区别之一。==
消除DRAM的预充带来的负面影响:
==将DRAM芯片交错的连接起来,将两个内存条安排在一起使用,让CPU交替的访问两个内存条。==
好处:
当CPU在访问一个内存条的时候,另一个内存条对其存储单元执行预充操作,这样预充时间就可以隐藏在访问时间中(有点像Pipeline)
2. 页模式(Fast page mode,FPM)
页(page)指的是==行==
设计思想
在绝大多数情况下, CPU对存储器访问都是按照连续的单元地址进行访问的,所以没有必要像在标准模式中的那样,每次都要给出行、列地址。
–
访问步骤
给出行地址,随后有效的RAS信号将行地址锁存到行地址译码器。自此,如果下面要访问的存储单元电路全部在同一行中,则锁存的地址就不再变化,在此期间不断地向存储器送出不同的列地址。
每当向送出新的列地址,CAS信号变为有效(高电平变为低电平),将列地址锁存到列地址译码器,之后CAS又变为无效。
这个过程直到给出的地址是该页中的最后一个列地址为止。
接下来给出新页(行)地址,重复步骤1到3.
分析(siehe Folien13 s30 und s34)
当访问一页中==第一个存储单元电路==时,既需要给出行地址,又需要给出列地址,所以访问这个存储单元电路所花时间为==标准访问时间tRAC==
从第二个存储单元电路开始,到同一页的最后一个存储单元电路,访问其中一个存储单元电路时间要比访问第一个短得多,这个时间通常称为==tCAC(列访问时间,指从CAS信号开始下降到数据可用的最短时间)==
当访问的存储单元电路处于给定页时,对其中每个连续存储单元电路访问的时间==不能小于tPC(页周期时间(page mode cycle), 指从一个Spaltenzugriff到下一个的最短时间)==
注意: 对于FPM-DRAM, 它不==仅支持页模式, 也支持标准模式==。
在FPM-DRAM中,tRCD(RAS-CAS-Delay) 和 tRP(RAS-Precharge-Zeit) 没有了,从而节省了时间,提高了速度。
3. EDO DRAM(extended Data output DRAM)
FPM DRAM的局限性:
访问同一行下一列的数据所需时间不能少于tPC,即访问已打开页的连续时间所需时间不能少于tPC,而tPC的大小取决于CAS信号在变高之前要保持低电平的时间长度。
既然tPC的大小取决于CAS信号在变高之前要保持低电平的时间长度,那么缩短CAS保持低电平的时间不久可以从而减少tPC,提高DRAM的访问时间?
但是并不可行。==因为CAS变高之后,DRAM会停止输出数据,所以CAS必须保持一段时间的低电平,以确保数据能正确送到数据总线上==。
一个可行的方法:
改变快速页模式DRAM的内部电路,使数据在CAS变高后保持更长时间,从而缩短CAS保持低电平的时间按,而不会影响数据的输出操作。
die Daten stehen länger am Ausgang zur Verfügung –> Die gelesenen Daten bleiben **==bis zum nächsten Aktivieren des CAS-
Signal gültig==**.Der Prozessor kann Daten auslesen, während die Speichersteuerung eine ==neue Spaltenadresse== an das DRAM übergibt.
Durch dieses „Pipelining“ verkürzt sich die Wartezeit zwischen zwei aufeinander folgenden CAS-Impulsen –> höherer Datendurchsatz
个人理解:
原来FPM DRAM中,当CAS从低电平变为高电平的时候,数据就会失效。所以为了保证CPU能读到数据,CAS必须保持一段时间的低电平,然后才能升高。
但是改变FPM DRAM的电路,变成EDO DRAM之后,数据保持更长时间,即:在CAS由低电平转高电平的时候,数据依然在数据总线上有效,可以让CPU读。相当于CAS和数据解耦,互相没有影响(流水线),在CPU读数据的时候新的列地址被传进来;当CAS从高电平转低电平的时候,上一个数据失效。
因为数据和CAS解耦,所以CAS不需要保持像FPM DRAM那么长时间的低电平,来保证CPU能读到数据(在EDO DRAM中CPU读数据的时候CAS可以由低转高),从而达到了缩短CAS的目的 –> 达到了缩短tPC的目的,提高了DRAM的速度。
4. SDRAM(synchron DRAM)
在所有传统DRAM中(FPM DRAM, EDO DRAM),DRAM的时序与CPU的时序是不同步的,即==CPU和DRAM间没有一个公共的参考时钟==。在这种系统中,DRAM与微处理器是异步的。因为CPU把地址提供给DRAM后,DRAM是以主/从方式为CPU提供数据的。若DRAM不能及时给出数据,它会发出NOT READY信号告知CPU,CPU通过在总线时序中插入等待状态(Wartezyklen)来响应NOT READY信号,等待DRAM准备好数据。
==–> CPU总线时序是依赖于DRAM时序的==!
在SDRAM系统中,微处理器与SDRAM之间有一个公共时钟(系统时钟)信号。==在CPU和SDRAM之间的所有总线行为(送地址、送数据、送控制信号)都与这个公共时钟信号同步(synchron zum Systemtakt)== –> ==公共时钟是CPU和SDRAM的参考点,任何操作都不会偏离它== –> 因此CPU就无需等待了。(见 计算机组成原理 p160)
突发模式
–
==突发模式既可用于读,也可用于写。==
读
CPU像正常情况下提供第一个单元的地址,先给RAS信号,接着为CAS信号。
但是由于CPU读DRAM的内容是用于填充cache,所以要一次读几个连续的单元(所读单元的个数取决于Cache的结构)。因此,CPU在给出第一个单元的地址之后,后续单元的地址就无需再给出了,从而节省了用于建立地质和保持信号的时间。
–> ==即可简单的通过编程把SERAM设置为突发模式,告诉它一次要连续读的单元数就可以了。==这就是许多SDRAM的设计思想。
它们课通过预先编程设置成一次从DRAM内部以突发模式读出1、2、3、8、16或256个连续单元。
每次突发读出的单元数目称为==突发长度(burst length)==
例如:
若突发长度为8,则首先要给出第一个单元的地址,即首先是RAS信号,然后是CAS信号。==但后续的第二到八个单元的地址无需给出==,利用突发模式可以已最小延迟直接读出它们的内容
–
交错连接
为了提高性能,SDRAM采用了前面讨论的==交错连接==的概念。
在传统的交错设计方法中,是由主板设计者来实现DRAM内存的交错连接(两个DRAM芯片,Speicherband交错连接),从而使一个内存条的预充时间与另一个内存条的访问时间重叠。
而SDRAM的交错连接是在==芯片内部==实现的。即在SDRAM芯片内部,存储元件的安排是遵循交错的方式,==实现了在访问一组存储单元电路的同时刷新另一组存储单元电路==。
–
read latency
在CAS有效后,数据出现在数据引脚上所需的时钟数是可通过编程控制的,这个时钟数称为==读延迟(read latency==),可以是1、2或3个时钟。
本文详细介绍了半导体存储器在现代计算机中的应用,特别是随机存取存储器(RAM)和只读存储器(ROM)的分类。RAM分为SRAM、DRAM和NV RAM,各有其特点,其中DRAM需要频繁刷新。ROM则包括PROM、EPROM、EEPROM和闪存等类型。此外,文章还探讨了RAM的结构、工作原理,以及DRAM的存取模式,如标准模式、页模式(FPM)、EDO DRAM和SDRAM,强调了SDRAM的同步特性与突发模式。


被折叠的 条评论
为什么被折叠?



