本帖最后由 Asuka 于 2012-12-17 20:58 编辑
Asuka小讲座之RAM通识
喵,Asuka终于还是又出现了,LCD进阶篇一直坑着,Asuka也很无奈,这学期修了LCD的课,却发现整个学科根基实在是盘根错节,不知从何说起,真的讲起来,恐怕就不再是“小讲堂”的篇幅,而变成“大课堂”了。所以今天,Asuka还是另开一篇,为大家做个RAM的梳理与普及。
RAM(Random-access memory),随机存取存储器,但这个翻译其实没有办法准确表达RAM的最严格的定义。Random为随机,access为进入,而RAM其实指的是一种存储器类型,允许我们干涉任何一个存储的数据所需的时间几乎一样,与其相对的,诸如硬盘与CD之类的,我们要干涉其中数据都必须经由一个已经确定了的顺序,比如CD的轨道,硬盘的扇区,都必须先经由一些我们不需要的数据,才能到达我们想要干涉的数据,所以,干涉数据所需的时间也就因这个数据存在的位置而相异。严格说来,甚至连DRAM都不能说是符合这个严格定义的,因为DRAM也势必会经由行与列才能到达我们最终想要的数据,但在一定的条件放宽下,我们也多少可以容忍这种读取时间上的些微差异,而将其归类于一个相对广义的RAM概念之下。
存储器(memory)可以按类型分为易失与非易失两种,这个大家都熟悉,易失性存储器需要电源持续供应方能保存数据,所以基本被用做临时存储器;而非易失性存储器则不需要维持电源供应仍可在一定程度下保存数据,通常也就是长期的数据存储器了。我们就从易失性的RAM存储器开始讲起。
其中最重要的两块分别是SRAM与DRAM,区别在于首字母,S意为static,静态;D意为dynamic,动态。SRAM最关键的特征被称作Latch,又作flip-flop,其中一种的逻辑电路示意图如下,
嘿嘿,大家有没有觉得很眼熟,没错,RoyalK的內存原理介绍文章中就曾经引用过,作为描述原理的示意图,我就不再赘述。这个纯逻辑电路可以存储两个状态0、1,且由于其仅由晶体管与电路组成,所以动态响应速度非常快且功耗非常低,因而基本被用作CPU的缓存cache。
Asuka只介绍其中最关键的一种类型,电路图如下,
可以看到,其中一共有M1到M6, 6个晶体管,其中M1到M4分别组成两组反相器以组成上面逻辑电路中的0, 1存储,M5、M6则是控制用晶体管,这种存储单元也因6个晶体管而被称作6T-SRAM,朋友们,咱们的CPU吧,别管几十亿个晶体管,其实绝大多数都是这种重复性的单元,说来真是扫兴,大家不妨根据自己的L1、L2、L3缓存的容量去算算,一共有多少个晶体管,╮(╯▽╰)╭。
然后,我们来到了DRAM的环节。同样是要存储0, 1的数据,DRAM采用了一种更加简单的结构以实现这种功能,那就是采用电容器,通过充电与未充电两种状态来表达,并通过一只晶体管就可以对其实现控制。这种简单的结构使DRAM拥有了相比6T-SRAM更高的存储密度,然而电容的充放电转换速率无法与单纯逻辑电路相比,因而无法作为高速缓存被使用。具体的DRAM的存取原理,RoyalK的文章中已经为大家做了诠释,本文便不再赘述了。
这里简单介绍下ECC,Error-correction code,ECC內存基本被用在科学运算或者财经场合,因为这些场合是不允许数据错误的,这种错误的来源很多,而导致的结果仅仅是DRAM的状态出错。ECC內存的原理大概说来很简单,以8 banking chips的內存为例,如果要实现ECC功能,就必须再多加一颗DRAM chip,达到9颗,而这颗冗余的颗粒中存储的是对于原始输入內存的数据进行编码后的结果,如果內存中的某个数据因种种原因发生突变后,编码结果就会与第九颗颗粒中的信息不符,从而可以对其进行数据修复,如果严重程度够高,达到无法修复的地步,也可以反馈给系统,舍弃这组数据。要实现ECC功能,需要主板、处理器、內存都具有相应功能,因而价格会更贵些,还会对于性能产生2到3 percent的影响。所以,大家也需要酌情选择。同时,ECC作为数据安全功能,不仅应用于內存,也广泛应用于传统数据存储介质与SSD中。
我们把目光往DRAM里面看,传统DRAM是会毫不犹豫的跟随着控制信号的输入而变化的,但是要用将其用在电脑中,那就必须同时引入时钟控制的概念,所以我们现在的內存都属于DRAM中的一个分支,既SDRAM,Synchronous DRAM,同步DRAM,SDRAM并不会再控制信号变化之后立即反应,而会继续等待时钟信号输入才反应,这种与时钟的同步性使其更适合现代计算机,也比非同步性DRAM拥有更高的数据采集率(data access rate)。Asuka记得,自己开始懂点电脑知识的时候,用的都是SDRAM,但后来才知道,真正完整的表述其实应该是SDR SDRAM (Single Data Rate SDRAM),这种內存如其名字所述,每个时钟周期只能传送一个data,而DRAM控制的延迟其实只局限于DRAM的排布结构,所以其实DRAM潜在的频宽很大,每个时钟周期一个data实在是浪费了这大好的带宽啊。所以,后来我们开始进入了DDR (Double Data Rate)SDRAM时代,想来大家也就可以理解DDR的意思了,转眼目前已经到了DDR3向DDR4去的时代,哎,说来真是感伤,Asuka只感受到岁月的流逝,匆匆而去,不提也罢。
DDR SDRAM的另一个分支,成为了我们现在所熟知的显存GDDR(Graphics DDR),作为DRAM的一个分支,GDDR存储的数据归根结底仍然是0, 1数据,只是在数据的读写方面与普通DRAM略有不同,以GDDR3为例,最早是由ATI与JEDEC合作设计出来的,技术基础基本与DDR2一样,但为了更加适应视频数据的存取,读写方式便不相同了。GDDR3 memory每两个周期从每个pin中传出4 bits,相应的GDDR3接口每个时钟周期可从针脚传送两个32位数据,最终构成128bit的单纯读或者写的位宽。GDDR3的数据传送是单向单端的,与DDR2不同,这也就使它可以分别做读或者写的操作,读到写的速率更快。同时,GDDR3有通过硬件reset的能力,可以很快刷掉所有既存数据并重新投入使用。而且更低的电压需求使其发热与功耗也降低很多,在一定的功耗下,也就可以达到更高的时钟频率从而使吞吐量加大非常多。
以DDR3为基础的GDDR4,本意是取代以DDR2为基础的GDDR3的,可惜非常短命,一年之內就被GDDR5取代了,但也不能说GDDR4是没有意义的,GDDR3虽然当时是基于DDR2的,并由JEDEC和ATI合作开发而成,但是并没有被加入JEDEC规范,到GDDR4才真的被加入了JEDEC规范。GDDR4的革新其实很多,但因为它实在退场太快了,Asuka就不多叙述了。真怀念啊,那时的ATI Radeon X1950 XTX,还有Radeon HD 2900 XT。
GDDR5,目前的主流啊,和GDDR4一样,是GDDR3的两倍,GDDR5的预取(prefetch)缓存为8-bit,接口每个写时钟周期可传送两个32-bit数据,构成256bit的带宽;这里的写时钟频率是命令时钟频率的两倍,这样不太形象,这样说好了,一个6Gbps的带宽,对应的写频率是3GHz,命令时钟频率是1.5GHz,那个4的倍数其实就是这么来的。那是2008年6月25号,AMD发行了全球第一款GDDR5显卡,而这块显卡至今仍然是难以逾越的经典,HD4870,那真的恐怕是A卡至今为止最荣光的一场胜利,想必大家都还记得吧!
SRAM和DRAM,最重要的两种RAM介绍到这里正好可以以一个看上去很美的结束来画上句点。但RAM通识介绍还远没有介绍,还有很多重要的內容,让我们来日继续锁定Asuka小讲座,感谢大家的收看,感恩感恩!
Asuka小讲堂开讲啦!之一:摩尔定律 http://bbs.pceva.com.cn/thread-40293-1-1.html
Asuka小讲座之二:CMOS性能与制程上 http://bbs.pceva.com.cn/thread-40527-1-1.html
Asuka小讲座之三:CMOS性能与制程中 http://bbs.pceva.com.cn/thread-40803-1-1.html
Asuka小讲座之四:CMOS性能与制程下 http://bbs.pceva.com.cn/thread-41263-1-1.html
Asuka小讲座之五:超线程技术通识 http://bbs.pceva.com.cn/thread-43263-1-1.html
Asuka小讲座之六:光刻技术简介 http://bbs.pceva.com.cn/thread-45031-1-1.html
Asuka小讲座番外篇之集成电路发热的微观研究 http://bbs.pceva.com.cn/thread-45623-1-1.html
Asuka小讲座之七:光刻技术进阶篇 http://bbs.pceva.com.cn/thread-45759-1-1.html
Asuka小讲座之八:液晶显示技术通识 http://bbs.pceva.com.cn/thread-66508-1-1.html
Asuka小讲座之九:RAM通识其一 http://bbs.pceva.com.cn/thread-75786-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|