JP2006511897A - アドレスバス出力制御用の装置及び方法 - Google Patents

アドレスバス出力制御用の装置及び方法 Download PDF

Info

Publication number
JP2006511897A
JP2006511897A JP2005508447A JP2005508447A JP2006511897A JP 2006511897 A JP2006511897 A JP 2006511897A JP 2005508447 A JP2005508447 A JP 2005508447A JP 2005508447 A JP2005508447 A JP 2005508447A JP 2006511897 A JP2006511897 A JP 2006511897A
Authority
JP
Japan
Prior art keywords
address
bus
sense amplifier
agent
bus agent
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.)
Granted
Application number
JP2005508447A
Other languages
English (en)
Other versions
JP4813180B2 (ja
Inventor
カーツ,ツヴィカ
オレンスティエン,ドロン
ユッフェ,マルセロ
Original Assignee
インテル コーポレイション
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
Priority claimed from US10/317,798 external-priority patent/US7216240B2/en
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006511897A publication Critical patent/JP2006511897A/ja
Application granted granted Critical
Publication of JP4813180B2 publication Critical patent/JP4813180B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)
  • Dram (AREA)
  • Amplifiers (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Microcomputers (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Machine Translation (AREA)

Abstract

多様な装置及び方法が記載される。フロントサイドバスのデータバス部分からデータを受信するデータセンス増幅器を有するプロセッサにより実行される第1の方法によると、アドレスストローブがアサートされることに応じて、データセンス増幅器はイネーブルになる。少なくともキューが空になることに応じて、データセンス増幅器はディセーブルになる。フロントサイドバスのデータバス部分からデータを受信するデータセンス増幅器と、フロントサイドバスのアドレスバス部分からアドレスを受信するアドレスセンス増幅器とを有するプロセッサにより実行される第2の方法によると、要求指示がアサートされることに応じて、アドレスセンス増幅器がイネーブルになる。アドレスストローブがアサートされることに応じて、データセンス増幅器がイネーブルになる。要求指示がアサート停止されることに応じて、アドレスセンス増幅器がディセーブルになる。少なくともキューが空になることに応じて、アドレスセンス増幅器がディセーブルになる。キューはこれからデータバスで実行されるトランザクションを追跡する。

Description

この出願は、2002年12月11日に出願された米国特許出願第10/317,798の一部継続出願である。
本発明の1つ以上の実施例は、概して、集積回路とコンピュータシステム設計とに関するものである。特に、本発明の1つ以上の実施例は、アドレスバス出力制御用の方法及び装置に関するものである。
一般的に、コンピュータシステム内の装置間の通信は、そのような装置を相互接続する1つ以上のバスを使用して実行される。これらのバスは、2つの装置を結合する専用バスでもよく、複数のユニット及び装置(例えばバスエージェント)により多重化される非専用バスでもよい。更に、コンピュータシステム内のバスは、特定の種類の情報を伝送することに専用でもよい。例えば、CaliforniaのSanta ClaraのIntel Corporationにより開発されたx86マイクロプロセッサアーキテクチャは、アドレス信号とデータ信号と制御信号とをそれぞれ伝送するアドレスバスとデータバスと制御バスとを備えた3つのバスシステムを有する。
Pentium(登録商標)Pro、Pentium(登録商標)II、Pentium(登録商標)III又はPentium(登録商標)4のような進歩したアーキテクチャ及びプロセッサを使用したコンピュータシステムにおいて、バスのトランザクションは一般的にパイプライン型に生じる。特に、次のメモリアクセスは、以前のトランザクション要求が出された後に開始してもよく、バストランザクションの全ての構成要素又はフェーズは、他のバストランザクションが始まり得る前に完了する必要はない。従って、複数のバスエージェントからの要求は、常に保留中でもよい。バストランザクションのパイプライン方式は、別々のデータ及びアドレスバスにより促進される。要求のアドレスがアドレスバスで送信されると、アドレスバスで以前に出されたアドレスに対応するデータ(又は信号)がデータバスに戻されてもよい。
コンピュータシステム内のスループットを増加させるために、膨大な研究とシステムアーキテクチャ設計の取り組みが向けられてきた。データパイプライン方式、順序が狂った実行(out-of-order execution)等のような技術は、かなり高いクロックレート及びワールドクラスの性能を備えた進歩したアーキテクチャ及び処理を可能にする。
更に、この研究及びアーキテクチャ再設計は、ラップトップコンピュータやハンドヘルド装置や携帯情報端末(PDA:personal digital assistant)等のモバイル市場を可能にした。残念ながら、このようなモバイルプラットフォームは、他の電源が利用可能でないときに、各モバイルプラットフォームにより使用されるバッテリー寿命により決定される実行時間に限度があることがある。モバイルプラットフォームの複雑性に応じて、付属バッテリーからの電力リソースは比較的短い時間に使い尽くされることがある。部分的には、このことは、プラットフォームの多数の電子要素が使用されていないときでも、電力を消費し続けるという事実に起因する。
本発明の多様な実施例は、添付図面の図において、限定ではなく一例として示されている。
完全な理解を提供するために、以下の説明において、ロジックの実装や、信号及びバスのサイズ及び名前や、システム構成要素の形式及び相互関係や、ロジックの分割/統合の選択肢のような多数の特定の詳細が示されている。しかし、本発明は、そのような特別の詳細なしに実行され得ることが当業者にわかる。その他に、本発明をあいまいにしないように、制御構成及びゲートレベル回路が詳細に示されていない。包含される説明で、過度の実験を行うことなく、当業者は適切な論理回路を実装することが出来るであろう。
図1は、例示的なコンピュータシステムの従来のプロセッサ(CPU)110及びメモリコントローラ(MCH:memory controller)構成を示した図である。図示のように、CPU110は、プロセッサシステムバス又はフロントサイドバス(FSB:front-side bus)102のデータ線を介して受信したデータを取得するように動作する入力バッファ112を有してもよい。CPU110の入力バッファ112は、FSB102のデータバス部分を介してCPU110に送信されるセンスデータに結合され得る複数のアドレスバス入力センス増幅器114(114-1,...,114-N)を有する。
CPU110について、データバス入力センス増幅器114は、次のシステム初期化で継続的にイネーブルである。イネーブルの間に、データ入力センス増幅器114は電力を消費する。
次に図2を参照して、一実施例のプロセッサ(CPU)について説明する。図2に示す実施例では、CPU300はモバイルプラットフォームCPUである。他の実施例では、CPU300は、例えばデジタル信号プロセッサ、グラフィックスプロセッサ、内蔵プロセッサ等を含む異なる形式のプロセッサでもよいことがわかる。
図示のように、CPU300は、併せて入力バッファ310として示されている入力バッファを有する。入力バッファ310は、Nのアドレス入力センス増幅器320(320-1,...,320-N)を有する。センス増幅器320は、内部データバス信号線(paddr)322(322-1,...,322-N-1)に結合された出力を有する。入力バッファ310はまた、更なる内部データ線及び/又は制御線に結合されてもよい。一実施例では、センス増幅器320は、フロントサイドバス(FSB)330の複数のアドレス線FSB A[0..N-1]#に結合された入力を有する。
一実施例では、FSB330は、Pentium(登録商標)4プロセッサのフロントサイドバスプロトコルと互換性があり、その特徴は、2001年11月1日に公開された同時継続のSingh他の米国特許出願第US2001/0037421A1に記載されている。FSBがPentium(登録商標)4プロセッサのフロントサイドバスと互換性がある場合、FSB330は、64のデータ線FSB D[0..63]を有する。他の実施例では、FSB330は異なるバスプロトコルと互換性があってもよく、及び/又は異なる数のデータ線を有してもよい。
続けて図2を参照すると、一実施例では、入力バッファ310は、バスクロック(BCLK)信号とFSB330に関連するアドレスバス出力制御(BPRI#)信号350とを受信するように結合されたラッチ352を更に有する。一実施例では、BPRI#信号は、例えばFSB330でCPU300に更に結合されたチップセット装置(図示なし)から受信されてもよい。ラッチ352の出力は、アドレス入力センス増幅器320のそれぞれの入力をイネーブルにするように結合される。
動作中に、BCLK信号が変化すると、ラッチ352は、BPRI#信号の状態をラッチする。BPRI#信号がアサートされることに応じて、入力バッファ310のアドレス入力センス増幅器320は、アドレス線FSB A[0..N-1]#を介してFSB330からアドレスを取得するようにイネーブルになる。逆に、BPRI#信号がアサート停止されることに応じて、入力アドレスセンス増幅器がディセーブルになる。入力センス増幅器がディセーブルになると、その電力消費(主として、入力バッファにより電流提供されるバイアスによる温度浪費出力(TDP:thermal dissipation power))が低減される。
図3は、図2のCPU300が有利に使用され得る一実施例の例示的なシステム500のブロック図である。CPU300に加えて、システム500は、一実施例ではメモリコントロールハブ(MCH:memory control hub)510と呼ばれるメモリコントローラと、一実施例ではI/Oコントロールハブ(ICH:I/O control hub)530と呼ばれる入出力(I/O)コントローラとを有する。MCH510とICH530とを併せてチップセット502と呼ばれることもある。MCH510は、FSB330を介してCPU300に結合され、バス150を介してICH530に結合されている。メインメモリ520と1つ以上のグラフィックス装置550もMCH510に結合されている。MCHは(例えばモバイルアプリケーションでの使用のため)統合グラフィックサポートを有してもよい。
システム500の入出力サブシステムは、ハードディスクドライブ(HDD)210のように、ICH530に結合された多様な異なる形式の入出力装置を有してもよく、1つ以上のUSBポート190は、ユニバーサルシリアルバス(USB)192を介してICH530に結合されてもよく、及び/又は1つ以上の周辺構成要素相互接続(PCI:pheripheral component interconnect)装置180は、対応するバス182を介してICHに結合されてもよい。更に、ある実施例では、1つ以上のオーディオチャネル170及び/又はローカルエリアネットワーク(LAN)インタフェース220もまたICH530に結合されてもよい。
多様なプロセッサとフロントサイドバス技術とを備えた実装が可能である。FSB330がP4プロセッサのフロントサイドバスと互換性がある実施例では、FSB330は、アドレス、データ及び制御部分(代替として、アドレス、データ及び制御バスと呼ばれることもある)を有するパイプライン方式データバスである。
ここで、FSB330に結合された装置はまた、FSB330に関するバスエージェントとも呼ばれる。一実施例では、3つの形式のエージェント(要求エージェント、応答エージェント及び検査エージェント(snoop agent))がFSB330に存在してもよい。要求エージェントは、例えばメモリ又はI/O読み取り若しくは書き込み要求のような要求を出すことによりトランザクションを開始する装置である。応答エージェントは、例えばI/O対象又はメモリ対象のようなトランザクションの対象である。検査エージェントは、一般的にキャッシュメモリに関連するバスの装置である。他の実施例では、バスエージェントは異なるように分類されてもよい。
FSB330がパイプライン式バスの場合、バストランザクションはフェーズに分離されてもよく、複数のトランザクションが重複してもよい。特に、バストランザクションの全ての構成要素又はフェーズは、他のバストランザクションが始まり得る前に完了する必要はない。
ここで使用される“トランザクション”という用語は、単一のバスアクセス要求に関係するバス活動を示している。トランザクションは複数のフェーズを有し、それぞれのフェーズが特定の形式の情報を通信するバス信号の特別のセットに関連してもよい。一実施例では、例示的なフェーズは、例えば、仲裁フェーズ、要求フェーズ、検査フェーズ、応答フェーズ及び/又はデータフェーズを有してもよい。
要求フェーズでは、要求エージェントは、FSB330で要求制御及びアドレス情報を駆動する。その後の検査フェーズの間に、検索後のデータがローカルに格納されているか否か、及び/又は以前に出されたトランザクションに関してトランザクションが適切に完了する可能性があるか否かについて決定する。応答フェーズでは、応答エージェントは、要求トランザクションが成功したか失敗したかを示す情報を要求エージェントに報告する。要求トランザクションがデータ伝送を有する場合、データ伝送フェーズとも呼ばれるデータフェーズが、データレディ(DRDY#)信号のアサートに応じて開始されてもよい。
図3に示すように、一実施例では、前述のBPRI#信号は、FSB330の一部としてMCH510によりアサート及びアサート停止される。一実施例では、MCHは、BPRI#信号のアサート及びアサート停止を行わせるコントローラ512を有する。代替実施例では、コントローラ512は、FSB330に結合された他の装置/エージェントに備えられてもよい。コントローラ512がBPRI#信号のアサート及びアサート停止を行わせる方法については、以下に詳細に説明する。
一実施例において、コントローラ512は、FSB330にアドレス活動が存在しない間にCPU300の入力アドレスセンス増幅器320がディセーブルになり、アドレス伝送動作の前にイネーブルになるように、BPRI#信号のアサート及びアサート停止を行わせる。一実施例では、コントローラは、プロセッサがアドレス情報を取得するときにBPRI#信号を適用する。前記の他の方法では、コントローラ512は、FSB330で提供されるアドレス値を検知したときにCPU300のセンス増幅器320がイネーブルになるように、BPRI#信号のアサートを行わせる。アドレス値がFSB330を通じてプロセッサに伝送され、所定の時間フレーム(例えば所定数のクロック周期)内に入力アドレス値伝送が存在しない場合、コントローラ512は、センス増幅器の電力消費を減少させるために、BPRI#信号のアサート停止を行わせる。
図4は、(例えば図3でも観測されるような)コンピュータシステム内で使用され得る実施例のBPRI#信号を示したタイミング図である。図4のタイミング図は、1)図2の説明に関して前述したバスクロック(BCLK)信号410と、2)コンピュータシステムプロセッサにより制御されるバス要求信号BR[0]#信号420と、3)BPRI#信号350と、4)バスをロックするLOCK#信号430と、5)アドレスストローブ(address strobe)信号(ADS#)440と、6)アドレスバスに示されるアドレス値の表示とのクロック周期T1-T10を示している。
前述の信号で、信号名の終わりの“#”は、関連する信号がアクティブ・ローの信号(すなわち、ロジック低レベルになるとアサートされると考えられる)であることを示している。同様の機能を提供するために、関連の回路に対応する変更を行い、代わりにアクティブ・ハイの信号が使用されてもよいことがわかる。更に、一実施例では、FSB330信号の1つ以上は、フルスイング(full swing)より小さい電圧スイングを有する低電圧スイング信号(swing signal)である。
図4に示す例のトランザクションでは、FSBはアドレス値の伝送についてクロック周期T1で“不活動”であり、その結果、プロセッサのセンス増幅器はディセーブルの低電力消費状態になる。次にT2において、送信バスエージェントのコントローラは、BPRI#信号350のアサートを行わせることにより、FSBでの受信バスエージェントにアドレス値を伝送する処理を開始する。例えば、送信バスエージェントが受信バスエージェントに要求を送信する必要があると認識すると、その処理が開始されてもよい。ここで、アドレスバスにアドレス値を示すことにより、(例えばバスプロトコルの要求フェーズ中に)要求が行われてもよい。一実施例では、送信バスエージェントはMCH(例えば図3のMCH512)であり、受信バスエージェントはプロセッサ(例えば図3のCPU300)である。この場合、MCHがFSBを使用する必要があるときに、MCHがFSBを制御することができるように、MCHは優先エージェント状態を与えられてもよい。
実施例において、送信エージェント(例えば図3のMCH512)は、(例えば要求がバスで送信されることを認識することにより)アドレス値の伝送が実行されることを認識し、その結果、アドレス値が受信エージェントにより受信される十分前にBPRI#信号350のアサートを行わせる(それにより、受信エージェントのセンス増幅器が適切にイネーブルになり、アドレス値を受信する)コントローラ512を有する。ここで、受信バスエージェントはBPRI#信号のアサートを検出し、それに応じてセンス増幅器がイネーブルになる。従って、一般的に、コントローラが出力信号(例えば図4のBPRI#信号)のアサートを行わせ、次に、受信エージェントのセンス増幅器がイネーブルになるように行わせる。
図4の実施例では、受信バスエージェントは、BPRI#信号350がアサートになったクロック周期に続く次のクロック周期で、そのセンス増幅器をイネーブルにし始める。センス増幅器がFSBから適切にアドレス値を受信することを確保するため、全クロック周期が費やされる(クロック周期T3)。すなわち、図4の実施例では、BPRI#信号350は、クロック周期T2とT3との間のクロックエッジで受信バスエージェントによりラッチされる。受信エージェントによるBPRI#信号の検出に応じて、受信エージェントはセンス増幅器をイネーブルにする。センス増幅器は、送信バスエージェントからアドレス値を受信するために十分にイネーブルになるために、次の全クロック周期(クロック周期T3)を与えられる。クロック周期T3に生じるディセーブルからイネーブルへの変化のため、クロック周期T3ではセンス増幅器は“ディセーブル”とみなされる。図4の実施例のクロック周期T4で、送信バスエージェントは、(図4の“ReqA”及び“ReqB”により示されるように)アドレスストローブ信号(ADS#)440のアサートでFSBのアドレス値を示す。
その結果、図4の実施例では、ReqA及びReqBアドレス値は、適切な位置にあるクロックエッジ(例えば、ReqA値をラッチするためのクロック周期T4の間のバスクロック410の立下りと、ReqB値をラッチするためのクロック周期T4とT5との間のバスクロック410の立ち上がり)で、センス増幅器を通じて受信バスエージェントにラッチされる。送信バスエージェントもまた、クロック周期T5の間にアドレスストローブ440をアサート停止し、それにより、クロック周期T4の間に生じたアドレス値伝送から、アドレス値(周期T6の間の“ReqA”及び“ReqB”)の迅速な次の伝送が明らかに表され得る。次に、アドレスストローブ440は、クロック周期T6の間に再アサートされ、次のアドレス値伝送をもたらす。
図4の実施例では、送信エージェントのコントローラ512は、クロック周期T6の間のアドレスストローブ信号440の再アサートで、BPRI#信号350のアサート停止を行わせる。実施例において、送信バスエージェントのコントローラ(例えば図3のコントローラ512のような前述のコントローラ)は、1)アドレス値の“次の”伝送が少なくともある程度の期間(例えばアドレス値の“現在の”伝送(クロック周期T6での“現在の”伝送はReqAとReqBの第2の伝送である)を過ぎて複数のクロック周期)生じないことを認識し、2)その結果、現在のアドレス値の伝送が受信バスエージェントにより認識されたすぐ後にセンス増幅器をディセーブルにするように、BPRI#信号350のアサート停止を行わせる。また、ここで、実施例においてコントローラは要求がFSBで行われる必要があるか否かを監視することにより、“次の”伝送アドレスが生じるか否かを認識する。すなわち、FSBのアドレスバス部分にアドレス値をセットすることにより、要求がバスに示される。
図4の例では、(図4でわかるように、クロック周期T6とT10との間にアドレス値の伝送が生じないため)少なくとも4クロック周期の間にアドレス値の他の伝送が“T6”の伝送に続かないことが、クロック周期T6時点で認識される。その結果、コントローラ512は、クロック周期T6でBPRI#信号のアサート停止を行わせる。他の実施例では、BPRI#信号440のアサート停止を行わせるために、異なる数のクロック周期又は他の指標の時間が使用されてもよいことがわかる。
アドレスバス出力制御方法は、図5に示すフローチャート500に記載されている。処理ブロック502において、送信エージェント(例えばMCH)は、アドレスが受信エージェント(例えばプロセッサ)に伝送されることを検出する。処理ブロック504において、送信エージェントはいつBPRI#信号がアサートされるかを決定する。処理ブロック506において、送信エージェントはBPRI#信号のアサートを行わせ、受信エージェントのセンス増幅器がアドレスを受信することを可能にする。
処理ブロック508において、送信エージェントは、受信エージェントへのアドレス伝送の終了に基づいて、いつBPRI#信号のアサート停止を行わせるかを決定する。処理ブロック510において、送信エージェントは、受信エージェントのアドレス入力センス増幅器をディセーブルにさせるBPRI#信号のアサート停止を行わせる。
図6は、一実施例に従ってアドレスバス出力制御信号BPRI#のアサート停止を行わせる更なる技術を示したフローチャート600を示している。処理ブロック602において、送信エージェントは、更なるアドレス(現在のアドレスに関して更なるアドレスは受信エージェントに伝送される)が受信エージェントに送信されるか否かを決定する。そのような更なるアドレスが検出されない場合、処理ブロック608において、現在のアドレス伝送の終了に続いてアドレスバス出力制御信号BPRI#がアサート停止になり、受信エージェントのアドレス入力センス増幅器をディセーブルにする。
一方、更なるアドレスが受信エージェントに伝送されることを送信エージェントが検出すると、処理ブロック604において、所定のクロック周期内に更なるアドレスが受信エージェントに送信されるか否かを送信エージェントが決定する。更なるアドレスが所定のクロック周期を超えて伝送される場合、処理ブロック608において、現在のアドレス伝送の終了に続いてアドレスバス出力制御信号BPRI#がアサート停止になり、受信エージェントのアドレス入力センス増幅器をディセーブルにする。
所定のクロック周期内に更なるアドレスが伝送される場合、処理ブロック606において、送信エージェントは、アドレスバス出力制御信号BPRI#のアサート停止を遅延させ、アドレス入力センス増幅器がイネーブルになり続けるようにする。処理ブロック608において、送信エージェントはBPRI#信号をアサート停止し、更なるアドレス伝送の終了に続いて受信エージェントのアドレスセンス増幅器をディセーブルにし、受信エージェントのアドレス入力センス増幅器をディセーブルにする。
データバス出力制御の方法は、図7に示すフォローチャート700に記載されている。処理ブロック702において、受信エージェント(例えばCPU)は、別のエージェントからアドレスを受信する。処理ブロック704において、アドレスを受信する前に、受信エージェントはBPRI#信号のアサートを検出し、アドレスを受信するために受信エージェントのアドレス入力センス増幅器をイネーブルにさせる。処理ブロック706において、受信エージェントはアドレスを受信する。処理ブロック708において、受信エージェントはBPRI#信号のアサート停止を検出し、受信エージェントのアドレス入力センス増幅器のディセーブルを行わせ、電力消費を低減する。
図8は、開示された技術を使用して設計のシミュレーション、エミュレーション及び構成用の多様な設計表現又はフォーマットを示したブロック図である。設計を表すデータは、多数の方法で設計を表してもよい。まず、シミュレーションで有用なように、ハードウェアは、設計されたハードウェアが実行すると予期される方法のコンピュータモデルを本質的に提供するハードウェア記述言語又は他の機能記述言語を用いて表されてもよい。ハードウェアモデル810は、コンピュータメモリのような記憶媒体800に格納されてもよく、それにより、実際に意図した通り機能するか否かを決定するためにハードウェアモデルに特定のテスト一式830を適用するシミュレーションソフトウェア820を使用して、モデルがシミュレーションされてもよい。ある実施例では、シミュレーションソフトウェアは媒体に記録、取得又は包含されない。
更に、ロジック及び/又はトランジスタゲートを備えた回路レベルのモデルが、設計過程のある段階で作られてもよい。そのモデルは、プログラム可能ロジックを使用したモデルを形成する専用ハードウェアシミュレータにより、何度か同様にシミュレーションされてもよい。ある程度のこの形式のシミュレーションは、更にエミュレーション技術でもよい。いずれの場合でも、再構成可能ハードウェアは、開示された技術を使用したモデルを格納した機械読取可能媒体を含み得る他の実施例である。
更に、ある段階でのほとんどの設計は、ハードウェアモデルの多様な装置の物理配置を表すデータのレベルに到達する。従来の半導体構成技術が使用される場合、ハードウェアモデルを表すデータは、集積回路を作るために使用される異なるマスクレイヤ又はマスクの多様な機能の存在又は欠如を特定するデータでもよい。また、集積回路を表すこのデータは、回路ロジック及びデータが技術を実行するためにシミュレーション又は構成され得る点で開示された技術を具体化する。
設計の如何なる表示において、データは如何なる形式の機械読取可能媒体に格納されてもよい。そのような情報を伝送するために変調又は生成された光波又は電波860、メモリ850又はディスクのような磁気若しくは光記憶装置840は、機械読取可能媒体でもよい。これらの媒体の如何なるものも設計情報を運んでもよい。このように、“運ぶ”(例えば機械読取可能媒体が情報を運ぶ)という用語は、記憶装置に格納された情報又は符号化若しくは搬送波に変調された情報をカバーする。設計又は特定の設計を記述するビットのセットは、(搬送波又は記憶媒体のような機械読取可能媒体に具体化されると)それ自体閉じ込められたものであり、また、更なる設計又は構成のため他人により使用されるものである。
[代替実施例]
他の実施例では、異なるシステム構成が使用されてもよいことがわかる。例えば、システム500は単一のCPU300を有するが、他の実施例では(1つ以上のプロセッサが前述のCPU300の構成及び動作と類似し得る)マルチプロセッサシステムが多様な実施例のアドレスバス出力制御手法から恩恵を受けてもよい。例えば、サーバ、ワークステーション、デスクトップコンピュータシステム、ゲームシステム、内蔵コンピュータシステム、ブレードサーバ等のような異なる形式のシステム又は異なる形式のコンピュータシステムが、他の実施例で使用されてもよい。
例示的な実施例を開示したが、特許請求の範囲に定められる本発明の実施例の範囲内にとどまりながら、開示された実施例に変更及び変形が行われ得る。
[下位互換の節電バス設計]
図9は、中央処理ユニット(CPU)901が使用され得る例示的な単一プロセッサコンピュータシステム900のブロック図である。CPU901に加えて、システム900は、一実施例ではメモリコントロールハブ(MCH:memory control hub)910と呼ばれるメモリコントローラと、一実施例ではI/Oコントロールハブ(ICH:I/O control hub)930と呼ばれる入出力(I/O)コントローラとを有する。複数の半導体チップとして実装されると、MCH910とICH930とを併せてチップセット902と呼ばれることもある。MCH910は、フロントサイドバス(FSB)931を介してCPU901に結合され、バス950を介してICH930に結合されている。メインメモリ920と1つ以上のグラフィックス装置940もMCH910に結合されている。
システム900のI/Oサブシステムは、ハードディスクドライブ(HDD)911のように、ICH930に結合された多様な異なる形式の入出力装置を有してもよく、1つ以上のUSBポート912は、ユニバーサルシリアルバス(USB)913を介してICH930に結合されてもよく、及び/又は1つ以上の周辺構成要素相互接続(PCI)装置914は、対応するPCIバス915を介してICHに結合されてもよい。更に、ある実施例では、1つ以上のオーディオチャネル916及び/又はローカルエリアネットワーク(LAN)インタフェース917もまたICH930に結合されてもよい。少なくとも1つの実施例では、FSB931はIntel社からのP4プロセッサのフロントサイドバスと互換性がある点に留意すべきである。
ここで、FSB931に結合された装置はまた、FSB931に関するバスエージェントとも呼ばれる。一実施例では、3つの形式のエージェント(要求エージェント、応答エージェント及び検査エージェント(snoop agent))がFSB931に存在してもよい。要求エージェントは、例えばメモリ又はI/O読み取り若しくは書き込み要求のような要求を出すことによりトランザクションを開始する装置である。応答エージェントは、例えばI/O対象又はメモリ対象のようなトランザクションの対象である。検査エージェントは、一般的にキャッシュメモリに関連するバスの装置である。他の実施例では、バスエージェントは異なるように分類されてもよい。
FSB931がパイプライン式バスの場合、バストランザクションはフェーズに分離されてもよく、複数のトランザクションが重複してもよい。特に、バストランザクションの全ての構成要素又はフェーズは、他のバストランザクションが始まり得る前に完了する必要はない。
ここで使用される“トランザクション”という用語は、単一のバスアクセス要求に関係するバス活動を示している。トランザクションは複数のフェーズを有し、それぞれのフェーズが特定の形式の情報を通信するバス信号の特別のセットに関連してもよい。一実施例では、例示的なフェーズは、例えば、仲裁フェーズ、要求フェーズ、検査フェーズ、応答フェーズ及び/又はデータフェーズを有してもよい。
要求フェーズでは、要求エージェントは、FSB931で要求制御及びアドレス情報を駆動する。その後の検査フェーズの間に、検索後のデータがローカルに格納されているか否か、及び/又は以前に出されたトランザクションに関してトランザクションが適切に完了する可能性があるか否かについて決定する。応答フェーズでは、応答エージェントは、要求トランザクションが成功したか失敗したかを示す情報を要求エージェントに報告する。要求トランザクションがデータ伝送を有する場合、データ伝送フェーズとも呼ばれるデータフェーズが、データレディ(DRDY#)信号のアサートに応じて開始されてもよい。
以下に詳細に説明するように、要求信号は、FSB931を使用するためにMCH910によりアサートされてもよい。しばしば、メモリ920が全体としてのコンピュータシステムの全効率の必要の重要性のため、MCH910はFSB931に対して“優先”エージェントと呼ばれる。従って、多様な実施例では、MCH910がFSB931でアサートする前述の要求信号は、“バス優先エージェント要求指示”(BPRI:Bus Priority agent Request Indication)と呼ばれる。MCH910がFSB931を使用しようとする場合、MCHはBPRI#信号をアサートし、MCH510がFSB931をもはや使用しようとしない場合、MCHはBPRI#信号をアサート停止する(#はアクティブ・ローの信号を示すことに留意すべきである)。MCHは、BPRI#信号のアサート及びアサート停止を制御するコントローラ918(又は制御ロジック918)を有する。
一実施例において、コントローラ918は、MCH910によりFSB931で提供されたアドレス値を検知するときにCPU901内のセンス増幅器がイネーブルになるように、BPRI#信号のアサートを行わせる。アドレス値がFSB931を通じてプロセッサ901に伝送され、所定の時間フレーム(例えば所定数のクロック周期)内に入力アドレス値伝送が存在しない場合、コントローラ918は、センス増幅器の電力消費を減少させるために、BPRI#信号のアサート停止を行わせる。
次に図10を参照してCPU1001について説明する。図10のCPU1001は、図9を参照して前述したCPU901の実施例に対応するものと考えてもよい。図示のように、CPU1001は、併せて入力バッファ1010として示されている入力バッファを有する。図10の入力バッファの実施例1010は、(N-1)-3のアドレス入力センス増幅器1020(1020-3,...,1020-(N-1))を有する。センス増幅器1020は、内部データバス信号線(paddr)1022(1022-3,...,1022-(N-1))に結合された出力を有する。入力バッファ1010はまた、更なる内部データ線及び/又は制御線に結合されてもよい。一実施例では、センス増幅器1020は、フロントサイドバス(FSB)1031の複数のアドレス線FSB A[3..N-1]#に結合された入力を有する。図10のFSBアドレスバス1031(以下、FSB1031と呼ぶ)は、例えば図9のFSB931のアドレス部分に対応するものとして考えてもよい。
少なくとも一実施例では、FSB1031は、Intel Pentium(登録商標)4プロセッサ(P4)のフロントサイドバスプロトコルと互換性がある。他の実施例では、FSB1031は異なるバスプロトコルと互換性があってもよいことがわかる。図10の入力バッファ1010の実施例は、バスクロック(BCLK)信号とFSB1031に関連する前述のBPRI#信号1050とを受信するように構成されたラッチ1052を更に有する。ラッチ1052の出力は、アドレス入力センス増幅器1020のそれぞれの入力をイネーブルにするように結合される。
動作中に、BCLK信号が変化すると、ラッチ1052は、BPRI#信号の状態をラッチする。BPRI#信号がアサートされることに応じて、入力バッファ1010のアドレス入力センス増幅器1020は、アドレス線FSB A[3..N-1]#を介してFSB1031からアドレスを取得するようにイネーブルになる。逆に、BPRI#信号がアサート停止されることに応じて、入力アドレスセンス増幅器がディセーブルになる。入力センス増幅器がディセーブルになると、その電力消費(例えば、バイアス電流による温度浪費出力(TDP:thermal dissipation power))が低減される。
図11は、(例えば図9で観測されるような)単一プロセッサコンピュータシステム内で使用され得る実施例のBPRI#信号を示したタイミング図である。図11のタイミング図は、1)前述したバスクロック(BCLK)信号1110と、2)BREQ0#信号1120と、3)前述したBPRI#信号1150と、4) LOCK#信号1130と、5)アドレスストローブ(address strobe)信号(ADS#)1140と、6)アドレスバスに示されるアドレス値の表示1102、1104と、7)入力バッファセンス増幅器の状態とのクロック周期T1-T10を示している。前述の信号で、信号名の終わりの“#”は、関連する信号がアクティブ・ローの信号(すなわち、ロジック低レベルになるとアサートされると考えられる)であることを示している。同様の機能を提供するために、関連の回路に対応する変更を行い、代わりにアクティブ・ハイの信号が使用されてもよいことがわかる。
図11に示す例のトランザクションでは、FSBはアドレス値の伝送について最初に“不活動”であり、その結果、プロセッサのセンス増幅器は最初にディセーブルの低電力消費状態になる。次にT2において、送信バスエージェントは、BPRI#信号1150のアサートをすることにより、FSBでの受信バスエージェント(例えばプロセッサ/CPU)にアドレス値を伝送する処理を開始する。図11の実施例では、受信バスエージェント(例えばCPU)は、BPRI#信号350がアサートされるクロック周期に続くクロック周期の後にアドレス値を受信するように、そのセンス増幅器をイネーブルにさせる。これが、図11に、“ディセーブル”(クロック周期T3)から“イネーブル”(クロック周期T4)への変化により図示されている。
すなわち、センス増幅器がクロック周期T4の間にFSBからアドレス値を適切に受信することを確保するため、全クロック周期が費やされる(クロック周期T3)。図11に表され得る少なくとも一実施例によると、BPRI#信号1150は、クロック周期T2とT3との間のクロックエッジで受信バスエージェントによりラッチされる。その後、センス増幅器がイネーブルになり始める。センス増幅器は、送信バスエージェントからアドレス値を受信するために十分にイネーブルになるために、次の全クロック周期(クロック周期T3)を与えられる。クロック周期T4で、送信バスエージェントは、(図11の“ReqA”及び“ReqB”により示されるように) FSBのアドレス値を示し、アドレスストローブ信号(ADS#)1140をアサートする。
その結果、ReqA及びReqBアドレス値は、適切な位置にあるクロックエッジ(例えば、ReqA値をラッチするためのバスクロック1110の立ち上がりと、ReqB値をラッチするためのバスクロック1110の立下り)で、センス増幅器を通じて受信バスエージェントにラッチされ得る。送信バスエージェントもまた、クロック周期T5の間にアドレスストローブ1140をアサート停止し、それにより、クロック周期T4の間に生じたアドレス値伝送から、アドレス値(周期T6の間の“ReqA”及び“ReqB”)の迅速な次の伝送が明らかに表され得る。次に、アドレスストローブ1140は、クロック周期T6の間に再アサートされ、次のアドレス値伝送をもたらす。
図11の実施例では、送信エージェントはまた、クロック周期T6の間のアドレスストローブ信号1140の再アサートで、BPRI#信号1150を不活性化する。実施例において、送信バスエージェントでのインテリジェンスの形式(例えば図9のコントローラ918)は、1)アドレス値の“次の”伝送が(クロック周期T6でのReqAとReqBの第2の伝送である)アドレス値の“現在の”伝送を超えて少なくともある数のクロック周期生じないことを認識し、2)その結果、現在のアドレス値の伝送が受信バスエージェントにより認識されたすぐ後にプロセッサでセンス増幅器をディセーブルにするように、BPRI#信号1150を自動的にアサート停止する。
図11の例では、BPRI#が再びアサートしない限り、MCHにより更なるトランザクションがFSBに対して出されないことがわかる。このように、プロセッサの電力消費を低減するように、入力バッファセンス増幅器がディセーブルに保持され続け得る。図11の例では、BPRI#はT7でアサート停止としてサンプルされるため、T7とT10との間にバスにADSが出されない。適当な他の実施例では、BIRI#信号のアサート停止を行わせるために、その後のアドレス伝送の間の異なる数のクロック周期又は他の指標の時間が使用されてもよい。
図10及び11は、フロントサイドバスのバス要求信号の状態に基づいてアドレスセンス増幅器のイネーブルを起動する低出力バストランザクション手法に関係する。一方、図12及び13は、他のフロントサイドバス信号のデータセンス増幅器のイネーブルを起動する低出力バストランザクション手法に関係する(以下に詳細に説明する)。図10と同様に、図12は、制御論理回路1252によりイネーブルにされる複数のデータセンス増幅器1220-1〜1002-Nを有するCPU1201を示している。データセンス増幅器1220-1〜1220-Nは、FSBトランザクションのデータフェーズの間にFSBのデータバスに示されるデータを取得する。データセンス増幅器1220-1〜1220-Nは、FSBから受信するデータが存在しない期間にディセーブルになり、その結果、低電力消費になる。図10〜13の教示が単一プロセッサにも構成され得ることがわかるであろう。
ここで、制御ロジック回路1252は、必要に応じてセンス増幅器1220-1〜1220-Nをイネーブル/ディセーブルにするために、FSBに関連する特定の信号に応じて、データセンス増幅器1220-1〜1220-Nをイネーブル及びディセーブルにする。特に、実施例において、制御論理回路1252は、1)アドレス信号(例えばADS#)がFSBでアサートされることに応じてデータセンス増幅器1220-1〜1220-Nをイネーブルにし、2)(i)“最後の”データレディ信号(例えばLast_DRDY)がアサート停止されることに応じて、(ii)順序キュー(IOQ:In-Order-Queue)が空になる(例えばRCNTパラメータが0と同じに設定されることにより示される)ことに応じて、及び(iii)データビジー信号(DBSY#)がアサート停止されることに応じて、データセンス増幅器1220-1〜1220-Nをディセーブルにする。ここで、プロセッサ1201は、前述の状態が容易に特定され得るように、バスの状態を追跡するように容易に設計され得る。例えば、“Last_DRDY”信号は、(フロントサイドバス制御信号に対して)プロセッサ内部制御信号として容易に設計され得る。
ADS#信号の起動は、(例えば、ADS#アサートが役割を果たすトランザクションのデータフェーズに、及び/又はその後のトランザクションのデータフェーズに)有効なデータがすぐにデータバスに示され得ることを示す。従って、センス増幅器1220-1〜1220-Nは、そのような有効なデータが示されるようにイネーブルにされるべきである。IOQが空であることと併せてLast_DRDY及びDBSY#信号のアサート停止は、有効なデータがかなりの以後の期間にデータバスに予期されないことを示す。その結果、センス増幅器1220-1〜1220-Nが電力を節約するためにディセーブルになる。
ここで、IOQは、トランザクションがフロントサイドバスに示されるためのトランザクションの有効なデータ応答をキューイングするものと考えられる。従って、IOQが空でない限り、近いうちに有効なデータがフロントサイドバスに現れることが予期され得る。従って、図12及び13の手法によると、IOQが空でない限り、データセンス増幅器がイネーブルのままになる。P4互換のアプリケーションでは、まだ実行されていないデータフェーズを追跡するために“RCNT”パラメータが使用される。従って、RCNTパラメータが0に等しく設定されていない場合に、IOQが空でないものとして認識される。RCNTパラメータが0に等しく設定されている場合に、IOQは空であるとして認識される。
図13は、前述のデータセンス増幅器のイネーブル/ディセーブル機構の例示的な図を示している。図6の図によれば、一対のバストランザクションが観測される。第1のバストランザクションは、1)周期T4でのアサートされたADS#信号(第1のバストランザクションの要求フェーズに対応する)と、2)周期T8及びT9でのアサートされたDRDY#信号及び対応するデータ伝送1301(第1のバストランザクションのデータフェーズに対応する)とを有する。第2のバストランザクションは、1)周期T6でのアサートされたADS#信号(第2のバストランザクションの要求フェーズに対応する)と、2)周期T13及びT14でのアサートされたDRDY#信号及び対応するデータ伝送1302(第2のバストランザクションのデータフェーズに対応する)とを有する。
データセンス増幅器は周期T1からT3までディセーブルである(周期T1からT3までRCNTパラメータ=“0”であることを示す)。周期T3とT4との間の第1のバストランザクションの間にADS#信号はアサートになり、このことは、データセンス増幅器が完全にイネーブルになることを可能にするように次の全クロック周期(T4)を提供することにより、データセンス増幅器がクロック周期T5の開始時にイネーブルであると考えられることに対応する。周期T3とT4との間のADS信号のアサートにより、RCNTパラメータが“0”から“1”に増加することに留意すべきである(すなわち、IOQは周期T3とT4との間に空から空でないものに変化すると考えられる)。データセンス増幅器がイネーブルになると、IOQが空になり(すなわちRCNT=0)データバスがアクティブでないことをDRDY#及びDBSY#信号が示すまで、ディセーブルにならない。
(周期T6での)第2のバストランザクションのADS#アサートが第1のバストランザクション(周期T9)のデータフェーズの終了前に生じるため、周期T6から周期T8までRCNT値が“2”の値に増加する。次に、トランザクションの応答がバスに示されると(例えば周期T8でRS[2:0]#がアクティブになることにより示すように)、RCNTの値を1に減少する。従って、周期T9から始まるRCNT=1は、第1のバストランザクションのデータフェーズが終了していることを示すが、第2のバストランザクションのデータフェーズがまだ終了していないことを示す。図13の例示的な実施例によると、第2のバストランザクションのデータフェーズは周期T14まで終了しない。(ADS#信号が周期T6から図13の残りまで非アクティブのままで表されているように)第2のバストランザクションに続いて更なるバストランザクションが生じないため、RCNTが増加しないので、第2のトランザクションのデータフェーズが終了した結果として、RCNTパラメータが“1”から“0”に減少する。
従って、データセンス増幅器をディセーブルにする状態は、(周期T14にDBSY#信号が非アクティブになり周期T15にDRDY#が非アクティブになることにより示されているように)第2のトランザクションのデータフェーズが終了し、対応するRCNTパラメータが“0”に減少したこと(周期T14から始まる)を踏まえて生じる。DRDY#が非アクティブになったときから全クロック周期がディセーブルとしてみなされるデータセンス増幅器を仮定すると、データセンス増幅器は周期T16からディセーブルとみなされる。実際に、隣接したデータ伝送のストリングで“最後の”データ伝送を示すために、中間信号Last_DRDYが使用されてもよい(中間信号Last_DRDYは、同様にプロセッサ内で内部制御信号として実装されてもよい)。例えば、隣接したデータ伝送のストリングで“最後の”データ伝送がバスに示されるときに、Last_DRDY信号はアクティブになってもよい。従って、Last_DRDY信号の非アクティブは、データセンス増幅器がオフになり得る指示である。
図10〜13に関する説明は、(例えば図9に示すような)単一のコンピュータ環境を実装するために使用され得る。図10及び11はアドレスセンス増幅器用の低電力消費機構に関係し、図12及び13はデータセンス増幅器用の低電力消費機構に関係する。更に、少なくとも既存のP4互換の実装に関して、これらの低電力機構はフロントサイドバスに更なる信号の追加を行わずに実装され得る。すなわち、ここに教示される低電力機構は、フロントサイドバスに全く“新しい”信号を追加せずに使用可能であり、そのため、既存のフロントサイドバス実装とピン毎(pin-for-pin)に互換性がある。
図10〜13に関して前述した単一プロセッサの実施例に対して、図14は、“マルチプロセッサ”コンピュータシステムの一部の実施例を示している。ここで、MCH1452及び複数のプロセッサ14000〜14003はFSB1431を共有している。マルチプロセッサ環境では、MCH1452及び複数のプロセッサ14000〜14003のそれぞれが(例えば他のバスエージェントに機能的に依存することにより)バストランザクションを要求してもよい。それにもかかわらず、図12及び13に関して前述した同じデータセンス増幅器機構(及びその対応する代替の実装)がマルチプロセッサ環境で使用され得る。すなわち、マルチプロセッサ環境でも、データセンス増幅器は、データセンス増幅器がディセーブルの状態にある間に認識された第1のアサートされたADS#信号により、ディセーブルからイネーブルに変化してもよい。更に、データセンス増幅器は、IOQが空になりデータバスがアイドルになるまで、イネーブルのままになるように構成されてもよい。
しかし、(例えば図10及び11に示すような)単一プロセッサの実装のアドレス構成要素に関して、低電力のマルチプロセッサ機構を実装するために変更が行われるべきである。図15は、図10のラッチ回路1052に対して行われ得る適切な変更を示している。特に、図10のラッチ回路1052は、プロセッサ1001が単一プロセッサ環境とのインタフェースになる単独のバス優先エージェント(例えば図9のMCH910)から単一の入力(BPRI#)を受け入れる。一方、図15のラッチ回路1552は、マルチプロセッサ環境の如何なるバスエージェントからのバストランザクションの開始に応じて、(センス増幅器をイネーブルにするため)センス増幅器のイネーブル/ディセーブル線をラッチするように起動されてもよい。ここでは、一例として、図15のラッチ回路1552は第1のプロセッサ(例えば、4プロセッサシステムのプロセッサ“0”)に統合されたものとして見ることができ、その結果、ラッチ回路1552は、第1のプロセッサがフロントサイドバスを共有する“他の”バスエージェント(例えば、図14を参照すると、BPRI#により示されるMCH1452、及びそれぞれBR[1]#〜BR[3]#により表される“他の”3つのプロセッサ14001〜14003)により起動されるバストランザクションの開始に対して反応が良い。
図15の回路によると、“他の”バスエージェントの何らかがバストランザクションを要求すると、“プロセッサ_0”内のラッチ回路1552はセンス増幅器をイネーブル状態にし、それにより、バスエージェントがバストランザクションを開始する如何なるアドレスをも受信してもよい。更に、バスエージェントの全てがバストランザクションを開始しない場合には常に、ラッチ回路1552はセンス増幅器をディセーブル状態にする。図16に例を示す。図16はマルチプロセッサ環境の例示的な“4プロセッサ”を示している。図16は、これらのプロセッサの第1のもの(例えばプロセッサ0から3のうち“プロセッサ_0”)の動作を示す。図16によると、プロセッサ0と1と2はバストランザクションを開始せず、図16を通じてロジックハイの状態1620になるままにより、その対応する要求信号(BR[0]#とBR[1]#とBR[2]#)は非アクティブになる。
一方、第4のプロセッサとMCHの双方は、図16に示す時間フレーム内にバストランザクションを開始する。特に、第4のプロセッサは、周期T2でBR[3]#出力1630をアサートすることにより、第1のバストランザクションを開始する。MCHは第4のプロセッサ(“プロセッサ_3”)が(周期T4でADS#線1640をアサートすることにより)次の要求フェーズの間にバスを所有していることを認識し、次の要求フェーズを待つ(及び後の周期T6でADS#線1640をアサートする)。多様な実施例では、マルチプロセッサ環境のプロセッサは、“非バス・パーキング(non-bus parking)”モードで構成されるべきである。非バス・パーキングモードは、プロセッサがフロントサイドバスを“占有”することを回避するマルチプロセッサ環境内の一種の協調又は礼儀である。具体的には、プロセッサ/MCHはその“BR[x]”/“BPRI”信号の各アサートの後に“BR[x]”/“BPRI”信号を非アクティブにし、それにより、(プロセッサがフロントサイドバスの使用を必要とする他のイベントを有している場合でも)プロセッサのトランザクションの後に他のバスエージェントがトランザクション用にバスを使用することができる。“プロセッサ_3”は(周期T4でのADS#信号1640のアサートを介した)対応する要求フェーズのときにBR[3]#線1630を非アクティブにし、MCHは(周期T6でのADS#信号1640のアサートを介した)対応する要求フェーズのときにBPRI#線1650を非アクティブにするため、このような機構の実施例が図16に示されている。
図16の非バス・パーキングモードの実施例では、バストランザクションの第1のフェーズ(すなわち仲裁フェーズ)は、BPRI#又はBR[x]#線のアサートで開始し、バストランザクションの第2フェーズ(すなわち要求フェーズ)は、BPRI#又はBR[x]#線のアサートで開始する点に留意すべきである。対応するトランザクションが要求フェーズに入るまでBPRI#又はBR[x]#信号がアサートのままである場合、及びBPRI#又はBR[x]#線がアサート停止になるクロック周期の間に有効なアドレス値が現れる場合、1)BPRI#又はBR[x]#線の何らかのアサートに応じて、アドレスセンス増幅器をイネーブルにすることにより、及び2)BPRI#又はBR[x]#線のアサート停止がBPRI#又はBR[x]#線の全てがアサートでない状態を生じた場合に常に、アドレスセンス増幅器をディセーブルにすることにより、アドレスセンス増幅器の適切なイネーブルが実現され得る。アドレスセンス増幅器はBR[3]#線1630の早いアサートに応じて(周期T1とT2との間に)イネーブルになり、BPRI#線1630の後のアサート停止に応じて(周期T6内に)ディセーブルになるため、図16はそのような機構を示している点に留意すべきである。
ラッチ回路1552がBCLKの立ち上がりにラッチしたときに、センス増幅器がそのイネーブル/ディセーブル状態を変化するのに十分な時間を与えることにより、センス増幅器がクロック周期T4からT7までの間のみイネーブルになる。この期間は周期T4及びT6で示される有効なアドレス値を取得するのに十分な長さがある。更に、周期T1からT2まで及び周期T8以後アドレスセンス増幅器をディセーブルにすることにより電力消費を低減する(周期T3及びT7は、アドレスセンス増幅器の状態がそれぞれディセーブルからイネーブル及びイネーブルからディセーブルになる変化周期とみなされる)。実施例において、センス増幅器に状態を変化する適切な量の時間を許可するために、BR[x]#又はBPRI[x]#信号のアサートと対応のADS#信号のアサートとの間に少なくとも2クロック周期が費やされる。例えば、図16に示すように、周期T2の始まりでのBR[3]#信号1630のアサートは、周期T4の始まりでの対応するADS#1640のアサートを生じ、周期T3の始まりでのBPRI#信号1650のアサートは、周期T6の始まりでの対応するADS#1640のアサートを生じる。更なる実施例では、前述の“少なくとも2クロック周期”を確保するために“デフォルト”のP4バスが使用される。
図17は、図10及び12に示す回路の結合として考えられる回路の他の実施例を示している。図17の回路は、データセンス増幅器1722のイネーブル及びディセーブルと共に、アドレスセンス増幅器1721をイネーブル及びディセーブルする。ここでは、アドレスセンス増幅器1721及びデータセンス増幅器1722の双方を制御するために、単一の制御論理回路1752が使用されている。適切な動作を確保するため、アドレス及びデータセンス増幅器1721、1722の双方は、(図10の回路に関して図11に示すアドレスセンス増幅器1721の十分に早いイネーブルを確保するため)BPRI#信号のアクティブでイネーブルになる。アドレス及びデータセンス増幅器1721、1722の双方は、(図12の回路に関して図13に示すデータセンス増幅器の十分に遅いディセーブルを確保するため)RCNT=0であり、Last_DRDYが非アクティブになり、DBSY#が非アクティブになると共にディセーブルになる。図17の回路は単一プロセッサ環境で使用可能であるが、センス増幅器のイネーブルを起動する制御ロジック1752への入力を図15に示すように再構成することにより、図17の回路はマルチプロセッサ環境内で互換性を有するように拡張可能である。
図8に関して説明したように、設計のシミュレーション、エミュレーション及び構成の多様な設計表示又はフォーマットが図9から17の教示について実装され得ることがわかる。
例示的な実施例について説明したが、特許請求の範囲に定められる本発明の実施例の範囲内にあるように、開示された実施例に対して変形及び変更が行われてもよい。
従来のプロセッサ及びメモリ制御ハブを示したブロック図 一実施例による入力バッファを有するプロセッサを示したブロック図 一実施例による単一プロセッサのシステムプラットフォームを示したブロック図 一実施例によるタイミング図 一実施例による方法を示したフローチャート 一実施例による方法を示したフローチャート 一実施例による方法を示したフローチャート 開示された技術を使用して設計のシミュレーション、エミュレーション及び構成用の多様な設計表現又はフォーマットを示したブロック図 一実施例による単一プロセッサのシステムプラットフォームを示したブロック図 一実施例によるアドレス入力センス増幅器を有するプロセッサを示したブロック図 アドレスセンス増幅器をイネーブルにする技術を示したタイミング図 一実施例によるデータセンス増幅器を有するプロセッサ データセンス増幅器をイネーブルにする技術を示したタイミング図 一実施例によるマルチプロセッサのシステムプラットフォームを示したブロック図 マルチプロセッサ環境でアドレス値をラッチするために使用され得る回路 マルチプロセッサ環境内でアドレスセンス増幅器をイネーブルにする技術を示したタイミング図 データ及びアドレス値の双方をラッチするために使用され得る回路

Claims (38)

  1. フロントサイドバスのデータバス部分からデータを受信するデータセンス増幅器を有するプロセッサにおいて、
    アドレスストローブがアサートされることに応じて前記データセンス増幅器をイネーブルにし、
    少なくともキューが空になることに応じて前記データセンス増幅器をディセーブルにすることを有し、
    前記キューは、前記フロントサイドバスでこれから実行されるトランザクションを追跡する方法。
  2. フロントサイドバスのデータバス部分からデータを受信するデータセンス増幅器と、前記フロントサイドバスのアドレスバス部分からアドレスを受信するアドレスセンス増幅器とを有するプロセッサにおいて、
    要求指示がアサートされることに応じて前記アドレスセンス増幅器をイネーブルにし、
    アドレスストローブがアサートされることに応じて前記データセンス増幅器をイネーブルにし、
    前記要求指示がアサート停止されることに応じて前記アドレスセンス増幅器をディセーブルにし、
    少なくともキューが空になることに応じて前記データセンス増幅器をディセーブルにすることを有し、
    前記キューは、前記データバスでこれから実行されるトランザクションを追跡する方法。
  3. 複数のプロセッサとメモリコントローラとを有し、前記複数のプロセッサ及び前記メモリコントローラはフロントサイドバスを通じて結合されるマルチプロセッサコンピュータシステムの一部であるプロセッサにおいて、
    前記プロセッサは、前記フロントサイドバスのアドレスバス部分からアドレスを受信するアドレスセンス増幅器を有し、
    第1の要求指示が前記プロセッサのうち他のものからアサートされることに応じて前記アドレスセンス増幅器をイネーブルにし、
    前記第1の要求指示がアサート停止される前に前記メモリコントローラから第2の要求指示がアサートされたため、前記第1の要求指示がアサート停止された後に前記アドレスセンス増幅器をイネーブルにし続けるプロセッサ。
  4. アドレスが受信バスエージェントに伝送される場合に出力信号のアサートを行わせるコントローラを有し、
    前記出力信号は、前記受信エージェントが前記アドレスを受信する前に、前記受信エージェントの入力データセンス増幅器のセットをイネーブルにするバスエージェント。
  5. 請求項4に記載のバスエージェントであって、
    前記コントローラはまた、前記アドレスが受信された後に、前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするバスエージェント。
  6. 請求項4に記載のバスエージェントであって、
    前記コントローラはまた、前記アドレスが受信された後に、所定のクロック周期内に更なるアドレス値が送信される予定がないときに、前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするバスエージェント。
  7. 請求項4に記載のバスエージェントであって、
    前記バスエージェントはチップセットであるバスエージェント。
  8. 請求項4に記載のバスエージェントであって、
    前記バスエージェントはメモリコントローラであるバスエージェント。
  9. 請求項4に記載のバスエージェントであって、
    前記受信バスエージェントはプロセッサであるバスエージェント。
  10. バスへのインタフェースを有するバスエージェントであって、
    前記バスエージェントが前記バスでアドレスを出すと、前記インタフェースは出力信号のアサートを行わせ、
    前記出力信号は、受信エージェントの入力アドレスセンス増幅器のセットが前記アドレスを受信することを可能にするバスエージェント。
  11. 請求項10に記載のバスエージェントであって、
    前記インタフェースはまた、前記アドレスが受信された後に前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするバスエージェント。
  12. 請求項10に記載のバスエージェントであって、
    前記インタフェースはまた、前記アドレスが受信された後に、所定のクロック周期内に更なるアドレスが送信される予定がないときに、前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするバスエージェント。
  13. 請求項10に記載のバスエージェントであって、
    前記所定数のクロック周期は、少なくとも2クロック周期であるバスエージェント。
  14. 請求項10に記載のバスエージェントであって、
    前記バスエージェントはチップセットであるバスエージェント。
  15. 請求項10に記載のバスエージェントであって、
    前記バスエージェントはメモリコントローラであるバスエージェント。
  16. 請求項10に記載のバスエージェントであって、
    前記受信エージェントはプロセッサであるバスエージェント。
  17. 入力データセンス増幅器のセットを有する入力バッファを有するバスエージェントであって、
    前記センス増幅器は、アドレスバス出力制御信号に結合され、
    前記センス増幅器は、前記エージェントがアドレスを受信する前に、前記出力制御信号のアサートに応じて外部バスエージェントからアドレスを受信するようにイネーブルになるバスエージェント。
  18. 請求項17に記載のバスエージェントであって、
    前記入力アドレスセンス増幅器は、前記出力制御信号のアサート停止に応じて、前記バスエージェントが前記アドレスを受信した後にディセーブルになるバスエージェント。
  19. 請求項17に記載のバスエージェントであって、
    前記バスエージェントはプロセッサであるバスエージェント。
  20. 請求項17に記載のバスエージェントであって、
    前記外部バスエージェントはチップセットであるバスエージェント。
  21. 請求項17に記載のバスエージェントであって、
    前記外部バスエージェントはメモリコントローラであるバスエージェント。
  22. 請求項17に記載のバスエージェントであって、
    前記センス増幅器は、前記バスエージェントが前記アドレスを受信する少なくとも2クロック周期前に、前記出力制御信号のアサートに応じて前記外部バスエージェントからアドレスを受信するようにイネーブルになるバスエージェント。
  23. アドレスがバスで伝送されることを認識し、
    受信エージェントが前記アドレスを受信する前に、出力信号をアサートし、受信エージェントの入力アドレスセンス増幅器のセットをイネーブルにすることを有する方法。
  24. 請求項23に記載の方法であって、
    前記アドレス伝送の終了後に、前記出力信号をアサート停止し、前記入力アドレスセンス増幅器のセットをディセーブルにすることを更に有する方法。
  25. 請求項23に記載の方法であって、
    アドレス伝送の終了後に、所定のクロック周期内に前記受信エージェントにアドレスが送信される予定がないときに、前記出力信号をアサート停止し、前記入力アドレスセンス増幅器のセットをディセーブルにすることを更に有する方法。
  26. 請求項23に記載の方法であって、
    前記出力信号をアサートすることは、前記アドレス配信周期の少なくとも2クロック周期前に前記出力信号をアサートすることを有する方法。
  27. 請求項23に記載の方法であって、
    前記方法はチップセットにより実行される方法。
  28. 請求項23に記載の方法であって、
    前記方法はメモリコントローラにより実行される方法。
  29. 請求項23に記載の方法であって、
    前記受信エージェントはプロセッサである方法。
  30. データを運ぶ機械読取可能キャリア媒体を有するものであって、
    シミュレーションルーティンと共にコンピュータシステムメモリにロードされると、
    アドレスが受信バスエージェントに伝送される場合に出力信号のアサートを行わせ、前記出力信号は、前記受信バスエージェントが前記アドレスを受信する前に、前記受信エージェントの入力アドレスセンス増幅器のセットをイネーブルにするコントローラを有するモデルの機能を提供するもの。
  31. 請求項30に記載のものであって、
    前記コントローラはまた、前記アドレスが受信された後に、前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするもの。
  32. 請求項30に記載のものであって、
    前記コントローラはまた、前記アドレスが受信された後に、所定のクロック周期内に更なるアドレス値が送信される予定がないときに、前記出力信号のアサート停止を行わせ、前記センス増幅器をディセーブルにするもの。
  33. 請求項30に記載のものであって、
    前記バスエージェントはチップセットであるもの。
  34. 請求項30に記載のものであって、
    前記バスエージェントはメモリコントローラであるもの。
  35. 請求項4に記載のバスエージェントであって、
    前記受信バスエージェントはプロセッサであるもの。
  36. アドレスが受信バスエージェントに伝送される場合に出力信号のアサートを行わせるコントローラを有するチップセットと、
    入力アドレスセンス増幅器のセットを有する入力バッファを有し、前記センス増幅器は、アドレスバス出力制御信号に結合され、前記センス増幅器は、前記プロセッサが前記アドレスを受信する前に、前記出力信号のアサートに応じて前記チップセットからアドレスを受信するようにイネーブルになるプロセッサと
    を有するシステム。
  37. 請求項36に記載のシステムであって、
    前記チップセットの前記コントローラは、前記アドレス伝送の終了後に、前記出力信号のアサート停止を行わせ、前記入力データセンス増幅器のセットをディセーブルにするシステム。
  38. 請求項36に記載のシステムであって、
    前記チップセットの前記コントローラは、前記アドレス伝送の終了後に、所定のクロック周期内に前記要求エージェントにアドレスが送信される予定がないときに、前記出力信号のアサート停止を行わせ、前記入力データセンス増幅器のセットをディセーブルにするシステム。
JP2005508447A 2002-12-11 2003-11-24 アドレスバス出力制御用の装置及び方法 Expired - Fee Related JP4813180B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/317,798 US7216240B2 (en) 2002-12-11 2002-12-11 Apparatus and method for address bus power control
US10/317,798 2002-12-11
US10/436,903 US20040128416A1 (en) 2002-12-11 2003-05-12 Apparatus and method for address bus power control
US10/436,903 2003-05-12
PCT/US2003/037614 WO2004053706A2 (en) 2002-12-11 2003-11-24 An apparatus and method for address bus power control

Publications (2)

Publication Number Publication Date
JP2006511897A true JP2006511897A (ja) 2006-04-06
JP4813180B2 JP4813180B2 (ja) 2011-11-09

Family

ID=32511034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005508447A Expired - Fee Related JP4813180B2 (ja) 2002-12-11 2003-11-24 アドレスバス出力制御用の装置及び方法

Country Status (11)

Country Link
US (1) US20040128416A1 (ja)
EP (2) EP2109029B1 (ja)
JP (1) JP4813180B2 (ja)
KR (1) KR100737549B1 (ja)
CN (1) CN100422905C (ja)
AT (1) ATE437394T1 (ja)
AU (1) AU2003293030A1 (ja)
DE (1) DE60328520D1 (ja)
HK (1) HK1075949A1 (ja)
TW (1) TWI310910B (ja)
WO (1) WO2004053706A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502084A (ja) * 2004-06-30 2008-01-24 インテル・コーポレーション 一体化したdmaエンジンを用いて、高性能に揮発性ディスクドライブメモリへのアクセスを行うための装置および方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000065B2 (en) 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US7822978B2 (en) * 2005-07-22 2010-10-26 Intel Corporation Quiescing a manageability engine
US7870407B2 (en) * 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US7477178B1 (en) * 2007-06-30 2009-01-13 Cirrus Logic, Inc. Power-optimized analog-to-digital converter (ADC) input circuit
US8581756B1 (en) 2012-09-27 2013-11-12 Cirrus Logic, Inc. Signal-characteristic determined digital-to-analog converter (DAC) filter stage configuration
US11138348B2 (en) * 2018-10-09 2021-10-05 Intel Corporation Heterogeneous compute architecture hardware/software co-design for autonomous driving

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4202045A (en) * 1979-03-05 1980-05-06 Motorola, Inc. Write circuit for a read/write memory
US4862348A (en) * 1986-01-20 1989-08-29 Nec Corporation Microcomputer having high-speed and low-speed operation modes for reading a memory
JPH0812756B2 (ja) * 1987-06-22 1996-02-07 松下電子工業株式会社 スタチックram回路
US5432944A (en) * 1991-08-05 1995-07-11 Motorola, Inc. Data processing system having a dynamically enabled input synchronizer for selectively minimizing power consumption
US5327394A (en) * 1992-02-04 1994-07-05 Micron Technology, Inc. Timing and control circuit for a static RAM responsive to an address transition pulse
US5430683A (en) * 1994-03-15 1995-07-04 Intel Corporation Method and apparatus for reducing power in on-chip tag SRAM
US5692202A (en) * 1995-12-29 1997-11-25 Intel Corporation System, apparatus, and method for managing power in a computer system
US5911153A (en) * 1996-10-03 1999-06-08 International Business Machines Corporation Memory design which facilitates incremental fetch and store requests off applied base address requests
US5848428A (en) * 1996-12-19 1998-12-08 Compaq Computer Corporation Sense amplifier decoding in a memory device to reduce power consumption
US6141765A (en) * 1997-05-19 2000-10-31 Gigabus, Inc. Low power, high speed communications bus
US6243817B1 (en) * 1997-12-22 2001-06-05 Compaq Computer Corporation Device and method for dynamically reducing power consumption within input buffers of a bus interface unit
US6330679B1 (en) 1997-12-31 2001-12-11 Intel Corporation Input buffer circuit with dual power down functions
JPH11212687A (ja) * 1998-01-26 1999-08-06 Fujitsu Ltd バス制御装置
US6058059A (en) * 1999-08-30 2000-05-02 United Microelectronics Corp. Sense/output circuit for a semiconductor memory device
JP4216415B2 (ja) * 1999-08-31 2009-01-28 株式会社ルネサステクノロジ 半導体装置
JP2001167580A (ja) * 1999-12-07 2001-06-22 Toshiba Corp 半導体記憶装置
US6609171B1 (en) * 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
KR100546184B1 (ko) * 2000-10-20 2006-01-24 주식회사 하이닉스반도체 센스 앰프 회로
US7000065B2 (en) * 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US6961787B2 (en) * 2002-01-07 2005-11-01 Intel Corporation Method and apparatus for updating task files
US7152167B2 (en) * 2002-12-11 2006-12-19 Intel Corporation Apparatus and method for data bus power control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502084A (ja) * 2004-06-30 2008-01-24 インテル・コーポレーション 一体化したdmaエンジンを用いて、高性能に揮発性ディスクドライブメモリへのアクセスを行うための装置および方法

Also Published As

Publication number Publication date
EP2109029B1 (en) 2012-12-26
KR100737549B1 (ko) 2007-07-10
JP4813180B2 (ja) 2011-11-09
DE60328520D1 (de) 2009-09-03
EP1570335B1 (en) 2009-07-22
WO2004053706A2 (en) 2004-06-24
ATE437394T1 (de) 2009-08-15
AU2003293030A1 (en) 2004-06-30
EP1570335A2 (en) 2005-09-07
CN1726451A (zh) 2006-01-25
EP2109029A1 (en) 2009-10-14
HK1075949A1 (en) 2005-12-30
US20040128416A1 (en) 2004-07-01
KR20050085590A (ko) 2005-08-29
TWI310910B (en) 2009-06-11
CN100422905C (zh) 2008-10-01
TW200428279A (en) 2004-12-16
AU2003293030A8 (en) 2004-06-30
WO2004053706A3 (en) 2004-11-18

Similar Documents

Publication Publication Date Title
US10185385B2 (en) Method and apparatus to reduce idle link power in a platform
JP5060487B2 (ja) ダイナミックメモリサイジングのレイテンシを最適化する方法、システムおよびプログラム
US7146510B1 (en) Use of a signal line to adjust width and/or frequency of a communication link during system operation
US7506192B2 (en) Method and apparatus for adaptive power management of memory subsystem
US7529955B2 (en) Dynamic bus parking
US20090327609A1 (en) Performance based cache management
KR101844809B1 (ko) 클록 게이팅 제어를 위한 조기의 웨이크-경고
EP2437138A2 (en) Hardware dynamic cache power management
JP4817660B2 (ja) データバス出力制御用の装置及び方法
JP4813180B2 (ja) アドレスバス出力制御用の装置及び方法
US6240522B1 (en) Clock run controller
US7216240B2 (en) Apparatus and method for address bus power control

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090318

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090428

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees