多核微处理器体系结构级功耗模型分析

2019-08-13 03:17陈卓刘畅侯申郭阳
关键词:体系结构模拟器功耗

陈卓,刘畅,侯申,郭阳

(1.陆军研究院作战保障研究所,无锡江苏,214000;2.湖南大学信息科学与工程学院,湖南长沙,410083;3.信息工程大学基础系,河南洛阳,471003;4.国防科技大学计算机学院,湖南长沙,410083)

随着集成电路发展到深亚微米及纳米工艺后,单片芯片上集成的晶体管数目可达几十亿个,使得高性能微处理器进入超大存储容量、众多高速IO 接口的多核心时代,新型体系结构不断出现,处理能力大大提升[1-3]。高性能微处理器的性能与集成度在按照摩尔定律高速发展时,“功耗墙”成为棘手的问题[4-7]。现代的通用处理器功耗峰值已经高达上百瓦,例如,Alpha 21364 功耗为100 W,AMD Opteron 功耗为90 W,Intel Itanium 2 功耗超过100 W,能效比成为微处理器的重要设计指标[8-10]。低功耗设计已成为微处理器设计的关键,而精确的功耗评估是进行低功耗设计的基础[11-12]。一方面,由于微处理器主频和规模的大幅提升以及集成电路工艺向纳米级发展,微处理器的设计复杂度大大提升,设计周期大大增加[13-14],所以,迫切需要在设计的各个阶段就能精确评估功耗,尽早确定能满足目标体系结构、性能指标要求的工艺,从而达到缩短设计周期的目的。另一方面,微处理器的功耗与芯片的体系结构、主频、规模、工艺等因素密切相关[15],在设计的各个阶段(特别是设计的早期阶段)进行较为精确的功耗评估变得十分困难,因此,如何根据功耗评估结果来确定工艺需求是CPU(中央处理器,central processing unit)工程实现的重要前提,在设计的开始阶段就能确定工艺需求,对CPU 的成功研制将起到事半功倍的效果。许多学者对高性能微处理器在体系结构、低功耗设计与评估、新工艺等方面展开了大量的分析与研究,取得了许多研究成果。LIU等[13]通过参数化RTL(寄存器转换级电路,register transfer level)和物理反标的方法对处理器的基本单元进行建模分析,针对门级网表对处理器进行模拟功耗研究。HUANG等[16]则是将电路级参数封装在模型内部,通过体系结构属性和特征尺寸来估算电容,从而进行功耗分析建模。以往的这些研究主要注重低功耗设计在RTL 和电路级的功耗评估,缺少对多核心处理器、体系结构层次性能、功耗、工艺等进行综合模拟的研究[17-20]。本文作者采用FT-SHSim模拟工具对主流的微处理器核心模型SMT 和MSS 建模,在体系结构级对功耗和工艺进行综合评估的模拟实验,得到不同微处理器结构的工艺需求和不同工艺下可以实现的处理器性能及规模,使得微处理器设计的早期阶段就能够考虑工艺需求,从而实现提高设计质量、缩短设计周期、加快设计收敛的目的。

1 体系结构级工艺模拟器FT-SHSim

1.1 FT-SHSim结构与工作原理

FT-SHSim 工艺模拟器的结构如图1所示。该模拟器通过XML(可扩展标记语言,extensible markup language)的接口与性能模拟器交互,使用XML 解释器解释处理XML 接口文件。接口文件中可以指定静态的微体系结构参数,也可以传递由性能模拟器产生的动态行为统计结果的参数。模拟器还可以基于XML 的接口实时返回运行功耗结果给性能模拟器,使得性能模拟器可以获得功耗甚至温度,并且该模拟器提供体系结构和工艺级的完整层次化模型。XML接口还可以包含电路实现风格以及工艺参数。

模拟器的核心组件包括:1) 层次化功耗、面积和时序模型;2)决定电路级实现的优化器;3)用于分析功耗、面积和时序的内部芯片的表示。大部分内部芯片表示的参数(如高速缓冲存储器(Cache)容量、核发射宽度)是直接通过输入参数设定的。模拟器的层次化结构能够完成基于器件工艺在低层次建模,而体系结构设计师只需要关注高层次体系结构配置。电路级优化器关注2 种主要的规则结构:互连和阵列。例如,通过指定片上互连的频率、等分带宽或者Cache块的容量、相联度、数量,工具自动确定实现细节,如金属层的选择、互连信号线的间距或者Cache块字线、位线的长度。

