<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應用 > 為系統(tǒng)設(shè)計人員提供的DRAM控制器

          為系統(tǒng)設(shè)計人員提供的DRAM控制器

          作者: 時間:2012-11-07 來源:網(wǎng)絡(luò) 收藏

          即使?jié)M足了這一要求,也還有其他問題。您必須對陣列預充電。預充電命令使得傳感放大器中的數(shù)據(jù)無效,提升陣列和傳感放大器輸入之間導線上的電壓,使得電壓值位于邏輯0和邏輯1電平之間。這種準備是必要的,比特單元電容上很小的電荷都會傳送到導線上,以某種方式提示傳感放大器。

          對導線進行預充電之后,您必須向新行發(fā)送一個激活命令,等待操作完成,然后,您最終可以發(fā)送一個讀操作新命令。加上所有涉及到的延時后,即,讀取字節(jié)序列的最差情況,每一字節(jié)都來自不同的行,這要比讀取來自一個新行連續(xù)位置相同數(shù)量字節(jié)的時間慢十倍。

          這種不同還只是部分問題。如圖2 所示,DDR 有多個塊:與比特單元無關(guān)的陣列。DDR3 中有八個塊,每一塊都有自己排列成行的傳感放大器。因此,原理上,您可以通過激活每一個塊中的一行,讀寫較長的突發(fā),然后,對每一激活后的行進行讀寫操作——實際上是對塊進行間插操作。唯一增加的延時是連接每一塊的傳感放大器和芯片內(nèi)部總線的緩沖的切換時間。這一延時要比對相同塊中一個新行進行預充電和激活的時間短得多。

          2.一個典型的DDR 結(jié)構(gòu)圖。一個DDR3器件會有8個塊,而不是4個。

          Figure 2. A typical DDR DRAM block diagram. A DDR3 device would have eight banks instead of four.

          這就是原理。實際中,您可以對塊進行間插處理,但是有一個限制,不是基于DRAM邏輯,而是芯片能夠承受的熱量。這種限制可以通過著名的“滾動四塊訪問窗口”,即,tRAW來表達:您一次能夠有四個激活塊的最長時間。這一規(guī)則實際上有例外,只要您從一個塊轉(zhuǎn)向下一塊之前,在一個塊上保持一定的時間,那么,您可以有連續(xù)激活的8個塊。但是您應該知道:這比較復雜。

          建立一個

          與前面所述不同的是DRAM時序非常復雜,接近混沌。從DRAM芯片設(shè)計人員的角度看,這非常合理,但是,很難滿足多核SoC的需求。DRAM序列或者時序命令上看起來無關(guān)緊要的小改動會導致您訪問存儲器的帶寬的巨大變化。由于存儲器帶寬通常是關(guān)鍵任務(wù)的瓶頸所在,因此,帶寬的變化很快就會影響系統(tǒng)性能。然而,命令序列和時序來自應用程序和系統(tǒng)軟件之間,以及系統(tǒng)硬件各種單元之間復雜的交互——包括緩存、存儲器管理器、直接存儲器訪問(DMA)和加速器,以及DRAM控制器。

          SoC的功能越來越強大,這種情況會更加復雜。目前,一個多核系統(tǒng)級IC會有同時運行的兩個甚至更多的多線程CPU,導致共享L2高速緩存來讀取指令線,隨機對數(shù)據(jù)線進行讀寫操作。同時,計算加速器以自己的方式遍歷數(shù)據(jù)結(jié)構(gòu)。一個器件可以處理流視頻,另一個用于矩陣乘法預讀取,第三個執(zhí)行路由表的隨機訪問。增加一個散射收集DMA控制器,處理光纖接口、硬盤和顯示器之間的數(shù)據(jù),結(jié)果是,在DRAM控制器的系統(tǒng)側(cè)會有些不協(xié)調(diào)。

          如果DRAM控制器只是按照系統(tǒng)接收順序進行操作,那么,優(yōu)化DRAM操作的工作會同等落在規(guī)劃人員、設(shè)計人員和軟件開發(fā)人員上——這是很難做到的。Altera公司戰(zhàn)略市場經(jīng)理Argy Krikelis提醒說:“特別是多核設(shè)計,規(guī)劃人員遇到定位和性能問題。”責任落在DRAM控制器上,那么,盡可能利用其信息消除這種不協(xié)調(diào),轉(zhuǎn)換為經(jīng)過優(yōu)化的命令流。

          深入了解DRAM控制器就會知道,這些模塊的設(shè)計人員怎樣處理這些難題。您可以認為一個現(xiàn)代DRAM控制器有三個主要模塊——物理接口、命令處理器以及事物處理器——如圖3 所示。

          3.一個現(xiàn)代DRAM控制器涉及到事物處理器、命令處理器和物理接口。

          DRAM_Controllers_figure3.jpg

          物理接口連接DRAM芯片或者存儲器模塊。它讀取來自命令處理器的一個命令流,將具有正確時序的命令發(fā)送至DRAM芯片,管理相關(guān)的數(shù)據(jù)字節(jié)流。接口收發(fā)器、命令和數(shù)據(jù)同步緩沖,以及產(chǎn)生正確命令和數(shù)據(jù)時序的狀態(tài)機都含在這一模塊中。而且,還有用于進行復雜的初始化操作的狀態(tài)機,校準DDR3 DRAM規(guī)范設(shè)定的序列,如圖1所示。此外,某些應用的物理接口還會包括自測試、診斷和誤碼探測以及糾錯硬件。當您改變DRAM的容量或者速率等級時,必須調(diào)整物理接口。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();