相互通信的预处理器的制作方法

文档序号:7668456阅读:158来源:国知局
专利名称:相互通信的预处理器的制作方法
技术领域
本发明涉及一种用于在网络内和网络间通信的方法和电路结构。具体来说,本发明涉及一种用于通过至少一个数据网络与远程单元以及与至少一个专用于CPU(中央处理单元)进行通信的方法和设备。
背景技术
从嵌入式系统到个人计算机和工作站甚至到大规模的所有尺寸的计算机系统一般都连接到一个或多个网络。通过该网络,计算机系统可以从不同的大多数远程系统收集信息,用于进一步的计算。该信息可能包含描述要由接收该信息的计算机系统所控制的远程系统的工作状态的参数。
在一个现代汽车中的电子控制单元(EUC)是用于这种结构的一个例子。该EUC可以连接到多个实时网络,例如,几个独立的CAN(控制器区域网络)总线或者其他多用途网络,例如多媒体网络,例如MOST(面向媒体的系统运输),即,用于汽车中的光学总线系统,或者IEEE1394(火线)。
在工作中,EUC执行用于控制远程系统的应用程序。与此同时,必须监控各种总线和网络,以从包含用于正在执行的应用程序所需的参数的被发送数据选择和提取这种信息。通常,多个总线直接连接到包含在EUC中的一个中央处理单元(CPU)。监控总线、选择和提取感兴趣信息导致对EUC的整体性能来说较大的处理负担。该处理负担特别是由于必须由EUC与应用程序的执行同时执行的路由、网关、总线桥路和过滤功能所产生的。
一般来说,在较小的计算机和嵌入系统中,由路由、网关、总线桥路和滤波功能所产生的处理负担较小,首先把大部分处理性能保留给已经被分配给指定的CPU的目标应用程序。
与例如以太网这样的局域网(LAN)相反,类似于CAN总线系统的实时总线系统在每个数据包传送相对较少的数据量。该特征对于保证总线系统的实时能力是重要的,即,系统能够在一般为毫秒或微秒级的较小的响应时间上限范围内对刺激作出响应。但是,实时总线系统能够在给定的时间周期内传送相对较大量的数据包。因此,实时总线系统对与其连接需要选择和提取相关数据包的CPU产生非常高的中断速率。作为一个例子,连接到使用以50MHz频率运行的PowerPC 403 CPU的4个独立CAN总线系统可能造成导致平均CPU负载远大于50%的使用率的中断速率,这仅仅由于CAN总线系统触发的中断所造成。
在设备发展水平上,例如单个或多个(并行)处理器这样的采用RISC(精简指令集计算机)或者CISC(复杂指令集计算机)构架的标准计算系统被用于执行相互通信应用和任务。
尽管目前计算系统的发展水平可以用于相互通信应用和任务,但是在多个总线适配器通过计算系统连接的情况中,提供足够的处理性能变为一个严重的问题。考虑最坏的情况,例如由4个1Mbps(兆位每秒)总线适配器所产生的中断速率可能达到远远超过目前的标准处理器可以提供的计算能力的每秒中断速率。
必须处理相对较大量的数据包的事实严重地影响对在相互通信的应用领域中的处理系统的性能需求。实际上,上述情况导致对处理器能力的要求增加,这与在计算系统上执行的其他应用程序的要求相符。
为了克服计算能力的不足,系统时钟频率可以被加倍。结果,功耗一般也加倍,例如导致冷却系统的问题。另一种解决方案可以通过对该系统增加了更多的处理器来实现。与所有性能要求总线相关的任务可以在该系统中的一个附加处理器上执行。但是,这会导致更高的制造成本,因为必须提供一个附加的处理器。
由实时总线控制器所用的另一种方法被称为“过滤寄存器”。过滤寄存器通过硬件比较器来实现的,通过降低中断速率以及减小消耗时间的消息地址比较操作而解脱CPU的一些‘负担’。要被过滤的消息标识被存储在特定的寄存器中,例如16个标识符,并且与在总线上传输的消息相比较。仅仅具有匹配的标识符的消息被转发到CPU。
从美国专利申请No.5,832,397,已知有一种集成通信装置被用于一个车辆控制系统中,用于监视和控制多个车辆系统的工作状态,每个车辆系统具有一个控制其操作的本地控制单元,所述本地控制单元由一个数据通信线路所访问,所述集成通信装置包括至少一个存储单元;中央处理单元,用于根据存储在所述至少一个存储单元中的程序接收和处理从所述本地控制单元发送的信号,该信号表示所述多个车辆系统的工作状态,以及用于产生要通过所述数据通信线路发送到所述多个车辆系统的控制信号;以及可编程子处理器,用于根据存储在所述至少一个存储单元之一的至少一个所述控制程序,通过所述数据通信线路控制所述中央处理单元和所述本地控制单元之间的通信。
发明目的由此开始,本发明的目的是提供一种改进至少一个网络和至少一个中央处理单元之间的数据处理的方法和设备。

发明内容
上述目的通过在独立权利要求中所给出的方法和系统而实现。本发明的进一步的优选实施例在从属权利要求和下文的描述中给出。
该方法针对于在用于通过至少一个数据网络与远程单元进行通信并且使用至少一个专用中央处理单元的系统中处理的消息。首先,要被处理的消息被接收,并且决定对所接收的消息执行处理的种类。然后,指定所接收消息的内容以及确定所接收消息的处理的消息特定信息被存储到第一组寄存器中。然后,该第一组寄存器被监控,以在一个处理执行单元可以用于执行处理时开始处理一条信息。然后,所确定的处理得到执行。同时,第一组寄存器被监控,以在该消息的处理完成时开始显示消息处理的结果。最后,消息处理的结果被显示,以转发到一个目标单元。
用于通过至少一个数据网络与远程单元进行通信并且利用至少一个专用中央处理单元的根据本发明的消息处理设备包括第一执行单元,用于接收要被处理的消息,并且利用所接收的消息确定要被执行的处理的种类;第二执行单元,用于执行确定处理;以及第三执行单元,用于显示的消息处理的结果,以转发到一个目标单元。
在另一个实施例中,该第二执行单元另外包括一个或所有如下特征第一组寄存器,用于存储指定数据内容和所确定的所接收消息的处理的消息特定信息;至少一个处理执行单元,其具有通向该第一组寄存器的通道,用于执行所确定的处理;和/或第二主计算机,其连接到至少一个处理执行单元,用于存储该处理执行单元所需的信息。该设备可以被配置为监控第一组寄存器,以在一个处理执行单元可以用于处理时开始处理信息,和/或监控第一组寄存器,以在该消息处理完成时,开始显示消息处理的结果。
最好,该设备被集成在一个相互通信处理系统中,用于在网络中和网络之间进行通信。该系统进一步包括一个交换机设备,用于提供到至少一个数据网络以及到至少一个专用中央处理单元的通信连接,从而交换机包括一个多路复用器,其一方面连接到第一和第三执行单元,并且另一方面准备连接到几个总线适配器和中央处理单元,和/或一个中断总线,其一方面连接到第一执行单元,另一方面准备连接到几个总线适配器和CPU。
根据本发明的方法和设备的一个优点是使得与多个网络进行通信的处理单元从由于通过网络所传送的数据包的量而导致的高中断速率中解脱出来。


从下文的详细描述中本发明的上述和其他目的、特点和优点将变得清楚。
本发明的新特点在所附权利要求中给出。但是,当结合附图阅读下文时,通过下文的示意实施例的详细描述,本发明本身以及其优选模式、进一步的目的和优点将得到更好地理解其,其中图1示出根据本发明的一种相互通信预处理器的高阶方框图;图2示出根据本发明的一种相互通信预处理器的高阶方框图;图3示出根据本发明的同时处理执行的示意图;图4示出根据本发明的一种相互通信预处理器的消息处理的流程图;图5示出在图4中所示的消息处理的初始化处理中的消息处理的流程图;图6示出在图4中所示的消息的动态处理中的消息处理的流程图;图7示出在图6中所示的消息处理的执行单元处理的消息处理的流程图;图8示出在图4中所示的消息处理的显示处理的消息处理的流程图;图9示出在该相互通信预处理器存储子系统中的消息的组织的表格。
具体实施例方式
图1示出根据的发明的一种相互通信预处理器100的高阶方框图。该相互通信预处理器100(IPP)执行3种不同的处理,每一种处理在一个分离的执行单元上执行。
第一种处理被称为“初始化处理”。其分析输入的消息,如图1中的方框图102中所示,并且根据专用于相互通信预处理器100的配置数据以及在该输入数据中编码的信息确定它的进一步处理,如在下文中更加具体的描述。在初始化处理(IP)由IP执行单元104所执行。
在初始化处理之后,该消息是被称为“动态处理”的第二次处理的对象。该动态处理(DP)执行已经由初始化处理所确定的任务。如交错方框106、107和108所示,提供3个DP执行单元来实现动态处理。这是通过顺序和同时地对根据要执行的任务而完成的。可以被分为能够同时执行的子任务的所有要对一个输入消息所执行的任务可以被相应地标记。随后,在该动态处理中,一个以上的执行单元可以被用于并行地执行任务。因此,该相互通信预处理器100的拓扑结构不限于并行计算或者顺序计算,它可以根据要被执行的实际任务而以任何一种方式来执行。
换句话说,已知当前处理器拓扑结构的差别,相互通信预处理器构架不能够被认为同样在固定处理器构架中工作。而是,它由要被执行的各个工作而触发。因此,逻辑相互通信预处理器系统构架动态地调整其处理器拓扑结构,以满足实际的要求。
第三种处理被称为“显示处理”。显示处理(PP)在监控多DP执行单元所执行的动态处理的一个专用PP执行单元110上执行。在完成动态处理过程中执行的任务之后,PP执行单元输出一个消息112,作为输入消息102的计算结果。
现在参见图2,在此描述根据本发明的相互通信预处理器200的高阶方框图。所示的相互通信预处理器200连接到一个交换机201,其被设计为连接4个独立的CAN总线202至205以及另外的第一和第二独立CPU207和208。第一和第二CPU207和208分别提供到第一和第二附加总线系统210和211的连接。附加的第一和第二总线系统210和211可以互不相同,并且例如由火线系统所形成,即根据IEEE1394规定的高性能串行总线,或者任何其它类型的多媒体总线,例如,MOST(面向媒体的系统传输)。
把多达4个的CAN总线以及一个或两个CPU连接在一起代表了一种用于现代汽车中的典型网络要求。但是,根据本发明的相互通信预处理器不限于这种特殊的总线系统、总线的具体数目、与其连接的CPU的数目。
4个CAN总线202至205中的每一个连接到各个总线适配器214至217。该总线适配器214至217可以由标准化的CAN控制器所形成,其通过CAN-C或者CAN-B物理层提供到各个CAN总线202至205的连接。一方面,每个总线适配器214至217已经获得到一个中断请求总线220的连接。另一方面,每个总线适配器214至217具有到一个多路复用器222的连接。但是,到该多路复用器222的连接可以通过提供把总线适配器214至217与多路复用器222相连接到一组导体的总线所形成,该导体例如布线、PCB(印刷电路板)线路或者在集成电路中的连接。
对应于4个总线适配器214至217,CPU207和208也连接到中断总线220和多路复用器222。多路复用器222进一步显示到IP(初始化处理)执行单元226的控制引擎224以及包含在PP(显示处理)执行单元230中的传输单元228的连接。控制器232响应在专用控制信号线上发送分别由第一CPU207、第二CPU208以及发送单元228所接收的控制信号而控制该多路复用器222。上述结构使得多路复用器提供从总线适配器214至217和CPU207和208到控制引擎224和发送单元228的连接。
IP执行单元226进一步包括IPP预置接口234和IPP存储子系统236。IPP预置接口234可以由第一CPU207初始化,并且可以与控制引擎224交换控制信息,而IPP存储子系统236被提供用于存储从总线适配器214至217之一或者CPU207和208之一接收的消息的计算所需的控制信息。
除了连接到多路复用器222此外,控制引擎224还连接到中断总线220,并且进一步具有到的执行标志记录238的连接,该执行标志记录238被包含在一个DP(动态处理的)执行单元239中,并且存储用于所接收消息的计算所需的数据。执行标志记录238本身连接到第一、第二和第三执行单元240至244,其可以访问用于存储数据和在执行单元240至244之间交换数据的一个寄存器组246。执行单元的数目不限于三个,在根据本发明的相互通信预处理器中可以提供任何数目的执行单元。
来自执行标志记录238的信息可以被通过一个专用数据链路传送到发送单元228。由此,该信息可以被提供到多路复用器222,或者直接提供到第一或第二CPU207和208。
换句话说,PP执行单元230连续监控和翻译执行标志记录238。只要特定的数据字段被解码为一个具有‘所有处理完成’含义的通知,则该PP执行单元将被触发,并且一个特定的‘显示处理’程序将被启动,以完成整个处理功能。
显示处理程序由整个系统标准来确定。但是,典型的工作例如为获取或者产生一个目标消息地址、获取和组合来自作为消息处理结果的数据的一个新消息、把该新消息发送到一个指定的目标系统和/或把该消息发送到FIFO(先进先出队列)或者对各个退出消息队列进行优先级排序。
可以通过使用处理驱动拓扑结构来组织复杂的显示处理功能,以建立非常有效的系统。
该执行标志记录伴随着相互通信预处理器处理,直到它完成。在该时间过程中,它通过反馈而更新。具有状态“暂停”的动态处理的数目可以在整个相互通信预处理器处理的过程中增加或减少。在此时,在该执行标志记录中的所有执行标志被清除,并且显示处理将接替以完成整个IPP处理。后执行单元将接收包含在执行标志记录中的结果和由最后完成的DP执行单元所产生的数据。
然后,它将使用该消息信息来组合一个新的消息。该执行标志记录以及最后的DP执行单元将被卸载和释放。
PP执行单元230将完成该消息并且把‘结果’消息输入到输出流水线。在根据相互通信预处理器配置寄存器中的规范的软件控制之后,在该时间点处,一个无效的消息将被不予考虑或拒绝。在特定的相互通信预处理器系统要求之后,PP执行单元可以对在该输出流水线中存储的消息执行一个‘优先级排序’。紧接着在此之后,将发出到达各个总线适配器的请求或者到达CPU的中断。各个总线适配器将启动并且执行仲裁,并且将在接收成功发送消息之后,在CPU的情况中为中断服务例程完成消息,对相应的输出流水线清零。
流水线溢出处理被定义在一个相互通信预处理器系统配置计算机中。在流水线溢出的情况中,该相互通信预处理器将停止初始化执行单元,并且向CPU发出一个中断,把溢出情况通知给CPU。
控制器232、多路复用器222和中断总线220形成该交换机201。交换机201是对实际的相互通信预处理器的功能扩展,以改进该优选系统的特性。交换机201硬件功能被插入在相互通信预处理器、CPU207和208和总线适配器214至217之间,如图2中所示。
交换机201是由CPU207和208之一或者相互通信预处理器200所控制的多路复用方案。这使得CPU207和208使用相互通信预处理器200的功能。例如,由CPU207和208之一所产生的消息必须被同样地广播到几个CAN总线202至205。在这种情况中,该消息被交换机201多路复用到相互通信预处理器200,然后,该相互通信预处理器200处理该消息并且立即启动发布。该处理大大地节约了时间,因为与由CPU207和208之一所形成的主CPU相比,专门用于操作该任务的相互通信预处理器200仅仅需要一部分的处理时间。另外,在需要在转发之前计算该消息的情况中,主CPU仅仅必须执行一个消息操作,这也节约了处理时间。
图3示出根据本发明同时执行处理的示意图。x轴302示出时间进程,y轴304示出相互通信预处理器资源的占用,即,在执行标志记录中的DP执行单元和存储空间之一,如参照图2所述。
矩形框306包围在该执行标志记录ETR(n)中的一个存储空间以及涉及一个特定的输入消息的处理的所有DP执行单元,其中“n”表式该执行标志记录的一个随机存储空间可以被使用。相应地,DP执行单元的编号“1”、“2”、“3”和“m”表示在此有多达“m”个DP执行单元,其中“m”表示大于3的整数。但是,并行DP执行单元的数目可以根据实际性能要求来选择,而不脱离本发明的思想。
在一个输入消息已经被处理之后,另一个输入消息可以通过使用该执行标志记录的相同存储空间而计算。与此同时,不同的其他消息可以通过使用在该执行标志记录中的不同存储空间而处理,如第二交错矩形框308所示。但是,一般有两个以上的消息被同时处理。
通过DP执行单元对输入消息的处理由IP执行单元来启动(参见图2),如箭头310所示。IP执行单元分配执行标志记录的一个存储空间,并且存储由DP执行单元对输入消息执行特定的处理所需的所有信息。在初始化之后,IP执行单元立即处理下一个可用的输入消息。相应地,分配该执行标志记录的另一个存储空间,并且存储该IP执行单元对下一个输入消息执行特定的处理所需的所有信息。
在初始化处理之后(处理状态1),在执行标志记录的特定存储空间保持被分配,直到该消息的处理完成时为止。在图3中所示的例子中,三个DP执行单元开始同时处理输入消息(处理状态2)。这是通过把各个标志设置在该执行标志记录的所专用存储空间中而实现的,从而可用的DP执行单元可以自动地接受任务,并且开始处理。本发明的思想,即,要被执行的所有处理被提供到DP执行单元,保证使用相互通信预处理器的资源的灵活性。根据要被执行的特定任务和工作负担,该相互通信预处理器顺序或并行地或者两者相结合地处理特定的任务。
在DP执行单元dp_EU(2)已经结束其计算之后,在DP执行单元dp_EU(m)上开始另一个处理,其等待来自DP执行单元dp_EU(3)的处理结果。仅仅在所有涉及的DP执行单元已经完成他们的工作之后,显示处理(处理状态3)读取计算的结果,并且把它发送到总线,或者把它转发到CPU(参见图2)。与此同时,该执行标志记录的存储空间被释放,并且可以重新用于要被执行的另一个消息,如在相同的存储空间中的新条目和新的“装载ETR”处理所示。
现在参见图4,其中示出表示根据本发明的相互通信预处理器的消息处理的流程图。通过在中断总线410上把中断请求发送到由方框412所示的中断监视器,该处理由总线适配器402至405之一或者CPU适配器407和408之一所启动。该中断监视器捕获中断并且启动进一步的处理。这是通过确定任何中断请求(IRQ)是否已经被发出而实现的,如方框414所示。
如果该处理没有返回到方框412,如果为是,则该处理进行到表示将在下文更加详细描述的初始化处理的方框416。该初始化处理从已经成功地发出中断请求的特定单元收集消息信息。
如将在下文更加详细地描述的方框418所示的DP(动态处理)执行单元监控该初始化处理。在DP执行处理能够计算新到的消息数据的情况中,该处理和消息信息被传送到方框418。另外,DP执行处理本身由将在下文更加详细描述的PP(显示处理)执行处理所监控。在DP执行处理完成正在进行的消息计算的情况中,监控PP将检测该完成情况,并且它本身将接收的用于进一步计算的消息。该处理进行到表示PP执行处理的方框420。PP执行处理本身把一个中断请求发送到CPU407或408,并且通过数据总线422把所计算的消息数据写入到各个CPU407或408。
参见图5,其中示出表示在如图4中所示的消息处理的初始化处理中的消息处理的流程图。方框500示出当图4中所示的处理进行到初始化处理方框416时所到达的当前处理的开始点。从方框500,该处理紧接着进行到如方框502所示判断初始化处理执行单元(参见图2)是否已经准备接受消息数据。如果为否,则在方框504所示的等待状态延迟预定的时间段之后,该处理返回到方框502。如果为是,该处理返回到方框506,其表示该消息被提取并且暂时存储。
方框502的判断从与方框508所表示的IP执行单元相关的状态标志获得关于初始化处理执行单元是否准备接收消息数据的信息。在IP执行单元已经接收新的要处理的消息数据之后,状态标志被设置为“忙”。与此同时,计数中断请求的次数的一个内部计数器增加计数值,并且启动由方框510所示的延迟计时器。当经过延迟时间时,发出一个超时事件。方框512表示判断中断请求计数器是否已经到达预定的数值。如果为是,则一个事件被发出到方框514,表示方框512的判断的肯定事件与方框516的肯定事件之间的逻辑或,该方框516表示判断在方框518中计算的逻辑与的结果是否为肯定。
方框518从方框510的延迟计时器接收的超时事件和判断执行标志记录(参考图2)是否可用的方框520的否定事件。如果方框516的判断或者方框512的判断为是,则该处理进行到方框522,其表示中断请求被发出到一个CPU的中断请求并且消息数据被转发到该CPU。该特定的例程适当地表示IPP为不可用或者“忙”的状态,因此,不可以在这个时间点来处理各个消息请求。在这种特定的情况中,消息将被‘被来处理地/原样地’转发到一个CPU。
返回到方框506,该处理进行到方框524,在此访问IPP过渡存储(参见图2)并且分配一个执行标志记录。如果当该处理进行到方框514时还没有出现超时事件,则也出现后一种情况。
在执行标志记录可用的情况中,如方框520所示,该处理进行到方框526,其表示初始化和准备执行标志记录的步骤。与此同时,方框508的状态标志被设置为‘就绪’。从方框526,该处理进行到图6中所示的流程图的开始方框600,如方框528所示。
现在参见图6,其中示出在图4中所示的消息处理的动态处理中的消息处理的流程图。方框600示出当图5中所示的处理进行到方框528时所到达的当前处理的开始点。从方框600,该处理立即进行到方框602,其表示执行标志记录被监控。这可以通过使用循环共享处理来实现,或者通过使用无论何时在该执行标志记录中出现改变就自发地发出一个中断信号的处理来实现。
然后,该处理到达如方框604所示的判断,其判断是否有一个要被处理的执行标志记录。如果为否,则在如方框606所示再次监控执行标志记录之后,该处理返回到方框602。如果为是,则该处理进行到方框608,表示该消息被提取并且暂时存储。然后,到达方框610,在此分配一个执行标志记录任务,并且一个执行标志记录标记被设置为“正在进行”,如方框611所示。接着,在方框612中,根据该执行标志记录任务处理该消息数据。
该执行标志记录任务可以是一个或多个如下任务,具体来说存储消息数据、初始化定时器、比较定时器、计数一个事件、比较一个事件、执行布尔运算、组合新消息。在执行标志记录任务的处理过程中,该寄存器组(参见图2)被访问,方框614,并且分配一个寄存器空间,以及根据对该寄存器空间的所需访问权限,各个寄存器空间被标记为“专用”或者“公用”。
在方框616中的判断确定该处理是否完成。如果为否,该处理返回到方框612。如果为是,该处理返回到方框604,并且如果没有更多要做的事情,执行标志记录标记被设置为“已处理”,如方框618中所示。在当前消息数据的处理完成的情况中,但是该处理启动一个计时器,并且需要等待更多的消息,然后该执行标志记录标记被设置为“暂停”,如方框620所示。但是,从所有方框611、618和620返回到方框602。
图7示出表示如图6中所示的消息处理的执行单元处理的消息处理的更加详细的流程图。方框图700形成一个进入点,其对应于转变到图6的方框612,如圆圈中的字母“a”所示。首先,消息处理程序被识别,并且确定资源要求,如方框702所示。然后,通过为了一个暂停处理而扫描寄存器组,该暂停处理对应于要被处理的消息数据所表示的处理,如方框704所示。接着,该处理进行到方框706,其表示判断在该寄存器组中是否已经发现一个匹配的处理ID。如果为是,则该处理分支转移到方框708,以分配所需的寄存器。在这一点执行典型操作例如可以是存储一个函数的逻辑或运算。各个OR函数可以使用新的消息数据作为第一参数,并且当前的寄存器数据内容作为第二参数。如果需要的话,一个时间标记被施加到新创建的项目。另外,该时间可以与一个预定时间点相比较,以确定是否已经到达一个消息出现的时限。
如果为否,到达方框710,表示分配一个寄存器组空间以及把特定的寄存器空间标记为“公用”的步骤。然后在方框712,首先存储一个时间标记,然后存储该消息数据,最后执行标志记录标记被设置为“暂停”,如方框714所示。
从方框708,该处理进行到判断该事件标志数值是否大于预定参数“tr”,方框716,从而参数“tr”分别等于要被估计和处理的消息事件的时间周期。如果为否,该处理分支进行到方框714。如果为是,该处理继续进行到方框718,其表示把该执行标志记录标记设置为数值“已处理”。从方框714和718,该处理进行到图6的方框602的,如一个圆圈中的字母“b”所示。
参见图8,其中示出如图4中所示的消息处理的显示处理的消息处理的流程图。方框800示出当图4中所示的处理通过方框420所到达的当前处理的开始点。从方框800,该处理立即进行到方框802,其示出被监控的执行标志记录。这可以通过使用循环共享处理或者无论何时在该执行标志记录中出现一个改变则直接发出一个中断信号的处理来实现。
然后,该处理进行到判断是否存在表示相应的处理结束的执行标志记录标记,方框804。如果为否,当如方框806所示再次监控执行标志记录之后,该处理返回到方框802。如果为是,该处理进行到方框808和810。方框808表示确定数计算消息的接收者是否为CPU。如果为否,则该处理返回到方框808和810。如果为是,通过合并该消息数据和由方框812所表示的ID,一个CPU消息被组合。然后,该处理进行到表示把一个中断发送到CPU以把要被接收的消息通知给CPU的方框814。然后,该处理进行到确定该消息是否已经被所有接收者所接收,方框816。如果为否,在通过由方框818所示的等待状态延迟预定的时间段之后,该处理返回到方框816。如果为是,在返回到方框802之前,该处理进行到方框820。
回到方框810,其表示判断所计算消息的接收者是否为一个总线适配器(参见图2)。如果为否,该处理返回到方框808和810。如果为是,通过合并消息数据和由方框812所示的ID,一个总线适配器消息被组合。然后,该处理进行到方框824,其表示把组合消息发送到与各个总线适配器控制器相关的发送缓冲器。然后,该处理到达上文所述的方框816的判断。
图9示出表示在图2的IPP存储子系统236中存储的信息组织的一个例子的表格900。该存储子系统可以通过一个常规的存储设备所形成,例如具有分别如根据图9的例子中所示的32位存储容量的8192个存储器地址。存储子系统中的内容可以通过连接到相互通信预处理器的一个CPU所设置。因此,该相互通信预处理器可以根据特定用程序的需要而配置。但是,表格900的信息可以有选择地存储在一个以上的表格或者存储设备中。另外,下文对表格的描述仅仅是一个例子,并且可以类似地存储相同或相应的信息。
数据位0至7被用于存储指向用来计算所接收数据消息的参数的一个指针。该参数本身被存储在一个专用的存储设备中,其还可以被存储在图2的IPP存储子系统236中。另外,提供一个数据字段,其直接包含该参数数值。接着的数据位8至10被用于编码一个消息过滤操作码(op-code),如在一个消息过滤操作码表910中所示。
在该消息过滤操作码表910中,数值“0”和“1”为任意数值,而对于其各自的功能,字母“n”可以被填充有“0”或者“1”。字母“x”表示所谓的“无关位”,即,特定的数字可以填充有“0”或者“1”,而不造成对该系统的任何逻辑影响。如果由一个数据消息所选择的存储单元表示各个二进制数字8至10设置为“000”,则一个时间标记将在各个消息的计算过程中产生。在它是其他消息过滤操作码之一的情况下,要执行不同的操作,例如,计数标记的创建、消息的立即传输而没有任何进一步的计算或者一个参数的应用。
类似的,如下3个数位11至13被组织。它们表示如数据操作码表920所示的数据操作码。根据数据操作码的编码,数据消息的内容被复制,或者例如OR、AND或XOR(异或)这样的布尔运算被应用于该消息内容。另外,一个参数可以被施加到该消息上。应当知道,在另一个实施例中,可以采用不同的操作。但是,对于更加复杂的数学运算,例如浮点运算,该消息可以被立即传送到CPU用于进一步的计算。仅仅在该相互通信预处理器中采用相对简单的操作有助于保持该相互通信预处理器的硬件使用的程度较低。
在7个数据位14至20中,选择地址单元的消息的目的地被编码,如在总线目的地字段表930中所示。每个数位14至19表示一个总线适配器或者CPU(参见图2),作为各个消息的一个目的地。在设置一个以上的数位的情况中,该消息被发送到一个以上的目的地。仅仅当数位20至31被设置为“1”时,放弃该消息。
剩余的7个数位21至31被用于编码ID(标识)转换。如果在转发到例如一个不同的网络之前,一个输入消息的ID要被改变。
存储要用一个输入消息执行的特定处理的地址对应于输入消息的ID。因此,根据输入消息的消息ID,各个地址被选择,并且该编码处理被读出以存储在该执行标志记录中,如上文所述。
根据本发明的相互通信预处理器的其他优点特别在于仅仅需要相对较少量的硬件门电路,导致较低的系统成本。另外,这减少了系统的功耗、实际尺寸并且增加可靠性。该相互通信预处理器通过把由于桥路、路由器、网关功能而导致的在主CPU上的工作负担减小到最少,而有利地解脱在主CPU上的工作负担。因此,该CPU使得更多的计算能力用于该系统应用程序。整体系统的功能通过强有力的消息过滤而增加。
本发明用硬件、软件或者硬件和软件的组合而实现。任何种类的计算机系统-或者其他适用于执行在此所述的方法的装置-是适用的。硬件和软件的典型组合可以是一种具有计算机程序的通用计算机系统,当装载和执行该计算机程序时控制该计算机系统,使得它执行在此所述的方法。本发明还可以体现在一种计算机程序产品上,其中包含能够实现在此所述的方法的所有特征,并且当装载在一个计算机系统中时,可以执行这些方法。
在本文中的计算机程序装置或者计算机程序表示直接或者在a)转换为另一种语言、代码或符号;b)以不同材料形式再现之后,使得具有信息处理能力的系统能够执行特定的功能的一组指令的任何表达、以任何语言、代码或符号。
权利要求
1.一种用于通过至少一个数据网络(202至205)与远程单元进行通信并且具有至少一个专用CPU(207、208)的消息处理设备(200),该设备包括第一执行单元(226),用于接收要被处理的消息并且利用所接收的消息确定要被执行的处理的种类,第二执行单元(239),用于执行所述确定的处理,以及第三执行单元(230),用于显示要被转发到一个目的地单元的消息处理的结果。
2.根据权利要求1所述的设备,其特征在于,该第一执行单元(226)包括一个存储设备(236),用于存储要被用来确定要对所接收消息执行的处理的控制信息。
3.根据权利要求1或2所述的设备,其特征在于第二执行单元(239)包括第一组寄存器(238),用于存储指定该数据内容和所述确定的所接收消息的处理的消息特定信息。
4.根据权利要求3所述的设备,其特征在于第二执行单元(239)包括至少一个处理执行单元(240、242、244),其具有通向所述第一组寄存器(238)的通路,用于执行所述确定的处理。
5.根据权利要求4所述的设备,其特征在于第二执行单元(239)包括3个或更多的处理执行单元(240、242、244),其具有通向所述第一组寄存器的通路,用于执行所述确定的处理。
6.根据权利要求4或5所述的设备,其特征在于第二执行单元(239)包括第二组寄存器(246),其连接到所述至少一个处理执行单元(240、242、244),用于存储由所述处理执行单元(240、242、244)需要的信息。
7.根据权利要求4至6之一所述的设备,其特征在于第二执行单元(239)被配置为监控第一组寄存器(238),以在一个处理执行单元(240、242、244)可用于处理时开始处理一个消息。
8.根据上述任何一项权利要求所述的设备,其中第三执行单元(230)被配置为监控第一组寄存器(238),以在该消息的处理完成时开始显示该消息处理的结果。
9.根据权利要求2所述的设备,其特征在于第一执行单元(226)包括一个接口,用于使用被用来确定对一个所接收消息执行的处理的所述控制信息来配置所述存储设备(236)。
10.一种用于在网络内和在网络之间进行通信的相互通信处理系统,该系统包括根据权利要求1至9中的任何一项所述的用于消息处理的设备以及一个交换机设备,其用于提供到所述至少一个数据网络(202至205)以及到所述至少一个专用CPU(207、208)的通信连接。
11.根据权利要求10所述的相互通信处理系统,其特征在于所述交换机包括一个多路复用器,其一方面连接到第一和第三执行单元(226、239),另一方面准备连接到几个总线适配器(214-217)和所述至少一个CPU(207、208)。
12.根据权利要求11所述的相互通信处理系统,其特征在于所述交换机进一步包括一个中断总线,其一方面连接到第一执行单元(226),另一方面准备连接到几个总线适配器(214-217)和所述至少一个CPU(207、208)。
13.根据权利要求11或12所述的相互通信处理系统,其特征在于所述交换机进一步包括一个用于控制所述多路复用器的控制器(232),从而所述控制器被配置为由所述第三执行单元(230)或者由所述至少一个CPU(207、208)所控制。
14.一种用于在通过至少一个数据网络(202至205)与远程单元进行通信并且具有至少一个专用CPU(207、208)的系统中进行消息处理的方法,该方法包括如下步骤接收要被处理的消息并且利用所接收的消息确定要被执行的处理的种类;把指定该所接收消息的内容和所述确定的所接收消息的处理的消息特定信息存储到第一组寄存器(238)中;监控第一组寄存器(238),以在一个处理执行单元(240、242、244)可用于处理时开始处理一个消息;执行所述确定的处理,从而顺序地、使用并行处理或者两者相结合地执行该处理;监控第一组寄存器(238),以在消息处理完成时开始显示消息处理的结果;以及显示要被转发到一个目的地单元的消息处理的结果。
15.根据权利要求14所述的方法,其中进一步包括存储要被用于确定对所接收消息执行的处理的控制信息的初始步骤。
16.一种存储在计算机可用介质上的计算机程序产品的和其中不过计算机可读程序装置,用于使计算机执行根据上述权利要求14和15中的任何一项所述的方法。
全文摘要
本发明涉及一种用于通过至少一个数据网络与远程单元进行通信并且利用至少一个专用CPU的方法和设备。根据本发明的消息处理设备包括第一执行单元,用于接收要被处理的消息,并且利用所接收的消息确定要被执行的处理的种类;第二执行单元,用于执行所确定的处理;以及第三执行单元,用于显示要被转发到一个目的地单元的消息处理的结果。
文档编号H04L12/56GK1478346SQ01819599
公开日2004年2月25日 申请日期2001年10月27日 优先权日2000年12月9日
发明者迪耶特·E·斯泰格, 迪耶特 E 斯泰格 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1