(57)【要約】【課題】データに起因した自発的なクロック制御装置及びそれを含むハード−ワイアド構成のデジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステムを提供する。【解決手段】ここに提供されるデジタルロジックプロセッシング装置は、外部から伝送されるデータを貯蔵する入力ＦＩＦＯと、入力ＦＩＦＯから出力されるデータを処理するプロセッシングユニットと、入力ＦＩＦＯ及びプロセッシングユニットに供給されるクロック信号を制御するクロック制御回路と、を有し、クロック制御回路は入力ＦＩＦＯに伝送されるデータの有無状態と、入力ＦＩＦＯ及びプロセッシングユニットの状態と、を監視してクロック信号を制御する。【選択図】図３
2007128518.tif 000002
【特許請求の範囲】
【請求項１】
外部から伝送されるデータを貯蔵する入力ＦＩＦＯと、
前記入力ＦＩＦＯから出力されるデータを処理するプロセッシングユニットと、
前記入力ＦＩＦＯ及び前記プロセッシングユニットに供給されるクロック信号を制御するクロック制御回路と、を有し、
前記クロック制御回路は、前記入力ＦＩＦＯに伝送されるデータの有無状態と、前記入力ＦＩＦＯ及び前記プロセッシングユニットの状態と、を監視して前記クロック信号を制御することを特徴とするデジタルロジックプロセッシング装置。
【請求項２】
前記クロック制御回路は、前記監視された状態の組み合わせが遊休状態を示す時、即刻かつ自発的に前記クロック信号を遮断することを特徴とする請求項１に記載のデジタルロジックプロセッシング装置。
【請求項３】
前記遊休状態は、前記入力ＦＩＦＯに伝送されるデータがなく、前記入力ＦＩＦＯが空いており、前記プロセッシングユニットの作業が完了した時、設定されることを特徴とする請求項２に記載のデジタルロジックプロセッシング装置。
【請求項４】
前記クロック制御回路は、前記遊休状態から前記入力ＦＩＦＯに伝送される有効データが存在する時、前記入力ＦＩＦＯ及び前記プロセッシングユニットに前記クロック信号を即刻かつ自発的に供給すること特徴とする請求項３に記載のデジタルロジックプロセッシング装置。
【請求項５】
前記プロセッシングユニットは、一つまたはそれより多いレジスタで構成されることを特徴とする請求項１に記載のデジタルロジックプロセッシング装置。
【請求項６】
ハード−ワイアド、ストリーミングプロセッシング方式で動作するように構成された複数個のプロセッシングエレメントを含み、該プロセッシングエレメントのそれぞれは、
前段のプロセッシングエレメントから伝送されるデータを貯蔵し、有効データがあるか否かを示す第１フラッグ信号を出力する入力ＦＩＦＯと、
前記第１フラッグ信号に応答して前記入力ＦＩＦＯから出力されるデータを処理し、処理作業が完了したか否かを示す第２フラッグ信号を出力するプロセッシングユニットと、
前記前段のプロセッシングエレメントに有効データが用意されているか否かを示す有効信号と前記第１及び第２フラッグ信号に応答して前記入力ＦＩＦＯ及び前記プロセッシングユニットに供給されるクロック信号とを制御するクロック制御回路と、を有することを特徴とするデジタルロジックプロセッシング装置。
【請求項７】
前記クロック制御回路は、前記有効信号と前記第１及び第２フラッグ信号との組み合わせが遊休状態を示す時、クロックオフ状態を示す第３フラッグ信号を発生することを特徴とする請求項６に記載のデジタルロジックプロセッシング装置。
【請求項８】
前記入力ＦＩＦＯは、前記第３フラッグ信号に応答してデータの入力を受ける用意ができていないことを知らせる情報を前記前段のプロセッシングエレメントに出力することを特徴とする請求項７に記載のデジタルロジックプロセッシング装置。
【請求項９】
前記プロセッシングエレメントのそれぞれの入力ＦＩＦＯは、前段のプロセッシングエレメントの出力バッファとして用いられることを特徴とする請求項７に記載のデジタルロジックプロセッシング装置。
【請求項１０】
前記クロック制御回路は、
前記有効信号と前記第１及び第２フラッグ信号との組み合わせが前記遊休状態を示しているか否かを検出する検出器と、
前記クロック信号に同期して前記検出期の出力をラッチする第１フリップ−フロップと、
前記クロック信号の反転バージョンに同期して前記第１フリップ−フロップの出力信号の反転バージョンをラッチする第２フリップ−フロップと、
前記第２フリップ−フロップの出力によって前記クロック信号を前記入力ＦＩＦＯ及び前記プロセッシングユニットに出力するＡＮＤゲートと、を含むことを特徴とする請求項７に記載のデジタルロジックプロセッシング装置。
【請求項１１】
前記第１フリップ−フロップの出力信号は、前記クロックオフ状態を示す前記第３フラッグ信号として用いられることを特徴とする請求項１０に記載のデジタルロジックプロセッシング装置。
【請求項１２】
デジタルロジックプロセッシング装置に供給されるクロック信号をゲーティングする方法において、
クロック信号に同期して外部データの入力を受ける段階と、
前記クロック信号に同期して入力された前記外部データを加工する段階と、
入力される外部データが存在するか否かと前記入力された外部データの加工が完了したか否かとによって前記クロック信号を遮断する段階と、を有することを特徴とするデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１３】
入力される外部データが存在せず、前記入力された外部データの加工が完了した場合、前記クロック信号は遮断されることを特徴とする請求項１２に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１４】
入力される外部データが存在せず、前記入力された外部データの加工が完了しない場合、前記クロック信号は供給されることを特徴とする請求項１２に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１５】
入力される外部データが存在し、前記入力された外部データの加工が完了した場合、前記クロック信号は供給されることを特徴とする請求項１２に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１６】
前記外部データは、前記クロック信号に同期して入力ＦＩＦＯに貯蔵されることを特徴とする請求項１２に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１７】
前記入力ＦＩＦＯに貯蔵されたデータは、プロセッシングユニットによって加工されることを特徴とする請求項１６に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１８】
前記クロック信号の遮断は、前記入力ＦＩＦＯに伝送されるデータの有無状態と、前記入力ＦＩＦＯ及び前記プロセッシングユニットの状態と、を監視することによって決定されることを特徴とする請求項１７に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項１９】
前記監視された状態の組み合わせが遊休状態を示す時、即刻かつ自発的にソフトウエアの介入なしに前記クロック信号が遮断されることを特徴とする請求項１８に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項２０】
前記遊休状態は、前記入力ＦＩＦＯに伝送されるデータがなく、前記入力ＦＩＦＯが空いており、前記プロセッシングユニットの作業が完了した時、設定されることを特徴とする請求項１９に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項２１】
前記クロック信号は、前記遊休状態から前記入力ＦＩＦＯに伝送される有効データが存在する時、前記入力ＦＩＦＯ及び前記プロセッシングユニットに即刻かつ自発的にソフトウエアの介入なしに供給されることを特徴とする請求項２０に記載のデジタルロジックプロセッシング装置に供給されるクロック信号のゲーティング方法。
【請求項２２】
請求項１に記載されたデジタルロジックプロセッシング装置を含むことを特徴とするシステムオンチップ（Ｓｏｃ）。
【請求項２３】
請求項１に記載されたデジタルロジックプロセッシング装置を具備するシステムオンチップを用いて電力節減を達成することを特徴とするストリーミングプロセッシングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に係り、より具体的には電力消耗を減らすための集積回路のクロック制御技法に関するもので、データに起因した自発的なクロック制御を行うクロック制御装置及びそれを含むハード−ワイアド構成のデジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステムに関するものである。
【背景技術】
【０００２】
現在、ＶＬＳＩ設計で重要なデザイン上の制約としてクロック電力がある。漏洩電力の増加にもかかわらず、クロック電力は現在のマイクロプロセッサで全体的な電力消耗の相当部分を占める。動的（ダイナミック）電力の消耗を減らすための効果的な技法としてクロックゲーティング（ｃｌｏｃｋ  ｇａｔｉｎｇ）が提案されている。このクロックゲーティングはロジックブロックに用いられる電力節減技術のうちの一つである。電力を節減するために、レジスタに値を貯蔵する場合に該当するレジスタのクロックを活性化するように構成する。
【０００３】
多様なクロックゲーティング技法が特許文献１、特許文献２、特許文献３、特許文献４、及び特許文献５に載せられている。
【０００４】
上記の特許文献に記載されたクロックゲーティング技法と共に、集積回路を、アプリケーションプログラムの負荷に応じて低い周波数のクロック信号で動作させるようにすることによって、電力消耗を減らすことができる。また、アプリケーション動作に不必要なプロセッシングユニットに印加されるクロック信号を、ソフトウエア制御によって遮断する方法が用いられている。しかし、ソフトウエア制御によるクロックゲーティング技法は、被制御される回路の単位がハードウエア制御に比べて大きく、微細な時間単位のクロックゲーティングが不可能なこともある。
【０００５】
したがって、ハードウエアによって、負荷に応じて徐々にかつ自動的に制御される動的クロックゲーティングの必要性が増している。
【特許文献１】米国特許第６２３２８２０号明細書
【特許文献２】米国特許第６３９３５７９号明細書
【特許文献３】米国特許第６５８３６４８号明細書
【特許文献４】米国特許第６８２２４７８号明細書
【特許文献５】米国特許第６８４４７６７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明は上記従来の問題点に鑑みてなされたものであって、本発明の目的は、電力消耗を減らすために、ソフトウエアの介入なしにデータに起因した自発的なクロック制御を行うクロック制御装置及びそれを含むハード−ワイアド構成のデジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の一特徴によるデジタルロジックプロセッシング装置は、外部から伝送されるデータを貯蔵する入力ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）と、前記入力ＦＩＦＯから出力されるデータを処理するプロセッシングユニットと、前記入力ＦＩＦＯ及び前記プロセッシングユニットに供給されるクロック信号を制御するクロック制御回路と、を有し、前記クロック制御回路は、前記入力ＦＩＦＯに伝送されるデータの有無状態と、前記入力ＦＩＦＯ及び前記プロセッシングユニットの状態と、を監視して前記クロック信号を制御する。
【０００８】
また、上記目的を達成するためになされた本発明の他の特徴によるデジタルロジックプロセッシング装置は、ハード−ワイアド、ストリーミングプロセッシング方式で動作するように構成された複数個のプロセッシングエレメントを含み、該プロセッシングエレメントのそれぞれは、前段のプロセッシングエレメントから伝送されるデータを貯蔵し、有効なデータがあるか否かを示す第１フラッグ信号を出力する入力ＦＩＦＯと、前記第１フラッグ信号に応答して前記入力ＦＩＦＯから出力されるデータを処理し、処理作業が完了したか否かを示す第２フラッグ信号を出力するプロセッシングユニットと、前記前段のプロセッシングエレメントに有効データが用意されているか否かを示す有効信号と前記第１及び第２フラッグ信号に応答して前記入力ＦＩＦＯ及び前記プロセッシングユニットに供給されるクロック信号とを制御するクロック制御回路と、を有する。
【０００９】
上記目的を達成するためになされた本発明の一特徴によるデジタルロジックプロセッシング装置に供給されるクロック信号をゲーティングする方法は、クロック信号に同期して外部データの入力を受ける段階と、前記クロック信号に同期して入力された前記外部データを加工する段階と、入力される外部データが存在するか否かと前記入力された外部データの加工が完了したか否かとによって前記クロック信号を遮断する段階と、を有する。
入力される外部データが存在せず、前記入力された外部データの加工が完了した場合、前記クロック信号は遮断される。そして、入力される外部データが存在せず、前記入力された外部データの加工が完了しない場合、前記クロック信号は供給される。または、入力される外部データが存在し、前記入力された外部データの加工が完了した場合、前記クロック信号は供給される。
【００１０】
ここで、前記外部データは、前記クロック信号に同期して入力ＦＩＦＯに貯蔵され、前記入力ＦＩＦＯに貯蔵されたデータは、プロセッシングユニットによって加工される。前記クロック信号の遮断は、前記入力ＦＩＦＯに伝送されるデータの有無状態と、前記入力ＦＩＦＯ及び前記プロセッシングユニットの状態と、を監視することによって決定される。
【００１１】
ここで、前記監視された状態の組み合わせが遊休状態を示す時、自発的かつ即刻にソフトウエアの介入なしに前記クロック信号が遮断される。前記遊休状態は、前記入力ＦＩＦＯに伝送されるデータがなく、前記入力ＦＩＦＯが空いており、前記プロセッシングユニットの作業が完了した時、設定される。また、前記クロック信号は、前記遊休状態から前記入力ＦＩＦＯに伝送される有効データが存在する時、前記入力ＦＩＦＯ及び前記プロセッシングユニットに即刻かつ自発的にソフトウエアの介入なしに供給される。
【発明の効果】
【００１２】
本発明によるデジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステムによれば、プロセッシングエレメント（ＰＥｉ）が遊休状態に置かれる時、ＰＥｉへのクロック信号供給を即刻かつ自発的なハードウエア動作による方式で遮断し、ＰＥｉがアクティブ状態に置かれる時、ＰＥへのクロック信号の供給を即刻かつ自発的なハードウエア動作による方式で再開することによってソフトウエアの関与なしにダイナミック電力の消耗（ｄｙｎａｍｉｃ  ｐｏｗｅｒ  ｄｉｓｓｉｐａｔｉｏｎ）を節減することができる。
【００１３】
特に、ＰＥｉ内部のクロックツリー分配回路を含むクロック分配回路のクロック供給を遮断することによって、デジタル同期回路（ｄｉｇｉｔａｌ  ｓｙｎｃｈｒｏｎｏｕｓ  ｃｉｒｃｕｉｔ）で電力消耗の多い部分を占めるクロック分配回路のダイナミック電力の消耗を節減することができる。
【発明を実施するための最良の形態】
【００１４】
上記背景技術及び以下の詳細な説明は全部例示的なものであって、特許請求の範囲に記載された範囲内で発明の付加的な説明がなされることもあり得る。
【００１５】
次に、本発明に係るデジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステムを実施するための最良の形態の具体例を、図面を参照しながら詳細に説明する。ここで、同一または類似の部分を参照するために、同一の参照番号が説明及び図面に用いられる。
【００１６】
以下の、ハード−ワイアド構成によるストリーミングプロセッシング装置（ｈａｒｄ‐ｗｉｒｅｄ  ｓｔｒｅａｍｉｎｇ  ｐｒｏｃｅｓｓｉｎｇ  ｄｅｖｉｃｅ）を一例として、本発明の特徴及び機能を説明する。しかし、この技術分野に精通する人は、ここに記載された内容によって本発明の他の利点及び性能を易しく理解することができる。本発明は他の実施形態を通じて、また、実現、適用することができる。さらに、以下の詳細な説明は、本発明の範囲、技術的思想そして他の目的から外れることなく、その観点及び応用によって修正や変更をすることができる。
【００１７】
図１は、本発明の一実施例によるハード−ワイアド、ストリーミングプロセッシングシステムのデータ処理装置を概略的に示すブロック図である。
【００１８】
図１に示すデータ処理装置はグローバルクロック信号Ｃｌｋが供給される複数のプロセッシングエレメント（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔｓ：以下、“ＰＥ”と称する）を含む。プロセッシングユニットはデジタルロジックプロセッシング回路（ｄｉｇｉｔａｌ  ｌｏｇｉｃ  ｐｒｏｃｅｓｓｉｎｇ  ｃｉｒｃｕｉｔ）と呼ばれる。データ処理装置は、図１に示すように、ハード−ワイアド、ストリーミングプロセッシング形態（ｈａｒｄ‐ｗｉｒｅｄ  ｓｔｒｅａｍｉｎｇ  ｐｒｏｃｅｓｓｉｎｇ  ｆｏｒｍ）で構成される。すなわち、任意のＰＥは前段のＰＥからの出力データを加工し、次段のＰＥの入力データとして、加工されたデータを出力する。このような繰り返し処理過程で、入力データのディペンデンシ（ｄｅｐｅｎｄｅｎｃｙ）や中間ＰＥのレイテンシ（ｌａｔｅｎｃｙ）が異なる場合、図２に示すように、各ＰＥはアクティブ状態（ａｃｔｉｖｅ  ｓｔａｔｅ）と遊休状態（ｉｄｌｅ  ｓｔａｔｅ）に繰り返して置かれるようになる。本発明によるデータ処理装置はソフトウエアの介入なしにデータに起因した即刻的なクロック遮断技法（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄａｔａ‐Ｄｒｉｖｅｎ  Ｃｌｏｃｋ‐Ｇａｔｉｎｇ：“ＩＤＤＣ”）を用いる。例えば、ＰＥｉが遊休状態に置かれる時、ＰＥｉへのクロック信号供給は即刻かつ自発的な方式で内部的に遮断される。ＰＥｉがアクティブ状態に置かれる時、ＰＥへのクロック信号供給は即刻かつ自発的な方式で内部的に再開される。このようなクロック制御技法によれば、ソフトウエアの関与なしにダイナミック電力の消耗（ｄｙｎａｍｉｃ  ｐｏｗｅｒ  ｄｉｓｓｉｐａｔｉｏｎ）を節減することができる。
【００１９】
図３は、図１に示すプロセッシングエレメントのうちの一つを示すブロック図である。図３に示すように、デジタルロジックプロセッシング回路として、本実施例によるプロセッシングエレメントＰＥｉは、入力ＦＩＦＯ１２０、プロセッシングユニット１４０、及びクロック制御回路（図面には“ＩＤＤＣ”で表記する）１６０を含む。残りのプロセッシングエレメントＰＥｉ−１、ＰＥｉ＋１は、図３に示すものと実質的に同一に構成され、それに対する説明は省略する。図３から分かるように、入力ＦＩＦＯ１２０は前段の出力ＦＩＦＯとして用いられる。本実施例によるクロック制御回路１６０は、次のような条件が満たされる時、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるゲーティングローカルクロック信号Ｌｃｌｋを即刻かつ自発的に遮断する。例えば、クロック制御回路１６０は、入力ＦＩＦＯ１２０が空いており、プロセッシングユニット１４０の作業が完了し、前段のＰＥｉ−１で有効なデータが用意されなかった時、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるローカルクロック信号Ｌｃｌｋを遮断する。これについて以降、詳細に説明する。
【００２０】
先ず、入力ＦＩＦＯ１２０はクロック制御信号１６０からの制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐに応答して現在のＦＩＦＯ状態を示す準備信号（ｒｅａｄｙ  ｓｉｇｎａｌ）ｃｏＲｄｙを前段のＰＥｉ−１に出力する。準備信号ｃｏＲｄｙは入力ＦＩＦＯ１２０が完全に満たされなかったことを示す。図４の一例に示すように、準備信号ｃｏＲｄｙは内部信号Ｉｎｔｅｒｎａｌ＿Ｒｄｙと制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐの組み合わせによって生成される。例えば、ローカルクロック信号Ｌｃｌｋが遮られることを制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐが示す時、準備信号ｃｏＲｄｙは内部信号Ｉｎｔｅｒｎａｌ＿Ｒｄｙに関係なく非活性化される。準備信号ｃｏＲｄｙの非活性化は入力ＦＩＦＯ１２０がデータを受け入れる用意ができなかったことを示す。言い換えれば、ローカルクロック信号Ｌｃｌｋが非活性化されている場合（または、制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐが活性化される場合）、準備信号ｃｏＲｄｙを非活性化させることによって前段のＰＥが非正常的にデータを書き込むことを防止するようになる。これについては以降、詳細に説明する。
入力ＦＩＦＯ１２０は、前段のＰＥｉ−１から書き込み信号ｐｉＷｒと有効信号ｐｉＶａｌｉｄを受け、そしてクロック制御回路１６０からローカルクロック信号Ｌｃｌｋの入力を受ける。有効信号ｐｉＶａｌｉｄは前段のＰＥｉ−１に有効なデータが準備されたか否かを示し、書き込み信号ｐｉＷｒは有効データが伝送されることを示す。有効信号ｐｉＶａｌｉｄ及び書き込み信号ｐｉＷｒの入力信号が定められたタイミングによって活性化される時、入力ＦＩＦＯ１２０はローカルクロック信号Ｌｃｌｋに同期して前段のＰＥｉ−１から出力されたデータをラッチする。この時、入力ＦＩＦＯ１２０は有効なデータが存在する（入力ＦＩＦＯが空いていない）ことを示す制御信号ＦＩＦＯ＿ＲｄＲｄｙをプロセッシングユニット１４０に出力する。入力ＦＩＦＯ１２０はプロセッシングユニット１４０からの制御信号ＦＩＦＯ＿Ｒｄに応答してデータをプロセッシングユニット１４０に出力する。
【００２１】
プロセッシングユニット１４０は、入力ＦＩＦＯ１２０から出力されたデータを加工し、加工されたデータを次段のＰＥｉ＋１に出力する。プロセッシングユニット１４０は制御信号ＦＩＦＯ＿ＲｄＲｄｙに応答して制御信号ＦＩＦＯ＿Ｒｄをパルス形態で出力する。例えば、制御信号ＦＩＦＯ＿ＲｄＲｄｙが入力ＦＩＦＯ１２０にデータが存在することを示す時、プロセッシングユニット１４０は制御信号ＦＩＦＯ＿Ｒｄをパルス形態で入力ＦＩＦＯ１２０に出力する。入力ＦＩＦＯ１２０は制御信号ＦＩＦＯ＿Ｒｄに応答してデータをプロセッシングユニット１４０に出力する。入力ＦＩＦＯ１２０から伝達されたデータが加工され、加工されたデータが次段のＰＥｉ＋１に伝達されれば、プロセッシングユニット１４０は作業が完了したことを示す制御信号ＤＤ＿Ｄｏｎｅをクロック制御回路１６０に出力する。プロセッシングユニット１４０は次段のＰＥｉ＋１から提供される準備信号ｎｉＲｄｙによって遊休信号ｃｏＶａｌｉｄ及び書き込み信号ｃｏＷｒを次段のＰＥｉ＋１に出力する。
【００２２】
続いて、図３に示すように、クロック制御回路１６０は、グローバルクロック信号Ｃｌｋ及び制御信号ＤＤ＿ｐｉＶａｌｉｄ、ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙ、ＤＤ＿Ｄｏｎｅに応答して動作し、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるローカルクロック信号Ｌｃｌｋを制御する。クロック制御回路１６０は、入力ＦＩＦＯ１２０が空いており、プロセッシングユニット１４０の作業が完了し、前段のＰＥｉ−１に有効なデータが用意されていない時、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるローカルクロック信号Ｌｃｌｋを遮断する。上記の条件が満たされる時、クロック制御回路１６０は準備信号ｃｏＲｄｙが非活性化されるように制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐを入力ＦＩＦＯ１２０に出力する。前の条件のうちでいずれか一つでも満たされなければ、クロック制御回路１６０は、制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐを非活性化させ、ローカルクロック信号Ｌｃｌｋを入力ＦＩＦＯ１２０とプロセッシングユニット１４０に供給する。
【００２３】
上述の説明から分かるように、任意のＰＥが遊休状態に置かれれば、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるローカルクロック信号Ｌｃｌｋは、ソフトウエアの介入なしに、クロック制御回路１６０の制御によって即刻かつ自発的な方式で遮断される。同様に、ＰＥがアクティブ状態に置かれれば、ローカルクロック信号Ｌｃｌｋは、ソフトウエアの介入なしに、クロック制御回路１６０の制御によって即刻かつ自発的な方式で入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給される。このようなクロック制御技法によれば、ソフトウエアの介入なしに消費電力の節減を達成することができる。
【００２４】
図５は、図３に示すクロック制御回路の一例を示す回路図である。図５に示すように、本実施例のクロック制御回路１６０は、制御信号ＤＤ＿ｐｉＶａｌｉｄ、ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙ、ＤＤ＿Ｄｏｎｅに応答してグローバルクロック信号Ｃｌｋを制御する。上述のように、制御信号ＤＤ＿ｐｉＶａｌｉｄは、前段のＰＥに有効なデータがあるか否かを知らせるフラッグ信号であり、制御信号ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙは入力ＦＩＦＯ１２０が空いているか否かを示すフラッグ信号であり、制御信号ＤＤ＿Ｄｏｎｅはプロセッシングユニット１４０が作業を完了したか否かを示す信号である。
クロック制御回路１６０は、ＡＮＤゲート１６１、１６４とＤ‐フリップフロップ１６２、１６３で構成される。ＡＮＤゲート１６１には、制御信号ＤＤ＿Ｄｏｎｅ、制御信号ＤＤ＿ｐｉＶａｌｉｄの反転バージョン、そして制御信号ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙの反転バージョンが印加される。Ｄ‐フリップフロップ１６２は、グローバルクロック信号Ｃｌｋに同期してＡＮＤゲート１６１の出力をラッチし、ラッチされた信号を制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐとして出力する。Ｄ‐フリップフロップ１６３はグローバルクロック信号Ｃｌｋの反転バージョンに同期して制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐの反転バージョンをラッチする。ＡＮＤゲート１６４はＤ‐フリップフロップ１６３の出力とグローバルクロック信号Ｃｌｋの入力を受けてゲーティングローカルクロック信号Ｌｃｌｋを出力する。
【００２５】
図５において、ＡＮＤゲート１６１はクロックオフ状態（ｃｌｏｃｋ‐ｏｆｆ  ｓｔａｔｅ）への遷移及びクロックオン状態（ｃｌｏｃｋ‐ｏｎ  ｓｔａｔｅ）への遷移を検出するための検出器として動作する。クロックオフ状態はローカルクロック信号Ｌｃｌｋの供給が遮断された状態を示し、クロックオン状態はローカルクロック信号Ｌｃｌｋが入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給される状態を示す。制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐはクロックオン状態又はクロックオフ状態を示すフラッグ信号として用いられる。図５のクロック制御回路１６０にフリップフロップ構造を適用することによって、制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐをグリッチ（ｇｌｉｔｃｈ）なしに生成することができる。しかし、クロック制御回路１６０にフリップフロップ構造の代りにラッチ構造が適用されることができることはこの分野の通常的な知識を習得した者には自明である。
【００２６】
図６乃至図９は、本実施例によるデータ処理装置のクロック制御技法を説明するためのタイミング図である。以下、本実施例によるデータ処理装置のクロック制御技法を参照図面に基づいて詳細に説明する。説明の前に、ハード−ワイアド、ストリーミングプロセッシングにおいて、各ＰＥの動作状態は遊休状態からアクティブ状態にそしてアクティブ状態から遊休状態に繰り返して遷移するものとする。ここで、各ＰＥは次の条件を満足する時、遊休状態に遷移し、各ＰＥの入力ＦＩＦＯ及びプロセッシングユニットへのクロック供給が遮断される。各ＰＥは入力ＦＩＦＯ１２０が空いており、プロセッシングユニット１４０の作業が完了し、前段のＰＥに有効なデータがない時、即刻かつ自発的な遊休状態に遷移する。説明の便宜上、ＰＥｉを基準として本実施例によるクロック制御技法を説明する。
【００２７】
ＰＥｉが遊休状態にある場合、制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐはハイで維持される。これは準備信号ｃｏＲｄｙがローレベルになるようにする。すなわち、準備信号ｃｏＲｄｙはＰＥｉの入力ＦＩＦＯ１２０がデータを受け入れる用意ができていないことを示す。前段のＰＥｉ−１で有効なデータが用意されれば、図６に示すように、有効信号ｐｉＶａｌｉｄがハイで活性化される。ＰＥｉのクロック制御回路１６０は有効信号ｐｉＶａｌｉｄの活性化に応答して制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐをローで非活性化させる。より具体的に説明すれば、ＰＥｉが遊休状態である時、クロック制御回路１６０のＡＮＤゲート１６１に印加される制御信号ＤＤ＿ｐｉＶａｌｉｄ、ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙ、ＤＤ＿Ｄｏｎｅはローレベル、ローレベル、そしてハイレベルを有する。すなわち、ＡＮＤゲート１６１の出力はハイレベルになる。従って、Ｄ‐フリップフロップ１６２はハイレベルの制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐを出力し、Ｄ‐フリップフロップ１６３はローレベルの出力信号を出力する。これはローカルクロック信号Ｃｌｋが遮断されるようにする。すなわち、図６に示すように、入力ＦＩＦＯ１２０とプロセッシングユニット１４０にはローカルクロック信号Ｌｃｌｋが供給されない。
【００２８】
もし、前段のＰＥｉ−１が有効信号ｐｉＶａｌｉｄをハイで活性化させれば（または前段のＰＥｉ−１に伝送される有効データがある場合）、ＰＥｉのクロック制御回路１６０は制御信号ＤＤ＿ｐｉＶａｌｉｄに応答して次のクロックサイクルで制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐをローで非活性化させる。これは入力ＦＩＦＯ１２０から出力される準備信号ｃｏＲｄｙがローレベルからハイレベルに遷移するようにする。制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐがローに非活性化されるによって、図６に示すように、クロック制御回路１６０はローカルクロック信号Ｌｃｌｋを入力ＦＩＦＯ１２０とプロセッシングユニット１４０に供給する。すなわち、ＰＥｉはクロックオン状態になる。前段のＰＥｉ−１は準備信号ｃｏＲｄｙに応答してパルス波形の書き込み信号ｐｉＷｒをＰＥｉに伝送する。例えば、図面には示さなかったが、定まったタイミングによって加工されるデータがＰＥｉ−１からＰＥｉに伝送される。上述の説明から分かるように、ＰＥｉが遊休状態からアクティブ状態に遷移する時、ＰＥｉへのクロック供給はどんなソフトウエアの介入もなしに即刻かつ自発的なハードウエア動作によるクロック制御回路１６０によって制御される。
【００２９】
ＰＥｉがアクティブ状態から遊休状態に遷移する時、次のような過程を通じて電力消耗を最小化することができる。
【００３０】
上記の条件が満たされる時、ＰＥｉが遊休状態に遷移すると同時にクロックオフ状態になる。すなわち、ＰＥｉは入力ＦＩＦＯ１２０が空いており、プロセッシングユニット１４０の作業が完了し、前段のＰＥｉ−１から伝送される有効データがない時、即刻かつ自発的に遊休状態に遷移する。言い替えれば、制御信号ＤＤ＿ｐｉＶａｌｉｄ、ＤＤ＿ＦＩＦＯ＿ＲｄＲｄｙがローレベルで制御信号ＤＤ＿Ｄｏｎｅがハイレベルである時、ＰＥｉのクロック制御回路１６０はクロック信号Ｃｌｋに同期して制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐをハイで活性化させる。制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐがハイで活性化されることによって、図７に示すように、入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されるローカルクロック信号Ｌｃｌｋが遮断される。入力ＦＩＦＯ１２０はハイレベルの制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐに応答して準備信号ｃｏＲｄｙをローで非活性化させる。以上の説明で分かるように、ＰＥｉがアクティブ状態から遊休状態に遷移する時、ＰＥｉへのクロック供給はどんなソフトウエアの介入もなしに即刻かつ自発的なハードウエア動作によるクロック制御回路１６０によって制御される。
【００３１】
本実施例によるクロック制御技法において、プロセッシングユニット１４０が作業を完了する時点が、有効データが前段に用意された時点と一致する場合、図８に示すように、ローカルクロック信号Ｌｃｌｋは遮断されず、連続的に供給される。言い替えれば、プロセッシングユニット１４０が作業を完了した時点で、前段のＰＥに有効データが用意されない場合、クロック制御回路１６０は制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐをハイで活性化させる。これはローカルクロック信号Ｌｃｌｋが入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に供給されないようにする。しかし、プロセッシングユニット１４０が作業を完了する時点が、有効データが前段に用意された時点と一致する場合、図８に示すように、制御信号ＤＤ＿ＬｃｌｋＳｌｅｅｐは続いてローレベルに維持される。これはクロック信号Ｌｃｌｋが入力ＦＩＦＯ１２０及びプロセッシングユニット１４０に続いて供給されることを意味する。
【００３２】
有効データが前段に用意された時点が、プロセッシングユニット１４０が作業を完了する時点より１サイクル遅れる場合、図９に示すように、ローカルクロック信号Ｌｃｌｋは１サイクルの間クロック制御回路１６０によって遮断される。このような差異を除外すれば、残りの動作（遊休状態からアクティブ状態への遷移動作とアクティブ状態から遊休状態への遷移動作）は上記で説明したことと実質的に同一であるので、それに対する説明は省略する。
【００３３】
本実施例によるプロセッシングユニットは一つまたは複数のレジスタで構成することができる。階層的なクロック制御構造を有するように入力ＦＩＦＯ及びプロセッシングユニットに本実施例によるクロック制御回路を追加することができることはこの分野の通常的な知識を有する者には自明である。各ＰＥのプロセッシングユニットは設計者によって自由に定義することができるデジタルロジック回路として実現することができる。すなわち、設計者が希望する単位の回路に対して自動的に生成されるハード−ワイアド、クロックゲーティングが可能である。また、クロックゲーティングが行われる処理単位の大きさを適切に分配することで、パイプラインデータプロセッシングを実行するハードウエア加速器のダイナミック消費電力を最適化して低減することができる。
【００３４】
本発明の範囲または技術的思想から外れることなく、本発明の構造を多様に修正することや変更することができるのはこの分野に熟達した者にとって自明である。上述の内容に鑑み、もし、本発明の修正及び変更が請求項及びこれと同等の範囲内に属する場合、本発明がこの変更及び修正された発明を含むことと思われる。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施例によるハード−ワイアド、ストリーミングプロセッシングシステムのデータ処理装置を示すブロック図である。
【図２】図１に示すハード−ワイアド、ストリーミングプロセッシングシステムのプロセッシングエレメントの処理状態を示す図面である。
【図３】図１に示すプロセッシングエレメントを示すブロック図である。
【図４】図３に示す入力ＦＩＦＯの一部の一例を示す回路図である。
【図５】図３に示すクロック制御回路の一例を示す回路図である。
【図６】図３に示すプロセッシングエレメントの制御信号を示すタイミング図である。
【図７】図３に図示すプロセッシングエレメントの制御信号を示すタイミング図である。
【図８】図３に図示すプロセッシングエレメントの制御信号を示すタイミング図である。
【図９】図３に図示すプロセッシングエレメントの制御信号を示すタイミング図である。
【符号の説明】
【００３６】
１２０    入力ＦＩＦＯ
１４０    プロセッシングユニット
１６０    クロック制御回路
【図１】
2007128518.tif 000003
【図２】
2007128518.tif 000004
【図３】
2007128518.tif 000005
【図４】
2007128518.tif 000006
【図５】
2007128518.tif 000007
【図６】
2007128518.tif 000008
【図７】
2007128518.tif 000009
【図８】
2007128518.tif 000010
【図９】
2007128518.tif 000011