论文部分内容阅读
随着集成电路工艺以及计算机体系结构的深入发展,受到功耗和散热的限制,单核处理器在工作频率上已达到极限,因此处理器逐渐向多核的方向发展。多核处理器是指在一枚处理器中集成多个完整的计算核心。典型的多核处理器有通用多核CPU、通用多核GPU和Cell BE等。不同类型的多核处理器由于各自不同的特点在不同领域得到了广泛的应用,通用CPU由于其独立的多个核心,在系统任务调度和复杂指令多线程方面得到了应用,通用GPU由于其针对图像处理优化的浮点运算和大规模并行核心,在数据密集型科学计算方面得到了应用,而Cell BE由于其异构架构在集群服务器上得到了应用。同时,与集成电路设计密切相关的EDA技术也在不断发展,.而EDA算法中存在大量的数据密集型计算,这些计算导致了EDA工具运行时间过长,对设计者的快速设计造成了不便。基于单核处理器的EDA算法受到单核处理器的工作频率限制,无法在运行速度上得到改善,因而迫切需要一种基于多核处理器的并行加速方法对EDA算法进行改进,以适应越来越广泛的多核处理器架构,在运行速度上得到提高。本文围绕面向数据密集型科学计算的多核处理器的体系结构及编程模型,提出通用CPU和通用GPU的异构串并行协同架构,针对数据密集型的EDA算法提出“热点”概念,寻找EDA算法中的“热点”,在CPU-GPU串并行架构上对“热点”进行并行化以对整个EDA算法进行加速。统计静态时序分析(SSTA)算法是一种典型的数据密集型计算EDA算法,传统的基于蒙特卡罗方法的SSTA由于随机配置数目过大,运行时间随分析电路规模的增大而快速增大,而本文基于稀疏网格法产生随机配置,减少了分析时的配置个数,并在此基础上基于GPU进行并行加速,与基于CPU的蒙特卡罗方法SSTA相比,获得了平均为320倍的加速比。针对硬件实现线性变换中存在的常数乘法器问题,本文设计并实现了一种可重配置多常数乘法器生成算法,可以在不同配置下实现不同组多常数乘法的输出。与已有的多常数乘法器和可重配置单常数乘法器相比,在面积上具有明显优势,在0.13μm工艺下,面积节省10%以上本文通过对可重配置多常数乘法器生成算法中数据密集计算部分的分析,基于GPU进行并行加速,获得了一定的加速比。