PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   系統組件 (https://www.pcdvd.com.tw/forumdisplay.php?f=19)
-   -   為何記憶體I/O介面始終無法走向序列? (https://www.pcdvd.com.tw/showthread.php?t=760893)

ianme 2007-12-05 10:24 AM

記憶體跑序列會真的比較好嗎?該看什麼樣的需求有什麼樣的設計,序列的話那可能會造成拿個資料要等很久喔。平行未必不好,至少現在都是流行這樣的方式與概念,"雙"通道、raid、多核心、N張顯示卡等等,在吃量的年代,一個人如果做不來那就是在多找幾個打手,現在也不流行單槍匹馬了,都是團隊合作,不是嗎?記憶體重點是要低延遲與高頻寬,平行的就能夠達到了,幹麻非搞序列不可?

xiemark 2007-12-05 11:50 AM

FB-DIMM
http://zh.wikipedia.org/wiki/FB-DIMM
就是序列傳輸。

另外PCIE x1 PCIE x16都是序列,因為PCIEx16是以多個序列平行在傳,彼此沒有CLOCK同步的問題。

序列和並列的定義其實要相對於CLOCK來定義才對。

並列在傳輸時,所有信號線必須與傳輸時鐘同步。

而序列不用同步。

多個序列平行在傳,不等於並列。

mistwalker 2007-12-05 12:25 PM

來解釋一下
Why everyone wanna serial?
:)

==========================
與資料速率較低的平行介面相比,高速序列傳輸幫助晶片設計人員將I/O數量降低一個數量級以上。減少I/O數量具有多種優勢,包括降低晶片成本以及功耗,對於系統設計人員而言實際上能降低總成本,及節省電路板空間。序列傳輸還大量簡化布線,延伸I/O的驅動距離,同時顯著提升訊號完整性。

毫無疑問,很多市場領域和應用採用最新的序列通訊協定標準,包括有線通訊、無線通訊、測試和測量、運算、儲存、廣播、嵌入式處理和數位訊號處理(DSP)等。理解到序列通訊協定將被廣泛採用的FPGA供應商,便會將收發器整合到FPGA中,對客戶的需求作出積極回應。這些供應商面臨的挑戰是設計實現跨越多種資料速率的大範圍通訊協定標準,同時提供優異的訊號完整性。

設計大速率範圍內的通用PMA

收發器由實體媒體存取子層(PMA)和實體編碼子層(PCS)兩種模組構成。PMA主要處理類比訊號,而PCS主要是處理數位訊號。PMA在發送時將資料序列化,接收時解序列化。FPGA收發器設計人員面臨的挑戰是設計能夠在大範圍資料速率上工作的通用PMA,並在此範圍內提供最佳的訊號完整性。在單一資料速率上可以輕鬆設計PMA實現優異的抖動性能,但是在較大速率範圍內設計實現相同的性能則要困難得多。FPGA支援的速率範圍較大,可適用於多種通訊協定,常用範圍是622Mbps∼6.375Gbps。

此外還須考慮的是收發器通道的驅動類型,在FR-4材料上驅動6.375Gbps訊號傳輸30英吋,例如背板應用,須要對訊號進行調理,而驅動622Mbps訊號傳輸幾十英吋則不須要訊號調理。當資料速率大於1Gbps,訊號穿過板上的電路板(PCB)走線時,由於會產生符號間干擾,訊號將會出現劣化。這種劣化也主要是由趨膚效應和介質損耗兩種現象所造成,任何訊號的高頻分量都會由於衰減而產生失真,其結果是導致眼框圖閉合。在PMA中置入發送預加重和接收均衡功能,可抵消趨膚效應,工作時可產生較大的眼框圖張開。這些基本PMA功能都是必需的,所有標準均可普遍採用。

除了這些基本功能外,某些序列標準還對PMA有其他要求,以具有更強的專用特性。例如,PCI Express要求接收偵測、電氣空閒和展頻時鐘功能,而這些是其他序列標準不需要的。接收偵測功能使發射器能夠偵測通道的另一端是否有接收器。在另一側,發射器空閒時,電氣空閒功能使接收器能夠偵測通道另一端是否有發射器。

高頻訊號在電路板上傳輸時能夠符合美國聯邦通訊委員會(FCC)要求的電磁輻射(EMR)是較關鍵的問題,在單一頻率上降低總EMR的一種方法是在較窄範圍內調製時鐘訊號,以便將輻射功率分散在一定的頻率範圍內。

挑戰標準差異 設計PCS模組

在PMA之上,序列協議的差異導致PCS模組的複雜化,例如,序列標準採用不同的編碼和解碼方案。同步光纖網路(Synchronous Optical Network, SONET)是最早的序列通訊協定,採用其他序列標準沒有使用的加擾編碼方案。最新的標準在很大程度上借鏡其他標準,例如光纖通道使用8b/10b編碼簡化PCS的實現。

但是,標準之間的差異對PCS模組的影響較大。FPGA供應商面臨針對多種標準和專用通訊協定設計PCS模組的挑戰,還要為個別通訊協定進行訂製設計,以簡化每種通訊協定的實現過程。將關鍵PCS功能進行整合可實現與特定標準的相容,同時釋放出FPGA資源,以用於其他功能。

將關鍵的、邏輯單元(LE)密集的功能在收發器PCS模組(硬式IP)中實現,將不重要的功能在FPGA架構(軟式IP)中實現,為設計方式之一。基於應用較廣、各種領域均有採用,以及與軟式IP相比較其功能實現的效率等考慮,可在通訊協定中提供硬式IP。此外,在收發器中加入一個8b/10b編/解碼器(圖1),可支援多種標準和專用通訊協定,例如SRIO、PCI Express、XAUI和超高速乙太網路(Gigabit Ethernet, GbE)均使用8b/10b。

對於PCI Express,這些收發器包括一個FPGA內部核心的管道(PIPE)相容介面,支援實體層所有的控制和訊號交換要求。這也使得收發器能夠相容於現有的、透過PIPE進行介面的PCI Express IP。對於GbE,收發器包括媒體存取控制單元(MAC)的同步、編碼、解碼和速率匹配功能。PCS還提供網路自動協商功能來協商速率,以及載波檢測和碰撞檢測訊號支援等。還可以為10Gb乙太網路XAUI通訊協定提供類似的支援,其收發器內部包括通道對齊等功能。

帶有嵌入式收發器的高端FPGA經過設計,能夠為新興的大量序列通訊協定標準提供強大的解決方案,例如用於寬頻應用的GbE、PCI Express、XAUI和SRIO等。將特殊通訊協定功能整合在元件中可簡化這些流行通訊協定的實現過程,在某些情況下,提供相容所需的功能。然而,整合收發器的FPGA本身只是解決方案的一部分。一套完整的通訊協定方案包括FPGA、軟式IP、電路板、軟體、特徵和相容性報告、原理圖、布線圖和技術支援等。

(本文作者為Altera產品行銷經理)
資料取自:
http://www.2cm.com.tw/coverstory_co...p?sn=0701010715


Parallel v.s. Serial

圖片取自:
www.intel.com

Job's Tears 2007-12-05 12:36 PM

引用:
作者mistwalker
來解釋一下
Why everyone wanna serial?

工程上沒有絕對好壞

Stonehendge 2007-12-05 12:50 PM

引用:
作者ianme
記憶體跑序列會真的比較好嗎?該看什麼樣的需求有什麼樣的設計,序列的話那可能會造成拿個資料要等很久喔。平行未必不好,至少現在都是流行這樣的方式與概念,"雙"通道、raid、多核心、N張顯示卡等等,在吃量的年代,一個人如果做不來那就是在多找幾個打手,現在也不流行單槍匹馬了,都是團隊合作,不是嗎?記憶體重點是要低延遲與高頻寬,平行的就能夠達到了,幹麻非搞序列不可?


其實low latency+high throughput是理想啦,但現實情況很難做到
要不然1T-SRAM早就起來了
DRAM有其先天上的physical limitation
從最近的發展過程來看(DDR3,GDDR3,GDDR4......etc)
幾乎都是朝high latency,high throughput(bandwidth)方面發展,這也和越來越多處理的data是屬於streaming的形態有關.

mtlin 2007-12-05 12:52 PM

引用:
作者mistwalker
來解釋一下
Why everyone wanna serial?
:)

==========================
與資料速率較低的平行介面相比,高速序列傳輸幫助晶片設計人員將I/O數量降低一個數量級以上。減少I/O數量具有多種優勢,包括降低晶片成本以及功耗,對於系統設計人員而言實際上能降低總成本,及節省電路板空間。序列傳輸還大量簡化布線,延伸I/O的驅動距離,同時顯著提升訊號完整性。...

------------------------------------------------------

有些不見得正確.
1. 晶片成本鐵定是上升的.
之前 PCIE G1 2.5Gb/s vs. DDR2-800 ; 而後PCIE G2 5Gb/s vs. DDR3-1600
也就三倍快. 問題是DDR有128 bit耶, 你打算做43個PHY嗎?
而且PHY不是雙向性的, 在PCB上省的線也沒想像中大啦; 只是限制少, 好做很多.
去問問做過晶片組的, 你就知這兩個size差多少....
要把PHY做在記憶體晶片上? 那更慘了.....

2. 功耗低?
正常都是serial-link高於parallel link吧. DDR算是parallel link中較高的一種, 沒仔細比較過.

當然啦!! DDR已經差不多了啦.要上2Gb/s簡直是阿婆生兒子.

Vista 2007-12-05 02:52 PM

引用:
作者firmware
是不是所有特性都是serial我不確定,但是送進去的command是有fly-by,這部分是serial沒錯
您說的也沒錯,有點誤會
Fly-by command/address/control bus with On-DIMM termination的做法與PCI express 每個PHY的 只有各一支SMCLK/SMDAT bit-bang protocol Serial傳輸方式有點不同



