多处理器系统中传送数据的方法、多处理器系统及处理器的制作方法

文档序号:6512765阅读:162来源:国知局
专利名称:多处理器系统中传送数据的方法、多处理器系统及处理器的制作方法
技术领域
本发明涉及一种多处理器系统中的数据传送方法,一种多处理器系统和一种实施该方法的处理器,尤其用于多媒体数据的处理。
背景技术
多处理器系统包括多个处理器和这些处理器之间的数据传送装置。根据多处理器系统的公知示例,如附图1所示,被称为委托处理器的处理器100通过使用由被称为受托处理器的第二处理器102执行的功能来执行程序,以便加速整个程序的执行。
在这种多处理器系统中,每个处理器均包含用于执行形成了每个功能的指令的必需内部寄存器。通常,这组寄存器包含程序计数器、栈指针、状态寄存器和用于处理器数据的工作寄存器。
此外,委托处理器100通过建立执行所必需的数据的数据库110,来实施使受托处理器102执行功能的进程,此数据库110位于委托处理器100和受托处理器102之间,该数据库通过通信总线104与之相连。
根据其他变体,总线104位于委托处理器100内部,和/或其将多个委托处理器(未示出)与数据库110和受托处理器102相连。
此外,可以利用不同的电子元件来创建数据库110,如-缓冲存储器,共享在委托处理器100和受托处理器102之间,为静态随机存取存储器类型或SRAM,硬盘或闪速存储器;-根据数据到达的顺序处理数据的通信设备,或FIFO(“先进先出”);-如串行通信设备等其他通信装置。
于是,受托处理器102访问数据库110,以便提取如由受托处理器102的内部功能解码器106处理的地址或符号,以识别要执行的功能。内部功能解码器106能够在包含受托处理器102能够执行的全部功能的外部存储器108中识别被调用的功能。
随后,受托处理器102咨询数据库110,以获得执行被调用的功能所需的参数,然后,将这些参数保存在内部存储器112中。
最后,被调用的功能能够在此存储器112中执行,并提供其结果。
由此可见,根据现有技术的多处理器系统具有使用标准电子元件-处理器、总线、数据库的优点-即,适合用在多处理器系统中,不需要进行修改。换句话说,多处理器系统实现了包括在系统中的处理器所专有的处理能力的组合。
但是,本发明是对公知的多处理器系统具有需要大量数据存取操作的缺点的观察的结果。例如,委托处理器100和受托处理器102之间的数据传送明显地包括以下步骤-委托处理器100向数据库110传送受托处理器102执行功能所需的参数;-委托处理器100向数据库110传送对受托处理器102执行功能的请求;-受托处理器102访问数据库110以确定是否存在执行其功能的请求要实施。
随后,如果受托处理器102在数据库110中,以专用于此功能的符号或保存在其存储器108中的功能之一的地址的形式,发现这种执行请求,其执行此功能。
为此目的,在执行此功能的开始,受托处理器102必须再次咨询数据库110,以访问先前由委托处理器100传送的参数。
这种缺点意味着执行程序复杂而漫长,因为其包括对数据的大量存取指令(写或读),以便在委托处理器100和受托处理器102之间进行传送。
例如,多处理器系统对多媒体数据(图像、音频、视频)的处理是需要极快速执行的应用,因为其通常实时地执行。
在这种情况下,委托处理器100建立尤其包含与要处理的象素和与象素相关联的数值的处理参数(例如,亮度和颜色)相对应的存储器地址的数据库110,以便使受托处理器102能够执行功能。
由此可见,对于视频使用,需要大约10%到15%的功能执行时间来进行数据检索,此后,将此检索时间称为计算方面的“无效时间”或“开销”。
本发明的目的在于通过减少受托处理器存取执行由受托处理器命令的功能所需的数据的时间,来克服上述缺点中的至少一个。

发明内容
因此,本发明涉及一种用于从需要执行功能的委托处理器向执行这些功能的受托处理器传送数据的方法,基于与此功能相关联的功能标识符和执行参数,其中由委托处理器提供此标识符和这些参数,其特征在于在受托处理器执行另一功能的同时,委托处理器访问受托处理器的内部寄存器库,在这些寄存器中存储与要执行的功能相关联的参数。
因此,由于本发明,提高了多处理器系统的程序执行速度。事实上,当受托处理器开始执行由委托处理器请求的功能时,受托处理器可以立即使用已经被放入其内部寄存器库中的、与此功能相关联的参数。
换句话说,不再存在与针对功能执行的外部参数读取相关联的“开销”。
因此,由于没有与咨询与由受托处理器执行的功能相关联的参数有关的指令,涉及委托和受托处理器的功能和程序更短,且建立更快。
在一个实施例中,委托处理器访问专门分配给此委托处理器的内部寄存器,进行数据存储。
根据实施例,受托处理器的内部控制器命令将寄存器库中的寄存器或存储器空间分配给委托处理器。
在一个实施例中,在分配存储器空间之前,委托处理器请求受托处理器控制器分配存储器空间,以存储执行功能所需的参数。
根据一个实施例,当控制器将存储器空间分配给委托处理器时,此控制器发送分配给委托处理器的存储器空间标识符,然后,此处理器将执行功能所需的参数传送到已分配的存储器空间中。
在一个实施例中,委托处理器向受托处理器和委托处理器之间的中间装置,如FIFO随机存取存储器等,传送标识所请求的功能的数据。
根据一个实施例,受托处理器的内部寄存器库是包含具有以下特征中的至少一个的寄存器子集的存储器-每个寄存器子集具有其自己的读和写端口;-每个寄存器子集具有相同数量的寄存器,并包含受托处理器执行受托处理器能够执行的全部功能的操作所需的全部寄存器;-每个子集可以与委托处理器或受托处理器进行通信。
在一个实施例中,将参数存储在包含由受托处理器或委托处理器执行的不同数据处理操作所需的工作寄存器在内的寄存器中。
本发明还涉及一种多处理器系统,包含至少一个委托处理器,能够基于与此功能相关联的功能标识符和执行参数,请求执行这些功能的委托处理器执行功能,由委托处理器提供此标识符和这些参数,其特征在于其包含装置,用于依照前述实施例中至少一个所述的方法,在受托处理器执行另一功能的同时,使委托处理器访问受托处理器的内部寄存器库,以在这些内部寄存器中存储与要执行的功能相关联的参数。
在一个实施例中,多处理器系统包含与相同受托微处理器相连的多个委托微处理器。
本发明还涉及一种能够根据与此功能相关联的功能标识符和执行参数执行功能的受托处理器,由委托处理器提供此标识符和这些参数,其特征在于其包含装置,用于依照前述实施例中至少一个所述的方法,在受托处理器执行另一功能的同时,使委托处理器访问所述受托处理器的内部寄存器库,以存储与功能相关联的参数。


