通用存儲器

通用存儲器

按照所控制的存儲器類型,存儲器一般分為兩種:專用存儲器控制器和通用存儲器控制器。通過IP核重用的方式,通用存儲器可以適用於不同要求的高性能SOC系統,從而減少系統開發時間,節省成本,加快晶片投入市場的速度。

研究背景

隨著電子科學和計算機科學的飛速發展,大規模積體電路在經濟、軍事和社會生活的各個領域套用越來越廣泛。大到神舟6號的中心控制系統,小到一個電視遙控器,一張公交IC卡,都需要使用不同性能和不同規格的積體電路晶片。大規模積體電路已經成為當代人類社會生活中不可或缺的一個重要部分。

在大規模積體電路系統中,存儲器的地位舉足輕重。絕大多數高性能SOC晶片,都要根據其功能要求和性價比,集成各種不同類型存儲器,包括:ROM、SRAM、SSRAM、FLASH、SDR-SDRAM、DDR-SDRAM等。不同類型存儲器的內部結構、數據存儲方式、時序控制方式、編址方法、讀寫數據匯流排寬度、訪問延遲等方面差別很大。近年來,新的存儲器產品層出不窮,像DDR-SDRAM、Rambu;同步動態隨機儲存器(Rambus DRAM)、同步FLASH存儲器(Sync FLASH)、並行型RDRAM(Concurrent RDRAM)、多體動態隨機存儲器(Multiband DRAM)、同步圖形隨機存儲器(Synchronous Graphics RAM )等。這些新類型的存儲器,適合新的套用(如高速圖形加速晶片),在性能上具有優勢,因而得到了越來越廣泛的套用。但是,它們也提出了很多與舊的存儲器不同的控制要求。在高性能SOC晶片中,怎樣對這些千差萬別的存儲器進行統一的高效的控制,即怎樣實現一種高性能的通用的存儲器控制器,是一個很關鍵的問題。

通用存儲器簡介

按照所控制的存儲器類型,存儲器控制器一般分為兩種:專用存儲器控制器和通用存儲器控制器。專用存儲器控制器用來控制某種特定類型的存儲器,針對性非常強,實現相對比較容易,但是可重用性不好。大多數高性能SOC晶片,其內部的存儲器控制器,使用的都是通用存儲器控制器,它可以用來控制多種不同類型的存儲器,具有良好的可重用性;通過IP核重用的方式,通用存儲器控制器可以適用於不同要求的高性能SOC系統,從而減少系統開發時間,節省成本,加快晶片投入市場的速度。

通用存儲器控制器的適用性強,性能同樣重要。自上世紀80年代開始,微處理器性能以每年60%的速率發展,而存儲器訪問時間的改善速率每年大約只有7%,計算機體系結構工作者正面臨著一個處理器/存儲器性能差距日益擴大的問題,存儲器訪問是系統性能的最大瓶頸,這也是提升計算機整體性能的最大障礙。根據統計,60%的訪存延遲來自存儲器控制器耗費。因此,如果過於注重存儲器控制器的通用性,導致其內部邏輯越來越複雜,毫無疑問會使得訪存延遲中的存儲器控制器耗費所占比率進一步加大。此外,如果存儲器控制器過多的注重於各種存儲器的共性而忽視它們的個性,有可能在某種程度上削弱對某些具體存儲器的控制能力,也就是說,在提高通用程度的同時降低了對某些具體類型存儲器的頻寬利用率,從而加劇存儲器訪問瓶頸效應。

發展現狀

國際上知名的大規模積體電路設計公司,像Intel、Samsung、ARM、Synopsys、Cadence、AMD、Micron、Toshiba等,都在通用存儲器控制器研發領域取得了很大的成功。未來數年內,這些公司仍將占據通用存儲器控制器的市場主導地位。它們開發出了許多成熟的產品,其中比較有影響力的通用存儲器控制器IP核有Synopsys公司的DesignWare存儲器控制器、ARM公司的PrimeCell靜態存儲器控制器和PrimeCell多連線埠存儲器控制器、Intel公司的通用靜態存儲器控制器、Cadence公司的靜態存儲器控制器和Global Unichip(台灣創意電子)的UAPC-5400等。

Synopsys Design Ware存儲器

DesignWare Memory Controller是Synopsys公司在1999年推出的通用存儲器控制器IP核,近年來不斷進行版本更新,功能越來越趨於完善,性能也不斷最佳化。這個系列通用存儲器控制器IP核的最大特點就是可程式功能非常好,通用性非常強,不同的用戶可以按照千差萬別的存儲器需要,自由的對它進行配置、模擬和綜合,從而滿足不同SOC晶片的套用要求。這個系列通用存儲器控制器IP核可以用來單獨控制一種動態存儲器(包括SDRSDRAM、DDR-SDRAM和Micron公司的同步FLASH存儲器)或者一種靜態存儲器(包括SRAM、FLASH和ROM),或者同時控制兩種不同類型的動態存儲器,或者同時控制3種不同時序參數、不同類型的靜態存儲器,也可以同時控制動態存儲器和靜態存儲器。

ARM Prime Cell存儲器

Prime Cell Static Memory Controller是一個和Advanced Microcontroller BusArchitecture(AMBA)匯流排協定兼容的通用靜態存儲器控制器,2000年由ARM公司推出。它作為AMBA匯流排的從設備,在各種靜態存儲器和Prime Cell微控制系統之I間提供接口功能,但是不能用於控制動態存儲器。它的內部控制邏輯非常精簡有效,能夠充分的利用存儲器的讀寫頻寬,但是通用性不強(不能用於控制動態存儲器)限制了其使用。

2002年,ARM公司推出了Prime Cell Multiport Memory Controller,這是一種真正意義上的通用存儲器控制器,可以用來控制各種靜態存儲器和各種動態存儲器;而且因為採用了多個連線埠連線到AHBA匯流排,在內部設定了4個16字高效緩衝器,訪存延遲中的存儲器控制器耗費小,存儲器頻寬利用率也很高。但是編程不夠靈活,對各個片選可以外接的存儲器類型和參數指標有所限制,而且編程過程也過於繁瑣。

Rudi通用存儲器

該存儲器控制器發布於著名的自由軟核網站,由西薩摩亞大規模積體電路設計專家Rudolf Usselmann費時2年設計成功。這是一種通用的存儲器控制器IP核,適用於多種靜態存儲器和多種動態存儲器,用戶編程簡易,通用性強。但是只能通過WISHBONE匯流排連線到微處理器,和AMBA匯流排並不兼容,所以在當前大多數高性能SOC晶片都使用AMBA匯流排的情況下,套用不是很廣。由於Rudi通用存儲器控制器IP核是完全公開和免費的,用戶可以對其功能進行自由的改進,所以它仍然具有一定的套用價值和研究價值。

相關詞條

熱門詞條

聯絡我們