JP2001125785A - 命令コード割り当て方法及び命令解読装置 - Google Patents

命令コード割り当て方法及び命令解読装置

Info

Publication number
JP2001125785A
JP2001125785A JP30213499A JP30213499A JP2001125785A JP 2001125785 A JP2001125785 A JP 2001125785A JP 30213499 A JP30213499 A JP 30213499A JP 30213499 A JP30213499 A JP 30213499A JP 2001125785 A JP2001125785 A JP 2001125785A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
executed
processor
program
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
JP30213499A
Other languages
English (en)
Inventor
Minoru Okamoto
稔 岡本
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 JP30213499A priority Critical patent/JP2001125785A/ja
Publication of JP2001125785A publication Critical patent/JP2001125785A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 DSPなどの機器組み込み用途に使用される
プロセッサに内蔵される命令解読に関わる構成の消費電
力を大幅に低くする命令コードの割り当て方法を提供す
ることを目的とする。 【解決手段】 特定のプログラムを実行した場合の命令
実行順序関係を調べ、命令コードを構成するビットの変
化回数を計算し、この変化数が最小となるビット列を命
令コードに割り当てる。

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は、主にメモリにアク
セスする番地(アドレス)を出力するアドレス生成装置
に関するものである。
【従来の技術】近年、ディジタル信号処理分野の拡大に
伴い携帯通信機器などの電池駆動の機器にDSP(ディ
ジタル信号処理プロセッサ)が広く用いられている。そ
のためDSPには低消費電力化が強く望まれる。DSP
では予めプログラムを格納する内蔵メモリ、あるいはD
SP外部に接続したメモリから命令を読み出し、命令解
読器(デコーダ)にてこの命令を解読した後、算術論理
演算回路(ALU)などの演算器に各種制御信号を出力
する構成が一般的である。図6、図7を参照しながら従
来の技術を説明する。図6はDSPに内蔵される従来の
命令解読に係る構成を示したものである。内蔵のメモリ
710から命令を読み出し実行する場合、プログラムカ
ウンタ700はメモリ710に読み出すべきアドレス7
05を出力する。メモリ710はアドレス705に格納
されている命令を読み出し、命令デコーダ720に出力
する。命令デコーダ720は入力された命令715を解
読し、各種制御信号725を演算器730などに出力す
る。演算器730は制御信号725に従った動作、例え
ば加算や減算などを実行する。また、外部に接続したメ
モリ750から命令を読み出す場合、プログラムカウン
タ700は端子760を経由してメモリ750に読み出
すべき命令のアドレス707を出力する。メモリ750
はアドレス707で示される番地の命令755を出力す
る。命令755は端子765を経由して命令デコーダ7
20に入力され、命令デコーダ720はメモリ710か
ら命令を読み出す場合と同様に各種制御信号725を出
力する。また、命令715及び755は図7のような構
成となっている。ビットの列(以降、フィールドと呼
ぶ)800ではどのような演算またはデータ転送をする
かを定義し、フィールド810ではデータを書き込むレ
ジスタの種類を、またフィールド820、830ではデ
ータを読み出すレジスタの種類を指定する(例えば「M
N1920シリーズLSI説明書」2−2頁 1990
年、松下電子工業(株)刊)。
【発明が解決しようとする課題】しかしながら、上記し
た従来の構成のDSPでプログラムを実行した場合、メ
モリ710、750から命令を読み出し、端子765を
経由した後、命令デコーダ720に命令が入力される
が、異なった命令を順次命令デコーダ720に入力する
度に、メモリ710または750から命令を出力する箇
所、端子765、命令デコーダ720の入力部の配線が
0から1、または1から0に変化するため消費電力が大
きくなる。一般に、CMOS構造のLSIにおいては、
信号の値(電位)が0から1、または1から0に変化す
るときに動作電流が最大となる。一方、DSPは各種プ
ログラムを実行することでディジタル信号処理システム
を実現する。DSPが適用されるシステムが一旦決まれ
ば、プログラムが変更されることはない。すなわち、メ
モリ710、750に格納されたプログラムは不変であ
る。本発明は以上の点に鑑み、DSPなどの組み込み用
途で用いられるプロセッサの命令解読に係る構成を低消
費電力にする命令コード割り当て方法および命令解読装
置を提供することを目的とする。
【課題を解決するための手段】上記目的を達成するため
に、本発明の命令コード割り当て方法は、特定のプログ
ラムを実行するプロセッサの命令コードについて、実行
すべきプログラムの命令実行順序を検出するステップ
と、前記プロセッサが実行する命令に仮に命令コードを
割り当てるステップと、前記命令実行順序による前記命
令コードのビットの変化総数を計算するステップと、前
記ビットの変化総数が最小となる命令コードを割り当て
るステップを少なくとも含むことを特徴とする。また、
本発明の命令解読装置は、前記命令コード割り当て方法
で得られた命令コードを解読する命令デコーダを備えた
ことを特徴とする。また、本発明のプロセッサは、前記
命令コード割り当て方法で得られた命令コードを格納す
る記憶手段を備えたことを特徴とする。また、本発明の
シミュレーション装置は、前記プログラムの命令実行順
序を検出するステップを備え、前記プロセッサの動作を
模擬することを特徴とする。また、本発明の設計支援装
置は、前記命令コード割り当て方法を計算機で実行する
ことを特徴とする。尚、前記命令コードのビットの変化
総数を計算するステップにおいて、前記前記プロセッサ
が実行する命令の順序関係の検出結果を配列データ1と
して記録し、前記仮の命令コードに対して命令実行順序
によるビットの変化数を配列データ2として記録し、前
記配列データ1と前記配列データ2を乗算し、前記乗算
結果の総和を求めることが好ましい。本発明は上記した
方法及び構成によってDSPなど組み込み用途に用いら
れるプロセッサの命令解読を低消費電力で実行する。
【発明の実施の形態】以下本発明(請求項1)に係る一
実施例の命令定義方法について図1、図2を参照しなが
ら説明する。図1は本発明に係る命令コード割り当て方
法の手順を示すものである。本例ではDSPで実行でき
る命令の種類がADD(加算)、SUB(減算)、MO
V(転送)、BR(分岐)の4通りであり、命令コード
を構成するビット数が2であるとする。なお、一般的に
は命令の種類は数十〜百程度、命令コードのビット数は
8〜24ビットである。 ステップ1.予め作成したプログラムをシミュレータに
入力 予め作成したプログラムを、DSPの動作通りに順次実
行するシミュレータに入力する。 ステップ2.シミュレータにて命令間の相関値を計測 本ステップは次の3つの処理よりなる。 ステップ2−1.現在実行する命令(N)を保持する。 ステップ2−2.次に実行する命令(N+1)を保持す
る。 ステップ2−3.ステップ2−1とステップ2−2で保
持した命令を元に命令間の相関値(ある命令の後にある
命令が続いて実行された回数。以降、Rと略記)を求め
る。例えば、本相関値は図2に示すような形式で表され
る。図2ではADD命令の次にADD命令が実行された
回数が10回、またMOV命令の次にADD命令が実行
された回数が90回であることを示している。 ステップ3.命令コードの仮割り当て 本ステップは次の2つの処理よりなる。 ステップ3−1.相関値Rが最大の命令の一方について
命令コードを一意に決定。本例ではMOV−ADD命令
の相関値が90で最大であるので、MOV命令の命令コ
ードを00b(bは2進数を表す)と定義する。 ステップ3−2.他の命令について命令コードを仮に決
める。MOV命令以外の命令について本例では図3に示
すような6通りの命令コードの割り当てが考えられる。 ステップ4.命令N、命令N+1の順に実行した場合の
命令コードのビット変化数(C)を求める。図3に示し
た命令コード割り当ての各々について、図2に示した順
序で命令が実行された場合、命令コードの何ビットが変
化するかを求め(この変化したビット数をCと表す)、
図2同等の形式で記録する。例えば,図3の#1記載の
命令コード割り当ての場合,MOVに続いてADD命令
を実行した場合,00bから01bに変わり1ビットの
命令コードが変化するのでCは1、またMOV、BR命
令の順に実行した場合、00bから11bに変化するの
でCは2となる。この値を図4に示すような形式で図3
記載の割り当て記号#1〜#6について記録する。 ステップ5.プログラム実行時の命令コードの総ビット
変化を求める。ステップ5は次の2つの処理よりなる。 ステップ5−1.RとCの乗算を実行し、結果Pを記録
する。ステップ2で得られた命令間の相関値Rとステッ
プ4で得られた命令コードのビット変化数Cを乗算す
る。これにより、プログラム実行時の特定の命令順序に
対するビット変化数が求まる。例えば、図3の#1の命
令コード割り当てについてはMOV−ADD命令の順に
実行する場合、R=90、C=1であるのでP=90、
またMOVーBR命令の順に実行する場合、R=10、
C=2であるのでP=20となる。 ステップ5−2.Pの総和PSUMを求める。上記ステ
ップで得られた全ての命令の順序に関するPの総和PS
UMを求める。このPSUMはプログラム実行時の命令
コードのビット変化の総和となる。図3の#1の命令コ
ード割り当ての場合、総和は430となる。このような
処理を図3に示した他5通りの命令コード割り当てにつ
いても求める。このステップの結果は、例えば図5に示
したように記録される。 ステップ6.P総和の最小な命令コード割り当てを求め
る。前ステップで得られた総ビット変化数が最小なもの
が、図6に示した命令解読に関わる構成の信号変化が最
小となるため、同構成を低消費電力化できることとな
る。本例では図3の#1と#3のP総和(PSUM)が
最小であるので#1または#3の命令コード割り当てに
決定する。以上より明らかなように、特定のプログラム
を実行した場合の命令実行順序関係を調べ、命令コード
を構成するビットの変化回数を計算することで、プログ
ラム実行時の命令コードを構成するビット変化を最小に
することができ、DSPに内蔵される命令解読に関わる
構成を電力を大幅に低くする命令コードの割り当てをな
し得る。なお、上記実施例において命令数を4、命令コ
ードのビット数を2としたが、これは任意でよい。ま
た、本例では2ビットの命令コード全てを対象とした
が、命令コードの一部について本方法を適用してもよ
い。その場合、図7に示した一部の命令ビット列、82
0について命令間の相関値R、ビット変化数C、及びビ
ット総変化数PSUMを求めることで本発明が適用でき
る。また、各手続きの過程で表を用いたが、このような
形式に限定されるものではない。また、本発明の命令コ
ード割り当て方法を用いたシュミレーション装置は、プ
ログラムの命令実行順序を検出するステップを備え、前
記プロセッサの動作を模擬するように構成すればよい。
また、本発明の命令コード割り当て方法を計算機で実行
する設計支援装置を容易に実現できる。また、前記命令
コードのビットの変化総数を計算するステップにおい
て、前記プロセッサが実行する命令の順序関係の検出結
果を配列データ1として記録し、前記仮の命令コードに
対して命令実行順序によるビットの変化数を配列データ
2として記録し、前記配列データ1と前記配列データ2
を乗算し、前記乗算結果の総和を求めるようにしてもよ
い。
【発明の効果】機器組込用途のDSPやプロセッサは処
理するプログラムが一定である。本発明は、この特定の
プログラムを実行した場合の命令実行順序関係を調べ、
命令コードを構成するビットの変化回数を計算すること
で、プログラム実行時の命令コードを構成するビット変
化を最小にすることができ、DSPに内蔵される命令解
読に関わる構成を電力を大幅に低くする命令コードの割
り当てをなし得る。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る命令コード割り当て
方法のプローチャート
【図2】本実施形態におけるプログラム実行時の命令相
関値(R)を示す対応図
【図3】本実施形態における命令コード割り当ての組み
合わせを示す対応図
【図4】本実施形態における命令実行順序に対する命令
コードのビット変化数(C)を示す対応図
【図5】本実施形態におけるプログラム実行時の命令コ
ードのビット変化数(C)を示す対応図
【図6】命令解読装置に係る構成を示す図
【図7】命令コードの構成を示す図
【符号の説明】
700 プログラムカウンタ 705、707 アドレス 710、750 メモリ 715、755 命令 720 命令デコーダ 725 制御信号 730 演算器

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】特定のプログラムを実行するプロセッサの
    命令コードについて、実行すべきプログラムの命令実行
    順序を検出するステップと、前記プロセッサが実行する
    命令に仮に命令コードを割り当てるステップと、前記命
    令実行順序による前記命令コードのビットの変化総数を
    計算するステップと、前記ビットの変化総数が最小とな
    る命令コードを割り当てるステップを少なくとも含むこ
    とを特徴とする命令コード割り当て方法。
  2. 【請求項2】請求項1記載の方法で得られた命令コード
    を解読する命令デコーダを備えたことを特徴とする命令
    解読装置。
  3. 【請求項3】請求項1記載の方法で得られた命令コード
    を格納する記憶手段を備えたことを特徴とするプロセッ
    サ。
  4. 【請求項4】請求項1記載のプログラムの命令実行順序
    を検出するステップを備え、前記プロセッサの動作を模
    擬することを特徴とするシミュレーション装置。
  5. 【請求項5】請求項1記載の方法を計算機で実行するこ
    とを特徴とする設計支援装置。
  6. 【請求項6】前記命令コードのビットの変化総数を計算
    するステップにおいて、 前記プロセッサが実行する命令の順序関係の検出結果を
    配列データ1として記録し、前記仮の命令コードに対し
    て命令実行順序によるビットの変化数を配列データ2と
    して記録し、前記配列データ1と前記配列データ2を乗
    算し、前記乗算結果の総和を求めることを特徴とする請
    求項1記載の命令コード割り当て方法。
