JP3880310B2 - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP3880310B2 JP3880310B2 JP2000367702A JP2000367702A JP3880310B2 JP 3880310 B2 JP3880310 B2 JP 3880310B2 JP 2000367702 A JP2000367702 A JP 2000367702A JP 2000367702 A JP2000367702 A JP 2000367702A JP 3880310 B2 JP3880310 B2 JP 3880310B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- processing
- circuit
- semiconductor integrated
- integrated circuit
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims description 51
- 238000000034 method Methods 0.000 description 59
- 230000015654 memory Effects 0.000 description 48
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 15
- 230000002093 peripheral effect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 6
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 6
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 4
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 3
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/382—Pipelined decoding, e.g. using predecoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、半導体集積回路の、クロック信号に関する低消費電力化技術に関する。
【0002】
【従来の技術】
半導体集積回路では、近年の動作周波数の高速化により、全消費電力に対するクロック信号の電力消費の割合は大きなものとなってきている。そのため、クロック信号に関する低消費電力化技術が多数報告されている。
【0003】
上記低消費電力技術についての従来技術は、大きく以下の5つに分類できる。すなわち、
1.回路中の不要部分へのクロック信号の供給を停止するか、ごく低速のクロックを供給することで低消費電力化を達成する方法
2.クロック信号、またはその受信部となるフリップフロップやラッチ回路自身に工夫を擬らすことで、低消費電力化を達成する方法
3.回路の動作状態をいくつかのモードに分け、固有のプログラム命令により電源またはクロック周波数を各々のモードについて機能ブロック単位で制御して電力消費を低減させる方法
4.プログラムコンパイル時にクロック切替え命令を挿入し、回路の動作に応じてクロックの速度を切り替えることで消費電力を低減させる方法
5.低速の周辺同路に係る命令処理時にはクロックのスピードを遅くする方法である。
【0004】
まず、上記従来技術1として示した「回路中の不要部分へのクロック信号の供給を停止する」技術は、一般的には回路中の大きな範囲から小さな範囲まで様々な階層で既に適用されているものである。例えば、特開平8−18008号公報には、使用されていない機能ブロックによって無駄に電力が消費されることが無くなり、低消費電力化が可能である半導体集積回路装置に関する技術が開示されている。この技術は、回路中の複数の機能ブロックに対して、ある段階で動作していない回路にはクロックの供給を停止するものである。このような技術は、総じてゲーティッドクロックと呼ばれているものであり大きな電力削減効果がある。
【0005】
同様の技術として特開平6−112810号公報には、内部が複数の機能回路ブロックに分かれて構成され、スタンバイモード等の特殊な動作モード時に使用される第1のブロックと、使用されない第2のブロックと、を有するディジタルIC装置において、使用されない第2のブロックのクロック信号を停止する、またはクロック信号の周波数を下げることにより、第2ブロックを流れる電流量を減少させて電力消費量を抑える技術が開示されている。
【0006】
また、特開平6−295243号公報には、パイプラインで処理の長いステージが完了するまでの間、他の待機状態になっているステージのクロックを停止するデータ処理装置に関する技術が開示されている。
【0007】
次に、上記従来技術2として示した「クロック信号自身に工夫を凝らす」という技術は、様々な種類のものが報告されている。例えば、「低消費電力・高速LSI技術」(桜井貴康編、2.1.7.1.小振幅クロック技術、リアライズ社)に記載されたクロック信号振幅を半減させることによるものや、フリップフロップに工夫を凝らした低消費電力化技術などがその代表である。
【0008】
上記従来技術3に関しては、例えば、電源またはクロック周波数を制御するための命令を作って、これを実行プログラム中に挿入することで随時電圧もしくは動作周波数を変える手法が、特開平5−210433号公報及び特開平6−332583号公報に、ディジタル電子機器用電力制御装置、該電力装置を備えた処理装置、及び該処理装置を備えたディジタル電子機器用電力管理システムに関する技術として開示されている。これらの公報に開示された装置及びシステムでは、回路中の機能ブロック単位に電源のON/OFF、クロック周波数の変更を行うような命令コードを準備し、そのときのデバイスの動作モードに応じてデバイス内部の各機能ブロックへ供給される電源またはクロックをコントロールしている。そして、多くの場合、待機モードと動作モードといった切り分けを行い、回路動作が少ない場合にクロックや電源を制御することを提案している。
【0009】
上記従来技術4として示した「プログラムコンパイル時にクロック切替え命令を挿入する」方法は、例えば、特開平9−22318号公報にプロセッサ及びその制御方法に関する技術として開示されている。この方法では、クロックスピードを切り替える単位が重要である。すなわち、クロックスピードを細かく制御して処理速度を最適化しようとすると、クロック切替え命令が頻繁に挿入されることになり、処理速度に与える影響が大きくなる。一方、クロック切替え命令の挿入を減らすために大雑把にクロックを切り替えると、低速回路に引きずられて処理速度が低下するか、または処理速度向上の為にクロックを低速化できないために消費電力が低減されない。
【0010】
従来技術5として示した「低速の周辺回路に係る命令処理時にクロックを遅くする」手法は、例えば、特開昭62−232053号公報のマイクロコンピュータの動作速度制御装置に、その技術が開示されている。この場合、低速の周辺回路が例えば書き込み時だけスピードが遅かったとしても、該回路にアクセスする限りは低速動作することになり、必要以上にシステムの処理速度を低下させることになる。
【0011】
また、特開平8−147161号公報には、この点を考慮し、例えば低速の周辺回路からのデータリードアクセス時のみウェイトステートを挿入することで処理速度の低下を最低限に抑えるデータ処理装置に関する技術が開示されている。この技術は、消費電力を抑えつつ処理速度の低減を最小限に抑えるには有効な手投であるが、処理サイクル毎の電力のばらつきが大きい。すなわち、ウェイト期間には内部動作が少ないため電力は少ないが、ウェイトの前のサイクルでは同時に多くの処理が行われるため、電流のピークが大きくなる傾向がある。
【0012】
また、上記5つの従来技術以外の方法として、特開平8−272479号公報には、動作ユニット単位に各々の動作状況に合わせて別々のクロックを与える可変クロック発生装置に関する技術が開示されている。
【0013】
【発明が解決しようとする課題】
従来技術1として示した「回路中の不要部分へのクロック信号の供給を停止する」という技術における問題点を、図10に基づいて説明する。図10は、半導体集積回路の一般的な回路構成図、及び所定の状態における各ブロックの状態を示した図である。半導体集積回路70は、所定の動作・処理を行うブロックA71、ブロックB72、ブロックC73、クロックジェネレータ74及びCPU75によって構成される。各ブロックの動作クロックは、クロックジェネレータ74から供給される。また、各部はCPU75により制御される。
【0014】
半導体集積回路70では、各ブロック71〜73が例えばある期間に少しでも動作する瞬間があれば、そのブロックに対しては通常動作時と同等のクロックを供給しなければならない。よって、各ブロック71〜73に対して、クロック信号を供給する/しない/遅くする、という判断を行っても、半導体集積回路70における低電力化の効果が少なくなるという問題がある。例えば、図10(B)に示したように、サイクル“ハ”ではブロックA71がメインで動作し、その間わずかにブロックC73が動作する。この場合、従来の手法ではブロックC73に対しても通常のクロックを供給し続けることになる。したがって、低電力化の効果は、ブロックB72が停止している分だけになる。
【0015】
また、最近の半導体集積回路では、スタンバイモード等の待機モードにおいても回路中で停止可能な機能ブロックが減少してきている。そのために、クロック信号の供給を完全に停止することができないことが多い。この問題の対処方法として、待機モードでは動作時よりも遅いクロックで動作するようコントロールする手法が発表されている。しかしながら、動作モード時については何ら対策されない。すなわち、動作している回路については、ある程度低速のクロックでよい場合でも、従来通り高速のクロックが供給され続けるため、動作中の無駄な動作による消費電力の削減ができない。
【0016】
従来技術2として示した「クロック信号自身に工夫を凝らす」方法では、例えばクロックの信号振幅を半減させる手法などが報告されているが、通常のロジックとは別の電源配線が必要になる。そのため、チップ面積に影響が大きいことと、ノイズマージンの低下をもたらす、といった問題が有る。
【0017】
従来技術3として示した「デバイスの動作モードに応じて、各機能ブロックに供給する電源のON/OFFやクロック周波数の変更を行うためのプログラム命令を準備する」手法については、まず回路の状態をいくつかのモードに明確に切り分ける必要がある。また、特開平9−22318号公報に開示されたプロセッサ及びその制御方法においては、既存のプログラムに対してソフトウェア上で電力を考慮しながら命令を追加しなければならない。
【0018】
従来技術4として示した「プログラムコンパイル時にクロック切替え命令を挿入する」方法については、モードを切り替えるためのプログラムを実行する間、処理が停止してしまう。また、前記のように、クロックスピードをより細かくモードを制御しようとすると、モード切替え信号を実行する間の時間的なペナルティが大きくなってしまうという問題がある。
【0019】
従来技術5として示した「低速の周辺回路に係る命令処理時にはクロックのスピードを遅くする」方法については、周辺回路として接続されるメモリ等の回路の動作速度が、システムの動作速度と比較して遅い場合、通常これらの回路にアクセスする時にはウェイトサイクルを追加する。このとき、データのアクセスをする回路以外は状態を保持したまま処理を行わない。状態を保持する為には、クロック信号による制御が不可欠であり、結果として無駄な回路動作となる。ウェイトサイクルを追加せずにメモリの処理速度に応じてクロックを遅くする手法は、例えば特開平3−55614号公報、特開平2−118811号公報、特開昭62−232053号公報に、それぞれ電子機器、マイクロコンピュータ、マイクロコンピュータの動作速度制御装置の技術として開示されている。しかし、これらのメモリにアクセスする際のシステム動作速度に対するペナルティが大きくなる。
【0020】
また、上記5つの従来技術以外の方法である特開平8−272479号公報の可変クロック発生装置については、同時に複数の処理を行う場合、処理の内容によって要する時間は異なる。多くの場合、処理時間の短いものは処理を完了した後、処理時間の長いものが終了するまで結果を保持している。データを保持する為にはクロック信号による制御が不可欠であり、結果として無駄な回路動作となる。
【0021】
そこで、本発明は上記の問題を解決するために創作したものであり、その目的は、1つまたは複数の回路ブロックを有し、命令セットを実行する半導体集積回路において、より効率的に消費電力の低減を図ることができる回路構成方法を提供することである。
【0022】
【課題を解決するための手段】
この発明は、上記の課題を解決するための手段として、以下の構成を備えている。
【0046】
(1)1つまたは複数の回路ブロックを有し、命令セットを実行する半導体集積回路であって、
複数のクロック信号の中から1つのクロック信号を選択して前記回路ブロックへ供給するために複数の選択手段が階層化され、使用頻度の高い動作周波数のクロック信号ほど該複数の選択手段のうち接続数が少ない低階層の選択手段に接続され、使用頻度の低い動作周波数のクロック信号ほど該複数の選択手段のうち接続数が多い高階層の選択手段に接続されたクロックツリーと、
前記選択手段の切替えを制御する制御手段と、を備えたことを特徴とする。
【0047】
この構成においては、クロックツリーを構成する際に、動作周波数の使用頻度によって各々の動作周波数に対して重み付けを行い、使用頻度の高い動作周波数が選択手段のツリー構造において最終段に近くなるように、半導体集積回路を構成する。これにより、動作周波数切替えを行うパスの負荷が低減され、素早く動作周波数を変更することができる。また、単純にクロックツリーを構成したときと比較してクロック切替え時に充放電が必要な配線容量が少なくて済むため、より安定した動作が可能となる。
【0052】
【発明の実施の形態】
〔第1例〕
第1例では、命令実行において複数の処理サイクルがある場合、処理サイクル単位で動作周波数を変更または停止することができるように半導体集積回路を構成する。例えば、時間のかかる演算を行ったり、低速の周辺回路にアクセスしたりする場合、通常であればウェイトサイクルを挿入する。しかし、本実施形態では、このような場合、処理サイクルの動作周波数を遅くする。また、逆に処理の量が少なく、より高速で動作可能な処理サイクルがあった場合、回路の動作を高速化させるために、これらの処理サイクル実行中は動作周波数を速くする。さらに、これらのクロックの調整は、回路全体に対して行うだけでなく、各機能ブロック単位でも調整を可能にする。
【0053】
図1は、第1例に係る半導体集積回路の動作タイミングチャート及び従来の半導体集積回路の動作タイミングチャートである。図2は、選択回路の回路構成図である。図1(A)に示した従来技術(特開平6−332583号公報)では、通常のクロックである周波数aで動作している時に、周波数変更命令inst_Bを実行すると、以降の動作は周波数bで行う。また、周波数bで動作している時に、周波数変更命令inst_Aを実行すると、以降の動作は周波数aで行う。
【0054】
これに対して、第1例では図1(B)に示したように、周波数変更命令inst_Bによって以降の動作を完全に周波数bで行うのではなく、特定のサイクルであるmr、mwサイクルのみ周波数bで動作させている。クロックの切替えは、例えば図2に示したような選択回路11で実現可能である。選択回路11は、セレクタ12、セレクタ13及び切替えSW14により構成される。CLK_A入力端子は、セレクタ12、セレクタ13及び切替えSW14に接続されている。また、CLK_B入力端子は、セレクタ12及びセレクタ13に接続されている。セレクタ12では、mr端子から入力された信号により、CLK_for mr端子に出力する信号が選択される。セレクタ13では、mw端子から入力された信号により、CLK_for mw端子に出力する信号が選択される。切替えSW14では、op端子から入力された信号により、CLK_for op端子への信号の出力・停止が切り替えられる。選択回路11の制御は、制御手段である図外のCPUによって、命令実行サイクル単位で制御される。
【0055】
また同様に、図示していないが特定のサイクルのみクロックを変更するのは、チップ全体ではなく特定の機能ブロックのみとしてもよい。図1に示したタイミングチャートでは、3回目のmwサイクル終了まで、従来技術では総サイクル数が62であったが、第1例では、総サイクル数は52となる。よって、処理速度は従来手法の約15%速くなる。
【0056】
〔第2例〕
第2例では、これから実行しようとする命令コードを自動的に解析して、信号処理の量や処理能力に応じて各々の機能ブロックや処理サイクルのクロックを決定することができるように半導体集積回路を構成する。この時、回路全体の周波数をコントロールするだけでなく、外部から見た動作周波数はそのままで、内部の一部の回路に対してのみ動作周波数を低下または停止させることができる。また、クロック制御のための特別な命令を追加することなく、システムのクロックを制御できる。図3は、半導体集積回路において命令コードと各ブロックのクロックと関係を示した図である。図3では、簡易に説明するために、Block_A、Block_Bの2つの回路ブロックに対して、CLK_a〜dの4種類のクロックからデータの上位3ビットで選択する周波数、及び周波数を変更するブロックを認識させる例を示している。つまり、データの1ビット目(15)が0の場合、3ビット目(13)の値にかかわらず、2ビット目(14)が0であるとBlock_Aの動作周波数としてCLK_aが選択され、2ビット目(14)が1であるとBlock_Aの動作周波数としてCLK_bが選択される。また、データの1ビット目(15)が0の場合、2ビット目(14)の値にかかわらず、3ビット目(13)が0であるとBlock_Bの動作周波数としてCLK_aが選択され、3ビット目(13)が1であるとBlock_Bの動作周波数としてCLK_bが選択される。さらに、データの1ビット目(15)が1の場合、3ビット目(13)の値にかかわらず、2ビット目(14)が0であるとBlock_Aの動作周波数としてCLK_cが選択され、2ビット目(14)が1であるとBlock_Aの動作周波数としてCLK_dが選択される。また、データの1ビット目(15)が1の場合、2ビット目(14)の値にかかわらず、3ビット目(13)が0であるとBlock_Bの動作周波数としてCLK_cが選択され、3ビット目(13)が1であるとBlock_Bの動作周波数としてCLK_dが選択される。このような動作は、制御手段である図外のCPUによって制御される図外のセレクタ回路で行われる。
【0057】
なお、実際には全ての命令コードについて各ブロック、各サイクルの最適な動作周波数を求め、これを元に処理する命令単位でクロックの選択を行う。
【0058】
〔第3例〕
第3例では、内部または外部に接続される各メモリのイネーブル信号に応じて、回路の動作周波数をコントロールすることができるように半導体集積回路を構成する。例えば、回路が通常動作する周波数でメモリのアクセスをしようとした時に、該当するメモリの動作速度が遅く、従来であればウェイトサイクルを発生させることでデータのやりとりをしていたような場合、該メモリをアクセスする期間だけ回路全体の動作周波数を低くして、ウェイトサイクル無しでデータのやりとりをすることができる。例として、低速なメモリにアクセスする場合について説明する。従来は命令単位にクロックを制御する。すなわち、メモリアクセスサイクルの間(オペコードフェッチ+メモリリード、またはオペコードフェッチ+ライトサイクルといった、一連の処理サイクル)を一括して低速クロックで動作させるが、これでは動作速度の低下が著しい。そこで、第3例では、制御部であるCPUで実行サイクル単位にクロックを制御する。すなわち、オペコードをフェッチするサイクルについては通常のシステムクロックで動作し、メモリリード/ライトのサイクルのみ低速で動作するようにCPUで制御する。これにより、ウェイトサイクル挿入による無駄な処理を行わずに、システム動作速度に対するペナルティはメモリにアクセスする必要最小限の時間に抑えられる。また、システムの動作速度を低下させないために、処理が十分可能であればメモリリード/ライト以外のサイクルは動作周波数を速くすることも可能とする。
【0059】
図4は、第3例の回路構成図及びタイミングチャートと、従来のタイミングチャートである。半導体集積回路20は、セレクタ回路であるCLKセレクタ25とCPU26とを含む構成であり、外部メモリMMl〜MM4を備える。CLKセレクタ25は、クロック信号CLKLとクロック信号CLKHとの入力端子を有する。CLKセレクタ25で選択されたクロック信号は、CPU26、外部メモリMMl〜MM4の各CLK端子に入力される。また、CPU26と外部メモリMMl〜MM4との間は、Dataバスが接続されている。さらに、CLKセレクタ25は、CPU26によって、命令単位または命令実行単位で制御される。
【0060】
外部メモリMMl〜MM4のうち、外部メモリMM4のみがメモリアクセス時間の遅いデバイスであった場合、外部メモリMM4に対するイネーブル信号が立ったときには、CLKセレクタ25で遅いクロック信号CLKLが選択され、回路は低速で動作を行う。その他の外部メモリが選択された場合やメモリアクセスサイクル以外(図4(B)におけるopフェッチサイクル)では、速いクロック信号CLKHが選択される。これにより、図4(B)に示した従来動作でのWaitサイクルを挿入する必要がなくなり、クロック信号のトグル回数を低減することが可能となる(本例では2回低減している)。
【0061】
なお、図4では、複数の外部メモリMM1〜MM4としたが、これに限るものではなく、半導体集積回路の内部メモリであってもよい。また、論理的に複数メモリとして扱う単一メモリであってもよい。
【0062】
〔第4例〕
第4例では、半導体集積回路に接続された各周辺回路についても、第3例と同様にI/Oアドレスをデコードした結果である。I/Oイネーブル信号によって、CPU及び周辺回路の動作周波数を実行する命令単位または実行サイクル単位に、動作周波数を変更または停止することができるように半導体集積回路を構成する。つまり、動作周波数を実行する命令単位または命令実行サイクル単位に動作周波数を変更または停止するセレクタ回路と、I/Oアドレスをデコードし、該デコード結果に対応する1つまたは複数の周辺回路の各動作速度に応じて、該セレクタ回路を制御する制御手段であるCPUと、を備えた構成とする。これにより、ウェイトサイクルの追加なしにアクセスする事が可能になる。例えば、図4(A)に示した外部メモリMMl〜MM4を周辺回路に置き換え、図4(B)に示したタイミングチャートにおいてメモリリードサイクル及びメモリライトサイクルをI/Oリードサイクル及びI/Oライトサイクルとする。これにより、第3例と同様に、半導体集積回路に接続された各周辺回路についても、従来動作でのWaitサイクルを挿入する必要がなくなり、クロック信号のトグル回数を低減することが可能となる。
【0063】
〔第5例〕
第5例では、半導体集積回路が備えたキャッシュメモリにヒットしたか否かによって動作周波数を可変することができるように半導体集積回路を構成する。図示しないが、第5例の半導体集積回路は、CPU及びキャッシュメモリと、外部メモリと、を備えた構成とする。半導体集積回路において、通常、外部メモリへのデータアクセスは、内部メモリへのデータアクセスよりも時間がかかる。この対策として、ある領域のデータを前もって取り込むことが可能なキャッシュメモリを半導体集積回路に設ける。そして、ある領域のデータを前もってキャッシュメモリに取り込み、これらのデータへのアクセス要求があったときには、キャッシュメモリに予め書き込んでおいたデータを読み出すことで、半導体集積回路を高速に動作させることが可能になる。第5例では、キャッシュメモリにヒットした(予め書き込んだ内容をキャッシュメモリから読み出す)場合と、キャッシュミスした(読み出す内容がキャッシュメモリに予め書き込まれてなく、外部メモリからデータを読み出す)場合と、によってクロックを実行命令単位または実行サイクル単位に切り替えるように、制御手段であるCPUで制御し、より効率的に動作させる。つまり、キャッシュメモリにヒットしなかった場合には、外部周辺メモリの動作速度に合わせてクロックを低速にするように、CPUで制御する。また、キャッシュメモリにヒットした場合には周波数を速くして、より高速にデータを読み込むようにCPUで制御する。さらに、このときデータ取り込みのサイクル及びその際に動作する機能ブロックのみを低速クロックで動作させ、それ以外のサイクルおよび機能ブロックは高速のまま動作させるようにCPUで制御することもできる。
【0064】
次に、図5に基づいて半導体集積回路の動作を説明する。図5は、第5例に係る半導体集積回路の動作を説明するためのフローチャートである。まず、半導体集積回路のCPUは、所定の内容を読み出す場合、キャッシュメモリにアクセスし、その内容がヒットしたか否かによって、異なる処理を行う(ステップ101)。つまり、キャッシュメモリにヒットした場合は、所定の高速クロックでキャッシュにアクセスして、所定のデータを読み出す(ステップ102)。そして、CPUは次の命令を読み出す(ステップ104)。一方、ステップ101において、キャッシュメモリにヒットしない(キャッシュミスした)場合は、所定の低速クロックで外部メモリにアクセスして、所定のデータを読み出す(ステップ103)。そして、同様に、CPUは次の命令を読み出す(ステップ104)。
【0065】
〔第6例〕
半導体集積回路が命令やデータのパイプラインを持つ場合、同時に処理される内容によっては、各パイプラインステージの処理量に差がある。このような場合、通常は処理の少ないステージでは処理完了後処理の多いステージが処理完了するまでデータを準備した状態で待つことになる。そこで、第6例では、上記のような場合、ステージ毎にクロックを分離して、処理が少ない場合には、そのステージのみ動作周波数を遅くして、各ステージでの処理完了のタイミングを合わせることができるように半導体集積回路を構成する。これにより、データ保持している間の無駄な動作による電力の消費をなくすことができる。
【0066】
例えば、特開平6−295243号公報及び特開平8−147161号公報のデータ処理装置では、上記のような場合、各ステージで処理完了次第クロックを停止(ウェイトステート)させている。クロックが停止またはウェイトステートに入っている期間は内部動作が少ないため、この期間の消費電流は他の期間に比べて少なくなる。しかしながら、ただ何もしないサイクルが存在するならば、その前に行った処理をこのクロック停止もしくはウェイトの時間を有効に使ってゆっくりと処理させてやることで、電力消費を平均化させることができ、また、回路動作時のピーク電流を抑えることに有効である。
【0067】
図6は、パイプライン方式の半導体集積回路における従来及び第6例の処理方法を説明するためのタイミングチャートである。図6では、パイプライン処理として、ステージ1〜3の処理を行うものとする。図6(A),(B)のデータ1、データ2、データ3において、パイプライン31における各ステージのデータ処理期間を[−]で表し、データ処理完了後のデータ保持期間を[確]で表す。また、処理結果が確定するまでの各クロックで各々のステージが処理するデータ量を1としたときに、各クロックでの処理量がトータルでどれだけになるかを計算した結果を、波形の下の数値で示す。従来手法である図6(A)では、各命令処理サイクルの前半では、全てのステージがそれぞれデータ量1の処理を行うため、回路全体では処理数は3になる。ところが、処理サイクルの後半では、3つのステージのうち1つまたは2つのステージでは既に処理が終了しているため、最終クロックでのデータ処理量は1〜2に低下している。これに対して、第6例では、図6(B)に示したように、処理数がサイクル内で平均的になるように、制御手段であるCPUでサイクル内での総処理数に合わせてクロックを低速になるように制御する。これにより、処理サイクル内での処理数は一定となり、最大2.6まで下がっている。また、ピーク電流の低下は、レイアウト上では電源配線を細くすることができ、これにより、バッテリの寿命を延ばすことができる。
【0068】
〔第7例〕
第7例では、スーパスケーラの機能を持つ場合にも、同様に信号経路毎にクロックを独立して入力するように構成し、また、処理の少ない信号経路の動作周波数は遅くすることで消費電力を低減しつつ、外部への信号出力タイミングは従来と同じにできるように、半導体集積回路を構成する。処理の多少については、実行する命令の種類、演算の種類及び制御する周辺回路によって処理量の重み付けを行い、このテーブルを元に処理の重/軽の決定を行う。図7は、スーパスケーラ機能をもつ半導体集積回路の構成及び処理を説明するための図である。スーパスケーラでは複数の実行ユニットを持ち、実行時に同時に実行できる処理を判断し、これらの処理をハードウェア的に各々の実行ユニットに振り分け、並列に処理を行うように、制御手段であるCPUで制御する。図7(A)に示したように、この例では命令を2つの処理系統に振り分ける際、パイプライン42には処理の重いもの(処理負荷が大きいもの)を、パイプライン41には処理の軽いもの(処理負荷が小さいもの)を、優先的に振り分けるように制御する。そして、パイプライン42には高速のCLKHを与え、パイプライン41には低速のCLKLを与える。これにより、軽い処理は低速クロックで、重い処理は高速クロックで処理した結果がほぼ同時に出力されるようになり、処理の早く終わった処理系統が無駄にCLKをカウントすることなく処理を行うことが可能となる。この例では、処理系統は2系統でクロックもCLKH,CLKLの2種類であるが、3種類以上のクロック及び処理系統を持つことで、より効率的な処理が可能となる。
【0069】
処理の重み付けは命令の種類、演算の種類、アクセスする周辺回路などによって予めテーブルを準備しておく。そして、図7(B)に示したように、順次流れてきた命令を命令の重みに応じて、CPUは2つのユニットに振り分ける。命令はa〜gの7種類とし、命令の重み付けは命令aが最も重く、命令gが最も軽いものと設定を行ったものとする。また、命令は2つずつがセットで処理され、2つのうちのどちらが重いかで振り分けるように制御する。この結果、1段目の処理では命令aと命令bが入力され、命令aよりも処理の軽い命令bが低速CLKのパイプライン41へ入力され、命令bよりも処理の重い命令aが高速CLKのパイプライン42へ入力される。以降、順次比較を行い、処理の軽い命令は低速側パイプライン、重い命令は高速側パイプラインで処理を行う。
【0070】
〔第8例〕
第8例では、VLIW(Very Long Instruction Word)型の回路の場合にも同様に信号経路毎にクロックを分離して経路毎に周波数を変更できるように、半導体集積回路を構成する。図8は、VLIW型の半導体集積回路の処理例を示した図である。VLIWでは、制御手段であるCPUがプログラムをコンパイルする際、予め同時に実行できる命令を並列に並べて通常100bit以上の命令コードフォーマットに変換して処理を行う。そこで本発明では、CPUがプログラムをコンパイルする時に各処理の内容から最適なクロック周波数を各々選択しておき、それに基づいて処理を行うようにする。図8では説明を簡略化するため、4つの命令を並列に処理する構成とする。この場合、CPUは、インストラクションを4ワードの命令に変換する際に各々の処理に対する最適な周波数を選択し、それぞれのステージで異なる周波数によって動作を行う。これにより、トータルの処理時間は一切低下させずに、内部の無駄な動作を削減して、システムの性能はそのままに消費電力を低減できる。
【0071】
なお、図8に示した例では、クロックはCLKH、CLKLの2種類であるが、3種類以上のクロックを用いることで、より効率的な処理が可能となる。
【0072】
〔第9例〕
本発明の実施形態である第9例では、クロックツリーを構成する際に、クロックの使用頻度によって各々のクロックに対して重み付けを行い、使用頻度の高いクロックが周波数選択回路のツリー構造において最終段に近くなるように、半導体集積回路を構成する。これにより、クロック切替えを行うパスの負荷が低減され、素早くクロックを変更することができる。以下に第9例の一例を図9に基づいて説明する。図9は、クロックツリーの構成回路及びクロック切替え時の充放電量を示した図である。図9(A)に示した通常のクロックツリー60は、機能ブロックX62に入力されるクロックが、4入力1出力のセレクタA61によってCLK1〜CLK4のうちの何れかが選択・供給される構成である。このとき、パスn1の負荷により、クロックの切替えの瞬間、クロック波形が不安定になることが考えられる。
【0073】
これに対して、本発明では図9(B)に示したように、クロックツリー70では、全てのセレクタを2入力1出力セレクタとして多段構成とする。セレクタは入力の数が少ないほど、出力の負荷は少なくなる。最も使用頻度の高いCLK1はブロックX74に一番近いセレクタB71に直接接続する。次に、使用頻度の高いCLK2はセレクタC72に直接接続する。セレクタB71がCLK1を選択している間、ノードn3にはCLK2を出力しておくように、制御手段である図外のCPUで制御する。セレクタB71が切り替わる時、既にセレクタB71の入り口に準備されているCLK2が即座に入力される。既に述べた通り、セレクタB71の出力負荷はセレクタA61に比べ軽いため、クロック切り替わりの瞬間もクロック波形は比較的安定している。CLK3、CLK4からは負荷が重たくなるが、これらのクロックを使用する頻度は低く、ブロックX74に入力する為には前もってセレクタD73、セレクタC72を切り替えておけば、セレクタB71が切り替わる時には、n3に対して安定したCLK3またはCLK4を供給することが可能である。CLK1→CLK2→CLK1→CLK2→CLK3と切り替わるとき、クロックツリー60,70に示したそれぞれの回路でどれだけの負荷を充放電することになるかを図9(C)に示す。なお、ノードn1の負荷は4、ノードn2〜n4の負荷は2となる。使用頻度の低いCLK3、4を使用するときには充放電の量が多くなるが、使用頻度の高いCLK1、CLK2の切替え時には充放電の量が少なくなるため、本発明のクロックツリー70は、トータルでは充放電量が低減される。
【0074】
〔第10例〕
第10例では、コンパイラで各命令実行時の処理速度を認識させて、各々の命令実行時に最適な動作周波数を判断させて、出力されるコードの中にその周波数を決定するビットを生成するように、半導体集積回路を構成する。つまり、異なる動作周波数で動作させても良い場所を命令の処理内容や該命令の前後の命令との関係からCPUが備えたコンパイラで決定し、該命令中の一部のビットにその情報をCPUが書き込むように構成し、また、一部または全てのブロックの動作周波数を命令単位または実行サイクル単位で変更または停止可能に半導体集積回路を構成する。これにより、プログラム担当者は内部回路の動作速度を意識することなく、自動的に最適なスピードで回路を動作させることができる。
【0075】
【発明の効果】
本発明によれば、以下の効果が得られる。
【0084】
(1)クロックツリーを構成する際に、動作周波数の使用頻度によって各々の動作周波数に対して重み付けを行い、使用頻度の高い動作周波数が選択手段のツリー構造において最終段に近くなるように、半導体集積回路を構成するので、動作周波数切替えを行うパスの負荷が低減され、素早く動作周波数を変更することができる。また、単純にクロックツリーを構成したときと比較してクロック切替え時に充放電が必要な配線容量が少なくて済むため、より安定した動作が得られる。
【図面の簡単な説明】
【図1】第1例に係る半導体集積回路の動作タイミングチャート及び従来の半導体集積回路の動作タイミングチャートである。
【図2】選択回路の回路構成図である。
【図3】半導体集積回路において命令コードと各ブロックのクロックと関係を示した図である。
【図4】第3例の回路構成図及びタイミングチャートと、従来のタイミングチャートである。
【図5】第5例に係る半導体集積回路の動作を説明するためのフローチャートである。
【図6】パイプライン方式の半導体集積回路における従来及び第6例の処理方法を説明するためのタイミングチャートである。
【図7】スーパスケーラ機能をもつ半導体集積回路の構成及び処理を説明するための図である。
【図8】VLIW型の半導体集積回路の処理例を示した図である。
【図9】クロックツリーの構成回路及びクロック切替え時の充放電量を示した図である。
【図10】半導体集積回路の一般的な回路構成図、及び所定の状態における各ブロックの状態を示した図である。
【符号の説明】
11−選択回路
12,13−セレクタ
20−半導体集積回路
31,32,41,42−パイプライン
60,70−クロックツリー
61−セレクタA
62,74−ブロックX
Claims (1)
- 1つまたは複数の回路ブロックを有し、命令セットを実行する半導体集積回路であって、
複数のクロック信号の中から1つのクロック信号を選択して前記回路ブロックへ供給するために複数の選択手段が階層化され、使用頻度の高い動作周波数のクロック信号ほど該複数の選択手段のうち接続数が少ない低階層の選択手段に接続され、使用頻度の低い動作周波数のクロック信号ほど該複数の選択手段のうち接続数が多い高階層の選択手段に接続されたクロックツリーと、
前記選択手段の切替えを制御する制御手段と、を備えたことを特徴とする半導体集積回路。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000367702A JP3880310B2 (ja) | 2000-12-01 | 2000-12-01 | 半導体集積回路 |
US09/995,657 US6874098B2 (en) | 2000-12-01 | 2001-11-29 | Semiconductor integrated circuit |
GB0128799A GB2372601B (en) | 2000-12-01 | 2001-11-30 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000367702A JP3880310B2 (ja) | 2000-12-01 | 2000-12-01 | 半導体集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002169790A JP2002169790A (ja) | 2002-06-14 |
JP3880310B2 true JP3880310B2 (ja) | 2007-02-14 |
Family
ID=18838081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000367702A Expired - Fee Related JP3880310B2 (ja) | 2000-12-01 | 2000-12-01 | 半導体集積回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6874098B2 (ja) |
JP (1) | JP3880310B2 (ja) |
GB (1) | GB2372601B (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7036019B1 (en) * | 1994-04-01 | 2006-04-25 | Intarsia Software Llc | Method for controlling database copyrights |
CA2441950A1 (en) | 2001-04-27 | 2002-11-07 | International Business Machines Corporation | Method and apparatus for controlling processor operation speed |
US7366932B2 (en) * | 2002-10-30 | 2008-04-29 | Stmicroelectronics, Inc. | Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation |
US20040136241A1 (en) * | 2002-10-31 | 2004-07-15 | Lockheed Martin Corporation | Pipeline accelerator for improved computing architecture and related system and method |
JP4136822B2 (ja) * | 2003-07-31 | 2008-08-20 | 富士通株式会社 | 半導体集積回路装置、クロック制御方法及びデータ転送制御方法 |
JP4498705B2 (ja) * | 2003-09-04 | 2010-07-07 | 株式会社ルネサステクノロジ | キャッシュシステム |
US7903116B1 (en) * | 2003-10-27 | 2011-03-08 | Nvidia Corporation | Method, apparatus, and system for adaptive performance level management of a graphics system |
JP4549652B2 (ja) | 2003-10-27 | 2010-09-22 | パナソニック株式会社 | プロセッサシステム |
JP2005196430A (ja) * | 2004-01-07 | 2005-07-21 | Hiroshi Nakamura | 半導体装置および半導体装置の電源電圧/クロック周波数制御方法 |
US20050195183A1 (en) * | 2004-03-03 | 2005-09-08 | Anderson Michael H. | Clock control for a graphics processor |
US7373536B2 (en) * | 2004-08-04 | 2008-05-13 | Kabushiki Kaisha Toshiba | Fine granularity halt instruction |
US7619541B2 (en) | 2004-10-01 | 2009-11-17 | Lockheed Martin Corporation | Remote sensor processing system and method |
JP4808108B2 (ja) * | 2006-08-29 | 2011-11-02 | パナソニック株式会社 | プロセッサシステム |
JP2008282150A (ja) * | 2007-05-09 | 2008-11-20 | Matsushita Electric Ind Co Ltd | 信号処理装置及び信号処理システム |
TW200919306A (en) * | 2007-07-11 | 2009-05-01 | Ibm | Adaptive execution frequency control method for enhanced instruction throughput |
JP2009110450A (ja) * | 2007-10-31 | 2009-05-21 | Sharp Corp | 大規模集積回路装置 |
CN101606135B (zh) * | 2007-12-13 | 2012-03-28 | 松下电器产业株式会社 | 时钟控制装置、时钟控制方法、时钟控制程序及集成电路 |
US8510589B2 (en) * | 2008-08-29 | 2013-08-13 | Intel Mobile Communications GmbH | Apparatus and method using first and second clocks |
US8674023B2 (en) * | 2009-12-31 | 2014-03-18 | Taylor Made Golf Company, Inc. | Ionomer compositions for golf balls |
JP5836585B2 (ja) * | 2010-02-09 | 2015-12-24 | キヤノン株式会社 | データ処理装置及びその制御方法、プログラム |
JP2013205905A (ja) * | 2012-03-27 | 2013-10-07 | Fujitsu Ltd | 演算処理装置及び演算処理装置の制御方法 |
US9378181B2 (en) * | 2012-11-09 | 2016-06-28 | Intel Corporation | Scalable computing array |
US20180024610A1 (en) * | 2016-07-22 | 2018-01-25 | Futurewei Technologies, Inc. | Apparatus and method for setting a clock speed/voltage of cache memory based on memory request information |
CN114765455A (zh) * | 2021-01-14 | 2022-07-19 | 深圳比特微电子科技有限公司 | 处理器和计算系统 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62232053A (ja) | 1986-04-02 | 1987-10-12 | Alps Electric Co Ltd | マイクロコンピユ−タの動作速度制御装置 |
JPH02118811A (ja) | 1988-10-28 | 1990-05-07 | Nec Corp | マイクロコンピュータ |
JPH0355614A (ja) | 1989-07-25 | 1991-03-11 | Sony Corp | 電子機器 |
JPH04127210A (ja) | 1990-09-19 | 1992-04-28 | Hitachi Ltd | 低消費電力プロセッサ |
US5306962A (en) | 1990-11-27 | 1994-04-26 | Hewlett-Packard Company | Qualified non-overlapping clock generator to provide control lines with non-overlapping clock timing |
JP3237926B2 (ja) | 1991-12-04 | 2001-12-10 | シャープ株式会社 | デジタル電子機器用電力制御装置、該電力制御装置を備えた処理装置、及び該処理装置を備えたデジタル電子機器用電力管理システム |
AU3250393A (en) | 1991-12-17 | 1993-07-19 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
JPH06112810A (ja) | 1992-09-30 | 1994-04-22 | Sony Corp | ディジタルic装置 |
JPH06295243A (ja) | 1993-04-08 | 1994-10-21 | Mitsubishi Electric Corp | データ処理装置 |
JP3433970B2 (ja) | 1993-05-25 | 2003-08-04 | シャープ株式会社 | デジタル電子機器用電力制御装置、該電力制御装置により電力が制御される処理装置、及び該電力制御装置を備えたデジタル電子機器用電力管理システム |
JPH0818008A (ja) | 1994-06-28 | 1996-01-19 | Mitsubishi Electric Corp | 半導体集積回路装置 |
JP3468592B2 (ja) * | 1994-08-10 | 2003-11-17 | 富士通株式会社 | クロック信号発生回路 |
JPH08147161A (ja) | 1994-11-21 | 1996-06-07 | Nec Corp | データ処理装置 |
JP3505018B2 (ja) | 1994-11-22 | 2004-03-08 | 株式会社ルネサステクノロジ | 半導体集積回路 |
JP3467880B2 (ja) * | 1994-12-26 | 2003-11-17 | ソニー株式会社 | クロック信号発生装置 |
JPH08272479A (ja) | 1995-03-31 | 1996-10-18 | Nkk Corp | 可変クロック発生装置 |
JP3520611B2 (ja) | 1995-07-06 | 2004-04-19 | 株式会社日立製作所 | プロセッサの制御方法 |
US5799176A (en) * | 1995-12-26 | 1998-08-25 | Cypress Semiconductor Corp. | Method and apparatus for providing clock signals to macrocells of logic devices |
JP2959482B2 (ja) * | 1996-08-19 | 1999-10-06 | 日本電気株式会社 | 大規模集積回路 |
JP2993466B2 (ja) * | 1997-06-09 | 1999-12-20 | 日本電気株式会社 | 情報処理装置 |
US6226738B1 (en) * | 1997-08-01 | 2001-05-01 | Micron Technology, Inc. | Split embedded DRAM processor |
JPH11184554A (ja) | 1997-12-24 | 1999-07-09 | Mitsubishi Electric Corp | クロック制御タイプ情報処理装置 |
WO2000002118A1 (en) | 1998-07-02 | 2000-01-13 | Hitachi, Ltd. | Microprocessor |
JP4008583B2 (ja) * | 1998-07-22 | 2007-11-14 | 株式会社沖データ | 電子機器 |
-
2000
- 2000-12-01 JP JP2000367702A patent/JP3880310B2/ja not_active Expired - Fee Related
-
2001
- 2001-11-29 US US09/995,657 patent/US6874098B2/en not_active Expired - Fee Related
- 2001-11-30 GB GB0128799A patent/GB2372601B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2372601A (en) | 2002-08-28 |
GB2372601B (en) | 2003-09-24 |
GB0128799D0 (en) | 2002-01-23 |
JP2002169790A (ja) | 2002-06-14 |
US6874098B2 (en) | 2005-03-29 |
US20020066910A1 (en) | 2002-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3880310B2 (ja) | 半導体集積回路 | |
US7539879B2 (en) | Register file gating to reduce microprocessor power dissipation | |
US8181054B2 (en) | Arrangement and method for controlling power modes of hardware resources | |
US5655124A (en) | Selective power-down for high performance CPU/system | |
US20040073822A1 (en) | Data processing system and method | |
US5774703A (en) | Data processing system having a register controllable speed | |
KR100806284B1 (ko) | 동적 전압 스케일링을 적용한 고효율 프로세서 | |
KR100436805B1 (ko) | 프로그래머블 메모리 bist 결합 마이크로코드 및 유한상태 머신 자체 테스트 | |
JP4764026B2 (ja) | ダイナミック電圧スケーリングによる低消費電力集積回路装置 | |
JP2000322403A (ja) | 電力削減のための複数の等価機能ユニットの制御 | |
US20040172519A1 (en) | Processor, system LSI circuit, method of designing same, and recording medium having said method recorded thereon | |
JP2001084287A (ja) | ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法 | |
CN109948200B (zh) | 一种细粒度控制电源供应的低功耗处理器 | |
JPH10149237A (ja) | 半導体回路 | |
KR102573772B1 (ko) | 데이터 프로세서에 대한 프로그래밍 가능 전압 조절 | |
CN102324923A (zh) | 一种电平移位电路 | |
JP2007183942A (ja) | 非アクティブ動作状態を有するプロセッサ及びその方法 | |
CN114721464A (zh) | 片上系统和计算装置 | |
US7493508B2 (en) | Information processing device, method, and program | |
US20010012290A1 (en) | Data input circuit and semiconductor device utilizing data input circuit | |
JP5414323B2 (ja) | 半導体集積回路装置 | |
JP2001117867A (ja) | データ転送回路 | |
JPH11306074A (ja) | 情報処理装置 | |
JPH08272479A (ja) | 可変クロック発生装置 | |
Du et al. | Task data optimization allocation with data migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051129 |
|
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: 20061017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061107 |
|
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: 20091117 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |