基于SIMD体系结构的指令级并行结构设计
2017-02-03刘有耀张仲伟
刘有耀,张仲伟
(西安邮电大学电子工程学院,陕西西安710061)
SoC的概念提出之后[1-3],随着并行计算技术与深亚微米技术进步,出现了以网络互连的大规模并行处理系统芯片(MPP SoC),即阵列处理器系统芯片(Array Processor SoC),目前系统芯片体系结构还处在发展阶段。目前多核阵列处理器(Multi-core Processor)是处理器发展的趋势。随着微电子工艺技术的不断突破,在单个芯片上能够集成越来越多的电路,为多核处理器的出现提供条件。在实现软件无线电时,多核CPU+GPU体系架构已经是经典的解决方案,通过不同的数据映射到不同的处理单元或GPU单元中,得到并行处理,提高LTE系统基带算法的执行效率。下一代通信系统中存在大量的非数据并行算法[4-5],无法通过基于指令流的大规模数据并行计算提高计算效率。要求处理器能支持指令级并行(Instruction-level Parallelism,ILP)、数据级并行(Data-level Parallelism ,DLP)、线程级并行(Thread-level Parallelism,TLP)计算进行各种规则计算和不规则计算[6-7]。所以为了满足新时期的用户体验,我们需要研究适用于高性能计算的多核并行处理器,具有一定的实际意义和应用价值。
1 结构模型
在计算机体系结构模型分类中[8],共有10种类型:基于指令流(机器执行的指令序列)计算的系统结构有单指令单数据SISD(Single Instruction Single Data,SISD)、单指令多数据 SIMD(Single Instruction Multiple Data,SIMD)、多指令单数据 MISD(Multiple Instruction Single Data,SIMD) 和 MIMD(Multiple Instruction Multiple Data,SIMD)4种;基于数据流计算的体系结构有SD与MD两种;基于构令流计算的体系结构有SCSD、MCSD、SCMD与MCMD 4种。
按照Flynn的分类[9],主要还是两种指令流计算模式的并行计算的体系结构,一种是数据级并行的SIMD体系结构,多不同的数据相同的操作;……
