并行数据处理器及其控制方法技术

技术编号:2827518 阅读:219 留言:0更新日期:2012-04-11 18:40
在高度并行可编程数据处理器中,对一个或多个处理元件的自动选择功率及能量控制使并行程度匹配于所监视的条件。举例来说,所述并行处理器的逻辑检测何时程序操作(例如,用于特定任务或由于所检测的温度)需要少于全宽度的数据路径。作为响应,所述控制逻辑自动地设置需要一子组并行处理能力的操作模式。可关闭至少一个不需要的并行处理元件以节省能量及/或减少发热(即,功率消耗)。在稍后的时间,当所添加能力的操作为适当时,所述逻辑检测处理条件的改变且自动地将操作模式设定为较宽数据路径(通常为全宽度)的操作模式。所述模式改变重新激活先前所关闭的处理元件。

【技术实现步骤摘要】
【国外来华专利技术】
本标的物涉及用以自动地控制并行数据处理元件(例如,单指令多数据(SIMD)处理器或类似物)的活动状态(活动及不活动)以使操作并行性程度匹配与所述处理器的处理操作相关的条件。
技术介绍
许多装置利用具有复杂布置的逻辑的集成处理器(例如,微处理器及数字信号处理器)实施根据程序指令的数据处理功能。需要数字处理多媒体数据(例如,视频、音频或图形)的应用程序正在消费者中变得日益流行。然而,这种信息的处理是密集的且已导致尤其适于处理这种数据的处理器体系结构。多媒体数据通常包括相当可观量的“并行”数据。在单个数据单元彼此独立的情况中数据是“并行的”。因此,一个数据单元的处理独立于处理另一个单元的处理,也就是说其不需要等待完成任一其他单元的处理。作为结果,同时并行实施多个这种独立数据处理操作是可能的。某些类型的数据(尤其是通用格式的多媒体数据)的这种特征已导致形成并行处理器,所述并行处理器可同时并行操纵若干数据单元。举例来说,多媒体数据的并行处理常常有助于相当大地增加总处理速度。已开发许多不同体系结构及指令类型以供并行数据处理(尤其是多媒体应用)。举例来说,单指令多数据(SIMD)处理器即并行处理数据。使用SIMD指令的多媒体处理通过在多个并行数据元件上操作而降低执行特定程序任务所需的指令的总数量且加速性能。尽管所述处理器可执行单个指令流,但所述指令的SIMD执行同时地处理多个并行数据流。处理器(包括诸如SIMD处理器的高度并行数据处理类型的装置)的许多应用对所述处理器电路系统可消耗的功率及能量存在严格的约束条件。举例来说,诸如蜂窝式电话、PDA(便携式数字助理)及手持式电视游戏的便携式装置利用电池电源。然而,这类装置包括精密的微处理器且在某些情况中使用协处理器以进行与多媒体相关的处理。用于这类应用的处理器设计通常保证精细控制功率及能量消耗以延长电池电源中电荷的使用寿命以及所包含芯片的使用寿命。处理器的体系结构建立通过所述处理器的数据通路的“宽度”,也就是说可处理的数据的最大大小。并行处理设计(例如,SIMD处理器体系结构)通常经缩放以提供对应于在既定循环期间所述装置可处理的最大量的并行数据的数据通路宽度。当前-->可购得的SIMD处理器可同时处理上至128位的数据,这意味着数据通路的总宽度是128位。然而,在任何既定时间,所述处理器的并行部分可正在处理更小单元的数据。虽然其他大小是已知的,但现今常见并行处理器提供64位数据通路或128位宽数据通路。所述数据通路是由并行处理元件构成,然而,所述通路可经配置以处理不同宽度的数据。举例来说,128位数据通路可分解为较小大小,也就是说,如针对特定应用所编写的SIMD指令所规定所述处理器可处理128位数据的段节,即8位长、16位长、32位长或64位长。举例来说,使用8位指令,具有128位宽度数据通路的处理器可处理16个并行8位数据单元。相反地,对于64位数据通路来说,如果指令需要128位,则这一数据可分割为两个64位段节,且依次对这两个64位段节执行所述指令。当然,每一64位段节的处理可需要(例如)8个8位数据单元的并行处理。通过分割对128位指令的处理,64位宽数据通路可处理128位指令,然而所分割的处理的时间为更长。这些操作允许优化利用所述处理器的并行资源。然而,会出现特定处理应用不需要全部处理资源的时候或可能需要全部操作的时候。举例来说,所述处理器的许多功能或应用完全不需要所述处理器装置的的全部处理能力,或仅在非常有限的时间内需要所述全部处理能力。在128位数据通路处理器的实例中,应用或其一部分可仅在某一实质时间段内需要64位数据处理,举例来说,这是因为存在有限量的数据并行性,将要处理的数据量为低或不存在对速度的迫切需要。然而,如果提供128位宽数据路径的元件全部被连续完全地供电,则未使用的并行元件正在不必要地消耗能量。作为另一个实例,全部并行处理操作包括所有所述并行元件的密集活动。因此,所有所述并行元件均正在产生热。某些处理器设计(例如,囊封于低成本应用的塑料包装中)可能不能经受住高于某一温度的热。在长期内全部阵列的并行元件的连续高速操作可产生过多的热。为更有效于不需要较高并行性程度的应用,并行处理器可设计有比某些应用所需并行性程度低的并行性程度。尽管这一折衷可降低功率消耗及(因而)热产生,但在需要更多并行性其导致浪费能量及低劣性能。因此,需要一种用以根据处理任务及/或环境条件自动地调整这种处理器的并行性的技术。
技术实现思路
本文的教示实现根据所检测的处理条件自动激活/去激活并行可编程数据处理器的一个或多个元件。本质上,所述控制使并行性的操作程度匹配将由所述并行数据处理器实施的任务的需要及/或所述处理器的环境条件。举例来说,在不需要时可关闭并行处理元件以节省能量,或在所述处理器的温度过高时关闭并行处理元件以允许所述处理器冷却。这种技术的各个方面包含各种操作方法以及并行处理装置。-->举例来说,一种控制并行数据处理器的操作并行性的方法包括监视与通过所述并行数据处理器所实施的处理相关的一个或多个条件。当所述所监视的条件对应于第一处理状态时,在所述数据处理器的两个并行处理元件内并行执行一个或多个指令,从而提供第一宽度的数据通路。当所述所监视的条件对应于第二处理状态时,在所述两个并行处理元件中的第一并行处理元件中执行一个或多个指令。在这种环境下,通过所述第一元件处理第二更小宽度的数据,同时所述两个并行处理元件中的第二并行处理元件是不活动的。在典型实施方案中,去激活所述第二元件节省了能量及/或降低了所述处理器的热产生(也就是,功率消耗)。本专利技术揭示根据所检测的处理需要或历史记录自动地控制并行性(激活及去激活至少一个并行处理元件)。这种方法可使所述并行性程度匹配任务需要,所述任务需要可由需要处理新传入组的指令中或最近所处理的指令中较高宽度的数据的频率所指示。其他实例根据所感测的环境条件(例如,所述装置的温度)自动地控制并行性。在128位单指令多数据(SIMD)型并行协处理器实例中,并行处理元件可以是两个64位SIMD算术逻辑单元(ALU)。当这两个单元均在操作时,所述ALU提供128位宽数据路径且所述协处理器以128位数据处理模式操作。控制逻辑监视处理条件且检测其保证切换到64位操作的状态。作为响应,所述ALU中的一者被自动地关闭,且另一个ALU随后执行用于64位宽数据处理的指令。然而,即使在64位模式中,所述处理器仍可处理用于处理128位数据的指令。举例来说,所述方法可进一步包括接收调用128位数据的处理的SIMD指令且将所述SIMD指令扩展为两个调用64位数据宽度的数据的处理的指令。所述方法然后包含通过所述一个在操作的64位ALU依次执行由所述扩展所得的两个指令。因此,另一种控制并行数据处理器的操作并行性的方法包括:在所述数据处理器的两个并行处理元件中并行执行一个或多个指令以处理第一宽度的数据;感测与通过所述并行数据处理器的处理相关的条件;及在检测到所感测条件的状态时去激活所述第二并行处理元件。在这种方法中,在去激活所述第二并行处理元件时,将调用较大宽度数据的并行数据处理的指令扩展为多个指令。举例来说,两个这种指令调用第二较小宽度数据的并行数据处理。所述本文档来自技高网
...

【技术保护点】
一种控制并行数据处理器的操作并行性的方法,其包含:监视一个或多个与通过所述并行数据处理器实施的处理相关的条件;当所述所监视的一个或多个条件对应于第一状态时,在所述数据处理器的两个并行处理元件中并行执行一个或多个指令,从而提供 第一宽度的数据路径;及当所述所监视的一个或多个条件对应于第二状态时,在所述两个并行处理元件中的第二者不活动时在所述两个并行处理元件中的第一者中执行一个或多个指令,以处理小于所述第一宽度的第二宽度的数据。

【技术特征摘要】
【国外来华专利技术】US 2005-6-9 11/150,7291.一种控制并行数据处理器的操作并行性的方法,其包含:监视一个或多个与通过所述并行数据处理器实施的处理相关的条件;当所述所监视的一个或多个条件对应于第一状态时,在所述数据处理器的两个并行处理元件中并行执行一个或多个指令,从而提供第一宽度的数据路径;及当所述所监视的一个或多个条件对应于第二状态时,在所述两个并行处理元件中的第二者不活动时在所述两个并行处理元件中的第一者中执行一个或多个指令,以处理小于所述第一宽度的第二宽度的数据。2.如权利要求1所述的方法,其中所述在所述第二并行处理元件不活动时在所述第一并行处理元件中执行一个或多个指令的步骤包含:将调用所述第一宽度的数据的并行数据处理的指令扩展为多个指令,其包含调用所述第二宽度的数据的并行数据处理的两个指令;及在所述第一并行处理元件中依次地执行所述两个指令。3.如权利要求2所述的方法,其中:通过所述第一并行处理元件对处理指令的所述执行基于所执行的指令提供64位宽数据处理;及通过所述第一及第二并行处理元件对处理指令的所述执行基于所执行的指令提供128位宽数据处理。4.如权利要求1所述的方法,其中所述第一及第二处理元件中的每一者包含算术逻辑单元。5.如权利要求4所述的方法,其中在所述第一及第二并行处理元件中执行的所述指令是单指令多数据(SIMD)型指令。6.如权利要求5所述的方法,其中所述第一及第二并行处理元件是SIMD协处理器的元件。7.如权利要求1所述的方法,其中所述指令在所述并行处理元件中的所述执行包含多媒体数据处理。8.如权利要求1所述的方法,其中当所述第二并行处理元件不活动时,切断到所述第二并行处理元件的功率。9.如权利要求1所述的方法,其中当所述第二并行处理元件不活动时,切断所述第二并行处理元件的时钟信号。10.如权利要求1所述的方法,其中对所述条件的所述监视包含监视所述处理器的温度,所述第一状态涉及所监视温度处于或低于阈值,且所述第二状态涉及温度处于或高于阈值。11.如权利要求1所述的方法,其中对所述条件的所述监视包含监视由执行所述指令所实施的任务,且所述第一状态是当所述任务频繁地调用所述第一宽度的数据的数据处理时。12.如权利要求11所述的方法,其中对任务的所述监视包含确定指令调用所述第一宽度的数据的处理的频繁程度。13.如权利要求1所述的方法,其进一步包含:根据对所述条件的所述监视,检测从所述第一状态到所述第二状态的转换;响应于所述检测到的从所述第一状态到所述第二状态的转换,去激活所述第二并行处理元件;根据对所述条件的所述监视,检测从所述第二状态到所述第一状态的转换;及响应于所述检测到的从所述第二状态到所述第一状态的转换,激活所述第二并行处理元件。14.如权利要求13所述的方法,其中所述去激活及激活步骤适于减轻系统失效的潜在可能。15.一种控制并行数据处理器的操作并行性的方法,其包含:在所述数据处理器的第一及第二并行算术逻辑单元中并行执行一个或多个指令,以处理第一宽度的数据;感测与通过所述并行数据处理器的处理相关的条件;响应于所述所感测条件的状态,去激活所述第二并行算术逻辑单元;及在所述第二算术逻辑单元不活动时,在所述第一并行算术逻辑单元中执行一个或多个指令以处理小于所述第一宽度的第二宽度的数据。16.如权利要求15所述的方法,其中所述在所述第二算术逻辑单元不活动时在所述第一算术逻辑单元中执行一个或多个指令的步骤包含:将调用所述第一宽度的数据的...

【专利技术属性】
技术研发人员:肯尼思艾伦多克塞尔
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1