對外是等待由平行bus每個bit匯整出來一完整的serial Byte,所以DDR3一樣有240-pin

Destiny 2007-12-05 02:59 PM

引用:
作者mistwalker
是的
但我的問題是
業界標準JEDEC協會為什麼不能制定出序列傳輸的DRAM規格?
畢竟,Rambus那種專有規格是要收取龐大權利金的~
記憶體Top5大廠Samsung Hynix Qimonda Elpida Micron,還有排在Top5之後的台廠
絕不可能買單的

基本上Rambus擁有非常龐大的ram ip...
fbdimm?構想rambus早申請專利了...
而且業界標準?不過就是大家比誰後台硬... :stupefy:
所謂的標準規格不過是大家能妥協的最大公因數而已...
(DDR4規格開始鬥法了...)

引用:
作者mtlin
------------------------------------------------------
當然啦!! DDR已經差不多了啦.要上2Gb/s簡直是阿婆生兒子.

[43]
Rambus在搞TB/s的傳輸了... 但還是覺得容量比速度實在...(一般人應用)

mtlin 2007-12-05 04:37 PM

引用:
作者Vista
您說的也沒錯,有點誤會
Fly-by command/address/control bus with On-DIMM termination的做法與PCI express 每個PHY的 只有各一支SMCLK/SMDAT bit-bang protocol Serial傳輸方式有點不同

http://www.xbitlabs.com/images/memory/ddr3/fly-by.png

對外是等待由平行bus每個bit匯整出來一完整的serial Byte,所以DDR3一樣有240-pin


完全錯誤的想法.
Fly-by的目的是要解決SI(Signal Quality)的問題.

DDR1/2在command/address/control在PCB上是用balanced-tree的方式,
讓這些訊號可以同步到達每顆dram chip. 但這種balanced-tree的layout
方式對SI是很差的, 這也是為啥command/address/control速度只有data的一半.
甚至command還有1T或2T的設定.

DDR3-1333,1600下, 這些command訊號也要跑667Mb/s或800Mb/s啦.
用balanced-tree是根本不可能的事情.所以他在模組板上換成fly-by
(基本上和原來data在主機板的layout方式類似, 像早期有4個DIMM, 循序一個一個放, 也就是multi-drop)

DDR3因為這些訊號和clock不同步到達每顆dram chip, 每個byte的data就要去調整, 讓
data和command/clock到達的時間接近.
並不是像你所說平行每個bit匯整成一完整的byte.

Byte內的8 data bit是同步到達每顆dram chip, 不同byte間的data才有速度差.
這些不同速度的data是傳到不同的dram chip, 你要怎麼匯整?

skyang 2007-12-05 05:21 PM

引用:
作者xiemark
FB-DIMM
另外PCIE x1 PCIE x16都是序列,因為PCIEx16是以多個序列平行在傳,彼此沒有CLOCK同步的問題。

序列和並列的定義其實要相對於CLOCK來定義才對。

並列在傳輸時,所有信號線必須與傳輸時鐘同步。

而序列不用同步。

多個序列平行在傳,不等於並列。

是也,非也。
序列和並列的定義如果從Apple2那時的對外通訊一直演變到RS-232,再到並列埠,這邊應該指的是資料如何傳送,如果同一個Byte資料同時由8條線送出,或是用同一條線,串列送出來決定他是串列或序列傳輸。今天的工業電腦還是有不少應用是把印表機並列埠拆開成獨立線,同時對不同裝置通訊,這時要算他並列或串列。
至於會用到PCIE X16,目前用量最大的顯示卡,通常處理的是連續性的大量資料,以一個顏色資料32bit,連續傳16筆好了,如果這16比資料分16條線來傳輸,接收端最少要32clock後,接收端才會有一筆完整資料可以處理,但是PCIE x16在標準上也可以把這32bit資料平均分給16條線,就算有幾條線傳比較慢,最遲3到4clock就可以開始處理資料。

另外這個標準的序列通訊協定Serial Peripheral Interface Bus
http://en.wikipedia.org/wiki/Serial...l_Interface_Bus
他可是有用CLOCK來作同步


所有的時間均為GMT +8。 現在的時間是09:23 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。