JP3954011B2 - サブシステム間で通信するための方法およびコンピュータ・システム - Google Patents

サブシステム間で通信するための方法およびコンピュータ・システム Download PDF

Info

Publication number
JP3954011B2
JP3954011B2 JP2003394561A JP2003394561A JP3954011B2 JP 3954011 B2 JP3954011 B2 JP 3954011B2 JP 2003394561 A JP2003394561 A JP 2003394561A JP 2003394561 A JP2003394561 A JP 2003394561A JP 3954011 B2 JP3954011 B2 JP 3954011B2
Authority
JP
Japan
Prior art keywords
subsystem
clock
bus
subsystems
frequency
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.)
Expired - Fee Related
Application number
JP2003394561A
Other languages
English (en)
Other versions
JP2004199664A (ja
Inventor
ゲーリー・ディー・カーペンター
ビィカス・チャンドラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004199664A publication Critical patent/JP2004199664A/ja
Application granted granted Critical
Publication of JP3954011B2 publication Critical patent/JP3954011B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、プロセッサなどのシステムのための同期バスの動作に関し、より詳細には、同期バスを介してサブシステムを選択的に相互接続するための動的に変化可能なクロック・ドメイン(dynamically scalable clock domain)に関する。
本発明が扱う問題は、集積回路のエネルギー消費に関する。ある状況では、エネルギー消費の上で多大な影響があるので、集積回路の動作電圧を下げることが望ましい。一般に、集積回路のエネルギー消費は、動作電圧の2乗に比例する。エネルギー消費は、組込みプロセッサの回路にとって、ますます重要になっているが、それは、これらのプロセッサが、パーソナル・デジタル・アシスタントなどのポータブル装置でよく使用され、これらの装置が、より大きな処理能力を必要とする適用例に、ますます使用されるようになっているからである。これらの適用例には、インターネットのブラウジング用などの、音声再生や画像表示が含まれる。しかし、動作電圧を下げることの副次的な影響は、消費エネルギーほどではないにしても、動作周波数も下がることである。例えば、動作電圧を半分にカットすると一般に、消費エネルギーは4分の1低下するが、動作周波数はほぼ2分の1低下するだけである。
一つには、比較的小さな電力を消費するポータブル装置で用いられる組込みコントローラの性能をより高める必要性から、最近、集積回路の動作電圧を素早く下げるための機能が改善された。そのため、動作周波数により大きな柔軟性をもたせることが必要になった。
本発明が扱う別の問題は、新しいシステムの設計と既存システム設計の再利用とのトレードオフに関する。すなわち、組込みコントローラを設計する過程では一般に、プロセッサの動作周波数を上げて、全体的なシステム性能を改善するための多くの機会が生じる。しかし通常は、サブシステムの動作周波数を上げるために、多大な設計上の努力が必要となる。したがって、システム設計の中ではある種のダイナミクスが働いており、そのダイナミクスによれば、いくつかのサブシステム、特にプロセッサをより高い周数で動作させるように再設計しながら、それと同時に、少なくともいくつかの古いサブシステムの設計を、その動作周波数を上げることなく再利用することが望ましい。しかし、これは特に同期バスの場合に問題が生じる。
IBMの「CoreConnect」バス・アーキテクチャに見られるように、組込みプロセッサに同期バスを使用することが常法となっている(「CoreConnect」はIBM社の商標)。このバス・アーキテクチャの態様は、ここに参照として本明細書に組み込む白書「TheCoreConnect Bus Architecture」、http://www-3.ibm.com/chips/products/coreconnect、に記載されている。このアーキテクチャでは、組込みコントローラ上のプロセッサ・ローカル・バス(「PLB」)およびオンチップ周辺バス(「OPB」)が共に同期バスであり、そのため、一方または他方のバスに接続される装置はバス上に送出されるクロック信号と同期して動作する。
ここで図1を参照すると、従来技術による、従来のOPB110に接続された諸装置がハイレベル図で示されている。clk120信号は、外部ソースから、図示されている諸装置、すなわち、OPB調停器130、第1のOPBマスタ140.1、第2のOPBマスタ140.2、およびOPBスレーブ150.1を含めてOPB110につながる諸装置に提供され、装置130、140.1などは、clk120によって調整された同じ周波数で動作する。
同期バスを用いるシステムの設計において、サブシステムをより高い周波数で動作させるように再設計することには難しい問題がある。というのは、当技術分野の現状によれば、システム内の同期バスは、最も高い周波数で動作するサブシステムに適合するのに十分な高さの周波数で動作する必要があり、そのため、1つのサブシステムを再設計するには、より高い周波数で動作する同期バスに接続されたすべてのサブシステムをアップグレードさせる必要があるからである。
「The CoreConnect Bus Architecture」、http://www-3.ibm.com/chips/products/coreconnect
上述の理由から、同期バスの動作周波数の柔軟性を改善する必要がある。
本発明は、上述した必要性に対処するものであり、サブシステムに供給されるクロック信号の動作周波数を選択的に変化させることにより、バスを共用するサブシステムの動作周波数を操作する。この方法では、選択されたサブシステム同士は共有するクロック周波数で通信を行うことができ、別の組合せのサブシステム同士は別のクロック周波数で通信を行うことができ、サブシステムがバスを介して互いに通信を行わない場合は、それらのサブシステムは独立したクロック周波数で動作することができる。
本発明の一態様においては、通信要求および既存のバス・ハンドシェイク機構やバス・プロトコル機構に応答して、動的に変化可能なクロック分割器が、サブシステムの一時的な同期動作を生じさせる。それらの一時的な同期動作によってサブシステム間の通信が可能となり、通信が終了すると、各システムは、それぞれの独立したクロック周波数での動作に戻る。これにより、より速いサブシステムは、同期通信を行っている間は、より遅いサブシステムに適合するより遅い周波数で動作可能であり、同期通信を行っていない場合は、より速い周波数で動作可能であり、それ故、すべてのサブシステムをアップグレードさせてより高い周波数で動作可能にしなくても、同期バス・プロトコルを用いながら、より高いパフォーマンスを実現することができる。
本発明のその他の目的、利点、態様、および形態は、添付の図面を参照しながら、以下に記載の詳細な説明を読めばより明らかとなるであろう。
本明細書に添付する特許請求の範囲には、本出願者らが本発明の特徴であると考える新規な機能が記載されている。本発明、およびその好ましい使用形態、さらなる目的および利点は、以下に記載の例示的な実施形態の詳細な説明を添付の図面と併せて読むことにより最もよく理解されるであろう。
本発明の一実施形態においては、マイクロコントローラとも称される組込みプロセッサは、システム・オン・チップ(「SOC」)の一部をなす。ここで図2を参照すると、システム200の諸態様が示されている。SOC組込みプロセッサは一般に、デスクトップ、ワークステーション、またはサーバ用のプロセッサほど複雑な機能はもたないが、それでも、本実施形態のシステム200は、PLB(図示せず)およびOPB210が存在するバス階層をもつ。
この実施形態におけるバスは、同期共有バスベース(synchronousshared-bus-based)のプロトコルで動作する。このプロトコルは、少なくともいくつかの点で、スイッチベース(switch-based)のプロトコルよりも単純であり、また拡張性もある。バスベースのプロトコルの場合、バスに対するアクセスを許可された装置は、バスを排他的に使用できるようになる。これはブロードキャスト・トランザクションに適している。バスベースのプロトコルを用いる同期バスの利点は、伝送待ち時間が管理しやすいことである。すなわち、例えば、装置の1つがあるクロック・サイクルでバス上にデータを送出した場合、受信側がそのデータを所定の数だけ遅れたサイクルで受信するであろうことが、ある確実性をもってわかる。そのため、送信側は、データが伝送されている間は、調整された方式の下で、別のタスクを処理することができる(バスベースのプロトコルとは対照的に、スイッチベースのプロトコルでは、バス上の装置間で複数の同時接続を許可するには、無閉塞スイッチが必要となる)。
図2では特に、システム200のための、OPB210と、第1のマスタ装置240.1、第2のマスタ装置240.2、スレーブ装置250.1を含めてOPB210に結合された周辺装置とに焦点を当てている。他の実施形態においては、システム200は、マスタおよびスレーブ装置を含めて、例として示されているよりも多くの周辺装置を備えてもよいことを理解されたい。第1のマスタ装置240.1は、OPB210に接続された(ported to)固有のアドレス・バス1_abusおよび固有のデータ・バス1_dbusを有する。同様に、第2のマスタ装置240.2は、OPB210に接続された固有のアドレス・バス2_abusおよび固有のデータ・バス2_dbusを有する。マスタ装置240.1、240.2は、それぞれ要求線1_req、2_reqおよび許可線1_grant、2_grantによってOPB調停器230に結合され、マスタ装置240.1、240.2は、OPB調停器230からバス210に対する排他的なアクセス許可を得るために、それぞれの要求線上に要求を出すことができる。許可を与える場合、調停器230は、マスタそれぞれの許可線1_grantまたは2_grantを介して、要求が認められたことを示す信号をマスタ240.1または240.2に送る。
スレーブ装置250.1は、固有のデータ・バス3_dbusをもつが、固有のアドレス・バス3_abusはもたない。その代わりに、スレーブ装置250.1は、システム200内の他のスレーブ装置(図示せず)と共通アドレス・バスabusを共用する。明示的に示してはいないが、マスタ装置240.1、240.2もまたアドレス・バスabusに結合され、相互に通信するために、一方のマスタが他方のマスタをアドレスできることを理解されたい。
システム200はさらに、OPBクロック分配器215を含み、この分配器は、クロック線clk220から(本明細書では「システム」クロック信号と呼ぶこともある)外部クロック信号を受信し、それに応答して、システム200の個々の装置、すなわち調停器230、マスタ240.1、マスタ240.2、スレーブ250.1に接続された図示のクロック線clk_arb、clk_1、clk_2、clk_3上にそれぞれのサブシステム用のクロック信号を生成する。図示の実施形態によれば、生成されるクロック信号clk_1、clk_2、clk_3、およびclk_arbは、生成されるクロック信号よりも少なくとも2倍速い受信クロック信号clk220とエッジ整合(edge aligned)である(便宜上、本明細書では、信号をその信号を伝送する線と同じ名前で呼ぶ)。
OPBクロック分配器215は、調停器230の周囲の「ラッパ(wrapper)」として本質的に振舞う他の数々の受信信号に応答して、サブシステム用のクロック信号clk_1、clk_2、clk_3、およびclk_arbを生成し、選択的かつグリッチなし(glitchlessly)にそれらを同期させる。具体的には、クロック分配器215は、マスタ240.1、240.2から、それぞれ選択線m1_select、m2_selectを介して信号を受信し、またスレーブ・アドレス・バスabus上に出力された(assert)アドレスを受信する。OPBクロック分配器215はまた、図示のリセット線からリセット信号を受信する。
OPBバスがアイドル状態にある場合、いずれのマスタ240.1、240.2も、それぞれの線m1_select、m2_select上の選択信号をアサートしておらず、OPBクロック分配器215は、装置240.1などのために、それぞれ装置240.1など各装置ごとに事前定義された独立したクロック周波数で動作クロック信号clk_1、clk_2、clk_3、およびclk_arbを生成する。
マスタ240.1または240.2が他の装置と通信しようとする場合、マスタは、それぞれの要求線1_reqまたは2_req上で要求信号をアサートし、調停器230からの許可を待つ。調停器230は、すべての保留中の要求を調整し、要求側の1つにバス210に対するアクセス許可を与える。
例えば、調停器230は、要求のなかでもとりわけ、1_req上のマスタ240.1からの要求に応答して、マスタ240.1に1_grantをアサートする。マスタ240.1は、許可信号に応答してm1_selectをアサートし、マスタ240.1がバス210に対する排他的アクセス権をもつ(「バス210を所有する」)ことをクロック分配器215に通知する。マスタ240.1はまた、そのアドレス・バス1_addr上に、スレーブ250.1など、マスタ240.1が通信しようとする装置(「ターゲット」装置または単に「ターゲット」)のアドレスを出力し、書込み動作の場合は、ターゲットへのデータをデータ・バス1_dbusへ出力する。マスタ240.1によりアサートされた選択信号m1_selectと共通アドレス・バスabus上に出力されたスレーブ250.1のためのアドレスとを見出すと、クロック分配器215は、以下、本明細書で詳しく説明するように、マスタ240.1、スレーブ250.1、および調停器230それぞれのために同期クロック信号clk_1、clk_3、およびclk_arbを生成し、マスタ240.1とスレーブ250.1がバス210を介して通信することを許可する(本明細書で用いる「同期クロック信号」の用語は、同じ周波数をもち、かつ位相整合でもあるクロック信号に対して用いる)。クロック分配器215は、選択信号m1_selectがアサートされている間、これらのクロック信号clk_1、clk_3、およびclk_arbのこの同期を維持する。選択信号m1_selectがデアサートされると、クロック分配器215は再び、装置240.1などのために、事前定義された独立したクロック周波数で動作クロック信号clk_1、clk_3、およびclk_arbを生成する。
次に図5を参照すると、クロック分配器215の一般化された論理図が示されている。マスタ選択信号m1_select、m2_select(図5では一括して「mx_select」で示す)がどちらもアサートされていないバス210のアイドル状態に応答して、クロック分配器215は、独立クロック動作状態410をとり、すべての装置240.1などに、装置属性レジスタ(図示せず)に記憶させた所定の独立したクロック周波数に従ったクロック信号clk_1などを供給する。マスタ選択信号がアサートされないかぎり、分配器215は、独立クロック動作状態410でループ412を反復する。マスタ240.1などの一方が許可を得た場合、それに応答して、そのマスタは選択線m1_selectなどをアサートし、ターゲット装置240.2、250.1などのアドレスをアドレス・バスabus上にロードする。それに応答して、クロック分配器215は、遷移414でクロック変化モード420に移り、そのとき、選択線mx_selectとアドレス・バスabus上の信号をデコードして、他の装置からとりわけマスタおよびスレーブを識別する。次に、クロック分配器215は、遷移422でモード430に移り、マスタ、ターゲット、および調停器230のためのクロック信号をグリッチなしに変化させる。状態430は、マスタ選択信号がアサートされているかぎり、すなわち、マスタとスレーブとが通信している期間中、ループ432を反復する。選択信号がデアサートされると、クロック分配器215はそれに応答して、遷移434でクロック復元モード440に移り、その後、クロック信号は遷移442で独立クロック動作状態410に戻り、再び、独立した所定の周波数をもつクロック信号が供給されるようになる。
通信セッションに関与しないマスタとスレーブは、図5に示すサイクル全体の間、それぞれ所定の独立した周波数で動作することを、上記の説明から理解されたい。調停器と、(同期)通信セッションに関与する特定のマスタおよびスレーブのクロックのみが、図5で説明した、動的なクロックの変化、同期通信、およびクロックの復元に関わる。
次に図6を参照すると、本発明の一実施形態による、マスタとスレーブの一時的な同期動作のための共通周波数範囲530が示されている。各マスタは、最高周波数master_maxを上限とし最低周波数master_minを下限とする、固有のクロック周波数範囲510を有している。各マスタは、その範囲内でマスタが動作可能である。同様に、各ターゲット装置(マスタであってもよい)も、最高周波数target_maxを上限とし最低周波数target_minを下限とする、固有のクロック周波数範囲520を有している。
システム200(図2)は、互いに通信を許可された装置の各対が共通周波数範囲530を有するように設計しなければならない。すなわち、互いに通信できる装置同士のマスタ側周波数範囲510とターゲット側周波数範囲520は、図6に示すように互いに一部が重なり合う。本明細書で共通周波数範囲530と呼ぶ重複する範囲は、2つの周波数master_maxとtarget_maxの低い方によって定められる最高周波数comm_maxと、2つの周波数master_minとtarget_minの高い方によって定められる最低周波数comm_minとを有する。
(図5の)動作状態420において、(図2の)クロック分配器215は、特定の通信を行うマスタとターゲットを識別したことに関連して、直前に説明したように、一時的な各通信セッションのための共通周波数範囲530を決定し、次に、共通周波数範囲530内で単一の動作周波数を選択する。一実施形態において、この選択は、一定の方針を示す、クロック分配器215内のレジスタ(図示せず)に記憶させた所定のパラメータに応答して行われる。この方針により、電力消費、クロックの変化に要する待ち時間、および帯域幅を含むトレードオフの均衡を図る。すなわち、例えば、帯域幅を最も重視し、電力消費をあまり重視しない方針の場合、パラメータは、最高共通周波数comm_maxを選択するよう指示する。電力消費を最も重視し、帯域幅をあまり重視しない方針の場合、パラメータは、最低共通周波数comm_minを選択するよう指示する。
次に図3を参照すると、本発明の一実施形態による、(図2の)OPB210に結合された装置240.1、240.2、250.1、230それぞれのための動的に変化可能な分割器320、330,340、350を含む、図2のOPBクロック分配器215がより詳細に示されている。分割器320などは、先に言及したサブシステムのクロック信号clk_1などと、さらに、本明細書で以下に説明する、各サンプル・サイクル信号sample_cycle_1、sample_cycle_2、sample_cycle_3、sample_cycle_arb、および各リセット信号reset_1、reset_2、reset_3、reset_arbを生成する。クロック分配器215は、各分割器320などのためのレジスタ(図示せず)をもち、これらのレジスタには各分割器用の除数値が格納されている。クロック分配器215はまた、クロック信号clk220、マスタ選択信号m1_selectとm2_select、アドレス・バス、およびリセット信号を受信し、それに応答して、除数値を生成および更新するように動作可能な論理回路310を含んでいる。各分割器320などは、それぞれのデータ線1_div、2_div、3_div、arb_divを介して、その除数値を読み込む。
図4は、本発明の一実施形態による、サンプル・サイクル信号の1つ、クロック信号clk220に応答して(図3の)分割器320が出力するsample_cycle_1のタイミングを示す(この図は、すべてのサンプル・サイクル信号とそれに対応するサブシステムのクロック信号の典型的なタイミングを示している)。この図では、分割器320は、(図5の)独立の動作状態410の間、クロック信号220を除数4で除算し、それにより、図示のクロック信号clk_1を生成している。さらに、クロック信号clk_1のサイクルの各正フェーズの直前の、図4の360がその一例である、クロック信号220のサイクルの開始に応答して、分割器320は、クロック信号clk_1の1サイクルのためのサンプル・サイクル信号sample_cycle_1をアサートする。このサンプル・サイクル信号は、次に詳細に説明するように、マスタとターゲットの間の通信セッションのための同期動作へのグリッチなしの切替えを調整するために使用される。グリッチなしの切替えとは、意図せぬクロック・サイクルまたはクロック・フェーズがなく、すべてのパルスが刻時のための最小パルス幅の要件を満たすような仕方での切替えをいう。
次に図7を参照すると、本発明の実施形態による、(図2の)マスタ240.1とスレーブのターゲット装置250.1との間の(図2の)OPB210の「トランザクション」、すなわち「通信セッション」に関わる、様々な信号のタイミングおよび論理インタラクションが示されている。図7の最上段に示される「リセット」信号は、システム・リセット200である。このリセットは、システムを電源投入時の状態にリセットし、先に説明した除数用のレジスタなどを正しく初期化する。最初、(図2の)クロック分配器215が出力するすべてのクロックclk_1などが独立に動作している(図5の)モード410の間、分割器320は1_divから値9を読み込み、受信システム・クロック信号clk220を9で除算し、(図2の)マスタ240.1の動作周波数を制御するサブシステム・クロック信号clk_1を生成する。同時に、分配器215は、分割器340用の除数レジスタに値4をもっており、したがって、(図3の)分割器340が、受信システム・クロック信号clk220を4で除算して(図2の)スレーブ250.1の動作周波数を制御するサブシステム・クロック信号clk_3を生成するようにする値を3_div上に出力し、同様に、(図3の)分割器350が、受信システム・クロック信号clk220を14で除算して(図2の)調停器230の動作周波数を制御するサブシステム・クロック信号clk_arbを生成するようにする値をarb_div上に出力する。
610でm1_selectがアサートされたことに応答して、クロック分配器215はクロック変化モード420に遷移する。このモードでは、(図3の)論理回路310が、マスタ装置およびターゲット装置を識別し、先に説明したように、これらの装置用の単一の共通動作周波数を選択する。また、論理回路310内の第1の論理回路セクション312は、これから行う通信セッションのために識別された、マスタ240.1(sample_cycle_1)、スレーブ250.1(sample_cycle_3)、調停器230(sample_cycle_arb)それぞれのためのリセット信号をアサートする。図示した例では、これは、サンプル・サイクル信号sample_cycle_1、sample_cycle_3、sample_cycle_arbの受信に応答して、それぞれreset_1、reset_3、reset_arb(図7には図示せず)をアサートすることに相当する(サンプル・サイクル信号の例については図4を参照のこと)。論理回路312は、(最後に到着したサンプル・サイクル信号に応答して)リセット信号のうち最後の1つがアサートされるまで、620で示すように、各リセット信号を高に保つ。図示した例では、sample_cycle_3(図示せず)が最初に到着したため、reset_3が最初にアサートされたリセット信号である。次に到着したのがsample_cycle_arb(図示せず)であるため、reset_arbが次にアサートされたリセット信号である。最後に、sample_cycle_1が到着したため、reset_1が最後にアサートされたリセット信号である。最後のリセット信号がアサートされると、リセット信号はすべて論理回路312によりデアサートされる。
リセット信号の立下りを検出したことに応答して、論理回路310の第2の論理回路セクション314は同時に、3つの装置用の(図3の)分割器320、340、350それぞれの制御線、すなわち、制御線1_div、3_div、arb_div上に、新しい共通の除数値を出力する。新しい除数値と、(図3の)受信クロック信号220と、1サイクル遅れた新しい共通周波数クロックとに応答して、クロック分配器215は、(図5の)422で同期クロック動作モード430に遷移し、分割器320などは630で、新しいクロック信号clk_1、clk_3、clk_arbをそれぞれ出力し始める。このモード430において、マスタ、ターゲット、および調停器は、(「通信セッション」または「トランザクション」のために)一時的に選択された共通の周波数で通信できる。3つの分割器320などは同じクロック信号220からクロック信号出力を生成しているので、クロック信号clk_1、clk_3、clk_arbは、同じ周波数で動作しているばかりでなく、同期していることにも留意されたい。
マスタ選択信号m1_selectがデアサートされたのに応答して、クロック分配器215は、クロック復元モード440に遷移する。これには、共通クロック周波数信号clk_1などの1クロック・サイクル分の、論理回路310の待機が含まれる。次に、クロック分配器215は、独立クロック動作モードに復帰し、独立の周波数値が、制御線1_div、3_div、arb_divそれぞれの上に出力される。
本実施形態の説明は、例示のために提示したものであって、網羅的であること、または開示した態様に本発明を限定することを意図したものではない。別の実施形態では、グリッチなしのクロックの変化は、多重化(multiplexing)により実現される。この実施形態によれば、システムには、様々な固定周波数をもつ多くの通信クロックが含まれる。図6に示し、また上記で説明したように、マスタとターゲットの間で共用される周波数範囲が決定されると、次に、その範囲内の最高周波数をもつ通信クロックが選択される。トランザクションの間、マスタ、ターゲット、および調停器の動作周波数は、この通信周波数になるように変化し、すなわち、3つのサブシステムすべてが選択された通信クロックで動作する。これを実現するために、サブシステムは、通信クロックが供給されるマルチプレクサを備え、各サブシステムがクロックを選択できるようになっている。マルチプレクサを採用する実装におけるクロック変化のコストは、クロック分割器を採用する実装に比べ、いく分高い。
説明した実施形態は主としてOPBに関するものであったが、別の実施形態においては、説明した方法および構造がプロセッサ・ローカル・バス(「PLB」)に適用される。一実施形態においては、PLBは、プロセッサ・コアと、OPBおよびその周辺装置を含む他の周辺装置との間のインタフェースを提供する、高性能64ビット・アドレス、128ビット・データ・バスである。PLB上のマスタは、PLBに対するデータ・インタフェースとアドレス・インタフェースとをそれぞれ有する。スレーブはPLBを介し、共有バスを用いて通信する。PLB上の装置は、OPB上の装置と同様に、異なる周波数で動作する。上述した方法および構造の態様を適用することは可能であるが、(「アドレス・パイプラン処理」とも呼ぶ)オーバラップする転送をサポートするPLBの場合、PLBの実施形態には、本明細書で説明した以上の追加的な機能や変形が必要になることも理解されたい。
PLBプロトコルによる通信には、以下のフェーズが含まれる。
1.マスタは、データ転送のための要求信号をアサートし、さらにアドレス・バス上にターゲット・アドレスとその他の修飾子とを出力する。
2.アドレス肯定フェーズ。調停器は、マスタの1つに許可を与え、それぞれのスレーブからのアドレス肯定応答を待つ。
3.データ転送フェーズ。スレーブからアドレス肯定応答を受信したマスタ、すなわち、「主」スレーブからアドレス肯定応答を受信した「主」マスタは、スレーブからの/へのデータ転送(読取り/書込み)を開始することができる。この時点では、トランザクション(「主」トランザクション)実行中の主マスタおよび主スレーブのためのアドレス肯定フェーズは終了しているので、別のマスタ(「2次」マスタ)は、主マスタがデータ転送に携わっている間に、アドレス肯定フェーズを開始することができ、他のいくつかのスレーブ(「2次」スレーブ)は2次マスタにアドレス肯定応答を返すことができる。
4.データ肯定フェーズ。主スレーブは、rd_comp(読取りの場合)またはwr_comp(書込みの場合)をアサートして、データ転送フェーズが終了したことを通知する。
5.この時点で、2次マスタは主マスタになることができ、データ転送フェーズを開始することができる。
オーバラップするトランザクションをサポートするため、システムのPLB部には、バスのアドレス部、読取りデータ部、書込みデータ部を互いに分離して、アドレス・サイクルがオーバラップできるようにする、すなわち、スレーブが共有するアドレスおよびデータ・バス上で、1つのマスタがデータ・バス部を用いて1つのスレーブとの間でデータを送受信しているとき、同時に別のマスタがアドレス・バス部を用いて別のスレーブをアドレスできるようにするための論理回路が含まれている。
PLBの実施形態では、クロック分配器215は、追加の論理回路を含み、少なくとも1つの追加の入力を受信し、少なくとも1つの追加の出力を生成する。具体的には、一実施形態においては、クロック分配器は、スレーブ装置が共有するアドレス・バス上にマスタが出力したアドレスが有効であることを示す、「アドレス有効」信号を調停器から受信し、それを選択的に再分配する。サブシステム間の同期転送を可能にし、またはサブシステムが独立した周波数で動作できるようにする本発明の特徴を適用するためには、パイプライン処理に制約が課せられる。すなわち、2次マスタおよびターゲットが、主マスタおよびターゲットと同じである場合、そのマスタおよびスレーブはアドレス・パイプライン処理を利用することができる。そうでない場合は、アドレス・パイプライン処理は許可されない。
アドレス有効信号は、アドレス・バス上のアドレスが有効であり、ターゲットはそのアドレスをデコード(して、マスタに返答)できることをターゲットに通知する。このアドレス有効信号は、調停が実施され、許可が与えられたあと、調停器によって生成される。ある実施形態では、許可が与えられたあと、同期通信に関わるすべての周波数が変化するまでに数サイクルを要し、この期間中、マスタ、ターゲット、およびバス・クロックは正常に動作できないが、残りの装置は通常のクロックで動作している。この状態のとき、アドレス有効信号が高になっていると、いくつかの遅いスレーブがそのアドレスに応答を開始できてしまうので、問題が生じる場合があり、望ましくない。この問題に対処するには、周波数が変化し終わるまで、アドレス有効信号を低に維持しておく。周波数が変化し終わったら、アドレス有効信号を高にして、動作を通常に続行する。
様々な変更および変形が当業者には明らかであろう。繰り返すと、説明した実施形態は、本発明の原理、実際的な適用例を最もよく説明し、他の当業者が本発明を理解できるようにするために、選択し説明したものである。様々な変更が施された様々な他の実施形態が、企図された特定の用途に適していることがあり得るが、それらは本発明の範囲内に含まれるものである。さらに、添付の特許請求の範囲に記載された動作は、必ずしも提示された通りの一定の順序で実行されなくてもよいことを理解されたい。
従来技術による、一律の周波数を有するOPBの実施を示した図である。 本発明の実施形態による、「周波数アイランド」ベースのOPBの実施を示した図である。 本発明の実施形態による、動的に変化可能な分割器を含む、OPBクロック分配器をより詳細に示した図である。 本発明の実施形態による、図3の分割器の1つへの入力クロック信号とそれによる出力クロック信号とに関するサンプル・サイクル信号のタイミングを示した図である。 本発明の実施形態による、OPBクロック分配器の動作を示すハイレベル図である。 本発明の実施形態による、マスタおよびターゲットの一時的な同期動作のための共通周波数範囲を示した図である。 本発明の実施形態による、マスタおよびターゲット装置間のOPBトランザクションに関わる様々な信号のタイミングを示した図である。
符号の説明
110 オンチップ周辺バス(OPB)
120 クロック信号
130 OPB調停器
140.1 OPBマスタ1
140.2 OPBマスタ2
150.1 OPBスレーブ3
200 システム
210 オンチップ周辺バス(OPB)
215 OPBクロック分配器
220 外部クロック信号
230 OPB調停器
240.1 OPBマスタ1
240.2 OPBマスタ2
250.1 OPBスレーブ3
310 論理回路
312 論理回路セクション
314 論理回路セクション
320 クロック分割器
330 クロック分割器
340 クロック分割器
350 クロック分割器
410 独立クロック動作モード
412 ループ
414 遷移
420 クロック変化モード
422 遷移
430 同期クロック動作モード
432 ループ
434 遷移
440 クロック復元モード
442 遷移
510 マスタ周波数範囲
520 ターゲット周波数範囲
530 共通周波数範囲

Claims (4)

  1. 一のバスに結合された複数のサブシステムおよび複数のクロック線を介して前記サブシステムにそれぞれ接続されたクロック分配器を備え、前記サブシステム間の通信が、前記バスに対するアクセスを許可された前記サブシステムの1つが前記バスを排他的に使用できるバスベースのプロトコルによって行われ、前記サブシステムがそれぞれのクロック周波数範囲で動作可能であるコンピュータ・システムにおいて、前記サブシステム間で通信するための方法であって、
    a)前記サブシステムが前記バスを介して互いに通信していないときは、前記クロック分配器から前記クロック線を介して前記サブシステムに対し、前記サブシステムそれぞれに固有な範囲内にある所定の独立した周波数で、それぞれのサブシステム・クロック信号を供給することにより、前記サブシステムを独立したクロック周波数でそれぞれ動作させるステップと、
    b)前記バスを介して通信を行うために前記サブシステムのうちの第1のサブシステムおよび第2のサブシステムを選択するステップと、
    (c)前記選択された第1のサブシステムおよび前記第2のサブシステムのための一の共有クロック周波数範囲を、前記クロック分配器によって識別するステップと、
    (d)前記第1のサブシステムおよび前記第2のサブシステムの間の通信期間中のトランザクションのための単一の共有クロック周波数を、前記クロック分配器によって前記共有クロック周波数範囲内から選択するステップと、
    (e前記クロック分配器から前記第1のサブシステムおよび前記第2のサブシステムに対し、それぞれのクロック線を介してそれぞれのサブシステム・クロック信号を前記選択された単一の共有クロック周波数で供給することにより、前記第1のサブシステムおよび前記第2のサブシステムを、前記通信期間中、前記選択された単一の共有クロック周波数で動作させて、前記第1のサブシステムおよび前記第2のサブシステム間の通信を行えるようにするとともに、前記サブシステムのうちのその他のサブシステムには、前記クロック分配器からそれぞれのクロック線を介してそれぞれのクロック信号をそれぞれ前記所定の独立した周波数で供給するステップとを含む方法。
  2. 前記通信の完了に応答して、前記第1のサブシステムおよび前記第2のサブシステムを、それぞれ独立のクロック周波数での動作に復帰させるステップを含む、請求項に記載の方法。
  3. 一のバスに結合された複数のサブシステムを備え、前記サブシステム間の通信が、前記バスに対するアクセスを許可された前記サブシステムの1つが前記バスを排他的に使用できるバスベースのプロトコルによって行われ、前記サブシステムがそれぞれのクロック周波数範囲で動作可能であるコンピュータ・システムであって、
    第1のモードにおいて、前記サブシステムに、前記サブシステムそれぞれに固有な範囲内にある所定の独立した周波数で、それぞれのサブシステム・クロック信号を供給するように動作可能なクロック分配器と、
    前記サブシステムのいくつかによる前記バスに対するアクセス要求を調停するための調停器とを備え
    前記サブシステムのうちの第1のサブシステムが、前記サブシステムのうちの第2のサブシステムと通信するために、前記調停器によって前記バスに対するアクセスを許可されたと判断したことに応答して、前記クロック分配器が、前記第1のサブシステムおよび前記第2のサブシステムのための一の共有クロック周波数範囲を識別し、かつ前記通信のための単一の共有クロック周波数を前記共有クロック周波数範囲内から選択するように動作可能であり、
    前記クロック分配器が、前記第1のサブシステム、前記第2のサブシステム、および前記調停器に対しては第2のモードで動作するように動作可能であり、前記第2のモードでは、前記クロック分配器が、前記第1のサブシステム、前記第2のサブシステム、および前記調停器にそれぞれのサブシステム・クロック信号を前記選択された単一の共有クロック周波数で供給し、また前記システム内のその他のサブシステムには、それぞれのサブシステム・クロック信号をそれぞれ前記所定の独立した周波数で供給し、
    前記第1のモードおよび前記第2のモードの両方において、前記クロック分配器が、前記サブシステムにそれぞれ接続された複数のクロック線を介して、前記サブシステムにそれぞれのサブシステム・クロック信号を供給する、コンピュータ・システム。
  4. 記通信の完了に応答して、前記第1のサブシステムおよび前記第2のサブシステムが、前記第1のモードでの動作に復帰する、請求項に記載のコンピュータ・システム。
JP2003394561A 2002-12-18 2003-11-25 サブシステム間で通信するための方法およびコンピュータ・システム Expired - Fee Related JP3954011B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/324,741 US6948017B2 (en) 2002-12-18 2002-12-18 Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus

Publications (2)

Publication Number Publication Date
JP2004199664A JP2004199664A (ja) 2004-07-15
JP3954011B2 true JP3954011B2 (ja) 2007-08-08

Family

ID=32593540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003394561A Expired - Fee Related JP3954011B2 (ja) 2002-12-18 2003-11-25 サブシステム間で通信するための方法およびコンピュータ・システム

Country Status (3)

Country Link
US (1) US6948017B2 (ja)
JP (1) JP3954011B2 (ja)
CN (1) CN1243296C (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174403B2 (en) * 2005-02-24 2007-02-06 Qualcomm Incorporated Plural bus arbitrations per cycle via higher-frequency arbiter
CN100395714C (zh) * 2005-05-28 2008-06-18 鸿富锦精密工业(深圳)有限公司 识别中央处理器前端总线的电路
JP4624928B2 (ja) * 2006-01-12 2011-02-02 ルネサスエレクトロニクス株式会社 半導体集積回路装置
DE102008004857B4 (de) 2008-01-17 2013-08-22 Entropic Communications, Inc. Verfahren zur Übertragung von Daten zwischen wenigstens zwei Taktdomänen
WO2009105699A1 (en) 2008-02-22 2009-08-27 Endologix, Inc. Design and method of placement of a graft or graft system
US8945202B2 (en) 2009-04-28 2015-02-03 Endologix, Inc. Fenestrated prosthesis
DE102010029349A1 (de) * 2010-05-27 2011-12-01 Robert Bosch Gmbh Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch
WO2012061526A2 (en) 2010-11-02 2012-05-10 Endologix, Inc. Apparatus and method of placement of a graft or graft system
CN102301357B (zh) * 2011-07-08 2015-03-11 华为技术有限公司 一种工作时钟切换方法、智能门控电路及系统
CN102722132B (zh) * 2012-05-25 2014-07-30 深圳市亿维自动化技术有限公司 一种plc扩展总线的动态调频方法及其控制系统
KR102206313B1 (ko) 2014-02-07 2021-01-22 삼성전자주식회사 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
KR102363181B1 (ko) * 2015-03-27 2022-02-15 삼성전자 주식회사 기지국의 디지털 신호 처리 장치 및 이의 데이터 처리 방법
US10282347B2 (en) * 2015-04-08 2019-05-07 Louisana State University Research & Technology Foundation Architecture for configuration of a reconfigurable integrated circuit
CN111529126A (zh) 2015-06-30 2020-08-14 恩朵罗杰克斯股份有限公司 用于将第一细长构件固定至第二细长构件的系统及方法
US10205672B2 (en) * 2015-09-11 2019-02-12 Cirrus Logic, Inc. Multi-device synchronization of devices
CN106209542B (zh) * 2016-06-23 2019-08-02 北京东土科技股份有限公司 工业互联网现场层宽带总线架构系统
CN113946937B (zh) * 2021-08-27 2023-01-10 芯华章科技股份有限公司 同步方法及仿真器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727171A (en) * 1995-11-16 1998-03-10 International Business Machines Corporation Method and apparatus for allowing multi-speed synchronous communications between a processor and both slow and fast computing devices
US5916311A (en) * 1996-03-27 1999-06-29 Matsushita Electric Industrial Co., Ltd. Bus controller and information processing device providing reduced idle cycle time during synchronization
JPH10232853A (ja) * 1997-02-18 1998-09-02 Toshiba Corp シリアルデータ転送回路
US5809291A (en) * 1997-02-19 1998-09-15 International Business Machines Corp. Interoperable 33 MHz and 66 MHz devices on the same PCI bus
US5978869A (en) * 1997-07-21 1999-11-02 International Business Machines Corporation Enhanced dual speed bus computer system
US6298067B1 (en) * 1998-05-01 2001-10-02 3 Com Corporation Distributed arbitration scheme for network device
JP3857052B2 (ja) * 1998-07-02 2006-12-13 株式会社ルネサステクノロジ マイクロプロセッサ
US6510473B1 (en) * 1999-08-19 2003-01-21 Micron Technology, Inc. Apparatus and method for automatically selecting an appropriate signal from a plurality of signals, based on the configuration of a peripheral installed within a computing device
US6636912B2 (en) * 1999-10-07 2003-10-21 Intel Corporation Method and apparatus for mode selection in a computer system
US6600669B2 (en) * 2001-06-27 2003-07-29 The Board Of Regents Of The University And Community College System Of Nevada, On Behalf Of The University Of Nevada At Reno Random pulse width modulation method and device
US7080304B2 (en) * 2002-02-26 2006-07-18 Teradyne, Inc. Technique for programming clocks in automatic test system

Also Published As

Publication number Publication date
CN1508646A (zh) 2004-06-30
US6948017B2 (en) 2005-09-20
CN1243296C (zh) 2006-02-22
US20040123178A1 (en) 2004-06-24
JP2004199664A (ja) 2004-07-15

Similar Documents

Publication Publication Date Title
JP3954011B2 (ja) サブシステム間で通信するための方法およびコンピュータ・システム
KR101442791B1 (ko) 통신 포트에 대한 가변 클록 게이팅 히스테리시스를 채용하는 장치 및 방법들
JP3526920B2 (ja) コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法
KR102384347B1 (ko) 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
US9916166B2 (en) Power supply control for a processing device, array-type processing device,and information processing system, and control method thereof
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
US6272580B1 (en) Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system
WO2005114435A1 (en) Methods and apparatus for bussed communications
JP3665030B2 (ja) バス制御方法及び情報処理装置
JP2007058716A (ja) データ転送バスシステム
TWI540438B (zh) 記憶體控制元件
JP2006040276A (ja) 選択的なクロック制御に基づいて消費電力を節減させるバス仲裁システム及びその方法
KR20230164152A (ko) 심리스하게 집적된 마이크로컨트롤러 칩
TWI750118B (zh) 時脈管理電路系統、系統單晶片以及時脈管理方法
WO2007105376A1 (ja) 集積回路、及び集積回路システム
JP4124579B2 (ja) バス制御システム
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP5528939B2 (ja) マイクロコンピュータ
JPH0215357A (ja) データ処理装置
JP5304510B2 (ja) 調停装置、バスアクセス調停プログラムおよびバスアクセス調停方法
JP2007128196A (ja) 情報処理システム及び情報処理システムの制御方法
JP2004234269A (ja) データ転送装置
JP2019091175A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2002269026A (ja) マイクロコンピュータ装置
JP2007048166A (ja) 情報処理システム、及び、情報処理システムの制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060628

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees