JP2000207209A - 演算装置、情報処理装置および情報処理方法、並びに提供媒体 - Google Patents

演算装置、情報処理装置および情報処理方法、並びに提供媒体

Info

Publication number
JP2000207209A
JP2000207209A JP11007463A JP746399A JP2000207209A JP 2000207209 A JP2000207209 A JP 2000207209A JP 11007463 A JP11007463 A JP 11007463A JP 746399 A JP746399 A JP 746399A JP 2000207209 A JP2000207209 A JP 2000207209A
Authority
JP
Japan
Prior art keywords
command
program
commands
continuous
clock
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
JP11007463A
Other languages
English (en)
Inventor
Osamu Yagi
修 八木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP11007463A priority Critical patent/JP2000207209A/ja
Publication of JP2000207209A publication Critical patent/JP2000207209A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 複数のALUを有する演算装置における消費
電力の低減を図る。 【解決手段】 複数としての2つのALU131および
132を有する演算装置に実行させるプログラム(図4
(A))から、処理を行わないことを指示するコマンド
NOP(No Operation)が検出され、そのNOPが連続
するように、プログラムにおけるコマンドどうしが入れ
替えられる(図4(B))。そして、連続するNOPの
先頭または最後が、演算装置の動作を一時停止させるコ
マンドsuspd、または動作を再開させるコマンドresume
に、それぞれ変換される(図4(C))。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、演算装置、情報処
理装置および情報処理方法、並びに提供媒体に関し、特
に、複数のALU(Arithmetic Logic Unit)を有する
プロセッサにおける消費電力を低減することができるよ
うにする演算装置、情報処理装置および情報処理方法、
並びに提供媒体に関する。
【0002】
【従来の技術】複数のALUを有し、その複数のALU
で並列処理を行うことにより、高速な処理を行うプロセ
ッサとしては、例えば、VLIW(Very Long Instruct
ion Word)型プロセッサが知られている。
【0003】図5は、そのようなVLIW型プロセッサ
を用いて処理を行う、従来のVLIWプロセッサシステ
ム(システムとは、複数の装置が論理的に集合した物を
いい、各構成の装置が同一筐体中にあるか否かは問わな
い)の一例の構成を示している。
【0004】このVLIWプロセッサシステムは、VL
IW型プロセッサ1、メインメモリ2、およびクロック
デバイダ3から構成されており、VLIW型プロセッサ
1とメインメモリ2とはバスを介して接続されている。
【0005】VLIW型プロセッサ1は、インストラク
ションフェッチ部11、インストラクションデコーダ1
2、2つのALU131および132、並びにレジスタ群
14から構成されている。
【0006】インストラクションフェッチ部11は、バ
スを介して、メインメモリ2に記憶されたプログラムの
コマンド(インストラクション)をフェッチし、インス
トラクションデコーダ12に供給するようになされてい
る。インストラクションデコーダ12は、インストラク
ションフェッチ部12からのコマンドをデコードし、A
LU131または132に供給するようになされている。
ALU131および132は、インストラクションデコー
ダ12からのコマンドのデコード結果にしたがい、必要
に応じて、レジスタ群14やメインメモリ2に対してデ
ータの読み書きをしながら、各種の処理を行うようにな
されている。レジスタ群14は、複数のレジスタで構成
され、ALU131や132、メインメモリ2から供給さ
れるデータを一時記憶するようになされている。
【0007】メインメモリ2は、ALU131および1
2に各種の処理を行わせるためのプログラムや、AL
U131および132が処理に用いるデータ、さらには、
ALU131および132が処理を行うことにより得られ
るデータを記憶するようになされている。
【0008】クロックデバイダ3には、マスタクロック
が供給されるようになされており、クロックデバイダ3
は、そのマスタクロックを必要に応じて分周し、その結
果得られるクロックを、VLIW型プロセッサ1に供給
するようになされている。そして、VLIW型プロセッ
サ1は、このクロックデバイダ3から供給されるクロッ
クに同期して動作するようになされている。
【0009】
【発明が解決しようとする課題】ところで、インストラ
クションデコーダ12がデコードするコマンドの中に
は、一般に、slow_down, sleep, suspendなどといっ
た、VLIW型プロセッサ1における消費電力を抑制す
るコマンド(以下、適宜、これらのコマンドを総称し
て、パワーセーブコマンドという)が用意されている。
インストラクションデコーダ12において、このパワー
セーブコマンドがデコードされると、そのデコード結果
は、クロックデバイダ3に供給される、クロックデバイ
ダ3は、パワーセーブコマンドを受信すると、VLIW
型プロセッサ1に対するクロックの供給を停止し、ある
いは、マスタクロックを分周する分周比を大きくする
(VLIW型プロセッサ1に供給するクロックの周波数
を低下させる)。これにより、VLIW型プロセッサ1
の動作を停止させ、あるいは、動作速度を低下させ、不
必要な電力が消費されるのを防止する(パワーセーブが
行われる)ようになされている。
【0010】しかしながら、従来のVLIWプロセッサ
システムにおいては、1のクロックデバイダ3しかない
ため、2つあるALU131または132のうちのいずれ
か一方についてだけ、パワーセーブを行うことが困難で
あった。また、従来のVLIW型プロセッサ1において
は、ALU131または132と、それぞれが実行するコ
マンドとのバインディング(binding)は静的に行うこ
とができるが、コンパイラに用いられているスケジュー
リングモデルが、一般に、並列動作優先のものであるた
め、仮に、ALU131または132のうちのいずれか一
方についてだけパワーセーブを行うことができても、継
続的にパワーセーブを行うことは困難である。
【0011】なお、複数のALUで並列処理を行うプロ
セッサとしては、その他、例えば、スーパースケーラ型
プロセッサがあるが、スーパースケーラ型プロセッサで
は、どのALUがどのコマンドを実行するかは動的に決
定されるため、各ALUについて、パワーセーブを継続
的に行わせるのは困難である。
【0012】本発明は、このような状況に鑑みてなされ
たものであり、複数のALUを有するプロセッサにおけ
る各ALUについて、継続的なパワーセーブを行うこと
ができるようにすることにより、プロセッサ全体の消費
電力を低減することができるようにするものである。
【0013】
【課題を解決するための手段】本発明の演算装置は、プ
ログラムをデコードするデコード手段と、プログラムの
デコード結果にしたがって、各種の演算を行う複数の演
算手段と、プログラムのデコード結果にしたがって、複
数の演算手段が動作するためのクロックを、複数の演算
手段にそれぞれ供給する複数のクロック供給手段とを備
えることを特徴とする。
【0014】本発明の情報処理装置は、プログラムか
ら、処理を行わないことを指示するノンオペレーション
コマンドを検出する検出手段と、ノンオペレーションコ
マンドが連続するように、プログラムにおけるコマンド
どうしを入れ替える入れ替え手段と、連続するノンオペ
レーションコードの先頭または最後を、演算装置の動作
を一時停止させるコマンド、または動作を再開させるコ
マンドに、それぞれ変換する変換手段とを備えることを
特徴とする。
【0015】本発明の情報処理方法は、プログラムか
ら、処理を行わないことを指示するノンオペレーション
コマンドを検出し、ノンオペレーションコマンドが連続
するように、プログラムにおけるコマンドどうしを入れ
替え、連続するノンオペレーションコードの先頭または
最後を、演算装置の動作を一時停止させるコマンド、ま
たは動作を再開させるコマンドに、それぞれ変換するこ
とを特徴とする。
【0016】本発明の提供媒体は、プログラムから、処
理を行わないことを指示するノンオペレーションコマン
ドを検出し、ノンオペレーションコマンドが連続するよ
うに、プログラムにおけるコマンドどうしを入れ替え、
連続するノンオペレーションコードの先頭または最後
を、演算装置の動作を一時停止させるコマンド、または
動作を再開させるコマンドに、それぞれ変換する処理を
行わせるための制御情報を提供することを特徴とする。
【0017】本発明の演算装置においては、デコード手
段は、プログラムをデコードし、複数の演算手段は、プ
ログラムのデコード結果にしたがって、各種の演算を行
うようになされている。複数のクロック供給手段は、プ
ログラムのデコード結果にしたがって、複数の演算手段
が動作するためのクロックを、複数の演算手段にそれぞ
れ供給するようになされている。
【0018】本発明の情報処理装置においては、検出手
段は、プログラムから、処理を行わないことを指示する
ノンオペレーションコマンドを検出し、入れ替え手段
は、ノンオペレーションコマンドが連続するように、プ
ログラムにおけるコマンドどうしを入れ替えるようにな
されている。変換手段は、連続するノンオペレーション
コードの先頭または最後を、演算装置の動作を一時停止
させるコマンド、または動作を再開させるコマンドに、
それぞれ変換するようになされている。
【0019】本発明の情報処理方法においては、プログ
ラムから、処理を行わないことを指示するノンオペレー
ションコマンドを検出し、ノンオペレーションコマンド
が連続するように、プログラムにおけるコマンドどうし
を入れ替え、連続するノンオペレーションコードの先頭
または最後を、演算装置の動作を一時停止させるコマン
ド、または動作を再開させるコマンドに、それぞれ変換
するようになされている。
【0020】本発明の提供媒体においては、プログラム
から、処理を行わないことを指示するノンオペレーショ
ンコマンドを検出し、ノンオペレーションコマンドが連
続するように、プログラムにおけるコマンドどうしを入
れ替え、連続するノンオペレーションコードの先頭また
は最後を、演算装置の動作を一時停止させるコマンド、
または動作を再開させるコマンドに、それぞれ変換する
処理を行わせるための制御情報を提供するようになされ
ている。
【0021】
【発明の実施の形態】以下に、本発明の実施の形態を説
明するが、その前に、特許請求の範囲に記載の発明の各
手段と以下の実施の形態との対応関係を明らかにするた
めに、各手段の後の括弧内に、対応する実施の形態(但
し、一例)を付加して、本発明の特徴を記述すると、次
のようになる。
【0022】即ち、請求項1に記載の演算装置は、プロ
グラムにしたがって、各種の演算を行う演算装置であっ
て、プログラムをデコードするデコード手段(例えば、
図1に示すインストラクションデコーダ12など)と、
プログラムのデコード結果にしたがって、各種の演算を
行う複数の演算手段(例えば、図1に示すALU131
および132など)と、プログラムのデコード結果にし
たがって、複数の演算手段が動作するためのクロック
を、複数の演算手段にそれぞれ供給する複数のクロック
供給手段(例えば、図1に示すクロックデバイダ31
よび32など)とを備えることを特徴とする。
【0023】請求項3に記載の情報処理装置は、プログ
ラムのソースコードを、オブジェクトコードに変換する
処理を行う情報処理装置であって、プログラムから、処
理を行わないことを指示するノンオペレーションコマン
ドを検出する検出手段(例えば、図3に示すプログラム
の処理ステップS3など)と、ノンオペレーションコマ
ンドが連続するように、プログラムにおけるコマンドど
うしを入れ替える入れ替え手段(例えば、図3に示すプ
ログラムの処理ステップS5など)と、連続するノンオ
ペレーションコードの先頭または最後を、演算装置の動
作を一時停止させるコマンド、または動作を再開させる
コマンドに、それぞれ変換する変換手段(例えば、図3
に示すプログラムの処理ステップS6など)とを備える
ことを特徴とする。
【0024】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
【0025】図1は、本発明を適用したVLIW型プロ
セッサシステムの一実施の形態の構成例を示している。
なお、図中、図5における場合と対応する部分について
は、同一の符号を付してあり、以下では、その説明は、
適宜省略する。即ち、図1のVLIW型プロセッサシス
テムは、VLIW型プロセッサ1(演算装置)が有する
ALU131および132の数と同一の数のクロックデバ
イダ31および32が新たに設けられている他は、図5に
おける場合と基本的に同様に構成されている。
【0026】クロックデバイダ31および32には、クロ
ックデバイダ3と同様にマスタクロックが供給されるよ
うになされており、クロックデバイダ31または32は、
そのマスタクロックを、必要に応じて分周して、ALU
131または132にそれぞれ供給するようになされてい
る。即ち、クロックデバイダ31または32は、インスト
ラクションデコーダ12におけるプログラムのデコード
結果にしたがい、ALU131または132が動作するた
めのクロックを、ALU131または132にそれぞれ供
給するようになされている。従って、図1の実施の形態
では、ALU131または132それぞれは、クロックデ
バイダ31または32から供給されるクロックにしたがっ
て動作するようになされている。
【0027】以上のように構成されるVLIWプロセッ
サシステムでは、インストラクションフェッチ部11に
おいて、メインメモリ2に記憶されたプログラムがフェ
ッチされ、インストラクションデコーダ12に供給され
る。インストラクションデコーダ12では、インストラ
クションフェッチ部11からのプログラム(コマンド)
がデコードされ、ALU131または132に供給され
る。ALU131または132それぞれでは、クロックデ
バイダ31または32からのクロックに同期し、インスト
ラクションデコーダ12からのコマンドのデコード結果
にしたがって、必要に応じて、レジスタ群14やメイン
メモリ2に対してデータの読み書きをしながら、各種の
処理(演算)が行われる。
【0028】一方、インストラクションデコーダ12の
デコード結果は、クロックデバイダ3,31,32にも供
給されるようになされており、クロックデバイダ3,3
1,32は、デコード結果として、パワーセーブコマンド
を受信すると、クロックの出力を一時停止し、またはマ
スタクロックを分周する分周比を大きくして(例えば、
マスタクロックを、2分周や4分周を指示するコマンド
のデコード結果を受信した場合には、そのような分周比
で分周を行って)、出力するクロックの周波数を低下さ
せる。
【0029】例えば、クロックデバイダ3がクロックの
出力を停止し、あるいは出力するクロックの周波数を低
下させた場合、VLIW型プロセッサ1の動作が、必要
最小限の動作を除いて停止され、あるいはその動作速度
が低下し、これにより、VLIW型プロセッサ1全体に
おける消費電力が低減される。
【0030】また、クロックデバイダ31がクロックの
出力を停止し、あるいは出力するクロックの周波数を低
下させた場合、そのクロックデバイダ31からクロック
が供給されているALU131の動作が、必要最小限の
動作を除いて停止され、あるいはその動作速度が低下
し、これにより、ALU131における消費電力が低減
される。同様に、クロックデバイダ32がクロックの出
力を停止し、あるいは出力するクロックの周波数を低下
させた場合、そのクロックデバイダ32からクロックが
供給されているALU132の動作が、必要最小限の動
作を除いて停止され、あるいはその動作速度が低下し、
これにより、ALU132における消費電力が低減され
る。
【0031】ここで、以上のように動作が停止、または
動作速度が低下している状態を、以下、適宜、パワーセ
ーブ状態という。
【0032】VLIW型プロセッサ1全体や、ALU1
1のみ、あるいはALU132のみが、上述のようにし
てパワーセーブ状態になっている場合において、そのパ
ワーセーブ状態を解除するコマンド(インストラクショ
ン)(以下、適宜、解除コマンドという)が、インスト
ラクションフェッチ部11でフェッチされ、インストラ
クションデコーダ12でデコードされると、そのデコー
ド結果は、クロックデバイダ3,31,32に供給され
る。クロックデバイダ3,31または32それぞれは、V
LIW型プロセッサ1全体、ALU131または132
パワーセーブ状態を解除することを指示する解除コマン
ドを受信すると、クロックを通常の状態で出力すること
を再開する。これにより、パワーセーブ状態となってい
たVLIW型プロセッサ1全体、ALU131または1
2は、通常の動作状態となる。
【0033】以上のように、VLIW型プロセッサ1が
有するALU131または132それぞれに対して、クロ
ックの供給を制御するクロックデバイダ31または32
設けられているので、ALU131または132のいずれ
か一方だけをパワーセーブ状態とすることが可能とな
る。その結果、細かなパワー制御が可能となり、VLI
W型プロセッサ1における消費電力を低減することが可
能となる。
【0034】なお、クロックデバイダ3,31,32それ
ぞれにおいて、その出力するクロックを変化させるタイ
ミング(パワーセーブ状態にするタイミングや、パワー
セーブ状態を解除するタイミング)は、マスタクロック
の、例えば、立ち上がりエッジなどに同期している必要
がある。
【0035】次に、図2は、図1のVLIWプロセッサ
システムが処理を行うためのプログラムのソースコード
を、オブジェクトコード(実行可能な形式)に変換(コ
ンパイル)するコンパイラシステムの一実施の形態の構
成例を示している。このコンパイラシステムは、コンピ
ュータ(情報処理装置)をベースに構成されている。
【0036】ROM(Read Only Memory)21は、コン
パイルシステムをブートするためのIPL(Initial Pr
ogram Loading)のプログラムなどを記憶している。C
PU(Central Processing Unit)22は、補助記憶装
置26に記憶されたOS(Operating System)のプログ
ラムを実行し、そのOSの制御の下、同じく補助記憶装
置26に記憶されたコンパイラのプログラムを実行する
ことで、プログラムをコンパイルするコンパイル処理を
行うようになされている。RAM(Random Access Memo
ry)23は、CPU22が実行するOSのプログラムや
コンパイラのプログラム、さらには、CPU22の処理
上必要なデータを一時記憶するようになされている。
【0037】入力装置24は、例えば、マウスやキーボ
ードなどで構成され、各種のコマンドやデータを入力す
るときなどに操作される。出力装置25は、例えば、デ
ィスプレイやプリンタ、スピーカなどでなり、CPU2
2の制御にしたがい、所定の情報を表示し、印刷した
り、あるいは音を出力するようになされている。補助記
憶装置26は、例えば、HD(Hard Disk)やCD−R
OM(Compact Disk ROM)などで構成され、上述したよ
うに、OSのプログラムやコンパイラのプログラムなど
を記憶している。また、補助記憶装置26は、CPU2
2がコンパイルの対象とするプログラムのソースコード
や、そのコンパイルの結果得られるオブジェクトコー
ド、その他のデータを記憶するようにもなされている。
【0038】通信I/F(Interface)27は、例え
ば、モデムやTA(Tarminal Adapte
r)などでなり、インターネット等のネットワークとの
間の通信制御を行うインターフェイスとして機能するよ
うになされている。
【0039】なお、以上の各ブロックは、バスを介して
相互に接続されている。
【0040】以上のように構成されるコンパイルシステ
ムでは、例えば、装置の電源が投入されると、CPU2
2は、ROM21に記憶されたIPLのプログラムにし
たがって、補助記憶装置26に記憶されたOSのプログ
ラムを、RAM23上に展開して実行する。さらに、C
PU22は、そのOSの制御の下、各種の処理を行う。
【0041】そして、例えば、入力装置24がコンパイ
ル処理を行うように操作されると、CPU22は、補助
記憶装置26に記憶されたコンパイラのプログラムをR
AM23上に展開して実行する。
【0042】即ち、例えば、いま、補助記憶装置26
に、図1のVLIWプロセッサシステムに実行させるプ
ログラムのソースコードが記憶されているとすると、C
PU22は、そのソースコードを読み出し、コンパイル
する。そして、CPU22は、そのコンパイルの結果得
られるオブジェクトコードを、補助記憶装置26に供給
して記憶させる。
【0043】このようにして得られたプログラムのオブ
ジェクトコードが、図1のメインメモリ2に記憶されて
いる。
【0044】次に、図3のフローチャートを参照して、
図2のCPU22が行うコンパイル処理について詳述す
る。
【0045】コンパイル処理では、まず最初に、ステッ
プS1において、コンパイル対象のプログラムのソース
コードについて、通常のコンパイル、スケジューリング
が行われ、ステップS2に進む。ステップS2では、
(ALU13および132の並列動作よりも)パワー
セーブを優先するスケジューリングであるパワーセーブ
スケジューリングを行うかどうかが判定される。なお、
パワーセーブスケジューリングを行う場合においては、
ここでは、例えば、プログラムのソースに、その旨の記
述(例えば、「power save directive #pragma power_s
ave」といった記述)をするものとし、従って、ステッ
プS2の判定処理は、そのような記述が、プログラムの
ソースにあるか否かによって行われる。
【0046】ステップS2において、パワーセーブスケ
ジューリングを行わないと判定された場合、ステップS
3乃至S6をスキップしてコンパイル処理を終了する。
従って、この場合には、通常のコンパイル結果が出力さ
れる。
【0047】また、ステップS2において、パワーセー
ブスケジューリングを行うと判定された場合、ステップ
S3に進み、ステップS1で得られた通常のコンパイル
結果から、処理を行わないことを指示するノンオペレー
ションコマンドであるNOP(No Operation)が検出さ
れる。
【0048】そして、ステップS4に進み、ステップS
3で検出されたNOPに基づいて、NOPがサイクル方
向に連続するように、通常のコンパイル結果におけるコ
マンド(インストラクション)どうしを入れ替えること
ができるかどうかが判定される。
【0049】即ち、本実施の形態では、図1に示した2
つのALU131および132を有するVLIW型プロセ
ッサ1の、そのALU131または132それぞれが実行
するプログラムをコンパイルの対象としており、その通
常のコンパイル結果としては、例えば、図4(A)に示
すように、ALU131または132それぞれが実行する
コマンドの並びが得られる。なお、図4において、縦方
向は、実行サイクルを表しており、上から下方向が、実
行時における時間の進行方向を表す。また、図4におい
ては、NOP、パワーセーブコマンドとしてのsusp
d、および解除コマンドとしてのresume以外のコ
マンドは、「Inst」に数字を付して示してある。
【0050】ステップS4では、ALU131または1
2それぞれが実行するコマンドを参照することで、A
LU131または132が実行するサイクルに、ステップ
S3で検出されたNOPが連続するように、コマンドど
うしを入れ替えられるかどうか(従って、入れ替えの対
象となるコマンドの一方は、NOPである)が判定され
る。なお、NOPは、ALU131または132のうちの
いずれか一方についてのみ連続している必要はなく、あ
る実行サイクルの区間においては、ALU131または
132のうちのいずれか一方が実行するコマンドとし
て、NOPが連続しており、他の実行サイクルの区間に
おいては、他方が実行するコマンドとして、NOPが連
続していても良い。また、NOPが連続するサイクル数
は、特に限定されるものではなく、さらに、NOPを連
続させる必要最小限のサイクル数は、例えば、コンパイ
ル処理のオブションなどとして設定するようにすること
ができる。
【0051】ステップS4において、ALU131また
は132が実行するサイクルに、NOPが連続するよう
に、コマンドどうしを入れ替えられることができないと
判定された場合、即ち、例えば、NOPを、あるサイク
ル数以上連続させるように、コマンドどうしを入れ替え
ると、その入れ替え後の全実行サイクル数が、通常のコ
ンパイル結果の全実行サイクル数に比較して、かなり大
きくなる場合、コマンドどうしの入れ替えを中止して、
コンパイル処理を終了する。従って、この場合も、通常
のコンパイル結果が出力される。なお、コマンドどうし
を入れ替え後の全実行サイクル数が、通常のコンパイル
結果の全実行サイクル数に比較して、どの程度大きくな
った場合に、上述のようにコマンドどうしの入れ替えを
中止するかは、例えば、コンパイル処理のオブションな
どとして設定するようにすることができる。
【0052】一方、ステップS4において、ALU13
1または132が実行するサイクルに、NOPが連続する
ように、コマンドどうしを入れ替えられると判定された
場合、ステップS5に進み、そのようにコマンドどうし
が入れ替えられる。即ち、NOPを連続させるように、
コマンドどうしを入れ替えても、その入れ替え後の全実
行サイクル数が、通常のコンパイル結果の全実行サイク
ル数に比較して、それほど大きくならない場合には、そ
のようにNOPが連続するように、コマンドどうしが入
れ替えられる。ここで、例えば、通常のコンパイル結果
が、図4(A)に示すようなものであった場合には、図
4(B)に示すように、ALU132が実行するコマン
ドとして、NOPが連続するように、コマンドの入れ替
えが行われる。なお、図4(B)においては、図4
(A)におけるALU131が第2サイクルcycle2で実
行するNOPと、ALU132が第2サイクルcycle2で実行
するInst2とが入れ替えられ、さらに、ALU131が第
5サイクルcycle5で実行するNOPと、ALU132が第4
サイクルcycle4で実行するInst5とが入れ替えられてお
り、これにより、ALU132の第1サイクルcycle1乃
至第6サイクルcycle6においてNOPが連続するように
なっている。
【0053】その後、ステップS6に進み、連続するN
OPの先頭または最後が、動作を一時停止することを指
示するコマンドsuspd、または動作を再開するコマ
ンドresumeに、それぞれ変換され、コンパイル処
理を終了する。即ち、例えば、図4(B)に示したよう
に、ALU132の第1サイクルcycle1乃至第6サイク
ルcycle6においてNOPが連続するように、コマンドの
入れ替えが行われた場合には、図4(C)に示すよう
に、その第1サイクルcycle1または第6サイクルcycle6
のNOPが、それぞれsuspdまたはresumeに
変換される。
【0054】図4(A)に示したコンパイル結果には、
パワーセーブコマンドが含まれていないから、これを、
図1のVLIW型プロセッサ1に実行させた場合には、
クロックデバイダ31および32は、いずれも、通常のク
ロックを出力した状態のままであり、ALU131およ
び132のいずれも動作を停止しない。これに対して、
図4(C)に示したコンパイル結果を実行させた場合に
は、クロックデバイダ31および32のうち、ALU13
2にクロックを供給するクロックデバイダ32において
は、第1サイクルcycle1のコマンド(パワーセーブコマ
ンド)suspdによって、クロックの供給を停止し、その
後、第6サイクルcycle6のresumeによって、クロックの
供給を再開する。その結果、ALU132は、第1サイ
クルcycle1乃至第6サイクルcycle6の間、動作を停止す
る(パワーセーブ状態となる)から、消費電力の浪費を
防止することができる。
【0055】以上のように、コンパイル処理において、
プログラムから、処理を行わないことを指示するノンオ
ペレーションコマンドを検出し、ノンオペレーションコ
マンドが連続するように、プログラムにおけるコマンド
どうしを入れ替え、連続するノンオペレーションコード
の先頭または最後を、ALUの動作を一時停止させるコ
マンド、または動作を再開させるコマンドに、それぞれ
変換することにより、継続的なパワーセーブを行うこと
ができるようになり、その結果、VLIW型プロセッサ
1全体の消費電力を低減することができる。
【0056】以上、本発明を、VLIW型プロセッサに
適用した場合について説明したが、本発明は、その他、
複数のALUを有し、コマンド(インストラクション)
のバインドが静的に行われるものに適用可能である。
【0057】なお、本実施の形態では、2つのALU1
1および132を有するVLIW型プロセッサ1を対象
としたが、本発明は、3以上のALUを有するプロセッ
サにも適用可能である。但し、この場合、クロックデバ
イダも、そのALUと同一の数だけ必要となる。
【0058】また、本実施の形態では、コンパイラのプ
ログラム(制御情報)を、補助記憶装置26に記憶させ
て提供するようにしたが、コンパイラのプログラムの提
供は、例えば、ネットワークを利用し、通信I/F27
で受信させることにより行うことも可能である。
【0059】さらに、コンパイル処理の結果得られたオ
ブジェクトコードは、例えば、通信I/F27を介し
て、遠隔地にある装置に提供することが可能である。
【0060】
【発明の効果】本発明の演算装置によれば、プログラム
のデコード結果にしたがって、各種の演算を行う複数の
演算手段に対して、その複数の演算手段が動作するため
のクロックを、それぞれ供給する複数のクロック供給手
段を有している。従って、複数の演算手段それぞれにつ
いて、その動作状態を制御することが可能となり、その
結果、消費電力を低減させることが可能となる。
【0061】本発明の情報処理装置および情報処理方
法、並びに提供媒体によれば、プログラムから、処理を
行わないことを指示するノンオペレーションコマンドが
検出され、そのノンオペレーションコマンドが連続する
ように、プログラムにおけるコマンドどうしが入れ替え
られる。そして、連続するノンオペレーションコードの
先頭または最後が、演算装置の動作を一時停止させるコ
マンド、または動作を再開させるコマンドに、それぞれ
変換される。従って、継続的に演算装置の動作を停止さ
せることが可能となり、その結果、演算装置における消
費電力を低減することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したVLIWプロセッサシステム
の一実施の形態の構成例を示すブロック図である。
【図2】本発明を適用したコンパイルシステムの一実施
の形態の構成例を示すブロック図である。
【図3】コンパイル処理を説明するためのフローチャー
トである。
【図4】コンパイル処理を説明するための図である。
【図5】従来のVLIWプロセッサシステムの一例の構
成を示すブロック図である。
【符号の説明】
1 VLIW型プロセッサ, 2 メインメモリ,
3,31,32 クロックデバイダ, 11 インストラ
クションフェッチ部, 12 インストラクションデコ
ーダ, 131,132 ALU, 14 レジスタ群,
21 ROM,22 CPU, 23 RAM, 2
4 入力装置, 25 出力装置, 26 補助記憶装
置, 27 通信I/F

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 プログラムにしたがって、各種の演算を
    行う演算装置であって、 前記プログラムをデコードするデコード手段と、 前記プログラムのデコード結果にしたがって、各種の演
    算を行う複数の演算手段と、 前記プログラムのデコード結果にしたがって、前記複数
    の演算手段が動作するためのクロックを、前記複数の演
    算手段にそれぞれ供給する複数のクロック供給手段とを
    備えることを特徴とする演算装置。
  2. 【請求項2】 前記デコード手段は、 コンパイラにおいて、プログラムから、処理を行わない
    ことを指示するノンオペレーションコマンドを検出し、
    前記ノンオペレーションコマンドが連続するように、前
    記プログラムにおけるコマンドどうしを入れ替え、連続
    するノンオペレーションコードの先頭または最後を、動
    作を一時停止することを指示するコマンド、または動作
    を再開するコマンドに、それぞれ変換することにより得
    られるプログラムのオブジェクトコードをデコードする
    ことを特徴とする請求項1に記載の演算装置。
  3. 【請求項3】 演算装置が実行するプログラムのソース
    コードを、オブジェクトコードに変換する処理を行う情
    報処理装置であって、 前記プログラムから、処理を行わないことを指示するノ
    ンオペレーションコマンドを検出する検出手段と、 前記ノンオペレーションコマンドが連続するように、前
    記プログラムにおけるコマンドどうしを入れ替える入れ
    替え手段と、 連続するノンオペレーションコードの先頭または最後
    を、前記演算装置の動作を一時停止させるコマンド、ま
    たは動作を再開させるコマンドに、それぞれ変換する変
    換手段とを備えることを特徴とする情報処理装置。
  4. 【請求項4】 演算装置が実行するプログラムのソース
    コードを、オブジェクトコードに変換する処理を行う情
    報処理方法であって、 前記プログラムから、処理を行わないことを指示するノ
    ンオペレーションコマンドを検出し、 前記ノンオペレーションコマンドが連続するように、前
    記プログラムにおけるコマンドどうしを入れ替え、 連続するノンオペレーションコードの先頭または最後
    を、前記演算装置の動作を一時停止させるコマンド、ま
    たは動作を再開させるコマンドに、それぞれ変換するこ
    とを特徴とする情報処理方法。
  5. 【請求項5】 演算装置が実行するプログラムのソース
    コードを、オブジェクトコードに変換する処理を、情報
    処理装置に行わせるための制御情報を提供する提供媒体
    であって、 前記プログラムから、処理を行わないことを指示するノ
    ンオペレーションコマンドを検出し、 前記ノンオペレーションコマンドが連続するように、前
    記プログラムにおけるコマンドどうしを入れ替え、 連続するノンオペレーションコードの先頭または最後
    を、前記演算装置の動作を一時停止させるコマンド、ま
    たは動作を再開させるコマンドに、それぞれ変換する処
    理を行わせるための制御情報を提供することを特徴とす
    る提供媒体。
JP11007463A 1999-01-14 1999-01-14 演算装置、情報処理装置および情報処理方法、並びに提供媒体 Withdrawn JP2000207209A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11007463A JP2000207209A (ja) 1999-01-14 1999-01-14 演算装置、情報処理装置および情報処理方法、並びに提供媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11007463A JP2000207209A (ja) 1999-01-14 1999-01-14 演算装置、情報処理装置および情報処理方法、並びに提供媒体

Publications (1)

Publication Number Publication Date
JP2000207209A true JP2000207209A (ja) 2000-07-28

Family

ID=11666520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11007463A Withdrawn JP2000207209A (ja) 1999-01-14 1999-01-14 演算装置、情報処理装置および情報処理方法、並びに提供媒体

Country Status (1)

Country Link
JP (1) JP2000207209A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099148A (ja) * 2001-09-19 2003-04-04 Sanyo Electric Co Ltd データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099148A (ja) * 2001-09-19 2003-04-04 Sanyo Electric Co Ltd データ処理装置とこれに利用可能なシステム制御装置およびデータ変換方法

Similar Documents

Publication Publication Date Title
US6845445B2 (en) Methods and apparatus for power control in a scalable array of processor elements
US7263624B2 (en) Methods and apparatus for power control in a scalable array of processor elements
US7836317B2 (en) Methods and apparatus for power control in a scalable array of processor elements
US20070022277A1 (en) Method and system for an enhanced microprocessor
JPH11316690A (ja) データプロセッサおよびコンピュータプログラム最適化方法
US8195975B2 (en) Semiconductor integrated circuit device and clock control method
US6535982B1 (en) Semiconductor integrated circuit employing power management device and power management method for the semiconductor integrated circuit
WO1997037307A1 (en) Method & apparatus for controlling power consumption in a microprocessor
JPH0922318A (ja) プロセッサ及びその制御方法
JP2000047872A (ja) 低消費電力動作機能を備えたマイクロプロセッサ
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
US20070106914A1 (en) Power management by adding special instructions during program translation
JP4800582B2 (ja) 演算処理装置
Sima Decisive aspects in the evolution of microprocessors
JP2003296123A (ja) 電力制御情報を付与する命令変換装置及び命令変換方法、命令変換を実現するプログラム及び回路、変換された命令を実行するマイクロプロセッサ
JP2002366351A (ja) スーパースカラ・プロセッサ
KR20140131199A (ko) 재구성 가능 프로세서 및 재구성 가능 프로세서의 동작 방법
JP2000207209A (ja) 演算装置、情報処理装置および情報処理方法、並びに提供媒体
JP2003208306A (ja) プロセシングアーキテクチャ、該アーキテクチャ実現システム及び該システムのオペレーション方法
JPH09274567A (ja) プログラムの実行制御方法及びそのためのプロセッサ
JP4194953B2 (ja) 多重命令発行プロセッサ
US6895494B1 (en) Sub-pipelined and pipelined execution in a VLIW
JPH117344A (ja) 省電力パソコン
JP3729142B2 (ja) 並列演算処理装置
JP2003196085A (ja) 情報処理装置

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