(57)【特許請求の範囲】
【請求項１】
入力されたデータを記憶する記憶手段と、
前記入力データを前記記憶手段に書き込む書き込み手段と、
前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、
前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、
前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、
前記演算処理手段に対しクロック信号を供給する通常状態と供給を停止するスリープ状態との切り換え制御を行うクロック制御手段と、
前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記クロック制御手段を制御し前記クロック信号の状態を通常状態とスリープ状態との間で切り換えるクロック信号状態切り換え手段とを備えた、
ことを特徴とする演算処理装置。
【請求項２】
入力されたデータを記憶する記憶手段と、
前記入力データを前記記憶手段に書き込む書き込み手段と、
前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、
前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、
前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、
前記演算処理手段を構成するフリップフロップに対し該フリップフロップを含むループ内でデータをホールドするホールド状態と該フリップフロップにデータを入出力する通常状態とを切り換え制御するフリップフロップ制御手段と、
前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記フリップフロップ制御手段を制御し前記フリップフロップの状態をデータを通常状態とホールド状態との間で切り換えるホールド制御手段とを備えた、
ことを特徴とする演算処理装置。
【請求項３】
請求項１記載の演算処理装置において、
前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記クロック信号の状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項４】
請求項１記載の演算処理装置において、
前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記クロック信号の状態をスリープ状態に切り換える、
ことを特徴とする演算処理装置。
【請求項５】
請求項２記載の演算処理装置において、
前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記フリップフロップの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項６】
請求項２記載の演算処理装置において、
前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記フリップフロップの状態をホールド状態に切り換える、
ことを特徴とする演算処理装置。
【請求項７】
請求項１記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項８】
請求項１記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、
ことを特徴とする演算処理装置。
【請求項９】
請求項２記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１０】
請求項２記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１１】
請求項１記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１２】
請求項１記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１３】
請求項２記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１４】
請求項２記載の演算処理装置において、
前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１５】
請求項７記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１６】
請求項８記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１７】
請求項９記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１８】
請求項１０記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、
ことを特徴とする演算処理装置。
【請求項１９】
請求項１１記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項２０】
請求項１２記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、
ことを特徴とする演算処理装置。
【請求項２１】
請求項１３記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、
ことを特徴とする演算処理装置。
【請求項２２】
請求項１４記載の演算処理装置において、
前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、
前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、
ことを特徴とする演算処理装置。
【請求項２３】
請求項１記載の演算処理装置において、
前記クロック信号のスリープ状態は、クロック信号を完全に停止させた状態である、
ことを特徴とする演算処理装置。
【請求項２４】
請求項１記載の演算処理装置において、
前記クロック信号のスリープ状態は、前記クロック信号の供給を停止する状態に代えて前記通常状態でのクロック周波数よりも低い周波数にクロック周波数を下げた状態である、
ことを特徴とする演算処理装置。
【請求項２５】
請求項１記載の演算処理装置において、
前記クロック信号状態切り換え手段は、
前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、
前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、
ことを特徴とする演算処理装置。
【請求項２６】
請求項２記載の演算処理装置において、
前記ホールド制御手段は、
前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、
前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、
ことを特徴とする演算処理装置。
【請求項２７】
請求項１記載の演算処理装置において、
前記クロック信号状態切り換え手段は、
前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、
前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、
ことを特徴とする演算処理装置。
【請求項２８】
請求項２記載の演算処理装置において、
前記ホールド制御手段は、
前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、
前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、
ことを特徴とする演算処理装置。
【請求項２９】
請求項１記載の演算処理装置において、
前記クロック制御手段は、
その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能である、
ことを特徴とする演算処理装置。
【請求項３０】
請求項２記載の演算処理装置において、
前記フリップフロップ制御手段は、
その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能である、
ことを特徴とする演算処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック制御型の演算処理装置に関し、特にバッファメモリにデータを一時的に格納して演算処理を行う動作システムにおける演算処理装置の改良を図ったものに関する。
【０００２】
【従来の技術】
図１６は、バッファメモリにデータを一時的に格納して演算処理を行う、従来の動作システムの一例を示すものである。
この従来のクロック制御型演算処理装置は、外部のマイコン等の制御を必要とせずに演算処理装置自体でクロックの供給，停止を制御することができるものである。
【０００３】
図において、バッファメモリ１１はＤＲＡＭ等の大容量の記憶素子からなり、例えばＤＶＤの誤り訂正処理単位など、演算処理のブロック単位に分割された複数の領域を持ち、１つのブロックにつき１つのアドレスが割り当てられている。バッファメモリへのアクセスが生じる動作は、書き込み動作，演算処理動作，読み出し動作の３種類があり、それぞれ書き込み制御回路１２、演算処理回路１３、読み出し制御回路１４によってアクセスが行われる。また、アドレス発生回路１５はこれらのアクセス系がそれぞれバッファメモリ１１にアクセスを行うアドレスの管理を行い、バッファメモリ１１にオーバーフローやアンダーフローが起こらないように制御し、かつバッファメモリ１１をリング動作をさせる。このリング動作は、例えばアドレスの最小値「０」から順次アドレスを「１」ずつ増加させてゆき、アドレスの最大値「ｎ＋１」（ｎは０または正の整数）に達した後は、再びアドレス「０」に戻り、以後同様の動作を繰り返すものである。クロック制御回路１６は基本クロック１０１を制御して演算処理回路１３の動作クロック１０２を生成するものであり、書き込み制御回路１２からの書き込み完了信号１０３に基づいて動作クロック１０２を起動し、演算処理回路１３からの演算処理終了信号１０４によって動作クロック１０２を停止することができる。
【０００４】
図１７は、図１６におけるクロック制御回路１６の構成を詳細に示した図である。
図において、クロック制御回路１６は、基本クロック１０１を入力として制御対象へ供給する動作クロック１０２を生成する。このとき、書き込み完了信号１０３が動作信号線１６ａを介して、演算処理終了信号１０４が停止信号線１６ｂを介して、それぞれクロック制御回路１６内部のＲＳフリップフロップ１８へと入力される。ＲＳフリップフロップ１８は書き込み完了信号１０３によってセット状態になると、基本クロック１０１はＡＮＤ回路１９を通過し動作クロック１０２が供給される状態となる。その後、演算処理終了信号１０４が入力されＲＳフリップフロップ１８がリセット状態となり、ＡＮＤ回路１９によって動作クロック１０２の供給が停止され、次の書き込み完了信号１０３によってクロック供給が再開される。
【０００５】
図１８は、図１６に示す従来例のタイムチャートである。
図において、書き込み制御回路１２では、アドレス発生回路１５にて指定されたバッファメモリ１１のアドレスに対し、入力データ１０６の書き込み動作を行う。書き込み制御回路１２は、メモリ領域の１ブロック分を書き終えると、書き込み完了信号１０３を出力し、次のブロック領域に書き込む。演算処理回路１３では、メモリへの書き込みが完了した１ブロック分のデータに対して演算処理を行い、やがて、所定の演算処理を終了すると演算処理終了信号１０４を出力し、クロック制御回路１６により演算処理回路１３の動作クロック１０２を停止させる。その後、次のブロックの書き込み完了信号１０３によって起動されるまでの間、演算処理回路１３が演算処理を行わない間の動作クロック１０２が停止することによって、余計な消費電力を低減することができる。
【０００６】
このように、上記従来のクロック制御型演算処理装置の動作においては、ほぼ一定の入力レートによる１ブロックの書き込みに対し、演算処理回路における演算処理時間の方が短いことを前提としている。このため、この前提が成り立っていれば、次のブロックの書き込みが完了するまでが待ち状態となり、その間、演算処理回路の動作クロックを停止して、消費電力を低減できる。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の動作システムにおいて、書き込み時間や読み出し時間、及び演算処理時間が一定であるという保証は無く、例えばこのシステムをＤＶＤのデコーダに適用する場合などでは、入力データのレート次第で書き込み時間が変化し、かつそのデータの内容次第で演算処理の時間が変化する。また、バッファメモリへのアクセスが混雑する時には、アクセス優先度によってもそれぞれのアクセス系の動作速度が多様に変化する。
【０００８】
図１９は、図１８と同様に図１６に示す従来例における構成のタイムチャートを示すもので、ある１ブロックの演算処理時間が長くなったときの振るまいを示す。この場合は、１ブロック分の書き込み時間よりも、演算処理の方が時間がかかってしまう状態を示している。
【０００９】
このような場合、基本クロックに基づいて動作クロックを生成するクロック制御回路１６を演算処理終了信号１０４によって停止し、書き込み完了信号１０３によって起動させるという従来構成によれば、演算処理終了信号１０４よりも先に出力される書き込み完了信号１０３によってはクロック動作は変わらず、動作クロックは動作状態のままであり、後に出力される演算処理終了信号１０４によって停止してしまう。つまり、待ち状態ではなく引き続き処理すべきブロックがあるにもかかわらずクロックが停止してしまい、さらに次のブロックの書き込み完了信号１０３を待って、クロックが復帰し、演算処理が再開されることになる。このように、演算処理に時間がかかると、書き込みブロックのアドレスと演算処理ブロックのアドレスとが離れてしまい、かつアドレスの差を挽回することができず、演算処理に時間がかかる毎に次第にバッファメモリのマージンがなくなってしまうという問題があった。
【００１０】
本発明は上記のような従来のものの問題点を解決するためになされたもので、入力レートや出力レート、および演算処理時間が一定でないシステムにおいても、メモリ領域の許す限り演算処理動作の一時的な遅れを許容、吸収して、入出力レートのマージンを稼ぐことができ、かつこのような演算処理動作の遅れの吸収を、クロック消費電力を極力低減したままで実現できるクロック制御型の演算処理装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の請求項１に係る演算処理装置は、入力されたデータを記憶する記憶手段と、前記入力データを前記記憶手段に書き込む書き込み手段と、前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、前記演算処理手段に対しクロック信号を供給する通常状態と供給を停止するスリープ状態との切り換え制御を行うクロック制御手段と、前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記クロック制御手段を制御し前記クロック信号の状態を通常状態とスリープ状態との間で切り換えるクロック信号状態切り換え手段とを備えた、ことを特徴とするものである。
【００１２】
本発明の請求項２に係る演算処理装置は、入力されたデータを記憶する記憶手段と、前記入力データを前記記憶手段に書き込む書き込み手段と、前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、前記演算処理手段を構成するフリップフロップに対し該フリップフロップを含むループ内でデータをホールドするホールド状態と該フリップフロップにデータを入出力する通常状態とを切り換え制御するフリップフロップ制御手段と、前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記フリップフロップ制御手段を制御し前記フリップフロップの状態をデータを通常状態とホールド状態との間で切り換えるホールド制御手段とを備えた、ことを特徴とするものである。
【００１３】
本発明の請求項３に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記クロック信号の状態を通常状態に切り換える、ことを特徴とするものである。
【００１４】
本発明の請求項４に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記クロック信号の状態をスリープ状態に切り換える、ことを特徴とするものである。
【００１５】
本発明の請求項５に係る演算処理装置は、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記フリップフロップの状態を通常状態に切り換える、ことを特徴とするものである。
【００１６】
本発明の請求項６に係る演算処理装置は、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記フリップフロップの状態をホールド状態に切り換える、ことを特徴とするものである。
【００１７】
本発明の請求項７に係る演算処理装置は、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ことを特徴とするものである。
【００１８】
本発明の請求項８に係る演算処理装置は、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ことを特徴とするものである。
【００１９】
本発明の請求項９に係る演算処理装置は、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ことを特徴とするものである。
【００２０】
本発明の請求項１０に係る演算処理装置は、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ことを特徴とするものである。
【００２１】
本発明の請求項１１に係る演算処理装置は、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ことを特徴とするものである。
【００２２】
本発明の請求項１２に係る演算処理装置は、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ことを特徴とするものである。
【００２３】
本発明の請求項１３に係る演算処理装置は、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ことを特徴とするものである。
【００２４】
本発明の請求項１４に係る演算処理装置は、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ことを特徴とするものである。
【００２５】
本発明の請求項１５に係る演算処理装置は、請求項７記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ことを特徴とするものである。
【００２６】
本発明の請求項１６に係る演算処理装置は、請求項８記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ことを特徴とするものである。
【００２７】
本発明の請求項１７に係る演算処理装置は、請求項９記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ことを特徴とするものである。
【００２８】
本発明の請求項１８に係る演算処理装置は、請求項１０記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ことを特徴とするものである。
【００２９】
本発明の請求項１９に係る演算処理装置は、請求項１１記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ことを特徴とするものである。
【００３０】
本発明の請求項２０に係る演算処理装置は、請求項１２記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ことを特徴とするものである。
【００３１】
本発明の請求項２１に係る演算処理装置は、請求項１３記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ことを特徴とするものである。
【００３２】
本発明の請求項２２に係る演算処理装置は、請求項１４記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ことを特徴とするものである。
【００３３】
本発明の請求項２３に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号のスリープ状態は、クロック信号を完全に停止させた状態である、ことを特徴とするものである。
【００３４】
本発明の請求項２４に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号のスリープ状態は、前記クロック信号の供給を停止する状態に代えて前記通常状態でのクロック周波数よりも低い周波数にクロック周波数を下げた状態である、ことを特徴とするものである。
【００３５】
本発明の請求項２５に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、ことを特徴とするものである。
【００３６】
本発明の請求項２６に係る演算処理装置は、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、ことを特徴とするものである。
【００３７】
本発明の請求項２７に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、ことを特徴とするものである。
【００３８】
本発明の請求項２８に係る演算処理装置は、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものである、ことを特徴とするものである。
【００３９】
本発明の請求項２９に係る演算処理装置は、請求項１記載の演算処理装置において、前記クロック制御手段は、その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能である、ことを特徴とするものである。
【００４０】
本発明の請求項３０に係る演算処理装置は、請求項２記載の演算処理装置において、前記フリップフロップ制御手段は、その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能である、ことを特徴とするものである。
【００４１】
【発明の実施の形態】
実施の形態１．
この実施の形態１は、演算処理時間が一定でないシステムにおいて、演算処理動作の一時的な遅れを許容、吸収し、入出力レートのマージンを稼ぐことができるようにしたものである。
また、上述のような演算処理動作の遅れに対する対策を行った場合、従来例のように単純に全てのブロックに対し演算処理回路の動作クロックを停止して消費電力を低減することができず、クロックの供給を停止する回数を減少させる必要があるが、この実施の形態１は、こうした対策を施すことにより、消費電力が増加しようとするのを極力抑え、消費電力を低減した状態を可能な限り維持できるようにしたものである。
【００４２】
本発明による請求項１，３，４，７，８，１５，１６，２３，２４，２５，２７記載の実施の形態１における、クロック制御型の演算処理装置について説明する。
図１は、本発明に係るクロック制御型演算処理装置の一例を示すブロック図である。図１６における従来例と同様にバッファメモリにデータを一時的に格納して演算処理を行う動作システムの例として説明する。
【００４３】
図１において、バッファメモリ（記憶手段）１１はＤＲＡＭ等の大容量の記憶素子からなり、演算処理のブロック単位に分割された領域を持ち、１つのブロックにつき１つのアドレスが割り当てられている。バッファメモリへのアクセスが生じる動作は、書き込み動作，演算処理動作，読み出し動作の３種類があり、それぞれ書き込み制御回路（書き込み手段）１２，演算処理回路（演算処理手段）１３，読み出し制御回路（読み出し手段）１４によってアクセスが行われる。また、アドレス発生回路（アドレス発生手段）１５はこれらのアクセス系がそれぞれバッファメモリ１１にアクセスを行う際にアクセスするアドレスの管理を行い、バッファメモリ１１にオーバーフローやアンダーフローが起こらないように制御し、かつバッファメモリ１１にリング動作をさせる。このリング動作とは、例えばアドレスの最小値「０」から順次アドレスを「１」ずつ増加させてゆき、アドレスの最大値「ｎ＋１」（ｎは０または正の整数）に達した後は、再びアドレス「０」に戻り、以後同様の動作を繰り返すものである。ブロック差検出回路２０は、該アドレス発生回路１５が管理する書き込みブロックアドレスと、演算処理ブロックアドレスとのアドレス差を検出し、このアドレス差に基づいてブロック差検出信号１０５を出力する。ＡＮＤ回路１７はこのブロック差検出信号１０５と演算処理終了信号１０４との論理積信号を生成し、ブロック差検出回路２０とともにクロック制御回路１６を制御してクロックの状態を通常状態とスリープ状態との間で切り換えるクロック信号状態切り換え回路（クロック信号状態切り換え手段）２００を構成する。１６はクロック制御回路（クロック制御手段）で、基本構成の例としては図１７と同じものとする。クロック制御回路１６は基本クロック１０１を制御して、演算処理回路１３の動作クロック１０２を生成するものであり、書き込み制御回路１２からの書き込み完了信号１０３によって動作クロック１０２を起動し、ＡＮＤ回路１７による，演算処理回路１３からの演算処理終了信号１０４とブロック差検出回路２０からのブロック差検出信号１０５との論理積信号によって動作クロック１０２を停止することができる。
【００４４】
図２は、図１に示す本実施の形態１のクロック制御型演算処理装置のタイムチャートであり、或る１ブロックの演算処理時間が長くなったときの振るまいを示す。この場合は、１ブロック分の書き込み時間よりも、演算処理の方が時間がかかってしまう状態を示している。
【００４５】
この状態において、従来技術のクロック制御動作では演算処理終了信号１０４によってクロック動作を停止してしまっていたが、このように演算処理動作が書き込み動作に対して遅れをとっている場合には、クロック動作を継続し、引き続き書き込みが完了している次のブロックの演算処理を行う必要がある。
【００４６】
そこで、本発明の実施の形態１においては、ブロック差検出回路２０において、書き込みブロックアドレスと演算処理ブロックアドレスのブロックとの差を検出することによって、１ブロック分の演算処理終了時に、クロックを停止するか否かを判断し、本実施の形態１にて説明する回路構成の場合、１ブロック以上離れている場合は、クロック動作を停止せずに、引き続き、書き込みが完了している次のブロックの演算処理を続けることを可能とした。
【００４７】
即ち、図２に示す例の場合では、ブロック差検出回路２０は、書き込みブロックアドレスと、演算処理ブロックアドレスのアドレス差が「１」（第２の所定の状態，第２の所定値）のとき、「Ｈレベル」のブロック差検出信号１０５を出力する。一方、演算処理終了信号１０４の出力が遅れたために、前記アドレス差が「２」（第１の所定の状態，第１の所定値）となった領域ではブロック差検出信号１０５が「Ｌレベル」になる。
【００４８】
このため、図２に示す例では、書き込みブロックアドレスが「３」から「４」に増加した後演算処理ブロックアドレスが「２」から「３」に増加するまでは、ブロック差検出信号１０５は「Ｌレベル」になる。
【００４９】
これにより、ＡＮＤ回路１７は演算処理回路１３からの演算終了信号１０４がクロック制御回路１６にその停止信号として入力されるのを停止し、クロック制御回路１６は基本クロック１０１をそのまま通過させ、動作クロックとして演算処理回路１３に供給する。その結果、演算処理回路１３は演算処理ブロックアドレス「２」に続き、書き込みが完了している次の演算処理ブロックアドレス「３」のブロックの演算処理を続けることができる。
【００５０】
そして、この演算処理ブロックアドレス「３」のブロックにおいて、１ブロックの書き込みに対し、演算処理回路１３における演算処理時間の方が短いという前提が成り立ち、演算処理終了信号１０４の方が書き込み完了信号１０３よりも先に発生すれば、ブロック差検出回路２０は「Ｈレベル」のブロック差検出信号１０５を出力し、ＡＮＤ回路１７は演算終了信号１０４をクロック制御回路１６に供給し、クロック制御回路１６は基本クロック１０１を動作クロック１０２として演算処理回路１３に与える。
【００５１】
このように、本実施の形態１によるクロック制御型演算処理装置によれば、書き込みブロックアドレスと演算処理ブロックアドレスとの差を検出することで演算処理動作が書き込み動作に対し遅れをとっている場合はクロック動作を継続し、引き続き書き込みが完了している次のブロックの演算処理を行うことで、演算処理動作の一時的な遅れを許容、吸収し、入出力レートのマージンを稼ぐことができる。そして、これにより演算処理動作の一時的な遅れを吸収できれば、即座に通常動作、即ち、クロック制御回路１６が書き込み制御回路１２からの書き込み完了信号１０３により基本クロック１０１を通過させてこれを動作クロックとして演算処理回路１３に与え、演算処理回路１３からの演算処理終了信号１０４によりクロック制御回路１６が基本クロック１０１を遮断して動作クロック１０２の供給を停止し演算処理回路１３を停止させ、演算処理回路は次のブロックの書き込みが完了するまで待ち状態となり、その間、動作クロックを停止して、消費電力を低減する動作、を有する状態に復帰するため、演算処理動作の一時的な遅れを吸収することで動作クロックを停止できない期間が増加し、その分消費電力が増加するのを最小限に抑えることができる。
【００５２】
また、演算処理回路１３が１ブロック分の演算処理を終えたとき、アドレス発生回路１５の状態によって、演算処理動作の進行状況を監視しながらクロック制御を行うことが可能となる効果がある（請求項３，４の発明に対応）。
また、書き込みアドレスに対する演算処理回路１３の進行状況をアドレスの差によって検出することができ、簡単なハード構成によって、クロック制御を行うことが可能となる効果がある（請求項７，８の発明に対応）。
【００５３】
さらに、演算処理回路１３が次のブロックの書き込みが完了するのを待っている状態を１ブロックのアドレスの差として検出し、クロックの供給を停止するスリープ状態にすることが、簡単なハード構成のみで実現できる効果がある（請求項１５，１６の発明に対応）。
【００５４】
また、演算処理回路１３における演算処理停止期間に回路の動作を抑止するために完全にクロックを止めることができるため、スリープ状態としてクロックを完全に停止することによって、大幅に消費電力を低減することができる効果がある（請求項２３の発明に対応）。
【００５５】
なお、本実施の形態１におけるクロック制御回路１６は、スリープ状態としてクロックを完全に停止することを例に説明したが、請求項２４に対応する発明のように、スリープ状態としてクロックの周波数を下げることとしてもよい。この場合は、演算処理回路１３において演算処理停止期間においても、なんらかの動作を必要とする回路が存在する場合において、その期間のクロック周波数を下げたとしても実現可能な場合、クロックを停止するのと同様に消費電力を低減できる効果がある（請求項２４の発明に対応）。
【００５６】
実施の形態２．
次に、本発明の請求項２，５，６，９，１０，１７，１８，２６，２８記載の実施の形態２における、クロック制御型演算処理装置について説明する。
図３は、本実施の形態２によるクロック制御型演算処理装置の一例を示すブロック図である。図１における実施の形態１と同様にバッファメモリにデータを一時的に格納して演算処理を行う動作システムの例として説明する。バッファメモリ１１、書き込み制御回路１２、アドレス発生回路１５、及びブロック差検出回路２０は、実施の形態１によるクロック制御型演算処理回路と同様のものである。また、３１はフリップフロップ制御回路（フリップフロップ制御手段）、３２はフリップフロップ制御回路３１の制御により内部の組み合わせ回路に含まれるＤフリップフロップのホールド制御が可能な演算処理回路（演算処理手段）であり、図１の演算処理回路１３と異なり基本クロック１０１が直接入力されている。２０１はフリップフロップ制御回路３１を制御し演算処理回路３２に含まれるホールド機能付きのＤフリップフロップの状態を通常状態とホールド状態との間で切り換えるホールド制御回路（ホールド制御手段）であり、図１のクロック信号状態切り換え回路２００と同様、ブロック差検出回路２０とＡＮＤ回路１７とで構成され、ブロック差検出信号と演算処理終了信号１０４との論理積信号を停止信号としてフリップフロップ制御回路３１に出力する。
【００５７】
図４は、図３におけるフリップフロップ制御回路３１を詳細に示した図である。フリップフロップ制御回路３１においては、書き込み完了信号１０３と、ＡＮＤ回路１７からの論理積信号がそれぞれ動作信号３１ａ、停止信号３１ｂとしてフリップフロップ制御回路３１内部のＲＳフリップフロップ１８のＳ入力、Ｒ入力へと入力される。このＲＳフリップフロップ１８が論理積信号によってリセット状態になると、ホールド制御信号３０３が出力する。
【００５８】
図５は、図３における演算処理回路３２（図５（ａ）参照）及び該演算処理回路３２に含まれるＤフリップフロップ３４（図５（ｂ）参照）の構成を詳細に示した図である。なお、この図５における組み合わせ回路やホールド機能付きＤフリップフロップの個数はあくまで例示にすぎないものである。
【００５９】
図において、演算処理回路３２は、複数の組み合わせ回路３３ａ，３３ｂ，３３ｃとホールド機能付きＤフリップフロップ３４ａ，３４ｂとを備えている。ホールド機能付きＤフリップフロップ３４ａ，３４ｂはＤフリップフロップ３４１ａ，３４１ｂとセレクタ３４２ａ，３４２ｂとからなり、ホールド制御信号３０３は、ホールド機能付きＤフリップフロップ３４ａ，３４ｂをホールド制御する。即ち、ホールド制御信号３０３は、ホールド機能付きＤフリップフロップ３４ａ（３４ｂ）のセレクタ３４２ａ（３４２ｂ）を切り替え制御し、その値が「１」の場合はホールド機能付きＤフリップフロップ３４１ａ（３４１ｂ）の入力を、「０」の場合はＤフリップフロップ３４１ａ（３４１ｂ）の出力Ｑを選択する。セレクタ３４２ａ（３４２ｂ）の出力はＤフリップフロップ３４１ａ（３４１ｂ）の入力Ｄに接続されているので、ホールド制御信号３０３の値を「０」に設定することで、Ｄフリップフロップ３４１ａ（３４１ｂ）とセレクタ３４２ａ（３４２ｂ）との間でループが形成され、データがホールドされる。
【００６０】
図６は、図３に示す本実施の形態２のクロック制御型演算処理装置のタイムチャートであり、或る１ブロックの演算処理の時間が長くなったときの振るまいを示す。請求項２に対応する本実施の形態２において、ブロック差検出回路２０は、書き込みブロックアドレスと演算処理ブロックアドレスのブロックの差を検出することによって、１ブロック分の演算処理終了時に、クロックを停止するか否かを判断する。本実施の形態２にて説明する回路構成の場合、ブロックの差が１ブロック以上離されている場合は、ホールド制御信号３０３により、クロック動作を停止せずに、引き続き、書き込みが完了している次のブロックの演算処理を続けることを可能とした。
【００６１】
このように、本実施の形態２によるクロック制御型演算処理装置によれば、書き込みブロックアドレスと演算処理ブロックアドレスとの差を検出することで演算処理動作が書き込み動作に対し遅れをとっている場合は演算処理回路内部のＤフリップフロップを非ホールド状態とすることで等価的にクロック動作を継続し、引き続き書き込みが完了している次のブロックの演算処理を行うことで、演算処理動作の一時的な遅れを許容、吸収し、入出力レートのマージンを稼ぐことができる。そして、これにより演算処理動作の一時的な遅れを吸収できれば、即座に通常動作、即ち、フリップフロップ制御回路３１が書き込み制御回路１２からの書き込み完了信号１０３によりＤフリップフロップを非ホールド状態とすることで演算処理回路３２を動作させ、演算処理回路３２からの演算処理終了信号１０４によりフリップフロップ制御回路３１がＤフリップフロップをホールド状態とすることで演算処理回路３２を停止させ、演算処理回路は次のブロックの書き込みが完了するまで待ち状態となり、その間、ホールド状態を維持して、消費電力を低減する動作、を有する状態に復帰するため、演算処理動作の一時的な遅れを吸収することでホールド状態にできない期間、即ち動作クロックを停止できない期間に相当する期間が増加し、その分消費電力が増加するのを最小限に抑えることができる。
【００６２】
この消費電力の低減に関し、実施の形態１のクロック制御回路は、スリープ状態において、演算処理回路に供給するクロック自体の状態を切り換えることを特徴としたが、本実施の形態２では、演算処理停止期間に回路の動作を抑止するために、演算処理回路のフリップフロップをホールド制御することにより等価的にクロック制御を行うことを特徴とするものであり、フリップフロップをデータホールドとすることによって、クロックラインにゲート回路を設けることなく他ブロックとのクロックスキュー調整が簡単にでき、かつホールド状態を作ることで回路のスイッチングを抑えることで、請求項２３または請求項２４に対応する本発明と同様に消費電力を低減できる効果がある。
【００６３】
また、演算処理回路３２が１ブロック分の演算処理を終えたとき、アドレス発生回路１５の状態によって、演算処理動作の進行状況を監視しながらクロック制御を行うことが可能となる効果がある（請求項５，６の発明に対応）。
また、書き込みアドレスに対する演算処理回路３２の進行状況をアドレスの差によって検出することができ、簡単なハード構成によって、ホールド制御を行うことが可能となる効果がある（請求項９，１０の発明に対応）。
【００６４】
さらに、演算処理回路３２が次のブロックの書き込みが完了するのを待っている状態を１ブロックのアドレスの差として検出し、クロックの供給を停止するスリープ状態と等価なホールド状態にすることが、簡単なハード構成のみで実現できる効果がある（請求項１７，１８の発明に対応）。
【００６５】
実施の形態３．
次に、本発明による請求項１，３，４，１１，１２，１９，２０，２３，２４，２５，２７記載の実施の形態３における、クロック制御型演算処理装置について説明する。上記実施の形態１におけるブロック差検出回路が、演算処理ブロックアドレスと書き込みブロックアドレスとのアドレス差を検出するものであるのに対し、本実施の形態３のクロック制御型演算処理装置のブロック差検出回路は、演算処理ブロックアドレスと読み出しブロックアドレスとのアドレス差を検出する。
【００６６】
図７は、本発明に係るクロック制御型演算処理装置の一例を示すブロック図である。図１に示す実施の形態１と同様にバッファメモリにデータを一時的に格納して演算処理を行う動作システムの例として説明する。
図において、バッファメモリ１１はＤＲＡＭ等の大容量の記憶素子であり、演算処理のブロック単位に分割された領域を持ち、１つのブロックにつき１つのアドレスが割り当てられている。バッファメモリへのアクセスが生じる動作は、書き込み動作、演算処理動作、読み出し動作の３種類があり、それぞれ書き込み制御回路１２、演算処理回路１３、読み出し制御回路１４によってアクセス制御が行われる。また、これらのアクセス系がそれぞれバッファメモリ１１にアクセスするアドレスは、アドレス発生回路１５にて管理され、オーバーフローやアンダーフローが起こらないように制御を行い、かつ、リング動作をさせる。ブロック差検出回路２０は、該アドレス発生回路１５が管理する読み出しブロックアドレスと、演算処理ブロックアドレスのアドレス差を検出し、ブロック差検出信号３０２を出力する。ＡＮＤ回路１７はこのブロック差検出信号３０２と演算処理終了信号１０４との論理積信号を生成し、ブロック差検出回路２０とともにクロック制御回路１６を制御してクロックの状態を通常状態とスリープ状態との間で切り換えるクロック信号状態切り換え回路（クロック信号状態切り換え手段）２０２を構成する。１６はクロック制御回路で、基本構成の例としては図１７と同じものとする。クロック制御回路１６は基本クロック１０１を入力とし、演算処理回路１３の動作クロック１０２を制御するものであり、ＡＮＤ回路１７によって演算処理回路１３からの演算処理終了信号１０４とブロック差検出回路２０からのブロック差検出信号３０２との論理積信号を生成することで動作クロック１０２を起動し、読み出し制御回路１４からの読み出し完了信号３０１によって動作クロック１０２を停止することができる。
【００６７】
図８は、図７に示す本発明における実施の形態３の構成によるクロック制御型演算処理装置のタイムチャートであり、ある１ブロックの演算処理時間が長くなったときの振るまいを示す。このとき、１ブロック分の読み出し時間よりも、演算処理の時間の方がかかってしまう状態が発生する。
【００６８】
この状態において、従来技術による方法では、演算処理終了信号１０４によってクロック動作を停止してしまい、演算処理動作が読み出し動作に対して処理が間に合わなくなる可能性のある場合には、読み出しブロックアドレスと演算処理ブロックアドレスとの差が「２」より大きくなってしまうが、その対策として、クロック動作を継続し、読み出しが行われるブロックの演算処理は完了させておく必要がある。
【００６９】
そこで、本実施の形態３においては、ブロック差検出回路２０において読み出しブロックアドレスと演算処理ブロックアドレスのブロックの差を検出することによって、１ブロック分の演算処理終了時に、クロックを停止するか否かを判断し、本実施の形態３にて説明する回路構成の場合、２ブロック以上離れている場合（第２の所定の状態，第２の所定の値）は、クロック動作を停止することができ、１ブロック差しかない場合（第１の所定の状態，第１の所定の値）など、演算処理が遅れ気味の時は、引き続き、次のブロックの演算処理を続けることを可能とした。
【００７０】
このように、本実施の形態３によるクロック制御型演算処理装置によれば、読み出しブロックアドレスと演算処理ブロックアドレスとの差を検出することで演算処理動作が読み出し動作に対し遅れをとっている場合はクロック動作を継続し、引き続き読み出しが完了している次のブロックの演算処理を行うことで、演算処理動作の一時的な遅れを許容、吸収し、入出力レートのマージンを稼ぐことができる。そして、これにより演算処理動作の一時的な遅れを吸収できれば、即座に通常動作、即ち、クロック制御回路１６が演算処理終了信号１０４とブロック差検出信号３０２との論理積信号により基本クロック１０１を通過させてこれを動作クロックとして演算処理回路１３に与え、読み出し制御回路１４からの読み出し完了信号３０１によりクロック制御回路１６が基本クロック１０１を遮断して動作クロック１０２の供給を停止し演算処理回路１３を停止させ、演算処理回路は次のブロックの書き込みが完了するまで待ち状態となり、その間、動作クロックを停止して、消費電力を低減する動作、を有する状態に復帰するため、演算処理動作の一時的な遅れを吸収することで動作クロックを停止できない期間が増加し、その分消費電力が増加するのを最小限に抑えることができる。
【００７１】
また、演算処理回路１３が１ブロック分の演算処理を終えたとき、アドレス発生回路１５の状態によって、演算処理動作の進行状況を監視しながらクロック制御を行うことが可能となる効果がある（請求項３，４に対応）。
また、読み出しアドレスに対する演算処理回路１３の進行状況をアドレスの差によって検出することができ、簡単なハード構成によって、クロック制御を行うことが可能な効果がある（請求項１１，１２に対応）。
【００７２】
さらに、演算処理回路１３が次のブロックの読み出しが完了するのを待っている状態を１ブロックのアドレスの差として検出し、クロックの供給を停止するスリープ状態にすることが、簡単なハード構成のみで実現できる効果がある（請求項１９，２０の発明に対応）。
【００７３】
また、演算処理回路１３における演算処理停止期間に回路の動作を抑止するために完全にクロックを止めることができるため、スリープ状態としてクロックを完全に停止することによって、大幅に消費電力を低減することができる効果がある（請求項２３の発明に対応）。
【００７４】
また、演算処理回路１３における演算処理停止期間に回路の動作を抑止するために完全にクロックを止めることができない場合は、スリープ状態としてクロックを通常状態でのクロック周波数よりも低い周波数にクロック周波数を下げることによって、消費電力を低減することができる効果がある（請求項２４の発明に対応）。
【００７５】
実施の形態４．
なお、以上の実施の形態３の説明では、図１と同様、クロック制御回路により基本クロックを遮断するか否かを切り換えるようにしたが、図９に示すように、演算処理回路に基本クロックを直接入力し、クロック制御回路に代えてフリップフロップ制御回路３１を設け、その動作信号側にホールド制御回路２０３を設けて演算処理回路を構成するＤフリップフロップのホールド制御を行うことで、読み出しアドレスに対する演算処理回路３２の進行状況をアドレスの差によって検出することができ、簡単なハード構成によって、等価的にクロック制御を行うことを可能とし、クロックを直接制御するのと同様の効果を得るようにしてもよい（請求項２，５，６，１３，１４，２１，２２，２６，２８に対応）。
【００７６】
即ち、この実施の形態４によるクロック制御型演算処理装置によれば、読み出しブロックアドレスと演算処理ブロックアドレスとの差を検出することで演算処理動作が読み出し動作に対し遅れをとっている場合は演算処理回路内部のＤフリップフロップをホールド状態としないことで等価的にクロック動作を継続し、引き続き読み出しが完了している次のブロックの演算処理を行うことで、演算処理動作の一時的な遅れを許容、吸収し、入出力レートのマージンを稼ぐことができる。そして、これにより演算処理動作の一時的な遅れを吸収できれば、即座に通常動作、即ち、フリップフロップ制御回路３１が演算処理回路３２からの演算終了信号１０４によりＤフリップフロップを非ホールド状態とすることで演算処理回路３２を動作させ、読み出し制御回路１４からの読み出し完了信号３０１によりフリップフロップ制御回路３１がＤフリップフロップをホールド状態とすることで演算処理回路３２を停止させ、演算処理回路は次のブロックの書き込みが完了するまで待ち状態となり、その間、ホールド状態を維持して、消費電力を低減する動作、を有する状態に復帰するため、演算処理動作の一時的な遅れを吸収することでホールド状態にできない期間、即ち動作クロックを停止できない期間に相当する期間が増加し、その分消費電力が増加するのを最小限に抑えることができる。
【００７７】
また、演算処理回路３２が１ブロック分の演算処理を終えたとき、アドレス発生回路１５の状態によって、演算処理動作の進行状況を監視しながらホールド制御を行うことが可能となる効果がある（請求項５，６の発明に対応）。
また、読み出しアドレスに対する演算処理回路３２の進行状況をアドレスの差によって検出することができ、簡単なハード構成によって、ホールド制御を行うことが可能となる効果がある（請求項１３，１４の発明に対応）。
【００７８】
さらに、演算処理回路３２が次のブロックの読み出しが完了するのを待っている状態を１ブロックのアドレスの差として検出し、クロックの供給を停止するスリープ状態と等価なホールド状態にすることが、簡単なハード構成のみで実現できる効果がある（請求項２１，２２の発明に対応）。
【００７９】
実施の形態５.
次に、本発明による請求項２９または３０記載の実施の形態５における、クロック制御型演算処理装置について説明する。本実施の形態５は、上記実施の形態１に対して、回路の外部からの演算許可信号による制御を新たに加えたものである。
図１０は、本発明に係るクロック制御型演算処理装置の一例を示すブロック図である。図１６における従来例と同様にバッファメモリにデータを一時的に格納して演算処理を行う動作システムの例として説明する。
【００８０】
図において、バッファメモリ１１、書き込み制御回路１２、演算処理回路１３、読み出し制御回路１４、アドレス発生回路１５、ブロック差検出回路２０は実施の形態１におけるものと同等のものとする。５１はクロック制御回路で、基本クロック１０１を入力とし、演算処理回路１３の動作クロック１０２を制御するものであり、書き込み制御回路１２からの書き込み完了信号１０３によって動作クロック１０２を起動し、ＡＮＤ回路１７からの，演算処理回路１３からの演算処理終了信号１０４とブロック差検出回路２０からのブロック差検出信号１０５との論理積信号により動作クロック１０２を停止することができることに加え、外部から入力される演算処理許可信号５０１によって、動作クロック１０２の制御ができることを特徴としている。
【００８１】
図１１は、図１０におけるクロック制御回路５１を詳細に示した図である。クロック制御回路５１においては、書き込み完了信号１０３と演算処理終了信号１０４がクロック制御回路５１内部のＲＳフリップフロップ１８へと入力される。ＲＳフリップフロップが書き込み完了信号によってセット状態になると、演算許可信号５０１によって基本クロック１０１がＡＮＤ回路１９を通過し、動作クロック１０２が供給される状態となる。やがて、演算処理終了信号１０４によってＲＳフリップフロップはリセット状態となり、動作クロック１０２が停止され、次の書き込み完了信号１０３によってクロック供給が再開される。
【００８２】
図１２は、図１０に示す本実施の形態５のクロック制御型演算処理装置のタイムチャートである。基本動作は、図２に示すものとほぼ同じである。
図において、演算許可信号５０１はマイコン等外部から回路動作のシステムをコントロールする回路より発生する制御信号で、メモリへのバッファリングおよび、演算処理に対する動作を制御する上で、スタンバイ時等に演算処理をする必要のないデータブロックに対して、演算処理回路１３のクロックをスリープ状態とすることができる。図１０に示す例においては、演算許可信号５０１は、３ブロック分に対してのみ演算を許可し、３ブロック目の演算処理が終了すると同時に演算許可を不許可とし、クロックを停止した後は、たとえ書き込みブロックが先に進み、書き込み完了信号１２が出たとしても、クロックは起動されない。
【００８３】
このように、請求項２９または３０に対応する実施の形態５は、外部入力による演算許可信号５０１によってクロック制御回路１６の状態切り換えを行うことで、スタンバイモード時などの演算処理を必要としない間のクロックをスリープ状態とすることができ、消費電力の低減に効果的である。
【００８４】
なお、図１３及び図１４，図１５に示すように、図３及び図７，図９に示す実施の形態２及び３，４に示す装置に対し、回路の外部からの演算許可信号による制御を新たに加えるようにしてもよく、図１０の装置と同様の効果が得られる。
【００８５】
また、クロック制御回路やフリップフロップ制御回路に演算許可信号のみを与え、この演算許可信号により実施の形態１ないし４のクロック制御と演算処理を必要としない間のクロックをスリープ状態とするようにしてもよい。
【００８６】
さらに、上記実施の形態１では、第１の所定の状態（第１の所定の値）をアドレス差が「２」、第２の所定の状態（第２の所定の値）をアドレス差が「１」とし、上記実施の形態３では、第１の所定の状態（第１の所定の値）をアドレス差が「１」、第２の所定の状態（第２の所定の値）をアドレス差が「２」としたが、このアドレス差は他の値を用いるようにしてもよい。
【００８７】
【発明の効果】
以上のように、本発明の請求項１に係る演算処理装置によれば、入力されたデータを記憶する記憶手段と、前記入力データを前記記憶手段に書き込む書き込み手段と、前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、前記演算処理手段に対しクロック信号を供給する通常状態と供給を停止するスリープ状態との切り換え制御を行うクロック制御手段と、前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記クロック制御手段を制御し前記クロック信号の状態を通常状態とスリープ状態との間で切り換えるクロック信号状態切り換え手段とを備えるようにしたので、書き込みブロックと演算処理ブロック、及び読み出しブロックのそれぞれのメモリアクセスのアドレスを監視し、それぞれのブロックアドレスの状態によって演算処理手段へ供給するクロックの状態を切り換えることにより、バッファメモリの領域を有効に活用でき、かつ消費電力を低減することができる効果がある。
【００８８】
本発明の請求項２に係る演算処理装置によれば、入力されたデータを記憶する記憶手段と、前記入力データを前記記憶手段に書き込む書き込み手段と、前記書き込み手段により前記記憶手段に書き込まれたデータを読み出し演算処理を行う演算処理手段と、前記演算処理手段により演算処理が行われたデータを前記記憶手段から読み出す読み出し手段と、前記書き込み手段と前記演算処理手段と前記読み出し手段とが前記記憶手段に対し書き込みまたは読み出しを行うための，前記記憶手段のアドレスを発生するアドレス発生手段と、前記演算処理手段を構成するフリップフロップに対し該フリップフロップを含むループ内でデータをホールドするホールド状態と該フリップフロップにデータを入出力する通常状態とを切り換え制御するフリップフロップ制御手段と、前記演算処理手段が演算処理を終えるとともに、前記アドレス発生手段が所定の状態になった時、前記フリップフロップ制御手段を制御し前記フリップフロップの状態をデータを通常状態とホールド状態との間で切り換えるホールド制御手段とを備えるようにしたので、書き込みブロックと演算処理ブロック、及び読み出しブロックのそれぞれのメモリアクセスのアドレスを監視し、それぞれのブロックアドレスの状態によって演算処理手段内部のフリップフロップの状態を切り換えることにより、バッファメモリの領域を有効に活用でき、また、クロックラインにゲート回路を設けることなく他ブロックとのクロックスキュー調整が簡単にでき、かつホールド状態を作ることで等価的にクロック制御を行い、回路のスイッチングを抑えることにより消費電力を低減することができる効果がある。
【００８９】
本発明の請求項３に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記クロック信号の状態を通常状態に切り換える、ようにしたので、演算処理動作の進行の遅れを回復するようにクロック制御を行うことが可能となる効果がある。
【００９０】
本発明の請求項４に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記クロック信号の状態をスリープ状態に切り換える、ようにしたので、演算処理動作の進行の遅れを回復した時は即座にクロック信号をスリープ状態に戻すことにより消費電力を低く抑えることが可能となる効果がある。
【００９１】
本発明の請求項５に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第１の所定の状態になった時に前記フリップフロップの状態を通常状態に切り換える、ようにしたので、演算処理動作の進行の遅れを回復するように等価的にクロック制御を行うことが可能となる効果がある。
【００９２】
本発明の請求項６に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記演算処理手段が前記データの所定量である１ブロック分の演算処理を終え、かつ前記アドレス発生手段が第２の所定の状態になった時に前記フリップフロップの状態をホールド状態に切り換える、ようにしたので、演算処理動作の進行の遅れを回復した時は即座に前記フリップフロップをホールド状態に戻すことにより消費電力を低く抑えることが可能となる効果がある。
【００９３】
本発明の請求項７に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復することが可能となる効果がある。
【００９４】
本発明の請求項８に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座にクロック信号をスリープ状態に戻し消費電力を低く抑える効果がある。
【００９５】
本発明の請求項９に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行い、演算処理動作の進行の遅れを回復することができる効果がある。
【００９６】
本発明の請求項１０に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座に前記フリップフロップがホールド状態を有する状態に戻り消費電力を低く抑えることができる効果がある。
【００９７】
本発明の請求項１１に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復することができる効果がある。
【００９８】
本発明の請求項１２に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、演算処理動作の進行の遅れを回復した時は即座にクロック信号をスリープ状態に戻し消費電力を低く抑えることができる効果がある。
【００９９】
本発明の請求項１３に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第１の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復することができるという効果がある。
【０１００】
本発明の請求項１４に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記演算処理手段が演算処理を終え、かつその演算処理を終えた前記記憶手段のアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が第２の所定の値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行い、演算処理動作の進行の遅れを回復した時は即座に前記フリップフロップをホールド状態に戻すことにより消費電力を低く抑えることができる効果がある。
【０１０１】
本発明の請求項１５に係る演算処理装置によれば、請求項７記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復することができるという効果がある。
【０１０２】
本発明の請求項１６に係る演算処理装置によれば、請求項８記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座にクロック信号をスリープ状態に戻し消費電力を低く抑えることができる効果がある。
【０１０３】
本発明の請求項１７に係る演算処理装置によれば、請求項９記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復することができる効果がある。
【０１０４】
本発明の請求項１８に係る演算処理装置によれば、請求項１０記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記書き込み手段が書き込みを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ようにしたので、書き込みアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座に前記フリップフロップをホールド状態に状態に戻し消費電力を低く抑えることができる効果がある。
【０１０５】
本発明の請求項１９に係る演算処理装置によれば、請求項１１記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記クロック制御手段にて前記クロックの状態を通常状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復することができる効果がある。
【０１０６】
本発明の請求項２０に係る演算処理装置によれば、請求項１２記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記クロック制御手段にて前記クロックの状態をスリープ状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、クロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座にクロック信号をスリープ状態に状態に戻し消費電力を低く抑えることができる効果がある。
【０１０７】
本発明の請求項２１に係る演算処理装置によれば、請求項１３記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックを越える値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態を通常状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復することができる効果がある。
【０１０８】
本発明の請求項２２に係る演算処理装置によれば、請求項１４記載の演算処理装置において、前記記憶手段は前記演算処理手段が演算処理を行うデータの所定量であるブロックを記憶する記憶領域を単位としてアドレスが割り当てられ、前記演算処理手段が演算処理を終え、かつその演算処理を終えたアドレスと前記読み出し手段が読み出しを行っているアドレスとの差が１ブロックに相当する値になった時に、前記フリップフロップ制御手段にて前記フリップフロップの状態をホールド状態に切り換える、ようにしたので、読み出しアドレスに対する演算処理手段の進行状況をアドレスの差によって検出するようにしていることにより、簡単なハード構成によって、等価的にクロック制御を行うことができ、演算処理動作の進行の遅れを回復した時は即座に前記フリップフロップをホールド状態に戻し消費電力を低く抑えることができる効果がある。
【０１０９】
本発明の請求項２３に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号のスリープ状態は、クロック信号を完全に停止させた状態である、ようにしたので、大幅に消費電力を低減することができる効果がある。
【０１１０】
本発明の請求項２４に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号のスリープ状態は、前記クロック信号の供給を停止する状態に代えて前記通常状態でのクロック周波数よりも低い周波数にクロック周波数を下げた状態である、ようにしたので、消費電力を低減することができる効果がある。
【０１１１】
本発明の請求項２５に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものとしたので、バッファメモリの領域を有効に活用でき、かつ消費電力を低減することができるとともに、クロック制御手段における、状態の切り換えを、上記回路構成によって生成された信号を持って行うようにしていることにより、外部マイコンによるアクセスを必要とせずにクロックの制御を自動的に行うことができる効果がある。
【０１１２】
本発明の請求項２６に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、前記書き込み手段が、１ブロック分の書き込み動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものとしたので、バッファメモリの領域を有効に活用でき、クロックラインにゲート回路を設けることなく他ブロックとのクロックスキュー調整が簡単にでき、かつホールド状態を作ることで等価的にクロック制御を行い、回路のスイッチングを抑えることにより消費電力を低減することができるとともに、ホールド制御手段における、状態の切り換えを、上記回路構成によって生成された信号を持って行うようにしていることにより、外部マイコンによるアクセスを必要とせずにクロックの制御を自動的に行うことができる効果がある。
【０１１３】
本発明の請求項２７に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック信号状態切り換え手段は、前記クロック制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりスリープ状態に移行し、前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものとしたので、外部マイコンによるアクセスを必要とせずにクロックの制御を自動的に行うことができ、また、バッファメモリの領域を有効に活用でき、かつ消費電力を低減することができる効果がある。
【０１１４】
本発明の請求項２８に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記ホールド制御手段は、前記フリップフロップ制御手段が、前記演算処理手段からの演算処理終了信号と前記アドレス発生手段からの制御信号との論理積信号によりホールド状態に移行し、前記読み出し手段が、１ブロック分の読み出し動作を完了した旨を示す信号により通常動作に戻るように、状態切り換えを実行するものとしたので、外部マイコンによるアクセスを必要とせずに等価的にクロックの制御を自動的に行うことができ、また、バッファメモリの領域を有効に活用でき、クロックラインにゲート回路を設けることなく他ブロックとのクロックスキュー調整が簡単にでき、かつホールド状態を作ることで等価的にクロック制御を行い、回路のスイッチングを抑えることにより消費電力を低減することができる効果がある。
【０１１５】
本発明の請求項２９に係る演算処理装置によれば、請求項１記載の演算処理装置において、前記クロック制御手段は、その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能にしたので、指定ブロックの演算処理を行うとき以外は、クロックをスリープ状態とすることにより、通常のクロック動作を最小限に抑えることができ、バッファメモリの領域を有効に活用でき、かつ消費電力を低減することができる効果がある。
【０１１６】
本発明の請求項３０に係る演算処理装置によれば、請求項２記載の演算処理装置において、前記フリップフロップ制御手段は、その状態切り換えを、外部入力による演算処理動作の許可信号によって制御可能にしたので、指定ブロックの演算処理を行うとき以外は、等価的にクロックをスリープ状態とすることにより、通常のクロック動作を最小限に抑えることができる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかるクロック制御型演算処理装置の一例を示すブロック図である。
【図２】図１のクロック制御型演算処理装置の動作を示すタイミングチャート図である。
【図３】本発明の実施の形態２にかかるクロック制御型演算処理装置の一例を示すブロック図である。
【図４】図３におけるクロック制御回路の詳細図である。
【図５】図３における演算処理回路の詳細図（図５（ａ））及び、該演算処理回路に含まれるＤフリップフロップ回路の詳細図（図５（ｂ））である。
【図６】図３のクロック制御型演算処理装置の動作を示すタイミングチャート図である。
【図７】本発明の実施の形態３にかかるクロック制御型演算処理装置の一例を示すブロック図である。
【図８】図７のクロック制御型演算処理装置の動作のタイミングチャートを示す図である。
【図９】本発明の実施の形態４にかかるクロック制御型演算処理装置の他の一例を示すブロック図である。
【図１０】本発明の実施の形態５にかかるクロック制御型演算処理装置の一例を示すブロック図である。
【図１１】図１０におけるクロック制御回路の詳細図である。
【図１２】図１０のクロック制御型演算処理装置の動作を示すタイミングチャートを示す図である。
【図１３】本発明の実施の形態５にかかるクロック制御型演算処理装置の他の一例を示すブロック図である。
【図１４】本発明の実施の形態５にかかるクロック制御型演算処理装置のさらに他の一例を示すブロック図である。
【図１５】本発明の実施の形態５にかかるクロック制御型演算処理装置のさらに他の一例を示すブロック図である。
【図１６】従来のクロック制御型演算処理装置の一例を示すブロック図である。
【図１７】図１６におけるクロック制御装置の詳細図である。
【図１８】図１６のクロック制御型演算処理装置の動作を示すタイミングチャート図である。
【図１９】図１６のクロック制御型演算処理装置の動作を示すタイミングチャートを示す図であり、演算処理遅れが発生したときの様子を示す図である。
【符号の説明】
１１    バッファメモリ
１２    書き込み制御回路
１３、３２    演算処理回路
１４    読み出し制御回路
１５    アドレス発生回路
１６、５１    クロック制御回路
３１、６１    フリップフロップ制御回路
１７、１９    ＡＮＤ回路
１８    ＲＳフリップフロップ回路
２０    ブロック差検出回路
３３    組み合わせ回路
３４    Ｄフリップフロップ回路
１０１    基本クロック
１０２    動作クロック
１０３    書き込み完了信号
１０４    演算処理終了信号
１０５、３０２    ブロック差検出信号
２００、２０２、２０４、２０６    クロック信号状態切り換え回路
２０１、２０３、２０５、２０７    ホールド制御回路
３０１    読み出し完了信号
３０３    ホールド制御信号
５０１、６０１    演算許可信号
【図１】
0003641448.tif 000002
【図２】
0003641448.tif 000003
【図３】
0003641448.tif 000004
【図４】
0003641448.tif 000005
【図５】
0003641448.tif 000006
【図６】
0003641448.tif 000007
【図７】
0003641448.tif 000008
【図８】
0003641448.tif 000009
【図９】
0003641448.tif 000010
【図１０】
0003641448.tif 000011
【図１１】
0003641448.tif 000012
【図１２】
0003641448.tif 000013
【図１３】
0003641448.tif 000014
【図１４】
0003641448.tif 000015
【図１５】
0003641448.tif 000016
【図１６】
0003641448.tif 000017
【図１７】
0003641448.tif 000018
【図１８】
0003641448.tif 000019
【図１９】
0003641448.tif 000020