JPH11143710A - 処理対象値入力装置及びプログラム変換装置 - Google Patents

処理対象値入力装置及びプログラム変換装置

Info

Publication number
JPH11143710A
JPH11143710A JP9302012A JP30201297A JPH11143710A JP H11143710 A JPH11143710 A JP H11143710A JP 9302012 A JP9302012 A JP 9302012A JP 30201297 A JP30201297 A JP 30201297A JP H11143710 A JPH11143710 A JP H11143710A
Authority
JP
Japan
Prior art keywords
instruction
output value
value
parallelized
designating
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
JP9302012A
Other languages
English (en)
Inventor
Nobuteru Tominaga
宣輝 富永
Naosuke Haruna
修介 春名
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 JP9302012A priority Critical patent/JPH11143710A/ja
Publication of JPH11143710A publication Critical patent/JPH11143710A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 演算結果やメモリからの読み出し結果を記憶
し、その記憶した値を用いる命令フォーマットを用いる
ことにより、命令語中のレジスタ指定部分を短縮し、プ
ログラムサイズを圧縮することを可能とする処理対象値
入力装置を提供する。 【解決手段】 いわゆるLIW或いはVLIWアーキテ
クチャのマイクロプロセッサにおいて、演算器712の
演算結果を演算結果記録部714が記憶し、前記演算結
果の値を用いて所定の処理を実行する旨の命令に対応し
て、演算結果記録部714に記憶された値を演算器71
2等に入力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サにおいて処理の対象となる値を実行回路に入力する処
理対象値入力装置、及び未並列化命令列からなるプログ
ラムを並列化命令列からなるプログラムに変換するため
のプログラム変換装置に関する。
【0002】
【従来の技術】従来からプロセッサの並列処理のアーキ
テクチャとして、LIW(LongInstructi
on Word)或いはVLIW(Very Long
Instruction Word)と呼ばれるアー
キテクチャがある。このアーキテクチャは、並列処理の
スケジューリングをコンパイラ等のソフトウェアによっ
て行うものであり、コンパイラ等は並列動作実現する比
較的長い機械語命令を生成する。
【0003】以下、従来の技術について図を用いて説明
する。図3は、従来のLIW或いはVLIWと呼ばれる
アーキテクチャを持つマイクロプロセッサの命令フォー
マットの例を示す図である。命令全体の語長は80ビッ
トであり、1命令は、メモリアクセス用のユニット、整
数演算用のユニット、アドレス演算用のユニット、浮動
小数点演算用のユニット、分岐用のユニットの5つのユ
ニットからなる。従って、同図に示すモデルでは、メモ
リアクセス、整数演算、アドレス演算、浮動小数点演
算、分岐を同時に処理可能である。
【0004】このことは、ヘネシー&パターソン著『コ
ンピュータ・アーキテクチャ』(日経BP出版センター)
及び馬場敬信著『コンピュータアーキテクチャ(p31
7)』(オーム社)に記述されている。図4は、各ユニ
ットの詳細フォーマットを示す図である。同図に示すモ
デルでは、1つのユニットが16ビットであり、命令の
動作の別を表す命令種別フィールドと、2つのレジスタ
指定フィールドを有する。
【0005】命令種別フィールドは6ビットあり、ユニ
ット毎に64種類の命令を区別することができ、レジス
タ指定フィールドは5ビットあり、32本の汎用レジス
タを区別することができる。図5は、LIW或いはVL
IWと呼ばれるアーキテクチャを持つマイクロプロセッ
サのハードウェア構成の一部を示す図である。
【0006】マイクロプロセッサ100は、レジスタ1
1と、整数演算器12と、メモリ13と、整数演算器1
2への入力配線1211及び1212と、整数演算器1
2からの出力配線122と、レジスタ11からメモリ1
3へのアドレス配線131と、レジスタ11からメモリ
13へのデータ配線132と、メモリ13からレジスタ
11へのデータ配線133とを備える。
【0007】レジスタ11は、演算結果やアドレス等の
値を保持するものである。入力配線1211及び121
2は、レジスタ11のうち任意の2つのレジスタの値を
整数演算器12に渡すための配線である。出力配線12
2は、整数演算器12の演算結果をレジスタ11に渡す
ための配線である。
【0008】アドレス配線131は、レジスタ11のう
ち任意のレジスタの値をアドレス値としてメモリ13の
読み書きのアクセスに用いるための配線である。データ
配線132は、アドレス配線131で示されるメモリア
ドレスへレジスタ11のうち任意のレジスタの値を書き
込むための配線である。データ配線133は、アドレス
配線131で示されるメモリアドレスの内容をレジスタ
11のうち任意のレジスタへ書き込むための配線であ
る。
【0009】なお、アドレス演算器又は浮動少数点演算
器についても、整数演算器12と整数演算器12への入
力配線1211及び1212と整数演算器12からの出
力配線122とからなる構成における整数演算器12の
代わりにアドレス演算器又は浮動小数点演算器を置き換
えたものと同様であるため、説明を省略する。この従来
例におけるマイクロプロセッサの動作を、図を用いて説
明する。
【0010】図6は、命令の例を示す図である。同図で
は図5に示すハードウェア構成で動作する様子を示すた
め、整数演算ユニットとメモリアクセスユニットからな
る命令を示している。同図に示す命令501は、レジス
タR1とR2の内容を加算した結果をR2に格納し、こ
れと同時にR3でアドレスが示されるメモリの内容をR
0に格納する命令である。
【0011】また、命令501に続く命令502は、レ
ジスタR0とR1の内容を加算した結果をR1に格納
し、これと同時にR2でアドレスが示されるメモリの内
容をR3に格納する命令である。命令501、命令50
2を実現するために必要なビット数はそれぞれ2つのユ
ニットを使用するものであり32ビットである(図3、
図4参照)。
【0012】ここで、これらの命令の実行動作を説明す
る。 <命令501>(1)まず命令501の実行動作として
レジスタ11のうちR1とR2の内容が、入力配線12
11および1212を通じて整数演算器12に渡され
る。 (2)整数演算器12は渡された2つの値を加算する。
加算結果は出力配線122を通じてレジスタ11のうち
レジスタR2に書き込まれる。
【0013】(3)上記(1)と同時に、レジスタ11
のうちレジスタR3の内容は、アドレス配線131を通
じてメモリ13に渡される。 (4)メモリ13は渡された値をアドレス値として値を
読み出す。読み出した結果はデータ配線133を通じて
レジスタ11のうちレジスタR0に書き込まれる。
【0014】<命令502> (5)次に命令502が実行され、レジスタ11のうち
R0とR1の内容が、入力配線1211および1212
を通じて整数演算器12に渡される。 (6)整数演算器12は渡された2つの値を加算する。
加算結果は出力配線122を通じてレジスタ11のうち
レジスタR1に書き込まれる。
【0015】(7)上記(5)と同時に、レジスタ11
のうちレジスタR2の内容は、アドレス配線131を通
じてメモリ13に渡される。 (8)メモリ13は渡された値をアドレス値として値を
読み出す。読み出した結果はデータ配線133を通じて
レジスタ11のうちレジスタR3に書き込まれる。
【0016】このように、従来のマイクロプロセッサ
は、2つのレジスタ指定フィールドを有する命令フォー
マットを扱い、この命令フォーマットで作成されたプロ
グラムの動作を実行していた。
【0017】
【発明が解決しようとする課題】しかしながら、上述し
たLIW或いはVLIWと呼ばれるアーキテクチャにお
いては、プログラムのコードサイズが大きくなる問題が
ある。プログラムのコードサイズが大きくなることは、
キャッシュヒット率が低下しプログラムの実行性能が劣
化すること、或いは、製品に搭載するROMの大きさが
増加し製品が高価格になること等の問題を引き起こす。
【0018】これは、前記『コンピュータ・アーキテク
チャ』に記載されているループアンローリングによる同
種処理を複数回記述することに起因するもの、及び、十
分に並列化できなかった結果未使用となった処理ユニッ
トに対応するフィールドは無駄になることに起因するも
のの2点以外に、オフセット指定が不要なときのオフセ
ット指定フィールドや、レジスタ指定が不要なときのレ
ジスタ指定フィールド等、各処理ユニット中の不要なフ
ィールドが無駄になるということにも起因する。
【0019】そこで、本発明は、かかる問題点に鑑み、
レジスタ指定が不要なときのレジスタフィールドの無駄
を防止する手段を用いてプログラムのコードサイズを減
少させるものであり、マイクロプロセッサ設計の際に、
レジスタを指定するフィールドを不要とする命令を含む
命令フォーマットを定めることを可能とするための処理
対象値入力装置、及び未並列化命令列からなるプログラ
ムを当該処理対象値入力装置を備えるマイクロプロセッ
サに適合する並列化命令列からなるプログラムに変換す
るためのプログラム変換装置を提供することを目的とす
る。
【0020】
【課題を解決するための手段】上記課題を解決するため
に本発明に係る処理対象値入力装置は、1命令中に複数
の処理を指定する命令フォーマットを有する命令を読み
込み、前記命令で指定された複数の処理を複数の実行回
路を用いて並列に実行するマイクロプロセッサにおい
て、前記複数の実行回路のうち少なくとも1つの実行回
路に処理対象値を入力する処理対象値入力装置であっ
て、前記複数の実行回路のうち少なくとも1つの実行回
路から実行結果が出力される毎に当該実行結果として出
力される値を記録する出力値記録手段と、所定の命令に
対応して前記出力値記録手段に記録された値を前記複数
の実行回路のうち少なくとも1つの実行回路に入力する
出力値入力手段とを備えることを特徴とする。
【0021】これにより、前記出力値記録手段は、命令
中の命令種別フィールド又はレジスタ指定フィールドで
記録すべき指示を何等指定しなくても、実行回路の実行
結果を記録し、この記録した値を利用する必要がある場
合には、命令中のレジスタフィールドでの指定を要さず
に、実行回路の入力とすることができるため、即ち、実
行結果の受け渡しに明示的なレジスタを用いないため、
マイクロプロセッサの設計において、レジスタ指定を一
部削減した命令フォーマットを採用することが可能とな
り、このマイクロプロセッサに対応するプログラムのサ
イズを小さなものにすることができる。
【0022】また、本発明に係るプログラム変換装置
は、処理対象値入力装置を備えるマイクロプロセッサに
対するプログラム変換装置であって、1命令で1処理を
指定する命令フォーマットの未並列化命令列を1命令中
に複数の処理を指定する命令フォーマットの並列化命令
列に変換する並列化手段を備え、前記並列化手段は、前
記未並列化命令列中に第1の処理を指定する第1の命令
と第1の処理の結果を用いて第2の処理を指定する第2
の命令とがある場合に、第2の命令を含む一群の命令
を、前記処理対象値入力装置における出力値入力手段を
使用する処理指定を含む並列化命令に変換することを特
徴とする。
【0023】これにより、未並列化命令列中に第1の処
理を指定する第1の命令と、第1の処理の結果を用いて
行う第2の処理を指定する第2の命令とがある場合に、
レジスタ指定を一部削減した命令フォーマットを用いた
並列化命令列に変換することが可能となり、生成するプ
ログラムのサイズを小さなものにすることができる。
【0024】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を用いて説明する。 <構成>図1は、実施の形態における本発明に係る処理
対象値入力装置を備えたマイクロプロセッサの構成図で
ある。
【0025】ここで、処理対象値入力装置は、マイクロ
プロセッサ7100において、処理の対象となる値を指
定する装置であり、演算結果記録部714と、読み出し
結果記録部715と、整数演算器712への入力配線7
141及び7151と、整数演算器712からの出力配
線7144と、演算結果記録部714からメモリ713
へのアドレス配線7142及びデータ配線7143と、
読み出し結果記録部からメモリ713へのアドレス配線
7152及びデータ配線7153と、メモリ713から
読み出し結果記録部715へのデータ配線7154とを
備える。
【0026】本実施の形態におけるマイクロプロセッサ
7100が、従来例におけるマイクロプロセッサ100
の構成と異なる点は、処理対象値入力装置を備えた点で
あり、レジスタ711と、整数演算器712と、メモリ
713と、演算結果記録部714と、読み出し結果記録
部715と、整数演算器712への入力配線7121
1、71212、7141及び7151と、整数演算器
712からの出力配線7122及び7144と、レジス
タ711からメモリ713へのアドレス配線7131
と、レジスタ711からメモリ713へのデータ配線7
132と、メモリ713からレジスタ711へのデータ
配線7133と、演算結果記録部714からメモリ71
3へのアドレス配線7142及びデータ配線7143
と、読み出し結果記録部からメモリ713へのアドレス
配線7152及びデータ配線7153と、メモリ713
から読み出し結果記録部715へのデータ配線7154
とを備える。
【0027】レジスタ711は、従来例のレジスタ11
と同等であり演算結果やアドレス等の値を保持するもの
である。入力配線71211及び71212は、従来例
の入力配線1211及び1212と同等であり、レジス
タ711のうち任意の2つのレジスタの値を整数演算器
712に渡すための配線である。
【0028】出力配線7122は、従来例の出力配線1
22と同等であり、整数演算器712の演算結果をレジ
スタ711に渡すための配線である。アドレス配線71
31は、従来例のアドレス配線131と同等であり、レ
ジスタ711のうち任意のレジスタの値をアドレス値と
してメモリ713の読み書きのアクセスに用いるための
配線である。
【0029】データ配線7132は、従来例のデータ配
線132と同等であり、アドレス配線7131で示され
るメモリアドレスへレジスタ711のうち任意のレジス
タの値を書き込むための配線である。データ配線713
3は、従来例のデータ配線133と同等であり、アドレ
ス配線7131で示されるメモリアドレスの内容をレジ
スタ711のうち任意のレジスタへ書き込むための配線
である。
【0030】整数演算器712は、拡張された整数演算
器であり、従来例の整数演算器12の機能に加え、演算
結果記録部714に記録された値を用いて演算を行なう
機能と、読み出し結果記録部715に記録された値を用
いて演算を行なう機能を有するものである。メモリ71
3は、拡張されたメモリであり、従来例のメモリ13の
機能に加え、演算結果記録部714に記録された値をア
ドレスとしてメモリアクセスを行なう機能と、演算結果
記録部714に記録された値をメモリへ書き込む機能
と、読み出し結果記録部715に記録された値を用いて
メモリアクセスを行なう機能と、読み出し結果記録部7
15に記録された値をメモリへ書き込む機能を有するも
のである。
【0031】演算結果記録部714は、整数演算器71
2の出力を保持しておき、整数演算器712あるいはメ
モリ713の入力とすることを可能にするものである。
入力配線7141は、演算結果記録部714から整数演
算器712への配線であり、これを通じて演算結果記録
部714に保持されている値が整数演算器712に渡さ
れる。
【0032】アドレス配線7142は、演算結果記録部
714からメモリ713へのアドレス配線であり、これ
を通じて演算結果記録部714に保持されているアドレ
ス値がメモリ713に渡される。データ配線7143
は、演算結果記録部714からメモリ713へのデータ
配線であり、これを通じて演算結果記録部714に保持
されているデータ値がメモリ713に渡される。
【0033】読み出し結果記録部715は、メモリ71
3から読み出された値を保持しておき、整数演算器71
2あるいはメモリ713の入力とすることを可能とする
ものである。入力配線7151は読み出し結果記録部7
15から整数演算器712への配線であり、これを通じ
て読み出し結果記録部715に保持されている値が整数
演算器712に渡される。
【0034】アドレス配線7152は、読み出し結果記
録部からメモリ713へのアドレス配線であり、これを
通じて読み出し結果記録部715に保持されているアド
レス値がメモリ713に渡される。データ配線7153
は、読み出し結果記録部715からメモリ713へのデ
ータ配線であり、これを通じて読み出し結果記録部71
5に保持されているデータ値がメモリ713に渡され
る。
【0035】なお、入力配線71212、7141、7
151のうち1つの選択や、アドレス配線7131、7
142、7152のうち1つの選択や、データ配線71
43、7132、7153のうち1つの選択は、実行す
る命令の種別に応じてなされる。 <動作>上記構成を備える本発明に係る処理対象値入力
装置の動作を、図2を用いて説明する。
【0036】図2は、命令の例を示す図である。同図で
は従来例と対比すべく、整数演算ユニットとメモリアク
セスユニットからなる命令を示している。同図に示す命
令801は、読み出し結果記憶部の内容とR1の内容と
を加算した結果をR1に格納し、これと同時に演算結果
記憶部の値でアドレスが示されるメモリの内容をR3に
格納する命令である。
【0037】ここで、命令801の実行動作を説明す
る。 (1)まず、読み出し結果記録部715の内容は入力配
線7151を通じて整数演算器712に渡される。 (2)レジスタ711のうちR1の内容は、入力配線7
1212を通じて整数演算器712に渡される。
【0038】(3)整数演算器712は渡された2つの
値を加算する。加算した結果は出力配線7122を通じ
てレジスタ711のうちR1に書き込まれると同時に、
演算結果記録部714に書き込まれる。 (4)上記(1)と同時に、演算結果記録部714の内
容は、アドレス配線7142を通じてメモリ713に渡
される。
【0039】(5)メモリ713は渡された値をアドレ
ス値としてデータ値を読み出す。結果はデータ配線71
33を通じてレジスタ711のうちR3に書き込まれる
と同時に、読み出し結果記録部715に書き込まれる。
従って、命令801の実行前に、例えば従来例で示した
命令501のような動作が実行されていたとすれば、即
ちR0にはメモリ読み出しの結果が入り、またR2には
整数演算の結果が入っているとすれば、命令801の動
作は、従来例で示した命令502と同様の動作を結果的
に実現することとなる。
【0040】このように命令801は、整数演算器の演
算結果とメモリの読み出し結果とを利用するため、整数
演算ユニットにおけるレジスタの指定数は1であり、ま
た、メモリアクセスユニットにおけるレジスタの指定数
も1であるにも関わらず、特定の演算又はメモリアクセ
ス動作を実現する命令となっている。このため命令80
1を実現するために必要なビット数は、従来例の命令フ
ォーマットに準拠して比較すれば(図4参照)、ユニッ
ト毎にレジスタ指定フィールドが1つ不要なため22ビ
ットであり、従来例より10ビット少ない。
【0041】上述したように、本実施の形態に示したマ
イクロプロセッサ7100は、演算結果記録部714と
読み出し結果記録部715とを、いわば作業用レジスタ
のごとく扱うことができる。従って、マイクロプロセッ
サ7100に対応する命令フォーマットは、前記作業用
レジスタを暗示的に指定するユニットで構成される命令
を用いることができ、ユニットのレジスタ指定フィール
ドが1つで足りることにより短いものとなり、これによ
りプログラムのサイズを小さくすることができる。 <プログラム変換装置>以下、未並列化命令列からなる
プログラムを、上述の処理対象値入力装置を備えるマイ
クロプロセッサに対応する並列化命令列からなるプログ
ラムに変換するための本実施の形態におけるプログラム
変換装置について説明する。
【0042】本実施の形態におけるプログラム変換装置
は、未並列化命令列をLIW或いはVLIWと呼ばれる
アーキテクチャに適合する命令フォーマットの並列化命
令列に変換する並列化部を備える。当該並列化部は、未
並列化命令列中に、演算処理を実行するための命令と、
当該演算の結果をアドレス値として使用するメモリアク
セスの命令とが連続している場合に、後の命令を上述の
マイクロプロセッサの演算器の出力結果を用いた処理を
実行するための命令とする。
【0043】例えば、レジスタR1とR2の加算をする
命令と、その加算結果をアドレス値としてメモリアクセ
スしてR3に読み出すメモリアクセス命令が未並列化命
令列中にあった場合に、当該メモリアクセス命令を「l
dalureg R3」のようなアドレス値の格納レジ
スタを指定しない命令に変換する。このようにして、本
実施の形態におけるプログラム変換装置は、上述の処理
対象値入力装置の説明で示したような命令801等を生
成する(図2参照)。
【0044】以上、本発明に係る処理対象値入力装置及
びプログラム変換装置について、実施形態に基づいて説
明したが、本発明はこれら実施形態に限られないことは
勿論である。即ち、 (1)実施の形態では、整数演算器712とメモリ71
3について説明したが、処理対象値入力装置の扱う対象
となる回路は、これらに限定されることはなく、浮動少
数点演算器等の他の実行回路についても同様に扱うこと
ができる。このためには、実施の形態に示した構成と同
様に(図1参照)、実行回路の実行結果を記録する記録
部と、当該記録部が記録している値を前記実行回路又は
他の実行回路の入力に導く配線を備えればよい。 (2)実施の形態では、従来例との比較のため1ユニッ
トが22ビットとしたが、これに限定されることはな
く、1ユニットのビット長や命令フォーマットは、マイ
クロプロセッサの設計において自由に定めることができ
る。
【0045】
【発明の効果】以上の説明から明らかなように、本発明
に係る処理対象値入力装置は、1命令中に複数の処理を
指定する命令フォーマットを有する命令を読み込み、前
記命令で指定された複数の処理を複数の実行回路を用い
て並列に実行するマイクロプロセッサにおいて、前記複
数の実行回路のうち少なくとも1つの実行回路に処理対
象値を入力する処理対象値入力装置であって、前記複数
の実行回路のうち少なくとも1つの実行回路から実行結
果が出力される毎に当該実行結果として出力される値を
記録する出力値記録手段と、所定の命令に対応して前記
出力値記録手段に記録された値を前記複数の実行回路の
うち少なくとも1つの実行回路に入力する出力値入力手
段とを備えることを特徴とする。
【0046】これにより、前記出力値記録手段は、命令
中の命令種別フィールド又はレジスタ指定フィールドで
記録すべき指示を何等指定しなくても、実行回路の実行
結果を記録し、この記録した値を利用する必要がある場
合には、命令中のレジスタフィールドでの指定を要さず
に、実行回路の入力とすることができるため、即ち、実
行結果の受け渡しに明示的なレジスタを用いないため、
マイクロプロセッサの設計において、レジスタ指定を一
部削減した命令フォーマットを採用することが可能とな
り、このマイクロプロセッサに対応するプログラムのサ
イズを小さなものにすることができる。
【0047】ここで、前記複数の実行回路のうち少なく
とも1つは演算器であって、前記出力値記録手段は、少
なくとも1つの演算器の出力値を記録し、前記出力値入
力手段は、前記出力値記録手段に記録された値を少なく
とも1つの演算器に入力することとすることもできる。
これにより、演算器の演算結果を、演算器への入力の1
つとするような処理について、演算器への入力の1つに
ついてのレジスタ指定を明示的に行わない命令によって
実現することができるため、当該処理を記述しているプ
ログラムのサイズを小さなものにすることができる。
【0048】また、前記複数の実行回路のうち少なくと
も1つは演算器であり少なくとも1つはメモリアクセス
回路であって、前記出力値記録手段は、少なくとも1つ
の演算器の出力値を記録し、前記出力値入力手段は、前
記出力値記録手段に記録された値を少なくとも1つのメ
モリアクセス回路にアドレス値として入力することとす
ることももできる。
【0049】これにより、演算器の演算結果を、メモリ
アクセスのアドレス値とするような処理について、メモ
リアクセスのアドレス値についてのレジスタ指定を明示
的に行わない命令によって実現することができるため、
当該処理を記述しているプログラムのサイズを小さなも
のにすることができる。また、前記複数の実行回路のう
ち少なくとも1つは演算器であり少なくとも1つはメモ
リアクセス回路であって、前記出力値記録手段は、少な
くとも1つの演算器の出力値を記録し、前記出力値入力
手段は、前記出力値記録手段に記録された値を少なくと
も1つのメモリアクセス回路に書込用の値として入力す
ることとすることもできる。
【0050】これにより、演算器の演算結果を、メモリ
への書き込み値とするような処理について、メモリへの
書き込み値についてのレジスタ指定を明示的に行わない
命令によって実現することができるため、当該処理を記
述しているプログラムのサイズを小さなものにすること
ができる。また、前記複数の実行回路のうち少なくとも
1つは演算器であり少なくとも1つはメモリアクセス回
路であって、前記出力値記録手段は、少なくとも1つの
メモリアクセス回路からの読み出し値を記録し、前記出
力値入力手段は、前記出力値記録手段に記録された値を
少なくとも1つの演算器に入力することとすることもで
きる。
【0051】これにより、メモリからの読み出し値を、
演算器への入力の1つとするような処理について、演算
器への入力の1つについてのレジスタ指定を明示的に行
わない命令によって実現することができるため、当該処
理を記述しているプログラムのサイズを小さなものにす
ることができる。また、前記複数の実行回路のうち少な
くとも1つはメモリアクセス回路であって、前記出力値
記録手段は、少なくとも1つのメモリアクセス回路から
の読み出し値を記録し、前記出力値入力手段は、前記出
力値記録手段に記録された値を少なくとも1つのメモリ
アクセス回路にアドレス値として入力することとするこ
ともできる。
【0052】これにより、メモリからの読み出し値を、
メモリアクセスのアドレス値とするような処理につい
て、メモリアクセスのアドレス値についてのレジスタ指
定を明示的に行わない命令によって実現することができ
るため、当該処理を記述しているプログラムのサイズを
小さなものにすることができる。また、前記複数の実行
回路のうち少なくとも1つはメモリアクセス回路であっ
て、前記出力値記録手段は、少なくとも1つのメモリア
クセス回路からの読み出し値を記録し、前記出力値入力
手段は、前記出力値記録手段に記録された値を少なくと
も1つのメモリアクセス回路に書込用の値として入力す
ることとすることもできる。
【0053】これにより、メモリからの読み出し値を、
メモリへの書き込み値とするような処理について、メモ
リへの書き込み値についてのレジスタ指定を明示的に行
わない命令によって実現することができるため、当該処
理を記述しているプログラムのサイズを小さなものにす
ることができる。また、本発明に係るプログラム変換装
置は、処理対象値入力装置を備えるマイクロプロセッサ
に対するプログラム変換装置であって、1命令で1処理
を指定する命令フォーマットの未並列化命令列を1命令
中に複数の処理を指定する命令フォーマットの並列化命
令列に変換する並列化手段を備え、前記並列化手段は、
前記未並列化命令列中に第1の処理を指定する第1の命
令と第1の処理の結果を用いて第2の処理を指定する第
2の命令とがある場合に、第2の命令を含む一群の命令
を、前記処理対象値入力装置における出力値入力手段を
使用する処理指定を含む並列化命令に変換することを特
徴とする。
【0054】これにより、未並列化命令列中に第1の処
理を指定する第1の命令と、第1の処理の結果を用いて
行う第2の処理を指定する第2の命令とがある場合に、
レジスタ指定を一部削減した命令フォーマットを用いた
並列化命令列に変換することが可能となり、生成するプ
ログラムのサイズを小さなものにすることができる。こ
こで、前記処理対象値入力装置における前記出力値記録
手段は、少なくとも1つの演算器の出力値を記録し、前
記出力値入力手段は、前記出力値記録手段に記録された
値を少なくとも1つの演算器に入力するものであって、
1命令で1処理を指定する命令フォーマットの未並列化
命令列を1命令中に複数の処理を指定する命令フォーマ
ットの並列化命令列に変換する並列化手段を備え、前記
並列化手段は、前記未並列化命令列中に第1の演算を指
定する第1の命令と第1の演算の結果を用いて第2の演
算を指定する第2の命令とがある場合に、第2の命令を
含む一群の命令を、前記出力値入力手段を使用する処理
指定を含む並列化命令に変換することとすることもでき
る。
【0055】これにより、演算器の演算結果を、演算器
への入力の1つとするような処理を含む未並列化命令列
を、演算器への入力の1つについてのレジスタ指定を明
示的に行わない記述を含む命令からなる並列化命令列命
令列に変換することが可能となり、生成するプログラム
のサイズを小さなものにすることができる。また、前記
処理対象値入力装置における前記出力値記録手段は、少
なくとも1つの演算器の出力値を記録し、前記出力値入
力手段は、前記出力値記録手段に記録された値を少なく
とも1つのメモリアクセス回路にアドレス値として入力
するものであって、1命令で1処理を指定する命令フォ
ーマットの未並列化命令列を1命令中に複数の処理を指
定する命令フォーマットの並列化命令列に変換する並列
化手段を備え、前記並列化手段は、前記未並列化命令列
中に演算を指定する第1の命令と当該演算の結果をアド
レス値として用いたメモリアクセスを指定する第2の命
令とがある場合に、第2の命令を含む一群の命令を、前
記出力値入力手段を使用する処理指定を含む並列化命令
に変換することとすることもできる。
【0056】これにより、演算器の演算結果を、メモリ
アクセスのアドレス値とするような処理を含む未並列化
命令列を、メモリアクセスのアドレス値についてのレジ
スタ指定を明示的に行わない記述を含む命令からなる並
列化命令列に変換することが可能となり、生成するプロ
グラムのサイズを小さなものにすることができる。ま
た、前記処理対象値入力装置における前記出力値記録手
段は、少なくとも1つの演算器の出力値を記録し、前記
出力値入力手段は、前記出力値記録手段に記録された値
を少なくとも1つのメモリアクセス回路に書込用の値と
して入力するものであって、1命令で1処理を指定する
命令フォーマットの未並列化命令列を1命令中に複数の
処理を指定する命令フォーマットの並列化命令列に変換
する並列化手段を備え、前記並列化手段は、前記未並列
化命令列中に演算を指定する第1の命令と当該演算の結
果を書き込み値として用いたメモリアクセスを指定する
第2の命令とがある場合に、第2の命令を含む一群の命
令を、前記出力値入力手段を使用する処理指定を含む並
列化命令に変換することとすることもできる。
【0057】これにより、演算器の演算結果を、メモリ
への書き込み値とするような処理を含む未並列化命令列
を、メモリへの書き込み値についてのレジスタ指定を明
示的に行わない記述を含む命令からなる並列化命令列に
変換することが可能となり、生成するプログラムのサイ
ズを小さなものにすることができる。また、前記処理対
象値入力装置における前記出力値記録手段は、少なくと
も1つのメモリアクセス回路からの読み出し値を記録
し、前記出力値入力手段は、前記出力値記録手段に記録
された値を少なくとも1つの演算器に入力するものであ
って、1命令で1処理を指定する命令フォーマットの未
並列化命令列を1命令中に複数の処理を指定する命令フ
ォーマットの並列化命令列に変換する並列化手段を備
え、前記並列化手段は、前記未並列化命令列中にメモリ
からの読み出しを指定する第1の命令と当該読み出しの
結果を用いた演算を指定する第2の命令とがある場合
に、第2の命令を含む一群の命令を、前記出力値入力手
段を使用する処理指定を含む並列化命令に変換すること
とすることもできる。
【0058】これにより、メモリからの読み出し値を、
演算器への入力の1つとするような処理を含む未並列化
命令列を、演算器への入力の1つについてのレジスタ指
定を明示的に行わない記述を含む命令からなる並列化命
令列に変換することが可能となり、生成するプログラム
のサイズを小さなものにすることができる。また、前記
処理対象値入力装置における前記出力値記録手段は、少
なくとも1つのメモリアクセス回路からの読み出し値を
記録し、前記出力値入力手段は、前記出力値記録手段に
記録された値を少なくとも1つのメモリアクセス回路に
アドレス値として入力するものであって、1命令で1処
理を指定する命令フォーマットの未並列化命令列を1命
令中に複数の処理を指定する命令フォーマットの並列化
命令列に変換する並列化手段を備え、前記並列化手段
は、前記未並列化命令列中にメモリからの読み出しを指
定する第1の命令と当該読み出しの結果をアドレス値と
して用いたメモリアクセスを指定する第2の命令とがあ
る場合に、第2の命令を含む一群の命令を、前記出力値
入力手段を使用する処理指定を含む並列化命令に変換す
ることとすることもできる。
【0059】これにより、メモリからの読み出し値を、
メモリアクセスのアドレス値とするような処理を含む未
並列化命令列を、メモリアクセスのアドレス値について
のレジスタ指定を明示的に行わない記述を含む命令から
なる並列化命令列に変換することが可能となり、生成す
るプログラムのサイズを小さなものにすることができ
る。
【0060】また、前記処理対象値入力装置における前
記出力値記録手段は、少なくとも1つのメモリアクセス
回路からの読み出し値を記録し、前記出力値入力手段
は、前記出力値記録手段に記録された値を少なくとも1
つのメモリアクセス回路に書込用の値として入力するも
のであって、1命令で1処理を指定する命令フォーマッ
トの未並列化命令列を1命令中に複数の処理を指定する
命令フォーマットの並列化命令列に変換する並列化手段
を備え、前記並列化手段は、前記未並列化命令列中にメ
モリからの読み出しを指定する第1の命令と当該読み出
しの結果を書き込み値として用いたメモリアクセスを指
定する第2の命令とがある場合に、第2の命令を、前記
出力値入力手段を使用する処理指定を含む並列化命令に
変換することとすることもできる。
【0061】これにより、メモリからの読み出し値を、
メモリへの書き込み値とするような処理を含む未並列化
命令列を、メモリへの書き込み値についてのレジスタ指
定を明示的に行わない記述を含む命令からなる並列化命
令列に変換することが可能となり、生成するプログラム
のサイズを小さなものにすることができる。また、前記
並列化手段は、前記未並列化命令中に前記第1の命令と
前記第2の命令とが連続して配置されている場合に前記
変換を行うこととすることもできる。
【0062】これにより、ある処理を指定する命令と当
該処理の実行結果を用いて処理をする命令とが連続して
いる未並列化命令列を、レジスタ指定を暗示的に行う命
令フォーマットを用いた並列化命令列に変換することが
可能となり、生成するプログラムのサイズを小さなもの
にすることができる。上述したように、本発明に係る処
理対象値入力装置及びプログラム変換装置は、プログラ
ムのサイズを小さくすることを可能にし、LIW或いは
VLIWと呼ばれるアーキテクチャの問題点の1つを解
決する技術であるので、当該アーキテクチャに基づくマ
イクロプロセッサの開発において非常に有用であり、実
用的効果は高く、プロセッサ開発関連産業の進歩発展に
多大な貢献をするものである。
【図面の簡単な説明】
【図1】実施の形態における本発明に係る処理対象値入
力装置を備えたマイクロプロセッサの構成図である。
【図2】命令の例を示す図である。
【図3】従来のLIW或いはVLIWと呼ばれるアーキ
テクチャを持つマイクロプロセッサの命令フォーマット
の例を示す図である。
【図4】各ユニットの詳細フォーマットを示す図であ
る。
【図5】LIW或いはVLIWと呼ばれるアーキテクチ
ャを持つマイクロプロセッサのハードウェア構成の一部
を示す図である。
【図6】命令の例を示す図である。
【符号の説明】
11 レジスタ 12 整数演算器 13 メモリ 100 マイクロプロセッサ 711 レジスタ 712 整数演算器 713 メモリ 714 演算結果記録部 715 読み出し結果記録部 7100 マイクロプロセッサ 7141 演算結果記録部から整数演算器への入力配
線 7142 演算結果記録部からメモリへのアドレス配
線 7143 演算結果記録部からメモリへのデータ配線 7151 読み出し結果記録部から整数演算器への入
力配線 7152 読み出し結果記録部からメモリへのアドレ
ス配線 7153 読み出し結果記録部からメモリへのデータ
配線

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 1命令中に複数の処理を指定する命令フ
    ォーマットを有する命令を読み込み、前記命令で指定さ
    れた複数の処理を複数の実行回路を用いて並列に実行す
    るマイクロプロセッサにおいて、前記複数の実行回路の
    うち少なくとも1つの実行回路に処理対象値を入力する
    処理対象値入力装置であって、 前記複数の実行回路のうち少なくとも1つの実行回路か
    ら実行結果が出力される毎に当該実行結果として出力さ
    れる値を記録する出力値記録手段と、 所定の命令に対応して前記出力値記録手段に記録された
    値を前記複数の実行回路のうち少なくとも1つの実行回
    路に入力する出力値入力手段とを備えることを特徴とす
    る処理対象値入力装置。
  2. 【請求項2】 前記複数の実行回路のうち少なくとも1
    つは演算器であって、 前記出力値記録手段は、少なくとも1つの演算器の出力
    値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つの演算器に入力することを特徴と
    する請求項1記載の処理対象値入力装置。
  3. 【請求項3】 前記複数の実行回路のうち少なくとも1
    つは演算器であり少なくとも1つはメモリアクセス回路
    であって、 前記出力値記録手段は、少なくとも1つの演算器の出力
    値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つのメモリアクセス回路にアドレス
    値として入力することを特徴とする請求項1記載の処理
    対象値入力装置。
  4. 【請求項4】 前記複数の実行回路のうち少なくとも1
    つは演算器であり少なくとも1つはメモリアクセス回路
    であって、 前記出力値記録手段は、少なくとも1つの演算器の出力
    値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つのメモリアクセス回路に書込用の
    値として入力することを特徴とする請求項1記載の処理
    対象値入力装置。
  5. 【請求項5】 前記複数の実行回路のうち少なくとも1
    つは演算器であり少なくとも1つはメモリアクセス回路
    であって、 前記出力値記録手段は、少なくとも1つのメモリアクセ
    ス回路からの読み出し値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つの演算器に入力することを特徴と
    する請求項1記載の処理対象値入力装置。
  6. 【請求項6】 前記複数の実行回路のうち少なくとも1
    つはメモリアクセス回路であって、 前記出力値記録手段は、少なくとも1つのメモリアクセ
    ス回路からの読み出し値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つのメモリアクセス回路にアドレス
    値として入力することを特徴とする請求項1記載の処理
    対象値入力装置。
  7. 【請求項7】 前記複数の実行回路のうち少なくとも1
    つはメモリアクセス回路であって、 前記出力値記録手段は、少なくとも1つのメモリアクセ
    ス回路からの読み出し値を記録し、 前記出力値入力手段は、前記出力値記録手段に記録され
    た値を少なくとも1つのメモリアクセス回路に書込用の
    値として入力することを特徴とする請求項1記載の処理
    対象値入力装置。
  8. 【請求項8】 請求項1記載の処理対象値入力装置を備
    えるマイクロプロセッサに対するプログラム変換装置で
    あって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中に第1の処理
    を指定する第1の命令と第1の処理の結果を用いて第2
    の処理を指定する第2の命令とがある場合に、第2の命
    令を含む一群の命令を、前記出力値入力手段を使用する
    処理指定を含む並列化命令に変換することを特徴とする
    プログラム変換装置。
  9. 【請求項9】 請求項2記載の処理対象値入力装置を備
    えるマイクロプロセッサに対するプログラム変換装置で
    あって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中に第1の演算
    を指定する第1の命令と第1の演算の結果を用いて第2
    の演算を指定する第2の命令とがある場合に、第2の命
    令を含む一群の命令を、前記出力値入力手段を使用する
    処理指定を含む並列化命令に変換することを特徴とする
    プログラム変換装置。
  10. 【請求項10】 請求項3記載の処理対象値入力装置を
    備えるマイクロプロセッサに対するプログラム変換装置
    であって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中に演算を指定
    する第1の命令と当該演算の結果をアドレス値として用
    いたメモリアクセスを指定する第2の命令とがある場合
    に、第2の命令を含む一群の命令を、前記出力値入力手
    段を使用する処理指定を含む並列化命令に変換すること
    を特徴とするプログラム変換装置。
  11. 【請求項11】 請求項4記載の処理対象値入力装置を
    備えるマイクロプロセッサに対するプログラム変換装置
    であって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中に演算を指定
    する第1の命令と当該演算の結果を書き込み値として用
    いたメモリアクセスを指定する第2の命令とがある場合
    に、第2の命令を含む一群の命令を、前記出力値入力手
    段を使用する処理指定を含む並列化命令に変換すること
    を特徴とするプログラム変換装置。
  12. 【請求項12】 請求項5記載の処理対象値入力装置を
    備えるマイクロプロセッサに対するプログラム変換装置
    であって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中にメモリから
    の読み出しを指定する第1の命令と当該読み出しの結果
    を用いた演算を指定する第2の命令とがある場合に、第
    2の命令を含む一群の命令を、前記出力値入力手段を使
    用する処理指定を含む並列化命令に変換することを特徴
    とするプログラム変換装置。
  13. 【請求項13】 請求項6記載の処理対象値入力装置を
    備えるマイクロプロセッサに対するプログラム変換装置
    であって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中にメモリから
    の読み出しを指定する第1の命令と当該読み出しの結果
    をアドレス値として用いたメモリアクセスを指定する第
    2の命令とがある場合に、第2の命令を含む一群の命令
    を、前記出力値入力手段を使用する処理指定を含む並列
    化命令に変換することを特徴とするプログラム変換装
    置。
  14. 【請求項14】 請求項7記載の処理対象値入力装置を
    備えるマイクロプロセッサに対するプログラム変換装置
    であって、 1命令で1処理を指定する命令フォーマットの未並列化
    命令列を1命令中に複数の処理を指定する命令フォーマ
    ットの並列化命令列に変換する並列化手段を備え、 前記並列化手段は、前記未並列化命令列中にメモリから
    の読み出しを指定する第1の命令と当該読み出しの結果
    を書き込み値として用いたメモリアクセスを指定する第
    2の命令とがある場合に、第2の命令を、前記出力値入
    力手段を使用する処理指定を含む並列化命令に変換する
    ことを特徴とするプログラム変換装置。
  15. 【請求項15】 前記並列化手段は、前記未並列化命令
    中に前記第1の命令と前記第2の命令とが連続して配置
    されている場合に前記変換を行うことを特徴とする請求
    項8〜14のいずれか1項に記載のプログラム変換装
    置。
