一种片上系统(SoC)的微控制体系结构的制作方法

文档序号:6498398阅读:333来源:国知局
专利名称:一种片上系统(SoC)的微控制体系结构的制作方法
技术领域
本发明的实施例是涉及片上系统(SoC)体系结构,其中主处理器使用操作系统(OS)控制体系结构的数据流和硬件(HW)加速以将控制命令传递给软件(SW),其中操作系统例如为Symbian OSTM(Symbian和Symbian OS是Symbian软件有限公司的注册商标),而其中软件优选地为用来建立以及控制处理和数据流的微码软件辅助子系统。受控的处理可以是片上处理和片外处理,由快速通信链路互相连接。
背景技术
典型的数据处理器总线系统配置在用于SoC体系结构通信中时过于缓慢,特别是在同时使用多个数据流的情况下。而每当需要通过处理单元,例如硬件加速器传送或者流通实时、多媒体或其他大容量的数据流时,通常都需要多个数据流。
一个特别受关注的问题涉及了多媒体应用的出现以及由第三代(3G)无线电信系统提出的不断提高的性能需求。无线电信的演进增加了在移动电话体系结构中对硬件加速和缓冲的需求。然而,为了形成一个具有小的软件开销的灵活系统而在SoC上集成硬件处理是有问题的。
串行总线是快速片外通信的优先选择,因为平行数据总线通常需要更多的连接管脚,并且在高速数据传输时容易发生偏移误差。然而因为需要提供一个时钟信号,所以在片外通信中使用典型的片上串行总线是有限制的。可以重新产生时钟信号,但这会使系统的运行变慢,可选择地也可以使用异步信令。
单个总线不能提供足够的数据传输速度的不足很快就成为系统的瓶颈,这使得多个点对点连接在典型SoC体系结构中的使用是有利的。然而,以灵活的方式控制这些多个点对点数据流是复杂的。当实现灵活的软件驱动的应用时,SoC体系结构中的数据流的动态控制要重点考虑。
现代的图形用户界面(GUI)驱动的多媒体应用产生了各种不断变化的数据传输和处理任务,这些都需要在硬件平台上执行。电信系统中数据流的处理非常需要硬件加速。如上所述,多媒体应用和3G性能的出现增加了在移动电话和其他体系结构中对硬件加速的需求。
任何类型的硬件加速的灵活性都依赖于操作系统,其中该操作系统能够触发和控制硬件加速,并且还能够以小的开销连接所需的数据输入和数据输出。通常使用软件处理实现来为系统提供灵活性,以及使用硬件处理实现来有助于提高速度和降低功率损耗。然而,当在数据流上进行大量软件处理时,或者当使用软件处理来操纵或传输大的数据流时,软件处理就成为了瓶颈。
如上所述,将SoC中的硬件处理集成到具有小的软件开销的灵活系统中是有问题的。现有技术可以根据需要启动或者关闭高速固定连接。对于动态的连接,已经标准化了一些总线结构,例如OMAPTM(德州仪器公司)。然而,这些方法的传输能力都太低,而且不提供能够将多个同时的数据流集成到一起的解决方案。常规方法也不提供用于建立以及控制数据源和目的地的结构,它们也不能有助于片外处理控制。总的来说,这种系统允许的可能数据传输连接的数目是低的,这限制了动态数据传输配置的灵活性。
之前,已经通过各种串行或者并行的通信标准来对片外连接进行了处理,但是,这些常规方法对于用作片上数据流机制并不能容易地实现。

