JP3864252B2 - 相互通信プリプロセッサ - Google Patents
相互通信プリプロセッサ Download PDFInfo
- Publication number
- JP3864252B2 JP3864252B2 JP2002548954A JP2002548954A JP3864252B2 JP 3864252 B2 JP3864252 B2 JP 3864252B2 JP 2002548954 A JP2002548954 A JP 2002548954A JP 2002548954 A JP2002548954 A JP 2002548954A JP 3864252 B2 JP3864252 B2 JP 3864252B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- processing
- execution unit
- block
- intercommunication
- 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
- 238000000034 method Methods 0.000 claims abstract description 162
- 238000012545 processing Methods 0.000 claims abstract description 105
- 230000008569 process Effects 0.000 claims description 138
- 238000004891 communication Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004148 unit process Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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)
Description
【発明の属する技術分野】
本発明は、ネットワーク内およびネットワークを通しての通信を行うための方法および回路装置に関する。特に、本発明は、少なくとも1つのデータ・ネットワークを通して遠隔ユニットと、また少なくとも1つの専用CPU(中央処理装置)と通信するための方法および装置に関する。
【0002】
【従来の技術】
パソコンおよびワークステーション上の組み込みシステムから大型コンピュータ・システムに至るまですべての種々のサイズのコンピュータ・システムは、通常、1つまたはそれ以上のネットワークに接続している。コンピュータ・システムは、ネットワークを通してさらに計算を行うために、種々の大部分は遠隔地に位置するシステムから情報を収集する。このような情報は、情報を受信するコンピュータ・システムにより制御され監視される遠隔システムの動作状態を示すパラメータを含んでいる場合がある。
【0003】
このような装置の一例としては、現在の自動車に搭載されている電子制御装置(ECU)等がある。ECUは、例えば、いくつかの個々のCAN(コントローラ・エリア・ネットワーク)バスのような複数のリアルタイム・ネットワーク、またはMOST(Media Oriented System Transport)、すなわち、自動車で使用される光バス・システムまたはIEEE1394(ファイアワイヤ)のようなマルチメディア・ネットワークのような他の多目的ネットワークに接続することができる。
【0004】
動作中、ECUは、遠隔システムを制御するためにアプリケーション・プログラムを実行する。同時に、ECUは、実行中のアプリケーション・プログラムが必要とするパラメータを含んでいる送信中のデータから上記情報を選択および検索するために種々のバスおよびネットワークを監視しなければならない。通常、複数のバスは、ECUが内蔵している中央処理装置(CPU)に直接取り付けられている。バスを監視し、必要な情報を選択および検索すると、ECUの全性能に対して極めて重要な処理負荷が発生する。処理負荷は、特に、転送、ゲートウェイ、バス・ブリッジ、およびアプリケーション・プログラムを実行するためにECUが同時に実行しなければならないフィルタリング機能により発生する。
【0005】
通常、小型コンピュータおよび組み込みシステムの場合には、ルーティング、ゲートウェイ、バス・ブリッジ、およびフィルタリング機能により発生する処理負荷は小さなものでなければならないし、大部分のコンピュータの性能を、まず第一に、特定のCPUに割り当て済みのターゲット・アプリケーションのために残しておかなければならない。
【0006】
イーサネット(R)のようなローカル・エリア・ネットワーク(LAN)とは異なり、CANバス・システムのようなリアルタイム・バス・システムは、1つのデータ・パケット毎に比較的少量のデータを転送する。この機能は、バス・システムのリアルタイム機能、すなわち、システムの機能が、通常、ミリ秒またはマイクロ秒であるある小さな応答時間の上限内の刺激に確実に応答するために重要なものである。しかし、リアルタイム・バス・システムを使用することにより、所与の時間内に比較的大量のデータ・パケットを送信することができる。それ故、リアルタイム・バス・システムは、関連データ・パケットを選択し、検索しなければならないそれに接続しているCPUに対して非常に大きな割込み率を発生する。一例を挙げて説明すると、50MHzで稼動しているPowerPC403CPUを使用している処理システムに接続している4つの独立しているCANバス・システムは、平均して50%を優に超えるCPU負荷を生じる割込み率を発生する場合がある。このような事態は、CANバス・システムによりトリガされた割込みの場合にだけ発生するものである。
【0007】
現在の技術レベルの装置の場合には、RISC(縮小命令セット・コンピュータ)またはCISC(コンプレックス命令セット・コンピュータ)アーキテクチャをベースとして実行された1台または数台(並列)のプロセッサのような標準計算機システムが、相互通信アプリケーションおよびタスクを実行するために使用されている。
【0008】
十分な処理性能を持つ、相互通信アプリケーションおよびタスクのために使用することができる現在の技術レベルの計算機システムは、複数のバス・アダプタが計算機システムを通して接続している場合には重大な問題になってきている。例えば、4つの1Mbps(メガビット/秒)バス・アダプタが発生する最悪の割込み率を計算すると、毎秒の割込み率が、現在の標準プロセッサが供給することができる計算能力を遥かに超える場合がでてくる。
【0009】
比較的大量のデータ・パケットを処理しなければならないので、相互通信アプリケーションの分野での処理システムに対する性能に対する要求は大きな影響を受ける。実際に使用した場合には、上記のような状況であると、計算機システム上で実行する他のアプリケーションによる要件と比較した場合、処理能力に対する要求が増大することになる。
【0010】
計算能力の欠点を克服するために、システム・クロック周波数を2倍にすることができる。その結果、消費電力は、通常同様に2倍になり、例えば、システムの冷却に関する種々の問題が発生する。もう1つの解決方法としては、システムにもっと多くのプロセッサを接続するという方法がある。バス関連タスクを要求するすべての機能は、システムの追加のプロセッサにより実行することができる。しかし、そうすると、製造コストが増大することになる。何故なら、追加のプロセッサを設置しなければならないからである。
【0011】
リアルタイム・バス・コントローラが使用するもう1つの方法は、いわゆる、「フィルタ・レジスタ」である。フィルタ・レジスタは、割込み率を低減し、時間の掛かるメッセージ・アドレス比較動作を低減することによりCPUの負担を幾分「軽減」することができるハードウェア・コンパレータと相互に協力する。フィルタリング対象のメッセージIDは、例えば、16識別子のような特定のレジスタに記憶され、バス上でアプローチするメッセージと比較される。一致する識別子を持つメッセージだけがCPUに転送される。
【0012】
米国特許第5,832,397号が、複数の車両システムの動作状態を監視し制御するための、車両制御システムで使用する総合通信装置を開示している。各車両システムは、その動作を制御するための局所制御装置を備え、該局所制御装置は、データ通信線によりアクセスすることができる。総合通信装置は、少なくとも1つのメモリ・ユニットと、局所制御装置が送信した少なくとも1つのメモリ・ユニットの中の1つに記憶している制御プログラムにより、複数の車両システムの動作状態を示す信号を受信し、処理し、また、データ通信線により複数の車両システムに送信するための制御信号を発生するタスクのための中央処理装置と、少なくとも1つのメモリ・ユニットの中の1つに記憶している上記制御プログラムの中の少なくとも1つのプログラムに従って、データ通信線により中央処理装置と局所制御装置との間の通信を制御するためのプログラマブル・サブプロセッサとを備える。
1986年11月25日付の米国特許第4,625,308号(KIM KAP S他)は、ブロック入力処理を開示している。ブロック入力タスクは、フロントエンド・サブシステム13022が送信したブロックを受信する。このタスクの主な機能は、巡回冗長検査(CRC)を確認し、CRC検査の結果に基づいてブロックの肯定応答(または否定応答)を行い、ブロック・シーケンス番号を確認し、ブロックから完全なメッセージを組み立てることである。メッセージ・ディスパッチャ・タスクは、ブロック入力タスクからメッセージを受信し、メッセージのタイプをチェックすることにより、意図するメッセージの宛先が制御サブシステム自身なのか、または下位のサブシステムかどうかを決定する(ハッキリしない場合には、宛先サブシステムを決定するために、さらに、メッセージ宛先フィールドが確認される)。メッセージ・ディスパッチャ・タスクが、意図するメッセージの宛先が下位のサブシステムであると判断した場合には、宛先フィールドを復号し、適当な直列サブシステムに対してメッセージの送信を開始する直列サブシステム制御サブシステム・インタフェース・タスクがスタートする。タスクが、宛先が制御サブシステム自身であると判断した場合には、メッセージ・データを評価し、適当な行動をとるメッセージ処理タスクがスタートする。
1992年10月6日付の米国特許第5,153,909号(BECKLE LEANN M他)は、交換機からサービスを受けている複数のACDシステムに対してリソース制御およびコール・イベント・データ処理サービスを行うための中央局(CO)をベースとする自動電話着信分配(ACD)システム装置を開示している。この装置は、制御プロセッサ複合システム(CPC)と、ACDエンドユーザ・コール・イベント・データ・パーティショニングおよびACDエンドユーザ・リソース割当てメッセージ・スクリーニングを行う特殊イベントおよび制御リンク(ECL)プロセッサと、ACDへの呼出しに関連する統計を入手するためにデータ処理を行う1つまたはそれ以上の経営情報システム(MIS)プロセッサとを有する交換機を備える。ECLは、CPCからMISプロセッサへのコール・イベント・データ・メッセージを受信し、分割し、送信する。ECLは、また、メッセージが所定のフォーマットと一致するかどうかをチェックし、要求を行っているエンドユーザが、要求されたリソース割当て変更をすることができることを確認することにより、ACDリソースの割当てを制御するためにACDエンドユーザが送信したリソース割当て要求メッセージをスクリーニングする。最後に、ECLは、複数のMISプロセッサに対してインタフェースとして機能する。これらのMISプロセッサは、中央局、強化されたサービス・プロバイダの構内、またはエンドユーザの構内に設置することができる。都合のよいことに、エンドユーザ・コール・イベント・データ・パーティショニングおよびリソース割当てメッセージ・スクリーニングは、CPCプログラムをこれ以上複雑にしないでもECLにより実行され、ACDエンドユーザは、自分自身のMISプロセッサの使用、強化されたサービス・プロバイダが提供するMISプロセッサの共有、または交換機に設置されているMISプロセッサの共有という選択肢の中から選択することができる。
【0013】
【発明が解決しようとする課題】
以下に本発明について説明するが、本発明の目的は、少なくとも1つのネットワークと少なくとも1つのCPUとの間のデータ処理を改善する方法および装置を提供することである。
【0014】
【課題を解決するための手段】
上記目的は、独立請求項に記載の方法およびシステムにより達成される。本発明の有利な実施形態については、従属請求項に記載され、以下の説明に開示される。
【0015】
本発明の方法は、少なくとも1つのデータ・ネットワークを通して遠隔ユニットと、また少なくとも1つの専用CPUと通信するためのシステムのメッセージ処理に焦点を当てている。最初に、処理対象のメッセージが受信され、受信メッセージに対して実行する処理の種類の決定が行われる。次に、受信メッセージの内容および受信メッセージに対して決定した処理を指定するメッセージ特定情報が第1の組のレジスタに記憶される。これ以降、プロセス実行ユニットが処理のために使用できるようになった場合に、メッセージの処理をスタートするために第1の組のレジスタが監視される。次に、決定した処理が行われる。一方、メッセージの処理が終了すると、メッセージの処理結果の提示をスタートするために第1の組のレジスタが監視される。最後に、メッセージの処理結果が提示され、宛先ユニットに転送される。
【0016】
少なくとも1つのデータ・ネットワークを通して遠隔ユニットと、また少なくとも1つの専用CPUと通信するための本発明のメッセージ処理装置は、処理対象のメッセージを受信し、受信メッセージに対して実行する処理の種類を決定するための第1の実行ユニットと、決定した処理を行うための第2の実行ユニットと、宛先ユニットに転送するメッセージの処理結果を提示するための第3の実行ユニットとを含む。
【0017】
他の実施形態の場合には、第2の実行ユニットは、さらに、下記の機能のうちの1つまたは全部を備える。すなわち、データの内容および受信メッセージに対して決定した処理を指定するメッセージ特定情報を記憶するための第1の組のレジスタと、決定した処理を実行するための第1の組のレジスタにアクセスする少なくとも1つのプロセス実行ユニットと、および/またはプロセス実行ユニットが必要とする情報を記憶するために、上記少なくとも1つのプロセス実行ユニットに接続している第2の組のレジスタのうちの1つまたは全部を備える。本発明の装置は、プロセス実行ユニットが処理のために使用できるようになった場合に、メッセージの処理をスタートするために、第1の組のレジスタを監視し、および/またはメッセージの処理が終了した場合に、メッセージの処理結果の提示をスタートするために第1の組のレジスタを監視するように構成することができる。
【0018】
好適には、本発明の装置は、ネットワーク内およびネットワークを通して通信するための相互通信処理システムに内蔵させることが好ましい。該システムは、さらに、少なくとも1つのデータ・ネットワークおよび少なくとも1つの専用CPUへの通信接続を提供するための交換機デバイスを備える。それにより、交換機は、一方では、第1および第3の実行ユニットに接続していて、他方では、いくつかのバス・アダプタおよびCPUに接続することができるマルチプレクサ、および/または一方では、第1の実行ユニットに接続していて、他方では、いくつかのバス・アダプタおよびCPUに接続することができる割込みバスを備える。
【0019】
本発明の方法および装置の1つの利点は、複数のネットワークと通信する処理ユニットを、ネットワークを通して送信するデータ・パケットの量による高い割込み率から解放することである。
【0020】
本発明の上記および他の目的、機能および利点は、以下の詳細な説明を読めば理解することができるだろう。
【0021】
本発明の新規な機能が、添付の特許請求の範囲に記載される。しかし、本発明自身およびその好適な使用形態、他の目的および利点は、添付の図面を参照しながら、例示としての実施形態の以下の詳細な説明を読めば最もよく理解することができるだろう。
【0022】
【発明の実施の形態】
図1は、本発明の相互通信プリプロセッサ100のハイレベル・ブロック図である。相互通信プリプロセッサ100(IPP)は、3つの異なる種類のプロセスを実行する。上記3つの各プロセスは別々の実行ユニット上で実行される。
【0023】
第1のタイプのプロセスは、「初期化プロセス」と呼ばれる。このプロセスは、図1のブロック102に示すように、また以下にさらに詳細に説明するように、入力メッセージを分析し、相互通信プリプロセッサ100専用のコンフィギュレーション・データ、および入力データのコード化された情報に基づいてその他の処理を決定する。初期化プロセス(IP)は、IP実行ユニット104により行われる。
【0024】
初期化プロセス後、メッセージは、「動的プロセス」と呼ばれる第2のプロセスにより処理される。動的プロセス(DP)は、初期化プロセスによりすでに決定済みのタスクを実行する。スタガー・ボックス106、107および108が示すように、動的プロセスを実行するために、3つのDP実行ユニットが設置されている。実行するタスクにより、上記タスクの実行は、順次または同時に行われる。同時に実行することができるサブタスクに分割することができる1つの入力メッセージに対して行われるすべてのタスクには、それに応じてマークが付けられる。その後で、動的プロセス中に、並列に処理を行うために2つ以上の実行ユニットを使用することができる。それ故、本発明の相互通信プリプロセッサ100のトポロジーは、並列計算または順次計算に限定されないで、実行対象の実際のタスクによりいずれの方法でも計算を行うことができる。
【0025】
すなわち、周知の現在の技術レベルのプロセッサ・トポロジーへの特殊化の際に、相互通信プリプロセッサのアーキテクチャは固定プロセッサ・アーキテクチャで動作するが、その動作は識別することはできない。それどころか、相互通信プリプロセッサ・アーキテクチャは、実行対象の各ジョブによりトリガされる。それ故、論理相互通信プリプロセッサ・システム・アーキテクチャは、実際の要件に合わせて、そのプロセッサ・トポロジーを動的に連続的に調整する。
【0026】
第3のタイプのプロセスは、「提示プロセス」と呼ばれる。提示プロセス(PP)は、複数のDP実行ユニット上で実行される動的プロセスを監視する専用PP実行ユニット110上で実行される。動的プロセス中に実行されたタスクが終了した後で、PP実行ユニットは、入力メッセージ102の計算結果としてメッセージ112を出力する。
【0027】
図2について説明すると、この図は、本発明の相互通信プリプロセッサ200のハイレベル・ブロック図である。図の相互通信プリプロセッサ200は、4つの独立しているCANバス202−205、およびさらに第1および第2の独立しているCPU207および208を接続するように設計されている交換機201に接続している。第1および第2のCPU207および208は、それぞれ、第1および第2の追加のバス・システム210および211への接続を提供する。追加の第1および第2のバス・システム210および211は、相互に異なるものであってもよく、また、例えば、ファイアワイヤ・システム、すなわち、IEEE1394が指定する高性能シリアルバス、または、例えば、MOST(Media Oriented System Transport)のような任意の他の種類のマルチメディア・バスにより形成することができる。
【0028】
最大4つのCANバスおよび1つまたは2つのCPUが一緒に接続している状態は、現在の自動車で使用している通常のネットワーク要件を表す。しかし、本発明の相互通信プリプロセッサは、この特定のバス・システムにも、バスの特定の数にも、それに接続しているCPUの数にも限定されない。
【0029】
4つの各CANバス202−205は、各バス・アダプタ214−217に接続している。バス・アダプタ214−217は、CAN−CまたはCAN−B物理層を通して各CANバス202−205への接続を提供している標準化CANコントローラにより形成することができる。一方、各バス・アダプタ214−217は、割込み要求バス220に接続している。一方、各バス・アダプタ214−217は、マルチプレクサ222に接続している。しかし、マルチプレクサ222への接続は、バス・アダプタ214−217をマルチプレクサ222に接続するためのワイヤ、PCB(プリント基板)トラックまたは集積回路内の接続のような複数の組の導体を供給するバスにより形成することができる。
【0030】
4つのバス・アダプタ214−217に対応して、CPU207および208も割込みバス220およびマルチプレクサ222に接続している。マルチプレクサ222は、さらに、IP(初期化プロセス)実行ユニット226、およびPP(提示プロセス)実行ユニット230内に位置する送信ユニット228の制御エンジン224への接続を示す。コントローラ232は、第1のCPU207、第2のCPU208および送信ユニット228がそれぞれ受信し、専用制御信号線を通して送信した制御信号によりマルチプレクサ222を制御する。該装置により、マルチプレクサは、バス・アダプタ214−217およびCPU207および208から制御エンジン224または送信ユニット228への接続を提供することができる。
【0031】
IP実行ユニット226は、さらに、IPPプリセット・インタフェース234およびIPP記憶装置サブシステム236を備える。IPPプリセット・インタフェース234は、第1のCPU207により初期化することができ、制御エンジン224と制御情報を交換することができ、一方、IPP記憶装置サブシステム236は、バス・アダプタ214−217のうちの1つ、またはCPU207および208のうちの一方から受信したメッセージを計算するために必要な制御情報を記憶するためのものである。
【0032】
マルチプレクサ222に接続している他に、制御エンジン224は、割込みバス220にも接続していて、さらに、DP(動的プロセス)実行ユニット239内に位置する実行タグレジストリ238への接続を有し、受信メッセージの計算のために必要なデータを記憶する。実行タグレジストリ238自身は、データを記憶し、実行ユニット240−244の間でデータを交換するためのレジスタ・プール246にアクセスすることができる第1、第2および第3の実行ユニット240−244に接続している。もちろん、実行ユニットの数は3つに制限されないし、本発明の相互通信プリプロセッサ内には任意の数の実行ユニットを設置することができる。
【0033】
実行タグレジストリ238から、専用データ・リンクを通して情報を送信ユニット228に転送することができる。ここから、情報をマルチプレクサ222に供給することもできるし、直接第1または第2のCPU207および208に提供することもできる。
【0034】
すなわち、PP実行ユニット230は、実行タグレジストリ238を連続的に監視し、解釈する。特定のデータ・フィールドが、「全プロセス終了」を意味する通知に復号されるや否や、PP実行ユニットはトリガされ、全プロセス機能を終了するために、特殊な「提示処理」手順がスタートする。
【0035】
提示プロセス手順は、全システム仕様により定義される。しかし、通常のジョブは、宛先メッセージ・アドレスの入手または発生、メッセージの処理結果であるデータからの新しいメッセージの入手および組立て、指定のターゲット・システムへの新しいメッセージの発行および/またはレジスタ・ファイルまたはFIFO(先入れ先出しキュー)へのメッセージの送信、または個々の出口メッセージ待ち行列の優先分類のような機能である。
【0036】
複雑な提示処理機能は、非常に効果的なシステムを構築するためのプロセス駆動トポロジーにより構成することができる。
【0037】
実行タグレジストリは、終了するまで相互通信プリプロセッサ・プロセスと同時に動作する。この時間中、実行タグレジストリは、フィードバックにより連続的に更新される。「ペンディング」状態の動的プロセスの数は、全相互通信プリプロセッサ・プロセス中に増大したり、減少したりする。この時点で、実行タグレジストリ内のすべての実行フラグはクリアされ、全IPPプロセスを終了させるために提示プロセスが代わって動作する。ポスト実行ユニットが、実行タグレジストリおよび最後に終了したDP実行ユニットが発生したデータ内に含まれている結果を代わって処理する。
【0038】
次に、ポスト実行ユニットは、新しいメッセージを作成するためにこの情報を使用する。実行タグレジストリおよび最後のDP実行ユニットがアンロードされ、解放される。
【0039】
PP実行ユニット230は、メッセージを終了し、「結果として得られる」メッセージを出力パイプラインに供給する。無効メッセージは、相互通信プリプロセッサ・コンフィギュレーション・レジスタの仕様により、ソフトウェア制御の時点で捨てられるか、拒否される。特定の相互通信プリプロセッサ・システム要件により、PP実行ユニットは、出力パイプライン内に記憶しているメッセージに対して「優先分類」を行うことができる。直後に、各バス・アダプタに対する要求またはCPUに対する割込みへの要求が発行される。各バス・アダプタがスタートし、仲裁を実行し、送信メッセージの受信に成功した場合、対応する出力パイプラインをクリアし、またはCPUの場合には、割込みサービス・ルーチンが、メッセージを終了する。
【0040】
パイプ・オーバフロー処理は、相互通信プリプロセッサ・システム・コンフィギュレーション・レジスタ内で定義される。パイプ・オーバフローの場合には、相互通信プリプロセッサが、初期化実行ユニットを停止し、CPUにオーバフロー状態を通知する割込みをCPUに発行することができる。
【0041】
コントローラ232、マルチプレクサ222および割込みバス220が、交換機201を形成している。交換機201は、実際の相互通信プリプロセッサに対する有利なシステム特性を改善することができる機能的拡張である。交換機201のハードウェア機能は、図2に示すように、相互通信プリプロセッサ、CPU207および208、数個のバス・アダプタ214−217の間に挿入される。
【0042】
交換機201は、CPU207および208の一方、または相互通信プリプロセッサ200により制御される多重化スキームである。そのため、CPU207および208は、相互通信プリプロセッサ200の機能を使用することができる。例えば、CPU207および208の一方が発生したメッセージは、同じように、いくつかのCANバス202−205に同報通信しなければならない。この場合、メッセージは、交換機201により相互通信プリプロセッサ200に多重化され、次に、相互通信プリプロセッサ200は、メッセージを処理し、すぐに配信をスタートする。この手順により、時間が有意に短縮される。何故なら、このタスクを動作するように特殊化された相互通信プリプロセッサ200は、CPU207および208の一方により形成されたマスタCPUと比較した場合、処理時間のほんの一部しか必要としないからである。さらに、マスタCPUは、1つのメッセージ動作だけを実行するだけでよく、転送する前にメッセージを計算しなければならない場合には、処理時間も短縮される。
【0043】
図3は、本発明の同時に行われるプロセスの実行を示す図面である。x軸302は時間の進行を示し、y軸304は、図2のところで説明したように、相互通信プリプロセッサ・リソース、すなわち、DP実行ユニットおよび実行タグレジストリ内の記憶空間のうちの一方の入手を示す。
【0044】
長方形のフレーム306が、実行タグレジストリETR(n)内の1つの記憶空間、および1つの特定の入力メッセージの処理に関連するすべてのDP実行ユニットを囲んでいる。文字「n」は、実行タグレジストリのランダム記憶空間を使用することができることを示す。同様に、DP実行ユニットの番号、「1」、「2」、「3」および「m」は、最大m個のDP実行ユニットが存在することを示し、「m」は、4以上の整数である。しかし、もちろん、並列DP実行ユニットの数は、本発明のベースになっているアイデアから逸脱することなしに実際に必要な性能により選択することができる。
【0045】
1つの入力メッセージを処理した後で、実行タグレジストリの同じ記憶空間を使用することにより他の入力メッセージを計算することができる。同時に、第2のスタガー長方形フレーム308により示すように、実行タグレジストリ内の異なる記憶空間によりいくつかの他のメッセージも処理することができる。しかし、通常、3つ以上のメッセージを同時に処理することができる。
【0046】
DP実行ユニットによる入力メッセージの処理は、矢印310で示すように、IP実行ユニット(図2参照)によりスタートする。IP実行ユニットは、実行タグレジストリの記憶空間を割り当て、入力メッセージに対する指定の処理を行うために、DP実行ユニットが必要とするすべての情報を記憶する。初期化後、IP実行ユニットは、入手することができる次の入力メッセージを直ちに処理する。同様に、IP実行ユニットは、実行タグレジストリの他の記憶空間を割り当て、次の入力メッセージに対する指定の処理を行うためにDP実行ユニットが必要とするすべての情報を記憶する。
【0047】
初期化プロセス(プロセス状態1)後、実行タグレジストリの特定の記憶空間は、メッセージの処理が終了するまで、割り当てられた状態のままである。図3の例の場合には、3つの異なるDP実行ユニットは、入力メッセージの処理を同時にスタートする(プロセス状態2)。このことは、実行タグレジストリの占有記憶空間内に各フラグを設定することにより行われる。そのため、使用できるDP実行ユニットは、自動的にタスクをピックアップし、処理をスタートすることができる。処理の準備ができているすべてのプロセスが、DP実行ユニットに提供される本発明のコンセプトにより相互通信プリプロセッサのリソースの柔軟な使用を確実に行うことができる。実行する特定のタスクおよび作業量により、相互通信プリプロセッサは、特定のタスクを順次、または並列に、または順次および並列の組合わせにより処理する。
【0048】
DP実行ユニットdp_EU(2)がその計算を終了した後、DP実行ユニットdp_EU(3)からの結果を待っているDP実行ユニットdp_EU(m)上で他のプロセスがスタートする。すべての関連DP実行ユニットが自分のジョブを実行した後でだけ、提示プロセス(プロセス状態3)は、計算結果を読み出し、それをバスに送信するか、またはそれをCPUに転送する(図2参照)。同時に、同じ記憶空間内の新しいエントリおよび新しい「負荷ETR」プロセスで示すように、実行タグレジストリの記憶空間が解放され、実行対象の他のメッセージに対して再使用できるようになる。
【0049】
図4について説明すると、この図は、本発明の相互通信プリプロセッサのメッセージ処理を示すフローチャートである。このプロセスは、ブロック412で示す割込みモニタに割込みバス410を通して割込み要求を送信することにより、バス・アダプタ402−405のうちの1つ、またはCPUアダプタ407および408のうちの一方によりスタートする。割込みモニタは、割込みを入手し、他の処理をスタートする。このことは、ブロック414で示すように、任意の割込み要求(IRQ)がすでに発行されているかどうかを判断することにより行われる。
【0050】
「いいえ」である場合には、プロセスはブロック412に戻り、「はい」である場合には、プロセスは、ブロック416に進み、ここで以下にさらに詳細に説明する初期化プロセスが行われる。初期化プロセスは、割込み要求の発行に成功した特定のユニットからメッセージ情報を収集する。
【0051】
以下にさらに詳細に説明するブロック418で示すDP(動的プロセス)実行プロセスは、初期化プロセスを監視する。DP実行プロセスが、新しく到着したメッセージ・データを計算することができる場合には、プロセスおよびメッセージ情報はブロック418に送られる。さらに、DP実行プロセス自身は、以下にさらに詳細に説明するPP(提示プロセス)実行プロセスにより監視される。DP実行プロセスが進行中のメッセージの計算を終了すると、監視PPは、上記計算の終了を検出し、それ自身さらに計算するためにメッセージを代わって処理する。プロセスはブロック420に進み、ここでPP実行プロセスが行われる。PP実行プロセス自身は、CPU407および408のうちの一方に割込み要求を送り、計算したメッセージ・データを、データ・バス422を通して各CPU407または408に書き込む。
【0052】
図5について説明すると、この図は、図4のメッセージ処理の初期化プロセス中のメッセージ処理を示すフローチャートである。ブロック500は、このプロセスのスタート点であり、図4のブロック416のプロセス、初期化プロセスはここからスタートする。ブロック500から、プロセスは直ちにブロック502に進み、ここで、初期化プロセス実行ユニット(図2参照)がメッセージ・データを受け入れる準備ができているかどうかの判断が行われる。「いいえ」の場合には、プロセスはブロック504が示す待機状態による所定の時間だけ遅れてブロック502に戻る。「はい」の場合には、プロセスはブロック506に進み、ここでメッセージが検索され、一時的に記憶される。
【0053】
判断ブロック502は、初期化プロセス実行ユニットが、ブロック508が示すIP実行ユニットに関連する状態フラグからメッセージ・データを受け入れるための準備ができているかどうかを示す情報を入手する。IP実行ユニットが、処理対象の新しいメッセージ・データを受信した後で、状態フラグが「使用中」に設定される。同時に、割込み要求の数をカウントする内部カウンタの値が増大し、ブロック510で示す遅延タイマがスタートする。遅延タイマは、遅延時間を超えると、タイムアウト・イベントを発行する。ブロック512は、割込み要求カウンタが所定の値になったかどうかを判断するブロックである。「はい」の場合には、判断ブロック512の「はい」と、ブロック518で計算した論理積の結果が「はい」であるかどうかの判断を示すブロック516の「はい」との間の論理和を示すイベントがブロック514に発行される。
【0054】
ブロック518は、ブロック510の遅延タイマからタイムアウト・イベントを受信し、実行タグレジストリ(図2参照)が使用できるかどうかを判断する判断ブロック520から「いいえ」を受信する。ブロック516の判断またはブロック512の判断が「はい」である場合には、プロセスは、ブロック522に進み、ここで、割込み要求がCPUの一方に発行され、メッセージ・データがCPUに転送される。この特定のルーチンは、IPPが使用できないかまたは使用中である状況を示すためのものであり、そのため、この時点では、各メッセージ要求を処理することはできない。この特定の場合には、メッセージは、CPUの一方に「未処理/そのまま」として転送される。
【0055】
前に戻ってブロック506について重点的に説明すると、プロセスはブロック524に進み、ここで、IPP記憶装置サブシステム(図2参照)がアクセスされ、実行タグレジストリが割り当てられる。プロセスがブロック514に進んだ場合に、タイムアウト・イベントがまだ発生していない時でも実行タグレジストリの割当てが行われる。
【0056】
ブロック520で、実行タグレジストリが使用できると判断した場合には、プロセスはブロック526に進み、ここで、実行タグレジストリがスタートし、また準備が行われる。同時に、ブロック508の状態フラグが「準備OK」に設定される。ブロック526から、プロセスは、ブロック528により示すように、図6のフローチャートのスタート・ブロック600に進む。
【0057】
図6について説明すると、この図は、図4のメッセージ処理の動的プロセス中のメッセージ処理を示すフローチャートである。ブロック600は、このプロセスのスタート点であり、図5のブロック528のプロセスはここからスタートする。ブロック600から、プロセスは直ちにブロック602に進み、そこで実行タグレジストリが監視される。この監視は、ラウンド・ロビン手順により行うこともできるし、または実行タグレジストリにある変化があった場合には何時でも自発的に割込み信号を発行する手順によっても行うことができる。
【0058】
次に、プロセスはブロック604に進み、ここで、処理対象の実行タグレジストリが存在するかどうかの判断が行われる。「いいえ」の場合には、プロセスは、ブロック606に示すように、実行タグレジストリを再び監視した後で、ブロック602に戻る。「はい」の場合には、プロセスはブロック608に進み、ここで、メッセージが検索され、一時的に記憶される。次に、プロセスはブロック610に進み、ここで実行タグレジストリタスクが割り当てられ、ブロック611に示すように、実行タグレジストリ・フラグが「進行中」に設定される。その後で、ブロック612において、実行タグレジストリタスクに従ってメッセージ・データが処理される。
【0059】
実行タグレジストリタスクは、特に下記のタスクのうちの1つまたはそれ以上である。すなわち、メッセージ・データの記憶、タイマの初期化、タイマの比較、イベントまたは発生の計数、イベントまたは発生の比較、ブール演算の実行、新しいメッセージの作成のうちの1つまたはそれ以上である。実行タグレジストリタスクの処理中、レジスタ・プール(図2参照)がアクセスされ、ブロック614およびレジスタ空間が割り当てられ、また各レジスタ空間に、レジスタ空間への必要なアクセス権により「専用」または「公用」のラベルが付けられる。
【0060】
ブロック616での判断により、処理が終了したかどうかのチェックが行われる。「いいえ」の場合には、プロセスはブロック612に戻る。「はい」の場合には、プロセスはブロック604に戻り、処理するものがない場合には、ブロック618に示すように、実行タグレジストリ・フラグが「処理済み」に設定される。現在のメッセージ・データの処理は終了しているが、プロセスがカウンタをスタートさせ、さらにメッセージを待機しなければならない場合には、実行タグレジストリ・フラグは、ブロック620に示すように、「ペンディング」に設定される。しかし、このブロックは、すべてのブロック611、618および620からブロック602に戻る。
【0061】
図7は、図6のメッセージ処理の実行ユニット・プロセスのメッセージ処理を示す非常に詳細なフローチャートである。ブロック700は入口点である。このブロックは、円内の「a」で示すように、図6のブロック612への変化に対応する。最初に、ブロック702に示すように、メッセージ処理手順が識別され、またリソース要件が決定される。次に、プロセスはブロック704に進み、ここで、処理対象のメッセージ・データにより処理対象物と識別されたプロセスに対応するペンディング・プロセス用のレジスタ・プールを走査することにより引き続き処理が行われる。次に、プロセスはブロック706に進み、ここで、レジスタ・プール内で、一致するプロセスIDが発見されたかどうかの判断が行われる。「はい」の場合には、プロセスは、ブロック708に分岐し、ここで、必要なレジスタの割当てが行われる。この時点で行われる通常の動作としては、例えば、論理演算または関数の結果として得られるデータの記憶等がある。各論理和関数は、新しいメッセージ・データを第1のパラメータとして使用し、現在のレジスタ・データを第2のパラメータとして使用する。必要な場合には、タイムスタンプが新しく生成された登録に適用される。さらに、メッセージの発生時間制限に達したかどうかを判断するために、上記時間が、予め定義した時間例と比較される。
【0062】
「いいえ」の場合には、ブロック710に進み、ここで、レジスタ・プール空間が割り当てられ、特定のレジスタ空間に「公用」というラベルが貼られる。次に、ブロック712において、最初に、タイムスタンプが記憶され、次に、メッセージ・データが記憶され、最後に、実行タグレジストリ・フラグが、ブロック714に示すように、「ペンディング」に設定される。
【0063】
ブロック708から、プロセスは、ブロック716に進み、ここで、タイムスタンプ値が、パラメータ「tr」より大きいかどうかの判断が行われ、それにより、パラメータ「tr」が、それぞれ評価および処理対象のメッセージ発生の時間に等しくなる。「いいえ」の場合には、プロセスは、ブロック714に分岐する。「はい」の場合には、プロセスはブロック718に進み、ここで、実行タグレジストリ・フラグが、「処理済み」に設定される。ブロック714および718から、プロセスは、円内の「b」で示すように、図6のブロック602に進む。
【0064】
図8について説明すると、この図は、図4のメッセージ処理の提示プロセスのメッセージ処理のフローチャートである。ブロック800は、このプロセスのスタート点であり、図4のブロック420のプロセスはここからスタートする。ブロック800から、プロセスは直ちにブロック802に進み、ここで実行タグレジストリが監視される。この監視は、ラウンド・ロビン手順により行うこともできるし、または実行タグレジストリ内にある変化があった場合には何時でも直接割込み信号を発行する手順によっても行うことができる。
【0065】
次に、プロセスはブロック804に進み、ここで、対応するプロセスが終了したかどうかを示す実行タグレジストリ・フラグが存在するかどうかの判断が行われる。「いいえ」の場合には、プロセスは、ブロック806に示すように、実行タグレジストリを再び監視した後でブロック802に戻る。「はい」の場合には、プロセスはブロック808および810に進む。ブロック808においては、計算したメッセージの受取人がCPUであるかどうかの判断が行われる。「いいえ」の場合には、プロセスはブロック808および810に戻る。「はい」の場合には、ブロック812に示すように、メッセージ・データとIDとを組合わせることによりCPUメッセージが作成される。次に、プロセスはブロック814に進み、ここでCPUに受信対象のメッセージを通知するために、CPUに割込みが送られる。次に、プロセスはブロック816に進み、ここで、すべての受取人によりメッセージが受信されたかどうかの判断が行われる。「いいえ」の場合には、ブロック818に示す待機状態による所定の時間だけ遅れてブロック816に戻る。「はい」の場合には、プロセスはブロック820に進み、そこでブロック802に戻る前に各実行タグレジストリがクリアされ、解放される。
【0066】
ブロック810に戻り、そこで、計算したメッセージの受取人が、バス・アダプタ(図2参照)のうちの1つであるかどうかの判断が行われる。「いいえ」の場合には、プロセスはブロック808および810に戻る。「はい」の場合には、ブロック812に示すように、メッセージ・データとIDとを組み合わせることによりバス・アダプタ・メッセージが作成される。次に、プロセスはブロック824に進み、ここで作成したメッセージを各バス・アダプタ・コントローラに関連する送信バッファに送信するステップが行われる。次に、プロセスはブロック816に進み、そこですでに説明した判断が行われる。
【0067】
図9は、図2のIPP記憶装置サブシステム236内に記憶している情報の構成の一例である。記憶装置サブシステムは、例えば、図9の例に示すように、それぞれが32ビットの記憶容量を持つ8192メモリ・アドレスのような従来のメモリ素子により構成することができる。記憶装置サブシステムの内容は、相互通信プリプロセッサに接続しているCPUのうちの一方により設定することができる。それ故、相互通信プリプロセッサを特定のアプリケーションのニーズに応じて構成することができる。しかし、テーブル900の情報は、2つ以上のテーブルまたはメモリ素子内に交互に記憶することができる。さらに、テーブルについての下記の説明は、例示としてのものであって、同じまたは対応する情報を同様な方法で記憶することができる。
【0068】
データ・ビット0〜7は、受信したデータ・メッセージを計算するために使用するパラメータへのポインタを記憶するために使用される。パラメータ自身は、図2のIPP記憶装置サブシステム236に内蔵させることができる専用メモリ素子に記憶される。他の方法としては、直接パラメータ値を含むデータ・フィールドが設けられている。次のデータ・ビット8〜10は、メッセージ・フィルタ演算コード(op−code)テーブル910に示すように、メッセージ・フィルタ演算コードをコード化するために使用される。
【0069】
メッセージ・フィルタ演算コード・テーブル910においては、値「0」および「1」はバイナリ値であり、文字「n」は各機能用の「0」または「1」で置き換えることができる。文字「x」は、いわゆる「don’t care」、すなわち、特定のディジットに「0」または「1」を代入することができ、そうしてもシステムに何らの論理的影響がないことを示す。データ・メッセージが選択したメモリ・セルが、「000」に設定される各ビット8〜10を示す場合には、タイムスタンプが、各メッセージの計算中に発生する。それが他のメッセージ・フィルタ演算コードのうちの1つである場合には、例えば、カウント・スタンプ、それ以上何も計算をしないメッセージの即時転送、またはパラメータの適用のような他の動作を実行することを意味する。
【0070】
同様に、以降の3つのビット11〜13が編成される。これらのビットは、データ演算コード・テーブル920のところで説明したように、データ演算コードを表す。データ演算コードのコード化によりデータ・メッセージの内容がコピーされるか、またはOR、ANDまたはXOR(排他的論理和)のようなブール演算がメッセージの内容に適用される。さらに、パラメータを上記メッセージに適用することができる。他の実施形態の場合には、異なる動作を実行することができることが分かっている。しかし、浮動小数点演算のようなもっと複雑な数学的演算の場合には、さらに計算を行うために、メッセージを瞬間的にCPUのうちの一方に転送することができる。相互通信プリプロセッサ内で比較できる簡単な演算だけを行う方法により、相互通信プリプロセッサのハードウェアの実行労力を容易に少なくすることができる。
【0071】
7つのデータ・ビット14〜20においては、アドレス・セルを選択するメッセージの宛先を、バス宛先フィールド・テーブル930に示すようにコード化することができる。各ビット14〜19は、各メッセージの宛先として、バス・アダプタのうちの1つ、またはCPU(図2参照)のうちの1つを表す。2つ以上のビットが設定されている場合には、メッセージは2つ以上の宛先に送信される。ビット20が「1」に設定されている場合だけメッセージは脱落する。
【0072】
残りの11ビット21〜31は、ID(識別)変換をコード化するために使用される。例えば、異なるネットワークに転送する前に入力メッセージのIDを変更しなければならない場合にこの変換が行われる。
【0073】
入力メッセージによる特定の処理が記憶されるアドレスは、入力メッセージのIDに対応する。それ故、入力メッセージのメッセージIDにより各アドレスが選択され、コード化された処理が読み出され、すでに説明したように、実行タグレジストリに記憶される。
【0074】
本発明の相互通信プリプロセッサのもう1つの利点は、特に、比較できる少ない量のハードウェア・ゲートがあれば十分であり、それによりシステム・コストが安くなることである。さらに、そのため、システムの電力消費が少なくなり、物理的なサイズが小さくなり、信頼性が向上する。都合のよいことに、相互通信プリプロセッサは、ブリッジ、ルータ、ゲートウェイ機能で、マスタCPUの作業量を最低限度まで低減することによりマスタCPUの負荷を軽減する。それ故、CPUは、システム・アプリケーションに対してより強力な計算パワーを有する。全システムの機能は、強力なメッセージ・フィルタリングにより向上する。
【0075】
本発明は、ハードウェア、ソフトウェアまたはハードウェアとソフトウェアの組合わせで実行することができる。任意のタイプのコンピュータ・システム、または本明細書に記載する方法を実行することができる他の装置も使用することができる。ハードウェアとソフトウェアの通常の組合わせとしては、ロードされ、実行された場合に、本明細書に記載する方法を実行するようにコンピュータ・システムを制御するコンピュータ・プログラムを含む汎用コンピュータ・システム等がある。また、本発明を、本明細書に記載する方法の実施を可能にするすべての機能を備え、コンピュータ・システムにロードされた場合に、これらの方法を実行することができるコンピュータ・プログラムに組み込むこともできる。
【0076】
この場合のコンピュータ・プログラム手段またはコンピュータ・プログラムは、特定の機能を実行する情報処理能力を有するシステムに直接または下記の処理、すなわち、a)他の言語、コードまたは記号への変換、b)異なる材料形態での再生のうちのどちらか、または両方の後で特定の機能を実行させるための一組の命令セットの任意の言語、コードまたは記号による任意の表現を意味する。
【図面の簡単な説明】
【図1】 本発明の相互通信プリプロセッサのハイレベル・ブロック図である。
【図2】 本発明の相互通信プリプロセッサのハイレベル・ブロック図である。
【図3】 本発明の同時に行われるプロセスの実行を示す図面である。
【図4】 本発明の相互通信プリプロセッサのメッセージ処理を示すフローチャートである。
【図5】 図4のメッセージ処理の初期化プロセスのメッセージ処理を示すフローチャートである。
【図6】 図4のメッセージ処理の動的プロセスのメッセージ処理を示すフローチャートである。
【図7】 図6のメッセージ処理の実行ユニット・プロセスのメッセージ処理を示すフローチャートである。
【図8】 図4のメッセージ処理の提示プロセスのメッセージ処理を示すフローチャートである。
【図9】 相互通信プリプロセッサ記憶装置サブシステムに記憶している情報の構成を示すテーブルである。
Claims (11)
- 少なくとも1つのデータ・ネットワーク(202−205)を通して遠隔ユニットと、また少なくとも1つの専用CPU(207,208)と通信するためのメッセージ処理デバイス(200)であって、
処理対象のメッセージを受信し、前記受信メッセージに対して実行する処理の種類を決定するための第1の実行ユニット(226)と、
前記決定した処理を行うための第2の実行ユニット(239)と、
ある宛先ユニットに転送するメッセージの処理の結果を提示するための第3の実行ユニット(230)とを備え、
前記第1の実行ユニット(226)が、受信メッセージに対して行う前記処理を決定するために使用している制御情報を記憶するためのメモリ素子(236)を備え、
前記第2の実行ユニット(239)が、データ内容および受信メッセージの前記決定した処理を指定するメッセージ特定情報を記憶するための第1の組のレジスタ(238)を備え、かつ、前記第2の実行ユニット(239)が、プロセス実行ユニット(240,242,244)を処理のために使用できる場合に、メッセージの処理をスタートするために前記第1の組のレジスタ(238)を監視するように構成されていて、
前記第3の実行ユニット(230)が、前記メッセージの処理が終了した場合に、前記メッセージ処理の結果の提示をスタートするために前記第1の組のレジスタ(238)を監視するように構成されているメッセージ処理デバイス。 - 前記第2の実行ユニット(239)が、前記決定した処理を行うために前記第1の組のレジスタ(238)にアクセスする少なくとも1つのプロセス実行ユニット(240,242,244)を備える、請求項1に記載のデバイス。
- 前記第2の実行ユニット(239)が、前記決定した処理を行うために前記第1の組のレジスタ(238)にアクセスする3つまたはそれ以上のプロセス実行ユニット(240,242,244)を備える、請求項2に記載のデバイス。
- 前記第2の実行ユニット(239)が、前記プロセス実行ユニット(240,242,244)が必要とする情報を記憶するための前記少なくとも1つのプロセス実行ユニット(240,242,244)に接続している第2の組のレジスタ(246)を備える、請求項2または3に記載のデバイス。
- 前記第1の実行ユニット(226)が、受信メッセージにより実行する処理を決定するために使用している前記制御情報で前記メモリ素子(236)を構成するためのインタフェースを備える、請求項1に記載のデバイス。
- ネットワーク内およびネットワークを通して通信するための相互通信処理システムであって、請求項1〜5のいずれか1項に記載のメッセージを処理するためのデバイスと、前記少なくとも1つのデータ・ネットワーク(202−205)および前記少なくとも1つの専用CPU(207,208)へ通信接続を供給するための交換機デバイスとを備える相互通信処理システム。
- 前記交換機デバイスが、一方では、前記第1および第3の実行ユニット(226,239)に接続していて、他方では、いくつかのバス・アダプタ(214−217)および前記少なくとも1つの専用CPU(207,208)に接続することができるマルチプレクサを備える、請求項6に記載の相互通信処理システム。
- 前記交換機デバイスが、一方では、前記第1の実行ユニット(226)に接続していて、他方では、いくつかのバス・アダプタ(214−217)および前記少なくとも1つの専用CPU(207,208)に接続することができる割込みバスをさらに備える、請求項7に記載の相互通信処理システム。
- 前記交換機デバイスが、前記マルチプレクサを制御するためのコントローラ(232)をさらに備えていて、それにより、前記コントローラが、前記第3の実行ユニット(230)または前記少なくとも1つの専用CPU(207,208)により制御されるように構成されている、請求項7または8に記載の相互通信処理システム。
- 少なくとも1つのデータ・ネットワーク(202−205)を通して遠隔ユニットと、また少なくとも1つの専用CPU(207,208)と通信するためのシステムでメッセージを処理するための方法であって、
処理対象のメッセージを受信し、該受信メッセージにより行う処理のタイプを決定するステップと、
前記受信メッセージの内容および受信メッセージの前記決定した処理を指定するメッセージ特定情報を第1の組のレジスタ(238)に記憶するステップと、
プロセス実行ユニット(240,242,244)が処理のために使用できる場合に、メッセージの処理をスタートするために前記第1の組のレジスタ(238)を監視するステップと、
前記決定した処理を実行し、それにより処理を順次処理、並列処理またはこれらの処理の組合わせにより行うステップと、
前記メッセージの処理が終了した場合に、メッセージの処理の結果の提示をスタートするために前記第1の組のレジスタ(238)を監視するステップと、
転送する前記メッセージの処理結果を宛先ユニットに提示するステップとを含む方法。 - 受信メッセージにより行う処理を決定するために使用している制御情報を記憶するための最初のステップをさらに含む、請求項10に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00127047 | 2000-12-09 | ||
PCT/EP2001/012470 WO2002047355A1 (en) | 2000-12-09 | 2001-10-27 | Intercommunication preprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004515971A JP2004515971A (ja) | 2004-05-27 |
JP3864252B2 true JP3864252B2 (ja) | 2006-12-27 |
Family
ID=8170621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002548954A Expired - Fee Related JP3864252B2 (ja) | 2000-12-09 | 2001-10-27 | 相互通信プリプロセッサ |
Country Status (9)
Country | Link |
---|---|
US (1) | US7140026B2 (ja) |
EP (1) | EP1346549B1 (ja) |
JP (1) | JP3864252B2 (ja) |
KR (1) | KR100570143B1 (ja) |
CN (1) | CN1235380C (ja) |
AT (1) | ATE289731T1 (ja) |
AU (1) | AU2002223656A1 (ja) |
DE (1) | DE60109060T2 (ja) |
WO (1) | WO2002047355A1 (ja) |
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 |
CN1235380C (zh) | 2006-01-04 |
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 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3864252B2 (ja) | 相互通信プリプロセッサ | |
JP4259751B2 (ja) | リアルタイムで動的に帯域幅を割り当てる完全パイプライン式固定待ち時間通信システム | |
US8811422B2 (en) | Single chip protocol converter | |
US5434976A (en) | Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers | |
JP4214682B2 (ja) | 計算機およびその入出力手段 | |
EP2618257B1 (en) | Scalable sockets | |
CN103810133A (zh) | 动态共享读缓冲器管理 | |
JP2007079789A (ja) | 計算機システム及びイベント処理方法 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
EP4361808A1 (en) | Resource scheduling method and device and computing node | |
Buddhikot et al. | Enhancements to 4.4 BSD UNIX for efficient networked multimedia in project MARS | |
CN107632890B (zh) | 一种数据流体系结构中动态节点分配方法和系统 | |
CN108924128A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN112214299A (zh) | 多核处理器及其任务调度方法和装置 | |
US6885673B1 (en) | Queue pair wait state management in a host channel adapter | |
CN116382861A (zh) | Numa架构的服务器网络进程自适应调度方法、系统及介质 | |
CN113076189B (zh) | 具有多数据通路的数据处理系统及用多数据通路构建虚拟电子设备 | |
CN116136790A (zh) | 任务处理方法和装置 | |
CN113076180A (zh) | 上行数据通路的构建方法及数据处理系统 | |
JP6491944B2 (ja) | パケット処理装置、及びプログラム | |
Heffernan et al. | Real-time design in a distributed control network application layer environment | |
CN115700483A (zh) | 超时时间信息配置方法及装置、存储介质、计算机设备 | |
JP2003167842A (ja) | Pciバスブリッジ回路および、トランザクション制御方法 | |
CN113535377A (zh) | 数据通路、其资源管理方法及其信息处理设备 | |
CN113535345A (zh) | 下行数据通路的构建方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20060112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060905 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060912 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |