JPH09305398A - 演算処理装置および命令変換装置 - Google Patents

演算処理装置および命令変換装置

Info

Publication number
JPH09305398A
JPH09305398A JP8119372A JP11937296A JPH09305398A JP H09305398 A JPH09305398 A JP H09305398A JP 8119372 A JP8119372 A JP 8119372A JP 11937296 A JP11937296 A JP 11937296A JP H09305398 A JPH09305398 A JP H09305398A
Authority
JP
Japan
Prior art keywords
immediate
instruction
register
value
code
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
JP8119372A
Other languages
English (en)
Inventor
Toshihiro Ishikawa
川 利 広 石
Hidetoshi Suzuki
木 秀 俊 鈴
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 JP8119372A priority Critical patent/JPH09305398A/ja
Publication of JPH09305398A publication Critical patent/JPH09305398A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 小さい命令コードサイズで高速に、即値デー
タを対象とする転送または演算処理を可能とし、即値デ
ータを読み出す際の消費電力を低減し、かつ、小型化が
容易になる優れた演算処理装置と命令変換装置の提供を
目的とする。 【解決手段】 メモリ1に、命令レジスタ3に読み出さ
れているような、少なくとも即値データ転送先または即
値演算対象のレジスタをN個(Nは2以上)指定する複
数即値命令を記憶するように演算処理装置300を制御
することにより、小さい命令コードサイズで高速に、即
値データを対象とする転送または演算処理が可能にな
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ、ディジタルシグナルプロセッサ(DSP)などの演
算処理装置に関するものであり、特に、即値(イミディ
エト・データ)のアドレッシングモードを有する命令セ
ットを備えた演算処理装置およびそれに使用する命令変
換装置に関するものである。
【0002】
【従来の技術】即値(イミディエト・データ)とは、命
令中に埋め込まれる定数である。即値を演算対象とする
従来の演算処理装置は、例えば特開平3−20828号
公報に開示されている。
【0003】上記従来例では、PC(プログラム・カウ
ンタ)相対アドレッシング用の加算器を利用して、プロ
グラムカウンタの値に相対アドレス値を加算してアドレ
スを生成し、そのアドレスのメモリから即値データを読
み出している。
【0004】以下、図10を用いて、上記従来例におい
て2個のイミディエト・データをレジスタに転送する際
の命令コードサイズと実行サイクルを説明する。図10
(a)は、上記特開平3−20828号公報内に示され
た第1図の中から、命令レジスタ1001に取り込まれ
る命令を抜き出して示したものである。図10(a)に
示された命令は、少なくとも演算種類およびオペランド
タイプを備える第1の命令部1002と、上記オペラン
ドタイプがイミディエトオペランドを示す際に即値を備
える第2の命令部1003から構成されている。ここ
で、第1の命令部1002はメモリのアドレスPに格納
されており、第2の命令部1003としての即値はアド
レスP+dに格納されている。ここで、説明の簡単のた
め、「第1の命令部1002および第2の命令部100
3はともに2バイト長であり、dの値は1であるとす
る。」という条件で考察する。
【0005】図10(b)には、2個のイミディエト・
データをレジスタに転送する際のプログラム例をニーモ
ニック で示す。図10(c)には、図10(b)に示し
たプログラムを上記した条件のもとでメモリに命令コー
ドとして配置した場合の、命令コードサイズ(バイト
長)と実行サイクルを示す。アドレスPには最初の転送
命令の第1の命令部が格納され、アドレスP+1には、
第2の命令部としての即値(imm#1)が格納されて
いる。アドレスP+2とP+3には2番目の転送命令の
第1命令部と即値(imm#2)が格納されている。こ
れらの合計の命令コードサイズは8バイトである。各ア
ドレスの命令コードを読み出すのにそれぞれ1サイクル
ずつかかるとすると、実行サイクルは最低4サイクルと
なる。最低4サイクルとしたのは、上記従来例によれ
ば、第2の命令部1003はあらかじめ命令レジスタ1
001に取り込まれていることを前提としているため、
実際には、第2の命令部1003を命令レジスタ100
1に読み出すサイクルがさらに必要になるからである。
すなわち、第2の命令部1003が即値である場合は、
その即値を命令レジスタ1001と演算レジスタとに2
度読み出すことが要求される。
【0006】以上のように上記従来例では、2個のイミ
ディエト・データをレジスタに転送する処理を、8バイ
トの命令コードサイズで、4サイクル以上の実行サイク
ルをかければ実行することができる。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来の演算処理装置では、2個のイミディエト・データを
レジスタに転送する際の命令コードとして、転送対象の
即値(第2の命令部)毎に、対応する第1の命令部を備
えることが要求されており、命令コードサイズが大きく
なるという問題を有している。
【0008】また、実行サイクル数が大きく、さらに即
値をメモリから2度読み出すことになるので、低消費電
力化・高速化の妨げとなるという問題点を有している。
【0009】さらに、PC相対アドレッシグ用の加算器
を有していることが、即値データを読み出す条件とな
り、PC相対アドレッシングを備えていない演算処理装
置においては、新たにプログラム・カウンタの値と命令
レジスタ内の即値データを加算する加算器を設けなけれ
ばならず、低消費電力化・小型化の妨げとなるという問
題点を有している。
【0010】本発明は、このような従来の問題を解決す
るものであり、小さい命令コードサイズで高速に、即値
データを対象とする転送または演算処理を可能とし、即
値データを読み出す際の消費電力を低減し、かつ、小型
化が容易になる優れた演算処理装置と命令変換装置の提
供を目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明の演算処理装置は、少なくとも即値データ転
送先または即値演算対象のレジスタをN個(Nは2以
上)指定する複数即値命令を有する命令セットを備えた
ものである。
【0012】また、本発明の命令変換装置は、即値命令
を検出する手段と、即値命令が連続していることを検出
する連続検出手段と、即値命令から即値データを抽出す
る即値抽出手段と、即値命令から即値データ転送先また
は即値演算対象のレジスタのコードを生成するレジスタ
コード生成手段と、前記連続検出手段とレジスタコード
生成手段に接続されて複数即値命令のコードを生成する
命令コード生成手段とを備えたものである。
【0013】以上により、小さい命令コードサイズで高
速に、即値データを対象とする転送処理を可能とし、即
値データを読み出す際の消費電力を低減し、かつ、小型
化が容易になる優れた演算処理装置と命令変換装置が得
られる。
【0014】
【発明の実施の形態】本発明の請求項1に記載の発明
は、命令コードを記憶する命令記憶手段と、この命令記
憶手段にアドレスを供給するプログラムカウンタとを備
えた演算処理装置であって、少なくとも即値データ転送
先または即値演算対象のレジスタをN個(Nは2以上)
指定する複数即値命令を有する命令セットを備えた演算
処理装置であり、上記複数装置命令が、即値データ転送
先または即値演算対象のレジスタを1度にN個(Nは2
以上)指定することができるという作用を有する。
【0015】本発明の請求項2に記載の発明は、請求項
1記載の演算処理装置において、命令記憶手段が、複数
即値命令によって転送する複数の即値データを複数即値
命令に後続するアドレスに記憶することを特徴とするも
のであり、PC相対アドレッシングを備えていない演算
処理装置においても、プログラム・カウンタが即値デー
タのアドレスを供給して、複数即値命令の実行即値が可
能になるという作用を有する。
【0016】本発明の請求項3に記載の発明は、請求項
1または2記載の演算処理装置において、データを記憶
するデータ記憶手段と、このデータ記憶手段のアドレス
を記憶するアドレスレジスタとを備え、即値データ転送
先または即値演算対象のレジスタがアドレスレジスタで
あることを特徴とするものであり、複数即値命令が、即
値データ転送先または即値演算対象のアドレスレジスタ
を1度にN個(Nは2以上)指定することができるとい
う作用を有する。
【0017】本発明の請求項4に記載の発明は、即値命
令を検出する手段と、即値命令が連続していることを検
出する連続検出手段と、即値命令から即値データを抽出
する即値抽出手段と、即値命令から即値データ転送先ま
たは即値演算対象のレジスタのコードを生成するレジス
タコード生成手段と、連続検出手段とレジスタコード生
成手段に接続されて複数即値命令のコードを生成する命
令コード生成手段とを備えた命令変換装置であり、命令
コード生成手段が、連続する複数の即値命令を一個の複
数即値命令に変換することができるという作用を有す
る。
【0018】また、本発明の請求項5に記載の発明は、
請求項4記載の命令変換装置において、レジスタコード
生成手段が、即値データ転送先または即値演算対象の複
数のレジスタを組にして符号化したレジスタコードを生
成するものであり、命令コード生成手段が連続する複数
の即値命令を一個の複数即値命令に変換することができ
るという作用を有する。
【0019】本発明の請求項6に記載の発明は、請求項
4または5記載の命令変換装置によって変換された命令
を使用することを特徴とする請求項1から3のいずれか
に記載の演算処理装置であり、請求項4または5の命令
変換装置によって自動的に変換された複数即値命令を命
令記憶手段が記憶して、複数即値命令が、即値データ転
送先または即値演算対象のレジスタを1度にN個(Nは
2以上)指定することができるという作用を有する。
【0020】(実施の形態1)以下、本発明の実施の形
態を図面を参照して説明する。図1は本発明の第1の実
施の形態における演算処理装置の構成を示すブロック図
である。図1において、100は演算処理装置全体を示
す。1は命令コードを記憶する命令記憶手段としてのメ
モリ、2はメモリ1から読み出した命令またはデータ一
時記憶する16ビット幅のバッファレジスタである。3
は命令レジスタであり、バッファレジスタ2から出力さ
れる命令を記憶する。命令レジスタ3には、メモリ1か
らバッファレジスタ2を介して読み出された複数即値命
令が格納されている状態を示してある。3aはOPコー
ドであり、複数即値命令であることを示す。3bと3c
は第1および第2の転送先レジスタ指定フィールドであ
り、これらが即値データ転送先のレジスタを1度にN個
(Nは2以上)指定するという作用を行う。3dは相対
アドレスフィールドであり、第1の転送先レジスタに転
送する即値の相対アドレスを示す。4は命令レジスタ3
の上位8ビットに格納された命令のOPコード3aをデ
コードして各種制御信号を出力する命令デコーダであ
る。5は命令レジスタ制御信号であり、命令レジスタ3
に新たに命令を読み込むか否かを指示する。6はセレク
タであり、命令レジスタ3に格納された命令を一時記憶
し、その命令の第1の転送先レジスタ指定フィールド3
bの2ビットと、第2の転送先レジスタ指定フィールド
3cの2ビットとのどちらかを選択して出力する。7は
レジスタ選択デコーダであり、セレクタ6から入力され
るレジスタコードをデコードして、後述するレジスタフ
ァイル8にレジスタ選択信号を出力する。8はレジスタ
ファイルであり、上記のレジスタ選択信号により選択さ
れる複数の読み書き可能なレジスタから構成される。9
はバスであり、バッファレジスタ2とレジスタファイル
8および後述するプログラムカウンタ13に接続されて
いる。10と11はバスであり、レジスタファイル8と
後述するALU12に接続されている。12はALUで
あり、バス10と11のデータに対して算術論理演算を
行い、結果をレジスタファイル8に出力する。13はプ
ログラムカウンタであり、メモリ1から読み出す命令の
アドレスを記憶するとともに、そのアドレスを1ずつ増
加させる。
【0021】次に、本実施の形態において、2個の即値
データをレジスタに転送する動作について、図1と図2
および図10を参照しながら説明する。図2は図10
(b)に示したような2個の即値データを2個のレジス
タに転送するプログラムを、本実施の形態における命令
セットに基づく命令コードとして、メモリ1に配置した
様子を示している。メモリ1のアドレスPには、即値転
送先レジスタ2個を指定する複数即値命令が格納されて
いる。アドレスP+dispには第1の即値データ(imm
#1)が格納され、アドレスP+1+dispには第2の即
値データimm#2)が格納されている。上記の複数即
値命令と2個の即値はいずれも2バイト長であり、合計
6バイトのコードサイズである。以下に、2個の即値デ
ータを2個のレジスタに転送する処理を、図1に示した
演算処理装置において3ステップで実行する場合の動作
について、各ステップ毎に説明する。
【0022】(1)複数即値命令の処理ステップ プログラムカウンタ13は、複数即値命令が格納されて
いるアドレスPの値を出力する。セレクタ15は、プロ
グラムカウンタ13の値を選択して、メモリ1にアドレ
スPの値を供給する。メモリ1からは、複数即値命令が
読み出され、バッファレジスタ2を介して命令レジスタ
3に格納される。前述したように、図1にはこの状態が
示してある。命令デコーダ4は、OPコード3aを入力
してデコードし、後述する2ステップの間、命令レジス
タ3が複数即値命令を保持することを指示する命令レジ
スタ制御信号5を出力するとともに、転送処理を行うよ
うに各種制御信号を出力する。セレクタ6は、第1のレ
ジスタ選択フィールド3bの2ビットを選択して出力す
る。
【0023】(2)第1の即値を転送するステップ プログラムカウンタ13は、加算器14にアドレスPの
値を出力したあと、カウンタの値をP+1に進める。加
算器14は、プログラムカウンタ13から出力された値
Pと命令レジスタに保持されている相対アドレスフィー
ルド3dの値dispとの和P+dispを出力する。セレクタ
15は、加算器14の出力を選択して、メモリ1にアド
レスP+dispを供給する。メモリ1は、図2に示したよ
うに、アドレスP+dispに格納されている第1の即値i
mm#1を出力してバッファレジスタ2に格納する。バ
ッファレジスタ2は、第1の即値をバス9に出力する。
セレクタ6は、第1のレジスタ選択フィールド3bを選
択してレジスタ選択デコーダ7に出力する。レジスタ選
択デコーダ7は、デコードしてレジスタ選択フィールド
3bに指定されているレジスタ(Regl)にバス9の
値を書き込むよう、レジスタファイル8に指示する制御
信号を出力する。レジスタファイル8は、バス9上に出
力されている第1の即値imm#1をReglに格納す
る。
【0024】(2)第2の即値を転送するステップ プログラムカウンタ13は、加算器14にアドレスP+
1の値を出力したあと、カウンタの値をP+2に進め
る。加算器14は、プログラムカウンタ13から出力さ
れた値P+1と命令レジスタに保持されている相対アド
レスフィールド3dの値dispとの和P+1+dispを出力
する。セレクタ15は、加算器14の出力を選択して、
メモリ1にアドレスP+1+dispを供給する。メモリ1
は、図2に示したようにアドレスP+1+dispに格納さ
れている第2の即値imm#2を出力してバッファレジ
スタ2に格納する。バッファレジスタ2は、第2の即値
をバス9に出力する。セレクタ6は、第2のレジスタ選
択フィールド3cを選択してレジスタ選択デコーダ7に
出力する。レジスタ選択デコーダ7は、デコードしてレ
ジスタ選択フィールド3cに指定されているレジスタ
(Reg2)にバス9の値を書き込むよう、レジスタフ
ァイル8に指示する制御信号を出力する。レジスタファ
イル8は、バス9上に出力されている第2の即値imm
#2をReg2に格納する。
【0025】以上のように、本実施の形態1の演算処理
装置100においては、図2に示すような複数即値命令
を含む命令セットを用いて制御することにより、複数即
値命令が、即値データ転送先のレジスタをレジスタファ
イル8の中から1度に2個指定するので、2個の即値デ
ータを2個のレジスタに転送する場合に、その命令コー
ドサイズと実行サイクルを削減することができる。すな
わち、図10(c)に示したような従来の8バイト・4
サイクルが、図2に示した6バイト・3サイクルとなる
ので、命令コードサイズと実行サイクルをともに4分の
3に削減することができる。したがって、この演算処理
装置100をLSIで実現する場合に、そのチップ面積
を削減してコストを低減できるとともに処理を高速化で
きるという効果を有する。そして実行ステップが小さく
なることによって動作周波数を小さくできるので、低消
費電力化を図ることができるという効果も有する。
【0026】なお、本実施の形態1においては、複数即
値命令において即値転送先のレジスタを1度に2個だけ
指定するようにしているが、1度に3個以上指定するよ
うにすれば、さらなる命令コードサイズの削減と処理の
高速化を図ることができる。
【0027】(実施の形態2)以下、本発明の第2の実
施の形態について説明する。図3は本発明の第2の実施
の形態における演算処理装置200の構成を示す概略ブ
ロック図である。図1における各構成要素と同じものに
は同じ符号を付して重複した説明は省略する。図1との
違いは大きく2点ある。第1点は、図1の加算器14と
セレクタ15が削除されていて、プログラムカウンタ1
3の出力が直接メモリ1に供給される点である。第2点
は、複数即値命令において、相対アドレスフィールドが
存在せず、代わりに第1および第2の転送先レジスタ指
定フィールド3bと3cがそれぞれ4ビットに増えてい
る点である。相対アドレスフィールドをなくすることが
できるのは、複数即値命令によって転送する複数の即値
データを、常に複数即値命令に後続するアドレスに記憶
するようにして、即値の相対アドレスを指定する必要を
なくしたからである。
【0028】次に、本実施の形態において、2個の即値
データをレジスタに転送する動作について、図3と図4
および図10を参照しながら説明する。図4は図10
(b)に示したような2個の即値データを2個のレジス
タに転送するプログラムを、本実施の形態における命令
セットに基づく命令コードとして、メモリ1に配置した
様子を示している。メモリ1のアドレスPには、即値転
送先レジスタ2個を指定する複数即値命令が格納されて
いる。アドレスP+1には第1の即値データ(imm#
1)が、アドレスP+2には第2の即値データ(imm
#2)が格納されている。上記の複数即値命令と2個の
即値はいずれも2バイト長であり、合計6バイトのコー
ドサイズである。以下に、2個の即値データを2個のレ
ジスタに転送する処理を、図3に示した演算処理装置2
00において3ステップで実行する場合の動作につい
て、各ステップ毎に説明する。
【0029】(1)複数即値命令の処理ステップ プログラムカウンタ13は、複数即値命令が格納されて
いるアドレスPの値を出力して、メモリ1にアドレスP
の値を供給する。メモリ1からは複数即値命令が読み出
され、バッファレジスタ2を介して命令レジスタ3に格
納される。図3にはこの状態が示してある。命令デコー
ダ4は、OPコード3aを入力してデコードし、後述す
る2ステップの間、命令レジスタ3が複数即値命令を保
持することを指示する命令レジスタ制御信号5を出力す
るとともに、転送処理を行うように各種制御信号を出力
する。セレクタ6は、第1のレジスタ選択フィールド3
bの4ビットを選択して出力する。
【0030】(2)第1の即値を転送するステップ プログラムカウンタ13は、カウンタの値をP+1に進
め、メモリ1にアドレスP+1を供給する。メモリ1
は、図4に示したようにアドレスP+1に格納されてい
る第1の即値imm#1を出力してバッファレジスタ2
に格納する。バッファレジスタ2は、第1の即値をバス
9に出力する。セレクタ6は、第1のレジスタ選択フィ
ールド3bを選択してレジスタ選択デコーダ7に出力す
る。レジスタ選択デコーダ7は、デコードしてレジスタ
選択フィールド3bに指定されているレジスタ(Reg
l)にバス9の値を書き込むよう、レジスタファイル8
に指示する制御信号を出力する。レジスタファイル8
は、バス9上に出力されている第1の即値imm#1を
Reglに格納する。
【0031】(2)第2の即値を転送するステップ プログラムカウンタ13は、カウンタの値をP+2に進
め、メモリ1にアドレスP+2を供給する。メモリ1
は、図4に示したようにアドレスP+2に格納されてい
る第2の即値imm#2を出力してバッファレジスタ2
に格納する。バッファレジスタ2は、第2の即値をバス
9に出力する。セレクタ6は、第2のレジスタ選択フィ
ールド3cを選択してレジスタ選択デコーダ7に出力す
る。レジスタ選択デコーダ7は、デコードしてレジスタ
選択フィールド3cに指定されているレジスタ(Reg
2)にバス9の値を書き込むようにレジスタファイル8
に指示する制御信号を出力する。レジスタファイル8
は、バス9上に出力されている第2の即値imm#2を
Reg2に格納する。
【0032】以上のように、本実施の形態2の演算処理
装置200においては、図4に示すような複数即値命令
を含む命令セットを用いて制御することにより、複数即
値命令が、即値データ転送先のレジスタをレジスタファ
イル8の中から1度に2個指定するので、2個の即値デ
ータを2個のレジスタに転送する場合に、その命令コー
ドサイズと実行サイクルを、実施の形態1と同様に、そ
れぞれ4分の3に削減することができる。したがって、
本発明の演算処理装置200をLSIで実現する場合
に、そのチップ面積を削減してコストを低減できるとと
もに、処理を高速化できるという効果を有する。そして
実行ステップが小さくなることによって動作周波数を小
さくできるので、低消費電力化を図ることができるとい
う効果も有する。
【0033】また、本実施の形態2においては、複数即
値命令によって転送する複数の即値データを、常に複数
即値命令に後続するアドレスに記憶するようにして、複
数即値命令中で即値の相対アドレスを指定する必要をな
くすることができる。このことにより、実施の形態1で
必要な構成要素であった加算器14とセレクタ15を削
除することができるので、LSIで実現する場合に、そ
のチップ面積を削減してコストを低減できるとともに、
低消費電力化を図ることができるという効果を有する。
【0034】なお、本実施の形態2においては、複数即
値命令において即値転送先のレジスタを1度に2個だけ
指定するようにしているが、1度に3個以上指定するよ
うにすれば、さらなる命令コードサイズの削減と処理の
高速化を図ることができる。この点に関して、本実施の
形態においては、複数即値命令中で即値の相対アドレス
を指定する必要がなくなったため、複数即値命令中でよ
り多くの即値転送先のレジスタを1度に指定できるとい
う効果も有する。
【0035】(実施の形態3)以下、本発明の第3の実
施の形態について説明する。図5は本発明の第3の実施
の形態における演算処理装置300の概略ブロック図で
ある。この演算処理装置300の構成は、ディジタル信
号処理プロセッサの特徴を備えている。すなわちデータ
メモリ間の積和演算を高速に実行するように構成してい
る。図5における構成要素の1から11までと13は、
図3と同様であるので説明は省略する。図5において、
16と17はデータメモリであり、それぞれバス10と
11にデータを出力する。18と19はアドレスレジス
タであり、それぞれデータメモリ16と17にアドレス
を供給するとともに、バス9に接続され、バス9の値を
格納することができる。20は積和演算回路であり、バ
ス10とバス11の値を乗算するとともに、その積を累
積加算し、その結果をレジスタファイル8に格納する。
なおレジスタ選択デコーダ7は、アドレスレジスタ18
と19にもバス9の値を書き込むことを指示する制御信
号を出力するように構成されている。
【0036】次に、本実施の形態において、2個の即値
データをレジスタに転送する動作について図4および図
5を参照しながら説明する。メモリ1には、実施の形態
2と同様に、図4に示すような複数即値命令を含む命令
セットに基づく命令コードが記憶されている。この時、
転送先レジスタ指定フィールド3bと3cには、レジス
タファイル8の中のレジスタだけでなく、アドレスレジ
スタ18または19も指定することができる。まず、転
送先レジスタ指定フィールド3bまたは3cが指定する
即値転送先が、レジスタファイル8のなかのレジスタの
場合は、実施の形態2の場合と全く同様に実行すること
ができる。即値転送先がアドレスレジスタ18または1
9である場合は、第1または第2の即値転送のステップ
において、レジスタ選択デコーダ7が、転送先レジスタ
指定フィールド3bまたは3cが指定するアドレスレジ
スタに、バス9の値を書き込むことを指示する制御信号
を出力することにより即値の転送を実行する。
【0037】以上のように、本実施の形態3の演算処理
装置300においては、図4に示すような複数即値命令
を含む命令セットを用いて制御することにより、複数即
値命令が、即値データ転送先のレジスタをレジスタファ
イル8とアドレスレジスタ18および19の中から1度
に2個指定するので、2個の即値データを2個のレジス
タに転送する場合に、その命令コードサイズと実行サイ
クルを、実施の形態1、2と同様に、それぞれ4分の3
に削減することができる。さらに、同じ命令コードサイ
ズと実行サイクルで、アドレスレジスタ18および19
にも即値を転送できる。したがって、本発明の演算処理
装置300をLSIで実現する場合に、そのチップ面積
を削減してコストを低減できるとともに、処理を高速化
できるという効果を有する。そして実行ステップが小さ
くなることによって動作周波数を小さくできるので、低
消費電力化を図ることができるという効果も有する。
【0038】特に、本実施の形態3の演算処理装置30
0のようなメモリ間積和演算を行う場合は、積和演算を
開始する前に、データメモリ16および17に格納され
た演算対象の2つのデータ列の先頭アドレスを、アドレ
スレジスタ18と19に即値として設定する処理が頻発
する。そこで、本発明における複数即値命令を大きい頻
度で利用できるので、上記した本発明の作用をより大き
く享受できるという効果を有する。
【0039】なお、本実施の形態3においても、複数即
値命令において即値転送先のレジスタを1度に2個だけ
指定するようにしているが、1度に3個以上指定するよ
うにすれば、さらなる命令コードサイズの削減と処理の
高速化を図ることができることは、実施の形態1と2の
場合と同じである。また、本実施の形態3においては、
即値転送先のレジスタは、レジスタファイル8内のレジ
スタとアドレスレジスタ18、19を対象として説明し
ているが、図示していない例えば周辺回路の制御レジス
タ等も複数の即値転送先として指定できるようにしても
よい。また、実施の形態1、2、3においては、説明を
簡単にするため、転送先レジスタ指定フィールド3bと
3cを別のフィールドにしているが、両者を融合して1
つのフィールドにしてもよい。すなわち、複数の転送先
レジスタの組を符号化したレジスタコードを持つように
してもよい。
【0040】(実施の形態4)以下、本発明の第4の実
施の形態について説明する。図6は本発明の第4の実施
の形態における演算処理装置400の概略ブロック図で
ある。図6において、21は即値命令検出手段としての
即値命令検出部であり、入力される命令プログラムコー
ドが、図7(a)に示すような16ビット幅の即値を含
む即値命令でああるかどうかを検出する。22は連続検
出手段としての連続検出部であり、即値命令が連続して
いることを検出する。23は即値抽出手段としての即値
抽出部であり、即値命令検出部21が即値命令を検出す
ると、入力された命令プログラムコードの下位16ビッ
トの値を即値データとして選択して出力する。24はレ
ジスタコード生成手段としてのレジスタコード生成部で
あり、連続検出部22が即値命令が連続したことを検出
すると、その連続した即値命令コードから即値データ転
送先または即値演算対象のレジスタを解読して、そのコ
ードを生成する。25は命令コード生成手段としての命
令コード生成部であり、連続検出部22が即値命令が連
続したことを検出すると、複数即値命令のOPコードを
生成するとともに、レジスタコード生成部24が出力す
るレジスタコードを合わせて複数即値命令コードとして
出力する。26はセレクタであり、連続検出部22が即
値命令が連続したことを検出すると、まず命令コード生
成部25が出力する複数即値命令のコードをオブジェク
トコードとして出力し、次に即値抽出部23が抽出した
即値を出力する。
【0041】次に、以上のように構成された命令変換装
置400に、図7(a)に示した連続する即値命令が命
令プログラムコードとして入力されたとき、図7(b)
に示した複数即値命令を含むオブジェクトコードを出力
する動作について説明する。図7(b)は即値データ転
送先または即値演算対象の複数(本実施の形態では2
個)のレジスタのコードをそれぞれ別のフィールドで指
定する場合を示してある。即値命令検出部21に図7
(a)に示した最初の即値命令が入力されると、即値命
令と判断して即値命令検出信号を出力する。即値抽出部
23は、入力された命令プログラムコードの下位16ビ
ットの値を第1の即値データ(imm#1)として選択
して出力する。次に、即値命令検出部21に図7(a)
に示した第2番目の即値命令が入力されると、即値命令
と判断して即値命令検出信号を再び出力する。即値抽出
部23は、入力された命令プログラムコードの下位16
ビットの値を第2の即値データ(imm#2)として選
択して出力する。連続検出部22は、即値命令検出部2
1から連続して即値検出信号が出力されたことを検出し
て、連続検出信号を命令コード生成部25とレジスタコ
ード生成部24に出力する。レジスタコード生成部24
は、連続した即値命令コードから即値データ転送先また
は即値演算対象のレジスタを解読して、図8(a)に示
したレジスタコード表に基づいて、そのコードを生成し
て命令コード生成部25に出力する。命令コード生成部
25は、複数即値命令のOPコードを生成するととも
に、レジスタコード生成部24が出力するレジスタコー
ドを合わせて複数即値命令コードとして出力する。セレ
クタ26は、まず命令コード生成部25が出力した複数
即値命令コードを選択して出力した後、即値抽出部23
が連続して出力した第1および第2の即値データを連続
して出力する。なお、図8中のreg#0、1、2、3
は図5のレジスタファイル8中のレジスタを示してお
り、AR#0、AR#1はそれぞれアドレスレジスタ1
8と19を示している。
【0042】以上のように、本実施の形態4における命
令変換装置400では、連続する複数の即値命令を一個
の複数即値命令に変換することができる。これにより、
図7に示すように従来合計8バイトの命令コードサイズ
を6バイトに削減することができる。また、本実施の形
態4における命令変換装置400で変換した命令コード
を用いれば、命令メモリの容量を削減することができる
ので、プロセッサをLSIで実現する場合に、そのチッ
プ面積を削減してコストを低減でき、命令メモリの読み
出しに伴う消費電力を低減できるという効果を有する。
【0043】(実施の形態5)以下、本発明の第5の実
施の形態について説明する。本実施の形態における命令
変換装置の構成は図6に示した第4の実施の形態におけ
る命令変換装置400と同じなので、構成についての説
明は省略する。
【0044】次に、以上のように構成された命令変換装
置400において、図7(a)に示した連続する即値命
令が命令プログラムコードとして入力されたとき、図7
(c)に示した複数即値命令を含むオブジェクトコード
を出力する動作について説明する。図7(c)は即値デ
ータ転送先または即値演算対象の複数(本実施の形態で
は2個)のレジスタを組にして、1つのフィールドで指
定する場合を示してある。即値命令検出部21に図7
(a)に示した最初の即値命令が入力されると、即値命
令と判断して即値命令検出信号を出力する。即値抽出部
23は、入力された命令プログラムコードの下位16ビ
ットの値を第1の即値データ(imm#1)として選択
して出力する。次に、即値命令検出部21に図7(a)
に示した第2番目の即値命令が入力されると、即値命令
と判断して即値命令検出信号を再び出力する。即値抽出
部23は、入力された命令プログラムコードの下位16
ビットの値を第2の即値データ(imm#2)として選
択して出力する。連続検出部22は、即値命令検出部2
1から連続して即値検出信号が出力されたことを検出し
て、連続検出信号を命令コード生成部25とレジスタコ
ード生成部24に出力する。レジスタコード生成部24
は、連続した即値命令コードから即値データ転送先また
は即値演算対象のレジスタを解読して、図8(b)に示
したレジスタコード表に基づいて、そのコードを生成し
て命令コード生成部25に出力する。このとき、指定す
るレジスタの順序が逆の場合も同じコードを発生する。
命令コード生成部25は、複数即値命令のOPコードを
生成するとともに、レジスタコード生成部24が出力す
るレジスタコードを合わせて複数即値命令コードとして
出力する。セレクタ26は、まず命令コード生成部25
が出力した複数即値命令コードを選択して出力した後、
即値抽出部23が連続して出力した第1および第2の即
値データを連続して出力する。ただし即値データを出力
する順番は、図8(b)に示したレジスタコード表のレ
ジスタの組に示したレジスタの順番に対応した順番で出
力する。なお、図8中のreg#0、1、2、3は図5
のレジスタファイル8中のレジスタを示しており、AR
#0、AR#1はそれぞれアドレスレジスタ18と19
を示している。
【0045】以上のように、本実施の形態5における命
令変換装置400では、連続する複数の即値命令を一個
の複数即値命令に変換することができる。これにより、
図7に示すように従来合計8バイトの命令コードサイズ
を6バイトに削減することができる。また、本実施の形
態5における命令変換装置400で変換した命令コード
を用いれば、命令メモリの容量を削減することができる
ので、プロセッサをLSIで実現する場合に、そのチッ
プ面積を削減してコストを低減でき、命令メモリの読み
出しに伴う消費電力を低減できるという効果を有する。
さらに、本実施の形態5においては、レジスタコード生
成部22が、即値データ転送先または即値演算対象の複
数(本実施の形態では2個)のレジスタを組にして符号
化したレジスタコードを出力することにより、より多く
の即値データ転送先または即値演算対象の複数のレジス
タの組を表すことができるという効果を有する。なぜな
ら、図8(a)に示したように、実施の形態4では、R
eglフィールドとReg2フィールドの合計4ビット
で、レジスタ4個の組み合わせを表すのが限界であった
が、本実施の形態5では、図8(b)に示したように4
ビットのコードで表せる16通りのうち、レジスタ4個
の組み合わせは6通りしか使用しないので、残りの10
通りには、別のレジスタの組(例えば表中に示したレジ
スタreg#2、reg#3の組など)を割り当てるこ
とができるからである。
【0046】(実施の形態6)次に、本発明の第6の実
施の形態について、説明する。図9は本発明の第6の実
施の形態における演算処理装置の概略ブロック図であ
る。図9において、命令変換装置400と演算処理装置
300の構成は、それぞれ実施の形態3および4または
5に示したものと同様である。命令変換装置400によ
って変換された命令コードを、演算処理装置300にお
いて命令記憶手段としてのメモリ1に記憶する構成とな
っている。
【0047】本実施の形態における演算処理装置300
の動作は第3の実施の形態で説明した動作と同様であ
る。また、実施の形態4で説明した動作によって命令変
換装置400が出力したオブジェクトコードを、メモリ
1に記憶することにより、複数即値命令が、即値データ
転送先のレジスタをレジスタファイル8とアドレスレジ
スタ18および19の中から1度に2個指定するので、
2個の即値データを2個のレジスタに転送する場合に、
その命令コードサイズと実行サイクルを、実施の形態
1、2、3と同様に、それぞれ4分の3に削減すること
ができる。さらに、同じ命令コードサイズと実行サイク
ルで、アドレスレジスタ18または19にも即値を転送
できる。したがって、本発明の演算処理装置300をL
SIで実現する場合に、そのチップ面積を削減してコス
トを低減できるとともに処理を高速化できるという効果
を有する。そして実行ステップが小さくなることによっ
て動作周波数を小さくできるので、低消費電力化を図る
ことができるという効果も有する。
【0048】
【発明の効果】以上の説明から明らかなように、本発明
の演算処理装置および命令変換装置は、小さい命令コー
ドサイズで高速に、即値データを対象とする転送または
演算処理を可能とし、即値データを読み出す際の消費電
力を低減し、かつ、小型化が容易になるという有利な効
果を有する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における演算処理装
置の構成を示すブロック図
【図2】本発明の演算処理装置における命令セットを例
示する一覧図
【図3】本発明の第2の実施の形態における演算処理装
置の構成を示すブロック図
【図4】本発明の演算処理装置における命令セットを例
示する一覧図
【図5】本発明の第3の実施の形態における演算処理装
置の構成を示すブロック図
【図6】本発明の第4および第5の実施の形態における
命令変換装置の構成を示すブロック図
【図7】(a)、(b)、(c)本発明の命令変換装置
における命令セットを従来例と比較して例示するデータ
構造図
【図8】(a)、(b)本発明の命令変換装置における
命令セットにおけるレジスタコードを例示する一覧図
【図9】本発明の第6の実施の形態における演算処理装
置の構成を示すブロック図
【図10】(a)従来の演算処理装置における命令セッ
トを例示するデータ構造図 (b)従来の演算処理装置における2個のイミディエト
データをレジスタに転送するプログラムを例示する記号
図 (c)従来の演算処理装置における命令コード配置とコ
ードサイズおよび実行サイクル数を例示する一覧図
【符号の説明】
1 メモリ 2 バッファレジスタ 3 命令レジスタ 4 命令デコード 5 制御信号 6 セレクタ 7 レジスタ選択デコード 8 レジスタファイル 9、10、11 バス 13 プログラムカウンタ 16、17 データメモリ 18、19 アドレスレジスタ 20 積和演算回路 21 即値命令検出部 22 連続検出部 23 即値抽出部 24 レジスタコード生成部 25 命令コード生成部 26 セレクタ 100、200、300 演算処理装置 400 命令変換装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 命令コードを記憶する命令記憶手段と、
    この命令記憶手段にアドレスを供給するプログラムカウ
    ンタとを備えた演算処理装置であって、少なくとも即値
    データ転送先または即値演算対象のレジスタをN個(N
    は2以上)指定する複数即値命令を有する命令セットを
    備えることを特徴とする演算処理装置。
  2. 【請求項2】 命令記憶手段が、複数即値命令によって
    転送する複数の即値データを前記複数即値命令に後続す
    るアドレスに記憶することを特徴とする請求項1記載の
    演算処理装置。
  3. 【請求項3】 データを記憶するデータ記憶手段と、こ
    のデータ記憶手段のアドレスを記憶するアドレスレジス
    タとを備え、即値データ転送先または即値演算対象のレ
    ジスタが前記アドレスレジスタであることを特徴とする
    請求項1または2記載の演算処理装置。
  4. 【請求項4】 即値命令を検出する手段と、即値命令が
    連続していることを検出する連続検出手段と、即値命令
    から即値データを抽出する即値抽出手段と、即値命令か
    ら即値データ転送先または即値演算対象のレジスタのコ
    ードを生成するレジスタコード生成手段と、前記連続検
    出手段とレジスタコード生成手段に接続されて複数即値
    命令のコードを生成する命令コード生成手段とを備えた
    命令変換装置。
  5. 【請求項5】 レジスタコード生成手段が、即値データ
    転送先または即値演算対象の複数のレジスタを組にして
    符号化したレジスタコードを生成することを特徴とする
    請求項4記載の命令変換装置。
  6. 【請求項6】 請求項4または5記載の命令変換装置に
    よって変換された命令を使用することを特徴とする請求
    項1から3のいずれかに記載の演算処理装置。
JP8119372A 1996-05-14 1996-05-14 演算処理装置および命令変換装置 Pending JPH09305398A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8119372A JPH09305398A (ja) 1996-05-14 1996-05-14 演算処理装置および命令変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8119372A JPH09305398A (ja) 1996-05-14 1996-05-14 演算処理装置および命令変換装置

Publications (1)

Publication Number Publication Date
JPH09305398A true JPH09305398A (ja) 1997-11-28

Family

ID=14759884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8119372A Pending JPH09305398A (ja) 1996-05-14 1996-05-14 演算処理装置および命令変換装置

Country Status (1)

Country Link
JP (1) JPH09305398A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026106A (ja) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd 命令コード圧縮方法と命令フェッチ回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009026106A (ja) * 2007-07-20 2009-02-05 Oki Electric Ind Co Ltd 命令コード圧縮方法と命令フェッチ回路

Similar Documents

Publication Publication Date Title
US7069423B2 (en) Microcomputer
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JPH08106375A (ja) 信号処理演算器
JPH09269895A (ja) データ処理装置
EP0315139B1 (en) Microprocessor
JP3781519B2 (ja) プロセッサの命令制御機構
JPH09305398A (ja) 演算処理装置および命令変換装置
JP2806075B2 (ja) マイクロコンピュータ
JP3867804B2 (ja) 集積回路装置
JP5633303B2 (ja) リコンフィグ可能なlsi
US5765013A (en) Digital signal processor
JP3525582B2 (ja) ビット操作回路
JP2003196156A (ja) 情報処理装置および情報処理方法
JP3182497B2 (ja) 演算処理装置および命令変換装置
JP2001092658A (ja) データ処理回路及びデータ処理装置
JPH1040165A (ja) データ読み出し方法およびリードバッファ
JP2001142696A (ja) マイクロプロセッサにおける命令供給装置および命令供給方法
JP2004302827A (ja) マイクロコントローラ
JP2008003867A (ja) マイクロコンピュータ
JP2004302647A (ja) ベクトルプロセッサおよびレジスタのアドレス指定方法
JPH07146791A (ja) 命令デコード装置
JP3787951B2 (ja) コード変換方法及びこれを用いたコード変換装置
JP2006092158A (ja) デジタル信号処理回路
JP3474347B2 (ja) マイクロコンピュータの命令解読部
JP3488059B2 (ja) 割り込みアドレス拡張回路