JP2000322259A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2000322259A
JP2000322259A JP11130028A JP13002899A JP2000322259A JP 2000322259 A JP2000322259 A JP 2000322259A JP 11130028 A JP11130028 A JP 11130028A JP 13002899 A JP13002899 A JP 13002899A JP 2000322259 A JP2000322259 A JP 2000322259A
Authority
JP
Japan
Prior art keywords
instruction
mode
data processing
microprocessor
arithmetic
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.)
Withdrawn
Application number
JP11130028A
Other languages
English (en)
Inventor
Masanobu Tsunoda
賢伸 津野田
Osamu Nishii
修 西井
Sadashige Nakano
定樹 中野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11130028A priority Critical patent/JP2000322259A/ja
Publication of JP2000322259A publication Critical patent/JP2000322259A/ja
Withdrawn 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)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 実行すべきプログラムの内容、更には演算器
の利用度合等に応じて、演算処理の高速化又は低消費電
力を選択して何れかを優先させることが容易なデータ処
理装置を提供する。 【解決手段】 命令をデコードして制御信号を出力する
制御手段(400)と、前記制御手段から出力される制
御信号に従って夫々独立に且つ並列に演算可能なn個
(n≧2)の演算器(500−1〜500−n)を備
え、最大で前記n個の命令をn個の演算器を用いて実行
させる高速モードと、最大でm個(1≦m≦n−1)の
命令をm個の演算器を用いて実行させる低電力モードの
2つの動作モードを有する。演算指令が与えられて命令
実行に割り当てられた演算器には動作クロック信号を供
給し、演算指令が与えられずに命令実行に割り当てられ
なかった演算器には動作クロックの供給を遮断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置に
関し、特にプロセッサの動作モードによって同時に使用
する演算器の数を制御することにより低消費電力を実現
する技術に関し、例えばスーパスカラプロセッサあるい
はVLIW(Very Large Scale Instruction Word)プ
ロセッサ等に適用して有効な技術に関する。
【0002】
【従来の技術】近年の高性能マイクロプロセッサは、処
理性能を向上させるため複数の命令を同時にデコード
し、並列に動作する複数の演算器により同時に実行する
ことで命令あたりの平均実行サイクル数を削減するスー
パスカラ技術を採用するものが一般的である。しかしな
がら並列度を上げるのに伴い同時に動作する回路規模が
増大し、その結果として生じる消費電力の増大が処理性
能のさらなる向上に対する障壁となっている。
【0003】マイクロプロセッサを含む論理演算装置の
実現においては、現在主としてCMOS回路が採用され
ている。CMOS回路の消費電力は通常その動作周波数
に比例し、電源電圧の二乗に比例する要素が支配的であ
ること、また入力信号が変化しない場合にはほとんど電
力を消費しないことを特徴とする。
【0004】このようなマイクロプロセッサにおける第
1の消費電力低減方式として、動作モード管理機構を設
け、実行すべきアプリケーションが存在しない場合にプ
ロセッサ全体を通常の動作モードからクロックを停止さ
せることで低消費電力モードへ移行する手法が実施され
ている。
【0005】また第2の方式として、特開平5−324
139号公報に記載されているように、マイクロプロセ
ッサ内部の機能ブロックごとに電源制御回路を設け、命
令実行に必要と判定された機能ブロックのみ電源供給を
行い、実行に不必要と判定された機能ブロックの電源を
遮断する方法、または特開平4−287105号公報に
記載されているように、機能ブロックごとにクロック制
御回路を設け、命令実行に必要な機能ブロックにのみク
ロックを供給し、実行に不必要な機能ブロックのクロッ
クを遮断する手法が公知である。ここで機能ブロックの
電源を制御する手法においては、一般に機能ブロックで
の命令実行に先立ち電源供給開始後電源線の電圧安定期
間待機する必要が生じるのに対し、クロックを制御する
手法においては、電源制御の際に見られる不安定期間が
なくより単純なハードウエアでより高速な制御が可能と
なるため、クロック制御手法はマイクロプロセッサの消
費電力低減方式としてきわめて有効である。
【0006】
【発明が解決しようとする課題】上記第1の従来技術
は、実行すべきアプリケーションが存在するかどうかを
判定し、実行すべきアプリケーションが存在しない場合
にマイクロプロセッサ全体が低消費電力モードへ移行す
るという粗い電力管理である。したがって、例えば機能
ブロックとして整数演算器と浮動小数点演算器を集積し
たマイクロプロセッサにおいて整数演算命令のみからな
るアプリケーションを実行する場合のように、実行する
アプリケーションによっては全くあるいはほとんど使用
しない機能ブロックが存在する場合、2モードを切り替
える方式では特定の機能ブロックのみを停止させるきめ
細かい電力管理ができないため、通常の動作モードにお
いて不必要な電力消費が発生するだけでなく、低消費電
力モードへ移行する期間が非常に限定されるという問題
がある。
【0007】上記第2の従来技術は、マイクロプロセッ
サが内蔵する周辺機能ブロックのうち、アプリケーショ
ンが使用しないことが既知の機能ブロックに対する電源
またはクロックを遮断する、もしくはそれぞれ独立かつ
並列に演算可能な複数の演算器のうち、命令間の競合に
より命令が発行されず実行すべき命令が存在しない演算
器に対する電源またはクロックを遮断するものであり、
マイクロプロセッサの整数演算、浮動小数点演算などの
演算性能を低減させない範囲で不必要な電力消費を削減
する方式である。近年、情報処理装置のマルチメディア
化やユーザインタフェースの多様化に伴い、動画像や音
声などのマルチメディアデータを取り扱うアプリケーシ
ョンの高速処理を可能とすべくマイクロプロセッサの高
性能化が急速に進んでいる。しかしながら、テキスト処
理をはじめとする従来からのアプリケーションにおいて
は、例えばマイクロプロセッサのピーク性能の10%の
性能で実用的な処理速度が得られる。すなわち、演算性
能を低減させない従来の低電力化技術では、アプリケー
ションによっては必要以上に高い演算性能を実現するこ
とにより不必要な電力消費が発生するという問題があ
る。
【0008】本発明の目的は、実行すべきプログラムの
内容、更には演算器の利用度合等に応じて、演算処理の
高速化又は低消費電力を選択して何れかを優先させるこ
とが容易なデータ処理装置を提供することにある。
【0009】本発明の別の目的は、アプリケーションが
必要とする演算性能に応じて同時に命令を実行する演算
器をユーザが任意に設定できるようにして、従来よりも
柔軟に消費電力の削減を行うことができるデータ処理装
置を提供することにある。
【0010】本発明の更に別の目的は、データ処理装置
の動作に伴う発熱による熱暴走あるいは熱破壊を防止す
ることができるデータ処理装置を提供することにある。
【0011】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0012】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0013】すなわち、データ処理装置は、命令をデコ
ードして制御信号を出力する制御手段(400)と、前
記制御手段から出力される制御信号に従って夫々独立に
且つ並列に演算可能なn個(n≧2)の演算器(500
−1〜500−n)を備え、最大で前記n個の命令をn
個の演算器を用いて実行させる高速モードと、最大でm
個(1≦m≦n−1)の命令をm個の演算器を用いて実
行させる低電力モードの2つの動作モードを有する。
【0014】たとえば、前記n個の演算器は、同一の演
算器を少なくとも2個含み、前記制御手段は、前記高速
モードでは前記同一演算器の全てに演算指令を与えるこ
とを許容し、前記低電力モードでは前記同一演算器の所
定の一つに対して演算指令を与えることを許容する。
【0015】演算指令が与えられて命令実行に割り当て
られた演算器には動作クロック信号を供給し、演算指令
が与えられずに命令実行に割り当てられなかった演算器
には動作クロックの供給を遮断する。クロック供給停止
の他に、動作電源の選択的な供給停止、信号の入力遮断
などの手段を採用してもよい。
【0016】上記によれば、高速モードでは低電力モー
ドに比べて多くの演算器を並列動作させることができ、
データ処理効率を最優先とすることができる。これに対
して低電力モードでは命令実行に割り当て可能な演算器
の数が高速モードよりも少ないから、電力消費を低減で
きる。
【0017】上記データ処理装置には、前記低電力モー
ド又は高速モードを指示する情報が任意に設定可能にさ
れ、設定された情報を前記制御手段に与えるモード設定
手段を採用可能である。更に、前記低電力モードにおい
て、演算指令を受け付け可能な演算器と演算指令の受け
付けを抑止する演算器とを指定するための情報が任意に
設定可能にされ、設定された情報を前記制御手段に与え
る動作指定手段を採用してもよい。これにより、動作モ
ードの設定、低電力モードにおいて利用可能な演算器の
指定を柔軟に行うことができる。
【0018】前記制御手段は、デコードされた命令の実
行に割り当てることができる演算器の有無を判定し、動
作モードに応じた最大限の割り当て数に至る前に演算器
を割り当て不可能な状態になっとときは、当該割り当て
不可能な命令の直前の命令までを並列実行させ、当該割
り当て不可能な命令の実行は後の命令実行サイクルで行
うようにすればよい。
【0019】また、前記制御手段は、命令コードの特定
ビットのデコード結果にしたがって前記動作モードを判
定してもよい。このとき、複数の命令コードがそれぞれ
異なる動作モードを指定した場合には指定動作モードが
異なる直前までの命令を並列に実行させ、その後の動作
モードを当該異なった指定動作モードとする。
【0020】また、前記制御手段は、命令アドレスの特
定ビットの値にしたがって、換言すれば命令が格納され
ている命令アドレスのエリアにしたがって、前記動作モ
ードを判定してもよい。このとき、複数の命令アドレス
がそれぞれ異なる動作モードを指定した場合には指定動
作モードが異なる直前までの命令を並列に実行させ、そ
の後の動作モードを当該異なった指定動作モードにすれ
ばよい。
【0021】夫々の演算器の使用率を計測し、計測値と
予め指定された特定の使用率との大小を比較し、1個以
上の特定の演算器の使用率が予め指定された特定の使用
率より小さい場合に、低電力モードを指定するようにし
てもよい。
【0022】更に、データ処理装置若しくはその近傍の
雰囲気温度を計測し、予め指定された特定の温度との大
小を比較し、温度が予め指定された特定の温度より大き
い場合に低電力モードを指定するようにしてもよい。
【0023】
【発明の実施の形態】《第1のマイクロプロセッサ》図
1には本発明に係るデータ処理装置の一例である第1の
マイクロプロセッサMPU1が示される。図1におい
て、100は命令制御部であり、32ビットの命令アド
レス111を出力する命令アドレス生成回路110と命
令レジスタ130を有する。命令アドレス111は命令
キャッシュメモリ120に供給され、キャッシュメモリ
120は、キャッシュヒットであればその命令を命令バ
ス121を介して命令レジスタ130に供給し、キャッ
シュミスの場合には図示を省略する外部メモリから所要
の命令を読み込んでから必要な命令を命令レジスタ13
0に与える。命令レジスタ130にフェッチされた命令
は命令バス131に出力される。
【0024】200で示されるものは動作モード設定回
路である。この動作モード設定回路200は、プロセッ
サの現在の動作モードを示す例えば1ビットの動作モー
ド設定レジスタ210、複数の動作モード更新信号43
0、431が示す動作モード更新内容を調停し最も優先
度の高い更新信号221を出力する調停回路220から
構成され、前記レジスタ210に設定されたプロセッサ
の現在の動作モードを指定する動作モード指定信号21
1を出力する。動作モード設定レジスタ210は32ビ
ットアドレス空間の特定のアドレス(例えばH’FFF
F0000)にマッピングされており、その内容は特定
アドレスへのロード命令の実行により動作モード指定信
号211を経由して読み出すことができ、また特定アド
レスへのストア命令の実行により動作モード更新信号4
30を経由して書き込みが可能である。動作モード設定
レジスタ210の内容が、例えば値1の場合は、マイク
ロプロセッサMPU1の現在の動作モードが高速モード
であることを、値0の場合は低電力モードであることを
示す。動作モード更新信号430、431は、例えば値
1の場合は高速モードに遷移することを要求するもので
あり、値0の場合は低電力モードに遷移することを要求
するものである。尚、動作モード更新信号431は、同
一チップ上に集積された例えば図示を省略するダイレク
トメモリアクセスコントローラ(DMAC)などの周辺
機能ブロックあるいはチップ外の回路が特定の動作モー
ドへの遷移を要求するための動作モード設定信号であ
る。
【0025】前記調停回路220の一例は図2に示され
ている。図2において、222はオアゲートであり、こ
の論理構成によれば、動作モード更新信号430による
高速モードへの遷移要求の優先度が高くされ、動作モー
ド更新信号431による低電力モードへの遷移要求の優
先度が低くなっている。見方を変えれば、高速モードへ
の遷移要求のほうが優先度が高くされている。
【0026】図1において300で示されるものは演算
器分類設定回路である。この演算器分類設定回路300
は、後述のn個の演算器500−1〜500−nの夫々
について、低電力モードで演算指令を発行可能かどう
か、換言すれば、低電力モードで動作させることが可能
か否かを示すnビットの演算器分類設定レジスタ31
0、演算器分類更新信号440の更新内容を検査し必要
に応じてその内容を修正した更新信号321を出力する
検査回路320から構成され、前記レジスタ310に設
定された現在の演算器の分類を指定する演算器分類指定
信号311を出力する。演算器分類設定レジスタ310
は、演算器500−1〜500−nのそれぞれに対応す
る各1ビットの制御ビット310−1〜310−nを有
し、例えば32ビットアドレス空間の特定のアドレス
(例えばH’FFFF0010)にマッピングされてい
る。そのレジスタ310の内容は前記特定アドレスへの
ロード命令の実行により演算器分類指定信号311を経
由して読み出すことができ、また、前記特定アドレスへ
のストア命令の実行により演算器分類更新信号440を
経由して書き込みが可能である。演算器分類設定レジス
タ310のあるビットが、例えば値1の場合は低電力モ
ード時に対応する演算器に対して演算指令の発行が可能
であることを、値0は低電力モード時に対応する演算器
に対して演算指令の発行が禁止されることを、命令デコ
ーダ400に示す。高速モード時にはレジスタ310の
設定は無視される。
【0027】前記検査回路320の一例は図3に示され
る。この構成によれば、命令実行を継続するのに最低限
動作させる必要のある演算器(例えば演算器500−
1)に対応するビットについて、書き込む値が0か1か
にかかわらず常に演算指令を発行可能な値である値1を
出力することで、例えば低電力モード時に演算器分類設
定レジスタ310に対して全ビットが値0に設定される
ことによって、マイクロプロセッサがハングアップする
ような誤使用を防止することができる。
【0028】なお、マイクロプロセッサMPU1のリセ
ット時には、動作モード設定レジスタ210は低電力モ
ードを示す値0に、また演算器分類設定レジスタ310
の内容は命令実行を継続するのに最低限動作させる必要
のある、演算器に対してのみ演算指令の発行を可能にす
る値、例えば演算器500−1のみ命令発行を可能にす
る値10・・・0に初期化される。
【0029】図1において400で示されるものは、命
令バス131上の命令をデコードし、演算器500−1
〜500−nに対する演算指令発行の有無を示す演算指
令発行信号(演算動作イネーブル信号)410−1〜4
10−n、発行された演算指令によって可能にされる演
算内容(演算動作の内容)を指定する演算内容指定信号
420−1〜420−n、動作モード設定レジスタ21
0へのストア命令をデコードした場合に動作モードの更
新内容を示す動作モード更新信号430、演算器分類設
定レジスタ310へのストア命令をデコードした場合に
演算器分類の更新内容を示す演算器分類更新信号44
0、命令発行が不可能であることを示す例外検出信号4
50を出力する命令デコーダである。
【0030】図1において500−1〜500−nで示
されるものは、n個の演算器である。クロック制御回路
510−1〜510−nは、演算器500−1〜500
−nのそれぞれに入力されるクロック520−1〜52
0−nを制御する。例えば演算指令発行信号410−n
がイネーブル(値1)のときは、クロック信号520−
nにクロック信号530の変化を与えて演算器500−
nに供給する。一方、演算指令発行信号410−nがデ
ィスエーブル(値0)のときは、クロック信号520−
nにはクロック信号530の変化を伝達せず、演算器5
00−nの動作を停止させる。演算指令信号がディスエ
ーブルとされる演算器の動作を停止させる手法はクロッ
ク信号の供給停止に限定されず、各種信号の入力の遮
断、動作電源供給の遮断などの手法に変更してもよい。
【0031】例外処理回路600は例外の受け付けを各
演算器に通知する例外発生信号610を出力する。更
に、命令制御部100に対して例外発生要因に応ずる例
外処理用のベクタアドレスを出力する。クロック信号5
30はクロック発生回路(CPG)623から出力され
る。前記演算器500−1〜500−nは、同種の演算
器を複数個含んでいる。例えば、演算器500−1、5
00−2は共に整数演算器(整数演算器を単にALUと
も記す)であり、演算器500−3、500−4は共に
積和演算器(積和演算器を単にDSPとも記す)であ
り、演算器500−5は浮動小数点演算器(浮動小数点
演算器を単にFPUとも記す)であるというような態様
である。
【0032】前記演算器500−1〜500−nによる
演算に必要なデータを保持するためにデータキャッシュ
メモリ(DCACHE)620が設けられている。デー
タキャッシュメモリ(DCACHE)620はキャッシ
ュデータバス590及びキャッシュアドレスバス591
を介して演算器500−1〜500−nに接続されてい
る。前記命令キャッシュメモリ120及びデータキャッ
シュメモリ620は内部バス624を介してバスステー
トコントローラ(BSC)621に接続される。バスス
テートコントローラ621には、その他に、図示を省略
するDMACなどの周辺回路が接続されていてもよい。
このバスステートコントローラ621は、図示を省略し
た周辺回路や外部アドレス空間に対するアクセスに際し
て、夫々に必要なアクセスサイクルでバスサイクルを起
動する。外部アドレス空間に対するアクセスの場合、バ
スステートコントローラ621は、外部バスインタフェ
ース回路(BIF)622を介して外部バスサイクルを
起動する。前記命令キャッシュメモリ120やデータキ
ャッシュメモリ620が一時的に保有するエントリデー
タは前記外部バスに接続されているメインメモリが保有
するデータの一部のデータになっている。
【0033】ここで、特に制限されないが、マイクロプ
ロセッサMPU1は、MIMD(Multiple Instruction
stream Multiple Data stream)形式のマイクロプロセ
ッサとされる。したがって、演算器毎に演算命令を実行
することになる。その場合、命令レジスタ130から複
数の演算命令を読み込んで解読し、演算命令の実行に割
り当てる演算器を決定した後、複数個の演算器を並列に
動作させることができる。このとき並列動作させる演算
器の割り当ては、前述のように、マイクロプロセッサM
PU1に設定された動作モード(低電力モード又は高速
モード)と演算器分類指定レジスタ310の内容に従っ
て行なわれる。
【0034】図4には前記マイクロプロセッサMPU1
による実行演算器割り当て制御動作の制御手順が例示さ
れている。ただし動作モード設定レジスタ210及び演
算器分類設定レジスタ310の内容はそれぞれ特定のア
ドレスに対するストア命令により命令実行に必要な値に
設定されているものとする。
【0035】まず、命令アドレス生成回路110が同時
に1個または複数の命令を読み出すアドレスを生成す
る。同時に読み出す命令数は、不要な電力消費を抑える
ためプロセッサが高速モードの場合n個、低電力モード
ではm個、すなわち演算器分類設定レジスタ310にお
いて値1が設定されている演算器の数とする。ただし動
作モードに拘わらずに常にn個の命令を同時に読み出す
ことで制御を簡略化してもよい。命令アドレス111に
対応する複数個の命令は命令キャッシュ120から読み
出されて、前記レジスタ130にフェッチされる。
【0036】フェッチされた命令は順番に命令デコーダ
400に供給される。供給された命令は、命令デコーダ
400によって順番に解読される。即ち、命令デコーダ
400は、動作モード指定信号211及び演算器分類指
定信号311の指定内容と、命令のデコード結果から解
かる演算内容等に基づき、供給された各命令についてそ
れぞれ実行可能な演算器の割り当てを行う。更に詳しく
説明する。命令デコーダ400は動作モード指定信号2
11を読み出し、現在のプロセッサの動作モードが高速
モード(値1)であるか低電力モード(値0)であるか
を検査する(ステップS901)。高速モードの場合は
n個の演算器全てのうち、命令iを実行可能かつ命令未
割り当ての演算器を探索し(ステップS902−1)、
低電力モードの場合は演算器分類指定信号311におい
て値1をもつ低電力モード時に演算指令を供給可能なm
個の演算器のうち、命令iを実行可能かつ命令未割り当
ての演算器を探索する(ステップS902−2)。各モ
ードで割り当て可能な演算器が存在する場合(ステップ
S903−1、S903−2)、該演算器の1個を命令
iの実行演算器として割り当て(ステップS904−
1、S904−2)、存在しない場合には命令iを含む
命令i以降のすべての命令について演算器割り当てを中
止する。中止したときは、そこまで演算器割り当てが済
んだ命令を並列的に実行させ、その後、続きの命令に対
して、前記ステップS901から処理が開始される。但
し、命令iが動作モード設定レジスタ210または演算
器分類設定レジスタ310の設定値を更新する命令の場
合(ステップS905−1、S905−2)、命令iを
含まず命令i以降の全ての命令について演算器割り当て
を中止する。すなわち、レジスタ210あるいはレジス
タ310の値を更新する命令iの直前の命令を、演算器
を割り当てる一連の命令の最後の命令とし、命令iの実
行結果を直ちに次サイクルの演算器割り当てに反映させ
るようにする。換言すれば、動作モード設定レジスタ2
10または演算器分類設定レジスタ310の設定値を更
新する命令の実行を優先させる、ということである。こ
れにより高速モードで動作すべき命令列と低電力モード
で動作すべき命令列が同時に発行される、あるいは意図
しない演算器に対して命令が発行されるという矛盾を回
避することができる。
【0037】以上の操作を、ステップS906−1とS
906−2又はS907−1とS907−2を経て所定
の回数だけ繰り返すことにより、実行演算器の割り当て
が完了する。
【0038】尚、低電力モードにおいてレジスタ130
に保持された命令のうち最も先行する命令についての演
算器割り当てが不可能な場合(ステップS908)、命
令デコーダ400は命令実行不可能であることを示す例
外検出信号450として、例えば値1を出力する。命令
デコーダ400は、高速モード及び低電力モードにおい
て1個以上の命令について演算器割り当てが可能な場合
は前記信号450を値0にしている。
【0039】そして、命令デコーダ400は演算器割り
当て結果に基づき、各演算器500−1〜500−nに
対し演算指令信号410−1〜410−n及び演算内容
指定信号420−1〜420−nを出力する。演算指令
信号410−1〜410−nは、命令の実行に割り当て
られた演算器には値1を、割り当てられなかった演算器
には値0を出力する。演算内容指定信号420−1〜4
20−nは、命令の割り当てられた演算器には割り当て
られた命令を実行するのに必要な制御信号(命令デコー
ダでデコードされた制御信号)を、命令の割り当てられ
なかった演算器には例えば前サイクルと同一の信号、或
いは、ノンオペレーションを指示する信号等の所定の信
号が出力される。
【0040】命令指令信号410−1〜410−nをも
とに、クロック制御回路510−1〜510−nは、プ
ロセッサのクロック信号530から各演算器500−1
〜500−nに入力すべき演算器クロック信号520−
1〜520−nを生成する。即ち、クロック制御回路5
10−1〜510−nの内、命令実行に割り当てられた
演算器に対応するクロック制御回路はクロック信号53
0を演算器クロックとして出力し、命令実行に割り当て
られなかった演算器に対応するクロック制御回路は例え
ば値0の固定値を出力する。これにより、命令実行に割
り当てられない演算器へのクロック信号の供給が遮断さ
れ、内部回路の不必要なスイッチングによる電力消費を
削減することができ、所要の演算性能に応じて必要最小
限の電力のみを消費する制御が実現される。
【0041】命令デコーダ400が命令実行不可能であ
ることを示す例外検出信号450として例外検出状態
(値1)を出力した場合、例外処理回路600は該例外
が受け付け可能であれば受け付け、例外発生信号610
に対し例えば値1を出力する。例外が受け付けられた場
合、演算器500−1〜500−nのうち例外を発生さ
せた命令以降の命令を実行している演算器はその演算を
中止する。
【0042】ここで、演算器割り当て処理の更に具体的
な例を挙げる。例えば、マイクロプロセッサMPU1
は、演算器500−1〜500−5として、ALU50
0−1、ALU500−2、DSP500−3、DSP
500−4、FPU500−5の合計5個の演算器を備
えているとする。
【0043】このとき、低電力モードが指定されてい
て、レジスタ310の制御ビット310−1〜310−
nは、ALU500−1とDSP500−3に演算指令
を発行可能とするデータが設定されているとする。例え
ば、マイクロプロセッサMPU1が2個のDSP命令を
読み込んだ場合、一つのDSP500−3だけが動作可
能であるから、読み込んだ一つのDSP命令をDSP5
00−3に実行させ、ALU500−1は動作クロック
信号が遮断される。最初のDSP命令の実行終了後、次
のDSP命令の実行にもDSP500−3が割り当てら
れて実行される。マイクロプロセッサMPU1がDSP
命令とALU命令を読み込んだ場合は、一つのALU5
00−1と一つのDSP500−3が動作可能であるか
ら、読み込んだ一つのDSP命令の実行にDSP500
−3を割り当て、読み込んだ一つのALU命令の実行に
ALU500−1を割り当て、ALU500−1及びD
SP500−3が並列的に演算動作される。何れの場合
も、ALU500−2、DSP500−4、FPU50
0−5の動作クロック信号は遮断される。
【0044】上記条件のとき、高速モードが指定されて
いる場合には、レジスタ310の制御ビット310−1
〜310−nは無視される。マイクロプロセッサMPU
1が複数のCPU命令と複数のDSP命令を読み込んだ
場合、読み込んだ一つのALU命令をALU500−1
に、読み込んだもう一つのALU命令をALU500−
2に、読み込んだ一つのDSP命令をDSP500−3
に、読み込んだもう一つのDSP命令をDSP500−
4に割り当て、その後、ALU500−1、ALU50
0−2、DSP500−3、DSP500−4に夫々の
命令デコード結果にしたがって演算制御信号420−
1、420−2、420−3、420−4が与えられ、
それらは並列的に演算動作する。
【0045】《第2のマイクロプロセッサ》次に、本発
明に係るデータ処理装置の第2の例である第2のマイク
ロプロセッサについて説明する。図5には第2のマイク
ロプロセッサの命令フォーマットを示す。第1のマイク
ロプロセッサMPU1では特定アドレスに対してストア
命令を実行することで動作モード設定レジスタ210の
内容を更新してマイクロプロセッサMPU1の動作モー
ドを指定するように構成したが、第2のマイクロプロセ
ッサでは、命令コード自体に動作モードを指定するビッ
トを設け、これによって、命令毎にマイクロプロセッサ
の動作モードを指定できるようにした。
【0046】図5の命令フォーマットにおいて、特に制
限されないが、命令700は32ビットのビット長を有
し、その中に、該命令を実行すべき動作モードを指定す
る動作モード指定ビット701が、命令コード700の
ビット31として割り当てられている。動作モード指定
ビット701が例えば値0の場合高速モードを指定し、
値1の場合低電力モードを指定する。ビット701が高
速モードを指定する命令を高速モード命令、ビット70
1が低電力モードを指定する命令を低電力モード命令と
呼ぶ。尚、命令コードの700のビット30〜ビット0
は所定の形式をもち、演算の種類、レジスタ番号、即値
などを指定する。
【0047】図5の命令フォーマットを有する第2のマ
イクロプロセッサは、図1の構成に対し、これに代え
て、命令デコーダ400に動作モード指定ビット701
のデコード機能を追加すればよい。その他の構成は図1
と同様であるので、第2のマイクロプロセッサについて
は図示を省略してある。
【0048】図6には前記第2のマイクロプロセッサに
よる実行演算器割り当て制御動作の制御手順が例示され
ている。第1のマイクロプロセッサMPU1と同様に、
命令デコーダ400は動作モード指定信号211を読み
出し現在のプロセッサの動作モードが高速モード(値
1)であるか低電力モード(値0)であるかをを検査す
る(ステップS911)。高速モードの場合、まず命令
iが高速モード命令であることを調べ(ステップS91
2−1)、高速モード命令である場合はn個の演算器全
てのうち、命令iを実行可能で且つ命令実行未割り当て
の演算器を探索する(S913−1)。低電力モードの
場合、先ず、命令iが低電力モード命令であることを調
べ(ステップS912−2)、低電力モード命令である
場合は、演算器分類指定信号311において値1をもつ
低電力モード時に演算指令を供給可能なm個の演算器の
うち、命令iを実行可能かつ命令実行未割り当ての演算
器を探索する(ステップS913−2)。高速モードに
おいて命令iが低電力モード命令の場合、あるいは低電
力モードにおいて命令iが高速モード命令である場合、
命令iを含む命令i以降の全ての命令について演算器割
り当てを中止すると共に、現在の動作モード指定信号2
11の内容を反転させた値を動作モード更新信号430
として出力し、その結果を次サイクルの演算器割り当て
に反映させる。これにより高速モード命令と低電力モー
ド命令に関する演算指令が同時に発行されないことを保
証できる。結局、低電力モードで高速モード命令をデコ
ードしたときはその直前までの低電力モード命令に関し
て演算器割り当てを行った命令を並列実行し、その後
で、当該次の高速モード命令を実行するようになる。同
様に、高速モードで低電力モード命令をデコードしたと
きはその直前までの高速モード命令に関して演算器割り
当てを行った命令を並列実行し、その後で、当該次の低
電力モード命令を実行するようになる。
【0049】各モードで命令iを割り当て可能な演算器
が存在する場合(ステップS914−1、S914−
2)、該演算器の1個を命令iの実行演算器として割り
当て(ステップS915−1、S915−2)、存在し
ない場合には命令iを含む命令i以降の全ての命令につ
いて演算器割り当てを中止する。但し、命令iが演算器
分類設定レジスタ310の設定値を更新する命令の場合
(ステップS916−1、S916−2)、命令iを含
まず命令i以降のすべての命令について演算器割り当て
を中止する。これによりレジスタ310の値を更新する
命令iは、演算器を割り当てる一連の命令の最後の命令
になり、マイクロプロセッサの動作モードに対して意図
しない動作モードの命令による演算指令が発行されない
ことを保証できる。換言すれば、高速モード命令と低電
力モード命令が並列に実行されるという競合状態を回避
できる。以上の操作を所定の回数繰り返す(ステップS
917−1、S917−2、S918−1、S918−
2)ことにより、実行演算器の割り当てが完了する。
【0050】なお、第1のマイクロプロセッサMPU1
と同様に、低電力モードにおいてレジスタ130に保持
された命令のうち最も先行する命令についての演算器割
り当てが不可能な場合(ステップS919)、命令デコ
ーダ400は例外検出信号450として例えば値1を出
力する。
【0051】《第3のマイクロプロセッサ》図7には本
発明に係るデータ処理装置の別の例である第3のマイク
ロプロセッサMPU3が示される。前記第2のマイクロ
プロセッサの例では、命令コード中に動作モードを指定
するビット(ビット31)を設けることにより、命令毎
にプロセッサの動作モードを指定した。第3のマイクロ
プロセッサMPU3では、32ビットのアドレス空間を
分割し、命令の配置されたアドレスエリアにより該命令
の動作モードを指定するものである。図7における図1
との差異は、命令アドレス111が命令デコーダ400
に入力されていることである。このマイクロプロセッサ
MPU3の場合は、次に示すように32ビットの命令ア
ドレスのうちビット31及びビット30の2ビットのみ
命令デコーダ400に入力している。即ちアドレス空間
を4分割している。第3のマイクロプロセッサMPU3
のその他の構成は第1のマイクロプロセッサMPU1と
同じである。
【0052】図8にはマイクロプロセッサMPU3のア
ドレス空間が例示されている。図8において、800は
32ビットのアドレス空間、802は該領域に配置され
た命令が高速モードで実行される高速モード空間であ
り、801、803および804は該領域に配置された
命令が低電力モードで実行される低電力モード空間であ
る。すなわちビット31が0かつビット30が1である
領域が高速モード空間である。なお、プロセッサのリセ
ット時には低電力モード空間の例えばアドレスH’A0
000000に分岐する。
【0053】次に図9に示す実行演算器割り当てのフロ
ーチャートを用いて第3のマイクロプロセッサMPU3
の演算器割り当ての制御手順を説明する。
【0054】第2のマイクロプロセッサと同様、命令デ
コーダ400は動作モード指定信号211を読み出し、
現在のプロセッサの動作モードが高速モード(値1)で
あるか低電力モード(値0)であるかを検査する(ステ
ップS921)。高速モードの場合、まず命令iが高速
モード空間に配置されていることを調べ(ステップS9
22−1)、高速モード空間に配置されている命令であ
る場合はn個の演算器すべてのうち、命令iを実行可能
かつ命令未割り当ての演算器を探索する(ステップS9
23−1)。低電力モードの場合、まず命令iが低電力
モード空間に配置されていることを調べ(ステップS9
22−2)、低電力モード空間に配置されている命令で
ある場合は演算器分類指定信号311において値1をも
つ低電力モード時に演算指令を供給可能なm個の演算器
のうち、命令iを実行可能かつ命令未割り当ての演算器
を探索する(ステップS923−2)。高速モードにお
いて命令iが低電力モード空間に配置された命令の場
合、あるいは低電力モードにおいて命令iが高速モード
空間に配置された命令の場合、命令iを含む命令i以降
の全ての命令について演算器割り当てを中止すると共
に、現在の動作モード指定信号211の内容を反転させ
た値を動作モード更新信号430として出力し、その結
果を次サイクルの演算器割り当てに反映させる。これに
より高速モード空間の命令と低電力モード空間の命令が
並列的に実行されないことを保証できる。各モードで命
令iを割り当て可能な演算器が存在する場合(ステップ
S924−1、S924−2)、該演算器の1個を命令
iの実行演算器として割り当て(ステップS925−
1、S925−2)、存在しない場合には命令iを含む
命令i以降の全ての命令について演算器割り当てを中止
する。ただし、命令iが演算器分類設定レジスタ310
の設定値を更新する命令の場合(ステップS926−
1、S926−2)、命令iを含まず命令i以降の全て
の命令について演算器割り当てを中止する。これにより
レジスタ310の値を更新する命令iは、演算器を割り
当てる一連の命令の最後の命令になり、マイクロプロセ
ッサの動作モードに対して意図しない動作モードの命令
による演算指令が発行されないことを保証できる。換言
すれば、高速モード空間の命令と低電力モード空間の命
令が並列に実行されるという競合状態を回避できる。
【0055】以上の操作を所定の回数繰り返す(ステッ
プS927−1、S927−2、S928−1、S92
8−2)ことにより、実行演算器の割り当てが完了す
る。
【0056】なお、第2のマイクロプロセッサと同様、
低電力モードにおいてレジスタ130に保持された命令
のうち最も先行する命令についての演算器割り当てが不
可能な場合(ステップS929)、命令デコーダ400
は例外検出信号450として例えば値1を出力する。
【0057】《第4のマイクロプロセッサ》図10には
本発明に係るデータ処理装置の別の例である第4のマイ
クロプロセッサMPU4が示される。前記第1乃至第3
のマイクロプロセッサの例では、命令若しくはアドレス
空間から一意に動作モードが決定するのに対し、第4の
マイクロプロセッサの例では、演算器の実際の使用率を
計測することにより、動的かつより柔軟な電力制御を可
能にしようとするものである。
【0058】図10において、540−1〜540−n
は、演算器500−1〜500−nのそれぞれに対応し
演算器が命令を実行中の場合には例えば値1を出力し実
行中でない場合には値0を出力する命令実行信号であ
る。550−1〜550−nは、各演算器の使用率、す
なわち所定のサイクル期間のうち命令実行信号540−
1〜540−nが実行中(値1)を示した期間を計測
し、計測結果が所定の使用率より小さい場合には例えば
値0を、所定の使用率以上の場合には値1を大小比較結
果560−1〜560−nとして出力する使用率計測回
路である。
【0059】図11に、本実施例における使用率計測回
路550−nの構成図を示す。図11において、551
−nはレジスタ551−n−1〜551−n−32から
なる32段のFIFOであり、553−nはFIFOの
各段の出力552−n−1〜552−n−32のうち値
1の本数を示す信号554−nを出力する計数回路であ
る。555−nは、所定の値556−nを出力する閾値
レジスタである。557−nは、出力554−nが出力
556−nより小さい場合に大小比較結果560−nと
して値0を出力し、出力554−nが出力556−n以
上の場合に値1を出力する比較回路である。FIFO5
51−nには命令実行信号540−n(前記演算指令信
号410−nと等価の信号)を入力し、毎サイクルその
値をサンプリングする。閾値レジスタ555−nは演算
器500−nに対して命令発行を許可する最小の使用率
を保持し、その内容は特定のアドレスに対するロードス
トア命令により読み書きが可能である。なお閾値レジス
タ555−nに値0が設定されている場合は例外的に比
較出力560−nを常に値1にするが、これは使用率計
測回路550−nを無効化するのと等価である。
【0060】図12に、本実施例における調停回路22
0の構成図を示す。図12において、223はアンドゲ
ートであり、本構成によって、動作モード更新信号43
1と、比較結果560−1〜560−nのうちレジスタ
555が値0でマスクされていなかった比較結果による
低電力モードへの遷移要求との優先度が相互に同一で高
くされ、動作モード更新信号430による高速モードへ
の遷移要求の優先度が低くなる。換言すれば、使用率が
閾値よりも小さい演算器に関する比較結果が値0に変化
されるので、その変化が優先されて、信号221に反映
される。要するに、所定の演算器に関し、高速モードに
おいて使用率が閾値よりも小さい場合には、マイクロプ
ロセッサMPU4は低電力モードに変化される。
【0061】本構成においては比較結果560−2〜5
60−nが全てアンドゲート223に入力されている
が、動作モード遷移を要求する比較結果のみ、例えば5
60−2のみ入力することも可能である。
【0062】図13に、本実施例における検査回路32
0の構成図を示す。図13において、322−2〜32
2−nはアンドゲートであり、第1のマイクロプロセッ
サMPU1と同様に命令実行を継続するのに最低限動作
させる必要のある演算器500−1に対応するビット1
については、演算器分類更新信号440あるいは比較結
果560−1の値にかかわらず常に命令発行可能を示す
値1を出力することで誤使用を防止することができる。
本構成により比較結果560−2〜560−nのうち演
算器の使用率が所定の値より小さいことを示す値0とな
る演算器について、対応する演算器分類設定レジスタ3
10のビットを命令発行不可を示す値0にする。
【0063】本実施例において、調停回路220および
検査回路320は協調して動作し、比較結果560−2
〜560−nのうち所定の使用率よりも小さいことを示
す値0が1個以上存在する場合、調停回路220を通じ
て動作モード設定レジスタ210の内容を更新しプロセ
ッサを低電力モードに遷移させるとともに、演算器分類
設定レジスタ310の対応するビットを更新しその演算
器への命令発行を抑止する。なお比較結果560−2〜
560−nのうち例えば560−2と560−3など特
定の複数の比較結果が値0であることを検出し、低電力
モードに遷移するとともに対応する演算器分類設定レジ
スタ310のビットを値0にする制御も可能である。
【0064】これにより例えば高速モードと低電力モー
ドの演算性能の差が所定の値より小さい場合、ソフトウ
エアに依存せずに高速モードから低電力モードに遷移し
電力消費を削減することができる。また回路規模が非常
に大きくしたがって電力消費の大きな演算器が特定の使
用率以下に低下した場合、該演算器を停止させソフトウ
エアエミュレーションにより必要な演算を実行すること
で電力消費を削減することができる。
【0065】《第5のマイクロプロセッサ》図14には
本発明に係るデータ処理装置の別の例である第5のマイ
クロプロセッサMPU5が示される。第5のマイクロプ
ロセッサMPU5の例では、マイクロプロセッサMPU
5の温度が所定の温度より高温の場合に低電力モードへ
遷移し電力消費を削減することでマイクロプロセッサの
熱暴走あるいは熱破壊を防止するものである。
【0066】図14において、570はプロセッサの温
度を計測し、計測された温度が所定の温度より大きい値
の場合に値0、計測された温度以下の場合に値1となる
比較結果580を出力する温度計測回路である。マイク
ロプロセッサMPU5のその他の構成は図1の第1のマ
イクロプロセッサMPU1と同じである。
【0067】図15に、本実施例における温度計測回路
の構成図を示す。図15において、571は温度に対応
するアナログ値572を出力するプロセッサチップ上に
集積された、またはプロセッサ外に配置された温度セン
サである。573はアナログ値572をデジタル値57
4に変換するAD変換器である。575はプロセッサが
安全に動作可能な最高温度に対応するデジタル値576
を出力する書き換え不可能なレジスタである。577は
デジタル値574がデジタル値576より大きい場合に
大小比較結果580として値0を出力しデジタル値57
4がデジタル値576以下の場合に値1を出力する比較
回路である。
【0068】図16に、本実施例における調停回路22
0の構成図を示す。図16において、224はアンドゲ
ートとオアゲートの複合ゲート(アンド・オア複合ゲー
ト)であり、本構成によって比較結果580による低電
力モードへの遷移要求の優先度を高くし、動作モード更
新信号430、431による高速モードへの遷移要求の
優先度を低くすることができる。
【0069】図17に、本実施例における調停回路32
0の構成図を示す。図17において、323−2〜32
3−nはアンドゲートであり、第1のマイクロプロセッ
サMPU1と同様に命令実行を継続するのに最低限動作
させる必要のある演算器500−1に対応するビット1
については、演算器分類更新信号440あるいは比較結
果580の値に拘わらず常に演算指令を出力可能を示す
値1を出力することで誤使用を防止することができる。
本構成により比較結果580が、プロセッサの温度が所
定の温度より高いことを示す値0の場合に、命令実行に
最低限必要な演算器500−1を除く全ての演算器に対
応する演算器分類設定レジスタ310のビットを演算指
令の発行不可を示す値0にする。
【0070】第5のマイクロプロセッサMPU5におい
て、レジスタ575に設定されたプロセッサの温度が安
全に動作できる最高温度を超えた場合、調停回路220
を通じて動作モード設定レジスタ210の内容を更新
し、マイクロプロセッサMPU5を低電力モードへ遷移
させると共に、命令実行に必要な最低限の演算器以外の
演算器については演算器分類設定レジスタ310の対応
するビットを更新し、演算指令の発行を抑止する。これ
により例えば電源回路や冷却機構の故障によりマイクロ
プロセッサMPU5が異常加熱した場合、直ちに低電力
モードに遷移して、消費電力を削減することで、マイク
ロプロセッサの熱暴走あるいは破壊を防止することがで
きる。
【0071】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0072】例えば、第2のマイクロプロセッサにおけ
る命令コードによる動作モード指定、第3のマイクロプ
ロセッサにおけるアドレス空間による動作モード指定、
第4のマイクロプロセッサにおける演算器使用率による
動作モード指定、第5のマイクロプロセッサにおける温
度による動作モード指定のうち、複数の動作モード指定
方法を任意に組み合わせることで、さらに柔軟な電力管
理が実現可能である。
【0073】また、命令制御部やデコーダなどによって
構成される制御部の論理構成は、ハードワイヤードロジ
ックやマイクロプログラムなど、どのような形式であっ
てもよい。
【0074】また、本発明のデータ処理装置は、マイク
ロプロセッサに限定されず、マイクロコンピュータ、デ
ータプロセッサ、シングルチップマイクロコンピュー
タ、システムLSIなど、その称呼の如何に拘わらず、
半導体集積回路や電子回路に広く適用することができ
る。
【0075】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0076】すなわち、実行すべきプログラムの内容、
更には演算器の利用度合等に応じて、演算処理の高速化
又は低消費電力を選択して何れかを優先させることが容
易なデータ処理装置を実現することができる。
【0077】アプリケーションが必要とする演算性能に
応じて同時に命令を実行する演算器を任意に設定し、動
作しない演算器のクロックなどを遮断して動作を停止さ
せることで、柔軟性の高い消費電力の削減を可能とする
データ処理装置を実現することができる。
【0078】また、データ処理装置の温度が安全に動作
できる所定の温度を超えた場合に、高速モードから低電
力モードへ遷移し消費電力を削減することで、熱暴走あ
るいは破壊を防止することができる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理装置の一例である第1
のマイクロプロセッサのブロック図である。
【図2】第1のマイクロプロセッサに内蔵される調停回
路の一例を示す論理回路図である。
【図3】第1のマイクロプロセッサに内蔵される検査回
路の一例を示す論理回路図である。
【図4】第1のマイクロプロセッサMPU1による実行
演算器割り当て制御動作の制御手順の一例を示すフロー
チャートである。
【図5】本発明に係るデータ処理装置の第2の例である
第2のマイクロプロセッサの命令フォーマットを示すフ
ォーマット図である。
【図6】第2のマイクロプロセッサによる実行演算器割
り当て制御動作の制御手順を例示するフローチャートで
ある。
【図7】本発明に係るデータ処理装置の別の例である第
3のマイクロプロセッサのブロック図である。
【図8】第3のマイクロプロセッサのアドレス空間を例
示するアドレスマップである。
【図9】第3のマイクロプロセッサによる実行演算器割
り当て制御動作の制御手順を例示するフローチャートで
ある。
【図10】本発明に係るデータ処理装置の別の例である
第4のマイクロプロセッサのブロック図である。
【図11】第4のマイクロプロセッサに含まれる使用率
計測回路の一例を示すブロック図である。
【図12】第4のマイクロプロセッサに含まれる調停回
路の一例を示すブロック図である。
【図13】第4のマイクロプロセッサに含まれる検査回
路の一例を示すブロック図である。
【図14】本発明に係るデータ処理装置の別の例である
第5のマイクロプロセッサのブロック図である。
【図15】第5のマイクロプロセッサに含まれる温度計
測回路の一例を示すブロック図である。
【図16】第5のマイクロプロセッサに含まれる調停回
路の一例を示すブロック図である。
【図17】第5のマイクロプロセッサに含まれる調停回
路の一例を示すブロック図である。
【符号の説明】
100 命令制御部 110 命令アドレス生成回路 120 命令キャッシュメモリ 130 命令レジスタ 200 動作モード設定回路 210 動作モード設定レジスタ 220 調停回路 300 演算器分類設定回路 310 演算器分類設定レジスタ 320 検査回路 400 命令デコーダ 500−1〜500−n 演算器 510−1〜510−n クロック制御回路 530 クロック信号 550−1〜550−n 使用率計測回路 570 温度計測回路 600 例外処理回路
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/30 330 G06F 9/30 350F 350 360 360 15/78 510P 15/78 510 7/00 A (72)発明者 中野 定樹 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B013 AA20 DD01 DD04 5B022 AA02 CA03 CA07 FA09 5B033 AA05 BA00 BC00 BE05 BF04 5B062 AA05 AA08 AA10 CC04 DD10 HH06 JJ06 5B079 AA07 BA12 BB01 BC01

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 命令をデコードして制御信号を出力する
    制御手段と、前記制御手段から出力される制御信号に従
    って夫々独立に且つ並列に演算可能なn個(n≧2)の
    演算器を備え、最大で前記n個の命令をn個の演算器を
    用いて実行させる高速モードと、最大でm個(1≦m≦
    n−1)の命令をm個の演算器を用いて実行させる低電
    力モードの2つの動作モードを有して成るものであるこ
    とを特徴とするデータ処理装置。
  2. 【請求項2】 前記n個の演算器は、同一の演算器を少
    なくとも2個含み、前記制御手段は、前記高速モードで
    は前記同一演算器の全てに演算指令を与えることを許容
    し、前記低電力モードでは前記同一演算器の所定の一つ
    に対して演算指令を与えることを許容するものであるこ
    とを特徴とする請求項1記載のデータ処理装置。
  3. 【請求項3】 前記低電力モード又は高速モードを指示
    する情報が任意に設定可能にされ、設定された情報を前
    記制御手段に与えるモード設定手段を有して成るもので
    あることを特徴とする請求項1又は2記載のデータ処理
    装置。
  4. 【請求項4】 前記低電力モードにおいて、演算指令を
    受け付け可能な演算器と演算指令の受け付けを抑止する
    演算器とを指定するための情報が任意に設定可能にさ
    れ、設定された情報を前記制御手段に与える動作指定手
    段を有して成るものであることを特徴とする請求項1又
    は2記載のデータ処理装置。
  5. 【請求項5】 前記制御手段は、デコードされた命令の
    実行に割り当てることができる演算器の有無を判定し、
    動作モードに応じた最大限の割り当て数に至る前に演算
    器を割り当て不可能な状態になったときは、当該割り当
    て不可能な命令の直前の命令までを並列実行させ、当該
    割り当て不可能な命令の実行は後の命令実行サイクルと
    することを特徴とする請求項1又は2記載のデータ処理
    装置。
  6. 【請求項6】 前記制御手段からの指示に従って、命令
    実行に割り当てられた演算器には動作クロック信号を供
    給し、命令実行に割り当てられなかった演算器には動作
    クロックの供給を遮断するクロック制御手段を更に備え
    て成るものであることを特徴とする請求項1又は2記載
    のデータ処理装置。
  7. 【請求項7】 前記制御手段は、命令コードの特定ビッ
    トのデコード結果にしたがって前記動作モードを判定
    し、複数の命令コードがそれぞれ異なる動作モードを指
    定した場合には指定動作モードが異なる直前までの命令
    を並列に実行させ、その後の動作モードを当該異なった
    指定動作モードとするものであることを特徴とする請求
    項1又は2記載のデータ処理装置。
  8. 【請求項8】 前記制御手段は、命令アドレスの特定ビ
    ットの値にしたがって前記動作モードを判定し、複数の
    命令アドレスがそれぞれ異なる動作モードを指定した場
    合には指定動作モードが異なる直前までの命令を並列に
    実行させ、その後の動作モードを当該異なった指定動作
    モードとするものであることを特徴とする請求項1又は
    2記載のデータ処理装置。
  9. 【請求項9】 夫々の演算器の使用率を計測し、計測値
    と予め指定された特定の使用率との大小を比較し、1個
    以上の特定の演算器の使用率が予め指定された特定の使
    用率より小さい場合に、低電力モードを指定する手段を
    有して成るものであることを特徴とする請求項1又は2
    記載のデータ処理装置。
  10. 【請求項10】 データ処理装置若しくはその近傍の雰
    囲気温度を計測し、予め指定された特定の温度との大小
    を比較し、温度が予め指定された特定の温度より大きい
    場合に低電力モードを指定する手段を有して成るもので
    あることを特徴とする請求項1又は2記載のデータ処理
    装置。
JP11130028A 1999-05-11 1999-05-11 データ処理装置 Withdrawn JP2000322259A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11130028A JP2000322259A (ja) 1999-05-11 1999-05-11 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11130028A JP2000322259A (ja) 1999-05-11 1999-05-11 データ処理装置

Publications (1)

Publication Number Publication Date
JP2000322259A true JP2000322259A (ja) 2000-11-24

Family

ID=15024376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11130028A Withdrawn JP2000322259A (ja) 1999-05-11 1999-05-11 データ処理装置

Country Status (1)

Country Link
JP (1) JP2000322259A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366351A (ja) * 2001-06-06 2002-12-20 Nec Corp スーパースカラ・プロセッサ
JP2004511043A (ja) * 2000-10-05 2004-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ リターゲッタブルコンパイルシステム及び方法
WO2005124550A1 (ja) * 2004-06-22 2005-12-29 Sony Computer Entertainment Inc. プロセッサ、情報処理装置およびプロセッサの制御方法
JP2008544350A (ja) * 2005-06-09 2008-12-04 クゥアルコム・インコーポレイテッド Simd並列処理の自動選択を備えたマイクロプロセッサ
JP2009003807A (ja) * 2007-06-22 2009-01-08 Fujitsu Ltd マイクロプロセッサ
JP2009151778A (ja) * 2007-12-19 2009-07-09 Internatl Business Mach Corp <Ibm> ワークロード実行特徴に基づく性能低下のない低パワーのための動的なプロセッサを再構成するための方法、プログラム、およびシステム
JP2010102477A (ja) * 2008-10-23 2010-05-06 Nec Corp ノード装置、冗長システム、電力制御方法およびプログラム
JP4811879B2 (ja) * 2005-08-19 2011-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 最大パワーを制御するためのマイクロプロセッサ・リソースの相互排除アクティブ化のためのシステム及び方法
US8122231B2 (en) 2005-06-09 2012-02-21 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
JP2013069220A (ja) * 2011-09-26 2013-04-18 Nec Computertechno Ltd 演算処理装置及び演算器同時実行制御方法
JP2013532855A (ja) * 2010-07-13 2013-08-19 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド グラフィクスプロセッサにおけるsimdユニットの動的な有効化及び無効化
JP2014029638A (ja) * 2012-07-31 2014-02-13 Canon Inc 情報処理装置およびその制御方法
JP2015028810A (ja) * 2004-09-28 2015-02-12 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるためのシステム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511043A (ja) * 2000-10-05 2004-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ リターゲッタブルコンパイルシステム及び方法
JP2002366351A (ja) * 2001-06-06 2002-12-20 Nec Corp スーパースカラ・プロセッサ
KR100878660B1 (ko) * 2004-06-22 2009-01-15 소니 컴퓨터 엔터테인먼트 인코포레이티드 프로세서, 정보처리장치, 정보처리시스템, 프로세서의 제어방법, 및 프로세서의 제어 프로그램을 격납한 기록매체
CN100432943C (zh) * 2004-06-22 2008-11-12 索尼计算机娱乐公司 处理器、信息处理装置和处理器的控制方法
WO2005124550A1 (ja) * 2004-06-22 2005-12-29 Sony Computer Entertainment Inc. プロセッサ、情報処理装置およびプロセッサの制御方法
US7831842B2 (en) 2004-06-22 2010-11-09 Sony Computer Entertainment Inc. Processor for controlling performance in accordance with a chip temperature, information processing apparatus, and method of controlling processor
JP2015028810A (ja) * 2004-09-28 2015-02-12 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるためのシステム
JP2008544350A (ja) * 2005-06-09 2008-12-04 クゥアルコム・インコーポレイテッド Simd並列処理の自動選択を備えたマイクロプロセッサ
US8799627B2 (en) 2005-06-09 2014-08-05 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
US8122231B2 (en) 2005-06-09 2012-02-21 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
JP4811879B2 (ja) * 2005-08-19 2011-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 最大パワーを制御するためのマイクロプロセッサ・リソースの相互排除アクティブ化のためのシステム及び方法
JP2009003807A (ja) * 2007-06-22 2009-01-08 Fujitsu Ltd マイクロプロセッサ
JP2009151778A (ja) * 2007-12-19 2009-07-09 Internatl Business Mach Corp <Ibm> ワークロード実行特徴に基づく性能低下のない低パワーのための動的なプロセッサを再構成するための方法、プログラム、およびシステム
JP2010102477A (ja) * 2008-10-23 2010-05-06 Nec Corp ノード装置、冗長システム、電力制御方法およびプログラム
JP2013532855A (ja) * 2010-07-13 2013-08-19 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド グラフィクスプロセッサにおけるsimdユニットの動的な有効化及び無効化
JP2013069220A (ja) * 2011-09-26 2013-04-18 Nec Computertechno Ltd 演算処理装置及び演算器同時実行制御方法
JP2014029638A (ja) * 2012-07-31 2014-02-13 Canon Inc 情報処理装置およびその制御方法

