欢迎来到天天文库
浏览记录
ID:13762557
大小:511.50 KB
页数:9页
时间:2018-07-24
《一种基于存储器访问模型的多媒体soc性能评估方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一种基于存储器访问模型的多媒体SOC性能评估方法摘要越来越复杂的应用程序案例给SOC架构带来了很多巨大的带宽负载问题,为了设计出一个高性能的SOC系统,这个系统支持大量和高速的数据处理能力,一个高效的,系统的和快速的SOC架构性能评估方法成为了芯片设计成功的基本要求。本文介绍了一种基于存储器访问模型的性能评估方法,它可以给出精确和可靠的评估结果来帮助设计者进行系统级和模块级的设计,它可以用来建立SOC架构,在芯片架构确定的最初设计阶段就找到系统的性能瓶颈,并给出不同架构定义的比较结果,同时节省设计所付出的
2、代价和设计迭代周期。关键词—SOC;性能评估;带宽负载;存储器访问1介绍A背景芯片设计已经进入了SOC阶段。尽管SOC可以提高系统集成度,减少功耗和物理尺寸,它需要高带宽负载和高性能的处理能力,特别是和多媒体相关的应用程序。图1给出了一个基于ARM核的典型的SOC架构,它包括视频编解码器,图像预处理器,图像后处理器和高性能的显示控制器等。需要访问大量数据的硬件模块和内存控制器直接相连来提高数据访问效率。怎样评估已经定义好的SOC架构是否满足系统的需求,怎样估计这种SOC架构的性能处理能力,怎样重新设计硬件
3、加速器,如果它不能满足应用程序的需求?这些是在开始进行SOC设计之前需要解决的至关重要的问题。图1基于ARM核的SOC架构B相关工作专注于SOC架构性能评估的研究有很多[1~9],当前的技术总的来说可以分为两大类。具体的SOC性能评估工具大多数SOC性能评估工具需要具体的编程语言来开发虚拟系统[1~8],这些环境构建了一种基于受限制的规范语言的自定义设计,通过静态的分析或系统仿真来进行性能评估。它们很不适合设计空间的探索,因为开发出能够快速推向市场的性能评估虚拟系统和复杂的SOC系统太耗费时间了。特定抽象
4、层次上的单元性能模型这种方法只能得到单个硬件性能评估结果[9],当把它们放入整个SOC系统中时,SOC架构设计师依然对系统的性能是不清楚的。和上述方法不一样,本文介绍了一种基于存储器访问建模的方法来给出一个有效的,系统的,快速的,可靠的SOC性能评估结果。第二章给出了存储器访问建模的方法,通过分析存储控制器和AHB主设备的固有特性来给出SOC的性能评估方程。第三章通过一个读多媒体应用程序的例子对评估结果进行了分析。第四章给出了结论。2存储器访问建模A.存储器访问建模DRAM存储器在SOC应用程序中被广泛使
5、用,它的每一个存储体是由许多页组成的,指令被定义用于控制DRAM的动作。访问同一存储体的不同页,称为页缺失,需要用PRECHARGE指令来关闭打开的页,过了tRP时钟周期后,新的存储器页被ACTIVE指令激活,READ指令在tRCD周期后发出,等待tCAS周期后,第一个数据就可以读了。访问了相同的页称为页命中,不需要发出PRECHARGE和ACTIVE指令。DRAM的访问时序可以分为四类,写后读,读后读,写后写和读后写,用RW,RR,WW和WR作为它们对应的访问时序号,PM和PH是页缺失/命中的百分比。具
6、体的访问时序类型乘上页缺失/命中的比率就是访问时序页缺失/命中的百分比,R/W_PM/PH=R/W×PM/PH。例如,RW_PM和RW_PH代表了写后读时序的页缺失/命中的百分比。当DRAM控制总线不再被上一条指令占用的时候,控制器就可以向控制总线发出下一条指令,尽管数据总线上依然有上一个数据,这叫指令预取。指令预取优化在下面情况中是不可能实现的。在SOC中只有一个主设备,或者所有的主设备都不能发出请求,直到上一个主设备用完总线为止。在所有的AHB总线主设备中只设计了AHB总线的SINGLE或INCR访问
7、类型,对于INCR类型,存储控制器不能预估当前的访问何时能结束,因此在当前最后一个数据准备好之前不能发出下一条指令,表1给出了SINGLE访问类型的延时时间。DRAM的时间限制被违反时。上一条指令的执行会被影响时。除了以上情况,指令预取优化可以被用来隐藏尽可能多的猝发数据访问延迟。定义R/W_PM/PH_delay来代表对应访问类型的访问延迟。1)RR类型延时计算模型在图2的RR-PM例子中,第二条PRECHARGE指令在第一条指令的数据还在读取时就已经发出,指令周期的一部分被隐藏,数据访问延时时间可由下
8、式计算:RR_PM_delay=(tRP+tRCD+tCAS+tRAS>burst-len+tCAS+tRCD)?(tRP+tRAS-burst-len):0如图2所示,tRP+tRCD+tCAS+tRAS代表第一个active指令到第二次访问的第一个数据读出的时间,burst-len+tCAS+tRCD为第一个active指令到第一次访问的最后一个数据读完的时间,若前者大于后者,则存在访问延时,延时时间即为(tRP+tRCD
此文档下载收益归作者所有