<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用基于CAM的DDR控制器架構實(shí)現DDR DRAM效率最大化

用基于CAM的DDR控制器架構實(shí)現DDR DRAM效率最大化

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò ) 收藏

多年來(lái),對芯片外部DDR SDRAM的訪(fǎng)問(wèn)已經(jīng)成為SoC設計的一個(gè)不可分割的部分。當考慮DDR IP時(shí),SoC設計師面臨的一個(gè)選擇是自己做IP還是從第三方IP供應商那里獲得授權。

本文引用地址:http://dyxdggzs.com/article/201610/307440.htm

正如大多數IP一樣,選擇DDR接口IP的標準包括面積、功耗、功能和性能。隨著(zhù)更多的功能和應用被集成到SoC之中,CPU所需的處理能力和其它處理功能也必須相應地提高。與處理能力提高攜手并進(jìn)的通常是DDR帶寬需求的提高,因此性能便成為了選擇DDR IP的最重要標準。

起初,DDR SDRAM被設計成目前架構的一個(gè)主要原因是為了滿(mǎn)足我們熟知的DDR SDRAM體系結構要求。它的主要目的就是創(chuàng )造一種小尺寸和引腳數量少的低成本片外存儲器。SDRAM的存儲單元非常小,它們由單通道柵極晶體管和儲存電荷的電容構成。該接口通過(guò)共享相同的、用于讀寫(xiě)的總線(xiàn)和分清行列的地址引腳來(lái)降低使用的引腳數量。雖然實(shí)現低成本這一主要目標得以實(shí)現,但它導致了一種不能以高效的方式進(jìn)行隨機尋址的芯片外存儲器架構。為適應數據寫(xiě)入或從SDRAM讀出的低效率,SoC需要使用一個(gè)控制器來(lái)管理對DDR SDRAM的訪(fǎng)問(wèn)。當今絕大多數存儲器控制器都會(huì )考慮DDR SDRAM的低效性,并且試圖重組到DDR SDRAM的命令,以將無(wú)效指令數量減至最少,并提高SoC訪(fǎng)問(wèn)SDRAM的效率(帶寬)。

DDR SDRAM控制器傳統上通過(guò)使用一個(gè)先入先出(FIFO)架構來(lái)評估流量請求隊列(通常被稱(chēng)為一種前瞻性)來(lái)對流量重新排序。后來(lái),隨著(zhù)技術(shù)進(jìn)步引入了一種新的DDR控制器,它充分利用了一種內容可尋址存儲器(CAM)前瞻性架構來(lái)對流量重新排序。

【分頁(yè)導航】

第1頁(yè):背景介紹

第2頁(yè):DDR SDRAM訪(fǎng)問(wèn)特性和效率測試

第3頁(yè):DDR控制器效率對比

DDR SDRAM訪(fǎng)問(wèn)特性

DDR SDRAM芯片內包含多個(gè)獨立的存儲體(Banks)—典型的是8個(gè)存儲體,如圖1所示。每個(gè)存儲體可以處于閑置、活躍或者依次充電的狀態(tài)。通過(guò)一個(gè)“激活”指令可以“打開(kāi)”一個(gè)閑置bank,并將規定行的數據讀進(jìn)一個(gè)感知放大器陣列中,它存儲了所有讀寫(xiě)操作期間的數據。

EDA_AN_01.jpg onload=thumbImg(this) alt= />

這個(gè)過(guò)程需要一些時(shí)間,并導致在從任何給定行中讀取數據前就增加了開(kāi)銷(xiāo)。訪(fǎng)問(wèn)存儲于讀出放大器中的數據的速度會(huì )更快。此外,每條讀/寫(xiě)命令在行內使用一個(gè)列地址來(lái)訪(fǎng)問(wèn)數據。

若存儲控制器想要訪(fǎng)問(wèn)一個(gè)不同的行,它必須首先讓該存儲體的讀出放大器返回到一個(gè)閑置狀態(tài),準備去讀出下一行。這被稱(chēng)作“預充電”命令,或者“關(guān)閉”這一行。在該存儲體完全變成閑置狀態(tài)以便于在可以接受另一個(gè)激活指令之前,有一段必須清空的最短時(shí)間。

訪(fǎng)問(wèn)時(shí)間從最長(cháng)到最短,分為如下的層級:

1,在另一不同的行被打開(kāi)時(shí),訪(fǎng)問(wèn)一行(要求處于打開(kāi)的行先被關(guān)閉,另一個(gè)新的行才被打開(kāi))

2,訪(fǎng)問(wèn)一個(gè)處于關(guān)閉的行(要求該行被打開(kāi))

3,訪(fǎng)問(wèn)當前被打開(kāi)的行除了訪(fǎng)問(wèn)時(shí)間之外,存儲控制器的實(shí)現還有許多其它時(shí)序考慮因素(如:刷新、斷電和初始化)。例如:將存儲子系統從讀狀態(tài)轉變?yōu)閷?xiě)狀態(tài),或者從寫(xiě)狀態(tài)轉變?yōu)樽x狀態(tài),會(huì )造成與接口總線(xiàn)轉換方向相關(guān)的延遲。如果發(fā)生次數太多,就會(huì )降低數據從SDRAM移進(jìn)和移出的整體效率。

測量效率

