JP2004326222A - データ処理システム - Google Patents
データ処理システム Download PDFInfo
- Publication number
- JP2004326222A JP2004326222A JP2003116716A JP2003116716A JP2004326222A JP 2004326222 A JP2004326222 A JP 2004326222A JP 2003116716 A JP2003116716 A JP 2003116716A JP 2003116716 A JP2003116716 A JP 2003116716A JP 2004326222 A JP2004326222 A JP 2004326222A
- Authority
- JP
- Japan
- Prior art keywords
- block
- signal
- blocks
- clock
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】上位レベルのクロック位相管理において、各ブロックへ分配するクロック経路の最適化を不要とするとともに、回路規模の増大を抑制し、また回路チューニングによる設計期間の増加を最小限に抑えることが可能な自己同期型ブロック処理装置を得る。
【解決手段】ローカルブロック制御回路1は、複数のコンプリート信号22を受ける終了検知部12と、終了検知部12から出力されるエンド信号13、システムクロック10、ハンドシェイク制御信号6を受け、システムクロック10を処理ブロック2へ供給するか否かを決定する負論理のストップ信号14を生成する転送制御部11と、転送制御部11から出力される負論理のストップ信号14とシステムクロック10とに基づいて、ブロック内クロック20を生成する論理ANDゲート15とを備えている。
【選択図】 図2
【解決手段】ローカルブロック制御回路1は、複数のコンプリート信号22を受ける終了検知部12と、終了検知部12から出力されるエンド信号13、システムクロック10、ハンドシェイク制御信号6を受け、システムクロック10を処理ブロック2へ供給するか否かを決定する負論理のストップ信号14を生成する転送制御部11と、転送制御部11から出力される負論理のストップ信号14とシステムクロック10とに基づいて、ブロック内クロック20を生成する論理ANDゲート15とを備えている。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明はデータ処理システムに関し、特に、内部を複数の処理ブロックに分割し、処理ブロック間の制御を自己同期的に行うデータ処理システムに関する。
【0002】
【従来の技術】
データ処理システムの制御は、基本的に単一のシステムクロックに同期して行われるが、データ処理システムを複数の処理ブロックに分割して全体の処理を実行する装置においては、処理ブロック内、および処理ブロック間の同期信号であるクロックに対して、クロックスキューを特定の基準値以下に制御する必要がある。
【0003】
ここで、昨今のシステムの動作速度の高速化およびシステムの大規模化に伴う物理的な制御領域の広がりに伴い、クロックスキューに対する基準値が低下するなど、ますます厳しい状況となり、基準値以下のクロックスキューを実現することが困難になってきている。
【0004】
そこで、基準値以下のクロックスキューを実現するための種々の手法が、以下の非特許文献1〜4に記載されている。
【0005】
すなわち、非特許文献1には、各処理ブロックへ供給するクロックラインに対して、等長配線のツリー構造を採用し、クロック生成源から各処理ブロックへの遅延値が等しくなるように管理する手法が記載されている。
【0006】
また、非特許文献2には、クロック管理領域を局所領域に限定したブロックレベルでのクロック管理とこれらのブロック間でのクロック管理とで階層的に管理し、ブロック間でのクロック管理においてクロック生成源に設けた遅延調整回路により遅延値を調整する手法が記載されている。
【0007】
そして、非特許文献3および4には、ブロックレベルとブロック間とで階層的にクロック管理する手法においてブロック間でのクロック位相調整にDLL(Delay Locked Loop)回路を用いる手法が記載されている。
【0008】
これらの手法は、何れも領域を限定したブロック内(下位レベル)管理と、ブロック間(上位レベル)管理との2段階の階層でクロック管理を施すものであり、管理がより困難な上位レベルのクロック管理に「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」等を施している。
【0009】
また、特定の処理ブロック対して、消費電力の低減を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成し、この制御信号によりクロックや電源の供給をオン/オフさせていた。
【0010】
【非特許文献1】
ブライアン・カラン(Brian Curran) 他 ISSCC 2001 プロシーディング 15.5 「A1.1GHz ファースト64bジェネレーションZ900マイクロプロセッサ」(A1.1GHz First 64b Generation Z900 Microprocesso r) p.238−239,454
【非特許文献2】
Hidehiro TAKATA 他 IEICEオンエレクトロニクス (IEICE on Electro nics)「フィジカルデザインメソッドロジィ フォー オンチップ64−M b DRAM MPEG−2エンコーディング ウイズ ア マルチメディアプロセッサ」(Phiysical Design Methodology for On−Chip 64−Mb DRAM MPEG− 2 Encoding with a Multimedia Processor) VOL.E85−C No.2 Feb.200 2 p.368−374
【非特許文献3】
Kouichi Yamaguchi 他 ISSCC 2001 プロシーディング 25.4 「2.5GHz 4−フェーズクロックジェネレータ ウイズ スケーラブル アンド ノーフィードバックループ アーキテクチャ」(2.5GHz 4−phase Clock Gen erator with Scalable and No Feedback Loop Architecture) p.398− 399,326−327
【非特許文献4】
スキダイデス・ザンソポーロス(Thucydides Xanthopoulos) 他 ISSCC 2001 プロシーディング 25.6 「ザ デザイン アンド アナライシス オブ ザ クロックディストリビューションネットワーク フォー ア 1.2GHz アルファ マイクロプロセッサ」(The Design and Analysis of the Clock Distribution Network for a 1.2GHz Alpha Microproc essor) p.402−403,330−331
【0011】
【発明が解決しようとする課題】
以上説明したように、システムの制御を単一のクロックに同期させて制御する装置においては、クロックスキューを所定の基準値以下へ抑える手法として、従来から、ブロック単位の下位レベルとブロック間の上位レベルとで階層的にクロックスキューを管理する手法が用いられている。
【0012】
下位レベルにおけるクロックの位相差管理は、その領域を狭めることで比較的容易に実現可能であるのに対して、上位レベルにおけるクロックの位相差管理は、管理すべき領域が広範囲に渡ることからより困難で、「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」等の手法が採られてきた。
【0013】
これらの手法は、各ブロックへ分配するクロック経路の最適化を図る必要があり、設計、検証、解析に多大な労力が必要である。
【0014】
さらに、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」に関しては、遅延調整回路、DLL等が必要となり、回路規模が大きくなるだけでなく、これらの回路のチューニングも必要で、設計期間が増加することになる。
【0015】
また、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成させる必要が生じる。
【0016】
本発明は上記のような問題点を解消するためになされたもので、上位レベルのクロック位相管理において、各ブロックへ分配するクロック経路の最適化を不要とすると共に、回路規模の増大を抑制し、また回路チューニングによる設計期間の増加を最小限に抑えることが可能な自己同期型ブロック処理装置を得るとともに、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合において、クロックや電源の供給停止のための制御信号の生成を不要とする構成を合わせて得ることを目的とする。
【0017】
【課題を解決するための手段】
本発明に係る請求項1記載のデータ処理システムは、データが複数の処理ブロックを経由することで処理されるデータ処理システムであって、前記データ処理システムは、前記複数の処理ブロックのそれぞれに対応して設けられた複数のブロック制御回路を備え、前記複数のブロック制御回路は、それぞれが対応する処理ブロックをクロック同期により制御するとともに、他のブロック制御回路との間でハンドシェイク制御信号を授受することで、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する。
【0018】
【発明の実施の形態】
<A.実施の形態1>
図1に、本発明に係る実施の形態1のデータ処理システム100の構成を示す。
【0019】
<A−1.装置構成>
図1に示すように、データ処理システム100は、複数の処理ブロック2に分割され、各処理ブロック2にはそれぞれローカルブロック制御回路1が付属している。
【0020】
各ローカルブロック制御回路1には、データ処理システム100の外部からシステムクロック10が与えられ、ローカルブロック制御回路1間では、ハンドシェイク制御信号6が授受され、システムクロック10に同期して複数の処理ブロック2間のデータ転送を自己同期型ハンドシェイクにより制御する構成となっている。なお、自己同期型ハンドシェイク制御とはリクエスト(要求)およびアクノリッジ(応答)などの制御信号でデータの転送ごとに確認をとりながらデータの転送を行う方式である。
【0021】
なお、データ処理システム100においては、何れかの処理ブロック2においてデータ処理システム100の外部から入力データ4を受け、所定の処理を施して次の処理ブロック2に与えように構成され、最終的には、何れかの処理ブロック2から外部に出力データ5を出力する構成となっている。
【0022】
次に、図2を用いて、ローカルブロック制御回路1および、当該制御回路1により制御される処理ブロック2の構成について説明する。
【0023】
図2に示すように処理ブロック2は、ローカルブロック制御回路1から与えられるブロック内クロック20(ローカルクロック)により制御され、入力データ4に所定の処理を施して出力データ5として出力するが、処理ブロック2は、複数のサブブロック21に分割されている。
【0024】
そして、図2に示すように全てのサブブロック21においては、処理の終了を検知する機能をそれぞれ有し、処理の終了した時点においてブロック内クロック20にそれぞれ同期してコンプリート信号22を出力する機能を有している。
【0025】
なお、コンプリート信号22は、処理ブロック2内の処理の終了をローカルブロック制御回路1に検知させるための信号であるので、その処理が処理ブロック2内の処理に明らかに影響を与えないサブブロック21については、コンプリート信号22を敢えてローカルブロック制御回路1へ出力しなくても良い。
【0026】
さらに、上記のような、サブブロック21に関しては、コンプリート信号22を終了検知以外に使用しない場合には、コンプリート信号22を生成しなくても良い。
【0027】
また、常に動作しているサブブロック21に関しては、コンプリート信号22を生成せずとも良いことは言うまでもない。
【0028】
なお、処理ブロック2の回路規模は、ブロック内クロック20を処理ブロック2内に分配する際、ブロック内クロック20のクロックスキュー管理が容易に行える物理的領域内に収まる程度の回路規模を想定している。すなわち、クロックスキュー管理の目安は、一般的に周期の5%以下とされている。従って、例えば、5GHzの動作周波数を想定した場合、周期は200pSECとなり、クロックスキュー管理の目安は10pSECとなって、これはトランジスタ数にして1000個程度となる。なお、高速化されるほど処理ブロック2の回路規模は小さくなる。
【0029】
ローカルブロック制御回路1は、処理ブロック2より出力された複数のコンプリート信号22を受ける終了検知部12と、終了検知部12から出力されるエンド信号13、システムクロック10、ハンドシェイク制御信号6を受け、システムクロック10を処理ブロック2へ供給するか否かを決定する負論理のストップ信号14を生成する転送制御部11と、転送制御部11から出力される負論理のストップ信号14とシステムクロック10とに基づいて、ブロック内クロック20を生成する論理ANDゲート15と、ハンドシェイク制御信号6の1つである出力側要求応答信号64をドライブして、負論理のリセット信号25として処理ブロック2に与えるドライバ16とを備えている。
【0030】
論理ANDゲート15は、システムクロック10を負論理のストップ信号14に基づいてブロック内クロック20として処理ブロック2に与えるか否かを制御し、システムクロック10を与えない場合にはブロック内クロック20の値を固定する(本実施の形態では0に固定する)ための構成であるので、同様の機能を有するゲート手段であれば論理ANDゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0031】
<A−2.装置動作>
以下、図1および図2を参照しつつ、図3に示すタイミングチャートを用いて、ローカルブロック制御回路1による自己同期型ハンドシェイクによるデータ転送動作の一例について説明する。
【0032】
ここで、ハンドシェイク制御信号6は、ある特定の処理ブロック2に着目した場合、当該処理ブロック2の出力データ5を与える後段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを出力側と呼称)に対して、データを転送したいという要求を示す出力側転送要求信号62、出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号64、上記特定の処理ブロック2に入力データ4を与える前段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを入力側と呼称)から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号61、入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号63を含んでいる。
【0033】
図3に示すように、入力データ4が与えられた後、入力側からの入力側転送要求信号61がアサート(0→1)された時、出力側転送要求信号62がネゲート状態(0)であれば、出力側へのデータ転送が完了しているので、転送制御部11はシステムクロック10の立ち下がりのタイミングで、負論理のストップ信号14を解除(0→1)する。
【0034】
これによりシステムクロック10が論理ANDゲート15を介して処理ブロック2にブロック内クロック20として供給され、処理ブロック20内において入力データ4に対する所定の処理が開始する。なお、ブロック内クロック20は以下に示すように処理に応じて必要な個数のパルスが与えられるように構成されており、当該パルス数は可変である。
【0035】
処理ブロック20内での処理の進行に応じて(処理に必要な時間が経過した後)処理ブロック20内の各サブブロック21における処理が順次終了し、処理を終了したサブブロック21においては、ブロック内クロック20に同期してコンプリート信号22がアサート(0→1)される。
【0036】
コンプリート信号22は順次、終了検知部12に与えられ、終了検知部12では、全てのコンプリート信号22のアサートを検知したした時点でエンド信号13をアサート(0→1)する。
【0037】
転送制御部11では、エンド信号13のアサートを受け、システムクロック10の立ち下がりのタイミングで負論理のストップ信号14をアサート(1→0)するとともに、入力側に与える負論理の入力側要求応答信号63をアサート(1→0)して入力側からのデータ転送要求に応答したことを示し、かつ、出力側への出力側転送要求信号62をアサート(0→1)して出力側に対してデータを転送したいという要求を示す。
【0038】
この動作により処理ブロック2への論理ANDゲート15を介してのシステムクロック10の供給が停止され、処理ブロック2の処理が停止する。
【0039】
また、入力側に与える負論理の入力側要求応答信号63がアサート(1→0)されることにより、入力側から与えられる入力側転送要求信号61がネゲート(1→0)され、入力側(の処理ブロック2)においてはデータの出力が保留される。
【0040】
転送制御部11では、入力側転送要求信号61がネゲートされたことを受けて負論理の入力側要求応答信号63を解除(0→1)し、さらにシステムクロック10の立ち下がりのタイミングでエンド信号13をネゲート(1→0)する。
【0041】
出力側(の処理ブロック2)において所定の処理が実施された後、出力側(のローカルブロック制御回路1)からの負論理の出力側要求応答信号64がアサート(1→0)された時、エンド信号13がネゲート状態(0)であれば、出力側へのデータ転送が完了しているので、転送制御部11は、システムクロック10の立ち下がりのタイミングで出力側転送要求信号62を解除(1→0)する。これを受けた出力側(ローカルブロック制御回路1)は、出力側要求応答信号64をネゲート(0→1)する。
【0042】
この負論理の出力側要求応答信号64のパルス信号をドライバ16でドライブし、負論理のリセット信号25として処理ブロック2内のリセットが必要な全てのサブブロック21へ分配することで、コンプリート信号22をリセット(1→0)することで、転送制御部11によ自己同期型ハンドシェイクによる一連のデータ転送が完了する。
【0043】
ここで、処理ブロック2からの出力信号であるコンプリート信号22およびこれに基づくエンド信号13はシステムクロック10(すなわちブロック内クロック20)に同期した信号となるが、負論理のストップ信号14もシステムクロック10に同期(上記では立ち下がりに同期)した信号とすることが望ましい。これは、論理ANDゲート15にてシステムクロック10をゲートする際に、ブロック内クロック20にヒゲ状の誤ったパルスを生じさせないためである。
【0044】
<A−3.効果>
以上説明したようにデータ処理システム100においては、内部を複数の処理ブロック2に分割することで制御範囲を局所領域に限定し、処理ブロック2内の管理(下位レベル管理)は、ローカルクロックであるブロック内クロック20によって同期制御している。そして、制御範囲が広領域に渡る処理ブロック2間の管理(上位レベル管理)は、ローカルブロック制御回路1による自己同期型ハンドシェイク制御を採用している。
【0045】
クロック同期制御を用いる場合、高速化に伴いクロックスキュー(クロック位相のずれ)の許容範囲が狭くなり管理が難しくなるだけでなく、制御すべき物理的領域が広いので、クロックスキュー管理がますます困難になるが、上記構成を採用することで、個々の処理ブロック2については制御範囲は局所領域に限定されるので、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。
【0046】
また、ローカルブロック制御回路1において、処理ブロック2の処理状態に関する情報を取得し、当該情報とシステムクロック10およびハンドシェイク制御信号6に基づいて生成される負論理のストップ信号14により、処理ブロック2の処理状態に応じて処理ブロック2に対するブロック内クロック20の供給および停止を制御するので、従来は必要であったクロックを制御するための複雑な回路が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0047】
また、制御範囲が広範囲に渡る処理ブロック2間の制御に関しては、ローカルブロック制御回路1による自己同期型ハンドシェイク制御を採用することで、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0048】
<B.実施の形態2>
図4に、本発明に係る実施の形態2のデータ処理システム200の構成を示す。なお、図1に示したデータ処理システム100と同一の構成については同一の符号を付し、重複する説明は省略する。
【0049】
<B−1.装置構成>
図4に示すように、データ処理システム200は、図1を用いて説明したデータ処理システム100の構成に加えて、外部の他のシステムとのインターフェースを行うための調停回路7をさらに備えている。
【0050】
調停回路7は、システムクロック10に同期したシステム制御信号8に基づいて、データ処理システム200と他のシステムとの間でのデータの送受信を行うインターフェース回路である。
【0051】
ここで、ある特定の処理ブロック2に着目した場合、その出力データ5を与える後段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを出力側と呼称)に対してデータを転送したいという要求を示す出力側転送要求信号62および出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号64を出力側ハンドシェイク制御信号66と総称する。
【0052】
また、上記特定の処理ブロック2に入力データ4を与える前段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを入力側と呼称)から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号61、および入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号63を入力側ハンドシェイク制御信号65と総称する。
【0053】
図4に示すように、調停回路7は、外部の他のシステム(図示せず)との間で、予め定めたシステム制御信号8の授受を行い、当該システム制御信号8に基づいて、入力側ハンドシェイク制御信号65および出力側ハンドシェイク制御信号66を作成し、データ処理システム200内のローカルブロック制御回路1に与える構成となっている。
【0054】
ここで、調停回路7に与えられる入力側ハンドシェイク制御信号65、出力側ハンドシェイク制御信号66およびシステム制御信号8の詳細を図5に示す。
【0055】
図5に示すように、システム制御信号8は、データ処理システム200が、外部の他のシステムに対してデータを出力したいという要求を示すバス要求信号81、バス要求信号81を受けた外部の他のシステムから与えられ、バス要求に応答することを示すバス要求応答信号82、外部の他のシステムから与えられ、データ処理システム200に対するデータの入力を完了したことを示すバスエンド信号83およびデータ処理システム200から出力される、データ入出力の状態を示すバスリード/ライト信号84で構成される。
【0056】
<B−2.装置動作>
データ処理システム200内でのデータ転送動作やハンドシェイク制御についてはデータ処理システム100と同じであるので説明は省略し、以下、図4および図5を参照しつつ、図6に示すタイミングチャートを用いて、調停回路7の動作についてのみ説明する。
【0057】
図6に示すように、システム制御信号8のうち、データ処理システム200に対して入力信号となるバス要求応答信号82およびバスエンド信号83は、システムクロック10の立ち上がりに同期して変化し、データ処理システム200に対して出力信号となる出力バス要求信号81およびバスリード/ライト信号84は、システムクロック10の立ち下がりに同期して変化する。
【0058】
一方、入力側ハンドシェイク信号65および出力側ハンドシェイク信号66はシステムクロック10とは非同期に変化する。
【0059】
<B−2−1.書き込み単独動作>
まず、データ処理システム200に対する書き込み単独動作(図6に示すタイミングチャートの前半部分)について説明する。
【0060】
バス要求信号81がネゲート状態(0)の場合、データ処理システム200の外部から与えられるバスエンド信号83がネゲート(1→0)されると、入力側転送要求信号61がネゲート状態(0)であることから、入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からはデータを転送する要求がないので、データを転送したいという要求を示す出力側転送要求信号62をアサート(0→1)し、データ処理システム200の外部に対しては、システムクロック10の立ち下がりのタイミングでバスリード/ライト信号84を0にして書き込み状態とする。
【0061】
なお、データ処理システム200に対するデータの書き込みは、バスリード/ライト信号84が0の状態にある期間に行われるが、当該期間はシステムクロック10のパルス数を変えることで処理に応じて任意に変更できる。
【0062】
そして、出力側の処理ブロック2での処理が完了することにより、当該処理ブロック2に付属するローカルブロック制御回路1から負論理の出力側要求応答信号64がアサート(1→0)され、出力側転送要求信号62をネゲート(1→0)するとともに、データ処理システム200の外部に対してはバスリード/ライト信号84を1として、読み出し状態とする。
【0063】
これにより、出力側から与えられる負論理の出力側要求応答信号64がネゲート(0→1)され、データ処理システム200の外部の他のシステムでは、読み出し状態への変化を受けてバスエンド信号83をアサート(0→1)することで一連の書き込み動作が終了する。
【0064】
<B−2−2.読み出し単独動作>
次に、データ処理システム200に対する読み出し単独動作(図6に示すタイミングチャートの後半部分)について説明する。
【0065】
バスリード/ライト信号84が読み出し状態(1)にある場合、入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がアサート(0→1)されると、データ処理システム200の外部の他のシステムに対するバス要求信号81をアサート(0→1)して、データを出力したいという要求を示す。
【0066】
このバス要求信号81のアサートに対して、データ処理システム200の外部の他のシステムは、バス要求応答信号82をアサート(0→1)することで、バス要求に応答することを示し、これを受けた調停回路7は、上記最終段の処理ブロック2に付属するローカルブロック制御回路1に与える負論理の入力側要求応答信号63をアサート(1→0)する。
【0067】
負論理の入力側要求応答信号63のアサートに対して、上記最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がネゲート(1→0)され、これを受けた調停回路7は、上記ローカルブロック制御回路1に与える負論理の入力側要求応答信号63をネゲート(0→1)するとともに、データ処理システム200の外部に対してのバス要求信号81をネゲート(1→0)する。
【0068】
バス要求信号81がネゲートされることで、データ処理システム200の外部の他のシステムからのバス要求応答信号82がネゲート(1→0)され、一連の読み出し動作が完了する。
【0069】
<B−2−3.書き込み−読み出しの交互動作>
次に、データ処理システム200に対する書き込み読み出しの交互動作(図6に示すタイミングチャートの中間部分)について説明する。
【0070】
先に説明した書き込み単独動作中に入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がアサート(0→1)された場合(入力側からのデータの出力要求があった場合)においては、バスリード/ライト信号84が書き込み状態(0)であるので、外部に対するバス要求信号81を所定期間はネゲート状態(0)に保持し、所定期間は読み出し動作を保留する。
【0071】
そして、バスリード/ライト信号84の読み出し状態(1)への変化を受けた後、システムクロック10の立ち下がりのタイミングで、外部に対するバス要求信号81をアサート(0→1)し、一連の読み出し動作を開始する。
【0072】
なお、この場合の読み出し動作も、先に説明した読み出し単独動作と同様である。
【0073】
次に、読み出し動作中にデータ処理システム200の外部の他のシステムから書き込み要求があった場合、バス要求信号81はアサート状態(1)であることから、データ処理システム200の外部の他のシステムにおいては、バスエンド信号83がアサート状態(1)に維持され、書き込み動作が保留される。
【0074】
そして、所定の読み出し動作が終了後、データ処理システム200の外部の他のシステムに対するバス要求信号81がネゲート(1→0)されることで、データ処理システム200の外部の他のシステムからのバスエンド信号83がネゲート(1→0)され、一連の書き込み動作が開始する。
【0075】
なお、この場合の書き込み動作も、先に説明した書き込み単独動作と同様である。
【0076】
<B−3.効果>
以上説明したようにデータ処理システム200においては、外部の他のシステムとのインターフェース回路として調停回路7を備え、外部の他のシステムとの間で直接に授受される制御信号に、システムクロック10に同期したシステム制御信号8を使用するので、クロック同期の他のシステム、例えば、従来から使用されている自己同期制御および非同期制御を用いた同期システムとのインターフェースを支障なく行うことができる。
【0077】
<C.変形例1>
以上説明した実施の形態1および2のデータ処理システム100および200において、処理ブロック2は、その内部が図2に示すように複数のサブブロック21に分割された構成を有していた。
【0078】
そして、全てのサブブロック21においてブロック内クロック20が与えられ、ブロック内クロック20に同期してコンプリート信号22を出力する構成となっていたが、図7に示す処理ブロック2Aのように、複数のサブブロック21において、当該サブブロック21から出力されるコンプリート信号22を用いて、ローカルブロック制御回路1から与えられるブロック内クロック20をゲートし、独自のサブブロック内クロック24を使用するようにしても良い。
【0079】
すなわち、図7に示すように、サブブロック21に論理ANDゲート23を付属させ、当該論理ANDゲート23の反転入力端子にはサブブロック21から出力されるコンプリート信号22を入力し、論理ANDゲート23の入力端子にはローカルブロック制御回路1から与えられるブロック内クロック20を入力するように構成する。そして、論理ANDゲート23の出力24をサブブロック21に与えるように構成する。
【0080】
このような構成を採ることで、ブロック内クロック20が論理ANDゲート23によりゲートされてサブブロック内クロック24となり、当該サブブロック内クロック24を用いてサブブロック21を制御することで、消費電力の制御をより細かく行うことが可能となる。
【0081】
すなわち、処理を完了してコンプリート信号22を出力したサブブロック21に対してブロック内クロック20を供給し続けることは消費電力の増加を招くので、コンプリート信号22を出力したサブブロック21に対してはブロック内クロック20の供給を停止することが望ましい。
【0082】
論理ANDゲート23は、所定の処理を完了してコンプリート信号22を出力したサブブロック21についてはブロック内クロック20をゲートして供給を停止し、コンプリート信号22が未出力の場合にはブロック内クロック20をサブブロック内クロック24として与えるように動作する。
【0083】
従って、コンプリート信号22を出力したサブブロック21に対してブロック内クロック20を供給しない分だけ消費電力を削減することができる。
【0084】
また、負論理のストップ信号14と同様に、サブブロック内クロック24の生成には、既に存在するコンプリート信号22を用いれば良いので、クロックを制御するための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0085】
ここで、ブロック内クロック20を供給しない場合には、サブブロック内クロック24の値を固定する(本実施の形態では0に固定)という機能も有する。
【0086】
なお、処理ブロック2Aを構成する全てのサブブロック21に対して論理ANDゲート23を接続する必要はなく、例えば、常に動作させる必要のあるサブブロック21や、規模的に小さく、動作完了後にサブブロック内クロック24を停止しても消費電力の低減効果の小さいサブブロック21については、ブロック内クロック20を直接に供給する構成としても良い。
【0087】
論理ANDゲート23は、ブロック内クロック20をコンプリート信号22に基づいてサブブロック内クロック24としてサブブロック21に与えるか否かを制御し、サブブロック内クロック24を与えない場合にはサブブロック内クロック24の値を固定するための構成であるので、同様の機能を有するゲート手段であれば論理ANDゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0088】
<D.変形例2>
消費電力のさらなる低減という観点に立てば、図8に示す処理ブロック2Bのように、電源VDの供給ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行うようにしても良い。
【0089】
すなわち、終了検知部12で、全てのコンプリート信号22のアサートを検知すると、エンド信号13をアサートし、ストップ信号14がアサート(1→0)される。この時には、オフ状態となるようにスイッチ7を構成しておけば、処理ブロック2Bへの電力供給が停止し、処理ブロック2Bでの電力消費を低減できる。
【0090】
なお、ストップ信号14が解除状態(1)である場合は、スイッチ7をオン状態とし、処理ブロック2Bに電力を供給しておく。
【0091】
このように、負論理のバーストップ信号14により、処理ブロック単位で電源をオン/オフさせることで、処理ブロック2Bの電流源を完全に遮断できるので、処理ブロック2Bの動作が不要な場合には電力消費をゼロにすることが可能となり、消費電力の低減効果が大きくなる。
【0092】
また、大きな省電力効果を得るための制御信号として、負論理のストップ信号14を用いれば良いので、上記制御信号を得るための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0093】
また、図8の構成は、図2を用いて説明したデータ処理システム100と基本的に同じであり、処理ブロック2Bが動作中の場合は、コンプリート信号22によるサブブロック21単位でのクロック制御がなされているので、処理ブロック2Bの動作中も消費電力が低減されており、処理ブロック2Bでの処理中はサブブロック21単位のクロック制御による省電力化、処理ブロック2Bの処理終了後は処理ブロック単位での電源制御による省電力化というように、2段階の省電力化が図られることとなり、省電力効果がより大きくなる。
【0094】
なお、処理ブロック単位での電源制御という観点に立てば、図9に示す処理ブロック2Cのように、接地(GND)ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行うようにしても良い。
【0095】
この場合もスイッチ7をオフ状態にすれば、処理ブロック2Cへの電力供給が停止し、処理ブロック2Cでの電力消費を低減できる。
【0096】
<E.変形例3>
また、図8および図9に示した構成においては、処理ブロック2Bおよび2Cに対して、ブロック内クロック20を与える構成を示したが、図10および図11に示すローカルブロック制御回路1Aのように、ブロック内クロックとしてシステムクロック10を直接与えるようにしても良い。
【0097】
すなわち、図8および図9に示すように、ブロック内クロック20の供給と電源の供給は、同じ負論理のストップ信号14により制御されていることから、ブロック内クロック20の停止中は、電源供給も停止していることになり、ブロック内クロック20の制御の有無に関わらず省電力効果を得られる。換言すれば、電源制御による消費電力の削減効果は、クロック制御による削減効果よりも大きいため、クロック制御を実施しなくても良いと言える。
【0098】
さらに言えば、クロック制御を行わないのであれば、システムクロック10をゲートする論理ANDゲート15が不要となり、回路削減が可能となる。
【0099】
<F.変形例4>
図8〜図11を用いて説明した構成においては、電源の供給ラインあるいは接地ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行う構成を示したが、図12に示す処理ブロック2Dのように、コンプリート信号22を出力する全てのサブブロック21に対して、信号固定回路26を接続した構成とし、ストップ信号14によるスイッチ7の切断時(オフ時)には信号固定回路26により、コンプリート信号22の電位をコンプリート、すなわち「1」に固定するようにしても良い。
【0100】
このように、スイッチ7による処理ブロックの電源切断時に、コンプリート信号22の電位を確定した値、例えば「1」に固定することで、終了検知部12の誤動作を防ぐとともに、終了検知部12での不定信号入力による貫通電流の発生を防止することができる。
【0101】
なお、信号固定回路26の構成としては、例えば、図13に示す構成を採用すれば良い。すなわち、信号固定回路26は、入力の一方が負論理入力となった論理ORゲート27を使用し、論理ORゲート27の負論理入力にはストップ信号14を、他方の入力にはサブブロック21の出力信号を与える。また、同様の機能を有するゲート手段であれば論理ORゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0102】
また、以上の説明した処理ブロック2Dでは、電源ラインにスイッチ7を備えた構成を示したが、接地ラインにスイッチ7を備えた構成であっても適用可能である。
【0103】
なお、以上説明した本発明に係るデータ処理システムは、マイクロプロセッサ、特に、画像処理用のマイクロプロセッサや、通信用のマイクロプロセッサへの適用が可能である。また、図1に示すデータ処理システム100および図4に示すデータ処理システム200は、それぞれLSIとしてシングルチップを構成することもできるし、複数のデータ処理システムを1つのチップ上に備えた構成とすることもできる。
【0104】
【発明の効果】
本発明に係る請求項1記載のデータ処理システムによれば、ブロック制御回路が、対応する処理ブロックをクロック同期により制御するので、制御範囲は局所領域に限定され、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。また、制御範囲が広範囲に渡る処理ブロック間のデータ転送は、自己同期型ハンドシェイクにより制御するので、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【図面の簡単な説明】
【図1】本発明に係る実施の形態1のデータ処理システムの全体構成を示すブロック図である。
【図2】本発明に係る実施の形態1のデータ処理システムの部分構成を示すブロック図である。
【図3】本発明に係る実施の形態1のデータ処理システムの動作を説明するタイミングチャートである。
【図4】本発明に係る実施の形態2のデータ処理システムの全体構成を示すブロック図である。
【図5】調停回路の取り扱う種々の信号を説明するブロック図である。
【図6】調停回路の動作を説明するタイミングチャートである。
【図7】本発明に係る変形例1の構成を示すブロック図である。
【図8】本発明に係る変形例2の構成を示すブロック図である。
【図9】本発明に係る変形例2の構成を示すブロック図である。
【図10】本発明に係る変形例3の構成を示すブロック図である。
【図11】本発明に係る変形例3の構成を示すブロック図である。
【図12】本発明に係る変形例3の構成を示すブロック図である。
【図13】本発明に係る変形例3の構成を示すブロック図である。
【符号の説明】
1 ローカルブロック制御回路、2 処理ブロック、4 入力データ、5 出力データ、6 ハンドシェイク制御信号、7 調停回路、8 システム制御信号、10 システムクロック、13 エンド信号、14 ストップ信号、20 ブロック内クロック、22 コンプリート信号、24 サブブロック内クロック、61 入力側転送要求信号、62 出力側転送要求信号、63 入力側要求応答信号、64 入力側要求応答信号、65 入力側ハンドシェイク制御信号、66出力側ハンドシェイク制御信号、81 バス要求信号、82 バス要求応答信号、83 バスエンド信号、84 バスリード/ライト信号。
【発明の属する技術分野】
本発明はデータ処理システムに関し、特に、内部を複数の処理ブロックに分割し、処理ブロック間の制御を自己同期的に行うデータ処理システムに関する。
【0002】
【従来の技術】
データ処理システムの制御は、基本的に単一のシステムクロックに同期して行われるが、データ処理システムを複数の処理ブロックに分割して全体の処理を実行する装置においては、処理ブロック内、および処理ブロック間の同期信号であるクロックに対して、クロックスキューを特定の基準値以下に制御する必要がある。
【0003】
ここで、昨今のシステムの動作速度の高速化およびシステムの大規模化に伴う物理的な制御領域の広がりに伴い、クロックスキューに対する基準値が低下するなど、ますます厳しい状況となり、基準値以下のクロックスキューを実現することが困難になってきている。
【0004】
そこで、基準値以下のクロックスキューを実現するための種々の手法が、以下の非特許文献1〜4に記載されている。
【0005】
すなわち、非特許文献1には、各処理ブロックへ供給するクロックラインに対して、等長配線のツリー構造を採用し、クロック生成源から各処理ブロックへの遅延値が等しくなるように管理する手法が記載されている。
【0006】
また、非特許文献2には、クロック管理領域を局所領域に限定したブロックレベルでのクロック管理とこれらのブロック間でのクロック管理とで階層的に管理し、ブロック間でのクロック管理においてクロック生成源に設けた遅延調整回路により遅延値を調整する手法が記載されている。
【0007】
そして、非特許文献3および4には、ブロックレベルとブロック間とで階層的にクロック管理する手法においてブロック間でのクロック位相調整にDLL(Delay Locked Loop)回路を用いる手法が記載されている。
【0008】
これらの手法は、何れも領域を限定したブロック内(下位レベル)管理と、ブロック間(上位レベル)管理との2段階の階層でクロック管理を施すものであり、管理がより困難な上位レベルのクロック管理に「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」等を施している。
【0009】
また、特定の処理ブロック対して、消費電力の低減を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成し、この制御信号によりクロックや電源の供給をオン/オフさせていた。
【0010】
【非特許文献1】
ブライアン・カラン(Brian Curran) 他 ISSCC 2001 プロシーディング 15.5 「A1.1GHz ファースト64bジェネレーションZ900マイクロプロセッサ」(A1.1GHz First 64b Generation Z900 Microprocesso r) p.238−239,454
【非特許文献2】
Hidehiro TAKATA 他 IEICEオンエレクトロニクス (IEICE on Electro nics)「フィジカルデザインメソッドロジィ フォー オンチップ64−M b DRAM MPEG−2エンコーディング ウイズ ア マルチメディアプロセッサ」(Phiysical Design Methodology for On−Chip 64−Mb DRAM MPEG− 2 Encoding with a Multimedia Processor) VOL.E85−C No.2 Feb.200 2 p.368−374
【非特許文献3】
Kouichi Yamaguchi 他 ISSCC 2001 プロシーディング 25.4 「2.5GHz 4−フェーズクロックジェネレータ ウイズ スケーラブル アンド ノーフィードバックループ アーキテクチャ」(2.5GHz 4−phase Clock Gen erator with Scalable and No Feedback Loop Architecture) p.398− 399,326−327
【非特許文献4】
スキダイデス・ザンソポーロス(Thucydides Xanthopoulos) 他 ISSCC 2001 プロシーディング 25.6 「ザ デザイン アンド アナライシス オブ ザ クロックディストリビューションネットワーク フォー ア 1.2GHz アルファ マイクロプロセッサ」(The Design and Analysis of the Clock Distribution Network for a 1.2GHz Alpha Microproc essor) p.402−403,330−331
【0011】
【発明が解決しようとする課題】
以上説明したように、システムの制御を単一のクロックに同期させて制御する装置においては、クロックスキューを所定の基準値以下へ抑える手法として、従来から、ブロック単位の下位レベルとブロック間の上位レベルとで階層的にクロックスキューを管理する手法が用いられている。
【0012】
下位レベルにおけるクロックの位相差管理は、その領域を狭めることで比較的容易に実現可能であるのに対して、上位レベルにおけるクロックの位相差管理は、管理すべき領域が広範囲に渡ることからより困難で、「等長配線のツリー構造」、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」等の手法が採られてきた。
【0013】
これらの手法は、各ブロックへ分配するクロック経路の最適化を図る必要があり、設計、検証、解析に多大な労力が必要である。
【0014】
さらに、「遅延調整回路による遅延値調整」、「DLLによるクロック位相調整」に関しては、遅延調整回路、DLL等が必要となり、回路規模が大きくなるだけでなく、これらの回路のチューニングも必要で、設計期間が増加することになる。
【0015】
また、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合、クロックや電源の供給停止条件を満たす制御信号を生成させる必要が生じる。
【0016】
本発明は上記のような問題点を解消するためになされたもので、上位レベルのクロック位相管理において、各ブロックへ分配するクロック経路の最適化を不要とすると共に、回路規模の増大を抑制し、また回路チューニングによる設計期間の増加を最小限に抑えることが可能な自己同期型ブロック処理装置を得るとともに、特定の処理ブロックに対して、低消費電力を目的にクロックや電源の供給を停止させようとする場合において、クロックや電源の供給停止のための制御信号の生成を不要とする構成を合わせて得ることを目的とする。
【0017】
【課題を解決するための手段】
本発明に係る請求項1記載のデータ処理システムは、データが複数の処理ブロックを経由することで処理されるデータ処理システムであって、前記データ処理システムは、前記複数の処理ブロックのそれぞれに対応して設けられた複数のブロック制御回路を備え、前記複数のブロック制御回路は、それぞれが対応する処理ブロックをクロック同期により制御するとともに、他のブロック制御回路との間でハンドシェイク制御信号を授受することで、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する。
【0018】
【発明の実施の形態】
<A.実施の形態1>
図1に、本発明に係る実施の形態1のデータ処理システム100の構成を示す。
【0019】
<A−1.装置構成>
図1に示すように、データ処理システム100は、複数の処理ブロック2に分割され、各処理ブロック2にはそれぞれローカルブロック制御回路1が付属している。
【0020】
各ローカルブロック制御回路1には、データ処理システム100の外部からシステムクロック10が与えられ、ローカルブロック制御回路1間では、ハンドシェイク制御信号6が授受され、システムクロック10に同期して複数の処理ブロック2間のデータ転送を自己同期型ハンドシェイクにより制御する構成となっている。なお、自己同期型ハンドシェイク制御とはリクエスト(要求)およびアクノリッジ(応答)などの制御信号でデータの転送ごとに確認をとりながらデータの転送を行う方式である。
【0021】
なお、データ処理システム100においては、何れかの処理ブロック2においてデータ処理システム100の外部から入力データ4を受け、所定の処理を施して次の処理ブロック2に与えように構成され、最終的には、何れかの処理ブロック2から外部に出力データ5を出力する構成となっている。
【0022】
次に、図2を用いて、ローカルブロック制御回路1および、当該制御回路1により制御される処理ブロック2の構成について説明する。
【0023】
図2に示すように処理ブロック2は、ローカルブロック制御回路1から与えられるブロック内クロック20(ローカルクロック)により制御され、入力データ4に所定の処理を施して出力データ5として出力するが、処理ブロック2は、複数のサブブロック21に分割されている。
【0024】
そして、図2に示すように全てのサブブロック21においては、処理の終了を検知する機能をそれぞれ有し、処理の終了した時点においてブロック内クロック20にそれぞれ同期してコンプリート信号22を出力する機能を有している。
【0025】
なお、コンプリート信号22は、処理ブロック2内の処理の終了をローカルブロック制御回路1に検知させるための信号であるので、その処理が処理ブロック2内の処理に明らかに影響を与えないサブブロック21については、コンプリート信号22を敢えてローカルブロック制御回路1へ出力しなくても良い。
【0026】
さらに、上記のような、サブブロック21に関しては、コンプリート信号22を終了検知以外に使用しない場合には、コンプリート信号22を生成しなくても良い。
【0027】
また、常に動作しているサブブロック21に関しては、コンプリート信号22を生成せずとも良いことは言うまでもない。
【0028】
なお、処理ブロック2の回路規模は、ブロック内クロック20を処理ブロック2内に分配する際、ブロック内クロック20のクロックスキュー管理が容易に行える物理的領域内に収まる程度の回路規模を想定している。すなわち、クロックスキュー管理の目安は、一般的に周期の5%以下とされている。従って、例えば、5GHzの動作周波数を想定した場合、周期は200pSECとなり、クロックスキュー管理の目安は10pSECとなって、これはトランジスタ数にして1000個程度となる。なお、高速化されるほど処理ブロック2の回路規模は小さくなる。
【0029】
ローカルブロック制御回路1は、処理ブロック2より出力された複数のコンプリート信号22を受ける終了検知部12と、終了検知部12から出力されるエンド信号13、システムクロック10、ハンドシェイク制御信号6を受け、システムクロック10を処理ブロック2へ供給するか否かを決定する負論理のストップ信号14を生成する転送制御部11と、転送制御部11から出力される負論理のストップ信号14とシステムクロック10とに基づいて、ブロック内クロック20を生成する論理ANDゲート15と、ハンドシェイク制御信号6の1つである出力側要求応答信号64をドライブして、負論理のリセット信号25として処理ブロック2に与えるドライバ16とを備えている。
【0030】
論理ANDゲート15は、システムクロック10を負論理のストップ信号14に基づいてブロック内クロック20として処理ブロック2に与えるか否かを制御し、システムクロック10を与えない場合にはブロック内クロック20の値を固定する(本実施の形態では0に固定する)ための構成であるので、同様の機能を有するゲート手段であれば論理ANDゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0031】
<A−2.装置動作>
以下、図1および図2を参照しつつ、図3に示すタイミングチャートを用いて、ローカルブロック制御回路1による自己同期型ハンドシェイクによるデータ転送動作の一例について説明する。
【0032】
ここで、ハンドシェイク制御信号6は、ある特定の処理ブロック2に着目した場合、当該処理ブロック2の出力データ5を与える後段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを出力側と呼称)に対して、データを転送したいという要求を示す出力側転送要求信号62、出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号64、上記特定の処理ブロック2に入力データ4を与える前段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを入力側と呼称)から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号61、入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号63を含んでいる。
【0033】
図3に示すように、入力データ4が与えられた後、入力側からの入力側転送要求信号61がアサート(0→1)された時、出力側転送要求信号62がネゲート状態(0)であれば、出力側へのデータ転送が完了しているので、転送制御部11はシステムクロック10の立ち下がりのタイミングで、負論理のストップ信号14を解除(0→1)する。
【0034】
これによりシステムクロック10が論理ANDゲート15を介して処理ブロック2にブロック内クロック20として供給され、処理ブロック20内において入力データ4に対する所定の処理が開始する。なお、ブロック内クロック20は以下に示すように処理に応じて必要な個数のパルスが与えられるように構成されており、当該パルス数は可変である。
【0035】
処理ブロック20内での処理の進行に応じて(処理に必要な時間が経過した後)処理ブロック20内の各サブブロック21における処理が順次終了し、処理を終了したサブブロック21においては、ブロック内クロック20に同期してコンプリート信号22がアサート(0→1)される。
【0036】
コンプリート信号22は順次、終了検知部12に与えられ、終了検知部12では、全てのコンプリート信号22のアサートを検知したした時点でエンド信号13をアサート(0→1)する。
【0037】
転送制御部11では、エンド信号13のアサートを受け、システムクロック10の立ち下がりのタイミングで負論理のストップ信号14をアサート(1→0)するとともに、入力側に与える負論理の入力側要求応答信号63をアサート(1→0)して入力側からのデータ転送要求に応答したことを示し、かつ、出力側への出力側転送要求信号62をアサート(0→1)して出力側に対してデータを転送したいという要求を示す。
【0038】
この動作により処理ブロック2への論理ANDゲート15を介してのシステムクロック10の供給が停止され、処理ブロック2の処理が停止する。
【0039】
また、入力側に与える負論理の入力側要求応答信号63がアサート(1→0)されることにより、入力側から与えられる入力側転送要求信号61がネゲート(1→0)され、入力側(の処理ブロック2)においてはデータの出力が保留される。
【0040】
転送制御部11では、入力側転送要求信号61がネゲートされたことを受けて負論理の入力側要求応答信号63を解除(0→1)し、さらにシステムクロック10の立ち下がりのタイミングでエンド信号13をネゲート(1→0)する。
【0041】
出力側(の処理ブロック2)において所定の処理が実施された後、出力側(のローカルブロック制御回路1)からの負論理の出力側要求応答信号64がアサート(1→0)された時、エンド信号13がネゲート状態(0)であれば、出力側へのデータ転送が完了しているので、転送制御部11は、システムクロック10の立ち下がりのタイミングで出力側転送要求信号62を解除(1→0)する。これを受けた出力側(ローカルブロック制御回路1)は、出力側要求応答信号64をネゲート(0→1)する。
【0042】
この負論理の出力側要求応答信号64のパルス信号をドライバ16でドライブし、負論理のリセット信号25として処理ブロック2内のリセットが必要な全てのサブブロック21へ分配することで、コンプリート信号22をリセット(1→0)することで、転送制御部11によ自己同期型ハンドシェイクによる一連のデータ転送が完了する。
【0043】
ここで、処理ブロック2からの出力信号であるコンプリート信号22およびこれに基づくエンド信号13はシステムクロック10(すなわちブロック内クロック20)に同期した信号となるが、負論理のストップ信号14もシステムクロック10に同期(上記では立ち下がりに同期)した信号とすることが望ましい。これは、論理ANDゲート15にてシステムクロック10をゲートする際に、ブロック内クロック20にヒゲ状の誤ったパルスを生じさせないためである。
【0044】
<A−3.効果>
以上説明したようにデータ処理システム100においては、内部を複数の処理ブロック2に分割することで制御範囲を局所領域に限定し、処理ブロック2内の管理(下位レベル管理)は、ローカルクロックであるブロック内クロック20によって同期制御している。そして、制御範囲が広領域に渡る処理ブロック2間の管理(上位レベル管理)は、ローカルブロック制御回路1による自己同期型ハンドシェイク制御を採用している。
【0045】
クロック同期制御を用いる場合、高速化に伴いクロックスキュー(クロック位相のずれ)の許容範囲が狭くなり管理が難しくなるだけでなく、制御すべき物理的領域が広いので、クロックスキュー管理がますます困難になるが、上記構成を採用することで、個々の処理ブロック2については制御範囲は局所領域に限定されるので、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。
【0046】
また、ローカルブロック制御回路1において、処理ブロック2の処理状態に関する情報を取得し、当該情報とシステムクロック10およびハンドシェイク制御信号6に基づいて生成される負論理のストップ信号14により、処理ブロック2の処理状態に応じて処理ブロック2に対するブロック内クロック20の供給および停止を制御するので、従来は必要であったクロックを制御するための複雑な回路が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0047】
また、制御範囲が広範囲に渡る処理ブロック2間の制御に関しては、ローカルブロック制御回路1による自己同期型ハンドシェイク制御を採用することで、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0048】
<B.実施の形態2>
図4に、本発明に係る実施の形態2のデータ処理システム200の構成を示す。なお、図1に示したデータ処理システム100と同一の構成については同一の符号を付し、重複する説明は省略する。
【0049】
<B−1.装置構成>
図4に示すように、データ処理システム200は、図1を用いて説明したデータ処理システム100の構成に加えて、外部の他のシステムとのインターフェースを行うための調停回路7をさらに備えている。
【0050】
調停回路7は、システムクロック10に同期したシステム制御信号8に基づいて、データ処理システム200と他のシステムとの間でのデータの送受信を行うインターフェース回路である。
【0051】
ここで、ある特定の処理ブロック2に着目した場合、その出力データ5を与える後段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを出力側と呼称)に対してデータを転送したいという要求を示す出力側転送要求信号62および出力側から与えられ、データ転送要求に応答したことを示す負論理の出力側要求応答信号64を出力側ハンドシェイク制御信号66と総称する。
【0052】
また、上記特定の処理ブロック2に入力データ4を与える前段の処理ブロック2に付属するローカルブロック制御回路1または外部の他のシステム(以後、これを入力側と呼称)から与えられ、入力側からデータを転送したいという要求があることを示す入力側転送要求信号61、および入力側からのデータ転送要求に応答したことを示す負論理の入力側要求応答信号63を入力側ハンドシェイク制御信号65と総称する。
【0053】
図4に示すように、調停回路7は、外部の他のシステム(図示せず)との間で、予め定めたシステム制御信号8の授受を行い、当該システム制御信号8に基づいて、入力側ハンドシェイク制御信号65および出力側ハンドシェイク制御信号66を作成し、データ処理システム200内のローカルブロック制御回路1に与える構成となっている。
【0054】
ここで、調停回路7に与えられる入力側ハンドシェイク制御信号65、出力側ハンドシェイク制御信号66およびシステム制御信号8の詳細を図5に示す。
【0055】
図5に示すように、システム制御信号8は、データ処理システム200が、外部の他のシステムに対してデータを出力したいという要求を示すバス要求信号81、バス要求信号81を受けた外部の他のシステムから与えられ、バス要求に応答することを示すバス要求応答信号82、外部の他のシステムから与えられ、データ処理システム200に対するデータの入力を完了したことを示すバスエンド信号83およびデータ処理システム200から出力される、データ入出力の状態を示すバスリード/ライト信号84で構成される。
【0056】
<B−2.装置動作>
データ処理システム200内でのデータ転送動作やハンドシェイク制御についてはデータ処理システム100と同じであるので説明は省略し、以下、図4および図5を参照しつつ、図6に示すタイミングチャートを用いて、調停回路7の動作についてのみ説明する。
【0057】
図6に示すように、システム制御信号8のうち、データ処理システム200に対して入力信号となるバス要求応答信号82およびバスエンド信号83は、システムクロック10の立ち上がりに同期して変化し、データ処理システム200に対して出力信号となる出力バス要求信号81およびバスリード/ライト信号84は、システムクロック10の立ち下がりに同期して変化する。
【0058】
一方、入力側ハンドシェイク信号65および出力側ハンドシェイク信号66はシステムクロック10とは非同期に変化する。
【0059】
<B−2−1.書き込み単独動作>
まず、データ処理システム200に対する書き込み単独動作(図6に示すタイミングチャートの前半部分)について説明する。
【0060】
バス要求信号81がネゲート状態(0)の場合、データ処理システム200の外部から与えられるバスエンド信号83がネゲート(1→0)されると、入力側転送要求信号61がネゲート状態(0)であることから、入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からはデータを転送する要求がないので、データを転送したいという要求を示す出力側転送要求信号62をアサート(0→1)し、データ処理システム200の外部に対しては、システムクロック10の立ち下がりのタイミングでバスリード/ライト信号84を0にして書き込み状態とする。
【0061】
なお、データ処理システム200に対するデータの書き込みは、バスリード/ライト信号84が0の状態にある期間に行われるが、当該期間はシステムクロック10のパルス数を変えることで処理に応じて任意に変更できる。
【0062】
そして、出力側の処理ブロック2での処理が完了することにより、当該処理ブロック2に付属するローカルブロック制御回路1から負論理の出力側要求応答信号64がアサート(1→0)され、出力側転送要求信号62をネゲート(1→0)するとともに、データ処理システム200の外部に対してはバスリード/ライト信号84を1として、読み出し状態とする。
【0063】
これにより、出力側から与えられる負論理の出力側要求応答信号64がネゲート(0→1)され、データ処理システム200の外部の他のシステムでは、読み出し状態への変化を受けてバスエンド信号83をアサート(0→1)することで一連の書き込み動作が終了する。
【0064】
<B−2−2.読み出し単独動作>
次に、データ処理システム200に対する読み出し単独動作(図6に示すタイミングチャートの後半部分)について説明する。
【0065】
バスリード/ライト信号84が読み出し状態(1)にある場合、入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がアサート(0→1)されると、データ処理システム200の外部の他のシステムに対するバス要求信号81をアサート(0→1)して、データを出力したいという要求を示す。
【0066】
このバス要求信号81のアサートに対して、データ処理システム200の外部の他のシステムは、バス要求応答信号82をアサート(0→1)することで、バス要求に応答することを示し、これを受けた調停回路7は、上記最終段の処理ブロック2に付属するローカルブロック制御回路1に与える負論理の入力側要求応答信号63をアサート(1→0)する。
【0067】
負論理の入力側要求応答信号63のアサートに対して、上記最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がネゲート(1→0)され、これを受けた調停回路7は、上記ローカルブロック制御回路1に与える負論理の入力側要求応答信号63をネゲート(0→1)するとともに、データ処理システム200の外部に対してのバス要求信号81をネゲート(1→0)する。
【0068】
バス要求信号81がネゲートされることで、データ処理システム200の外部の他のシステムからのバス要求応答信号82がネゲート(1→0)され、一連の読み出し動作が完了する。
【0069】
<B−2−3.書き込み−読み出しの交互動作>
次に、データ処理システム200に対する書き込み読み出しの交互動作(図6に示すタイミングチャートの中間部分)について説明する。
【0070】
先に説明した書き込み単独動作中に入力側、この場合は、データ処理システム200内の最終段の処理ブロック2に付属するローカルブロック制御回路1からの入力側転送要求信号61がアサート(0→1)された場合(入力側からのデータの出力要求があった場合)においては、バスリード/ライト信号84が書き込み状態(0)であるので、外部に対するバス要求信号81を所定期間はネゲート状態(0)に保持し、所定期間は読み出し動作を保留する。
【0071】
そして、バスリード/ライト信号84の読み出し状態(1)への変化を受けた後、システムクロック10の立ち下がりのタイミングで、外部に対するバス要求信号81をアサート(0→1)し、一連の読み出し動作を開始する。
【0072】
なお、この場合の読み出し動作も、先に説明した読み出し単独動作と同様である。
【0073】
次に、読み出し動作中にデータ処理システム200の外部の他のシステムから書き込み要求があった場合、バス要求信号81はアサート状態(1)であることから、データ処理システム200の外部の他のシステムにおいては、バスエンド信号83がアサート状態(1)に維持され、書き込み動作が保留される。
【0074】
そして、所定の読み出し動作が終了後、データ処理システム200の外部の他のシステムに対するバス要求信号81がネゲート(1→0)されることで、データ処理システム200の外部の他のシステムからのバスエンド信号83がネゲート(1→0)され、一連の書き込み動作が開始する。
【0075】
なお、この場合の書き込み動作も、先に説明した書き込み単独動作と同様である。
【0076】
<B−3.効果>
以上説明したようにデータ処理システム200においては、外部の他のシステムとのインターフェース回路として調停回路7を備え、外部の他のシステムとの間で直接に授受される制御信号に、システムクロック10に同期したシステム制御信号8を使用するので、クロック同期の他のシステム、例えば、従来から使用されている自己同期制御および非同期制御を用いた同期システムとのインターフェースを支障なく行うことができる。
【0077】
<C.変形例1>
以上説明した実施の形態1および2のデータ処理システム100および200において、処理ブロック2は、その内部が図2に示すように複数のサブブロック21に分割された構成を有していた。
【0078】
そして、全てのサブブロック21においてブロック内クロック20が与えられ、ブロック内クロック20に同期してコンプリート信号22を出力する構成となっていたが、図7に示す処理ブロック2Aのように、複数のサブブロック21において、当該サブブロック21から出力されるコンプリート信号22を用いて、ローカルブロック制御回路1から与えられるブロック内クロック20をゲートし、独自のサブブロック内クロック24を使用するようにしても良い。
【0079】
すなわち、図7に示すように、サブブロック21に論理ANDゲート23を付属させ、当該論理ANDゲート23の反転入力端子にはサブブロック21から出力されるコンプリート信号22を入力し、論理ANDゲート23の入力端子にはローカルブロック制御回路1から与えられるブロック内クロック20を入力するように構成する。そして、論理ANDゲート23の出力24をサブブロック21に与えるように構成する。
【0080】
このような構成を採ることで、ブロック内クロック20が論理ANDゲート23によりゲートされてサブブロック内クロック24となり、当該サブブロック内クロック24を用いてサブブロック21を制御することで、消費電力の制御をより細かく行うことが可能となる。
【0081】
すなわち、処理を完了してコンプリート信号22を出力したサブブロック21に対してブロック内クロック20を供給し続けることは消費電力の増加を招くので、コンプリート信号22を出力したサブブロック21に対してはブロック内クロック20の供給を停止することが望ましい。
【0082】
論理ANDゲート23は、所定の処理を完了してコンプリート信号22を出力したサブブロック21についてはブロック内クロック20をゲートして供給を停止し、コンプリート信号22が未出力の場合にはブロック内クロック20をサブブロック内クロック24として与えるように動作する。
【0083】
従って、コンプリート信号22を出力したサブブロック21に対してブロック内クロック20を供給しない分だけ消費電力を削減することができる。
【0084】
また、負論理のストップ信号14と同様に、サブブロック内クロック24の生成には、既に存在するコンプリート信号22を用いれば良いので、クロックを制御するための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0085】
ここで、ブロック内クロック20を供給しない場合には、サブブロック内クロック24の値を固定する(本実施の形態では0に固定)という機能も有する。
【0086】
なお、処理ブロック2Aを構成する全てのサブブロック21に対して論理ANDゲート23を接続する必要はなく、例えば、常に動作させる必要のあるサブブロック21や、規模的に小さく、動作完了後にサブブロック内クロック24を停止しても消費電力の低減効果の小さいサブブロック21については、ブロック内クロック20を直接に供給する構成としても良い。
【0087】
論理ANDゲート23は、ブロック内クロック20をコンプリート信号22に基づいてサブブロック内クロック24としてサブブロック21に与えるか否かを制御し、サブブロック内クロック24を与えない場合にはサブブロック内クロック24の値を固定するための構成であるので、同様の機能を有するゲート手段であれば論理ANDゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0088】
<D.変形例2>
消費電力のさらなる低減という観点に立てば、図8に示す処理ブロック2Bのように、電源VDの供給ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行うようにしても良い。
【0089】
すなわち、終了検知部12で、全てのコンプリート信号22のアサートを検知すると、エンド信号13をアサートし、ストップ信号14がアサート(1→0)される。この時には、オフ状態となるようにスイッチ7を構成しておけば、処理ブロック2Bへの電力供給が停止し、処理ブロック2Bでの電力消費を低減できる。
【0090】
なお、ストップ信号14が解除状態(1)である場合は、スイッチ7をオン状態とし、処理ブロック2Bに電力を供給しておく。
【0091】
このように、負論理のバーストップ信号14により、処理ブロック単位で電源をオン/オフさせることで、処理ブロック2Bの電流源を完全に遮断できるので、処理ブロック2Bの動作が不要な場合には電力消費をゼロにすることが可能となり、消費電力の低減効果が大きくなる。
【0092】
また、大きな省電力効果を得るための制御信号として、負論理のストップ信号14を用いれば良いので、上記制御信号を得るための複雑な回路等が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【0093】
また、図8の構成は、図2を用いて説明したデータ処理システム100と基本的に同じであり、処理ブロック2Bが動作中の場合は、コンプリート信号22によるサブブロック21単位でのクロック制御がなされているので、処理ブロック2Bの動作中も消費電力が低減されており、処理ブロック2Bでの処理中はサブブロック21単位のクロック制御による省電力化、処理ブロック2Bの処理終了後は処理ブロック単位での電源制御による省電力化というように、2段階の省電力化が図られることとなり、省電力効果がより大きくなる。
【0094】
なお、処理ブロック単位での電源制御という観点に立てば、図9に示す処理ブロック2Cのように、接地(GND)ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行うようにしても良い。
【0095】
この場合もスイッチ7をオフ状態にすれば、処理ブロック2Cへの電力供給が停止し、処理ブロック2Cでの電力消費を低減できる。
【0096】
<E.変形例3>
また、図8および図9に示した構成においては、処理ブロック2Bおよび2Cに対して、ブロック内クロック20を与える構成を示したが、図10および図11に示すローカルブロック制御回路1Aのように、ブロック内クロックとしてシステムクロック10を直接与えるようにしても良い。
【0097】
すなわち、図8および図9に示すように、ブロック内クロック20の供給と電源の供給は、同じ負論理のストップ信号14により制御されていることから、ブロック内クロック20の停止中は、電源供給も停止していることになり、ブロック内クロック20の制御の有無に関わらず省電力効果を得られる。換言すれば、電源制御による消費電力の削減効果は、クロック制御による削減効果よりも大きいため、クロック制御を実施しなくても良いと言える。
【0098】
さらに言えば、クロック制御を行わないのであれば、システムクロック10をゲートする論理ANDゲート15が不要となり、回路削減が可能となる。
【0099】
<F.変形例4>
図8〜図11を用いて説明した構成においては、電源の供給ラインあるいは接地ラインにスイッチ7を備え、当該スイッチ7のオン/オフ制御を、負論理のストップ信号14に基づいて行う構成を示したが、図12に示す処理ブロック2Dのように、コンプリート信号22を出力する全てのサブブロック21に対して、信号固定回路26を接続した構成とし、ストップ信号14によるスイッチ7の切断時(オフ時)には信号固定回路26により、コンプリート信号22の電位をコンプリート、すなわち「1」に固定するようにしても良い。
【0100】
このように、スイッチ7による処理ブロックの電源切断時に、コンプリート信号22の電位を確定した値、例えば「1」に固定することで、終了検知部12の誤動作を防ぐとともに、終了検知部12での不定信号入力による貫通電流の発生を防止することができる。
【0101】
なお、信号固定回路26の構成としては、例えば、図13に示す構成を採用すれば良い。すなわち、信号固定回路26は、入力の一方が負論理入力となった論理ORゲート27を使用し、論理ORゲート27の負論理入力にはストップ信号14を、他方の入力にはサブブロック21の出力信号を与える。また、同様の機能を有するゲート手段であれば論理ORゲートに限定されるものではなく、トランスファーゲート(トランスミッションゲート)等を用いても良い。
【0102】
また、以上の説明した処理ブロック2Dでは、電源ラインにスイッチ7を備えた構成を示したが、接地ラインにスイッチ7を備えた構成であっても適用可能である。
【0103】
なお、以上説明した本発明に係るデータ処理システムは、マイクロプロセッサ、特に、画像処理用のマイクロプロセッサや、通信用のマイクロプロセッサへの適用が可能である。また、図1に示すデータ処理システム100および図4に示すデータ処理システム200は、それぞれLSIとしてシングルチップを構成することもできるし、複数のデータ処理システムを1つのチップ上に備えた構成とすることもできる。
【0104】
【発明の効果】
本発明に係る請求項1記載のデータ処理システムによれば、ブロック制御回路が、対応する処理ブロックをクロック同期により制御するので、制御範囲は局所領域に限定され、クロックスキューの許容範囲が狭くなっても比較的容易に管理できる。また、制御範囲が広範囲に渡る処理ブロック間のデータ転送は、自己同期型ハンドシェイクにより制御するので、上位レベルのクロックスキュー管理において、各ブロックへ分配するクロック経路を最適化するなどの作業が不要となり、設計期間の短縮や、回路規模の増大を抑制できる。
【図面の簡単な説明】
【図1】本発明に係る実施の形態1のデータ処理システムの全体構成を示すブロック図である。
【図2】本発明に係る実施の形態1のデータ処理システムの部分構成を示すブロック図である。
【図3】本発明に係る実施の形態1のデータ処理システムの動作を説明するタイミングチャートである。
【図4】本発明に係る実施の形態2のデータ処理システムの全体構成を示すブロック図である。
【図5】調停回路の取り扱う種々の信号を説明するブロック図である。
【図6】調停回路の動作を説明するタイミングチャートである。
【図7】本発明に係る変形例1の構成を示すブロック図である。
【図8】本発明に係る変形例2の構成を示すブロック図である。
【図9】本発明に係る変形例2の構成を示すブロック図である。
【図10】本発明に係る変形例3の構成を示すブロック図である。
【図11】本発明に係る変形例3の構成を示すブロック図である。
【図12】本発明に係る変形例3の構成を示すブロック図である。
【図13】本発明に係る変形例3の構成を示すブロック図である。
【符号の説明】
1 ローカルブロック制御回路、2 処理ブロック、4 入力データ、5 出力データ、6 ハンドシェイク制御信号、7 調停回路、8 システム制御信号、10 システムクロック、13 エンド信号、14 ストップ信号、20 ブロック内クロック、22 コンプリート信号、24 サブブロック内クロック、61 入力側転送要求信号、62 出力側転送要求信号、63 入力側要求応答信号、64 入力側要求応答信号、65 入力側ハンドシェイク制御信号、66出力側ハンドシェイク制御信号、81 バス要求信号、82 バス要求応答信号、83 バスエンド信号、84 バスリード/ライト信号。
Claims (9)
- データが複数の処理ブロックを経由することで処理されるデータ処理システムであって、
前記データ処理システムは、前記複数の処理ブロックのそれぞれに対応して設けられた複数のブロック制御回路を備え、
前記複数のブロック制御回路は、
それぞれが対応する処理ブロックをクロック同期により制御するとともに、他のブロック制御回路との間でハンドシェイク制御信号を授受することで、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する、データ処理システム。 - 前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも1つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも1つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいて作成されたストップ信号により対応する前記処理ブロックに対するクロックの供給および停止を制御するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有する、請求項1記載のデータ処理システム。 - 前記データ処理システムは、外部システムとのインターフェースを行う調停回路をさらに備え、
前記調停回路は、
前記外部システムとの間で、クロックに同期したシステム制御信号の授受を行い、当該システム制御信号に基づいて、前記ハンドシェイク制御信号を作成する、請求項1記載のデータ処理システム。 - 前記複数のサブブロックのうち前記コンプリート信号を出力するサブブロックは、自らが出力する前記コンプリート信号に基づいて、自らに与えられる前記クロックの供給および停止を制御するゲート手段を有する、請求項2記載のデータ処理システム。
- 前記複数の処理ブロックのそれぞれは、
電源の供給ラインに介挿されたスイッチを備え、該スイッチのオン/オフ制御を前記ストップ信号に基づいて行う、請求項2記載のデータ処理システム。 - 前記複数の処理ブロックのそれぞれは、
接地ラインに介挿されたスイッチを備え、該スイッチのオン/オフ制御を前記ストップ信号に基づいて行う、請求項2記載のデータ処理システム。 - 前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも1つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも1つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいてストップ信号を作成するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有し、
前記複数の処理ブロックのそれぞれは、
電源の供給ラインに介挿されたスイッチを備え、該スイッチのオン/オフ制御を前記ストップ信号に基づいて行う、請求項1記載のデータ処理システム。 - 前記複数の処理ブロックのそれぞれは、複数のサブブロックを有し、前記データが前記複数のサブブロックを経由することで処理され、
前記複数のサブブロックのうち少なくとも1つは、データ処理が完了したことを示すコンプリート信号を出力し、
前記複数のブロック制御回路のそれぞれは、
前記複数のサブブロックのうち前記少なくとも1つが出力する前記コンプリート信号を受けて、対応する前記処理ブロックでのデータ処理の終了を検知する終了検知部と、
前記終了検知部から出力される検知結果信号を受け、前記検知結果信号に基づいてストップ信号を作成するとともに、前記ハンドシェイク制御信号を授受して、前記複数の処理ブロック間のデータ転送を自己同期型ハンドシェイクにより制御する転送制御部とを有し、
前記複数の処理ブロックのそれぞれは、
接地ラインに介挿されたスイッチを備え、該スイッチのオン/オフ制御を前記ストップ信号に基づいて行う、請求項1記載のデータ処理システム。 - 前記複数の処理ブロックのそれぞれは、
前記コンプリート信号を出力するサブブロックに接続され、前記コンプリート信号と前記ストップ信号とを受け、前記スイッチをオフ状態とする場合には、前記コンプリート信号の電位を所定電位に固定する信号固定部をさらに備える、請求項7または請求項8記載のデータ処理システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116716A JP2004326222A (ja) | 2003-04-22 | 2003-04-22 | データ処理システム |
US10/672,640 US7254735B2 (en) | 2003-04-22 | 2003-09-26 | Data processing system with block control circuits using self-synchronization handshaking and local clock/power control based on detected completion within subblocks |
US11/733,911 US20070192648A1 (en) | 2003-04-22 | 2007-04-11 | Data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116716A JP2004326222A (ja) | 2003-04-22 | 2003-04-22 | データ処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326222A true JP2004326222A (ja) | 2004-11-18 |
Family
ID=33296270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003116716A Pending JP2004326222A (ja) | 2003-04-22 | 2003-04-22 | データ処理システム |
Country Status (2)
Country | Link |
---|---|
US (2) | US7254735B2 (ja) |
JP (1) | JP2004326222A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075973A (ja) * | 2007-09-21 | 2009-04-09 | Canon Inc | 電子機器及び当該電子機器の電力制御方法 |
JP2009527810A (ja) * | 2006-02-16 | 2009-07-30 | ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー | 非同期コンピュータ通信 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2450564B (en) * | 2007-06-29 | 2011-03-02 | Imagination Tech Ltd | Clock frequency adjustment for semi-conductor devices |
DE102009014416A1 (de) * | 2008-04-14 | 2009-10-22 | Atmel Automotive Gmbh | Digitales Funknetz, Schaltung eines Knotens eines digitalen Funknetzes und Verfahren zum Einrichten eines digitalen Funknetzes |
US8996906B1 (en) * | 2010-05-13 | 2015-03-31 | Tabula, Inc. | Clock management block |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920899A (en) * | 1997-09-02 | 1999-07-06 | Acorn Networks, Inc. | Asynchronous pipeline whose stages generate output request before latching data |
US6369614B1 (en) * | 2000-05-25 | 2002-04-09 | Sun Microsystems, Inc. | Asynchronous completion prediction |
JP3727838B2 (ja) * | 2000-09-27 | 2005-12-21 | 株式会社東芝 | 半導体集積回路 |
US6950959B2 (en) * | 2002-02-12 | 2005-09-27 | Fulcrum Microystems Inc. | Techniques for facilitating conversion between asynchronous and synchronous domains |
DE10303673A1 (de) * | 2003-01-24 | 2004-08-12 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Asynchrone Hüllschaltung für eine global asynchrone, lokal synchrone (GALS) Schaltung |
-
2003
- 2003-04-22 JP JP2003116716A patent/JP2004326222A/ja active Pending
- 2003-09-26 US US10/672,640 patent/US7254735B2/en not_active Expired - Fee Related
-
2007
- 2007-04-11 US US11/733,911 patent/US20070192648A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527810A (ja) * | 2006-02-16 | 2009-07-30 | ブイエヌエス ポートフォリオ リミテッド ライアビリティ カンパニー | 非同期コンピュータ通信 |
JP2009075973A (ja) * | 2007-09-21 | 2009-04-09 | Canon Inc | 電子機器及び当該電子機器の電力制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040215994A1 (en) | 2004-10-28 |
US7254735B2 (en) | 2007-08-07 |
US20070192648A1 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6209072B1 (en) | Source synchronous interface between master and slave using a deskew latch | |
US5434996A (en) | Synchronous/asynchronous clock net with autosense | |
US8190944B2 (en) | Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed | |
JP2002523857A (ja) | 非同期型論理を用いたfifo | |
US8904078B2 (en) | High speed serial peripheral interface system | |
US5564042A (en) | Asynchronous clock switching between first and second clocks by extending phase of current clock and switching after a predetermined time and appropriated transitions | |
US6078202A (en) | Semiconductor device having portions that operate at different frequencies, and method of designing the device | |
KR20080007506A (ko) | 레이턴시에 둔감한 fifo 시그널링 프로토콜 | |
US20150089108A1 (en) | Clock signals for dynamic reconfiguration of communication link bundles | |
KR20030064376A (ko) | 클럭이 전송되는 i/o 시스템을 위한 효율적인 클럭 시작및 정지 장치 | |
US20100315134A1 (en) | Systems and methods for multi-lane communication busses | |
TWI291624B (en) | Method and device for transferring data and data transfer bridge | |
US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
US20070192648A1 (en) | Data processing system | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
JP4436902B2 (ja) | 割り込みをクリアするロジック・ユニット及び集積回路 | |
EP3739463B1 (en) | Circuit for asynchronous data transfer | |
JP6030998B2 (ja) | 情報処理システム | |
US6081141A (en) | Hierarchical clock frequency domains for a semiconductor device | |
US9170768B2 (en) | Managing fast to slow links in a bus fabric | |
JP7316083B2 (ja) | 情報処理装置 | |
KR100734521B1 (ko) | 시스템 온 칩을 위한 ip 모듈 | |
JP7418159B2 (ja) | 情報処理装置 | |
JP2003006178A (ja) | クロック同期化システム、及びその方法 | |
JP2005293372A (ja) | 低消費電力回路の設計方法および低消費電力回路の設計支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090512 |