跟着元器件制作工艺的不断进步,单片上可集成的晶体管数急剧添加。纳米工艺将使单芯片中晶体管密度到达每平方厘米包括百亿至千亿。2010年已呈现集成度超越10亿支晶体管的高性能CPU(Intel的Polaris),2020年将到达70亿。因而,单片多核、众核等体系结构以其丰厚的核算资源,且处理器核或核算簇的数量依据运用核算量和并行度的需求可扩展的特性,成为体系结构研讨范畴的一个重要方向。
在芯片规划中,需求花费极大的人力和物力用于测验和验证,而其间还有很大一部分测验作业有必要比及芯片样片出产后才干进行,这严峻影响了芯片的开发周期和规划本钱。软件模仿器能够对各种规划的处理器进行时钟准确模仿,但其模仿精度受限于建模的精度,且跟着体系规划的增大和建模精度的进步,软件模仿的时刻急剧添加直至不行承受。FPGA仿真为芯片规划的测验和验证供给了一个很好的解决方案,它具有制作运转和制品简直相同快的作业原型硬件的才能,一起又具有可编程和快速可重构的灵活性,能够愈加精准地模仿体系仿存、I/O等行为,因而FPGA仿真能极大下降芯片研制的固有危险,缩短产品的开发周期。将被仿真的体系结构称为方针体系,将由FPGA构成的仿真渠道则称为仿真体系。在仿真体系的规划中,其仿真规划严峻受限于FPGA芯片的容量,在面向多核、众核这类具有高扩展性的体系结构仿真时,问题更为显着。若选用更大容量的FPGA或运用多片FPGA仿真,将面对FPGA开发板重规划和多片FPGA互连通讯等问题。跟着研讨的深化,体系会越来越杂乱,这会形成研讨本钱和规划杂乱度越来越高。因而,怎么最大化片上资源的运用率,增大FPGA的仿真规划成为处理器规划和体系结构研讨中的一个重要问题。
本文提出了一种面向对称体系结构的FPGA仿真模型,该模型的中心规划思维是:分时复用仿真体系中的一个单元来仿真方针体系中多个对称单元的行为,然后运用较少的硬件资源完结体系仿真,进步FPGA的运用率。
1 对称多核体系结构FPGA仿真模型
对称多核如SMP(Symmetry Multi-Processor)体系结构中,一般包括多个对称的处理器核或核算中心,这儿统称为核算核。核算核占有了多核体系结构的首要硬件开支,且对称多核体系结构的硬件仿真渠道FPGA资源耗费随核算核数目成线性添加。这儿提出的对称多核体系结构FPGA仿真模型,解耦合核算核数目与体系硬件开支的线性关系,其中心规划思维是:在构建仿真体系时,运用一个与方针体系中单个核算核同等的处理单元,称为虚拟核算单元VAU(Virtual Arithmetic Unit)替代一切的对称核算核,经过分时复用VAU完结一个核算单元虚拟多个核算核的行为。
图l中的左图是当时具有对称结构的多核体系结构模型笼统,n个对称的核算核经过特定的互连结构衔接,其衔接关系由方针处理器的作业形式决议;右图是本文提出的仿真模型。能够看出,仿真体系中选用一个VAU替代了方针体系中一切对称的处理单元PU。在对方针体系进行仿真时,核算页操控器VAUC(VAU Controller)操控1个VAU分时复用的办法作业,虚拟多个PU并行履行。分时的粒度与处理单元之间的耦合度相关。虚拟核算单元将方针体系中并行履行形式转变为串行履行的办法进行仿真,以时刻交换空间,削减体系中核算资源的耗费。BS(Backup Storage)用于存储VAU虚拟各PU履行时的中心成果。
2 仿真体系履行形式
2.1 多核/众核体系结构仿真体系履行形式
对称多核处理器中处理单元之间的耦合度不同,使得对应的仿真体系的履行形式也不相同。多核/众核体系结构一般选用粗粒度耦合履行的办法。如图2(a)所示.多个处理单元之间彼此比较独立,其同步和通讯一般处于使命级,即多个处理单元间的通讯和同步的次数远小于它们履行的指令数。图中PUi和PUj之间有一次通讯,PUi、PUj和PUk之间有一次同步。对应的仿真体系的履行形式如图2(b)所示,VAU先对PUi进行仿真,履行到与通讯点时,将PUi的履行信息导入BS,然后VAU对PUi进行仿真,履行到与通讯点时,将PUj的履行信息导入BS,将PUi的履行信息由BS导入VMU,对PUi的后续行为进行仿真,以此类推,如图2所示,箭头每穿过中线一次,表明核算页切换一次仿真方针,指向下的箭头表明VMU的信息导入BS,指向上的箭头表明BS中的信息导出至VMU。为了削减现场切换的次数,对两个PU通讯时的履行进程进行优化,如图2(c)所示,VAU仿真PUi履行至通讯点时,切换至PUj进行仿真,只要在PUj遇到其他同步或通讯时,才进行现场切换,不然VAU一直对PUj进行仿真,直至PUj履行完毕。PUj履行到与通讯点时,PUj将通讯数据发送至网络缓冲,并写入PUi对应的存储空间,如图2(c)中虚线所示。
2.2 SIMD体系结构仿真体系履行形式
SIMD体系结构的处理单元之间是严密耦合的,一切处理单元的履行进程都是严厉同步的,即同一时钟周期内每个处理单元都对不同的数据进行彻底相同的操作,如图3(a)所示。
在SIMD体系结构仿真体系中,有必要在逻辑上坚持这种彻底同步的履行形式。本文选用的办法是,一条指令流出之后,让它在指令流水线中坚持n个时钟周期(能够在接连的n个时钟内都发射同一条指令),VAU在这n个周期内分别对各处理单元对应的数据进行处理。若将n个时钟周期看作体系的作业周期,则n个数据是在同一作业周期内被处理,如图3(b)所示。这样则在逻辑上坚持SIMD的履行形式。
3 仿真体系评价
本文的方针体系如图4(a)所示。它由多个核算节点以Torus片上网络衔接构成,其核算节点数目能够依据运用需求进行扩展。对应的仿真体系如图4(b)所示。在仿真体系中,选用一个虚拟核算节点(VAU)替代方针体系中的p个核算节点,图4(b)以p=4为例,展现了仿真体系的结构。方针体系中p个核算节点的核算操作都由VAU以图2的作业形式完结。VAU中包括一个现场保存存储器(context backup),用于保存方针体系中p个核算节点的中心成果。contextbackup的容量为每个核算节点中本地存储器容量的p倍,这样,context backup就有满足的才能存储p个核算节点的中心成果,然后削减与外部存储器的数据交换,削减VAU的中止时刻。
选用FPGA EP2S180(具有143 520 ALUT,相当于18万逻辑门)完结了多种结构(核算节点的数目不同)的方针体系和根据仿真模型的仿真体系,并运用相应的硬件归纳东西Quartus剖析仿真体系的FPGA资源开支。体系选用包括1个cluster的MASA流处理器作为核算节点。为更好地验证仿真模型,流处理器中选用功用裁剪的cluster,如图4所示,cluster中仅包括3个核算单元和1个I/O单元,并相应下降指令和数据存储器的容量。在仿真体系中,VAU中的processor为流处理器中的中心核算部件,context backup替代了片上存储部件,其容量为SRF的p倍。该试验的意图是剖析所提出的仿真模型对仿真体系的硬件资源耗费和仿真速度的影响。
3.1 资源耗费剖析
图5是方针体系和仿真体系的FPGA资源耗费核算。因为布局布线的需求,FPGA芯片的资源运用率最高一般只能到达70%~80%。图5中“×”标识表明当时装备超出EP2S180的仿真才能。能够看出,在不选用仿真优化技能时,EP2S180可仿真的最大规划方针体系为24个核算节点。根据本文的仿真模型,当p值等于4时,EP2S180的仿真才能进步至64个节点;当p值等于8时,其仿真才能进步至96个节点。当p值增大时,其仿真才能可进一步提高。试验成果表明,本文提出的仿真模型能够增大FPGA芯片可仿真体系的规划。
3.2 仿真速度剖析
本文选用矩阵乘运算,分别在8、16、32个节点的方针体系和仿真体系上履行,测验二者的仿真速度。方针体系和仿真体系的作业频率为75 MHz。图6展现了二者的履行时刻。
能够看出,仿真体系的履行时刻大于方针体系。其时刻增量首要是因为仿真体系将方针体系中多个processor并行处理的使命移植到一个VAU上串行履行形成。仿真体系没有改动方针体系的数据传输途径和形式,因而,数据传输的时刻并没有添加。别的,因为VAU虚拟的p个pro-cessor同享了存储空间,仿真体系中消除了p个processor之间的数据传输时刻。尽管仿真体系相对于方针体系履行时刻有所添加,但其时刻增量处于秒级。相对于缓慢的软件模仿器,并归纳考虑仿真模型对FPGA仿真规划带来的优点,因而以为该仿真模型带来的仿真时刻增量是能够承受的。
4 完毕语
本文提出了面向对称多核体系结构的FPGA仿真模型,以及根据该模型的多核/众核、SIMD体系结构的履行形式。相对于软硬件联合仿真办法,该仿真模型削减了软硬件协同逻辑并避免了规划杂乱的软件划分算法。试验成果表明,面向对称多核体系结构的FPGA仿真模型能有效地削减仿真体系FPGA资源的需求,增大FPGA的仿真规划,而且其带来的仿真时刻增量是可承受的。但该仿真模型首要是面向对称体系结构,而不适用于异构多核体系等非对称结构。