JPH11149373A - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JPH11149373A
JPH11149373A JP9317295A JP31729597A JPH11149373A JP H11149373 A JPH11149373 A JP H11149373A JP 9317295 A JP9317295 A JP 9317295A JP 31729597 A JP31729597 A JP 31729597A JP H11149373 A JPH11149373 A JP H11149373A
Authority
JP
Japan
Prior art keywords
stage
power consumption
hazard
instruction
pipeline
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.)
Pending
Application number
JP9317295A
Other languages
English (en)
Inventor
Hiroyuki Takano
裕之 高野
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 JP9317295A priority Critical patent/JPH11149373A/ja
Publication of JPH11149373A publication Critical patent/JPH11149373A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Power Sources (AREA)

Abstract

(57)【要約】 【課題】 プロセッサの実行速度を必要以上に落さない
形で、きめ細かに消費電力を調整することができるプロ
セッサを提供する。 【解決手段】 所定の単位周期に基づいてN(正の整
数)ステージにパイプライン化された命令バスと、前記
命令バスに対応してNステージにパイプライン化された
データパスと、ハザード条件に従ってパイプラインのK
(=1〜N)ステージ目をストールさせるKステージス
トール手段を有し該Kステージストール手段の動作によ
ってパイプラインを制御するパイプライン制御手段とを
備えたプロセッサにおいて、次の単位周期で、K+1ス
テージ以降で実行される命令によって活性化される資源
モジュールが消費する電力の総和が電力消費可能値を越
えている場合に、その状態を検出し前記ハザード条件と
して前記Kステージストール手段に通知するKステージ
消費電力ハザード検出手段を設けた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、組み込み機器等に
搭載されるプロセッサに関し、特に低消費電力化を可能
にするプロセッサに関する。
【0002】
【従来の技術】近年、携帯用情報機器が普及するにつ
れ、プロセッサの低消費電力化が重要になってきてい
る。
【0003】図3は、従来のプロセッサの構成を示すブ
ロック図である。
【0004】このプロセッサは、データパス100と命
令バス200とパイプライン制御手段300とからな
り、5ステージにパイプライン化されている。データパ
ス100は、5ステージにパイプライン化するためのデ
ータパイプラインステージレジスタ120,130,1
40,150を備え、命令バス200もそれに合わせ
て、命令パイプラインステージレジスタ220,23
0,240,250とプログラムカウンタ(PC)21
0を備えている。
【0005】パイプライン制御手段300は、F,D,
E,M,Wの各ステージのステージストール手段31
0,320,330,340,350を備えている。こ
れらの各ステージストール手段310〜350は、ハザ
ード条件に従ってパイプラインの当該ステージをストー
ルさせる機能を有する。
【0006】通常、LSIの消費電力Pは、 P=a*C*V*V*n*f+Ps と表すことができる。ここで、aは稼働率、CはLSI
の容量、Vは電源電圧、nは素子数、fは動作周波数、
Psは待機時の消費電力である。
【0007】この中でaの稼働率に注目することにす
る。プロセッサアーキテクチャのレベルにおいて稼働率
を下げる従来の試みとしては、通常の動作をするモード
の他にシステム内で使用する必要のないときにプロセッ
サの稼働を止める動作モードなどを設けて、クロックの
供給を止める方法などがある。
【0008】一方、通常の動作をするモードにおいて消
費電力を抑える手法として、従来では、稼働率を下げる
のではなく、全体の動作周波数を変える方法を採ること
が一般的であった。この動作周波数の変更については、
実装上、2〜3程度の周波数を用意し、動作モードに応
じて動作周波数を切り替える形で行われるのが通例であ
る。
【0009】
【発明が解決しようとする課題】しかしながら、通常の
動作をするモードにおいて消費電力を抑える手法とし
て、動作モードに応じて動作周波数を切り替える方法を
採った場合は、動作周波数の調整度合が粗くなるので、
必要以上に実行速度を落さねばならなくなる可能性が大
きい。
【0010】日増しに低くなる消費電力低下に対する要
求仕様や要求される消費電力値を、プロセッサが通常動
作しているシステムの電力マネージメントの状態に応じ
て動的に変化させる必要がある場合などを考慮し、プロ
セッサの実行速度を必要以上に落さない形で、きめ細か
に消費電力を調整する手段が必要であるが、従来では、
システムで実行中のアプリケーションの内容に応じて稼
働率を変更できる手段がないため、求められる低消費電
力化を達成することができない。
【0011】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、プロセッサの
実行速度を必要以上に落さない形で、きめ細かに消費電
力を調整して低消費電力化を可能にするプロセッサを提
供することである。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明の特徴は、所定の単位周期に基づいてN
(正の整数)ステージにパイプライン化された命令バス
と、前記命令バスに対応してNステージにパイプライン
化されたデータパスと、ハザード条件に従ってパイプラ
インのK(=1〜N)ステージ目をストールさせるKス
テージストール手段を有し該Kステージストール手段の
動作によってパイプラインを制御するパイプライン制御
手段とを備えたプロセッサにおいて、次の単位周期で、
K+1ステージ以降で実行される命令によって活性化さ
れる資源モジュールが消費する電力の総和が電力消費可
能値を越えている場合に、その状態を検出し前記ハザー
ド条件として前記Kステージストール手段に通知するK
ステージ消費電力ハザード検出手段を前記パイプライン
制御手段に設けたことにある。
【0013】この第1の発明によれば、K(=1〜N)
ステージ目のパイプラインストール要因となるハザード
条件として、次の単位周期での、Nステージ目からK+
1ステージ目までの消費電力の総和が要求仕様値である
電力消費可能値を越えた状態も含める。すなわち、プロ
セッサ実行における時間の単位周期ごとに必要とされて
いる資源モジュールの消費電力を評価し、実行速度を調
整することが可能になるため、電力消費可能値の範囲で
パイプラインが順に進むことになり、必要以上に速度を
落すことなく、要求仕様を満たす低消費電力化を達成す
ることができる。
【0014】第2の発明では、上記第1の発明におい
て、前記電力消費可能値は、装置の仕様として予め定め
られた値としたことにある。
【0015】この第2の発明によれば、電力消費可能値
を設定する必要がないので、構成が簡素化される。
【0016】第3の発明では、上記第1の発明におい
て、前記電力消費可能値は、プログラムを実行する際に
設定可能にしたことにある。
【0017】この第3の発明によれば、実行するプログ
ラムの内容に応じて電力消費可能値を設定することがで
きるようになる。
【0018】第4の発明では、上記第1乃至第3発明に
おいて、前記Kステージ消費電力ハザード検出手段は、
前記データパスに属する各資源モジュールの消費電力値
と、各命令の各パイプラインステージにおける使用モジ
ュールに関する情報とに基づいて、パイプラインの当該
Kステージ目のハザード条件を検出する構成にしたこと
にある。
【0019】この第4発明によれば、Kステージ目のハ
ザード条件が正確に検出される。
【0020】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明の実施形態に係るプ
ロセッサの構成を示すブロック図である。
【0021】このプロセッサは、従来の同一構成のデー
タパス10及び命令バス20と、本発明の特徴を成すパ
イプライン制御手段30とから構成され、5ステージに
パイプライン化されている。データパス10は、従来と
同様に、5ステージにパイプライン化するためのデータ
パイプラインステージレジスタ12,13,14,15
を備え、命令バス20もそれに合わせて、命令パイプラ
インステージレジスタ22,23,24,25とプログ
ラムカウンタ(PC)21を備えている。
【0022】各命令パイプラインステージレジスタ22
〜25は、各々のステージで実行中の命令に対応する制
御情報、及びその制御情報の有効性を示すバリッドビッ
ト(valid bit)を保持している。バリッドビ
ットは制御情報とともに、ステージの進行に沿って、命
令バス20を流れて行く。各データパイプラインステー
ジレジスタ12〜15は、各々対応するステージで実行
中の命令で処理する処理データを保持している。また、
各命令パイプラインステージレジスタ22〜25、及び
各データパイプラインレジスタ12〜15は、ラッチイ
ネーブル信号入力を有し、当該信号がネゲートされてい
るときは、単位周期が更新し時間が進んでも、ネゲート
される前の情報を保持し続ける。
【0023】さらに、データパス10は、プログラムカ
ウンタ21の値をインクリメントするインクリメンタ1
1、汎用ワーキングレジスタや一時レジスタなどから構
成されるレジスタファイル12a、即値拡張器12b、
分岐アダー12c、ALU13a、シフタ13b、オペ
ランドアダー13c、及びデータキャッシュ14a等を
備えている。命令バス20では、命令キャッシュ26、
及びデコーダ27を備えている。
【0024】以下、プログラムカウンタ21と命令パイ
プラインステージレジスタ22の間のステージをFステ
ージと呼び、同様に命令パイプラインステージレジスタ
22と23の間のステージをDステージ、命令パイプラ
インステージレジスタ23と24の間のステージをEス
テージ、命令パイプラインステージレジスタ24と25
の間のステージをMステージ、命令パイプラインステー
ジレジスタ25以降のステージをWステージと呼ぶ。ま
た、それに合わせて、命令パイプラインステージレジス
タ22〜25をそれぞれ命令Dレジスタ22、命令Eレ
ジスタ23、命令Mレジスタ24、命令Wレジスタ25
と呼び、対応するデータパイプラインステージレジスタ
12〜15をそれぞれデータDレジスタ12、データE
レジスタ13、データMレジスタ14、データWレジス
タ15と呼ぶ。
【0025】ここで、Fステージで活性化され得る資源
としては、命令キャッシュ26があり、Dステージで活
性化され得る資源としては、デコーダ27、レジスタフ
ァイル12aからの読み出し、即値拡張器12b、及び
分岐Addet12cがある。さらに、Eステージで活
性化され得る資源としては、ALU13a、シフタ13
b、及びオペランドアダー13cがあり、Mステージで
活性化され得る資源としては、データキャシュ14aが
ある。そして、Wステージで活性化され得る資源として
は、レジスタファイル12aへの書き込みがある。
【0026】パイプライン制御手段30は、F,D,
E,M,Wの各ステージのステージストール手段31,
32,33,34,35と、各ステージストール手段3
1〜35に対応したF,D,E,M,Wステージ消費電
力ハザード検出手段31A,32A,33A,34A,
35Aとを備えている。
【0027】ここで、ステージ消費電力ハザード検出手
段31A〜35Aは、次の単位周期の当該ステージ以降
の消費電力が電力消費可能値以下であるかどうかを判定
し、電力消費可能値を越えている場合には、その状態を
検出しハザード条件として各ステージストール手段31
〜35にそれぞれ通知する機能を有している。そして、
各ステージストール手段31〜35は、当該ステージの
ハザード条件に従ってパイプラインの当該ステージをス
トールさせる機能を有する。
【0028】なお、各ステージストール手段31〜35
は、勿論、プロセッサ仕様が定めるストールすべき他の
ハザード検出手段からも信号を受けているので、それら
により各ステージがストールする場合もあるが、ここで
は、注目している消費電力に関するハザードとそれによ
るストールの実施形態について明確にするため、他のの
ハザードが発生しない場合について記述する。
【0029】次に、本実施形態の動作について説明す
る。但し、パイプライン型プロセッサの基本的な動作に
ついては、従来通りであるので割愛する。
【0030】各F,D,E,M,Wのステージのステー
ジ消費電力ハザード検出手段31A〜35Aが、次の単
位周期で、次のステージ以降で実行される命令によって
活性化される資源が消費する電力消費量が電力消費可能
値を越えているのを検出すると、対応するステージスト
ロール手段31〜35は、その当該ステージをストール
する。
【0031】例えば、Eステージ消費電力ハザード検出
手段33Aは、現在Eステージで実行中で次の単位周期
でMステージで実行される命令、例えばデータキャシュ
14aにデータをストアする命令も、その単位周期でW
ステージで実行される命令、例えば加算結果をレジスタ
ファイル12aに書き込む命令も、どちらも有効な場合
に、Mステージで活性化する資源であるデータキャッシ
ュ14aが消費する電力とWステージで活性化する資源
であるレジスタファイル12aへの書き込みが消費する
電力の和が電力消費可能値を越えているとき、Eステー
ジをストールべしという情報をEステージストール手段
33へ送る。
【0032】Eステージストール手段33は、これを受
けてデータEレジスタ13、命令Eレジスタ23、デー
タMレジスタ14、及びバリッドビット以外の命令Mレ
ジスタ24のラッチイネーブル信号をネゲートするとと
もに、命令Mレジスタ24のバリッドビットをネゲート
する。
【0033】Eステージがストールすれば、プロセッサ
の通常の制御通り、DステージもFステージもストール
する。結果として、次の単位周期では、Mステージは、
有効でない命令が命令バス20とデータパス10を占有
するが、当該データパスを占有している信号値は、前単
位周期と同じ信号値であるため、半導体素子の充放電が
起こらず、電力は消費しない。
【0034】Fステージ、Dステージも同様の状態にあ
るため、消費電力が電力消費可能値以下である状態を満
たすことになる。
【0035】同様に、上記の場合で、MステージとWス
テージで消費する電力の和が、電力消費可能値を下回っ
ている場合において、次の単位周期でEステージに実行
する命令が、その消費電力値を更に加えても電力消費可
能値を越えないシフタ13bを活性化する命令だったと
きには、Dステージはストールしない。しかし、その消
費電力値を更に加えると電力消費可能値を越えてしまう
ALU13aを活性化する命令だった場合には、Dステ
ージをストールさせることができる。
【0036】図2(a),(b),(c)は、各ステー
ジ消費電力ハザード検出手段31A〜35Aの構成例を
示す模式図であり、例えばEステージ消費電力ハザード
検出手段33Aを例にとって示したものである。
【0037】図2(a)に示す第1の構成では、次の単
位周期でMステージで実行する命令を命令Eレジスタ2
3から参照し、その命令で活性化される資源の消費電力
をテーブル33A−1から引く。この値を次の単位周期
で、Mステージ以降全てのステージで消費される電力と
加算器33A−2で加算する。加算器33A−2の結果
は、電力消費可能値33A−3と比較器33A−4で比
較され、その結果を、Eステージストール手段33へ渡
す。但し、本Eステージの場合はMステージ以降のステ
ージがWステージのみであるため、加算器33A−2は
2入力になっているが、Dステージ消費電力ハザード検
出手段32Aでは、加算器33A−2に対応する加算器
は3入力加算器となる。
【0038】ハザードを検出するための遅延を軽減する
には、できるだけ早く全てのステージの演算器へ必要な
データを届けることが肝要である。本構成では、そのた
めに、元のデータをそのまま各ステージに届けることが
できる(加算器のキャリールックアヘッド機構と同
様)。
【0039】図2(b)に示す第2の構成において、上
記第1の構成と異なるのは、各ステージのステージ消費
電力ハザード検出手段31A〜35Aで求められた消費
電力の総和を、1つ前のステージ消費電力ハザード検出
手段に渡すことである。結果として、加算器33A−2
はどのステージでも常に2入力加算器になる。
【0040】本構成によれば、ハザードを検出するため
の遅延の許容量に余裕がある場合に全てのステージの加
算器を2入力にすることにより、ハザード検出手段付加
に要する面積を小さく抑えることが可能になる。また、
全てのステージを同じ形で設計することができるため、
設計の容易性や、テスタビリティが向上する。
【0041】図2(c)に示す第3の構成では、次の単
位周期でMステージ及びWステージで実行する命令の組
合わせから、Eステージをストールさせるかどうかの信
号を、テーブル33A−5で直接生成し、Eステージス
トール手段33へ渡す。
【0042】対象としている元のプロセッサの機能や使
用し得る資源の量により、上記第1または第2の構成の
ように加算器を併用した方が速度や面積等で優位になる
場合と、本構成のように全てをテーブル参照で実装した
方が優位になる場合とがある。
【0043】上記の如く、本実施形態では、各ステージ
のステージ消費電力ハザード検出手段31A〜35A
が、次の単位周期で、次のステージ以降で実行される命
令によって活性化される資源の電力消費量が電力消費可
能値を越えているのを検出したとき、対応するステージ
ストロール手段31〜35によって、その当該ステージ
をストールするようにしたので、電力消費可能値の範囲
でパイプラインが順に進むことになり、必要以上に速度
を落すことなく、要求仕様を満たす低消費電力化を達成
することができる。
【0044】
【発明の効果】以上詳細に説明したように、本発明によ
れば、プロセッサ実行における時間の単位周期ごとに、
必要とされている資源モジュールの消費電力を評価し、
実行速度を調整することができる。すなわち、システム
で実行中のアプリケーションの内容に応じて稼働率を変
更することができ、要求仕様を越える消費電力を必要と
しない範囲で最大のパイプライン速度で動作させること
が可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るプロセッサの構成を示
すブロック図である。
【図2】各ステージ消費電力ハザード検出手段の構成例
を示す模式図である。
【図3】従来のプロセッサの構成を示すブロック図であ
る。
【符号の説明】
10 データパス 12 データDレジスタ 13 データEレジスタ 14 データMレジスタ 15 データWレジスタ 20 命令バス 21 プログラムカウンタ(PC) 22 命令Dレジスタ 23 命令Eレジスタ 24 命令Mレジスタ 25 命令Wレジスタ 30 パイプライン制御手段 31 Fステージストール手段 32 Dステージストール手段 33 Eステージストール手段 34 Mステージストール手段 35 Wステージストール手段 31A Fステージ消費電力ハザード検出手段 32A Dステージ消費電力ハザード検出手段 33A Eステージ消費電力ハザード検出手段 34A Mステージ消費電力ハザード検出手段 35A Wステージ消費電力ハザード検出手段

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 所定の単位周期に基づいてN(正の整
    数)ステージにパイプライン化された命令バスと、前記
    命令バスに対応してNステージにパイプライン化された
    データパスと、ハザード条件に従ってパイプラインのK
    (=1〜N)ステージ目をストールさせるKステージス
    トール手段を有し該Kステージストール手段の動作によ
    ってパイプラインを制御するパイプライン制御手段とを
    備えたプロセッサにおいて、 次の単位周期で、K+1ステージ以降で実行される命令
    によって活性化される資源モジュールが消費する電力の
    総和が電力消費可能値を越えている場合に、その状態を
    検出し前記ハザード条件として前記Kステージストール
    手段に通知するKステージ消費電力ハザード検出手段を
    前記パイプライン制御手段に設けたことを特徴としたプ
    ロセッサ。
  2. 【請求項2】 前記Kステージ消費電力ハザード検出手
    段は、前記データパスに属する各資源モジュールの消費
    電力値と、各命令の各パイプラインステージにおける使
    用モジュールに関する情報とに基づいて、パイプライン
    の当該Kステージ目のハザード条件を検出する構成にし
    たことを特徴とする請求項1記載のプロセッサ。
