JP5093986B2 - プロセッサ間通信方法及びプロセッサ間通信装置 - Google Patents

プロセッサ間通信方法及びプロセッサ間通信装置 Download PDF

Info

Publication number
JP5093986B2
JP5093986B2 JP2005011638A JP2005011638A JP5093986B2 JP 5093986 B2 JP5093986 B2 JP 5093986B2 JP 2005011638 A JP2005011638 A JP 2005011638A JP 2005011638 A JP2005011638 A JP 2005011638A JP 5093986 B2 JP5093986 B2 JP 5093986B2
Authority
JP
Japan
Prior art keywords
data
processor
transmission
reception
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
Application number
JP2005011638A
Other languages
English (en)
Other versions
JP2006201946A (ja
Inventor
泰基 中村
真一郎 多湖
敦 池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005011638A priority Critical patent/JP5093986B2/ja
Publication of JP2006201946A publication Critical patent/JP2006201946A/ja
Application granted granted Critical
Publication of JP5093986B2 publication Critical patent/JP5093986B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Description

本発明は、情報処理装置におけるデータ通信に関し、特に、プロセッサ間のデータ転送において、複数のプロセッサ間で共有される送受信データを一時的に格納する外部メモリへの負担を減らすと共に、データ通信速度を向上させるプロセッサ間通信方法及びプロセッサ間通信装置に関する。
近年、情報処理装置におけるデータ通信の高速化に伴い、シングルプロセッサにおける性能の向上が困難となりつつあるため、マルチプロセッサを採用するようになってきた。マルチプロセッサを採用すれば、プロセッサ間のデータ通信が必要となる。このデータ通信を高速に実現するための開発が成されてきた。
例えば、プロセッサ間に一時的に受信したメッセージを格納するためのバッファを備えた並列計算機システムにて、プロセッサ間通信を行う際に、他のプロセッサからのメッセージ受信要求の受け取りが実際のメッセージのヘッダ到着より早い場合に、実際のメッセージの到着時点でメッセージ受信要求に示されるユーザー使用領域のメモリアドレスへ直接メッセージを転送することによって、バッファらユーザー使用領域への転送によるオーバーヘッドを削減するメッセージ受信方式が提案されている(例えば、特許文献1)。
また、メッセージ通信のバッファのアドレス計算をハードウェアで行ない、バッファーオーバーラン制御やポートIDの管理も行うようにしたメッセージ送受信装置が提案されている(例えば、特許文献2)。
特開平6−324998号公報 特開平7−21102号公報
しかしながら、上記従来技術におけるプロセッサ間のデータ転送では、バッファを他プロセッサからアクセス可能な共有メモリとして備え、データの送信の際及びデータの受信の際のアクセスには、時間を要し、そのアクセス時間が通信時間に影響を与えていることについて改善した技術ではない。
上記従来技術におけるプロセッサ間のデータ転送では、データ送信時にはバッファの空き状態を確認する等の必要があり、また、データ受信時にはデータが受信しているか否かを確認する等の必要がある。従って、実際のデータの送受信のアクセスをバッファに対して実行する前に、該バッファへ予め確認のためのアクセスをする手間を要している。また、このような確認等のアクセスによって、実際にデータを送信及び受信するまでにレイテンシ(遅延時間)が生じて、データ転送の高速化を妨げている。
また、上記特許文献1では、データ受信時におけるバッファへの他プロセッサからの書き込み及び自プロセッサによる読み出しに関するこのバッファへの負担を軽減しているが、自プロセッサから他プロセッサへのデータを送信する際のバッファへの負担を軽減することができない。
そこで、本発明の課題は、プロセッサ間のデータ転送において、複数のプロセッサ間で共有される送受信データを一時的に格納する外部メモリへの負担を減らすと共に、データ通信速度を向上させるプロセッサ間通信装置を提供することである。
上記課題を解決するため、開示の技術は、複数のプロセッサ間でデータ転送を行うプロセッサ間通信装置におけるプロセッサ間通信方法であって、前記プロセッサ間通信装置は、前記複数のプロセッサに対応させて、各プロセッサからの送信データを一時的に格納する複数の送信バッファと、前記複数のプロセッサに対応させて、各プロセッサへの受信データを一時的に格納する複数の受信バッファと、前記データ転送を制御する通信コントローラとを有し、送信元プロセッサからの前記送信データを対応する前記送信バッファに書き込み、前記送信バッファから前記送信データを読み出して、前記送信データを対応する前記受信バッファに書き込み、前記受信バッファから前記送信データを読み出して送信先プロセッサとの間に設けられた受信データレジスタに書き込み、前記受信バッファが空である場合に、ダミー受信データと前記受信バッファが空であることにより前記受信データレジスタへの書き込みにエラーが発生したことを示す受信エラー情報とを、前記受信データレジスタと、前記送信プロセッサとの間に設けられた受信ステータスレジスタとに夫々書き込むことで、該受信データレジスタから該ダミー受信データを読み込んだ後、前記受信ステータスレジスタに格納される前記受信エラー情報に基づいて受信エラーの発生を判断するように構成される。
また、上記課題を解決するために、開示の技術は、複数のプロセッサ間での割込みを制御するプロセッサ間割込み制御装置であって、前記送信元プロセッサから前記送信データを受信する送信先プロセッサへの割込みを制御するプロセッサ間割込み制御手段と、前記複数のプロセッサによって読み取り可能であって、該複数のプロセッサの夫々に対応し、割込み要因毎にビットを対応させた複数の割込み要因格納レジスタと、前記複数のプロセッサの夫々に対応する、前記要因格納レジスタのビットへの設定に基づいて割込みを検出する複数の割込み検出手段とを有し、前記プロセッサ間割込み制御手段は、前記割込みに応じて、前記送信先プロセッサに対応する前記割込み要因格納レジスタの該割込みの割込み要因に対応するビットを設定し、各複数の割込み手段は、前記割込みを検出すると前記送信先プロセッサへ割込み信号を出力するように構成される。
上記課題を解決するための手段として、本発明は、上記プロセッサ間データ通信装置で実行される処理に関するプロセッサ間データ通信方法とすることもできる。
複数のプロセッサ間で共有される送受信データを一時的に格納する外部メモリへの負担を減らすと共に、帯域小のデータ通信を行うことによりデータ転送時のレイテンシを短くすることができ、データ通信速度を向上させることができる。
以下、本発明の実施の形態を図面に基づいて説明する。
本発明に係るプロセッサ間通信は、帯域が小さい程、レイテンシを小さくできることに着目し、帯域小のデータ転送を行うと共に、更なる改良によってレイテンシをより小さくし、データ転送の高速化を図るものである。
[第一実施例]
図1は、本発明の第一実施例に係る、情報処理装置におけるプロセッサ間通信に係る回路構成を示す図である。本発明に係るプロセッサ間通信に関する主な回路構成を示し、その他の回路構成について省略される。
図1において、情報処理装置1001は、並列処理を実行可能なコンピュータ装置であって、複数のプロセッサ100(プロセッサNo.0)、101(プロセッサNo.1)、及び102(プロセッサNo.2)と、外部メモリ11と、複数のプロセッサ間通信用特殊レジスタ200(以下、単に特殊レジスタ200とする)と、プロセッサ間通信装置300とを有する。ここで、説明の便宜のため、複数のプロセッサ100、101、及び103を示しているが、2つ以上のプロセッサを有するいずれの構成にも本願が適用されることは言うまでもない。
本発明に係る情報処理装置1001では、複数のプロセッサ100、101、及び103が、複数の特殊レジスタ200を介して、プロセッサ間通信装置300によって、帯域小のデータ(例えば、命令コード等)をプロセッサ間で送受信する(データ転送A側)。また、情報処理装置1001では、バス30を介して、複数のプロセッサ100、101、及び103と、外部メモリ11とが接続され、外部メモリ11を介してプロセッサ間通信によって帯域大のデータ(例えば、画像データ等)を送受信する(データ転送B側)。
プロセッサ間通信装置300は、プロセッサ間のデータ通信を制御する通信コントローラ250と、プロセッサ100からの送信データを一時的に格納するプロセッサNo.0用送信バッファ301と、プロセッサ100への受信データを一時的に格納するプロセッサNo.0用受信バッファ302と、プロセッサ101からの送信データを一時的に格納するプロセッサNo.1用送信バッファ311と、プロセッサ101への受信データを一時的に格納するプロセッサNo.1用受信バッファ312と、プロセッサ102からの送信データを一時的に格納するプロセッサNo.2用送信バッファ321と、プロセッサ102への受信データを一時的に格納するプロセッサNo.2用受信バッファ322とを有する。これら送信バッファ301、311、321、及び受信バッファ302、312、322は、FIFO(Fist-In First-Out)メモリで構成する。
複数の特殊レジスタ200として、プロセッサ100は、プロセッサ100が送信先のプロセッサ番号を設定するためのレジスタである送信先プロセッサ201と、プロセッサ100が送信データサイズを設定するためのレジスタである送信データサイズ202と、プロセッサ100が送信データを設定するためのレジスタである送信データ203と、通信コントローラが送信ステータス情報を設定するためのレジスタである送信ステータス204と、通信コントローラが送信元のプロセッサ番号を設定するためのレジスタである送信元プロセッサ205と、通信コントローラが受信データサイズを設定するためのレジスタである受信データサイズ206と、通信コントローラが受信データを設定するためのレジスタである受信データ207と、通信コントローラが受信ステータス情報を設定するためのレジスタである受信ステータス208とを有する。
同様に、プロセッサ101は、送信先プロセッサ211と、送信データサイズ212と、送信データ213と、送信ステータス214と、送信元プロセッサ215と、受信データサイズ216と、受信データ217と、受信ステータス218とを有し、プロセッサ102は、送信先プロセッサ221と、送信データサイズ222と、送信データ223と、送信ステータス224と、送信元プロセッサ225と、受信データサイズ226と、受信データ227と、受信ステータス228とを有する。
また、各プロセッサ100、101、及び102には、プロセッサ間データ転送をするためのメッセージ送信プログラム(図2のステップS101からS108)とメッセージ受信プログラム(図2のステップS121からS128)とを有し、このような本発明の第一実施例に係る回路構成においてデータ転送A側で、プロセッサ間通信装置300によってプロセッサ間のデータ転送を実行する。
データ転送A側でのプロセッサ間通信について図2を参照しつつ説明する。図2は、本発明の第一実施例に係るプロセッサ間通信のシーケンスフローを示す図である。図2において、説明の便宜のため、プロセッサ100をデータ送信側とし、プロセッサ101をデータ受信側として説明するが、どのプロセッサ100、101、及び102も送信側及び受信側として機能することができる。また、図2中、点線で示される矢印は、特殊レジスタ200の所定のレジスタに設定された情報が参照される先を示す。
図2において、プロセッサ100のメッセージ送信プログラムは、送信先プロセッサ番号を特殊レジスタ200の送信先プロセッサ201に書き込む(ステップS101)。この場合、例えば、プロセッサ101のプロセッサ番号「1」が特殊レジスタ200の送信先プロセッサ201に書き込まれる。
メッセージ送信プログラムは、送信データサイズ(送信すべきデータの総データサイズ)を特殊レジスタ200の送信データサイズ202に書き込んで(ステップS102)、送信データサイズをカウント(count)に設定する(ステップS103)。このカウントには、例えば、送信すべきデータブロック数を送信データサイズとして設定するようにする。「1」が設定されれば、送信すべきデータブロックは1データブロックであることを示す。「2」以上であれば、送信データが分割されることを示す。
メッセージ送信プログラムは、送信データを特殊レジスタ200の送信データ203に書き込む(ステップS104)。この場合、特殊レジスタ200の送信データ203のサイズに応じて、必要ならば送信データが分割される。
メッセージ送信プログラムは、特殊レジスタ200の送信ステータス204から通信コントローラ250によって書き込まれた送信ステータス情報を読み込み(ステップS105)、ステップS104で書き込んだ送信データに送信エラーが発生しているか否かを判断する(ステップS106)。メッセージ送信プログラムが送信エラーが発生していると判断した場合、メッセージ送信プログラムは、ステップS104に戻って、前回ステップS104で書き込んだ送信データと同一の送信データを再度特殊レジスタ200の送信データ203に書き込む。
一方、メッセージ送信プログラムが送信エラーが発生していないと判断した場合、メッセージ送信プログラムは、残り送信データサイズを示すカウント(count)から1を減算し(ステップS107)、残り送信データサイズのカウント(count)が「0」(ゼロ)であるか否かを判断する(ステップS108)。メッセージ送信プログラムがカウント(count)が「0」でないと判断すると、ステップS104へ戻り、上記同様の処理を実行する。そして、メッセージ送信プログラムがカウント(count)が「0」であると判断すると、メッセージ送信プログラムによる処理を終了する。
一方、プロセッサ間通信装置300では、通信コントローラ250が、特殊レジスタ200の送信先プロセッサ201から送信先プロセッサ番号を読み込んで、対象となる受信バッファを決定する(ステップS201)。この場合、通信コントローラ250が送信先プロセッサ番号として「1」を読み込むと、プロセッサNo.1用受信バッファ312が対象の受信バッファとして決定される。
また、通信コントローラ250は、特殊レジスタ200の送信データサイズ202から送信データの総データサイズ(例えば、データブロック総数)を読み込んで、特殊レジスタ200の送信元プロセッサ205から送信元プロセッサ番号(ここでは、「1」)を読み込んで、夫々、プロセッサ101(プロセッサNo.1)の特殊レジスタ200の受信データサイズ216と、送信元プロセッサ215とに書き込む(ステップS202)。
そして、通信コントローラ250は、プロセッサ100の特殊レジスタ200の送信データ20から送信データを送信データサイズ分順次読み込んで、プロセッサNo.0用送信バッファ301にその送信データを書き込んで蓄積する(ステップS203)。この場合、送信バッファ301がいっぱいならば、送信エラー情報を特殊レジスタ200の送信ステータス204出力して、プロセッサ間通信装置300での処理を終了する。送信エラー情報は、フラグであって、例えば、送信データを正常にプロセッサNo.0用送信バッファ301に書き込んだ場合、フラグがオフに設定され、エラーがある場合には、フラグがオンに設定される。
送信エラーが発生していない場合、通信コントローラ250は、プロセッサNo.0用送信バッファ301から先頭の送信データを順次取り出して対象となるプロセッサNo.1用受信バッファ312に書き込む(ステップS204)。
続けて、通信コントローラ250は、プロセッサNo.1用受信バッファ312の先頭の受信データを順次取り出して、特殊レジスタ200の受信データ217へ書き込む(ステップS205)。特殊レジスタ200の受信データ217へ書き込みを送信データサイズ分繰り返す。ここで、受信バッファ312が空の場合には、ダミーの受信データを特殊レジスタ200の受信データ217へ書き込み、受信エラー情報を受信ステータス218へ出力する。そして、プロセッサ間通信装置300での処理を終了する。受信エラー情報は、フラグであって、例えば、受信データを特殊レジスタ200の受信データ217へ正常に書き込んだ場合には、フラグがオフに設定され、エラーがある場合には、フラグがオンに設定される。
一方、プロセッサ101のメッセージ受信プログラムは、送信元プロセッサ215から送信元プロセッサ番号(ここでは、「0」(ゼロ))を読み込む(ステップS121)。
また、メッセージ受信プログラムは、受信データサイズ216から受信データサイズ(ここでは、受信データのデータブロック総数)を読み込み(ステップS122)、受信データサイズを示すカウント(count)に、ステップS123で読み込んだ受信データサイズを設定する(ステップS123)。
次に、メッセージ受信プログラムは、受信バッファ217から受信データを読み込んで処理する(ステップS124)。
そして、メッセージ受信プログラムは、特殊レジスタ200の受信ステータス218から受信ステータス情報を読み込み(ステップS126)、受信エラーが発生しているか否かを判断する(ステップS126)。メッセージ受信プログラムが受信エラーが発生していると判断した場合、ステップS124へ戻り、上記同様の処理を繰り返す。
一方、メッセージ受信プログラムが受信エラーが発生していないと判断した場合、残り受信データサイズを示すカウント(count)から1を減算し(ステップS127)、カウント(count)が「0」(ゼロ)を示すか否かを判断する(ステップS128)。カウント(count)が「0」(ゼロ)でない場合、ステップS124へ戻り、上記同様の処理を繰り返す。一方、カウント(count)が「0」(ゼロ)の場合、メッセージ受信プログラムによる処理を終了する。
例えば、プロセッサ100がデータを送信する場合に関して、上記より、メッセージ送信プログラムは、ステップS104において、送信データを特殊レジスタ200の送信データ203に書き込んだ後で、ステップS105及びS106において、送信エラーが発生したか否かを判断する。ここで、通常考えられる送信バッファ301の空きを確認した後にデータを送信する場合と比べると、本発明に係るメッセージ送信プログラムは、早いタイミングでデータを送信することが可能となる。
また、通信コントローラ250は、プロセッサ100がデータを送信する場合において、プロセッサNo.0用送信バッファ301に空きが無ければ、送信バッファ301への実際の書き込みを行わないため、一時的に蓄積されている前の送信データを壊すことがない。更に、メッセージ送信プログラムは、データ送信後に、送信ステータスを確認しているため、早いタイミングでデータを送信すると共に、適切にデータが送信されたか否かをも確認することが可能となる。
従って、プロセッサ間でのデータ送信に関するレイテンシを短くすることができる。他プロセッサ101及び102がデータを送信する場合においても同様の効果を奏する。
プロセッサ101がデータを受信する場合に関して、上記より、メッセージ受信プログラムは、ステップS124において、受信データを特殊レジスタ200の受信データ217から読み込んだ後で、ステップS125及びS126において、受信エラーが発生したか否かを判断する。ここで、通常考えられる受信バッファ312にデータが有るか否かを確認した後に受信データを受信する場合と比べると、本発明に係るメッセージ受信プログラムは、早いタイミングでデータを受信することが可能となる。
また、通信コントローラ250は、プロセッサ101がデータを受信する場合において、プロセッサNo.1用受信バッファ312にデータが格納されていない場合、ダミーデータを特殊レジスタ200の受信データ217に書き込むことによって、プロセッサ101は、投機的に受信データに対する処理を始めておくことが可能となる。更に、メッセージ受信プログラムは、データ受信後に、受信ステータスを確認しているため、早いタイミングでデータを受信すると共に、適切にデータを受信したか否かをも確認することが可能となる。
従って、プロセッサ間でのデータ受信に関するレイテンシを短くすることができる。他プロセッサ100及び102がデータを受信する場合においても同様の効果を奏する。
次に、通常考えられるデータをプロセッサ間通信する場合と、本発明に係るプロセッサ間通信とを比較しつつ、本発明に係るプロセッサ間通信にいて図3で詳述する。図3は、本発明に係るプロセッサ間通信について説明するためのブロック図である。図3(B)では、対応する図2のステップ番号が参照のため示される。
先ず、図3(A)に示す通常のデータ転送では、送信側プログラムによるデータの組み立て処理によって、所定のデータブロックが構成される。この場合、送信元のプロセッサを示す1つのデータブロックが生成され、また、1つのデータブロックで送信用のデータが完了するため、例えば、データブロックのヘッダ内に、付加データとして、分割がないことを示す情報が設定される。
そして、送信側プログラムによるデータ送信の処理によって、送信元のプロセッサを示す1つのデータブロックと、分割のないデータを示すデータブロックが送信先のプロセッサへと転送される。
受信側プログラムによるデータ受信の処理によって、送信元のプロセッサを示すデータブロックと、分割のないデータブロックとを受信し、データの分解の処理によって解析される。この場合、最初のデータブロックが送信元を示すデータブロックであることを判断し、次のデータブロックに対しては、付加データによって、受信すべきデータは、1データブロックであることが判る。このようにして、送信元のプロセッサを示すデータブロックと、分割のないデータブロックとの受信によってデータ転送が終了する。
一方、図3(B)に示す本発明のデータ転送では、送信側プログラムによるデータ送信の処理によって、付加データをデータブロック内に設定することなく、送信データをデータブロックとして転送する(ステップS104)。そして、通信コントローラ250によって、例えば、送信元プロセッサ番号が受信側の特殊レジスタ200の送信元プロセッサ215に書き込まれる。
受信側プログラムによる送信元プロセッサ番号取得の処理によって、例えば、送信元プログラム番号を特殊レジスタ200の送信元プロセッサ215から読み込む(ステップS121)と共に、データ受信の処理によって、データを示すデータブロックを読み込んで受信データに対する処理を行う(ステップS124)。
このように、本発明によれば、送信側プログラムでは、送信元に関する情報を示すデータブロックを付加するための処理を不要とすることができ、送信処理に関するレイテンシをその分短くすることができる。一方、送信元に関する情報(例えば、送信元プロセッサ番号)は、通信コントローラ250によって、例えば、特殊レジスタ200の送信元プロセッサ215に書き込まれるため、受信側プログラムでは、受信したデータブロックを解析することなく、送信元プロセッサ215から読み出すだけで送信元プロセッサを知ることができる。従って、データブロック毎の解析をする必要がない分、受信処理に関するレイテンシを短くすることができる。
従って、本発明による送信及び受信に関するデータ転送では、図3(A)に示されるデータ組み立ての処理及びデータ分解の処理を不要し、また、データ送信及びデータ受信の処理にて付加データに関する処理を不要とするため、送信時及び受信時の夫々においてレイテンシを短縮することが可能となる。
更に、通常考えられるデータを分割してプロセッサ間通信を行う場合と、本発明に係るプロセッサ間通信とを比較しつつ、データを分割した場合の本発明に係るプロセッサ間通信にいて図4で詳述する。図4は、データを分割した場合における本発明に係るプロセッサ間通信について説明するためのブロック図である。図4(B)では、対応する図2のステップ番号が参照のため示される。
先ず、図4(A)に示す通常のデータを分割した場合のデータ転送では、送信側プログラムによるデータの組み立て処理によって、所定のデータブロックが構成される。この場合、送信すべきデータが分割されるため、送信データの総データサイズを示す1つのデータブロックと、送信元のプロセッサを示す1つのデータブロックと、そしてデータの終了を示す1つのデータブロックが生成され、また、分割されたデータ毎にデータブロックが生成される。これら分割されたデータのデータブロックのヘッダ内に、付加データとして、分割されたデータであることを示す情報が設定される。
そして、送信側プログラムによるデータ送信の処理によって、送信データの総データサイズを示す1つのデータブロックと、送信元のプロセッサを示す1つのデータブロックと、分割されたデータを示す複数のデータブロックと、データの終了を示す1つのデータブロックとが送信先のプロセッサへと転送される。
受信側プログラムによるデータ受信の処理によって、送信データの総データサイズを示す1つのデータブロックと、送信元のプロセッサを示す1つのデータブロックと、分割されたデータを示す複数のデータブロックと、データの終了を示す1つのデータブロックとを受信し、データの分解の処理によって解析される。この場合、最初のデータブロックが送信データの総データサイズを示すデータブロックであることを判断し、次のデータブロックが送信元を示すデータブロックであることを判断し、続く複数のデータブロックに対しては、付加データによって、分割されたデータであることを判断し、最後のデータブロックがデータの終了を示すデータブロックであることを判断して、全てのデータを受信したことが判る。このようにして、送信データの総データサイズを示す1つのデータブロックと、送信元のプロセッサを示す1つのデータブロックと、分割されたデータを示す複数のデータブロックと、データの終了を示す1つのデータブロックとの受信によってデータ転送が終了する。
一方、図4(B)に示す本発明のデータ転送では、送信側プログラムによるデータサイズ設定の処理によって、例えば、送信すべきデータの総データサイズが特殊レジスタ200を介してプロセッサ間通信装置300に通知され(ステップS102及びS202)、送信側プログラムによるデータ送信の処理によって、付加データを各データブロック内に設定することなく、送信データをデータブロックとして転送する(ステップS104)。そして、通信コントローラ250によって、例えば、送信元プロセッサ番号が受信側の特殊レジスタ200の送信元プロセッサ215に書き込まれる。
受信側プログラムによる送信元プロセッサ番号取得の処理によって、例えば、送信元プログラム番号を特殊レジスタ200の送信元プロセッサ215から読み込み(ステップS121)、データサイズ取得の処理によって、例えば、総データサイズを特殊レジスタ200の受信データサイズ216から読み込み(ステップS122)、データを示すデータブロックを順に読み込んで受信データに対する処理を行う(ステップS124)。
このように、本発明によれば、送信側プログラムでは、送信元に関する情報を示すデータブロック、総データサイズを示すデータブロック、及びデータの終了を示すデータブロックを付加するための処理を不要とし、純粋なデータを単純に分割して生成した複数のデータブロックを送信するのみで良いため、送信処理に関するレイテンシをその分短くすることができる。一方、送信元に関する情報(例えば、送信元プロセッサ番号)は、通信コントローラ250によって、例えば、特殊レジスタ200の送信元プロセッサ215に書き込まれるため、受信側プログラムでは、受信したデータブロックを解析することなく、送信元プロセッサ215から読み出すだけで送信元プロセッサを知ることができる。同様にして、総データサイズも受信したデータブロックを解析することなく、例えば、特殊レジスタ200の受信データサイズ216から読み出すだけで良い。従って、データブロック毎の解析をする必要がない分、受信処理に関するレイテンシを短くすることができる。
従って、本発明による送信及び受信に関するデータ転送では、図3(A)に示されるデータ組み立ての処理及びデータ分解の処理を不要し、また、データ送信及びデータ受信の処理にて付加データに関する処理を不要とするため、送信時及び受信時の夫々においてレイテンシを短縮することが可能となる。
[第二実施例]
次に、プロセッサ間通信における割込み処理を効率的に行う仕組みについて第二実施例にて説明する。
例えば、データを受信させるために、プロセッサ100〜102のうち送信側のメッセージ送信プログラムからプロセッサ100〜102の受信側のプロセッサに割込みを発生させて、割込みによりメッセージ受信プログラムを起動することが必要となる。この場合、通常、発生した割込みの種別に対応させて1つの割込みベクタを使用することになる。このような割込みベクタによる対応付けは、割込みの種類が増えると割込みベクタも増えることになり、記憶領域を割込みベクタ分毎に必要とすることになる。
第二実施例では、割込みベクタを用いることなく、割込み処理を可能とし割込みベクタを記憶するための記憶領域を削減することを可能とする仕組みについて説明する。
図5は、本発明の第一実施例に係る、情報処理装置におけるプロセッサ間通信に係る回路構成を示す図である。図5において、第一実施例と同様に、情報処理装置1002は、並列処理を実行可能なコンピュータ装置である。図1に示す第一実施例との違いは、情報処理装置1002がプロセッサ間割込み機構400と、割込み要因格納レジスタ401、411、及び421と、割込み検出回路402、412、及び422とを更に有する点である。
割込み要因格納レジスタ401と割込み検出回路402とがプロセッサ100に対応させて構成され、割込み要因格納レジスタ411と割込み検出回路412とがプロセッサ101に対応させて構成され、割込み要因格納レジスタ421と割込み検出回路422とがプロセッサ102に対応させて構成される。
プロセッサ間割込み機構400は、プロセッサ100から102の夫々から割込みの発生を示す信号を直接受信し、割込み要因格納レジスタ401、411、及び421のうちの割込み先に対して、所定ビット(フラグ)をオンにする。例えば、割込み先の所定ビットは、割込み元(データ送信元)のプロセッサ100から102に対応するように割り当てておく。
割込み要因格納レジスタ401、411、及び421は、割込みの種類に対応させて割込みを示すビット位置が予め定義されている。例えば、メッセージ送信プログラムは、プロセッサ間割込み機構400によって割込みに対して所定のビットをオンにし、メッセージ受信プログラムは、所定のビットのオンによって、割込みの種類を判断し、所定の処理を実行する。このように、割込みの種類とビット位置とを対応付けさせるのみで割込みの種類に応じた所定の処理を実行することが可能となり、また、割込みベクタによる記憶領域を削減することができる。
例えば、ビット0はプロセッサ100(プロセッサNo.0)が割込み元(送信元)であることを示し、ビット1はプロセッサ101(プロセッサNo.1)が割込み元(送信元)であることを示し、ビット2はプロセッサ102(プロセッサNo.2)が割込み元(送信元)であることを示すようにビット位置が予め定義される。また、割込み要因格納レジスタ401、411、及び421が32ビットレジスタである場合、例えば、ビット16はプロセッサ100(プロセッサNo.0)が割込み先(送信先)であることを示し、ビット17はプロセッサ101(プロセッサNo.1)が割込み先(送信先)であることを示し、ビット18はプロセッサ102(プロセッサNo.2)が割込み先(送信先)であることを示すようにビット位置を予め定義しても良い。プロセッサ間割込み機構400は、データ送信先のビットを検出して、割込み要因格納レジスタ401、411、及び421の一つを送信先として決定する。
割込み検出回路402、412、及び422は、割込み要因格納レジスタ401、411、及び421の夫々に対応して備えられ、対応する割込み要因格納レジスタ401、411、及び421のビットのオンを検出すると、対応するプロセッサ100から102(メッセージ受信プログラム)へ、割込みが発生したことを示す信号を出力する。
各プロセッサ100から102(メッセージ受信プログラム)は、対応する割込み検出回路402、412、及び422からの信号を受信すると、対応する割込み要因格納レジスタ401、411、及び421のデータを読み込む。
次に、第二実施例におけるデータ転送A側でのプロセッサ間通信について図5を参照しつつ説明する。図6は、本発明の第二実施例に係るプロセッサ間通信のシーケンスフローを示す図である。図6において、説明の便宜のため、プロセッサ100をデータ送信側とし、プロセッサ101をデータ受信側として説明するが、どのプロセッサ100、101、及び102も送信側及び受信側として機能することができる。また、図6中、図2に示されるステップと同様のステップには同一の符号を付し、その説明を省略する。また、図2に示されるプロセッサ間通信装置300による処理のフローチャートを省略してあるが、図2に示されるように処理が実行されため、図示及びその説明を省略する。
図6において、メッセージ送信プログラムは、図2に示す処理と同様に、ステップS101からS108までを実行し、ステップS108での判断処理によって、カウント(count)が「0」(ゼロ)であると判断した場合、送信先プロセッサへ割込みを発生させて(ステップS109)、処理を終了する。例えば、プロセッサ100からプロセッサ101へと割込みを発生させるため、プロセッサ100は、割込み要因格納レジスタ401のデータ送信先として、プロセッサ101に対応するビットをオンにし、プロセッサ間割込み機構400へ割込みの発生を示す信号を出力する。
プロセッサ間割込み機構400は、プロセッサ100から割込みの発生を示す信号を受信すると、プロセッサ100の割込み要因格納レジスタ401を読み込んで、データ送信先のプロセッサを確認する。この場合、割込み先プロセッサ(送信先プロセッサ)としてプロセッサ101に対応するビットのオンを確認し、オフにする。プロセッサ間割込み機構400は、割込み先プロセッサの割込み要因格納レジスタの割込み元プロセッサに対応するビットをオンにする。この場合、プロセッサ101の割込み要因格納レジスタ411の割込み元としてプロセッサ100に対応するビットをオンにする(ステップS310)。
その後、割込み検出回路412は、割込み格納レジスタ411に割込み元に対応するビットがオンになったことを検出し、プロセッサ101へ割込み信号を出力する(ステップS320)。
プロセッサ101は、実行中のプログラムの状態をメモリに保存して(ステップS120)、メッセージ受信プログラムによるステップS121からS238までの処理を実行する。メッセージ受信プログラムによるステップS121からS238までの処理は、図2に示すステップS121からS238までの処理と同様であるので、その説明を省略する。
メッセージ受信プログラムは、ステップS108での判断処理によって、カウント(count)が「0」(ゼロ)であると判断した場合、割込み要因格納レジスタ411の受信したデータの送信元プロセッサに対応するビットをオフ(フラグをクリア)する(ステップS129)。
そして、メッセージ受信プログラムは、他にクリアしていない割込み要因があるか否かを判断する(ステップS130)。例えば、他のプロセッサ102からの割込みがあったか否かを確認する。このようにすることで、プロセッサ100からのデータを受信中に、他プロセッサ102からの割込み要因を、メッセージ受信プログラムによる処理を一旦終了させることなく継続して処理することが可能となる。
クリアしていない割込み要因がある場合、メッセージ受信プログラムは、ステップS121へ戻り上記同様の処理を実行する。クリアしていない割込み要因がない場合、プロセッサ101は、割込み前に実行していたプログラムの状態を復元すると同時に、メッセージ受信プログラムは終了する。
本発明に係る第二実施例によれば、割込みベクタを用いることなく、割込み処理を可能とし、割込みベクタを記憶するための記憶領域を削減することができる。
以上の説明に関し、更に以下の項を開示する。
(付記1)
複数のプロセッサ間でデータ転送を行うプロセッサ間通信装置であって、
前記複数のプロセッサに対応させて、各プロセッサからの送信データを一時的に格納する複数の送信バッファと、
前記データ転送を制御する通信コントローラとを有し、
前記通信コントローラは、送信元プロセッサからの前記送信データを対応する前記送信バッファへの格納に関する処理をした後、該送信データに係る送信ステータスを、該送信元プロセッサとの間に設けられた送信ステータスレジスタへ書き込むことを特徴とするプロセッサ間通信装置。
(付記2)
前記通信コントローラは、前記送信元プロセッサに対応する前記送信バッファに空きがない場合、前記送信ステータスレジスタへ前記送信ステータスを書き込むことを特徴とするプロセッサ間通信装置。
(付記3)
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって送信データを書き込み可能な送信データレジスタから該送信データを読み込んで該送信元プロセッサに対応する前記送信バッファへ格納することを特徴とする付記1又は2記載のプロセッサ間通信装置。
(付記4)
更に、前記複数のプロセッサに対応させて、各プロセッサへの受信データを一時的に格納する複数の受信バッファと、
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって送信先プロセッサを識別する送信先プロセッサ識別情報を書き込み可能な送信先プロセッサレジスタから該送信先プロセッサ識別情報を読み込み、該送信先プロセッサ識別情報に対応する前記受信バッファへ前記送信データを前記受信データとして格納することを特徴とする付記1乃至3のいずれか一項記載のプロセッサ間通信装置。
(付記5)
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって送信データサイズを書き込み可能な送信データサイズレジスタから該送信データサイズを読み込むことを特徴とする付記1乃至4のいずれか一項記載のプロセッサ間通信装置。
(付記6)
前記通信コントローラは、前記送信データサイズレジスタから読み込んだ前記送信データサイズ分、前記送信データレジスタから前記送信データを順次読み込んで、前記送信バッファへ格納することを特徴とする付記5記載のプロセッサ間通信装置。
(付記7)
複数のプロセッサ間でデータ転送を行うプロセッサ間通信装置であって、
前記複数のプロセッサに対応させて、各プロセッサへの受信データを一時的に格納する複数の受信バッファと、
前記データ転送を制御する通信コントローラとを有し、
前記通信コントローラは、前記受信バッファに格納されている前記受信データを受信すべき送信先プロセッサへ転送する処理をした後、該受信データに係る受信ステータスを、該送信先プロセッサとの間に設けられた受信ステータスレジスタへ書き込むことを特徴とするプロセッサ間通信装置。
(付記8)
前記通信コントローラは、前記送信先プロセッサに対応する前記受信バッファが空の場合、ダミーデータを該送信先プロセッサへ転送した後、前記受信エラーを発生したことを示す受信ステータス情報を前記受信ステータスレジスタへ書き込むことを特徴とする付記7記載のプロセッサ間通信装置。
(付記9)
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって読み込み可能な受信データレジスタへ受信データを書き込むことを特徴とする付記7又は8記載のプロセッサ間通信装置。
(付記10)
更に、前記複数のプロセッサに対応させて、各プロセッサからの送信データを一時的に格納する複数の送信バッファと、
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって読み込み可能な送信元プロセッサレジスタへ送信元プロセッサを識別する送信元プロセッサ識別情報を書き込んで、該送信元プロセッサ識別情報に対応する前記送信バッファから取り出した前記送信データを、前記送信先プロセッサに対応する前記受信バッファへ受信データとして格納することを特徴とする付記7乃至9のいずれか一項記載のプロセッサ間通信装置。
(付記11)
前記通信コントローラは、各複数のプロセッサとの間に設けられた該プロセッサによって読み込み可能な受信データサイズレジスタへ受信データサイズを書き込むことを特徴とする付記7乃至10のいずれか一項記載のプロセッサ間通信装置。
(付記12)
前記通信コントローラは、前記受信データサイズ分、前記受信バッファから順次取り出して、前記受信データレジスタへ書き込むことを特徴とする付記11記載のプロセッサ間通信装置。
(付記13)
複数のプロセッサ間での割込みを制御するプロセッサ間割込み制御装置であって、
前記送信元プロセッサから前記送信データを受信する送信先プロセッサへの割込みを制御するプロセッサ間割込み制御手段と、
前記複数のプロセッサによって読み取り可能であって、該複数のプロセッサの夫々に対応し、割込み要因毎にビットを対応させた複数の割込み要因格納レジスタと、
前記複数のプロセッサの夫々に対応する、前記要因格納レジスタのビットへの設定に基づいて割込みを検出する複数の割込み検出手段とを有し、
前記プロセッサ間割込み制御手段は、前記割込みに応じて、前記送信先プロセッサに対応する前記割込み要因格納レジスタの該割込みの割込み要因に対応するビットを設定し、
各複数の割込み手段は、前記割込みを検出すると前記送信先プロセッサへ割込み信号を出力することを特徴とするプロセッサ間割込み制御装置。
(付記14)
前記プロセッサ間割込み制御手段は、各複数のプロセッサによって割込みの発生を示す割込み発生信号を受信し、前記送信先プロセッサに対応する前記割込み要因格納レジスタの該割込みの割込み要因に対応するビットを設定することを特徴とする付記13記載のプロセッサ間割込み制御装置。
(付記15)
前記割込み要因は、割込みを発生させた前記送信元プロセッサを示し、該送信元プロセッサ毎にビットが定義されていることを特徴とする付記14記載のプロセッサ間割込み制御装置。
(付記16)
複数のプロセッサ間でデータ転送を行うプロセッサ間通信方法であって、
前記複数のプロセッサに対応する送信バッファへ、各プロセッサからの送信データを一時的に格納する送信データ格納手順と、
前記データ転送を制御する通信制御手順とを有し、
前記通信制御手順は、送信元プロセッサからの前記送信データを対応する前記送信バッファへの格納に関する処理をした後、該送信データに係る送信ステータスを、該送信元プロセッサとの間に設けられた送信ステータスレジスタへ書き込むことを特徴とするプロセッサ間通信方法。
(付記17)
前記通信制御手順は、各複数のプロセッサとの間に設けられた該プロセッサによって送信データを書き込み可能な送信データレジスタから該送信データを読み込んで該送信元プロセッサに対応する前記送信バッファへ格納することを特徴とする付記16記載のプロセッサ間通信方法。
(付記18)
複数のプロセッサ間でデータ転送を行うプロセッサ間通信方法であって、
前記複数のプロセッサに対応する受信バッファへ、各プロセッサへの受信データを一時的に格納する受信データ格納手順と、
前記データ転送を制御する通信制御手順とを有し、
前記通信制御手順は、前記受信バッファに格納されている前記受信データを受信すべき送信先プロセッサへ転送する処理をした後、該受信データに係る受信ステータスを、該送信先プロセッサとの間に設けられた受信ステータスレジスタへ書き込むことを特徴とするプロセッサ間通信方法。
(付記19)
前記通信制御手順は、各複数のプロセッサとの間に設けられた該プロセッサによって読み込み可能な受信データレジスタへ受信データを書き込むことを特徴とする付記18記載のプロセッサ間通信方法。
(付記20)
複数のプロセッサを備えた並列処理を実行可能とする情報処理装置であって、
前記複数のプロセッサに対応させて、各プロセッサからの送信データを一時的に格納する複数の送信バッファと、
前記複数のプロセッサに対応させて、各プロセッサへの受信データを一時的に格納する複数の受信バッファと、
前記データ転送を制御する通信コントローラとを有し、
前記通信コントローラは、送信元プロセッサからの前記送信データを対応する前記送信バッファへの格納に関する処理をした後、該送信データに係る送信ステータスを、該送信元プロセッサとの間に設けられた送信ステータスレジスタへ書き込み、
また、前記通信コントローラは、前記受信バッファに格納されている前記受信データを受信すべき送信先プロセッサへ転送する処理をした後、該受信データに係る受信ステータスを、該送信先プロセッサとの間に設けられた受信ステータスレジスタへ書き込むことを特徴とする情報処理装置。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明の第一実施例に係る、情報処理装置におけるプロセッサ間通信に係る回路構成を示す図である。 本発明の第一実施例に係るプロセッサ間通信のシーケンスフローを示す図である。 本発明に係るプロセッサ間通信について説明するためのブロック図である。 データを分割した場合における本発明に係るプロセッサ間通信について説明するためのブロック図である。 本発明の第一実施例に係る、情報処理装置におけるプロセッサ間通信に係る回路構成を示す図である。 本発明の第二実施例に係るプロセッサ間通信のシーケンスフローを示す図である。
符号の説明
11 外部メモリ
30 バス
100、101、102 プロセッサ
200 プロセッサ間通信用特殊レジスタ
201、211、221 送信元プロセッサ(レジスタ)
202,212,222 送信データサイズ(レジスタ)
203,213,223 送信ステータス(レジスタ)
204、214、224 送信データ(レジスタ)
205、215、225 送信元プロセッサ(レジスタ)
206、216、226 受信データサイズ(レジスタ)
207、217、227 受信データ(レジスタ)
208、218.228 受信ステータス(レジスタ)

Claims (5)

  1. 複数のプロセッサ間でデータ転送を行うプロセッサ間通信装置におけるプロセッサ間通信方法であって、
    前記プロセッサ間通信装置は、
    前記複数のプロセッサに対応させて、各プロセッサからの送信データを一時的に格納する複数の送信バッファと、
    前記複数のプロセッサに対応させて、各プロセッサへの受信データを一時的に格納する複数の受信バッファと、
    前記データ転送を制御する通信コントローラとを有し、
    送信元プロセッサからの前記送信データを対応する前記送信バッファに書き込み、
    前記送信バッファから前記送信データを読み出して、前記送信データを対応する前記受信バッファに書き込み、前記受信バッファから前記送信データを読み出して送信先プロセッサとの間に設けられた受信データレジスタに書き込み、
    前記受信バッファが空である場合に、ダミー受信データと前記受信バッファが空であることにより前記受信データレジスタへの書き込みにエラーが発生したことを示す受信エラー情報とを、前記受信データレジスタと、前記送信プロセッサとの間に設けられた受信ステータスレジスタとに夫々書き込むことで、該受信データレジスタから該ダミー受信データを読み込んだ後、前記受信ステータスレジスタに格納される前記受信エラー情報に基づいて受信エラーの発生を判断すること
    を特徴とするプロセッサ間通信方法。
  2. 前記送信元プロセッサとの間に設けられた該送信元プロセッサによって送信データを書き込み可能な送信データレジスタから該送信データを読み込んで該送信元プロセッサに対応する前記送信バッファへ格納することを特徴とする請求項1記載のプロセッサ間通信方法。
  3. 前記送信元プロセッサとの間に設けられた該送信元プロセッサによって送信先プロセッサを識別する送信先プロセッサ識別情報を書き込み可能な送信先プロセッサレジスタから該送信先プロセッサ識別情報を読み込み、該送信先プロセッサ識別情報に対応する前記受信バッファへ前記送信データを前記受信データとして格納することを特徴とする請求項1又は2項記載のプロセッサ間通信方法。
  4. 前記送信元プロセッサとの間に設けられた該送信元プロセッサによって送信データサイズを書き込み可能な送信データサイズレジスタから該送信データサイズを読み込むことを特徴とする請求項1乃至3のいずれか一項記載のプロセッサ間通信方法。
  5. 前記受信バッファに格納されている前記受信データを受信すべき送信先プロセッサへ転送する処理をした後、該受信データに係る受信ステータスを、該送信先プロセッサとの間に設けられた所定の受信ステータスレジスタへ書き込むことを特徴とする請求項1記載のプロセッサ間通信方法。
JP2005011638A 2005-01-19 2005-01-19 プロセッサ間通信方法及びプロセッサ間通信装置 Expired - Fee Related JP5093986B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005011638A JP5093986B2 (ja) 2005-01-19 2005-01-19 プロセッサ間通信方法及びプロセッサ間通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005011638A JP5093986B2 (ja) 2005-01-19 2005-01-19 プロセッサ間通信方法及びプロセッサ間通信装置

Publications (2)

Publication Number Publication Date
JP2006201946A JP2006201946A (ja) 2006-08-03
JP5093986B2 true JP5093986B2 (ja) 2012-12-12

Family

ID=36959903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005011638A Expired - Fee Related JP5093986B2 (ja) 2005-01-19 2005-01-19 プロセッサ間通信方法及びプロセッサ間通信装置

Country Status (1)

Country Link
JP (1) JP5093986B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2567465B (en) * 2017-10-12 2020-09-02 Advanced Risc Mach Ltd Message passing in a data processing system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792791B2 (ja) * 1981-04-01 1995-10-09 テラデータ・コーポレーション マルチプロセッサ・システムにおけるメッセージ通信制御システム
JPS6375962A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd マルチプロセツサ通信装置
JPS6386060A (ja) * 1986-09-30 1988-04-16 Matsushita Electric Ind Co Ltd プロセツサ間通信方法
JPH01243797A (ja) * 1988-03-25 1989-09-28 Hitachi Ltd プロセッサ間通信方式
JPH01292559A (ja) * 1988-05-20 1989-11-24 Fujitsu Ltd 並列計算機メッセージ処理方式及びデータ転送方式
JPH05250332A (ja) * 1992-03-05 1993-09-28 Juki Corp 電子機器
JPH05324568A (ja) * 1992-05-15 1993-12-07 Fujitsu Ltd プロセッサ間通信方式
JPH05346907A (ja) * 1992-06-15 1993-12-27 Nec Corp マルチプロセッサ間通信方式
EP0640929A3 (en) * 1993-08-30 1995-11-29 Advanced Micro Devices Inc Interprocessor communication via a post MEV.
JPH07271744A (ja) * 1994-03-31 1995-10-20 Matsushita Electric Ind Co Ltd 並列計算機
JP2737724B2 (ja) * 1995-10-09 1998-04-08 日本電気株式会社 プロセッサ間nmi通信装置およびシステムバスコントローラ
JPH09179840A (ja) * 1995-12-22 1997-07-11 Fujitsu Ltd 並列計算機におけるプロセッサ間結合網
JP3483738B2 (ja) * 1997-07-30 2004-01-06 松下電器産業株式会社 データ通信装置
US6697359B1 (en) * 1999-07-02 2004-02-24 Ancor Communications, Inc. High performance switch fabric element and switch systems
JP3607554B2 (ja) * 2000-02-15 2005-01-05 埼玉日本電気株式会社 無線送受信装置
JP2002027025A (ja) * 2000-07-04 2002-01-25 Nec Corp データ伝送システム
JP2003141094A (ja) * 2001-10-30 2003-05-16 Mitsubishi Electric Corp プロセッサ間データ通信装置
JP2003224546A (ja) * 2002-01-29 2003-08-08 Sony Corp 通信システム、データ受信方法およびデータ通信端末

Also Published As

Publication number Publication date
JP2006201946A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
US8588228B1 (en) Nonvolatile memory controller with host controller interface for retrieving and dispatching nonvolatile memory commands in a distributed manner
EP1750202A1 (en) Combining packets for a packetized bus
US8200875B2 (en) Processing and forwarding of message-signaled interrupts
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
US6839777B1 (en) System and method for transferring data over a communication medium using data transfer links
CN111159075B (zh) 数据传输方法和数据传输装置
WO2020000482A1 (zh) 一种基于NVMe的数据读取方法、装置及系统
US8250260B2 (en) Method, arrangement, data processing program and computer program product for exchanging message data in a distributed computer system
JP2006338538A (ja) ストリームプロセッサ
US8046503B2 (en) DMA controller, system on chip comprising such a DMA controller, method of interchanging data via such a DMA controller
US20070260754A1 (en) Hardware Assisted Exception for Software Miss Handling of an I/O Address Translation Cache Miss
US10114774B2 (en) Data transfer method, parallel processing device, and recording medium
US20120096195A1 (en) Data transfer device and data transfer method
JP2009301101A (ja) プロセッサ間通信システム、プロセッサ、プロセッサ間通信方法、および、通信方法
JP5093986B2 (ja) プロセッサ間通信方法及びプロセッサ間通信装置
CN117075819A (zh) 命令处理方法、装置、存储介质及存储设备
US8909823B2 (en) Data processing device, chain and method, and corresponding recording medium for dividing a main buffer memory into used space and free space
US10621082B2 (en) Information processing device that guarantees consistency in access spaces
JPWO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
US20060129714A1 (en) Method and apparatus for transferring data
JP2005216317A (ja) キュー装置
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP5587530B2 (ja) エンジン・プロセッサ連携システム及び連携方法
US8533565B2 (en) Cache controller and cache controlling method
CN117539544B (zh) 基于risc-v指令集的中断控制架构及控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101101

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110401

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110408

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120723

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

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: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees