JP3974065B2 - プロセッサ - Google Patents

プロセッサ Download PDF

Info

Publication number
JP3974065B2
JP3974065B2 JP2003086795A JP2003086795A JP3974065B2 JP 3974065 B2 JP3974065 B2 JP 3974065B2 JP 2003086795 A JP2003086795 A JP 2003086795A JP 2003086795 A JP2003086795 A JP 2003086795A JP 3974065 B2 JP3974065 B2 JP 3974065B2
Authority
JP
Japan
Prior art keywords
clock frequency
unit
clock
data
execution
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
JP2003086795A
Other languages
English (en)
Other versions
JP2004295450A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003086795A priority Critical patent/JP3974065B2/ja
Priority to US10/808,571 priority patent/US7281152B2/en
Publication of JP2004295450A publication Critical patent/JP2004295450A/ja
Priority to US11/819,449 priority patent/US7644298B2/en
Priority to US11/819,417 priority patent/US7644297B2/en
Application granted granted Critical
Publication of JP3974065B2 publication Critical patent/JP3974065B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/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
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理を行うプロセッサの消費する電力を削減することができるプロセッサ、クロック決定方法及び駆動電圧決定方法に関する。特に、実行単位ごとに処理すべきデータを格納するための記憶領域を備えたプロセッサに関する。
【0002】
【従来の技術】
データ処理を行う通常のプロセッサでは、データ処理を行うためにプロセッサに設けられた各部の処理の同期を取るための基準となるクロックが必要となる。プロセッサ内の各部の同期を取るための基準となるクロック周波数が、より高いものを用いると、プロセッサ全体の処理速度が向上し単位時間あたりの処理量が増加する(スループットの向上)。
【0003】
しかしながらクロックが高くなるとプロセッサの内部配線等を流れる信号がその速度に追従できなくなるため、プロセッサに供給する電圧を上げなければならなくなる。このようなある電圧に対する流れる信号の速度に上限があるのは、プロセッサ内部の浮遊容量や電気抵抗によるものである。半導体により構成するプロセッサの構造からして、これらの弊害を完全に排除することは困難である。
【0004】
プロセッサの駆動電圧の増加は、プロセッサ内で消費する電力量を増加させる。これは電力消費量の増加のみならず、プロセッサ自身の発熱量をも増加させ、ひいてはプロセッサの集積度にも影響を与えかねない。
【0005】
上記した理由から、プロセッサ自身の消費電力を低く抑えるには動作時のクロック周波数を低く抑えることが重要である。
【0006】
電力消費を抑えるため、プロセッサを管理するオペレーティングシステムが優先順位の低い実行単位に低いクロックを選択する方法(たとえば特許文献1)や、処理時間に余裕のある場合にはクロックの供給を止める方法(たとえば特許文献2)といった方法も提案されている。
【0007】
【特許文献1】
特開2001−202155公報
【特許文献2】
特開2002−358139公報
【0008】
【発明が解決しようとする課題】
通常のデータ処理用のプロセッサでは、駆動用のクロック周波数が高いほど処理効率が向上する。しかしながら結果としてプロセッサの消費電力が増加し、発熱量も増加してしまう。
【0009】
本発明は上記問題を緩和することを目的とし、特に実行単位ごとに処理すべきデータを格納するための記憶領域を備えたプロセッサの消費する電力を削減するプロセッサ、このプロセッサのクロック決定方法及び駆動電圧決定方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明のプロセッサによれば、
あるデータ処理を少なくとも1以上に分割した処理の1つに当たる実行単位が処理すべきデータを、該実行単位別に記憶する1以上の記憶手段と、少なくとも1以上の前記記憶手段が記憶するデータ量を検出するデータ量検出手段と、前記データ量検出手段の検出結果から供給すべきクロック周波数を決定するクロック周波数決定手段と、前記クロック周波数決定手段が決定したクロック周波数に従って、供給するクロックを発生するクロック発生手段とを備えることを特徴とするプロセッサが提供される。
【0011】
また、あるデータ処理を少なくとも1以上に分割した処理の1つに当たる実行単位が処理すべきデータを、該実行単位別に記憶する記憶部を備えたプロセッサにおける、少なくとも1以上の前記記憶部に記憶するデータ量を検出するステップと、前記検出の結果から供給すべきクロック周波数を決定するステップと、前記決定したクロック周波数に従って、供給するクロックを発生するステップとを有することを特徴とする、該プロセッサに供給するクロックのクロック周波数を決定する方法が提供される。
【0012】
さらに、上記クロック周波数を決定する方法によって得られたクロック周波数に従って供給する電源電圧を決定する方法が提供される。
【0013】
【発明の実施の形態】
以下に本発明の実施形態について図面を用いながら説明する。
【0014】
(第1の実施形態)
図1に本実施形態にかかるプロセッサのブロック構成図の一例を示す。図1には、処理すべきデータを1つの処理内容を細分化した実行単位ごとに記憶する記憶部101、演算処理部102、外部記憶部103、データ量監視部104、実行条件判定部105、実行優先度記憶部106、実行単位決定部107、クロック周波数決定部108、クロック発生部109及び制御部110が示されている。
【0015】
記憶部101は、本実施形態のプロセッサが実行する実行単位のそれぞれに対応した、1以上の記憶領域に分かれている。それぞれの記憶領域には、対応する実行単位が処理すべきデータが記憶されている。この記憶領域と実行単位との対応は、たとえば制御部110によって管理されている。
【0016】
また記憶部101は、記憶する各記憶領域内のデータ量の情報をデータ量監視部104に通知する機能を備えている。通知の方法としてはたとえばデータ量監視部104からの要請により、または記憶部101が自発的にデータ量監視部104に通知するようにしても良い。
【0017】
演算処理部102は、実行単位に相当する外部記憶部103に予め記憶されたプログラムコードを実行する機能を備えている。実行単位であるプログラムコードを実行するとき、その実行単位が割り当てられた記憶部101の記憶領域からこの実行単位が処理すべきデータを読み出す。また、読み出して処理が完了したデータについては、読み出した記憶領域から削除する、または処理の終わったデータとして処理すべきデータから除かれる。
【0018】
外部記憶部103は、主に演算処理部102が実行するプログラムコードを記憶する。その他にも、プログラムコードの実行に必要なデータや処理途中のデータの一時退避領域等にも使用される。
【0019】
データ量監視部104は、記憶部101に記憶されているデータの記憶量を監視する。データの記憶量の監視は記憶部101全体の記憶量を監視するものでも良いし、必要に応じて記憶部101内の各実行単位に対応する記憶領域全部あるいは一部について記憶領域別に監視するものであっても良い。監視結果は次の実行条件判定部105やクロック周波数決定部108に通知される。
【0020】
実行条件判定部105は、データ量監視部104から通知された情報を用いて以降実行すべき実行単位を判定する。実行中または待機中の実行単位と、データ量監視部104から通知された記憶部101の各記憶領域との対応は、たとえば制御部110から取得するようにすれば良い。あるいは実行条件判定部105が対応関係を予め記憶した対応テーブルを持ち、このテーブルから取得するようにしても良い。
【0021】
実行条件判定部105が行う、ある実行単位が実行可能かどうかの条件、すなわち実行条件の判定方法は、たとえば記憶部101内に処理すべきデータが予め設定した以上の量が記憶されている実行単位について実行可能と判定する方法が考えられる。
【0022】
各実行単位について判定した実行可能かどうかの判断結果は、実行単位決定部107へ通知される。
【0023】
実行優先度記憶部106は、実行中または待機中の実行単位について、いずれの実行単位を優先的に実行すべきかを示す優先度を記憶する。高い優先度が与えられた実行単位は、本実施形態のプロセッサによって実行される可能性が高いものとして扱われるものとする。実行単位の優先度は、実行前に予め与えられていても良いし、実行単位ごとに決まった優先度を持つようにしても良い。記憶する各実行単位の優先度は、次の実行単位決定部107の実行する実行単位の決定の際に利用される。
【0024】
実行単位決定部107は、実行条件判定部105の実行可能情報及び実行優先度記憶部106の優先度情報を用いて、以降実行すべき実行単位を決定する。ここでいう以降実行すべき実行単位の決定とは、たとえば実行可能な実行単位の中からもっとも優先度が高い実行単位を選択することを言う。
【0025】
実行単位決定部107が行う以降実行すべき実行単位の決定は、同時に複数の実行単位を実行するマルチタスク処理が可能なプロセッサであっても、このプロセッサにおける次に実行すべき実行単位を決定することとなんら変わりがない。
【0026】
クロック周波数決定部108は、データ量監視部104が監視した記憶部101に記憶されたデータ量の情報をもとに、本実施形態のプロセッサに供給されるクロック周波数を決定する。データ量監視部104から通知される記憶部101が記憶するデータ量の情報は、記憶部101全体の記憶量を監視した結果でも良いし、必要に応じて記憶部101内の各実行単位に対応する記憶領域別に監視した結果であっても良い。
【0027】
図2はクロック周波数決定部108の内部構成の一例を示す図である。
【0028】
図2(a)は、クロック発生部109に通知するクロック周波数を、データ量監視部104が通知したデータ量に対応する予め作成したクロック周波数テーブル201を参照して求める場合である。
【0029】
図3は記憶するデータ量に対するクロック周波数の関係を示したグラフ301の一例である。図3の例ではクロック周波数はデータ量に応じて最大クロック周波数(Φ-H)から最小クロック周波数(Φ-L)までの間で変化する。このグラフ301の各点の値に基づいて構成したクロック周波数テーブル201から、データ量監視部104が通知するデータ量に対応するクロック周波数を求め、クロック発生部109への通知とする。
【0030】
図2(b)は、クロック発生部109に通知した最後のクロック周波数に、データ量監視部104が通知したデータ量に対応する、予め設定しておいた変化量を加算して次に通知するクロック周波数を求めるものである。
【0031】
図2(b)には、クロック変化量テーブル202、クロック周波数出力部203及び加算器204が示されている。クロック変化量テーブル202は記憶しているデータ量に対するクロックの変化量を記憶したテーブルである。クロック周波数出力部203は、一度出力したクロック周波数の情報を保持する機能を持ち、また加算器204は二つの値を加算する機能を持つ。
【0032】
図4はクロック変化量テーブル202の内容の一例をグラフ化したものである。
【0033】
グラフ401の場合、記憶するデータ量がゼロ付近になると処理すべきデータがほとんど存在しないと判断し、本実施形態のプロセッサを駆動するクロック周波数が下がるようにマイナスの変化量を示すようになっている。変化量がマイナスの状態が続くと加算器204によってクロック周波数出力部203が出力するクロック周波数が減りつづけ、クロック発生部109に通知するクロック周波数が徐々に低い値となる。クロック周波数が低くなった分だけ、プロセッサが消費する電力が削減できる。
【0034】
逆に記憶するデータ量が大量にある場合は早急な処理が必要と判断し、クロック周波数が上がるようにプラスの変化量を示すようにする。するとクロック発生部109に通知するクロック周波数が徐々に高い値になり、プロセッサの処理能力不足を補うことができる。
【0035】
グラフ402の場合は、クロック周波数の決定についてはグラフ401とは逆の作用関係となる。これは本実施形態のプロセッサの処理出力を一定量に保ちたいときなどに適用される。たとえば音声出力やビデオ出力といったストリーム状の処理結果を次段の装置に安定して供給する場合などが考えられる。
【0036】
プロセッサの出力段にあたる実行単位に割り当てられた記憶部101の記憶領域を考える。ここに記憶するデータ量がゼロに近づくと、出力するデータが不足しアンダーラン(データ不足)してしまう可能性が高くなる。このためクロック発生部109に通知するクロック周波数が高くなるように、クロック変化量をプラスにする。すると徐々にクロック周波数が上がりプロセッサの処理効率が高まることでアンダーランを防止することができる。
【0037】
逆に記憶するデータ量が大量にある場合はオーバーラン(データ溢れ)しないように、クロック変化量をマイナスにする。これによりクロック発生部109に通知するクロック周波数が徐々に低くなり、よってプロセッサの処理能力が下がることでオーバーランを防止することができる。また下がったクロック周波数に相当する余剰能力分の電力消費も抑えることが可能となる。
【0038】
ここで、記憶部101内の記憶領域が記憶する、複数の記憶領域のデータ量情報をもとにクロック周波数を決定するクロック周波数決定部108とすることも可能である。
【0039】
図5に比較器を備えたクロック周波数決定部108のブロック構成図の一例を示す。
【0040】
図5では図2(a)、(b)に示した構成に、さらに比較器501を加えたものである。記憶部101の2つの記憶領域のそれぞれに対応した、図2(a)の場合と同様の、クロック周波数テーブル201−a及びクロック周波数テーブル201−bという2つのテーブルを備えている。さらに別の1の記憶領域に対応した、図2(b)の場合と同様のクロック変化量テーブルを備えている。
【0041】
そして記憶部101内に複数設けられた記憶領域のうちの3つの記憶領域が記憶するデータ量の情報からそれぞれの方法で個別にクロック周波数を決定し、その後比較器501を用いてクロック発生部109に通知する1つのクロック周波数を決定する。たとえば比較器501に入力されている3つの値から、もっとも高いクロック周波数を示すものを選択する方法が考えられる。ここで決定するクロック周波数はプロセッサに供給されすべての実行単位に適用されることから、少なくとももっとも高いクロック周波数を選択すれば、ある実行単位で処理能力不足が発生するといった事態は避けることができる。
【0042】
図5では図2(a)、(b)を組み合わせて3つの記憶領域のデータ量をもとにクロック周波数を決定する例を示したが、2以上の記憶領域に記憶されたデータ量をもとに決定する場合にも同様の構成で適用可能である。また、図2(a)、(b)の組み合わせについても本実施形態に限定されるものではなく、必要に応じて組み合わせは適宜変更することができる。あるいは図2(a)、(b)の決定方法に限らず、記憶領域のデータ量をもとにクロック周波数を決定する方法であれば、本実施形態に示した以外の方法であっても本発明を適用可能である。
【0043】
クロック発生部109は、クロック周波数決定部108が決定したクロック周波数に従って、本実施形態にかかるプロセッサを駆動するクロックを発生する。発生したクロックは制御部110に入力され、プロセッサ内の各部の制御が成される。
【0044】
(第2の実施形態)
図6に本実施形態にかかるプロセッサのブロック構成図の一例を示す。図1に示した第1の実施形態のブロック構成図との相違は、クロック周波数決定部118と演算処理部102からクロック周波数決定部118へ延びる信号線が追加されていることである。他の構成は第1の実施形態と同じである。
【0045】
本実施形態の演算処理部102は、第1の実施形態のところで説明した機能に加え、現在実行中の実行単位の状況をクロック周波数決定部108に通知する。
【0046】
クロック周波数決定部118は、データ量監視部104が監視した記憶部101に記憶されたデータ量の情報と演算処理部102よりもたらされた実行中の実行単位の状況をもとに、本実施形態のプロセッサに供給されるクロック周波数を決定する。データ量監視部104から通知される記憶部101が記憶するデータ量の情報は、記憶部101全体の記憶量を監視した結果でも良いし、必要に応じて記憶部101内の各実行単位に対応する記憶領域別に監視した結果であっても良い。
【0047】
図7にクロック周波数決定部118の内部構成の一例を示す。図7には、実行状況判別部701、タイマー702、クロック変化量基準テーブル703、クロック変化量決定部203及び加算器204が示されている。クロック変化量決定部203及び加算器204については第1の実施形態と同じである。
【0048】
実行状況判別部701は、演算処理部102から通知された実行中の実行単位が予め想定していた状況になったかどうかを判別する。ここでいう予め想定していた状況とは、たとえば所定の実行単位が新たに実行されるようになった場合が考えられる。さらに、実行単位の実行順序パターンが変わったような場合もこれに含まれる。たとえば実行単位A、B、Cとある場合に、A−B−A−B−・・・と繰り返し実行されていた状況から、A−B−C−A−B−C−・・・のような実行順序パターンに変化したような場合である。あるいは実行単位自身がその実行によって所定の信号を生成したりあるいはある設定値を変更したような場合も、ここでいう予め想定した状況に含まれる。上記したような状況が判明したときは、実行状況判別部701はタイマー702の計時をリセットする。
【0049】
タイマー702は、実行状況判別部701からリセットの要求があったときからの経過時間の計時を続ける。リセットが掛かると計時結果をゼロにリセットし、このリセット時点から再び経過時間の計時を続ける。計時した経過時間はクロック変化量決定部704に通知される。
【0050】
クロック変化量基準テーブル703は、データ量監視部104から通知されるデータ量に対応するクロック変化量の基準値を記憶している。ここでいうクロック変化量の基準値とは、タイマー702の計時がリセットされた直後における第1の実施形態の図4に示したクロック変化量と同じである。
【0051】
クロック変化量決定部704は、タイマー702が計時した経過時間と、クロック変化量基準テーブル703から得られた記憶するデータ量に対するクロックの変化量とから、現在クロック周波数出力部203が出力するクロック周波数の情報を変化させるかを決定する。
【0052】
図8にクロック周波数決定部118の、タイマー702が計時した経過時間に対するクロック変化量との関係の一例をグラフ化したものを示す。図中に示したΦ-0tが、データ量監視部104から通知されたデータ量に対してクロック変化量基準テーブル703から得られたクロック変化量の基準値となる。
【0053】
クロック変化量決定部704はグラフ801に示すように、タイマー702が計時する経過時間が長いほど、Φ-0tの値がより小さくなるように決定する。
【0054】
具体的には、たとえばクロック変化量基準テーブル703から得られたクロック周波数を、タイマー702が計時中の経過時間で除算する方法が考えられる。
【0055】
このように構成すると同じ実行単位が比較的長い期間実行を続ける場合に、本実施形態のプロセッサに供給されるクロック周波数が大きく変化することを抑えることができる。よって同じ処理を継続して行っているにも関わらずデータ処理のスループットが大きく変動してしまう危険性を緩和することができる。
【0056】
(第3の実施形態)
図9に本実施形態にかかるプロセッサのブロック構成図の一例を示す。図1に示した第1の実施形態のブロック構成図との相違は、さらに駆動電圧制御部111が追加されていることである。他の構成は第1の実施形態と同じである。
【0057】
駆動電圧制御部111は、本実施形態のプロセッサに供給される電源電圧を制御する機能を有する。駆動電圧制御部111によって電源電圧が制御される範囲は、プロセッサの全体に供給される電源電圧であっても良いし、またはプロセッサの一部であっても良い。本実施形態のプロセッサは、クロック周波数を低下することにより消費する電力を削減するものであるから、好ましくはクロック周波数の増減に密接に関係する演算処理を行う部分を含むプロセッサのコア部分への適用が望ましい。
【0058】
駆動電圧制御部111が電源電圧を制御するための情報として、クロック周波数決定部108がクロック発生部109に通知する信号を用いる。これはクロック周波数の高低と、プロセッサコアに必要となる電源電圧の高低とが正比例の関係にあるからである。一般にクロックが高い時には高い駆動電圧が必要となる。
【0059】
図10に駆動電圧制御部111の、プロセッサが稼動するクロック周波数に対する制御する駆動電圧との関係の一例をグラフ化したものを示す。グラフ1001に示すように、クロック周波数と駆動電圧は正比例の関係になるように制御する。このとき、プロセッサに供給されるクロック周波数も駆動電圧もゼロになることは無いので、それぞれΦ-LからΦ-H、V-LからV-Hの間で変化するグラフとなっている。
【0060】
このように構成することで、プロセッサに供給するクロック周波数だけでなく可能な範囲で電源電圧を下げることにより、より低消費電力なプロセッサとすることができる。
【0061】
(第4の実施形態)
図11に本実施形態にかかるプロセッサのブロック構成図の一例を示す。図1に示した第1の実施形態のブロック構成図との相違は、さらに実行単位選択部112が追加されていることである。他の構成は第1の実施形態と同じである。
【0062】
実行単位選択部112は、実行条件判定部105が判定した実行可能な状態にある実行単位の情報と、実行優先度記憶部106に記憶された各実行単位の優先度情報とから、本実施形態のプロセッサに供給するクロック周波数をどの実行単位を見て決定するかを選択する機能を有する。
【0063】
実行優先度記憶部106には、実行単位それぞれの以降実行する優先度が記憶されている。このうち、優先度が高い実行単位については実行される可能性も高く、処理すべきデータの量も危機的な量になる危険性は少ないと考えられる。しかしながら優先度が低い実行単位については実行されることが少なく、処理すべきデータの量もある程度蓄積されなければ実行されることはない。
【0064】
このとき優先度の高い実行単位に対応する記憶部101の記憶領域を見て余裕があると判断し、クロック発生部109に通知するクロック周波数を低く決定してしまうと、優先度の低い実行単位は実行される機会が少ないことから決められた時間内に処理が完了できない可能性がある。
【0065】
そこで上記のような危険性を緩和する意味で、本実施形態では実行条件判定部105が実行可能な状態にあると判断した実行単位の中から、実行優先度記憶部106に記憶された各実行単位の優先度のもっとも低い実行単位を選択し、この選択した実行単位の状況に基づいてクロック周波数を決定するようにする。
【0066】
このように構成するとすべての実行単位について取りこぼし無く実行することが可能となる。またクロック周波数決定の際、実行可能な状態にない実行単位を考慮する必要がなくなり決定に要する時間を短縮できる可能性がある。
【0067】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0068】
【発明の効果】
本発明によれば、実行単位ごとに処理すべきデータを格納するための記憶領域を備えたプロセッサにおいて、処理すべきデータの格納状況から現在の処理に必要な能力に見合うクロック周波数を決定し、余剰の能力がある場合には供給するクロック周波数を下げることにより消費する電力を削減するプロセッサを提供することができる。
【図面の簡単な説明】
【図1】第1の実施形態におけるプロセッサのブロック構成図の一例を示す図である。
【図2】第1の実施形態におけるクロック周波数決定部の構成図の一例を示す図である。
【図3】第1の実施形態におけるクロック周波数テーブルの内容の一例を示すグラフである。
【図4】第1の実施形態におけるクロック変化量テーブルの内容の一例を示すグラフである。
【図5】第1の実施形態におけるクロック周波数決定部の構成図の一例を示す図である。
【図6】第2の実施形態におけるプロセッサのブロック構成図の一例を示す図である。
【図7】第2の実施形態におけるクロック周波数決定部の構成図の一例を示す図である。
【図8】第2の実施形態におけるクロック変化量決定部の出力の一例を示すグラフである。
【図9】第3の実施形態におけるプロセッサのブロック構成図の一例を示す図である。
【図10】第3の実施形態における駆動電圧制御部の出力の一例を示すグラフである。
【図11】第4の実施形態におけるプロセッサのブロック構成図の一例を示す図である。
【符号の説明】
101・・・記憶部
102・・・演算処理部
103・・・外部記憶部
104・・・データ量監視部
105・・・実行条件判定部
106・・・実行優先度記憶部
107・・・実行単位決定部
108・・・クロック周波数決定部
109・・・クロック発生部
110・・・制御部
111・・・電源電圧制御部
112・・・実行単位選択部
118・・・クロック周波数決定部
201・・・クロック周波数テーブル
202・・・クロック変化量テーブル
701・・・実行状況判定部
702・・・タイマー
703・・・クロック変化量基準テーブル
704・・・クロック変化量決定部

Claims (2)

  1. あるデータ処理を少なくとも1以上に分割した処理の1つに当たる実行単位が処理すべきデータを、該実行単位別に記憶する1以上の記憶手段と、
    少なくとも1以上の前記記憶手段が記憶するデータ量を検出するデータ量検出手段と、
    前記データ量検出手段の検出結果から供給すべきクロック周波数を決定するクロック周波数決定手段と、
    前記クロック周波数決定手段が決定したクロック周波数に従って、供給するクロックを発生するクロック発生手段と
    ある実行単位の以降実行すべき順位を示す優先度を予め記憶する実行優先度記憶手段とを備え、
    前記クロック周波数決定手段は、前記実行優先度記憶手段に記憶した優先度がもっとも
    低い実行単位を選択し、前記データ量検出手段の検出結果のうち該選択した実行単位が処理すべきデータを記憶する記憶手段についての検出結果を対象に、供給すべきクロック周波数を決定することを特徴とするプロセッサ。
  2. あるデータ処理を少なくとも1以上に分割した処理の1つに当たる実行単位が 処理すべきデータを、該実行単位別に記憶する1以上の記憶手段と、
    少なくとも1以上の前記記憶手段が記憶するデータ量を検出するデータ量検出手段と、
    前記データ量検出手段の検出結果に含まれるデータ量に対し、供給すべきクロック周波数を増減すべきクロック周波数が一意に定まるテーブルと、最後に決定した供給すべきクロック周波数を保持するクロック周波数保持手段と、前記テーブルから求めた増減すべきクロック周波数と前記クロック周波数保持手段が保持する最後に決定したクロック周波数との和を求める加算手段とを具備し、該加算手段の出力を供給すべきクロック周波数として決定するクロック周波数決定手段と、
    前記クロック周波数決定手段が決定したクロック周波数に従って、供給するクロックを発生するクロック発生手段と、
    ある実行単位が予め想定した状態になったかどうかを検出する実行単位検出手段と、
    前記状態になったことを前記実行単位検出手段が検出した場合に新たに計時を開始するタイマーと、
    前記タイマーが計時する経過時間が長いほど、前記テーブルから得られた増減すべきクロック周波数の絶対値が小さくなるように該クロック周波数を変更するクロック周波数変更手段とを備え、
    前記加算手段は、前記クロック周波数変更手段により変更したクロック周波数を、前記最後に決定したクロック周波数との和に用いることを特徴とするプロセッサ。
