McPAT

McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures

  1. 论文的参与单位:美国圣母大学,惠普实验室,国立首尔大学,圣迭戈加利福尼亚大学

  2. 摘要:

    • McPAT:一个集成功耗,面积和时序建模的框架,同时支持90nm-22nm的多核和众核处理器配置,可以用于综合设计空间的探索
    • 在微体系结构层次,McPAT支持的基础组件包括:按序/乱序处理器核,片上网络,共享cache,集成的内存控制器和多个域的时钟
    • 在电路和工艺层次,McPAT支持关键路径的延迟模型,面积模型,动态、短路、泄露功耗模型针对于ITRS路线图中的所有类型的设备,包括CMOS,SOI和双开关晶体管
    • McPAT使用XML接口和其它性能处理器联合使用,此时McPAT能够使用一致的标准量化新想法的成本,并使用新的度量标准,例如EDA2P/EDAP评估不同架构之间的权衡。
    • 使用McPAT探索众核的设计:在22nm的工艺节点,对于OOO/INO,在不考虑成本的情况下,8个cores聚合在一起可以得到最好的EDP,如果考虑成本,4个cores的集群可以得到最好的EDAP/EDAAP
  3. 模拟器的新的要求

    • 能够精确建模多核和众核体系结构
    • 能够同时对功耗,面积,时序进行建模
    • 能够精确的建模所有的功耗
    • 能够精确地将电路模型缩放到更先进的工艺节点
  4. McPAT相对于Wattch(2000)的优势:

    • McPAT是一个集成功耗,面积和时序的模型框架,能够使用新的指标包括性能,功耗和面积,来衡量新的体系结构想法
    • McPAT模型不仅仅包括动态功耗,同时也包括了静态功耗和短路功耗
    • McPAT提供了一个完整的,集成的解决方案,针对于多线程和多核/众核处理器的功耗。Wattch没有提供为多线程处理器的资源功耗/划分策略和实现开销建模的方案
    • McPAT不再使用简单的线性缩放来应对工艺变化,
  5. 相关的工具

    • CACTI:第一个用于快速估计体系结构功耗,面积和时序的工具,主要关注于基于RAM的结构
    • Wattch:一个广泛使用的处理器功耗估计工具。但是其没有考虑时序和面积的建模,只关注了动态功耗忽略了其它的功耗,对于工艺变化仅仅只是进行线性的缩放
    • Orion:用于建模片上网络(NoC)功耗的工具,没有考虑短路功耗和时序,但是考虑了面积的问题
  6. McPAT的整体介绍

    • McPAT允许用户具体指令底层结构的详细配置,也提供了默认配置
    • McPAT使用XML作为和其它性能模拟器的接口,能够配置静态的微架构参数,同时传递性能模拟器生成的动态活动统计信息。McPAT同时可以使用XML接口将运行时功耗返回性能模拟器,此时模拟器就可以根据返回的信息做出反应
    • XML接口也支持为目标处理器配置电路实现的风格和工艺参数
    • McPAT的关键组件:
      • 功耗,面积和时序模型的层次结构
      • 用于确定电路级实现的优化器。优化器会在内部芯片表示中,确定未指定的参数,重点关注于两个主要的常规结构:互连和阵列。例如确定互连的有效信号布线间距或者cache bank中的字线长度等
      • 驱动功耗、面积和时序分析的内部芯片表示
    • 对于每个处理器组件,McPAT优化电路级别的结构,以满足给定的时序约束。如果得到的面积或者功耗不在目前为止找到的最佳值的允许偏差范围内,则丢弃该配置。最后在满足功耗和面积偏差的配置中,McPAT应用优化函数报告最终的芯片面积,时序和峰值功耗
    • McPAT能够模拟先进的功耗管理技术,例如p-/c-state功耗管理技术。在性能模拟器工作期间,能够在任何时候将统计的数据传递给McPAT,然后得到特点功耗的功耗开销。此时性能模拟器可以根据结果,更改电压或者频率设置,或者使用其它的省电状态策略。
      在这里插入图片描述
  7. McPAT使用集成和分层的方法进行建模

    • 集成是指McPAT可以同时对功耗,面积,时序进行建模
    • 分层是指McPAT将模型分解成三个层次:架构,电路和工艺层次
      • 在体系架构层次,多核处理器被分解为多个主要的结构组件,例如cores,NoCs, caches, MC和clocking
      • 在电路层次,每个体系结构块被映射到四个基本的电路结构:分层的电线,阵列,复杂的逻辑和时钟网络
      • 在工艺层次,ITRS路线图中的数据被用于计算设备和线的实际物理参数,例如电阻,电容,电流密度等
  8. 功耗,面积和时序模型

    • 功耗模型:动态,短路和静态功耗
      • 动态功耗:电容充电,放电和切换状态时会出现,与总负载电容、电源电压、开关时的电压摆动、时钟频率和活动系数成正比。通过将一个模块分解为基本电路块,使用适当大小的迄今对每个基本块建立分析模型,从而计算出负载电容。系统的活动因子可以根据统计的访问量和电路特性得到
      • 短路功耗:开关电路通过上拉/下拉装置的瞬时短路所带来的功耗(由于输入电压波形并不是理想的阶跃输入信号,有一定的上升时间和下降时间,在输入波形上升下降的过程中,在某个电压输入范围内,NMOS和PMOS管都导通,这时就会出现电源到地的直流导通电流,这就是开关过程中的短路功耗)。通过之前研究的预测短路功耗趋势的方程来计算。当阈值电压和电源电压之比减少时,短路功耗增加
      • 静态功耗:漏电流引起的功耗。泄漏电流取决于晶体管的宽度和器件的本身状态。对于单元的泄露电流,使用MASTAR和英特尔的数据来决定
    • 时序模型:将系统拆分为多个组件和阶段。时序模型需要考虑电阻和电容来计算RC延迟,使用的方法类似于CACTI,但是在实现上有很大的变化。McPAT根据在关键路径上的处理器组件的延迟来确定处理器可达到的时钟频率
    • 面积模型:使用CACTI中使用的分析方法对基本的逻辑门和常规结构,例如存储阵列,D触发器阵列,互连,常规的逻辑单元等,进行建模。对于自定义布局的复杂结构,例如ALU,McPAT使用经验建模方法,利用曲线拟合的方法,根据现有处理器的信息,建立可参数化的面积模型,可以根据需求,对面积进行缩放。
  9. 层次模型

    • 多核体系结构层次模型:包括多个高层次的结构块
      • Core:一个core可以被细分为多个单元:IFU,EXU,LSU,OOO发射/分派单元。每一个单元还可以进一步划分为硬件结构,例如EXU包括ALU,FPU,bypass logic,RF等。ALU和FLU会被映射到复杂逻辑,bypass被映射到导线和逻辑结合的模型,RF被映射到阵列模型。McPAT还支持RS结构/PRF结构,RAM-/CAM-的重命名结构。McPAT通过对硬件资源的共享和复制,以及额外的硬件开销进行建模,从而支持多线程。
      • NoC:包括两个主要的组件:信号链路和路由。前者使用分层的导线模型进行建模。对于路由,首先将其分解为基本块,例如flit buffer(微片缓冲),仲裁器,crossbar等,然后分别建模。McPAT是第一个支持double-pumped crossbar的建模工具,使用这种方法可以减少芯片面积
      • 片上caches:McPAT支持私有和共享caches。对于一致性cache,对目录一致性协议进行建模。目录可以被映射到CAM结构
      • MC:McPAT是第一个对片上MC进行建模的工作。一个内存控制器主要包括三个硬件结构:1) 前端引擎负责重新调度内存请求,2) 事务处理引擎,能够生成命令,地址和数据信号;3) 物理结构PHY,作为内存控制器的实际通道,用于将芯片外的信息传递到内存。McPAT使用CAM和RAM结构建模前端引擎,其余两个则使用相应的实际数据,根据经验建模
      • 时钟:时钟电路的两个组成部分:PLL(the phase-locked loop) 生成时钟信号,时钟分布网络传播时钟。对于PLL,McPAT使用已有数据进行经验建模;对于时钟网络直接映射到电路层面的时钟网络模型
    • 电路层次模型
      • 分层重复的导线(hierarchical repeated wires):用于建模局部和全局的线上导线。对于短导线,使用pi-RC模型进行建模;对于长导线,使用缓冲线模型(buffered wire model)建模,此时优化目标为EDP,而不是speed。在必要时,会利用锁存器来满足目标时钟频率
      • Arrays(阵列):三个基本的阵列模型:RAM,CAM,DFF。三者均使用CACTI进行建模,但是有一些重要的扩展,例如门级的泄露电流
      • Logic(逻辑电路):对于具有可预测结构的高度规则块,例如Mem,networks,使用CACTI的方法建模;对于更低一级的但是仍旧可以参数化的规则块,例如译码逻辑,使用已有的方法建模;对于高度定制的模块,例如FU,使用经验模型建模
      • 时钟分布网络:是一种特殊的重复分层的导线网络,但是有严格的时序要求,会横跨整个芯片。对于这个网络使用三个层次的模型进行建模:全局的,区域的,局部的。对应于Biagara处理器和Itanium处理器中的H树拓扑结构和网络结构,利用经验模型进行建模。
    • 工艺层次建模:McPAT使用MASTAR从ITRS 2007年的路线图中获取设备的参数信息。
      在这里插入图片描述
  10. McPAT对节能技术的建模

  • 主要支持的两种节能技术:时钟门控(减少动态功耗)和节能状态(减少静态功耗)
  • 对于时钟门控,McPAT模拟了实际的时钟门控缓冲电路
  • 对于节能状态技术,McPAT是第一个包含它的架构建模工具。
  1. 验证McPAT

    • McPAT的主要关注点是,当时序作为主要设计约束时,在体系结构级别上进行精确的功耗和面积建模

    • 相对精度:由于体系结构修改而导致的功耗和面积变化,应该在建模结果中反映的情况和实际情况是一致的,即两种情况下,变化的比例是一样的

    • 绝对精度:正确评估各个组件的功率/面积和总的功率/面积

    • McPAT通过和一些真实处理器的数据进行建模,从而得到建模的面积和功耗,最后再和真实处理器的面积和功耗进行比较。实验中包括的处理器:Niagara, Niagara2, Alpha 21364, Xeon Tulsa

    • 整体的功耗和面积的验证结果

      • 表中给出的是处理器实际的整体功耗和面积信息和McPAT建模得到的结果,以及两者之间的误差
      • 表中Niagara2的面积误差最大,因为Niagara2有更多的IO组件,但是McPAT并没有建模这些组件
        在这里插入图片描述
    • 详细组件功耗的验证结果

      • 图片中饼状图中的百分比代表着组件的功率和总功率的比值。McPAT没有详细建模SoC逻辑,I/O等杂项组件(因为不知道这些组件的具体实现),所以结果会有一些差别。
      • 对于Niagara处理器,McPAT建模得到的数据和处理器发布的数据非常吻合,所有7个组件中,建模得到的功率和发布的数据之阿金的绝对功率平均差为1.47W,平均每个组件的误差为23%
      • 对于Niagara2处理器,平均误差为1.87W(26%),但是在I/O方面功率误差较大。论文给出的原因是Niagara2的SoC非常复杂,IO的种类非常多,但是McPAT只建模了很少的一部分
      • 对于Alpha 21364处理器,乱序中的发射逻辑误差只有2.78%。对于Xeon Tulsa处理器,没有具体每个核内部件的实际信息,但是有较为整体的功率信息,包括核和非核的部分,误差分别为20.63和11%
        在这里插入图片描述
        在这里插入图片描述
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值