随着集成电路设计复杂度不断增加,硅前验证已经难以保证没有错误进入硅后芯片之中。而在硅后阶段调试多核处理器芯片,非确定性错误是面临的重大挑战之一。本项目针对多核处理器中非确定性错误的调试展开如下研究(1)对多核处理器中导致非确定性错误的根源进行深入分析,建立非确定性错误模型,并设计多个芯核之间的交叉触发机制;(2)重点解决对非确定性错误进行实时追踪的关键问题,包括追踪源选择、传输机制和追踪数据处理,设计在片上网络传输功能数据和追踪数据的方法;(3)研究非确定环境下的重放技术,提出捕获处理器系统非确定性的方法;(4)提出多核处理器中实现多错误容错调试的方法,采用物理修复和软件设定的方法保证多个错误共存时的调试效果。项目将结合我国龙芯多核处理器,解决非确定性错误调试中的若干关键问题,研究成果将为多核处理器设计与调试提供理论基础和技术支持。
multi-core;debugging;error;genetic algorithm;cluster
在本课题基金资助下,课题组成员按照研究计划中的研究内容和技术路线进行了三年的研究工作,取得了较好的研究成果,主要研究成果和创新点如下(1)提出了一种基于分簇的多核芯片并发追踪调试方法传统追踪技术使用集中式的片上缓存,这在处理并发追踪时容易形成带宽瓶颈。本课题针对复用片上网络进行实时追踪调试方法进行研究,首次提出了一种基于分簇思想的并发追踪方法来解决并发追踪数据流的传输问题。在实现并发追踪数据流传输的同时节省了硬件开销。(2)提出了一种基于遗传算法的并发追踪缓存放置方法我们针对复用片上网络进行实时追踪调试方法进行研究,提出了一种多追踪缓存的实时追踪调试方法,首次同时对追踪缓存数量和追踪数据传输能耗进行优化。我们证明了确定范围的选址问题该问题属于可以规约为集合覆盖的NP-hard问题,并采用一种基于遗传算法的选址机制来处理此问题。(3)提出了一种基于映射的自调节缓存选址算法针对多组追踪源实时追踪的问题,提出了一种映射的自调节缓存选址算法。该算法通过多组追踪源映射的方法简化缓存节点的择优,并且簇扩张的过程中各节点自调节簇的归属,从而在减小缓存选址个数的同时平衡传输路径长度,从而降低传输能耗。(4)提出了一种多核芯片中片上网络分级保护设计各类软硬件错误(如软错误、串扰等)可能导致片上网络的传输失败,这同样会导致传输追踪调试数据的失败。我们提出了一种分级保护的片上网络数据传输设计,实现对头片的跳到跳保护和对数据包的端到端保护,提高了保护效率。相关研究成果发表在多个国内外重要期刊和学术会议上,其中包括本领域重要国际会议IEEE/ACM DATE、国内重要期刊《中国科学信息科学》和《电子学报》等,还获得了第八届全国测试学术会议唯一的最佳论文奖。本项目的研究不仅对大规模数字电路的设计验证理论有很大的促进作用,同时也将极大的推进调试技术在多核处理器设计验证中的实际应用。