图1 FT-SHSim体系结构级工艺模拟器结构图Fig.1 Simulator structure of FT-SHSim architecture level process

模拟器的工作流程分为2个阶段:初始化阶段和计算阶段。在初始化阶段,需要指定静态配置,包括体系结构、电路以及工艺所有3个层次的参数。体系结构参数包括核的数量、路由器的数量、共享末级Cache的参数、核发射宽度、乱序(OoO,out of order)重命名策略、OoO 调度策略、硬件线程数量等。电路级参数指定电路实现技术,如执行某一个阵列用基于触发器的单元实现还是基于SRAM(静态随机存取存储器,static random-access memory)的单元实现、片上路由器是否使用双泵(double-pumped)交叉开关等。工艺级参数包括器件类型和互连,器件类型包括高 性 能(HP,high performance)、低standby 电 源(LSTP,low standby power)、低操作电源(LOP,low operation power)。静态配置还包括一些优化选项,例如最大面积偏差、最大功耗偏差和优化函数。所有的静态配置设置完毕后,模拟器开始进行初始化阶段。

初始化阶段完成后得到按照用户配置要求的微处理器芯片的一个描述,然后模拟器开始功耗计算阶段。模拟器在精确的功耗和面积建模基础上,对每一个处理器部件优化电路级结构以满足时序约束,然后判断该部件的功耗和面积是否在最佳值允许的偏差范围内。在所有满足功耗和面积最佳范围的配置中,模拟器采用1个优化函数报告最终的功耗和面积。

1.2 模拟器功耗模型分析

CMOS电路的功耗主要由3个部分组成:动态功耗、短路电流功耗和漏流功耗,即

式(1)中右边第1项为动态功耗,表征消耗在电路切换状态时对负载电容充电和放电,其中C为总的负载电容,Vdd为电源电压,ΔV为电源切换时的摆幅,fclk为时钟频率;Ishortcircuit为短路电流,Ileakage为漏流。C取决于每一个IC 组件的电路设计和版图,模拟器对于规则结构(如存储阵列和连线)采用分析模型计算负载电容,对于随即逻辑结构(如ALU(算术逻辑部件运算器,arithmetic logical unit))采用经验模型计算负载电容。活动性因子α表示在1个时钟周期内被充电的电容占总电容的比例。模拟器从体系结构模拟以及电路属性得到的访问统计信息来计算活动性因子α。

式(1)中右边第2项为短路电流功耗,为CMOS电路中上拉器件和下拉器件在短时间内导通的消耗,它通常占总动态功耗的10%左右。电路在切换时,产生动态功耗和短路电流功耗。电路的固有属性决定了短路电流功耗在动态功耗中所占的比例,该比例是Vdd与Vth比例的强函数。

式(1)中右边第3项为静态功耗,为电路中晶体管上的漏流所消耗。漏流取决于晶体管的宽度和器件的局部状态。存在2种漏流:亚阈漏流和栅漏流。亚阈漏流是关断状态下的晶体管存在从源到漏极的小电流。栅漏流是通过晶体管栅级泄露的电流,随器件状态的变化而变化。为了对电路模块中的多个晶体管进行建模,需要考虑每一个晶体管的逻辑状态,再把每一个静态管的漏流相加。假设1个电路处于一种逻辑状态s,所有消耗亚阈漏流的晶体管有效宽度表示为Wsub(s);类似地,打开和关断的晶体管栅漏流有效宽度表示为Wgon(s)和Wgoff(s)。设电路处于状态s的概率为Pr(s),所有可能状态下的总漏流可以用下式表示:

在模拟器中,计算每一个基本电路块不同状态下的漏流。即使在同一个状态同一个电路块中,亚阈漏流和栅漏流也具有不同的漏流路径。器件打开时的栅漏流也与关断时的栅漏流有很大不同。由于关断状态栅漏流远小于打开状态下的栅漏流,因此,模拟器忽略关断状态下的栅漏流。

2 模拟模型的建立

2.1 SMT和MSS模型的建立

SMT允许1个时钟周期内发射多个线程的多条指令执行,能够同时利用程序的TLP(线程级并行,thread level parallelism) 和 ILP( 指 令 层 并 行,instruction level parallelism),提高处理器发射槽以及功能部件的利用率。而MSS 对通用处理器的指令数目和寻址方式都进行了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高,它只要求硬件执行有限且常用的指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成,对提高核心数量和处理器性能有很大的帮助。这2种处理器核心的多核处理器体系结构参数配置如表1所示。

