作者jk21234 (BL2400PT真不错)
站内PC_Shopping
标题Re: [情报] AMD 推出自有颗粒 DDR3 记忆体模组
时间Wed Aug 10 00:57:52 2011
※ 引述《jk21234 (BL2400PT真不错)》之铭言:
: → ultra055012:简单的说把除非把DRAM改成SRAM并做成主流记忆体大小才 08/09 09:58
: → ultra055012:会改变速度,跟课本上理想情况一样,不过不太可能 08/09 09:58
课本上会介绍的是标准的6T-SRAM,但其实现在并不是靠这个.
如1T-SRAM跟embedded DRAM的应用是比较近期,课本上不一定有的课题.
: 推 RIFF:1.问一下.为何双或三通道对效能影响很小? flash使用多通道却 08/09 10:49
: → RIFF: 提升许多流量 08/09 10:50
我个人推测,这是一种strip size的问题...(也许用这个词称呼不尽然正确)
cpu向记忆体读写资料,基本的单位是一条cache line,
而这个大小可能才32byte~128byte之间,
以一条DRAM DIMM是64bit(=8 byte)来看,单通道的时候,需要花4~16(32~128除8byte)
个cycle来完成一次传输中的burst动作.可是假设双通道,由记忆体控制器把cache
line各拆一半给两个通道的话.就变成用2~8个cycle来完成,可是每个动作都需要
等待一定的延迟时间,假定平均是9 cycle好了(低到不可能的数据,DDR3-1600的
CL都已经11 cycle了,所以真正的DDR3模组平均延迟是11+N起跳)...
有点难理解的话......
单通道花这麽长的时间
|------------|XXXXXXXX -->送你8笔各8byte的资料,
双通道花这麽长的时间.
|------------|XXXX A -->A,B各送你4笔8byte的资料.
|------------|XXXX B
理论上只有打XX的部分的时间缩成一半,但它本来就只有一部分了.
真正改进效能的幅度 要看缩短的部分占有全体的时间多少.
(也就是上面两个的全长比值)
单通道,传递32~128byte,花了9+4~9+16=13~25个cycle,
双通道,传递...............9+2~9+8=11~17个cycle,
改进幅度大概是20~33%之间.不过以benchmark用"MB/S"来评比的话,
纯记忆体读写benchmark大约後者是提升20~45%的数据.
咦.查证如Sandra在测试记忆体读写的时候,双通道速度
通常只领先单通道30~40%之间而非两倍.和这个假定的结果
很符合.
如果要避免这问题,就是一开始仅可能的合并资料变成连续的长资料,
或者是能独立针对每个记忆体通道作存取.这样可以有效提升记忆体系统的
效率.不过这个在比如网路处理器(并非上网用的,而是高阶switch,router
的核心晶片),以及GPU上,由於它们需要超快速的streming data处理能力.
所以可以看见这种作法.
一般的cpu上没有,原因可以推测一个是记忆体控制器的成本,另外个原因是有cache,
cpu cache若大到可以有85%的命中率,那麽记忆体速度增加100%,顶多也增加整体3~5%
的效能数字.那麽就是同样的die size,要加强cache方面还是记忆体控制器方面.
基本上GPU会花1/4以上的面积在记忆体控制器,CPU会花2/5的面积在cache.
Flash ROM的话基本上它被当I/O使用,最低存取长度可能是0.5~8KB不等.
每颗记忆体的界面应该是16~32bit间,这样连续存取的cycle数量就会长达
256~1000个cycle以上.
不过其实靠这个没解决问题,因为Flash的初始化时间不短,大概是略低於100us,
比记忆体的延迟多了一千倍以上.
所以实际上是靠interleave/overlap/hidden latency的技巧去作的,怎说??
原本记忆体系统读取多笔资料是:
|-----|AAAA|-------|BBBB|-------|CCCC|
主要的特色就是它在等待任一笔资料还没回来的空窗期,就是纯粹等,甚麽都没有作.
SSD的系统大概会是:
|----|AAAA|
|-------|BBBB|
|---------|CCCC|
v v v v v
|----|AAAA|BBBB|----|CCCC| 变成这样.
将多笔资料存取的延迟互相重合.实际所花的时间就会少很多.
可是记忆体系统为何不见学习I/O系统这种设计?
一个可能的原因是这样会踩到RAMBUS的专利(除了它没看过有相似的设计).
另外成本也是,作一个SSD控制器,每秒要处理的读写要求少於10万笔,
但是记忆体控制器,每秒要处理的读写要求可能在一亿笔以上.这表示这种
进阶的记忆体控制器本身要是快速的晶片,具有高速的运算能力,
准备高速进出的command queue,容量不低且能超过记忆体速度数倍的buffer
等都要齐全....成本应该会跟一颗cpu有得拼.
: → RIFF:2.cpu功耗时脉不拉高的话-例20w 其实记忆体与处理器L2出来的 08/09 10:51
: → RIFF: 流量差不多,因此.甚至不需要用到L3 08/09 10:52
看不懂...不过主记忆体跟主流是SRAM(但是并非完整6T)的L2 cache
速度差异很大.当然记忆体速度和L2的速度差异不大的时候不需要塞L3.
如果L3本身没有比记忆体快很多(K6-3时代的onboard cache逻辑上是L3.....)
也可能不需要L3 cache.
: 推 RIFF:3.看slc flash从50nm到25nm 好像iops并没有明显的提升? 08/09 11:02
: → RIFF: 我想这对将来的架构会有影响 08/09 11:03
: → RIFF:4.如你所说:pc引进了flash 比起没flash前 记忆体的延迟应该 08/09 11:08
: → RIFF: 加速:为什麽我们不拉高记忆体的时脉 08/09 11:10
: → RIFF: 例如.我们可否采用ddr1-1200mhz 这延迟可以比20ns快 08/09 11:17
因为是DRAM,DRAM的先天延迟(RAW Latency)是改进不了的...
并不是DDR-400的延迟比较小,那只有标出来的数字比较小而已.
DDR-400时代的话,CL=3算是一般,CL=2.5叫做高级
DDR2-800的时候,CL=6叫做烂,CL=5算一般,CL=4只有加压模组才有
DDR3-1600...CL=11是一般,CL=9算是低延迟模组.
可是,DDR-400下的CL=3,DDR2-800下的CL=6,DDR3-1600下的CL=12,
指的都是同样长的延迟.只是因为CL的标示单位是cycle,而它跟data
rate成反比而已.这问题就像是问1公吨,950公斤,900000公克,哪个
比较重一样...数字是增加的,但真正代表的意义是缓降的.
SDRAM的Raw Latency并没有改进.从PC133走到DDR,DDR2等的作法差别则是:
FP DRAM:
<------>A
PC133: DDR: DDR2(类推...XD):
----A -----A
+---B +----B
+----C
+----D
资料是在内部分散成更多单元的,而叫醒它们的时间无法改进,
只是叫更多单元来轮流输出.上面这个图看起来虽然像是多通道,
不过这个是完成在单一的DRAM晶片内部.
所以用现在的水准想去生产DDR-1200MHZ,它应该也是CL=12或者是CL=11吧
(比如你手边有DDR400的话可以自己确认,它SPD是不是400下CL=3,333下
CL就是2.5,266跟200的话CL会更低)
更大的问题当然是作不出来啦,因为只有同样数量的bank,却要负担快起三倍的速度,
它们本来就没这麽快了....
再来就是PCB的问题,基本上从PC133,DDR400,DDR2-800等,data rate是加倍的.
可是pcb上帮你拉的基本时脉是不变,都在100~200MHZ之间,而以多组时脉去作
差动来达成倍增的data rate,DDR3怎麽作到我不是很清楚...换言之DDR-1200,
就是要在主机板上拉一个露在空气中,600MHZ频率的线而且还是平行bus不可以有
clock skew.换句话说就算你拿SRAM或者任何外星科技冒充DDR模组,搞一个DDR-
1200,也没有办法作在主机板上.
: 推 kkcity59:ddr1-1200mhz...因为我们根本做不出这麽快的CELL.... 08/09 21:46
: → kkcity59:flash的速度跟他的edurance有关,不是你想拉高就拉高 08/09 21:50
: → kkcity59:越小的制程edurance就越差,flash要快就得跑高压同步模式 08/09 21:51
: → kkcity59:L3有没有CPU厂商会评估,但他无疑是很方便的多核交换中心 08/09 21:51
: → kkcity59:我想目前的状况,Intel/AMD/IBM都很愿意加入L3的设计 08/09 21:52
: → kkcity59:个人电脑上资料处理量根本不高啊,伺服器上就会差很多 08/09 21:53
: 推 ChaosK:长知识有推 08/09 23:07
: 推 landattack:推 08/09 23:18
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.163.46
1F:推 batschris:未看先推 08/10 01:01
2F:推 TaiyoYuden:我跟上篇一起看 看成中... 08/10 01:07
3F:推 pomelo168168:看不懂还是要推 08/10 01:10
4F:推 soem:结论一: 双通道是有明显改进,但是只占整体的不到5% 08/10 01:20
5F:→ soem:结论二: 用外星科技做得出DDR-1200,但主机板没法做出那种频率 08/10 01:21
6F:推 wahaha99:专业 08/10 01:38
7F:推 wild2012:好感动 我居然看得懂... 泪推 08/10 01:38
8F:推 skiOMG:再次专业推 (虽然只看得懂4成= = ) 08/10 02:37
9F:推 three456:简单易懂 好文 08/10 03:16
10F:推 fanzero:推专业 08/10 03:30
11F:推 AXby:有神快拜 08/10 05:42
12F:推 one9870:推这篇~解说很简易了~ 08/10 05:48
13F:→ quamtum:dramc也是会偷latency,例如多发req进cache,data remap让 08/10 07:13
14F:→ quamtum:bank使用率最大,不是笨笨等row col切换 08/10 07:15
有PreCL等可以在特定条件下多偷掉1-2 cycle的Latency,
但是它影响的部分算很小,为了简化说明....
PC上的SDRAM体系的有效传输率一般认为在40%~60%之间.
不过各种I/O界面,bus等的有效传输率大概都有85%起跳.
Rambus也是号称自己有90%有效传输率,还是认定SDRAM体系没做同
I/O界面般复杂的hide latency的协定比较接近事实.
15F:推 dre34317:看电虾长知识 08/10 09:22
16F:推 mailforclass:专业文必推 08/10 10:23
※ 编辑: jk21234 来自: 114.37.142.126 (08/10 13:33)
17F:推 adolphjong:好专业 只能吸收两三成.. 08/10 15:06
18F:推 nprton22:有看有推!!!!!!看电虾~~长脑袋!!! 08/10 20:12
19F:推 xtt:好文不来膜拜一下怎行~~ 08/11 11:06
20F:推 YoshihiroK:原来才增加20~30%左右... 08/12 17:41