




已阅读5页,还剩100页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
富锂材料LINIMNO的合成和性能改进研究摘要随着晶体管集成度的不断提高,在单个芯片上集成多个处理器核已经成为后摩尔时代的发展趋势。其中,对于给定应用系统的设计而言,针对其特点构建异构多核处理器比同构多核处理器具有更加优越的性能和更低的能耗。但是,由于异构多核处理器的模拟和实现非常复杂,设计更改的代价太大,因此面向特定应用的异构多核处理器的设计和模拟是当前面临的主要挑战。本文主要针对高性能低功耗和高可靠性的基于指令扩展的异构多核处理器设计进行分析与研究,并在此基础上提出一套从交易级到时钟精确的模拟器级再到寄存器传输级的异构多核处理器模拟和设计方案。围绕这一方案,本文主要做了如下三个方面的工作1)针对同构/异构多核处理器的模拟问题,本文提出了基于SYSTEMCOPENMP的交易级多核并行模拟方法,设计了时钟精确的多核模拟器TMPSIM(TSINGHUAMULTIPROCESSORSIMULATOR),可以实现均值为972兆指令每秒(MIPS)的指令模拟速度,与传统模拟器相比具有更高的模拟效率;同时,在模拟器的设计中采用全并行的结构和思路,使其具备更强的并行冲突检测能力。2)针对异构多核处理器的设计实现问题,本文提出了基于指令扩展的异构多核处理器的寄存器传输级设计方法,并以JPEG编码器应用为例实现了该异构多核处理器。DC综合结果表明,与同构多核处理器相比,采用该设计流程完成的异构多核处理器可以获得544倍的性能提升,并使能耗下降到同构多核结构的2254。3)为了充分利用设计裕量,进一步提升面向特定应用的异构多核处理器性能,本文提出基于软硬件协同利用设计裕量提升性能的“统计性最优”设计机制,充分利用异构多核处理器具有的软件和硬件资源来完成相应的容错。实验表明系统的统计执行速度能够提升33,并能容忍由于工艺、电压和温度缓慢变化导致的系统可靠性下降。关键词异构多核处理器;多核模拟器;指令扩展;软硬件协同;容错机制ABSTRACTWITHTHESCALINGOFTHESIZEOFTHETRANSISTOR,INTEGRATINGSEVERALCORESINTOASINGLECHIPHASBECOMETHETRENDFORTHE“MORETHANMOORE”ERAAMONGSUCHMULTICOREPROCESSORS,FORTHEDESIGNOFAPARTICULARAPPLICATION,HETEROGENEOUSMULTICOREHASHIGHERPERFORMANCEANDLOWERENERGYCOSTTHANHOMOGENEOUSONEHOWEVER,TAKINGTHECOMPLEXITYOFSIMULATION,MODIFICATIONANDDESIGNOFSUCHHETEROGENEOUSMULTICOREPROCESSORINTOCONSIDERATION,THESIMULATIONANDDESIGNOFSUCHHETEROGENEOUSMULTICOREPROCESSORISSTILLTHEMAINCHALLENGETOBEFACEDTODAYTHISTHESISFOCUSESONTHEANALYSISANDRESEARCHONTHEDESIGNOFTHEHIGHPERFORMANCE,LOWPOWERANDHIGHRELIABLEHETEROGENEOUSMULTICOREPROCESSORWITHTHEINSTRUCTIONSETEXTENSIONARCHITECTUREUPONSUCHBASIS,ASIMULATIONANDDESIGNFLOWFORSUCHHIGHPERFORMANCEANDLOWPOWERAPPLICATIONSPECIFICHETEROGENEOUSMULTICOREPROCESSORISPROPOSEDINTHISTHESISCONCENTRATINGONSUCHFLOWFROMTRANSACTIONLEVELTORTLLEVEL,THETHESISFOCUSESON3ASPECTS1TOBETTERSIMULATETHEMULTICOREPROCESSOR,ASIMULATIONFLOWISPROPOSEDINTHISPAPERATTRANSACTIONLEVEL,SUCHMETHODISBASEDONTHECOMBINATIONOFSYSTEMCANDOPENMPATCYCLEACCURATELEVEL,AFULLYPARALLELIZEDANDCYCLEACCURATEMULTICORESIMULATORNAMEDTMPSIMTSINGHUAMULTIPROCESSORSIMULATORISDEVELOPED,SUCHSIMULATOROBTAINSTHESIMULATIONSPEEDOF972MILLIONINSTRUCTIONSPERSECONDMIPS,ITHASBETTERSIMULATIONEFFICIENCYTHANTRADITIONALONESANDHASTHEABILITYTODETECTTHECONFLICTS2TOREALIZETHEDESIGNOFTHEHETEROGENEOUSMULTICOREPROCESSOR,RTLLEVELDESIGNMETHODOLOGYOFTHEHETEROGENEOUSMULTICOREPROCESSORBASEDONINSTRUCTIONSETEXTENSIONISPROPOSED,ANDJPEGENCODERISIMPLEMENTEDASTHECASESTUDYFORSUCHMETHODOLOGYTHERESULTSOBTAINEDBYTHEDESIGNCOMPILERSHOWTHATSUCHHETEROGENEOUSMULTICOREPROCESSORACHIEVES544XSPEEDUPTHANHOMOGENEOUSONESANDTHEENERGYCOSTCANBEREDUCEDTOONLY2254OFTHEHOMOGENEOUSONE3TOIMPROVETHEPERFORMANCEOFTHEHETEROGENEOUSMULTICOREPROCESSOR,A“BETTERTHANWORSTCASE”DESIGNSTRUCTUREISIMPLEMENTEDBASEDONTHESOFTWAREHARDWARECODESIGNTECHNOLOGY,SUCHARCHITECTUREMAKESFULLUSEOFTHEABUNDANTHARDWAREANDSOFTWARERESOURCEINHETEROGENEOUSMULTICOREPROCESSORTOIMPROVETHEPERFORMANCEOFTHEPROCESSOREXPERIMENTALRESULTSSHOWTHATSUCHSTRUCTUREIMPROVESTHERUNNINGSPEEDOFTHEMODULEBY33ANDITTOLERATESTHEVARIATIONOFPROCESS,VOLTAGEANDTEMPERATUREKEYWORDSHETEROGENEOUSMULTICOREPROCESSORMULTICORESIMULATORINSTRUCTIONSETEXTENSIONHARDWARESOFTWARECODESIGNFAULTTOLERANTARCHITECTURE目录第1章引言111论文研究背景112论文工作概述213论文创新点414论文各部分安排4第2章面向特定应用的异构多核处理器概述621本章引论622面向特定应用的异构多核处理器的特点和现状623面向特定应用的异构多核处理器设计的关键技术15231多核处理器模拟15232异构多核处理器实现方法18233异构多核处理器性能提升机制2124面向特定应用的异构多核处理器设计的量化与评价指标2425本章小结26第3章全并行多核处理器模拟器2731本章引论2732交易级多核处理器模拟2733时钟精确级多核处理器模拟29331时钟精确级多核模拟器设计方案(TMPSIM)29332模拟器模拟速度与并行冲突检测能力分析3634综合以上两种机制的系统级模拟方法43341系统级模拟方法43342多核架构实现H264解码器模拟效果4335本章小结48第4章异构多核处理器的寄存器传输级实现4941本章引论4942基于指令扩展的异构多核处理器实现49421寄存器传输级整体设计框架49422基本模块设计50423基于目录的高速缓存一致性机制55424适用于异构多核处理器的指令扩展机制5943JPEG编码器异构多核处理器架构的寄存器传输级实现6244本章小结68第5章提升异构多核处理器性能的软硬件协同容错机制6951本章引论6952工艺电压温度扰动导致的设计冗余6953基于软硬件协同的“统计性最优”设计机制71531数学模型分析72532简化模型模拟分析74533硬件实现机制7754该方案在图像变换中具体应用的FPGA实验结果和分析8055本章小结83第6章工作总结和后续工作8561研究总结8562后续工作85参考文献87致谢92声明93个人简历、在学期间发表的学术论文与研究成果94第1章引言11论文研究背景在数字系统设计领域,芯片的性能、功耗和可靠性一直是互相制约和折中的三个关键因素。图11描述了过去的二十多年来芯片的集成度、频率、功耗、性能、核数随工艺发展的变化趋势12(自上而下的五条拟合曲线依次是晶体管数目、性能、时钟频率、功耗和芯片集成内核的数目),从中可以看到,功耗随着频率的提升而提升。受限于功耗,处理器的时钟频率不能进一步提升,维持在4GHZ以下。年份集成晶体管数目图11集成度、频率、功耗、性能、核数随工艺发展的变化趋势,拷贝自1,1FNSPEDUFN(11)在这种背景下,通过挖掘算法并行性来提升处理器的性能已经成为主要趋势。利用AMDAHL定律来衡量多核处理器的性能3,如式(11)所示,其中,代表F算法可并行部分占的比例,代表处理器核的数目。根据这个公式可以得到,当N很大时,加速比与处理器核的数目近似成线性关系,所以对于并行度较高的程F序,采用多核处理器来并行执行可以有效提升算法的执行效率。而半导体工艺尺寸的缩小和晶体管集成度的提升也为这种多核处理器的设计提供了基础条件,目前已有多种多核处理器芯片问世,诸如现今通用计算机里所采用的英特尔多核处理器。根据处理器架构和指令集的异同,多核处理器又分为同构多核处理器和异构多核处理器。同构多核处理器的每个处理器内核的指令集和架构是完全相同的,而异构多核处理器的内核的架构或指令集是不同的。对于特定类型的算法输入,相对于同构多核处理器而言,异构多核处理器具有更快的处理速度和更低的能耗。文献45给出的异构多核处理器采用不同的内核配置如表11所示,实验表明组合使用表中的不同的内核构建异构多核处理器,比使用完全相同的内核(EV5或EV6)可以降低能耗最高达到37。商用的芯片如IBM的CELL处理器已经被广泛应用在PS3和各种高性能媒体处理设备上6,而目前多核处理器也向着CPUGPU这样的异构方向发展78。虽然异构多核处理器是目前多核处理器的发展趋势,但是,目前相关领域的研究还不很完善,缺乏系统级的成熟且有效的模拟和设计机制。表11异构多核处理器不同内核的配置参数PROCESSOREV5EV6EV6ISSUEWIDTH466ICACHE8KB,DM64KB,2WAY64KB,2WAYDCACHE8KB,DM64KB,2WAY64KB,2WAYBRANCHPRED2KGSHAEHYBRID2LEVELHYBRID2LEVELNUMBEROFMSHRS4816NUMBEROFTHREADS114AREAINMM251245299综上所述,面向特定应用的异构多核处理器设计是目前学术和工业界的研究热点,但是在该领域尚未形成统一的系统级设计方法。本论文的研究目标是探索和研究一种异构多核处理器的系统级设计方案,以获得面向特定应用算法的高性能低能耗的异构多核处理器。12论文工作概述本论文围绕面向特定应用的异构多核处理器的系统级设计展开研究,提出一套系统的设计方案,其整体方案如图12所示对于特定的算法输入,首先分析算法的并行性,通过交易级模拟来探索最优的并行方案。然后,基于模拟器进行时钟精确级的模拟,得到具体结构下精确的时钟开销,并找出消耗时钟周期数最多的热点函数。随后,进行寄存器传输级的实现,在寄存器传输级构建基于指令扩展的异构多核处理器。最后,利用设计冗余进一步提升异构多核处理器整体性能。算法输入交易级模拟时钟精确级模拟寄存器传输级实现性能优化分析算法并行性,探索最优并行方案分析精确时钟开销,找出热点函数硬件实现基于指令扩展的异构多核处理器充分利用设计冗余进一步提升整体性能完成系统级设计图12本论文提出的异构多核处理器的整体设计框架本论文主要围绕这一系统设计框架进行研究,主要工作分为三方面1多核处理器的系统级模拟考虑到多核处理器设计的复杂度,首先要解决的问题是在系统层次模拟和探索各种可行的并行方案,并通过快速验证和模拟并行方案来降低后续设计中修改方案所需的大量时间开销。本论文工作提出了交易级和时钟精确级的并行多核模拟方案,设计了完全并行的多核模拟器TMPSIM(TSINGHUAMULTIPROCESSORSIMULATOR),平均模拟速度达到972兆指令每秒(MIPSMILLIONINSTRUCTIONSPERSECOND),并具备并行访问冲突检测能力。2异构多核处理器的寄存器传输级设计异构多核处理器的寄存器传输级设计是在前面工作的基础上展开的,通过利用已经分析出的并行方案和算法模拟得到的热点函数给出基于指令集扩展的架构。寄存器传输级的仿真结果表明,与同构多核处理器相比该寄存器传输级设计得到的异构多核处理器执行同样的算法比同构多核处理器快544倍,所需的额外资源开销仅为同构多核处理器的2140。3利用设计冗余的高性能设计考虑到工艺、电压和温度的波动,集成电路设计中存在着很大的设计冗余。本论文主要提出软硬件协同的容错机制,通过容忍时序错误来使得设计尽可能降低这一裕量。FPGA验证表明,该容错架构可以在统计意义下提升性能达33。13论文创新点围绕上述异构多核处理器的系统级设计方案,本论文的主要创新点如下1在多核处理器的系统模拟方面,本文提出一种完全并行的交易级模拟和时钟精确级模拟方案,设计出完全并行的多核模拟器TMPSIM。利用SPLASH2基准测试程序测试表明,该模拟器有很快的模拟速度,平均模拟速度达到972兆指令每秒(MIPSMILLIONINSTRUCTIONSPERSECOND),超过目前主流的多核模拟器的模拟速度,并具备并行存储访问的冲突检测能力。2在异构多核处理器的寄存器传输级实现方面,本文提出一种基于功能函数级粗粒度指令扩展的异构机制。寄存器传输级的设计表明,该机制通过引入扩展指令所需的硬件加速单元和少量的共享寄存器堆来实现多核处理器的指令扩展,在仅需2140额外硬件资源开销的情况下获得544倍的性能提升。3在利用冗余提升异构多核处理器性能方面,本文提出基于软硬件协同的容错机制,为了充分利用时序的设计冗余,在提升时钟频率的情况下引入可能的时序错误,再通过软硬件协同的架构来容忍这类错误。通过调整不同的时钟频率,探索出综合考虑错误率和性能的最佳频率,达到统计意义下最大的性能提升。FPGA验证表明,该容错架构可以提升性能达33,在同样的错误率下效率高于主流的RAZOR架构。14论文各部分安排围绕着面向特定应用的异构多核处理器的系统级设计方案,本博士论文的主要内容如下第2章主要介绍面向特定应用的异构多核处理器设计的相关技术。首先介绍面向特定应用的异构多核处理器的特点和研究现状;随后综述这类设计所涉及到的关键技术,包括多核处理器的系统级模拟技术、异构多核处理器的具体硬件实现机制以及利用设计冗余提升异构多核处理器性能的相关技术。第3章主要介绍交易级和时钟精确级的多核处理器的系统级模拟方案。分别给出交易级和时钟精确级模拟的机制,并以H264视频解码为例说明这一机制的优势。同时,在时钟精确级,设计了完全并行的多核模拟器TMPSIM(TSINGHUAMULTIPROCESSORSIMULATOR),通过采用完全并行的机制,在具备检测并行冲突能力的同时可以得到972兆指令每秒(MIPSMILLIONINSTRUCTIONSPERSECOND)的平均指令模拟速度,为异构多核处理器的并行方案的快速模拟和仿真提供了工具。第4章主要介绍并给出了寄存器传输级的异构多核处理器的设计方法,在得到并行方案和模拟器模拟出的热点函数之后,利用指令扩展实现具体的硬件架构,以JPEG编码为例在寄存器传输级设计实现了异构双核处理器,给出了实验仿真和DC综合结果与分析。第5章主要介绍提升异构多核处理器性能的软硬件协同容错机制,通过利用设计冗余来提升系统的整体性能,给出了软硬件协同容错机制的结构,并使用FPGA实现了这一具体的架构,以图像变换为例给出FPGA实验结果和数据分析。第6章总结本文的主要工作,对异构多核处理器的发展提出展望,并给出了后续可以继续从事的相关研究工作。第2章面向特定应用的异构多核处理器概述21本章引论本章主要介绍面向特定应用的异构多核处理器设计的相关技术。首先介绍面向特定应用的异构多核处理器的特点和研究现状;随后综述这类面向特定应用的异构多核处理器设计所涉及到的主要关键技术,包括多核处理器的系统级模拟技术,异构多核处理器的具体硬件实现机制以及利用设计冗余进一步提升异构多核处理器性能的相关技术。22面向特定应用的异构多核处理器的特点和现状对于特定应用而言,异构多核处理器比同构多核处理器具有更高的性能,相对同构多核处理器而言,异构多核处理器将每个处理器内核的架构进行优化使得并行到多核上面的任务具有更高的执行效率。主要表现在针对特定应用可以获得快的执行速度和低的能耗,同时具备多核处理器所具有的软件可编程的灵活性。计算机量化分析领域著名的AMDAHL定律,可以对多核处理器的性能进行量化分析3。该定律如式(21)所示,其中,代表算法并行部分所占的比例,F代表并行处理的内核数目,根据这一公式,当并行部分所占比例越大处理器NF数目也越大时,多核处理器会有很高的加速比。,1FNSPEDUFN(21)对每个核进行描述,将其抽象成具有若干个基本运算单元的模块,如图21所示8。其中,(A)表示基本的运算单元,(B)表示同构多核处理器的架构,(C)表示异构多核处理器的架构。根据英特尔公司报告总结出的逻辑资源与性能之间的ABC图21(A)基本运算单元(B)同构多核处理器架构(C)异构多核处理器架构,重绘自9数值统计分析,对于一个含有个基本运算单元的处理器而言,其性能近似满足R式(22)的关系10PEFOMANCER(22)对于图21中所示的抽象模型,假设总共有个基本运算单元,对于(B)M中所示的同构多核处理器而言,每个内核有个基本运算单元,对于C中所示的异构多核处理器而言,异构的内核有个基本运算单元,其他的内核都只有一个R基本运算单元。结合式(21)和式(22)可以得到同构多核处理器和异构多核处理器的加速比分别如下(其中,同构多核处理器的性能如式(23)所示,异构多核处理器的性能如式(24)所示)1SPEDUFFMRR同(23)1SPEDUFFRR同(24)每个内核的基本运算单元数目多核加速比同构多核处理器性能图22同构多核处理器加速比(曲线绘制基于式23)每个内核的基本运算单元数目多核加速比异构多核处理器性能图23异构多核处理器加速比(曲线绘制基于式24)设定总共的基本运算单元数目为256,基于式(23)和式(24)得到对应的曲线(如图22和图23所示),其中横坐标代表每个内核的基本运算单元数目,纵坐标代表相应的多核加速比,不同的曲线代表不同的并行部分比例下的加速F比。从这些曲线可以看到,在总资源开销相同的情况下(256个基本运算单元)异构多核处理器在很大范围内都具有比同构多核处理器更高的加速比。对于能耗而言,同样基于AMDAHL定律将各类多核处理器建模11,如图24所示,其中,P代表主流的高性能超标量通用处理器内核,C代表功耗效率高的小规模处理器内核。图24(A)表示基于复杂内核的同构多核处理器架构,图24(B)代表基于简单内核的同构多核处理器架构,图24(C)代表基于复杂内核和简单内核的异构多核处理器架构。对于基于复杂内核的同构多核处理器架构而言,将每个内核的性能设定为1,则根据AMDAHL定律整个多核处理器的性能如式(25)所示,其中,代表F程序中并行部分所占的比例。针对这类多核处理器进行功耗的建模,引入参量代表每个复杂处理器内核空闲状态的功耗(),同时,每个复杂处理K01K器内核在正常工作时候的功耗设定为1。基于上述假设,这类同构多核处理器串行执行时只有一个复杂处理器内核在正常工作,其他的处理器内核处于空闲状态,所以,该类同构多核处理器串行程序执行时的总功耗为。同理,并行部分程1NK序执行时的总功耗为。就时间而言,的时间用于串行部分的代码执行,NF的时间用于并行部分的代码执行,所以总的平均功耗如式26所示。基于/FN式(25)和式(26),可以得到性能/功耗如式(27),将性能除以功耗,代表单位功耗下的性能提升,由于性能是执行时间的倒数,所以,也得到性能/能耗如式(28),代表单位能耗下的性能提升。PPPPPPPPPPPPPPPPCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPA同构多核处理器(复杂内核)B同构多核处理器(简单内核)C异构多核处理器图24用于功耗分析的多核抽象模型自左向右(A)同构多核处理器(复杂内核)模型(B)同构多核处理器(简单内核)模型(C)异构多核处理器模型,重绘自111PERFFN(25)111FFKWFNNF(26)111FPERFNFWKNKF(27)1PERFFJNKF(28)对于基于简单内核的同构多核处理器而言,为了描述其性能,引入参数,CS代表以复杂处理器内核性能作为1来归一化的单核的性能(),基于01CAMDAHL定律可以得到其性能如式(29)。为定义这类同构多核处理器的功耗,引入了另外两个参数和,其中,代表简单内核以复杂内核功耗为1来归一CWKC化的正常工作时的功耗(),代表每个简单内核空闲时的功耗相对0C正常工作的功耗的比例。当程序串行部分执行时,正常工作的简单内1C核的功耗为,其他的空闲的内核的功耗为。当程序并行部分执行C1CNWK时,所有内核的功耗为。就时间而言,的时间用于串行部分程序CN/FS的执行,的时间用于并行部分程序的执行,总的平均功耗如式(210)/CFS所示。基于式(29)和式(210),可以得到性能/功耗如式(211),将性能除以功耗,代表单位功耗下的性能提升,由于性能是执行时间的倒数,所以,也得到性能/能耗如式(212),代表单位能耗下的性能提升。1CSPERFFN(29)11FFWCCKWCSSFSNNF(210)1PERFSCWNKF(211)11CSERFSCFJNWF(212)对于基于复杂处理器核和简单处理器核构建的异构多核处理器而言,采用前面的参数,根据AMDAHL定律可以得到其性能如式(213)(这里设定在执行并行程序时所有程序都在并行的简单内核上执行而复杂内核处于空闲状态)。对于这类多核处理器的功耗分析,当程序的串行部分执行时,复杂内核的功耗为1,而简单内核都处于空闲状态,所以依据前面的分析得到简单内核上的总功耗为。当程序的并行部分执行时,复杂内核的功耗为空闲时的功耗,而1CNWKK简单内核的总功耗为。因为执行串行部分的时间为,执行并行部1CNW1F分的时间为,所以总的平均功耗如式(214)所示基于式(213)/FS和式(214),可以得到性能/功耗如式(215),将性能除以功耗,代表单位功耗下的性能提升,由于性能是执行时间的倒数,所以,也得到性能/能耗如式(216),代表单位能耗下的性能提升。1CSPERFFN(213)111FKFNWCKWCSNWF(214)111PERFFKFNCKCSN(215)1111PERFFJFNSCFKFWKWCN(216)基于上面的功耗模型来选取相应的参数进行模拟,对于功耗计算而言,数字系统的主要功耗是由动态功耗决定的,即使随着工艺的不断缩小动态功耗依旧占有很大比例,动态功耗计算公式如式(217)所示12。当一条原来的数据通路被并行成条数据通路时,每条数据通路的时钟频率可以降低到原来的,而工N1/N作电压也近似线性变为原来的,总的电容近似变为原来的倍,使得总的1/N功耗下降为原来的。而当数据通路并行为条时,性能会提升倍,所2/以前面的与之间存在平方关系。基于这一关系并考虑到实际的情况,取CKW为03,为025,为05,取为02。为了比较的合理性,以归一化的KCSCK芯片总功耗作为自变量来衡量能耗效率,对于基于复杂内核的同构多核处BUDGET理器而言,内核数目等于这一数值(每个内核的功耗为1),对于基于简单内核的同构多核处器理而言,内核数目等于(每个内核的功耗为),对于/BUDGETCWCW基于简单内核和复杂内核的异构多核处理器而言,内核数目等于(复杂内核的功耗为1,简单内核的功耗为),将这些内11/BUDGETCWC核数目带入到能耗效率公式中,得到的能耗效率曲线如图25和图26所示,其中,图25代表为03时的能耗效率对比曲线,图26代表为09时的能耗效FF率对比曲线,横坐标代表芯片的总功耗,纵坐标代表归一化的能耗效率。通过这两张图可以看到,总体而言,简单同构多核处理器的能耗效率是最低的,其次是复杂同构多核处理器,能耗效率最高的是异构多核处理器,尤其在并行度比较高的情况下(如图26所示的的情况),异构多核处理器的能耗效率高的优09F势会更加明显。归一化的芯片共功耗能耗效率10203040506000204060811214单单单单单单单单单单单单单单图25时的能耗效率分析,重绘自11F归一化的芯片共功耗能耗效率10203040506012345678910单单单单单单单单单单单单单单图26时的能耗效率分析,重绘自119F通过上述理论和模型的分析可以看到,不论是性能还是能耗效率,异构多核处理器都优于其他类型的多核处理器。在实际设计中,对于性能要求比较高的一些应用,诸如对实时性要求很高的媒体处理程序,受限于这类算法的并行度,传统的多核处理器不能获得很高的加速比;而考虑到媒体处理算法标准的更新和性能扩展,专用芯片设计又不能满足媒体处理对这种灵活性的要求。在这种情况下,异构多核处理器显示出了它对这类特定应用的优势,一方面,它通过针对特定应2DYNAMICEFDPCVF(217)用的处理器体系结构的调整提升这类应用的处理速度;另一方面,它依旧属于多核处理器,可以通过更改软件代码来方便实现不同标准的程序执行。国际固态电路会议ISSCC2010给出的典型的媒体处理的异构多核处理器结构如图27所示13,该异构多核处理器包括基于探听的一致性控制单元(SNC)、视频处理单元(VPU)、音频处理单元(SPU)和数据传输单元(DTU)等不同的处理内核,通过片上系统总线将它们连接在一起构建整个媒体处理芯片,可以实现373千兆操作每秒每瓦特(GOPS/WGIGAOPERATIONSPERSECOND/WATT)的处理效率,远高于同一届会议推出的同构多核处理器(197千兆操作每秒每瓦特)14。CPUFPUDTUICACHECRUDCACHEILMURAMDLMSNCL2CCLUSTER片上系统总线VPUSPUL2CL2CACHEILM指令局部存储单元SNC基于监听的一致性控制模块DLM数据局部存储单元VPU视频处理单元URAM用户存储单元SPU音频处理单元FPU浮点运算单元CRUCACHERAM控制模块DTU数据传输单元图27典型异构多核处理器的架构,拷贝自13根据处理器架构或者指令集的异同,异构多核处理器主要分为三类第一类异构多核处理器采用相同的指令集但不同的处理器架构,典型架构如第一章中的表11所示45。在这种异构多核处理器中,采用EV5、EV6和EV6三种不同的处理器架构来构建多核处理器,它们使用相同的指令集,但是采用不同的发射窗宽度、高速缓存大小和预测策略。仿真表明与同构多核处理器相比该架构可以降低能耗达39,这种相同指令集不同处理器架构的异构多核处理器优点是易于集成,因为可直接购买使用同一系列的不同结构芯片,而且由于指令集完全一样所以编译器是完全相同的,缺点是相对同构多核处理器的性能提升受限。第二类异构多核处理器采用不同的指令集和不同的处理器结构。典型的例子如IBM的CELL处理器,它们具有主处理器核(PPEPOWERPROCESSORELEMENT)和辅助处理器核(SPESYNERGISTICPROCESSORELEMENT)两种不同的处理器结构,其中主处理器核是通用处理器架构而辅助处理器核是流处理器架构6。目前已经广泛使用的主流的CPUGPU架构(如AMD公司的FUSION和NVIDIA公司的TESLA)也属于本类异构多核处理器,在大规模数据并行计算方面能大幅提升性能,如脑科学模拟领域的相关计算可以得到上百倍的速度提升78。相对同构多核处理器而言,这种类型的异构多核处理器对数据处理并行度高的应用可以获得较高的加速比,但是它们的开发需要集成的支持融合CPU和GPU两种相应编译工具的设计环境,设计复杂,不利于面向特定应用的一些算法的执行。第三类异构多核处理器采用相似的处理器架构,但使用不同的指令集。这种架构经常采用可配置的处理器作为处理器内核,并采用可扩展的指令集来满足各种处理器架构修改的需求1516。采用针对特定应用的指令扩展,该架构可以得到很高的加速比。这一类型的异构多核处理器易于设计,但是处理器需要可配置而且指令集需要可扩展。综上所述,各种异构多核处理器的性能对比如表21所示表21异构多核处理器性能对比异构多核处理器结构优势劣势相同指令集不同处理器结构易于开发,利用已有处理器性能提升受限不同指令集不同处理器结构数据并行度高的应用的性能提升较大系统集成复杂,不适于面向特定应用可扩展指令集可配置处理器易于配置处理器架构易于扩展指令集处理器需要设置足够的可配置接口23面向特定应用的异构多核处理器设计的关键技术本部分主要介绍面向特定应用的异构多核处理器设计所涉及到的关键技术,主要内容分为三个方面,首先是多核处理器的系统级模拟方法,其次是异构多核处理器的异构实现机制,最后是利用异构多核处理器资源提升性能的机制。231多核处理器模拟作为一类结构复杂的数字系统,多核处理器的系统级模拟是多核处理器设计的第一步,用来快速验证和评估各种多核上的任务并行方案。多核处理器的系统级模拟分为两个递进的层次,一个是时钟近似级,一个是时钟精确级。在时钟近似级,基于SYSTEMC的交易级模拟方案(TLMTRANSACTIONLEVELMODELING)是数字系统设计的主流方法,喻为数字系统设计的“金工具”。这种机制集软件设计语言与硬件描述语言于一身,如图28所示,在寄存器传输级(RTL级)的模拟,采用时钟和管脚精确的模拟,设计复杂,模拟时间长,而对于交易级模拟而言,所有模型都是基于SYSTEMC的模型,诸如读写操作只需要用一个SYSTEMC的函数来表述,后者的仿真速度是前者的100倍以上17。同时,交易级模拟充分利用C面向对象的软件编程机制和基于WAIT的高效的硬件时序描述机制,适合于各种软硬件协同设计的应用的开发。与其他主流的模拟方案相比,基于SYSTEMC的交易级模拟的使用范围如图29所示18,可见其应用范围从上到下覆盖面很广。对于多核处理器而言,对于不同的任务的并行机制,通过SYSTEMC来建模可以快速得到其性能的加速比,但是目前的基于SYSTEMC的多核处理器的模拟都是串行的,不具备并行模拟的特点,不能有效衡量实际执行的效果是否合理。RTLPINACURATECYLERTLTRANSCTIOLEVLFUAFUNCTIOALMDELFUNCTIOALMDELWRITEADRS,AT图28事务级模拟方案与寄存器传输级硬件描述方案的对比在时钟精确级,主要通过多核模拟器来完成时钟精确的模拟。根据多核处理器的类型,多核模拟器分为两种,一种是基于片上网络的多核处理器的模拟器,一种是基于总线架构的多核处理器的模拟器。对于第一种基于片上网络架构的多核处理器的模拟而言,目前已有多款模拟器,诸如NOXIM,NIRGAM和GRAPHITE1921。基于AMDAHL定律,多核处理器的性能受限于串行部分所占的比率,随着内核数目的增大而加速比的变化趋于平缓,同时,由于基于包交换的数据传输需要通信和一致性的时间开销,由于网络路由存在时间的不确定性,使得对于很多实时性要求比较高的应用,采用基于片上网络的互连结构不合适。诸如H264编解码算法这类应用,受限于串行部分所占的比例,使得他们的加速比低于42223,同时,它们的实时性要求数据传输不能存在延时不确定性,使得基于片上网络的架构的多核处理器不适合该类型应用。本论文主要针对另外一种多核处理器,即基于总线架构的多核处理器,这一类型的多核处理器也是目前主流多核处理器的架构,如英特尔的商用四核处理器CORE2QUAD24。由于算法并行度的限制,目前大多数的商用片上系统芯片中的处理器内核之间的连接也是基于总线的。图29不同的系需求分析架构分析软硬件划分行为级模拟功能级验证测试程序晶体管级仿真VERILOGVHDLSYSTEMVERILOGVERASUGARJEDASYSTEMCMATLABRTL级模拟门级仿真统设计工具的使用范围对比,拷贝自18对于第二种基于总线的多核处理器的模拟器,又根据其模拟方式分为执行驱动和追踪驱动两种。追踪驱动是一种快速模拟指令执行的模拟方法,输入特定的指令流和数据流,通过对流中的每条指令和数据的解析,直接输出相应的时序和输出信息。诸如MIU处理器的指令集模拟器模型25,如图210所示,使用一个SYSTEMC的进程来模拟指令的执行,对于指令流中的每条指令,通过右侧的几个函数顺序执行来模拟,这种追踪驱动的模拟具有很快的模拟速度,但是不能精确反映出每个处理器部件的执行情况。执行驱动的处理器模拟器的经典例子是SIMPLESCALAR26,具体结构如图211所示,这种执行驱动的模拟器可以精确地为处理器的每个部件建模,然后根据实际的程序执行情况对每个模块进行相应的操作,VOIDPROCESSVOIDWHILETRUEIFSYNCWAITFUNCTIONCALLSC_THREADDECODEREG_READEXECUTIONMEM_READMEM_WBREG_WRITEPC_UPDATETOPMODULEMIU_PROC图210追踪驱动的处理器模拟器架构示例,拷贝自25图211执行驱动的处理器模拟器架构示例SIMPLESCALAR,重绘自26统计时序和输出信息。诸如TURBOSMART,SIMPOINT,GEM5,ZESTO等主流的多核模拟器也属于这一类型2728,它们与追踪驱动的模拟器相比具有更精确的模拟能力,但是速度比较慢,而且它们属于纯串行的模拟,即没有采用完全并行的多核模拟机制,不是将多核上的任务并行地去模拟,而是采用循环模拟的方式对各个核的任务依次模拟,所以它们对并行的冲突检测能力有限。本论文重点研究并设计执行驱动的基于总线的多核模拟器,目前这种类似的多核模拟器很多,表22示出了目前主流的一些多核模拟器的性能(MIPS代表兆指令每秒,KIPS代表千指令每秒)。其中,SIMICS模拟器是VIRTUTECH公司开发的一款商用多核模拟器,它属于全系统模拟,虽然模拟速度比较快,但是不能对处理器的体系结构进行精确的模拟29。GEMSM5是学术界知名的多核模拟器,它的模拟粒度比较细,尤其对于互连部分,它是一种串行模拟器,模拟速度比较慢3031。MPSIM20是一款基于SIMPLESCALAR20的多核模拟器,模拟速度比较快,但是它属于串行模拟,并且由于是基于SIMPLESCALAR20,对指令集的支持受限,不能模拟比较复杂的程序,诸如视频处理程序32。MCSIM模拟器是加州大学洛杉矶分校提出的一款多核模拟器,支持多种通信机制,但是模拟速度受限,在64个核情况下只有32千指令每秒的处理速度33。MPARM是一款基于简化的ARM模型处理器的多核模拟器,它支持ARM上的各种协处理器的模拟,但是它的每个内核比较简单,并且模拟速度不快,只有6080千指令每秒34。SESC是伊力诺依香槟分校开发的一款多核模拟器,它模拟速度比较快,达到15兆指令每秒,但是它只能针对特定类型的处理器的模拟35。MARSS是纽约州立大学提出的一款多核模拟器,支持扩展MMX/SSE指令集,模拟精度比较高,达到偏差低于3,但是模拟速度很慢,只有20千指令每秒,并且只能针对X86指令集的模拟36。ZESTO是佐治亚理工大学开发的一款多核模拟器,也是只能针对X86指令集的模拟,它有丰富的存储和自定义模块,误差比较小,在46之间,但是模拟速度只有100200千指令每秒37。SIMOSGOODSON是中科院计算所开发的只针对龙芯多核处理器的模拟器,受限于特定结构,模拟速度为300千指令每秒,模拟偏差在5左右38。综合表22所示的这些多核模拟器,可以得到,它们各自有自己的特点,但是就整体而言,模拟速度都不够快;同时,对于基于总线架构的多核处理器的模拟而言,没有真正并行的模拟方案去检测相应的并行冲突,使得某些存在冲突的算法执行出来的结果是错误的,对于输入的并行算法要求比较严格。232异构多核处理器实现方法正如22部分对异构多核处理器研究现状的介绍,异构多核处理器分为三类第一类是相同指令集不同处理器架构的异构多核处理器,第二类是不同指令集不同处理器架构的异构多核处理器,第三类是可配置处理器内核和可扩展指令集的异构多核处理器。基于这三类不同的架构,异构多核处理器的异构实现机制也分为这三种。对于相同指令集不同处理器架构的异构方式而言,通过直接选取同一系列的不同类型的处理器内核来构建这种多核处理器。在处理器架构领域的会议MICRO03上给出了这一类型异构多核处理器的例子4,基于ALHPA指令集和ALPHA的不同架构的处理器构建异构多核处理器,其中不同的内核的参数配置如第一章中的表11所示,ISSUEWIDTH代表发射窗宽度,ICACHE和DCACHE分别代表指令和数据高速缓存,BRANCHPRED(BRANCHPREDICTOR)代表分支预测算法,MSHRS(MISSSTATUSHOLDINGREGISTERS)代表缺失状态寄存器组。基于不同的参数设定选取相应的处理器内核,EV4代表ALPHA21064处理器,EV5代表ALPHA21164处理器,EV6代表ALPHA21264处理器,EV8代表ALPHA21464处理器。文章对于SPEC的14个测试程序进行模拟,结果表明,通过选取最合理的处理器的组合,可以实现整体的能耗下降39,这种异构方式性能提升受限。表22已有的各种总线架构多核模拟器性能对比结构名称优点缺点模拟速度模拟精度SIMICS系统模拟串行模拟不适于体系结构模拟峰值模拟速度为93MIPSGMESM5粒度细串行模拟130KIPS12MPSIM20速度快串行模拟,指令支持受限57MIPS10MCSIM支持多种通信机制串行模拟32KIPS64CORE7MPARM支持协处理器串行模拟内核简单6080KIPSSESC特定体系结构模拟串行模拟15MIPS27MARSS扩展MMX、SSE指令集只针对X86指令集20KIPS0LDLOADDOUBLEPRECISIONFPDIVUINTEGERDIVIDEUNSIGNEDBLTZBRANCH0SBUSTOREBYTEUNSIGNEDORLOGICALORBCTBRANCHFCCTRUESHSTOREHALFSHORTXORLOGICALXORBCFBRANCHFCCFALSESHUSTOREHALFSHORTUNSIGNEDNORLOGICALNORSWSTOREWORDSLLSHIFTLEFTLOGICALDSWSTOREDOUBLEWORDSRLSHIFTRIGHTLOGICALSSSTORESINGLEPRECISIONFPSLTSETLESSTHANSDSTOREDOUBLEPRECISIONFPSLTUSETLESSTHANUNSIGNED表32模拟器支持的基本指令(二)浮点运算指令(基本)浮点运算指令(复杂)系统调用指令ADDSSINGLEPRECISIONADDABSSSINGLEPRECESIONABSOLUTEVALUENOPNOOPERATIONADDDDOUBLEPRECISIONADDABSSDOUBLEPRECESIONABSOLUTEVALUESYSCALSYSTEMCALLSUBSSINGLEPRECISIONSUBTRACTNEGSSINGLEPRECISIONNEGATIONBREAKDECLAREERRORSUBDDOUBLEPRECISIONSUBTRACTNEGDDOUBLEPRECISIONNEGATIONMULTSSINGLEPRECISIONMULTIPLYSQRTSSINGLEPRECISIONSQUAREROOTMULTDDOUBLEPRECISIONMULTIPLYSQRTDDOUBLEPRECISIONSQUAREROOTDIVSSINGLEPRECISIONDIVIDECVTINTEGER,SINGLE,DOUBLECONVERSIONDIVDDOUBLEPRECISIONDIVIDECSSINGLEPRECISIONCOMPARECDDOUBLEPRECISIONCOMPARE4指令执行,以同样的加法为例,执行的定义如下1/ADD指令执行函数/2DEFINEADD_IMPL34SET_GPRRD,GPRRAGPRRB5基于执行函数,可以得到相应的执行结果,同样,对其他指令也通过宏定义的方式定义其执行函数。在指令执行的同时,根据指令定义模板中所调用的执行单元,更新相应的执行单元的统计信息,如这里的加法操作,使用了整数算术逻辑运算单元,所以,相应的整数算术逻辑运算单元的加法操作执行了一次,更新相应的输出结果寄存器及整数算术逻辑单元的调用次数。同时,根据资源池(RESOURCEPOOL)中对这一功能单元的定义,对于整数算术运算部分的参数定义如下所示1/主程序中资源池配置部分对各功能单元的定义/2STRUCTRES_DESCFU_CONFIG345“INTEGERALU“,64,70,89INTALU,1,11011,1213从中可以看到,模拟器中配置的整数算术逻辑运算单元的数目是4,同时,时钟延迟为1,即经过一个时钟周期就可以得到输出结果。基于这一定义,在指令执行时会以此进行时钟精确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育婴师安全意识考试试题及答案
- 系统规划与管理师考试的资料准备与学习推进策略试题及答案
- 系统规划与管理师考试中知识巩固的有效策略试题及答案
- 牛排品牌测试题及答案
- 心态技能测试题及答案
- 科普2025乡村全科执业医师考试知识试题及答案
- 药剂类考试独特策略试题及答案
- 莆田初三竞赛试题及答案
- 统计学最难试题及答案
- 卫生管理专业分析的证书考试试题及答案
- 《孙权劝学》历年中考文言文阅读试题40篇(含答案与翻译)(截至2024年)
- 全国飞盘运动竞赛规则(试行)
- 新型可瓷化膨胀防火涂料的制备及性能研究
- DB11-T 367-2021 地下室防水技术规程
- 《机械设计课程设计》课程标准
- 2025年贵州高速集团有限公司招聘笔试参考题库含答案解析
- 2025版融资租赁合同履行监管服务合同3篇
- 肺结核防治知识培训课件
- 《基于作业成本法的S公司物流成本分析研究》8300字(论文)
- 浙江省温州市重点中学2025届高三二诊模拟考试英语试卷含解析
- DB37T 4516-2022 高速公路边坡光伏发电工程技术规范
评论
0/150
提交评论