1 引言 高密度的嵌入式DRAM (embedded DRAM,eDARM)的集成技術研究是當前的一個熱點。從國內外的研究現(xiàn)狀來看,在對eDRAM的研究上,關于工藝和可測性的研究多于系統(tǒng)體系結構的研究,并且對基于eDRAM的存儲結構的研究大多偏重于實現(xiàn);性能研究通常采用定性的方法,針對單個參數(shù)進行分析,定量研究不足。另外,當前的SOC設計中,通常存儲單元有多個控制器,如何優(yōu)化不同控制器的存儲器訪問請求也是決定系統(tǒng)性能的關鍵問題。而以上問題正是本研究的出發(fā)點和研究重點。 eDRAM可復用設計需要設計者在考慮eDRAM的應用場合、存儲器大小、頁長、數(shù)據(jù)字寬、響應模式、時鐘頻率和存儲器組織后,采用合適的 eDRAM核和適當?shù)募煞椒ā_@需要eDRAM的性能評估模型,也需要合適的嵌入式存儲器接口和控制器。因此,本項目針對基于eDRAM的SOC系統(tǒng)設計和可復用的eDRAM的集成技術進行研究,提出一個eDRAM的性能評估模型,研究開發(fā)一個多主控單元的 eDRAM控制器。研究中的關鍵問題如下: a.不同應用條件下測試基準的選擇和功耗模型分析。 不同的應用需要選取合適的測試基準,測試基準需要代表此種應用的典型特性,測試基準的參量如何設置將影響到針對某種應用所建立的評價函數(shù)是否準確。另一方面,由于過去主要是對基于SRAM的高速緩存進行功耗分析,不考慮DRAM的功耗(這是因為片外DRAM的功耗相比于DRAM的連線功耗很小),因此eDRAM的功耗分析是難點之一。 b.如何定量評估eDRAM的各項參數(shù)對存儲系統(tǒng)的影響的問題。 本研究中存儲體個數(shù)、行寬、列寬、刷新率等均為有限離散的變量,在測試基準給定的條件下可以快速的測量和計算所需的性能函數(shù)的值。在建立了評價函數(shù)簇模型后只需進行搜索或利用經(jīng)驗公式就可以找出所需的方案。 另一方面,關于計算機存儲系統(tǒng)結構和性能測試方法的研究也已經(jīng)相當深入,對嵌入式處理器的研究提供了很多有參考價值的研究思路和可以利用的軟件,如EEMBC(Embedded Microprocessor Benchmark Consortium)的嵌入處理器測試的性能評分程序、仿真軟件SimpleScalar等,并且Foundry可以提供精確的、完全經(jīng)過驗證的eDRAM模型,這些都為本項目研究提供了良好的基礎。 2 eDRAM的各項參數(shù)對基于eDRAM的存儲器系統(tǒng)的性能影響 研究工作將主要圍繞兩個方面展開:一個方面是研究基于eDRAM的存儲器系統(tǒng)性能評估模型,為基于eDRAM的SOC設計提供理論依據(jù);另一方面是研究在多主控單元情況下eDRAM控制器的仲裁機制以優(yōu)化其性能。 a. 讀/寫數(shù)據(jù)的字節(jié)數(shù),即數(shù)據(jù)量大小。 b. 讀所占的百分比。 c. 連續(xù)請求所占的百分比。 d. 同時發(fā)出讀寫請求的進程數(shù)。 本論文的研究內容是根據(jù)典型應用產(chǎn)生測試基準,在此基礎上定量的分析上述各項參數(shù)對存儲器性能的影響,提出一個定量評估基于eDRAM的存儲器的性能模型。性能評價函數(shù)簇,如圖1所示,包括L(訪問延遲)函數(shù),P(功耗)函數(shù),A(面積)函數(shù)和Y(良率)函數(shù)。利用此模型在知道系統(tǒng)性能要求的情況下,可以求出滿足系統(tǒng)性能要求的最佳的參數(shù)值,或是多種滿足條件的備選方案。 3 研究方法 3.1 基于FPGA的評價函數(shù)簇實驗平臺的建立 設計一個多主控單元的eDRAM控制器,在利用評價函數(shù)簇分析的基礎上優(yōu)化其性能,使其能夠充分地利用eDRAM的優(yōu)點,同時付出的代價較小。 目前的SOC設計中,通常有多個模塊可以訪問存儲系統(tǒng),其一般結構如圖2所示,SOC中的CPU、DSP和其他一些IP模塊都可能訪問存儲系統(tǒng),這些訪問將會產(chǎn)生沖突,同時由于不同的控制單元訪問存儲系統(tǒng)的地址不同,這可能需要不停的激活不同的行,引入了很大的延時,極大地降低了存儲系統(tǒng)的性能。為此需要優(yōu)化多主控單元時的eDRAM控制器的仲裁方式,以使其性能得到改善。 對于本項目來說實際實現(xiàn)eDRAM過于昂貴,而且不適合參量變化的實驗。本項目擬采用FPGA來進行硬件驗證,用FPGA中BlockRAM加上一些邏輯來仿真eDRAM的行為,其框圖如圖3所示。 根據(jù)可獲得的eDRAM核的具體性能和訪問延時特性來設計其中的邏輯。當然,eDRAM的刷新行為無法用這種方法模擬,但是其延時是可以模擬的。本項目擬采用如下幾種FPGA來進行仿真。分別采用Xilinx公司的Virtex-II和 Virtex-II Pro型的FPGA以及Altera公司的APEX和Stratix-II型FPGA來進行仿真,這些FPGA中分別集成了硬核CPU PowerPC 405和ARM9,以及軟核CPU MicroBlaze和Nois II。 將本項目研究開發(fā)的普適的、可定制的eDRAM控制器接口IP核下載到上述FPGA中,運行SPEC2000或SPEC95等基準程序,分別觀察和測量在不同的參數(shù)配置下系統(tǒng)的性能就可以得到不同參數(shù)對系統(tǒng)性能的影響,同時也可以驗證本項目開發(fā)的普適的、可定制的eDRAM控制器接口IP核的正確性。另外,將本項目研究開發(fā)的多主控單元的eDRAM控制器與其它一些可以訪問eDRAM的IP一起下載到FPGA,改變eDRAM的仲裁策略或不同請求的排隊策略,即可通過測量系統(tǒng)性能來確定最佳的仲裁策略。 3.2 評價函數(shù)簇模型建立 針對具體的應用,可選擇基準測試程序中四種不同的參量組合,給出有代表性的測試基準。基于圖1分析可知,所有的參數(shù)都是離散變量,在上述實驗中可以將各種情況下L,P,A值測量出來,并用統(tǒng)計方法進行處理。在已知曲線的基礎上,進行曲線擬合,求得經(jīng)驗公式。Y函數(shù)需要基于Foundry的eDRAM模型來計算,此函數(shù)較為成熟和準確,只需加入函數(shù)簇中即可。 為了驗證模型的正確性,在仿真軟件SimpleScalar的基礎上進行擴展,使用SimpleScalar仿真軟件來仿真本項目所用到的存儲器層次結構,與根據(jù)模型計算得到的性能指標進行比較來判斷模型的正確性。SimpleScalar是開放源代碼的軟件,基于Alpha指令結構,為了用此軟件仿真本項目的結構,需要對進行修改和完善。 4 結束語 本文作者的創(chuàng)新點在于提出了一種定量的存儲系統(tǒng)性能評估的建模方法,可為SOC設計中基于eDRAM的存儲系統(tǒng)設計提供方法。根據(jù)評價函數(shù),可以針對具體應用來選擇存儲體個數(shù)、行寬、列寬、字長、刷新頻率、地址映射方式,從而構建一個速度、面積和功耗優(yōu)化的eDRAM的存儲器,這對高性能的SOC的設計有重要意義。 |