JP2003086795A 2003-03-27 2003-03-27 プロセッサ Expired - Fee Related JP3974065B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003086795A JP3974065B2 (ja) 2003-03-27 2003-03-27 プロセッサ
US10/808,571 US7281152B2 (en) 2003-03-27 2004-03-25 Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor
US11/819,449 US7644298B2 (en) 2003-03-27 2007-06-27 Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor
US11/819,417 US7644297B2 (en) 2003-03-27 2007-06-27 Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003086795A JP3974065B2 (ja) 2003-03-27 2003-03-27 プロセッサ

Publications (2)

Publication Number Publication Date
JP2004295450A JP2004295450A (ja) 2004-10-21
JP3974065B2 true JP3974065B2 (ja) 2007-09-12

Family

ID=32985142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003086795A Expired - Fee Related JP3974065B2 (ja) 2003-03-27 2003-03-27 プロセッサ

Country Status (2)

Country Link
US (3) US7281152B2 (ja)
JP (1) JP3974065B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4372068B2 (ja) * 2005-09-06 2009-11-25 株式会社東芝 プログラマブルゲートアレイ装置及び回路切替方法
JP5077067B2 (ja) * 2007-09-03 2012-11-21 セイコーエプソン株式会社 情報処理装置および半導体集積回路
US9195296B2 (en) * 2009-09-24 2015-11-24 Qualcomm Incorporated Apparatus and methods for optimizing power consumption in a wireless device
JP5481329B2 (ja) * 2010-09-13 2014-04-23 株式会社東芝 半導体集積回路、インターコネクト、及び制御プログラム
JP5595571B1 (ja) * 2013-09-13 2014-09-24 三菱電機株式会社 制御装置
US9996138B2 (en) * 2015-09-04 2018-06-12 Mediatek Inc. Electronic system and related clock managing method
US9698781B1 (en) * 2016-05-26 2017-07-04 Intel Corporation Dynamic clock gating frequency scaling
KR20210016684A (ko) * 2019-08-05 2021-02-17 에스케이하이닉스 주식회사 데이터 처리 시스템 및 동작 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
JPH1010653A (ja) * 1996-06-18 1998-01-16 Sony Cinema Prod Corp 同期制御装置
JP3000961B2 (ja) * 1997-06-06 2000-01-17 日本電気株式会社 半導体集積回路
US6335870B1 (en) * 1998-07-16 2002-01-01 Mitsubishi Denki Kabushiki Kaisha Inverter apparatus having a separate controlling application program for performing specification dependent control
US6647502B1 (en) * 1999-07-13 2003-11-11 Sony Corporation Method and apparatus for providing power based on the amount of data stored in buffers
EP1158797A4 (en) * 1999-12-02 2005-08-17 Matsushita Electric Ind Co Ltd VIDEO RECORDING DEVICE, METHOD FOR RECORDING VIDEO AND CONTROLLING THE VIDEO RATE
US6581164B1 (en) * 2000-01-03 2003-06-17 Conexant Systems, Inc. System for adjusting clock frequency based upon amount of unread data stored in sequential memory when reading a new line of data within a field of data
JP2001202155A (ja) 2000-01-18 2001-07-27 Hitachi Ltd 低消費電力処理装置
JPWO2002050645A1 (ja) * 2000-12-20 2004-04-22 株式会社日立製作所 低消費電力の電子回路及び消費電力低減方法
JP2002358139A (ja) 2001-06-01 2002-12-13 Ricoh Co Ltd 低消費電力プロセッサ