數據傳輸效率是通過(guò)一個(gè)存儲器接口的可用數據傳輸帶寬數值的一種度量。效率通常由一種特定的存儲器接口實(shí)現方式的理論最大存儲器傳輸帶寬的一個(gè)百分比來(lái)表示。

例如,如果一個(gè)DDR3SDRAM是八位寬度,工作在800MHz時(shí)鐘,那么理論上的最大傳輸速率為1600Mbps。如果該SDRAM實(shí)現的平均傳輸速率為800Mbps,那么該存儲控制器的效率為50%。各種不同的存儲控制器實(shí)現的效率通常為25%~90%。顯而易見(jiàn),一個(gè)低效的設計實(shí)現會(huì )嚴重影響關(guān)鍵系統特性,增加整體解決方案的成本。

在某些情況下,高數據傳輸效率難以實(shí)現,這是因為SoC中的訪(fǎng)問(wèn)請求者的訪(fǎng)問(wèn)模式是隨機的。因為打開(kāi)的行具有更快的訪(fǎng)問(wèn)時(shí)間,如果存儲器請求多數時(shí)間在一個(gè)打開(kāi)的行上工作,那么在這些訪(fǎng)問(wèn)期間就可以實(shí)現理論上的最大帶寬。如果存儲器訪(fǎng)問(wèn)是凌亂分散的,那么可能很難再次訪(fǎng)問(wèn)到相同的行,導致了去訪(fǎng)問(wèn)不同的行更長(cháng)的訪(fǎng)問(wèn)時(shí)間,因此縮短了平均訪(fǎng)問(wèn)時(shí)間,降低了整體的數據傳輸速率。很顯然,如果一個(gè)存儲控制器可以評估流量模式和發(fā)現一種以更高效的方式給操作排序的可能性—如集合在一起成組地訪(fǎng)問(wèn)相同的存儲行,而不是僅僅依照存儲訪(fǎng)問(wèn)的請求順序來(lái)執行它們,或者為高優(yōu)先級數據提供快速訪(fǎng)問(wèn)—那么就可以減小低效率流量模式所帶來(lái)的影響。一個(gè)能夠并特別擅長(cháng)管理隨機流量的DDR存儲控制器可以顯著(zhù)地提高效率。

【分頁(yè)導航】

第1頁(yè):背景介紹

第2頁(yè):DDR SDRAM訪(fǎng)問(wèn)特性和效率測試

第3頁(yè):DDR控制器效率對比

DDR控制器效率對比

圖2展示了由一個(gè)基于FIFO的DDR控制器的效率分析,數據結果來(lái)自于市場(chǎng)基準研究。這些實(shí)例模式代表了三種不同的流量類(lèi)型,分別被標記為模式_80_20、模式_50_50和模式_20_80。標記的命名代表了模式的類(lèi)型:標簽中第一個(gè)數字代表連續或遞增訪(fǎng)問(wèn)的百分比,第二個(gè)數字代表隨機訪(fǎng)問(wèn)的百分比。隨著(zhù)隨機部分的百分比從20%增長(cháng)到80%,效率則如預期一樣降低。模式中的連續部分為針對一個(gè)打開(kāi)頁(yè)的流量請求,這是設計的最佳情況,提供了最高的效率。流量的隨機部分抑或是對一個(gè)關(guān)閉頁(yè)的訪(fǎng)問(wèn),或者是對一個(gè)帶有不同打開(kāi)頁(yè)的存儲體的訪(fǎng)問(wèn)請求。通過(guò)深入分析,模式_20_80的效率大概為55%,模式_50_50的效率大概為60%,而模式_80_20的效率可以達到75%。

圖3說(shuō)明了一個(gè)基于CAM的DDR控制器在執行這三種相同模式時(shí)產(chǎn)生的效率結果。帶有32個(gè)條目的CAM的效率大于或者等于基于FIFO的DDR控制器的效率結果,而擁有64個(gè)條目的CAM的效率結果則明顯更高。帶有64個(gè)條目的基于CAM的DDR控制器在模式_80_20下效率結果為接近98%,模式_50_50為80%,模式_20_80為65%。這表明了相對于基于FIFO的控制器,基于CAM的架構在效率上實(shí)現了顯著(zhù)的提高—這意味著(zhù)提高了帶寬。

由于DRAM的存儲體(Bank)架構,設計師過(guò)去不得不很困難地分配到DDR SDRAM的存儲空間訪(fǎng)問(wèn),以使SoC循環(huán)讀寫(xiě)8個(gè)可用的存儲體。在多種模式下循環(huán)訪(fǎng)問(wèn)存儲體可使控制器工作在存儲體架構范圍內,以提供合理的效率。然而,一些SoC系統并沒(méi)有在不同存儲體和DDR控制器之間定期發(fā)送循環(huán)數據流,而這正是基于CAM架構的控制器足以勝任的?;贑AM的架構可以調整整個(gè)指令序列,甚至為了更高的效率可以將最隨機的流量模式重新排序。

隨機模式1和隨機模式2是兩種不同種類(lèi)的非常隨機的數據流,但它們不在各存儲體間循環(huán)。隨機/連續模式將隨機模式與相似的連續模式結合在一起,并應用到那些在以上例子討論過(guò)的情況中。在圖4中,FIFO_CTL的效率在隨機/連續模式下有所提高,但是在圖中可以看到基于CAM的控制器的所有模式得到的效率數值均比FIFO_CTL的效率高出很多。



關(guān)鍵詞: CAM DDR控制器 DRAM效率

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>