论文部分内容阅读
数字信号处理器(DSP)在近年来得到广泛的发展及应用。“Cache+RAM”的存储结构已经成为高性能DSP设计中不可或缺的技术之一。二级Cache控制器的设计是“两级Cache+RAM”存储结构中的关键环节。如何设计和实现一个正确、高效同时又满足高频要求的二级Cache控制器是一个值得研究的问题。FT-CXX是我们自主研发中的一款高性能定点DSP,采用超长指令字(VLIW)技术,一拍内最多可以发射8条指令。预期CPU频率600MHz,外设频率300MHz,二级Cache(L2)的总容量1MB。本文对其中的L2控制器的设计和实现技术进行了研究,主要工作和贡献集中体现在以下几个方面:首先,分析了一般的Cache的设计方法,全面考察了主流DSP芯片中Cache的性能要求和实现技术,设计实现了FT-CXX L2的Cache/SRAM结构,确定了L2数据体、Tag体的结构及地址访问规则,设计实现了L2Cache的映象规则、替换算法、写策略等。其次,针对L2存储容量大、存储体只能支持CPU频率一半的事实,采取措施优化对一级Cache(L1D和L1P)缺失的处理。1)设计了缺失流水线,理想情况下平均每个L1的缺失代价只有两拍;2)在L1D和L2之间设计了一个宽度为64bit,深度为4且支持写合并的L1D写缺失缓冲队列,有效地减少了L1D写缺失的等待时间;3)提出了跨边界访问问题的解决方案,该方案具有效率高、硬件开销小且不会增加编译器的额外负担等特点。再次,设计并实现了一种高效的L2 SRAM的EDMA访问的处理机制。该机制充分挖掘了EDMA访问潜在的并行性,综合采用了EDMA请求猝发(可以连续发8个读请求,4个写请求)、侦听和数据发送处理流水化、基于侦听历史的侦听次数减少、基于旁路和归并机制的L2数据体访问的削减等技术,使EDMA的传输效率大大提高,平均访问一个数据只需要2-3拍,和一般的串行通路相比,加速比在2.0以上。最后,设计并实现了高效的数据一致性维护机制。一方面提供了丰富的Cache控制寄存器操作,另一方面对侦听和数据写回进行了分类处理。实验结果表明,该机制使系统典型请求的开销降低了10%以上。此外,本文对以上设计进行了较为系统地验证,并进行了逻辑综合和优化,使其在SMIC 0.13 um工艺下满足与一级Cache的接口部分工作频率为600MHz,内部的工作频率为300MHz的要求。