当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于硬件加速器的功率感知软件流水线制造技术

技术编号:3584587 阅读:209 留言:0更新日期:2012-04-11 18:40
形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。

【技术实现步骤摘要】
用于硬件力[Si器的功^i知软件^K^
技术介绍
在基于处理器的平台中,所希望的特征是较低的平台功率和最大 化的电池寿命。除了别的以外,可以使用低的硬件功率状态和存储器 自刷新模式来减少功耗和增大电池寿命。在可行的情况下,期望在功 率管理平台上将尽可能多的硬件移入低功率状态,并且增大存储器的 自刷新时间,以便于使平台的功率最小化。一些平台可能包括基于专用硬件的部件或功能,通常称为硬件加 速。 一个例子是视频解码数据流,其可以通过多个级来传递数据,例 如现有技术中公知的解码级、图像增强级和合成级。为了降低功耗, 可以使用几种方法。 一种方法是在经过这些级时利用流水线处理来运 行一个多级硬件加速过程,例如视频解码器,以使得所有的级并行运行,然后所有的级都关闭或空闲,直到调度(schedule)下一帧来处 理。这种方法可能基于这样一个假设,即一个并行的流水线使得平台 在大多数时间中处于空闲模式,这使得各种各样的部件能够处于低功 率状态下。附图说明图l示出了 图2示出了 图3示出了 图4示出了以及图5示出了具体实施方式一个实施例中的基于处理器的平台;一个实施例中的用于视频处理的多个单元的流水线;一个实施例中的视频处理的串并行组合;一个实施例中的视频处理级的并行和功率感知组合;一个实施例中的处理流程。图l示出了一个实施例中的基于处理器的平台100。这种系统包 括一个或多个处理器110、存储子系统以及非易失性存储单元,其中 该处理器110可能具有一个或多个内核,该存储子系统包括读-写随 机存取存储器(RAM存储器)150,以用于存储数据和可由处理器执 行的程序,而非易失性存储单元例如是盘片系统160,通过总线系统 140和145对上述部件进行互连,并通过系统输入/输出(I/O)设备 和外围设备170与外部网络或用户进行对接。众所周知,许多其它的 部件,例如高速缓冲存储器、其它存储设备等也与所述处理器110 — 起存在。类似地,在基于处理器的系统中还存在其它部件,但是为了 简明,这里不再描述。在一些实施例中,基于处理器的平台100可以包括专用硬件单 元,也称为加速器,以用于特定类型的计算。例如,视频处理功能可 以由硬件单元IIO、 120和130提供,如图1所示,每个经由一条或 多条总线互连到系统总线145。在所述的示例性实施例中,该平台可 以用来例如处理高清晰视频。这样,在图中所示的例子中,编码器-解码器单元(CODEC) 110是硬件解码单元或引擎,可以提供压缩的 视频流作为它的输入。该单元110将视频流解码成多个帧。图像增强 (IE)单元120能够进行图像縮放、帧速率转换、运动补偿的反交错 以及众所周知的其它相关的视频处理和图像增强功能。合成(COMP) 单元130可以进行若干个层的合成,所述若干个层例如是字幕、图形 或主视频流之上的其它视频流。具体而言,尽管根据特定的视频处理应用描述了此处所述的实施 例,但是在其它实施例中可以提供其它类型的硬件单元或加速器来满 足不同的功能需求。例如,可以使用专用硬件单元为高清晰、环绕声 处理计算平台进行环绕声解码,所述高清晰、环绕声处理计算平台例 如可以是用来混合,控制或产生多通道数字音频内容的处理计算平 台,或者可选地,其是为了再现而处理环绕声数字源的处理计算平台。 在其它实施例中,可以使用专用硬件单元来生成用于例如游戏或科学 可视化应用的三维图形。使用专用硬件在基于处理器的平台环境下执 行处理的许多其它实施例在
中是公知的。图2在框图级对一个实施例中的视频帧处理进行了更加详细的 描述,该实施例使用了基于处理器的平台的存储器和前面所述的硬件 单元。每个视频帧经过在三个硬件单元上执行的三个硬件级,其中, 数据通过主存储器在单元之间传递。该图示出了三个硬件单元,这三 个硬件单元在该实施例中处理由视频帧所组成的视频流223。这三个 硬件单元是解码单元或CODEC 260、图像增强或IE单元280、以及 合成或COMP单元215。当所处理的视频帧的流通过这些单元时,如 图所示,CODEC 260首先对其处理,然后正280对其处理,最后COMP 215对其处理。CODEC 260处的解码处理270使得存储带宽的利用 220在本实施例中为0.3GB/s,如图戶万示,虽然实际带宽将随应用、 实施例中的具体硬件、可用的最大存储带宽以及许多其它因素而变 化,这是公知的。类似地,IE280处的处理290可以具有如图所示的 0.8GB/s的存储带宽要求;而COMP的处理225可以具有如图所示的 0.5GB/s的带宽240。除了所述硬件单元,本实施例中可以存在显示 单元227,并且显示单元与其它单元一起可以使用存储器进行数据传 输,并且例如以250处示出的0.2GB/s的速率对可用的存储带宽施加 负荷。应该再次强调的是,所示带宽的数值仅仅是示例性的,而不应该 将其理解成是限制性的。如前所述,在视频处理平台的不同实施例中, 可以存在不同的单元集合;当然,在平台中可以使用完全不同的单元, 在功能上,他们与其它类型的处理相关,例如数字音频处理、3-D动 画和许多已知的其它处理。通常,可以调度如图1和2所示的多个硬件单元来执行至少部分 相互独立的计算。从在图1的平台上执行的软件程序以及控制如图1 和图2所示的专用硬件单元的操作的观点来看,这样,可以以如图 3a和图3b所示的串行方式或并行方式将工作分派给硬件单元中的每 一个。如图3a所示,串行组合或合成意味着单个帧每次通过这三个 硬件单元/硬件级中的一个级。如图3b所示,并行组合意味着这三个 硬件单元以流水线方式同时对不同的帧进行操作。首先回到图3a,可以看出,不同硬件单元上的处理级的操作在时间上是串行的。例如,对于给定帧n,沿着时间线335,解码操作 305在增强操作310之前,而增强操作310在合成操作315之前。在 帧n以后,在320利用同样的方式处理帧n+l,并且在帧n+l以后, 在325利用同样的方式处理帧n+2。通常,在视频处理中,可以使用 24-30帧/秒(fys)的帧速率。在所述的实施例中,帧速率是30fj)s, 因此完全处理每帧的最大可用时间是33 ms。可选地,如图3b所示,可以在不同单元上对级采用完全并行的 组合来执行工作。如图所示,在该模式下,所有专用硬件单元并行地 运行,并且对工作进行流水线处理。这样,如图3b所示,在330的 第一时间片中,在DECODE单元在解码帧n的同时,IE单元正在增 强帧n-l, COMP单元正在合成帧n-2;接下来,将来自IE单元的数 据传递给COMP单元,将来自DECODE单元的数据传递给正单元, 而将一个新帧输入到DECODE单元。这样,在340,对帧n+l进行 解码,对帧n进行增强,而对帧n-l进行合成;并且在345,类似地 继续该过程。当本实施例中的诸如视频解码软件等软件使平台(例如图1的平 台)上的硬件单元操作时,由于各种原因,例如在移动平台上的操作, 期望减少平台的总功耗。如前面已经提到的,每当不需要平台资源而 将该资源设置在低功耗状态下时,可以通过使平台资源空闲或关闭来 减少功率。这可以包括例如关闭处理器的一部分,将存储器设置在自 刷新模式下,将附着到总线的设备断电或本文档来自技高网
...

