CN101221495B - 选择流水线配置的方法和执行该方法的基于处理器的平台 - Google Patents

选择流水线配置的方法和执行该方法的基于处理器的平台 Download PDF

Info

Publication number
CN101221495B
CN101221495B CN2007103068699A CN200710306869A CN101221495B CN 101221495 B CN101221495 B CN 101221495B CN 2007103068699 A CN2007103068699 A CN 2007103068699A CN 200710306869 A CN200710306869 A CN 200710306869A CN 101221495 B CN101221495 B CN 101221495B
Authority
CN
China
Prior art keywords
streamline
ordering
power
grade
duty cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007103068699A
Other languages
English (en)
Other versions
CN101221495A (zh
Inventor
R·加博尔
江洪
A·纳韦
G·耶阿里姆
Y·优素福
D·拉吉万
小J·沃尔高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101221495A publication Critical patent/CN101221495A/zh
Application granted granted Critical
Publication of CN101221495B publication Critical patent/CN101221495B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Image Generation (AREA)
  • Supply And Distribution Of Alternating Current (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;分析所述多个流水线排序来确定所述排序中的每一个的总功率;并且基于所述多个流水线排序中的每一个的所述确定的总功率,选择所述多个流水线排序中的一个。

Description

选择流水线配置的方法和执行该方法的基于处理器的平台
背景技术
在基于处理器的平台中,所希望的特征是较低的平台功率和最大化的电池寿命。除了别的以外,可以使用低的硬件功率状态和存储器自刷新模式来减少功耗和增大电池寿命。在可行的情况下,期望在功率管理平台上将尽可能多的硬件移入低功率状态,并且增大存储器的自刷新时间,以便于使平台的功率最小化。
一些平台可能包括基于专用硬件的部件或功能,通常称为硬件加速。一个例子是视频解码数据流,其可以通过多个级来传递数据,例如现有技术中公知的解码级、图像增强级和合成级。为了降低功耗,可以使用几种方法。一种方法是在经过这些级时利用流水线处理来运行一个多级硬件加速过程,例如视频解码器,以使得所有的级并行运行,然后所有的级都关闭或空闲,直到调度(schedule)下一帧来处理。这种方法可能基于这样一个假设,即一个并行的流水线使得平台在大多数时间中处于空闲模式,这使得各种各样的部件能够处于低功率状态下。
附图说明
图1示出了一个实施例中的基于处理器的平台;
图2示出了一个实施例中的用于视频处理的多个单元的流水线;
图3示出了一个实施例中的视频处理的串并行组合;
图4示出了一个实施例中的视频处理级的并行和功率感知组合;以及
图5示出了一个实施例中的处理流程。
具体实施方式
图1示出了一个实施例中的基于处理器的平台100。这种系统包括一个或多个处理器110、存储子系统以及非易失性存储单元,其中该处理器110可能具有一个或多个内核,该存储子系统包括读-写随机存取存储器(RAM存储器)150,以用于存储数据和可由处理器执行的程序,而非易失性存储单元例如是盘片系统160,通过总线系统140和145对上述部件进行互连,并通过系统输入/输出(I/O)设备和外围设备170与外部网络或用户进行对接。众所周知,许多其它的部件,例如高速缓冲存储器、其它存储设备等也与所述处理器110一起存在。类似地,在基于处理器的系统中还存在其它部件,但是为了简明,这里不再描述。
在一些实施例中,基于处理器的平台100可以包括专用硬件单元,也称为加速器,以用于特定类型的计算。例如,视频处理功能可以由硬件单元110、120和130提供,如图1所示,每个经由一条或多条总线互连到系统总线145。在所述的示例性实施例中,该平台可以用来例如处理高清晰视频。这样,在图中所示的例子中,编码器-解码器单元(CODEC)110是硬件解码单元或引擎,可以提供压缩的视频流作为它的输入。该单元110将视频流解码成多个帧。图像增强(IE)单元120能够进行图像缩放、帧速率转换、运动补偿的反交错以及众所周知的其它相关的视频处理和图像增强功能。合成(COMP)单元130可以进行若干个层的合成,所述若干个层例如是字幕、图形或主视频流之上的其它视频流。
具体而言,尽管根据特定的视频处理应用描述了此处所述的实施例,但是在其它实施例中可以提供其它类型的硬件单元或加速器来满足不同的功能需求。例如,可以使用专用硬件单元为高清晰、环绕声处理计算平台进行环绕声解码,所述高清晰、环绕声处理计算平台例如可以是用来混合,控制或产生多通道数字音频内容的处理计算平台,或者可选地,其是为了再现而处理环绕声数字源的处理计算平台。在其它实施例中,可以使用专用硬件单元来生成用于例如游戏或科学可视化应用的三维图形。使用专用硬件在基于处理器的平台环境下执行处理的许多其它实施例在技术领域中是公知的。
图2在框图级对一个实施例中的视频帧处理进行了更加详细的描述,该实施例使用了基于处理器的平台的存储器和前面所述的硬件单元。每个视频帧经过在三个硬件单元上执行的三个硬件级,其中,数据通过主存储器在单元之间传递。该图示出了三个硬件单元,这三个硬件单元在该实施例中处理由视频帧所组成的视频流223。这三个硬件单元是解码单元或CODEC 260、图像增强或IE单元280、以及合成或COMP单元215。当所处理的视频帧的流通过这些单元时,如图所示,CODEC 260首先对其处理,然后IE 280对其处理,最后COMP215对其处理。CODEC 260处的解码处理270使得存储带宽的利用220在本实施例中为0.3GB/s,如图所示,虽然实际带宽将随应用、实施例中的具体硬件、可用的最大存储带宽以及许多其它因素而变化,这是公知的。类似地,IE 280处的处理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+1,并且在帧n+1以后,在325利用同样的方式处理帧n+2。通常,在视频处理中,可以使用24-30帧/秒(fps)的帧速率。在所述的实施例中,帧速率是30fps,因此完全处理每帧的最大可用时间是33ms。
可选地,如图3b所示,可以在不同单元上对级采用完全并行的组合来执行工作。如图所示,在该模式下,所有专用硬件单元并行地运行,并且对工作进行流水线处理。这样,如图3b所示,在330的第一时间片中,在DECODE单元在解码帧n的同时,IE单元正在增强帧n-1,COMP单元正在合成帧n-2;接下来,将来自IE单元的数据传递给COMP单元,将来自DECODE单元的数据传递给IE单元,而将一个新帧输入到DECODE单元。这样,在340,对帧n+1进行解码,对帧n进行增强,而对帧n-1进行合成;并且在345,类似地继续该过程。
当本实施例中的诸如视频解码软件等软件使平台(例如图1的平台)上的硬件单元操作时,由于各种原因,例如在移动平台上的操作,期望减少平台的总功耗。如前面已经提到的,每当不需要平台资源而将该资源设置在低功耗状态下时,可以通过使平台资源空闲或关闭来减少功率。这可以包括例如关闭处理器的一部分,将存储器设置在自刷新模式下,将附着到总线的设备断电或空闲等,这些在现有技术中都是已知的。通常,当如图3a和图3b所示的流水线处理正在运行时,不可以关闭或空闲系统资源,这时图1的实施例中的诸如DECODE、IE或COMP等单元正在运行。这样,可以看出的是,使图1的视频处理实施例中用于处理视频帧所需的时间片的部分最小化可能是一种降低总平台功率的好方法。
分别如图3a和图3b所示的实施例的平台的单元上执行的各级的串行组合而使平台消耗的时间与各级的并行组合而使平台消耗的时间的简单比较可以得出:并行组合对平台功率施加了最小的总负荷,这基于以下的假设,即,视频处理实施例的单元执行如图3b所示的 级的流水线和并行组合所消耗的总时间比所述单元执行如图3a所示的级的串行和顺序组合所消耗的总时间要小,由此使得系统的功耗部件能够在可用于处理视频帧的时间内关闭更长的时间。
然而,这种分析由于如图3b所示过程的流水线级通过共享资源相互干扰的事实而变得复杂,其中当调度不同的单元以并行组合的方式执行时,这些不同的单元必须同时访问该共享资源。存储器访问可能常常是限制性资源。因此,各种单元同时的存储带宽需求变成了一个问题(瓶颈)。代替在帧处理时间单位(在本实施例中,33ms)的剩余时间内快速工作和将系统移入低功率状态,而是使这些单元共享存储器,并由此可能使彼此变慢并且需要更长的总操作时间。因此,实际上,情况是流水线中的级的串并行调度的组合可以将总的平台功率降低到纯粹的并行组合的总功率以下。
为了使平台功率最小化,可以考虑能够被置于低功率状态的各个部件。在我们的例子中,这些部件包括平台的专用硬件单元(例如平台的DECODE、COMP、IE、存储器控制器,各种总线),存储器,其中,这是公知的。应该注意,保持单元活动要消耗功率,即使该单元没有执行任何有用的工作。例如,组合逻辑电路由于漏电而消耗功率,直到电源被关闭,而存储器只要具有打开的页就消耗功率,即使没有读或写事务。
图4示出了占2通道1333MHz的双数据率(DDR)存储器系统的总带宽的百分比的存储带宽。该系统的有效带宽是11.5GB/s(假设具有55%的通道效率)。该图同样示出了每个硬件单元的计算需求。例如,合成单元(COMP)能够在7%的帧时间内将帧与字幕合成,并且它需要总存储带宽的10%。
应该注意,为了简单起见,在下面的分析中,省略了通过存储器控制器和存储器的显示刷新流量(traffic),并且省略了CPU的主内核计算和带宽需求(例如,流预处理和音频处理)。显示刷新流量和主CPU内核没有实质性地改变下面所示的权衡(tradeoff)。
在图4中,示出了单元的工作的两个可能的组合。在一个示例中,示出了一个纯粹的并行组合,并且在410计算它的存储带宽需求。在 另外一个示例中,示出了第二并行和串行的组合,对该组合进行计算以使总的系统功率使用最小化,这里将其称为功率感知(power aware)组合,并且在420示出了这种并行和串行的组合。
在该图的右边,将本实施例的每个单元的实际负载周期(dutycycle)图示为条形图。在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的处理扩展到许多不同的实施例,每个都具有不同类型的单元,并且它们的功率计算可能如公知那样不同,并且这已经在上面描述了。
表1
一般算法输入:   ●对于每个加速器单元/级(可以包括一个或多个主内核):     ○计算负载周期(在假设存储带宽无限的情况下,完成计算所需要的时间)     ○所需的存储带宽     ○激活时的平均功率     ○非激活(供电)时的平均功率     -静态漏电功率   ●单元之间的关系(例如:共享电压的正当流水线排序和组,其中,当它们全部都没有激活时,可以完全切断该电压)   ●对于存储器子系统:      ○总的可用存储带宽      ○激活(假设一些平均激活)时的平均功率,或每MB/s带宽的功率      ○非激活(CKE模式/所有页面关闭)时的平均功率输出:   ●计算出的高效方式运行流水线的最低功率算法:1.对选择的(或者所有的)流水线排序方案(串行、并行、串行+并行,等等)进行迭代。
    对于每个流水线排序:    1.1.计算每个单元的负载周期:      ●单独工作的单元的负载周期最大(计算负载周期、所需的存储带宽/可用的存储带宽)      ●并行工作的单元的负载周期最大(计算负载周期、所需的总存储带宽(所有的并行单元)/可用的存储带宽)    1.2.根据负载周期和流水线排序(例如,具有两个单元的一组仅在该组的两个单元都没有激活时才可以切断其电压),计算电压负载周期。    1.3.计算每个单元的功率:    功率=负载周期*激活功率+电压负载周期*非激活功率    1.4.使用所需的带宽和总的激活负载周期(每个流水线的所有单元的)来计算存储器子单元的功率。当所有单元空闲时,假设所有页面关闭(非激活时的存储器功率)    1.5.计算所有单元与存储器子单元的功率总和,以获得该配置(流水线排序)的总功率2.产生作为输出的流水线排序,其具有最低的总功率
表1描述了与图5中的流程图相对应的详细处理。在上述处理中,总功率是各种单元的(平均)功率与它们的计算负载周期之积的总和。存储器可以被认为是下面这样的单元,其负载周期是所有单元的存储带宽需求的负载周期的总和。所述功率计算还应该考虑每个单元的低功率模式,其乘以不工作的周期(off duty cycle)(1-负载周期)。在该实施例的例子中,其中Pdecode是CODEC单元所消耗的功率,Pcomp是COMP单元所消耗的功率,Pie是IE单元所消耗的功率,Pddr是存储器在激活状态下消耗的功率,以及Pddr_SelfRefresh是存储器在自刷新模式下消耗的功率,总功率是:
Pdecode*10%+Pcomp*7%+Pie*17%+Pddr*32%+Pddr_SelfRefresh*68%。
这个方程列出了各个单元的平均功率,忽略了它们关断时的功率 (除了Pddr_SelRefresh,存储器的低功率状态,其通常因为太高而不能忽略)。为了使计算更加精确,可以加上乘以实际负载周期(计算的存储带宽和总的存储带宽之间的最大值)的漏电功率。
基于上面的功率计算(其使用各个单元的平均功率的常数),软件可以确定哪一种方式可能是功率上最高效的运行方式。
应该注意的是,该计算只是一个例子,并且可以对其改进以包括工作频率、存储器流量混合、内核利用以及其它的因素。而且,该方法可以静态(预先确定的功率感知流水线)或动态地应用。
在先前的描述中,为了进行解释,阐述了许多具体细节,以便于充分理解所述实施例,然而,本领域技术人员应该意识到可以在没有这些具体细节的情况下实施许多其它的实施例。
上面详细说明中的一些部分是以对基于处理器的系统内的数据位进行操作的算法和符号表示来介绍的。这些算法说明和表示是本领域技术人员所使用的手段,以便于将他们工作的内容最有效地传达给本领域的其他技术人员。所述操作是需要对物理量进行物理处理的操作。这些量可以采用能够被存储、传输、组合、比较以及进行其它处理的电、磁、光或其它物理信号的形式。已经不时地证实了:主要由于公共使用的原因,将这些信号称为位、值、元素、符号、字符、术语、数值等通常是方便的。
然而,应该记住的是,所有这些术语和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便性标记。除非其它特别说明,否则由下面的描述显而易见的是,例如“执行”或“处理”或“计算”或“运算”或“确定”等术语可以指基于处理器的系统或者类似电子计算设备的动作和过程,其将被表示为基于处理器的系统内存储的物理量等数据处理和转换成同样被表示为物理量或其它信息存储、传输或显示设备内的物理量的其他数据。
在实施例的说明中,可以参考附图。在这些附图中,相似的数字在几个视图中描述基本类似的部件。可以采用其它实施例,并且可以进行结构变化、逻辑变化以及电气变化。而且,应该理解的是,各种实施例尽管不同,但是他们并不一定相互排斥。例如,一个实施例中 描述的特定特征、结构或其他特性可能也包括在其它实施例中。
此外,处理器中实现的实施例的设计可能要经过从创建到仿真再到制造的各种阶段。表示一个设计的数据可以以多种方式来表示该设计。首先,如在仿真中有用的,可以使用硬件描述语言或其它功能描述语言来表示硬件。另外,可以在设计过程的一些阶段生产具有逻辑电路和/或晶体管门电路的电路级模型。更进一步地,在一些阶段,大多数设计达到了这样一种水平,即其中的数据表示硬件模型中各种器件的物理布局。在使用传统半导体制造技术的情况下,表示硬件模型的数据可以是指定了在用来制造集成电路的掩模的不同掩模层上是否存在各种特征的数据。在设计的任何表示中,数据都可以存储在任何形式的机器可读介质中。所述机器可读介质可以是被调制或进行了其他处理而生成的用来传输这种信息的光波或电波、存储器、或者诸如盘片等磁存储设备或光存储设备。任何这些介质都可以“携带”或“指示”设计或软件信息。当传输一个指示或携带代码或设计的电载波时,在对该电信号进行拷贝、缓冲或重新传输的意义上,形成了新的拷贝。因此,通信提供商或网络提供商可以制造构成或表示实施例的产品(载波)的拷贝。
实施例可以作为程序产品来提供,该程序产品可以包括其上存储了数据的机器可读介质,当机器访问这些数据时可以使得该机器执行根据权利要求的主题的过程。该机器可读介质可以包括,但是不局限于,软盘、光盘、DVD-ROM盘、DVD-RAM盘、DVD-RW盘、DVD+RW盘、CD-R盘、CD-RW盘、CD-ROM盘、以及磁光盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存、或其它类型的适合于存储电子指令的介质/机器可读介质。而且,还可以将实施例作为程序产品来下载,其中该程序可以作为载波或其它传播介质中包含的数据信号经由通信链路(例如Modem或网络连接)从远程的数据源传输到请求设备。
仅以许多方法的最基本的形式描述了这些方法,但是可以将若干步骤添加到这些方法的任意一种中,或者从这些方法的任意一种中删除若干步骤,并且可以将信息添加到上述任意消息中,或者从上述任 意消息中删除信息,而没有脱离所要求保护的主题的基本范围。对本领域技术人员来说显而易见的是,可以进行许多进一步的改进和修改。提供了特定的实施例并不是要限制所要求保护的主题,而是为了对其进行说明。所要求保护的主题的范围不是由上文提供的具体实例确定的,而是由以下的权利要求确定的。

Claims (12)

1.一种选择流水线配置的方法,包括:
形成多个流水线排序,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;
至少部分地基于每个流水线排序的资源参数来确定每个流水线排序的总功率,其中确定每个流水线排序的总功率包括:
对于每个流水线排序的每个级,
确定所述级的负载周期;
确定所述级的电压负载周期;
至少部分地基于所述负载周期和所述电压负载周期来确定所述级的功率;
确定每个级的每个并行组合的负载周期;并且
至少部分地基于每个级的所述负载周期以及每个级的存储器和/或其它共享资源的带宽,确定用于所述排序的存储器和/或其它共享资源的功率;并且
基于所述确定的每个流水线排序的总功率,选择每个流水线排序中的具有最低的所确定的总功率的一个流水线排序。
2.如权利要求1所述的方法,其中形成多个流水线排序进一步包括:对多个可替换的流水线排序进行迭代。
3.如权利要求1所述的方法,其中确定每个流水线排序的每个级的所述负载周期进一步包括:至少部分地基于所述级的计算负载周期以及所述级所需要的部分存储器和/或其它共享资源的带宽来确定所述负载周期。
4.如权利要求1所述的方法,其中确定每个级的每个并行组合的所述负载周期进一步包括:至少部分地基于每个级的每个并行组合中的所有级所需要的部分可用存储器和/或其它共享资源的带宽来确定每个级的每个并行组合的负载周期。
5.如权利要求1所述的方法,其中每个流水线排序的总功率包括每个流水线排序中的所有级的功率与每个流水线排序使用的存储器和/或其它共享资源的功率的总和。
6.如权利要求1所述的方法,其中每个流水线排序的资源参数包括存储器带宽、计算负载周期、平均激活功率、平均非激活功率、工作频率、存储器流量混合、内核利用中的至少一个。
7.一种选择流水线配置的装置,包括:
用于形成多个流水线排序的模块,每个流水线排序包括流水线的多个级的串行、并行、或串并行组合三者中的一个;
用于至少部分地基于每个流水线排序的资源参数来确定每个流水线排序的总功率的模块,其中用于确定每个流水线排序的总功率的模块包括:
对于每个流水线排序的每个级,
确定所述级的负载周期;
确定所述级的电压负载周期;
至少部分地基于所述负载周期和所述电压负载周期来确定所述级的功率;
确定每个级的每个并行组合的负载周期;并且
至少部分地基于每个级的所述负载周期以及每个级的存储器和/或其它共享资源的带宽,确定用于所述排序的存储器和/或其它共享资源的功率;和
用于基于所述确定的每个流水线排序的总功率,选择每个流水线排序中的具有最低的所确定的总功率的一个流水线排序的模块。
8.如权利要求7所述的装置,其中用于形成所述多个流水线排序的模块包括:对多个可替换的流水线排序进行迭代。
9.如权利要求7所述的装置,其中用于确定每个流水线排序的每个级的所述负载周期的模块进一步包括:至少部分地基于所述级的计算负载周期以及所述级所需要的部分存储器和/或其它共享资源的带宽来确定所述负载周期。
10.如权利要求7所述的装置,其中用于确定每个级的每个并行组合的所述负载周期的模块进一步包括:至少部分地基于每个级的每个并行组合中的所有级所需要的部分可用存储器和/或其它共享资源的带宽来确定每个级的每个并行组合的负载周期。
11.如权利要求7所述的装置,其中所述每个流水线排序的总功率包括每个流水线排序中的所有级的功率与每个流水线排序使用的存储器和/或其它共享资源的功率的总和。
12.如权利要求7所述的装置,其中,每个流水线排序的资源参数包括存储器带宽、计算负载周期、平均激活功率、平均非激活功率、工作频率、存储器流量混合、内核利用中的至少一个。
CN2007103068699A 2006-12-19 2007-12-19 选择流水线配置的方法和执行该方法的基于处理器的平台 Expired - Fee Related CN101221495B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/642,128 2006-12-19
US11/642,128 US7725745B2 (en) 2006-12-19 2006-12-19 Power aware software pipelining for hardware accelerators

Publications (2)

Publication Number Publication Date
CN101221495A CN101221495A (zh) 2008-07-16
CN101221495B true CN101221495B (zh) 2011-09-07

Family

ID=39295579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007103068699A Expired - Fee Related CN101221495B (zh) 2006-12-19 2007-12-19 选择流水线配置的方法和执行该方法的基于处理器的平台

Country Status (3)

Country Link
US (2) US7725745B2 (zh)
EP (1) EP1956465B1 (zh)
CN (1) CN101221495B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725745B2 (en) * 2006-12-19 2010-05-25 Intel Corporation Power aware software pipelining for hardware accelerators
US20080256341A1 (en) * 2007-04-11 2008-10-16 Microsoft Corporation Data Processing Pipeline Selection
CN101697226B (zh) * 2009-10-23 2012-01-18 北京大学 新型异步流水线地形绘制方法
KR20120132615A (ko) * 2010-03-31 2012-12-06 파나소닉 주식회사 실장 라인 전력 제어 장치 및 실장 라인 전력 제어 방법
US20140053161A1 (en) * 2012-08-14 2014-02-20 Advanced Micro Devices, Inc. Method for Adaptive Scheduling of Multimedia Jobs
US20140237272A1 (en) * 2013-02-19 2014-08-21 Advanced Micro Devices, Inc. Power control for data processor
US9299122B2 (en) 2013-09-25 2016-03-29 Apple Inc. Neighbor context processing in block processing pipelines
US9305325B2 (en) 2013-09-25 2016-04-05 Apple Inc. Neighbor context caching in block processing pipelines
US9270999B2 (en) 2013-09-25 2016-02-23 Apple Inc. Delayed chroma processing in block processing pipelines
US9218639B2 (en) 2013-09-27 2015-12-22 Apple Inc. Processing order in block processing pipelines
US9571846B2 (en) 2013-09-27 2017-02-14 Apple Inc. Data storage and access in block processing pipelines
US9215472B2 (en) * 2013-09-27 2015-12-15 Apple Inc. Parallel hardware and software block processing pipelines
KR101666395B1 (ko) * 2013-10-14 2016-10-14 한국전자통신연구원 멀티코어 환경에서 우선순위 기반의 실시간 운영체제의 태스크 스케줄링 방법
US9807410B2 (en) 2014-07-02 2017-10-31 Apple Inc. Late-stage mode conversions in pipelined video encoders
US10089259B2 (en) * 2015-07-21 2018-10-02 BigStream Solutions, Inc. Precise, efficient, and transparent transfer of execution between an auto-generated in-line accelerator and processor(s)
JP6639520B2 (ja) * 2015-11-27 2020-02-05 株式会社Fuji 部品供給装置の電源制御装置および電源制御方法
US11721406B2 (en) * 2021-08-06 2023-08-08 Micron Technology, Inc. Generating test data for a memory system design based on operation of a test system, and related methods, devices, and systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2798121B2 (ja) * 1995-08-04 1998-09-17 日本電気株式会社 データ処理装置
US6289465B1 (en) * 1999-01-11 2001-09-11 International Business Machines Corporation System and method for power optimization in parallel units
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US7430631B2 (en) * 2002-05-24 2008-09-30 Nxp B.V. Access to a wide memory
JP4624098B2 (ja) * 2002-05-24 2011-02-02 エヌエックスピー ビー ヴィ プロセッサのアドレス発生ユニット
JP2004127139A (ja) * 2002-10-07 2004-04-22 Matsushita Electric Ind Co Ltd マイクロプロセッサ
JP3919740B2 (ja) * 2003-07-30 2007-05-30 株式会社ソニー・コンピュータエンタテインメント 回路動作制御装置および情報処理装置
US20060206744A1 (en) * 2005-03-08 2006-09-14 Nec Laboratories America, Inc. Low-power high-throughput streaming computations
US7929599B2 (en) * 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US7725745B2 (en) 2006-12-19 2010-05-25 Intel Corporation Power aware software pipelining for hardware accelerators

Also Published As

Publication number Publication date
US8166320B2 (en) 2012-04-24
EP1956465A2 (en) 2008-08-13
US7725745B2 (en) 2010-05-25
EP1956465A3 (en) 2012-05-02
EP1956465B1 (en) 2016-03-16
US20100146314A1 (en) 2010-06-10
CN101221495A (zh) 2008-07-16
US20080148076A1 (en) 2008-06-19

Similar Documents

Publication Publication Date Title
CN101221495B (zh) 选择流水线配置的方法和执行该方法的基于处理器的平台
Unsal et al. System-level power-aware design techniques in real-time systems
CN100501642C (zh) 用于动态dll掉电和存储器自刷新的方法和装置
CN100432894C (zh) 使用多个约束的性能调度
CN101932996B (zh) 具有降低功耗的并行处理计算机系统及提供该系统的方法
US7552304B2 (en) Cost-aware design-time/run-time memory management methods and apparatus
CN102521014A (zh) 虚拟机的部署方法及装置
CN103294641A (zh) 用于系统管理的有限状态机
CN101341456A (zh) 基于调度的高速缓冲存储器/存储器功率最小化技术
CA3116521A1 (en) Methods and systems for efficient processing of recurrent neural networks
Wang et al. Energy-aware variable partitioning and instruction scheduling for multibank memory architectures
Zhao et al. Cost-aware optimal data allocations for multiple dimensional heterogeneous memories using dynamic programming in big data
John Green computing strategies for improving energy efficiency in it systems
CN102629238A (zh) 支持向量条件访存的方法和装置
Gu et al. Energy-Efficient GPU Clusters Scheduling for Deep Learning
Bilal et al. Power-aware resource allocation in computer clusters using dynamic threshold voltage scaling and dynamic voltage scaling: comparison and analysis
Shiue et al. Multi-module multi-port memory design for low power embedded systems
Zhu et al. Energy efficient streaming applications with guaranteed throughput on mpsocs
CN104182280B (zh) 面向混合主存嵌入式系统的低能耗rm实时任务调度方法
Slegers et al. Dynamic server allocation for power and performance
CN112506496B (zh) 晶上系统开发环境搭建方法及系统
Du et al. Optimization of data allocation on CMP embedded system with data migration
Kim et al. Effective task scheduling for embedded systems using iterative cluster slack optimization
Hoveida et al. Efficient mapping of applications for future chip-multiprocessors in dark silicon era
Kong et al. Energy-constrained scheduling for weakly-hard real-time tasks on multiprocessors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110907

Termination date: 20181219

CF01 Termination of patent right due to non-payment of annual fee