JP5247037B2 - 半導体集積回路及びその制御方法 - Google Patents

半導体集積回路及びその制御方法 Download PDF

Info

Publication number
JP5247037B2
JP5247037B2 JP2007016858A JP2007016858A JP5247037B2 JP 5247037 B2 JP5247037 B2 JP 5247037B2 JP 2007016858 A JP2007016858 A JP 2007016858A JP 2007016858 A JP2007016858 A JP 2007016858A JP 5247037 B2 JP5247037 B2 JP 5247037B2
Authority
JP
Japan
Prior art keywords
power
unit
prediction
instruction
branch
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
JP2007016858A
Other languages
English (en)
Other versions
JP2008186854A (ja
JP2008186854A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007016858A priority Critical patent/JP5247037B2/ja
Publication of JP2008186854A publication Critical patent/JP2008186854A/ja
Publication of JP2008186854A5 publication Critical patent/JP2008186854A5/ja
Application granted granted Critical
Publication of JP5247037B2 publication Critical patent/JP5247037B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、電源遮断可能に構成された機能ユニットを具備する半導体集積回路及びその制御方法に関するものである。
近年のCMOS半導体集積回路の微細化に伴い、CMOS半導体集積回路のゲート電極からのリーク電流の増加が設計・製造面で大きな問題となっている。
特に100nm以下の微細プロセスでは、半導体集積回路の総消費電力においてリーク電流の占める割合は、増加の一途を辿り、今後、チップ内部の電力消費を抑止していくことが、製造後確実に動作するチップを設計していく上で重要な課題となっている。
例えば、微細化に従ってゲート酸化膜の薄膜化が進む中、リーク電流を減らすためにも、電源電圧を低電圧化していく必要があるが、回路の高速性を確保するためにゲート電極に掛ける電圧の低電圧化が進まない。この結果、電源電圧の低電圧化よりも、電源電圧に対応するリーク電流の急激な増加傾向が顕著になってきている。
また、更に、微細化につれてスケーリングしてきた電源電圧が受ける電源電圧の降下の要因も大きな問題になりつつある。
このようなリーク電流の増加に対し、半導体プロセスの開発面では、ポリシリコンとゲートチャネルを遮断する誘電物質の素材として、シリコン酸化膜の代わりに、高誘電率で膜厚を厚くすることが可能な別の素材を開発しようとしている。しかしながら、まだまだ広く一般に利用されるほどの実用化には至っていない。
一方、半導体集積回路の設計面では、100nm以下のプロセスで起こる消費電力削減の課題に応えられる様、従来から幾つかの新規技術を導入して対応してきた。例えば、リーク電流を削減する直接的な代表的な方法として、130nmプロセスの世代から比較的よく使われるようになってきた技術で、マルチVthセルを利用したレイアウト手法がある(例えば、下記の特許文献1参照)。
このマルチVthセルを利用したレイアウト手法とは、スピードが遅いが、リーク電流の少ないゲート電圧閾値の高いセルと、スピードは速いが、リーク電流の多いゲート電圧閾値の低いセルとを同一チップ内に混在させるというものである。すなわち、タイミングに余裕のあるパスのセルを高い閾値の低速セルへマッピングし、クリティカルパスのセルを低い閾値の高速セルへマッピングさせることにより、タイミングを満たしつつチップ全体での消費電力の削減を達成するものである。
なお、同じ設計面での消費電力削減の施策として、クロックゲーティングや回路量の削減などの方法が実施されている。
しかしながら、これらの方法は動作時に消費する電力を削減するための方法であり、ここでは、マルチVthセルを利用したレイアウト方法とは異なるものとして議論する。この理由は、消費電力削減のためにクロックゲーティングや回路量の削減などの方法も確かに重要で、設計面での消費電力削減の施策として常に考慮されていなければならない方法論ではあるが、問題をトランジスタの更なる微細化に起因するリーク電流増加の傾向に絞った場合、リーク電流削減の直接的な効果を期待できる施策ではないからである。
一方、設計面でのリーク電流削減の直接的な施策の1つとして、微細化の進展に伴い注目されているのがマルチ電源電圧や、電源の遮断である。
ゲート酸化膜に常に高い電圧が掛かった状態では、リーク電流が多く流れる。しかしながら、回路スピードを犠牲にして、低いゲート電圧でトランジスタを動作させたり、使っていない回路の電源を遮断しトランジスタに電圧がかかっていない状態にしたりすることにより、リーク電流を劇的に削減できることが分かっている。マルチ電源電圧ドメインや、電源遮断の設計手法自体は、携帯機器向けの半導体集積回路で既に広く用いられている方法である。
これらの実装方法は、レベルコンバータやMTCMOS、セレクティブMTCMOSなどの電源電圧を変更することのできる特殊な回路を利用して実施されている。また、マルチ電源電圧ドメインに関連して、ドメイン内の電圧を動作スピードにあわせて変更するバリアブル電圧の技術も実施されている。
しかしながら、意図的にバリアブル電圧を複数設けた状態では、動作保障が難しいためにASICやゲートアレイの設計形態でこのような設計手法がとられることは稀である。リーク電流対策の観点からは、ASICやゲートアレイの設計形態では、マルチ電源電圧ドメインと電源遮断が採用されることが多い。
マルチ電源電圧ドメインの設計手法には、周辺モジュールと比較して低速動作でよいが定常的に動作させたい部分を実装するのに適している。電源遮断は、動作させるときは高速で動作させたいが、定常的には動作していなくても良い部分を実装するのに適している。
また、電源遮断は、リーク電流削減の効果が高い反面、電源遮断状態から安定動作可能な状態に復帰するまでの時間が回路の動作スピードと比較して長いという利用上の難しさがある。
ここで、定常的には動作しないが、通常動作には高速で動作させたい機能モジュールを電源遮断により実装したと仮定し、電源遮断を行った機能モジュールが他の機能単位で処理を行う場合のデータの依存関係を持っているような場合を考える。
このような場合、電源遮断を行ったブロックでは、当該ブロックでの処理が必要だと判定した時点で電源投入を行うと、電源遮断状態から回路が安定動作可能な状態に復帰するまでのウェイクアップ時間が、いわゆるパイプラインストールを引き起こす原因となる。
このパイプラインストールがどれほどの時間幅のペナルティとして現れてくるかというと、今日の半導体集積回路のマイクロプロセッサは、高速なもので数GHzに達する一方、電源遮断されていたブロックが電源投入後に利用可能になるまでには、数マイクロ秒程度のウェイクアップ時間が必要である。すなわち、数ナノ秒のオーダーでパイプライン動作するマイクロプロセッサが、電源遮断拡張機能を呼び出して必要なデータを取得するためには、まず拡張機能が動作し始めるまでの段階で既に数マイクロ秒のオーバーヘッドを生じることになる。
このウェイクアップ動作と通常処理の時間スケールのギャップは解消することが難しいため、従来手法ではウェイクアップ動作を行うブロックと定常的に動作させる部位との間で可能な限り処理の依存性を排除してハードウェア化することが行われている。
また、制御については、定常的に動作させる部分で動作させるソフトウェアにより電源制御が行われ、ウェイクアップ動作と同等の処理速度で電源分離箇所にアクセスするのが一般的である。そして、これは、リーク電流が問題にならない場合の設計手法としては、十分確立された方法論であった。
しかしながら、90nm以下のプロセスでのリーク電流による消費電力を考慮に入れた場合、従来通りの設計手法により作成された半導体集積回路では、総消費電力においてリーク電流の占める割合がついに4割を超えるということが分かってきた。また、更なる微細化では、5割以上がリーク電流のために消費されるということも分かってきた。
この観点から、今後の微細化プロセスでの設計面でのリーク電流の削減を視野に入れると、動作スピードと同等の時間スケールで電源投入スイッチのオン、オフを制御できることが望ましい。
以上のことから、パフォーマンスを維持したままリーク電流削減のために電源制御を行う状況は、従来取られていた方法とは全く別のウェイクアップの制御を要する。すなわち、ウェイクアップ動作を行うブロックを別の処理系へ分離してソフトウェアで制御する方法とは全く別の解決策が必要となる。そして、リーク電流を削減する目的で実施する電源遮断、電源投入に起因するパイプライン処理のストールを、マイクロプロセッサの動作と同等の時間スケールで直接改善するような技術はまだない。
特開2002−299454号公報
従来の技術では、半導体集積回路内で電源遮断されたブロックを電源投入する場合、電源投入されたブロックの回路動作が安定化するのを待ってから処理を開始するのが一般的であった。このため、依存関係のある命令や処理がウェイクアップを行うとパイプラインストールを起こす可能性があり、機能の組み合わせごとに電源制御の手順を最適化することは自動化が難しい。
本発明は上述の問題点に鑑みてなされたものであり、電源遮断可能な機能ユニットが処理を開始する前に、予測に基づいて当該機能ユニットの電源投入又は電源遮断を制御することで、パイプラインストールを軽減し、半導体集積回路におけるパフォーマンスの低下を抑止することを目的とする。
本発明の半導体集積回路は、少なくとも一つが電源遮断可能に構成された複数の機能ユニットを有する処理手段と、前記処理手段に処理させる処理内容を示す命令を取得する取得手段と、電源制御の履歴を保持する保持手段と、前記電源遮断可能な機能ユニットに関する処理内容を前記取得手段の取得した命令から探査する処理内容探査手段と、前記処理内容探査手段で探査した処理内容について前記保持手段に保持されている電源制御の履歴に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断に係るタイミングを予測する電源投入予測手段と、前記電源投入予測手段の予測結果に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断を制御する電源制御手段とを有する。
本発明によれば、パイプラインストールの軽減を達成し、半導体集積回路におけるパフォーマンスの低下を抑止することができる。
次に、添付図面を参照しなから、本発明の実施形態について説明する。
図1は、本発明の実施形態に係る半導体集積回路の概略構成を示すブロック図である。
具体的に、図1には、本発明に係る半導体集積回路の最も基本的な構成を示しており、読み込んだ命令に従ってデータを処理する半導体集積回路のデータ処理システムを示している。
図1に示す半導体集積回路100では、電源制御を必要としない系での処理においては、命令フェッチ104により命令を取得する。そして、命令デコード105において、命令フェッチ104によりフェッチした命令をデコードする。そして、命令ディスパッチ106において、命令デコード105でデコードされた命令に基づく処理を、機能ユニット部110の各機能ユニット111〜116に振り分けてデータを処理する。
ここで、図1に示す半導体集積回路100において電源の遮断、投入を制御する場合は、処理内容探査部101、電源投入予測部102、及び、電源制御部103により先行電源投入を実施する。すなわち、先行電源投入は、以下で説明するように、先行電源投入予測条件の登録と、先行電源投入予測の決定との2つのフェーズに分割してなされる。
まず、先行電源投入条件の登録のフェーズについて以下に説明する。
処理内容探査部101では、ある命令列の最初の実行時に命令フェッチ104より取得した命令内容をもとに、電源分離されたブロック(機能ユニット)に対する命令が実行される場合の対象となるブロックの探査を行う。
具体的に、処理内容探査部101で命令内容を探査する際に行うのは、電源遮断が可能なブロック(機能ユニット)へ命令発行を行う特定オペコードの検出と、アクセス先として電源遮断が可能なブロック内部の処理に関係するオペランドの検出である。すなわち、処理内容探査部101は、電源遮断可能な機能ユニットに関する処理内容を探査する。
なお、処理内容探査部101は、命令デコード105と共通化できる処理がある場合には、同一モジュールとして実装しても良いものとする。また、以下、本明細書内では、機能単位をモジュールと呼び、電源ドメインにより他のモジュールと分離あるいは統合される単位のブロックと区別して呼ぶものとする。
電源投入予測部102では、命令ストリームに基づく特徴的なデータを抽出し、先行電源投入予測条件として保持する。ここで、本発明が意図する電源投入予測部102の回路は、命令ストリームに基づいた実行命令の推定を行う回路全般を指している。
一般的に命令ストリームに基づく実行命令の推定としては、命令アドレスの部分変化を利用する方法、分岐予測の機構を利用する方法、トレースキャッシュを利用する方法、ループ解析の結果を利用する方法、あるいは、これらを組み合わせた方法が使われる。後に示す本発明の実施形態においては、命令アドレスの部分変化を利用する方法、分岐予測の機構を利用する方法の2種を示す。
電源投入予測部102として、分岐予測の機構を利用する方法のように、予測の当たり外れに従って、次の推論方法を変える場合は、命令がフェッチされる都度、先行電源投入予測条件がアップデートされる。
次に、先行電源投入予測の決定のフェーズについて以下に説明する。
まず、電源投入予測部102に先行して、命令アドレスが通知されていることが前提となる。上記命令アドレスに基づくデータを取得できた場合、電源投入予測部102では、当該命令アドレスか、あるいは、当該命令アドレスを加工して得られる情報を用いて、各電源ブロックに対する電源投入を指示する。
ここで、機能ユニット部110は、複数の機能ユニット111〜116のうちの少なくとも一部が電源遮断可能に構成されている。図1に示す例では、電源遮断可能な電源ブロックとして、第4の機能ユニット114、第5の機能ユニット115及び第6の機能ユニット116が電源の投入、遮断の制御対象となっている。そして、電源投入予測部102は、処理内容探査部101で探査した処理内容に基づいて、電源遮断可能な機能ユニット(114〜116)に対する電源投入又は電源遮断に係る予測を行う。
電源制御部103は、電源投入予測部102の予測結果に基づいて、電源遮断可能な機能ユニット(114〜116)に対する電源投入又は電源遮断を制御する。
図2は、図1に示す電源遮断が可能な第4の機能ユニット(機能ユニット4)の電源遮断に関する基本的な構成を示すブロック図である。なお、図2に示す例では、第4の機能ユニット114について示しているが、電源遮断が可能な第5の機能ユニット115及び第6の機能ユニット116についても同様である。
電源遮断が可能な第4の機能ユニット114内部のデータ処理部201は、電源には直接接続されており、グランドにはNMOSトランジスタ200を介して接続されている。そして、データ処理部201は、命令コード202、及び、データイン203を入力とし、コンディションコード等の処理結果コード204、処理結果であるデータアウト205、及び、処理状態206を出力する。処理状態206の出力は、データ処理部201の内部で処理が実行されていることを示しており、電源遮断の抑止信号として利用される。
NMOSトランジスタ200は、電源遮断の制御に使われており、電源制御部103の指示に従って、データ処理部201の電源遮断、投入を実施する。
以下、命令アドレスの部分変化を利用する方法、分岐予測の機構を利用する方法の2種類の方法について説明する。
まず、命令アドレスの部分変化を利用する方法の実施形態を示す。
図3は、命令アドレスの局所性を利用して大域的なアドレス変化を検出する方法を実現するための電源投入予測部102に係る概略構成を示すブロック図である。すなわち、命令フェッチ104に存在するプログラムカウンタの命令アドレス301と、前サイクルの命令部分アドレス302とを比較器305で比較することにより、大域的なアドレスが変化したことを検出し、カウンタ307のスタートトリガーとする。また、一度、トリガーがかかったカウンタ307は、再度大域アドレスの更新があってもそのままカウントを続けるものとする。
ウェイト時間設定レジスタ306には、大域的なアドレス変化をトリガーとして電源投入を行う場合に、トリガーを有効とする最大の時間幅が登録されている。
大域的なアドレス変化を検出してカウンタ307が走り始め、ウェイト時間設定レジスタ306に設定されている時間内に、処理内容探査部101が命令データ308の電源制御関連の命令を検出すると、カウンタ307がストップする。そして、カウンタ307から電源制御更新のイネーブルが先行電源投入条件登録部309に通知される。ここで、命令データ308は、命令フェッチ104に存在するものである。
すなわち、ウェイト時間設定レジスタ306に設定されている時間を過ぎてしまうと、先行電源投入条件を更新することができなくなる仕組みである。
先行電源投入条件登録部309では、この状況を受けて内部に電源投入ブロックIDコードと、電源投入履歴としてカウンタ307がストップした値を記録する。
図3では、排他的論理和(XOR)303及び304により、大域的アドレス変化が起こった場合のインデックスを生成しているが、命令アドレスの1部分であってもかまわない。排他的論理和(XOR)303及び304が2系統存在する理由は、命令実行中の先行電源投入登録部309に対して登録を行う系と、先行電源投入登録部309から先行電源投入予測を行う系が独立に動作する必要があるからである。
命令データ308は、通常の実行パスの場合で先行電源投入予測に用いられる場合は、処理内容探査部101を経て、電源制御命令の検出と電源投入ブロックIDコードの検出に利用される以外に、ソフトウェア実行中の場合は、命令デコード105と命令ディスパッチ106を経て命令実行される。
図4は、図3の先行電源投入登録部309における先行電源投入条件の登録例を示す図である。ここで、図3と同様の構成については同様の符号を付し、その詳細な説明は省略する。
先行電源投入条件の登録の系である排他的論理和(XOR)304を使い、インデックスを合成して先行電源投入条件登録部309のエントリを定め、電源投入ブロックIDコード3091と電源投入履歴3092を対応する記憶領域に登録する。ここで、電源投入履歴3092としては、今までの予測の履歴情報でも良いし、後に図9で示す2ビット飽和カウンタのような状態遷移をもとに設定した値であっても良い。
カウンタ307は、図3に示すウェイト時間設定レジスタ306での設定時間内に電源制御関連命令を検出して、先行電源投入条件登録部309への書き込みをイネーブル制御する。
図5は、図3の先行電源投入登録部309における先行電源投入条件予測例を示す図である。ここで、図3と同様の構成については同様の符号を付し、その詳細な説明は省略する。
先行電源投入予測の系である排他的論理和(XOR)303を使い、インデックスを合成して先行電源投入条件登録部309のエントリを定め、対応する電源投入ブロックIDコード3091と電源投入履歴3092を読み出す。なお、電源遮断に関しては、図15と同等の回路により実施する。この図15に関しては、後述する分岐予測の機構を利用する電源制御のところで詳しく説明する。
次に、分岐予測の機構を利用する電源制御の方法の実施形態を説明する前に、分岐予測の基本的な仕組みについて説明を行う。
図6は、グローバルな分岐履歴を利用するgshare分岐予測器の概略構成を示すブロック図である。
gshare分岐予測器600の分岐予測条件の登録処理では、グローバル分岐履歴602をもとに分岐命令アドレス601の一部を排他的論理和演算でハッシュ処理し、分岐パターン履歴テーブル604のインデックス情報となる合成インデックス603を合成する。
図9で示される状態遷移を持つ2ビット飽和カウンタであるカウンタ606が、合成インデックス603で指示された分岐予測エントリ605に対応する現在の分岐パターン履歴テーブル604の値をもとに、実際の分岐により状態遷移させた値で上書きを行う。そして、分岐予測条件を更新する。
また、グローバル分岐履歴602は、シフトレジスタにグローバルな分岐履歴を格納しており、分岐命令を実行する都度、実際の分岐状態をもとにグローバル分岐履歴を更新する。なお、分岐予測処理では、実行前に分岐命令アドレス601を取得していることが前提である。
gshare分岐予測器600は、分岐命令アドレス601をもとに、分岐予測条件登録の場合と同じ手順で分岐パターン履歴テーブル604に対する合成インデックス603を生成する。分岐パターン履歴テーブル604をインデックスして得られる分岐予測エントリ605の値により、以降の命令のプリフェッチを行うことができる。
図7は、ローカルな分岐履歴を2レベルに分けて管理するローカル履歴2レベル適応型分岐予測器の概略構成を示すブロック図である。ここで、図6と同様の構成については同様の符号を付し、その詳細な説明は省略する。
ローカル履歴2レベル適応型分岐予測器700の分岐予測条件の登録処理では、分岐命令アドレス601のjビットの中位アドレスをインデックスとして、ローカル分岐履歴を複数持つ分岐履歴テーブル701から、l番目のローカル分岐履歴702を選択する。
このローカル分岐履歴702の値をインデックスとして、分岐パターン履歴テーブルを複数持つ分岐予測テーブル703から、n番目の分岐パターン履歴テーブルを選択する。一方、分岐命令アドレス601のiビットの下位アドレスをインデックスとして、n番目の分岐パターン履歴テーブルからm番目のエントリを選択し、目的の分岐予測エントリ704を引き当てる。
そして、図9で示される状態遷移を持つ2ビット飽和カウンタであるカウンタ606が、分岐予測エントリ704に対応する現在の分岐予測テーブル703の値をもとに、実際の分岐により状態遷移させた値で上書きを行い、分岐予測条件を更新する。
また、ローカル分岐履歴702は、シフトレジスタにローカルな分岐履歴を格納しており、同一のjビットの中位アドレスで特定される分岐命令を実行する都度、実際の分岐状態をもとにl番目のローカル分岐履歴が更新される。なお、分岐予測処理では、実行前に分岐命令アドレス601を取得していることが前提である。
ローカル履歴2レベル適応型分岐予測器700は、分岐命令アドレス601をもとに、分岐予測条件登録の場合と同じ手順で分岐履歴テーブルのl番目のローカル分岐履歴702から履歴を引き出す。分岐予測テーブル703をインデックスして得られる分岐予測エントリ704の値により、以降の命令のプリフェッチを行うことができる。
図8は、2つの分岐予測器の結果を分岐の特徴に応じて採用するコンビネーション型分岐予測器の概略構成を示すブロック図である。ここで、図6と同様の構成については同様の符号を付し、その詳細な説明は省略する。
すなわち、コンビネーション型分岐予測器800は、下位iビットの予測により、ローカルな分岐予測が的中しやすいかどうかを判定する制御信号を得るために、2ビット飽和カウンタ606と分岐パターン履歴テーブル803からなる予測器を有する。
コンビネーション型分岐予測器800では、分岐パターン履歴テーブル803のエントリ804に登録されている予測の傾向に応じて、セレクタ805により第1の分岐予測部801及び第2の分岐予測部802のいずれの予測結果を用いるのかを選択する。
ここで、第1の分岐予測部801には、命令アドレスの下位jビットを用いるためにローカルな分岐履歴を用いる、図7のローカル履歴2レベル適応型分岐予測器700のような分岐予測器が適している。また、第2の分岐予測部802には、命令アドレスの中位kビットを用いるために、図6のgshare分岐予測器600のような分岐予測器が適している。
図9は、図6、図7及び図8の分岐パターン履歴テーブルに利用されている2ビット飽和カウンタであるカウンタ606の状態遷移を示す模式図である。
まず、最初の状態は、ユーザの要求に応じてどこを初期値としてもかまわない。状態は、図9に示す、カウンタの値0(Strongly Not Taken)、1(Weakly Not Taken)、2(Weakly Taken)、3(Strongly Taken)のいずれかをとる。
実行結果が分岐を採用した場合、「Taken」と判断し、最大3まで状態値をインクリメントする。実行結果が分岐を採用しなかった場合、「Not Taken」と判断し、最小0まで状態値をデクリメントする。
以上のように分岐予測は、過去に実行された命令列を命令アドレスの大域的あるいは局所的分布状況をもとに分岐履歴を作成し、この分岐履歴をもとに分岐予測を行っている。
本発明では、この分岐予測の基本的な動作を踏まえ、分岐履歴が持つ大域的あるいは局所的な命令実行経路に照らして、電源投入が必要となる電源分離ブロックを割り出し、分岐予測の機構を利用して電源制御を行うようにしている。以下、この方法の実施形態について説明する。
図10は、本発明の実施形態に係る半導体集積回路において、分岐予測の機構を利用する電源制御方法を実現するための概略構成を示すブロック図である。ここで、図1と同様の構成については同様の符号を付し、その詳細な説明は省略する。
図10は、図1に対して、命令のプリフェッチのための分岐予測器1001と、フェッチアドレス選択部1002と、レジスタファイル1003と、コンプリーションバッファ1004とを更に明示したものである。さらに、機能ユニット部110の各機能ユニット111〜116における内部構成が示されており、また、処理内容探査部101が命令デコード105の内部に構成されている。
図10の半導体集積回路において、分岐予測の機構を利用する電源制御方法として特徴的な第1の点は、分岐予測器1001の情報を用いて、電源投入予測部102による電源投入予測を行う点である。また、第2の点は、命令デコード105内に存在する処理内容探査部101から電源投入予測部102が電源投入ブロックIDコードを取得する点である。
電源制御部103から電源制御を受けるのは、整数演算2を行う第4の機能ユニット114、浮動小数点演算を行う第5の機能ユニット115、及び、拡張演算を行う第6の機能ユニット116である。
図11は、図10に示す電源投入予測部102の内部構成の一例を示すブロック図である。図11には、電源投入予測部102に加えて、図10に示す命令フェッチ104、命令デコード105、及び、分岐予測器1001が示されている。ここで、図11において分岐予測器1001には、図6に示したgshare分岐予測器600を適用しているが、分岐履歴と分岐予測情報を管理している分岐予測器であれば、置き換え可能である。
図11において、命令デコード105内に統合した処理内容探査部101は、主に電源投入ブロックIDコードの判定を行い、命令データから処理に必要なブロック(機能ユニット)を特定する。そして、処理内容探査部101は、当該電源ブロック、あるいは、当該電源ブロックの組み合わせに対して与えられた部位特定用IDコードを発行する。
電源投入予測部102は、先行電源投入予測の登録と先行電源投入の予測を行う。まず、先行電源投入予測の登録方法を以下に説明する。
命令実行中に発見した分岐命令のアドレスから合成したインデックスを、分岐履歴逆探査のためのインデックスリングバッファ1101に格納する。インデックスリングバッファ1101へのアクセスの制御は、インデックス履歴サイズ1102、先頭分岐ポインタ1103、末尾分岐ポインタ1104により制御される。
インデックス履歴サイズ1102は、インデックスの履歴をどのくらい確保しておくか、つまり、どのくらい分岐数をさかのぼって先行電源投入を行うかを指示する。先頭分岐ポインタ1103は、リングバッファの書き込み先頭アドレスを示しており、現在実行中の分岐命令に対するインデックスの書き込みアドレスを指示する。末尾分岐ポインタ1104は、リングバッファのオフセットアドレスを示しており、インデックス履歴サイズ1102に従って、オーバーフローしないように先頭分岐ポインタ1103を追尾する。
続いて、先頭分岐ポインタ1103を登録し、次の分岐命令を発見する前に、電源投入が必要なブロック(機能ユニット)での処理を必要とする命令を発見すると、ブロックIDコードテーブル1105へインデックスを発行する。
ブロックIDコードテーブル1105には、末尾分岐ポインタ1104から読み出されたインデックスに従い、処理内容探査部101で解析されたブロックIDコードが登録される。なお、このとき分岐予測器1001も分岐命令のアドレスに基づき合成したインデックスから分岐履歴を更新しているものとする。
次いで、先行電源投入の予測方法を以下に説明する。
分岐予測中に発見した分岐命令のアドレスから合成したインデックスをもとにブロックIDコードテーブル1105にアクセスし、使用するブロックIDコードを読み出す。この動作と同時に、分岐予測器1001の分岐パターン履歴テーブル604から分岐パターン履歴を読み出し、先行電源投入指示部1106へ入力する。
先行電源投入指示部1106は、先行電源投入の重み付けに照らして、入力された分岐パターン履歴から、先行電源投入の要/不要を判断し、図10に示す電源制御部103に指示を与える。
なお、図11において、分岐のアドレスから合成したインデックスを用いて、分岐パターン履歴から先行電源投入予測の推定を行っているが、分岐アドレスなどインデックスに変わるもので置き換えてもかまわない。この場合、インデックスリングバッファ1101は、アドレスを格納する分岐リングバッファとなる
上述したように、図11に示す先行電源投入指示部1106は、電源投入の重み付けを設定できるように構成されている。
図12は、分岐パターン履歴の値に基づく先行電源投入の制御態様を示す図である。
図12には、先行電源投入指示部1106による電源投入の重み付け設定として、図12(a)、(b)、(c)の3つの重み付け設定に変更を行える各制御態様が示されている。これにより、分岐予測器1001の性能や分岐的中率により先行電源投入が受ける影響を軽減し、その最適化が可能になる。
図13は、図10に示す電源投入予測部102の内部構成の一例を示すブロック図である。図13に示す電源投入予測部102には、図11に示す電源投入予測部の先行電源投入指示部1106を備えていない。図13に示す電源投入予測部102は、図11に示す電源投入予測部に対して、電源投入パターン履歴テーブル1302と2ビット飽和カウンタ1301を更に備えている。
この電源投入パターン履歴テーブル1302と2ビット飽和カウンタ1301は、図9に示した通常の状態遷移を示す2ビット飽和カウンタとは別の状態遷移を行い、先行電源投入に合った形式の状態遷移に変更することができる。
図14は、図13の電源投入パターン履歴テーブル1302に利用されている2ビット飽和カウンタであるカウンタ1301の状態遷移を示す模式図である。図14に示すような状態遷移を適用すると、「Strongly Taken」(3)の電源投入状態から、いきなり、「Weakly Not Taken」(1)の電源遮断の状態への遷移が可能となる。このようにすることで、半導体集積回路の回路全体としては、若干パフォーマンスを落としながらも低リーク電流で動作するモードを設定することができる。
図15は、本発明の実施形態に係る半導体集積回路の電源制御部103の内部構成を示すブロック図である。
図15に示すように電源制御部103は、電源遮断が行えるよう電源分離されたブロック、あるいは、ブロックの組み合わせが定められたブロックIDコードと、各ブロックからの処理状況を示す信号と先行電源投入を示す信号を入力としている。そして、電源制御部103は、図2のNMOSトランジスタ200で示すトランジスタのような電源制御に関するブロック毎の電源切断指示を出力する。
図15に示すように電源制御部103は、ブロックIDコード解析部1500と、第1ブロック電源投入判定部1501〜第nブロック電源投入判定部1511とを有して構成されている。
入力されたブロックIDコードは、ブロックIDコード解析部1500によりデコードされ、各ブロックへ出力される。
図15では、各ブロックのデフォルトの状態を電源遮断の状態とし、ダウンカウンタが動作している間のみの電源投入を想定している。すなわち、電源切断状態のあるブロックに対して、当該ブロックが有効で先行電源投入が指示された段階で、例えば、第1ブロック電源投入判定部1501においては、スタンバイ期間設定レジスタ1502に設定されたスタンバイ期間を指定する値がタイマーダウンカウンタ1503にコピーされる。
そして、タイマーダウンカウンタ1503でダウンカウントを始めると同時に、指示されたブロックに対して電源を供給するよう制御信号を送る。例えば、スタンバイ期間設定レジスタ1502に設定されたスタンバイ期間までに、指定ブロックが動作をし始めると、該当ブロックから処理中の信号がアサートされる。また、タイマーダウンカウンタ1503の設定値は、スタンバイ期間設定レジスタ1502に設定されたスタンバイ期間のままとなる。
該当ブロックでの処理が終了して該当ブロックから処理中の信号がネゲートされると、再び、タイマーダウンカウンタ1503がデクリメントを開始する。最終的に、該当ブロックでの処理が終了したまま、スタンバイ期間が過ぎてタイマーダウンカウンタ1503がゼロを検出すると、電源遮断が行われる。
図16は、命令ストリーム1600に対して、処理内容探査部101と電源投入予測部102で行う、先行電源投入予測の登録の動作を示す模式図である。
まず、命令ストリーム1600の少なくともデコードまでは終了している分岐命令のアドレスが、インデックス化されてインデックスリングバッファ1101に保存される。インデックスリングバッファ1101の有効なエントリは、先頭分岐ポインタ1103と末尾分岐ポインタ1104の間にある領域で、インデックス履歴サイズ1102に設定されたサイズで定義される。
先頭分岐ポインタ1103は、分岐命令を実行するたびにインデックスを新しく書き込む。先頭分岐ポインタ1103と末尾分岐ポインタ1104との間がインデックス履歴サイズ1102よりも大きくなると、末尾分岐ポインタ1104は、先頭分岐ポインタ1103との間をインデックス履歴サイズ1102に設定されたサイズに保ったまま、先頭分岐ポインタ1103を追いかける動作をする。
ここで、命令ストリーム1600が分岐アドレスYとなったときに、電源投入が必要な命令を実行し始めたとする。このとき、インデックス履歴サイズ1102に設定されたサイズ分だけ、分岐命令を遡ったインデックスX'は、末尾分岐ポインタ1104によりポイントされている。
一方、処理内容探査部101の電源投入ブロックIDコードの判定により、電源投入個所の特定がなされ、ブロックIDコードが特定されるので、インデックスX'を使ってブロックIDコードテーブル1105に書き込みを行う。以上が、先行電源投入予測情報の登録処理である。
図17は、命令ストリーム1700に対して、処理内容探査部101と電源投入予測部102により登録された先行電源投入予測情報に基づいて、電源投入予測部102と電源制御部103が先行電源投入の予測を行う動作を示す模式図である。
まず、命令ストリーム1700で命令アドレスXの分岐命令を予測したとする。このときの命令アドレスXからインデックスX'を合成する。ここで、分岐命令のインデックスX'により、分岐パターン履歴テーブル803の対応するエントリの分岐予測を取り出す。その後、例えば、図11の電源投入予測部102を用いた場合は、先行電源投入指示部1106を経て、先行電源投入が電源投入判定部1501(或いは1511)に指示される。
一方、分岐命令のインデックスX'に基づいてブロックIDコードテーブル1105から対応するブロックIDコードを取得し、ブロックIDコード解析部1500でデコードを行う。そして、ブロックIDコード解析部1500からの情報に基づき適切な電源投入判定部(1501、1511)から、有効なブロックへと投機的電源投入が指示される。以上が、先行電源投入の予測処理である。
図18は、一般的にシステムLSIと呼ばれる半導体集積回路の概略構成を示すブロック図である。システムLSIは、一般に1つ以上のCPUあるいはMPUと、その他いろいろな機能モジュールと複数のバスにより構成されることが多い。
ここで、図18に示されるメインプロセッサ1801、あるいは、命令ストリームにより制御される機能モジュール1の基本ファンクション部1804で命令ストリームを解釈し、他のモジュールの電源制御を行う場合が考えられる。
例えば、メインプロセッサ1801は、拡張処理モジュールやコプロセッサ等1802を使用していない期間電源遮断する場合に、本発明による投機的先行電源投入を行うことができる。
また、バス1823により接続される機能モジュール2(1807)などの全ての機能について、使用していない期間電源遮断する場合に、本発明による投機的先行電源投入を行うことができる。
更に、バスブリッジ(1809、1812)を介して接続する、例えばUART1815やUSB1818など、バスを問わず全ての機能について、使用していない期間電源遮断する場合に、本発明による投機的先行電源投入を行うことができる。
本実施形態に係る半導体集積回路によれば、電源遮断可能な機能ユニットの処理開始前の予測に基づいて当該機能ユニットの電源投入又は電源遮断を制御するようにしたので、電源安定までの待機時間ペナルティを軽減することができる。これにより、パイプラインストールの軽減を達成して、半導体集積回路におけるパフォーマンスの低下を抑止することができる。
更に、電源制御のハードウェアによる自動化を実現しているため、積極的に電源遮断を実施することができ、処理内容に応じた消費電力の節約が可能となる。また、電源遮断可能な機能ユニットに関する処理内容に基づいてハードウェアで制御されるので、電源遮断の手続きを、ソフトウェアあるいはPDLでケアする必要が無く、実行形式及びコードの汎用性を高めることができる。
また、電源遮断、電源投入のタイミングをソフトウェアあるいはPDLの記述形式に影響を及ぼすことが無く、実行形式及びコードの汎用性を高めることができる。また、入力されたソフトウェアあるいはPDLの命令ストリームに対応して最適化されるので、連続実行を行った場合、消費電力面と処理速度の面で、より最適な処理状態で実行することが可能になる。また、消費電力面と処理速度の面でトレードオフを思考しながら、カスタマイズを行う手段を提供し、本発明に拠り作成された半導体集積回路が搭載されるセットに対して、消費電力面と処理速度の面で最適化を行うことができる。
前述した本実施形態に係る半導体集積回路を構成する図1及び図10の各手段、並びに当該半導体集積回路の制御方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、コンピュータが供給されたプログラムを実行することにより本実施形態に係る半導体集積回路の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して本実施形態に係る半導体集積回路の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて本実施形態に係る半導体集積回路の機能が実現される場合も、かかるプログラムは本発明に含まれる。
本発明の実施形態に係る半導体集積回路の概略構成を示すブロック図である。 図1に示す電源遮断が可能な第4の機能ユニット(機能ユニット4)の電源遮断に関する基本的な構成を示すブロック図である。 命令アドレスの局所性を利用して大域的なアドレス変化を検出する方法を実現するための電源投入予測部に係る概略構成を示すブロック図である。 図3の先行電源投入登録部における先行電源投入条件の登録例を示す図である。 図3の先行電源投入登録部における先行電源投入条件予測例を示す図である。 グローバルな分岐履歴を利用するgshare分岐予測器の概略構成を示すブロック図である。 ローカルな分岐履歴を2レベルに分けて管理するローカル履歴2レベル適応型分岐予測器の概略構成を示すブロック図である。 2つの分岐予測器の結果を分岐の特徴に応じて採用するコンビネーション型分岐予測器の概略構成を示すブロック図である。 図6、図7及び図8の分岐パターン履歴テーブルに利用されている2ビット飽和カウンタの状態遷移を示す模式図である。 本発明の実施形態に係る半導体集積回路において、分岐予測の機構を利用する電源制御方法を実現するための概略構成を示すブロック図である。 図10に示す電源投入予測部の内部構成の一例を示すブロック図である。 分岐パターン履歴の値に基づく先行電源投入の制御態様を示す図である。 図10に示す電源投入予測部の内部構成の一例を示すブロック図である。 図13の電源投入パターン履歴テーブルに利用されている2ビット飽和カウンタであるカウンタの状態遷移を示す模式図である。 本発明の実施形態に係る半導体集積回路の電源制御部の内部構成を示すブロック図である。 命令ストリームに対して、処理内容探査部と電源投入予測部で行う、先行電源投入予測の登録の動作を示す模式図である。 命令ストリームに対して、処理内容探査部と電源投入予測部により登録された先行電源投入予測情報に基づいて、電源投入予測部と電源制御部が先行電源投入の予測を行う動作を示す模式図である。 一般的にシステムLSIと呼ばれる半導体集積回路の概略構成を示すブロック図である。
符号の説明
100:半導体集積回路
101:処理内容探査部
102:電源投入予測部
103:電源制御部
104:命令フェッチ
105:命令デコード
106:命令ディスパッチ
110:機能ユニット部
111〜116:機能ユニット
200:NMOSトランジスタ
201:データ処理部
202:命令コード
203:データイン
204:コンディションコード等の処理結果コード
205:データアウト
206:処理状態
301:プログラムカウンタの命令アドレス
302:命令部分アドレス
303:排他的論理和(XOR)
304:排他的論理和(XOR)
305:比較器
306:ウェイト時間設定レジスタ
307:カウンタ
308:命令データ
309:先行電源投入条件登録部
3091:電源投入ブロックIDコード
3092:電源投入履歴
600:gshare分岐予測器
601:分岐命令アドレス
602:グローバル分岐履歴
603:合成インデックス
604:分岐パターン履歴テーブル
605:合成インデックスで指定されたエントリ
606:カウンタ
700:ローカル履歴2レベル適応型分岐予測器
701:分岐履歴テーブル
702:l番目のローカル分岐履歴
703:分岐予測テーブル
704:分岐予測テーブルm,nで示されるエントリ
800:コンビネーション型分岐予測器
801:第1の分岐予測部(分岐予測部1)
802:第2の分岐予測部(分岐予測部2)
803:分岐パターン履歴テーブル
804:分岐パターン履歴テーブルのインデックスnのエントリ
805:セレクタ
1001:分岐予測器
1002:フェッチアドレス選択部
1003:レジスタファイル
1004:コンプリーションバッファ
1101:インデックスリングバッファ
1102:インデックス履歴サイズレジスタ
1103:先頭分岐ポインタ
1104:末尾分岐ポインタ
1105:ブロックIDコードテーブル
1106:先行電源投入指示部
1301:2ビット飽和カウンタ
1302:電源投入パターン履歴テーブル
1500:ブロックIDコード解析部
1501:第1ブロック電源投入判定部
1502:スタンバイ期間設定レジスタ
1503:タイマーダウンカウンタ
1511:第nブロック電源投入判定部
1512:スタンバイ期間設定レジスタ
1513:タイマーダウンカウンタ
1600:命令ストリーム
1700:命令ストリーム
1801:メインプロセッサ
1802:コプロセッサ等拡張処理モジュール
1803:バスインターフェース(バスIF)
1804:機能モジュール1の基本ファンクション部
1805:機能モジュール1の拡張ファンクション部
1806:バスインターフェース(バスIF)
1807:機能モジュール2
1808:AHBコントローラ
1809:バスブリッジ
1810:メモリコントローラ
1811:DMA
1812:バスブリッジ
1813:タイマー/割り込みコントローラ
1814:PIO
1815:UART
1816:UART
1817:GPIO
1818:USB
1819:AHBコントローラ
1820:外部インターフェース
1821:DRAMインターフェース
1822:外部インターフェース
1823:バス

Claims (9)

  1. 少なくとも一つが電源遮断可能に構成された複数の機能ユニットを有する処理手段と、
    前記処理手段に処理させる処理内容を示す命令を取得する取得手段と、
    電源制御の履歴を保持する保持手段と、
    前記電源遮断可能な機能ユニットに関する処理内容を前記取得手段の取得した命令から探査する処理内容探査手段と、
    前記処理内容探査手段で探査した処理内容について前記保持手段に保持されている電源制御の履歴に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断に係るタイミングを予測する電源投入予測手段と、
    前記電源投入予測手段の予測結果に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断を制御する電源制御手段とを有することを特徴とする半導体集積回路。
  2. 前記取得手段の取得する命令は命令アドレスと命令データとを有し、
    前記電源投入予測手段は、前記処理手段の実行した命令から命令アドレスの部分変化を検出して、前記電源遮断可能な機能ユニットに対する電源投入に係る予測をすることを特徴とする請求項1に記載の半導体集積回路。
  3. 前記電源投入予測手段は、
    前記取得手段に存在する命令アドレスと前サイクルで当該電源投入予測手段に入力された命令アドレスとを比較することでアドレス変化を検出してトリガーを設定する比較手段と、
    前記比較手段によるトリガーの設定に応じてカウントを開始するカウンタと、
    前記カウンタのカウント中に前記取得手段の取得した命令データから電源制御命令を検出した場合に前記カウンタのカウントした値を電源投入履歴として登録する電源投入条件登録手段とを有することを特徴とする請求項2に記載の半導体集積回路。
  4. 前記トリガーの有効時間を保持するレジスタを更に有し、
    前記電源投入予測手段は、前記カウンタのカウントする値の示す時間が前記有効時間を過ぎた場合に、前記電源投入履歴の登録を制限することを特徴とする請求項3に記載の半導体集積回路。
  5. 前記取得手段の取得する命令は命令アドレスと命令データとを有し、
    前記電源投入予測手段は、前記処理手段の実行した命令から得られた分岐履歴に基づいて予測することを特徴とする請求項1又は2に記載の半導体集積回路。
  6. 前記電源投入予測手段は、グローバル分岐履歴と前記取得手段の取得した命令アドレスとに基づいて合成インデックスを作成する合成手段を有し、
    前記合成手段の作成した合成インデックスと前記分岐履歴に基づいて分岐予測条件を登録することを特徴とする請求項5に記載の半導体集積回路。
  7. 少なくとも一つが電源遮断可能に構成された複数の機能ユニットを有する処理手段と、
    前記処理手段に処理させる処理内容を示す命令を取得する取得手段と、
    前記電源遮断可能な機能ユニットに関する処理内容を前記取得手段の取得した命令から探査する処理内容探査手段と、
    前記処理内容探査手段で探査した処理内容に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断に係るタイミングを予測する電源投入予測手段と、
    前記電源投入予測手段の予測結果に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断を制御する電源制御手段とを有し、
    前記取得手段の取得する命令は命令アドレスと命令データとを有し、
    前記電源投入予測手段は、
    前記取得手段に存在する命令アドレスと前サイクルで当該電源投入予測手段に入力された命令アドレスとを比較することでアドレス変化を検出してトリガーを設定する比較手段と、
    前記比較手段によるトリガーの設定に応じてカウントを開始するカウンタと、
    前記カウンタのカウント中に前記取得手段の取得した命令データから電源制御命令を検出した場合に前記カウンタのカウントした値を電源投入履歴として登録する電源投入条件登録手段とを備えることを特徴とする半導体集積回路。
  8. 少なくとも一つが電源遮断可能に構成された複数の機能ユニットを有する処理手段と、前記処理手段に処理させる処理内容を示す命令を取得する取得手段と、電源制御の履歴を保持する保持手段と、前記電源遮断可能な機能ユニットに関する処理内容を前記取得手段の取得した命令から探査する処理内容探査手段と、を備える半導体集積回路の制御方法であって、
    前記処理内容探査手段で探査した処理内容について前記保持手段に保持されている電源制御の履歴に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断に係るタイミングを予測する予測工程と、
    前記予測工程における予測結果に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断を制御する制御工程とを有することを特徴とする制御方法。
  9. 少なくとも一つが電源遮断可能に構成された複数の機能ユニットを有する処理手段と、前記処理手段に処理させる処理内容を示す命令を取得する取得手段と、前記電源遮断可能な機能ユニットに関する処理内容を前記取得手段の取得した命令から探査する処理内容探査手段と、前記処理内容探査手段で探査した処理内容に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断に係るタイミングを予測する電源投入予測手段と、前記電源投入予測手段の予測結果に基づいて、前記電源遮断可能な機能ユニットに対する電源投入又は電源遮断を制御する電源制御手段とを有する半導体集積回路の制御方法であって、
    前記取得手段の取得する命令は命令アドレスと命令データとを有し、
    前記取得手段に存在する命令アドレスと前サイクルで当該電源投入予測手段に入力された命令アドレスとを比較することでアドレス変化を検出してトリガーを設定する比較工程と、
    前記比較工程におけるトリガーの設定に応じてカウントを開始し、当該カウント中に前記取得手段により取得した命令データから電源制御命令を検出した場合にカウントした値を電源投入履歴として登録する電源投入条件登録工程とを備えることを特徴とする制御方法。
JP2007016858A 2007-01-26 2007-01-26 半導体集積回路及びその制御方法 Expired - Fee Related JP5247037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007016858A JP5247037B2 (ja) 2007-01-26 2007-01-26 半導体集積回路及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007016858A JP5247037B2 (ja) 2007-01-26 2007-01-26 半導体集積回路及びその制御方法

Publications (3)

Publication Number Publication Date
JP2008186854A JP2008186854A (ja) 2008-08-14
JP2008186854A5 JP2008186854A5 (ja) 2010-03-11
JP5247037B2 true JP5247037B2 (ja) 2013-07-24

Family

ID=39729715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007016858A Expired - Fee Related JP5247037B2 (ja) 2007-01-26 2007-01-26 半導体集積回路及びその制御方法

Country Status (1)

Country Link
JP (1) JP5247037B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6672626B2 (ja) * 2015-07-22 2020-03-25 富士通株式会社 半導体装置および半導体装置の制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01155459A (ja) * 1987-12-14 1989-06-19 Hitachi Ltd プロセツサおよび並列計算機
JPH04143819A (ja) * 1989-12-15 1992-05-18 Hitachi Ltd 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ
JPH117437A (ja) * 1997-06-16 1999-01-12 Nec Corp マイクロコンピュータ
US7441136B2 (en) * 2005-04-04 2008-10-21 Advanced Micro Devices, Inc. System for predictive processor component suspension and method thereof

Also Published As

Publication number Publication date
JP2008186854A (ja) 2008-08-14

Similar Documents

Publication Publication Date Title
US10802567B2 (en) Performing local power gating in a processor
JP5285408B2 (ja) プロセッサ、プロセッサを動作させる方法、および情報処理システム
KR101673500B1 (ko) 캐시 제어를 위한 방법 및 장치
JP5172942B2 (ja) プロセッサによる電力消費を低減する方法、プロセッサ、及び、情報処理システム
US8667257B2 (en) Detecting branch direction and target address pattern and supplying fetch address by replay unit instead of branch prediction unit
KR101518440B1 (ko) 프로세싱 노드의 동적 성능 제어
US8028185B2 (en) Protocol for transitioning in and out of zero-power state
JP3845642B2 (ja) ユニット電力調整機構を備えた集積回路装置
US7925853B2 (en) Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system
US8370671B2 (en) Saving power by powering down an instruction fetch array based on capacity history of instruction buffer
US10261789B2 (en) Data processing apparatus and method for controlling performance of speculative vector operations
US7487374B2 (en) Dynamic power and clock-gating method and circuitry with sleep mode based on estimated time for receipt of next wake-up signal
US9329666B2 (en) Power throttling queue
JP2004326752A (ja) 同時マルチスレッド化プロセッサ
JP2004199139A (ja) プロセッサシステム、命令列最適化装置、および命令列最適化プログラム
CN116420140A (zh) 可动态配置的过度供应的微处理器
JP5247037B2 (ja) 半導体集積回路及びその制御方法
US11080188B1 (en) Method to ensure forward progress of a processor in the presence of persistent external cache/TLB maintenance requests
Talpes et al. Power reduction through work reuse
JP2006031697A (ja) 分岐ターゲットバッファと使用方法
KR20230089538A (ko) 명령어 디코드 클러스터 오프라인화
CN116635833A (zh) 复杂cpu上的精确时间戳或导出计数器值生成
Irie Processor Core and Low-Power SOC Design for Embedded Systems

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130125

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130409

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees