macpat文档翻译Word格式文档下载.docx
《macpat文档翻译Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《macpat文档翻译Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
这种做法使用户(如果他们的选择)忽略许多被建模组件的低层次细节。
第二,McPAT模拟不只是动态的功耗,也有静态和短路功耗。
这是至关重要的是因为在深亚微米技术中静态功耗等同于动态功耗[27,50]。
通过模拟三种类型的所有功耗,McPAT给出了一个关于多核处理器的电路功耗的完整建议。
第三,McPAT全面的解决方案提供了对多线程和多核/众核处理器的功耗。
现代的
多核是包括内核,高速缓存,互连,内存控制器,多域时钟等的复杂的系统。
McPAT模拟的多核处理器的重要组成部分的功耗,包括了列出的所有组件。
McPAT支持现有OOO(无序)处理器为基础的细致而逼真的模拟。
McPAT可以模拟保留站模型和物理寄存器文件(reservation-station-modelandaphysical-register-filemodel)基于实际体系结构模型建模,包括英特尔P6[22]和NetBurst[19]。
(Netburst微处理器体系结构为英特尔的X86微处理器体系结构,P6微处理器制程的后继者。
第一个使用这体系结构的是Willamette核心,于2000年推出。
)
第四,McPAT处理技术,不再用线性缩放假设为模型。
简单线性缩放的原则是不再有效,因为设计缩放比例在深亚微米时代已经变得高度非线性。
McPAT提供了一个综合的解决方案,模拟所有的能耗来源。
我们的能耗建模工具使得使用ITRS(国际半导体技术蓝图)从动态,静态和短路功耗的技术预测,作为一个结果,这个工具将自然伴随着ITRS的发展,甚至最后超越。
McPAT框架图
2McPAT:
概述和操作
McPAT是第一个为多线程和多核/众核处理器综合能耗,面积,时序建模框架。
它的设计满足各种处理器性能模拟器(和热模拟器等)工作需要已经超过大部分的技术世代。
McPAT允许用户指定低级别配置细节。
当用户决定指定唯一的高层建筑参数,它还提供默认值。
图1是一个框图的McPAT框架。
而不是硬接线到一个特定的模拟器,McPAT使用一种基于XML(可扩展标记语言)的界面和连接性能模拟器。
McPAT利用被BerghenEt.al设计的一种XML分析程序来分析大量的XML的界面文件。
这个界面允许静态微体系体系结构的规范配置参数,并通过性能模拟器所产生的动态活动统计。
McPAT也可以发回性能模拟器运行时的功耗结果,通过基于XML的接口性能模拟器可以反应功耗,甚至温度数据。
这种方法使得McPAT非常灵活很容易地移植到其他性能模拟器。
由于McPAT提供从完整的分层模型体系结构技术水平,还包含XML接口电路实现方式和技术参数具体到一个特定的目标处理器。
例如数组类型,交叉类型,CMOS技术世代与相关的电压和设备类型。
McPAT的关键部件是
(1)分层的功耗,面积,时序模型,
(2)优化确定电路级实现,(3)芯片内部使用的功耗分析,面积,和时序。
大多数参数在芯片内部表示形式,如缓存容量和核心问题、宽度、直接设置输入参数。
McPAT的层次结构,使模型在一个较低的水平,包括基础设备技术结构,但仍允许设计师把重点放在一个高层次的体系结构配置。
优化确定丢失在芯片内部的参数表示形式。
McPAT的优化侧重于两个主要的常规结构:
互联和数组。
例如,用户可以指定频率的片上互连和平分带宽或容量、关联性、缓存的存储数,并且让工具确定实施细则;
例如选择金属面、有效的信号互连布线间距或字线和位线的长度以及缓存空间的字节。
这些优化减轻了设计师找出每一个细节的负担,并显着降低使用工具的学习难度。
用户可以有灵活性,关闭这些功能并设置电路级自行实施参数。
优化生成最终芯片表示形式,这是用来计算最终的面积,时序,与最大功耗。
独立和机器利用率统计的最大功耗(活动因子)是用来计算最终运行时功耗的。
McPAT详细的工作流程有两个阶段:
初始化阶段和计算阶段。
具体来说,以用户第一次启动的初始化阶段指定静态配置,包括在所有三个层次的参数,即,体系结构,电路,和工艺水平。
体系结构水平的参数类似使用的参数在性能模拟器的配置文件,包括内核数量,路由器,共享末级高速缓存参数,内核发送的宽度、无序处理器(000)重命名方案、000调度方案、硬件线程的数量等。
由于McPAT需要为计算运行时间功耗而搭配性能模拟器,用户可以编写一个简单的脚本来提取这些结构参数的性能仿真配置文件和生成XML接口为McPAT的文件。
电路级参数指定的实施细则。
例如,可以指定一个特定的阵列使用基于触发器的单元格,而不是基SRAM的单元格或使用doublepumped(HyperTransport高速点对点总线技术能够提供400MHz的I/O工作频率和800MHz的CPU到CPU工作频率,这被称为"
doublepumped"
,实际上就是在时钟的上升沿和下降沿同时传输信号)的交叉片上路由器。
工艺水平的参数包括设备类型(高性能,低待机功耗,低运行功率[50]),和互连。
静态的投入还包括优化选项,例如面积最大偏差,最大功耗偏差,优化功能。
一旦所有的静态配置被设置,初始化的McPAT可以被性能模拟器的初始仿真调用。
在初始化阶段,McPAT会产生芯片内部表示形式使用用户设置的配置。
McPAT的主要焦点是准确的功耗和面积建模,目标时钟速率的实际使用作为一个设计约束。
局部过度的优化使用,除非有明显需要考虑多个组件的相互作用,这意味着McPAT为每个组件找到最佳的解决方案,并且当它们把各个组件放在一起就假定会拿出最好的全局配置。
,McPAT可以探索的优化域是巨大的,尤其是当有许多未指定的参数。
McPAT智能和广泛的设计域搜索。
McPAT优化每个组件由不同的电路实现。
例如,McPAT不同的子阵列实现基于SRAM阵列元件和金属层/布线间距的互连。
对于每一个建筑构件,McPAT首先找到有效的配置,满足时序约束。
然后,如果所产生的功耗和/或面积不是目前在最大允许偏差范围内找到的最优化,配置将被丢弃。
最后,McPAT适用于用户指定的优化功能,在所有配置中间找到最优化,满足功耗和面积的偏差。
如用户可以轻松地添加新的目标漏电功耗和可以任意分配。
在这个初始阶段,芯片内部表示形式符合目标时钟速率形成,目标芯片的面积报告。
每次访问的动态功耗和每个组件的漏电功耗被获得。
虽然大多数组件使用局部过度的优化,也有例外当组件需要一并审议。
目前,McPAT考虑了三个整体优化:
1)分支逻辑被假定按已选择的路径通过逻辑功能单元,寄存器文件和保留站。
2)全局互连线(路由器之间联系)是假设到了最后一级缓存(如果他们出现)在横向,纵向,甚至是两个方向。
3)假定时钟分配网络覆盖整个一个全局的H-树和全域如半全局的H-树核心芯片。
假设局部时钟分布网络互相覆盖整个域。
为了准确模拟的相互作用的情况下,全局优化应被应适用。
例如,如果互连高度不超过L2缓存(二级缓存),McPAT可以假定互连可以在最后一级缓存按选择好的路径发送。
McPAT计算阶段在模拟期间被称为性能仿真生成运行时间的功耗量。
调用McPAT来计算运行时间功耗量前,性能仿真需要通过统计,即McPAT通过XML接口文件对每个组成元件的活动因子(activityfactor?
)。
如公式1所示,活动因素的一个组成部分是产品组件的访问次数和平均汉明码间距(用于数据传送,能检测所有一位和双位差错并纠正所有一位差错的二进制代码。
)的所有访问的时间间隔。
通过改变时间间隔,可以改变运行时间功耗计算间隔。
如果性能仿真调用McPAT运行时间功耗计算周期,一个周期精确功耗模式将产生,这将是有益的研究实时功耗峰值。
如果性能仿真调用McPAT运行时间功耗在计算功耗模拟完成后,平均功耗配置将生成。
公式1中,n是对于一个给定模拟期间周期计数,访问次数是在访问期间到特定组件数量,和汉明码间距是连续两个访问翻转位总数。
如果性能仿真不能跟踪Hamming距离,McPAT假定所有位每个周期都翻转,它始终是最好的性能模拟器可以提供每个组件的activityfactor,然而,McPAT也有能力为组件推断相应的activityfactor,只要为性能模拟器提供基本的统计信息。
例如,如果性能模拟器只能跟踪存储器指令的数目,而不是加载或存储队列中的详细信息和activityfactor,McPAT假设每个内存指令将涉及一个读,一个写,一个或两个搜索行动(取决于硬件规范)的加载和存储队列。
于是在默认实现加载和存储单元的基础上设想被创造出来,本报告后面讨论。
McPAT分别从性能模拟器运行,只读取它的性能统计数据。
因此,它在本机的性能模拟器的模拟速度的影响是最小的。
初始阶段的McPAT虽然可能需要一些时间来完成,因为巨大的搜索空间,它不会显著的影响模拟器的速度,因为它需要做的唯一的一次只在模拟开始阶段。
在计算阶段,一些模拟器的开销可能是由于增加的性能计数器。
3集成和分层建模框架
为了建立和多核处理器的功耗,面积,时序,McPAT集成和分层的做法。
它集成McPAT模型的功耗,面积,并时序同步。
因为本McPAT是能够确保从电子的角度来看,结果是相互一致。
它是分层次的,因为它分解成三个层次的模型:
体系结构,电路和技术水平。
这为用户提供的灵活性,以模拟可能的多种实现技术跨越多核配置的范围广泛。
两者合计,这整合和分层的方法,使用户能够对设计空间有个全面的了解,在功耗,面积,时序等方面的设计和技术选择之间权衡。
3.1功耗建模
在方程
(2)所示,CMOS电路的功耗主要有三个组成部分:
动态,短路,漏电功耗。
所有这三个的总贡献是采用深亚微米技术的多核处理器的总功耗。
第一项是动态功耗,用于电路开关状态充电和放电容性加载时的损耗,其中C是总的加载电容,VDD是供电电压,DV是在开关过程中电压摆幅,Fclk是时钟频率。
C取决于每个IC元件的电路设计和布局;
我们使用规整结构分析模型计算它,如存储器阵列和连接线随着如ALU的随机逻辑结构的实证模型。
活动因子a表示总电路电容被控在一个时钟周期的一小部分。
我们从体系结构仿真连同电路特性的访问统计计算出a。
第二项是短路的功耗是在CMOS电路上拉和下拉器件的一小部分损耗,但是有限的时间消耗。
短路功耗为约10%的总动态功耗,但它已被报道,在某些情况下短路功率可以约为25%的动态功耗。
当电路模块开关时,它们损耗包括动态和短路的功耗。
固有的电路特性确定短路功耗和动态功耗的比值,这是和VDD/Vth成比例函数。
由于缩小VDD/VTH比例为未来的低功耗设计,有望使短路功耗成为未来设计低功耗和更长的电池寿命更加有意义。
我们计算每一个门的开关短路的的能耗,使用方程[4和2]所得3到5。
在这里,Es(tT<
<
T)是每一个缓慢的输入与门的开关短路能耗,而Es(tT>
>
T)是每一个快速输入与门的开关短路能耗,Vt是标准阈值电压(VTH/VDD),在深亚微米技术是一个速度饱和指数,Cin是门的输入电容,VDD是供电电压,fo是晶体管驱动下个门的比率,FO是扇出(CIN=COUT)。
第三项是静态功耗,由于漏电流通过晶体管,这在实际中,作为“不完善的”开关功能。
有两种截然不同的漏电机制,每个漏电流的大小和晶体管的宽度成正比并且相关项于设备的逻辑状态。
第一种泄漏类型,亚阈值泄漏,晶体管大概是在关机状态时,实际上允许一个很小的电流通过其源极和漏极之间。
我们用ISUB表示通过一个(关闭)晶体管的亚阈值电流。
第二类,栅极泄漏电流,电流通过栅极终端泄漏。
我们用MASTAR确定的单位泄漏电流。
在McPAT中单位的Igon,包括电流流通过的门的泄漏电流和电流流通过源/漏极和栅极重叠的通道的泄漏电流。
为了模拟了许多晶体管电路块的漏电流,我们需要考虑每个晶体管的逻辑状态,然后总结出每个元件的漏电流。
如果一个电路块中处于一些逻辑状态s,我们可以用Wsub(S)表示处于该状态晶体管(关闭)亚阈值泄漏的有效宽度,同样,我们可以用Wgon(S)和WGOFF(S)表示开启和关闭晶体管的栅极泄漏电流的有效宽度。
如果Pr(S)是电路在状态s的概率,我们可以表示为一个给定的模块总的漏电流的平均数。
图2:
闲置状态的单元格在SRAM的泄漏电流路径。
位线进行预充电到VDD。
对所有可能的状态s的泄漏电流,如公式(6)所示:
在McPAT中,我们计算每单独的基本电路块在不同状态下的漏电流。
McPAT假设电路在默认情况下和计算总泄漏所有状态的具有相同的可能性。
这个概率分布,当它有可以检测到个别的电路块的状态是也可以通过性能模拟器重写。
亚阈值泄漏和栅极漏电流,即使在同一状态的同一电路块有不同的漏电路径。
,器件在开启状态(Igon)时的栅极漏电流大大不同于器件处于关闭状态(IGOFF)时的栅极漏电流。
由于关闭状态栅极漏电流是至少比上状态栅极漏电流少一个数量级,McPAT在模拟是忽略在关闭状态栅极泄漏。
图2显示了SRAM在“0”的闲置状态的单元格中储存的单元格亚阈值泄漏和栅极泄漏路径。
图3显示了其所有可能的状态NAND2门的亚阈值泄漏和栅极泄漏路径。
当输入为“11”,亚阈值泄漏达到一个高峰,是因为有两个晶体管泄漏并联。
当输入为“00”,亚阈值泄漏达到最低限度,因为两个泄漏设备堆叠。
[39]的研究表明叠加的效果因为负VGS可以减少亚阈值泄漏电流,降低VDS,减少包括势垒降低(DIBL),和本身的影响的消耗。
,在图3所示的两个扇入入的静态CMOS门的叠加系数,可以利用公式7,其中
是DIBL,S是次临界摆幅,VDD是电源电压。
在电路级模拟中,McPAT假定最大扇入和扇出不超过四个,以达到良好的性能。
CMOS门叠加系数在三个或四个扇入使用[4]的方法计算。
图3:
所有可能的状态NAND2栅极漏电流路径。
3.2时序建模
和功耗模型一样,McPAT的时序模型将系统分解成元件和分阶段。
虽然功耗模型只需要电容来计算动态功耗,时序模型使用同时需要电阻和电容计算的RC延迟,用类似CACTI(Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
)[55]和按Palacharla工作等一种计算方法。
在后来的实施中介绍有很大的变化。
McPAT决定从处理器及其组成部分的关键路径的时序结果的实现时钟频率。
每一个组件的时间两个标准设计约束:
吞吐量和延迟。
吞吐量确定元件的周期时间,而延迟决定访问时间。
对于流水线,包括高速缓存和全局互连的组件,其实现的吞吐量将实现处理器的时钟速率的上限。
虽然像thewakeuplogicandresultbroadcastbuses(激活逻辑和结果传输线?
?
)的元件不能像流水线被传输,其周期时间和访问时间实际上是相同的。
因此,他们的延迟和吞吐量实现时钟速率的上限设置。
当沿着关键路径的延迟或元件的吞吐量不能满足目标的时钟速率,McPAT将输出警告信息,用户需要更改配置参数或降低目标时钟频率。
3.3面积建模
McPAT使用的分析方法,在CACTI模型面积基本逻辑门和规则的结构,包括存储器阵列(例如RAM,CAM(内容可寻址存储器),DFF(D触发器)),互连(例如,路由器,逻辑链接,总线),和规则逻辑(如解码器和相关项核对单元)。
在自定义布局,如ALU对于复杂的结构,算法的方法不能很好地工作。
对于这些,目前McPAT的经验建模方法[17,44]采用曲线拟合,建立一个可参数化的面积数值模型,对现有的处理器设计的发布信息,然后根据不同的目标技术改变面积。
McPAT加入了单个元件的面积计算估计出最终目标设计的芯片的面积。
当增加面积,McPAT认为10%的布局和路由损耗。
在第2节中提到的,组件之间的相互作用被认为有三个主要地方。
对于这些地方,McPAT假定上层互连可在较低层部件与最低损耗传送。
3.4分层建模框架
McPAT的整体分为三个层次:
功耗、面积和时序模型,如图4所示。
McPAT的建模体系结构为多核/众核处理器从体系结构到工艺水平提供全面的模拟。
多核处理器上的体系结构水平,被分解成主要体系结构组件,如内核,NoCs(network-on-chips),高速缓存,内存控制器和时钟。
在电路级,体系结构构建模块被映射到四个基本电路结构:
层次线、阵列、复杂的逻辑和时钟网络。
在技术水平,从ITRS的路线图[50]的数据用于计算设备和连接线的物理参数,如单元的电阻、电容、电流密度。
作为McPAT的一部分,我们开发了一个增强的CACTI,其中包含新的CAM(计算机辅助制造)和全相联高速缓存模型、基于22nm双栅(DG)的器件的新技术、新的全局互连模型、新的时钟模型、新的管道模型、新的短路模型和泄漏模型。
McPAT紧耦合增强的CACTI并且在不同的建模水平调用CACTI获得局部的结果。
在此技术报告中,我们将重点放在McPAT。
将描述的CACTI7.0技术报告将被发布的新功能增强CACTI的所有细节。
图4:
McPAT的建模方法。
4建模节耗技术
McPAT模型两大节能技术:
门控时钟来降低动态功耗和省电状态以减少静态功耗,这就是在McPAT另一个特征——其有能力模拟先进的电源管理技术,如现代处理器的电源管理P-state和C-state。
这使得反应模拟器模拟电源或热传感器(假设连接到后端的温度模型),通过改变电压和频率设置,或闲置的电路块通过调用多个省电状态之一。
体系结构设计师可以使用该框架模型电源管理选择。
4.1P-状态建模
一个P-状态是运行状态,这意味着内核或处理器在任何的P-状态可以执行有用的工作。
这是一个组合的时钟频率和供电电压。
通过降低时钟频率和/或供电电压,内核或处理器可以实现低得多的电源配置,同时仍然工作但处理速度将会降低。
P-states的建模基于的McPAT有能力模拟时钟选通和其灵活的XML接口。
由于McPAT为大多数组件模拟每端口接入的动态能耗,它本身模型就是时钟选通。
此外,在分配网路开始的时候McPAT模型实际的时钟选通缓冲电路。
结合这两个特点,McPAT可以准确模拟时钟门控方案。
在调用McPAT完成初始化后,性能模拟器可以通过统计信息,并随时在模拟期间调用McPAT,而且McPAT将计算特定时期的相应的功耗,并在需要时将其发回的性能模拟器。
当一个性能模拟器,调用McPAT计算一定时期内的运行功耗,性能模拟器可以改变VDD和时钟频率设置。
在这种方式,性能模拟器适用于的P-状态管理技术。
4.2C-状态建模
C-状态是处于闲置状态,特点是在该状态有大量的功率消耗和进入和退出该状态的延迟和能量消耗。
在现代处理器,C0是状态没有节电技术的应用,其中C1到Cn有不同的静态功耗节能水平。
在C-states(C0除外)可以大大降低漏电功耗量。
然而,在一些深层次的省电模式的电路不能保持电路状态。
例如,如果缓存是在一个很深的省电模式,高速缓存的内容将丢失。
McPAT有能力模拟C状态支持其模型[2]中所述的多重休眠模式的节能状态。
用户可以指定各种组件的省电模式。
一个性能模拟器,可以适用于C状态管理技术指导内核或处理器在模拟输入一个特定的C状态。
图5:
基于的[2]多模式省电状态控制电路。
4.2.1省电状态建模
为了模拟C状态,McPAT模拟电路用于支持内每个组件的省电状态唤醒的时序和功耗方面的开销。
支持省电状态的电路被称为休眠晶体管。
长期休眠晶体管描述一个PMOS或NMOS的高阈值电压晶体管,连接外部电源到内部电路供电通常被称为虚拟电源。
休眠晶体管通过电源管理单元转换为虚拟电源电压电平,空闲的时候使电路可分为不同的省电状态。
用一个PMOS休眠晶体管切换VDD供电,因此被命名为头开关。
一个NMOS休眠晶体管控制VSS的供应,并因此被称为底开关。
基于一个PMOS头开关可以控制一个虚拟的VDD供电,而基于一个NMOS底开关可以控制一个虚拟的接地。
电路设计使用底开关,头开关,或两者兼而有之,以达到最佳性能和损耗之间的折衷。
PMOS晶体管比一个同样大小的NMOS晶体管泄漏少。
然而,一个底开关的优点是它的高速驱动并且面积较小。
McPAT模拟用于支持多种省电状态,按[2],其中使用的NMOS基于底开关电路。
在我们的模型框架中,有四种工作模式:
active,sleep,dream,andsnore.。
如图5所示,该电路使用底器件和调整其栅极偏压来实现不同的状态。
有不同的休眠模式可以选择省电或者激活,激活后功耗和延迟方面的损耗之间的折衷。
例如,dream模式可以节省50%以上的静态功耗比sleep模式,但要增加两次激活延迟和三次激活能量的损耗。
如图5所示,active模式是底晶体管完全打开时的状态。
因为底晶体管的大宽度,虚拟地VGND和真正接地没有多大差异。
snore的状态是时底晶体管是完全关闭的用的VG=0。
图6:
基于[2]的底sleep晶体管模型。
图6所示的电路块底设备模型。
为了匹配电路块的有效宽度,底晶体管的宽度通常是大的。
因此,底晶体管按照时序和功耗控制激活禁区