Also Published As

Publication number Publication date
US20070255976A1 (en) 2007-11-01
US20040193937A1 (en) 2004-09-30
JP2004295450A (ja) 2004-10-21
US7644298B2 (en) 2010-01-05
US7281152B2 (en) 2007-10-09
US20070255975A1 (en) 2007-11-01
US7644297B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
KR0177536B1 (ko) 정보 처리 장치, 그 처리 방법 및 전원 제어 방법
JP4490298B2 (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
US7644298B2 (en) Processor, control device for a processor, clock frequency determining method and source voltage controlling method of a processor
JP5182792B2 (ja) マルチコアプロセッサ制御方法及び装置
US20030009701A1 (en) Computer system and computer-readable recording medium
US8086891B2 (en) Power management of components having clock processing circuits
US20110225436A1 (en) Battery powered device with dynamic and performance management
JP2004164642A (ja) データ処理システムにおけるピーク・レベル選択
JP2004164643A (ja) データ処理システムにおける実行レベル設定
JP2002215599A (ja) マルチプロセッサシステムおよびその制御方法
JP2010165259A (ja) 情報処理装置および情報処理方法
JP2008165798A (ja) データ処理装置におけるプロセッサの性能管理
KR20040084832A (ko) 정보 처리 장치, 전기 기기, 정보 처리 장치의 클럭 제어방법, 클럭 제어 프로그램 및 그 프로그램 제품
JP2011118525A (ja) サーバ管理装置とサーバ管理方法およびサーバ管理プログラム
EP3117319A1 (en) System and method for providing dynamic clock and voltage scaling (dcvs) aware interprocessor communication
JP5636677B2 (ja) 電子機器、その省電力制御方法、およびプログラム
JP2002247757A (ja) デマンド監視制御システム
CN115963914A (zh) 基于混合策略的智能移动设备电源管理方法及装置
KR101108898B1 (ko) 클럭 공급 디바이스
JP2010039802A (ja) マルチプロセッサシステム、スケジューリング方法およびそのプログラム
JP2007122527A (ja) 流量制御方法
JP4422523B2 (ja) 情報処理装置、電気機器、情報処理装置のクロック制御方法、クロック制御プログラム及びその記録媒体
JP2007164672A (ja) プログラム、オペレーティング・システム、およびコンパイラ
JP5088365B2 (ja) 電子機器および負荷分散プログラム
JP6796478B2 (ja) メモリ制御装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050415

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070613

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees