JP3335782B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3335782B2
JP3335782B2 JP23768094A JP23768094A JP3335782B2 JP 3335782 B2 JP3335782 B2 JP 3335782B2 JP 23768094 A JP23768094 A JP 23768094A JP 23768094 A JP23768094 A JP 23768094A JP 3335782 B2 JP3335782 B2 JP 3335782B2
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.)
Expired - Fee Related
Application number
JP23768094A
Other languages
English (en)
Other versions
JPH08101773A (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 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

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

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 命令実行部
フロントページの続き (56)参考文献 特開 平8−101773(JP,A) 特開 昭62−162143(JP,A) 特開 平4−373041(JP,A) 特開 昭62−180612(JP,A) 特開 昭63−167496(JP,A) 特開 昭63−150747(JP,A) 特開 平6−149563(JP,A) 特開 平6−44083(JP,A) 特開 平5−135187(JP,A) 特表 平7−503804(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 1/32 G06F 9/30 - 9/42 G06F 9/45

Claims (6)

    (57)【特許請求の範囲】
  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 JPH08101773A (ja) 1996-04-16
JP3335782B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005675A (ja) 1999-06-21 2001-01-12 Matsushita Electric Ind Co Ltd プログラム変換装置及びプロセッサ
GB2378269B (en) * 2001-07-28 2005-08-10 At & T Lab Cambridge Ltd Improved power efficiency in microprocessor systems
JP3578735B2 (ja) * 2001-08-02 2004-10-20 松下電器産業株式会社 情報処理装置及び情報処理方法
JP4721975B2 (ja) * 2006-07-28 2011-07-13 パナソニック株式会社 コンパイラ装置およびコンパイル方法

Also Published As

Publication number Publication date
JPH08101773A (ja) 1996-04-16

Similar Documents

Publication Publication Date Title
US5790874A (en) Information processing apparatus for reducing power consumption by minimizing hamming distance between consecutive instruction
JP3801545B2 (ja) コンパイラ用プログラム、コンパイラ装置及びコンパイル方法
US7386844B2 (en) Compiler apparatus and method of optimizing a source program by reducing a hamming distance between two instructions
Muchnick Advanced compiler design implementation
US8065669B2 (en) Apparatus for automatically converting numeric data to a processor efficient format for performing arithmetic operations
USRE41959E1 (en) Variable address length compiler and processor improved in address management
US8166450B2 (en) Methods and apparatus for compiling instructions for a data processor
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
WO2004053718A1 (en) Cellular engine for a data processing system
US5787287A (en) Representation of control flow and data dependence for machine
Hyde The art of assembly language
US5815721A (en) Method and apparatus for optimizing complex control structures using abstract web patterns
US20220414049A1 (en) Apparatus for Array Processor and Associated Methods
JP3335782B2 (ja) 情報処理装置
US20220414050A1 (en) Apparatus for Memory Configuration for Array Processor and Associated Methods
US20220413850A1 (en) Apparatus for Processor with Macro-Instruction and Associated Methods
US20220414051A1 (en) Apparatus for Array Processor with Program Packets and Associated Methods
US20040015682A1 (en) Application registers
JPH1021122A (ja) プロセッサモニタ装置
JPH11345127A (ja) コンパイラ
JP4721975B2 (ja) コンパイラ装置およびコンパイル方法
JP2006004123A (ja) 最適化装置、最適化方法及びプログラム
Bagley et al. Composing functional unit blocks for efficient interpretation of MIMD code sequences on SIMD processors
US20210042124A1 (en) Sharing instruction encoding space
Kim Advanced compiler optimization for CalmRISC8 low-end embedded processor

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