论文部分内容阅读
受到功耗的制约和单线程程序有限指令并行性的影响,单核处理器性能的提升在2000年以后变得越来越艰难。片上多处理器(chip multi-processor)凭借其强大的并行处理能力、高带宽的数据通信、高效的资源利用率以及良好的扩展性逐渐成为了处理器继续按照摩尔定律提升性能的新方向。然而作为一项新技术,片上多处理器还存在许多亟待解决的问题,这些问题制约了片上多处理器的进一步发展。本文以提高片上多处理器系统的性能为目标,从系统的角度综合考虑这些问题,着重研究了片上多处理器设计中的三个关键技术:具有低时延要求的片上短消息传输互连网络,高效的多核操作系统调度器,以及兼顾单、多线程处理能力的控制处理器核。首先,根据片上处理器核物理位置相对较近的特点,本论文提出了采用共享寄存器堆来构建专门用于传递同步消息和广播数据的短消息传输网络。共享寄存器堆实现了核间信息的快速交互,从而满足了短消息传输低时延的要求。同时该网络在物理上有较低的写入逻辑时延和较小的读出逻辑时延,而且面积和功耗都较小,这些特点使得该网络能够方便的集成到片上多处理器中。实验结果表明,通过设计专门用于传递短消息的网络,同步消息的传递开销被大幅降低,有效减少了任务的调用开销;同时短数据广播的效率也得到了提升,减少了通信开销。实验结果表明,五个科学计算核心算法性能上有5.62%到25.38%的提升,片上互连网络的面积和功耗的增加都不超过1%。其次,本论文提出了一种基于主从式实时操作系统(Real time operating system-RTOS)的调度器(scheduler)来高效地管理片上多核系统。通过定义操作系统和应用程序之间的协议,编程人员只需要提供协议中所定义的内容,不需要再在程序中加入同步和数据传递操作,把这些交由操作系统完成,从而降低了并行编程的难度。调度器的设计根据科学计算应用程序的特点,结合数据流图编程模型,采用了分类的调用策略来降低任务的调用开销。操作系统和片上互连网络的协议中采用了不同的网络接口函数来高效支持调度器对不同网络的访问,从而减少了网络通信时延。实验结果表明,通过减少调用开销和通信时延,设计的调度器有效的提升了片上多核系统的性能(从5.25%到19.62%不等),从而使得五个科学计算核心算法的在多核系统上有较高的性能-效率不低于59.00%,而调度器的代码空间只有5.38KB。最后,本论文提出了一种采用乱序超标量和类同时多线程技术(simultaneous multithreading SMT)的处理器来满足控制处理器核对于单线程执行能力和任务吞吐率的要求。通过挖掘单线程任务中指令的并行性,乱序超标量技术有效地改善了处理器的单线程执行能力;类同时多线程技术的采用不但改善了处理器的任务吞吐率,而且提高了执行部件的利用率。实验结果表明,乱序超标量机制加速了应用程序中串行任务部分的执行,多核平台上五个科学计算程序的执行效率有1.13%到10.4%的提高;同时类SMT多线程技术有效提升了处理器单位芯片面积的吞吐率,可以达到1303.9DMIPS/mm2。