(57)【要約】【課題】上位レベルのクロック位相管理において、各ブロックへ分配するクロック経路の最適化を不要とするとともに、回路規模の増大を抑制し、また回路チューニングによる設計期間の増加を最小限に抑えることが可能な自己同期型ブロック処理装置を得る。【解決手段】ローカルブロック制御回路１は、複数のコンプリート信号２２を受ける終了検知部１２と、終了検知部１２から出力されるエンド信号１３、システムクロック１０、ハンドシェイク制御信号６を受け、システムクロック１０を処理ブロック２へ供給するか否かを決定する負論理のストップ信号１４を生成する転送制御部１１と、転送制御部１１から出力される負論理のストップ信号１４とシステムクロック１０とに基づいて、ブロック内クロック２０を生成する論理ＡＮＤゲート１５とを備えている。【選択図】        図２
2004326222.tif 000002
【特許請求の範囲】
【請求項１】
データが複数の処理ブロックを経由することで処理されるデータ処理システムであって、
前記データ処理システムは、前記複数の処理ブロックのそれぞれに対応して設けられた複数のブロック制御回路を備え、
前記複数のブロック制御回路は、
それぞれが対応する処理ブロックをクロック同期により制御するとともに、他のブロック制御回路との間でハンドシェイク制御信号を授受することで、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する、データ処理システム。
【請求項２】
前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも１つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも１つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいて作成されたストップ信号により対応する前記処理ブロックに対するクロックの供給および停止を制御するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有する、請求項１記載のデータ処理システム。
【請求項３】
前記データ処理システムは、外部システムとのインターフェースを行う調停回路をさらに備え、
前記調停回路は、
前記外部システムとの間で、クロックに同期したシステム制御信号の授受を行い、当該システム制御信号に基づいて、前記ハンドシェイク制御信号を作成する、請求項１記載のデータ処理システム。
【請求項４】
前記複数のサブブロックのうち前記コンプリート信号を出力するサブブロックは、自らが出力する前記コンプリート信号に基づいて、自らに与えられる前記クロックの供給および停止を制御するゲート手段を有する、請求項２記載のデータ処理システム。
【請求項５】
前記複数の処理ブロックのそれぞれは、
電源の供給ラインに介挿されたスイッチを備え、該スイッチのオン／オフ制御を前記ストップ信号に基づいて行う、請求項２記載のデータ処理システム。
【請求項６】
前記複数の処理ブロックのそれぞれは、
接地ラインに介挿されたスイッチを備え、該スイッチのオン／オフ制御を前記ストップ信号に基づいて行う、請求項２記載のデータ処理システム。
【請求項７】
前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも１つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも１つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいてストップ信号を作成するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有し、
前記複数の処理ブロックのそれぞれは、
電源の供給ラインに介挿されたスイッチを備え、該スイッチのオン／オフ制御を前記ストップ信号に基づいて行う、請求項１記載のデータ処理システム。
【請求項８】
前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも１つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも１つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいてストップ信号を作成するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有し、
前記複数の処理ブロックのそれぞれは、
接地ラインに介挿されたスイッチを備え、該スイッチのオン／オフ制御を前記ストップ信号に基づいて行う、請求項１記載のデータ処理システム。
【請求項９】
前記複数の処理ブロックのそれぞれは、
前記コンプリート信号を出力するサブブロックに接続され、前記コンプリート信号と前記ストップ信号とを受け、前記スイッチをオフ状態とする場合には、前記コンプリート信号の電位を所定電位に固定する信号固定部をさらに備える、請求項７または請求項８記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ処理システムに関し、特に、内部を複数の処理ブロックに分割し、処理ブロック間の制御を自己同期的に行うデータ処理システムに関する。
【０００２】
【従来の技術】
データ処理システムの制御は、基本的に単一のシステムクロックに同期して行われるが、データ処理システムを複数の処理ブロックに分割して全体の処理を実行する装置においては、処理ブロック内、および処理ブロック間の同期信号であるクロックに対して、クロックスキューを特定の基準値以下に制御する必要がある。
【０００３】
ここで、昨今のシステムの動作速度の高速化およびシステムの大規模化に伴う物理的な制御領域の広がりに伴い、クロックスキューに対する基準値が低下するなど、ますます厳しい状況となり、基準値以下のクロックスキューを実現することが困難になってきている。
【０００４】
そこで、基準値以下のクロックスキューを実現するための種々の手法が、以下の非特許文献１〜４に記載されている。
【０００５】
すなわち、非特許文献１には、各処理ブロックへ供給するクロックラインに対して、等長配線のツリー構造を採用し、クロック生成源から各処理ブロックへの遅延値が等しくなるように管理する手法が記載されている。
【０００６】
また、非特許文献２には、クロック管理領域を局所領域に限定したブロックレベルでのクロック管理とこれらのブロック間でのクロック管理とで階層的に管理し、ブロック間でのクロック管理においてクロック生成源に設けた遅延調整回路により遅延値を調整する手法が記載されている。
【０００７】
そして、非特許文献３および４には、ブロックレベルとブロック間とで階層的にクロック管理する手法においてブロック間でのクロック位相調整にＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を用いる手法が記載されている。
【０００８】
これらの手法は、何れも領域を限定したブロック内（下位レベル）管理と、ブロック間（上位レベル）管理との２段階の階層でクロック管理を施すものであり、管理がより困難な上位レベルのクロック管理に「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「ＤＬＬによるクロック位相調整」等を施している。
【０００９】
また、特定の処理ブロック対して、消費電力の低減を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成し、この制御信号によりクロックや電源の供給をオン／オフさせていた。
【００１０】
【非特許文献１】
ブライアン・カラン（Ｂｒｉａｎ  Ｃｕｒｒａｎ）  他  ＩＳＳＣＣ  ２００１  プロシーディング  １５．５  「Ａ１．１ＧＨｚ  ファースト６４ｂジェネレーションＺ９００マイクロプロセッサ」（Ａ１．１ＧＨｚ  Ｆｉｒｓｔ  ６４ｂ  Ｇｅｎｅｒａｔｉｏｎ  Ｚ９００  Ｍｉｃｒｏｐｒｏｃｅｓｓｏ          ｒ）  ｐ．２３８−２３９，４５４
【非特許文献２】
Ｈｉｄｅｈｉｒｏ  ＴＡＫＡＴＡ  他  ＩＥＩＣＥオンエレクトロニクス  （ＩＥＩＣＥ  ｏｎ  Ｅｌｅｃｔｒｏ          ｎｉｃｓ）「フィジカルデザインメソッドロジィ  フォー  オンチップ６４−Ｍ          ｂ  ＤＲＡＭ  ＭＰＥＧ−２エンコーディング  ウイズ  ア  マルチメディアプロセッサ」（Ｐｈｉｙｓｉｃａｌ  Ｄｅｓｉｇｎ  Ｍｅｔｈｏｄｏｌｏｇｙ  ｆｏｒ  Ｏｎ−Ｃｈｉｐ  ６４−Ｍｂ  ＤＲＡＭ  ＭＰＥＧ−          ２  Ｅｎｃｏｄｉｎｇ  ｗｉｔｈ  ａ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｒｏｃｅｓｓｏｒ）  ＶＯＬ．Ｅ８５−Ｃ  Ｎｏ．２  Ｆｅｂ．２００          ２  ｐ．３６８−３７４
【非特許文献３】
Ｋｏｕｉｃｈｉ  Ｙａｍａｇｕｃｈｉ  他  ＩＳＳＣＣ  ２００１  プロシーディング  ２５．４  「２．５ＧＨｚ          ４−フェーズクロックジェネレータ  ウイズ  スケーラブル  アンド  ノーフィードバックループ  アーキテクチャ」（２．５ＧＨｚ  ４−ｐｈａｓｅ  Ｃｌｏｃｋ  Ｇｅｎ          ｅｒａｔｏｒ  ｗｉｔｈ  Ｓｃａｌａｂｌｅ  ａｎｄ  Ｎｏ  Ｆｅｅｄｂａｃｋ  Ｌｏｏｐ  Ａｒｃｈｉｔｅｃｔｕｒｅ）  ｐ．３９８−          ３９９，３２６−３２７
【非特許文献４】
スキダイデス・ザンソポーロス（Ｔｈｕｃｙｄｉｄｅｓ  Ｘａｎｔｈｏｐｏｕｌｏｓ）  他  ＩＳＳＣＣ          ２００１  プロシーディング  ２５．６  「ザ  デザイン  アンド  アナライシス  オブ  ザ  クロックディストリビューションネットワーク  フォー  ア            １．２ＧＨｚ  アルファ  マイクロプロセッサ」（Ｔｈｅ  Ｄｅｓｉｇｎ  ａｎｄ  Ａｎａｌｙｓｉｓ            ｏｆ  ｔｈｅ  Ｃｌｏｃｋ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｎｅｔｗｏｒｋ  ｆｏｒ  ａ  １．２ＧＨｚ  Ａｌｐｈａ  Ｍｉｃｒｏｐｒｏｃ          ｅｓｓｏｒ）  ｐ．４０２−４０３，３３０−３３１
【００１１】
【発明が解決しようとする課題】
以上説明したように、システムの制御を単一のクロックに同期させて制御する装置においては、クロックスキューを所定の基準値以下へ抑える手法として、従来から、ブロック単位の下位レベルとブロック間の上位レベルとで階層的にクロックスキューを管理する手法が用いられている。
【００１２】
下位レベルにおけるクロックの位相差管理は、その領域を狭めることで比較的容易に実現可能であるのに対して、上位レベルにおけるクロックの位相差管理は、管理すべき領域が広範囲に渡ることからより困難で、「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「ＤＬＬによるクロック位相調整」等の手法が採られてきた。
【００１３】
これらの手法は、各ブロックへ分配するクロック経路の最適化を図る必要があり、設計、検証、解析に多大な労力が必要である。
【００１４】
さらに、「遅延調整回路による遅延値調整」、「ＤＬＬによるクロック位相調整」に関しては、遅延調整回路、ＤＬＬ等が必要となり、回路規模が大きくなるだけでなく、これらの回路のチューニングも必要で、設計期間が増加することになる。
【００１５】
また、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成させる必要が生じる。
【００１６】
本発明は上記のような問題点を解消するためになされたもので、上位レベルのクロック位相管理において、各ブロックへ分配するクロック経路の最適化を不要とすると共に、回路規模の増大を抑制し、また回路チューニングによる設計期間の増加を最小限に抑えることが可能な自己同期型ブロック処理装置を得るとともに、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合において、クロックや電源の供給停止のための制御信号の生成を不要とする構成を合わせて得ることを目的とする。
【００１７】
【課題を解決するための手段】
本発明に係る請求項１記載のデータ処理システムは、データが複数の処理ブロックを経由することで処理されるデータ処理システムであって、前記データ処理システムは、前記複数の処理ブロックのそれぞれに対応して設けられた複数のブロック制御回路を備え、前記複数のブロック制御回路は、それぞれが対応する処理ブロックをクロック同期により制御するとともに、他のブロック制御回路との間でハンドシェイク制御信号を授受することで、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する。
【００１８】
【発明の実施の形態】
＜Ａ．実施の形態１＞
図１に、本発明に係る実施の形態１のデータ処理システム１００の構成を示す。
【００１９】
＜Ａ−１．装置構成＞
図１に示すように、データ処理システム１００は、複数の処理ブロック２に分割され、各処理ブロック２にはそれぞれローカルブロック制御回路１が付属している。
【００２０】
各ローカルブロック制御回路１には、データ処理システム１００の外部からシステムクロック１０が与えられ、ローカルブロック制御回路１間では、ハンドシェイク制御信号６が授受され、システムクロック１０に同期して複数の処理ブロック２間のデータ転送を自己同期型ハンドシェイクにより制御する構成となっている。なお、自己同期型ハンドシェイク制御とはリクエスト（要求）およびアクノリッジ（応答）などの制御信号でデータの転送ごとに確認をとりながらデータの転送を行う方式である。
【００２１】
なお、データ処理システム１００においては、何れかの処理ブロック２においてデータ処理システム１００の外部から入力データ４を受け、所定の処理を施して次の処理ブロック２に与えように構成され、最終的には、何れかの処理ブロック２から外部に出力データ５を出力する構成となっている。
【００２２】
次に、図２を用いて、ローカルブロック制御回路１および、当該制御回路１により制御される処理ブロック２の構成について説明する。
【００２３】
図２に示すように処理ブロック２は、ローカルブロック制御回路１から与えられるブロック内クロック２０（ローカルクロック）により制御され、入力データ４に所定の処理を施して出力データ５として出力するが、処理ブロック２は、複数のサブブロック２１に分割されている。
【００２４】
そして、図２に示すように全てのサブブロック２１においては、処理の終了を検知する機能をそれぞれ有し、処理の終了した時点においてブロック内クロック２０にそれぞれ同期してコンプリート信号２２を出力する機能を有している。
【００２５】
なお、コンプリート信号２２は、処理ブロック２内の処理の終了をローカルブロック制御回路１に検知させるための信号であるので、その処理が処理ブロック２内の処理に明らかに影響を与えないサブブロック２１については、コンプリート信号２２を敢えてローカルブロック制御回路１へ出力しなくても良い。
【００２６】
さらに、上記のような、サブブロック２１に関しては、コンプリート信号２２を終了検知以外に使用しない場合には、コンプリート信号２２を生成しなくても良い。
【００２７】
また、常に動作しているサブブロック２１に関しては、コンプリート信号２２を生成せずとも良いことは言うまでもない。
【００２８】
なお、処理ブロック２の回路規模は、ブロック内クロック２０を処理ブロック２内に分配する際、ブロック内クロック２０のクロックスキュー管理が容易に行える物理的領域内に収まる程度の回路規模を想定している。すなわち、クロックスキュー管理の目安は、一般的に周期の５％以下とされている。従って、例えば、５ＧＨｚの動作周波数を想定した場合、周期は２００ｐＳＥＣとなり、クロックスキュー管理の目安は１０ｐＳＥＣとなって、これはトランジスタ数にして１０００個程度となる。なお、高速化されるほど処理ブロック２の回路規模は小さくなる。
【００２９】
ローカルブロック制御回路１は、処理ブロック２より出力された複数のコンプリート信号２２を受ける終了検知部１２と、終了検知部１２から出力されるエンド信号１３、システムクロック１０、ハンドシェイク制御信号６を受け、システムクロック１０を処理ブロック２へ供給するか否かを決定する負論理のストップ信号１４を生成する転送制御部１１と、転送制御部１１から出力される負論理のストップ信号１４とシステムクロック１０とに基づいて、ブロック内クロック２０を生成する論理ＡＮＤゲート１５と、ハンドシェイク制御信号６の１つである出力側要求応答信号６４をドライブして、負論理のリセット信号２５として処理ブロック２に与えるドライバ１６とを備えている。
【００３０】
論理ＡＮＤゲート１５は、システムクロック１０を負論理のストップ信号１４に基づいてブロック内クロック２０として処理ブロック２に与えるか否かを制御し、システムクロック１０を与えない場合にはブロック内クロック２０の値を固定する（本実施の形態では０に固定する）ための構成であるので、同様の機能を有するゲート手段であれば論理ＡＮＤゲートに限定されるものではなく、トランスファーゲート（トランスミッションゲート）等を用いても良い。
【００３１】
＜Ａ−２．装置動作＞
以下、図１および図２を参照しつつ、図３に示すタイミングチャートを用いて、ローカルブロック制御回路１による自己同期型ハンドシェイクによるデータ転送動作の一例について説明する。
【００３２】
ここで、ハンドシェイク制御信号６は、ある特定の処理ブロック２に着目した場合、当該処理ブロック２の出力データ５を与える後段の処理ブロック２に付属するローカルブロック制御回路１または外部の他のシステム（以後、これを出力側と呼称）に対して、データを転送したいという要求を示す出力側転送要求信号６２、出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号６４、上記特定の処理ブロック２に入力データ４を与える前段の処理ブロック２に付属するローカルブロック制御回路１または外部の他のシステム（以後、これを入力側と呼称）から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号６１、入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号６３を含んでいる。
【００３３】
図３に示すように、入力データ４が与えられた後、入力側からの入力側転送要求信号６１がアサート（０→１）された時、出力側転送要求信号６２がネゲート状態（０）であれば、出力側へのデータ転送が完了しているので、転送制御部１１はシステムクロック１０の立ち下がりのタイミングで、負論理のストップ信号１４を解除（０→１）する。
【００３４】
これによりシステムクロック１０が論理ＡＮＤゲート１５を介して処理ブロック２にブロック内クロック２０として供給され、処理ブロック２０内において入力データ４に対する所定の処理が開始する。なお、ブロック内クロック２０は以下に示すように処理に応じて必要な個数のパルスが与えられるように構成されており、当該パルス数は可変である。
【００３５】
処理ブロック２０内での処理の進行に応じて（処理に必要な時間が経過した後）処理ブロック２０内の各サブブロック２１における処理が順次終了し、処理を終了したサブブロック２１においては、ブロック内クロック２０に同期してコンプリート信号２２がアサート（０→１）される。
【００３６】
コンプリート信号２２は順次、終了検知部１２に与えられ、終了検知部１２では、全てのコンプリート信号２２のアサートを検知したした時点でエンド信号１３をアサート（０→１）する。
【００３７】
転送制御部１１では、エンド信号１３のアサートを受け、システムクロック１０の立ち下がりのタイミングで負論理のストップ信号１４をアサート（１→０）するとともに、入力側に与える負論理の入力側要求応答信号６３をアサート（１→０）して入力側からのデータ転送要求に応答したことを示し、かつ、出力側への出力側転送要求信号６２をアサート（０→１）して出力側に対してデータを転送したいという要求を示す。
【００３８】
この動作により処理ブロック２への論理ＡＮＤゲート１５を介してのシステムクロック１０の供給が停止され、処理ブロック２の処理が停止する。
【００３９】
また、入力側に与える負論理の入力側要求応答信号６３がアサート（１→０）されることにより、入力側から与えられる入力側転送要求信号６１がネゲート（１→０）され、入力側（の処理ブロック２）においてはデータの出力が保留される。
【００４０】
転送制御部１１では、入力側転送要求信号６１がネゲートされたことを受けて負論理の入力側要求応答信号６３を解除（０→１）し、さらにシステムクロック１０の立ち下がりのタイミングでエンド信号１３をネゲート（１→０）する。
【００４１】
出力側（の処理ブロック２）において所定の処理が実施された後、出力側（のローカルブロック制御回路１）からの負論理の出力側要求応答信号６４がアサート（１→０）された時、エンド信号１３がネゲート状態（０）であれば、出力側へのデータ転送が完了しているので、転送制御部１１は、システムクロック１０の立ち下がりのタイミングで出力側転送要求信号６２を解除（１→０）する。これを受けた出力側（ローカルブロック制御回路１）は、出力側要求応答信号６４をネゲート（０→１）する。
【００４２】
この負論理の出力側要求応答信号６４のパルス信号をドライバ１６でドライブし、負論理のリセット信号２５として処理ブロック２内のリセットが必要な全てのサブブロック２１へ分配することで、コンプリート信号２２をリセット（１→０）することで、転送制御部１１によ自己同期型ハンドシェイクによる一連のデータ転送が完了する。
【００４３】
ここで、処理ブロック２からの出力信号であるコンプリート信号２２およびこれに基づくエンド信号１３はシステムクロック１０（すなわちブロック内クロック２０）に同期した信号となるが、負論理のストップ信号１４もシステムクロック１０に同期（上記では立ち下がりに同期）した信号とすることが望ましい。これは、論理ＡＮＤゲート１５にてシステムクロック１０をゲートする際に、ブロック内クロック２０にヒゲ状の誤ったパルスを生じさせないためである。
【００４４】
＜Ａ−３．効果＞
以上説明したようにデータ処理システム１００においては、内部を複数の処理ブロック２に分割することで制御範囲を局所領域に限定し、処理ブロック２内の管理（下位レベル管理）は、ローカルクロックであるブロック内クロック２０によって同期制御している。そして、制御範囲が広領域に渡る処理ブロック２間の管理（上位レベル管理）は、ローカルブロック制御回路１による自己同期型ハンドシェイク制御を採用している。
【００４５】
クロック同期制御を用いる場合、高速化に伴いクロックスキュー（クロック位相のずれ）の許容範囲が狭くなり管理が難しくなるだけでなく、制御すべき物理的領域が広いので、クロックスキュー管理がますます困難になるが、上記構成を採用することで、個々の処理ブロック２については制御範囲は局所領域に限定されるので、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。
【００４６】
また、ローカルブロック制御回路１において、処理ブロック２の処理状態に関する情報を取得し、当該情報とシステムクロック１０およびハンドシェイク制御信号６に基づいて生成される負論理のストップ信号１４により、処理ブロック２の処理状態に応じて処理ブロック２に対するブロック内クロック２０の供給および停止を制御するので、従来は必要であったクロックを制御するための複雑な回路が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【００４７】
また、制御範囲が広範囲に渡る処理ブロック２間の制御に関しては、ローカルブロック制御回路１による自己同期型ハンドシェイク制御を採用することで、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【００４８】
＜Ｂ．実施の形態２＞
図４に、本発明に係る実施の形態２のデータ処理システム２００の構成を示す。なお、図１に示したデータ処理システム１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００４９】
＜Ｂ−１．装置構成＞
図４に示すように、データ処理システム２００は、図１を用いて説明したデータ処理システム１００の構成に加えて、外部の他のシステムとのインターフェースを行うための調停回路７をさらに備えている。
【００５０】
調停回路７は、システムクロック１０に同期したシステム制御信号８に基づいて、データ処理システム２００と他のシステムとの間でのデータの送受信を行うインターフェース回路である。
【００５１】
ここで、ある特定の処理ブロック２に着目した場合、その出力データ５を与える後段の処理ブロック２に付属するローカルブロック制御回路１または外部の他のシステム（以後、これを出力側と呼称）に対してデータを転送したいという要求を示す出力側転送要求信号６２および出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号６４を出力側ハンドシェイク制御信号６６と総称する。
【００５２】
また、上記特定の処理ブロック２に入力データ４を与える前段の処理ブロック２に付属するローカルブロック制御回路１または外部の他のシステム（以後、これを入力側と呼称）から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号６１、および入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号６３を入力側ハンドシェイク制御信号６５と総称する。
【００５３】
図４に示すように、調停回路７は、外部の他のシステム（図示せず）との間で、予め定めたシステム制御信号８の授受を行い、当該システム制御信号８に基づいて、入力側ハンドシェイク制御信号６５および出力側ハンドシェイク制御信号６６を作成し、データ処理システム２００内のローカルブロック制御回路１に与える構成となっている。
【００５４】
ここで、調停回路７に与えられる入力側ハンドシェイク制御信号６５、出力側ハンドシェイク制御信号６６およびシステム制御信号８の詳細を図５に示す。
【００５５】
図５に示すように、システム制御信号８は、データ処理システム２００が、外部の他のシステムに対してデータを出力したいという要求を示すバス要求信号８１、バス要求信号８１を受けた外部の他のシステムから与えられ、バス要求に応答することを示すバス要求応答信号８２、外部の他のシステムから与えられ、データ処理システム２００に対するデータの入力を完了したことを示すバスエンド信号８３およびデータ処理システム２００から出力される、データ入出力の状態を示すバスリード／ライト信号８４で構成される。
【００５６】
＜Ｂ−２．装置動作＞
データ処理システム２００内でのデータ転送動作やハンドシェイク制御についてはデータ処理システム１００と同じであるので説明は省略し、以下、図４および図５を参照しつつ、図６に示すタイミングチャートを用いて、調停回路７の動作についてのみ説明する。
【００５７】
図６に示すように、システム制御信号８のうち、データ処理システム２００に対して入力信号となるバス要求応答信号８２およびバスエンド信号８３は、システムクロック１０の立ち上がりに同期して変化し、データ処理システム２００に対して出力信号となる出力バス要求信号８１およびバスリード／ライト信号８４は、システムクロック１０の立ち下がりに同期して変化する。
【００５８】
一方、入力側ハンドシェイク信号６５および出力側ハンドシェイク信号６６はシステムクロック１０とは非同期に変化する。
【００５９】
＜Ｂ−２−１．書き込み単独動作＞
まず、データ処理システム２００に対する書き込み単独動作（図６に示すタイミングチャートの前半部分）について説明する。
【００６０】
バス要求信号８１がネゲート状態（０）の場合、データ処理システム２００の外部から与えられるバスエンド信号８３がネゲート（１→０）されると、入力側転送要求信号６１がネゲート状態（０）であることから、入力側、この場合は、データ処理システム２００内の最終段の処理ブロック２に付属するローカルブロック制御回路１からはデータを転送する要求がないので、データを転送したいという要求を示す出力側転送要求信号６２をアサート（０→１）し、データ処理システム２００の外部に対しては、システムクロック１０の立ち下がりのタイミングでバスリード／ライト信号８４を０にして書き込み状態とする。
【００６１】
なお、データ処理システム２００に対するデータの書き込みは、バスリード／ライト信号８４が０の状態にある期間に行われるが、当該期間はシステムクロック１０のパルス数を変えることで処理に応じて任意に変更できる。
【００６２】
そして、出力側の処理ブロック２での処理が完了することにより、当該処理ブロック２に付属するローカルブロック制御回路１から負論理の出力側要求応答信号６４がアサート（１→０）され、出力側転送要求信号６２をネゲート（１→０）するとともに、データ処理システム２００の外部に対してはバスリード／ライト信号８４を１として、読み出し状態とする。
【００６３】
これにより、出力側から与えられる負論理の出力側要求応答信号６４がネゲート（０→１）され、データ処理システム２００の外部の他のシステムでは、読み出し状態への変化を受けてバスエンド信号８３をアサート（０→１）することで一連の書き込み動作が終了する。
【００６４】
＜Ｂ−２−２．読み出し単独動作＞
次に、データ処理システム２００に対する読み出し単独動作（図６に示すタイミングチャートの後半部分）について説明する。
【００６５】
バスリード／ライト信号８４が読み出し状態（１）にある場合、入力側、この場合は、データ処理システム２００内の最終段の処理ブロック２に付属するローカルブロック制御回路１からの入力側転送要求信号６１がアサート（０→１）されると、データ処理システム２００の外部の他のシステムに対するバス要求信号８１をアサート（０→１）して、データを出力したいという要求を示す。
【００６６】
このバス要求信号８１のアサートに対して、データ処理システム２００の外部の他のシステムは、バス要求応答信号８２をアサート（０→１）することで、バス要求に応答することを示し、これを受けた調停回路７は、上記最終段の処理ブロック２に付属するローカルブロック制御回路１に与える負論理の入力側要求応答信号６３をアサート（１→０）する。
【００６７】
負論理の入力側要求応答信号６３のアサートに対して、上記最終段の処理ブロック２に付属するローカルブロック制御回路１からの入力側転送要求信号６１がネゲート（１→０）され、これを受けた調停回路７は、上記ローカルブロック制御回路１に与える負論理の入力側要求応答信号６３をネゲート（０→１）するとともに、データ処理システム２００の外部に対してのバス要求信号８１をネゲート（１→０）する。
【００６８】
バス要求信号８１がネゲートされることで、データ処理システム２００の外部の他のシステムからのバス要求応答信号８２がネゲート（１→０）され、一連の読み出し動作が完了する。
【００６９】
＜Ｂ−２−３．書き込み−読み出しの交互動作＞
次に、データ処理システム２００に対する書き込み読み出しの交互動作（図６に示すタイミングチャートの中間部分）について説明する。
【００７０】
先に説明した書き込み単独動作中に入力側、この場合は、データ処理システム２００内の最終段の処理ブロック２に付属するローカルブロック制御回路１からの入力側転送要求信号６１がアサート（０→１）された場合（入力側からのデータの出力要求があった場合）においては、バスリード／ライト信号８４が書き込み状態（０）であるので、外部に対するバス要求信号８１を所定期間はネゲート状態（０）に保持し、所定期間は読み出し動作を保留する。
【００７１】
そして、バスリード／ライト信号８４の読み出し状態（１）への変化を受けた後、システムクロック１０の立ち下がりのタイミングで、外部に対するバス要求信号８１をアサート（０→１）し、一連の読み出し動作を開始する。
【００７２】
なお、この場合の読み出し動作も、先に説明した読み出し単独動作と同様である。
【００７３】
次に、読み出し動作中にデータ処理システム２００の外部の他のシステムから書き込み要求があった場合、バス要求信号８１はアサート状態（１）であることから、データ処理システム２００の外部の他のシステムにおいては、バスエンド信号８３がアサート状態（１）に維持され、書き込み動作が保留される。
【００７４】
そして、所定の読み出し動作が終了後、データ処理システム２００の外部の他のシステムに対するバス要求信号８１がネゲート（１→０）されることで、データ処理システム２００の外部の他のシステムからのバスエンド信号８３がネゲート（１→０）され、一連の書き込み動作が開始する。
【００７５】
なお、この場合の書き込み動作も、先に説明した書き込み単独動作と同様である。
【００７６】
＜Ｂ−３．効果＞
以上説明したようにデータ処理システム２００においては、外部の他のシステムとのインターフェース回路として調停回路７を備え、外部の他のシステムとの間で直接に授受される制御信号に、システムクロック１０に同期したシステム制御信号８を使用するので、クロック同期の他のシステム、例えば、従来から使用されている自己同期制御および非同期制御を用いた同期システムとのインターフェースを支障なく行うことができる。
【００７７】
＜Ｃ．変形例１＞
以上説明した実施の形態１および２のデータ処理システム１００および２００において、処理ブロック２は、その内部が図２に示すように複数のサブブロック２１に分割された構成を有していた。
【００７８】
そして、全てのサブブロック２１においてブロック内クロック２０が与えられ、ブロック内クロック２０に同期してコンプリート信号２２を出力する構成となっていたが、図７に示す処理ブロック２Ａのように、複数のサブブロック２１において、当該サブブロック２１から出力されるコンプリート信号２２を用いて、ローカルブロック制御回路１から与えられるブロック内クロック２０をゲートし、独自のサブブロック内クロック２４を使用するようにしても良い。
【００７９】
すなわち、図７に示すように、サブブロック２１に論理ＡＮＤゲート２３を付属させ、当該論理ＡＮＤゲート２３の反転入力端子にはサブブロック２１から出力されるコンプリート信号２２を入力し、論理ＡＮＤゲート２３の入力端子にはローカルブロック制御回路１から与えられるブロック内クロック２０を入力するように構成する。そして、論理ＡＮＤゲート２３の出力２４をサブブロック２１に与えるように構成する。
【００８０】
このような構成を採ることで、ブロック内クロック２０が論理ＡＮＤゲート２３によりゲートされてサブブロック内クロック２４となり、当該サブブロック内クロック２４を用いてサブブロック２１を制御することで、消費電力の制御をより細かく行うことが可能となる。
【００８１】
すなわち、処理を完了してコンプリート信号２２を出力したサブブロック２１に対してブロック内クロック２０を供給し続けることは消費電力の増加を招くので、コンプリート信号２２を出力したサブブロック２１に対してはブロック内クロック２０の供給を停止することが望ましい。
【００８２】
論理ＡＮＤゲート２３は、所定の処理を完了してコンプリート信号２２を出力したサブブロック２１についてはブロック内クロック２０をゲートして供給を停止し、コンプリート信号２２が未出力の場合にはブロック内クロック２０をサブブロック内クロック２４として与えるように動作する。
【００８３】
従って、コンプリート信号２２を出力したサブブロック２１に対してブロック内クロック２０を供給しない分だけ消費電力を削減することができる。
【００８４】
また、負論理のストップ信号１４と同様に、サブブロック内クロック２４の生成には、既に存在するコンプリート信号２２を用いれば良いので、クロックを制御するための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【００８５】
ここで、ブロック内クロック２０を供給しない場合には、サブブロック内クロック２４の値を固定する（本実施の形態では０に固定）という機能も有する。
【００８６】
なお、処理ブロック２Ａを構成する全てのサブブロック２１に対して論理ＡＮＤゲート２３を接続する必要はなく、例えば、常に動作させる必要のあるサブブロック２１や、規模的に小さく、動作完了後にサブブロック内クロック２４を停止しても消費電力の低減効果の小さいサブブロック２１については、ブロック内クロック２０を直接に供給する構成としても良い。
【００８７】
論理ＡＮＤゲート２３は、ブロック内クロック２０をコンプリート信号２２に基づいてサブブロック内クロック２４としてサブブロック２１に与えるか否かを制御し、サブブロック内クロック２４を与えない場合にはサブブロック内クロック２４の値を固定するための構成であるので、同様の機能を有するゲート手段であれば論理ＡＮＤゲートに限定されるものではなく、トランスファーゲート（トランスミッションゲート）等を用いても良い。
【００８８】
＜Ｄ．変形例２＞
消費電力のさらなる低減という観点に立てば、図８に示す処理ブロック２Ｂのように、電源ＶＤの供給ラインにスイッチ７を備え、当該スイッチ７のオン／オフ制御を、負論理のストップ信号１４に基づいて行うようにしても良い。
【００８９】
すなわち、終了検知部１２で、全てのコンプリート信号２２のアサートを検知すると、エンド信号１３をアサートし、ストップ信号１４がアサート（１→０）される。この時には、オフ状態となるようにスイッチ７を構成しておけば、処理ブロック２Ｂへの電力供給が停止し、処理ブロック２Ｂでの電力消費を低減できる。
【００９０】
なお、ストップ信号１４が解除状態（１）である場合は、スイッチ７をオン状態とし、処理ブロック２Ｂに電力を供給しておく。
【００９１】
このように、負論理のバーストップ信号１４により、処理ブロック単位で電源をオン／オフさせることで、処理ブロック２Ｂの電流源を完全に遮断できるので、処理ブロック２Ｂの動作が不要な場合には電力消費をゼロにすることが可能となり、消費電力の低減効果が大きくなる。
【００９２】
また、大きな省電力効果を得るための制御信号として、負論理のストップ信号１４を用いれば良いので、上記制御信号を得るための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【００９３】
また、図８の構成は、図２を用いて説明したデータ処理システム１００と基本的に同じであり、処理ブロック２Ｂが動作中の場合は、コンプリート信号２２によるサブブロック２１単位でのクロック制御がなされているので、処理ブロック２Ｂの動作中も消費電力が低減されており、処理ブロック２Ｂでの処理中はサブブロック２１単位のクロック制御による省電力化、処理ブロック２Ｂの処理終了後は処理ブロック単位での電源制御による省電力化というように、２段階の省電力化が図られることとなり、省電力効果がより大きくなる。
【００９４】
なお、処理ブロック単位での電源制御という観点に立てば、図９に示す処理ブロック２Ｃのように、接地（ＧＮＤ）ラインにスイッチ７を備え、当該スイッチ７のオン／オフ制御を、負論理のストップ信号１４に基づいて行うようにしても良い。
【００９５】
この場合もスイッチ７をオフ状態にすれば、処理ブロック２Ｃへの電力供給が停止し、処理ブロック２Ｃでの電力消費を低減できる。
【００９６】
＜Ｅ．変形例３＞
また、図８および図９に示した構成においては、処理ブロック２Ｂおよび２Ｃに対して、ブロック内クロック２０を与える構成を示したが、図１０および図１１に示すローカルブロック制御回路１Ａのように、ブロック内クロックとしてシステムクロック１０を直接与えるようにしても良い。
【００９７】
すなわち、図８および図９に示すように、ブロック内クロック２０の供給と電源の供給は、同じ負論理のストップ信号１４により制御されていることから、ブロック内クロック２０の停止中は、電源供給も停止していることになり、ブロック内クロック２０の制御の有無に関わらず省電力効果を得られる。換言すれば、電源制御による消費電力の削減効果は、クロック制御による削減効果よりも大きいため、クロック制御を実施しなくても良いと言える。
【００９８】
さらに言えば、クロック制御を行わないのであれば、システムクロック１０をゲートする論理ＡＮＤゲート１５が不要となり、回路削減が可能となる。
【００９９】
＜Ｆ．変形例４＞
図８〜図１１を用いて説明した構成においては、電源の供給ラインあるいは接地ラインにスイッチ７を備え、当該スイッチ７のオン／オフ制御を、負論理のストップ信号１４に基づいて行う構成を示したが、図１２に示す処理ブロック２Ｄのように、コンプリート信号２２を出力する全てのサブブロック２１に対して、信号固定回路２６を接続した構成とし、ストップ信号１４によるスイッチ７の切断時（オフ時）には信号固定回路２６により、コンプリート信号２２の電位をコンプリート、すなわち「１」に固定するようにしても良い。
【０１００】
このように、スイッチ７による処理ブロックの電源切断時に、コンプリート信号２２の電位を確定した値、例えば「１」に固定することで、終了検知部１２の誤動作を防ぐとともに、終了検知部１２での不定信号入力による貫通電流の発生を防止することができる。
【０１０１】
なお、信号固定回路２６の構成としては、例えば、図１３に示す構成を採用すれば良い。すなわち、信号固定回路２６は、入力の一方が負論理入力となった論理ＯＲゲート２７を使用し、論理ＯＲゲート２７の負論理入力にはストップ信号１４を、他方の入力にはサブブロック２１の出力信号を与える。また、同様の機能を有するゲート手段であれば論理ＯＲゲートに限定されるものではなく、トランスファーゲート（トランスミッションゲート）等を用いても良い。
【０１０２】
また、以上の説明した処理ブロック２Ｄでは、電源ラインにスイッチ７を備えた構成を示したが、接地ラインにスイッチ７を備えた構成であっても適用可能である。
【０１０３】
なお、以上説明した本発明に係るデータ処理システムは、マイクロプロセッサ、特に、画像処理用のマイクロプロセッサや、通信用のマイクロプロセッサへの適用が可能である。また、図１に示すデータ処理システム１００および図４に示すデータ処理システム２００は、それぞれＬＳＩとしてシングルチップを構成することもできるし、複数のデータ処理システムを１つのチップ上に備えた構成とすることもできる。
【０１０４】
【発明の効果】
本発明に係る請求項１記載のデータ処理システムによれば、ブロック制御回路が、対応する処理ブロックをクロック同期により制御するので、制御範囲は局所領域に限定され、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。また、制御範囲が広範囲に渡る処理ブロック間のデータ転送は、自己同期型ハンドシェイクにより制御するので、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【図面の簡単な説明】
【図１】本発明に係る実施の形態１のデータ処理システムの全体構成を示すブロック図である。
【図２】本発明に係る実施の形態１のデータ処理システムの部分構成を示すブロック図である。
【図３】本発明に係る実施の形態１のデータ処理システムの動作を説明するタイミングチャートである。
【図４】本発明に係る実施の形態２のデータ処理システムの全体構成を示すブロック図である。
【図５】調停回路の取り扱う種々の信号を説明するブロック図である。
【図６】調停回路の動作を説明するタイミングチャートである。
【図７】本発明に係る変形例１の構成を示すブロック図である。
【図８】本発明に係る変形例２の構成を示すブロック図である。
【図９】本発明に係る変形例２の構成を示すブロック図である。
【図１０】本発明に係る変形例３の構成を示すブロック図である。
【図１１】本発明に係る変形例３の構成を示すブロック図である。
【図１２】本発明に係る変形例３の構成を示すブロック図である。
【図１３】本発明に係る変形例３の構成を示すブロック図である。
【符号の説明】
１  ローカルブロック制御回路、２  処理ブロック、４  入力データ、５  出力データ、６  ハンドシェイク制御信号、７  調停回路、８  システム制御信号、１０  システムクロック、１３  エンド信号、１４  ストップ信号、２０  ブロック内クロック、２２  コンプリート信号、２４  サブブロック内クロック、６１  入力側転送要求信号、６２  出力側転送要求信号、６３  入力側要求応答信号、６４  入力側要求応答信号、６５  入力側ハンドシェイク制御信号、６６出力側ハンドシェイク制御信号、８１  バス要求信号、８２  バス要求応答信号、８３  バスエンド信号、８４  バスリード／ライト信号。
【図１】
2004326222.tif 000003
【図２】
2004326222.tif 000004
【図３】
2004326222.tif 000005
【図４】
2004326222.tif 000006
【図５】
2004326222.tif 000007
【図６】
2004326222.tif 000008
【図７】
2004326222.tif 000009
【図８】
2004326222.tif 000010
【図９】
2004326222.tif 000011
【図１０】
2004326222.tif 000012
【図１１】
2004326222.tif 000013
【図１２】
2004326222.tif 000014
【図１３】
2004326222.tif 000015