高性能DSP的二级高速缓存设计与实现
发布时间:2020-06-20 03:03
【摘要】:数字信号处理器(Digital Signal Processor,DSP)专门用于数字信号处理,已在通信、军事、家电等各个领域得到了广泛的应用。随着集成电路的发展,微处理器的运算速度迅速提高,而相对于微处理器而言,存储器存取速度的改善较慢,二者之间的速度差异越来越大,导致了瓶颈问题的产生,严重影响系统整体性能。在微处理器和和主存之间加入一个容量小但速度快的高速缓存(cache)能有效解决此问题。本文的主要研究工作是设计并实现一款DSP芯片的二级高速缓存。 深入分析了G1000的体系结构和片内两级存储结构,研究了现代cache的设计技术和相关理论,完成了L1P、L1D和L2的设计与实现。其中,L1P设计为只能被CPU读访问的一级程序cache;L1D设计为二组相联映射结构,采用LRU替换策略,具有两组读写通路,在写通路上设计了Write Buffer单元,当写miss时,直接写入Write Buffer,而不用立即写入L2中,有效提高了cache操作速度;L2设计为cache与RAM的组合体,结构比较复杂,利用snoop请求来维护L1D、L1P与主存存数据一致性。对设计进行了充分的逻辑验证,结果表明设计可以实现课题要求的各种功能,各个模块均可正常工作,完成了课题的研究任务。
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP333
【图文】:
第二章 G1000 的存储结构从 DSP 应用角度来说,一个足够大且足够快的片内存储器是最理想的,但是最近几年处理器的速度不断提高,CPU 速度比存储器速度要快很多,虽然高速的存储器能够实现,但随着容量的提高,其成本要比低速存储器昂贵很多。考虑图 2.1 左侧所示的存储器结构,CPU 和内部存储器都是 300MHz,所以访问存储器不会产生 stalls(延迟流水线的执行),当 CPU 的时钟增到 600MHz 时,内部存储器只能两个CPU周期被访问一次,因此CPU一次访问会被延迟一个周期对于那些需要每个周期访问的循环而言,延迟非常巨大。由于目前存储器的技术其速度跟不上处理器的速度,而那些快速的存储器价格非常昂贵。解决方案只有改变存储器体系结构,如图 2.1 右侧所示,一个快速的小容量存储器紧挨着 CPU,CPU 访问它没有 stalls,下一级的存储器远离 CPU,其容量较第一级的大,但速度相对较慢。地址从大容量存储器映射到小容量存储器。而这小小容量存储器被称为 cache,由 cache 控制器自动管理。使用这种结构的存储器,访问速度接近于快速的小容量存储器的访问速度。
2.2 G1000 DSP 体系结构总体框图G1000 由三部分组成:CPU(DSP core)、片内存储系统、片内 EDMA。而 CP如图 2.2 所示,包括取指、指令分配、指令译码单元,8 个功能单元,一些控制寄存器与中断寄存器。片内存储系统由二级 cache 组成,包括一级程序存储单元(L1P)、一级数据存储单元(L1D)与第二级存储单元(L2)。2.2 二级 cache 结构分析2.2.1 设置 cache 的理论依据设置 cache 的理论[5]依据是访问的局部性原理。局部性原理是指处理器存取指令或数据的操作在时间、空间和次序上往往都集中在一定的范围内进行。换句话说,大多数程序在任何时间窗口上,常常在他们地址空间的某一部分活动。产生局部性原理的原因是:1.除了调用和转移指令(它们只占很小的一部分)以外,程序的执行是按顺序的从而在大多数情况下,下一条指令可以在当前指令之后立即取进处理器。
本文编号:2721763
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2011
【分类号】:TP333
【图文】:
第二章 G1000 的存储结构从 DSP 应用角度来说,一个足够大且足够快的片内存储器是最理想的,但是最近几年处理器的速度不断提高,CPU 速度比存储器速度要快很多,虽然高速的存储器能够实现,但随着容量的提高,其成本要比低速存储器昂贵很多。考虑图 2.1 左侧所示的存储器结构,CPU 和内部存储器都是 300MHz,所以访问存储器不会产生 stalls(延迟流水线的执行),当 CPU 的时钟增到 600MHz 时,内部存储器只能两个CPU周期被访问一次,因此CPU一次访问会被延迟一个周期对于那些需要每个周期访问的循环而言,延迟非常巨大。由于目前存储器的技术其速度跟不上处理器的速度,而那些快速的存储器价格非常昂贵。解决方案只有改变存储器体系结构,如图 2.1 右侧所示,一个快速的小容量存储器紧挨着 CPU,CPU 访问它没有 stalls,下一级的存储器远离 CPU,其容量较第一级的大,但速度相对较慢。地址从大容量存储器映射到小容量存储器。而这小小容量存储器被称为 cache,由 cache 控制器自动管理。使用这种结构的存储器,访问速度接近于快速的小容量存储器的访问速度。
2.2 G1000 DSP 体系结构总体框图G1000 由三部分组成:CPU(DSP core)、片内存储系统、片内 EDMA。而 CP如图 2.2 所示,包括取指、指令分配、指令译码单元,8 个功能单元,一些控制寄存器与中断寄存器。片内存储系统由二级 cache 组成,包括一级程序存储单元(L1P)、一级数据存储单元(L1D)与第二级存储单元(L2)。2.2 二级 cache 结构分析2.2.1 设置 cache 的理论依据设置 cache 的理论[5]依据是访问的局部性原理。局部性原理是指处理器存取指令或数据的操作在时间、空间和次序上往往都集中在一定的范围内进行。换句话说,大多数程序在任何时间窗口上,常常在他们地址空间的某一部分活动。产生局部性原理的原因是:1.除了调用和转移指令(它们只占很小的一部分)以外,程序的执行是按顺序的从而在大多数情况下,下一条指令可以在当前指令之后立即取进处理器。
【参考文献】
相关期刊论文 前7条
1 孙慧,李文宏,章倩苓;一种低功耗的高性能四路组相联CMOS高速缓冲存储器(英文)[J];半导体学报;2004年04期
2 赵学梅,叶以正,李晓明,时锐;一种低功耗高性能的滑动Cache方案[J];计算机研究与发展;2004年11期
3 周学海;余洁;李曦;王志刚;;基于指令行为的Cache可靠性评估研究[J];计算机研究与发展;2007年04期
4 杨文华,罗晓沛;专用集成电路的设计验证方法及一种实际的通用微处理器设计的多级验证体系[J];计算机研究与发展;1999年06期
5 彭军;杨乐;稂婵新;盛立琨;;基于总线侦听Cache一致性协议算法与实现[J];计算机与现代化;2007年10期
6 刘洪波;龙娟;郝晓莉;沈绪榜;;异步FIFO状态判断的研究与设计[J];微电子学与计算机;2007年03期
7 武杨;;高速缓冲存储器Cache设计的关键技术分析[J];中国科技信息;2006年07期
相关硕士学位论文 前3条
1 程由猛;高性能DSP片内二级Cache控制器设计研究[D];国防科学技术大学;2003年
2 卢晏安;“银河飞腾”DSP片内存储系统的优化设计研究[D];国防科学技术大学;2005年
3 李卫伟;32位嵌入式处理器的Cache设计[D];西北工业大学;2007年
本文编号:2721763
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2721763.html