论文部分内容阅读
多核时代片上所集成的核数越来越多,龙芯芯片在继4核的龙芯3A之后也推出了8核的龙芯3B芯片。然而,程序所获得的性能提升并未随着芯片能力的提升而呈现线性增长,系统资源未被充分利用是导致这种现象产生的根本原因。没有充分发掘程序的并行化潜能、程序实现与运行平台的硬件特征不匹配、系统软件不能调整硬件资源以适应各种类型的应用,这些都会使程序不能充分利用系统资源,进而制约了性能。
性能调优工具通过监测程序运行时行为特征、分析性能数据,一方面能够帮助程序员快速分析出导致程序性能低下的原因;另一方面,这些性能信息还能够为系统软件和编译软件所使用,用来动态优化程序的性能。本文实现了龙芯3号多核芯片上的性能调优环境工具DUET,在实现时发现龙芯多核芯片对性能调优的支持还停留在单核时代。相比于其他主流芯片,在龙芯多核平台上难以有效地对程序进行调优,必须改进其性能监测能力以提高竞争力。
论文的研究工作在实现了龙芯3号多核芯片上的性能调优环境之后,还做了一些龙芯多核平台对性能调优支持的改进研究,以期为下一代的龙芯芯片设计提供指导建议。主要研究内容和成果包括以下几个方面。(1)实现了针对龙芯3号处理器硬件特征的DUET工具,包括服务器端和客户端软件。服务器端软件是在分析龙芯2F处理器上的性能调优工具TProfiler的代码和实现原理的基础上进行设计和实现的。客户端软件是为方便用户使用所设计和实现的一个交互式可视化界面软件,通过通信接口与服务器端通信。(2)对比目前主流处理器的性能监测单元PMU的设计,指出龙芯多核处理器PMU设计的不足之处,在采样的准确性和丰富性方面都必须加以改进。并结合目前关注度较高的性能调优技术,分析实现这些技术的底层硬件支持。