论文部分内容阅读
多年来微处理器性能的提升大都基于提高单个处理器主频或者指令级并行度进行的。但是随着单个处理器的发展,处理器结构越来越复杂。处理器要使用各种复杂技术来从串行程序中找出可以并行执行的指令,比如乱序执行、猜测执行和硬件分支预测等。这种技术已经很难进一步地提高单处理器的并行能力,晶体管数目的进一步增加也只能得到有限的性能提升,单个处理器主频或者指令级并行度的提高遇到了发展瓶颈。随着集成电路制造工艺的发展和计算机系统结构研究的深入,多核技术将得到更多的发展,多核处理器也将得到越来越广泛的应用。通过在多个执行内核之间划分任务,提高并行度,多核处理器可在特定的时钟周期内执行更多任务,以提高程序的执行效率。多核技术在硬件体系结构设计、核间互连及通信、操作系统、应用程序多线程划分、线程之间通信等方面存在巨大的挑战,同时也存在巨大的研究空间。本文基于对当今主流的多核技术的研究,重点探讨了多核系统中的操作系统设计和移植问题,以及多核平台上应用程序的设计问题。本文的主要研究和贡献如下:1.在SoCLib多核仿真平台上实现了基于CrossBar互连方式的SPARC多核仿真系统,并采用MJPEG应用程序建立多线程模型,验证结构的正确性。这部分工作基于对多核仿真平台SoCLib的研究,包括SoCLib中核心模块的设计和核之间的互连方式以及应用SoCLib搭建多核仿真系统的方法学。2.实现了Mutek操作系统的硬件抽象层和线程间通信库,使Mutek适用于MicroBlaze多核系统并能够支持多线程之间的通信,将Mutek操作系统成功移植到了MicroBlaze多核系统平台上。这部分工作基于对Xilinx FPGA、MicroBlaze、Mutek操作系统、KPN模型和MJPEG应用程序的研究。3.提出了MicroBlaze多核系统改进的三种方案,结合Xilinx硬件平台的特征,实现了带有指令Cache的多核系统改进方案。