※ 本文為 applejone. 轉寄自 ptt.cc 更新時間: 2011-08-17 10:20:32
看板 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起跳)...
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在測試記憶體讀寫的時候,雙通道速度
咦.查證如Sandra在測試記憶體讀寫的時候,雙通道速度
通常只領先單通道30~40%之間而非兩倍.和這個假定的結果
很符合.
如果要避免這問題,就是一開始僅可能的合併資料變成連續的長資料,
或者是能獨立針對每個記憶體通道作存取.這樣可以有效提升記憶體系統的
效率.不過這個在比如網路處理器(並非上網用的,而是高階switch,router
的核心晶片),以及GPU上,由於它們需要超快速的streming data處理能力.
所以可以看見這種作法.
效率.不過這個在比如網路處理器(並非上網用的,而是高階switch,router
的核心晶片),以及GPU上,由於它們需要超快速的streming data處理能力.
所以可以看見這種作法.
一般的cpu上沒有,原因可以推測一個是記憶體控制器的成本,另外個原因是有cache,
cpu cache若大到可以有85%的命中率,那麼記憶體速度增加100%,頂多也增加整體3~5%
的效能數字.那麼就是同樣的die size,要加強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以上.
每顆記憶體的界面應該是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公克,哪個
比較重一樣...數字是增加的,但真正代表的意義是緩降的.
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,
可是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 08/10 01:01
推 :我跟上篇一起看 看成中...2F 08/10 01:07
推 :看不懂還是要推3F 08/10 01:10
推 :結論一: 雙通道是有明顯改進,但是只佔整體的不到5%4F 08/10 01:20
→ :結論二: 用外星科技做得出DDR-1200,但主機板沒法做出那種頻率
→ :結論二: 用外星科技做得出DDR-1200,但主機板沒法做出那種頻率
推 :專業6F 08/10 01:38
推 :好感動 我居然看得懂... 淚推7F 08/10 01:38
推 :再次專業推 (雖然只看得懂4成= = )8F 08/10 02:37
推 :簡單易懂 好文9F 08/10 03:16
推 :推專業10F 08/10 03:30
推 :有神快拜11F 08/10 05:42
推 :推這篇~解說很簡易了~12F 08/10 05:48
→ :dramc也是會偷latency,例如多發req進cache,data remap讓13F 08/10 07:13
→ :bank使用率最大,不是笨笨等row col切換
→ :bank使用率最大,不是笨笨等row col切換
有PreCL等可以在特定條件下多偷掉1-2 cycle的Latency,
但是它影響的部分算很小,為了簡化說明....
PC上的SDRAM體系的有效傳輸率一般認為在40%~60%之間.
不過各種I/O界面,bus等的有效傳輸率大概都有85%起跳.
Rambus也是號稱自己有90%有效傳輸率,還是認定SDRAM體系沒做同
I/O界面般複雜的hide latency的協定比較接近事實.
推 :看電蝦長知識15F 08/10 09:22
推 :專業文必推16F 08/10 10:23
※ 編輯: jk21234 來自: 114.37.142.126 (08/10 13:33)推 :好專業 只能吸收兩三成..17F 08/10 15:06
推 :有看有推!!!!!!看電蝦~~長腦袋!!!18F 08/10 20:12
推 :好文不來膜拜一下怎行~~19F 08/11 11:06
推 :原來才增加20~30%左右...20F 08/12 17:41
--
※ 看板: PC_Shopping 文章推薦值: 0 目前人氣: 0 累積人氣: 146
作者 jk21234 的最新發文:
- 我970 1070 2080都有搶初期 首批沒有後的等待大約是3.5個月 2.5個月 ...2080印象不到2個月 3080自發表到發售前的熱度 體感上較為接近gtx980/970 的時候...所以有 …31F 21推
- 為什麼cache預料之外的hit會導致data外流.... 其實表面來說 資料沒有被讀出來 但是是被窮舉的方式猜出來的 基本原理 0. int64 a = rdtsc() RDTSC = Read t …72F 40推
- 消費級的就先不用嚇自己 因為 1. user mode的計算不會變慢 壓檔跟跑分是沒有因為這樣分數洗牌的 2. I/O syscall要多花時間所以變慢 但你自己的應用會是重度I/O嗎 而且原本dis …131F 56推
- OK 你看不出來 是因為你剛好錯開不一樣的年代 故事是這樣的 首先 除了Quicktime跟RM,當時大部分的壓縮的影像是來自於 JPEG/MPEG系列以及衍伸的技術 所以使用的壓縮方法都還蠻接近的. …84F 49推
- 今天拿來裝顯示卡 圖中是1070FE 約是10.5吋 如果裝了8吋以上的卡 會少兩個3.5擴充可用 上方5.25的只有上面兩個可以裝 光碟機 否則會撞到主機板 下面5.25頂多拿來轉接3.5吋 所以最 …90F 40推
點此顯示更多發文記錄
→
guest
回列表(←)
分享