(57)【要約】【課題】本発明は、異なる系の動作周波数で動作する２つのデバイス間において、デュアルポートＳＲＡＭを介してデータを送受信する際に、データの転送を高速にかつ効率的に行えるデータ送受信システムを提供する。【解決手段】デバイスＡとデバイスＢとの間にデータ転送線４、５を介して接続されるデュアルポートＳＲＡＭのメモリ空間を７ブロックに分割する。更に、両デバイス間に６本の信号線による状態通知信号線６が接続される。デバイスＡ又はデバイスＢが各ブロックにアクセスしているかどうかの状態を示す１又は０の信号を信号線に供給し、デバイスＡの各ブロックへのアクセス状態を信号ＳＡ（Ｓ２，Ｓ１，Ｓ０）で、デバイスＢの各ブロックへのアクセス状態を信号ＳＢ（Ｓ５，Ｓ４，Ｓ３）で通知する。アクセス状態信号に基づいて、転送データの各ブロックへの書込みと、各ブロックから書込み済転送データの読出しとが制御される。【選択図】　　　図１
2004133789.tif 000002
【特許請求の範囲】
【請求項１】
異なる系の動作周波数で動作する第１デバイスと第２デバイスとの間でデータを送受信するデータ送受信システムにおいて、
前記第１デバイスと前記第２デバイスの両方から前記データの書込み又は読出しを実行できる複数のブロックに分割されたデュアルポートメモリ手段と、
前記複数のブロックに対する前記書込み又は前記読込みの使用状態を前記第１デバイス又は前記第２デバイスに通知する状態通知手段と、
を有することを特徴とするデータ送受信システム。
【請求項２】
前記状態通知手段は、前記複数のブロックの前記使用状態を２値信号で通知する前記第１デバイスと前記第２デバイスとの間に接続された複数の信号線を含むことを特徴とする請求項１に記載のデータ送受信システム。
【請求項３】
前記信号線は、前記デュアルポートメモリ手段を（２ｎ−１）個に分割した場合、２ｎ本であることを特徴とする請求項２に記載のデータ送受信システム。
【請求項４】
前記信号線のｎ本が、前記第１デバイス又は前記第２デバイスから前記第２デバイス又は前記第１デバイスへの前記使用状態の通知に割り当てられることを特徴とする請求項３に記載のデータ送受信システム。
【請求項５】
前記使用状態は、前記第１デバイス又は前記第２デバイスが前記各ブロックにアクセスしていることを、前記各信号線で送信されるハイ信号又はロー信号の組合せで通知されることを特徴とする請求項４に記載のデータ送受信システム。
【請求項６】
前記第１デバイス又は前記第２デバイスは、前記第２デバイス又は第１デバイスが前記複数のブロックの一つに前記データの書込みを終了してから、当該ブロックに書き込まれた前記データの読出しを行うことを特徴とする請求項１乃至５のいずれか一項に記載のデータ送受信システム。
【請求項７】
前記第１デバイス又は前記第２デバイスによる前記データの前記読出しの速度が、前記第２デバイス又は前記第１デバイスによる前記書込みの速度より速い場合、当該ブロックへの前記データの書込みが終了するまで、前記第１デバイス又は前記第２デバイスの該ブロックへのアクセスを禁止することを特徴とする請求項６に記載のデータ送受信システム。
【請求項８】
前記第１デバイス又は前記第２デバイスによる前記データの前記書込みの速度が、前記第２デバイス又は前記第１デバイスによる前記読出しの速度より速い場合、前記第２デバイス又は前記第１デバイスが前記読出しを行っている当該ブロックに対して、前記第１デバイス又は前記第２デバイスの該ブロックへのアクセスを禁止することを特徴とする請求項６に記載のデータ送受信システム。
【請求項９】
前記各ブロックは、該ブロックに書き込まれたデータサイズを格納する転送サイズ領域と、前記データが書き込まれる転送データ領域とを有し、
前記第１デバイス又は第２デバイスは、当該転送サイズ領域に格納された前記データサイズ情報に基づいたデータ量を当該転送データ領域から読み出すことを特徴とする請求項１乃至８のいずれか一項に記載のデータ送受信システム。
【請求項１０】
前記状態通知手段は、前記第１デバイス又は前記第２デバイスが前記ブロックに前記データを書込み完了したとき、前記第２デバイス又は前記第１デバイスに当該ブロックの前記使用状態を通知することを特徴とする請求項１乃至９のいずれか一項に記載のデータ送受信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デバイス間のデータ送受信システムに関し、特に、異なる系の動作周波数で動作する２つのＣＰＵ間において、デュアルポートメモリを介してデータを送受信する際に、データの転送を高速にかつ効率的に行えるようにしたデータ送受信システムに関する。
【０００２】
【従来の技術】
従来のデジタルオシロスコープ等の計測装置では、２つのデバイス、例えば、２つのＣＰＵを用いて、計測データに係る波形表示、計測データの蓄積等の種々のデータ処理を行っている。この２つのデバイス間においても、データの送受信を行わなければならない場合がある。
【０００３】
一般的に、ＣＰＵとＲＡＭとのデータ送受信において、ストリーミングデータの処理効率をあげるため、ＲＡＭを論理的に２面分割し、読出し処理と書込み処理を夫々独立させ、論理的分割ＲＡＭが所有するモジュールの空きを通知することにより、一面にデータを書込み、他面からデータを読み出すというように、交互に面を使用するデータ送受信システムが提案されている（例えば、特許文献１を参照）。
【０００４】
このデータ送受信システムでは、ＣＰＵとＲＡＭとの間の処理であるが、これに対して、２つのデバイス間でデータの送受信をするとき、異なる系の動作周波数で動作する場合がある。これらのデバイス間のデータ転送には、デュアルポートＳＲＡＭが使用されている。このデュアルポートＳＲＡＭは、メモリ空間は一つで構成されているが、Ｉ／Ｏインタフェースを２つ持っているので、一つのメモリ空間でも、２つのデバイスが同時にアクセスすることができるという特徴を有している。この特徴を利用して、異なる系の動作周波数を有する２つのデバイス間のデータ転送を実現している。
【０００５】
ここで、デュアルポートＳＲＡＭを用いて、２つのデバイス間でデータの転送を行う従来のデータ送受信システムの例を、図２２に示した。同図には、異なる系の動作周波数で動作する２つのデバイスとして、１のデバイスＡと、２のデバイスＢを示しており、デバイスＡとデバイスＢとの間に、デュアルポートＳＲＡＭ３が配置されている。デバイスＡ又はデバイスＢは、データ転送線４又は５によりデュアルポートＳＲＡＭの一つのポートに接続されている。データ転送線４及び５は、夫々、データ線、アドレス線及び制御線の３本のラインで構成されている。図では、この３本のラインを矢印線で示している。
【０００６】
デュアルポートＳＲＡＭを用いた従来のデータ送受信システムのデータ転送の動作について、図を参照しながら説明する。図２３の例では、同じ動作周波数を有するデバイスＡからデバイスＢにデータ転送する場合を時系列で表している。図中の横軸は、時間軸を示している。
【０００７】
デバイスＡからデバイスＢに、デュアルポートＳＲＡＭ３が持つ一つのメモリ空間に相当するデータサイズのデータＤＡ１を転送する場合には、先ず、デバイスＡが、時間ｔ１からデュアルポートＳＲＡＭ３にデータＤＡ１の書込みを開始し、時間ｔ２に書込みを完了する。次いで、デバイスＢは、時間ｔ２において、この書込み完了したデータＤＡ１の読出しを開始し、データＤＢ１を取得する。
【０００８】
この手順によって、デバイスＡからデバイスＢにデータＤＡ１を転送することができる。なお、デバイスＡがデータＤＡ１の書込みに要した時間をＴとすれば、デバイスＢは、デバイスＡと同じ動作周波数で動作しているので、データＤＢ１を取得するのに、同じ長さの時間Ｔを要している。
【０００９】
次に、デバイスＡの動作周波数が、デバイスＢの動作周波数より高い場合におけるデータ転送の動作の様子を、図２４に示した。デバイスＡからデバイスＢにデータＤＡ２をデータ転送する手順は、図２３の場合の手順と同様であるが、デバイスＢの動作周波数が、デバイスＡの動作周波数の１／２であるとすると、デバイスＢがデータＤＡ２の読出し時間は、デバイスＡのデータ書込み時間Ｔの２倍になる。デバイスＡの書込み開始時間ｔ１からみて、データ転送完了時間は、３Ｔ時間後の時間ｔ４となる。
【００１０】
これまでの説明では、デバイスＡがデバイスＢにデータ転送しようとしているデータＤＡ１又はＤＡ２は、デュアルポートＳＲＡＭ３が有するメモリ空間のサイズに相当する場合であったが、デバイスＡが、このメモリ空間より小さいサイズの、或いは、微小量のデータＤＡ３をデバイスＢに転送する場合を、図２５に示した。この場合は、デバイスＡとデバイスＢとが異なる動作周波数であっても、また、同じ動作周波数であってもよい。図２５では、同じ動作周波数の場合を示した。
【００１１】
デバイスＡは、時間ｔ５で、微小量のデータＤＡ３をデュアルポートＳＲＡＭ３に書込み完了する。デバイスＢは、このデータＤＡ３の読出しによって、データＤＢ３を取得することができるが、実際には、デバイスＢ側では、データＤＡ３の読出しを確実にするため、メモリ空間の全てのデータを読み出すようにしている。これによって、デバイスＢは、時間ｔ６において、時間ａＴのデータＤＡ３に対応するデータＤＢ３を取得できているが、読出し動作は、時間ｔ７まで行われる。データＤＡ３のデータ転送時間は、（１＋ａ）Ｔとなる。
【００１２】
一方、デバイスＡが、このメモリ空間より大きいサイズのデータＤＡをデバイスＢに転送する場合を、図２６に示した。デバイスＡとデバイスＢとが異なる動作周波数であっても、また、同じ動作周波数であってもよいが、説明を簡単化するため、図２５では、同じ動作周波数の場合を示した。
【００１３】
デバイスＡは、転送しようとしているデータＤＡを、デュアルポートＳＲＡＭ３のメモリ空間へ一回で書き込める大きさサイズにｎ分割し、データＤＡ１乃至ＤＡｎとする。図２３に示した場合の手順と同様に、デバイスＡが、データＤＡ１をデュアルポートＳＲＡＭ３への書込み完了した後、デバイスＢが、書き込まれたデータＤＡ１を読み出し、データＤＢ１を取得する。次いで、デバイスＡは、デバイスＢがデュアルポートＳＲＡＭ３からデータＤＡ１の読出しを完了してから、データＤＡ２をデュアルポートＳＲＡＭ３に書き込む。デバイスＢが、このデータＤＡ２を読み出し、データＤＢ２を取得する。これ以降においては、データＤＡ３乃至ＤＡｎに対して同様の動作手順で、デバイスＡからデバイスＢにデータ転送が行われる。
【００１４】
このような動作手順によると、データＤＡがｎ分割された場合には、デバイスＡ又はデバイスＢの書込み又は読出しの時間をＴとすると、デバイスＡからデバイスＢにデータ転送に要する時間は、（２ｎ＋１）Ｔとなる。
【００１５】
【特許文献１】
特開２００２−１４９１２号公報
【００１６】
【発明が解決しようとする課題】
以上のように、従来のデータ送受信システムでは、デバイスＡからデバイスＢに所定サイズのデータを転送しようとしたときには、デバイスＡがデュアルポートＳＲＡＭに転送したいデータを全て書き込んでから、デバイスＢが当該書込み済みのデータを読み出されなければならなかった。そのため、所定サイズのデータを転送するには、書込み時間と読出し時間を合わせた時間を必要とし、特に、サイズの大きなデータを高速に転送する場合には、転送時間が長くなるという問題があり、読出し側のデバイスの動作周波数が、デュアルポートＳＲＡＭにデータを書き込む側のデバイスの動作周波数より遅い場合には、顕著となる。
【００１７】
そこで、デュアルポートＳＲＡＭのデバイス仕様によっては、デバイス固有の機能として、セマフォ機能を備えている。この機能は、デュアルポートＳＲＡＭの同じ個所に、ポートにアクセスできる２つのデバイスが、同時に書き込むことを防止することにあり、書き込もうとするデバイスが、書き込む場所に同時にアクセスしないかどうかを確認することで同時書込みの防止を図っている。そのため、この確認動作を行っていたのでは、高速でデータ転送する場合に使用することができない。
【００１８】
また、転送するデータをデュアルポートＳＲＡＭに書込み側のデバイスが、書き込んだデータ量を読出し側のデバイスに通知をしない限り、読出し側のデバイスは、デュアルポートＳＲＡＭの空間メモリの全サイズに対する読出し動作を行わなければならないので、当該メモリ空間のサイズより小さいデータを転送する場合には、データ転送効率が悪く、データがない部分に対する読出し動作の分だけ、余計に時間を要するという問題があった。
【００１９】
そこで、本発明は、デュアルポートメモリ内にメモリ空間を複数に分割したブロックを形成し、データが該ブロックに書き込まれてから当該データを読み出すようにして、メモリ空間より大きなサイズのデータ、或いは、微小なサイズのデータであっても、異なる系の動作周波数で動作する２つのデバイス間で、高速に、そして、効率的にデータ転送することができるデータ送受信システムを提供することを目的とする。
【００２０】
【課題を解決するための手段】
以上の課題を解決するため、本発明では、第１デバイスと第２デバイスとの間でデータを送受信するデータ送受信システムにおいて、前記第１デバイスと前記第２デバイスの両方から前記データの書込み又は読出しを実行できる複数のブロックに分割されたデュアルポートメモリ手段と、前記複数のブロックに対する前記書込み又は前記読込みの使用状態を前記第１デバイス又は前記第２デバイスに通知する状態通知手段とを備えた。
【００２１】
そして、前記状態通知手段は、前記複数のブロックの前記使用状態を２値信号で通知する前記第１デバイスと前記第２デバイスとの間に接続された複数の信号線を含み、前記信号線は、前記デュアルポートメモリ手段を（２ｎ−１）個に分割した場合、２ｎ本であることとし、前記信号線のｎ本が、前記第１デバイス又は前記第２デバイスから前記第２デバイス又は前記第１デバイスへの前記使用状態の通知に割り当てられるようにした。
【００２２】
さらに、前記使用状態は、前記第１デバイス又は前記第２デバイスが前記各ブロックにアクセスしていることを、前記各信号線で送信されるハイ信号又はロー信号の組合せで通知されることとした。
【００２３】
また、前記第１デバイス又は前記第２デバイスは、前記第２デバイス又は第１デバイスが前記複数のブロックの一つに前記データの書込みを終了してから、当該ブロックに書き込まれた前記データの読出しを行うこととし、前記第１デバイス又は前記第２デバイスによる前記データの前記読出しの速度が、前記第２デバイス又は前記第１デバイスによる前記書込みの速度より速い場合、当該ブロックへの前記データの書込みが終了するまで、前記第１デバイス又は前記第２デバイスの該ブロックへのアクセスを禁止することとし、或いは、前記第１デバイス又は前記第２デバイスによる前記データの前記書込みの速度が、前記第２デバイス又は前記第１デバイスによる前記読出しの速度より速い場合、前記第２デバイス又は前記第１デバイスが前記読出しを行っている当該ブロックに対して、前記第１デバイス又は前記第２デバイスの該ブロックへのアクセスを禁止することとした。
【００２４】
さらに、前記各ブロックは、該ブロックに書き込まれたデータサイズを格納する転送サイズ領域と、前記データが書き込まれる転送データ領域とを有し、前記第１デバイス又は第２デバイスは、当該転送サイズ領域に格納された前記データサイズ情報に基づいたデータ量を当該転送データ領域から読み出すようにした。
【００２５】
また、前記状態通知手段は、前記第１デバイス又は前記第２デバイスが前記ブロックに前記データを書込み完了したとき、前記第２デバイス又は前記第１デバイスに当該ブロックの前記使用状態を通知するようにした。
【００２６】
【発明の実施の形態】
次に、本発明によるデータ送受信システムの実施形態について、図を参照しながら説明する。
【００２７】
従来のデータ送受信システムでは、異なる系の動作周波数で動作する２つのデバイスが、データ転送線を介してデュアルポートＳＲＡＭにアクセスできるようにして、片方のデバイスから他方のデバイスにデータを転送しようとするときには、片方のデバイスがデュアルポートＳＲＡＭにデータを書き込んでから、他方のデバイスが当該データを読み出す動作を行っていた。この手順では、データ読出し側のデバイスは、常に、デュアルポートＳＲＡＭの全サイズについて読出し動作を行わなければならず、しかも、転送しようとするデータがデュアルポートＳＲＡＭに書き込まれてからでないと、当該データを読み出すことができなかった。
【００２８】
そこで、本実施形態のデータ送受信システムでは、異なる系の動作周波数で動作する２つのデバイスが、データ転送線を介してデュアルポートＳＲＡＭにアクセスして、片方のデバイスから他方のデバイスにデータを転送しようとするときには、片方のデバイスがデュアルポートＳＲＡＭにデータを書き込んでから、他方のデバイスが当該データを読み出す動作を行うことにおいては、従来の場合と基本的に変わらないが、デュアルポートＳＲＡＭが有するメモリ空間を複数の小さいサイズに分割して複数のブロックを形成するようにした。さらに、２つのデバイス間に、デュアルポートＳＲＡＭ内のどのブロックにアクセスしているかの状態を片方のデバイスから他方のデバイスに通知する状態通知信号線を設けることとした。
【００２９】
本実施形態のデータ送受信システムの概略構成を、図１に示した。図２３に示した従来のデータ送受信システムと同じ部分には、同じ符号を付した。
【００３０】
１及び２は、異なる系の動作周波数で動作するデバイスであり、図１でも、図２３と同様に、デバイスＡからデバイスＢにデータ転送する場合を示し、デバイスＡとデバイスＢとの間に、データ転送線４と５を介して、デュアルポートＳＲＡＭ３が接続されている。
【００３１】
ここで、デュアルポートＳＲＡＭ３では、図２に示されるように、メモリ空間が複数のブロックに分割されており、図２では、（２ｎ−１）個のブロックに分割されている様子を示している。例えば、７個に分割されれば、ｎ＝３となる。各ブロックに書き込めるデータサイズは、全て均等でも、或いは、異なっていてもよい。
【００３２】
そして、各ブロック内においては、当該ブロックに書き込まれたデータのサイズ情報を格納する転送サイズ領域と、当該ブロックに転送データが書き込まれる転送データ領域とが形成されている。転送サイズ領域へのデータサイズ情報は、当該ブロックに転送データを書き込むデバイスによって、書込み完了時に書き込まれる。
【００３３】
デバイスＡとデバイスＢとの間に接続される状態通知信号線６は、デュアルポートＳＲＡＭ３が（２ｎ−１）個のブロックに分割された場合、２ｎ本の信号線で構成される。この２ｎ本の信号線のうち、ｎ本が、デュアルポートＳＲＡＭ３の各ブロックへのアクセス状態を片方のデバイスから他方のデバイスに通知するために割り当てられている。このアクセス状態の通知は、信号線に、例えば、ハイレベル信号「１」が供給されているときには、ブロックにアクセスしている状態を、そして、ローレベル信号「０」が供給されているときには、ブロックにアクセスしていない状態を示しているとする。ｎ本の信号線にハイ又はローレベル信号を組み合わせて供給することにより、（２ｎ−１）個のブロックのうち、どのブロックにアクセスしているかが識別できるようにする。
【００３４】
図１では、デュアルポートＳＲＡＭ３を７個のブロックＢ１乃至Ｂ７に分割した場合の構成例を示しており、状態通知信号線６は、６本の信号線からなっている。図中においては、これらの信号線は矢印線で示されている。６本のうちの上側３本は、デバイスＡのデュアルポートＳＲＡＭ３へのアクセス状態ＳＡをデバイスＡからデバイスＢに通知し、その下側３本は、デバイスＢのデュアルポートＳＲＡＭ３へのアクセス状態ＳＢをデバイスＢからデバイスＡに通知するのに割り当てられている。
【００３５】
アクセス状態信号ＳＡは、信号線に供給するハイレベル信号又はローレベル信号を有する信号（Ｓ２，Ｓ１，Ｓ０）であり、アクセス状態信号ＳＢは、同様に信号（Ｓ５，Ｓ４，Ｓ３）である。Ｓ０乃至Ｓ５は、「０」又は「１」で表わされる。ここで、デバイスＡからデバイスＢへデータの送受信を行っている場合を例に、アクセス状態信号を表で示すと、以下のようになる。
アクセス状態信号　　　　　Ｓ５・Ｓ２　　Ｓ４・Ｓ１　　Ｓ３・Ｓ０
ブロックＢ１にアクセス　　　　０　　　　　　０　　　　　　１
ブロックＢ２にアクセス　　　　０　　　　　　１　　　　　　０
・・・　　　　　　　　　　　　　　　・・・
ブロックＢ７にアクセス　　　　１　　　　　　１　　　　　　１
アクセスなし　　　　　　　　　０　　　　　　０　　　　　　０
この様に構成されたデータ送受信システムにおけるデータ転送の動作について、図３乃至図８を参照しながら、デュアルポートＳＲＡＭ３を７個のブロックＢ１乃至Ｂ７に分割した場合を例にして説明する。各図において、図１と同じ部分には、同じ符号を付したが、状態通知信号線６は、６本の信号線の代わりに、状態信号ＳＡと状態信号ＳＢで示した。
【００３６】
先ず、図３には、デバイスＡとデバイスＢのいずれもが、デュアルポートＳＲＡＭ３にアクセスしていない状態を示している。そのため、状態信号ＳＡと状態信号ＳＢは、共に、（０，０，０）となっている。
【００３７】
次に、図３のアクセスしていない状態から、図４に示すように、デバイスＡが、ブロックＢ１にアクセスし、状態信号（０，０，１）をデバイスＢに通知するとともに、データＤ１１をブロックＢ１の転送データ領域に書き込む。このときには、デバイスＢは、デバイスＡがブロックＢ１にアクセスしていることを認識し、デュアルポートＳＲＡＭ３へはアクセスせず、まだ、状態信号ＳＢ（０，０，０）をデバイスＡに通知している。
【００３８】
次いで、図５に示されるように、デバイスＡが、ブロックＢ１への転送データの書込みを完了して、次のブロックＢ２にデータＤ１２の書込みを開始する。このとき、デバイスＡは、状態信号ＳＡ（０，１，０）をデバイスＢに通知し、ブロックＢ２にアクセスしていることを示す。デバイスＢでは、状態信号ＳＡ（０，１，０）を受信し、デバイスＡがブロックＢ１にアクセスしていないことを認識する。ここで、デバイスＢは、ブロックＢ１にアクセスする。このとき、デバイスＢは、デバイスＡに対して、状態信号ＳＢ（０，０，１）を通知する。そして、ブロックＢ１の転送サイズ領域から当該転送データ領域に書き込まれた転送データサイズを検出し、転送データ領域からこの転送データサイズに基づいて転送データを読み出し、データＤ１１に対応するデータＤ２１を取得する。
【００３９】
図６は、図５に続いて、同様に手順で、デバイスＡがブロックＢ３にアクセスし、デバイスＢがブロックＢ２にアクセスしている状態を示しており、デバイスＢには、状態信号ＳＡ（０，１，１）が、デバイスＡには、状態信号ＳＢ（０，０，１）が夫々通知されている。
【００４０】
この様にして、デバイスＡが、各ブロックに順次アクセスしながら、各ブロックにデータ書込みを行い、デュアルポートＳＲＡＭ３の最後のブロック７にデータＤ１７を書き込んでいる様子を、図７に示した。デバイスＢは、デバイスＡのブロックへの書込み作業を認識しながら、ブロック６からデータＤ２６を読み出している。デバイスＢには、状態信号ＳＡ（１，１，１）が、デバイスＡには、状態信号ＳＢ（１，１，０）が夫々通知されている。
【００４１】
デバイスＡから転送されるデータの最後が、ブロックＢ７に書き込まれたデータＤ１７である場合の動作を、図８に示した。このときには、デバイスＢには、状態信号ＳＡ（０，０，０）が、デバイスＡには、状態信号ＳＢ（１，１，１）が夫々通知されている。デバイスＡは，デュアルポートＳＲＡＭ３にアクセスするのを停止しており、デバイスＢがアクセスして、データＤ２７をブロックＢ７から読み出している。
【００４２】
以上のように、デバイスＡから転送されるデータＤ１１乃至Ｄ１７は、デュアルポートＳＲＡＭ３に順次ブロックＢ１乃至Ｂ７に書き込まれ、デバイスＢ、デバイスＡからの状態通知信号を受けて、デバイスＡが当該ブロックにアクセスしていないことを認識しながら、書き込まれたデータを順次読み出し、データＤ２１乃至Ｄ２７を取得している。これで、デバイスＡからの全てのデータがデバイスＢに転送されたことになる。
【００４３】
ここで、デバイスＡによってデュアルポートＳＲＡＭ３に書き込まれたデータＤ１１乃至Ｄ１７と、デバイスＢによってデュアルポートＳＲＡＭ３から読み出されたデータＤ２１乃至Ｄ２７の関係を、図９に時系列に表した。図９において、横軸は、時間軸であり、上段に、デバイスＡによるデータの書込み状態を、そして、下段に、デバイスＢによるデータの読出し状態を示した。
【００４４】
図９では、デュアルポートＳＲＡＭ３の空間メモリのデータ量に相当するデータサイズを７個のブロックに等分割して、デバイスＡからデバイスＢにデータ転送した場合を示しており、デバイスＡとデバイスＢの動作周波数が同じであるとしている。
【００４５】
図９からも理解されるように、この場合には、７個のブロックへのデータ書込み時間をＴとすれば、デバイスＡがデータＤ１１をデュアルポートＳＲＡＭ３に書込みを開始してから、デバイスＢがデータＤ２７の読出し完了までの所要時間は、（１＋１／７）Ｔとなる。この所要時間は、従来のデータ送受信システムのこの所要時間が、２Ｔであるのに対して、大幅に時間短縮されており、２つのデバイス間におけるデュアルポートＳＲＡＭを利用したデータ転送の高速化を図ることができる。
【００４６】
図９に示した場合は、デバイスＡとデバイスＢが同じ動作周波数の場合であったが、図１０に、デバイスＢの動作周波数が、デバイスＡの動作周波数の１／２である場合のデータ転送の動作を時系列的に示した。この様に、動作周波数が異なる場合であっても、デバイスＡがデータＤ１１をデュアルポートＳＲＡＭ３に書込みを開始してから、デバイスＢがデータＤ２７の読出し完了までの所要時間は、（２＋１／７）Ｔとなる。この所要時間は、従来のものにおける３Ｔに比較して、時間の短縮化が図られている。
【００４７】
また、デバイスＡの動作周波数が、デバイスＢの動作周波数の１／２である場合のデータ転送の動作も、図１０に示したものと同様のものとなる。ただ、書込み時間が２Ｔとなり、読出し開始から読出し完了まで時間が、（２−１／７）Ｔなるが、データ転送の所要時間は、（２＋１／７）Ｔである。
【００４８】
図９及び図１０に示した転送動作は、データ転送されるデータのサイズが、ある程度大きい場合であったが、本実施形態のデータ送受信システムによって、微小サイズのデータを転送する動作を、図１１に示した。動作の図示の仕方は、他の場合と同様である。
【００４９】
デバイスＡは、デュアルポートＳＲＡＭ３において分割された一つのブロック、例えば、ブロックＢ１に、微小サイズのデータＤＡ１を書き込む。このとき、デバイスＢには、状態信号ＳＡ（０，０，１）が通知される。デバイスＢは、状態信号ＳＡ（０，０，０）の通知を受け取り、ブロックＢ１からデータＤＡ１を読み取り、データＤＢ１を取得する。
【００５０】
デバイスＡは、ブロックＢ１にデータＤＡ１への書込み完了と同時に、状態信号ＳＡ（０，０，０）の通知を行うので、デバイスＢは、ブロックＢ１のデータサイズの全てにデータが書き込まれるまで待たずに、デバイスＡがブロックＢ１のアクセスを停止したことを認識できる。そのため、その通知の時点で、デバイスＢは、ブロックＢ１から、書き込まれたデータＤＡ１を読み出すことができ、デバイスＡとデバイスＢが同じ動作周波数であれば、書込み時間と読出し時間は、共に、ａ＜１とすると、ａＴ／７となり、データ転送に要する時間は、２ａＴ／７となって、転送効率が大幅に向上する。
【００５１】
次に、デュアルポートＳＲＡＭ３のメモリ空間のサイズより大きなデータをデバイスＡからデバイスＢに転送する場合について、図１２に示した。図１２において、図示の仕方は、他の場合と同様である。図１２では、デュアルポートＳＲＡＭ３のメモリ空間の２倍のデータを転送する場合を示している。そして、デバイスＡとデバイスＢの動作周波数は、同じであるとする。
【００５２】
デバイスＡは、転送データを分割したデータＤ１１乃至Ｄ１７を、時間ｔ１からブロックＢ１乃至Ｂ７に順次１巡目の書込みを行う。各ブロックにデータを書込み完了する毎に、デバイスＡが、デバイスＢに対して、デバイスＡの各ブロックへのアクセス状態を通知する。デバイスＢは、時間ｔ２からデータの読出しを行うが、デバイスＡからアクセス状態が通知される毎に、書き込まれたデータＤ１１乃至Ｄ１７を順次１巡目の読出しを行い、データＤ２１乃至Ｄ２７を取得する。７つのブロックに書込み及び読出しに要した時間をＴとする。次いで、同様にして、デバイスＡは、時間ｔ３で、２巡目の書込みを開始し、デバイスＢは、ｔ４で２巡目の読出しを開始する。
【００５３】
デバイスＢは、時間ｔ５からデータＤ１７の読込みを開始するので、データＤ２７の取得完了は、時間ｔ６となる。そのため、２Ｔ分の大きいサイズのデータを、デバイスＡからデバイスＢへの転送に要した時間は、（２＋１／７）Ｔとなる。これは、従来のシステムによる転送の所要時間４Ｔに比較すると、大幅に転送時間を短縮できた。
【００５４】
ところで、図１２に示した場合は、デバイスＡとデバイスＢの動作周波数が同じであったが、デバイスＢの動作周波数が、例えば、デバイスＡの動作周波数の半分以下であると、上述したように、デバイスＢが、１巡目の書込みデータを読み出している最中に、デバイスＡによる２巡目のデータ書込みが追い着いてしまうという現象が発生し、読み込まれるべきデータを消してしまうことになる。
【００５５】
この追い着き現象の発生の状態を、図１３に示した。図１３は、図１２と同様の表示の仕方がされている。デバイスＢの各ブロックに係るデータ読出しの時間が２倍となっている。デバイスＡは、時間ｔ１で各ブロックに１巡目のデータ書込みを開始し、時間ｔ４で１巡目のデータ書込みを完了している。しかし、時間ｔ４の時点では、デバイスＢは、１巡目に書き込まれたデータＤ２３の読出しを完了したところである。
【００５６】
しかし、デバイスＡは、時間ｔ４で２巡目のデータ書込みを開始する。ところが、時間ｔ５になると、デバイスＡは、データＤ１５の書込みを完了し、データＤ１６をブロックＢ６に書込みを開始することになり、ここで、追い着き現象が発生する。そのため、何も制御しなかった場合には、本来読み出されなければならないデータが、デバイスＢによって読み出される以前に、デバイスＡによる新しいデータの書込みで上書きされる可能性がある。
【００５７】
逆に、デバイスＡの動作周波数が、デバイスＢの動作周波数が低い場合には、デバイスＡの動作がデータの書込み側であると、デバイスＢによって、同じデータが２度読みされる可能性がある。
【００５８】
そこで、大量のデータをデバイスＡからデバイスＢに転送する際には、双方のデバイスが、状態通知信号線６を監視し、デュアルポートＳＲＡＭ３の各ブロックに対するアクセス状態を把握するようにする。状態通知信号線６を監視しながら、大量のデータを転送する動作について、図１４乃至図２１を参照して、以下に説明する。
【００５９】
図１４では、デバイスＡによって、１巡目のデータ書込みが行われている状態を示している。ブロックＢ３にデータＤ１３を書き込んでおり、デバイスＡからデバイスＢに状態信号ＳＡ（０，１，１）が通知されている。このとき、デバイスＢは、ブロックＢ１からデータＤ２１を読出しており、状態信号ＳＢ（０，０，１）をデバイスＡに通知している。これらの状態信号によって、デバイスＡとデバイスＢは、双方のブロックへのアクセス状態を把握する。
【００６０】
図１５は、デバイスＡが、ブロックＢ４に１巡目のデータＤ１４を書き込んでいるときには、まだ、デバイスＢが、ブロックＢ２のデータＤ２２を読み出していることを示している。次いで、図１６は、さらに、デバイスＡによる１巡目のデータ書込みが進み、デバイスＡが、１巡目における最後のデータＤ１７の書込みを行っており、デバイスＢは、１巡目のデータＤ２３を読み出している状態を示している。
【００６１】
次に、デバイスＡが、２巡目のデータＤ１１をブロックＢ１に書き込んでいる状態が、図１７に示される。このとき、デバイスＡは、状態信号ＳＡをデバイスＢに通知するが、デバイスＢから通知されている状態信号ＳＢに基づいて、デバイスＢがブロックＢ４にアクセス中であることを把握しておく。
【００６２】
図１８は、図１７の状態からさらに進み、デバイスＡが、デバイスＢの読出し途中であるブロックＢ５の直前のブロックＢ４に、２巡目のデータＤ１４を書き込んでいる状態を示している。このときにも、デバイスＡは、デバイスＢからの状態信号ＳＢ（１，０，１）に基づき、デバイスＢがブロックＢ５にアクセス中であることを認識している。デバイスＢは、状態信号ＳＡ（１，０，０）により、デバイスＡがブロックＢ４にアクセス中と認識する。
【００６３】
次に、図１９は、デバイスＡが、２巡目のデータＤ１５の書込みを行い、デバイスＢが、１巡目のデータＤ２６を読み出している状態を示している。ここで、デバイスＡは、状態信号ＳＢ（１，１，０）に基づいて、デバイスＢが、ブロックＢ６にアクセス中であると認識すると同時に、次のブロックＢ６に対して書込みを行うと、ブロックＢ６において上書きが発生することを認識する。
【００６４】
続いて、図１９において、デバイスＡが、ブロックＢ５に２巡目のデータＤ１５の書込み完了したとき、上述の上書きを防止するため、デバイスＡは、２巡目のデータＤ１６の書込みを停止し、待機する。この状態を、図２０に示した。このとき、デバイスＡは、デバイスＢに対して、状態信号ＳＡ（０，０，０）を通知する。デバイスＢからは、デバイスＡに対して、状態信号ＳＢ（１，１，０）を通知しており、ブロックＢ６にアクセス中であることを通知している。
【００６５】
次いで、図２１に示されるように、デバイスＢから、デバイスＡに対して、状態信号ＳＢ（１，１，１）が通知されたとき、デバイスＡは、デバイスＢがブロックＢ６へのアクセスの終了を認識し、ブロックＢ６に２巡目のデータＤ１６の書込みを再開する。このとき、デバイスＢは、状態信号ＳＡ（１，１，０）に基づいて、デバイスＡがブロックＢ６にアクセス中であることを認識する。
【００６６】
これ以降では、デバイスＡが、２巡目のデータＤ１７をブロックＢ７に書き込むときにも、同様の追い着き現象が発生するので、デバイスＡは、状態信号ＳＢに基づいて書込みを一旦停止し、デバイスＢがブロックＢ７をアクセスしていないことを認識してから、ブロックＢ７へのデータＤ１７の書込みを行う。
【００６７】
これまで、大量のデータとして、デュアルポートＳＲＡＭにおけるメモリ空間の２倍のデータサイズの場合を例に説明したが、さらに大量のデータであっても、追い着き現象の発生時には、上述した状態信号による認識に基づいた手順で、ブロックへの書込みを一旦停止し、待機することによって、新しいデータ書込みによる上書きを防止できる。
【００６８】
この様に、書込みの追い着き時の上書き防止のため、デバイスＡのブロックへのデータ書込みが一時的に停止されても、図１３の場合であれば、読出しに時間がかかるため、全体のデータ転送に要する時間は、（２＋１／７）Ｔであり、データ転送時間を短縮できる。その書込みの停止による影響はない。
【００６９】
【発明の効果】
以上のように、本発明のデータ送受信システムによれば、異なる系の動作周波数で動作する２つのデバイス間に接続されたデュアルポートメモリにおいて、該メモリのメモリ空間を複数に分割したブロックで形成し、転送されるデータが該ブロックに書き込まれてから当該データを読み出すようにしたので、メモリ空間より大きなサイズのデータ、或いは、微小なサイズのデータであっても、２つのデバイス間で、高速に、そして、効率的にデータ転送することができる。
【００７０】
さらに、デバイスがデュアルポートメモリのブロックに書込み又は読出しの都度、ブロックへのアクセス状態を双方のデバイスに通知するようにしたので、大量データの転送時に、データの書込み又は読出しが確実に制御され、デバイスの動作周波数の相違するときに発生する追い着きによる上書き又は２度読みを防止することができる。
【図面の簡単な説明】
【図１】本実施形態によるデータ送受信システムを説明する図である。
【図２】デュアルポートＳＲＡＭのメモリ空間を７ブロックに分割した構成を説明する図である。
【図３】デバイスＡとデバイスＢとがデータを送受信していない状態を説明する図である。
【図４】デバイスＡからブロックＢ１にデータが書き込まれている状態を説明する図である。
【図５】図４に続いて、デバイスＡがブロックＢ２にデータ書込みを行い、デバイスＢがブロックＢ１からデータを読み出している状態を説明する図である。
【図６】図５に続いて、デバイスＡがブロックＢ３にデータ書込みを行い、デバイスＢがブロックＢ２からデータを読み出している状態を説明する図である。
【図７】図６に続いて、デバイスＡがブロックＢ７にデータ書込みを行い、デバイスＢがブロックＢ６からデータを読み出している状態を説明する図である。
【図８】図７に続いて、デバイスＡがブロックＢ７にデータの書込みを終了し、デバイスＢがブロックＢ７からデータを読み出している状態を説明する図である。
【図９】デバイスＡによるデュアルポートＳＲＡＭへのデータ書込みと、デバイスＢによるデュアルポートＳＲＡＭからのデータ読出しとの関係を時系列に表わして説明する図である。
【図１０】デバイスＡのデータ書込み速度がデバイスＢの読出し速度より速い場合のデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図１１】デバイスＡからデバイスＢへ送信されるデータ量が少ない場合のデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図１２】デバイスＡからデバイスＢへ送信されるデータ量がデュアルポートＳＲＡＭの容量より多い場合のデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図１３】デバイスＡから送信されるデータが大量であって、デバイスＡのデータ書込み速度がデバイスＢの読出し速度より速い場合におけるデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図１４】図１３の場合であり、デバイスＡがブロックＢ３にデータ書込みを行い、デバイスＢがブロックＢ１からデータを読み出している状態を説明する図である。
【図１５】図１４に続いて、デバイスＡがブロックＢ４にデータ書込みを行い、デバイスＢがブロックＢ２からデータを読み出している状態を説明する図である。
【図１６】図１５に続いて、デバイスＡがブロックＢ７にデータ書込みを行い、デバイスＢがブロックＢ３からデータを読み出している状態を説明する図である。
【図１７】図１６に続いて、デバイスＡがブロックＢ１にデータ書込みを行い、デバイスＢがブロックＢ４からデータを読み出している状態を説明する図である。
【図１８】図１７に続いて、デバイスＡがブロックＢ４にデータ書込みを行い、デバイスＢがブロックＢ５からデータを読み出している状態を説明する図である。
【図１９】図１８に続いて、デバイスＡがブロックＢ５にデータ書込みを行い、デバイスＢがブロックＢ６からデータを読み出している状態を説明する図である。
【図２０】デバイスＡが、デバイスＢによるブロックＢ６からのデータ読出し完了まで、ブロックＢ６へのデータ書込み待機中である状態を説明する図である。
【図２１】図２０に続いて、デバイスＡがブロックＢ６にデータ書込みを行い、デバイスＢがブロックＢ７からデータを読み出している状態を説明する図である。
【図２２】従来例によるデータ送受信システムを説明する図である。
【図２３】デバイスＡとデバイスＢの動作周波数が同じ場合におけるデュアルポートＳＲＡＭへのデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図２４】デバイスＡの動作周波数がデバイスＢのそれより高い場合におけるデュアルポートＳＲＡＭへのデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図２５】デバイスＡの動作周波数がデバイスＢのそれより高い場合であり、デバイスＡからのデータ量が少ないときにおけるデュアルポートＳＲＡＭへのデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【図２６】デバイスＡとデバイスＢの動作周波数が同じであり、デバイスＡからのデータ量が大量である場合におけるデュアルポートＳＲＡＭへのデータ書込みとデータ読出しとの関係を時系列に表して説明する図である。
【符号の説明】
１…デバイスＡ
２…デバイスＢ
３…デュアルポートＳＲＡＭ
４、５…データ転送線
６、ＳＡ、ＳＢ…状態通知信号線
Ｂ１〜Ｂ７…ブロック
【図１】
2004133789.tif 000003
【図２】
2004133789.tif 000004
【図３】
2004133789.tif 000005
【図４】
2004133789.tif 000006
【図５】
2004133789.tif 000007
【図６】
2004133789.tif 000008
【図７】
2004133789.tif 000009
【図８】
2004133789.tif 000010
【図９】
2004133789.tif 000011
【図１０】
2004133789.tif 000012
【図１１】
2004133789.tif 000013
【図１２】
2004133789.tif 000014
【図１３】
2004133789.tif 000015
【図１４】
2004133789.tif 000016
【図１５】
2004133789.tif 000017
【図１６】
2004133789.tif 000018
【図１７】
2004133789.tif 000019
【図１８】
2004133789.tif 000020
【図１９】
2004133789.tif 000021
【図２０】
2004133789.tif 000022
【図２１】
2004133789.tif 000023
【図２２】
2004133789.tif 000024
【図２３】
2004133789.tif 000025
【図２４】
2004133789.tif 000026
【図２５】
2004133789.tif 000027
【図２６】
2004133789.tif 000028