JP9302012A 1997-11-04 1997-11-04 処理対象値入力装置及びプログラム変換装置 Pending JPH11143710A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9302012A JPH11143710A (ja) 1997-11-04 1997-11-04 処理対象値入力装置及びプログラム変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9302012A JPH11143710A (ja) 1997-11-04 1997-11-04 処理対象値入力装置及びプログラム変換装置

Publications (1)

Publication Number Publication Date
JPH11143710A true JPH11143710A (ja) 1999-05-28

Family

ID=17903837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9302012A Pending JPH11143710A (ja) 1997-11-04 1997-11-04 処理対象値入力装置及びプログラム変換装置

Country Status (1)

Country Link
JP (1) JPH11143710A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333978A (ja) * 2001-05-08 2002-11-22 Nec Corp Vliw型プロセッサ
JP2019145172A (ja) * 2013-05-24 2019-08-29 コーヒレント・ロジックス・インコーポレーテッド プログラム可能な最適化を有するメモリネットワークプロセッサ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333978A (ja) * 2001-05-08 2002-11-22 Nec Corp Vliw型プロセッサ
JP2019145172A (ja) * 2013-05-24 2019-08-29 コーヒレント・ロジックス・インコーポレーテッド プログラム可能な最適化を有するメモリネットワークプロセッサ
JP2021192257A (ja) * 2013-05-24 2021-12-16 コーヒレント・ロジックス・インコーポレーテッド プログラム可能な最適化を有するメモリネットワークプロセッサ
US11900124B2 (en) 2013-05-24 2024-02-13 Coherent Logix, Incorporated Memory-network processor with programmable optimizations

