片上eDRAM性能評價函數簇研究

3 研究方法
3.1 基于FPGA的評價函數簇實驗平臺的建立
設計一個多主控單元的eDRAM控制器,在利用評價函數簇分析的基礎上優化其性能,使其能夠充分地利用eDRAM的優點,同時付出的代價較小。
目前的SOC設計中,通常有多個模塊可以訪問存儲系統,其一般結構如圖2所示,SOC中的CPU、DSP和其他一些IP模塊都可能訪問存儲系統,這些訪問將會產生沖突,同時由于不同的控制單元訪問存儲系統的地址不同,這可能需要不停的激活不同的行,引入了很大的延時,極大地降低了存儲系統的性能。為此需要優化多主控單元時的eDRAM控制器的仲裁方式,以使其性能得到改善。

對于本項目來說實際實現eDRAM過于昂貴,而且不適合參量變化的實驗。本項目擬采用FPGA來進行硬件驗證,用FPGA中BlockRAM加上一些邏輯來仿真eDRAM的行為,其框圖如圖3所示。

根據可獲得的eDRAM核的具體性能和訪問延時特性來設計其中的邏輯。當然,eDRAM的刷新行為無法用這種方法模擬,但是其延時是可以模擬的。本項目擬采用如下幾種FPGA來進行仿真。分別采用Xilinx公司的Virtex-II和 Virtex-II Pro型的FPGA以及Altera公司的APEX和Stratix-II型FPGA來進行仿真,這些FPGA中分別集成了硬核CPU PowerPC 405和ARM9,以及軟核CPU MicroBlaze和Nois II。
將本項目研究開發的普適的、可定制的eDRAM控制器接口IP核下載到上述FPGA中,運行SPEC2000或SPEC95等基準程序,分別觀察和測量在不同的參數配置下系統的性能就可以得到不同參數對系統性能的影響,同時也可以驗證本項目開發的普適的、可定制的eDRAM控制器接口IP核的正確性。另外,將本項目研究開發的多主控單元的eDRAM控制器與其它一些可以訪問eDRAM的IP一起下載到FPGA,改變eDRAM的仲裁策略或不同請求的排隊策略,即可通過測量系統性能來確定最佳的仲裁策略。
3.2 評價函數簇模型建立
針對具體的應用,可選擇基準測試程序中四種不同的參量組合,給出有代表性的測試基準。基于圖1分析可知,所有的參數都是離散變量,在上述實驗中可以將各種情況下L,P,A值測量出來,并用統計方法進行處理。在已知曲線的基礎上,進行曲線擬合,求得經驗公式。Y函數需要基于Foundry的eDRAM模型來計算,此函數較為成熟和準確,只需加入函數簇中即可。
為了驗證模型的正確性,在仿真軟件SimpleScalar的基礎上進行擴展,使用SimpleScalar仿真軟件來仿真本項目所用到的存儲器層次結構,與根據模型計算得到的性能指標進行比較來判斷模型的正確性。SimpleScalar是開放源代碼的軟件,基于Alpha指令結構,為了用此軟件仿真本項目的結構,需要對進行修改和完善。
4 結束語
本文作者的創新點在于提出了一種定量的存儲系統性能評估的建模方法,可為SOC設計中基于eDRAM的存儲系統設計提供方法。根據評價函數,可以針對具體應用來選擇存儲體個數、行寬、列寬、字長、刷新頻率、地址映射方式,從而構建一個速度、面積和功耗優化的eDRAM的存儲器,這對高性能的SOC的設計有重要意義。
評論