CN1235380C - 相互通信的预处理器 - Google Patents
相互通信的预处理器 Download PDFInfo
- Publication number
- CN1235380C CN1235380C CNB018195997A CN01819599A CN1235380C CN 1235380 C CN1235380 C CN 1235380C CN B018195997 A CNB018195997 A CN B018195997A CN 01819599 A CN01819599 A CN 01819599A CN 1235380 C CN1235380 C CN 1235380C
- Authority
- CN
- China
- Prior art keywords
- message
- processing
- performance element
- square frame
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Detergent Compositions (AREA)
- Saccharide Compounds (AREA)
- Solid-Sorbent Or Filter-Aiding Compositions (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
Abstract
本发明涉及一种用于通过至少一个数据网络与远程单元进行通信并且利用至少一个专用CPU的方法和设备。根据本发明的消息处理设备包括第一执行单元,用于接收要被处理的消息,并且利用所接收的消息确定要被执行的处理的种类;第二执行单元,用于执行所确定的处理;以及第三执行单元,用于显示要被转发到一个目的地单元的消息处理的结果。
Description
技术领域
本发明涉及一种用于在网络内和网络间通信的方法和电路结构。具体来说,本发明涉及一种用于通过至少一个数据网络与远程单元以及与至少一个专用于CPU(中央处理单元)进行通信的方法和设备。
背景技术
从嵌入式系统到个人计算机和工作站甚至到大规模的所有尺寸的计算机系统一般都连接到一个或多个网络。通过该网络,计算机系统可以从不同的大多数远程系统收集信息,用于进一步的计算。该信息可能包含描述要由接收该信息的计算机系统所控制的远程系统的工作状态的参数。
在一个现代汽车中的电子控制单元(EUC)是用于这种结构的一个例子。该EUC可以连接到多个实时网络,例如,几个独立的CAN(控制器区域网络)总线或者其他多用途网络,例如多媒体网络,例如MOST(面向媒体的系统运输),即,用于汽车中的光学总线系统,或者IEEE1394(火线)。
在工作中,EUC执行用于控制远程系统的应用程序。与此同时,必须监控各种总线和网络,以从包含用于正在执行的应用程序所需的参数的被发送数据选择和提取这种信息。通常,多个总线直接连接到包含在EUC中的一个中央处理单元(CPU)。监控总线、选择和提取感兴趣信息导致对EUC的整体性能来说较大的处理负担。该处理负担特别是由于必须由EUC与应用程序的执行同时执行的路由、网关、总线桥路和过滤功能所产生的。
一般来说,在较小的计算机和嵌入系统中,由路由、网关、总线桥路和滤波功能所产生的处理负担较小,首先把大部分处理性能保留给已经被分配给指定的CPU的目标应用程序。
与例如以太网这样的局域网(LAN)相反,类似于CAN总线系统的实时总线系统在每个数据包传送相对较少的数据量。该特征对于保证总线系统的实时能力是重要的,即,系统能够在一般为毫秒或微秒级的较小的响应时间上限范围内对刺激作出响应。但是,实时总线系统能够在给定的时间周期内传送相对较大量的数据包。因此,实时总线系统对与其连接需要选择和提取相关数据包的CPU产生非常高的中断速率。作为一个例子,连接到使用以50MHz频率运行的PowerPC 403CPU的4个独立CAN总线系统可能造成导致平均CPU负载远大于50%的使用率的中断速率,这仅仅由于CAN总线系统触发的中断所造成。
在设备发展水平上,例如单个或多个(并行)处理器这样的采用RISC(精简指令集计算机)或者CISC(复杂指令集计算机)构架的标准计算系统被用于执行相互通信应用和任务。
尽管目前计算系统的发展水平可以用于相互通信应用和任务,但是在多个总线适配器通过计算系统连接的情况中,提供足够的处理性能变为一个严重的问题。考虑最坏的情况,例如由4个1Mbps(兆位每秒)总线适配器所产生的中断速率可能达到远远超过目前的标准处理器可以提供的计算能力的每秒中断速率。
必须处理相对较大量的数据包的事实严重地影响对在相互通信的应用领域中的处理系统的性能需求。实际上,上述情况导致对处理器能力的要求增加,这与在计算系统上执行的其他应用程序的要求相符。
为了克服计算能力的不足,系统时钟频率可以被加倍。结果,功耗一般也加倍,例如导致冷却系统的问题。另一种解决方案可以通过对该系统增加了更多的处理器来实现。与所有性能要求总线相关的任务可以在该系统中的一个附加处理器上执行。但是,这会导致更高的制造成本,因为必须提供一个附加的处理器。
由实时总线控制器所用的另一种方法被称为“过滤寄存器”。过滤寄存器通过硬件比较器来实现的,通过降低中断速率以及减小消耗时间的消息地址比较操作而解脱CPU的一些‘负担’。要被过滤的消息标识被存储在特定的寄存器中,例如16个标识符,并且与在总线上传输的消息相比较。仅仅具有匹配的标识符的消息被转发到CPU。
从美国专利申请No.5,832,397,已知有一种集成通信装置被用于一个车辆控制系统中,用于监视和控制多个车辆系统的工作状态,每个车辆系统具有一个控制其操作的本地控制单元,所述本地控制单元由一个数据通信线路所访问,所述集成通信装置包括:至少一个存储单元;中央处理单元,用于根据存储在所述至少一个存储单元中的程序接收和处理从所述本地控制单元发送的信号,该信号表示所述多个车辆系统的工作状态,以及用于产生要通过所述数据通信线路发送到所述多个车辆系统的控制信号;以及可编程子处理器,用于根据存储在所述至少一个存储单元之一的至少一个所述控制程序,通过所述数据通信线路控制所述中央处理单元和所述本地控制单元之间的通信。
在1986年11月25日提交的美国专利申请US-A-4,625,308(KIMKAPS等人)公开了一种数据块输入处理方法。数据块输入任务接收从前端子系统13022所发送的数据块。该任务的主要功能是实现循环冗余校验(CRC),以根据CRC校验的结果确认(或否定)该数据块,以确认该数据块的序号有效,并且从该数据块组合完成的消息。该消息分配任务从数据块输入任务接收消息,并且通过检验消息的类型来确定所需的消息目的地是否为控制子系统本身或者是一个较低级的子系统(在模棱两可的情况中,该消息目的地字段被进一步验证以确定该目的地子系统)。如果该消息分配任务确定所需的消息目的地是一个低级子系统,则该系列子系统-控制子系统接口任务被启动,其解码该目的地字段,并且启动到适当的系列子系统的消息传输。如果该任务确定该目的地是控制子系统本身,则该消息处理任务被启动,其评估该消息处理数据并且采取适当的行动。
在1992年10月6日递交的美国专利US-A-5,153,909(BECKLELEANN M等人)示出用于提供资源控制的一种基于中央局(CO)的自动呼叫分配器(ACD)系统结构以及用于由一个开关系统所服务的多个系统的呼叫事件数据处理服务。该结构包括一个交换系统,其具有控制处理器组合设备(CPC)、执行ACD终端用户呼叫事件数据分割以及ACD终端用户资源分配消息屏蔽的特殊事件和控制链路(ECL)处理器、以及执行数据处理以导出到ACD的与呼叫相关的统计的一个或者多个管理信息系统(MIS)处理器。该ECL接收来自CPC的呼叫事件数据消息,进行分割,并且发送到MIS处理器。该ECL还通过检查该消息匹配预定的格式以及确认发出请求的该终端用户具有改变所请求的资源分配的许可,而屏蔽由ACD终端用户所发送以控制ACD资源的分配的资源分配请求消息。最后,ECL接口与多个MIS处理器相接。在得到一个增强的服务提供者的许可或者终端用户的许可之后,这些MIS处理器可以被置于CO处。有利地,终端用户事件数据分割和资源分配消息屏蔽由ECL所执行,而不增加CPC程序的复杂度,并且ACD终端用户具有使用其自身的MIS处理器、共享具有增强的服务提供者所提供的MIS处理器或者共享由交换系统所提供的MIS处理器的选择。
发明目的
由此开始,本发明的目的是提供一种改进至少一个网络和至少一个中央处理单元之间的数据处理的方法和设备。
发明内容
上述目的通过本发明提供的方法和系统而实现。本发明的进一步的优选实施例在下文的描述中给出。
该方法针对于在用于通过至少一个数据网络与远程单元进行通信并且使用至少一个专用中央处理单元的系统中处理的消息。首先,要被处理的消息被接收,并且决定对所接收的消息执行处理的种类。然后,指定所接收消息的内容以及确定所接收消息的处理的消息特定信息被存储到第一组寄存器中。然后,该第一组寄存器被监控,以在一个处理执行单元可以用于执行处理时开始处理一条信息。然后,所确定的处理得到执行。同时,第一组寄存器被监控,以在该消息的处理完成时开始显示消息处理的结果。最后,消息处理的结果被显示,以转发到一个目标单元。
用于通过至少一个数据网络与远程单元进行通信并且利用至少一个专用中央处理单元的根据本发明的消息处理设备包括第一执行单元,用于接收要被处理的消息,并且利用所接收的消息确定要被执行的处理的种类;第二执行单元,用于执行确定处理;以及第三执行单元,用于显示的消息处理的结果,以转发到一个目标单元。
在另一个实施例中,该第二执行单元另外包括一个或所有如下特征:第一组寄存器,用于存储指定数据内容和所确定的所接收消息的处理的消息特定信息;至少一个处理执行单元,其具有通向该第一组寄存器的通道,用于执行所确定的处理;和/或第二主计算机,其连接到至少一个处理执行单元,用于存储该处理执行单元所需的信息。该设备可以被配置为监控第一组寄存器,以在一个处理执行单元可以用于处理时开始处理信息,和/或监控第一组寄存器,以在该消息处理完成时,开始显示消息处理的结果。
最好,该设备被集成在一个相互通信处理系统中,用于在网络中和网络之间进行通信。该系统进一步包括一个交换机设备,用于提供到至少一个数据网络以及到至少一个专用中央处理单元的通信连接,从而交换机包括一个多路复用器,其一方面连接到第一和第三执行单元,并且另一方面准备连接到几个总线适配器和中央处理单元,和/或一个中断总线,其一方面连接到第一执行单元,另一方面准备连接到几个总线适配器和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)以不同材料形式再现之后,使得具有信息处理能力的系统能够执行特定的功能的一组指令的任何表达、以任何语言、代码或符号。
Claims (11)
1.一种用于通过至少一个数据网络(202至205)与远程单元进行通信并且具有至少一个专用CPU(207、208)的消息处理设备(200),该设备包括:
第一执行单元(226),用于接收要被处理的消息并且利用所接收的消息确定要被执行的处理的种类,其中该第一执行单元(226)包括一个存储设备(236),用于存储要被用来确定要对所接收消息执行的处理的控制信息;
第二执行单元(239),用于执行所述确定的处理,其中该第二执行单元(239)包括第一组寄存器(238),用于存储消息特定信息,所述消息特定信息指定所接收消息的数据内容和所述确定的处理,以及该第二执行单元(239)被配置为监控第一组寄存器(238),以在一个处理执行单元(240、242、244)可用于处理时开始处理一个消息;
第三执行单元(230),用于显示要被转发到一个目的地单元的消息处理的结果,其中该第三执行单元(230)被配置为监控第一组寄存器(238),以在该消息的处理完成时开始显示该消息处理的结果。
2.根据权利要求1所述的设备,其特征在于,该第二执行单元(239)包括至少一个处理执行单元(240、242、244),其具有通向所述第一组寄存器(238)的通路,用于执行所述确定的处理。
3.根据权利要求2所述的设备,其特征在于第二执行单元(239)包括3个或更多的处理执行单元(240、242、244),其具有通向所述第一组寄存器的通路,用于执行所述确定的处理。
4.根据权利要求2或3所述的设备,其特征在于第二执行单元(239)包括第二组寄存器(246),其连接到所述至少一个处理执行单元(240、242、244),用于存储由所述处理执行单元(240、242、244)需要的信息。
5.根据权利要求1所述的设备,其特征在于第一执行单元(226)包括一个接口,用于使用被用来确定对一个所接收消息执行的处理的所述控制信息来配置所述存储设备(236)。
6.一种用于在网络内和在网络之间进行通信的相互通信处理系统,该系统包括根据权利要求1至5中的任何一项所述的用于消息处理的设备以及一个交换机设备,其用于提供到所述至少一个数据网络(202至205)以及到所述至少一个专用CPU(207、208)的通信连接。
7.根据权利要求6所述的相互通信处理系统,其特征在于所述交换机包括一个多路复用器,其一方面连接到第一和第三执行单元(226、239),另一方面准备连接到几个总线适配器(214-217)和所述至少一个CPU(207、208)。
8.根据权利要求7所述的相互通信处理系统,其特征在于所述交换机进一步包括一个中断总线,其一方面连接到第一执行单元(226),另一方面准备连接到几个总线适配器(214-217)和所述至少一个CPU(207、208)。
9.根据权利要求7或8所述的相互通信处理系统,其特征在于所述交换机进一步包括一个用于控制所述多路复用器的控制器(232),从而所述控制器被配置为由所述第三执行单元(230)或者由所述至少一个CPU(207、208)所控制。
10.一种用于在通过至少一个数据网络(202至205)与远程单元进行通信并且具有至少一个专用CPU(207、208)的系统中进行消息处理的方法,该方法包括如下步骤:
接收要被处理的消息并且利用所接收的消息确定要被执行的处理的种类;
把消息特定信息存储到第一组寄存器(238)中,其中所述消息特定消息指定该所接收消息的内容和所接收消息的所述确定的处理;
监控第一组寄存器(238),以在一个处理执行单元(240、242、244)可用于处理时开始处理一个消息;
执行所述确定的处理,从而顺序地、使用并行处理或者两者相结合地执行该处理;
监控所述第一组寄存器(238),以在消息处理完成时开始显示消息处理的结果;以及
显示要被转发到一个目的地单元的消息处理的结果。
11.根据权利要求10所述的方法,其中进一步包括存储要被用于确定对所接收消息执行的处理的控制信息的初始步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00127047.9 | 2000-12-09 | ||
EP00127047 | 2000-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1478346A CN1478346A (zh) | 2004-02-25 |
CN1235380C true CN1235380C (zh) | 2006-01-04 |
Family
ID=8170621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018195997A Expired - Fee Related CN1235380C (zh) | 2000-12-09 | 2001-10-27 | 相互通信的预处理器 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7140026B2 (zh) |
EP (1) | EP1346549B1 (zh) |
JP (1) | JP3864252B2 (zh) |
KR (1) | KR100570143B1 (zh) |
CN (1) | CN1235380C (zh) |
AT (1) | ATE289731T1 (zh) |
AU (1) | AU2002223656A1 (zh) |
DE (1) | DE60109060T2 (zh) |
WO (1) | WO2002047355A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030222982A1 (en) * | 2002-03-28 | 2003-12-04 | Hamdan Majil M. | Integrated video/data information system and method for application to commercial vehicles to enhance driver awareness |
WO2004059505A1 (en) | 2002-12-17 | 2004-07-15 | Systemauto | System, method and computer program product for sharing information in a distributed framework |
US20070035625A9 (en) * | 2002-12-20 | 2007-02-15 | Hamdan Majed M | Vehicle video processing system |
KR100938004B1 (ko) | 2003-10-02 | 2010-01-21 | 삼성전자주식회사 | 통합 유닛 |
US20050093975A1 (en) * | 2003-10-30 | 2005-05-05 | Hamdan Majed M. | Adaptation of vision systems for commerical vehicles |
RU2487483C2 (ru) * | 2008-03-10 | 2013-07-10 | Роберт Бош Гмбх | Способ и фильтрующее устройство для фильтрации сообщений, поступающих абоненту коммуникационной сети по последовательной шине данных этой сети |
US8175172B2 (en) * | 2008-09-01 | 2012-05-08 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | High speed digital galvanic isolator with integrated low-voltage differential signal interface |
US9036026B2 (en) | 2009-06-12 | 2015-05-19 | Magna Electronics | Scalable integrated electronic control unit for vehicle |
US9365162B2 (en) | 2012-08-20 | 2016-06-14 | Magna Electronics Inc. | Method of obtaining data relating to a driver assistance system of a vehicle |
DE102012222919A1 (de) * | 2012-12-12 | 2014-06-12 | Robert Bosch Gmbh | Verfahren zur Datenkommunikation auf einem Datenkommunikationsbus |
US9843518B2 (en) | 2014-03-14 | 2017-12-12 | International Business Machines Corporation | Remotely controlled message queue |
US9542243B2 (en) | 2014-03-14 | 2017-01-10 | International Business Machines Corporation | Coalescing stages in a multiple stage completion sequence |
US10406981B2 (en) | 2014-03-20 | 2019-09-10 | Magna Electronics Inc. | Vehicle vision system with curvature estimation |
US9380070B1 (en) * | 2015-01-20 | 2016-06-28 | Cisco Technology, Inc. | Intrusion detection mechanism |
CN111934994B (zh) * | 2015-08-31 | 2022-06-07 | 松下电器(美国)知识产权公司 | 网关装置、车载网络系统以及通信方法 |
JP6603617B2 (ja) | 2015-08-31 | 2019-11-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | ゲートウェイ装置、車載ネットワークシステム及び通信方法 |
US10708227B2 (en) | 2016-07-19 | 2020-07-07 | Magna Electronics Inc. | Scalable secure gateway for vehicle |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10652256B2 (en) * | 2017-06-20 | 2020-05-12 | International Business Machines Corporation | Real-time active threat validation mechanism for vehicle computer systems |
CN109561156B (zh) * | 2018-12-23 | 2021-07-06 | 广东行远信息技术有限公司 | 一种基于内容分发和屏幕显示控制的web端系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4625308A (en) * | 1982-11-30 | 1986-11-25 | American Satellite Company | All digital IDMA dynamic channel allocated satellite communications system and method |
US5153909A (en) * | 1989-05-25 | 1992-10-06 | At&T Bell Laboratories | Resource control and data handling for central office based automatic call distributors |
EP0490980B1 (en) * | 1989-09-08 | 1999-05-06 | Auspex Systems, Inc. | Multiple facility operating system architecture |
AU665521B2 (en) * | 1990-10-03 | 1996-01-11 | Thinking Machines Corporation | Parallel computer system |
US5832397A (en) * | 1993-01-21 | 1998-11-03 | Hitachi, Ltd. | Integrated wiring systems for a vehicle control system |
US5734903A (en) * | 1994-05-13 | 1998-03-31 | Apple Computer, Inc. | System and method for object oriented message filtering |
US5710924A (en) * | 1995-04-24 | 1998-01-20 | Motorola, Inc. | Method of routing messages within a multi-processing software system |
JPH11122244A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | 大規模ネットワークの管理装置 |
US6948186B1 (en) * | 1999-10-07 | 2005-09-20 | General Instrument Corporation | Multi-tasking message extractor |
-
2001
- 2001-10-27 JP JP2002548954A patent/JP3864252B2/ja not_active Expired - Fee Related
- 2001-10-27 EP EP01999208A patent/EP1346549B1/en not_active Expired - Lifetime
- 2001-10-27 KR KR1020037007559A patent/KR100570143B1/ko not_active IP Right Cessation
- 2001-10-27 AU AU2002223656A patent/AU2002223656A1/en not_active Abandoned
- 2001-10-27 AT AT01999208T patent/ATE289731T1/de not_active IP Right Cessation
- 2001-10-27 WO PCT/EP2001/012470 patent/WO2002047355A1/en active IP Right Grant
- 2001-10-27 CN CNB018195997A patent/CN1235380C/zh not_active Expired - Fee Related
- 2001-10-27 DE DE60109060T patent/DE60109060T2/de not_active Expired - Lifetime
- 2001-12-04 US US10/004,471 patent/US7140026B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
ATE289731T1 (de) | 2005-03-15 |
DE60109060T2 (de) | 2006-04-13 |
WO2002047355A1 (en) | 2002-06-13 |
US7140026B2 (en) | 2006-11-21 |
JP2004515971A (ja) | 2004-05-27 |
CN1478346A (zh) | 2004-02-25 |
EP1346549A1 (en) | 2003-09-24 |
KR100570143B1 (ko) | 2006-04-12 |
DE60109060D1 (de) | 2005-03-31 |
KR20030057574A (ko) | 2003-07-04 |
US20020073243A1 (en) | 2002-06-13 |
AU2002223656A1 (en) | 2002-06-18 |
EP1346549B1 (en) | 2005-02-23 |
JP3864252B2 (ja) | 2006-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1235380C (zh) | 相互通信的预处理器 | |
CN1143514C (zh) | 采用负载预测的系统优化装置 | |
US7412588B2 (en) | Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus | |
US20200107057A1 (en) | Video coding method, system and server | |
WO2015074393A1 (zh) | 一种基于异构多核体系的cpu调度方法、装置和系统 | |
CN1751297A (zh) | 用直接存储器存取在两台或更多机器之间执行数据库操作 | |
CN111209240B (zh) | 数据传输的方法、电子设备及存储介质 | |
CN1111993C (zh) | 对通信系统中消息过载进行管理的方法 | |
CN1539105A (zh) | 用于死锁检测的牺牲选择 | |
CN1826768A (zh) | 利用动态资源分配进行的大规模排队的可扩展方法 | |
CN1960364A (zh) | 用于管理响应等待时间的设备、系统和方法 | |
CN102693434B (zh) | 射频识别设备接口层的通信装置及方法 | |
CN1251716A (zh) | 数字通信系统、发送装置和数据选择装置 | |
CN1545281A (zh) | 一种分布式处理网关中h.248消息的处理方法及系统 | |
CN115297332B (zh) | 一种云端流媒体硬解码方法和装置 | |
CN113452703B (zh) | 组合通信请求响应方法、装置、电子设备及可读存储介质 | |
CN103905921A (zh) | 一种多媒体数据传输的方法及电子设备 | |
CN1170231C (zh) | 千兆位防火墙设备 | |
CN1889704A (zh) | 一种业务控制点负荷分担方法及装置 | |
CN1791089A (zh) | 提高编译码处理效率的方法 | |
CN1286308C (zh) | 一种h.248消息分级编解码的实现方法 | |
CN1110167C (zh) | 用于综合业务数字网的用户终端适配器 | |
CN100352188C (zh) | 网络通信中静荷误码校验值的处理方法及其装置 | |
CN117555692A (zh) | 多硬件设备并行的任务计算方法、装置及服务设备 | |
CN104104593A (zh) | 一种基于多节点网络报文传输的请求响应管理机制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060104 Termination date: 20181027 |
|
CF01 | Termination of patent right due to non-payment of annual fee |