发明内容
根据本发明的现有优选实施例,前面讨论的问题以及其他问题都可以解决,并且实现了其他的优点。
在其一个方面,本发明提供了一种数据处理系统,包括运行操作系统的主处理器;微控制处理器,其耦合到主处理器并如主处理器所指示的控制第一多个硬件处理;以及切换矩阵,其由第一微控制处理器控制,并耦合到第一多个硬件处理的单独的处理的输入端口和输出端口之间,用于在第一多个硬件处理的单独的处理之间路由数据。
在其另一方面,本发明提供了一种控制片上系统(SoC)的方法,包括使至少数据源、数据宿和数据处理节点能够使用通过由至少一个微控制处理器控制的切换节点所进行的连接彼此直接通信;由至少一个微控制处理器实现片外通信的控制,以及用运行操作系统的主处理器指示至少一个微控制处理器的操作。至少一个微控制处理器的功能使得主处理器与底层通信和硬件的具体功能相隔离。
在其又一方面,本发明提供了一种包括用于耦合到至少一个外围单元的接口的单元。单元和外围单元中的每一个都包括一种电路安排,其中单元的电路安排具有运行操作系统的主处理器,或者具有耦合到运行操作系统的主处理器的通道。每个电路安排包括本地微控制处理器,该本地微控制器耦合到主处理器并且如主处理器所指示的控制多个本地硬件处理的操作,并且该电路安排还包括本地交换矩阵,其由本地微控制处理器控制,并且耦合在多个本地硬件处理的单独的处理的输入端口和输出端口之间,用来在多个本地硬件处理的单独的处理之间路由数据。多个本地硬件处理中的一个包括接口,其中接口用于耦合到可操作地用来将单元耦合到外围单元的总线。单元的本地微控制处理器的操作由主处理器发出的高层宏命令来指示,并且为了一些宏命令的执行,单元的微控制处理器经由总线与外围单元的本地微控制处理器进行通信。
在另外一方面,本发明提供了一种包括用于耦合到至少一个主单元的接口的外围单元,其中外围单元和主单元的每一个包括一种电路安排,主单元的电路安排具有运行操作系统的主处理器,或者具有耦合到运行操作系统的主处理器的通道。外围单元和主单元的电路安排的每一个包括本地微控制处理器,该本地微控制处理器耦合到主处理器,以如主处理器所指示的控制多个本地硬件处理,并且该电路安排还包括本地交换矩阵,该本地交换矩阵由本地微控制处理器控制,并且耦合在多个本地硬件处理的单独的处理的输入端口和输出端口之间,用来在多个本地硬件处理的单独的处理之间路由数据。多个本地硬件处理中的一个包括接口,用于耦合到可操作地用来将外围单元耦合到主单元的总线。每个本地微控制处理器的操作由主处理器发出的宏命令来指示,并且为了一些宏命令的执行,外围单元的微控制处理器经由总线与主单元的微控制处理器进行通信。


结合附图阅读以下优选实施例的详细描述,这些教导的上述方面以及其他方面的特征将会更加明显,其中图1是SoC系统的简化框图,该片上系统具有片上处理和片外处理,它们通过片外总线耦合到一起;图2举例解释了在MICAS切换器控制下的硬件处理之间的数据流;图3是软件处理子系统的简化框图;图4是分组协议解析器的简化框图;以及图5描述了用于传送和接收差分多值信号的片外接口。
具体实施例方式
通过介绍,本发明的实施例提供了一种方法和装置来控制SoC体系结构,其中在这个体系结构里不同的信源、信宿、缓冲器和处理节点使用由交换节点控制的连接来通信。更具体地,本发明的实施例使得可以更详尽地控制串行数据流、硬件加速器和片外通信,并且可以在由主处理器触发的微码中实现。
片上物理硬件处理之间的以及去往和来自SoC外部的虚拟处理的数据流连接的控制被实现为在单独的专用微控制器上运行的软件。用来控制可配置硬件的软件最好实现为微码,而通过在专用微控制器上执行的微码,硬件本身对于主处理器操作系统是隐藏的。
包括片外通信的数据流、它们的信源、信宿和硬件加速器,以及操纵数据流的片外处理,作为抽象实体被呈现给SoC的处理器。微码中间层在专用微控制器上执行,用来实现数据流和处理的抽象。
体系结构中包括了到另一个芯片或系统的数据链路。优选地虚拟复用此数据链路,以便在更高抽象层(对SoC处理器可见),片上物理硬件处理和片外处理在系统体系结构中都可以被当作等同的元素,该系统体系结构这里称为SoC的微码体系结构,或者MICAS。
从现在开始,根据上下文的不同,SoC处理器被称为“主处理器”或者“SoC主处理器”。“SoC软件”或者“操作系统”,例如一种被称为Symbian OSTM(http://www.symbian.com)的操作系统,运行在SoC处理器上。执行微码的专用MICAS微控制器,可以被称为“控制器”、“微控制器”或者“微码处理器”。
在MICAS体系结构中,处理速度得到了提高,这是因为数据流可以由硬件直接处理、传输和存取,而软件相关的时延非常低并且软件处理非常少。硬件能够直接传输数据而不使用主处理器的总线。因为时延和中断由微码来操作,而不是由操作系统来操作,所以更加减少了操作系统的负担。在微码体系结构中,硬件更有效地运行,并且通过低层的任务减轻了SoC软件负担,从而获得了SoC解决方案的十分灵活的硬件平台。
微码体系结构支持数据流应用的高速性能,因为其针对并解决了数据传输瓶颈问题,同时仍然支持流连接的动态的和可编程的行为。硬件行为是可以编程的,从而可重配置的硬件对处理数据流可用。
根据本发明实施例的微码体系结构的一致性可以产生很多优势。方便了对于较高层模型驱动体系结构(MDA)设计工具的应用,并且诸如形式证明和验证的设计方法变得更适用。基于统一建模语言(UML)或者其他语言,实现MDA设计流程的技术对于一致的体系结构,例如由根据本发明的实施例的微码体系结构给出的体系结构更容易适应。MDA方法使得有可能通过使用给定的硬件平台的预定义的元模型,实现将动态硬件配置的图形定义模型集自动翻译为微码。这种翻译由硬件平台的元模型来定义。已获得的优势在于,可以为已有的硬件平台或新的硬件平台上的新动态硬件配置获取控制设施的快速微码实现,而且从已有的元模型中迅速地且容易地开发用于新硬件平台的新元模型。
本发明的实施例的微码体系结构操作硬件处理,例如编码器、解码器、加密器、解密器、图像处理器、分组解析器以及流控制单元,例如片上数据存储器、视频存储器和流缓存。除了这样的片上单元,微码体系结构还包括片外处理,例如无线上行链路、无线下行链路、海量存储器、显示器、打印机和照相机(图像捕获)。片外处理使用片外通信总线,也可以称为片外总线,来进行通信。在系统体系结构中,片外总线提供了片外处理的虚拟通道。
根据本发明实施例的片上系统体系结构的单元包括但不限于处理单元;片上硬件模块,用于处理作为非限制性示例的视频和音频并用于处理加密解密、编码和解码以及压缩、分组协议解析;流控制单元(例如缓存器、存储器和视频存储器);I/O单元(例如片外总线端口);用于片外处理的虚拟通道(该处理例如做为非限制性示例的上行链路、下行链路、显示器、照相机、打印机、红外、蓝牙TM(蓝牙是蓝牙Sig公司的注册商标);闪速存储卡和海量存储器);软件子处理;微码MICAS控制总线;用于片上连接的MICAS切换器;中断控制;带有中断处理能力的MICAS微控制器和用于诸如SymbianTM的较高层操作系统的实现宏命令的微码软件;以及在操作系统和MICAS控制器之间的调用机制。以这种方式,相对高层的命令(例如显示一个图形图像)可以与变元一起发出,并且在一个或者多个本地微控制单元的层面对实际显示处理的细节进行操作。
图1说明了一个SoC系统1的简化框图,该系统1带有示例性的片上处理13和示例性的片外处理12,它们由片外总线14耦合到一起。片外总线14是一个点对点的总线,并且可以使用异步自时钟总线的方法来实现。多个虚拟通道40的使用仅仅以示例的方式来指示。示例性指示的硬件处理为显示器41,存储器42,打印机43,上行链路和下行链路44(例如,蜂窝通信链路),短程链路(例如,蓝牙或者红外)45,以及照相机/扫描仪46,这些硬件处理优选地在片外总线14上不处于实际激活状态,但它们优选地实现为片外硬件处理,例如421、422和423所指示的。
优选地,由软件控制片上硬件处理13,示例性的片上加速器处理为硬件处理21、加密22、压缩23、图像处理24和硬件编解码25,示例性的定制处理DSP处理和存储器访问27、分组协议解析器28和同步FIFO 29以及多数据流120。片外硬件处理421、422和423以及相应的MICAS切换器431、432、433数据流420a、420b的控制由软件以相同的方式来执行。
控制可配置的处理的软件和操作数据流路由的软件优选地实现为在专用MICAS微控制器302、402中的微码。MICAS微控制器302、402由较高层的命令301、401来控制,这些命令是从各自的子系统接收的,例如在主处理器上运行Symbian OSTM的Symbian子系统300,或者其他主MICAS子系统。
硬件加速器处理21、22、23、24、25、421,422,423以及在各自数据流通道中的定制处理27、28、29执行实际的数据处理。处理参数包括在处理建立期间配置的硬件处理参数和具体的数据流路由。当各MICAS控制器302、402通过控制总线305、405需要这些参数的时候,这些参数就被传递到处理21、22、23、24、25、421、422、423、27、28和29。这些参数的有效值和其他的状态信息可以通过控制总线305、405由MICAS控制器302、402从处理中读取。
此外,与流120、420的源和目的地有关的信息,即与处理之间的动态连接有关的信息,被传递到MICAS切换器31、32、33、34、35、431、432和433。
来自子系统300的较高层的命令(例如通过OS或者片外总线1 4上的通道)提示MICAS控制器302执行确定和建立参数的任务,或者通过向片外总线硬件处理16发送消息来将此任务或者此命令委托给远程的MICAS控制器402。片外总线硬件处理16使用片外总线14将消息传输给远程的片外总线硬件处理15。这些消息由片外总线硬件处理15接收,该硬件处理15产生中断404,中断控制器403操作该中断404,以使远程MICAS控制器402读取高级命令401。由此,芯片13上的MICAS控制器302可以实现较高层的命令,或者可以通过使用远程的MICAS控制器402来读取较高层的命令401,来经由在远程芯片12上的虚拟子系统间接地实现较高层的命令。后者的操作方式是有可能的,如果例如远程芯片12处于从模式,并且本地芯片13相对于远程芯片12来说处于主模式。
主子系统可以有几个从子系统,并且子系统可以对另外的从子系统来说是主模式。在实际情况中,每一个片外总线14的虚拟通道40都可以支持从子系统。主子系统300可以是通过片外总线控制通道连接的MICAS系统,或者另外一个较高层的子系统,该子系统有一个运行着操作系统的处理器(在图1中称为控制通道)。
一般地,到片外总线1 4的接口,即片外总线硬件处理16,可以被认为包括可以由MICAS微控制器或者处理器302,在OS子系统或控制通道300(主处理器300)协同下,动态定义的部分虚拟网络。
本地(片上)MICAS控制器302按照需要建立本地处理21、22、23、24和25要求的参数,并且建立芯片13上的MICAS切换器31、32、33、34、35。这是通过使用经由控制总线305的读和写访问以建立和控制/命令本地处理21、22、23、24、25的寄存器并控制切换器31、32、33、34、35来完成的。
以类似的方式,远程(片外)MICAS控制器402建立远程处理421、422、423的操作所需的参数,并且建立远程芯片12上的MICAS切换器431、432、433。这是通过使用经由控制总线405的读和写访问以建立远程处理421、422、423的寄存器并控制切换器431、432、433来完成的。
当处理21-25自己需要触发或者委托可配置硬件的控制时,这也可以通过由MICAS控制器302发出所要求的命令来完成。来自处理21-25的任何所需的中断304由中断控制器303来操作。可以有利地对片上中断进行硬连线以实现低延迟,但是来自片外处理的中断经由片外总线14传输。片外总线14在链路协议层提供了低延迟的信令通道,该通道可以用于低延迟的中断。当片外处理421、422或者423发出这样一个中断404时,该中断由中断控制器403接收并传递给远程MICAS控制器402,远程MICAS控制器402接着向片外总线硬件处理15发送消息401。然后,这个消息由片外总线14以低的延迟传输到片外总线硬件处理16,然后硬件处理16产生硬连线的中断304,该中断以类似于本地片上中断的方式得以处理。
图2以示例的方式示出了其中示例性的5个MICAS切换器31、32、33、34、35操作数据流131、132、133、134、135的路由,其中假设132、133和135在这个非限制性示例中被连接起来用于数据传送。每个MICAS切换器31,32,33,34和35分别操作数据流131、132、133、134和135中的一个。MICAS切换器31,32,33,34和35可以简单地实现为开关(例如闩开关(cross-bar switch)),并且不需要从数据流中增加和移除任何信息。数据流也可以被复用,并且包括虚拟通道,如果连接的处理允许虚拟通道的话。例如在图2中,数据流151和153可以通过同一个MICAS切换器33被复用,而不使用MICAS切换器32。然而,为了保持图的简明,这样的复用连接没有显示在图2中。因此,图2仅仅描述了切换器31,32,33,34和35的典型使用。节点141、142、143、144、145和146示出数据流151、152、153的读和写的切换连接点。
MICAS切换器31、32、33、34、35可以被认为形成一个切换阵列,用来选择性地互连处理16和21-26以及处理27、28和29(没有在图2中示出)的输入端口和输出端口之间的数据流。
通常,仅由连接到硬件处理(片外总线硬件处理)16的MICAS切换器来操作虚拟通道。片外总线14上的虚拟通道由专用处理器302生成和控制,并且当远程MICAS处理器402在从模式下工作时,该通道用来操作片外处理。当专用处理器302允许时,相反的操作可以进行,由此远程的MICAS处理器402作为允许的主处理器,以及MICAS处理器302作为允许的从处理器。
图2主要说明了MICAS切换器31、32、33、34和35如何连接片上硬件处理21、22、23、24、25和26之间的数据流。虽然没有在示例中示出,MICAS切换器31,32,33,34和35也可以连接总线接口硬件处理16和定制处理27、28、29之间的数据流。每个处理16、21、22、23、24、25、26、27、28、29都可以有输入/输出(I/O)端口,例如121、122、123、124、125、126和127,这些端口使用两条单独的线路,一个用来写(W),另一个用来读(R)。将读和写的开关连接在I/O端口和数据流131、132、133、134和135之间。在说明的示例中,来自硬件处理26写输出的数据流151经由节点141的写开关和结点142的读开关连接到硬件处理21的读输入。开关145和146,以及所有其他的连接到数据流133的读开关或写开关都由MICAS切换器33控制。
应当注意,不需要实现所有的这些开关,然而缺少一个或者多个开关会使得流控制变得复杂,并且还可能减低在一定情况下的吞吐量,因为不是所有的连接都是可能的了。
图3举例说明了一种方式,其中可以通过软件处理27、28、29来实现不由诸如21、22、23、24、25的硬件加速器处理来操作的处理。更具体地,图3示出了DSP处理和访问存储器处理27的非限制性的实施例。MICAS控制器302可以至少通过控制总线305来访问DSP处理和访问存储器处理27。DSP处理和访问存储器处理27至少包括公用的访问存储器270,其中DSP子系统278和OS子系统300都可以操纵数据。
MICAS切换器31、32、33、34和35具有通过仲裁器到公共访问存储器270的流访问,该仲裁器在图3中称为流切换器276,它耦合到DSP处理和访问存储器处理27的I/O端口271、272。使用MICAS切换器31、32、33、34、35使数据流入端口271,并且流出端口272。通过使用流切换器276,数据流可以被顺序地写入到访问存储器270或者顺序地从访问存储器270读出。
在DSP子系统278或者Symbian OSTM子系统301中的软件处理经由第二仲裁器(称为访问切换器277)通过访问总线279访问公共访问存储器270。访问切换器277允许一个激活的处理器分别通过切换的连接274或者273来操纵访问存储器270的内容,其中该处理器既可以是DSP子系统278也可以是Symbian OSTM子系统300,这由仲裁器(访问切换器)277的配置来决定。
通过使用控制总线305,MICAS控制器302能进行到流切换器276、仲裁器访问切换器277和DSP子系统278的控制访问,由此促进这些处理的配置的建立,并进一步触发和控制这些处理。
图4也举例说明了一种方式,其中可以通过软件处理27、28、29来实现不由诸如21、22、23、24、25的硬件加速器处理来操作的处理。更具体地,图4示出了图1中的分组协议解析器28的非限制性实施例。在图4中,将来分组流源281的进入分组流进行路由以在分组同步器290中进行同步。经过同步后的输出流291被传递到解析器280,其产生分组流目的地283和已解析字段宿284作为输出。另外的输入,称为新字段源282,提供需要插入分组流字段的或者更新分组流字段的任何数据。
输入端口281、282和输出端口283、284由MICAS切换器31、32、33、34和35从它们的源路由到它们的目的地。称为字段定位数据285和插入/移除、更新/读取286的控制数据由MICAS控制器302、402通过控制总线305、405以上述方式来定义。
解析器280用来分离并识别一个或多个由字段定位数据285定义的已解析的字段,并用来将这些已解析的字段发送到已解析字段宿284。虽然没有在图4中示出,相应的字段定位数据对同步器290也是可用的。
解析器280可以在至少四种不同的模式下工作,这四种模式定义为插入、移除、更新和读取。可操作的模式由MICAS控制器302使用输入值286来定义。在插入模式下,由新字段源282定义的数据被插入到已解析的字段之前;在更新模式下,将已解析的字段用由新字段源282定义的数据重写。得到的流被发送到分组流目地283。在移除模式下,已解析的字段被从分组流源281中移除,并被发送到分组流目地283。在读取模式下,分组流源281被发送到分组流目地283,而没有经过修改。
几种解析任务可以同时是激活的。在本发明目前的优选实施例中,既可以实现几种分组协议解析也可以实现一个处理,用来充当分组协议解析器的集合。同步化FIFO 29可以用来支持迭代解析。
在SoC体系结构的优选实施例中,图1中主处理器300(执行OS或者控制通道)控制着整个体系结构的数据流和硬件加速。主处理器300可以使用操作系统,例如但不局限于,Symbian OSTM,以通过MICAS控制器302来向软件辅助的MICAS子系统传递命令,该MICAS子系统建立并控制处理和数据流。这些处理可以是片上处理和片外处理中的一个或两者。这些处理可以经由总线14的虚拟通道40或者由数据流120、420进行互连。
图5说明了一个全双工的片上总线1 4的实现,该实现使用了双差分线路来从发送器(TX)502将多层信号传送到接收器(RX)501。这样的总线也可以以相同的形式或者以简化的形式用于片上通信。
根据前面的描述,现在应该清楚本发明的实施例解决了现有技术中存在的许多问题。例如,不能将基于处理器的实现借鉴到高速数据处理中,以及诸如OMAPTM的方法是缓慢的且不能作为一个整体来提供优化的控制数据流的技术,即数据在各种数据源-宿配置之间以一致的且集中的方式在数据通路上传递。
实现MICAS体系结构的一种可能的技术可以使用几个连接开关和微处理器来控制总线14和硬件加速器21-25。一般地,MICAS体系结构可以基于微码控制的技术的组合。低功率微控制器技术和硬件通信协议使得可以设计出硬件处理之间的基于微码的数据流控制,而无需折衷功率要求。
因此,微码软件连接的单元是片上硬件模块、流量控制单元和片外总线上的通道。在一个特别有用的体系结构中,每一个实体都可以经由切换矩阵连接到所有的(或者大部分)其他的实体。一个具有互连机制的特别有效的策略中使用了与片外总线14相同的方法。在微码体系结构中所有的单元都通过片外和片上总线系统彼此互相连接。
将片外总线14技术用于片上系统互联有很多增效的优点。例如使用片外总线14的技术促进了片外源和宿的集成,由此简化了现代多媒体终端的实现。
其一方面,本发明的实施例提供了片上处理方法;其另一方面,本发明的实施例提供了片外处理的方法;其第三方面,本发明的实施例利用相同的基本控制和总线结构提供了片上和片外处理方法两者。
上述的本发明实施例可以用来实现各种各样的设备和终端,例如包括蜂窝电话、个人数字助理(PDA)、便携式计算机、诸如数码照相机的图像捕获设备、游戏设备、音乐存储和回放器具、允许有线和/或无线英特网访问和浏览的英特网器具,以及合并上述功能的组合的便携式和非便携式单元或终端。上述本发明的实施例还可以用来实现经由片外总线14连接到单元或终端的各种外围设备(例如打印机/传真机,或者打印机/扫描仪)。
应该注意的是可以有多个到相应多个虚拟通道总线的接口,用来耦合到相应多个微控制处理器,每个微控制处理器进一步控制着硬件处理,以及多个到相应于多个切换矩阵的接口,该切换矩阵耦合在其他硬件处理之一的单独的输入端口和输出端口之间。因此,数据处理系统,例如由片上处理13所表示的系统,可以分等级地(可能以树状的形式)耦合到任意数量的其它数据处理系统等。例如,在图1中,由片外处理12表示的数据处理系统可以包括一个或者多个附加的片外总线硬件处理,类似于或者相同于15,这些硬件处理经由一个或者多个附加的虚拟通道耦合到一个或多个其它的数据处理系统(例如,外围单元的一个或多个外围单元)。
上面的描述通过示例性以及非限制性示例提供了发明人对实现本发明目前预期的最佳方法和设备的全面有教益的描述。然而,结合阅读附图和所附权利要求书,根据以上描述,各种修改和改进对于相关领域内的熟练技术人员可以变得明显。在一些示例中,本领域熟练技术人员可以尝试其他相似的或相同的数据流切换技术、不同的操作系统(例如LinuxTM)、不同的硬件和软件处理以及多个硬件和软件处理。然而,本发明启示的所有这样的以及类似的修改仍落入本发明的实施例的范围。
另外,当在片上系统(Soc)体系结构的环境下描述本发明的实施例时,应当理解,本发明实施例的使用并不仅限于Soc体系结构,并且至少本发明实施例的一些方面也可以应用到包括多个芯片和硬件单元的数据处理系统中。
此外,本发明的优选实施例的一些特征可以在没有其他另一些特征的状况下有利地使用。这样,前面的描述应当仅仅被认为是本发明原理启示和实施例的说明,并不局限于其中。
权利要求
1.一种数据处理系统,包括运行操作系统的主处理器;第一微控制处理器,其耦合到所述主处理器并如所述主处理器所指示的控制第一多个硬件处理;以及第一切换矩阵,其由所述第一微控制处理器控制,并耦合到所述第一多个硬件处理的单独的处理的输入端口和输出端口之间,用于在所述第一多个硬件处理的单独的处理之间路由数据。
2.根据权利要求1所述的数据处理系统,还包括到虚拟通道总线的接口,该接口用来耦合到控制第二多个硬件处理的第二微控制处理器,并且耦合到在所述第二多个硬件处理的单独的处理的输入端口和输出端口之间耦合的第二切换矩阵。
3.根据权利要求1所述的数据处理系统,还包括至少一个软件处理,其耦合到所述第一微控制处理器,并且包括耦合到所述第一切换矩阵的至少一个输入端口和输出端口,所述第一切换矩阵可操作地用来在所述第一微控制处理器控制下、在所述第一多个硬件处理的单独的处理和所述至少一个软件处理之间路由数据。
4.根据权利要求1所述的数据处理系统,其中所述虚拟通道总线包括异步自时钟总线。
5.根据权利要求1所述的数据处理系统,其中至少所述第一微控制处理器、所述第一多个硬件处理和所述第一切换矩阵都集成在单块集成电路上。
6.根据权利要求2所述的数据处理系统,其中至少所述第一微控制处理器、所述第一多个硬件处理、所述第一切换矩阵和所述虚拟通道总线接口都集成在单块集成电路的片上,并且其中所述第二微控制器、所述第二多个硬件处理和所述第二切换矩阵都集成在片外。
7.根据权利要求6所述的数据处理系统,其中在片上以及还在片外传输的数据流,它们的源、宿和硬件处理以及操纵数据流的片外处理对所述主处理器呈现为抽象实体。
8.根据权利要求6所述的数据处理系统,其中由所述微控制处理器执行的微控制使得数据流,它们的源、宿和硬件处理以及操纵数据流的片外处理对所述主处理器呈现为抽象实体。
9.根据权利要求6所述的数据处理系统,其中所述主处理器视片上处理和片外处理均为基本等同的处理。
10.根据权利要求1所述的数据处理系统,其中至少一些所述第一多个硬件处理的操作是可以由所述第一微控制处理器重新配置的。
11.根据权利要求1所述的数据处理系统,其中所述第一多个硬件处理包括从下列功能中选择的至少一个功能编码、解码、加密、解密和图像处理。
12.根据权利要求3所述的数据处理系统,其中所述至少一个软件处理包括分组解析和流控制功能。
13.根据权利要求3所述的数据处理系统,其中所述至少一个软件处理包括数字信号处理器功能。
14.根据权利要求2所述的数据处理系统,其中所述第二多个硬件处理包括从下列功能选择的至少一个功能无线上行链路、无线下行链路、海量存储、显示、打印、本地短程通信、数据存储和图像捕获。
15.根据权利要求1所述的数据处理系统,其中所述微控制处理器实现了该操作系统的宏命令,并且还实现了在该操作系统和该微控制处理器之间的调用机制。
16.根据权利要求1所述的数据处理系统,还包括到相应多个虚拟通道总线的多个接口,该接口用于耦合到相应多个微控制处理器以及相应多个切换矩阵,每个该微控制处理器控制其他硬件处理,并且该切换矩阵耦合到所述其他硬件处理的单独的处理的输入端口和输出端口之间。
17.一种控制片上系统(SoC)的方法,包括使至少数据源、数据宿和数据处理节点能够使用通过由至少一个微控制处理器控制的切换节点所进行的连接彼此直接通信;由所述至少一个微控制处理器实现片外通信的控制;以及用运行操作系统的主处理器指示所述至少一个微控制处理器的操作,所述至少一个微控制处理器的功能使得所述主处理器与底层通信和硬件的具体功能相隔离。
18.根据权利要求17所述的方法,其中实现片外通信控制包括通过片外总线对接到片外微控制处理器,该片外总线包括多个虚拟通道。
19.根据权利要求17所述的方法,其中由所述片上微控制处理器为所述主处理器执行宏命令。
20.根据权利要求18所述的方法,其中由所述片外微控制处理器经由所述片上微控制处理器为所述主处理器执行宏命令。
21.根据权利要求18所述的方法,其中所述片外微控制处理器作为所述片上微控制处理器的从处理器进行操作。
22.根据权利要求18所述的方法,其中所述片上微控制处理器作为所述片外微控制处理器的允许的从处理器进行操作。
23.根据权利要求18所述的方法,其中在片上也在片外传输的数据流,它们的源、宿和硬件处理以及操纵数据流的片外处理对所述主处理器呈现为抽象实体。
24.根据权利要求18所述的方法,其中由所述微控制处理器执行的微控制使得数据流,它们的源、宿和硬件处理以及操纵数据流的片外处理对所述主处理器呈现为抽象实体。
25.根据权利要求18所述的方法,其中所述主处理器视片上处理和片外处理均为基本等同的处理。
26.根据权利要求17所述的方法,其中至少一些所述数据处理节点包括可以由所述片上微控制处理器重新配置的硬件处理。
27.根据权利要求17所述的方法,其中至少一些所述数据处理节点包括从下列功能中选择的至少一个功能编码、解码、加密、解密和图像处理。
28.根据权利要求17所述的方法,其中至少一个所述数据处理节点实现了分组解析和流控制功能。
29.根据权利要求17所述的方法,其中至少一个所述数据处理节点实现了数字信号处理器功能。
30.根据权利要求18所述的方法,其中所述片外微控制处理器耦合到多个片外数据处理节点,至少一个片外数据处理节点实现了下述功能的至少一个无线上行链接、无线下行链接、海量存储、显示、打印、本地短程通信、数据存储和图像捕获。
31.根据权利要求17所述的方法,其中利用所述主处理器指示所述至少一个微控制处理器的操作包括向所述至少一个微控制处理器发送宏命令。
32.根据权利要求17所述的方法,其中利用所述主处理器指示所述至少一个微控制处理器的操作包括实现在该操作系统和所述至少一个微控制处理器之间的调用机制。
33.根据权利要求17所述的方法,其中使至少一个数据源、数据宿和数据处理节点彼此直接通信使用了切换矩阵,以在数据源、数据宿和数据处理节点之间路由数据流;并且其中实现片外通信的控制也使用了所述切换矩阵,以在数据源、数据宿、数据处理节点和到片外总线的接口之间路由数据流,该到片外总线的接口用来耦合到至少一个其他微控制处理器。
34.根据权利要求33所述的方法,其中所述到所述片外总线的接口包括可以由所述微控制处理器在所述主处理器的协作下动态定义的虚拟网络的一部分。
35.根据权利要求33所述的方法,其中所述到所述片外总线的接口包括虚拟通道的集合。
36.根据权利要求17所述的方法,其中实现片外通信的控制包括通过相应多个片外总线对接到多个片外微控制处理器,每个该片外总线包括多个虚拟通道。
37.一种包括用于耦合到至少一个外围单元的接口的单元,所述单元和所述外围单元的每一个包括一种电路安排,所述单元的所述电路安排具有运行操作系统的主处理器,或者具有耦合到运行操作系统的主处理器的通道;所述单元和所述外围单元的电路安排的每一个包括本地微控制处理器,该本地微控制处理器耦合到所述主处理器并且如所述主处理器所指示的控制多个本地硬件处理;并且所述电路安排还包括本地切换矩阵,该切换矩阵由所述本地微控制处理器控制,并且耦合在所述多个本地硬件处理的单独的处理的输入端口和输出端口之间,用来在所述多个本地硬件处理的单独的处理之间路由数据;其中所述多个本地硬件处理中的一个包括所述接口,所述接口用于耦合到可操作地用来将所述单元耦合到所述外围单元的总线;其中所述单元的所述本地微控制处理器的操作通过由所述主处理器发出的宏命令来指示;以及其中为了一些宏命令的执行,所述单元的所述微控制处理器经由所述总线与所述外围单元的所述本地微控制处理器进行通信。
38.根据权利要求37所述的单元,其中所述多个本地硬件处理包括从下列功能中选择的至少一种功能编码、解码、加密、解密和图像处理。
39.根据权利要求37所述的单元,还包括本地分组解析和流控制功能。
40.根据权利要求37所述的单元,还包括本地数字信号处理器功能。
41.根据权利要求37所述的单元,其中所述接口和总线实现了至少一个虚拟通道,该虚拟通道与无线上行链接、无线下行链接、海量存储、显示、打印、本地短程通信、数据存储和图像捕获功能中的至少一项相关联。
42.根据权利要求37所述的单元,其中至少所述单元的所述电路安排的特征在于片上系统体系结构。
43.一种包括用于耦合到至少一个主单元的接口的外围单元,所述外围单元和所述主单元的每一个包括一种电路安排,所述主单元的所述电路安排具有运行操作系统的主处理器,或者具有耦合到运行操作系统的主处理器的通道;所述外围单元和所述主单元的电路安排的每一个包括本地微控制处理器,该本地微控制处理器耦合到所述主处理器并且如所述主处理器所指示的控制多个本地硬件处理;并且所述电路安排还包括本地切换矩阵,该切换矩阵由所述本地微控制处理器控制并且耦合在所述多个本地硬件处理的单独的处理的输入端口和输出端口之间,用来在所述多个本地硬件处理的单独的处理之间路由数据;其中所述多个本地硬件处理中的一个包括所述接口,所述接口用于耦合到可操作地用来将所述外围单元耦合到所述主单元的总线;其中每个所述本地微控制处理器的操作通过由所述主处理器发出的宏命令来指示;以及其中为了一些宏命令的执行,所述外围单元的所述微控制处理器经由所述总线与所述主单元的所述微控制处理器进行通信。
44.根据权利要求43所述的外围单元,其中所述外围单元的所述微控制处理器经由所述总线作为所述主单元的所述微控制处理器的从处理器进行操作。
45.根据权利要求43所述的外围单元,其中所述主单元的所述微控制处理器经由所述总线作为所述外围单元的所述微控制处理器的允许的从处理器进行操作。
46.根据权利要求43所述的外围单元,其中所述多个本地硬件处理包括从下列功能中选择的至少一项功能编码、解码、加密、解密和图像处理。
47.根据权利要求43所述的外围单元,还包括本地分组解析和流控制功能。
48.根据权利要求43所述的外围单元,还经由所述总线耦合到本地数字信号处理器功能。
49.根据权利要求43所述的外围单元,其中所述接口和总线实现了至少一个虚拟通道,该虚拟通道与无线上行链接、无线下行链接、海量存储、显示、打印、本地短程通信、数据存储和图像捕获功能中的至少一项相关联。
50.根据权利要求43所述的外围单元,其中至少所述主单元的所述电路安排的特征在于片上系统体系结构。
全文摘要
一种数据处理系统包括运行操作系统的主处理器,耦合到主处理器并如主处理器所指示的控制第一多个硬件处理的微控制处理器,以及由微控制处理器控制的切换矩阵,该切换矩阵耦合到第一多个硬件处理的单独的处理的输入端口和输出端口之间,用来在第一多个硬件处理的单独的处理之间路由数据。本发明一方面给出了一种单元,它具有用来耦合到至少一个外围单元的接口,其中单元和外围单元的每一个包括片上系统。通过由主处理器发出的宏命令指示该单元的本地微控制处理器的操作,并且为了执行一些本地宏命令,该单元的本地微控制处理器经由互连总线与外围单元的本地微控制器通信,该互连总线实现了多个虚拟通道。
文档编号G06F13/14GK101095123SQ200480031759
公开日2007年12月26日 申请日期2004年10月8日 优先权日2003年10月10日
发明者基姆·桑斯特罗姆 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1