JPH08101773A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH08101773A
JPH08101773A JP6237680A JP23768094A JPH08101773A JP H08101773 A JPH08101773 A JP H08101773A JP 6237680 A JP6237680 A JP 6237680A JP 23768094 A JP23768094 A JP 23768094A JP H08101773 A JPH08101773 A JP H08101773A
Authority
JP
Japan
Prior art keywords
instruction
bit pattern
execution
instructions
processor
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.)
Granted
Application number
JP6237680A
Other languages
English (en)
Other versions
JP3335782B2 (ja
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 JP23768094A priority Critical patent/JP3335782B2/ja
Priority to US08/536,180 priority patent/US5790874A/en
Publication of JPH08101773A publication Critical patent/JPH08101773A/ja
Application granted granted Critical
Publication of JP3335782B2 publication Critical patent/JP3335782B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)
  • Power Sources (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 命令バス上のビットパターンの変化による消
費電力について、ハードウエア・ソフトウエア全体のコ
ストをかけず且つ高速化し、アプリケーションに応じた
低消費電力化を可能とする。 【構成】 プロセッサ800で実行する命令コード列を
入力し、この中で連続実行される複数の命令コードで構
成される連続実行命令の組の出現頻度を測定した結果を
出力する連続実行命令トレース手段310と、この測定
結果を入力し、出現頻度の大きな命令の組ほど命令コー
ドのビットパターン中の変化ビットの数が少なくなるよ
うに命令コード列中で使用されている命令コードのビッ
トパターンを再定義する命令ビットパターン再定義手段
320と、プロセッサ800での実行モジュールを、再
定義手段320の結果に対応させて生成する実行モジュ
ール生成手段400と、再定義手段320の結果に対応
するように命令デコード部810を再構成する命令デコ
ード再構成手段820とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に関し、
特に実行アプリケーションに応じて消費電力を低減する
ことができる情報処理装置に関する。
【0002】
【従来の技術】ノートコンピュータやPDA(パーソナ
ル・ディジタル・アシスタント)機器、携帯電話、モデ
ムなどの携帯用情報機器が普及するにつれ、これらを含
めたあらゆる情報処理装置の低消費電力化が重要になっ
てきている。LSIの消費電力Pは、 P=α・C・V2 ・n・f+PS と表すことができる。ここで、 α:稼動率、C:LSIの容量、V:電源電圧、n:素
子数、f:動作周波数、PS :待機時の消費電力 である。本発明では稼動率α、つまりプロクラム実行時
間全体を通しての1LSI素子当たりのスイッチング確
率に注目する。
【0003】プロセッサなどにおいて、稼動率を下げる
従来の試みとしては、そのとき実行されている命令に応
じて、或いは幾つか仕様として設けている動作モードに
応じて、使用されていない機能ブロックにクロックを供
給しない、などの方法があるが、何れもハードウェア上
の工夫のみによっているため、実行するアプリケーショ
ンプログラムの種類に応じて、プログラム実行全体を考
慮した効率的な低消費電力化ができるとはいえない。即
ち、上記の用途に使用されるような機器組み込み用マイ
クロプロセッサについては、コストを抑えるために用途
によらず同じものを使用し、その周辺回路で用途に対応
する、といった傾向がある。一方、実行されるプログラ
ムの命令列のパターンやそこで参照されるデータは、用
途によって、つまり実行するプログラムによって大きく
異なる。特にその命令列のパターンの違いに注目する
と、マイクロプロセッサの命令バス上のビットパターン
の変化、即ち命令バス上の各ビットの配線ノードの充電
(“0”から“1”への状態遷位)・放電(“1”から
“0”への状態遷位)による電力消費に関しては、ある
機器で繰り返し実行されるプログラムの命令列パターン
に対しては消費電力が抑えられても、他の繰り返し実行
されるプログラムの命令列パターンについては、消費電
力が抑えられるとは限らない。また、実行されるプログ
ラムに応じてプロセッサ本体をいちいち設計しなおすと
いう方法もあるが、この場合コストの増大は免れない。
【0004】一方、ハードウェアよりソフトウェア、即
ち供給される命令列の方に注目して、コンパイラやアセ
ンブラなどで、一般的な最適化手法である「局所的な命
令の入れ替え」を応用し、命令列の処理の因果律を侵さ
ない範囲で、連続する2命令の間のビットパターンの変
化を抑えるようにその2命令を入れ替え、プロセッサ内
の命令バス上のビットパターンの変化を抑えるという方
法も考えられている。この方法の一例のフローチャート
を第9図に示す。この低消費電力化のための命令の入れ
替えは、プロセッサのパイプラインを有効に活用しプロ
グラム実行の高速化を図る従来の最適化のための命令入
れ替えと矛盾する場合があり、両者を矛盾なく最適化す
ることは、従来の方法では非常に困難であり、一般的に
は不可能である。
【0005】このように、ハードウエア単独での低消費
電力化では、実行するアプリケーションに対応するには
コストが非常にかかり、一方、ソフトウエア単独の低消
費電力化でも、一般にプログラム実行の高速化と矛盾す
るという問題が残ることになっていた。
【0006】
【発明が解決しようとする課題】以上述べてきたよう
に、従来の方式では、プロセッサの実行されるアプリケ
ーションに応じた低消費電力化についてはハードウエア
上のみの工夫では無理があるか、或いは非常にコストが
かかり、一方コンパイラなどソフト上のみの工夫におい
ても、他の最適化と矛盾する場合があるなどの問題が残
る。
【0007】本発明は上記事情を鑑みてなされたもので
あり、その目的とするところは、命令バス上のビットパ
ターンの変化による消費電力について、ハードウエア・
ソフトウエア全体としてコストをかけず且つ高速化のた
めのプログラム最適化にも手をふれずに、アプリケーシ
ョンに応じた低消費電力化を可能とする情報処理装置を
提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、第1の発明の第1の特徴は、入力されるビットパタ
ーンにより、このビットパターンに対応する制御信号を
出力する命令デコード部と、前記信号出力により命令を
実行する命令実行部とを有するプロセッサを具備する情
報処理装置であって、前記命令デコード部は、前記プロ
セッサが連続して実行する連続実行命令の組合せの頻度
により前記ビットパターンと前記制御信号との対応関係
の変更が可能なことである。
【0009】ここで、第1の発明の第2の特徴は、前記
連続実行命令は、2つの連続する実行命令であることで
ある。
【0010】また、第2の発明の第1の特徴は、入力さ
れるビットパターンと前記ビットパターンに対応する制
御信号出力の対応関係を再構成可能な命令デコード部
と、前記信号出力により命令を実行する命令実行部とを
有するプロセッサを具備する情報処理装置であって、前
記プロセッサで実行する命令コード列を入力し、前記命
令コード列の中で連続実行される複数の命令コードで構
成される連続実行命令の組について、この連続実行命令
の組の出現頻度を測定し、この結果を出力する連続実行
命令トレース手段と、前記連続実行命令トレース手段の
測定結果を入力し、前記出現頻度の大きな命令の組ほど
前記命令コードのビットパターン中の変化ビットの数が
少なくなるように前記命令コード列中で使用されている
命令コードのビットパターンを再定義する命令ビットパ
ターン再定義手段と、前記プロセッサでの実行モジュー
ルを、前記命令コード列中の各命令コードのビットパタ
ーンに関し前記命令ビットパターン再定義手段の結果に
対応させて生成する実行モジュール生成手段と、前記命
令ビットパターン再定義手段の結果に対応するように前
記命令デコード部を再構成する命令デコード再構成手段
とを有することである。
【0011】ここで、第2の発明の第2の特徴は、前記
連続実行命令は、2つの連続する実行命令であることで
ある。
【0012】また、第2の発明の第3の特徴は、前記連
続実行命令トレース手段は、前記プロセッサで実行する
命令コード列を入力とし、前記命令コード列の中で連続
実行される複数の命令コードで構成される命令の組につ
いて、前記命令の組の各々の出現頻度を前記命令コード
列の開始から前記命令コード列の終了まで測定した結果
を出力することである。
【0013】また、第2の発明の第4の特徴は、命令ビ
ットパターン再定義手段は、前記出現頻度の大きな命令
の組ほど、前記命令の組を構成する複数の命令コードの
間のビットパターン中の変化ビット若しくは前記命令の
組を構成する複数の命令コードの一部の間のビットパタ
ーン中の変化ビットの数が少なくなるように前記命令コ
ード列中で使用されている命令コードの一部のビットパ
ターンの各々を再定義することである。
【0014】さらに、第2の発明の第5の特徴は、前記
命令デコード部は、ゲートアレイで構成されていること
である。
【0015】
【作用】本発明に係る情報処理装置によれば、命令コー
ドの命令順序自体には何も変更を施さずに、各命令コー
ド或いはその一部に関し、それらに割り当てるビットパ
ターンを連続する複数の命令コード、或いはその一部の
ビットパターンの変化が小さくなるように変更するよう
にしたため、結果として、命令バス上のビットパターン
の変化による消費電力をプログラム全体としてより抑え
たものにすることができるのである。
【0016】従って、上記第1の発明によれば、前記命
令デコード部を、連続実行命令の組合せの頻度により前
記ビットパターンと前記制御信号との対応関係の変更を
可能とすることにより、1LSI素子当たりのスイッチ
ング確率を最小にすることができるので、アプリケーシ
ョンに応じた低消費電力化を可能とする。また、命令デ
コード部のみを変更可能にしておくことにより、ハード
ウエア上の変更点は、その命令デコード部のみにするこ
とができ、コストも抑えることができる。
【0017】ここで、 SPARC International.Inc., "Th
e SPARC Architecture Manual Version 8", Prentice H
all, inc. A Simon & Schuster Company Englewood Cl
iffs, New Jersey 07632, 1992(以下、単に文献と記
す)で定義されている命令セットアーキテクチャを持つ
プロセッサと、そこで実行させようとしているアセンブ
ラ命令列について例示すると、上記文献で定義されるo
pフイールドが‘10’か‘11’かそれ以外かによっ
て命令のビットの分割方式が、3つに分類される。この
うちプログラム中に現れる命令のほとんどを占めてい
る、opフイールドが‘10’か‘11’かの場合の、
op3フィールド6ビットに注目して以下考える。ここ
で、op3フィールドとは、例えば加算命令かロード命
令かシフト命令かなど、各命令におけるプロセッサIU
(Integer Unit)部内の制御を区別するフィールドである
(以下、このフィールドを単にop3フィールドと記
す)。
【0018】本発明を適用する場合、実行させようとし
ているアセンブラ命令列は、上記文献の通りに各命令の
op3フィールドのビットパターンが定義されている既
存のコンパイラで、実行オブジェクトファイルに変換さ
れるか、或いは、アセンブラ命令列をそのまま、連続実
行命令トレース手段に入力される。ここで実行オブジェ
クトファイル、或いはアセンブラ命令列がトレースさ
れ、注目しているop3フィールドに関して、例えば連
続する二命令の組みのそれぞれの出現頻度を測定する。
この場合、命令列上にある各分岐命令の扱いについて
は、動的に、即ちアプリケーションの実際の実行に従っ
て各分岐をトレースして、各命令の組の出現頻度を測定
してもよいし、或いは、静的に、即ちアプリケーション
実行以前に各分岐での分岐方法の割合を予想し、これを
元に各命令の組の出現頻度を測定してもよい。どちらで
も、各方法に応じた効果が得られる。
【0019】次に命令ビットパターン再定義手段によっ
て、出現頻度のより大きい二命令間でop3フィールド
のビットパターンの変化がより小さくなるよう、各命令
のop3フィールドのビットパターンを決定する。
【0020】これは、即ち、評価関数、
【数1】 を最小にするようなビットパターンを各命令に割り当て
ることを意味している。結果、例えば、最も出現頻度の
大きな命令間では、op3フィールドについて1ビット
しか変化しないように両者を決定できる場合にはそうす
ることになる。
【0021】実行モジュール生成手段は、命令ビットパ
ターン再定義手段の結果を参照し、実行するアセンブラ
命令列の各命令のop3フィールドがその通りになるよ
うに変更された、実行オブジェクトファイルを新たに生
成する。
【0022】一方、命令デコード再構成手段も、命令ビ
ットパターン割当表を参照し、その通りにop3フィー
ルドを解釈し命令を実行できるよう、元々再構成可能な
装置で構成されている命令デコード部を再構成する。即
ち、命令デコード部のみを再構成可能にしておくことに
より、ハードウエア上の変更点は、その命令デコード部
のみにすることができ、コストも抑えることができる。
【0023】従って、第2の発明によれば、元々のアセ
ンブラ命令列を、上記のようにして生成された実行オブ
ジェクトファイルと再構成された命令デコードによっ
て、プログラム全体として命令バス上のビットパターン
の変化が少ないように、実行することが可能となり、結
果命令バス上の消費電力を実行するアプリケーションに
応じて抑えることが可能することができるのである。
【0024】
【実施例】以下、本発明に係る情報処理装置の実施例を
図面を参照しながら説明する。説明において同一の符号
は同一の構成部品を示し、説明の重複は省略する。ここ
で、本発明に係る情報処理装置が具備するハードウエア
構成は、各種処理を行うためのプロセッサと、キーボー
ド、マウス、ライトペン、又はフレキシブルディスク装
置等の入力装置と、メモリ装置やディスク装置等の外部
記憶装置と、ディスプレイ装置、プリンタ装置等の出力
装置等とを備えた計算機システムを用いてもよい。な
お、前記プロセッサは、各種の処理を行う命令実行部
と、前記処理の命令のデコードを行う命令デコード部と
を具備する。
【0025】第一実施例 本発明に係る情報処理装置の第1の実施例を第1図に示
す。本実施例においては上記文献に定義された命令セッ
トを用いて説明するが、これに限られるものではない。
まず、本発明に係る情報処理装置の構成について説明す
る。この情報処理装置は、命令を実行するプロセッサ8
00を有し、このプロセッサ800は、入力されるビッ
トパターンと前記ビットパターンに対応する制御信号出
力の対応関係を再構成可能な命令デコード部810を有
する。更に、このプロセッサ800で実行する命令コー
ド列を入力とし、前記命令コード列の中で連続実行され
る複数の命令コードで構成される命令の組ついて、前記
命令の組の各々の出現頻度を前記命令コード列開始から
前記命令コード列終了まで測定した結果を出力とする連
続実行命令トレース手段310と、前記連続実行命令ト
レース手段310の出力を入力とし、前記出現頻度の大
きな命令の組ほど前記命令の組を構成する複数の命令コ
ードの間のピットパターンの中の変化ビットの数が少な
くなるように、前記命令コード列中で使用されている命
令コードのビットパターンの各々を再定義する、或い
は、前記出現頻度の大きな命令の組ほど、前記命令の組
を構成する複数の命令コードの一部の間のビットパター
ン中の変化ビットの数が少なくなるように、前記命令コ
ード列中で使用されている命令コードの一部のビットパ
ターンの各々を再定義する命令ビットパターン再定義手
段320と、前記プロセッサ800での実行モジュール
を、前記命令コード列中の各命令コードのビットパター
ンに関し前記命令ビットパターン再定義手段320の結
果に対応させて生成する実行モジュール生成手段400
と、前記命令ビットパターン再定義手段320の結果に
対応するように前記命令デコード部810を再構成する
命令デコード再構成手段820とを有する。
【0026】次に、この情報処理装置の動作を第1図を
用いて説明する。アセンブラソースファイル000は従
来のアセンブラ100でアセンブルされ、実行オブジェ
クトファイル200を生成する。このとき、アセンブラ
は内部にある命令セットの各命令フィールドと、そのビ
ットパターンとの対応表である命令ビットパターン割当
表110を参照している。本実施例では、上記文献で定
義されているビットパターンを参照している。生成され
た実行オブジェクトファイル200は、まず連続実行命
令トレース手段310に入力される。本実施例では、連
続実行命令トレース手段310及び後述する命令ビット
パターン再定義手段320は、op3フィールドのみを
その対象とする。
【0027】ここで、連続実行命令トレース手段310
は、実行オブジェクトファイル200を入力とし、各2
命令の組みの出現頻度を格納する配列データである出現
頻度測定データ315を出力とする一つのプログラムで
ある。例えば、第4図(a)のようなアセンブラソース
プログラムがあった場合、それをアセンブルしたビット
列の各命令のop及びop3フィールドは、第4図
(b)のようになる。連続する2命令のopフィールド
がどちらも‘10’か‘11’であるものについて、o
p3フィールドの各2命令の組みの出現回数を実行トレ
ースしていく。この連続実行命令トレース手段310
は、上述した動的な実行トレースでも静的な実行トレー
スでも実現できる。連続実行命令トレース手段310
は、第6図にそのアルゴリズムを示した通り、実行オブ
ジェクトファイル200を実行順に初めから順にサーチ
し、連続する命令のopフィールドの両者に‘10’か
‘11’が現れたときに、その連続命令の組みを示す添
字を持つ配列要素に1を加えていき、これを実行オブシ
ェクトファイル200の最後まで行うというプログラム
を組むことで実現できる。この連続実行命令トレース手
段310により得られた出現頻度測定データ315を第
5図に示す。ここで、smul命令とadd命令の組み
は第4図(a)における(3)→(4)と(10)→
(3)の二つの場合があり、出現回数としては両者の和
を取っている。即ち、順序でなく組合せを出現回数とし
てカウントする。
【0028】なお、連続実行命令トレース手段310は
上述の通り、プログラムの形態をとっているが、実行ト
レースの部分については、エミュレータや専用ハード、
汎用プロセッサへのハード追加などにより構成すること
も可能である。
【0029】命令ビットパターン再定義手段320は、
出現頻度測定データ315を入力とし、命令ビットパタ
ーン割当表500を出力とするプログラムとして構成で
きる。上記の例においては、命令ビットパターン再定義
手段320は、例えば第7図のビットパターン割当を含
む命令ビットパターン割当表500を作成する。op3
フィールドを持つ命令のうち、第7図にない命令につい
ては、この実行プログラムを走らせる環境においては、
必要ないものなので、そのop3フィールドのビットパ
ターンの変更は要しない。
【0030】本実施例では、命令ビットパターン再定義
手段320は、評価関数、
【数2】 を最小にするようなビットパターンをプログラム実行で
使用されているop3フィールドをもつ各命令に割り当
てる。このような、明確な評価関数を持つ最適化問題を
解くアルゴリズムは一般に幾つも知られており、本項で
詳細に説明するのは割愛する。
【0031】第7図は上述の命令ビットパターン再定義
手段320にて再定義された命令ビットパターンの割当
表500の内容を示す。この命令ビットパターン割当表
500では、使用されている命令のうち、add命令と
組になっている命令が7つある一方、op3フィールド
は6ビットしかないため、最も出現回数の少ない命令、
sub或いはsdivに、add命令から2ビット変化
したビットパターンを割り付けている。sub或いはs
divのどちらを2ビット変化とするかは、上記評価関
数の値を変えないので、どちらでもよく、連続実行命令
トレース手段310や命令ビットパターン再定義手段3
20の具体的な実装に依存する問題である。また、同様
に、add−xor,xor−and,and−add
の3者についても、どの二つの組みを1ビット変化のみ
にするかも、命令ビットパターン再定義手段320の具
体的な実装に依存する問題である。
【0032】実行モジュール生成手段400は、命令ビ
ットパターン割当表500に従って、実行オブジェクト
ファイル600の各命令のop3フィールドを変換する
フィルタープログラムで実現できる。
【0033】実行オブジェクト供給手段700は、プロ
セッサ800に付属するメモリへ実行オブジェクトファ
イル200をロードし、プロセッサ800の命令デコー
ド部810へ供給する装置やプログラムを指すものだ
が、これは、従来の装置をそのまま使ってもよい。例え
ば、ROMで供給される場合や、プロセッサ800を含
む計算機システムに搭載されているオペレーティングシ
ステム内のローダープログラムによりメモリへ配置され
る場合などがある。どちらの場合も、メモリ装置等の外
部記憶装置内から、命令がフェッチされ命令デコード部
810に与えられる。
【0034】命令デコード部810自体は、再構成可能
な素子、例えばSRAMやEPROM、PLD,FPG
A、ゲートアレイなどで構成する。ただし、ゲートアレ
イは、初期の全く論理が組まれてない状態から一度のみ
再構成可能な素子である。命令のビットパターン再定義
の必要な命令のフィールド以外は固定にしてしまう、例
えばハードワイヤードの形にしてしまうことも可能であ
る。
【0035】一方、本実施例ではプロセッサ800内の
命令デコード部再構成手段820は、命令ビットパター
ン割当表500に則って、プロセッサ800を動作させ
られるように、命令ビットパターン割当表500を命令
デコード部810へマッピングする。例えば、本実施例
では命令デコード部810は、第8図のように、命令の
ビットパターン32ビットをアドレスとしたSRAMで
構成してもよい。また、命令デコード部再構成手段82
0は、本実施例では、出力する制御信号に当たるデータ
をSRAMへロードするためのローダーである。命令デ
コード部810の動作については、opフィールドの命
令のビットパターンの31,30ビット目が‘10’ま
たは‘11’の場合に、命令のビットパターン再定義を
行った6ビット、即ち、命令のビットパターンの24か
ら19ビット目のビットパターンに応じて、第7図に対
応する命令を実行するための制御信号を命令実行部83
0に送るように命令デコード部810のSRAMに予め
書き込んでおけばよい。なお、この書き込みは命令デコ
ード部再構成手段820が行う。他の場合については、
上記文献の通りの命令を実行するための制御信号を命令
実行部に送るよう、命令デコード部810のSRAM
に、命令デコード部再構成手段820が予め書き込んで
おく。また、命令デコード部810をEPROMで構成
した場合、命令デコード部再構成手段820はEPRO
Mライターなどで実現できる。
【0036】このようにして、プロセッサ800は、実
行させるプログラムに応じて、高速化などのためにスケ
ジューリングされた命令の順序は変更せずに、命令列中
の各命令のビットパターンの変換と、プロセッサ内の命
令デコード部再構成により、命令バス上のビット変化に
よる消費電力を抑えて低コストで実行することができる
ようになる。
【0037】第二実施例 次に、本発明の第2の実施例について第2図を参照しな
がら説明する。第2図の実施例では、連続実行命令トレ
ース手段310は、入力として、実行オブジェクトファ
イル形式のファイルを使わずに、アセンブラソースファ
イル000をそのまま使う。この実施例では、連続実行
命令トレース手段310にて命令列の実行トレースにビ
ットデータを使わずにアセンブラソースファイルの各ア
センブラ命令を独自に解釈してトレースを行う。
【0038】また、本実施例では、アセンブラ100を
実行モジュール生成手段400と兼ねて、アセンブラ1
01とする。即ち、通常の構成のアセンブラ100で参
照する命令ビットパターン割当表を可変にするだけで、
アセンブラ100を実行モジュール生成手段400と兼
ねることが可能となる。
【0039】第三実施例 次に、本発明の第3の実施例について第3図を参照しな
がら説明する。第3図の実施例では、第2図で説明した
実行モジュール生成手段400を兼ねたアセンブラ10
1を使用する一方、連続実行命令トレース手段310の
入力には、実行オブジェクトファイル形式のファイルを
使用している。
【0040】以上の実施例では3つの構成例について述
べると共に、命令セット及びこれらの命令を実行するプ
ロセッサについては上記文献で定義された命令セット及
びプロセッサについて例示して説明し、また、その低消
費電力化のために対象としたビットパターンも上記文献
にあるop3フィールドについて例示して説明した。し
かしながら、本発明は、当該命令セットのビットパター
ンの他の部分や他の命令セット、また、プロセッサの構
成、例えば、スーパースカラ、スーパーパイプライン、
VLIWマシンの用に幾つかの命令を同時に或いは部分
的に重複して実行できるような並列処理を取り入れたマ
シンにおいても有効である。
【0041】前記のような並列性を取り入れたマシンに
おいては、複数の命令バスを持つ場合があり、結果、命
令コードとして連続していてもその連続した命令が同一
の命令バス上にフェッチされるとは限らない場合があ
る。この場合、同一命令バス上に連続してフェッチされ
る2命令の組を請求項にある命令の組としてとらえ、そ
の出現頻度を実行トレースすればよい。また、本実施例
では、命令の組として、連続する2命令に限定したが、
連続する3命令や、4命令、5命令など他の複数の連続
する命令数の場合でも、それぞれ全く同様の効果を得る
ことができる。なぜなら、作用の項で示した評価関数の
他の複数の連続する命令の場合をつくった場合でも、当
該評価関数はそれぞれ、2命令の場合の評価関数の整数
倍で表すことができるので、結果的に全く同じ結果を得
ることができるためである。
【0042】
【発明の効果】本発明によれば、ハードウエア及びソフ
トウエアの両面から低消費電力化を図ったため、高速化
のための命令スケジューリングを行った命令コード列の
変更を行うことなく、命令バス上の実行するアプリケー
ションプログラムに応じた低消費電力化がで可能とな
る。また、命令デコード部のみを変更可能にしておくこ
とにより、ハードウエア上の変更点は、その命令デコー
ド部のみにすることができ、コストも抑えることができ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る情報処理装置のブ
ロック図である。
【図2】本発明の第2の実施例に係る情報処理装置のブ
ロック図である。
【図3】本発明の第3の実施例に係る情報処理装置のブ
ロック図である。
【図4】(a)はアセンブラソースプログラムの例であ
り、(b)はこの(a)をアセンブルしたビット列の各
命令フィールドを示した図表である。
【図5】図4(a)のアセンブラソースプログラムの命
令の組み合せの出現回数を示した図である。
【図6】連続実行命令トレース手段の処理のフローチャ
ートの一例を示した図である。
【図7】各命令のビットパターンを変更した例を示した
図表である。
【図8】命令デコード部の一例であるSRAMを示した
図である。
【図9】従来の最適化手法のフローチャートである。
【符号の説明】
000 アセンブラソースファイル 100 アセンブラ 101 アセンブラ(実行モジュール生成手段) 110 命令ビットパターン割当表(初期テーブル) 200 実行オブジェクトファイル 310 連続実行命令トレース手段 315 出現頻度測定データ 320 命令ビットパターン再定義手段 400 実行モジュール生成手段 500 命令ビットパターン割当表 600 実行オブジェクトファイル 700 実行オブジェクト供給手段 800 プロセッサ 810 命令デコード部 820 命令デコード部構成手段 830 命令実行部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 入力されるビットパターンにより、この
    ビットパターンに対応する制御信号を出力する命令デコ
    ード部と、前記信号出力により命令を実行する命令実行
    部とを有するプロセッサを具備する情報処理装置であっ
    て、 前記命令デコード部は、前記プロセッサが連続して実行
    する連続実行命令の組合せの頻度により前記ビットパタ
    ーンと前記制御信号との対応関係の変更が可能なことを
    特徴とする情報処理装置。
  2. 【請求項2】 入力されるビットパターンと前記ビット
    パターンに対応する制御信号出力の対応関係を再構成可
    能な命令デコード部と、前記信号出力により命令を実行
    する命令実行部とを有するプロセッサを具備する情報処
    理装置であって、 前記プロセッサで実行する命令コード列を入力し、前記
    命令コード列の中で連続実行される複数の命令コードで
    構成される連続実行命令の組について、この連続実行命
    令の組の出現頻度を測定し、この結果を出力する連続実
    行命令トレース手段と、 前記連続実行命令トレース手段の測定結果を入力し、前
    記出現頻度の大きな命令の組ほど前記命令コードのビッ
    トパターン中の変化ビットの数が少なくなるように前記
    命令コード列中で使用されている命令コードのビットパ
    ターンを再定義する命令ビットパターン再定義手段と、 前記プロセッサでの実行モジュールを、前記命令コード
    列中の各命令コードのビットパターンに関し前記命令ビ
    ットパターン再定義手段の結果に対応させて生成する実
    行モジュール生成手段と、 前記命令ビットパターン再定義手段の結果に対応するよ
    うに前記命令デコード部を再構成する命令デコード再構
    成手段と、 を有することを特徴とした情報処理装置。
  3. 【請求項3】 前記連続実行命令は、2つの連続する実
    行命令であることを特徴とする請求項1または2に記載
    の情報処理装置。
  4. 【請求項4】 前記連続実行命令トレース手段は、前記
    プロセッサで実行する命令コード列を入力とし、前記命
    令コード列の中で連続実行される複数の命令コードで構
    成される命令の組について、前記命令の組の各々の出現
    頻度を前記命令コード列の開始から前記命令コード列の
    終了まで測定した結果を出力することを特徴とする請求
    項2に記載の情報処理装置。
  5. 【請求項5】 命令ビットパターン再定義手段は、前記
    出現頻度の大きな命令の組ほど、前記命令の組を構成す
    る複数の命令コードの間のビットパターン中の変化ビッ
    ト若しくは前記命令の組を構成する複数の命令コードの
    一部の間のビットパターン中の変化ビットの数が少なく
    なるように前記命令コード列中で使用されている命令コ
    ードの一部のビットパターンの各々を再定義することを
    特徴とする請求項2に記載の情報処理装置。
  6. 【請求項6】 前記命令デコード部は、ゲートアレイで
    構成されていることを特徴とする請求項2に記載の情報
    処理装置。
JP23768094A 1994-09-30 1994-09-30 情報処理装置 Expired - Fee Related JP3335782B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23768094A JP3335782B2 (ja) 1994-09-30 1994-09-30 情報処理装置
US08/536,180 US5790874A (en) 1994-09-30 1995-09-29 Information processing apparatus for reducing power consumption by minimizing hamming distance between consecutive instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23768094A JP3335782B2 (ja) 1994-09-30 1994-09-30 情報処理装置

Publications (2)

Publication Number Publication Date
JPH08101773A true JPH08101773A (ja) 1996-04-16
JP3335782B2 JP3335782B2 (ja) 2002-10-21

Family

ID=17018920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23768094A Expired - Fee Related JP3335782B2 (ja) 1994-09-30 1994-09-30 情報処理装置

Country Status (1)

Country Link
JP (1) JP3335782B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014918A1 (fr) * 2001-08-02 2003-02-20 Matsushita Electric Industrial Co., Ltd. Appareil et procede de traitement d'informations
US6725450B1 (en) 1999-06-21 2004-04-20 Matsushita Electric Industrial Co., Ltd. Program conversion apparatus, processor, and record medium
US7076775B2 (en) * 2001-07-28 2006-07-11 At&T Laboratories Cambridge Ltd. Power efficiency in microprocessor systems
JP2006286027A (ja) * 2006-07-28 2006-10-19 Matsushita Electric Ind Co Ltd コンパイラ装置およびコンパイル方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6725450B1 (en) 1999-06-21 2004-04-20 Matsushita Electric Industrial Co., Ltd. Program conversion apparatus, processor, and record medium
US7076775B2 (en) * 2001-07-28 2006-07-11 At&T Laboratories Cambridge Ltd. Power efficiency in microprocessor systems
WO2003014918A1 (fr) * 2001-08-02 2003-02-20 Matsushita Electric Industrial Co., Ltd. Appareil et procede de traitement d'informations
US7058792B2 (en) 2001-08-02 2006-06-06 Matsushita Electric Industrial Co., Ltd. Information processing apparatus and information processing method
US7287149B2 (en) 2001-08-02 2007-10-23 Matsushita Electric Industrial Co., Ltd. Inserting decoder reconfiguration instruction for routine with limited number of instruction types recoded for reduced bit changes
JP2006286027A (ja) * 2006-07-28 2006-10-19 Matsushita Electric Ind Co Ltd コンパイラ装置およびコンパイル方法
JP4721975B2 (ja) * 2006-07-28 2011-07-13 パナソニック株式会社 コンパイラ装置およびコンパイル方法

Also Published As

Publication number Publication date
JP3335782B2 (ja) 2002-10-21

Similar Documents

Publication Publication Date Title
US5790874A (en) Information processing apparatus for reducing power consumption by minimizing hamming distance between consecutive instruction
US8166450B2 (en) Methods and apparatus for compiling instructions for a data processor
Lee et al. Compiler optimization on VLIW instruction scheduling for low power
Muchnick Advanced compiler design implementation
Bhattacharyya et al. Software synthesis from dataflow graphs
US20040073822A1 (en) Data processing system and method
JPH05143332A (ja) 命令スケジユーラを備えたコンピユータ・システム及び入力命令シーケンスを再スケジユールする方法
US12079630B2 (en) Array processor having an instruction sequencer including a program state controller and loop controllers
US20220414051A1 (en) Apparatus for Array Processor with Program Packets and Associated Methods
US20220413850A1 (en) Apparatus for Processor with Macro-Instruction and Associated Methods
JP2002323982A (ja) 命令処理方法
Hyde The art of assembly language
Cattaneo et al. TAFFO: The compiler-based precision tuner
US20220414050A1 (en) Apparatus for Memory Configuration for Array Processor and Associated Methods
JPH08101773A (ja) 情報処理装置
US20030212914A1 (en) Power efficiency in microprocessor systems
CN116088864A (zh) 汇编方法、反汇编方法、设备及存储介质
Sarma New trends and challenges in source code optimization
Souza et al. DIM-VEX: Exploiting design time configurability and runtime reconfigurability
US8954714B2 (en) Processor with cycle offsets and delay lines to allow scheduling of instructions through time
Leupers Novel code optimization techniques for DSPs
Liao et al. Code generation and optimization techniques for embedded digital signal processors
JP2006004123A (ja) 最適化装置、最適化方法及びプログラム
Brogioli Software and Compiler Optimization for Microcontrollers, Embedded Processors, and DSPs
Berrendorf et al. Program optimization strategies to improve the performance of SpMV-operations

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070802

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110802

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110802

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120802

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees