论文部分内容阅读
随着多核技术的不断发展,单个芯片上集成的处理核越来越多,所带来的潜在计算能力也越来越大。但实际上大多数多核系统在运行时有较多的处理核长时间处于空闲状态,因而并没有获得理想的并行度,潜在的计算能力也没有得到充分地挖掘,从而造成了计算资源的浪费。因此如何有效调度片上多核系统中的处理核、充分挖掘并行度就成为了当前多核技术上的一个重要课题。任务级乱序多发射,是将在单个处理核中已经应用成熟的指令级乱序多发射的核心技术进行扩展,包括寄存器重命名、动态调度等技术,使其应用在由多个处理核组成的粗粒度任务流水线上,自动追踪任务间的数据依赖,灵活调度片上的处理核,从而充分挖掘任务级并行性,提升资源利用效率。本文针对以上问题,在基于片上网络通信架构的多核系统上,对于如何设计支持任务级乱序多发射的主控核进行了深入研究。本文的主要工作如下:1.深入研究了传统指令级乱序多发射的关键技术的原理与实现;分析了将指令级乱序多发射扩展到任务级乱序多发射所面临的问题,分析了目标系统特征对实现任务级乱序多发射所提出的要求,并给出了相应的解决方案。2.提出了一种新颖的支持任务级乱序多发射的主控核设计方案。该主控核采用了两级编程架构,设计了任务级寄存器重命名机制以消除假数据相关,采用追踪“任务—寄存器”间的相关性替代“任务—任务”间的相关性,通过资源分配器和分支预测器分别解决结构冒险和控制冒险。同时,本文设计了一种新颖的任务级动态调度器和用于管理片上处理核的资源分配器。另外,本文还引入了对任务内多处理核间的SIMD工作模式的支持。3.完成了一种可重构运算器的流水化设计,并提出了一种基于NoC通信的异构多核系统架构。通过在该异构多核系统上加载实验,验证了本文所设计主控核功能的正确性。4.根据任务级乱序多发射技术的主要影响因素,在该异构多核系统中映射了具有不同特征的应用,从而评估了在本文所设计主控核的控制下该系统的性能,并初步探索了任务映射的原则。