JP2001142696A - マイクロプロセッサにおける命令供給装置および命令供給方法 - Google Patents

マイクロプロセッサにおける命令供給装置および命令供給方法

Info

Publication number
JP2001142696A
JP2001142696A JP32346899A JP32346899A JP2001142696A JP 2001142696 A JP2001142696 A JP 2001142696A JP 32346899 A JP32346899 A JP 32346899A JP 32346899 A JP32346899 A JP 32346899A JP 2001142696 A JP2001142696 A JP 2001142696A
Authority
JP
Japan
Prior art keywords
instruction
storage device
compressed
microprocessor
compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32346899A
Other languages
English (en)
Inventor
Takenobu Tani
丈暢 谷
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP32346899A priority Critical patent/JP2001142696A/ja
Publication of JP2001142696A publication Critical patent/JP2001142696A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 記憶装置などへのクロックを始めとする電力
供給を効果的に停止することでマイクロプロセッサの消
費電力を削減する。 【解決手段】 マイクロプロセッサの処理対象であるプ
ログラムを構成する命令を保持する記憶装置103に、
複数ステップの命令を各命令に対応したインデックスを
用いて1つの命令に多重化した圧縮命令を保持させる。
前記圧縮命令の各々のインデックスともとの展開命令と
の関係を示す命令対応表111を用いて、記憶装置10
3からの圧縮命令に対し前記インデックスから展開命令
への伸長を行う。その圧縮命令の処理中は、記憶装置1
03への電力供給の停止制御を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はマイクロプロセッサ
における命令供給装置および命令供給方法に関し、特に
命令供給時の電力の削減を図ったマイクロプロセッサに
おける命令供給装置および命令供給方法に関する。
【0002】
【従来の技術】マイクロプロセッサとして、プログラム
を構成する1つ以上の命令を記憶装置から取得(フェッ
チ)し、これを1つあるいは複数の解読器(デコーダ)
で解読し、この解読した内容によって演算装置や入力装
置や出力装置や記憶装置や制御装置などの構成装置を制
御し順次処理を進めるようにしたものが知られている。
ここでマイクロプロセッサとは、ディジタル・シグナル
・プロセッサ(DSP)や、マイクロコンピュータや、
マイクロコントローラを含むものであることを意味す
る。
【0003】マイクロプロセッサは、プログラム(ソフ
トウェア)を用いてその構成装置(ハードウェア)を制
御できるため、目的に応じた機能を得るために毎回個別
に回路設計を行う必要が無く、製造段階あるいは製造後
のソフトウェア設計時に機能を決定することができる。
したがってマイクロプロセッサは、同一のハード設計に
よる回路に対しソフトを変更することで様々な用途に使
用可能となり、回路設計に要する時間や作業量を大幅に
削減でき、また大量生産によるコスト削減を実現できる
特徴を持つ。
【0004】マイクロプロセッサにおけるプログラムの
実行は、命令が必要となる度に、命令を保持する記憶装
置(主記憶装置やキャッシュメモリなど)から逐次的に
命令をフェッチし、これを解読することで実現される。
このような従来のマイクロプロセッサにおいて、記憶装
置から命令をフェッチし実行する動作例を、図面に基づ
いて以下に説明する。
【0005】図9は従来のマイクロプロセッサにおける
命令供給装置の一構成例であり、90は演算装置、91
は制御装置、103は命令を保持する記憶装置(主記憶
装置やキャッシュメモリ)、92はデータを保持する記
憶装置、93は入出力装置である。制御装置91は、プ
ログラムカウンタ101と、命令デコーダ105と、ク
ロック制御装置106とを備える。
【0006】制御装置91のプログラムカウンタ101
は、命令アドレスバス102を介して、命令を保持する
記憶装置103に接続している。記憶装置103は、命
令バス104を介して、命令デコーダ105に接続して
いる。命令デコーダ105は、制御信号線(図中には明
示しない)を介して、プログラムカウンタ101や、記
憶装置103や、マイクロプロセッサを構成するその他
の装置(演算装置90や入出力装置93や制御装置91
や記憶装置92)と接続している。
【0007】このような構成にもとづく動作を説明する
と、まず、マイクロプロセッサが次に実行すべき命令の
アドレスを、プログラムカウンタ101が、命令アドレ
スバス102を介して記憶装置103へ伝える。記憶装
置103は、命令アドレスバス102が指示するアドレ
スに応じた命令コードを命令バス104を介して命令デ
コーダ105へ転送する。命令デコーダ105は、受け
取った命令コードを解読し、その内容に応じた制御信号
を、上述の制御信号線を介して、マイクロプロセッサを
構成する各装置へ伝える。
【0008】以上の繰り返しにより、マイクロプロセッ
サが順次、命令を解読実行する。なお、クロック制御装
置106は、マイクロプロセッサを構成する各装置へ、
プロセッサの動作に必要な周期的な基準クロックを供給
する。図10は上記マイクロプロセッサにおける命令実
行動作の手順を示している。まず、プログラムカウンタ
101の値を設定する(ステップ801)。この設定
は、増減演算を行ったり、値のロードや保持を行ったり
することによって実行する。次に、プログラムカウンタ
101の示す命令アドレス値により、記憶装置103か
ら命令デコーダ105へ命令コードの転送を行う(ステ
ップ802)。命令デコーダ105は、受信した命令コ
ードを解読する(ステップ803)。そして命令デコー
ダ105は、ステップ803で解読した命令コードの内
容に従い、マイクロプロセッサを構成する各装置へ制御
信号を送信して各装置の制御を行う(ステップ80
4)。その後にステップ801へ戻る。
【0009】
【発明が解決しようとする課題】しかしながら上記のよ
うな従来のマイクロプロセッサにおける命令供給装置で
は、命令実行を続けるためにプログラムカウンタ101
や記憶装置103が常に動作し、ここでの電力消費が恒
常的であって避けることができない。したがって、図9
に示されるマイクロプロセッサを構成する演算装置90
や入出力装置93や制御装置91における消費電力を低
減する対策を施しても、命令用の記憶装置103での電
力消費のために、マイクロプロセッサ全体の電力消費を
大幅に削減することができない。
【0010】このような問題点を解決するためには、図
11に示すように、記憶装置103と命令デコーダ10
5との間を複数の命令バス104、104、…で接続す
ることで一度に複数の命令をフェッチし、フェッチした
二つめ以降の命令の処理中に、プログラムカウンタ10
1や記憶装置103への電力供給を停止する方式が考え
られる。しかし、この方式では、増加した命令バス10
4で消費される電力が図9に示される方式と総量で変わ
らない。さらに命令バス104の増加により、特に回路
ブロック間の配線領域が増大し、回路ブロックの配置位
置がずれるため、回路全体の面積の大幅な増加という問
題点も新たに発生する。
【0011】次に、上記とは別の問題点について説明す
る。すなわち、図9の構成において、通常の命令幅より
短い圧縮命令を利用することを考えることができる。例
えば通常の命令幅32ビットに対し16ビット等の圧縮
命令を追加して、この圧縮命令を解釈できる命令デコー
ダを設計する方式を考えることができる。ただし、この
方式では、マイクロプロセッサにおける全種類の命令の
中から、どの命令を圧縮するかを、命令デコーダの設計
時に決定する必要がある。
【0012】しかし、圧縮すべき命令はプログラムの用
途によって異なるため、個々のプログラムの用途に応じ
た命令デコーダの再設計が、毎回必要となる。これは、
一種類の回路で様々な用途に使用できるというマイクロ
プロセッサの使用目的に反するものであり、現実的では
ない。したがって、この方法では、様々な応用プログラ
ムにおいて命令供給装置の電力削減を行うことはできな
い。
【0013】本発明は、上記従来の問題点を解決するも
ので、様々な応用プログラムにおいて、記憶装置などへ
のクロックを始めとする電力供給を、より多くの場合に
より多くの時間停止させることで、マイクロプロセッサ
の消費電力を可能な限り削減できるようにすることを目
的とする。
【0014】
【課題を解決するための手段】この目的を達成するため
本発明は、圧縮命令の各インデックスに対応した展開命
令のみを保持するための、通常の命令を保持する記憶装
置に比べて遥かに小容量の命令対応表を具備する。この
小容量の命令対応表は小面積で製造できるため、ここで
消費される電力は記憶装置と比べて遥かに少なくなる。
【0015】そして記憶装置へは通常の命令コードと圧
縮した命令コードとを保持させ、圧縮命令を処理する間
は、記憶装置の代わりに命令対応表から命令コードを取
り出す。これにより、記憶装置への電力供給を停止で
き、このため消費電力の削減が行える。この場合に、圧
縮命令を登録しておく命令対応表は、命令コードの値を
保持すれば良いだけであるため、命令コードの追加のた
めの命令デコーダの再設計は不要である。
【0016】したがって、回路の再設計を必要とせず
に、様々な応用プログラムにて圧縮命令を使用すること
が可能となり、記憶装置を高い頻度で停止することがで
きる。このため、消費電力を効果的に削減することがで
きる。さらに、命令対応表が、プログラム実行時に命令
コードの値を書き換えるための書き込み機能を備えるこ
とで、1つのプログラム中の様々な個所ごとに、より使
用頻度の高い命令を圧縮命令として選択し、命令対応表
に登録できるようになる。これにより、より高い頻度で
記憶装置の代わりに命令対応表を使用できるため、消費
電力の削減をよりいっそう進めることができる。
【0017】以上により、記憶装置と命令デコーダとの
間の命令バス配線を大幅に増やすことなく、様々な応用
プログラムについて、従来に比べて消費電力を効果的に
削減することができる。
【0018】
【発明の実施の形態】請求項1記載の本発明は、マイク
ロプロセッサの処理対象であるプログラムを構成する命
令を保持する記憶装置を備え、この記憶装置は、複数ス
テップの命令を各命令に対応したインデックスを用いて
1つの命令に多重化した圧縮命令を保持可能とされ、さ
らに、前記圧縮命令の各々のインデックスともとの展開
命令との関係を示す命令対応表と、前記記憶装置から圧
縮命令を取得したときに前記命令対応表を用いてインデ
ックスから展開命令への伸長を行うとともに、その圧縮
命令の処理中は前記記憶装置への電力供給の停止制御を
行う手段とを備えたものである。
【0019】このようなものであると、記憶装置への電
力供給を停止できるため、消費電力の削減が行える。こ
の場合に、圧縮命令を登録しておく命令対応表は、命令
コードの値を保持すれば良いだけであるため、命令コー
ドの追加のための命令デコーダの再設計は不要である。
したがって、回路の再設計を必要とせずに、様々な応用
プログラムにて圧縮命令を使用することが可能となり、
記憶装置を高い頻度で停止することができ、このため消
費電力を効果的に削減することができる。
【0020】請求項2記載の本発明は、マイクロプロセ
ッサの処理対象であるプログラムを構成する命令を保持
する記憶装置を備え、この記憶装置は、複数ステップの
命令を各命令に対応したインデックスを用いて1つの命
令に多重化した圧縮命令を保持可能とされ、さらに、前
記記憶装置における次に実行すべき命令のアドレスを示
すプログラムカウンタと、前記圧縮命令の各々のインデ
ックスともとの展開命令との関係を示す命令対応表と、
前記記憶装置から取得した命令を解読する圧縮命令処理
モード解析部と、前記圧縮命令処理モード解析部による
解読の結果が圧縮命令を展開命令へ展開する圧縮命令処
理モードであった場合に、前記記憶装置から複数のイン
デックス・フィールドによる多重化された圧縮命令を取
得して、圧縮されたフィールドごとに逐次的に前記命令
対応表を用いてインデックスから展開命令へ命令の伸張
を行うとともに、その圧縮命令の処理中は前記記憶装置
とプログラムカウンタへの電力供給の停止制御を行う圧
縮命令処理モード制御部と、命令の処理モードが圧縮命
令処理モードか否かに応じて、前記命令対応表と記憶装
置とのいずれかから命令を選択的に取得してプロセッサ
を制御する命令デコーダとを備えたものである。
【0021】このようなものであると、記憶装置への電
力供給を停止できるため、消費電力の削減が行える。こ
の場合に、圧縮命令を登録しておく命令対応表は、命令
コードの値を保持すれば良いだけであるため、命令コー
ドの追加のための命令デコーダの再設計は不要である。
したがって、回路の再設計を必要とせずに、様々な応用
プログラムにて圧縮命令を使用することが可能となり、
記憶装置を高い頻度で停止することができ、このため消
費電力を効果的に削減することができる。
【0022】請求項3記載の本発明は、命令対応表が、
書き込み機能を備えることで、その内容をプログラム実
行時に書き換え可能とされているようにしたものであ
る。このようなものであると、より高い頻度で記憶装置
の代わりに命令対応表を使用できるため、消費電力の削
減をよりいっそう進めることができ、記憶装置と命令デ
コーダとの間の命令バス配線を大幅に増やすことなく、
様々な応用プログラムについて、従来に比べて消費電力
を効果的に削減することができる。
【0023】請求項4記載の本発明は、マイクロプロセ
ッサの処理対象であるプログラムを構成する命令を保持
する記憶装置に、複数ステップの命令を各命令に対応し
たインデックスを用いて1つの命令に多重化した圧縮命
令を保持させ、前記圧縮命令の各々のインデックスとも
との展開命令との関係を示す命令対応表を用いて、前記
記憶装置からの圧縮命令に対し前記インデックスから展
開命令への伸長を行うとともに、その圧縮命令の処理中
は、前記記憶装置への電力供給の停止制御を行うもので
ある。
【0024】このようにすると、記憶装置への電力供給
を停止できるため、消費電力の削減が行える。この場合
に、圧縮命令を登録しておく命令対応表は、命令コード
の値を保持すれば良いだけであるため、命令コードの追
加のための命令デコーダの再設計は不要である。したが
って、回路の再設計を必要とせずに、様々な応用プログ
ラムにて圧縮命令を使用することが可能となり、記憶装
置を高い頻度で停止することができ、このため消費電力
を効果的に削減することができる。
【0025】以下、本発明の実施の形態の命令供給装置
及び命令供給方法について、図面を参照しながら具体的
に説明する。図1は、本発明の実施の形態の命令供給装
置を有するマイクロプロセッサの構成図を示すものであ
る。この図1において、プログラムカウンタ101は、
命令アドレスバス102を介して、命令を保持する記憶
装置103に接続している。記憶装置103は、命令バ
ス104に命令データを出力する。
【0026】圧縮命令処理モード解析部107は、命令
バス104から命令コードの全ビットあるいは一部のビ
ットを受信し、受信命令を、通常ビット幅の命令コード
として処理するか、圧縮された命令コードとして処理す
るかを判定する。圧縮された命令コードとして処理する
手法は上記において簡単に説明したが、その詳細につい
ては後述する。そして圧縮命令処理モード解析部107
は、その判定結果を、処理モード判定信号108により
圧縮命令処理モード制御部109へ伝える。
【0027】圧縮命令処理モード制御部109は、現在
の処理モードが圧縮命令処理モードであれば、命令バス
104から受信した命令コードを複数のインデックス・
フィールドにより多重化された命令コードとして扱い、
インデックス・フィールドごとにインデックス値をイン
デックス信号線110により命令対応表111に逐次的
に送信する。また圧縮命令処理モード制御部109は、
クロック制御部106に対し、圧縮命令処理モード中に
プログラムカウンタ101及び記憶装置103への電力
供給を停止するための制御信号を伝える。
【0028】命令対応表111は、インデックス信号線
110から受け取ったインデックス値に対応する命令コ
ードを対応命令バス112に出力する。114は命令バ
ス・セレクタで、圧縮命令処理モード制御部109から
の命令処理モード信号113の値により、命令バス10
4あるいは対応命令バス112のいずれかの命令を選択
して、命令デコーダ105へ出力する。
【0029】図1の構成に対応した回路配置の構成例を
図2に示す。図示のように記憶装置103に比べて遙か
に小容量すなわち小面積で低電力消費となる命令対応表
111を用意し、この命令対応表111から命令コード
を取り出す間は上述のように記憶装置103への電力供
給を停止させることにより、マイクロプロセッサ全体の
消費電力を削減することができる。このとき、プログラ
ムにて実行する命令が命令対応表111に登録されてい
る割合が高ければ、記憶装置103の代わりに命令対応
表111を使用できる頻度が高くなるため、より高い頻
度で記憶装置103を停止させることができる。
【0030】また命令対応表111の圧縮命令は、命令
コードの値を保持すれば良いだけであるため、製造時あ
るいは製造後に設定することが可能である。このため、
応用プログラムごとに圧縮命令を変更でき、したがって
高い頻度で記憶装置103を停止させて消費電力の削減
を行うことができる。具体的には、例えば記憶装置10
3の容量を8192ワードとした場合、命令対応表11
1の容量を16ワードと記憶装置103に比べて遙かに
小容量の回路で構成することにより、圧縮命令処理モー
ドにおいては、電力消費量の多い記憶装置103を停止
して代わりに低消費電力の命令対応表111を使用で
き、その結果としてマイクロプロセッサの消費電力を削
減することができる。また、小容量の命令対応表111
は、記憶装置103と比べて回路規模が小さいため、回
路配置の自由度が記憶装置103と比べて大きく、命令
バス・セレクタ114の近傍に回路ブロックを配置する
ことができる。このため、命令バス・セレクタ114へ
命令データを出力する対応命令バス112の負荷容量
が、命令バス104と比べて小さくなり、したがって命
令コードの出力に要する消費電力を削減することができ
る。
【0031】次に、図3を用いて、図1に示す命令供給
装置の動作手順について説明する。まずプログラムカウ
ンタ101の値を設定する(ステップ301)。この設
定は、増減演算を行ったり、値のロードや保持を行った
りすることによって実行する。次に、プログラムカウン
タ101の示す命令アドレス値により、記憶装置103
から命令デコーダ105へ命令コードの転送を行う(ス
テップ302)。
【0032】そして、ステップ302にて記憶装置10
3が出力した命令コードを圧縮命令処理モード解析部1
07が受信し、命令コードの値により、圧縮命令処理モ
ードに遷移するか否かを判定する(ステップ303)。
圧縮命令処理モードに遷移しない場合は、圧縮命令処理
モード制御部109からの選択信号113により、命令
バス・セレクタ114が記憶装置103からの命令デー
タを選択し、命令デコーダ105へ出力する。命令デコ
ーダ105は、受信した命令コードを解読する(ステッ
プ304)。命令デコーダ105は、ステップ304で
解読した命令コードの内容に従い、マイクロプロセッサ
を構成する各装置へ制御信号を送信して各装置の制御を
行う(ステップ305)。最後にステップ301へ戻
る。
【0033】ステップ303において圧縮命令処理モー
ドに遷移すると判定した場合は、まず圧縮命令処理モー
ド制御部109がクロック制御部106へ電力供給停止
の指示を出力する。これにより、クロック制御部106
は、プログラムカウンタ101と記憶装置103への電
力供給を停止する(ステップ306)。そして、圧縮命
令処理モード制御部109は、記憶装置103から受信
した命令コードについて、複数の命令フィールドのイン
デックスを逐次的に取り出す(ステップ307)。な
お、その詳細は、具体例を用いて後述する。また、ステ
ップ307にて取り出したインデックス値に応じた展開
命令を命令対応表111が出力する(ステップ30
8)。命令バス・セレクタ114は、圧縮命令処理モー
ド制御部109からの選択信号113により命令対応表
111からの命令データを選択し、命令デコーダ105
へ出力する。命令デコーダ105は受信した命令コード
を解読する。(ステップ309)。
【0034】命令デコーダ105は、ステップ309で
解読した命令コードの内容に従い、マイクロプロセッサ
を構成する各装置へ制御信号を送信して各装置の制御を
行い(ステップ310)、さらに命令コードの内容によ
り圧縮命令処理モードを終了するか否かを判定する(ス
テップ311)。圧縮命令処理モードを続ける場合は、
ステップ307に戻り、次のインデックス取り出し処理
を続行する。圧縮命令処理モードを終了する場合は、圧
縮命令処理モード制御部109がクロック制御部106
に電力供給再開を伝え、プログラムカウンタ101及び
記憶装置103への電力供給を再開し(ステップ31
2)、ステップ301に戻る。
【0035】なお、命令対応表111がインデックス値
を受信しこれに対応する命令を出力する回路構成と、記
憶装置103がプログラムカウンタ101よりアドレス
を受信しこれに対応する命令を出力する回路構成とは、
同様の回路規模及び方式で実現できる。このため、それ
ぞれの処理に要する時間には大差がなく、圧縮命令の処
理中には速度の低下は生じない。
【0036】次に、図4及び図5を用いて、図1に示す
命令供給装置における命令フィールドの構成例と、その
命令実行手順とを説明する。図4(a)は、記憶容量が
8192ワードの場合の記憶装置103の内容の具体例
を示し、また図4(b)は記憶容量が16ワードの場合
の命令対応表111の具体例を示す。図5は、命令デコ
ーダ105が受け取る命令コードすなわちマイクロプロ
セッサが実行する命令の具体例を実行順に示している。
【0037】図4(a)において、各アドレスの命令コ
ードはモード判定用ビットフィールドを含み、例えばア
ドレス#0の命令コードのモード判定用ビットフィール
ドは、圧縮命令処理モードに遷移しない旨の情報を含
む。そして、図3のステップ303において、圧縮命令
処理モード解析部107が記憶装置103からアドレス
#0の命令コードを受信すると、その命令コード中のモ
ード判定用ビットフィールドを解析して、圧縮命令処理
モードに遷移しないことを判定する。すると、圧縮命令
処理モード制御部109からの選択信号113により、
命令バス・セレクタ114が命令バス104側の命令コ
ードを選択し、命令デコーダ105にはアドレス#0に
対応した命令が出力される。
【0038】図4(a)において、アドレス#1の命令
コードのモード判定用ビットフィールドには、圧縮命令
処理モードに遷移する旨の情報である「1111」が記
録されている。そこで、図3のステップ303におい
て、圧縮命令処理モード解析部107が記憶装置103
からアドレス#1の命令コードを受信すると、命令コー
ド中のモード判定用ビットフィールドの解析により圧縮
命令処理モードに遷移することを判定し、それ以降は命
令フィールドごとのインデックスフィールドの処理(ス
テップ307からステップ311)を行う。このステッ
プ307からステップ311の間においては、アドレス
#1の命令コードのフィールドF1〜F7のインデック
ス値(図4(b)の例では0〜15)に応じた命令対応
表111の命令コードを、記憶装置103からの命令コ
ードの代わりに、命令デコーダ105へ出力する。この
場合の命令デコード順序を図5に示す。
【0039】このように、ステップ307〜ステップ3
11の処理中にはプログラムカウンタ101と記憶装置
103とが必要でなくなり、上述のようにクロック制御
部106により電力供給を停止することができる(ステ
ップ306及びステップ312)。なお、ステップ30
3において圧縮命令処理モードへ遷移するか否かを命令
コードから判定する方法としては、図6〜図8に示す複
数の方法がある。
【0040】図6は、図4及び図5で説明したものと同
様に、命令コードにおいて、特定のビットあるいはビッ
ト列があるパターン(図4の具体例では「1111」)
であることにより、記憶装置103が出力する現在の命
令コードにおいてのみ、圧縮命令処理モードへ遷移する
か否かを判定する方法を示すものである。この図6で
は、図4(a)の場合と同様に、アドレス#1の命令コ
ードのモード判定用ビットフィールドB0が、圧縮命令
処理モードへ遷移する旨の信号として形成されている。
この方法では、処理モードの遷移のためにモード判定用
ビットフィールドB0が必要なため、多重化できる命令
数が減るが、圧縮命令処理モードへの遷移のための特別
な命令は不要となる。
【0041】図7は、命令コードが特定のパターンであ
れば、次に記憶装置103から出力される命令コードを
処理する間のみ圧縮命令処理モードへ遷移するという方
法を示すものである。この方法では、図7の例における
アドレス#1の命令コードで示すように圧縮命令処理モ
ードへの遷移を示す特別な命令が必要となるが、アドレ
ス#2の命令コードで示すように、モード判定用ビット
が不要なため、多重化できる命令数は図6の場合に比べ
て増加する。
【0042】図8は、命令コードが特定のパターンであ
れば、次以降のサイクルで記憶装置103から出力され
る命令コードを処理する期間にわたり、圧縮命令処理モ
ードへ遷移し続けるという方法を示すものである。図8
においては、アドレス#1の命令コードが上記の特定パ
ターンであり、アドレス#2〜#4において圧縮命令処
理モードへ遷移し続けている。この方法では、図7の場
合と同様にモード遷移のための命令が必要であるが、複
数の圧縮命令を連続的に処理する場合には、モード遷移
のための命令を毎回必要としない利点がある。
【0043】図3のステップ311において圧縮命令処
理モードを終了するか否かを判定する方法としては、特
定のビット列の命令コードの受信により終了する方法が
ある。あるいは、圧縮命令処理モードへの遷移時にカウ
ンタを設定し、このカウンタの値により終了時を判定す
る方法もある。なお、命令対応表111を書き換え可能
な記憶素子によって構成し、さらに命令コードの書き込
み回路を追加するという構成をとることにより、マイク
ロプロセッサの製造時のみでなく、プログラム実行時に
もインデックスに対応した命令コードを変更することが
できる。これにより、プログラム中のループ部分や頻繁
に現れる命令コードをプログラムの箇所ごとに応じて命
令対応表111に登録することができるため、多種の命
令コードを処理するプログラムにおいても高い頻度で命
令対応表111を使用することができる。その結果とし
て、より効果的にプログラムカウンタ101や記憶装置
103への電力供給を停止でき、マイクロプロセッサの
消費電力を低減することができる。
【0044】
【発明の効果】以上のように本発明によれば、マイクロ
プロセッサの回路設計を毎回行うことなく、様々な応用
プログラムにおいて、記憶装置などへのクロックを始め
とする電力供給を効果的に停止することができる。その
結果、本発明の命令供給装置を用いてマイクロプロセッ
サを構築した場合でも、同様の効果を得ることができ
る。
【図面の簡単な説明】
【図1】本発明の実施の形態のマイクロプロセッサにお
ける命令供給装置の構成図
【図2】同マイクロプロセッサの構成図
【図3】図1の命令供給装置による命令実行手順の流れ
【図4】同命令供給装置における記憶装置および命令対
応表の内容の一例を示す図
【図5】同命令供給装置における実行手順の一例を示す
【図6】同命令供給装置における圧縮命令処理モードへ
の遷移命令の一例の構成図
【図7】同命令供給装置における圧縮命令処理モードへ
の遷移命令の他の例の構成図
【図8】同命令供給装置における圧縮命令処理モードへ
の遷移命令のさらに他の例の構成図
【図9】従来のマイクロプロセッサの構成図
【図10】図9のマイクロプロセッサにおける命令供給
装置の命令実行手順の流れ図
【図11】従来の別方式のマイクロプロセッサの構成図
【符号の説明】
101 プログラムカウンタ 103 記憶装置 105 命令デコーダ 106 クロック制御部 107 圧縮命令処理モード解析部 109 圧縮命令処理モード制御部 111 命令対応表

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 マイクロプロセッサの処理対象であるプ
    ログラムを構成する命令を保持する記憶装置を備え、 この記憶装置は、複数ステップの命令を各命令に対応し
    たインデックスを用いて1つの命令に多重化した圧縮命
    令を保持可能とされ、 さらに、前記圧縮命令の各々のインデックスともとの展
    開命令との関係を示す命令対応表と、 前記記憶装置から圧縮命令を取得したときに前記命令対
    応表を用いてインデックスから展開命令への伸長を行う
    とともに、その圧縮命令の処理中は前記記憶装置への電
    力供給の停止制御を行う手段とを備えたことを特徴とす
    るマイクロプロセッサにおける命令供給装置。
  2. 【請求項2】 マイクロプロセッサの処理対象であるプ
    ログラムを構成する命令を保持する記憶装置を備え、 この記憶装置は、複数ステップの命令を各命令に対応し
    たインデックスを用いて1つの命令に多重化した圧縮命
    令を保持可能とされ、 さらに、前記記憶装置における次に実行すべき命令のア
    ドレスを示すプログラムカウンタと、 前記圧縮命令の各々のインデックスともとの展開命令と
    の関係を示す命令対応表と、 前記記憶装置から取得した命令を解読する圧縮命令処理
    モード解析部と、 前記圧縮命令処理モード解析部による解読の結果が圧縮
    命令を展開命令へ展開する圧縮命令処理モードであった
    場合に、前記記憶装置から複数のインデックス・フィー
    ルドによる多重化された圧縮命令を取得して、圧縮され
    たフィールドごとに逐次的に前記命令対応表を用いてイ
    ンデックスから展開命令へ命令の伸張を行うとともに、
    その圧縮命令の処理中は前記記憶装置とプログラムカウ
    ンタへの電力供給の停止制御を行う圧縮命令処理モード
    制御部と、 命令の処理モードが圧縮命令処理モードか否かに応じ
    て、前記命令対応表と記憶装置とのいずれかから命令を
    選択的に取得してプロセッサを制御する命令デコーダと
    を備えたことを特徴とするマイクロプロセッサにおける
    命令供給装置。
  3. 【請求項3】 命令対応表は、書き込み機能を有するこ
    とで、その内容をプログラム実行時に書き換え可能とさ
    れていることを特徴とする請求項1または2記載のマイ
    クロプロセッサにおける命令供給装置。
  4. 【請求項4】 マイクロプロセッサの処理対象であるプ
    ログラムを構成する命令を保持する記憶装置に、複数ス
    テップの命令を各命令に対応したインデックスを用いて
    1つの命令に多重化した圧縮命令を保持させ、 前記圧縮命令の各々のインデックスともとの展開命令と
    の関係を示す命令対応表を用いて、前記記憶装置からの
    圧縮命令に対し前記インデックスから展開命令への伸長
    を行うとともに、その圧縮命令の処理中は、前記記憶装
    置への電力供給の停止制御を行うことを特徴とするマイ
    クロプロセッサにおける命令供給方法。
JP32346899A 1999-11-15 1999-11-15 マイクロプロセッサにおける命令供給装置および命令供給方法 Pending JP2001142696A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32346899A JP2001142696A (ja) 1999-11-15 1999-11-15 マイクロプロセッサにおける命令供給装置および命令供給方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32346899A JP2001142696A (ja) 1999-11-15 1999-11-15 マイクロプロセッサにおける命令供給装置および命令供給方法

Publications (1)

Publication Number Publication Date
JP2001142696A true JP2001142696A (ja) 2001-05-25

Family

ID=18155035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32346899A Pending JP2001142696A (ja) 1999-11-15 1999-11-15 マイクロプロセッサにおける命令供給装置および命令供給方法

Country Status (1)

Country Link
JP (1) JP2001142696A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108367A (ja) * 2001-09-27 2003-04-11 Yamaha Corp プログラムメモリ削減方法およびプログラムメモリ読出回路
US7590832B2 (en) 2006-02-24 2009-09-15 Panasonic Corporation Information processing device, compressed program producing method, and information processing system
JP2013528877A (ja) * 2010-06-27 2013-07-11 インテル・コーポレーション 圧縮コードの高速実行
US9619235B2 (en) 2011-06-01 2017-04-11 Fujitsu Limited Compressing detected current and preceding instructions with the same operation code and operand patterns

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003108367A (ja) * 2001-09-27 2003-04-11 Yamaha Corp プログラムメモリ削減方法およびプログラムメモリ読出回路
US7590832B2 (en) 2006-02-24 2009-09-15 Panasonic Corporation Information processing device, compressed program producing method, and information processing system
JP2013528877A (ja) * 2010-06-27 2013-07-11 インテル・コーポレーション 圧縮コードの高速実行
US9619235B2 (en) 2011-06-01 2017-04-11 Fujitsu Limited Compressing detected current and preceding instructions with the same operation code and operand patterns

Similar Documents

Publication Publication Date Title
US5652852A (en) Processor for discriminating between compressed and non-compressed program code, with prefetching, decoding and execution of compressed code in parallel with the decoding, with modified target branch addresses accommodated at run time
KR950001485A (ko) 연산처리방법 및 마이크로 컴퓨터
US20050198471A1 (en) Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein
JP2000267848A (ja) 情報処理装置
JP2006313546A (ja) データ処理システム
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
US20060095746A1 (en) Branch predictor, processor and branch prediction method
KR20030051380A (ko) 마이크로프로세서
JP2001142696A (ja) マイクロプロセッサにおける命令供給装置および命令供給方法
US7114089B2 (en) System for controlling operation of a processor based on information contained within instruction word
JP2003044303A (ja) コンピュータ装置
JP2594130B2 (ja) 半導体回路
KR19980058221A (ko) 파이프라인 정지회로를 구비한 프로세서
JPH11175348A (ja) Riscアーキテクチャを持った中央処理装置を有する装置及び該装置を動作させる方法
JP2002318686A (ja) プロセッサ
JPH1020959A (ja) 低消費電力マイクロプロセッサ
US5864691A (en) Central processing unit with a selector that bypasses circuits where processing is not required
JPH11163736A (ja) プロセッサ
KR100369480B1 (ko) Dsp 코어를 기반으로 하는 다중 프로그램 실장 아키텍쳐
JP2003015866A (ja) プロセッサ
JP2004038586A (ja) データ処理システム、データ処理装置及びデータ処理方法
JPH06149563A (ja) データ処理装置
KR100260814B1 (ko) 엠펙 오디오 비트스트림 복호화를 위한 전처리장치
JP2004220188A (ja) データ処理装置
JP3474347B2 (ja) マイクロコンピュータの命令解読部