处理器核心数目范围为16~1 024 个,频率分别设置为1.0,1.5,2.0,2.5和4.0 GHz。每一个处理器核包含1个32 kB的一级指令Cache(L1I Cache)和1个32 kB 的一级数据Cache(L1D Cache)。对于片上L2 Cache,分别模拟2 种配置:配置1 为不同核心数量下,L2 Cache 等比配置,256 kB/bank,bank 数等于核心数;配置2类似于GPU,L2 Cache不随核心数变化,全芯片配置768 kB L2 Cache。片上互连网络采用2D Mesh 结构。片上存储控制器(MC)数量随核心数增加而增加,具体对应关系如下:16 和32 核处理器配置MC 数为4 个;64 和128 核处理器配置MC 数为8 个;256 和512 核处理器配置MC 数为16 个;1 024 核处理器配置MC 数为32 个。网络接口(NIU)数量配置为2个,PCIe接口数量配置为1个。

表1 处理器体系结构参数配置Table 1 Processor architecture parameter configuration

处理器核心的主要参数配置如表2所示。在处理器核心配置中,每一个核包含2 个ALU 单元和1 个FPU 单元,每一个核有2 条整数流水线和1 条浮点流水线,流水线深度为8级。

2.2 工艺参数配置

工艺相关的特性参数配置包括工艺节点(Core_Tech_Node)、 互 连 类 型 (Interconnect_Projection_Type)、器件类型(Tevice_Type)以及是否使用长沟器件类型(Longer_Channel_Device)。在模型中,选取5种工艺节点即最小线宽为90,65,40,28和22 nm,覆盖了国内成熟以及国际主流、先进工艺节点。对于互连类型,模拟器可以提供2种:激进互连类型( aggressive wire technology)和保守互连类型(conservative wire technology),考虑高性能多核微处理器的高性能要求,在模型中选取激进互连类型。对于器件类型,模型中将包括3 种类型:HP,LSTP 以及LOP的功耗建模,分别对这3种器件类型进行模拟对比,比较不同器件类型实现下处理器的面积与功耗。

3 模拟实验与结果分析

3.1 SMT建模分析

SMT 建模完成后,分别对L2 Cache 等比配置和固定配置进行分析,选取5种工艺节点即最小线宽为90,65,40,28和22 nm,查看SMT处理器在5种工艺下峰值功耗随核心数增加的变化趋势。从图2和图3可以看出:随着工艺节点向前推进,处理器消耗的总功耗会降低;而随着核心数增加,总体功耗会随之上涨。即使采用模拟器中最先进的22 nm工艺,实现128 核SMT 处理器峰值功耗也分别达到143 W 和116 W。

图2 L2 Cache等比配置SMT峰值功耗Fig.2 L2 Cache equal ratio configuration SMT peak power consumption

图3 L2 Cache固定配置SMT峰值功耗Fig.3 L2 Cache fixed configuration SMT peak power consumption

表2 处理器核心主要参数配置Table 2 Main parameters of processor core configuration

图4所示为L2 Cache等比配置下SMT处理器在5种工艺的不同器件类型实现下的峰值功耗对比。从图4可见:在最小线宽为90 nm工艺下,采用LSTP器件实现峰值功耗最高,采用HP 器件实现次之,采用LOP 器件实现最低;在最小线宽为65,40 和28 nm工艺下,采用HP器件实现峰值功耗最高,采用LSTP器件实现次之,采用LOP 器件实现最低;在最小线宽为22 nm 工艺下,采用LOP 器件实现峰值功耗最高,采用HP 器件实现次之,采用LSTP 器件实现最低。从图4可知:HP 和LOP 器件在每个工艺节点向前推进时功耗有明显幅度下降,但LSTP器件在只前期工艺有明显下降,而到了28 nm以后,功耗不仅没有下降,反而有微小上升,也就是说,低功耗技术的实现不能依赖于工艺节点。

图5所示为L2 Cache 固定配置下SMT,MSS 以及CSS处理器在5种工艺的不同器件类型实现下的峰值功耗对比。数据趋势与L2 Cache 等比配置相同,但峰值功耗低于L2 Cache等比配置的峰值功耗。

