




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ddr1-3和gddr1-5全解析目前cpu用的内存正在从ddr2向ddr3过渡,而gpu用的显存则是以gddr2/3为主、跳过gddr4、直奔gddr5而去。或许很多朋友一时还难以接受gddr5那夸张的频率、不明白gddr相比ddr发展速度为何如此“超前”、甚至搞不清楚gddr1/2/3/4/5和ddr1/2/3之间“说不清道不明”的关系。 如果您是一位求知欲很强的电脑爱好者,那么本文非常适合您,笔者特意搜集了大量官方技术文档,为大家献上内存和显存鲜为人知的奥秘近年来cpu(中央处理器)和gpu(图形处理器)的发展速度之快让人目不暇接,新产品的运算能力成倍提升,此时就对内存子系统提出了严峻的需求,因为cpu/gpu运算所需的数据和生成的数据都是来自于内存/显存,如果存储速度跟不上,那么就会浪费很多时间在数据等待上面,从而影响cpu/gpu的性能发挥。 为了让内存/显存不至于造成瓶颈,芯片厂商都在想方设法的提高带宽:amd和intel相继将内存控制器整合在了cpu内部,大大降低了延迟并提高存储效率,intel旗舰级cpu能够支持三通道内存,带宽提升50%;ati和nvidia也先后使用了512bit的显存控制器,总带宽倍增。 是何原因导致业界三大巨头如此大费周折呢?这是因为内存技术的发展速度,其实并不如大家想象中的那么快,受到很多技术难题和传统因素的制约,本文就对内存和显存的发展历程及相关技术进行详细分析。 内存的存取原理及难以逾越的频障:在半导体科技极为发达的台湾省,内存和显存被统称为记忆体(memory),全名是动态随机存取记忆体(dynamic random access memory,dram)。基本原理就是利用电容内存储电荷的多寡来代表0和1,这就是一个二进制位元(bit),内存的最小单位。dram的存储单元结构图 dram的结构可谓是简单高效,每一个bit只需要一个晶体管加一个电容。但是电容不可避免的存在漏电现象,如果电荷不足会导致数据出错,因此电容必须被周期性的刷新(预充电),这也是dram的一大特点。而且电容的充放电需要一个过程,刷新频率不可能无限提升(频障),这就导致dram的频率很容易达到上限,即便有先进工艺的支持也收效甚微。 “上古”时代的fp/edo内存,由于半导体工艺的限制,频率只有25mhz/50mhz,自sdr以后频率从66mhz一路飙升至133mhz,终于遇到了难以逾越的障碍。此后所诞生的ddr1/2/3系列,它们存储单元官方频率(jedec制定)始终在100mhz-200mhz之间徘徊,非官方(超频)频率也顶多在250mhz左右,很难突破300mhz。事实上高频内存的出错率很高、稳定性也得不到保证,除了超频跑简单测试外并无实际应用价值。 既然存储单元的频率(简称内核频率,也就是电容的刷新频率)不能无限提升,那么就只有在i/o(输入输出)方面做文章,通过改进i/o单元,这就诞生了ddr1/2/3、gddr1/2/3/4/5等形形色色的内存种类,首先来详细介绍下ddr1/2/3之间的关系及特色通常大家所说的ddr-400、ddr2-800、ddr3-1600等,其实并非是内存的真正频率,而是业界约定俗成的等效频率,这些ddr1/2/3内存相当于老牌sdr内存运行在400mhz、800mhz、1600mhz时的带宽,因此频率看上去很夸张,其实真正的内核频率都只有200mhz而已! 内存有三种不同的频率指标,它们分别是核心频率、时钟频率和有效数据传输频率。核心频率即为内存cell阵列(memory cell array,即内部电容)的刷新频率,它是内存的真实运行频率;时钟频率即i/o buffer(输入/输出缓冲)的传输频率;而有效数据传输频率就是指数据传送的频率(即等效频率)。 sdr和ddr1/2/3全系列频率对照表: 常见ddr内存频率对照表 通过上表就能非常直观的看出,近年来内存的频率虽然在成倍增长,可实际上真正存储单元的频率一直在133mhz-200mhz之间徘徊,这是因为电容的刷新频率受制于制造工艺而很难取得突破。而每一代ddr的推出,都能够以较低的存储单元频率,实现更大的带宽,并且为将来频率和带宽的提升留下了一定的空间。 sdr和ddr1/2/3存储原理示意图: 虽然存储单元的频率一直都没变,但内存颗粒的i/o频率却一直在增长,再加上ddr是双倍数据传输,因此内存的数据传输率可以达到核心频率的8倍之多!通过下面的示意图就能略知一二:那么,内存io频率为什么能达到数倍于核心频率呢?相信很多人都知道,ddr1/2/3内存最关键的技术就是分别采用了2/4/8bit数据预取技术(prefetch),由此得以将带宽翻倍,与此同时i/o控制器也必须做相应的改进。 ddr1/2/3数据预取技术原理: 预取,顾名思义就是预先/提前存取数据,也就是说在i/o控制器发出请求之前,存储单元已经事先准备好了2/4/8bit数据。简单来说这就是把并行传输的数据转换为串行数据流,我们可以把它认为是存储单元内部的raid/多通道技术,可以说是以电容矩阵为单位的。内存数据预取技术示意图:并行转串行 这种存储阵列内部的实际位宽较大,但是数据输出位宽却比较小的设计,就是所谓的数据预取技术,它可以让内存的数据传输频率倍增。试想如果我们把一条细水管安装在粗水管之上,那么水流的喷射速度就会翻几倍。 明白了数据预取技术的原理之后,再来看看ddr1/2/3内存的定义,以及三种频率之间的关系,就豁然开朗了: sdram(synchronous dram):同步动态随机存储器 之所以被称为“同步”,因为sdr内存的存储单元频率、i/o频率及数据传输率都是相同的,比如经典的pc133,三种频率都是133mhz。 sdr在一个时钟周期内只能读/写一次,只在时钟上升期读/写数据,当同时需要读取和写入时,就得等待其中一个动作完成之后才能继续进行下一个动作。 ddr(double date rate sdram):双倍速率同步动态随机存储器 双倍是指在一个时钟周期内传输两次数据,在时钟的上升期和下降期各传输一次数据(通过差分时钟技术实现),在存储阵列频率不变的情况下,数据传输率达到了sdr的两倍,此时就需要i/o从存储阵列中预取2bit数据,因此i/o的工作频率是存储阵列频率的两倍。 dq频率和i/o频率是相同的,因为dq在时钟上升和下降研能传输两次数据,也是两倍于存储阵列的频率。 ddr2(ddr 2sdram):第二代双倍速率同步动态随机存储器 ddr2在ddr1的基础上,数据预取位数从2bit扩充至4bit,此时上下行同时传输数据(双倍)已经满足不了4bit预取的要求,因此i/o控制器频率必须加倍。 至此,在存储单元频率保持133-200mhz不变的情况下,ddr2的实际频率达到了266-400mhz,而(等效)数据传输率达到了533-800mhz。 ddr3(ddr3sdram):第三代双倍速率同步动态随机存储器 ddr3就更容易理解了,数据预取位数再次翻倍到8bit,同理i/o控制器频率也加倍。此时,在存储单元频率保持133-200mhz不变的情况下,ddr3的实际频率达到了533-800mhz,而(等效)数据传输率高达1066-1600mhz。 综上可以看出,ddr1/2/3的发展是围绕着数据预取而进行的,同时也给i/o控制器造成了不小的压力,虽然存储单元的工作频率保持不变,但i/o频率以级数增长,我们可以看到ddr3的i/o频率已逼近1ghz大关,此时i/o频率成为了新的瓶颈,如果继续推出ddr4(注意不是gddr4,两者完全不是同一概念,后文会有详细解释)的话,将会受到很多未知因素的制约,必须等待更先进的工艺或者新解决方案的出现才有可能延续ddr的生命。前面介绍的是关于历代内存的技术原理,可以说是比较微观的东西,反映在宏观上,就是常见的内存颗粒及内存条了,这都是些看得见摸得着的东西,但有些概念还是不容易理解,这里一一进行说明: 内存位宽sdr/ddr1/2/3单条内存都是64bit 内存模组的设计取决于内存控制器(集成在北桥或者cpu内部),理论上位宽可以无限提升,但受制因素较多:高位宽将会让芯片组变得十分复杂,对主板布线提出严格要求,内存pcb更是丝毫马虎不得,内存颗粒及芯片设计也必须作相应的调整。可谓是牵一发而动全身,所以多年来业界都是墨守成规,维持64bit的设计不变。 相比之下,显卡作为一个整体就没有那么多的顾忌,只需重新设计gpu内部的显存控制器,然后pcb按照位宽要求布线,焊更多的显存颗粒上去就行了,虽然成本也很高但实现512bit并没有太大难度。 多通道内存双通道/三通道 既然实现高位宽内存条太难,那么就退而求其次,让两条内存并行传输数据,同样可以让位宽翻倍。目前流行的双通道技术就是如此,北桥或者cpu内部整合了两个独立的64bit内存控制器,同时传输数据等效位宽就相当于128bit。 intel nehalem核心cpu直接整合三通道内存控制器,位宽高达192bit。但由于cpu、主板、内存方面成本都增加不少,因此在主流lynnfield核心cpu上面又回归了双通道设计。事实上服务器芯片组已经能够支持四通道内存,对服务器来说成本方面不是问题,只是对稳定性和容错性要求很高。 内存颗粒位宽:4/8/16/32bit 理论上,完全可以制造出一颗位宽为64bit的芯片来满足一条内存使用,但这种设计对技术要求很高,良品率很低导致成本无法控制,应用范围很窄。 所以内存芯片的位宽一般都很小,台式机内存颗粒的位宽最高仅16bit,常见的则是4/8bit。这样为了组成64bit内存的需要,至少需要4颗16bit的芯片、8颗8bit的芯片或者16颗4bit的芯片。 而显卡对位宽要求很高,容量反而退居其次,所以显存颗粒的位宽普遍比内存颗粒大(这就是显存和内存主要区别之一),比如gddr3/4/5颗粒都是32bit,4颗就能满足低端卡128bit的需要,8颗可以满足高端卡256bit的需要;而低端gddr2颗粒为16bit,需要8颗才能组成低端卡128bit的需要。 内存芯片的逻辑bank 在芯片的内部,内存的数据是以bit为单位写入一张大的矩阵中,每个单元称为cell阵列,只要指定一个行一个列,就可以准确地定位到某个cell,这就是内存芯片寻址的基本原理。这个阵列我们就称为内存芯片的bank,也称之为逻辑bank(logical bank)。 不可能只做一个全容量的逻辑bank,因为单一的逻辑bank将会造成非常严重的寻址冲突,大幅降低内存效率。所以大容量内存颗粒都是由多个逻辑bank叠加而成的。简单来说,我们可以把一个bank看作是一片平面的矩阵纸,而内存颗粒是由多片这样的纸叠起来的。 一个bank的位宽就是内存颗粒的位宽,内存控制器一次只允许对一个bank进行操作,由于逻辑bank的地址线是公用的,所以在读写时需要加一个逻辑bank的编号,这个动作被称为片选。 内存条的物理bank 内存控制器的位宽必须与内存条的位宽相等,这样才能在一个时钟周期内传输所有数据,这个位宽就被成为一个物理bank(通常是64bit),每条内存至少包含一个bank,多数情况下拥有二个物理bank。 一个物理bank不会造成带宽浪费,理论上是最合理的配置,但为了实现大容量内存,单条内存多物理bank也是允许的,但内存控制器所能允许的最大bank数存在上限,常见的是双物理bank设计,只有特殊内存或者服务器内存才会使用四bank以上的设计,因为这种内存兼容性不好,“挑”芯片组。 事实上显卡上也存在双物理bank设计,目的就是为了实现超大显存容量,比如1gb的9800gt,正反两面共有16颗16m32bit的gddr3显存,总位宽达512bit,实际上显存控制器只支持256bit,这样就是双物理bank。早在sdram时代,显卡上用的“显存颗粒”与内存条上的“内存颗粒”是完全相同的。在那个时候,gpu本身的运算能力有限,对数据带宽的要求自然也不高,所以高频的sdram颗粒就可以满足要求。某tnt2显卡,使用的是pc166的sdr内存颗粒 内存满足不了显卡的需求,显存应运而生 本是同根生的状况一直持续到sdr和ddr交接的时代,其实最早用在显卡上的ddr颗粒与用在内存上的ddr颗粒仍然是一样的。后来由于gpu特殊的需要,显存颗粒与内存颗粒开始分道扬镳,这其中包括了几方面的因素: 1. gpu需要比cpu更高的带宽。gpu不像cpu那样有大容量二三级缓存,gpu与显存之间的数据交换远比cpu频繁,而且大多都是突发性的数据流,因此gpu比cpu更加渴望得到更高的显存带宽支持。 位宽频率=带宽,因此提高带宽的方法就是增加位宽和提高频率,但gpu对于位宽和频率的需求还有其它的因素。 2显卡需要高位宽的显存。显卡pcb空间是有限的,在有限的空间内如何合理的安排显存颗粒,无论高中低端显卡都面临这个问题。从布线、成本、性能等多种角度来看,显存都需要达到更高的位宽。 最早的显存是单颗16bit的芯片,后来升级到32bit,将来甚至还会有更高的规格出现。而内存则没有那么多要求,多年来内存条都是64bit,所以单颗内存颗粒没必要设计成高位宽,只要提高容量就行了,所以位宽一直维持在4/8bit。 3显卡能让显存达到更高的频率。显存颗粒与gpu配套使用时,一般都经过专门的设计和优化,而不像内存那样有太多顾忌。gpu的显存控制器比cpu或北桥内存控制器性能优异,而且显卡pcb可以随意的进行优化,因此显存一般都能达到更高的频率。而内存受到内存pcb、主板走线、北桥cpu得诸多因素的限制很难冲击高频率由此算来,显存与内存“分家”既是意料之外,又是情理之中的事情了。为了更好地满足显卡gpu的特殊要求,一些厂商(如三星等)推出了专门为图形系统设计的高速ddr显存,称为“graphics double data rate dram”,也就是我们现在常见的gddr。 gddr显存和内存正式分家 gddr作为第一代专用的显存芯片,其实在技术方面与ddr没有任何区别,同样采用了2bit预取技术,理论频率gddr并不比ddr高多少。不过后期改进工艺的gddr有了优秀pcb的显卡支持之后,gddr显存最高冲刺至900mhz,而ddr内存只能达到600mhz左右,显存和内存的差距从此逐渐拉开。tsop封装的gddr 16bit:8m16bit 4.0ns tsop ii封装的gddr,单颗16mb,理论频率500mhz当年9550、fx5700等128bit中端卡需要搭配8颗才能组成128bit tsop封装的gddr颗粒,外观规格特性都与ddr内存颗粒没有什么区别,所以在很多人看来“gddr”与“ddr”是可以“划等号”的。其实两者还是有些差别:1.gddr采用4k循环32ms的刷新周期,而ddr采用8k循环64ms的刷新周期;2.gddr为了追求频率在延迟方面放的更宽一些,毕竟gpu对延迟不太敏感;3.gddr颗粒的容量小、位宽大,一般是816bit(16mb)的规格,而ddr颗粒的容量大、位宽小,虽然也有16bit的颗粒,但最常见的还是8bit和4bit,单颗容量32mb或64mb。 为了实现更大的位宽,并进一步提升gddr的性能,后期很多厂商改用了电气性能更好的mbga封装,当然也有内存颗粒使用mbga封装,但规格已有了较大差异,主要是颗粒位宽不同。mbga封装的gddr 32bit:4m32bit 2.2ns mbga封装的gddr,单颗16mb,理论频率900mhz8颗组成128mb 256bit规格,是gddr1最后的辉煌 mbga封装gddr的单颗位宽首次达到了32bit,从此就标志着gddr与ddr正式分道扬镳,32bit的规格被gddr2/3/4/5一直沿用至今。 gddr显存的这两种封装:mbga与tsop构成的高低配,曾一度一统显卡市场。虽然gddr已经退出历史舞台,但32bit主攻中高端、16bit主攻低端的局面,时至今日依然得到了延续。 gddr2第二版:统一低端显卡 永远的配角 由于第一代gddr2的失败,高端显卡的显存是直接从gddr跳至gddr3的,但gddr2并未消亡,而是开始转型。几大dram大厂有针对性的对gddr2的规格和特性做了更改(说白了就是ddr2的显存版),由此gddr2第二版正式登上显卡舞台,时至今日依然活跃在低端显卡之上。gddr2第二版相对于第一版的改进主要有:1.工作电压从2.5v降至1.8v,功耗发热大降;2.制造工艺有所进步,功耗发热进一步下降,成本降低,同时良率和容量有所提升;3.颗粒位宽从32bit降至16bit,只适合低端显卡使用;4.封装形式从144ball mbga改为84ball fbga,外观上来看从正方形变成长方形或者长条形; 各大厂商均有gddr2颗粒 由于电压的下降,第二代gddr2的频率要比第一代gddr2低,主要以2.5ns(800mhz)和2.2ns(900mhz)的规格为主,当然也有2.8ns(700mhz)的型号。直到后期制造工艺上去之后,第二代gddr2才以1.8v电压突破了1000mhz,最高可达1200mhz,赶超了第一代高压gddr2的记录。 采用gddr2显存的经典显卡有:7300gt、7600gs、x1600pro、8500gt一大堆低端显卡。注意三星官方网站对于显存的分类 相信很多朋友也注意到了,本页gddr2的第一个字母为小写,几大dram厂商在其官方网站和pdf中就都是这么写的,以示区分。我们可以这么认为:大写g表示显卡专用,32bit定位高端的版本;而小写g表示为显卡优化,16bit定位低端的版本,本质上与内存颗粒并无区别。 事实上,gddr3和gddr3之间也是这种关系,稍后我们会做详细介绍。gddr源于ddr,gddr2源于ddr2,而gddr3在频率方面的表现又与ddr3比较相似,于是很多人认为gddr3就是显存版的ddr3,这可是个天大的误区。 gddr3:一代王者gddr3源于ddr2技术 无论gddr还是gddr2,由于在技术方面与ddr/ddr2并无太大差别,因此最终在频率方面gddr并不比ddr高太多。在经历了gddr2的失败之后,两大图形巨头nvidia和ati对jedec组织慢如蜗牛般的标准制订流程感到越来越失望,认为他们制定的显存不能适应gpu快节奏的产品更新换代周期,于是nvidia和ati的工作人员积极参与到了jedec组织当中,以加速显存标准的起草及制定。 双方一致认为,显存与内存在数据存储的应用方面完全不同,在内存核心频率(电容刷新频率)无法提升的情况下,单纯提高i/o频率来获得高带宽很不现实。因此,必须要有一种针对高速点对点环境而重新定义的i/o接口。于是gddr3诞生了,这是第一款真正完全为gpu设计的存储器。 gddr3和gddr2/ddr2一样,都是4bit预取架构,gddr3主要针对gddr2高功耗高发热的缺点进行改进,并提升传输效率来缓解高延迟的负面影响。点对点dqs,读写无需等待gddr2只有一条数据选择脉冲(dqs),是单一双向的,而gddr3则拥有读与写两条独立的dqs,而且是点对点设计。这样做的好处在于,在读取之后如果马上进行写入时,不必再等dqs的方向转变,由此实现读写操作的快速切换。 相比gddr2/ddr2,gddr3的读写切换动作可以少一个时钟周期,如果需要对某一个连续的区块同时读写数据时,gddr3的速度就要比gddr2快一倍。 由于存储单元自身的特性,内存颗粒的逻辑bank是无法同时读写数据的,并不存在“全双工”一说,但gddr3的这项改进让顺序读写成为可能。gpu本身缓存很小,与显存之间的数据交换极其频繁,读写操作穿插进行,因此gddr3点对点设计的dqs可以让显存存储效率大增。但对于cpu来说,读写切换并不如gpu那么频繁,而且cpu拥有大容量的二三级缓存,所以gddr3这种设计并不能极大的提升内存带宽,也没有引入到下一代ddr3当中。改进i/o接口,简化数据处理,控制功耗 同时gddr3也对i/o控制电路和终结电阻进行了修改,它不再沿用gddr2的“推式(push pull)”接收器,而将其改为虚拟开极逻辑方式(pseudo open drain logic),并且通过将所有的三相数据信号转移到本位电路上,来简化数据处理,将dc电流压至最小,只有当逻辑low移至总线上时才会消费电力,从而很好的控制了功耗和发热。gddr3的频率能达到现在这么高,其实并没有什么诀窍,凭借的就是不断改进的工艺制程,来暴力拉升频率。资历稍老点的玩家应该知道,gddr3于2004年初次登台亮相时,6600gt的显存频率仅为1ghz,并不比gddr2高,5年过去了,gddr3从1ghz一路攀升至2ghz甚至2.5ghz,生命力得到了延续。 明白了gddr3的原理技术后,再来看看实物。gddr3和gddr1类似,也有两种封装形式: 144ball mbga封装,为了向下兼容gddr和gddr2 最初的gddr3采用了144ball mbga封装,这与gddr和gddr2第一版完全相同,外观也是正方形,三者的电气性能相似,支持gddr3的gpu也可使用gddr显存,pcb和电路只需做少量调整。三星2.0ns 8m32bit gddr3颗粒 144ball封装的gddr3只有8m32bit一种规格,所以8颗显存组成256mb 256bit、或者4颗显存组成128mb 128bit是当时的主流。5700ultra就首次使用了gddr3取代了gddr2。 144ball封装的gddr3主要有2.0ns(1000mhz)和1.6ns(1250mhz)两种速度,1.4ns良率不高产量很小,最高频率止步于1400mhz。曾被7800gtx/gt、6800gs、6600gt、x850/x800/x700等显卡大量采用。由于144ball封装及pcb电路限制了其频率的提升,很快gddr3就改用了电气性能更好的136ball fbga封装。 136ball fbga封装,频率容量节节攀升 为了提高电气性能和环保水平,从2005年开始,gddr3开始采用全新的136ball fbga封装,并统一使用无铅封装工艺。新封装使得显卡pcb必须重新设计,但也为gddr3的腾飞铺平了道路。三星0.8ns gddr3显存 16m32bit规格136ball封装gddr3的优势如下:规格不再局限于8m32bit一种,16m32bit成为主流,目前32m32bit已大量采用;伴随着制造工艺的进步,额定电压从2.0v进一步降至1.8v,但一些高频颗粒可适当加压;速度从1.4ns起跳,经过1.2ns、1.1ns、1.0ns一路发展至0.8ns、0.7ns,最快速度可突破2500mhz,但这是以牺牲延迟为代价的,好在gpu对延迟不太敏感; 当gddr3的频率首次达到2000mhz时,很多人都认为离极限不远了,于是未雨绸缪的抓紧制定gddr4规范,但没想到在dram厂商的努力及新工艺的支持下,gddr3的生命得到了延续,0.8ns 0.7ns的型号相继量产,而且容量更大的32m32bit颗粒也成为主流,基本上能够满足高中低端所有显卡的需要。当前速度最快0.77ns gddr3显存颗粒,理论频率可达2600mhz 当年2.2ns gddr最高可达900mhz,核心频率和i/o频率止步于450mhz。经过5年时间的发展,gddr3凭借新工艺终于在核心频率和i/o频率方面取得突破,核心频率可达600mhz以上,i/o频率超过1200mhz,此时过高的i/o频率成为了新的瓶颈。gddr3采用了ddr2的4bit预取技术,所以采用ddr3 8bit预取技术的显存只能按顺序命名为gddr4。gddr4是在gddr3的基础上发展而来的,它继承了gddr3的两大技术特性,但内核改用ddr3的8bit预取技术,并加入了一些新的技术来提升频率。 gddr4的技术特性:1.使用ddr3的8bit预取技术,以较低的核心频率达到更高带宽,但延迟增加;2.采用数据总线转位技术(dbi,data bus inversion,下文做详细介绍),提高数据精度,降低功耗;3.地址线只有gddr3的一半,多余线用于电源和接地,有利于提升频率,但导致延迟增加;4.采用多重同步码(multi-preamble)技术,解决了gddr3存在的爆发限制(burst limitation),从连续地址读取少量数据时的性能大幅提升;5.电压从1.8v降至1.5v;6.同频功耗下降75%,2400mhz的gddr4功耗只有2000mhz gddr3的一半;7.采用136ball fbga封装,单颗32bit,向下兼容gddr3;gddr4的确更好超,但性能提升有限 由于采用了8bit预取技术,因此在相同频率下gddr4的核心频率(即电容刷新频率)只有gddr3的一半,理论上来讲gddr4最高频率可达gddr3的两倍。但值得注意的是,虽然核心频率通过8bit预取技术减半,但gddr4与gddr3的i/o频率是完全相同的,因此gddr4频率提升的瓶颈在于i/o频率而不是核心频率。 由于制造工艺和技术水平的限制,虽然三星官方宣称早已生产出3ghz以上的gddr4,但实际出货的gddr4只有2ghz-2.5ghz,此后改进工艺的gddr3也追平了这一频率。在相同频率下,gddr4比起gddr3虽然功耗发热低,但延迟大性能稍弱,再加上成本高产量小,gddr4遭受冷落并不意外。 导致gddr4失败的非技术方面原因 gddr3是nvidia和ati参与jedec组织后共同制定的显存标准,而gddr4在标准制定过程中双方产生了较大的分歧。nvidia较为保守,认为应该保持ddr2 4bit预取技术不变,继续改进i/o控制器来提升频率;而ati则比较激进,准备直接使用ddr3 8bit预取技术。 双方争执的结果就是在jedec组织中德高望重的ati获胜(据称ati有位高层在jedec身居要职),而nvidia则明确表示不支持gddr4。因此gddr4其实就是ati一手策划的,但得不到nvidia支持的话,gddr4立马就失去了6成以上的市场,由此导致dram厂不敢贸然投产。 最终只有三星一家生产了少量的gddr4显存,其他家都在观望。当然其他dram厂商都没闲着,它们把精力都投在了深挖gddr3的潜力当中,于是我们看到了gddr3的频率节节攀升,gddr4在没有成本优势的情况下,也没有频率优势,恰好当时的几代a卡更没有性能优势,gddr4自然只有死路一条。 只有ati生产过搭载gddr4的显卡,数量虽然不多但横跨了三代产品:x1950xtx、hd2600xt和hd3870(也包括对应的专业卡)与当年nvidia使用gddr2的显卡数量相等。nvidia在遭遇滑铁卢后果断放弃了gddr2,而ati对于gddr4则是难以割舍,三年时间三代产品都有使用,但一直都是非主流。 gddr4的失败并不是技术原因,和当年的gddr2相比它要成熟很多,没推起来的原因主要是对手太强:ati的对手nvidia很强大,另外gddr4的对手gddr3生命力太顽强了。即便使用了8bit预取技术,可gddr4还是没有与gddr3拉开频率差距,因为瓶颈在i/o控制器上面而不是内核,而gddr5就是用来解决这一瓶颈的。 gddr5:恐怖的频率是如何达成的 和gddr4一样,gddr5采用了ddr3的8bit预取技术,核心频率显然不是瓶颈,如何提升i/o频率才是当务之急。但gddr5并没有让i/o频率翻倍,而是使用了两条并行的dq总线,从而实现双倍的接口带宽。gddr5各项总线工作频率示意图 双dq总线的结果就是,gddr5的针脚数从gddr3/4的136ball大幅增至170ball,相应的gpu显存控制器也需要重新设计。gddr5显存拥有多达16个物理bank,这些bank被分为四组,双dq总线交叉控制四组bank,达到了实时读写操作,一举将数据传输率提升至4ghz以上! 以往gddr1/2/3/4和ddr1/2/3的数据总线都是ddr技术(通过差分时钟在上升沿和下降沿各传输一次数据),官方标称的频率x2就是数据传输率,也就是通常我们所说的等效频率。而gddr5则不同,它有两条数据总线,相当于rambus的qdr技术,所以官方标称频率x4才是数据传输率。比如hd4870官方显存频率是900mhz,而大家习惯称之为3600mhz。 失败乃成功之母,冒险使用gddr5助rv770挑战gtx200 gddr4的失败并没有阻挡ati前进的脚步,在意识到gddr4频率提升的瓶颈之后,gddr5草案的制定就被提上日程,ati和nvidia技术人员重新聚首,开展第二次合作共商大计。gddr5吸取了前辈们的诸多优点,可谓是取其精华弃其糟粕,在i/o改进方面双方也不再有太多矛盾。 技术方面的问题不难解决,最难的是时间和进度。ati在r600上面冒险使用512bit显存控制器来提升显存带宽,结果输得一败涂地,于是rv670只好回归256bit,导致性能原地踏步。而gddr4相比gddr3没有频率优势,因此ati迫切的需要gddr5迅速投产以满足新一代gpu的需要,rv770只有256bit,急需高频显存的支持。 对手nvidia对于gddr5当然很感兴趣,但却一点都不着急,保守的nvidia决定坚守gddr3,gtx200核心使用了512bit显存控制器来提升带宽。比起r600的环形总线,nvidia从256bit到384bit再到512bit一步一个脚印走出来的交叉总线显然更加成熟。 以256bit对抗512bit,ati只能将筹码全部押在gddr5身上,于是在gddr5标准尚未完全确立之前,ati已经在紧锣密鼓的测试性能,并督促dram厂投产。可以说gddr5和gddr2/4一样也是个早产儿,但失败乃成功之母,有了完善的技术规格和制造工艺的支持,gddr5一出世便令人刮目相看。 凭借gddr5翻倍的数据传输率,hd4870以256bit将448bit的gtx260挑落马下,迫使nvidia通过降价、提升规格、改进工艺等诸多手段来反击。128bit的hd4770性能也完胜256bit的9600gt并直逼9800gt。gddr5在gddr3/4优秀特性的基础上,还有诸多改进和新特性,下面就对它们进行详细分析。数据和地址总线转位技术:信号质量高、功率消耗少 在1byte数据中的8个值中,如果超过一半的数值是0,那么gddr5就会自动执行转位传输,把0变成1、1变成0,通过1个附加的dbi(数据总线转位值)来判定数据流是正位还是反位。gddr5的这项技术是从gddr4继承发展而来的。 dram在传输数据时,只有0会消耗电能,减少0的传输数量,既能保证信号质量,也能减少内部终结电阻和外部终结电路的功率消耗。gddr5的地址总线也使用了类似的技术,通过额外的abi通道来转位数据流,从而较少信号噪声,并降低功耗。智能的可编程i/o控制接口:简化pcb设计和成本 gddr5对i/o控制器做了很多改进,加入了全新的自动校准引擎,保证gddr5显存颗粒更好的适应gpu显存控制器的需求,确保数据传输稳定可靠。 自动校准引擎可以监控电压和温度变化,通过校验数据输出驱动器导通电阻与odt终结电阻值来作出补偿,数据、地址、指令终结电阻都可以被软件或驱动控制。gddr5的针脚更多,但布线更简洁 此外gddr5还能支持时间延迟和信号强度调整,灵活的协调数据同步,以往通过“蛇形走线”平衡延迟的方法彻底成为历史,gddr5没有这种顾虑,因此能极大的简化pcb布线和成本,并有利于冲击更高频率。数据遮盖技术:减轻数据总线压力 gddr5的burst length(对相邻存储单元连续进行数据传输的周期数)是8bit,也就是说gddr5颗粒一次至少要传输256bit数据,但很多时候并不是所有的数据都需要被改写,导致无效的数据传输。 为此,gddr5使用了一项数据遮盖技术,通过地址线传输保护信息,所有被保护的数据在传输过程中就不会被改写,只有暴露的数据才会被写入新的数据。如此以来,gddr5的数据线压力减轻不少,功耗发热也得到进一步控制。误差补偿技术:提高传输效率,避免灾难性错误 为了保证数据在高速传输过程中的有效性,gddr5新增一项错误侦测与修正技术。gddr5使用了成熟的crc(循环冗余校验),通过dq和dbi总线,实时检查错误,第一时间重新发送数据。 这项技术对于高频率传输数据尤为重要,它能有效的减少数据传输错误导致系统崩溃的概率,大幅减少了由超频或高温导致的一系列问题,而且能够一定程度上提升数据传输效率。折叠模式:32bit颗粒当作16bit用 gddr5作为高端显卡专用的显卡,只有32bit的颗粒。由于gddr5拥有两条并行的数据总线,这就使得gddr5的工作模式变得更加灵活,它既可以工作在32bit模式下也可以工作在16bit模式下。这样一个32bit显存控制器就可以控制两颗gddr5显存,显存容量可以轻松翻倍。 其实,gddr3/4都可以通过这种方式扩充显存容量,但原理则完全不同。此前必须gpu的显存控制器在设计时支持双bank模式才能支持更多的显存颗粒。而现在,8颗gddr5显存总计256bit可以直接被128bit的gpu使用,从而简化了显存控制器设计,hd4770就是很好的例子。之前我们分析过,tsop封装的gddr1还有gddr2显存,其实在技术上与ddr1/2内存没有本质区别,高位宽(16bit)的内存颗粒可以直接当作显存使用。随着ddr3颗粒大量投产,成本接近ddr2,于是在ddr3内存取代ddr2的同时,也将顺便取代老旧的gddr2。 gddr3:把内存颗粒改装成显存用 以目前的情况来看,ddr3比gddr2频率高很多,但成本比gddr3要低,所以gddr2被取代是板上钉钉的事。amd率先将ddr3使用在了显卡上,随后得到了业界的一致认可。 为了和ddr3内存颗粒区分,dram厂将其称为graphics ddr3 sdram,简写为gddr3,和ddr3内存颗粒一样都是8bit预取技术,单颗16bit,定位中低端显卡;而传统的gddr3则是graphics gddr3 sdram的简写,它和ddr2内存一样采用了4bit预取技术,单颗32bit,定位中高端显卡。 可以看出,在高端gddr5将会取代gddr3,而低端gddr3将会取代gddr2,中端则会出现三代共存的局面。虽然gddr3单颗位宽只有gddr3的一半,但存储密度却是gddr3的两倍,而且在相同频率下(比如2000mhz),gddr3的核心频率是gddr3的一半,因此功耗发热要低很多。对于位宽不高的中低端显卡来说,gddr3大容量、低成本、低功耗发热的特性简直相当完美! 上图就是现代官方网站列出的gddr3和gddr3两种显存的规格参数表,注意它们的全称,是否有g,真的是差之毫厘谬以千里。 gddr3源于ddr3,技术特性上没有区别,主要在封装上面。gddr3作为对显卡优化的版本,单颗16bit fbga 96ball封装;而ddr3多为单颗4/8bit,封装是78/82ball。也有少数ddr3使用了16bit fbga 96ball封装,由于位宽太大仅用于特殊场合在前文的内存部分,关于内存颗粒的位宽、通道、bank等做了一些介绍,这些技术参数对于显存同样适用,但显存也有自己的一套规格定义,下面就逐一介绍: 规格:16m32bit是什么意思? 当您浏览网站或者查看显卡规格时,往往都会看到类似“某某显卡使用了4颗16m32bit的gddr3显存”这样的文字,这其中16m3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腹腔镜乙状结肠癌根治术护理查房
- 2025-2030中国尿素过氧化氢行业竞争态势及投资战略研究报告
- 三只小猪意义课件
- 三十六计课件
- 公务员面试经典题库
- 运营之路:万唯面试题库及解析
- 小儿静脉穿刺术课件
- 综合内勤岗位面试题库指南
- 难点解析-人教版(五四制)6年级数学下册期末试题【突破训练】附答案详解
- 大班语言教案及教学反思《秋天》
- 电商行业电商平台客服解决方案
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 丹江口事业单位笔试真题2024
- 中医师承跟师笔记50篇
- GB/T 3648-2024钨铁
- 华为-质量回溯培训教材
- 肾细胞癌诊断治疗指南解读
- 宜宾国企公开招聘综合能力测试题
- DB4201-T 569.6-2018 武汉市反恐怖防范系统管理规范 第6部分:城市轨道交通
- 化工有限公司3万吨水合肼及配套项目环评可研资料环境影响
- 2024年江苏省对口单招英语试卷及答案
评论
0/150
提交评论