论文部分内容阅读
作为多核技术的一个重要组成部分,多核编程问题已成为制约当代计算机性能的重要因素。发挥多核系统性能的关键在于充分挖掘其并行计算优势,而提高多核系统并行度又受到计算机硬件架构、任务本身并行度、软件算法等诸多因素的影响。本文使用MPSOC软件模拟环境对多核系统编程模型、多核系统并行性挖掘及寻找特定条件下如何优化多核系统性能等问题进行了一些有益性探索。论文的主要工作如下:首先,介绍了多核编程技术,以及论文的工作基础MPSOC平台的软硬件架构,基于该平台的具体软件编写和运行方法,以及对该平台开发环境的相关改进。其次,介绍了常见的栅栏同步实现方案并分析了它们在多核系统上的局限性,同时提出了一种在非原子操作支持下的底层栅栏同步实现方案,这一方案具有良好的可移植性。再次,用实验验证了本文所提同步方案的正确性和良好的可移植性。以不同的系统配置进行了多组矩阵乘和排序等典型运算的测试,并对测试结果数据进行分析,找出影响MPSOC系统性能的关键因素——总线繁忙率。最后,分别以对称无锁型和非对称加锁型的方案设计实现了基于MPSOC系统的多核JPEG解码程序。通过对两种不同方案的实验结果数据进行对比,进一步得出锁读写是造成MPSOC系统总线繁忙率增加的主要原因的结论。在此基础上试着提出了一种针对MPSOC系统硬件架构的改进方案。