通过以下说明性的而非限制性的、并参照附图而给出的描述时,本发明的其他特征和优点将逐渐呈现出来,其中图1如上所述,示意性地示出了根据现有技术的多处理器系统中的数据传送;图2示意性地示出了根据本发明的多处理器系统中的数据传送;以及图3示出了根据本发明的受托处理器中的寄存器库结构。
具体实施例方式
在本发明的优选实施例中,受托处理器202(图2)包含内部寄存器库216,能够在写模式下,通过写端口220,在读模式下,通过读端口218,通过此受托处理器202的指令进行存取。
此寄存器库216还能够在写模式下,通过写端口212,在读模式下,通过读端口214,由委托处理器200进行存取,使用-通信总线204,可以位于委托处理器200的内部或外部,并还可以连接其他处理器(未示出),-以及接口210,位于受托处理器202的内部,在总线204上接收和发送数据。
寄存器库216由位于受托处理器202内部的控制器222控制。此控制器222将寄存器库216中的清晰标识的存储器空间分配给受托处理器202和委托处理器200,从而这两个处理器能够在寄存器库216中并行操作。
在此优选实施例中,寄存器库216包含存储器空间EM0 310(图3)、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304,每个存储器空间是独立的寄存器集合,允许受托处理器在每个存储器空间中执行其所有功能。
因此,每个存储器空间包含由受托处理器202或委托处理器200执行的不同数据处理操作所需的工作寄存器。此外,每个存储器空间具有其自己的写和读端口。
在适合于所使用的处理器的当前传送速率能力的特定示例中,尤其是在图像处理领域中,寄存器库216包括4个部分,每部分包括16个寄存器,因此构成了64个寄存器。
因此,利用控制器222,受托处理器和委托处理器总是在不同的存储器空间中进行操作,通过按照令牌环缓冲存储器次序分配存储器空间,防止了分配冲突。
如图3所示,在委托处理器200正在通过读和写端口308,将执行另一功能所需的参数写入存储器空间302EMi的同时,受托处理器202正在通过写和读端口306,在存储器空间300EMj中执行功能。
因此,注意到本发明的优点之一,即受托处理器202可以直接使用执行功能所需的参数,因为这些参数已经被委托处理器200存储在其寄存器库216中。
换句话说,受托处理器202不需要在外部数据库中存取这些参数,极大地减少了数据咨询时间段。
委托处理器200使用FIFO数据库217,以便向受托处理器202传送表示要执行的功能的数据。
事实上,委托处理器200和受托处理器202能够通过要执行的功能的符号表示或该功能在位于受托处理器202外部的存储器208中的明确地址,解译表示要执行的功能的数据。
因此,当其能够实施新功能时,受托处理器202执行功能。在这种情况下,受托处理器202访问确定了要执行的功能的FIFO数据库217,与此同时,改变寄存器库216中的存储器空间分配,从而使分配给此功能的新存储器空间对应于其中存储了执行新功能所需的参数的存储器空间。
在本发明的优选实施例中,当委托处理器200需要由受托处理器202执行功能时,按照如下的两个步骤实现数据传送方法(图2和图3)-根据第一步,委托处理器200传送具体实现其想要由受托处理器202执行的功能所需的参数,并请求执行此功能,而无需中断受托处理器202中的任何计算活动。
为此,委托处理器200向受托处理器202的接口210请求在其寄存器库216中分配存储器空间,并等待来自数据总线204的响应。
接口210向控制器222传送消息224,请求在寄存器库216中分配存储器空间。
当这种分配可能时,控制器传送分配给委托处理器200的存储器空间标识符226,例如,EMi 302。
使用此标识符,委托处理器200通过接口210以及写和读端口212/214,将执行此功能所需的参数写入其分配有EMi 302的存储器空间中。
然后,处理器200向FIFO数据库217传送表示要执行的功能的数据,例如,或者是所述功能的符号表示,或者是来自存储器208的地址。
-根据第二步,当受托处理器202准备好执行由委托处理器200请求的新功能时,受托处理器202通过使用写入到针对此新功能的已分配存储器空间(即EMi 302)中的参数,将其自身定位在形成了由委托处理器200请求的功能的指令序列的开始,从而委托处理器能够立即开始执行该功能。
应当指出,在本发明的优选实施例中,由控制器222按照以下方式分配存储器空间当启用受托处理器202时,并未将存储器空间分配给委托处理器200或受托处理器202。
当委托处理器200请求存储器空间的初始分配时,分配第一存储器空间EM0 310。然后,当在被分配了EMi 302存储空间之后,委托处理器200请求新存储空间分配时,控制器将存储器空间303{EM(i+1)模余n}分配给其,其中n是整数,除非此新存储空间{EM(i+1)或EM0}已经被受托处理器202使用。
在后一种情况下,委托处理器200等待,直到此新存储器空间{EM(i+1)或如果i=n+1,EM0}变得可用。
本发明具体实现了几种变体。实际上,在一个变体中,几个委托处理器同时访问处理器202的内部寄存器。
权利要求
1.一种用于从需要执行功能的委托处理器(200)向执行这些功能的受托处理器(202)传送数据的方法,基于与此功能相关联的功能标识符和执行参数,由委托处理器提供此标识符和这些参数,其特征在于在受托处理器执行另一功能的同时,委托处理器(200)访问受托处理器(202)的内部寄存器库(216)(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304),以在这些寄存器(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)中存储与要执行的功能相关联的参数。
2.根据权利要求1所述的方法,其特征在于委托处理器(200)访问专门分配给此委托处理器的内部寄存器(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304),进行数据存储。
3.根据权利要求1所述的方法,其特征在于受托处理器(202)的内部控制器(222)命令将寄存器库中的寄存器(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)分配给委托处理器(200)。
4.根据权利要求3所述的方法,其特征在于在分配存储器空间之前,委托处理器(200)请求受托处理器(202)的控制器(222)分配存储器空间(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304),以存储执行功能所需的参数。
5.根据权利要求4所述的方法,其特征在于当控制器(222)将存储器空间(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)分配给委托处理器(200)时,此控制器(222)发送分配给委托处理器(200)的存储器空间标识符(226),然后,此委托处理器(200)将执行功能所需的参数传送到已分配的存储器空间中。
6.根据权利要求1所述的方法,其特征在于委托处理器(200)向位于受托处理器(202)和委托处理器(200)之间的装置(217),如FIFO随机存取存储器等,传送标识所请求的功能的数据。
7.根据权利要求1所述的方法,其特征在于受托处理器(202)的内部寄存器库(216)(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)是包含具有以下特征中的至少一个的寄存器子集的存储器-每个寄存器子集具有其自己的读和写端口;-每个寄存器子集具有相同数量的寄存器,并包含受托处理器执行受托处理器能够执行的全部功能的操作所需的全部寄存器;-每个子集可以与委托处理器或受托处理器进行通信。
8.根据权利要求1所述的方法,其特征在于将参数存储在包含由受托处理器或委托处理器执行的不同数据处理操作所需的工作寄存器在内的寄存器(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)中。
9.一种多处理器系统,包含至少一个委托处理器(200),能够基于与此功能相关联的功能标识符和执行参数,请求执行这些功能的委托处理器执行功能,由委托处理器(200)提供此标识符和这些参数,其特征在于其包含装置,用于依照前述权利要求中至少一个所述的方法,在受托处理器(202)执行另一功能的同时,使委托处理器(200)访问受托处理器(202)的内部寄存器库(216)(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304),以在这些内部寄存器(EM0 310、EM1 311、…、EMj 300、EM(j+1)301、…、EMi 302、…、EMn 304)中存储与要执行的功能相关联的参数。
10.根据权利要求9所述的多处理器系统,其特征在于多个委托微处理器与相同的受托微处理器相联系。
11.一种能够根据与此功能相关联的功能标识符和执行参数执行功能的受托处理器(202),由委托处理器(200)提供此标识符和这些参数,其特征在于其包含装置,用于依照权利要求1到8之一所述的方法,在所述受托处理器执行另一功能的同时,使委托处理器(200)访问所述受托处理器的内部寄存器库(216),以存储与功能相关联的参数。
全文摘要
本发明涉及一种用于从需要执行功能的委托处理器(200)向执行这些功能的受托处理器(202)传送数据的方法,基于与此功能相关联的功能标识符和执行参数来执行这些功能,其中由委托处理器(200)提供此标识符和这些参数,其特征在于在受托处理器执行另一功能的同时,委托处理器(200)访问受托处理器(202)的内部寄存器库(216),以在这些寄存器中存储与要执行的功能相关联的参数。
文档编号G06F15/167GK1645351SQ200510004530
公开日2005年7月27日 申请日期2005年1月18日 优先权日2004年1月21日
发明者伯努瓦·德莱屈尔, 弗雷德里克·普利索诺, 马里耶-让·科拉梯斯 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1