用于硬件加速器的功率感知软件流水线的制作方法

文档序号:6616064阅读:157来源:国知局
专利名称:用于硬件加速器的功率感知软件流水线的制作方法
用于硬件力[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的平 台)上的硬件单元操作时,由于各种原因,例如在移动平台上的操作, 期望减少平台的总功耗。如前面已经提到的,每当不需要平台资源而 将该资源设置在低功耗状态下时,可以通过使平台资源空闲或关闭来 减少功率。这可以包括例如关闭处理器的一部分,将存储器设置在自 刷新模式下,将附着到总线的设备断电或空闲等,这些在现有技术中 都是已知的。通常,当如图3a和图3b所示的流水线处理正在运行时, 不可以关闭或空闲系统资源,这时图1的实施例中的诸如DECODE、 IE或COMP等单元正在运行。这样,可以看出的是,使图l的视频 处理实施例中用于处理视频帧所需的时间片的部分最小化可能是一 种降低总平台功率的好方法。分别如图3a和图3b所示的实施例的平台的单元上执行的各级的串行组合而使平台消耗的时间与各级的并行组合而使平台消耗的时 间的简单比较可以得出并行组合对平台功率施加了最小的总负荷, 这基于以下的假设,即,视频处理实施例的单元执行如图3b所示的级的流水线和并行组合所消耗的总时间比所述单元执行如图3a所示 的级的串行和顺序组合所消耗的总时间要小,由此使得系统的功耗部 件能够在可用于处理视频帧的时间内关闭更长的时间。然而,这种分析由于如图3b所示过程的流水线级通过共享资源 相互干扰的事实而变得复杂,其中当调度不同的单元以并行组合的方 式执行时,这些不同的单元必须同时访问该共享资源。存储器访问可 能常常是限制性资源。因此,各种单元同时的存储带宽需求变成了一 个问题(瓶颈)。代替在帧处理时间单位(在本实施例中,33ms)的 剩余时间内快速工作和将系统移入低功率状态,而是使这些单元共享 存储器,并由此可能使彼此变慢并且需要更长的总操作时间。因此, 实际上,情况是流水线中的级的串并行调度的组合可以将总的平台功 率降低到纯粹的并行组合的总功率以下。为了使平台功率最小化,可以考虑能够被置于低功率状态的各个 部件。在我们的例子中,这些部件包括平台的专用硬件单元(例如平 台的DECODE、 COMP、正、存储器控制器,各种总线),存储器, 其中,这是公知的。应该注意,保持单元活动要消耗功率,即使该单 元没有执行任何有用的工作。例如,组合逻辑电路由于漏电而消耗功 率,直到电源被关闭,而存储器只要具有打开的页就消耗功率,即使 没有读或写事务。图4示出了占2通道1333MHz的双数据率(DDR)存储器系统 的总带宽的百分比的存储带宽。该系统的有效带宽是11.5GB/s (假设 具有55%的通道效率)。该图同样示出了每个硬件单元的计算需求。 例如,合成单元(COMP)能够在7%的帧时间内将帧与字幕合成, 并且它需要总存储带宽的10%。应该注意,为了简单起见,在下面的分析中,省略了通过存储器 控制器和存储器的显示刷新流量(traffic),并且省略了 CPU的主内 核计算和带宽需求(例如,流预处理和音频处理)。显示刷新流量和 主CPU内核没有实质性地改变下面所示的权衡(tradeoff)。在图4中,示出了单元的工作的两个可能的组合。在一个示例中, 示出了一个纯粹的并行组合,并且在410计算它的存储带宽需求。在另外一个示例中,示出了第二并行和串行的组合,对该组合进行计算以使总的系统功率使用最小化,这里将其称为功率感知(power aware) 组合,并且在420示出了这种并行和串行的组合。在该图的右边,将本实施例的每个单元的实际负载周期(duty cycle)图示为条形图。在430,可以看到在功率感知组合中,每个 单元的存储器的负载周期是32%;而在并行组合中,它是28°/。。类 似地,在440、 450和460,示出了LLC、 GT、以及DECODE和IE 组合的每个单元的负载周期。如图4中的410所示,并行工作的总负载周期是28%,而420 处示出的功率感知模式的总负载周期是32%。在所示的例子中,在功率感知组合420中,可以在85%的时间 中关闭合成引擎(COMP)连同COMP所使用的处理器的部分,而 在并行或流水线合成中,它们只可以在72%的时间中被关闭。如可以 从该图的420看出的那样,CODEC和IE硬件工作更长的时间( 一起), 而它们可以消耗更小的功率量(例如,因为IE如果是低门数的硬件 加速器)。当所有单元关闭时,存储器进入更低功率或自刷新模式。 当计算不同单元的功率时,证明了图4底部所示的功率感知方式比并行工作方式消耗更小的功率。在上面的描述和附图中,示例性实施例是其中具有用于加速处理 的特定硬件单元的视频处理系统的实施例。在参照图4所述的功率感 知组合中,竞争的资源是存储带宽。在其它实施例中,该处理可能与 视频相关或者不相关,例如音频、图形、或其它应用。而且,在这种 应用中,竞争的资源可能不同于存储带宽,而是例如网络带宽、磁盘 带宽,或者其中的一种以上的该资源的组合。图5示出了一个实施例中的处理。该图示出了如何在一个实施例 中选择使用进行处理的单元的组合的较低功率,其开始于510。在该 实施例中,在520,生成一个新的流水线配置。这可以是执行单元中 的并行处理、串行处理、或并行和串行处理的组合,如图4中的410 和420所示的配置,其中所述执行单元例如是视频处理实施例中的 DECODE、 IE和COMP。基于己知的包括存储带宽、计算负载周期、平均激活和非激活(inactive)功率在内的参数,其中,在530计算 (或估计)该配置的总的单元功率。在540,计算出最小的计算功率, 并在550存储该最小的计算功率,在560判断是否还有通过剩余配置 的处理环。在570,返回所计算的最低功率配置。通常,可以将图5的处理扩展到许多不同的实施例,每个都具有 不同类型的单元,并且它们的功率计算可能如公知那样不同,并且这 已经在上面描述了。_一般算法输入,对于每个加速器单元/级(可以包括一个或多个主内核)。计算负载周期(在假设存储带宽无限的情况下,完成计算所 需要的时间)。所需的存储带宽 。激活时的平均功率 。非激活(供电)时的平均功率 -静态漏电功率,单元之间的关系(例如共享电压的正当流水线排序和组,其 中,当它们全部都没有激活时,可以完全切断该电压) ,对于存储器子系统。总的可用存储带宽。激活(假设一些平均激活)时的平均功率,或每MB/S带宽的功率。非激活(CKE模式/所有页面关闭)时的平均功率输出,计算出的高效方式运行流水线的最低功率 算法l.对选择的(或者所有的)流水线排序方案(串行、并行、串行+并 行,等等)进行迭代。对于每个流水线排序 l丄计算每个单元的负载周期,单独工作的单元的负载周期最大(计算负载周期、所需的存 储带宽/可用的存储带宽),并行工作的单元的负载周期最大(计算负载周期、所需的总 存储带宽(所有的并行单元)/可用的存储带宽)1.2. 根据负载周期和流水线排序(例如,具有两个单元的一组仅 在该组的两个单元都没有激活时才可以切断其电压),计算电压负载 周期。1.3. 计算每个单元的功率功率=负载周期*激活功率+电压负载周期*非激活功率1.4. 使用所需的带宽和总的激活负载周期(每个流水线的所有单 元的)来计算存储器子单元的功率。当所有单元空闲时,假设所有页 面关闭(非激活时的存储器功率)1.5. 计算所有单元与存储器子单元的功率总和,以获得该配置(流 水线排序)的总功率2.产生作为输出的流水线排序,其具有最低的总功率表1描述了与图5中的流程图相对应的详细处理。在上述处理中, 总功率是各种单元的(平均)功率与它们的计算负载周期之积的总和。 存储器可以被认为是下面这样的单元,其负载周期是所有单元的存储 带宽需求的负载周期的总和。所述功率计算还应该考虑每个单元的低功率模式,其乘以不工作的周期(off duty cycle) (l-负载周期)。在 该实施例的例子中,其中Pdecode是CODEC单元所消耗的功率, Pcomp是COMP单元所消耗的功率,Pie是IE单元所消耗的功率, Pddr是存储器在激活状态下消耗的功率,以及Pddr一SelfRefresh是存 储器在自刷新模式下消耗的功率,总功率是Pdecocfe* 10%+Pcomp*7%+Pie* 17%+Pddr*32%+Pddr—SelfRefresh*68%。这个方程列出了各个单元的平均功率,忽略了它们关断时的功率(除了 Pddr_SelfRefresh,存储器的低功率状态,其通常因为太高而 不能忽略)。为了使计算更加精确,可以加上乘以实际负载周期(计 算的存储带宽和总的存储带宽之间的最大值)的漏电功率。基于上面的功率计算(其使用各个单元的平均功率的常数),软 件可以确定哪一种方式可能是功率上最高效的运行方式。应该注意的是,该计算只是一个例子,并且可以对其改进以包括 工作频率、存储器流量混合、内核利用以及其它的因素。而且,该方 法可以静态(预先确定的功率感知流水线)或动态地应用。在先前的描述中,为了进行解释,阐述了许多具体细节,以便于 充分理解所述实施例,然而,本领域技术人员应该意识到可以在没有 这些具体细节的情况下实施许多其它的实施例。上面详细说明中的一些部分是以对基于处理器的系统内的数据 位进行操作的算法和符号表示来介绍的。这些算法说明和表示是本领 域技术人员所使用的手段,以便于将他们工作的内容最有效地传达给 本领域的其他技术人员。所述操作是需要对物理量进行物理处理的操 作。这些量可以采用能够被存储、传输、组合、比较以及进行其它处 理的电、磁、光或其它物理信号的形式。已经不时地证实了主要由 于公共使用的原因,将这些信号称为位、值、元素、符号、字符、术 语、数值等通常是方便的。然而,应该记住的是,所有这些术语和类似术语都与适当的物理 量相关联,并且仅仅是应用于这些量的方便性标记。除非其它特别说 明,否则由下面的描述显而易见的是,例如"执行"或"处理"或"计 算"或"运算"或"确定"等术语可以指基于处理器的系统或者类似 电子计算设备的动作和过程,其将被表示为基于处理器的系统内存储 的物理量等数据处理和转换成同样被表示为物理量或其它信息存储、 传输或显示设备内的物理量的其他数据。。在实施例的说明中,可以参考附图。在这些附图中,相似的数字 在几个视图中描述基本类似的部件。可以采用其它实施例,并且可以 进行结构变化、逻辑变化以及电气变化。而且,应该理解的是,各种 实施例尽管不同,但是他们并不一定相互排斥。例如, 一个实施例中描述的特定特征、结构或其他特性可能也包括在其它实施例中。此外,处理器中实现的实施例的设计可能要经过从创建到仿真再 到制造的各种阶段。表示一个设计的数据可以以多种方式来表示该设 计。首先,如在仿真中有用的,可以使用硬件描述语言或其它功能描 述语言来表示硬件。另外,可以在设计过程的一些阶段生产具有逻辑 电路和/或晶体管门电路的电路级模型。更进一步地,在一些阶段, 大多数设计达到了这样一种水平,即其中的数据表示硬件模型中各种 器件的物理布局。在使用传统半导体制造技术的情况下,表示硬件模 型的数据可以是指定了在用来制造集成电路的掩模的不同掩模层上 是否存在各种特征的数据。在设计的任何表示中,数据都可以存储在 任何形式的机器可读介质中。所述机器可读介质可以是被调制或进行 了其他处理而生成的用来传输这种信息的光波或电波、存储器、或者 诸如盘片等磁存储设备或光存储设备。任何这些介质都可以"携带" 或"指示"设计或软件信息。当传输一个指示或携带代码或设计的电载 波时,在对该电信号进行拷贝、缓冲或重新传输的意义上,形成了新 的拷贝。因此,通信提供商或网络提供商可以制造构成或表示实施例 的产品(载波)的拷贝。实施例可以作为程序产品来提供,该程序产品可以包括其上存储 了数据的机器可读介质,当机器访问这些数据时可以使得该机器执行 根据权利要求的主题的过程。该机器可读介质可以包括,但是不局限于,软盘、光盘、DVD-ROM盘、DVD-RAM盘、DVD-RW盘、DVD+RW 盘、CD-R盘、CD-RW盘、CD-ROM盘、以及磁光盘、ROM、 RAM、 EPROM、 EEPROM、磁卡或光卡、闪存、或其它类型的适合于存储 电子指令的介质/机器可读介质。而且,还可以将实施例作为程序产 品来下载,其中该程序可以作为载波或其它传播介质中包含的数据信 号经由通信链路(例如Modem或网络连接)从远程的数据源传输到 请求设备。仅以许多方法的最基本的形式描述了这些方法,但是可以将若干 步骤添加到这些方法的任意一种中,或者从这些方法的任意一种中删 除若干步骤,并且可以将信息添加到上述任意消息中,或者从上述任意消息中删除信息,而没有脱离所要求保护的主题的基本范围。对本 领域技术人员来说显而易见的是,可以进行许多进一步的改进和修 改。提供了特定的实施例并不是要限制所要求保护的主题,而是为了 对其进行说明。所要求保护的主题的范围不是由上文提供的具体实例 确定的,而是由以下的权利要求确定的。
权利要求
1、一种方法,包括形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。
2、 如权利要求1所述的方法,其中形成多个流水线排序进一步 包括对多个可替换的流水线排序进行迭代。
3、 如权利要求1所述的方法,其中确定所述排序中的每一个的 总功率进一步包括对于每个级,确定所述级的负载周期; 确定所述级的电压负载周期;至少部分地基于所述负载周期和所述电压负载周期来确定 所述级的功率;确定每组并行工作的级的负载周期;并且至少部分地基于每个级的所述负载周期以及每个级的存储器和/ 或其它共享资源的带宽,确定所述排序使用的存储器和/或其它共享 资源的功率。
4、 如权利要求3所述的方法,其中确定每个级的所述负载周期 进一步包括至少部分地基于所述级的计算负载周期以及所述级所需 要的部分存储器和/或其它共享资源的带宽来确定所述负载周期。
5、 如权利要求3所述的方法,其中确定每组并行工作的级的所述负载周期进一步包括至少部分地基于该组中并行操作的所有级所 需要的部分可用存储器和/或其它共享资源的带宽来确定该组并行工 作的级的负载周期。
6、 如权利要求1所述的方法,其中所述排序中的每一个的总功 率进一步包括所述排序中的所有级的功率与所述排序使用的存储器 和/或其它共享资源的功率的总和。
7、 如权利要求1所述的方法,其中基于所述多个流水线排序中 的每一个的所述确定的总功率来选择所述多个流水线排序中的一个 进一步包括选择一个流水线排序,该流水线排序具有所述多个排序 中的每一个的所述确定的最低总功率。
8、 一种基于处理器的平台,包括 处理器;存储器;执行计算的多个硬件单元;执行所述计算的模块,其至少部分地驻留在所述存储器中,并且 可以由所述处理器和所述硬件单元执行,所述模块进一步包括用于进 行下列步骤的逻辑形成多个流水线排序,每个流水线排序包括流水线的多个级 的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总 功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率, 选择所述多个流水线排序中的一个。
9、 如权利要求8所述的基于处理器的平台,其中形成多个流水 线排序进一步包括对多个可替换的流水线排序进行迭代。
10、 如权利要求8所述的基于处理器的平台,其中确定所述排序中的每一个的总功率进一步包括 对于每个级,确定所述级的负载周期;确定所述级的电压负载周期;至少部分地基于所述负载周期和所述电压负载周期来确定 所述级的功率;确定每组并行工作的级的负载周期;并且至少部分地基于每个级的所述负载周期以及每个级的存储器和/ 或其它共享资源的带宽,确定所述排序使用的存储器和/或其它共享 资源的功率。
11、 如权利要求IO所述的基于处理器的平台,其中用于确定每 个级的所述负载周期进一步包括至少部分地基于所述级的计算负载 周期以及所述级所需要的部分存储器和/或其它共享资源的带宽来确 定所述负载周期。
12、 如权利要求IO所述的基于处理器的平台,其中用于确定每 组并行工作的级的所述负载周期进一步包括至少部分地基于该组中并行操作的所有级所需要的部分可用存储器和/或其它共享资源的带 宽来确定该组并行工作的级的负载周期。
13、 如权利要求8所述的基于处理器的平台,其中所述排序中的 每一个的总功率进一步包括所述排序中的所有级的功率与所述排序 使用的存储器和/或其它共享资源的功率的总和。
14、 如权利要求8所述的基于处理器的平台,其中基于所述多个 流水线排序中的每一个的所述确定的总功率来选择所述多个流水线排序中的一个进一步包括选择一个流水线排序,该流水线排序具有所述多个排序中的每一个的所述确定的最低总功率。
15、 一种其上存储有数据的机器可读介质,当机器访问该数据时使得所述机器执行一种方法,该方法包括形成多个流水线排序,每个流水线排序包括流水线的多个级的串 行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择 所述多个流水线排序中的一个。
16、 如权利要求15所述的机器可读介质,其中形成多个流水线 排序进一步包括对多个可替换的流水线排序进行迭代。
17、 如权利要求15所述的机器可读介质,其中确定所述排序中 的每一个的总功率进一步包括对于每个级,确定所述级的负载周期; 确定所述级的电压负载周期;至少部分地基于所述负载周期和所述电压负载周期来确定 所述级的功率;确定每组并行工作的级的负载周期;并且至少部分地基于每个级的所述负载周期以及每个级的存储带宽, 确定所述排序使用的存储器和/或其它共享资源的功率。
18、 如权利要求17所述的机器可读介质,其中确定每个级的所 述负载周期进一步包括至少部分地基于所述级的计算负载周期以及 所述级所需要的部分存储器和/或其它共享资源的带宽来确定所述负 载周期。
19、 如权利要求17所述的机器可读介质,其中确定每组并行工作的级的所述负载周期进一步包括至少部分地基于该组中并行操作 的所有级所需要的部分可用存储器和/或其它共享资源的带宽来确定 该组并行工作的级的负载周期。
20、 如权利要求15所迷的机器可读介质,其中所述排序中的每一个的总功率进一步包括所述排序中的所有级的功率与所述排序使 用的存储器和/或其它共享资源的功率的总和。
21、 如权利要求15所述的机器可读介质,其中基于所述多个流 水线排序中的每一个的所述确定的总功率来选择所述多个流水线排序中的一个进一步包括选择一个流水线排序,该流水线排序具有所述多个排序中的每一个的所述确定的最低总功率。
全文摘要
形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。
文档编号G06F9/38GK101221495SQ200710306869
公开日2008年7月16日 申请日期2007年12月19日 优先权日2006年12月19日
发明者A·纳韦, D·拉吉万, G·耶阿里姆, R·加博尔, Y·优素福, 小J·沃尔高, 洪 江 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1