JP2007148748A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP2007148748A
JP2007148748A JP2005341882A JP2005341882A JP2007148748A JP 2007148748 A JP2007148748 A JP 2007148748A JP 2005341882 A JP2005341882 A JP 2005341882A JP 2005341882 A JP2005341882 A JP 2005341882A JP 2007148748 A JP2007148748 A JP 2007148748A
Authority
JP
Japan
Prior art keywords
processor core
request
data
memory
interface unit
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.)
Pending
Application number
JP2005341882A
Other languages
English (en)
Inventor
Shuji Otsuka
修司 大▲塚▼
Keiji So
慶治 荘
Takeya Akiyama
健也 秋山
Kazumasa Obikawa
一誠 帯川
Yoshikuni Shimazawa
嘉邦 島沢
Osamu Shibata
理 芝田
Yoshiki Tanaka
美喜 田中
Ryuichi Tsuji
龍一 辻
Fumitaka Sugimoto
文孝 杉本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005341882A priority Critical patent/JP2007148748A/ja
Publication of JP2007148748A publication Critical patent/JP2007148748A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】マルチプロセッサシステムにおいて、スヌープ等を用いずにデータのコヒーレンシを維持するため、データの送信側が、メモリにデータが書き込まれるのに要する時間だけ待って受信側プロセッサコアに書き込み済みメッセージを送信するとシステムの処理能力の低下を招く。
【解決手段】第1のプロセッサコアは、第1のバス接続部に対し、第2のプロセッサコアへの送信データのメモリへの書き込み要求を送信した後に、書き込み済みメッセージの第2のプロセッサコアへの送信要求を送信し、第1のバス接続部は、書き込み要求に応じてメモリインタフェース部に書き込み要求を送信し、その後、送信要求に応じて、メモリインタフェース部に応答要求を送信し、第1のバス接続部は、メモリインタフェース部から所定の応答を受信した場合に、書き込み済みメッセージを第2のプロセッサコアに対して送信するマルチプロセッサシステム。
【選択図】図1

Description

