




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种基于存储器访问模型的多媒体SOC性能评估方法摘要越来越复杂的应用程序案例给SOC架构带来了很多巨大的带宽负载问题,为了设计出一个高性能的SOC系统,这个系统支持大量和高速的数据处理能力,一个高效的,系统的和快速的SOC架构性能评估方法成为了芯片设计成功的基本要求。本文介绍了一种基于存储器访问模型的性能评估方法,它可以给出精确和可靠的评估结果来帮助设计者进行系统级和模块级的设计,它可以用来建立SOC架构,在芯片架构确定的最初设计阶段就找到系统的性能瓶颈,并给出不同架构定义的比较结果,同时节省设计所付出的代价和设计迭代周期。关键词SOC;性能评估;带宽负载;存储器访问1 介绍A 背景芯片设计已
2、经进入了SOC阶段。尽管SOC可以提高系统集成度,减少功耗和物理尺寸,它需要高带宽负载和高性能的处理能力,特别是和多媒体相关的应用程序。图1给出了一个基于ARM核的典型的SOC架构,它包括视频编解码器,图像预处理器,图像后处理器和高性能的显示控制器等。需要访问大量数据的硬件模块和内存控制器直接相连来提高数据访问效率。怎样评估已经定义好的SOC架构是否满足系统的需求,怎样估计这种SOC架构的性能处理能力,怎样重新设计硬件加速器,如果它不能满足应用程序的需求?这些是在开始进行SOC设计之前需要解决的至关重要的问题。图1 基于ARM核的SOC架构B 相关工作专注于SOC架构性能评估的研究有很多19,
3、当前的技术总的来说可以分为两大类。具体的SOC性能评估工具大多数SOC性能评估工具需要具体的编程语言来开发虚拟系统18,这些环境构建了一种基于受限制的规范语言的自定义设计,通过静态的分析或系统仿真来进行性能评估。它们很不适合设计空间的探索,因为开发出能够快速推向市场的性能评估虚拟系统和复杂的SOC系统太耗费时间了。特定抽象层次上的单元性能模型这种方法只能得到单个硬件性能评估结果9,当把它们放入整个SOC系统中时,SOC架构设计师依然对系统的性能是不清楚的。和上述方法不一样,本文介绍了一种基于存储器访问建模的方法来给出一个有效的,系统的,快速的,可靠的SOC性能评估结果。第二章给出了存储器访问建
4、模的方法,通过分析存储控制器和AHB主设备的固有特性来给出SOC的性能评估方程。第三章通过一个读多媒体应用程序的例子对评估结果进行了分析。第四章给出了结论。2 存储器访问建模A存储器访问建模DRAM存储器在SOC应用程序中被广泛使用,它的每一个存储体是由许多页组成的,指令被定义用于控制DRAM的动作。访问同一存储体的不同页,称为页缺失,需要用PRECHARGE指令来关闭打开的页,过了tRP时钟周期后,新的存储器页被ACTIVE指令激活,READ指令在tRCD周期后发出,等待tCAS周期后,第一个数据就可以读了。访问了相同的页称为页命中,不需要发出PRECHARGE和ACTIVE指令。DRAM的
5、访问时序可以分为四类,写后读,读后读,写后写和读后写,用RW,RR,WW和WR作为它们对应的访问时序号,PM和PH是页缺失/命中的百分比。具体的访问时序类型乘上页缺失/命中的比率就是访问时序页缺失/命中的百分比,R/W_PM/PH=R/W×PM/PH。例如,RW_PM和RW_PH代表了写后读时序的页缺失/命中的百分比。当DRAM控制总线不再被上一条指令占用的时候,控制器就可以向控制总线发出下一条指令,尽管数据总线上依然有上一个数据,这叫指令预取。指令预取优化在下面情况中是不可能实现的。在SOC中只有一个主设备,或者所有的主设备都不能发出请求,直到上一个主设备用完总线为止。在所有的AH
6、B总线主设备中只设计了AHB总线的SINGLE或INCR访问类型,对于INCR类型,存储控制器不能预估当前的访问何时能结束,因此在当前最后一个数据准备好之前不能发出下一条指令,表1给出了SINGLE访问类型的延时时间。DRAM的时间限制被违反时。上一条指令的执行会被影响时。除了以上情况,指令预取优化可以被用来隐藏尽可能多的猝发数据访问延迟。定义R/W_PM/PH_delay来代表对应访问类型的访问延迟。1) RR类型延时计算模型在图2的RR-PM例子中,第二条PRECHARGE指令在第一条指令的数据还在读取时就已经发出,指令周期的一部分被隐藏,数据访问延时时间可由下式计算:RR_PM_dela
7、y=(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+tCAS+tRAS)-(burst-len+ tCAS + tRCD)= tRP+ tRAS-burst-len,反之,第二次访问的延时时间被隐藏,第二次访问的数据在第一次访
8、问结束后就立刻开始进行读数据,延时时间为零。这里,tRP ,tRAS, tCAS是DRAM初始化期间生成的常量,burst_len指AHB主设备数据请求猝发长度,并且决定了数据访问的延时时间。burst_len越大,在一个指令期间传送的数据就越多,数据访问效率就越高。考虑最紧张的SOC带宽负载情况,多主设备总是同时发送数据请求,这比一个特定时间内只有一个主设备发送的情况要紧张。那就是说,第二条指令在前一条指令之后就立刻发送给了DRAM,并且在连续的指令之间没有间断。第二次访问的第一个数据在第一次访问的最后一个数据之后就立刻生效,第二次访问的延时时间完全被第一次访问的数据读取阶段隐藏,所以RR_
9、PH_delay=0,如图2所示。2) RW类型延时计算模型在图3(a)中,页缺失写猝发信号在猝发读之后,WRITE指令控制阶段与READ指令数据阶段部分重叠,它的访问延时被部分隐藏了。RW_PM延时可由(2)式计算得出,也是由burstlen参数决定的。RW_PM_delay=(tRP+tRCD+ tRAS >burst-len+tCAS +tRCD)?( tRP +tRAS -tCAS- burst_len):0(2)如图3(a)所示,tRP+tRCD+ tRAS为第一个active指令到第一个write指令的时间间隔,burst-len+tCAS +tRCD为第一个active指令
10、到最后一个读数据读出的时间,当前者大于后者时,存在访问延时,延时时间为(tRP+tRCD+ tRAS)-(burst-len+tCAS +tRCD)= tRP +tRAS -tCAS- burst_len,否则,延时时间为零。同样考虑最紧张的带宽负载情况,第二次页命中WRITE指令和数据在最后一个读数据之后立刻发送,如图3(b)所示,所以RW_PH_delay=0.图2 RR_PM和RR_PH的DRAM访问时序(a)RW_PM的DRAM访问时序(b)RW_PH的DRAM访问时序图3 RW_PM和RW_PH的DRAM访问时序3)WR类型延时计算模型在图4(a)的WR_PM例子中,如果READ指令
11、和WRITE指令在同一存储体,则第二个PRECHARGE指令应当在最后一个写数据之后tWR时钟周期发出,如果第二个指令访问了不同的存储体,就没有这种需求了。考虑最紧张的情况,WR_PM_delay由3式给出。在图4 (b)(c)的WR_PH例子中,第二次READ指令和最后一个有效的写入DDR的数据之间应当有tWTR时钟周期,SDR没有这种限制。WR_PH_delay由4式计算得出。WR_PM_delay=tWR+ tRP +tRCD+ tCAS-1(3)WR_PH_delay=tWTR+ tCAS (DDR) =(burst_len > tCAS)?0:(tCAS - burst-len
12、)(SDR)(4)如图4(b)所示,如果第一次写访问的burst_len很长,超过下一次读访问的tCAS(tCAS为发出READ指令到开始读第一个数据的时间),则下一次读访问的tCAS会被隐藏,延时时间为零。如果第一次写访问的burst_len较短,少于下一次读访问的tCAS,则不足以隐藏下一次读访问的tCAS,延时时间为tCAS burstlen。4)WW类型延时计算模型在图5两次写指令在同一存储体的WW_PM例子中,第二个PRECHARGE指令在最后一个写数据tWR时钟周期后发出,延时时间由5式计算得出。在WW_PH例子中,第二个WRITE指令在写数据之后立刻被发出,所以WW_PH_del
13、ay=0。WW_PM_delay= tWR + tRP + tRCD -1(5)B基于存储器访问时序的AHB主设备建模由于burst_len决定了访问延时时间的计算,更长的数据访问能够实现更加有效的指令预取和隐藏延时的特征,所以AHB主设备应当用INCR4和INCR8传输类型设计,而不应用SINGLE,INCR或更短的传输长度。表1给出了SINGLE,INCR4和INCR8在不同访问时序中的延时时间计算式。符号<>代表了条件选择,如果<>里的运算结果比零大,则结果就是其运算结果,否则,结果为零。由于第一个猝发数据计时点为零,所以burst_len=data_ burst
14、_length-1。表一:不同的猝发数据访问类型和访问时序时钟周期延时时间在猝发传输中,一个数据所消耗的平均时钟周期可由(6)式计算得出。理想情况下,当所有的访问都页命中时,在SDR中一个时钟周期就可传输一个数据(在DDR中可传输两个)。但在实际的应用程序中很难做到这样,特别是有几个AHB主设备同时发出数据请求的时候。当页缺失出现时,就要插入访问延时时间,平均的数据周期就会比一个时钟周期长,平均的数据周期越长,SOC系统的性能就会越差。表2显示了在SDR和DDR中不同访问时序类型下的平均数据周期。ave_delay=(delay_cycle+burst_len)/transed_data_nu
15、m(6)表2 SDR和DDR的平均数据传输时钟周期(a)WR_PM的DRAM访问时序(b)WR_PH的SDR访问时序(c)WR_PH的DDR访问时序图4 WR_PM和WR_PH的DRAM访问时序图5 WW_PM和WW_PH的DRAM访问时序平均数据周期代表了一个数据传输会消耗多少时钟周期。将所有传输数据的个数和平均数据周期相乘就可得到一个AHB主设备所消耗的时间,如(7)所示,这里,r1,r2,p分别代表第一条指令的读/写类型,第二条指令的读/写类型和第二条指令的页缺失/命中类型。所有的AHB主设备所消耗的时间之和可以准确地反映SOC系统的性能。Consumed_time=data_num(r
16、1,r2,p) ×ave_delay(r1,r2,p)(7)C基于存储器访问的视频编解码器建模因为视频编码/解码的算法非常复杂,在一个传输中所有的猝发数据并不一定都是有用的。在一次猝发传输中的几个数据可能对应用程序是多余的,在这种情况下,传输延迟是一样的,但实际的传输数据比猝发长度要短。虽然有多余的数据,从SOC系统的角度看,所花费的代价是值的,因为延时的隐藏可以带来更多的利益。当评估SOC性能时,应当考虑多余的时钟周期所带来的浪费,如(8)所示。在一次猝发传输中实际传输的数据可由统计视频编解码算法得到。Clock_cycles=(trans_num(r1,r2,p,i) ×
17、;valid_cnt(r1,r2,p,i) ×trans_delay(r1,r2,p,i)(8)这里,除了r1,r2,p,valid_cnt是一次猝发传输中传送的有效数据的个数,i代表个数,trans_num是猝发传输中传送的总的数据个数,valid_cnt即为数据吞吐量,trans_delay为valid_cnt类型传输的延时时钟周期。如果传输的有效数据的个数小于或等于4,trans_delay就是INCR4类型的延迟,如果传输的有效数据的个数在4和8之间,trans_delay就是INCR8类型的延迟。3 试验和结果在以上建模和计算公式的基础上,图1SOC系统的32位和64位数据
18、总线设计的性能得到了评估。考虑图6中典型的多媒体应用程序的例子,通过编解码捕获图像处理并显示。图6 视频编解码处理数据流CSI(CMOS图像传感器接口)以每秒30帧的速度捕获CIF RGB565图像,直接将捕获到的图像传送到PrP。在CSI和PrP之间没有多余的带宽。PrP有两种数据处理途径,一种将CIF RGB565变换为VGA YUV420图像,将其存储到外部存储器中。另一种将CIF RGB565存储到外部存储器中,用DC取景器来显示。PrP处理以MB(Macro-block)为基础,它的猝发长度是用INCR4设计的。H264编码器从PrP中读取图像,将编码的比特流存到存储器中,比特流被读
19、出用于解码。解码得到的图像被存到存储器中用于后处理,它被设计成为不确定的各种猝发传输长度。PP读取VGA YUV420,并将其转换为VGA RGB565图像,它的处理单元为图像线,猝发长度由INCR8设计。DC获取VGA图像,以每秒60帧的速度显示。它的猝发长度越长越好,由INCR8设计。表3显示了基于分辨率,帧速率和猝发类型的不同主设备的带宽负载计算式。视频编解码数据流的总的存储器带宽需求是大约220MB。SOC架构应当在一秒内完成220MB数据的传送来满足视频编解码应用程序的最小需求。表2和(7)可用于计算PrP/PP/DC的性能,因为它们有具体的猝发传输长度。H264不仅有各种猝发数据长
20、度,而且能将超出MB界限的多余数据读成ME(运动估计),它将21×21的块读成16×16ME,13×13的块读成8×8ME,9×9的块读成4×4ME,对应的有效数据读取比率为(21×21)/(16×16)=1.72, (13×13) /(8×8)=2.64, (9×9) /(4×4)=5.06。假设16×16,8×8,4×4MB在典型的H264编解码ME中分别占0.5,0.25,0.25的百分比,所以ME的读数据比率为0.5×1.72+
21、0.25×2.64+0.25×5.06=2.78。在表4的H264编解码带宽计算中采用这种比率。H264编解码耗费的时钟周期由(8)式计算得出。表三 不同主设备的分辨率,帧速率,猝发类型和带宽负载信息表四 H264编解码器的读/写要求表五 典型的H264 VGA编解码实例中的有效数据传输个数假设存储控制器的时钟频率为133MHZ,优化的DRAM时间设置为tWR=tWTR=2,tRP=tRCD=tCAS=3,tRAS=6。表二给出了SDR/DDR的INCR4和INCR8的平均数据传输时钟周期。DDR的平均数据时钟周期一般都比一小,因为DDR在一个时钟周期内要传送两个数据。SDR的平均数据传送周期要比一大。PP,PrP,DC和H264VGA编解码器的在不同读/写访问时序和页缺失/命中的访问时钟周期数。这里采用基本的H264编解码函数和行业通用测试图像。表六总结了所有主设备的SDR/DDR和不同传输类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 橙色可爱卡通节约粮食模板
- 股权转让协议
- 产品业务提成合同范例
- 人事部经理工作总结模版
- 医疗健康大数据驱动的个性化医疗解决方案
- 2025年小学体育教师年度考核个人工作总结模版
- 运输新质生产力
- 预留、预埋、防雷等施工技术总结
- 中药柜销售合同范例
- 医院科室质控工作总结模版
- LY/T 1970-2011绿化用有机基质
- 部编人教版五年级语文下册第18课《威尼斯的小艇》精美课件
- 消防(电动车)火灾安全知识课件
- VSM(价值流图中文)课件
- 上海交通大学医学院附属仁济医院-日间手术管理信息化实践与发展
- 供应室手工清洗操作流程课件
- 核电站入厂安全培训课件
- 节日主题班会 《感恩母亲节》教学课件
- 新加坡sm214th面经44绯的同学
- 全国第七届中小学音乐优质课比赛教学设计跳圆舞曲的小猫
- 围术期过敏反应诊治的专家共识(全文)
评论
0/150
提交评论