当前位置: 首页 > 专利查询>ARM有限公司专利>正文

数据处理装置中的数据引擎的使用制造方法及图纸

技术编号:2823880 阅读:215 留言:0更新日期:2012-04-11 18:40
公开了一种数据处理装置和这种数据处理装置的操作方法。所述数据处理装置具有可以操作以执行多个数据处理任务的主处理单元,以及用于代表所述主处理单元执行大量那些任务的数据引擎。可由主处理单元将至少一个共享资源分配给所述数据引擎,以供所述数据引擎在代表主处理单元执行数据处理任务时使用。所述数据引擎包括用于执行任务的数据引擎核,以及可由所述主处理单元进行配置并布置成管理所述数据引擎核和所分配的共享资源之间通信的数据引擎子系统。所述数据引擎核包括用于相对于数据引擎子系系统担当主设备以管理所分配的共享资源使用的资源管理器单元。已经发现这种方法在数据处理装置内提供了数据引擎的特别有效的实施,这降低了改写现有代码以使其能够在这种数据处理装置上执行的需要。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种数据处理装置和方法,并且尤其涉及这种数据处理装置中的数据引擎的使用
技术介绍
在具有主处理单元的数据处理装置中,公知的是提供可以用来代表主处理单元处理特定数据处理任务的数据引擎,有时也称作松散耦合的协同处理器(在数据引擎驻留在主处理单元外部且数据引擎与主处理单元之间的同步仅仅发生在过程或任务级别的意义上来讲,是松散耦合的)。这可能引起与其中所有任务都通过主处理单元来处理的数据处理装置相关的各种改善,这些改善例如是支持所需功能需要的总体硅面积减少、给定任务集的功耗降低或者执行速度的增加中的一个或多个。这种数据引擎的一个实例是数字信号处理器(DSP),可以把数据信号处理器看作是为处理特定处理任务而优化的处理单元,并且通常具有它自己的专用资源,例如它自己的中断控制器、它自己的直接存储器访问(DMA)逻辑等。虽然这种DSP的使用在改善数据处理装置的性能方面非常有效,但是在数据处理装置中提供DSP是非常昂贵的,这是由于需要为DSP提供所有需要的专用资源,以使得DSP能够代表主处理单元来执行需要的处理任务。对于这种DSP的一种备选方式是提供没有专用于它的本地资源的数据引擎,诸如担当主处理单元的纯从属设备的数据引擎。在这种实例中,主处理单元为数据引擎分派特定任务,连同为其分配数据引擎执行该任务所需的所有数据,并当已经完成任务时,随后从数据引擎接收确认信号。当接收到这种确认信号时,就可以从主处理单元为数据引擎分派另一任务。虽然与早先提到的DSP相比这种数据引擎便宜很多,但是由于不需要为数据引擎提供本地资源的事实,所以在代表主处理单元来处理对数据引擎的个别任务分配以及确保为数据引擎提供了执行任务所需的所有数据时,存在相当大的开销,从而导致了相当大的全局系统活动来支持数据引擎的活动。这不仅恶化了计算周期和功耗方面的性能,而且-->也导致需要相当大地改写现有软件,以确保该软件能够运行在包括这种数据引擎的数据处理装置上,而这明显是不期望的。在将DSP需要的所有资源都本地提供给DSP且为DSP所专用的上述DSP方法与数据引擎没有本地/专用资源的数据引擎方法之间,已经研发了一种中间立场的方法,该方法提供了可以访问特定资源但那些资源是与数据处理装置中的其他元件共享的数据引擎。因此,虽然对于特定会话(通常包含一组待执行任务的会话),那些资源或那些资源中的一部分可以为数据引擎所专用,但是在随后的会话中还可以将那些资源重新分配给数据处理装置的其它元件。当提供了数据引擎对特定共享资源的访问时,可以在主处理单元与数据引擎之间提供子系统层,进而提供数据引擎从主处理器单元中的一些去耦。然后主处理单元可以为数据引擎分配一组任务,接着子系统进行处理将每个单独任务分配到数据引擎以进行处理。子系统还可以使得由于或当使数据引擎执行所需任务需要时来访问所分配的共享资源。在这种方法中,子系统相对于数据引擎来讲采用了主要角色,而数据引擎再次担当纯粹的从属设备。这种方法允许主处理单元分配任务组给子系统以供数据引擎进行处理,虽然这种方法通过这种方式可以消除主处理单元中一些任务管理的复杂度,但是通常仍然需要大量改写现有软件,以使得该软件能够在数据处理装置上执行。尤其在写入执行特定任务的软件时,可能已经假设这种任务将由能够展现一些主功能性的处理单元来执行,因此可能启动特定事件。然而如上所述,当由子系统将任务分配给数据引擎时,数据引擎本身担当纯粹的从属设备,并不能启动任何事件。上述方法的另一问题在于,该方法在系统内部提供了三种不同的编程视点(program points of view)。尤其是除了需要对主处理单元和数据引擎进行编程之外,子系统也需要某种编程,这是由于子系统在其自身的权限中作用就像是本地处理单元,其原因在于需要子系统来管理单个任务到数据引擎的分配,并且要管理在需要时对共享资源的访问,以确保为数据引擎提供它执行这种任务所需的所有数据。另外,由于使用共享资源需要与主处理单元进行大量通信,因此子系统对于降低全局系统活动并没有帮助。-->因此,非常希望提供一种用于在数据处理装置中使用的改进数据引擎,所述数据处理装置可以提供与DSP使用相关的大量成本节约,并且可以降低必须改写软件以使得数据引擎能够在包括该数据引擎的系统上运行的风险。
技术实现思路
从第一方面考虑,本专利技术提供了一种数据处理装置,所述数据处理装置包括:主处理单元,可以操作以执行多个数据处理任务;数据引擎,可以操作以代表所述主处理单元执行大量所述数据处理任务;至少一个共享资源,可由主处理单元分配给所述数据引擎,以供所述数据引擎在执行所述大量数据处理任务时使用;所述数据引擎包括数据引擎核以及数据引擎子系统,所述数据引擎核可以操作以执行所述大量数据处理任务,所述数据引擎子系统可由所述主处理单元进行配置并可以操作以管理所述数据引擎核与所分配的共享资源之间的通信;所述数据引擎核包括资源管理器单元,所述资源管理器单元可操作以相对于数据引擎子系统担当主设备,进而管理所分配的共享资源的使用。根据本专利技术,数据引擎具有用于代表主处理单元执行任务的数据引擎核以及数据引擎子系统,所述数据引擎子系统可由所述主处理单元进行配置,并布置成管理所述数据引擎核与所分配的共享资源之间的通信,所分配的共享资源是主处理单元已经分配给所述数据引擎以供数据引擎在执行任务时使用的资源。对于某一时期,通常是一个会话,可以把共享资源的全部都分配给数据引擎,或者相反仅分配资源的一部分,而另一部分分配给数据处理装置的其它元件。当把资源的一部分分配给数据引擎时,该部分可以是物理部分,例如存储器的区域、受到限制的DMA控制器通道号等,或者可以是标识了共享资源所支持功能性的特定子集的功能部分,例如允许数据引擎读取访问但是不允许写入访问。因此对于一个时期,共享资源可以专用于数据引擎,或者在该时期期间,可以在数据引擎和其它元件(例如也可以是数据引擎)之间共享,但是在后者的情况下,通常仅仅为数据引擎分配与分配给其它元件的物理或功能部分不相冲突的物理或功能部分的访问。此外,根据本专利技术,数据引擎核具有资源管理器单元,所述资源管-->理器单元相对于数据引擎子系统担当主设备,以便管理所分配的共享资源的使用。通过这种方法,数据引擎核能够执行各种不同的动作,这些各种不同的动作正是现有软件可能期望执行该软件的处理单元具有能力执行的动作。这可以显著地降低为了使现有软件能够在包括这种数据引擎的数据处理装置上执行而需要改写现有软件的程度。此外,由于对共享资源的访问通过资源管理器单元紧密地集成在数据引擎中,所以这些资源与必须在数据引擎自身上活动的资源相比,代价更低。此外,通过在数据引擎核中提供资源管理器单元来相对于数据引擎子系统担当主设备,就可以缓和分别对数据引擎子系统进行编程的需要,因此可以降低否则可能出现的编程视点的数量,从而显著降低设计的复杂度。资源管理器单元可以作为硬件单元来形成,或者备选地可以形成为硬件和软件元件的混合。共享资源可以由数据处理装置的任何其他元件所共享,例如主处理单元或者提供在数据处理装置内的任何另外的数据引擎。在一个实施例中,多个数据引擎可以使用相同的数据引擎子系统,并且在这种情况下,共享资源可以实际驻留在数据引擎子系统内部。通常,本文档来自技高网
...

【技术保护点】
一种数据处理装置,包括:    主处理单元,可以操作以执行多个数据处理任务;    数据引擎,可以操作以代表所述主处理单元执行大量所述数据处理任务;    至少一个共享资源,可由主处理单元分配给所述数据引擎,以供所述数据引擎在执行所述大量数据处理任务时使用;    所述数据引擎包括数据引擎核以及数据引擎子系统,所述数据引擎核可以操作以执行所述大量数据处理任务,所述数据引擎子系统可由所述主处理单元进行配置并可以操作以管理所述数据引擎核与所分配的共享资源之间的通信;    所述数据引擎核包括资源管理器单元,所述资源管理器单元可操作以相对于数据引擎子系统担当主设备,进而管理所分配的共享资源的使用。

【技术特征摘要】
【国外来华专利技术】US 2005-5-4 11/121,185;EP 2005-10-3 05256176.81.一种数据处理装置,包括:主处理单元,可以操作以执行多个数据处理任务;数据引擎,可以操作以代表所述主处理单元执行大量所述数据处理任务;至少一个共享资源,可由主处理单元分配给所述数据引擎,以供所述数据引擎在执行所述大量数据处理任务时使用;所述数据引擎包括数据引擎核以及数据引擎子系统,所述数据引擎核可以操作以执行所述大量数据处理任务,所述数据引擎子系统可由所述主处理单元进行配置并可以操作以管理所述数据引擎核与所分配的共享资源之间的通信;所述数据引擎核包括资源管理器单元,所述资源管理器单元可操作以相对于数据引擎子系统担当主设备,进而管理所分配的共享资源的使用。2.根据权利要求1所述的数据处理装置,其中将由数据引擎执行的大量数据处理任务包括指令序列,该指令序列包括可由数据引擎核执行的指令集的至少一个指令,以使得所述资源管理器单元充当所述主设备,当执行所述至少一个指令时,资源管理单元可以操作以向数据引擎子系统发出控制命令,进而管理所分配的共享资源的使用。3.根据权利要求2所述的数据处理装置,其中所述数据引擎子系统包括控制逻辑,所述控制逻辑可以操作以从资源管理器单元接收控制命令,以及根据所述控制命令来控制所分配的共享资源的使用。4.根据权利要求2或3所述的数据处理装置,其中可由数据引擎核执行的指令集包括至少一个传输启动指令,当被执行时,该至少一个传输启动指令将使得资源管理器单元担当所述主设备。5.根据权利要求2至4任一项所述的数据处理装置,其中所分配的共享资源和数据引擎核相互并发操作,并且可由数据引擎核执行的指令集包括至少一个同步指令,当被执行时,该至少一个同步指令将使得在所分配的共享资源与数据引擎核之间发生同步。6.根据权利要求5所述的数据处理装置,其中当主处理单元指示该数据引擎子系统的新配置时,所述数据引擎核可以操作以执行所述同步指令的其中之一,以便到达使所分配的共享资源和数据引擎同步的同步点,并且新配置仅仅在达到同步点之后才在数据引擎子系统中起作用。7.根据权利要求2至6任一项所述的数据处理装置,其中所述数据引擎核包括由多个功能单元组成的数据通路逻辑,所述功能单元其中之一是资源管理器单元,所述数据引擎核进一步包括可以操作以控制序列中的每个指令的控制器,该功能单元根据该指令动作。8.根据前述权利要求任一项所述的数据处理装置,当从属于权利要求2时,进一步包括可以操作以对供数据引擎核执行的所述指令序列进行调度的数据引擎编译器,其中可由数据引擎核执行的指令集包括标识边界条件的至少一个边界指令,当遇到所述边界指令之一时,所述编译器可以操作以在考虑了所述边界条件的情况下对序列中随后指令的执行进行调度。9.根据前述权利要求任一项所述的数据处理装置,其中所述资源管理器单元可以作为与数据引擎同步的数据传输控制器来操作。10.根据权利要求9所述的数据处理装置,其中所分配的共享资源包括DMA逻辑,并且资源管理器单元可以操作以担当DMA主设备而启动使用所述DMA逻辑的数据传输。11.根据前述权利要求任一项所述的数据处理装置,其中所分配的共享资源包括中断控制器,资源管理器单元可以操作发出中断,以经由数据引擎子系统而路由到中断控制器。12.根据前述权利要求任一项所述的数据处理装置,其中所分配的共享资源包括存储器区域,并且资源管理器单元可以操作发出控制信号,以启动该存储器区域的一个或更多部分的使用改变。13.根据前述权利要求任一项所述的数据处理装置,当从属于权利要求2时...

【专利技术属性】
技术研发人员:MC维策伦伯格J马特纳D迪林克斯S瓦姆贝克
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB[英国]

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

1
相关领域技术
  • 暂无相关专利