JPH076035A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH076035A
JPH076035A JP10508792A JP10508792A JPH076035A JP H076035 A JPH076035 A JP H076035A JP 10508792 A JP10508792 A JP 10508792A JP 10508792 A JP10508792 A JP 10508792A JP H076035 A JPH076035 A JP H076035A
Authority
JP
Japan
Prior art keywords
program
instruction
address
contents
counter
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
JP10508792A
Other languages
English (en)
Inventor
Emi Kakisada
恵美 垣貞
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10508792A priority Critical patent/JPH076035A/ja
Publication of JPH076035A publication Critical patent/JPH076035A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】ディジタル信号処理のソースファイルである水
平型マイクロプログラムを最適化する際に、相関関係テ
ーブルを作成する事により最適化処理速度を速くする。 【構成】中央処理装置と、データ入力手段と、記憶手段
と、前記中央処理装置は、前記データ入力手段からの出
力を入力し、前記中央処理装置は、前記記憶手段の内容
を読み込み、及び書き込みを行う事を特徴とするデータ
処理装置であって、前記記憶手段は、第1のプログラム
と、第2のプログラムと第3のプログラムを記憶する記
憶手段を有し、前記第1のプログラムは前記中央処理装
置の動作を指示するプログラムで第2のプログラムを最
適化し、第3のプログラムを生成するのと同時に、異な
るアドレス、かつ異なるフィールドの関係を示した情報
テーブルを生成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理装置に関
し、特にディジタル信号処理プロセッサの機械語プログ
ラムを、最適化するデータ処理装置に関する。
【0002】
【従来の技術】まず、従来のデータ処理装置を説明する
前に、水平型マイクロ命令について若干の説明を行う。
水平型マイクロ命令は、1インストラクションサイクル
で、複数のマイクロオーダを実行する事ができる。
【0003】主に、処理は単純であるが、高速演算処理
に要求されるディジタル信号処理プロセッサに用いられ
る命令形態である。
【0004】以下水平型マイクロの具体的な例をあげ、
従来例の説明をする。
【0005】水平型マイクロ命令は、1つのオペレーシ
ョンコードと、複数のフィールドより構成される。各フ
ィールドは、1つ、または複数個組合さり、幾つかのマ
イクロ命令を構成する。また、オペレーションコード
は、各々のマイクロ命令の構成を示す。即ち、水平型マ
イクロ命令では、1命令で複数のマイクロ命令が同時に
実行される。
【0006】尚、データ処理装置は、2進数で示された
機械語で処理を行う場合もあるが、解りやすくするた
め、アセンブリ言語で説明する。
【0007】水平型マイクロ命令の一例を以下に示す。
【0008】
【0009】上記命令は、OPCというオペレーション
コード名と、3つのフィールドにより構成される(以下
上記命令を“OPC”命令と称す)。
【0010】OPC命令の3つのフィールドは、OPC
命令の右隣から、ALUフィールド、P−SELフィー
ルド、MULTフィールドと称す。
【0011】ALUフィールドは加算器の動作を指定す
るマイクロ命令が記述される。この場合記述可能なマイ
クロ命令は、ADD,SHL1,NOPの3種類が記述
できる。
【0012】P−SELフィールドは、加算器に入力さ
れる資源名を指定するマイクロ命令が記述される。
【0013】記述可能なマイクロ命令は、MPLY,N
OP命令の2種類が記述できる。
【0014】MULTフィールドは、乗算器の動作を指
定するマイクロ命令が記述される。
【0015】記述可能なマイクロ命令は、MULT,N
OPの2種類が記述される。
【0016】ALU,MPLY,MULTフィールドで
記述可能なNOP命令は、ノーオペレーション命令で、
何も動作を行わない。
【0017】このように、水平型マイクロ命令は、複数
のマイクロ命令から構成される。このような水平型命令
では、処理速度を速くするため、1命令で、より多くの
オペレーションを実行させ、プログラム・ステップ数を
少なくする事が望まれている。しかし、実行順序や、マ
イクロ命令により処理ステップ数が変わる等の要因を考
慮して、プログラムのステップ数を少なくしなければな
らない。
【0018】また、パイプライン命令等、マイクロ命令
毎に処理ステップ数が異なる場合がある。
【0019】以下、表1を用いて、パイプライン命令の
説明をする。
【0020】命令で“MULT”命令が実行され、M
ULTフィールドのMULT命令はパイプライン命令
で、乗算結果が出力されるのは、2ステップ後である。
即ち命令のALU命令の入力となる。
【0021】また、命令のMULT命令の乗算結果
は、命令のALU命令の入力となる。
【0022】
【0023】従来、ユーザーが作成した水平型マイクロ
プログラムを最適化する場合、表1で示したようなパイ
プライン命令と、その命令に対応する結果を指定する命
令との相関を検索し、最適化を行う方式をとっていた。
【0024】
【発明が解決しようとする課題】以上のように、従来の
データ処理装置では、データ処理を行う度に、最適化す
る為の情報として、アドレスが異なる複数個の命令に対
し、相関関係を最適化を行う機械語ファイルから、解読
しなければならなかった。
【0025】この為、最適化効率が少ないにも係わら
ず、2度目以降の最適化処理速度が縮まらないという欠
点があった。
【0026】
【課題を解決するための手段】本発明のデータ処理装置
は、中央処理装置と、データ入力手段と、記憶手段と、
第1のカウンタと、第2のカウンタとを備え、前記中央
処理装置は、前記データ入力手段からの出力を入力し、
前記中央処理装置は、前記第1のカウンタと、前記第2
のカウンタと、の内容を読みだし、及び書き込みを行う
事を特徴とし、前記中央処理装置は、前記記憶手段の内
容を読み込み、及び書き込みを行う事を特徴とするデー
タ処理装置であって、前記記憶手段は、第1のプログラ
ムを記憶する記憶手段と、第2のプログラムを記憶する
記憶手段と、第3のプログラムを記憶する手段と、情報
テーブルを記憶する記憶手段より構成され、第1のプロ
グラムは、前記中央処理装置の動作を指示するプログラ
ム第2のプログラムは最適化を行う前のデジタル信号処
理装置の機械語プログラム、第3のプログラムは、最適
化が終了したデジタル信号処理の機械語プログラムであ
り、前記中央処理装置は、前記第1のプログラムの指示
により、前記第3のプログラムを生成し、同時に前記情
報テーブルを生成または書換を行う事を特徴とする。
【0027】
【実施例】次に、本発明について、図面を用いて説明す
る。
【0028】図1は、本発明の一実施例であるデータ処
理装置の構成を示すブロック・ダイアグラムである。
【0029】CPU101は、記憶装置106内のデー
タ処理プログラム102に指示に従って動作し、周辺装
置としてスタートボタン107を制御する。アドレスバ
ス109は、CPU101の指示に従って、記憶装置1
06内に格納されているデータ(または命令)のアドレ
スを指定し、指定されたアドレスに対して、CPU10
1は、データバス110を介して、読みだし、またはデ
ータを書き込む。また、CPU101は、スタートボタ
ン107の出力により、データ処理プログラムの実行を
開始する。
【0030】CPU101は、データ処理プログラム1
02の指示に従って、機械語プログラムII 103及
び相関関係ファイル105の内容を読み込み、解読し、
解読された結果を、機械語プログラムII 111及び
相関関係テーブル105に書き込む。
【0031】次に、本実施例のプログラム変換装置の出
力である相関関係105の構成について説明する。図3
は、図1の相関関係テーブル105の一例である。図3
を用いて、図1の相関関係テーブル105の構成を説明
する。相関関係テーブル105のテーブル行は、認識さ
れた相関関係の数が確保される。また、相関関係テーブ
ル105の1つの番地は、アドレス欄Iと、フィールド
欄Iと、アドレス欄IIと、フィールド欄IIにより構
成される。
【0032】アドレスIには、相関関係にある一方のニ
ーモニックが記述されている図1の機械語プログラム1
03のアドレスが格納され、同様に、アドレス欄IIに
は、アドレス欄I、に対応するマイクロ命令と相関関係
にあるマイクロ命令が格納されている図1の機械語プロ
グラム103のアドレスを格納する。
【0033】図5に、図1の機械語プログラム103の
一例を示す。
【0034】機械語プログラム103の1行は、アドレ
ス欄と、命令欄と、ALUフィールド欄と、P−SEL
フィールド欄と、MULT欄より構成される。
【0035】水平型プログラムの基本構成は、従来例で
示した水平型マイクロ命令と同一とする。
【0036】以下に本発明の具体的動作を図1と、図7
を参照しながら説明する。
【0037】尚、以下の説明の中で、「CPU101」
の動作として記述されている部分は、データ処理プログ
ラム102に指示によるものである。また、図7は本実
施例の動作を示したフローチャート図である。
【0038】ここで、機械語プログラム103には、表
1の機械語プログラム1103が格納されているものと
する。
【0039】まず、図7に示される実施例の簡単な説明
を行う。
【0040】まず、CPU101は、スタート・ボタン
107からの入力待ちをする(701)。スタートボタ
ン107が押されると、CPU101は、機械語プログ
ラムII111及びアドレス・カウンタ104をクリア
ーする(702)。次に、CPU101は、記憶装置1
06内の、相関関係テーブル105の有無により、1回
目の最適化処理であるか否かを判断し(703)、1回
目の最適化の場合、処理704に移り相関関係テーブル
105を作成する。ここで、処理704については、図
8を用いて詳細を説明する。次に、処理703で、第2
回目以降の最適化の場合、処理705に移り、アドレス
カウンタ104が示す機械語プログラムI13の内容を
読み込む。読み込んだ内容がEOFか判断する(70
6)。読み込んだ内容がEOFの場合、最適化処理を終
了する(707)。EOF以外の場合、処理708に移
り、相関関係テーブル105を参照し、最適化行う。最
適化処理の結果は、機械語プログラム111へ出力する
(708)。相関関係テーブル105の内容を更新する
(709)。次にアドレス・カウンタ104の内容をプ
ラス1し(710)、処理706に移る。
【0041】次に、相関関係ケーブル105の作成方法
(処理704)について、図8のフローチャートを用い
て説明する。まず、テーブル・カウンタをクリアーし
(809)、アドレス・カウンタ104が示す機械語プ
ログラム103の内容を読み込む(801)。次に、読
み込んだ内容が、EOFかを判断し、EOFの場合、処
理を終了し図7処理705に移る。そうでない場合、処
理802に移る。次に、読み込んだ命令のうち、MUL
Tフィールドがパイプライン命令(この場合“MUL
T”)であるか判断する(802)。パイプライン命令
の場合、処理803に移り、テーブル・カウンタ112
が示すテーブルアドレスの相関関係テーブル105のア
ドレス欄Iに、アドレス・カウンタ104の内容を書き
込み、ON/OFF欄に“ON”を書き込む(803)
処理802で、“NO”(パイプライン命令で無かった
場合)の場合、処理805に処理を移す。処理804で
は、テーブルカウンタ112の内容をインクリメントす
る。次にP−SELフィールドの内容が、乗算器の出力
を指定するMPLY命令であるか判断する(805)。
MPLY命令でない場合、処理808に移る。MPLY
命令の時相関関係テーブル105の、ON/OFFフィ
ールド欄がONとなっているテーブルのアドレス欄Iの
内容と、アドレスアウンタ104の差が2以上のテーブ
ルのアドレス欄IIに、アドレスカウンタ104の内容
を書き込む(806)。同様に、ON/OFF欄の内容
をOFFする(807)。
【0042】以下に、本実施例の具体的な例を、図1の
ブロック図、図7,図8のフローチャートにより説明す
る。尚、以下の説明の中で、CPU101の動作は、デ
ータ処理プログラム102の指示によるものであり、ま
た、機械語プログラムI103には、表9のプログラム
が格納され、また、機械語プログラム103の最終業の
次の番地8番地には、プログラムの終端を示す記号(以
下EOF)が格納されているものとする。まず、処理7
01でスタートボタン107が押されると、処理702
で、機械語プログラムII111と、アドレス・カウン
タ104を“0”にクリアーする。
【0043】次に、記憶装置内の相関関係テーブル10
5の有無により、1回目の最適化か否かを判断する(7
03)。ここでは、1回目の最適化なので、処理704
に移り相関関係テーブルを作成する。CPU101は、
アドレス・カウンタ104が示す内容、ここでは、
“0”の機械語プログラムの内容、表9の“OPC S
HL1,NOP,NOP”を読み込む。ここで、読み込
んだ内容はEOFではないので、処理802に移る。読
み込んだ命令のMULTフィールドは、NOP命令なの
で、処理805に移り、PS−ELフィールドNO内容
が、SHL1命令なので、処理808IIに移り、アド
レスカウンタ104の内容をプラス1し、“1”とす
る。次に、処理801に移り、アドレス・カウンタ10
4が示すアドレスの機械語プログラムI103の内容を
読み込み、同様にして、MULTフィールドと、P−S
ELフィールドの内容は、それぞれ、NOP及び、SH
L1命令なので、処理808で、アドレス・カウンタ1
04の内容をプラスIし、機械語プログラムI103の
2番地の内容を読みだす。読み込んだ命令のMULTフ
ィールド乗算命令である、“MULT”なので、テーブ
ル・カウンタ112が示す相関関係テーブル105のア
ドレス欄Iに、アドレス・カウンタ104の内容を書き
込む。また、相関関係テーブル105の1番地のON/
OFF欄に“ON”を買い込む。
【0044】次にテーブル・カウンタ112をプラス1
する。次に、P−SELフィールドの内容は、NOPな
ので、アドレス・カウンタの内容をプラス1し、機械語
プログラム103の3番地の内容を読み込む。ここで、
3番地の命令は、“OPCSHL1、NOP,NOP”
命令なので、アドレスカウンタ104の内容をプラス1
し、機械語プログラムI103の4番地の内容を読み込
む。ここで、読み込んだ命令のMULTフィールドは、
“MULT”で乗算命令なので、相関関係テーブル10
5の1番地のアドレス欄Iに、アドレスカウンタ104
の内容を書き込み、同時にON/OFF欄の内容をON
にする。次に、テーブル・カウンタ112の内容をプラ
ス1する。また、P−SELフィールドは、“MPL
Y”命令で、乗算命令の結果を指定する命令なので、処
理806に移り、相関関係テーブル105のON/OF
F欄がONとなっている相関関係テーブル105のアド
レス欄Iと、アドレス・カウンタ104の内容の差が2
以上ここでは、相関関係テーブル105の0番地及び1
番地のON/OFF欄は“ON”であるが、相関関係テ
ーブル105の1番地のアドレス欄Iの値は“4”現在
のアドレス・カウンタの値も“4”で、差が2以上では
ない、相関関係テーブル1050番地のアドレス欄I
は、“2”で、差が2以上なので、相関関係テーブル1
050番地のアドレス欄IIに、現在のアドレス・カウ
ンタ104の値を書き込み、ON/OFF欄を“ON”
から“OFF”に書き換える。以下同様に図8のフロー
チャートに乗っ取り、処理を行った結果、生成されるの
が、図3の相関関係テーブル105である。また、処
理809で、ファイルの終端“EOF”を示す内容を読
み込むと、図7の処理705に処理を移す。図7に移
り、処理705では、アドレス・カウンタ104が示す
機械語プログラム103の内容を読み込む。ここでは、
アドレス・カウンタが“0”を示しているので、“OP
C SHL1,NOP,NOP”命令を読み込む。ここ
で、機械語プログラムII111に“OPCSHL1,
NOP,NOP”命令を出力する。次にアドレス・カウ
ンタをプラス1し、1番地の機械語プログラム103の
内容を読み込む。ここで、最適化処理を行なうと、表3
のようになる。
【0045】
【0046】次に、機械語プログラムI103の2番地
を読み込むと、MULTフィールドの内容が“MUL
T”で、乗算命令なので、相関関係テーブル105を参
照する。処理結果を表4に示す。
【0047】
【0048】ここで、相関関係テーブルの以下のように
内容を書き換える。
【0049】テーブルアドレス0番地のアドレス欄Iの
内容を02から00に書き換える。
【0050】機械語プログラムI103の3番地の内容
を読み込み、最適化の処理結果の結果、機械語プログラ
ムII111は表5のようになる。
【0051】
【0052】次に機械語プログラムIの04番地が読み
込まれると、P−SELフィールドが“MPLY”、即
ち乗算命令の結果を示す命令なので、相関関係テーブル
105を参照し、相関関係にある“MULT”命令が格
納されている機械語プログラムII111の00番地よ
り2ステップ以降、即ち2番地以降のアドレスで、その
他の最適化条件(本発明には無関係なので省略する)に
合う最小アドレス(ここでは“4”番地)のP−SEL
フィールドへ移動する。また、MULTフィールドの
“MULT”は、相関関係テーブル105の01番地の
アドレス欄Iに対するが、テーブルアドレス0番地のア
ドレス欄IIの乗算器出力結果のアドレスより2ステッ
プ以上前の機械語プログラムのアドレスに移動する事
は、出来ないので、テーブルアドレス00番地のアドレ
ス欄IIの内容“3”より1番地前の2番地に最適化さ
れる。処理結果を表6に示す。
【0053】
【0054】また、相関関係テーブル105の内容を以
下のように書き換える。
【0055】テーブル・アドレス00番のアドレス欄I
Iを04→03に、テーブル・アドレス01番地のアド
レス欄Iを04→02に変更する。
【0056】次に機械語プログラム05番地の内容を読
み込み最適化を行う。結果を表7に示す。
【0057】
【0058】同様に機械語プログラムI105の6番地
を読み込み、最適化を行うと共に、相関関係テーブル1
05の内容を書き換え処理を終了する。
【0059】最適化処理結果を表10に、また、相関関
係テーブル105の内容を図3に示す。
【0060】
【0061】デジタル信号処理装置のアセンブラは、水
平型マイクロ命令で、1ステップの命令で、複数のマイ
クロ命令を実行す為、数十ステップ離れた命令を最適化
する事が可能であるが、最適化プログラムが最適化でき
る範囲は限られており、そのため同じプログラムを数度
にわたり最適化処理を行う。
【0062】この時、本実施例では、2回目以降の最適
化処理でも、パイプライン命令の相関関係を検索する処
理をしなくても相関関係テーブル105を参照する事に
より、最適化処理が行え、処理スピードが速くなる。
【0063】尚、本実施例では、相関関係テーブル10
5を作成し、その後最適化処理を行ったが、第1回目の
最適化処理を行いながら相関関係テーブルを作成しても
良い。
【0064】図2は本発明の実施例2のデータ処理装置
の構成を示す。
【0065】本実施例は、図1に対して、データ処理プ
ログラム102が、データ処理プログラム202に、機
械語プログラムI103が機械語プログラムI203
に、相関関係テーブル105が相関関係テーブル205
になっているだけであり、他は同一となっている。
【0066】CPU101は、記憶装置106内のデー
タ処理プログラム202に指示に従って動作し、周辺装
置としてスタートボタン107を制御する。アドレスバ
ス109は、CPU101の指示に従って、記憶回路1
06内に格納されているデータ(または命令)のアドレ
スを指定し、指定されたアドレスに対して、CPU10
1は、データバス110を介して、読みだし、またはデ
ータを書き込む。また、CPU101は、スタートボタ
ン107の出力により、データ処理プログラムの実行を
開始する。
【0067】CPU101は、データ処理プログラム2
02の指示に従って、機械語プログラムI203及び相
関関係ファイル205の内容を読み込み、解読し、解読
された結果を、機械語プログラムII111及び相関関
係テーブル205に書き込む。
【0068】本実施例で使用するデジタル信号処理の水
平型マイクロ命令を表8を用いて説明する。尚、表8の
水平型マイクロ命令は、本実施例を説明するためのもの
で、実際に存在するデジタル信号処理の水平型マイクロ
命令ではない。
【0069】
【0070】上記命令は、OPAというオペレーション
コード名と、4つのフィールドにより構成される(以下
上記命令を“OPA”命令と称す)。
【0071】OPA命令の3つのフィールドは、OPA
命令の右隣から、CPフィールド、ALUフィールド、
P−SELフィールド、SRCフィールドと称す。
【0072】CPフィールドは、デジタル信号処理装置
が有する係数RAMのアドレスを示すポインタを操作す
るオペレーションフィールドであり、記述可能なマイク
ロ命令は、CPINC,NOPの2種類である。
【0073】ALUフィールドは加算器の動作を指定す
るマイクロ命令が記述される。
【0074】この場合記述可能なマイクロ命令は、AD
D,SHL1,NOPの3種類が記述できる。
【0075】P−SELフィールドは、加算器に入力さ
れる資源名を指定するマイクロ命令が記述される。
【0076】記述可能なマイクロ命令は、MPLY,C
RAM,NOP命令の3種類が記述できる。
【0077】MULTフィールドは、乗算器の動作を指
定するマイクロ命令が記述される。
【0078】記述可能なマイクロ命令は、MULT,N
OPの2種類が記述される。
【0079】CP,ALU,MPLY,MULTフィー
ルドで記述可能なNOP命令は、ノーオペレーション命
令で、何も動作を行わない。
【0080】また、相関関係テーブル205の1つの番
地は、アドレス欄Iと、アドレス欄IIとパイプライン
欄により構成される。
【0081】アドレス欄Iには、相関関係にある一方の
ニーモニックが記述されている図1機械語プログラム2
03のアドレスが格納され、アドレス欄IIには、アド
レス欄Iに対応するマイクロ命令と相関関係にあるマイ
クロ命令が格納されているまた、パイプライン欄には、
パイプラインの種類、ここでは、係数ポインタのパイプ
ライン“CP”または乗算命令のパイプライン“MUL
T”が格納される。
【0082】本実施例の処理フローは一実施例と同じく
図7のフローチャートに示した通りであるので説明を省
略するが、相関関係テーブル205の作成方法(図7の
処理(704))については、異なるので、図9及び図
10のフローチャートと、図5及び図6を用いて説明す
る。
【0083】まず、テーブル・カウンタ112をクリア
ーする(909)。次に、アドレス・カウンタ104が
示す機械語プログラム203の内容を読み込み(90
1)、読み込んだ内容が、EOFかを判断する、EOF
の場合、処理を終了し、そうでない場合、処理902に
移る。次に、読み込んだ場合のうち、MULTフィール
ドがパイプライン命令(この場合“MULT”)である
か判断する(902)。パイプライン命令の場合、処理
903に移り、テーブル・カウンタ112が示すテーブ
ルアドレスの相関関係テーブル205のアドレス欄I
に、アドレス・カウンタ104の内容を書き込み、ON
/OFF欄に“ON”を書き込み、パイプライン欄に
“MULT”を書き込む(903)、処理902で、
“NO”(パイプライン命令で無かった場合)の場合、
処理905に処理を移す。処理904では、テーブルカ
ウンタ112の内容をインクリメントとする。次にP−
SELフィールドの内容が、乗算器の出力を指定するM
PLY命令であるか判断する(905)。MPLY命令
でない場合、処理908に移る。MPLY命令の時相関
関係テーブル105の、ON/OFFフィールド欄がO
Nとなっているテーブルで、かつパイプライン欄が“M
ULT”のアドレス欄Iの内容と、アドレスカウンタ1
04の差が2以上のテーブルのアドレス欄IIに、アド
レスカウンタ104の内容を書き込む(906)。同様
に、ON/OFF欄の内容をOFFにする(907)。
【0084】次に、読み込んだ命令のうち、CPフィー
ルドがパイプライン命令(この場合“CPINC”)で
あるか判断する(908)。パイプライン命令の場合、
処理803に移り、テーブル・カウンタ112が示すテ
ーブルアドレスの相関関係テーブル205のアドレス欄
Iに、アドレス・カウンタ104の内容を書き込み、O
N/OFF欄に“ON”を書き込み、パイプライン欄に
“CP”を書き込む(910)、処理802で、“N
O”(パイプライン命令で無かった場合)の場合、処理
805に処理を移す。処理804では、テーブルカウン
タ112の内容をインクリメントとする(912)。次
にP−SELフィールドの内容が、CPINC命令の出
力に関与するCRAM命令であるか判断する(91
3)。CRAM命令でない場合、処理908に移る。M
PLY命令の時、相関関係テーブル105の、ON/O
FFフィールド欄がONとなっているテーブルで、かつ
パイプライン欄が“CPINC”のアドレス欄Iの内容
と、アドレスカウンタ104の差が1以上のテーブルの
アドレス欄IIに、アドレスカウンタ104の内容を書
き込む(914)。同様に、ON/OFF欄の内容をO
FFにする(915)。次に、アドレス・カウンタ10
4の内容をプラス1する(916)。
【0085】以上のような処理により、機械語プログラ
ム203として表11の相関テーブル205を作成した
結果、図5の相関テーブル205のようになる。ま
た、最適化された結果、機械語プログラムII211
は、表12のようになる。また、最適化処理語の相関関
係テーブル205を図6に示す。
【0086】
【0087】ここで、MULT命令と、CPINC命令
は、それぞれパイプライン命令で、MULT及びCPI
NC命令が実行されてから各々2ステップ,1ステップ
後に結果が出力する。このため、MULT命令の結果を
加算命令の入力として指定するP−SELフィールドの
MPLY命令は、対応するMULT命令のアドレスから
2ステップ以降のアドレスしか最適化出来ない、また、
CPINC命令は、係数RAMのアドレスを示すポイン
タ(以下“CP”と略す)の内容をプラス1するマイク
ロ命令であるが、MULT命令同様パイプライン命令な
ので、CPの内容が実際に書き換えられるのは、1ステ
ップ後であるこのため、CPが示す値のアドレスを加算
器の入力として指定するP−SELフィールドのCRA
M命令は、対応するCPINC命令が記述されている命
令の1ステップ以降のアドレスまでしか最適化出来な
い。
【0088】ここで、本実施例では、2つの異なるパイ
プライン命令も有するデジタル信号処理の水平型マイク
ロ命令を最適化する場合の相関関係テーブル205の構
成と作成方法を説明する。
【0089】まず、図5を用いて相関関係テーブル20
5の構成を説明する。
【0090】相関関係テーブル205のテーブル行は、
認識された相関関係の数が確保される。
【0091】
【0092】本実施例2では、相関関係テーブル205
に、パイプラインの種類を格納する事により、フィール
ド,マイクロ命令及び段数の違うパイプラインについて
の最適化処理の短縮を行える。また、パイプラインの種
類や段数が変更となっても、大きなアルゴリズムの変更
がなく、パラメタを変更するのみで使用できる。
【0093】
【発明の効果】以上説明したように本発明は、デジタル
信号処理の機械語プログラムで、特に、乗算器等、パイ
プライン処理を有する機械語プログラムを、最適化する
場合、異なるアドレス、かつ異なるフィールドの関係を
示した情報テーブルを作成する事により、2回目以降の
最適化処理に於いて、前記情報テーブルを入力する事に
より、処理速度が速くなるという効果がある。特に、同
一ファイルに対して、数度にわたり最適化処理を行う場
合に有効である。
【図面の簡単な説明】
【図1】実施例1のブロックダイアグラムである。
【図2】実施例2のブロックダイアグラムである。
【図3】実施例1の相関関係テーブル(105)であ
る。
【図4】実施例1の相関関係テーブル(105)であ
る。
【図5】実施例2の相関関係テーブル(205)であ
る。
【図6】実施例2の相関関係テーブル(205)であ
る。
【図7】実施例1及び実施例2のフローチャートであ
る。
【図8】実施例1の相関関係テーブル作成処理のフロー
チャートである。
【図9】実施例2の相関関係テーブル作成処理のフロー
チャートである。
【図10】実施例2の相関関係テーブル作成処理のフロ
ーチャートである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、データ入力手段と、記
    憶手段と、前記中央処理装置は、前記データ入力手段か
    らの出力を入力し、前記中央処理装置は、前記記憶手段
    の内容を読み込み、及び書き込みを行う事を特徴とする
    データ処理装置であって、前記記憶手段は、第1のカウ
    ンタを記憶する記憶手段と、第2のカウンタを記憶する
    記憶手段と、第1のプログラムを記憶する記憶手段と、
    第2のプログラムを記憶する記憶手段と、第3のプログ
    ラムを記憶する手段と、異なるアドレス、かつ異なるフ
    ィールドの関係を示した情報テーブルを記憶する記憶手
    段より構成され、第1のプログラムは、前記中央処理装
    置の動作を指示するプログラムで、第2のプログラムは
    最適化を行う前のデジタル信号処理装置の機械語プログ
    ラム、第3のプログラムは、最適化が終了したデジタル
    信号処理の機械語プログラムであり、前記中央処理装置
    は、前記第1のプログラムの指示により、前記第3のプ
    ログラムを生成し、同時に前記異なるアドレス、かつ異
    なるフィールドの関係を示した情報テーブルを生成また
    は書換を行い、前記第1のプログラムの指示により、前
    記第1のカウンタと、前記第2のカウンタの内容を読み
    込み、及び書き込みを行う事を特徴とするデータ処理装
    置。
