CN1829952A - 嵌入式部件的灵活功率降低 - Google Patents
嵌入式部件的灵活功率降低 Download PDFInfo
- Publication number
- CN1829952A CN1829952A CNA2004800218330A CN200480021833A CN1829952A CN 1829952 A CN1829952 A CN 1829952A CN A2004800218330 A CNA2004800218330 A CN A2004800218330A CN 200480021833 A CN200480021833 A CN 200480021833A CN 1829952 A CN1829952 A CN 1829952A
- Authority
- CN
- China
- Prior art keywords
- data
- processing unit
- coprocessor
- processing
- local controller
- 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.)
- Pending
Links
- 230000009467 reduction Effects 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 116
- 101100282455 Arabidopsis thaliana AMP1 gene Proteins 0.000 claims abstract description 38
- 101100218464 Haloarcula sp. (strain arg-2 / Andes heights) cop2 gene Proteins 0.000 claims abstract description 38
- 108060001826 COP1 Proteins 0.000 claims description 45
- 102100031577 High affinity copper uptake protein 1 Human genes 0.000 claims description 29
- 101710196315 High affinity copper uptake protein 1 Proteins 0.000 claims description 29
- 102100031145 Probable low affinity copper uptake protein 2 Human genes 0.000 claims description 27
- 101710095010 Probable low affinity copper uptake protein 2 Proteins 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 7
- 102000015347 COP1 Human genes 0.000 claims 2
- 238000004148 unit process Methods 0.000 claims 2
- 230000006870 function Effects 0.000 abstract description 18
- 230000001360 synchronised effect Effects 0.000 abstract description 2
- 239000000203 mixture Substances 0.000 abstract 1
- 102100025634 Caspase recruitment domain-containing protein 16 Human genes 0.000 description 45
- 238000012546 transfer Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
Abstract
可编程平台包括多个部件,如中央处理单元(CPU)、协处理器(COP1、COP2)和连接各处理器的共享系统总线(SB)。在媒体处理应用中,功能的处理分布于中央处理单元和协处理器。可以用硬件、软件或它们的结合来实现这些功能。对于不同的应用以及在单个应用的执行期间,根据媒体处理应用的特征,每个协处理器的利用率会发生变化。因此,在媒体处理的特定部分期间,一个或多个协处理器可能无法得到有效的利用。对于同步系统而言,这些协处理器继续耗电。根据本发明,可以根据协处理器的工作负荷,通过本地控制器将该协处理器断电。因此,功率控制是分布式的和自动的,并且仅仅取决于该协处理器所需的处理能力。
Description
技术领域
数据处理系统、数据处理方法。
技术背景
可编程平台可以包括多个部件,如中央处理单元(CPU)、一个或多个协处理器和连接各处理器的共享总线。在媒体处理应用中,功能的处理被分布于中央处理单元和协处理器。可以用硬件、软件或软硬件结合的方式来实现这些功能。该选择取决于功能本身、功能的运算量和所涉及的电路。CPU是由软件控制的,所以,可以通过使用合适的软件来适应很多不同的预期目的,从而具有很大的灵活性。协处理器专用于执行特定的功能。一般情况下,对于一个给定的功能,与专用于该功能的协处理器相比,由软件控制的处理器在硅面积和功耗方面通常不够高效,但另一方面,软件控制的处理器更加灵活。CPU也可用作该平台的控制器。
媒体处理可以包括视频、图形或音频处理。对于不同的应用以及在单个应用的执行期间,每个协处理器的利用率会发生变化,这取决于媒体处理应用的特征或特定用例的工作模式。因此,在特定部分的媒体处理期间,可能无法有效利用一个或多个协处理器。对于同步系统,这些协处理器继续耗电,这是因为它们仍会收到时钟信号。为了减少同步可编程平台的功耗,可以根据利用率最高的协处理器,降低平台的时钟频率。另一种方法是,降低平台的电源电压。也可以静态地将未用的协处理器断电。但是,在所有这些情况中,在特定的时刻,大量的协处理器提供的处理能力仍比所需要的多,因此耗电仍比所需的多。
发明内容
本发明的一个目的是提供一种具有分布式功率控制的数据处理系统,从而能够动态地将单个部件断电。
该目的是用一种数据处理系统来实现的,该数据处理系统包括多个处理单元,它们在至少一个时钟装置的控制下同步地处理数据。该数据处理系统还包括:至少一个与所述多个处理单元中的一个处理单元相关联的本地控制器;一个数据通信装置,用于在所述多个处理单元中的处理单元之间交换数据;其中,所述本地控制器用于根据其关联的处理单元所需的处理能力,将所述处理单元断电。本地控制器根据协处理器的工作负荷,将协处理器断电,从而实现动态的功率控制。由于每个协处理器都可以有一个本地控制器,所以,功率管理分布于整个处理系统,即,对于功率管理,不需要全局的控制机制。这样的全局控制机制引入相当大的额外开销,尤其是当数据处理系统具有较大数量的处理单元时,并且,用例的差异可能会使其更复杂。单个协处理器的功率控制对于该处理系统的其他部分是透明的,这意味着,其他的协处理器不必获悉该特定协处理器的当前功率状态。根据需要,任一处理单元或多个处理单元的组合可以随时自动变成可用。将处理单元断电既包括彻底切断处理单元的电源,还包括使处理单元进入休眠模式。
US2002/0007463A1描述了一种计算机系统,其包括多个作为服务器工作的单元。每个单元包括:至少一个处理器;活动监视器,用于识别处理器的活动等级。每个单元可工作于三种不同模式,具有彼此不同的功耗率。一个控制器与该计算机系统的这些单元相连,从每个单元接收活动等级的有关信息。控制器分析该信息,然后确定每个单元的工作模式。接着,控制器向每个单元发出命令,以指示该单元工作于所确定的工作模式。但是,该文档没有公开不需要全局控制机制的分布式功率管理系统。
US2003/0025689A1描述了一种功率管理方法,用于电子设备,如计算机系统。该方法包括数种节电技术,包括静态功率控制、动态功率控制和一个灵活的时钟发生器,其可以包括一个或多个具有可编程时钟速率的不同可编程时钟策略。静态的功率控制用于在不同时间将未用的功能模块断电。动态的功率控制利用时钟机制,降低整个系统的功耗。通过使用灵活的时钟发生器,设置适当的时钟速度,从而为邻近的特定任务提供恰好足够的时钟速度。但是,它没有公开如何动态地分别将一个或多个硬件单元断电。
本发明的一个实施例的特征在于,该数据处理系统还包括至少一个与所述多个处理单元中的所述处理单元相关联的缓冲器,其中,所述缓冲器用于在其关联的处理单元和所述数据通信装置之间交换数据,并且其中,所述本地控制器用于根据所述关联缓冲器的填充度,来确定其关联的处理单元所需的处理能力。使用关联缓冲器的填充度是确定关联处理单元的工作负荷的一种相对简单的方式。如果缓冲器是空的,则本地控制器将该处理器单元断电。一旦缓冲器再次至少部分填充,则本地控制器就为该处理单元加电。
本发明的一个实施例的特征在于,所述数据处理系统还包括控制处理器,其中,所述本地控制器用于从所述控制处理器接收所述关联处理单元所需处理能力的有关信息,并且其中,所述本地控制器还用于保存关于所述关联处理单元的处理能力的有关信息。利用该信息,本地控制器确定相应处理单元处于空闲状态的时间间隔,并根据该时间间隔的长度,将所述处理单元断电。一旦该处理单元收到要处理的新数据,则本地控制器就将相应的处理单元加电。
本发明的一个实施例的特征在于,所述多个处理单元中的所述处理单元还用于产生一个中断,以将所需的处理能力告知与其关联的本地控制器。如果处理单元结束了数据处理,则它告知相应的本地控制器。然后,本地控制器将该处理单元断电。在要处理的新数据到达的时刻,再将该处理单元加电。
本发明的一个实施例的特征在于,时钟周期序列实现一定量数据的处理操作,其中,所述数据处理系统还包括一个可编程装置,用于为所述多个处理单元中的所述处理单元实现可编程停顿时钟周期(stall clock cycles),其中,所述可编程停顿时钟周期散布在所述时钟周期序列的时钟周期之间。如果定期地提供数据块,则可能会出现这样的情况:在下一数据块到达之前,已完成了一个数据块的处理。为了降低协处理器的带宽消耗的峰值负载,可以在用于数据处理的时钟周期之间安排停顿周期(stall cycles)。另一方面,为了省电,剩余的时间可用于将协处理器断电。该实施例的优点在于,能够在扩展带宽消耗和省电之间进行平衡,并根据系统需求进行优化。
本发明的一个实施例的特征在于,至少一个处理单元与带宽控制单元(BCTR)相关联,该带宽控制单元(BCTR)用于控制其在所述数据通信装置上的数据传输的速率,如果所述数据传输超过允许的最大数据速率,则所述带宽控制单元对其进行限制。如果定期地提供要处理的数据,则可能会出现这样情况:下一数据块到达之前,已经完成了一个数据块的处理。带宽控制单元可以将处理单元的带宽消耗调整到适合实际执行的功能的等级。在两个数据块到达之间的时间间隔内,带宽消耗可被平衡。或者,剩余时间可用于将协处理器断电。与前一个实施例的情况相同,根据系统需求,可以在扩展带宽消耗和省电之间进行优化。
本发明的其他实施例在从属权利要求中进行了描述。
根据本发明,还提供了一种根据权利要求9所述的数据处理方法。
附图说明
图1示出了根据本发明的数据处理系统的一个实施例;
图2示出了根据本发明的数据处理系统的另一实施例;
图3示出了带宽控制单元的一个实施例。
具体实施方式
图1和图2示出了根据本发明的数据处理系统的实施例。在图1和2中,数据处理系统包括:系统总线SB、共享存储器MEM、输入单元IU、输出单元OU、中央处理单元CPU、协处理器COP1和COP2、总线接口BI1和BI2、本地控制器CTR1和CTR2。该数据处理系统还包括一个在图1和2中没有显示的系统时钟,用于向系统的所有部件发送时钟信号。在其他实施例中,该数据处理系统还可以具有多个时钟,用于以不同的时钟速度操作系统的不同部件。中央处理单元CPU、输入单元IU、输出单元OU、协处理器COP1和COP2共享系统总线SB和存储器MEM。该数据处理系统执行例如视频、图形或音频处理领域中的媒体处理应用。中央处理单元CPU控制整个系统。在控制存储器MEM之后,中央处理单元CPU可以立即访问协处理器COP1和COP2中的各种控制寄存器。中央处理单元CPU还可以执行包含媒体处理应用的部分功能的软件程序。协处理器COP1和COP2专用于以硬件方式执行具体的媒体处理功能,媒体处理应用的这些功能被分布到协处理器COP1和COP2上。例如,对于MPEG应用,表示离散余弦变换(DCT)功能或运动估计功能的功能可被分别分别到协处理器COP1和COP2上,它们专用于执行这些特定的功能。通过输入单元IU接收诸如语音或图像输入之类的输入数据,然后由中央处理单元CPU以及协处理器COP1和COP2对其进行处理。输出数据被写到输出单元OU,输出单元OU将数据输出到另一数据处理系统或显示装置等。在有些实施例中,输入单元IU以规则的时间间隔接收输入数据。在其他实施例中,输入单元IU接收输入数据的突发,这取决于媒体应用或输入数据源等。在有些实施例中,输出单元OU可以规则的时间间隔输出数据。在不同的实施例中,输出单元OU以突发方式输出数据。协处理器COP1和COP2或中央处理单元CPU可以经由系统总线SB,将数据处理期间获得的中间结果存储在存储器MEM中,然后从存储器MEM中获取,以做进一步的处理。由于协处理器COP1和COP2、输入单元IU、输出单元IO和中央处理单元CPU中的每一个都可以独立地经由系统总线SB启动数据传输,所以,需要一种仲裁机制来为总线传输排定顺序,以及在所示的情况下,控制存储器访问。为此,可以使用一个图1和2中没有显示的总线仲裁器。协处理器COP1和COP2分别经由总线接口BI1和BI2,与系统总线SB通信。这些总线接口BI1和BI2包括:输入缓冲器,用于缓冲必须从系统总线SB向协处理器传输的数据;输出缓冲器,用于缓冲必须从协处理器向系统总线SB传输的数据。在其他实施例中,一个协处理器可以使用两个不同的总线接口,它们分别包括一个输入缓冲器和一个输出缓冲器。在另一实施例中,一个协处理器可以具有多个用于接收输入数据的总线接口和/或多个用于输出数据的总线接口,例如,用于经由不同的总线接口传输与不同图像相关的数据。输入和输出缓冲器使得系统总线SB能够独立于协处理器COP1和COP2而工作。根据这两个协处理器的工作负荷,本地控制器CTR1和CTR2可以分别将协处理器COP1和COP2断电,后面还将对此做详细说明。例如,可通过专用硬件、加载有执行专用功能的软件的可编程处理器(例如,超长指令字处理器)或可重新配置的硬件(例如,现场可编程门阵列)来实现协处理器COP1和COP2。
在不同的实施例中,该数据处理系统可以有两个以上的协处理器,或不同数量的CPU,或不同数量的存储器单元,这取决于数据处理系统的媒体处理应用的类型。或者,可以将输入单元IU和输出单元OU集成在一个协处理器中。
现在参照图1,本地控制器CTR1连接到总线接口BI1,本地控制器CTR2连接到总线接口BI2。在数据处理期间,将输入数据传输到总线接口BI1和BI2的输入缓冲器。该数据处理可以包括规则的处理周期内的流处理,即,处理视频域或帧、数据片等。协处理器COP1和COP2从总线接口BI1和BI2的相应输入缓冲器中读取这些数据,处理这些数据,并将结果数据写入总线接口BI1和BI2的相应输出缓冲器中。经由系统总线SB,将所得数据写入存储器MEM或输出单元OU中。系统总线SB是共享资源,所以,在数据处理期间,可能会发生这样一种情况:协处理器COP1经由系统总线SB,发出从存储器MEM中获取数据的请求,同时,该数据处理系统的其他部件发出的一系列总线请求仍待处理。将协处理器COP1的总线请求加入总线请求队列,同时,协处理器COP1继续处理存储在BI1的输入缓冲器中的数据。当输入缓冲器变空时,总线接口BI1阻塞协处理器COP1。本地控制器CTR1检测到相应的输入缓冲器为空,于是将协处理器COP1断电。一旦协处理器COP1发出的请求被处理,就将数据从存储器MEM写入总线接口BI1的输入缓冲器中。本地控制器CTR1检测到总线接口BI1的输入缓冲器包含数据,于是将协处理器COP1加电,COP1继续处理来自相应输入缓冲器的数据。因此,仅根据协处理器要处理的数据的量,实现了动态的分布式功率控制。此外,本地控制器仅需要相对简单的硬件。在其他实施例中,只有相应的输入缓冲器中存储了特定量的数据之后,才将处理单元加电。在有些实施例中,输入单元IU和/或输出单元OU还可以具有一个本地控制器,当没有收到或输出数据时,例如,通过突发传输数据时,本地控制器将相应的单元断电。
参照图2,本地控制器CTR1连接到总线接口BI1,本地控制器CTR2连接到总线接口BI2,本地控制器CTR1和CTR2都连接到系统总线SB。在流处理器期间,中央处理单元CPU通过将信息写入协处理器的控制寄存器来激活协处理器COP1和COP2开始处理数据。该信息可以包括:存储器MEM的存储器地址、要处理的视频帧的高度和宽度以及每秒内由协处理器处理的帧的数量。视频帧的高度和宽度与对于一个视频帧要处理的数据量有关。当协处理器COP1或COP2完成对于一个给定视频帧的数据处理时,协处理器生成一个中断,以通知中央处理单元CPU。在本发明的一个实施例中,协处理器COP1和COP2还向相应的本地控制器CTR1和CTR2发送一个中断,然后CTR1和CTR2分别将协处理器COP1和COP2断电。在另一实施例中,本地控制器CTR1和CTR2具有寄存器,用于存储与每秒内相应协处理器要处理的帧的数量有关的信息。可以由中央处理单元CPU将该信息存储在协处理器COP1和COP2的寄存器中。使用该信息,本地控制器CTR1和CTR2计算接收两个视频帧之间的时间间隔。当协处理器COP1和COP2开始处理一系列视频帧时,相应的本地控制器启动内部计时器。当协处理器COP1和COP2完成处理视频帧时,分别向本地控制器CTR1和CTR2发送一个中断。本地控制器CTR1和CTR2确定收到该中断和开始处理下一视频帧之间的时间间隔。根据该时间间隔的长度,本地控制器CTR1和CTR2将相应的协处理器COP1和COP2断电。在常规的处理周期内断电和加电是有限制的,因为将协处理器断电和加电的操作同样耗电。本地控制器CTR1和CTR2可以有一个可编程寄存器,例如,用于存储在收到该中断和开始下一帧处理之间的时间间隔的最小值。只有当实际时间间隔等于或大于该最小值时,本地控制器CTR1和CTR2才将相应的协处理器断电。在下一视频帧处理应当开始时,本地控制器CTR1和CTR2分别将协处理器COP1和COP2加电。在另一实施例中,当请求处理下一块数据时,由中央处理单元对协处理器COP1和COP2加电。
在本发明的另一实施例中,可以对中央处理单元CPU做进一步编程,为协处理器COP1和COP2实现停顿周期,停顿周期散布在协处理器处理数据所用的时钟周期序列的时钟周期之间。在一个停顿周期内,协处理器COP1和COP2仍接收时钟信号,但不做出响应,这是因为它们相应的本地控制器生成了停顿周期。美国共同待决申请09/920042(案卷号PHNL010506)中进一步描述了如何使用停顿周期来降低实际数据传输速率,该申请也已转让给本申请的受让人,在此以引用方式并入。在分布式数据处理中,可以忽然地和/或以高强度的突发将数据提供给系统总线SB,或者,也可以从系统总线SB请求数据。当在短时间帧内出现这样的传输时,将容易和频繁地超出整个系统总线的容量,这将导致请求传输的部件进入阻塞状态。停顿周期可用于降低经由系统总线SB的数据的实际传输速率,因为,当协处理器执行一个或多个停顿周期时,该协处理器不会发出总线请求。该实施例的一个优点在于,可以及时在降低协处理器功耗和扩展系统总线SB的带宽消耗之间进行平衡。如果对于诸如视频帧之类的给定数据集,协处理器的实际处理时间小于两个视频帧之间的时间间隔,那么,通过在正常处理周期之间添加可编程停顿周期,或者,对于两个视频帧之间的每个时间间隔,在一段时间内将协处理器断电,可使用该时间差来扩展带宽消耗,如同前一实施例所描述的。根据媒体处理应用、数据处理系统的配置和系统需求,可以在扩展带宽消耗和降低功耗之间进行优化。
参照图2中,在另一个实施例中,本地控制器CTR1和CTR2还包括一个所谓的带宽控制单元。如何使用带宽控制单元来降低实际数据传输速率在美国公共待决申请(案卷号PHNL030795)中做了进一步描述,该申请也已转让给本申请的受让人,在此以引用方式并入。通过这些带宽控制单元,协处理器COP1和COP2的带宽消耗可分别由相应的本地控制器CTR1和CTR2进行控制,从而有效地分别降低协处理器COP1和COP2的平均数据处理速度。但是,如果需要的话,可以提供额外的传输能力,因此在大部分情况下不会再出现阻塞状况。例如通过总线仲裁器的总线仲裁仍是必需的,这是因为协处理器COP1和COP2仍会同时启动总线传输。本地控制器CTR1和CTR2还有寄存器,以存储关于视频帧的高度和宽度、相应协处理器在每秒内要处理的帧的数量以及相应协处理器的计算能力的信息。中央处理单元CPU可将该信息存储在寄存器中。使用该信息,本地控制器CTR1和CTR2计算相应协处理器处理一个视频帧的数据所需的最少时间,接收两个视频帧之间的时间间隔,以及所允许的带宽消耗的最大数据速率。所允许的最大数据速率基于视频帧的高度和宽度以及所选择的时间间隔,所选择的时间间隔至多是两个视频帧之间的时间间隔。带宽控制单元将相应协处理器COP1和COP2的平均带宽消耗限制到它们的所允许的最大数据速率。在处理一个视频帧期间的特定时段内,如果协处理器COP1和COP2的可用带宽小于它们要求的带宽,通常,它们可以在收到下一视频帧之前的后续时间段中弥补该差异。在一个特别优选的实施例中,这样的弥补时间是在短暂的所谓时差/浮动时间(slack time)内提供的,时差/浮动时间位于两个视频帧之间的时间间隔的末端,对于它,已指定了最大系统总线带宽。当协处理器COP1和COP2开始处理一系列的视频帧时,相应的本地控制器启动一个内部计时器。当协处理器COP1和COP2完成视频帧处理时,分别向本地控制器CTR1和CTR2发送一个中断。本地控制器CTR1和CTR2确定收到该中断和开始下一视频帧处理之间的时间间隔。根据该时间间隔的长度,本地控制器CTR1和CTR2可以将相应的协处理器COP1和COP2断电。本地控制器CTR1和CTR2可以有一个可编程寄存器,例如,用于存储在收到该中断时和开始下一帧处理之间的时间间隔的最小值。只有实际时间间隔等于或大于该最小值时,本地控制器CTR1和CTR2才将相应的协处理器断电。在应该开始下一视频帧处理时,本地控制器CTR1和CTR2分别将协处理器COP1和COP2加电。该实施例的一个优点在于,可以及时在降低协处理器功耗和扩展系统总线SB的带宽消耗之间进行平衡。用于计算所允许的协处理器的最大数据速率的时间间隔可以被选择为等于两个视频帧之间的时间间隔,在这种情况下,该协处理器的带宽消耗得到了最大程度的扩展。另一方面,用于计算所允许的协处理器的最大数据速率的时间间隔可以被选择为等于处理视频帧所需的最小时间,从而能够在两个视频帧之间的时间间隔的剩余部分内将协处理器断电,并最大化地降低功耗。根据媒体处理应用、数据处理系统的配置和系统需求,可以在扩展带宽消耗和降低功耗之间进行优化。
图3示出了控制单元CTR的一个实施例,控制单元CTR包括一个带宽控制单元BCTR,还包括经由总线接口BI连接到系统总线SB的协处理器COP。带宽控制单元包括一个均值计算单元AV,用于计算经由总线接口BI传输到系统总线的数据的平均量Sta。为此,均值计算单元接收一个信号St,其表示经由总线接口BI传输的数据量。带宽控制单元BCTR还包括一个寄存器LIM,用于存储所允许的最大数据速率Stl的指示。比较器CMP比较这些信号,并用控制信号CT控制门G。通常,门G将来自总线接口BI的总线请求BRI作为信号BRO,发送到总线仲裁器,如果总线可用的话,总线仲裁器将用确认信号ACK做出响应。但是,如果经由总线接口BI向系统总线传输的数据的平均量Sta超过允许的最大数据速率Stl,则控制信号CT使门G阻断总线请求信号BRI。在这种情况下,仲裁器收不到请求BRO,因此阻止进一步的数据传输,直到平均值Sta降低到一个小于允许值Stl的值为止。另一方面,如果系统总线SB在有些时间由于另一装置而不可用,如因为具有高优先级的CPU占用了总线,则传输的数据的平均量Sta明显低于允许值Stl。在这种情况下,协处理器COP可以暂时增加数据传输,直到平均值Sta再次达到允许值Stl为止。
应当理解的是,上述实施例用于说明、而非限制本发明,并且,在不脱离所附权利要求的保护范围的前提下,本领域技术人员能够设计出多种其他的实施例。在权利要求中,不应当将圆括号中的任何标记解释为限制该项权利要求。“包括”一词并不排除权利要求所列出的部件或步骤之外存在其他部件或步骤。部件前面的冠词“一个”并不排除存在多个这样的部件。本发明可通过包括多个不同部件的硬件来实现,也可以通过适当编程的计算机来实现。在列举了多个模块的装置权利要求中,这些模块中的多个可以具体实现为一个以及相同的硬件产品。彼此不同的从属权利要求中记录的特定方法并不表示不能使用这些方法的组合。
Claims (10)
1、一种数据处理系统,包括:
多个处理单元(COP1、COP2),用于在至少一个时钟装置的控制下同步地处理数据;
至少一个与所述多个处理单元中的一个处理单元相关联的本地控制器(CTR1、CTR2);
数据通信装置(SB),用于在所述多个处理单元中的处理单元之间交换数据;
其中,所述本地控制器用于根据其关联处理单元所需的处理能力,将所述关联处理单元断电。
2、如权利要求1所述的数据处理系统,其中,所述本地控制器还用于根据其关联处理单元所需的处理能力,将所述关联处理单元加电。
3、如权利要求1所述的数据处理系统,还包括:
至少一个与所述多个处理单元中的所述处理单元相关联的缓冲器(BI1、BI2),其中,所述缓冲器用于在其关联处理单元和所述数据通信装置之间交换数据,
并且其中,所述本地控制器用于根据所述关联缓冲器的填充度,确定其关联处理单元所需的处理能力。
4、如权利要求1所述的数据处理系统,还包括控制处理器,
其中,所述本地控制器用于从所述控制处理器接收有关所述关联处理单元所需处理能力的信息,
并且其中,所述本地控制器还用于保存有关所述关联处理单元的处理能力的信息。
5、如权利要求1所述的数据处理系统,其中,所述多个处理单元中的所述处理单元还用于产生中断,以将所需的处理能力告知其关联的本地控制器。
6、如权利要求1所述的数据处理系统,其中,时钟周期序列实现一定量数据的处理操作,
其中,所述数据处理系统还包括可编程装置,用于为所述多个处理单元中的所述处理单元实现可编程停顿时钟周期,其中,所述可编程停顿时钟周期散布在所述时钟周期序列的时钟周期之间。
7、如权利要求1所述的数据处理系统,其中,至少一个处理单元与用于控制其在所述数据通信装置上的数据传输的速率的带宽控制单元(BCTR)相关联,如果所述数据传输超过所允许的最大数据速率,则所述带宽控制单元对其进行限制。
8、如权利要求1所述的数据处理系统,还包括存储器装置(MEM),
其中,所述数据通信装置还用于在所述存储器装置和所述多个处理单元中的所述处理单元之间交换数据。
9、一种使用数据处理系统处理数据的方法,所述数据处理系统包括:
多个处理单元(COP1、COP2),用于在至少一个时钟装置的控制下,同步地处理数据;
至少一个与所述多个处理单元中的一个处理单元相关联的本地控制器(CTR1、CTR2);
数据通信装置(SB),用于在所述多个处理单元中的处理单元之间交换数据;
其中,所述方法包括以下步骤:
向所述处理单元提供数据;
如果没有数据可供所述处理单元处理,则通过所述本地控制器将所述处理单元断电。
10、如权利要求9所述的处理数据的方法,其中,所述方法还包括以下步骤:
如果有数据可供所述处理单元处理,则通过所述本地控制器将所述处理单元加电。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03102338 | 2003-07-30 | ||
EP03102338.5 | 2003-07-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1829952A true CN1829952A (zh) | 2006-09-06 |
Family
ID=34089710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800218330A Pending CN1829952A (zh) | 2003-07-30 | 2004-07-26 | 嵌入式部件的灵活功率降低 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060206729A1 (zh) |
EP (1) | EP1652056A1 (zh) |
JP (1) | JP2007500392A (zh) |
KR (1) | KR20060052924A (zh) |
CN (1) | CN1829952A (zh) |
WO (1) | WO2005010736A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937419A (zh) * | 2009-06-30 | 2011-01-05 | 佳能株式会社 | 信息处理装置及用于信息处理装置的控制方法 |
CN102017533A (zh) * | 2008-04-28 | 2011-04-13 | 惠普开发有限公司 | 在多服务器箱体中的固定速度背板连接上的可调节服务器传输速率 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007213167A (ja) * | 2006-02-07 | 2007-08-23 | Fujitsu Ltd | 電力制御プログラム、サーバシステム、および電力制御方法 |
TWI317468B (en) * | 2006-02-20 | 2009-11-21 | Ite Tech Inc | Method for controlling power consumption and multi-processor system using the same |
WO2008009368A1 (en) * | 2006-07-21 | 2008-01-24 | Sony Service Centre (Europe) N.V. | System and method of prioritising tasks |
US7676683B2 (en) * | 2006-08-24 | 2010-03-09 | Sony Computer Entertainment Inc. | Method and system for rebooting a processor in a multi-processor system |
US8046565B2 (en) * | 2006-12-06 | 2011-10-25 | Kabushiki Kaisha Toshiba | Accelerator load balancing with dynamic frequency and voltage reduction |
US7947102B2 (en) * | 2006-12-21 | 2011-05-24 | Dow Global Technologies Llc | Soot filter |
WO2009105103A1 (en) * | 2008-02-21 | 2009-08-27 | Hewlett-Packard Development Company, L.P. | Systems and methods of component voltage adjustment |
NO330275B1 (no) * | 2008-12-19 | 2011-03-21 | Tandberg Telecom As | Fremgangsmate i en videokodings-/-dekodingsprosess |
US8452997B2 (en) | 2010-04-22 | 2013-05-28 | Broadcom Corporation | Method and system for suspending video processor and saving processor state in SDRAM utilizing a core processor |
CN101968678A (zh) * | 2010-08-10 | 2011-02-09 | 东莞环亚高科电子有限公司 | 一种嵌入式Linux设备低功耗电源管理设备 |
KR101959252B1 (ko) | 2012-07-16 | 2019-07-04 | 삼성전자주식회사 | 데이터를 기반으로 전력을 관리하는 장치 및 방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396635A (en) * | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5388217A (en) * | 1991-12-13 | 1995-02-07 | Cray Research, Inc. | Distributing system for multi-processor input and output using channel adapters |
US5737615A (en) * | 1995-04-12 | 1998-04-07 | Intel Corporation | Microprocessor power control in a multiprocessor computer system |
JPH11202988A (ja) * | 1998-01-13 | 1999-07-30 | Hitachi Ltd | システム消費電力制御方法 |
US6141762A (en) * | 1998-08-03 | 2000-10-31 | Nicol; Christopher J. | Power reduction in a multiprocessor digital signal processor based on processor load |
JP2001109729A (ja) * | 1999-10-12 | 2001-04-20 | Nec Corp | マルチプロセッサシステムにおける消費電力制御装置および方法 |
US6990594B2 (en) * | 2001-05-02 | 2006-01-24 | Portalplayer, Inc. | Dynamic power management of devices in computer system by selecting clock generator output based on a current state and programmable policies |
US7318164B2 (en) * | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US7392411B2 (en) * | 2003-04-25 | 2008-06-24 | Ati Technologies, Inc. | Systems and methods for dynamic voltage scaling of communication bus to provide bandwidth based on whether an application is active |
-
2004
- 2004-07-26 JP JP2006521737A patent/JP2007500392A/ja active Pending
- 2004-07-26 WO PCT/IB2004/051290 patent/WO2005010736A1/en not_active Application Discontinuation
- 2004-07-26 EP EP04744644A patent/EP1652056A1/en not_active Withdrawn
- 2004-07-26 CN CNA2004800218330A patent/CN1829952A/zh active Pending
- 2004-07-26 US US10/566,554 patent/US20060206729A1/en not_active Abandoned
- 2004-07-26 KR KR1020067001925A patent/KR20060052924A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102017533A (zh) * | 2008-04-28 | 2011-04-13 | 惠普开发有限公司 | 在多服务器箱体中的固定速度背板连接上的可调节服务器传输速率 |
US8903989B2 (en) | 2008-04-28 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure |
CN101937419A (zh) * | 2009-06-30 | 2011-01-05 | 佳能株式会社 | 信息处理装置及用于信息处理装置的控制方法 |
CN101937419B (zh) * | 2009-06-30 | 2013-09-25 | 佳能株式会社 | 信息处理装置及用于信息处理装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20060052924A (ko) | 2006-05-19 |
JP2007500392A (ja) | 2007-01-11 |
EP1652056A1 (en) | 2006-05-03 |
WO2005010736A1 (en) | 2005-02-03 |
US20060206729A1 (en) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5784647A (en) | Interface for fetching highest priority demand from priority queue, predicting completion within time limitation then issuing demand, else adding demand to pending queue or canceling | |
CN1829952A (zh) | 嵌入式部件的灵活功率降低 | |
US6665699B1 (en) | Method and data processing system providing processor affinity dispatching | |
US9411641B2 (en) | Method and apparatus implemented in processors for real-time scheduling and task organization based on response time order of magnitude | |
KR100855780B1 (ko) | 전력 소비 관리를 위한 방법, 시스템 및 제조물 | |
US5628013A (en) | Apparatus and method for allocating processing time in a frame-based computer system | |
EP1141812B1 (en) | Apparatus and method for automatic cpu speed control | |
US7805727B2 (en) | Execution control for processor tasks | |
US9158574B2 (en) | Handling interrupts in data processing | |
US20110010713A1 (en) | Computer system, virtual machine monitor and scheduling method for virtual machine monitor | |
US6304891B1 (en) | Execution control for processor tasks | |
JP2008507762A (ja) | 動的なdllパワーダウン並びにメモリ・セルフリフレッシュの方法及び装置 | |
CN100382033C (zh) | 计算机系统 | |
US7565659B2 (en) | Light weight context switching | |
JPH11202988A (ja) | システム消費電力制御方法 | |
EP1329809B1 (en) | Distributed computing system and method | |
JPH09121230A (ja) | コンピュータ・システムにおけるパケット交換および回線交換のハイブリッド・フロー制御の方法および装置 | |
US10515611B2 (en) | Performance-based graphics processing unit power management | |
US5469577A (en) | Providing alternate bus master with multiple cycles of bursting access to local bus in a dual bus system including a processor local bus and a device communications bus | |
US5475850A (en) | Multistate microprocessor bus arbitration signals | |
US6854116B1 (en) | Execution control for process task | |
CN100437474C (zh) | 调节cpu频率之系统及方法 | |
JP3564327B2 (ja) | 図形処理装置 | |
JPH1031592A (ja) | メモリ管理方法及びメモリ管理システム | |
JPH0512173A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |