论文部分内容阅读
随着微处理器技术的不断进步,单芯片多核处理器已成为微处理器发展的主流。其中,多核流处理器不但展现出巨大的计算性能潜力,而且在面积利用率、平均功耗和可编程灵活性上也有着显著的优势。GPGPU作为简单多核流处理器的典型代表,对数据密集型和高度并行性的计算进行加速能够获得显著的效果,在科学计算和工程领域有着广泛的应用。通过研究GPGPU的体系结构,可以探索体系结构的未来发展方向,为自主研制高性能的通用流处理器提供可借鉴的思路。模拟器是研究处理器体系结构的一种有效手段。GPGPU的简单多核流体系结构作为一种新型的体系结构,既有多核处理器结构特征,又有流体系结构特征,与传统的微处理器体系结构有着很大的不同,需要研究新的模拟技术和方法。为此,本文对目前在学术界广泛使用的NVIDIA公司的GPGPU进行了相关研究。本文通过研究GPGPU的发展和及其体系结构的典型特点,并结合GPGPU的编程模型CUDA和多线程流执行模式,详细探讨了GPGPU多核流体系结构模拟器的主要思想。本文充分利用了现有模拟器GPGPU-Sim的实现技术和方法,通过软件扩展和功能完善,结合功耗模拟器Wattch的应用接口和算法,建立起GPGPU的体系结构级功耗模型。实验表明,本模拟器能够可靠地对GPGPU的功能进行模拟验证。在性能上,分配到GPGPU上执行的线程数量越多,填入流处理核就越充分,GPGPU的加速特性体现得越明显。流处理核的数量是决定GPGPU性能的主要因素,此外,流水线的配置、DRAM调度方式和时钟频率等因素都会影响GPGPU性能。同时,不同存储层次和编程模型对GPGPU的性能也有很大影响,对于访问数据规整和执行流程唯一的应用程序而言,在没有数据Cache和最大化使用对齐访问机制下,有最好的执行性能,而面对更加通用的计算领域,则是使用数据Cache的体系结构更有优势。另一方面,GPGPU功耗在硬件上随流处理核增加,在应用中随线程增多而增加,不同的存储层次和编程优化方式都在一定程度上影响了系统的功耗。