本発明は、マルチプロセッサシステムにおいて、それぞれのプロセッサコアが扱うデータの整合性(コヒーレンシ)を維持するための技術に関する。
近年、複数のプロセッサコアを備えるマルチプロセッサシステムが数多く提案されている。このマルチプロセッサシステムにおいて、複数のプロセッサコアが内部バスを介して共通のメモリにアクセス可能である構成である場合に、プロセッサコア間でこの共通のメモリを介してデータの送受信を行う際に、送信側のプロセッサコアと、受信側のプロセッサコアと、で扱うデータの整合性(コヒーレンシ)が保たれない場合がある。
具体的には、或るプロセッサコア(仮に「第1のプロセッサコア」と呼ぶ。)が、他のプロセッサコア(仮に「第2のプロセッサコア」と呼ぶ。)に送ろうとするデータをメモリに書き込み、第2のプロセッサコアがメモリからこのデータを読み出す構成のマルチプロセッサシステムについて考えてみる。
このシステムでは、第1のプロセッサコアは、メモリにおける格納アドレスを指定したデータの書き込み要求を、内部バスを介してメモリに送信した後に、第2のプロセッサコアに対して、前述の格納アドレスを含むデータの書き込み済みメッセージを送信し、第2のプロセッサコアは、このメッセージに基づいてメモリからデータを読み出す。
かかる構成のシステムでは、メモリにおいて、第1のプロセッサコアからの書き込み要求を受信した際に他のプロセッサコアからの要求に対する処理を行っている場合があり、この場合、メモリは、第1のプロセッサコアから受信した書き込み要求を即時に処理することができない。その結果、この書き込み要求がメモリにおいて未処理であるにも関わらず、第2のプロセッサコアに前述の書き込み済みメッセージが届いてしまうことが発生し得る。
そして、第1のプロセッサコアからの書き込み要求がメモリにおいて未処理であるにも関わらず、第2のプロセッサコアに前述の書き込み済みメッセージが届いてしまった場合、第2のプロセッサコアが、このメッセージに含まれているアドレスに基づいてメモリからデータを読み出すと、第2のプロセッサコアは、第1のプロセッサコアが送ろうとしたデータではなく、同じアドレスに既に格納されている古いデータを読み出すこととなる。その結果、第1のプロセッサコアと第2のプロセッサコアとで、データのコヒーレンシが保たれなくなるおそれがある。
そこで、マルチプロセッサシステムにおけるコヒーレンシの維持を目的として、各プロセッサコアが、他のプロセッサコアから送出されて内部バスを流れる、書き込みや読み出し等の要求を監視する、いわゆるスヌープ方式のシステムが種々提案されている(例えば、下記特許文献1参照)。
特開平9−293060号公報
上述したスヌープ方式のマルチプロセッサシステムでは、各プロセッサコアに、内部バスを流れる書き込み等の要求を監視する機能部などの、コヒーレンシ維持のための特別な機能部が必要となり、システムの製造コストの上昇を招くこととなる。
そこで、上述のようにして第1のプロセッサコアが第2のプロセッサコアに対してメモリを介してデータを送受信する場合に、第1のプロセッサコアは、データの書き込み要求をメモリに送信した後に、メモリにデータが書き込まれるのに要する時間だけ待って、第2のプロセッサコアに対して書き込み済みメッセージを送信する方法も考えられる。
しかしながら、メモリにデータが書き込まれるのに要する時間は、メモリにおける処理待ちの書き込み等の要求数の多少や、その書き込み要求についての処理のプライオリティの高低などによって変動し得る。
従って、かかる方法においてコヒーレンシを確実に維持するためには、想定し得る最も長い時間だけ、第1のプロセッサコアに対して、書き込み済みメッセージを第2のプロセッサコアに送信するのを待たせなければならなくなってしまう。その結果、第2のプロセッサコアへのデータの送信に比較的長時間要することとなり、マルチプロセッサシステムの処理能力(スループット)の低下を招くこととなる。
本発明は上述した課題の少なくとも一部を解決するためになされたものであり、各プロセッサコアで扱うデータのコヒーレンシを保つことが可能であると共に、製造コストの上昇を抑制しつつ、スループットの低下を抑制することが可能なマルチプロセッサシステムを提供することを目的とする。
前述の課題の少なくとも一部を解決するために、本発明のマルチプロセッサシステムは、第1のプロセッサコアと、第2のプロセッサコアと、メモリと、内部バスと、前記第1のプロセッサコアを前記内部バスに接続するための第1のバス接続部と、前記メモリを前記内部バスに接続するためのメモリインタフェース部と、を備えており、前記第1のプロセッサコアと前記第2のプロセッサコアとでデータを送受信する場合に前記メモリを介して行うマルチプロセッサシステムであって、前記第1のプロセッサコアは、前記第2のプロセッサコア宛に送ろうとする送信データの前記メモリへの書き込み要求を、前記第1のバス接続部に送信した後に、前記送信データを前記メモリに書き込み済みであることを示す書き込み済みメッセージの、前記第2のプロセッサコアへの送信要求を前記第1のバス接続部に送信し、前記第1のバス接続部は、前記第1のプロセッサコアから送信された前記書き込み要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求を、前記内部バスを介して送信し、その後、前記第1のプロセッサコアから送信された前記送信要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求に対する処理の完了後に所定の応答を返すことを要求する応答要求を、前記内部バスを介して送信し、前記第1のバス接続部は、前記メモリインタフェース部から、前記内部バスを介して前記所定の応答を受信した場合に、前記書き込み済みメッセージを、前記第2のプロセッサコアに対して、前記内部バスを介して送信することを要旨とする。
このように、本発明のマルチプロセッサシステムでは、第1のバス接続部は、メモリインタフェース部から、内部バスを介して所定の応答を受信した場合に、書き込み済みメッセージを、第2のプロセッサコアに対して、内部バスを介して送信するようにしている。
ここで、第1のバス接続部が所定の応答を受信するのは、メモリインタフェース部において、第1のバス接続部から送信された応答要求の処理が実行された後である。そして、この応答要求は、送信データのメモリへの書き込み要求よりも後にメモリインタフェース部に送信されているので、メモリインタフェース部は、この書き込み要求の処理を実行した後に、前述の応答要求の処理を実行することとなる。従って、第1のバス接続部が所定の応答を受信するのは、メモリインタフェース部において、前述の書き込み要求が実行された後となる。
それ故、第2のプロセッサコアが書き込み済みメッセージを受信するのは、メモリインタフェース部において、前述の書き込み要求の処理が実行され、送信データがメモリに書き込まれた後となる。その結果、書き込み済みメッセージを受信した第2のプロセッサコアが、メモリから送信データを読み出すときには、既に送信データがメモリに書き込まれているので、第2のプロセッサコアは、古いデータではなく、この送信データを読み出すことができる。従って、第1のプロセッサコア及び第2のプロセッサコアにおいて、データのコヒーレンシは保たれることとなる。
また、上記のような構成とすることで、マルチプロセッサシステムは、内部バスを流れる書き込み等の要求を監視する機能部など、コヒーレンシ維持のための特別な機能部を設けずに済むので、マルチプロセッサシステムの製造コストの上昇を抑制することができる。
また、上記のような構成とすることで、第1のバス接続部が、メモリインタフェース部に対して、送信データの書き込み要求を送信した後、直ぐに、応答要求を送信すると、メモリインタフェース部は、第1のバス接続部から、書き込み要求を受信してから比較的短時間の後に、応答要求を受信することとなる。それ故、メモリインタフェース部において、書き込み要求の処理が実行されてから、比較的短時間の後に、応答要求の処理が実行されることとなり、送信データがメモリに書き込まれてから比較的短時間の後に、書き込み済みメッセージが第2のプロセッサコアに対して送信されることとなる。その結果、第2のプロセッサコアは、送信データがメモリに書き込まれてから比較的短時間の後に、この送信データを読み出すことができるので、マルチプロセッサシステムのスループット低下を抑制することができる。
上記マルチプロセッサシステムにおいて、さらに、前記第2のプロセッサコアを前記内部バスに接続するための第2のバス接続部と、前記第2のプロセッサコアと前記第2のバス接続部とを接続する専用割り込み信号線と、備え、前記書き込み済みメッセージが、前記第2のプロセッサコアに対して、前記内部バスを介して送信された場合に、前記第2のバス接続部は、前記書き込み済みメッセージを受信すると共に、前記第2のプロセッサコアに対して、前記専用割り込み信号線を介して割り込み信号を送信するようにしてもよい。
このような構成とすることで、第2のプロセッサコアは、専用割り込み信号線を介して割り込み信号を受信することで、第1のプロセッサコアからの書き込み済みメッセージが、自分宛に届いていることを知ることができ、送信データのメモリへの書き込み完了を知ることができる。
上記マルチプロセッサシステムにおいて、前記第1のバス接続部は、前記書き込み済みメッセージを前記第2のプロセッサコアに対して前記内部バスを介して送信する場合に、前記送信データの前記メモリにおける書き込み位置を示す位置情報を、前記書き込み済みメッセージに含めて送信し、前記第2のバス接続部は、前記書き込み済みメッセージを受信した場合に、受信した前記書き込み済みメッセージから前記位置情報を取得し、前記第2のプロセッサコアは、前記第2のバス接続部から前記割り込み信号を受信した場合に、前記第2のバス接続部から前記位置情報を取得することが好ましい。
このような構成とすることで、第2のプロセッサコアは、送信データのメモリにおける書き込み位置を知ることができる。従って、第2のプロセッサコアは、この書き込み位置を指定してメモリからの送信データの読み出し要求を、第2のバス接続部及び内部バスを介してメモリインタフェース部に送信することができる。その結果、メモリインタフェース部がこの読み出し要求で指定された書き込み位置からデータを読み出して、読み出したデータを、内部バス及び第2のバス接続部を介して第2のプロセッサコアに返信することで、第2のプロセッサコアは、第1のプロセッサコアからの送信データを受信することができる。
上記マルチプロセッサシステムにおいて、応答要求は、WR−ACK要求であり、所定の応答は、WR−ACKであってもよい。
このような構成とすることで、応答要求として、WR−ACK要求をメモリインタフェース部に送信すると、その送信は、送信データの書き込み要求の送信の後であるので、WR−ACK要求の処理は、送信データの書き込み要求に対する処理の後に、メモリインタフェース部において実行されることとなる。ここで、WR−ACK要求は、WR−ACKを返すことの要求である。従って、WR−ACK要求の処理の結果、WR−ACKが、送信データの書き込み要求に対する処理の完了後に第1のバス接続部に返ることとなる。
上記マルチプロセッサシステムは、1つの半導体基板上に集積化されていてもよい。
このようにすることで、マルチプロセッサシステム全体の物理的な大きさを、比較的コンパクトにすることができる。
なお、本発明は、上記マルチプロセッサシステムといった装置発明の態様に限ることなく、データ送信方法といった方法発明として実現することも可能である。
以下、本発明を実施するための最良の形態を実施例に基づいて以下の順序で説明する。
A.実施例:
A1.マルチプロセッサシステムの概要構成:
A2.データ送受信処理:
A3.実施例の効果:
B.変形例:
A.実施例:
A1.マルチプロセッサシステムの概要構成:
図1は、本発明の一実施例としてのマルチプロセッサシステムの概要構成を示す説明図である。
図1に示すマルチプロセッサシステム10は、複数のプロセッサコアを1つの半導体基板上に集積化したマイクロプロセッサである。具体的には、マルチプロセッサシステム10は、プロセッサコアP1及びプロセッサコアP2を備えている。
また、マルチプロセッサシステム10は、プロセッサコアP1側の構成要素として、プロセッサコアP1に接続されたバスインタフェース部B1及びバスインタフェース部B1に接続されたメッセージハンドラMH1と、プロセッサコアP2側の構成要素として、プロセッサコアP2に接続されたバスインタフェース部B2及びバスインタフェース部B2に接続されたメッセージハンドラMH2と、を備えている。
さらに、マルチプロセッサシステム10は、メモリ20と、メモリ20に接続されたメモリインタフェース部MIFと、を備えている。このメモリ20は共有メモリであり、メモリインタフェース部MIFは、プロセッサコアP1やプロセッサコアP2からの、データの書き込みや読み出しの要求に応じて、メモリ20へのデータの書き込みや、メモリ20からのデータの読み出しを行う機能部である。
そして、前述のバスインタフェース部B1,バスインタフェース部B2,メモリインタフェース部MIFは、互いにメモリアクセス用の内部バスNEMMによって接続されている。これとは別に、バスインタフェース部B1とバスインタフェース部B2とはメッセージ送信用の内部バスNESSによって接続されている。
また、メッセージハンドラMH1は割り込み信号線INT1でプロセッサコアP1に、メッセージハンドラMH2は割り込み信号線INT2でプロセッサコアP2に、それぞれ接続されている。
前述のバスインタフェース部B1は、プロセッサコアP1及びメッセージハンドラMH1を、内部バスNEMM,NESSに接続するための機能部である。
前述のメッセージハンドラMH1は、プロセッサコアP1宛のメッセージを、プロセッサコアP1に代わって受信し、このメッセージの受信をプロセッサコアP1に通知するための機能部である。また、メッセージハンドラMH1は、プロセッサコアP1に代わって、プロセッサコアP2宛のメッセージを送信する機能部である。
従って、例えば、プロセッサコアP1がプロセッサコアP2宛にメッセージを送信しようとする場合、プロセッサコアP1は、バスインタフェース部B1にメッセージを送出し、バスインタフェース部B1は、このメッセージをメッセージハンドラMH1に送信(転送)し、メッセージハンドラMH1は、このメッセージを受け取ると、バスインタフェース部B1を介してプロセッサコアP2に向けてプロセッサコアP2宛のメッセージを送信するようにする。
なお、バスインタフェース部B2及びメッセージハンドラMH1は、上述したバスインタフェース部B1及びメッセージハンドラMH2と同様な機能部であるので、説明を省略する。
なお、前述のバスインタフェース部B1及びメッセージハンドラMH1が請求項における第1のバス接続部に、前述のバスインタフェース部B2及びメッセージハンドラMH2が請求項における第2のバス接続部に、それぞれ相当する。
前述の内部バスNESS及び内部バスNEMMでは、データの書き込み要求などの各種メッセージが、いわゆるパケット形式のデータとして伝送される。また、プロセッサコアP1,プロセッサコアP2,メモリインタフェース部MIFには、パケットの送信元及び送信先を特定するための識別子(ID)が予め設定されている。
かかる構成のマルチプロセッサシステム10において、一方のプロセッサコアから他方のプロセッサコアにデータを送信する場合、メモリ20を介してデータの送受信が行われる。すなわち、相手にデータを送ろうとするプロセッサコア(送信側プロセッサコア)が、メモリ20にそのデータを書き込み、他方のプロセッサコア(受信側プロセッサコア)が、メモリ20からこのデータを読み出す。
かかるデータの送受信動作において、送信側プロセッサコアは、受信側プロセッサコアに対して、送ろうとするデータのメモリへの書き込み済みを通知するためのメッセージを送信するようにする。ここで、送ろうとするデータがメモリ20に書き込まれる前に、前述のメッセージが受信側プロセッサコアに届いてしまうと、受信側プロセッサコアは、このデータとは異なる古いデータを読み出すこととなり、プロセッサコアP1及びプロセッサコアP2においてデータのコヒーレンシが保たれなくなる。
そこで、マルチプロセッサシステム10では、以下に説明するデータ送受信処理により、プロセッサコアP1及びプロセッサコアP2におけるデータのコヒーレンシを維持するようにしている。なお、以下に説明するデータ送受信処理では、プロセッサコアP1が送信側プロセッサコアであり、プロセッサコアP2が受信側のプロセッサコアであり、プロセッサコアP1がプロセッサコアP2にデータを送ろうとするものとする。
A2.データ送受信処理:
図2は、マルチプロセッサシステム10において実行されるデータ送受信処理の手順の一部を示すフローチャートである。
上述したように、マルチプロセッサシステム10におけるデータの送受信動作は、大きく分けて、送信側のプロセッサコアP1が、メモリ20にデータを書き込む前半の処理(データ送信処理)と、受信側のプロセッサコアP2が、メモリ20からデータを読み出す後半の処理(データ受信処理)と、から成る。そして、図1では、データ送信処理における手順を主として示している。
図2において、最も左側のフローチャートは送信側のメッセージハンドラMH1におけるデータ送信処理の手順を、左から2番目のフローチャートは送信側のプロセッサコアP1におけるデータ送信処理の手順を、左から3番目のフローチャートは送信側のバスインタフェース部B1におけるデータ送信処理の手順を、最も右側のフローチャートはメモリインタフェース部MIFにおけるデータ送受信処理の手順を、それぞれ示す。
なお、図2において、各破線の矢印に付与された数字([1],[2]など)は、各構成要素間におけるデータ等のやりとりを特定するための数字であり、図1に示す数字と対応している。
図2に示すデータ送信処理が開始されると、まずプロセッサコアP1は、バスインタフェース部B1に対して、メモリインタフェース部MIF宛のデータの書き込み要求(以下、データWR要求と呼ぶ。)を送信する(ステップS102)。このデータWR要求では、プロセッサコアP2に送ろうとするデータを送信する。
一方、バスインタフェース部B1は、このデータWR要求を受信すると(ステップS104)、メモリインタフェース部MIF宛のデータWR要求パケットを生成し、このパケットを、内部バスNEMMを介してメモリインタフェース部MIFに送信する(ステップS106)。
図3は、バスインタフェース部B1から、内部バスNEMMを介してメモリインタフェース部MIFに送信されるデータWR要求のパケットのデータ構造を示す説明図である。
図3に示すように、データWR要求のパケットは、先頭16バイトのヘッダ部と、ヘッダ部に続く可変長(最大64バイト)のペイロード部と、から成る。ヘッダ部は、通信内容の種類(この場合、書き込み要求)を示すフィールド(TYPE),データサイズを示すフィールド(Dsize),宛先IDを示すフィールド(DID),送信元IDを示すフィールド(SID),トランザクションIDを示すフィールド(TID)を備えている。また、ヘッダ部は、メモリ20において、データを書き込むべきアドレスを指定するフィールド(A0〜A3)を備えている。なお、アドレスフィールドA3より下の「−」は、いずれかのデータのために割り当てられていないフィールドを示す。
一方、ペイロード部は、メモリ20に書き込むデータを格納するフィールド(D0〜D63)を備えている。
そして、バスインタフェース部B1は、かかるデータWR要求パケットにおいて、DIDとしてメモリインタフェース部MIFのIDを、SIDとしてプロセッサコアP1のIDを、データを書き込むべきアドレスとしてその先頭アドレス(ポインタ)を、TYPEとして書き込み要求を示すデータを、それぞれ格納し、プロセッサコアP1から受信したプロセッサコアP2に送ろうとするデータをペイロード部に格納すると共に、他のフィールド(Dsize,TID)に所定のデータを格納してメモリインタフェース部MIFに対して送信する。
図2に戻って、メモリインタフェース部MIFは、内部バスNEMMを介してこのデータWR要求を受信し(ステップS108)、このデータWR要求を、図示せざるバッファに格納する。
ここで、メモリインタフェース部MIFは、この図示せざるバッファに到着した順序で、プロセッサコアP1やプロセッサコアP2などからの書き込みや読み出し等の要求の処理を実行する。従って、前述のデータWR要求がバスインタフェース部B1から到着した際に、既にプロセッサコアP2からの書き込み要求等が図示せざるバッファに格納されていれば、このデータWR要求の処理は、到着後すぐには実行されないこととなる。
一方、プロセッサコアP1は、ステップS102の処理としてデータWR要求をバスインタフェース部B1に送信した後、直ぐに、送ろうとするデータがメモリ20に書き込まれ済みであることをプロセッサコアP2に通知するために、プロセッサコアP2宛の完了通知要求を、バスインタフェース部B1に対して送信する(ステップS110)。かかる完了通知要求には、データWR要求において指定したポインタが含まれている。
バスインタフェース部B1は、この完了通知要求を受信すると(ステップS112)、プロセッサコアP2宛の要求であるので、この完了通知要求をメッセージハンドラMH1に対して送信する(ステップS114)。
メッセージハンドラMH1は、完了通知要求をバスインタフェース部B1から受信すると(ステップS116)、送ろうとするデータがメモリ20に書き込み済みであることをプロセッサコアP2に通知する前に、本発明の特徴部分であるところの、メモリインタフェース部MIF宛のWR−ACK(Acknowledge)要求を、バスインタフェース部B1に対して送信する(ステップS118)。
このWR−ACK要求とは、先に送信したデータWR要求の処理が完了した後に所定の応答(ACK)を返すことを要求するための応答要求メッセージである。
そして、バスインタフェース部B1は、このWR−ACK要求を受信すると(ステップS120)、メモリインタフェース部MIF宛のWR−ACK要求パケットを生成し、このパケットを、内部バスNEMMを介してメモリインタフェース部MIFに送信する(ステップS122)。
図4は、バスインタフェース部B1から、内部バスNEMMを介してメモリインタフェース部MIFに送信されるWR−ACK要求のパケットのデータ構造を示す説明図である。
図4に示すように、WR−ACK要求のパケットの構造は、図3に示すデータWR要求のパケットのうち、一部のフィールド(Dsize,TID,A0〜A3)を除くヘッダ部に相当するパケットである。なお、DIDとしてメモリインタフェース部MIFのIDが、SIDとしてプロセッサコアP1のIDが、TYPEとしてWR−ACK要求を示すデータが、それぞれ格納される。
このようにWR−ACK要求パケットが、データWR要求パケットのうち、ヘッダ部に相当するデータだけで構成されるのは、上述したように、WR−ACK要求は、先に送信したデータWR要求の処理が完了した後にACKを返すことを要求するためのメッセージであり、メモリ20にいずれかのデータを書き込むことを要求するメッセージではないためである。
図2に戻って、メモリインタフェース部MIFは、内部バスNEMMを介してこのWR−ACK要求を受信すると(ステップS124)、前述のデータWR要求と同様に、図示せざるバッファに格納する。
ここで、図示せざるバッファには、ステップS108の処理においてバスインタフェース部B1から受信したデータWR要求が既に格納されているので、少なくともこのデータWR要求の処理が実行された後に、このWR−ACK要求の処理が実行されることとなる。
そして、メモリインタフェース部MIFは、ステップS108の処理において受信したデータWR要求の処理を実行して、プロセッサコアP2に送ろうとするデータを、データWR要求で指定されたポインタを先頭アドレスとしてメモリ20に書きこむ(ステップS126)。
このデータの書き込みの後、メモリインタフェース部MIFは、ステップS124の処理において受信したWR−ACK要求の処理を実行して、プロセッサコアP1宛のWR−ACKを、内部バスNEMMを介してバスインタフェース部B1に対して送信する(ステップS128)。
バスインタフェース部B1は、メモリインタフェース部MIFからプロセッサコアP1宛のWR−ACKを受信すると(ステップS130)、このWR−ACKをメッセージハンドラMH1に送信する(ステップS132)。
メッセージハンドラMH1は、メモリインタフェース部MIFからのWR−ACKを受信すると(ステップS134)、ステップS116の処理で受信した完了通知要求を実行するために、プロセッサコアP2宛の完了通知の書き込み要求(以下、「完了通知WR要求」と呼ぶ。)を、バスインタフェース部B1に対して送信する(ステップS136)。この完了通知WR要求には、完了通知要求によって受信したポインタが含まれている。
バスインタフェース部B1は、この完了通知WR要求を受信すると(ステップS138)、プロセッサコアP2宛の完了通知WR要求パケットを生成し、このパケットを、内部バスNESSを介してバスインタフェース部B2に送信する(ステップS140)。
図5は、バスインタフェース部B1から内部バスNESSを介してバスインタフェース部B2に送信される完了通知WR要求のパケットのデータ構造を示す説明図である。
図5に示すように、完了通知WR要求のパケットの構造は、4バイトのヘッダ部と、ヘッダ部に続く4バイトのペイロード部と、から成る。なお、ヘッダ部における各フィールドの意味は、図3に示すデータWR要求パケットのヘッダ部における各フィールドの意味と同じであるので説明を省略する。
バスインタフェース部B1は、かかる完了通知WR要求パケットにおいて、DIDとしてプロセッサコアP2のIDを、SIDとしてプロセッサコアP1のIDを、TYPEとして書き込み要求を、それぞれ格納し、ペイロード部(D0〜D3)に、メッセージハンドラMH1から送信された完了通知WR要求に含まれていたポインタを格納して、内部バスNESSを介してバスインタフェース部B2に対して送信する。
以上説明したデータ送信処理では、メッセージハンドラMH1は、メモリインタフェース部MIFからWR−ACKを受信した後に、プロセッサコアP1からの完了通知要求で受信したポインタを、プロセッサコアP2宛の完了通知WR要求に含めて、バスインタフェース部B1を介して受信側のバスインタフェース部B2に送信するようにしている。
ここで、メッセージハンドラMH1がWR−ACKを受信するのは、メモリインタフェース部MIFにおいて、WR−ACK要求の処理が実行された後である。そして、このWR−ACK要求は、データWR要求よりも後にメモリインタフェース部MIFに送信されているので、メモリインタフェース部MIFは、データWR要求の処理を実行した後に、WR−ACK要求の処理を実行することとなる。従って、メッセージハンドラMH1がWR−ACKを受信するのは、メモリインタフェース部MIFにおいて、データWR要求の処理が実行された後となる。
それ故、受信側のバスインタフェース部B2が完了通知WR要求を受信するのは、メモリインタフェース部MIFにおいて、データWR要求の処理が実行され、プロセッサコアP2に送ろうとするデータがメモリ20に書き込まれた後となる。
その結果、後述するデータ受信処理においてプロセッサコアP2がデータをメモリ20から読み出すときには、既にプロセッサコアP2に送ろうとするデータはメモリ20に書き込まれている状態であるので、プロセッサコアP1及びプロセッサコアP2においてデータのコヒーレンシは保たれることとなる。
以下、受信側で行われるデータ受信処理について説明する。
図6は、マルチプロセッサシステム10において実行されるデータ送受信処理の手順の一部を示すフローチャートである。図6では、図2に示すデータ送信処理に続く、データ受信処理の手順を主として示している。
図6において、最も左側のフローチャートは受信側のメッセージハンドラMH2におけるデータ送信処理の手順を、左から2番目のフローチャートは受信側のプロセッサコアP2におけるデータ受信処理の手順を、左から3番目のフローチャートは受信側のバスインタフェース部B2におけるデータ送信処理の手順を、最も右側のフローチャートはメモリインタフェース部MIFにおけるデータ送受信処理の手順を、それぞれ示す。なお、メモリインタフェース部MIFにおける手順は、図2に示すステップS128の処理に続く処理の手順を示している。なお、各破線の矢印に付与された数字は、図2に示す数字と同じ意味の数字であるので、説明を省略する。
受信側のバスインタフェース部B2が、内部バスNESSを介して、送信側のバスインタフェース部B1から前述の完了通知WR要求を受信すると(ステップS202)、バスインタフェース部B2は、この完了通知WR要求をメッセージハンドラMH2に送信する(ステップS204)。
メッセージハンドラMH2は、完了通知WR要求を受信すると(ステップS206)、かかる完了通知WR要求に含まれるポインタを取得して、自己が備えるレジスタ(図示省略)に格納すると共に、割り込み信号を生成して割り込み信号線INT2を介してプロセッサコアP2に送信する(ステップS208)。
プロセッサコアP2は、割り込み信号をメッセージハンドラMH2から受信すると(ステップS210)、メッセージハンドラMH2のレジスタに格納されているポインタを受け取るために、ポインタの送信要求をバスインタフェース部B2に対して送信する(ステップS212)。バスインタフェース部B2は、ポインタ送信要求をプロセッサコアP2から受信すると(ステップS214)、このポインタ送信要求をメッセージハンドラMH2に送信する(ステップS216)。
メッセージハンドラMH2は、ポインタ送信要求をバスインタフェース部B2から受信すると(ステップS218)、レジスタに格納したポインタをバスインタフェース部B2に対して送信する(ステップS220)。バスインタフェース部B2は、メッセージハンドラMH2からポインタを受信すると(ステップS222)、このポインタをプロセッサコアP2に送信し(ステップS224)、プロセッサコアP2は、このポインタを受信して(ステップS226)、プロセッサコアP1がメモリ20に書き込んだデータのポインタを入手することができる。
そして、プロセッサコアP2は、バスインタフェース部B1に対して、メモリインタフェース部MIF宛のデータの読み出し要求(以下、「データRD要求」と呼ぶ。)を送信する(ステップS228)。なお、この読み出し要求では、プロセッサコアP2が入手したポインタが指定されている。
バスインタフェース部B2は、データRD要求をプロセッサコアP2から受信すると(ステップS230)、メモリインタフェース部MIF宛のデータRD要求パケットを生成し、このパケットを内部バスNEMMを介してメモリインタフェース部MIFに送信する(ステップS232)。
メモリインタフェース部MIFは、内部バスNEMMを介してこのデータRD要求を受信し(ステップS234)、このデータRD要求を、図示せざるバッファに格納する。
その後、メモリインタフェース部MIFは、このデータRD要求の処理を実行して、データRD要求で指定されたポインタに基づき、メモリ20からデータを読み出し(ステップS236)、読み出したデータを、データRD要求に対する応答メッセージ(データRD応答)のパケットとして、内部バスNEMMを介してバスインタフェース部B2に送信する(ステップS238)。
上述したように、図2に示すデータ送信処理が完了した時点、つまり、バスインタフェース部B1がバスインタフェース部B2に完了通知WR要求を送信した時点で、メモリ20には、既にプロセッサコアP2に書き込むべきデータが書き込まれているので、このステップS236の処理において、メモリインタフェース部MIFが読み出したデータは、古いデータではなく、プロセッサコアP1がプロセッサコアP2に送ろうとするデータとなっている。
バスインタフェース部B2は、メモリインタフェース部MIFから前述のデータRD応答パケットを受信すると、このデータRD応答をプロセッサコアP2に対して送信する(ステップS242)。
そして、プロセッサコアP2は、このデータRD応答を受信して(ステップS244)、プロセッサコアP1がプロセッサコアP2に送ろうとするデータを受信することができる。
このようにして、プロセッサコアP1がプロセッサコアP2に送ろうとするデータが、プロセッサコアP2に受信されるので、プロセッサコアP1とプロセッサコアP2とで、データのコヒーレンシが保たれることとなる。
A3.実施例の効果:
以上説明したように、メッセージハンドラMH1は、プロセッサコアP1からプロセッサコアP2宛の完了通知要求を受信した場合に、WR−ACK要求をメモリインタフェース部MIFに送信するようにし、このWR−ACK要求に対する応答であるWR−ACKをメモリインタフェース部MIFから受信した場合に、ポインタを含む完了通知WR要求をプロセッサコアP2宛に送信するようにしている。
ここで、メッセージハンドラMH1がWR−ACKを受信するのは、メモリインタフェース部MIFにおいて、WR−ACK要求の処理が実行された後である。そして、このWR−ACK要求は、データWR要求よりも後にメモリインタフェース部MIFに送信されているので、メモリインタフェース部MIFは、データWR要求の処理を実行した後に、WR−ACK要求の処理を実行することとなる。従って、メッセージハンドラMH1がWR−ACKを受信するのは、メモリインタフェース部MIFにおいて、データWR要求の処理が実行された後となる。
それ故、バスインタフェース部B2が完了通知WR要求を受信するのは、メモリインタフェース部MIFにおいて、データWR要求の処理が実行され、プロセッサコアP2に送ろうとするデータがメモリ20に書き込まれた後となる。
その結果、プロセッサコアP2がデータをメモリ20から読み出すときには、既にプロセッサコアP1がプロセッサコアP2に送ろうとするデータはメモリ20に書き込まれている状態であるので、プロセッサコアP1及びプロセッサコアP2においてデータのコヒーレンシは保たれることとなる。
また、プロセッサコアP1は、データWR要求をバスインタフェース部B1に送信した後、直ぐに、プロセッサコアP2宛の完了通知要求をバスインタフェース部B1に対して送信するようにしている。そして、この完了通知要求をバスインタフェース部B1を介して受信したメッセージハンドラMH1は、バスインタフェース部B1を介してWR−ACK要求をメモリインタフェース部MIFに送信している。従って、メモリインタフェース部MIFは、データWR要求をバスインタフェース部B1から受信してから、比較的短時間の後に、WR−ACK要求を受信することとなる。
それ故、メモリインタフェース部MIFにおいて、データWR要求の処理が実行されてから、比較的短時間の後にWR−ACK要求の処理が実行されることとなり、プロセッサコアP2に送ろうとするデータがメモリ20に書き込まれてから、比較的短時間の後に、WR−ACKがメッセージハンドラMH1に送信されて、完了通知WR要求がプロセッサコアP2宛に送信されることとなる。
その結果、プロセッサコアP2は、プロセッサコアP2に送ろうとするデータがメモリ20に書き込まれてから、比較的短時間の後に、このデータを読み出すことができるので、マルチプロセッサシステム10のスループットの低下を抑制することができる。
また、マルチプロセッサシステム10では、内部バスを流れる書き込み等の要求を監視する機能部など、コヒーレンシ維持のための特別な機能部を設けていないので、マルチプロセッサシステム10の製造コストの上昇を抑制することができる。
ここで、メッセージハンドラMH1は、WR−ACK要求に代えて、プロセッサコアP2へ送ろうとするデータの読み出し要求を、メモリインタフェース部MIFに送信するようにし、この読み出し要求に対する応答メッセージ(読み出したデータを含む応答メッセージ)を受信した場合に、前述の完了通知WR要求をプロセッサコアP2宛に送信するようにしても、コヒーレンシを保つことは可能である。
しかしながら、このデータの読み出し要求はメモリインタフェース部MIFにメモリアクセスを強いるものであるので、メモリからのデータの読み出し完了までに比較的長時間を要することとなる。
一方、WR−ACK要求を受信したメモリインタフェース部MIFは、メモリアクセスすることなしに、WR−ACK要求をメッセージハンドラMH1宛に送信することができる。従って、応答メッセージを返信するために要する時間を比較的短時間に抑えることができ、マルチプロセッサシステム10のスループットの低下を抑制することができる。
B.変形例:
なお、本発明は、前述の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において、種々の態様において実施することが可能であり、例えば以下のような変形も可能である。
B1.変形例1:
上述した実施例において、メモリインタフェース部MIFは、WR−ACK要求を受信した後にデータWR要求の処理を実行するものとしていたが、これに限らず、WR−ACK要求を受信する前にデータWR要求の処理を実行していても構わない。このような場合でも、WR−ACK要求は、データWR要求の処理の後に処理されるので、メッセージハンドラMH1は、プロセッサコアP2に送ろうとするデータがメモリ20に書き込まれた後に完了通知WR要求をプロセッサコアP2宛に送信することとなる。その結果、上述した実施例と同様に、プロセッサコアP1とプロセッサコアP2とでデータのコヒーレンシが保たれることとなる。
B2.変形例2:
上述した実施例では、マルチプロセッサシステム10は、バスインタフェース部B1(B2)とメッセージハンドラMH1(MH2)とは、別個の機能部である構成であったが、メッセージハンドラMH1(MH2)がバスインタフェース部B1(B2)の一部である構成であっても構わない。なお、この場合、バスインタフェース部B1(B2)が、請求項における第1(第2)のバス接続部に相当する。
B3.変形例3:
上述した実施例では、メッセージハンドラMH2は、完了通知WR要求を受信した場合に、プロセッサコアP2に対して割り込み信号を送信していたが、本発明は、これに限定されるものではない。受信側のメッセージハンドラが、完了通知WR要求を送信側のメッセージハンドラから受信した場合に、完了通知WR要求に含まれるポインタを自己の有するレジスタに書き込んでおくだけで、受信側のプロセッサコアに明示的に通知しない構成であっても構わない。
かかる構成であっても、例えば、受信側のプロセッサコアが、定期的に、或いは、処理負荷が比較的少ないときに、受信側のメッセージハンドラに対してポインタ送信要求を送信する構成であれば、受信側のプロセッサコアはポインタを入手することができると共に、コヒーレンシを維持することが可能となる。
B4.変形例4:
上述した実施例では、マルチプロセッサシステム10は、メモリアクセス用と、メッセージ送信用と、で異なる内部バス(内部バスNEMM,NESS)を備える構成であったが、メモリアクセス用と、メッセージ送信用と、で同一の内部バスを備える構成であっても構わない。かかる構成であっても上述した実施例と同様に、コヒーレンシの維持が可能となる。
B5.変形例5:
上述した実施例では、マルチプロセッサシステム10は、プロセッサコアP1及びプロセッサコアP2が、1つの半導体基板上に集積化されているものとしたが、本発明はこれに限定されるものではない。例えば、プロセッサコアP1,バスインタフェース部B1,メッセージハンドラMH1が1つの半導体基板上に集積化され、同様に、プロセッサコアP2,バスインタフェース部B2,メッセージハンドラMH2が1つの半導体上に集積化され、メモリ20及びメモリインタフェース部MIFが1つの半導体基板上に集積化され、それぞれの半導体基板がバスで接続するといった構成であっても構わない。
B6.変形例6:
上述した実施例では、マルチプロセッサシステム10はプロセッサコアP1及びプロセッサコアP2の2つのプロセッサコアを備える構成であったが、3つ以上のプロセッサコアを備える構成であっても構わない。
本発明の一実施例としてのマルチプロセッサシステムの概要構成を示す説明図である。 マルチプロセッサシステム10において実行されるデータ送受信処理の手順の一部を示すフローチャートである。 バスインタフェース部B1から内部バスNEMMを介してメモリインタフェース部MIFに送信されるデータWR要求のパケットのデータ構造を示す説明図である。 バスインタフェース部B1から内部バスNEMMを介してメモリインタフェース部MIFに送信されるWR−ACK要求のパケットのデータ構造を示す説明図である。 バスインタフェース部B1から内部バスNESSを介してバスインタフェース部B2に送信される完了通知WR要求のパケットのデータ構造を示す説明図である。 マルチプロセッサシステム10において実行されるデータ送受信処理の手順の一部を示すフローチャートである。
符号の説明
10…マルチプロセッサシステム
20…メモリ
P1…プロセッサコア
P2…プロセッサコア
B1…バスインタフェース部
B2…バスインタフェース部
MH1…メッセージハンドラ
MH2…メッセージハンドラ
MIF…メモリインタフェース部
NEMM…内部バス
NESS…内部バス
INT1…信号線
INT2…信号線