Similar Documents

Publication Publication Date Title
JP2616182B2 (ja) データ処理装置
US6948051B2 (en) Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width
US7921278B2 (en) Early exit processing of iterative refinement algorithm using register dependency disable
CN108845826B (zh) 多寄存器存储器访问指令、处理器、方法和系统
TWI505192B (zh) 在執行時間擷取資料平行處理的平行執行單元
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US8370671B2 (en) Saving power by powering down an instruction fetch array based on capacity history of instruction buffer
JP2006509290A (ja) マイクロプロセッサ電力消費低減のためのレジスタファイルゲーティング
JP2003085000A (ja) トレース情報生成装置およびその方法
KR101524450B1 (ko) 범용 논리 연산 방법 및 장치
US11132199B1 (en) Processor having latency shifter and controlling method using the same
JP2000222206A (ja) データ処理装置
JP2000322259A (ja) データ処理装置
CN112559049A (zh) 用于指令高速缓存的路预测方法、访问控制单元以及指令处理装置
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
JP2581236B2 (ja) データ処理装置
JP2008226236A (ja) 構成可能なマイクロプロセッサ
TWI752034B (zh) 用以校驗具有指示校驗位元值之位元的位元校驗處理器、方法、系統與指令
JP2669158B2 (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
US11907712B2 (en) Methods, systems, and apparatuses for out-of-order access to a shared microcode sequencer by a clustered decode pipeline
CN112559037B (zh) 一种指令执行方法、单元、装置及系统

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060801