数据处理装置的制作方法

文档序号:6553467阅读:172来源:国知局
专利名称:数据处理装置的制作方法
技术领域
本发明的一个方面涉及包含操作系统的数据处理装置。该数据处理装置可以是例如用于蜂窝电话的基带处理器。该操作系统可以是例如提供进程间同步的所谓实时操作系统(RTOS)。本发明的其它方面涉及运行数据处理装置的方法、计算机程序产品和通信设备。
背景技术
国际专利申请WO/0348965描述了用于移动无线电系统的基带芯片。该基带芯片包含控制器和数字处理器。该控制器使用具有内核的实时操作系统。借助非易失性存储器或硬件状态自动设备,在基带芯片上永久地实现分配给该内核的至少一部分功能。

发明内容
根据本发明的一个方面,数据处理装置包含主系统处理器和客系统处理器。主系统处理器具有操作系统和操作系统消息收发器,用于接收对应于服务请求的操作系统相关消息和发送对应于服务响应的操作系统相关消息。客系统处理器具有操作系统模拟器,设置用于响应于来自客系统处理器所执行的任务的服务请求,向主系统处理器发送操作系统相关消息,并且响应于来自主系统处理器的操作系统相关消息,向该任务提供服务响应。
本发明考虑以下多个方面。也许需要数据处理装置来执行各种不同的任务。数据处理装置可以只包含单处理器,该单处理器在单操作系统的控制下执行各种不同的任务。操作系统可以提供例如与各种不同任务的同步有关的服务。前述的现有技术就是这个方案的一个例子。
单处理器的方案缺少灵活性。单处理器具有最大处理能力。对给定平均复杂度的各种任务来说,这限制了数据处理装置可以执行的任务的数量。可以给数据处理装置提供更强劲的单处理器。然而,这样的处理器可能会相对较贵或可能还没有商品化。在后一种情况下,需要专门设计新的、更强劲的处理器。这要花费时间和成本。
另一个方案是给数据处理装置提供各种处理器。每一个处理器典型地将需要操作系统。如果每一个处理器都使用相同的操作系统,并且如果有相对较多的程序可用于该操作系统,则数据处理装置一般将需要相对适中等的设计工作。然而,单操作系统限制了处理器的选择。单操作系统可能排斥某些具有吸引人的特性的处理器,因为这些处理器不支持该操作系统。将该单操作系统移植到这些处理器上并不是可行的选择,因为这将是耗时且代价高的过程。
可以设置数据处理装置使得一个处理器运行在一个操作系统下,而另一个处理器运行在另一个操作系统下。在此情况下,处理器的选择是广泛的。然而,这样的数据处理装置将需要相对较多的设计工作。使这些运行在不同的操作系统下的处理器以适当的方式一起工作将是困难的。一般将需要复杂的方案来实现进程间同步。调试也将是困难的。此外,软件可能不是可互换的用于一个处理器的规定一个或多个任务的程序代码不能够在其它处理器上使用,反之亦然。
根据本发明的前述方面,主系统处理器具有操作系统和操作系统消息收发器,并且,客系统处理器具有操作系统模拟器。该操作系统模拟器通过经由操作系统消息收发器传输的操作系统相关消息来与操作系统进行通信。
因此,虽然客系统处理器没有真正的操作系统,操作系统模拟器也可以将操作系统服务提供给客系统处理器所执行的任务。因此,客系统处理器上的软件在位于主系统处理器上的操作系统的控制之下运行,就好像该操作系统存在于客系统处理器上一样。不需要将操作系统移植到客系统处理器上,如前所述,这样的移植是耗时且代价高的过程。给客系统处理器提供操作系统模拟器就足够了,一般说来,这仅需要中等的设计工作。因此,本发明允许广泛选择不同的处理器,而不需要相对较多的设计工作。出于这些原因,本发明具有相对较大的灵活性,并且,因此,当出现对新的特征的需求时,本发明具有相对较短的面市时间。
本发明的另一个优点涉及下列方面。与主系统处理器的操作系统兼容的软件可以被用在任何客系统处理器上。可以轻松互换程序代码形式的软件,这是因为操作系统模拟器解决了客系统处理器间的任意运行差别。因此,可以相对轻松地开发软件和再利用软件。此外,调试也将是相对简单的。出于这些原因,本发明实现了成本效益。
下面将参照附图更加详细地描述本发明的这些和其它方面。


