“银河飞腾-DX”DSP高效二级cache的设计与实现
发布时间:2020-08-18 13:39
【摘要】:近年来,数字信号处理器(DSP)得到越来越广泛的应用,但DSP性能的提升同样面临“存储墙”问题带来的设计瓶颈,解决这个问题的重要途径就是设置多级存储结构。在当今DSP设计中,“cache+RAM”的二级存储体系结构已成为片内存储结构的主要选择,它不仅担任片内存储器的职责,同时还负责DSP核与外存之间的通信任务。因此,如何设计一种高效的“cache+RAM”片内二级存储结构,特别是一种高效的二级cache工作机制,是DSP设计中的一个关键问题。 “银河飞腾-DX”DSP是我院自主研发的高性能定点DSP,采用超长指令字结构(VLIW),每个取值包由8条指令组成,最多可在一拍内完成8条指令的分配与执行。采用片内二级存储体系结构,二级存储器为总容量为1MB的共享“cache+RAM”的可配置结构,用户可根据实际应用程序的需要灵活调整二级存储器中cache和RAM的比例。本文围绕高效二级cache的设计实现进行研究,主要包括以下几方面工作。 首先,分析了一般的Cache的设计方法,全面考察了主流DSP芯片中cache的性能要求和实现技术,设计实现了“银河飞腾-DX”DSP中L2 cache的缺失流水线结构。L2 cache的缺失流水线能够流水地处理L1的缺失请求,能够有效隐藏L1缺失请求在L2 cache中的命中时间,在“银河飞腾-DX”DSP平台上的RTL级模拟测试表明,L2 cache缺失流水线对处理访问L2存储器的缺失请求最多可达到1.31的加速比。 其次,分析了实际应用程序对于cache的访存行为,总结出两种可以进行预测的访存失效地址序列类型,并针对这两种访存失效地址序列类型设计了一种步长自适应二级cache预取机制。该机制针对二级cache的工作特点,使用访存失效地址的cache块地址作为查询预取表的索引,简化了在cache基础上设计添加预取结构的硬件实现。同时,预取机制引入信心系统机制,能够有效地降低cache的失效率。对SPEC2006测试程序的运行结果表明,步长自适应二级cache预取机制对程序访存的失效率最多可降低4.5%,对程序的加速比最大可达1.3。 最后,结合L2 cache缺失流水线结构和步长自适应二级cache预取机制,在“银河飞腾-DX“DSP平台上设计了带有预取结构的L2 cache缺失流水线。该结构综合了缺失流水线和步长自适应二级cache预取机制的优势,能够进一步提升“银河飞腾-DX”DSP的系统访存性能。
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP332
【图文】:
国防科学技术大学研究生院工学硕士学位论文1.1.2 DSP 片内 cache 结构的重要性DSP 与 GPP 最大的区别在于,DSP 要满足“实时性”和“确定性”的要求[6]实时性:DSP 面向的应用一般为数据密集型运算,处理完一块数据之后要马上处理下一块数据,并且数据多为流数据,数据保持的时间很短。如果不能及时处理,数据很可能被下一个数据块淹没导致程序出错,所以 DSP 处理数据的响应时间要很短,即满足“实时性”要求。确定性:在 DSP 实时性要求的背景下,程序员必须非常清楚每块数据处理的时间,以便在程序设计时进行准确的规划。这就要求 DSP 对数据块的处理时间是相对确定的,即 DSP 的“确定性”问题。由于 DSP“实时性”和“确定性”的要求,早期不追求高性能的 DSP 通常采用如图 1.1 所示的“CPU 核+片内 RAM”的结构,将程序和数据放到片内 RAM 中以降低访存的高延迟和时间不确定性[6]。
图 3.1 不同 cache 的失效率对比3.1.2 cache 失效数据地址序列类型从本质上讲,预取是在对访存历史信息的分析之后,总结访存规律并对下一次访存地址的猜测。因此,判断访存地址序列的类型,是进行预取的关键技术。Tien-Fu Chen 等对程序访存模式做了这样的定义[13]:假设一段程序有 m层嵌套循环,依次表示为 I1,I2,I3, ,Im,其中 I1是最外层循环。LPi表示在第 i层循环中的数据声明的集合。对于数据 r,可以分为如表 3.1 所示的四种访存模式。表 3.1 程序访存模式访存模式 描述 举例标量 简单的变量访问 索引,计数零步长r∈LPi,Ii的下标恒定A[I1,I2] ∈3ILPTAB[I1] ∈2ILP固定步长r∈LPi,Ii的下标线性变化A[I1] ∈iILPA[I1,I2], A[I2,I1] ∈
本文编号:2796281
【学位授予单位】:国防科学技术大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP332
【图文】:
国防科学技术大学研究生院工学硕士学位论文1.1.2 DSP 片内 cache 结构的重要性DSP 与 GPP 最大的区别在于,DSP 要满足“实时性”和“确定性”的要求[6]实时性:DSP 面向的应用一般为数据密集型运算,处理完一块数据之后要马上处理下一块数据,并且数据多为流数据,数据保持的时间很短。如果不能及时处理,数据很可能被下一个数据块淹没导致程序出错,所以 DSP 处理数据的响应时间要很短,即满足“实时性”要求。确定性:在 DSP 实时性要求的背景下,程序员必须非常清楚每块数据处理的时间,以便在程序设计时进行准确的规划。这就要求 DSP 对数据块的处理时间是相对确定的,即 DSP 的“确定性”问题。由于 DSP“实时性”和“确定性”的要求,早期不追求高性能的 DSP 通常采用如图 1.1 所示的“CPU 核+片内 RAM”的结构,将程序和数据放到片内 RAM 中以降低访存的高延迟和时间不确定性[6]。
图 3.1 不同 cache 的失效率对比3.1.2 cache 失效数据地址序列类型从本质上讲,预取是在对访存历史信息的分析之后,总结访存规律并对下一次访存地址的猜测。因此,判断访存地址序列的类型,是进行预取的关键技术。Tien-Fu Chen 等对程序访存模式做了这样的定义[13]:假设一段程序有 m层嵌套循环,依次表示为 I1,I2,I3, ,Im,其中 I1是最外层循环。LPi表示在第 i层循环中的数据声明的集合。对于数据 r,可以分为如表 3.1 所示的四种访存模式。表 3.1 程序访存模式访存模式 描述 举例标量 简单的变量访问 索引,计数零步长r∈LPi,Ii的下标恒定A[I1,I2] ∈3ILPTAB[I1] ∈2ILP固定步长r∈LPi,Ii的下标线性变化A[I1] ∈iILPA[I1,I2], A[I2,I1] ∈
【参考文献】
相关期刊论文 前2条
1 蔡伟鸿;肖水;韦岗;熊智;黄敏华;;基于选择性马尔可夫模型的缓存预取策略[J];通信学报;2010年02期
2 李伟立;于立新;;应用预取策略的行缓冲指令Cache设计[J];微电子学与计算机;2011年01期
相关博士学位论文 前3条
1 肖勇;值预测技术研究[D];国防科学技术大学;2005年
2 马鹏勇;CMT处理器高速缓存的优化技术[D];国防科学技术大学;2007年
3 汪东;异构多核DSP数据流前瞻关键技术研究[D];国防科学技术大学;2007年
相关硕士学位论文 前2条
1 刘胜;DSP高效片内二级Cache控制器的设计与实现[D];国防科学技术大学;2008年
2 傅yN晖;高性能DSP一级Cache缺失流水设计与实现[D];国防科学技术大学;2009年
本文编号:2796281
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2796281.html