Claims (6)

  1. 第1のプロセッサコアと、第2のプロセッサコアと、メモリと、内部バスと、前記第1のプロセッサコアを前記内部バスに接続するための第1のバス接続部と、前記メモリを前記内部バスに接続するためのメモリインタフェース部と、を備えており、前記第1のプロセッサコアと前記第2のプロセッサコアとでデータを送受信する場合に前記メモリを介して行うマルチプロセッサシステムであって、
    前記第1のプロセッサコアは、前記第2のプロセッサコア宛に送ろうとする送信データの前記メモリへの書き込み要求を、前記第1のバス接続部に送信した後に、前記送信データを前記メモリに書き込み済みであることを示す書き込み済みメッセージの、前記第2のプロセッサコアへの送信要求を前記第1のバス接続部に送信し、
    前記第1のバス接続部は、前記第1のプロセッサコアから送信された前記書き込み要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求を、前記内部バスを介して送信し、その後、前記第1のプロセッサコアから送信された前記送信要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求に対する処理の完了後に所定の応答を返すことを要求する応答要求を、前記内部バスを介して送信し、
    前記第1のバス接続部は、前記メモリインタフェース部から、前記内部バスを介して前記所定の応答を受信した場合に、前記書き込み済みメッセージを、前記第2のプロセッサコアに対して、前記内部バスを介して送信することを特徴とするマルチプロセッサシステム。
  2. 請求項1に記載のマルチプロセッサシステムであって、さらに、
    前記第2のプロセッサコアを前記内部バスに接続するための第2のバス接続部と、
    前記第2のプロセッサコアと前記第2のバス接続部とを接続する専用割り込み信号線と、
    を備え、
    前記書き込み済みメッセージが、前記第2のプロセッサコアに対して、前記内部バスを介して送信された場合に、前記第2のバス接続部は、前記書き込み済みメッセージを受信すると共に、前記第2のプロセッサコアに対して、前記専用割り込み信号線を介して割り込み信号を送信する、
    マルチプロセッサシステム。
  3. 請求項2に記載のマルチプロセッサシステムにおいて、
    前記第1のバス接続部は、前記書き込み済みメッセージを前記第2のプロセッサコアに対して前記内部バスを介して送信する場合に、前記送信データの前記メモリにおける書き込み位置を示す位置情報を、前記書き込み済みメッセージに含めて送信し、
    前記第2のバス接続部は、前記書き込み済みメッセージを受信した場合に、受信した前記書き込み済みメッセージから前記位置情報を取得し、
    前記第2のプロセッサコアは、前記第2のバス接続部から前記割り込み信号を受信した場合に、前記第2のバス接続部から前記位置情報を取得する、
    マルチプロセッサシステム。
  4. 請求項1ないし請求項3のいずれかに記載のマルチプロセッサシステムにおいて、
    前記応答要求は、WR−ACK要求であり、
    前記所定の応答は、WR−ACKである、
    マルチプロセッサシステム。
  5. 請求項1ないし請求項4のいずれかに記載のマルチプロセッサシステムであって、
    1つの半導体基板上に集積化されていることを特徴とする、
    マルチプセッサシステム。
  6. 第1のプロセッサコアと、第2のプロセッサコアと、メモリと、内部バスと、前記第1のプロセッサコアを前記内部バスに接続するための第1のバス接続部と、前記メモリを前記内部バスに接続するためのメモリインタフェース部と、を備えており、前記第1のプロセッサコアと前記第2のプロセッサコアとでデータを送受信する場合に前記メモリを介して行うマルチプロセッサシステムにおいて、前記第1のプロセッサコアから前記第2のプロセッサコア宛に送ろうとする送信データを送信するためのデータ送信方法であって、
    前記第1のプロセッサコアにおいて、前記送信データの前記メモリへの書き込み要求を、前記第1のバス接続部に送信した後に、前記送信データを前記メモリに書き込み済みであることを示す書き込み済みメッセージの、前記第2のプロセッサコアへの送信要求を前記第1のバス接続部に送信する第1の工程と、
    前記第1のバス接続部において、前記第1のプロセッサコアから送信された前記書き込み要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求を、前記内部バスを介して送信する第2の工程と、
    前記第1のバス接続部において、前記送信データの書き込み要求の送信工程の後、前記第1のプロセッサコアから送信された前記送信要求に応じて、前記メモリインタフェース部に対して、前記送信データの書き込み要求に対する処理の完了後に所定の応答を返すことを要求する応答要求を、前記内部バスを介して送信する第3の工程と、
    前記第1のバス接続部において、前記メモリインタフェース部から、前記内部バスを介して前記所定の応答を受信した場合に、前記書き込み済みメッセージを、前記第2のプロセッサコアに対して、前記内部バスを介して送信する第4の工程と、
    を備えるデータ送信方法。
JP2005341882A 2005-11-28 2005-11-28 マルチプロセッサシステム Pending JP2007148748A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005341882A JP2007148748A (ja) 2005-11-28 2005-11-28 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005341882A JP2007148748A (ja) 2005-11-28 2005-11-28 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JP2007148748A true JP2007148748A (ja) 2007-06-14

Family

ID=38210103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005341882A Pending JP2007148748A (ja) 2005-11-28 2005-11-28 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2007148748A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032248A (ja) * 2007-07-03 2009-02-12 Panasonic Corp 共有メモリを用いたバス通信装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200505A (ja) * 1993-12-30 1995-08-04 Hitachi Ltd 一斉同報通信方法およびその装置
JPH07271654A (ja) * 1994-04-01 1995-10-20 Tokyo Electron Ltd コントローラ
JP2002223214A (ja) * 2000-11-22 2002-08-09 Internatl Business Mach Corp <Ibm> クラスタ・コンピュータ環境において順序付きメッセージのためのスライディング送信ウィンドウを用いてコンピュータ・システム間の通信を行う装置および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200505A (ja) * 1993-12-30 1995-08-04 Hitachi Ltd 一斉同報通信方法およびその装置
JPH07271654A (ja) * 1994-04-01 1995-10-20 Tokyo Electron Ltd コントローラ
JP2002223214A (ja) * 2000-11-22 2002-08-09 Internatl Business Mach Corp <Ibm> クラスタ・コンピュータ環境において順序付きメッセージのためのスライディング送信ウィンドウを用いてコンピュータ・システム間の通信を行う装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009032248A (ja) * 2007-07-03 2009-02-12 Panasonic Corp 共有メモリを用いたバス通信装置