图1是示出了蜂窝电话的方框图。
图2是示出了蜂窝电话的基带处理器的方框图。
图3是示出了基带处理器中的操作系统模拟器的概念图。
图4是示出了基带处理器中的操作系统消息收发器的概念图。
图5是示出了操作系统消息收发器中的优先级的表。
图6是示出了借助于信号量(semaphore)的进程间同步的两个服务请求的概念图。
图7示出了基带处理器中的进程间同步。
具体实施例方式
图1示出了蜂窝电话CPH。蜂窝电话CPH包括收发电路TXC、基带处理器BBP以及人接口设备HID。人接口设备HID可以包括例如小扬声器、小麦克风、显示装置以及用于拨号的数字键盘。
在接收模式下,响应于接收到的射频信号RFR,收发电路TXC提供接收到的基带信号BR。基带处理器BBP处理接收到的基带信号BR,基带信号BR可以包括来自主叫方的数据,或来自基站或其它蜂窝电话网络实体的数据,或这些数据的任意组合。对接收到的基带信号BR进行处理可获得人接口输入信号HI。例如,基带处理器BBP可以从接收到的基带信号BR中得到用于小扬声器的音频信号。
在发送模式下,存在相反的信号流,该信号流以人接口输出信号HO开始。举例说来,基带处理器BBP处理小麦克风响应于所说单词而提供的音频信号。处理结果产生传输基带信号BT,基带处理器BBP将该传输基带信号BT应用于收发电路TXC。作为响应,收发电路发射传输射频信号RFT,该信号包括传输基带信号BT。
图2示出了基带处理器BBP。基带处理器BBP包括主系统处理器SHP、四个客系统处理器SGP1-SGP4、共享存储器MES、两个本地存储器MEL1和MEL2、以及用于接收和发送基带信号BR、BT和人接口信号HI、HO的输入-输出电路IO。基带处理器BBP还包括四个通信通道CC1-CC4,经由该通信通道,前述处理器相互间可以进行通信。
主系统处理器SHP和四个客系统处理器SGP1-SGP4相互间可以各不相同。每一个处理器可以具有单独的集成电路的形式,例如,数字信号处理器或其它类型的专用处理器,或者通用处理器。因此,图2中所示出的基带处理器BBP可以实现为具有各种不同类型且需要紧密协作的商用处理器的印刷电路板。基带处理器BBP也可以实现为所谓的片上系统(system-on-chip),片上系统基于现有的用于各种处理器的集成电路设计。组合这些现有的集成电路设计。这允许相对较快的设计,因为只需要相对较少的附加电路。
主系统处理器SHP包括操作系统OS和操作系统消息收发器IS。每一个客系统处理器SGP包括程序代码PC和操作系统模拟器SO。程序代码PC1定义了客系统处理器SGP1执行的两个任务任务A和任务B。程序代码PC2定义了客系统处理器SGP2执行的任务D。程序代码PC3定义了客系统处理器SGP3执行的任务C。程序代码PC4定义了客系统处理器SGP4执行的两个任务任务E和任务F。
操作系统OS是一般的软件程序,其向其它的软件程序提供服务。程序代码PC1-PC4可以使用操作系统OS分别经由操作系统模拟器SO1-SO4以及经由操作系统消息收发器IS提供的服务。可以写入程序代码PC1,就好像操作系统OS是运行在程序代码PC1所位于并运行在的客系统处理器SGP1上一样。这也分别适用于程序代码PC2、PC3和PC4,以及客系统处理器SGP2、SGP3和SGP4。
每一个程序代码PC可以产生针对操作系统OS的服务请求,并且可以处理来自操作系统OS的服务响应。服务请求可能涉及基带处理器BBP内的现有数据对象,或可能涉及先前已被启动的程序,该程序要么正被执行要么处于挂起状态。然而,服务请求也可能涉及需要创建的数据对象,或需要启动的程序。下文中,只要在合适之处,这样的服务请求都将被称为初始服务请求。
图3示出了操作系统模拟器SO1。操作系统模拟器提供各种功能向主机(host)发送消息功能SNDH、从主机接收消息功能RECH、交换上下文功能SWC以及服务透明功能SERV。其它的操作系统模拟器SO2、SO3和SO4提供类似的功能并以相似的方式运行。
图3示出了操作系统模拟器SO1,SO1位于客系统处理器SGP1内,且可以向位于主系统处理器SHP内的操作系统消息收发器IS发送消息MSG。操作系统模拟器SO1也可以从操作系统消息收发器IS接收消息MSG。许多机制可以用来将这些消息从操作系统模拟器SO1传输至操作系统消息收发器IS,反之亦然。例如,一些示例有中断、具有共享变量的控制寄存器、信箱和存储器共享。
响应于打算提供给操作系统OS的服务请求,服务透明功能SERV提供消息。向主机发送消息功能SNDH将对应于服务请求的该消息发送至主系统处理器SHP。相反地,从主机接收消息功能RECH读取客系统处理器SGP1从主系统处理器SHP接收到的消息。服务透明功能SERV对与来自操作系统OS的服务响应有关的该消息进行解码。因此,服务透明功能SERV提供服务响应,就好像操作系统OS是运行在客系统处理器SGP1一样。该服务响应可以是例如从一个任务向另一个任务切换的指令。
交换上下文功能SWC执行从一个任务向另一个任务进行适当切换所需的各种操作。假设客系统处理器SGP1需要从任务A向任务B切换。在需要开始任务切换的时刻,客系统处理器SGP1内的寄存器包含某个数据。可能包括各种参数和中间处理结果的该数据形成任务A的上下文。交换上下文功能SWC把形成任务A的上下文的数据保存在专用堆栈区。这允许客系统处理器SGP1以后重新开始任务A。
假设先前已停止任务B,并假设如上文关于任务A的描述那样,已存储任务B的上下文。交换上下文功能SWC从专用堆栈区取回形成任务B的上下文的数据,并将该数据加载到相应的寄存器。随后,交换上下文功能SWC允许客系统处理器SGP1重新开始任务B。
图4示出了操作系统消息收发器IS。操作系统消息收发器IS提供各种功能从客机(guest)接收消息功能RECG、向客机发送消息功能SNDG、控制功能CTRL、处理请求功能TREQ以及处理初始请求功能TIREQ。控制功能CTRL包括运行在基带处理器BBP上的每一个任务的控制子功能。图4以与图3类似的方式示出了操作系统消息收发器IS,操作系统消息收发器IS位于主系统处理器SHP内,并且可以同各个客系统处理器SGPj中的各个操作系统模拟器SOj交换消息MSG,其中“j”为1、2、3或4。
从客机接收消息功能RECG等待来自客系统处理器的消息,并在一个消息到达时将其解码。因此,获得了来自发送消息的客系统处理器的服务请求。
假定该服务请求是普通的服务请求,而不是初始服务请求。在这种情况下,从客机接收消息功能RECG将该服务请求传递给控制函数CTRL的相关控制子功能。该控制子功能调用处理请求功能TREQ,处理请求功能TREQ使操作系统OS对该服务请求做出行动,即提供服务响应。随后,该控制子功能一直等到它具有足够的优先级,以调用向客机发送消息功能SNDG。向客机发送消息功能SNDG根据服务响应而提供消息,并且,向发起服务请求的系统发送该消息。
现在假设服务请求是初始服务请求。在这种情况下,从客机接收消息功能RECG调用处理初始请求功能TIREQ。作为响应,处理初始请求功能TIREQ使操作系统OS对服务请求做出行动。例如,操作系统OS可以创建数据对象、或开始新的程序、或创建任务。
图5示出了操作系统消息收发器中IS提供的各种功能的优先级设置。图5是具有左列和右列的表。左列利用数值指示出优先级顺序。数值越低,则优先级越高;0是最高的优先级。任务个数参数NBT和最大任务个数参数TMX出现在左列中。任务个数参数NBT的数值等于在客系统处理器SGP1-SGP4上运行的任务的数目。最大任务个数参数TMX的数值等于主系统处理器SHP可以管理的最大任务个数。
系统消息收发器IS提供的各种功能出现在右列中。控制功能CTRL的优先级比向客机发送消息功能SNDG高,而向客机发送消息功能SNDG的优先级高于从客机接收消息功能RECG。所有其它功能OTHR具有较低的优先级。例如,这样的功能可以包括运行在主系统处理器SHP上的专有任务(proprietary task)。
操作系统OS提供的服务包括借助于信号量(semaphore)的进程间同步。信号量是与基带处理器BBP内的特定资源相关联的数据对象,例如,特定资源是共享存储器MES。信号量处理对相关联的资源的访问。典型的信号量包括具有整数值的变量。该整数值指示了资源的状态,该资源可能是锁定的或可用的。如果该整数值指示该资源被锁定,则请求者可能无法进行访问,因为已经批准一个或多个其它请求者进行访问。如果该整数值指示该资源是可用的,则请求者可以访问该资源。图2中所示出的任务A-F中的任何一个都可以是希望访问资源的请求者,该资源借助于信号量(semaphore)而被保护。
图6示出了用于借助于信号量的进程间同步的两个服务请求。图6示出了等待功能服务请求PSO[Si]和信号功能服务请求VSQ[Si]。前述服务请求涉及特定的信号量Si,其中“i”是指示所关心的信号量的索引。图6具有示出了两个信号量S1和S2的底部截面,其意味着可以使i=i或i=2。
图6示出了等待功能服务请求PSQ[Si]和信号功能服务请求VSQ[Si]来自任务A的情形,如图2所示,任务A是在程序代码PC1中定义的。然而,图2中所示出的每一个程序代码PC都可以定义等待功能服务请求和信号功能服务请求。因此,图2中所示出的任何任务在特定时刻都可以具有等待功能服务请求PSQ[Si]或信号功能服务请求VSQ[Si]。与下面要参考任务A进行描述的方式类似的方式,处理这些请求。
响应于来自任务A的等待功能服务请求PSQ[Si],操作系统模拟器SO1向主系统处理器SHP发送消息。处理该消息的操作系统消息收发器IS向操作系统OS提供等待功能服务请求PSQ[Si]。作为响应,操作系统OS执行关于所关心的信号量的等待功能P。同样的机制适用于信号功能服务请求VSQ[Si],在这种情况下,操作系统OS执行关于所关心的信号量的信号功能V。
图6示出了等待功能P,操作系统OS响应于来自任务A的等待功能服务请求PSQ[Si]而执行等待功能P。操作系统OS验证所关心的信号量的状态(VER[Si])。与信号量相关联的资源可以是可用的或锁定的。在任一情况下,操作系统OS都提供与信号量的状态相对应的等待功能服务响应PSR。操作系统消息收发器IS向正执行任务A的客系统处理器SGP1发送消息。客系统处理器SGP1上的操作系统模拟器SO1接收对应于等待功能服务响应PSR的消息。操作系统模拟器SO1做出相应的行动,就好像操作系统模拟器SO1是在客系统处理器SGP1上本地运行的真实的操作系统一样。
假设所关心的信号量指示资源是可用的(AV?=Y)。在此情形下,操作系统OS将该信号量的整数值减少一个单位(Si↓)。这可能使得信号量接下来指示该资源是锁定的。操作系统模拟器SO1允许任务A继续(PSROK)。
现在假设信号量指示该资源是锁定的。任务A不能访问该资源。操作系统OS登记任务A被锁定在所关心的信号量上。客系统处理器SGP1上的操作系统模拟器SO1阻止任务A继续(PSRBL[A])。操作系统模拟器SO1可能使客系统处理器SGP1切换至任务B。
图6也示出了信号功能V,操作系统OS响应于信号功能服务请求VSQ[Si]而执行信号功能V。操作系统OS验证在所关心的信号量上是否有任何锁定的任务(T=BL?)。如果有的话(Y),则操作系统OS把锁定的任务解锁(PSRUBL[T])。为此,操作系统消息收发器IS向先前执行所关心的任务的客系统处理器发送消息。位于所关心的客系统处理器上的操作系统模拟器接收该消息。该操作系统模拟器相应地做出行动,就好像该操作系统模拟器是在所关心的客系统处理器上本地运行的真实的操作系统一样。举例说来,该操作系统模拟器可以从当前任务立即切换至已被解锁的任务。这是操作的优先模式。操作系统模拟器也可以在重新开始已被解锁的任务之前,使当前任务继续并等待,直到结束该任务。这是操作的非优先模式。
如果在信号量上没有锁定的任务(T=BL?=N),则操作系统OS将信号量的整数值增加一个单位(Si↑)。这可能使得信号量在接下来指示该资源是可用的。
图7示出了图2中所示出的基带处理器BBP中的进程间同步。图7中的横轴代表时间。主系统处理器SHP和四个客系统处理器SGP1-SGP4出现在纵轴上。图7包括每一个处理器的横条。该横条指示相关的处理器正执行的任务或功能。图7中,附图标记指示服务请求和服务响应。奇数的附图标记指示服务请求。偶数的附图标记指示服务响应。假设图6中所示出的两个信号量S1和S2中的每一个最初都指示相关的资源是不可用的。进一步假设每一个客系统处理器SGP均运行在非优先模式下。
客系统处理器SGP1最初执行任务A。任务A需要访问信号量S1所处理的资源。因此,任务A向客系统处理器SGP1的操作系统模拟器SO1提供等待功能服务请求1。操作系统模拟器SO1挂起任务A,并使得等待功能服务请求1出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S1的等待功能P。随后,操作系统OS使操作系统模拟器SO1执行等待功能服务响应2。由于信号量S1所处理的资源是不可用的,因此操作系统模拟器SO1使客系统处理器SGP1从任务A切换至任务B。现在任务A被锁定在信号量S1上。
客系统处理器SGP2最初执行任务D。任务D需要访问信号量S2处理的资源。因此,任务D向客系统处理器SGP1的操作系统模拟器SO2提供等待功能服务请求3。操作系统模拟器SO2挂起任务D,并使得等待功能服务请求3出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S2的等待功能P。随后,操作系统OS使操作系统模拟器SO2执行等待功能服务响应4。由于信号量S2所处理的资源是不可用的,因此操作系统模拟器SO2阻止客系统处理器SGP2继续D。任务D被锁定在信号量S2上。
客系统处理器SGP3最初执行任务C。任务C曾经访问信号量S1处理的资源,但不再需要该资源。因此,任务C向客系统处理器SGP3的操作系统模拟器SO3提供信号功能服务请求5。在信号功能服务请求的情况下,操作系统模拟器SO3并不挂起任务C。操作系统模拟器SO3使得信号功能服务请求5出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S1的信号功能V。操作系统OS确定客系统处理器SGP1先前执行的任务A被锁定在信号量S1上,并且决定将任务A解锁。因此,操作系统OS使客系统处理器SGP1上的操作系统模拟器SO1执行信号功能服务响应6。操作系统模拟器SO1并不立即从任务B切换回任务A。这是因为客系统处理器SGP1运行在非优先模式下。当任务B已经结束时,操作系统模拟器SO1允许客系统处理器SGP1重新开始先前被锁定在信号量S1上的任务A。
客系统处理器SGP2最初执行任务E。任务E需要访问信号量S2处理的资源。因此,任务E向客系统处理器SGP4的操作系统模拟器SO4提供等待功能服务请求7。操作系统模拟器SO4挂起任务E,并使得等待功能服务请求7出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S2的等待功能P。随后,操作系统OS使操作系统模拟器SO4执行等待功能服务响应8。由于信号量S2所处理的资源是不可用的,因此操作系统模拟器SO4使客系统处理器SGP4从任务E切换至任务F。现在任务E被锁定在信号量S2上。
当任务B已经结束时,任务B提供关于信号量S2的信号功能服务请求9。任务B不再需要信号量S2所处理的资源。操作系统模拟器SO1使得信号功能服务请求9出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S2的信号功能V。操作系统OS确定客系统处理器SGP2先前执行的任务D被锁定在信号量S2上,并且决定将任务D解锁。因此,操作系统OS使客系统处理器SGP2上的操作系统模拟器SO2执行信号功能服务响应10。操作系统模拟器SO2允许客系统处理器SGP2重新开始先前被锁定在信号量S2上的任务D。
在已经完成任务F的执行的过程中,任务F提供关于信号量S2的信号功能服务请求11。操作系统模拟器SO4使得信号功能服务请求11出现在主系统处理器SHP上的操作系统OS处。操作系统OS执行关于信号量S2的信号功能V。操作系统OS确定客系统处理器SGP4先前执行的任务E被锁定在信号量S2上,并且决定将任务E解锁。因此,操作系统OS使操作系统模拟器SO4执行信号功能服务响应12。操作系统模拟器SO1并不立即从任务F切换回任务E,因为客系统处理器SGP4运行在非优先模式下。当任务F已经结束时,操作系统模拟器SO4允许客系统处理器SGP1重新开始先前被锁定在信号量S2上的任务E。
总结陈词上文参考附图的详细说明示出了在权利要求1中所引用的下列特征。数据处理装置(BBP)包括主系统处理器(SHP)和客系统处理器(SGP1)。主系统处理器具有操作系统(OS)和操作系统消息收发器(SI),用于接收对应于服务请求的操作系统相关消息(MSG)和发送对应于服务响应的操作系统相关消息。客系统处理器具有操作系统模拟器(SO1)。响应于来自客系统处理器所执行的任务(A,B)的服务请求(PSQ,VSQ),操作系统模拟器向主系统处理器发送操作系统相关消息。响应于来自主系统处理器的操作系统相关消息,操作系统模拟器向该任务提供服务响应(PSR)。
上文的详细说明还示出了在权利要求2中所引用的下列可选特征。数据处理装置包括多个客系统处理器(SGP1、SGP2、SGP3和SGP4)。操作系统(OS)提供该多个客系统处理器被编程以执行的多个任务(A-F)间的进程间同步(1-12)。这些特征实现有效的进程间同步。
上文的详细说明还示出了权利要求3中所引用的下列在可选特征。操作系统(OS)根据信号量(S1、S2)而提供进程间同步。分别响应于等待功能服务请求(PSQ)和信号功能服务请求(VSQ),各个操作系统模拟器(SO1、SO2、SO3和SO4)使操作系统执行等待功能(P)和信号功能(V)。这些特征进一步有助于实现有效的进程间同步。
上文的详细说明还示出了在权利要求4中所引用的下列可选特征。响应于来自主系统处理器(SHP)的操作系统相关消息(MSG),操作系统模拟器(SO1)可以使得客系统处理器(SGP1)切换(SWC)至另一个任务(从A到B,或反之亦然)。这些特征进一步有助于实现有效的进程间同步。
上述特征可以以多个不同的方式来实现。为示出之,简述一些可选方案。
操作系统模拟器可以提供操作系统典型地提供的任意服务。服务无需考虑进程间同步。举例说来,某些操作系统提供文件管理服务。假设主系统处理器具有这样的操作系统。在此情况下,经由位于客系统处理器的操作系统模拟器和位于主处理器的操作系统相关消息收发器,客系统处理器上的程序代码可以使用文件管理服务。例如,这样的文件管理服务可以允许客系统处理器访问本地硬盘或可包括在网络文件系统中的其它数据存储介质。
虽然基于信号量的进程间同步服务是有利的,但也可使用其它的进程间同步技术。举例说来,进程间同步服务可以基于监控概念或消息传递概念。
主系统处理器可由包括多个处理器的子系统形成。在这样的实现中,操作系统可以是例如所谓的分布式操作系统,在该操作系统中,操作系统任务分布在多个处理器中。客系统处理器也可由包括多个处理器的子系统形成。在这样的子系统中,可能有一个主子系统处理器,借助这些处理器所交换的操作系统相关消息,该主子系统处理器直接接收来自主系统处理器的服务。这个主子系统处理器进行操作,就好像操作系统运行在该处理器上一样。该子系统的其它处理器,即客子系统处理器,接收来自主子系统处理器的服务,所述主子系统处理器则相应地接收来自主系统处理器的那些服务。因此,在这样的实现中,具有不同系统的等级。每一个等级可与图2中所示的系统相关联。
除了提供操作系统服务之外,主系统处理器还可执行其它任务。举例说来,假设在图2中所示出的基带处理器BBP中,四个客系统处理器SGP1、SGP2、SGP3和SGP4执行视频和音频处理任务。这些任务是时间严格(time-critical)的。同时,主系统处理器SHP可以执行涉及蜂窝电话CPU与其它装置间的无线红外通信的一个或多个任务。这些任务是时间不太严格的。
主系统处理器可以基于硬件而非基于软件。举例说来,主系统处理器可以具有包括实时硬件单元(RTU)和适当的通信接口的专用集成电路(ASIC)的形式。基于硬件的实现一般具有较高的处理速度,但灵活性不如基于软件的实现。同样地,客系统处理器也可基于硬件而非基于软件。
对于本发明而言,存在多种不同的应用。蜂窝电话仅仅是个例子。例如,本发明可以被用在基站或航空领域中。本发明特别适合于要求对系统内的各种资源进行实时管理的应用。
存在多种依靠硬件或软件项、或两者来实现功能的方法。在这个方面,附图非常概略,每个附图只表示本发明一个可能的实施例。因此,虽然附图将不同功能示出为不同块,这决不排除单一硬件或软件项可以执行多个功能。也不排除硬件或软件项的组合可以执行一个功能。
上文所作的陈词根据附图展示了详细描述,例证而并非限制了本发明。存在落入所附权利要求的范围的多个可选实施例,权利要求中的任意附图标记不应构成对权利要求的限制。词“包括”不排除权利要求中列出的其他元素或步骤的存在。元素或步骤之前的词“一个”或“一”不排除多个这种元素或步骤的存在。
权利要求
1.一种数据处理装置(BBP),包括-主系统处理器(SHP),具有操作系统(OS)和操作系统消息收发器(SI),用于接收对应于服务请求的操作系统相关消息(MSG)和发送对应于服务响应的操作系统相关消息;-客系统处理器(SGP1),具有操作系统模拟器(SO1),设置用于响应于来自客系统处理器所执行的任务(A,B)的服务请求(PSQ,VSQ),向主系统处理器发送操作系统相关消息,并且响应于来自主系统处理器的操作系统相关消息,向该任务提供服务响应(PSR)。
2.如权利要求1所述的数据处理装置,其中,该数据处理装置包括多个客系统处理器(SGP1、SGP2、SGP3和SGP4),操作系统(OS)被设置(P,V)用于提供所述多个客系统处理器被编程以执行的各个任务(A-F)间的进程间同步(1-12)。
3.如权利要求2所述的数据处理装置,其中,操作系统(OS)被设置用于根据信号量(S1、S2)来提供进程间同步,各个操作系统模拟器(SO1、SO2、SO3和SO4)被设置用于分别响应于等待功能服务请求(PSQ)和信号功能服务请求(VSQ),使操作系统执行等待功能(P)和信号功能(V)。
4.如权利要求1所述的数据处理装置,其中,操作系统模拟器(SO1)被设置(SWC)用于响应于来自主系统处理器(SHP)的操作系统相关消息(MSG),使客系统处理器(SGP1)切换至另一个任务(A,B)。
5.如权利要求1所述的数据处理装置,其中,主系统处理器(SHP)具有集成电路装置的形式,而客系统处理器(SGP1)具有另一集成电路装置的形式。
6.一种运行包括主系统处理器(SHP)和客系统处理器(SGP1)的数据处理装置(BBP)的方法,该方法包括-操作系统模拟步骤(SERV,SNDH),在该步骤中,响应于来自客系统处理器所执行的任务(A,B)的服务请求(PSQ,VSQ),客系统处理器向主系统处理器发送操作系统相关消息(MSG);和-操作系统消息接收步骤(RECG,CTRL,TREQ,ITREQ),在该步骤中,响应于来自客系统处理器的操作系统相关消息,主系统处理器使操作系统提供服务(PSR)。
7.如权利要求6所述的方法,其中,服务包括客系统处理器(SGP1)的服务响应(PSR),该方法包括-操作系统消息发送步骤(CTRL,SNDG),在该步骤中,主系统处理器(SHP)向客系统处理器发送操作系统相关消息(MSG),该操作系统相关消息(MSG)对应于该服务响应;和-补充的操作系统模拟步骤(RECH,SERV),在该步骤中,响应于从主系统处理器接收的操作系统相关消息,客系统处理器依照服务响应(PSR)而行动(OK,BL[A],UBL[T],SWC)。
8.一种数据处理装置的计算机程序产品,该数据处理装置包括主系统处理器(SHP)和客系统处理器(SGP1),该计算机程序产品包括指令集合形式的操作系统模拟器(SO1),当被加载到客系统处理器中时,操作系统模拟器(SO1)使该客系统处理器执行-操作系统模拟步骤(SERV,SNDH),在该步骤中,响应于来自客系统处理器所执行的任务(A,B)的服务请求(PSQ,VSQ),客系统处理器向主系统处理器发送操作系统相关消息(MSG),该操作系统相关消息使主系统处理器上的操作系统(OS)提供客系统处理器所执行的任务的服务(PSR)。
9.如权利要求8所述的计算机程序产品,其中,操作系统模拟器(SO1)还使客系统处理器(SGP)执行-补充的操作系统模拟步骤(RECH),在该步骤中,响应于从主系统处理器(SHP)接收的操作系统相关消息(MSG),客系统处理器依照服务响应(PSR)而行动(OK,BL[A],UBL[T],SWC)。
10.一种数据处理装置的计算机程序产品,该数据处理装置包括主系统处理器(SHP)和客系统处理器(SGP1),该计算机程序产品包括指令集合形式的操作系统消息收发器(IS),当被加载入主系统处理器时,操作系统消息收发器(IS)使该主系统处理器执行-操作系统消息接收步骤(RECG,CTRL,TREQ,TIREQ),在该步骤中,响应于来自客系统处理器的操作系统相关消息(MSG),主系统处理器使该主系统处理器上的操作系统(OS)提供服务(PSR)。
11.如权利要求10所述的计算机程序产品,其中,操作系统消息收发器(IS)还使主系统处理器(SHP)执行-操作系统消息发送步骤(CTRL,SNDG),在该步骤中,主系统处理器向客系统处理器(SGP)发送操作系统相关消息(MSG),该操作系统相关消息对应于服务响应(PSR)。
12.一种通信装置,包括如权利要求1所述的数据处理装置(BBP)和在功能上与该数据处理装置相连的人接口设备(HID)。
全文摘要
一种数据处理装置(BBP),包括主系统处理器(SHP)和客系统处理器(SGP1)。主系统处理器(SHP)具有操作系统(OS)和操作系统消息收发器(SI),用于接收对应于服务请求的操作系统相关消息和发送对应于服务响应的操作系统相关消息。客系统处理器(SGP1)具有操作系统模拟器(SO1)。操作系统模拟器(SO1)响应于来自客系统处理器(SGP)所执行的任务(A,B)的服务请求,向主系统处理器(SHP)发送操作系统相关消息。操作系统模拟器(SO1)响应于来自主系统处理器(SHP)的操作系统相关消息,向任务(A,B)提供服务响应。
文档编号G06F9/455GK101091162SQ200580045074
公开日2007年12月19日 申请日期2005年12月15日 优先权日2004年12月30日
发明者劳伦特·卡佩利亚, 弗朗索瓦·卡伦 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1