JP10508792A 1992-04-24 1992-04-24 データ処理装置 Pending JPH076035A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10508792A JPH076035A (ja) 1992-04-24 1992-04-24 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10508792A JPH076035A (ja) 1992-04-24 1992-04-24 データ処理装置

Publications (1)

Publication Number Publication Date
JPH076035A true JPH076035A (ja) 1995-01-10

Family

ID=14398142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10508792A Pending JPH076035A (ja) 1992-04-24 1992-04-24 データ処理装置

Country Status (1)

Country Link
JP (1) JPH076035A (ja)

Similar Documents

Publication Publication Date Title
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
JP3130446B2 (ja) プログラム変換装置及びプロセッサ
US11068463B2 (en) System and method for managing log data
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH076035A (ja) データ処理装置
JPH03127122A (ja) データ処理装置における演算処理方式
JPH0764766A (ja) 並列計算機における最大・最小値演算方法
JP2002268877A (ja) クロック制御方法及び当該クロック制御方法を用いた情報処理装置
CN111126012A (zh) 定制生成表达式方法及装置
JP2002312167A (ja) 変数の値をコンピュータに算出させるためのプログラム、コンパイルプログラム、変数値確定方法およびプログラム生成方法
JP3114884B2 (ja) ファジィ推論処理コンパイルシステム
JPS58200349A (ja) マイクロプログラム制御装置
JP4327533B2 (ja) 演算処理プログラム、演算処理方法、および演算処理装置
JPS5846439A (ja) 計算機のプログラム編集方法
JP2727023B2 (ja) 情報処理装置
JP2003067195A (ja) 最適化コンパイル方法及び最適化コンパイル装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JPS5829051A (ja) 演算処理装置
JP2000330786A (ja) データ処理方法及びデータ処理装置並びにデータ処理プログラムを記録した記録媒体
JPH07191845A (ja) 即値データ転送装置
JPH04248624A (ja) プログラム変換処理装置
JP2004139369A (ja) 定数アドレス領域を指示するポインタ解析方法
JPH0256639A (ja) 簡易言語処理方式
JPH06195249A (ja) 名称指定方法
JPH04147341A (ja) 自動モジュール実行制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990803