模拟结果表明:随着核心数增加,峰值功耗急剧增加,对封装及散热的实现提出严峻挑战。如要求峰值功耗控制在100 W左右,对于40 nm工艺,可以实现32核规模的SMT处理器,峰值功耗约为95 W;对于28 nm 工艺,可以实现64 核规模的SMT 处理器,峰值功耗约为120 W;对于22 nm 工艺,可以实现128核规模的SMT处理器,峰值功耗约为150 W。

图4 L2 Cache等比配置时不同工艺器件类型的峰值功耗对比Fig.4 Peak power comparison for different process device types with L2 cache equal ratio configuration

图5 L2 Cache固定配置时不同工艺器件类型的峰值功耗对比Fig.5 Peak power comparison for different process device types with L2 cache fixed configuration

3.2 MSS建模分析

MSS 建模完成后,分别对L2 Cache 等比配置和固定配置进行分析,选取5种工艺节点即最小线宽为90,65,40,28和22 nm,查看MSS处理器在5种工艺下峰值功耗随核心数增加的变化趋势,结果如图6和图7所示。从图6和图7可以看出:随着工艺节点向前推进,处理器消耗的总功耗降低;而随着核心数增加,总体功耗会随之上涨。采用最先进的22 nm工艺,实现64 核MSS 处理器峰值功耗分别达到176 W和161 W。

图6 L2 Cache等比配置MSS峰值功耗Fig.6 L2 Cache equal ratio configuration MSS peak power consumption

图7 L2 Cache固定配置MSS峰值功耗Fig.7 L2 Cache fixed configuration MSS peak power consumption

图8 L2 Cache等比配置MSS漏流功耗Fig.8 L2 Cache equal ratio configuration MSS leakage consumption

图9 L2 Cache固定配置MSS漏流功耗Fig.9 L2 Cache fixed configuration MSS leakage consumption

图8和图9所示分别为L2 Cache等比配置和固定配置下MSS处理器在5种工艺下漏流功耗数据以及随核心数增加的变化趋势。从图8可知:随着工艺节点向前推进,MSS 漏流功耗呈开口向下的抛物线变化趋势,而且漏流功耗占总体功耗比重较大,即使采用22 nm 工艺实现的64 核MSS 处理器,其漏流功耗也分别达到96 W和85 W,分别占全芯片功耗的55%和53%。

模拟结果表明:随着核心数增加,峰值功耗急剧增加,对封装及散热的实现提出严峻挑战。如要求峰值功耗控制在150 W左右,对于40 nm工艺,可以实现16 核规模的MSS 处理器,峰值功耗约为110 W;对于28 nm工艺,可以实现32核规模的MSS处理器,峰值功耗约为140 W;对于22 nm工艺,可以实现64核规模的处理器,峰值功耗约为170 W。在纳米级工艺下,漏流功耗占总功耗的比重越来越大,甚至成为主导部分。因此,在高性能多核处理器设计中,在以往重点注重降低动态功耗的设计流程中,必须考虑降低静态功耗的设计和选择新工艺,如高K 金属栅、SOI(绝缘衬底上硅,silicon-on-insulator)等新技术和新工艺的运用。

4 结论

1)采用体系结构级工艺模拟器FT-SHSim 对典型CPU架构SMT和MSS进行大量模拟实验,给出不同工艺、不同器件类型下实现不同规模处理器的峰值功耗和静态功耗。随着核心数的增大,峰值功耗将达到数千瓦,单位面积的功耗将远超过目前的散热能力。按照目前100 W 左右的峰值功耗要求,对于40,28和22 nm工艺,分别可以实现32核、64核和128核规模的SMT处理器,可以实现16核、32核和64核规模的MSS 处理器。此外,在纳米级工艺条件下处理器的静态功耗所占比重达到50%以上,在高性能处理器的设计时,必须大量采用降低静态功耗的新技术和新工艺。

2) 随着集成电路工艺进入纳米时代,片上集成度不断提高,功耗和面积成为制约高性能微处理器设计的重要因素,在体系结构设计阶段应考虑工艺需求与可实现性。

猜你喜欢
体系结构模拟器功耗
基于任务映射的暗硅芯片功耗预算方法
驾驶模拟器转向系统的设计与研究
了不起的安检模拟器
盲盒模拟器
划船模拟器
基于PPP工程采购模式的工程项目合同体系结构研究
足球机器人并行行为组合控制体系结构分析
基于最优树的网络化作战装备体系结构优化
揭开GPU功耗的面纱
数字电路功耗的分析及优化