(57)【要約】【課題】複数のプロセッサがアクセスするメモリ内のデータを、他のメモリに効率よく伝送する。【解決手段】上流側プロセッサユニット１は、メモリ８、プロセッサ９、メモリアクセスコントローラ１１、送信部２０を有する。下流側プロセッサユニット２は、メモリ１１１、プロセッサ１１６、受信部１０１を有する。上流側プロセッサユニットのメモリへは、ホストプロセッサユニット４、プロセッサ９、メモリアクセスコントローラ１１からアクセス可能であり、下流側プロセッサユニットのメモリへは、ホストプロセッサユニット、プロセッサ１１６、受信部からアクセス可能である。受信部はＦＩＦＯメモリ１０３を有する。メモリアクセスコントローラは、メモリ８内のデータを送信部を経由して受信部内のＦＩＦＯメモリに書込む。受信部は、ＦＩＦＯメモリ内のデータをメモリ１１１に書き込む。【選択図】  図１
2004318628.tif 000002
【特許請求の範囲】
【請求項１】
共通バスを介してホストプロセッサユニットと第１および第２プロセッサユニットとを接続した演算処理装置において、前記第１及び第２プロセッサユニットはそれぞれ演算処理するプロセッサと、このプロセッサで処理するデータを記憶するメモリと、プロセッサで処理するデータを他のプロセッサユニットから受け入れるまたは他のプロセッサユニットに転送する第１および第２通信インターフェースと、前記メモリと前記第１および第２通信インターフェース間のデータ転送を制御するＤＭＡコントローラとを備え、前記第２プロセッサユニットの第１通信インターフェースはＦＩＦＯメモリを有する第１受信部を備え、第１プロセッサユニットのメモリに記憶されたデータを第２プロセッサユニットのメモリに転送可能にしたことを特徴とする演算処理装置。
【請求項２】
前記メモリが属するプロセッサユニットが有するプロセッサおよびＤＭＡコントローラと前記ホストプロセッサユニットをこのメモリにアクセス可能に接続したことを特徴とする請求項１に記載の演算処理装置。
【請求項３】
前記第１プロセッサユニットの第２通信インターフェースはＦＩＦＯメモリを有する第２受信部を備え、第２プロセッサユニットのメモリに記憶されたデータを第１プロセッサユニットのメモリに転送可能にしたことを特徴とする請求項２に記載の演算処理装置。
【請求項４】
前記ＤＭＡコントローラは自己の属するプロセッサユニットのメモリからＦＩＦＯメモリを介して他のプロセッサユニットのメモリにデータを転送するときに、転送元のメモリのデータと、転送先のメモリのアドレスと、転送データ量とをパケットとして転送することを特徴とする請求項２または３に記載の演算処理装置。
【請求項５】
前記プロセッサにレジスタを設け、このレジスタは転送元のメモリのアドレスと、転送先のメモリのアドレスと、転送データ量と、転送開始フラッグとを格納可能であり、このプロセッサが属するプロセッサユニットが有するＤＭＡコントローラが前記プロセッサに転送終了信号を出力することを特徴とする請求項４に記載の演算処理装置。
【請求項６】
前記プロセッサにレジスタを設け、このレジスタは転送元のメモリのアドレスと、転送先のメモリのアドレスと、転送データ量と、転送開始フラッグと、転送終了フラッグとを格納可能であることを特徴とする請求項４に記載の演算処理装置。
【請求項７】
前記第１および第２プロセッサユニットの第２通信インターフェースにそれぞれ送信部を設け、第１プロセッサユニットのメモリから第２プロセッサユニットの第１通信インターフェースの受信部にデータを転送するときに、この受信部が有する前記ＦＩＦＯメモリに送信された転送先メモリのアドレスが第２プロセッサユニットが有するメモリのアドレスでないときは、このＦＩＦＯメモリに送信されたパケットを第２プロセッサの第２通信インターフェースが有する送信部に転送することを特徴とする請求項４に記載の演算処理装置。
【請求項８】
前記第１および第２プロセッサユニットの第２通信インターフェースにそれぞれ送信部を設け、第２プロセッサユニットのメモリから第１プロセッサユニットの第２通信インターフェースの受信部にデータを転送するときに、この受信部が有する前記ＦＩＦＯメモリに送信された転送先メモリのアドレスが第１プロセッサユニットが有するメモリのアドレスでないときは、このＦＩＦＯメモリに送信されたパケットを第１プロセッサの第１通信インターフェースが有する送信部に転送することを特徴とする請求項４に記載の演算処理装置。
【請求項９】
前記第１および第２プロセッサユニットが有するプロセッサに共有メモリを接続したことを特徴とする請求項４に記載の演算処理装置。
【請求項１０】
共通バスを介してホストプロセッサユニットに接続された複数のプロセッサユニットを有する演算処理装置において、複数のプロセッサユニットの各々はデータ処理するプロセッサと、このプロセッサで処理するデータを記憶するメモリと、プロセッサで処理するデータを他のプロセッサユニットから受け入れるまたは他のプロセッサユニットに転送する第１および第２通信インターフェースと、前記メモリと前記第１および第２通信インターフェース間のデータ転送を制御するＤＭＡコントローラとを備え、前記第１および第２通信インターフェースは送信部とＦＩＦＯメモリを有する受信部とを備え、前記プロセッサと前記ＤＭＡコントローラと前記ホストプロセッサユニットとは前記メモリにアクセス可能に接続されており、一のプロセッサユニットのメモリに記憶されたデータを他のプロセッサユニットのメモリに転送可能にしたことを特徴とする演算処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサ間でデータを伝送する演算処理装置に関する。
【０００２】
【従来の技術】
従来の演算処理装置の例が、特許文献１に記載されている。この公報に記載の演算処理装置では、プロセッサ間のデータ伝送速度及び効率を向上させるために、送信側プロセッサと受信側プロセッサにそれぞれデータ送信用及びデータ受信用のＦＩＦＯ（ｆｉｒｓｔ  ｉｎ，  ｆｉｒｓｔ  ｏｕｔ）メモリを設けている。そして、これらのメモリ間を接続して、プロセッサ間の実効的データ伝送速度を向上させている。さらに、受信側プロセッサに受信用交替バッファ方式のメモリを設け、受信用ＦＩＦＯメモリから受信したデータを受信用バッファメモリの一方にＤＭＡ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）方式で転送している。また、ＦＩＦＯメモリからＤＭＡデータ転送する転送先バッファメモリを処理フェーズ毎に交替させて、プロセッサ間データ伝送によるプロセッサの処理能力の低下を排除している。
【特許文献１】
特開平５−２７４２７９号公報（第１６頁、図８）
【０００３】
【発明が解決しようとする課題】
上記特許文献１では、複数のプロセッサがアクセスするメモリ内のデータを、複数のプロセッサがアクセスする他のメモリに効率よく伝送することについては、充分には考慮されていない。
【０００４】
本発明は上記従来技術の不具合に鑑みなされたものであり、その目的は複数のプロセッサがアクセスするメモリ内のデータを、他のメモリに効率よく伝送することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するための本発明の特徴は、共通バスを介してホストプロセッサユニットと第１および第２プロセッサユニットとを接続した演算処理装置において、第１および第２プロセッサユニットはそれぞれ演算処理するプロセッサと、このプロセッサで処理するデータを記憶するメモリと、プロセッサで処理するデータを他のプロセッサユニットから受け入れるまたは他のプロセッサユニットに転送する第１および第２通信インターフェースと、メモリと第１および第２通信インターフェース間のデータ転送を制御するＤＭＡコントローラとを備え、第２プロセッサユニットの第１通信インターフェースはＦＩＦＯメモリを有する第１受信部を備え、第１プロセッサユニットのメモリに記憶されたデータを第２プロセッサユニットのメモリに転送可能にしたものである。
【０００６】
そしてこの特徴において好ましくは、メモリが属するプロセッサユニットが有するプロセッサおよびＤＭＡコントローラとホストプロセッサユニットをこのメモリにアクセス可能に接続したものである。また好ましくは、第１プロセッサユニットの第２通信インターフェースはＦＩＦＯメモリを有する第２受信部を備え、第２プロセッサユニットのメモリに記憶されたデータを第１プロセッサユニットのメモリに転送可能にしたものである。さらに、ＤＭＡコントローラは自己の属するプロセッサユニットのメモリからＦＩＦＯメモリを介して他のプロセッサユニットのメモリにデータを転送するときに、転送元のメモリのデータと、転送先のメモリのアドレスと、転送データ量とをパケットとして転送するのがよい。
【０００７】
より好ましくは、以上の特徴においてプロセッサユニットにレジスタを設け、このレジスタは転送元のメモリのアドレスと、転送先のメモリのアドレスと、転送データ量と、転送開始フラッグとを格納可能であり、このプロセッサが属するプロセッサユニットが有するＤＭＡコントローラが前記プロセッサに転送終了信号を出力するか、またはプロセッサユニットにレジスタを設け、このレジスタは転送元のメモリのアドレスと、転送先のメモリのアドレスと、転送データ量と、転送開始フラッグと、転送終了フラッグとを格納可能なことである。
【０００８】
さらに第１および第２プロセッサユニットの第２通信インターフェースにそれぞれ送信部を設け、第１プロセッサユニットのメモリから第２プロセッサユニットの第１通信インターフェースの受信部にデータを転送するときに、この受信部が有する前記ＦＩＦＯメモリに送信された転送先メモリのアドレスが第２プロセッサユニットが有するメモリのアドレスでないときは、このＦＩＦＯメモリに送信されたパケットを第２プロセッサの第２通信インターフェースが有する送信部に転送するか、もしくは第１および第２プロセッサユニットの第２通信インターフェースにそれぞれ送信部を設け、第２プロセッサユニットのメモリから第１プロセッサユニットの第２通信インターフェースの受信部にデータを転送するときに、この受信部が有する前記ＦＩＦＯメモリに送信された転送先メモリのアドレスが第１プロセッサユニットが有するメモリのアドレスでないときは、このＦＩＦＯメモリに送信されたパケットを第１プロセッサの第１通信インターフェースが有する送信部に転送するのがよい。また、第１および第２プロセッサユニットが有するプロセッサに共有メモリを接続してもよい。
【０００９】
上記目的を達成する本発明の他の特徴は、共通バスを介してホストプロセッサユニットに接続された複数のプロセッサユニットを有する演算処理装置において、複数のプロセッサユニットの各々はデータ処理するプロセッサと、このプロセッサで処理するデータを記憶するメモリと、プロセッサで処理するデータを他のプロセッサユニットから受け入れるまたは他のプロセッサユニットに転送する第１および第２通信インターフェースと、メモリと第１および第２通信インターフェース間のデータ転送を制御するＤＭＡコントローラとを備え、第１および第２通信インターフェースは送信部とＦＩＦＯメモリを有する受信部とを備え、プロセッサとＤＭＡコントローラとホストプロセッサユニットとはメモリにアクセス可能に接続されており、一のプロセッサユニットのメモリに記憶されたデータを他のプロセッサユニットのメモリに転送可能にしたものである。
【００１０】
【発明の実施の形態】
以下本発明の一実施例を、図面を用いて説明する。
図１は、本発明に係る演算処理装置の一実施例のブロック図である。演算処理装置５０は、演算処理しバス６に接続された２個の上流側及び下流側のプロセッサユニット１、２と、バス５に接続されたホストプロセッサユニット４を有している。上流側プロセッサユニット１、２が接続されるバス６とホストプロセッサユニット４が接続されるバス５とは、バスブリッジ７で接続されている。
【００１１】
上流側プロセッサユニット１は、バス２２に接続されたプロセッサ９、およびメモリ８、ＤＭＡコントローラ１１、レジスタ２１、メモリインターフェース１２、第１の通信インターフェース２４、第２の通信インターフェース２５を有する。第１の通信インターフェース２４は、送信部２０とＦＩＦＯメモリ１８を有する受信部１７とを備える。第２の通信インターフェース２５は送信部１６とＦＩＦＯメモリ１４を有する受信部１３とを備える。
【００１２】
メモリインターフェース１２は、メモリ８およびプロセッサインターフェース２３、バスインターフェース１０、ＤＭＡコントローラ１１、第１の通信インターフェース２４の受信部１７内に設けたインターフェース１９、第２の通信インターフェース２５の受信部１３内に設けられるとともに送信部２０に接続されるインターフェース１５に接続されている。ＤＭＡコントローラ１１は、第１の通信インターフェース２４の送信部２０および第２の通信インターフェース２５の送信部１６、レジスタ２１に接続されている。
【００１３】
プロセッサインターフェース２３は、バス２２およびレジスタ２１、メモリインターフェース１２に接続されている。レジスタ２１内には、図２に詳細を示す転送元アドレス２００および転送データサイズ２０１、転送先アドレス２０２、転送開始フラグ２０３、転送終了フラグ２０４領域が設けられている。
【００１４】
下流側プロセッサユニット２も、上流側プロセッサユニット１と同様に構成されている。すなわち、下流側プロセッサユニット２は、プロセッサ１１６およびメモリ１１１、ＤＭＡコントローラ１１３、レジスタ１１４、メモリインターフェース１１２、第１の通信インターフェース１０５、第２の通信インターフェース１００、プロセッサインターフェース１１５、バスインターフェース１１０を有している。
【００１５】
第１の通信インターフェース１０５は送信部１０６と、ＦＩＦＯメモリ１０８とインターフェース１０９とを有する受信部１０７を備える。第２の通信インターフェース１００は、送信部１０２と、ＦＩＦＯメモリ１０３とインターフェース１０４とを有する受信部１０１とを備える。
【００１６】
上流側プロセッサユニット１と下流側プロセッサユニット２とは、以下のように接続されている。上流側プロセッサユニット１の第１の通信インターフェース２４内に設けた送信部２０は、下流側プロセッサユニット２の第２の通信インターフェース１００内に設けた受信部１０１とＦＩＦＯメモリ１０３とに接続されている。
【００１７】
上流側プロセッサユニット１の第１の通信インターフェース２４内に設けた受信部１７は、下流側プロセッサユニット２の第２の通信インターフェース１００内に設けた送信部１０２に接続されている。受信部１７内に設けたＦＩＦＯメモリ１８も、下流側プロセッサユニット２の第２の通信インターフェース１００内に設けた送信部１０２に接続されている。
【００１８】
以上のように構成した演算処理装置５０には、図１に破線で示したように上流側プロセッサユニット１と同様の機能を有するプロセッサユニット３およびプロセッサユニット９０も取り付け可能である。プロセッサユニット３、９０を付加したときには、下流側プロセッサユニット２とプロセッサユニット３とを、上流側プロセッサユニット１と下流側プロセッサユニット２を接続したときと同様に接続する。プロセッサユニット９０と上流側プロセッサユニット１とは、上流側プロセッサユニット１と下流側プロセッサユニット２とを接続したときと同様に接続する。
【００１９】
このように構成した本実施例の動作について、以下に説明する。ホストプロセッサユニット４が上流側プロセッサユニット１のメモリ８にアクセスするときは、バスブリッジ７にアクセスする。次いで、バス６およびこのバス６に接続されたバスインターフェース１０、バスインターフェース１０に接続されたメモリインターフェース１２を介して、メモリ８にアクセスする。
【００２０】
一方、上流側プロセッサユニット１内のプロセッサ９は、プロセッサインターフェース２３とメモリインターフェース１２を順に介してメモリ８にアクセスし、メモリ８内の所定領域のデータを、隣り合う下流側プロセッサユニット２内のメモリ１１１に転送可能である。この動作について、以下に説明する。
【００２１】
プロセッサインターフェース２３に接続されたレジスタ２１内の転送開始フラグ２０３がアクティブになると、データ転送が開始される。また、データ転送が終了すると、レジスタ２１内の転送終了フラグ２０４がアクティブになる。転送データサイズ２０１の領域には、転送対象となるデータの個数が格納される
。プロセッサ９は、レジスタ２１内の転送終了フラグ２０４と転送開始フラグ２０３とをチェックし、転送終了フラグ２０４がアクティブで転送開始フラグ２０３が非アクティブの場合だけ、転送可能ステータスと認識して転送開始手順に進む。上流側プロセッサユニット１が転送可能ステータスになっていないときは、プロセッサ９は、転送終了フラグ２０４と転送開始フラグ２０３とをチェックする。そして、転送可能ステータスになるまで転送処理を行わない。
【００２２】
プロセッサ９は、上流側プロセッサユニット１が有する転送元メモリ８のアドレス２００と、転送するデータのサイズ（量）２０１と、下流側プロセッサユニット２が有する転送先メモリ１１１のアドレス２０２とをレジスタ２１に書込む。それとともに、転送開始フラグ２０３をアクティブにする。
【００２３】
上流側プロセッサユニット１が有するレジスタ２１内の転送開始フラグ２０３がアクティブになると、ＤＭＡコントローラ１１はレジスタ２１内の転送終了フラグ２０４を非アクティブにする。その後、図３に詳細を示すパケットｐを生成する。生成されたパケットｐは、第１の通信インターフェース２４の送信部２０を経由して、下流側のプロセッサユニット２が有する第２の通信インターフェース１００の受信部１０１に送付される。パケットｐの送付が終了したら、ＤＭＡコントローラ１１は、転送開始フラグを非アクティブにする。
【００２４】
パケットｐは、転送先アドレスａｄｒ＿ｄと、転送データサイズｓｉｚｅ＿ｐと、転送データｄａｔａ＿０〜ｄａｔａ＿ｎ−１と、転送元アドレスａｄｒ＿ｓとを含んでいる。ＤＭＡコントローラ１１は、このパケットｐを以下のように生成する。ＤＭＡコントローラ１１は、レジスタ２１内の転送先アドレス２０２を参照して転送先アドレスａｄｒ＿ｄを生成する。同様に、レジスタ２１内の転送元アドレス２００を参照して転送元アドレスａｄｒ＿ｓを生成する。
【００２５】
転送データサイズｓｉｚｅ＿ｐは、ｎ個のデータｄａｔａ＿０〜ｄａｔａ＿ｎ−１を有する。ＤＭＡコントローラ１１はさらに、メモリＩＦ１２経由で転送元アドレスａｄｒ＿ｓであるメモリ８のアドレスから転送データサイズｓｉｚｅ＿ｐ分のデータを読み出し、転送データｄａｔａ＿０〜ｄａｔａ＿ｎ−１を生成する。
【００２６】
ＤＭＡコントローラ１１が生成し送付されたパケットｐは、第１の通信インターフェース２４の送信部２０により、ストローブ信号（／ＳＴＲＢ）３０とともに第２の通信インターフェース１００の受信部１０１に送付される。ストローブ信号３０は、送信部２０から受信部１０１にパケットｐを送付するときにはアクティブである。ストローブ信号３０のタイミングチャートの一例を、図３に示す。
【００２７】
ここで、ストローブ信号３０を、信号がローであるときにアクティブとなるローアクティブ信号とした。図３に示したレディ信号（ＲＤＹ）３１は、受信部１０１から送信部２０を経由してＤＭＡコントローラ１１に送付される信号である。レディ信号３１がアクティブのときだけ、受信部１０１はＤＭＡコントローラ１１から送信部２０を経由して送付されるパケットｐを受信できる。図３では、レディ信号３１をハイアクティブとした。
【００２８】
パケットｐの転送容量Ｂが少なく、転送データサイズ２０１で設定されたデータ数Ａだけデータを送付しきれない場合には、ＤＭＡコントローラ１１は次のパケットｑをパケットｐと同様に作成する。そして第１の通信インターフェース２４の送信部２０にパケットｐで送付できなかった残りのデータをパケットｑとして送付する。送信部２０も、パケットｐと同様にパケットｑを下流側のプロセッサユニット２が有する受信部１０１に送付する。なお、ＤＭＡコントローラ１１が生成するパケットｑの転送先アドレスａｄｒ＿ｄ＋ｎは、パケットｐが転送した転送データｄａｔａ＿ｎ−１の転送先アドレスの次のアドレスに設定される。パケットｑの転送元アドレスａｄｒ＿ｓ＋ｎは、パケットｐが転送した転送データｄａｔａ＿ｎ−１の転送元アドレスの次のアドレスに設定される。
【００２９】
パケットｑが転送するデータ数がｎ個であるから、パケットｑの転送データサイズｓｉｚｅ＿ｑは、パケットｐと同様に（ｎ＋３）個である。転送データサイズ２０１に設定されたデータ数を送付するためには、パケットｑが送付すべきデータがｎ個未満のｍ個の場合には、パケットｑの転送データサイズｓｉｚｅ＿ｑを（ｍ＝Ａ−Ｂ）個とする。
【００３０】
パケットｑで転送データサイズ２０１に設定されたデータを全て受信部１０１に送付したら、ＤＭＡコントローラ１１は転送終了フラグ２０４をアクティブにする。パケットｑで転送データサイズ２０１に設定されたデータの中で、受信部１０１に送付しきれないものがあったら、ＤＭＡコントローラ１１はパケットｑと同様に次のパケットｒを生成して受信部１０１に送付する。同様の手順を転送データサイズ２０１に設定された数のデータが全て受信部１０１に送付されるまで繰り返す。
【００３１】
下流側プロセッサユニット２の第２の通信インターフェース１００が有する受信部１０１に送付されたパケットｐの各情報は、受信部１０１内のＦＩＦＯメモリ１０３に書き込まれる。受信部１０１が有するインターフェース１０４は、ＦＩＦＯメモリ１０３内のパケットｐを読み出す。その際、転送先アドレスａｄｒ＿ｄが下流側プロセッサユニット２内のメモリ１１１のアドレスを示している場合には、転送データサイズｓｉｚｅ＿ｐと転送データｄａｔａ＿０〜ｄａｔａ＿ｎ−１とをＦＩＦＯメモリ１０３から読み出す。その後、転送先アドレスａｄｒ＿ｄを先頭アドレスとして、転送データｄａｔａ＿０〜ｄａｔａ＿ｎ−１を順にメモリ１１１に書き込む。
【００３２】
転送先アドレスａｄｒ＿ｄが、メモリ１１１のアドレスを示していないときには、受信部１０１内のインターフェース１０４は、パケットｐを第１の通信インターフェース１０５が有する送信部１０６に送付する。送信部１０６は、インターフェース１０４とＤＭＡコントローラ１１３とからのアクセスを調停する回路を備えており、さらに下流のプロセッサユニット３内の図示しない受信部にパケットｐを送信する。送信部２０は、送信部１０６と同様の機能を有している。これにより、メモリ８の内容をプロセッサユニット３内のメモリ（図示せず）に転送することもできる。
【００３３】
ＦＩＦＯメモリ１０３が満杯であって送信部２０から送られた信号を書き込むことができない場合には、受信部１０１がレディ信号３１を非アクティブにする。レディ信号３１が非アクティブのときには、送信部２０から受信部１０１に送付すべきパケットがあっても、ストローブ信号３０を非アクティブにしてパケットの送付を中止する。このパケット送付のタイミングチャートの一例を、図４に示す。
【００３４】
パケットｑを送付している途中でレディ信号３１が非アクティブになった場合である。パケットｑの一部であるパケットｑ＿が送付された後に、レディ信号３１が再びアクティブになるまでパケットの送付を中断する。そしてレディ信号３１が再びアクティブになったらパケットｑの残りの部分であるパケットｑ＿を送付する。
【００３５】
第１の通信インターフェース２４の受信部１７は、第２の通信インターフェース１００の受信部１０１とほぼ同じであり、第２の通信インターフェース１００の送信部１０２は、第１の通信インターフェース２４の送信部２０ほぼ同じである。また、第２の通信インターフェース２５は、第１の通信インターフェース２４と実質的に同じものである。
【００３６】
メモリインターフェース１２は、アービタを有している。このアービタは、メモリ８に対するホストプロセッサユニット４およびプロセッサ９、ＤＭＡコントローラ１１、第１の通信インターフェース２４、第２の通信インターフェース２５からのアクセスを調停する。アービタの調停においては、各アクセス元に対して平等にしてもよいし、プロセッサ９からのアクセスを優先してもよい。プロセッサ９からのアクセスを優先したときは、他からメモリ８にアクセスしても、プロセッサ９からメモリ８へのアクセスを優先しているので、プロセッサ９がクリティカルな処理をしているとその処理が優先して処理される。
【００３７】
本実施例によれば、プロセッサ９のみならずホストプロセッサユニット４および他のプロセッサユニット内のメモリデータを転送するＤＭＡコントローラからもメモリ８にアクセスできるので、いずれのアクセス元が書き込んだデータも他の任意のプロセッサユニット内のメモリに転送できる。また、本実施例によれば、送信部と受信部を一緒にした第１、第２の通信インターフェースを各プロセッサユニットが備えるので、双方向にデータ転送できる。さらに、データ転送とプロセッサでの処理とを並列に行える。これにより、複数のプロセッサを用いて効率的に並列処理できる。
【００３８】
ところで、パケットの転送データサイズｓｉｚｅ＿ｐ、ｓｉｚｅ＿ｑ、…が、ＦＩＦＯメモリ１０３の容量以下であれば効率的にデータを転送できる。その理由は以下のとおりである。パケットの転送データサイズがＦＩＦＯメモリ１０３の容量以下であるから、メモリ８からメモリ１１１への転送要求が発生したら、ＤＭＡコントローラ１１によりメモリ８から転送されたパケットのデータを全て一旦ＦＩＦＯメモリ１０３に書き込むことができる。例えば、プロセッサ１１６がメモリ１１１にアクセスしている等の理由で、インターフェース１０４がパケットのデータをメモリ１１１に書き込むことができずに待っているときでも、ＤＭＡコントローラ１１は、待たされることなくパケットを第２の通信インターフェース１００に送付することができる。ＦＩＦＯメモリ１０３の容量が大きければ大きいほど効果的である。
【００３９】
上記実施例では、レジスタ２１の転送終了フラグ２０４の変化でデータの転送終了をプロセッサ９に通知しているが、ＤＭＡコントローラ１１からプロセッサ９に割り込み信号９３を用いて通知することもできる。この場合、プロセッサ９は転送終了フラグ２０４をチェックしなくても、他の処理を続けてデータの転送終了を知ることができる。
【００４０】
また、各プロセッサユニット１、２、３、９０に設けた各プロセッサ９、１１６等がアクセス可能な共有メモリ９１を設けてもよい。共有メモリ９１を設けると、ランダムアクセス型のデータであれば共有メモリ９１を用いてプロセッサ間でデータ通信することができる。ランダムアクセス型以外のデータのときには、例えば上記実施例に示した方法でデータ転送する。データの種類に応じて転送パスを２つ形成できるので、プロセッサユニット間でデータを一層効率的に転送できる。
【００４１】
【発明の効果】
本発明によれば、ＤＭＡ転送パスにおいて受信部にＦＩＦＯメモリを設けてＦＩＦＯメモリに一時的にデータを貯えることを可能にしたので、ＤＭＡコントローラとプロセッサからのアクセスを止めずに転送できる。したがって、複数のプロセッサがアクセスするメモリ内のデータを、複数のプロセッサがアクセスする他のメモリに効率よく転送できる。これにより、複数のプロセッサを用いて効率的に並列処理できる。
【図面の簡単な説明】
【図１】本発明に係る演算処理装置の一実施例のブロック図。
【図２】図１に示した演算処理装置のレジスタ内領域を示す図。
【図３】図１に示した演算処理装置のパケット図およびタイミングチャート。
【図４】図１に示した演算処理装置のパケット図およびタイミングチャート。
【符号の説明】
１、２、３、９０…プロセッサユニット、４…ホストプロセッサユニット、８、１１１…メモリ、９、１１６…プロセッサ、１１、１１３…ＤＭＡコントローラ、１３、１７、１０１、１０７…受信部、１４、１８、１０３、１０８…ＦＩＦＯメモリ、１５、１９、１０４、１０９…インターフェース、１６、２０、１０２、１０６…送信部、２１、１１４…レジスタ、９１…共有メモリ。
【図１】
2004318628.tif 000003
【図２】
2004318628.tif 000004
【図３】
2004318628.tif 000005
【図４】
2004318628.tif 000006