(57)【要約】【課題】  本発明が解決しようとする課題は、共有メモリを介さずに、ＣＰＵ間のデータを送受信する技術を提供することにある。【解決手段】  本発明は、マルチＣＰＵシステムにおける２つのＣＰＵを有し、この２つのＣＰＵはそれぞれ他方のＣＰＵのレジスタ又はＲＡＭを自身のメモリ空間に割り付けている。そして、自身のメモリ空間に割り付けられた他方のＣＰＵのレジスタ又はＲＡＭの領域にデータを書込んだり、自身のメモリ空間に割り付けられた他方のＣＰＵのレジスタ又はＲＡＭの領域からデータを読出したりすることにより、データの転送を行う。【選択図】  図１
2005301714.tif 000002
【特許請求の範囲】
【請求項１】
複数の中央処理装置を有するマルチＣＰＵシステムであって、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出し、第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する検出手段と、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送し、前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送するデータ転送制御手段と
を有することを特徴とするマルチＣＰＵシステム。
【請求項２】
前記データ転送制御手段は、データを転送する際、ダイレクト・メモリ・アクセス転送する手段であることを特徴とする請求項１に記載のマルチＣＰＵシステム。
【請求項３】
前記ＣＰＵシステムは、前記データ転送制御手段によりデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込制御手段を有することを特徴とする請求項１又は請求項２に記載のマルチＣＰＵシステム。
【請求項４】
複数の中央処理装置を有するマルチＣＰＵシステムのデータ転送方法であって、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出する読出検出ステップと、
第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する検出する書込検出ステップと、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送する読出データ転送ステップと、
前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送する書込データ転送ステップと
を有することを特徴とするデータ転送方法。
【請求項５】
前記読出データ転送ステップ及び書込データ転送ステップは、データを転送する際、ダイレクト・メモリ・アクセス転送することを特徴とする請求項４に記載のデータ転送方法。
【請求項６】
前記データ転送方法は、前記読出データ転送ステップ又は書込データ転送ステップでデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込ステップを有することを特徴とする請求項４又は請求項５に記載のデータ転送方法。
【請求項７】
複数の中央処理装置を有するマルチＣＰＵシステムのプログラムであって、
前記プログラムは、マルチＣＰＵシステムを、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出し、第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する検出手段と、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送し、前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送するデータ転送制御手段と
して機能させることを特徴とするプログラム。
【請求項８】
前記プログラムは、前記データ転送制御手段を、データを転送する際、ダイレクト・メモリ・アクセス転送する手段として機能させることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記プログラムは、前記マルチＣＰＵシステムを、前記データ転送制御手段によりデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込制御手段として機能させることを特徴とする請求項７又は請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵを有するマルチＣＰＵに関し、特に、ＣＰＵ間のデータ転送に関する。
【背景技術】
【０００２】
従来のマルチＣＰＵシステムの例を図８に、メモリマップを図９に示す。マルチＣＰＵは、図８に示す通り、ＣＰＵ１０とＣＰＵ１１とを有する。このような構成において、ＣＰＵ１０がＣＰＵ１１のレジスタにデータを書き込む場合、ＣＰＵ１０のメモリ空間にマッピングされた共有メモリのアドレスにデータを書き込み、そのデータを共有メモリ制御部が最終的に共有メモリにデータを書き込みしていた。（例えば、特許文献１）。
【特許文献１】特開平１０―１３４０１３  この技術は、メインＣＰＵとサブＣＰＵとの間でデータを受け渡す際、共有メモリを介してデータを受け渡している。詳細には、メインＣＰＵのメモリからのデータ読出動作の開始を検出すると、共有メモリへのデータ書込みの動作を開始する。そして、共有メモリに書込まれたデータを読み出して、転送先のメモリに書込む技術である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した従来技術は、ＣＰＵ１０とＣＰＵ１１との間のデータ転送を、共有ＲＡＭを経由して実行されるため、共有ＲＡＭの値と、ＣＰＵ１０が保持するレジスタの値又はＲＡＭの値若しくは共有ＲＡＭの値と、ＣＰＵ１１が保持するレジスタの値若しくはＲＡＭの値との同時性を保つための手段がアプリケーションで必要となる。
【０００４】
又、ＣＰＵ１０及びＣＰＵ１１が保持するレジスタ又はＲＡＭの容量と同一の容量である共有メモリが必要となり、コストが増加する。
【０００５】
そこで、本発明が解決しようとする課題は、共有メモリを介さずに、ＣＰＵ間のデータを送受信する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、複数の中央処理装置を有するマルチＣＰＵシステムであって、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出し、第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する検出手段と、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送し、前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送するデータ転送制御手段と
を有することを特徴とする。
【０００７】
上記課題を解決するための第２の発明は、上記第１の発明において、前記データ転送制御手段は、データを転送する際、ダイレクト・メモリ・アクセス転送する手段であることを特徴とする。
【０００８】
上記課題を解決するための第３の発明は、上記第１又は上記第２の発明において、前記ＣＰＵシステムは、前記データ転送制御手段によりデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込制御手段を有することを特徴とする。
【０００９】
上記課題を解決するための第４の発明は、複数の中央処理装置を有するマルチＣＰＵシステムのデータ転送方法であって、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出する読出検出ステップと、
第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する書込検出ステップと、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送する読出データ転送ステップと、
前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送する書込データ転送ステップと
を有することを特徴とする。
【００１０】
上記課題を解決するための第５の発明は、上記第４の発明において、前記読出データ転送ステップ及び書込データ転送ステップは、データを転送する際、ダイレクト・メモリ・アクセス転送することを特徴とする。
【００１１】
上記課題を解決するための第６の発明は、上記第４又は第５の発明において、前記データ転送方法は、前記読出データ転送ステップ又は書込データ転送ステップでデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込ステップを有することを特徴とする。
【００１２】
上記課題を解決するための第７の発明は、複数の中央処理装置を有するマルチＣＰＵシステムのプログラムであって、
前記プログラムは、マルチＣＰＵシステムを、
第１の中央処理装置が、自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域からデータを読出した場合、そのデータ読出を検出し、第１の中央処理装置が自身のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを書込んだ場合、そのデータ書込を検出する検出手段と、
前記データ読出が検出された場合、前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送し、前記データ書込が検出された場合、前記第１の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域から前記第２の中央処理装置のメモリ空間に割り付けられている第２の中央処理装置のメモリ領域にデータを転送するデータ転送制御手段と
して機能させることを特徴とするプログラム。
【００１３】
上記課題を解決するための第８の発明は、上記第７の発明において、前記プログラムは、前記データ転送制御手段を、データを転送する際、ダイレクト・メモリ・アクセス転送する手段として機能させることを特徴とする。
【００１４】
上記課題を解決するための第９の発明は、上記第７又は第８の発明において、前記プログラムは、前記マルチＣＰＵシステムを、前記データ転送制御手段によりデータを転送した後、前記第２の中央処理装置に対して割込みを発生し、データが更新されたことを示す更新通知を送信する割込制御手段として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によると、ＣＰＵ同士の間の通信において、自身のメモリ空間に割り付けられた他方のＣＰＵメモリ空間に存在するＲＡＭ又はレジスタにアクセスすることにより、２ＣＰＵ間のデータ送受信に必要な手続きを簡略することが出来る。
【００１６】
更に、本発明によると、ＣＰＵ１０及びＣＰＵ１１が保持するレジスタ又はＲＡＭの容量と、同一の容量である共有メモリを持つ必要がなくなり、コストを削減することが出来る。
【００１７】
又、データの転送後、自身のアプリケーションから他方のアプリケーションに割り込みを発生させることにより、転送されたデータが更新されたことを相手に通知することが出来る。
【発明を実施するための最良の形態】
【００１８】
本発明は、マルチＣＰＵシステムにおける２つのＣＰＵを有し、この２つのＣＰＵはそれぞれ他方のＣＰＵのレジスタ又はＲＡＭを自身のメモリ空間に割り付けている。そして、自身のメモリ空間に割り付けられた他方のＣＰＵのレジスタ又はＲＡＭの領域にデータを書込んだり、自身のメモリ空間に割り付けられた他方のＣＰＵのレジスタ又はＲＡＭの領域からデータを読出したりすることにより、データの転送を行う。
【実施例１】
【００１９】
本発明における実施例１について説明する。
【００２０】
図１は、本発明におけるマルチＣＰＵシステムの構成図である。
【００２１】
図１中、ＣＰＵシステムは、ＣＰＵ（中央処理装置）１０，１１と、レジスタ２０，２１と、ＲＡＭ３０，３１と、アドレス検出部４０，４１と、データ転送制御部６とを有する。尚、本実施例においてＣＰＵシステムは２つのＣＰＵを保持している場合について説明するが、３つ以上あってもよい。
【００２２】
ＣＰＵ１０はレジスタ２０とアドレス検出部４０とを有し、同様に、ＣＰＵ１１はレジスタ２１とアドレス検出部４１とを有す。又、ＣＰＵ１０及びＣＰＵ１１は、図２に示すようなメモリマップを各々のメモリ空間に有している。
【００２３】
ＣＰＵ１０は、レジスタ２１にデータを書込む場合、自身のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域にデータを書込み、ＲＡＭ３１にデータを書込む場合、自身のメモリ空間に割り付けられているＣＰＵ１１ＲＡＭ領域にデータを書込む。更に、ＣＰＵ１０は、レジスタ２１からデータを読み出す場合、自身のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域からデータを読み出し、ＲＡＭ３１からデータを読み出す場合、自身のメモリ空間に割り付けられているＣＰＵ１１ＲＡＭ領域からデータを読み出す。
【００２４】
同様に、ＣＰＵ１１は、レジスタ２０にデータを書込む場合、自身のメモリ空間に割り付けられているＣＰＵ１０レジスタ領域にデータを書込み、ＲＡＭ３０にデータを書込む場合、自身のメモリ空間に割り付けられているＣＰＵ１０ＲＡＭ領域にデータを書込む。更に、ＣＰＵ１１は、レジスタ２０からデータを読み出す場合、自身のメモリ空間に割り付けられているＣＰＵ１０レジスタ領域からデータを読み出し、ＲＡＭ３０からデータを読み出す場合、自身のメモリ空間に割り付けられているＣＰＵ１０ＲＡＭ領域からデータを読み出す。
【００２５】
アドレス検出部４０は、ＣＰＵ１０がＣＰＵ１１レジスタ領域、又はＣＰＵ１１ＲＡＭ領域にデータを書込むと、ＣＰＵ１０がＣＰＵ１１レジスタ領域、又はＣＰＵ１１ＲＡＭ領域にデータを書込んだことを検出して、アクセス検出信号５０をデータ転送制御部６に出力する。又、アドレス検出部４０は、ＣＰＵ１０がＣＰＵ１１レジスタ領域、又はＣＰＵ１１ＲＡＭ領域からデータを読み出すと、ＣＰＵ１０がＣＰＵ１１レジスタ領域、又はＣＰＵ１１ＲＡＭ領域からデータを読み出したことを検出して、アクセス検出信号５０をデータ転送制御部６に出力する。尚、アクセス検出信号５０は、システム・バスを介してデータ転送制御部６に出力する構成であってもよい。
【００２６】
同様に、アドレス検出部４１は、ＣＰＵ１１がＣＰＵ１０レジスタ領域、又はＣＰＵ１０ＲＡＭ領域にデータを書込むと、ＣＰＵ１１がＣＰＵ１０レジスタ領域、又はＣＰＵ１０ＲＡＭ領域にデータを書込んだことを検出して、アクセス検出信号５１をデータ転送制御部６に出力する。又、アドレス検出部４１は、ＣＰＵ１１がＣＰＵ１０レジスタ領域、又はＣＰＵ１０ＲＡＭ領域からデータを読み出すと、ＣＰＵ１１がＣＰＵ１０レジスタ領域、又はＣＰＵ１０ＲＡＭ領域からデータを読み出したことを検出して、アクセス検出信号５１をデータ転送制御部６に出力する。
【００２７】
尚、アクセス検出信号５１は、システム・バスを介してデータ転送制御部６に出力する構成であってもよい。
【００２８】
データ転送制御部６は、アドレス検出部４０からアクセス検出信号を受け取ると、ＣＰＵ１１レジスタ領域に対する書込み、若しくは読出しなのか、ＣＰＵ１１ＲＡＭ領域に対する書込み、若しくは読出しなのかを判断する。同様に、データ転送制御部６は、アドレス検出部４１からアクセス検出信号を受け取ると、ＣＰＵ１０レジスタ領域に対する書込み、若しくは読出しなのか、ＣＰＵ１０ＲＡＭ領域に対する書込み、若しくは読出しなのかを判断する。
【００２９】
ＣＰＵ１１レジスタ領域に対する書込みである場合は、データの書込み先をレジスタ２１に設定してデータをＤＭＡ（ダイレクト・メモリ・アクセス）転送し、ＣＰＵ１１レジスタ領域に対する読出しである場合は、データの読出し先をレジスタ２１に設定してデータをＤＭＡ転送する。
【００３０】
一方、ＣＰＵ１１ＲＡＭ領域に対する書込みである場合は、データの書込み先をＲＡＭ３１に設定してデータをＤＭＡ転送し、ＣＰＵ１１ＲＡＭ領域に対する読出しである場合は、データの読出し先をＲＡＭ３１に設定してデータをＤＭＡ転送する。
【００３１】
同様に、ＣＰＵ１０レジスタ領域に対する書込みである場合は、データの書込み先をレジスタ２０に設定してデータをＤＭＡ転送し、ＣＰＵ１０レジスタ領域に対する読出しである場合は、データの読出し先をレジスタ２０に設定してデータをＤＭＡ転送する。
【００３２】
一方、ＣＰＵ１０ＲＡＭ領域に対する書込みである場合は、データの書込み先をＲＡＭ３０に設定してデータをＤＭＡ転送し、ＣＰＵ１０ＲＡＭ領域に対する読出しである場合は、データの読出し先をＲＡＭ３０に設定してデータをＤＭＡ転送する。
【００３３】
続いて、上述した構成におけるデータを書込む動作について説明する。尚、ＣＰＵ１０からＣＰＵ１１のレジスタ２１にデータを書込む動作について説明する。
【００３４】
図４は本発明における書込みの動作を説明するためのフローチャートであり、図３はそのイメージ図である。
【００３５】
まず、アプリケーションが起動し、ＣＰＵ１０が自身のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域にアクセスし、データの書込みを開始する（ステップＳ１）。
【００３６】
ＣＰＵ１１レジスタ領域に対するデータの書込みが開始されると、アドレス検出部４０がこのことを検出する（ステップＳ２）。ＣＰＵ１１レジスタ領域に対するデータの書込みが開始されたことを示すアクセス検出信号５０をデータ転送制御部６に出力する（ステップＳ３）。
【００３７】
データ転送制御部６はアクセス検出信号５０を受け取ると、データの書込み先を、ＣＰＵ１１に割り付けられているＣＰＵ１１レジスタ領域に設定する（ステップＳ４）。
【００３８】
データ転送制御部６は書込み先を設定すると、ＣＰＵ１０のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域に書込まれたデータのＤＭＡ転送を開始する（ステップＳ５）。
【００３９】
尚、ＣＰＵ１０がＣＰＵ１１のＲＡＭ３１に対してデータの書込みを行う場合の動作については、上述の動作と変わりが無いため省略する。同様に、ＣＰＵ１１がＣＰＵ１０のＲＡＭ３１又はレジスタ２１に対してデータの書込みを行う場合の動作については、上述の動作と変わりが無いため省略する。
【００４０】
続いて、読出しの動作について説明する。
【００４１】
図５は本発明における読出しの動作を説明するためのフローチャートである。尚、ＣＰＵ１０がＣＰＵ１１のレジスタ２１のデータを読み出す動作について説明する。
【００４２】
まず、アプリケーションが起動し、ＣＰＵ１０が自身のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域にアクセスしてデータの読出しを開始する（ステップＳ８０１）。
【００４３】
ＣＰＵ１０がＣＰＵ１１レジスタ領域からのデータの読出しを開始すると、アドレス検出部４０がこのことを検出する（ステップＳ８０２）。ＣＰＵ１１レジスタ領域からのデータの読出しが開始されたことを示すアクセス検出信号５０をデータ転送制御部６に出力する（ステップＳ８０３）。
【００４４】
データ転送制御部６はアクセス検出信号５０を受け取ると、データの読出先を、ＣＰＵ１１に割り付けられているＣＰＵ１１レジスタ領域に設定する（ステップＳ８０４）。
【００４５】
データ転送制御部６は読出先を設定すると、ＣＰＵ１１のメモリ空間に割り付けられているＣＰＵ１１レジスタ領域のデータのＤＭＡ転送を開始する（ステップＳ８０５）。
【００４６】
尚、ＣＰＵ１０がＣＰＵ１１のＲＡＭ３１のデータを読み出す場合の動作については、上述の動作と変わりが無いため省略する。同様に、ＣＰＵ１１がＣＰＵ１０のＲＡＭ３１又はレジスタ２１のデータを読み出す場合の動作についても、上述の動作と変わりが無いため省略する。
【００４７】
続いて、上述したデータ転送制御部６の構成を詳細に説明する。
【００４８】
図６は、本発明におけるマルチＣＰＵシステムの詳細なブロック図である。
【００４９】
図６に示すように、データ転送制御部６は、主制御部６１と、ＤＭＡ部６２と、バッファ６３とを有する。
【００５０】
主制御部６１は、アドレス検出部４０からアクセス検出信号を受け取るとＤＭＡ部６２を起動させる。更に、主制御部６１は、ＣＰＵ１１レジスタ領域に対する書込み、若しくは読出しなのか、ＣＰＵ１１ＲＡＭ領域に対する書込み、若しくは読出しなのかを判断する。同様に、主制御部６１は、アドレス検出部４１からアクセス検出信号を受け取るとＤＭＡ部６２を起動させる。更に、主制御部６１は、ＣＰＵ１０レジスタ領域に対する書込み、若しくは読出しなのか、ＣＰＵ１０ＲＡＭ領域に対する書込み、若しくは読出しなのかを判断する。
【００５１】
ＣＰＵ１１レジスタ領域に対する書込みである場合は、データの書込み先をレジスタ２１に設定し、ＣＰＵ１１レジスタ領域に対する読出しである場合はデータの読出し先をレジスタ２１に設定する。
【００５２】
一方、ＣＰＵ１１ＲＡＭ領域に対する書込みである場合はデータの書込み先をＲＡＭ３１に設定し、ＣＰＵ１１ＲＡＭ領域に対する読出しである場合はデータの読出し先をＲＡＭ３１に設定する。
【００５３】
同様に、ＣＰＵ１０レジスタ領域に対する書込みである場合はデータの書込み先をレジスタ２０に設定し、ＣＰＵ１０レジスタ領域に対する読出しである場合はデータの読出し先をレジスタ２０に設定する。
【００５４】
一方、ＣＰＵ１０ＲＡＭ領域に対する書込みである場合はデータの書込み先をＲＡＭ３０に設定し、ＣＰＵ１０ＲＡＭ領域に対する読出しである場合はデータの読出し先をＲＡＭ３０に設定する。
【００５５】
ＤＭＡ６２は、データの書込みの場合であれば、書込みが開始された領域からデータをＤＭＡ転送してバッファ６３にデータを一時的に格納し、そのデータを設定された書込み先にＤＭＡ転送する。データの読出しの場合であれば、設定された読出し先からデータをＤＭＡ転送してバッファ６３に一時的に格納し、そのデータを読み出しが開始されている領域にＤＭＡ転送する。
続いてデータ書込みの動作の説明をする。尚、上述した動作と同様に、ＣＰＵ１０からＣＰＵ１１のレジスタ２１にデータを転送する動作について説明する。
【００５６】
ＣＰＵ１１レジスタ領域に対するデータの書込みが開始されると、アドレス検出部４０がこのことを検出し、ＣＰＵ１１レジスタ領域に対するデータの書込みが開始されたことを示すアクセス検出信号５０を出力する。
【００５７】
主制御部６１は、アドレス検出部４０からアクセス検出信号を受け取るとＤＭＡ６２を起動させ、転送先をＣＰＵ１１に割り付けられているＣＰＵ１１レジスタ領域に設定する。
【００５８】
ＤＭＡ６２は、ＣＰＵ１０のＣＰＵ１１レジスタ領域に書込まれたデータをＤＭＡ転送してバッファ６３に一時的に格納する。そして、格納されたデータを書込み先であるＣＰＵ１１のＣＰＵ１１レジスタ領域にＤＭＡ転送する。
【００５９】
続いて、データ読出しの動作を詳細に説明する。尚、ＣＰＵ１０がＣＰＵ１１のレジスタ２１のデータを読み出す動作について説明する。
【００６０】
ＣＰＵ１０がＣＰＵ１１レジスタ領域にアクセスして、ＣＰＵ１１レジスタ領域からのデータ読出しを開始すると、アドレス検出部４０がこのことを検出し、ＣＰＵ１１レジスタ領域からのデータ読出しの開始を示すアクセス検出信号５０を出力する。
【００６１】
主制御部６１は、アドレス検出部４０からアクセス検出信号を受け取るとＤＭＡ６２を起動させ、読出し先をＣＰＵ１１に割り付けられているＣＰＵ１１レジスタ領域に設定する。
【００６２】
ＤＭＡ６２は、ＣＰＵ１０のＣＰＵ１１レジスタ領域からデータをＤＭＡ転送してバッファ６３に一時的に格納する。そして、格納されたデータをデータの読出しが開始されている領域であるＣＰＵ１１のＣＰＵ１１レジスタ領域にＤＭＡ転送する。
【００６３】
上述した構成をとると、ＣＰＵ同士の間の通信において、自身のメモリ空間に割り付けられた他方のＣＰＵメモリ空間に存在するＲＡＭ又はレジスタにアクセスすることにより、２ＣＰＵ間のデータ送受信に必要な手続きを簡略することが出来る。
【００６４】
又、ＣＰＵ１０及びＣＰＵ１１が保持するレジスタ又はＲＡＭの容量と、同一の容量である共有メモリを持つ必要がなくなり、コストを削減することが出来る。
【実施例２】
【００６５】
本発明の実施例２について説明する。
【００６６】
本実施例では、データ転送終了後に、データ転送が終了したことを通知する構成について説明する。尚、上述した実施例と同様の構成については同一の番号を付し、詳細な説明は省略する。
【００６７】
図７は、本実施例における構成図である。
【００６８】
上述した構成と異なる部分は、割込制御部８０及び割込制御部８１を有する点である。ＣＰＵ１０はデータ転送後、この割込制御部８０にソフトウェアトリガ信号を送信する。同様に、ＣＰＵ１１はデータ転送後、割込制御部８１にソフトウェアトリガ信号を通知する。
【００６９】
割込制御部８０は、ＣＰＵ１０からのソフトウェアトリガ信号を受信すると、ＣＰＵ１１に対して割込みを発生さけ、データが更新されたことを示す更新通知を送信する。同様に、割込制御部８１は、ＣＰＵ１１からのソフトウェアトリガ信号を受信すると、ＣＰＵ１０に対して割込みを発生さけ、データが更新されたことを示す更新通知を送信する。
【００７０】
上述した構成をとると、データの転送後、相手のＣＰＵに割り込みを発生させることにより、相手のＣＰＵが保持するメモリ空間のデータが更新されたことを通知することが出来る。
【図面の簡単な説明】
【００７１】
【図１】図１は、本発明におけるマルチＣＰＵシステムの構成例である。
【図２】図２は、ＣＰＵ１０及びＣＰＵ１１のメモリマップである。
【図３】図３は、データ転送のイメージ図である。
【図４】図４は、書込みの動作を説明するためのフローチャートである。
【図５】図５は、読出しの動作を説明するためのフローチャートである。
【図６】図６は、本発明におけるマルチＣＰＵシステムの詳細な構成例である。
【図７】図７は、本発明におけるマルチＣＰＵシステムの構成例である。
【図８】図８は、従来技術におけるマルチＣＰＵシステムの構成例である。
【図９】図９は、従来技術におけるＣＰＵ１０及びＣＰＵ１１のメモリマップである。
【符号の説明】
【００７２】
６              データ転送制御部
１０            ＣＰＵ
１１            ＣＰＵ
２０            レジスタ
２１            レジスタ
３０            ＲＡＭ
３１            ＲＡＭ
４０            アドレス検出部
４１            アドレス検出部
５０            アクセス検出信号
５１            アクセス検出信号
【図１】
2005301714.tif 000003
【図２】
2005301714.tif 000004
【図３】
2005301714.tif 000005
【図４】
2005301714.tif 000006
【図５】
2005301714.tif 000007
【図６】
2005301714.tif 000008
【図７】
2005301714.tif 000009
【図８】
2005301714.tif 000010
【図９】
2005301714.tif 000011