Similar Documents

Publication Publication Date Title
US9176911B2 (en) Explicit flow control for implicit memory registration
EP1750202A1 (en) Combining packets for a packetized bus
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
US6983337B2 (en) Method, system, and program for handling device interrupts
JP4369470B2 (ja) データ中継装置、ストレージ装置、および応答遅延監視方法
JP2008086027A (ja) 遠隔要求を処理する方法および装置
EP3722963A1 (en) System, apparatus and method for bulk register accesses in a processor
JPWO2006114822A1 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
US9207753B2 (en) Multiple-queue multiple-resource entry sleep and wakeup for power savings and bandwidth conservation in a retry based pipeline
CN107453845B (zh) 应答确认方法及设备
US20150199286A1 (en) Network interconnect with reduced congestion
CN116204487A (zh) 远程数据访问方法及装置
JP2007148748A (ja) マルチプロセッサシステム
JP2007148753A (ja) マルチプロセッサシステム
US20040230717A1 (en) Processing device
WO2022199357A1 (zh) 数据处理方法及装置、电子设备、计算机可读存储介质
CN114172695A (zh) 串行防火墙报文转发方法、装置、设备及存储介质
JP2014204160A (ja) ゲートウェイ装置
US8099558B2 (en) Fairness mechanism for starvation prevention in directory-based cache coherence protocols
US8782318B2 (en) Increasing Input Output Hubs in constrained link based multi-processor systems
US8060667B2 (en) Apparatus and method for processing high speed data using hybrid DMA
WO2022188807A1 (zh) 数据传输系统及相关设备
CN114745325B (zh) 一种基于PCIe总线的MAC层数据交换方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100420

A131 Notification of reasons for refusal

Effective date: 20100511

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20100705

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20110405

Free format text: JAPANESE INTERMEDIATE CODE: A02