(57)【要約】【課題】両ＣＰＵ側のソフトウェアの処理を削減し、かつ、データの同時性を保証し、データ転送の高速性を確保する。【解決手段】ＣＰＵ１，２は、デュアルポートメモリ５内に設定する２つのデータ転送エリアＡ，Ｂに対するデータ書き込みおよび読み出しを交互に切り替える。書き込みエリア選択信号生成回路６Ａ，６ＢはＣＰＵの書き込み中フラグと、読み出し中フラグから、データ書き込み中の書き込みエリア選択信号を生成する。ＣＰＵは、書き込みエリア選択信号から相手側ＣＰＵがデータ書き込み中でないエリアを判別し、データ読み出しを行う。  書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両ＣＰＵによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けることも含む。【選択図】図１
2007328647.tif 000002
【特許請求の範囲】
【請求項１】
２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、一方のＣＰＵからデュアルポートメモリにデータを書き込み、このデータを他方のＣＰＵで読み出すデータ転送方式であって、
両ＣＰＵは、デュアルポートメモリ内に設定する２つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両ＣＰＵの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択する書き込みエリア選択信号を生成する回路を設け、
両ＣＰＵは、前記書き込みエリア選択信号からデータ書き込み中でないエリアを判別する手段を設けたことを特徴とするＣＰＵ間のデータ転送方式。
【請求項２】
２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、一方のＣＰＵからデュアルポートメモリにデータを書き込み、このデータを他方のＣＰＵで読み出すデータ転送方式であって、
両ＣＰＵは、デュアルポートメモリ内に設定する２つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両ＣＰＵの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択するエリア選択信号を生成する回路を設け、
前記書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両ＣＰＵによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けたことを特徴とするＣＰＵ間のデータ転送方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、両ＣＰＵ間でデータを転送するＣＰＵ間のデータ転送方式に関する。
【背景技術】
【０００２】
近年の各種電子装置は複数のＣＰＵを有する場合が多い。この場合、２つのＣＰＵ間でデータの受け渡しを行うには、一般的に媒体としてＲＡＭまたはデュアルポートメモリ（ＤＰＭ）を使用する。
【０００３】
ＲＡＭを使用したデータ転送の回路構成を図７に示す。同図において、ＲＡＭ３はＣＰＵ１およびＣＰＵ２からアクセス可能であるが、ＲＡＭ３のポートは１つなので同時にアクセスする事は出来ない。このため、周囲に設けた調停回路４によりどちらか一方にアクセス権が与えられる。調停回路４は、ＣＰＵ１またはＣＰＵ２からのアクセス要求に対して、一方のＣＰＵがＲＡＭ３をアクセスしている時はもう一方のＣＰＵにビジー信号を返し、当該ＣＰＵではビジー信号によりアクセス待ち状態となる。
【０００４】
このデータ転送方式は同時アクセスができないため、データ転送効率が後述のＤＰＭを使用した方式より劣る。また、バッファや調停回路などの周辺回路を必要とし、Ｈ／Ｗ量が増える欠点もある。
【０００５】
ＤＰＭを使用したデータ転送の回路構成を図８に示す。ＤＰＭ５は２つのポートを持つため、両方のＣＰＵから同時にアクセス可能である。但し、同じアドレスに対して同時にアクセスがあった場合は片方のアクセスのみ有効となり、もう一方のアクセスに対してビジー信号を出力してアクセスを一時的に待ち状態にする。
【０００６】
ＤＰＭを使用した２ＣＰＵ間データ転送方式において、片方のＣＰＵからの書き込みデータはもう一方のＣＰＵは読み出しデータとなる使い方が一般的である（図９参照）。両ＣＰＵ間のプログラムでタイミングを取り書き込みと読み出しを交互に行う使い方もあるが、データ転送に高速性を必要とするアプリケーションではＤＰＭの同時アクセス可という特長を生かし、両ＣＰＵから非同期にアクセスする使い方としている（例えば、特許文献１参照）。
【特許文献１】特開２０００−１８３９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＤＰＭを使用した２ＣＰＵ間のデータ転送を非同期アクセスで行う場合、両ＣＰＵのデータ転送時間やアクセス周期の違いにより、図１０に示すようにＤＰＭへのアクセスが重なる場合と重ならない場合がランダムに発生し、重なり方も異なる。その重なり方によっては正常なデータ転送が出来ない場合がある。
【０００８】
例えば、図１０のタイミングｔ４においてはＣＰＵ１からのデータ書き込み期間の中にＣＰＵ２からのデータ読み出し期間が入っている。この結果、ＣＰＵ２が読み出したデータはＣＰＵ１が書き込んだ最新のデータと前回書き込んだデータが混在することになる。複数のデータにまたがって同時性に意味のあるデータが含まれる場合、ＣＰＵ２がこのようなタイミングで読み出したデータの同時性の保証ができない。
【０００９】
よって、同時性を必要とするデータ転送をＤＰＭに対する非同期アクセスで行う場合、両ＣＰＵからのアクセスが重なったかどうかのチェックやリカバリ処理が必要となり、ＣＰＵ側のプログラムの処理が複雑化し、データ転送処理時間の増大となる問題があった。
【００１０】
本発明の目的は、前記の課題を解決したＣＰＵ間のデータ転送方式を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、前記の課題を解決するため、ＤＰＭ内にデータ転送エリアを２つ設定し、データの書き込みおよび読み出しのエリアを交互に切り替え、両ＣＰＵが発生する書き込み中フラグと読み出し中フラグからデータ読み出しを許容するエリアを選択し、この選択により書き込みと読み出しの両側からのアクセスが重なった場合にもデータの同時性を確保でき、しかもＣＰＵ側のソフトウェア処理の削減とデータ転送処理時間の短縮ができるようにしたもので、以下の構成を特徴とする。
【００１２】
（１）２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、一方のＣＰＵからデュアルポートメモリにデータを書き込み、このデータを他方のＣＰＵで読み出すデータ転送方式であって、
両ＣＰＵは、デュアルポートメモリ内に設定する２つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両ＣＰＵの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択する書き込みエリア選択信号を生成する回路を設け、
両ＣＰＵは、前記書き込みエリア選択信号からデータ書き込み中でないエリアを判別する手段を設けたことを特徴とする。
【００１３】
（２）２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、一方のＣＰＵからデュアルポートメモリにデータを書き込み、このデータを他方のＣＰＵで読み出すデータ転送方式であって、
両ＣＰＵは、デュアルポートメモリ内に設定する２つのデータ転送エリアに対するデータ書き込みおよび読み出しを交互に切り替え、
前記両データ転送エリアに対する両ＣＰＵの書き込み中フラグと、読み出し中フラグから、データ書き込み中のデータ転送エリアを選択するエリア選択信号を生成する回路を設け、
前記書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両ＣＰＵによるデータ書き込みおよびデータ読み出しを行うエリアのアドレスを制御するマルチプレクサ回路を設けたことを特徴とする。
【発明の効果】
【００１４】
以上のとおり、本発明によれば、２つのＣＰＵからデュアルポートメモリに対して非同期でアクセスし、両ＣＰＵ間でデータを転送する方式において、簡単なハードウェアを追加するだけで両ＣＰＵ側のソフトウェアの処理を削減でき、かつ、データの同時性を保証し、データ転送の高速性を確保できる。
【発明を実施するための最良の形態】
【００１５】
（実施形態１）
本発明の実施形態１の回路構成を図１に示す。本実施形態はＤＰＭ５内に２つのエリア（エリアＡとエリアＢ）を設け、アクセスの度に書き込みエリアを切り変える方式である。また、書き込みがどのエリアに書き込み中であるか示す選択信号ＳＥＬを生成する選択信号生成回路６Ａ、６Ｂを設け、読み出し側ＣＰＵは選択信号を確認して書き込み中ではない方のエリアから読み出すことで、アクセスが重なった場合でもデータの同時性を保証する。
【００１６】
書き込みエリア選択信号生成回路６Ａ、６Ｂの回路構成例を図２に示し、Ｄ型フリップフロップと排他的論理和回路で構成される。選択信号生成回路６ＡはＣＰＵ１がデータ書き込み中のときに「１」になる書き込み中フラグＷＦＬＧ１と、ＣＰＵ２がデータ読み出し中のときに「１」になる読み出し中フラグＲＦＬＧ２から、書き込みエリア選択信号ＳＥＬ１を生成する。逆に、選択信号生成回路６ＢはＣＰＵ２がデータ書き込み中のときに「１」になる書き込み中フラグＷＦＬＧ２と、ＣＰＵ１がデータ読み出し中のときに「１」になる読み出し中フラグＲＦＬＧ１から、書き込みエリア選択信号ＳＥＬ２を生成する。
【００１７】
図３にＣＰＵ１が書き込み、ＣＰＵ２が読み出しの場合のタイミング例を示す。書き込み側のＣＰＵ１はデータ転送の開始の前に書き込み中フラグＷＦＬＧ１をセットする。このＷＦＬＧ１の立ち上がりエッジで書き込みエリア選択信号ＳＥＬ１が反転する。ここでは書き込みエリア選択信号ＳＥＬ１は「０」のときエリアＡを選択し、「１」のときエリアＢを選択すると仮定する。
【００１８】
ＣＰＵ１はデータ転送が終了した時に書き込み中フラグＷＦＬＧ１をクリアする。読み出し側のＣＰＵ２は読み出し処理を開始する前に読み出し中フラグＲＦＬＧ２をセットする。その後、書き込みエリア選択信号ＳＥＬ１を確認し、選択されていないエリアから読み出しを行う。読み出しが終了すると読み出し中フラグＲＦＬＧ２をクリアする。
【００１９】
図３のタイミングｔ３ではＣＰＵ２の読み出し中にＣＰＵ１の書き込みが開始されている。このタイミングではＣＰＵ２の読み出しへの影響を防ぐため、書き込みエリア信号ＳＥＬ１の反転は行われない。このように書き込みエリア選択信号ＳＥＬは書き込み中フラグＷＦＬＧと相手側読み出し中フラグＲＦＬＧによって制御する。
【００２０】
したがって、本実施形態によれば、ＤＰＭに対する２つのＣＰＵの非同期アクセスでＣＰＵ間のデータを転送する方式において、一方のＣＰＵによる書き込み中フラグと、他方のＣＰＵによる読み出し中フラグを基に、書き込みエリア選択信号を生成する回路６Ａ、６Ｂを設けることにより、書き込みエリアと読み出しエリア両側からのアクセスが重なった時にもＣＰＵ側は書き込みエリア選択信号を判断する処理を設けるだけでデータの同時性を確保した書き込みおよび読み出しを行うことができる。
【００２１】
（実施形態２）
本実施形態は、実施形態１で示したＣＰＵによる書き込みエリア選択信号ＳＥＬの判別による当該エリアに対するデータ書き込み処理に代えて、外部のマルチプレクサでエリア別の書き込み／読み出しアドレスを自動的に出力できるようにするものであり、図４に要部回路構成を示す。
【００２２】
各ＣＰＵによる書き込み中フラグＷＦＬＧ、読み出し中フラグＲＦＬＧの発生、および書き込みエリア選択信号生成回路６Ａ、６Ｂによる選択信号ＳＥＬの生成は実施形態１と同様の構成とし、マルチプレクサ７Ａ、７Ｂは、書き込みエリア選択信号、書き込み中フラグおよび読み出し中フラグを基に、両ＣＰＵによるデータ書き込みおよびデータ読み出しを行うエリアの特定アドレスＡｎの入力を制御する。
【００２３】
マルチプレクサ７Ａ、７Ｂの制御ロジックを図５に示す。ここで、制御対象のＤＰＭアドレスＡｎはエリアのサイズによって決定される。例えば、図６に示すように１つのエリアが２５６バイトの例では、アドレスＡ８を制御することで連続した２つのエリアの内、１つが選択される。この選択制御の例を以下に説明する。
【００２４】
ＣＰＵ１側の書き込み動作において、書き込み中フラグＷＦＬＧＩがセットされたとき、書き込みエリア選択信号ＳＥＬ１が「０」ならば、アドレスＡ８は「０」となりエリアＡ（０２００〜０２ＦＦ）が選択される。また、ＣＰＵ１の読み出し動作において、読み出し中フラグＲＦＬＧ１がセットされたとき、相手側の書き込みエリア選択信号ＳＥＬ２が「０」ならば、アドレスＡ８は「１」となり、エリアＢ（０１００〜０１ＦＦ）が選択される。これにより、ＤＰＭ５をアクセスするＣＰＵはソフトウェアで２つのエリアを意識（判別）することなく、１つのエリアに対するアクセス（例えば、エリアＡに対するアクセス）するだけでハードウェアによって、自動的にエリアＡ、エリアＢの切り替えが行われる。
【００２５】
なお、ＲＡＭの診断等で、エリアＡ、エリアＢに対する通常のアクセスが必要な場合を想定し、マルチプレクサは、書き込み中フラグＷＦＬＧおよび読み出し中フラグＲＦＬＧがセットされなければ、ＣＰＵのアドレスがそのまま選択される制御ロジックになっている。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態１を示す回路構成図。
【図２】書き込みエリア選択信号生成回路の構成例。
【図３】実施形態１におけるデータの書き込み／読み出しタイミング例。
【図４】本発明の実施形態２を示す要部回路構成図。
【図５】実施形態２におけるマルチプレクサの制御ロジック。
【図６】ＤＰＭのアドレスマップ例。
【図７】ＲＡＭを使用したデータ転送の回路構成図。
【図８】ＤＰＭを使用したデータ転送の回路構成図。
【図９】ＤＰＭを使用したデータ書き込み／読み出しのアクセス例。
【図１０】非同期アクセスによる重なりの例。
【符号の説明】
【００２７】
１、２  ＣＰＵ
３  ＲＡＭ
４  調停回路
５  ＤＰＭ（デュアルポートメモリ）
６Ａ、６Ｂ  書き込みエリア選択信号生成回路
７Ａ、７Ｂ  マルチプレクサ
【図１】
2007328647.tif 000003
【図２】
2007328647.tif 000004
【図３】
2007328647.tif 000005
【図４】
2007328647.tif 000006
【図５】
2007328647.tif 000007
【図６】
2007328647.tif 000008
【図７】
2007328647.tif 000009
【図８】
2007328647.tif 000010
【図９】
2007328647.tif 000011
【図１０】
2007328647.tif 000012