- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于存储器访问模型的多媒体SOC性能评估方法.doc
一种基于存储器访问模型的多媒体SOC性能评估方法
摘要
越来越复杂的应用程序案例给SOC架构带来了很多巨大的带宽负载问题,为了设计出一个高性能的SOC系统,这个系统支持大量和高速的数据处理能力,一个高效的,系统的和快速的SOC架构性能评估方法成为了芯片设计成功的基本要求。本文介绍了一种基于存储器访问模型的性能评估方法,它可以给出精确和可靠的评估结果来帮助设计者进行系统级和模块级的设计,它可以用来建立SOC架构,在芯片架构确定的最初设计阶段就找到系统的性能瓶颈,并给出不同架构定义的比较结果,同时节省设计所付出的代价和设计迭代周期。
关键词—SOC;性能评估;带宽负载;存储器访问
1 介绍
A 背景
芯片设计已经进入了SOC阶段。尽管SOC可以提高系统集成度,减少功耗和物理尺寸,它需要高带宽负载和高性能的处理能力,特别是和多媒体相关的应用程序。
图1给出了一个基于ARM核的典型的SOC架构,它包括视频编解码器,图像预处理器,图像后处理器和高性能的显示控制器等。需要访问大量数据的硬件模块和内存控制器直接相连来提高数据访问效率。怎样评估已经定义好的SOC架构是否满足系统的需求,怎样估计这种SOC架构的性能处理能力,怎样重新设计硬件加速器,如果它不能满足应用程序的需求?这些是在开始进行SOC设计之前需要解决的至关重要的问题。
图1 基于ARM核的SOC架构
B 相关工作
专注于SOC架构性能评估的研究有很多[1~9],当前的技术总的来说可以分为两大类。
具体的SOC性能评估工具
大多数SOC性能评估工具需要具体的编程语言来开发虚拟系统[1~8],这些环境构建了一种基于受限制的规范语言的自定义设计,通过静态的分析或系统仿真来进行性能评估。它们很不适合设计空间的探索,因为开发出能够快速推向市场的性能评估虚拟系统和复杂的SOC系统太耗费时间了。
特定抽象层次上的单元性能模型
这种方法只能得到单个硬件性能评估结果[9],当把它们放入整个SOC系统中时,SOC架构设计师依然对系统的性能是不清楚的。
和上述方法不一样,本文介绍了一种基于存储器访问建模的方法来给出一个有效的,系统的,快速的,可靠的SOC性能评估结果。第二章给出了存储器访问建模的方法,通过分析存储控制器和AHB主设备的固有特性来给出SOC的性能评估方程。第三章通过一个读多媒体应用程序的例子对评估结果进行了分析。第四章给出了结论。
2 存储器访问建模
A.存储器访问建模
DRAM存储器在SOC应用程序中被广泛使用,它的每一个存储体是由许多页组成的,指令被定义用于控制DRAM的动作。访问同一存储体的不同页,称为页缺失,需要用PRECHARGE指令来关闭打开的页,过了tRP时钟周期后,新的存储器页被ACTIVE指令激活,READ指令在tRCD周期后发出,等待tCAS周期后,第一个数据就可以读了。访问了相同的页称为页命中,不需要发出PRECHARGE和ACTIVE指令。
DRAM的访问时序可以分为四类,写后读,读后读,写后写和读后写,用RW,RR,WW和WR作为它们对应的访问时序号,PM和PH是页缺失/命中的百分比。具体的访问时序类型乘上页缺失/命中的比率就是访问时序页缺失/命中的百分比,R/W_PM/PH=R/W×PM/PH。例如,RW_PM和RW_PH代表了写后读时序的页缺失/命中的百分比。
当DRAM控制总线不再被上一条指令占用的时候,控制器就可以向控制总线发出下一条指令,尽管数据总线上依然有上一个数据,这叫指令预取。指令预取优化在下面情况中是不可能实现的。
在SOC中只有一个主设备,或者所有的主设备都不能发出请求,直到上一个主设备用完总线为止。
在所有的AHB总线主设备中只设计了AHB总线的SINGLE或INCR访问类型,对于INCR类型,存储控制器不能预估当前的访问何时能结束,因此在当前最后一个数据准备好之前不能发出下一条指令,表1给出了SINGLE访问类型的延时时间。
DRAM的时间限制被违反时。
上一条指令的执行会被影响时。
除了以上情况,指令预取优化可以被用来隐藏尽可能多的猝发数据访问延迟。定义R/W_PM/PH_delay来代表对应访问类型的访问延迟。
RR类型延时计算模型
在图2的RR-PM例子中,第二条PRECHARGE指令在第一条指令的数据还在读取时就已经发出,指令周期的一部分被隐藏,数据访问延时时间可由下式计算:
RR_PM_delay=(tRP+tRCD+tCAS+tRASburst-len+ tCAS + tRCD)? (tRP+ tRAS-burst-len):0
如图2所示,tRP+tRCD+tCAS+tRAS代表第一个active指令到第二次访问的第一个数据读出的时间,burst-len+ tCAS + tRCD为第一个active指令到第一次访问的最后一个
文档评论(0)