【技术保护点】
一种方法,包括:    形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;    分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且    基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。

【技术特征摘要】
US 2006-12-19 11/642,1281、一种方法,包括形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。2、 如权利要求1所述的方法,其中形成多个流水线排序进一步 包括对多个可替换的流水线排序进行迭代。3、 如权利要求1所述的方法,其中确定所述排序中的每一个的 总功率进一步包括对于每个级,确定所述级的负载周期; 确定所述级的电压负载周期;至少部分地基于所述负载周期和所述电压负载周期来确定 所述级的功率;确定每组并行工作的级的负载周期;并且至少部分地基于每个级的所述负载周期以及每个级的存储器和/ 或其它共享资源的带宽,确定所述排序使用的存储器和/或其它共享 资源的功率。4、 如权利要求3所述的方法,其中确定每个级的所述负载周期 进一步包括至少部分地基于所述级的计算负载周期以及所述级所需 要的部分存储器和/或其它共享资源的带宽来确定所述负载周期。5、 如权利要求3所述的方法,其中确定每组并行工作的级的所述负载周期进一步包括至少部分地基于该组中并行操作的所有级所 需要的部分可用存储器和/或其它共享资源的带宽来确定该组并行工 作的级的负载周期。6、 如权利要求1所述的方法,其中所述排序中的每一个的总功 率进一步包括所述排序中的所有级的功率与所述排序使用的存储器 和/或其它共享资源的功率的总和。7、 如权利要求1所述的方法,其中基于所述多个流水线排序中 的每一个的所述确定的总功率来选择所述多个流水线排序中的一个 进一步包括选择一个流水线排序,该流水线排序具有所述多个排序 中的每一个的所述确定的最低总功率。8、 一种基于处理器的平台,包括 处理器;存储器;执行计算的多个硬件单元;执行所述计算的模块,其至少部分地驻留在所述存储器中,并且 可以由所述处理器和所述硬件单元执行,所述模块进一步包括用于进 行下列步骤的逻辑形成多个流水线排序,每个流水线排序包括流水线的多个级 的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总 功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率, 选择所述多个流水线排序中的一个。9、 如权利要求8所述的基于处理器的平台,其中形成多个流水 线排序进一步包括对多个可替换的流水线排序进行迭代。10、 如权利要求8所述的基于处理器的平台,其中确定所述排序中的每一个的总功率进一步包括 对于每个级,确定所述级的负载周期;确定所述级的电压负载周期;至少部分地基于所述负载周期和所述电压负载周期来确定 所述级的功率;确定每组并行工作的级的负载周期;并且至少部分地基于每个级的所述负载周期以及每个级的存储器和/ 或其它共享资源的带宽...

【专利技术属性】
技术研发人员:R加博尔江洪A纳韦G耶阿里姆Y优素福D拉吉万小J沃尔高
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利