JP30213499A 1999-10-25 1999-10-25 命令コード割り当て方法及び命令解読装置 Pending JP2001125785A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30213499A JP2001125785A (ja) 1999-10-25 1999-10-25 命令コード割り当て方法及び命令解読装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30213499A JP2001125785A (ja) 1999-10-25 1999-10-25 命令コード割り当て方法及び命令解読装置

Publications (1)

Publication Number Publication Date
JP2001125785A true JP2001125785A (ja) 2001-05-11

Family

ID=17905329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30213499A Pending JP2001125785A (ja) 1999-10-25 1999-10-25 命令コード割り当て方法及び命令解読装置

Country Status (1)

Country Link
JP (1) JP2001125785A (ja)

Cited By (2)

* 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
US8902088B2 (en) 2012-09-18 2014-12-02 Samsung Electronics Co., Ltd. Minimum energy coding method and apparatus for performing direct current (DC) balancing in body area network or low power network

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
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
US8902088B2 (en) 2012-09-18 2014-12-02 Samsung Electronics Co., Ltd. Minimum energy coding method and apparatus for performing direct current (DC) balancing in body area network or low power network

Similar Documents

Publication Publication Date Title
JP2003510682A5 (ja)
JP2005202964A (ja) 割り込みをタイプ別に計数する方法、システムおよびプログラム
JP2008130078A (ja) プロセッサ構造および応用の最適化のためのプロファイラ
US7287149B2 (en) Inserting decoder reconfiguration instruction for routine with limited number of instruction types recoded for reduced bit changes
US20100077187A1 (en) System and Method to Execute a Linear Feedback-Shift Instruction
JP2004030015A (ja) 情報処理装置及び電子機器
KR20010078508A (ko) 매트릭스 연산 장치 및 매트릭스 연산기능을 갖는 디지털신호처리 장치
EP1267255A2 (en) Conditional branch execution in a processor with multiple data paths
JPH04233040A (ja) コンピュータプログラム実行シミュレーションシステム
JP2001005675A (ja) プログラム変換装置及びプロセッサ
JP2551167B2 (ja) マイクロコンピュータ
JP2001125785A (ja) 命令コード割り当て方法及び命令解読装置
US7647368B2 (en) Data processing apparatus and method for performing data processing operations on floating point data elements
CN115328547A (zh) 一种数据处理方法、电子设备及存储介质
JP3570287B2 (ja) マイクロコンピュータ
US6427200B1 (en) Multiple changeable addressing mapping circuit
JP2002073325A (ja) データ処理装置及び方法
JP3252029B2 (ja) 符号化装置及び符号化方法
JP3753572B2 (ja) シミュレーションシステムおよび命令シミュレーション方法
US20040162965A1 (en) Information processing unit
KR100233289B1 (ko) 레지스터 파일의 데이터 디펜던시 체크를 위한 장치
JP5263497B2 (ja) 信号処理プロセッサ及び半導体装置
JPH1063503A (ja) 演算処理装置及び演算処理方法
JP2002182925A (ja) コンパイル方法及びコンピュータ読み取り可能な記録媒体
JPH11119995A (ja) データ処理装置および方法