关键字:DRAM 函数簇 FPGA SOC 仿真
1 引言
高密度的嵌入式DRAM (embedded DRAM,eDARM)的集成技术研究是当前的一个热点。从国内外的研究现状来看,在对eDRAM的研究上,关于工艺和可测性的研究多于系统体系结构的研究,并且对基于eDRAM的存储结构的研究大多偏重于实现;性能研究通常采用定性的方法,针对单个参数进行分析,定量研究不足。另外,当前的SOC设计中,通常存储单元有多个控制器,如何优化不同控制器的存储器访问请求也是决定系统性能的关键问题。而以上问题正是本研究的出发点和研究重点。
eDRAM可复用设计[1]需要设计者在考虑eDRAM的应用场合、存储器大小、页长、数据字宽、响应模式、时钟频率和存储器组织后,采用合适的 eDRAM核[2]和适当的集成方法。这需要eDRAM的性能评估模型,也需要合适的嵌入式存储器接口和控制器。因此,本项目针对基于eDRAM的SOC系统设计和可复用的eDRAM的集成技术进行研究,提出一个eDRAM的性能评估模型,研究开发一个多主控单元的
eDRAM控制器。研究中的关键问题如下:
a.不同应用条件下测试基准的选择和功耗模型分析。
不同的应用需要选取合适的测试基准,测试基准需要代表此种应用的典型特性,测试基准的参量如何设置将影响到针对某种应用所建立的评价函数是否准确。另一方面,由于过去主要是对基于SRAM的高速缓存进行功耗分析,不考虑DRAM的功耗(这是因为片外DRAM的功耗相比于DRAM的连线功耗很小),因此eDRAM的功耗分析是难点之一。
b.如何定量评估eDRAM的各项参数对存储系统的影响的问题。
本研究中存储体个数、行宽、列宽、刷新率等均为有限离散的变量,在测试基准给定的条件下可以快速的测量和计算所需的性能函数的值。在建立了评价函数簇模型后只需进行搜索或利用经验公式就可以找出所需的方案。
另一方面,关于计算机存储系统结构和性能测试方法的研究也已经相当深入,对嵌入式处理器的研究提供了很多有参考价值的研究思路和可以利用的软件,如EEMBC(Embedded Microprocessor Benchmark Consortium)的嵌入处理器测试的性能评分程序、仿真软件SimpleScalar等,并且Foundry可以提供精确的、完全经过验证的eDRAM模型,这些都为本项目研究提供了良好的基础。
2 eDRAM的各项参数对基于eDRAM的存储器系统的性能影响
研究工作将主要围绕两个方面展开:一个方面是研究基于eDRAM的存储器系统性能评估模型,为基于eDRAM的SOC设计提供理论依据;另一方面是研究在多主控单元情况下eDRAM控制器的仲裁机制以优化其性能。
a. 读/写数据的字节数,即数据量大小。
b. 读所占的百分比。
c. 连续请求所占的百分比。
d. 同时发出读写请求的进程数。
本论文的研究内容是根据典型应用产生测试基准,在此基础上定量的分析上述各项参数对存储器性能的影响,提出一个定量评估基于eDRAM的存储器的性能模型。性能评价函数簇,如图1所示,包括L(访问延迟)函数,P(功耗)函数,A(面积)函数和Y(良率)函数。利用此模型在知道系统性能要求的情况下,可以求出满足系统性能要求的最佳的参数值,或是多种满足条件的备选方案。
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函数[3,4]需要基于Foundry的eDRAM模型来计算,此函数较为成熟和准确,只需加入函数簇中即可。
为了验证模型的正确性,在仿真软件SimpleScalar[5]的基础上进行扩展,使用SimpleScalar仿真软件来仿真本项目所用到的存储器层次结构,与根据模型计算得到的性能指标进行比较来判断模型的正确性。SimpleScalar是开放源代码的软件,基于Alpha指令结构,为了用此软件仿真本项目的结构,需要对进行修改和完善。
4 结束语
本文作者的创新点在于提出了一种定量的存储系统性能评估的建模方法,可为SOC设计中基于eDRAM的存储系统设计提供方法。根据评价函数,可以针对具体应用来选择存储体个数、行宽、列宽、字长、刷新频率、地址映射方式,从而构建一个速度、面积和功耗优化的eDRAM的存储器,这对高性能的SOC的设计有重要意义。
参考文献
[1] Kinoshita, M.Design methodology of the embedded DRAM with the virtual socket architecture. In: IEEE 2000 Custom Integrated Circuits Conference. New York:IEEE,2000: 271 -274
[2] 朱运航,李雷东.基于IP核复用的SOC设计技术探讨.北京,微计算机信息,2006.3-2
[3] Anuja Sehgal, Aishwarya Dubey,et al.Yield Analysis for Repairable Embedded Memories . In: Proceedings of the Eighth IEEE European Test Workshop. New York:IEEE,2003: 35- 40
[4] Zorian, Y.Embedded-memory test and repair: infrastructure IP for SoC yield . Design & Test of Computers IEEE,2003,10(3):58-66
[5] Austin, T.SimpleScalar: an infrastructure for computer system modeling. Computer IEEE, 2002,35(2):59-67 |