Similar Documents

Publication Publication Date Title
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
EP1570373A1 (en) Cellular engine for a data processing system
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPH09311786A (ja) データ処理装置
WO2006112045A1 (ja) 演算処理装置
US20060259747A1 (en) Long instruction word processing with instruction extensions
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
JP2019197531A (ja) 連鎖タイル演算を実施するためのシステムおよび方法
JP2003044273A (ja) データ処理装置及びデータ処理方法
JPH1049369A (ja) データ処理装置
US6542989B2 (en) Single instruction having op code and stack control field
JPH07104784B2 (ja) デジタルデータ処理装置
JP2004086837A (ja) データ処理装置
JPS6124729B2 (ja)
US5867696A (en) Saving a program counter value as the return address in an arbitrary general purpose register
KR900010587A (ko) 생산라인의 고성능 명령어 실행방법 및 장치
JP2000322235A (ja) 情報処理装置
JP2556182B2 (ja) デ−タ処理装置
JP2690406B2 (ja) プロセッサおよびデータ処理システム
JPH11143710A (ja) 処理対象値入力装置及びプログラム変換装置
JP2861560B2 (ja) データ処理装置
JP3186095B2 (ja) 演算処理装置
JP2001216136A (ja) 加算回路およびプロセッサ
JP3019818B2 (ja) データ処理方法
JP4545777B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060516