JP9317295A 1997-11-18 1997-11-18 プロセッサ Pending JPH11149373A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9317295A JPH11149373A (ja) 1997-11-18 1997-11-18 プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9317295A JPH11149373A (ja) 1997-11-18 1997-11-18 プロセッサ

Publications (1)

Publication Number Publication Date
JPH11149373A true JPH11149373A (ja) 1999-06-02

Family

ID=18086642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9317295A Pending JPH11149373A (ja) 1997-11-18 1997-11-18 プロセッサ

Country Status (1)

Country Link
JP (1) JPH11149373A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling
US7558972B2 (en) 2005-01-25 2009-07-07 Panasonic Corporation Data processing apparatus
JP2016027701A (ja) * 2014-07-04 2016-02-18 株式会社半導体エネルギー研究所 半導体装置、及び電子機器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028165B2 (en) 2000-12-06 2006-04-11 Intel Corporation Processor stalling
US7558972B2 (en) 2005-01-25 2009-07-07 Panasonic Corporation Data processing apparatus
JP2016027701A (ja) * 2014-07-04 2016-02-18 株式会社半導体エネルギー研究所 半導体装置、及び電子機器

Similar Documents

Publication Publication Date Title
US8051315B2 (en) Power throttling apparatus
US6543002B1 (en) Recovery from hang condition in a microprocessor
US5996083A (en) Microprocessor having software controllable power consumption
US5500943A (en) Data processor with rename buffer and FIFO buffer for in-order instruction completion
US10423216B2 (en) Asymmetric multi-core processor with native switching mechanism
US8145887B2 (en) Enhanced load lookahead prefetch in single threaded mode for a simultaneous multithreaded microprocessor
US6745336B1 (en) System and method of operand value based processor optimization by detecting a condition of pre-determined number of bits and selectively disabling pre-determined bit-fields by clock gating
US6728866B1 (en) Partitioned issue queue and allocation strategy
US6772355B2 (en) System and method for reducing power consumption in a data processor having a clustered architecture
US8261276B2 (en) Power-efficient thread priority enablement
US8370671B2 (en) Saving power by powering down an instruction fetch array based on capacity history of instruction buffer
US20090132796A1 (en) Polling using reservation mechanism
US5991884A (en) Method for reducing peak power in dispatching instructions to multiple execution units
JP2004334872A (ja) ユニット電力調整機構を備えた集積回路装置
JP2001521215A (ja) マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置
US6704876B1 (en) Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
EP0931287B1 (en) Asynchronous data processing apparatus
US5726921A (en) Floating point power conservation
KR20080028410A (ko) 파이프라인 마이크로프로세서에서의 전력 절감을 위한시스템 및 방법
EP0901063A2 (en) Power management methods
US20070005676A1 (en) Simple and amended saturation for pipelined arithmetic processors
JPH11149373A (ja) プロセッサ
US6851044B1 (en) System and method for eliminating write backs with buffer for exception processing
CA2317080C (en) Facilitation of register updates in an out-of-order processor
US20080005545A1 (en) Dynamically shared high-speed jump target predictor