控制处理系统中的处理器之间的数据流技术方案

技术编号:13899981 阅读:89 留言:0更新日期:2016-10-25 14:10
本申请的各实施例涉及控制处理系统中的处理器之间的数据流。一种处理系统包括用于执行程序的程序处理器和用于执行特定类型的操作(例如,矢量处理操作)的专用处理器。程序处理器使用对接模块和一组两个或者更多寄存器组以将特定类型的操作卸载到专用处理器以用于在其上执行。在专用处理器访问用于执行当前操作的一个寄存器组之时,对接模块可以并发地向寄存器组中的不同寄存器组中加载用于后续操作的数据。对多个寄存器组的使用允许专用处理器花费它的时间的更大比例执行操作。

【技术实现步骤摘要】

本申请的各实施例涉及控制处理系统中的处理器之间的数据流
技术介绍
处理系统总体上包括一个或者多个处理器(或者“处理单元”),比如中央处理单元(CPU)、数字信号处理器(DSP)和/或图形处理单元(GPU),仅给出一些示例。处理器通常被配置为执行计算机系统的操作,比如在处理系统内移动数据和/或操控数据。例如,程序的操作可以涉及到对数据项执行算术,比如乘法或者加法。一些处理器可以比其它处理器更适合特定任务。例如,CPU可以被设计为可以相当高效地处理多种操作的通用处理器,而DSP可以被具体地设计成它的架构对于数字信号处理的操作需要而被优化,而GPU可以被具体地设计用于处理图形数据。存在许多不同计算机编码语言,计算机程序员可以按照它们编写计算机程序,但是语言中的一些语言比其它语言更流行,例如C代码广泛地为计算机程序员所知。可以有用的是处理系统包括被设计为处理用常见计算机语言(比如C)编写的程序的代码,从而使得易于程序员编写可以由处理系统处理的代码。然而,在一些情形中,可以有益的是处理系统在专用处理器上执行特定类型的操作,这些操作适合用于执行那些特定类型的操作。例如,在DSP上而不是在CPU上执行用于数字信号处理的操作可能更高效(例如,在时间、功率和/或对处理资源的使用方面)。因此,可以在处理系统中包括两个或者更多处理器,由此操作可以由最适合执行操作的处理器执行。例如,处理系统可以包括可以在其上执行程序的主处理器(或者“程序处理器”)(例如,通用CPU)和适合执行特定类型的操作的专用处理器(例如,DSP或者GPU)。在程序处理器开始在程序内的特定类型的操作(例<br>
如,矢量处理操作)时,程序处理器可以向专用处理器传递(即,卸载)操作以用于在其上执行。专用处理器可以具有包括多个寄存器的寄存器组,数据可以被加载到这些寄存器中以用于由专用处理器处理操作。专用处理器然后可以使用在它的寄存器组的寄存器中存储的数据来执行操作。操作的结果可以在专用处理器已经完成操作的执行时被存储在寄存器组的寄存器中。程序处理器然后可以从寄存器读取出数据并且进行对程序的执行。备选地,存储器(取代专用处理器的寄存器组)可以用于在专用处理器与程序处理器之间传达数据。例如,专用处理器可以从存储器取回数据并且可以对取回的数据执行操作。专用处理器可以在专用处理器已经完成操作的执行时在存储器中存储操作的结果,并且程序处理器然后可以从存储器读取出数据。以这一方式,可以更高效地执行程序,因为专用处理器适于在执行特定类型的操作时比程序处理器更高效(例如,DSP通常在执行矢量处理操作时比CPU更高效)。因此,通过使用专用处理器,可以从主处理器(“程序处理器”)卸载执行程序的操作中的一些操作这样的作业。以这一方式,可以减少程序处理器的工作负荷。对处理系统可以执行程序的操作的效率的任何提高(例如,在速度、功率和/或对处理资源的使用方面)可能是有益的。
技术实现思路
提供这一
技术实现思路
以按照简化形式介绍以下在具体实施方式中进一步描述的概念的选集。这一
技术实现思路
并未旨在于标识要求保护的主题内容的关键特征或者实质特征,它也并未旨在于用来限制要求保护的主题内容的范围。在以上
技术介绍
一节中描述的处理系统中,目的是从程序处理器向专用处理器上卸载工作,其中焦点在于减少程序处理器的工作负荷。对照而言,专利技术人已经认识到一些处理系统主要地用于执行特定类型的操作,其中专用处理器适合用于执行特定类型的操作。使用专用处理器以执行特定类型的操作可以是有益的(因为它被适配以便在
执行特定类型的操作时比程序处理器更高效)。另外,根据这里描述的示例,可以使用对接模块来减少专用处理器上的工作负荷以使用一组两个或者更多个寄存器组来控制在程序处理器与专用处理器之间的数据流。对多个寄存器组的使用允许专用处理器花费它的时间的更大比例执行操作,因此可以更快执行操作序列(与在以上
技术介绍
一节中描述的处理系统中的比较)。具体而言,提供了一种处理系统,该处理系统包括:专用处理器,适合用于执行特定类型的操作;程序处理器,被配置为执行包括多个操作的程序,其中程序处理器被配置为使得程序的为特定类型的操作由专用处理器执行;一组两个或者更多个寄存器组,被配置为存储与特定类型的操作有关的数据;对接模块,被配置为通过以下各项使用该一组寄存器组来控制程序处理器与专用处理器之间的数据流:并发地:(i)向专用处理器提供对寄存器组中的存储用于当前操作的先前加载的数据的寄存器组的访问,由此允许专用处理器执行当前操作,以及(ii)访问寄存器组中的不同寄存器组以向寄存器组中的该不同寄存器组中加载用于后续操作的数据一用于设立用于由专用处理器后续执行的后续操作;以及在专用处理器完成当前操作的执行之后,控制该一组寄存器组以向专用处理器提供对来自该一组寄存器组的寄存器组之一的用于后续操作的数据的访问,由此允许专用处理器执行后续操作。提供了一种处理程序的操作的方法,该方法包括:在程序处理器处执行程序,其中程序处理器使得程序的为特定类型的操作由专用处理器执行,其中专用处理器适合用于执行特定类型的操作;通过以下各项使用一组寄存器组来控制程序处理器与专用处理器之间的数据流:并发地:(i)向专用处理器提供对寄存器组中的存储用于当前操作的先前加载的数据的寄存器组的访问,由此允许专用处理器执行当前操作,以及(ii)访问寄存器组中的不同寄存器组以向寄存器组中的该不同寄存器组中加载用于后续操作的数据以用于设立用于由专用处理器后续执行的后续操作;以及在专用处理器完成当前操作的执
行之后,控制该一组寄存器组以向专用处理器提供对来自该一组寄存器组的寄存器组之一的用于后续操作的数据的访问,由此允许专用处理器执行后续操作。可以在集成电路上在硬件中体现这里描述的处理系统中的任何处理系统。也可以提供用于生成根据这里描述的示例中的任何示例的处理系统的计算机可读代码。可以在计算机可读存储介质上对计算机可读代码进行编码。如本领域技术人员将清楚的那样,以上特征可以如适当的那样被组合,并且可以与这里描述的示例的方面中的任何方面组合。附图说明现在将参照附图具体描述示例,在附图中:图1是第一示例中的处理系统的示意图;图2示出了流程图,该流程图图示了处理系统中的程序的处理操作的方法;图3示出了用于处理系统的部分的定时图;图4是第二示例中的处理系统的示意图;图5是第三示例中的处理系统的示意图;图6是包括处理系统的计算机系统的示意图;以及图7示出了用于生成体现处理系统的集成电路的集成电路制造系统。附图图示了各种示例。本领域技术人员将认识到,附图中的所示单元边界(例如,框、框组或者其它形状)代表边界的一个示例。可以在一些示例中,一个单元可以被设计为多个单元或者多个单元可以被设计为一个单元。共同标号在适当时贯穿各图用来指示相似特征。具体实施方式现在将仅通过示例描述实施例。在这里描述的示例中,处理系统包括被配置为执行包括多个操作
的程序的程序处理器,例如,CPU。程序处理器可以适于处理按照被普遍地理解的编程语言(比如C)编写的操作。处理系统也包括适于执行特定类型的操作(例如,数据并行操作,比如矢量操作)的专用处理器,比如DSP。专用处理器可以被配置为执行按本文档来自技高网
...

【技术保护点】
一种处理系统,包括:专用处理器,适合用于执行特定类型的操作;程序处理器,被配置为执行包括多个操作的程序,其中所述程序处理器被配置为使得所述程序的为所述特定类型的操作由所述专用处理器执行;一组两个或者更多个寄存器组,被配置为存储与所述特定类型的操作有关的数据;对接模块,被配置为通过以下各项来使用所述一组寄存器组来控制所述程序处理器与所述专用处理器之间的数据流:并发地:(i)向所述专用处理器提供对所述寄存器组中的存储用于当前操作的先前加载的数据的寄存器组的访问,由此允许所述专用处理器执行所述当前操作,以及(ii)访问所述寄存器组中的不同寄存器组以向所述寄存器组中的所述不同寄存器组中加载用于后续操作的数据以用于设立用于由所述专用处理器后续执行的所述后续操作;以及在所述专用处理器完成所述当前操作的执行之后,控制所述一组寄存器组以向所述专用处理器提供对来自所述一组寄存器组的所述寄存器组之一的用于所述后续操作的所述数据的访问,由此允许所述专用处理器执行所述后续操作。

【技术特征摘要】
2015.03.24 GB 1504979.41.一种处理系统,包括:专用处理器,适合用于执行特定类型的操作;程序处理器,被配置为执行包括多个操作的程序,其中所述程序处理器被配置为使得所述程序的为所述特定类型的操作由所述专用处理器执行;一组两个或者更多个寄存器组,被配置为存储与所述特定类型的操作有关的数据;对接模块,被配置为通过以下各项来使用所述一组寄存器组来控制所述程序处理器与所述专用处理器之间的数据流:并发地:(i)向所述专用处理器提供对所述寄存器组中的存储用于当前操作的先前加载的数据的寄存器组的访问,由此允许所述专用处理器执行所述当前操作,以及(ii)访问所述寄存器组中的不同寄存器组以向所述寄存器组中的所述不同寄存器组中加载用于后续操作的数据以用于设立用于由所述专用处理器后续执行的所述后续操作;以及在所述专用处理器完成所述当前操作的执行之后,控制所述一组寄存器组以向所述专用处理器提供对来自所述一组寄存器组的所述寄存器组之一的用于所述后续操作的所述数据的访问,由此允许所述专用处理器执行所述后续操作。2.根据权利要求1所述的处理系统,其中所述对接模块被配置为在步骤(ii)中使用对所述寄存器组中的所述不同寄存器组的所述访问以在用于所述后续操作的所述数据被加载到所述寄存器组中的所述不同寄存器组中之前从所述寄存器组中的所述不同寄存器组读取用于由所述专用处理器执行的先前操作的结果数据。3.根据权利要求1所述的处理系统,其中所述专用处理器被配置为向与所述一组寄存器组不同的存储器写入由所述专用处理器执行的操作的结果。4.根据权利要求3所述的处理系统,其中所述对接模块被配置为指示所述存储器中的哪些存储器地址是用于所述结果被写入到的有效地址。5.根据任一前述权利要求所述的处理系统,其中所述对接模块被配置为对于将由所述专用处理器执行的操作序列中的每个操作迭代并发步骤(i)和(ii)。6.根据任一前述权利要求所述的处理系统,其中所述对接模块被配置为控制所述一组寄存器组以响应于确定所述专用处理器已经完成所述当前操作的执行并且用于所述后续操作的所述数据已经被加载到所述寄存器组中的所述不同寄存器组中、来向所述专用处理器提供对来自所述寄存器组的所述寄存器组之一的用于所述后续操作的所述数据的访问。7.根据权利要求6所述的处理系统,其中所述对接模块被配置为维持对数据是否已经完成加载到所述寄存器组之一中以用于等待由所述专用处理器执行的操作的指示,其中所述对接模块被配置为使用所述指示以确定用于所述后续操作的所述数据是否已经被加载到所述寄存器组中的所述不同寄存器组中。8.根据任一前述权利要求所述的处理系统,其中在所述一组寄存器组中有两个寄存器组,其中所述寄存器组中的每个寄存器组被配置为在任何给定的时间耦合到所述专用处理器或者所述对接模块,其中所述对接模块被配置为控制对所述寄存器组的所述耦合,从而使得在所述专用处理器耦合到所述寄存器组中的第一寄存器组时,所述对接模块耦合到所述寄存器组中的第二寄存器组,并且反之亦然。9.根据权利要求8所述的处理系统,其中所述对接模块被配置为响应于确定所述专用处理器已经完成所述当前操作的执行并且用于所述后续操作的所述数据已经被加载到所述寄存器组中的所述不同寄存器组中、来转换所述寄存器组到所述专用处理器和所述对接模块的所述耦合。10.根据权利要求1至7中的任一权利要求所述的处理系统,其
\t中在所述一组寄存器组中有三个寄存器组,其中:所述寄存器组中的第一寄存器组耦合到所述对接模块;所述寄存器组中的第二寄存器组耦合到所述专用处理器;以及所述寄存器组中的第三寄存器组耦合到所述第二寄存器组;其中所述对接模块被配置为控制所述寄存器组,从而使得响应于确定所述专用处理器已经完成所述当前操作的执行并且用于所述后续...

【专利技术属性】
技术研发人员:P·默林G·戴维斯A·安德森
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

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

1