论文部分内容阅读
片上多核已成为当前处理器设计的主流。多核处理器大多数为同构多核架构,通过任务级并行提高系统的整体性能和吞吐量。然而,程序行为的多样化导致不同程序对处理器性能需求不同。同构多核处理器不能根据程序不同需求为其分配合适性能的处理器核,导致了多核处理器性能上的过剩或不足。上述情况会进一步引发处理器资源的不平衡和浪费。异构多核处理器作为解决上述问题的有效途径,得到了越来越多的关注。
异构多核处理器允许片上集成多个性能或功能不同的处理器核,以满足不同程序的性能需求。功能异构的多核处理器现已广泛应用于嵌入式领域,通过片上集成多个协处理器核来加速某类特定应用,提高嵌入式多核处理器的性能;性能异构多核处理器多应用于通用处理器领域,通过片上集成不同性能处理器核来满足不同程序的性能需求。
为了充分发挥性能异构多核处理器的优势,系统需要能够正确、快速识别程序行为,并且根据得到的程序信息为其分配性能合适的处理器计算资源。本文从提高异构多核处理器综合性能的角度出发,从程序行为分析、粗/细粒度核间任务切换、降低上下文切换开销硬件机制等多个角度研究了异构多核处理器相关的关键技术。本文主要工作如下:
1、基于龙芯3A同构多核处理器研究了异构多核处理器的关键实现技术--使用时钟分频技术为处理器核提供不同频率,采用异步FIFO、握手机制等方法同步处理器核对片上共享缓存的不同频访问。在上述工作的基础上,本文基于龙芯3A实现了有效统计程序执行时访存延迟的硬件机制。上述工作为本文的工作提供了良好的研究平台。
2、分析了应用程序在频率异构处理器上的程序行为特征,提出并实现一种采用访存延迟作为异构多核进程调度依据的LA-ACMP调度算法。该算法通过操作系统进行应用程序的异构识别并实现异构多核间的任务平衡。实验结果表明该方法相比采用传统的访存缺失次数作为调度依据的算法能够有效提高异构多核系统性能。
3、提出并实现了一种实时侦听程序行为,并进行细粒度异构多核间进程调度的硬件机制。该机制由硬件根据应用程序的访存延迟动态判断应用程序是访存密集型还是运算密集型,并通过中断动态向操作系统发出核间任务切换请求。实验结果表明,该机制能很好地识别应用程序行为特征并有效提高性能。
4、提出并实现了一种基于片上RAM降低上下文切换开销的软硬件方法。该方法通过软件发出保存恢复现场的指令,处理器核自动读写寄存器到片上RAM,达到保存恢复寄存器的目的。实验结果表明该方法能够有效降低上下文切换开销,且具有良好的可扩展性。