(57)【要約】【課題】メモリアクセス時間の無駄を解消し、効率的な演算処理を実現できるデータ演算装置を提供する。【解決手段】トリガラッチ２と、タイミング生成部３と、アドレス生成部４と、遅延部５と、リードラッチ９、演算部１０、ライトラッチ１１を有するデータ更新部６およびリードラッチ１２、演算部１３、ライトラッチ１４を有するデータ更新部７、メモリ８を備え、データ更新部６，７の動作をそれぞれ決められたクロック数分の位相差を持ちながら同時に実行させ、データ更新部６，７を位相の異なるクロックで同時に駆動してデータ演算することができ、効率的な演算処理を実現する。【選択図】  図１
2004234458.tif 000002
【特許請求の範囲】
【請求項１】
外部からの入力データを保持するトリガラッチと、装置の動作タイミングを決定するタイミング信号を発生するタイミング生成部と、演算データを蓄積するメモリと、前記メモリの読み／書きアドレスを生成するアドレス生成部と、前記メモリから読み出したデータを保持するリードラッチと入力データと前記リードラッチが読み出したデータに基づいて演算を実行する演算部および前記メモリへ書き込むデータを保持するライトラッチとを有するデータ更新部と、前記データ更新部が実行するデータの読出し、演算および書込みのタイミング信号を遅延する遅延部と、を備え、前記データ更新部の動作をそれぞれ所定のクロック数分の位相差を持ちながら同時に実行させることを特徴とするデータ演算装置。
【請求項２】
前記遅延部は、タイミング信号を１クロック分遅延するフリップフロップで構成したことを特徴とする請求項１記載のデータ演算装置。
【請求項３】
前記遅延部は、タイミング信号を一定時間遅延する遅延素子で構成したことを特徴とする請求項１記載のデータ演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＤＲＡＭ等のメモリに蓄積されたデータを読み出して演算を行い、再度メモリに書き込む処理を連続して実行するデータ演算装置に関する。
【０００２】
【従来の技術】
図４に従来のデータ演算装置のブロック構成図を示す。データ演算装置５０は、トリガラッチ５１と、タイミング生成部５２と、アドレス生成部５３と、リードラッチ５６、演算部５７およびライトラッチ５８を有するデータ更新部５４と、メモリ５５から構成する。
【０００３】
外部から動作指示信号Ｓと外部データＤＯが入力されると、トリガラッチ５１は、動作指示信号Ｓと外部データＤＯをラッチし、タイミング生成部５２にタイミング情報Ｔ、アドレス生成部５３にアドレス情報ＪＡ、演算部５７に外部データＤＯを送出する。
【０００４】
タイミング生成部５２は、動作開始を指示するタイミング信号Ｔ１をアドレス生成部５３に送出するとともに、リードタイミング信号ＴＲ、演算タイミング信号ＴＣおよびライトタイミング信号ＴＷをそれぞれデータ更新部５４のリードラッチ５６、演算部５７およびライトラッチ５８に送出する。また、タイミング生成部５２は、リードイネーブル信号ＲＥおよびライトイネーブル信号ＷＥをメモリ５５に送出する。
【０００５】
図５に従来のデータ演算装置のタイミングチャート図を示す。メモリ５５のアドレスＡ１が確定し、リードラッチ５６が読出しデータＲＤ１をラッチするまで１クロック（▲１▼表示）、演算部５７が演算を実行してライトラッチ５８が演算結果データＣ１をラッチするまで１クロック（▲２▼表示）、ライトラッチ５８が演算結果データＣ１を書込みデータＷＤ１として出力し、メモリ５５に書き込まれるまで１クロック（▲３▼表示）を要する。
【０００６】
このように、従来のデータ演算装置５０は、一つのデータ値の更新サイクルに、３クロックを要する。
【０００７】
なお、図４に示すデータ演算装置５０のような方式は、本発明の出願人が独自に採用しているものであり、類似の特許公開公報（特許文献）は、検索できませんでした。
【０００８】
【発明が解決しようとする課題】
従来のデータ演算装置５０は、メモリ５５へのアクセスにおいて、図５に示す▲２▼のクロックの時間帯では、データの読出しまたは書込みが実行されておらず、メモリアクセス時間を無駄に消費する課題がある。
【０００９】
この発明はこのような課題を解決するためになされたもので、その目的はメモリアクセス時間の無駄を解消し、効率的な演算処理を実現できるデータ演算装置を提供することにある。
【００１０】
【課題を解決するための手段】
前記課題を解決するためこの発明に係るデータ演算装置は、外部からの入力データを保持するトリガラッチと、装置の動作タイミングを決定するタイミング信号を発生するタイミング生成部と、演算データを蓄積するメモリと、メモリの読み／書きアドレスを生成するアドレス生成部と、メモリから読み出したデータを保持するリードラッチと入力データとリードラッチが読み出したデータに基づいて演算を実行する演算部およびメモリへ書き込むデータを保持するライトラッチとを有するデータ更新部と、データ更新部が実行するデータの読出し、演算および書込みのタイミング信号を遅延する遅延部とを備え、データ更新部の動作をそれぞれ所定のクロック数分の位相差を持ちながら同時に実行させることを特徴とする。
【００１１】
この発明に係るデータ演算装置は、複数のデータ更新部が実行するデータの読出し、演算および書込みのタイミング信号を遅延する遅延部を備え、複数のデータ更新部の動作をそれぞれ所定のクロック数分の位相差を持ちながら同時に実行させるので、複数のデータ更新部を位相の異なるクロックで同時に駆動してデータ演算することができ、効率的な演算処理を実現することができる。
【００１２】
また、この発明に係る遅延部は、タイミング信号を１クロック分遅延するフリップフロップで構成したことを特徴とする。
【００１３】
さらに、この発明に係る遅延部は、タイミング信号を一定時間遅延する遅延素子で構成したことを特徴とする。
【００１４】
この発明に係る遅延部は、タイミング信号を１クロック分遅延するフリップフロップ、タイミング信号を一定時間遅延する遅延素子で構成したので、単純な構成で複数のデータ更新部を同時に駆動してデータ演算することができる。
【００１５】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に基づいて説明する。図１はこの発明に係るデータ演算装置の一実施の形態要部ブロック構成図である。図１において、データ演算装置１は、トリガラッチ２、タイミング生成部３、アドレス生成部４、遅延部５、二つのデータ更新部６およびデータ更新部７、メモリ８を備える。また、データ更新部６は、リードラッチ９、演算部１０、ライトラッチ１１を、データ更新部７は、リードラッチ１２、演算部１３、ライトラッチ１４をそれぞれ備える。
【００１６】
外部からの動作指示信号Ｓおよび外部データＤＯ１，ＤＯ２は、メモリ８の二つのアドレスに関する情報を含み、トリガラッチ２は、動作指示信号Ｓおよび外部データＤＯ１，ＤＯ２をラッチし、タイミング生成部３に動作開始を指示するタイミング信号Ｔを供給する。
【００１７】
また、トリガラッチ２は、アドレス生成部４にアドレス情報ＪＡ１，ＪＡ２を供給するとともに、データ更新部６の演算部１０に一つ目の外部データＤＯ１およびデータ更新部７の演算部１３に二つ目の外部データＤＯ２を供給する。
【００１８】
タイミング生成部３は、トリガラッチ２から供給されるタイミング信号Ｔに基づいて動作開始を指示するタイミング信号Ｔ１をアドレス生成部４に提供するとともに、二つのアドレスに対するリードイネーブル信号ＲＥおよびライトイネーブル信号ＷＥを連続してメモリ８に提供する。
【００１９】
なお、タイミング生成部３からのリードイネーブル信号ＲＥおよびライトイネーブル信号ＷＥは、一つ目のリードイネーブル信号ＲＥ→二つ目のリードイネーブル信号ＲＥ→一つ目のライトイネーブル信号ＷＥ→二つ目のライトイネーブル信号ＷＥの順番で、４クロックＣＬＫを一組にして生成する。
【００２０】
また、タイミング生成部３は、リードタイミング信号ＴＲ１、演算タイミング信号ＴＣ１およびライトタイミング信号ＴＷ１をそれぞれデータ更新部６のリードラッチ９、演算部１０およびライトラッチ１１に提供するとともに、リードタイミング信号ＴＲ１、演算タイミング信号ＴＣ１およびライトタイミング信号ＴＷ１を遅延部５に提供する。
【００２１】
遅延部５は、フリップフロップ回路で構成し、タイミング生成部３から提供されるリードタイミング信号ＴＲ１、演算タイミング信号ＴＣ１およびライトタイミング信号ＴＷ１にそれぞれ１クロックＣＬＫ分の遅延時間を付加したリードタイミング信号ＴＲ２、演算タイミング信号ＴＣ２およびライトタイミング信号ＴＷ２をそれぞれデータ更新部７のリードラッチ１２、演算部１３およびライトラッチ１４に提供する。
【００２２】
また、遅延部５は、遅延素子で構成し、タイミング生成部３から提供されるリードタイミング信号ＴＲ１、演算タイミング信号ＴＣ１およびライトタイミング信号ＴＷ１をそれぞれ一定時間（例えば、１クロックＣＬＫ分）遅延させて、遅延を施したリードタイミング信号ＴＲ２、演算タイミング信号ＴＣ２およびライトタイミング信号ＴＷ２をそれぞれデータ更新部７のリードラッチ１２、演算部１３およびライトラッチ１４に提供する。
【００２３】
リードラッチ９は、タイミング生成部３から供給されるリードタイミング信号ＴＲ１により、メモリ８から一つ目のアドレスに対応したデータＲＤ−Ｘを読み出してラッチし、ラッチしたデータＲＤ−Ｘを演算部１０に供給する。
【００２４】
演算部１０は、所定の演算機能を備え、タイミング生成部３から供給される演算タイミング信号ＴＣ１により、トリガラッチ２から供給される一つ目の外部データＤＯ１とリードラッチ９から供給されるデータＲＤ−Ｘに所定の演算を施し、演算結果データＣＤ−Ｘをライトラッチ１１に供給する。
【００２５】
ライトラッチ１１は、タイミング生成部３から供給されるライトタイミング信号ＴＷ１により、演算部１０から供給される演算結果データＣＤ−Ｘをラッチし、ラッチした演算結果データＣＤ−ＸをライトデータＷＤ−Ｘとしてメモリ８に書き込む。
【００２６】
これにより、データ更新部６は、メモリ８に蓄積された一つ目のアドレスに対応したデータＲＤ−Ｘの呼出し、演算ならびに書込みの一連のデータ更新を実行することができる。
【００２７】
リードラッチ１２は、遅延部５から供給されるリードタイミング信号ＴＲ２により、メモリ８から二つ目アドレスに対応したデータＲＤ−Ｙを読み出してラッチし、ラッチしたデータＲＤ−Ｙを演算部１３に供給する。
【００２８】
演算部１３は、所定の演算機能を備え、遅延部５から供給される演算タイミング信号ＴＣ２により、トリガラッチ２から供給される二つ目の外部データＤＯ２とリードラッチ１２から供給されるデータＲＤ−Ｙに所定の演算を施し、演算結果データＣＤ−Ｙをライトラッチ１４に供給する。
【００２９】
ライトラッチ１４は、タイミング生成部３から供給されるライトタイミング信号ＴＷ２により、演算部１３から供給される演算結果データＣＤ−Ｙをラッチし、ラッチした演算結果データＣＤ−ＹをライトデータＷＤ−Ｙとしてメモリ８に書き込む。
【００３０】
これにより、データ更新部７は、メモリ８に蓄積された二つ目のアドレスに対応したデータＲＤ−Ｙの呼出し、演算ならびに書込みの一連のデータ更新を実行することができる。
【００３１】
アドレス生成部４は、トリガラッチ２から供給されるアドレス情報ＪＡ１，ＪＡ２およびタイミング信号Ｔ１に基づいてアドレス信号ＡＤ１，ＡＤ２をメモリ８に提供し、メモリ領域に蓄積されているデータＲＤ−Ｘ，ＲＤ−Ｙの一つ目のアドレスおよび二つ目のアドレスを指定する。
【００３２】
メモリ８は、ＤＲＡＭ等のメモリで構成し、通信装置、例えば光メディアコンバータ等の外部機器のパケットエラー情報や処理パケットなどのデータを蓄積する。
【００３３】
このように、この発明に係るこの発明に係る遅延部５は、タイミング信号を１クロック分遅延するフリップフロップ、タイミング信号を一定時間遅延する遅延素子で構成したので、単純な構成で複数のデータ更新部６，７を同時に駆動してデータ演算することができる。
【００３４】
なお、本実施例では、データ更新部６およびデータ更新部７の２個で構成したが、遅延部５で遅延時間を多く設定することにより、データ更新部を３個以上で構成し、より効率的な演算処理を実現することができる。
【００３５】
図２はこの発明に係るデータ演算装置の一実施の形態タイミングチャート図である。図２において、データ演算装置１は、４クロックＣＬＫ毎にデータ更新処理が完結する。１クロックＣＬＫ（▲１▼表示）および２クロックＣＬＫ（▲２▼表示）でメモリ８からデータ更新部６およびデータ更新部７がそれぞれ一つ目のアドレスＡ１および二つ目のアドレスに対応したデータＲＤ１およびデータＲＤ２を読み出す。
【００３６】
続いて、３クロックＣＬＫ（▲３▼表示）および４クロック（▲４▼表示）でデータＲＤ１およびデータＲＤ２を演算した結果のデータＷＤ１およびデータＷＤ２をメモリ８に書き込む。
【００３７】
具体的には、１クロックＣＬＫ（▲１▼表示）では、一つ目のアドレスＡ１のデータＲＤ１を呼び出し、２クロックＣＬＫ（▲２▼表示）では、読み出したデータＲＤ１に演算を施し、演算結果データＣ１をラッチすると同時に、二つ目のアドレスＡ２のデータＲＤ２を読み出す。
【００３８】
３クロックＣＬＫ（▲３▼表示）では、ラッチした演算結果データＣ１をデータＷＤ１としてメモリ８に書き込むと同時に、読み出したデータＲＤ２に演算を施し、演算結果データＣ２をラッチする。
【００３９】
４クロックＣＬＫ（▲４▼表示）では、ラッチした演算結果データＣ２をデータＷＤ２としてメモリ８に書き込む。
【００４０】
つまり、一つ目のアドレスＡ１に着目すると、１〜３クロックＣＬＫ（▲１▼〜▲３▼表示）で読出し、演算および書込みの一連のデータ更新処理を実行し、二つ目のアドレスＡ２に着目すると、２〜４クロックＣＬＫ（▲２▼〜▲４▼表示）で読出し、演算および書込みの一連のデータ更新処理を実行する。同様に、以降４クロックＣＬＫ（▲１▼〜▲４▼表示）毎に、２つのアドレスに対するデータ更新処理を繰り返す。
【００４１】
したがって、トータルで見ると、４クロックＣＬＫ（▲１▼〜▲４▼表示）で２つのアドレスＡ１，Ａ２に対するデータ更新処理を実行できることになり、３クロックで１つのアドレスに対するデータ更新処理を実行する従来の装置に比べ、１．５倍のデータ更新処理能力を実現することができる。
【００４２】
このように、この発明に係るデータ演算装置１は、複数のデータ更新部６，７が実行するデータの読出し、演算および書込みのタイミング信号を遅延する遅延部５を備え、複数のデータ更新部６，７の動作をそれぞれ所定のクロック数分（１クロック）の位相差を持ちながら同時に実行させるので、複数のデータ更新部を位相の異なるクロックで同時に駆動してデータ演算することができ、効率的な演算処理を実現することができる。
【００４３】
なお、本実施の形態では、同じ構成のデータ更新部を２つ設けたが、一つのデータ更新部で２つのアドレスに対する読出し（リード）処理、書込み（ライト）処理をパイプライン的に連続処理する構成にしてもよい。
【００４４】
また、遅延部の遅延時間を複数設定し、データ更新部を３個以上設け、演算に要するクロック数を多く確保することにより、一層複雑な演算処理を実行することもできる。
【００４５】
次に、この発明に係るデータ演算装置の適用例について説明する。図３はこの発明に係るデータ演算装置が適用される通信装置の一実施の形態要部ブロック構成図である。なお、本実施の形態は、通信装置、例えば光メディアコンバータに適用した場合であり、図１を参照して説明する。図３において、光メディアコンバータ１５は、複数の光送受信機１６と、プロトコル処理部１７と、制御部１８とから構成する。また、プロトコル処理部１７は、複数のＭＡＣ部１９、スイッチ部２０および図１に示すデータ演算装置１で構成する統計情報部２１を備える。
【００４６】
複数の光送受信機１６の先に（対向して）、別の光メディアコンバータが接続され、受信した光信号は、光送受信機１６で電気信号に変換され、ＭＡＣ部１９でイーサネット（登録商標）のプロトコル処理が行われ、スイッチ部２０で宛先の振分けが実施される。
【００４７】
その後、前述したものとは別のＭＡＣ部１９でプロトコル変換がなされ、電気信号のままで送出されるか、または光送受信機１６で光信号に変換されて送出される。
【００４８】
制御部１８は、光メディアコンバータ１５全体の動作を制御する。統計情報部（データ演算装置）２１は、それぞれのＭＡＣ部１９およびスイッチ部２０からパケットの受信やパケットエラーに関するトリガ信号を受信する。
【００４９】
図１に示すメモリ８には、様々なパケットエラー情報や処理パケット数情報が蓄積されており、トリガラッチ２は、動作指示信号Ｓとして統計カウンタのカウントアップトリガ信号を、外部データＤＯ１，ＤＯ２として受信オクテット数をそれぞれ受信する。
【００５０】
タイミング生成部３は、メモリアクセスのステートマシンを生成し、各構成部にタイミング信号を供給するとともに、リードイネーブル信号とライトイネーブル信号を生成する。
【００５１】
データ更新部６およびデータ更新部７は、互いに同じ構成のものを配置する。遅延部５は、単純なフリップフロップによる１クロック分の遅延時間とし、データ更新部７に対するリードタイミング信号、演算タイミング信号およびライトタイミング信号をデータ更新部６に対するリードタイミング信号、演算タイミング信号およびライトタイミング信号よりも１クロック分遅らせて供給する。
【００５２】
【発明の効果】
以上説明したように、この発明に係るデータ演算装置は、複数のデータ更新部が実行するデータの読出し、演算および書込みのタイミング信号を遅延する遅延部を備え、複数のデータ更新部の動作をそれぞれ所定のクロック数分の位相差を持ちながら同時に実行させるので、複数のデータ更新部を位相の異なるクロックで同時に駆動してデータ演算することができ、効率的な演算処理を実現することができる。
【００５３】
また、この発明に係る遅延部は、タイミング信号を１クロック分遅延するフリップフロップ、タイミング信号を一定時間遅延する遅延素子で構成したので、単純な構成で複数のデータ更新部を同時に駆動してデータ演算することができる。
【図面の簡単な説明】
【図１】この発明に係るデータ演算装置の一実施の形態要部ブロック構成図
【図２】この発明に係るデータ演算装置の一実施の形態タイミングチャート図
【図３】この発明に係るデータ演算装置が適用される光メディアコンバータの一実施の形態要部ブロック構成図
【図４】従来のデータ演算装置のブロック構成図
【図５】従来のデータ演算装置のタイミングチャート図
【符号の説明】
１  データ演算装置
２  トリガラッチ
３  タイミング生成部
４  アドレス生成部
５  遅延部
６，７  データ更新部
８  メモリ
９，１２  リードラッチ
１０，１３  演算部
１１，１４  ライトラッチ
１５  光メディアコンバータ
１６  光送受信機
１７  プロトコル処理部
１８  制御部
１９  ＭＡＣ部
２０  スイッチ部
２１  統計情報部（データ演算装置）
ＣＬＫ  クロック
Ｄ０１，Ｄ０２  外部データ
Ｓ  動作指示信号
ＤＯ１，ＤＯ２  外部データ
ＪＡ１，ＪＡ２  アドレス情報
ＡＤ１，ＡＤ２  アドレス信号
ＲＥ    リードイネーブル信号
ＷＥ    ライトイネーブル信号
ＴＲ１，ＴＲ２  リードタイミング信号
ＴＣ１，ＴＣ２  演算タイミング信号
ＴＷ１，ＴＷ２  ライトタイミング信号
【図１】
2004234458.tif 000003
【図２】
2004234458.tif 000004
【図３】
2004234458.tif 000005
【図４】
2004234458.tif 000006
【図５】
2004234458.tif 000007