JPS6081641A - レジスタトレース方法 - Google Patents

レジスタトレース方法

Info

Publication number
JPS6081641A
JPS6081641A JP58190401A JP19040183A JPS6081641A JP S6081641 A JPS6081641 A JP S6081641A JP 58190401 A JP58190401 A JP 58190401A JP 19040183 A JP19040183 A JP 19040183A JP S6081641 A JPS6081641 A JP S6081641A
Authority
JP
Japan
Prior art keywords
register
contents
trace
memory
trace memory
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.)
Granted
Application number
JP58190401A
Other languages
English (en)
Other versions
JPH0522936B2 (ja
Inventor
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 JP58190401A priority Critical patent/JPS6081641A/ja
Publication of JPS6081641A publication Critical patent/JPS6081641A/ja
Publication of JPH0522936B2 publication Critical patent/JPH0522936B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 この発明は、アセンブラソースプログラム中の冗長な命
令を削除する最適化処理の中で、レジス夕に対する冗長
なロート°命令を削除するレジスタトレース装置に関す
るものである。
従来例の構成とその問題点 従来より、アセンブラソースプログラムに対する最適化
の一手法としてレジスタトレースが行われている。第1
図(5)、■はそれぞれレジスタトレース手法を説明す
るためのアセンブラ言語のフローチャートである。1.
4.7.1’、4’、7’はレジス々Rに変数Aの内容
を代入するロード命令、2.5.2’、5’はレジスタ
Rの内容を変更しない分岐命令を含まない命令群、3.
3′は条件分岐命令である。このうち、ロード命令4 
、7 、4’、 7’は冗長であり、削除が可能である
。なぜなら、分岐命令は一般にレジスタの内容を変更し
ないため、ロード命令1.1′によりレジスタRに代入
された変数への内容は保存されているからである。
従来のレジスタトレース手法では、ロード命令4.4′
は削除可能であるが、ロード命令7,7′は冗長である
ことの認識が不可能であり削除不可能である。この理由
はCPU内のレジス々に現在格納サレテいる内容を記憶
するレジスタトレースメモリを1mのみ用いているので
、分岐によりプログラムの流れが2分するとき、それぞ
れの経路についてレジスタトレースメモリを持つことが
できないだめ、従来では2経路の一万のみについてレジ
スタトレースを行い、他方については無視していたため
である。そのため、レジスタトレースメモリされた経路
についてはCPU内のレジスタに現在格納されている内
容が判明しないの一12経路の合流点以後は以前のレジ
スタトレースをクリアし、新らたにレジスタトレースを
開始しなければナラなか−た。
発明の目的 この発明はより多くの冗長なロード命令を認識して削除
することができるレジスタトレース装置を提供すること
を目的とする。
発明の構成 この発明のレジスタトレース装置け、複数のレジスタト
レースメモリと、複数のレジスタトレースメモリの1つ
を指定するレジスタトレースメモリ指定手段と、レジス
タトレースメモリに対してCPU内のレジスタに現′在
格納さ11. Cいる内容を記憶させ、その内容を用い
て入力アセンブラソースプログラム中の冗長なロード命
令を削除し出力するレジスタトレース部とから構成さJ
t1分岐でプログラムの経路が例えば2つに分かり、る
ときにおいても、それぞれの経路でレジスタトレースを
続行し、2つの経路の合流点以後においても以前のレジ
スタトレースの情報をむだなく利用することにより、よ
り多くの冗長なロード命令を認識し削除するようにした
ことを特徴とする。
実施例の説明 この発明の一実施例を第2図ないし第4図に基づいて説
明する。第2図はレジスタトレース装置の構成を示すブ
ロック図であり、10は入力となる入力アセンブラソー
スプログラム、11A・・・IINはCPU内のレジス
タの現在の内容を記憶する複数のレジスタトレースメモ
リ、12は複数のレジスタトレー、スメモリIIA・・
・IINの中の1つを指定するレジスタトレースメモリ
指定手段、13はレジスタトレースメモリ指定手段12
を通してレジスタトレースメモリ11A〜ILN K 
CPU内の各レジスタが保持する内容を記憶させ、また
その内容を用いて冗長な四−ド命令を認識し削除するレ
ジスタトレース部、14はレジスタトレース部において
冗長なロード命令が取り除かれた出力アセンブラソース
プログラムである。
つぎに、第3図の70−チャートによってレジスタトレ
ース部13の動作を詳しく説明する。同図において、記
号RT[R)ldレジスタトレースメモリ指定手段12
で指定される1/ジスタトレースメモリ中のレジスタR
に対する内容を示す。
ステップ30では、入力アセンブラプログラム10から
一つの命令を読込む。
ステップ39では、ステップ30において読込んだ一つ
の命令がストア命令であるl・どうかを判定する。この
判定を行なうのは、命令がストア命令であるときにメモ
リの内容が変更さ力2、同じメモリオペランドの内容を
もつ17ジスタRも内容が変更されたと等価になるため
である。
ステップ31では、ステップ39の判定結果がNoであ
る場合において、ステップ30で読込んだ命令がレジス
タ只の内容を変更する命令であるかどうかを判定する。
ステップ32では、ステップ310判定結果がYESで
ある場合において、内容が変更されるレジスタ名をレジ
スタRに記憶する。
ステップ33では、ステップ30で読込んだ命令がレジ
スタRへのロード命令かどうかを判定する。
ステップ34では、ステップ33の判定結果がYESの
場合において、レジスタトレ−スされるメモリオペラン
ドをメモリmに記憶する。
ステップ35では、メモ’J MBMの内容とR’l’
 CR:]とが一致するかどうかを判定する。I<’r
cR〕は以前にレジスタRにロート°されたメモリオペ
ランドを記憶しているので、MEMにRTCR)のとき
(YES)は、同じメモリオペランドの内容をロードす
ることになるので、ステップ30で読込んだロード命令
は冗長でおる。この冗長なロード命令は出力しない。
ステップ36では、ステップ35の判定結果がNOの場
合において、RT(R)をメモリ矧彊の内容とする。こ
れは、メモリ■画の内容とRTCR)とが一致しないと
きは、新たな内容がレジスタRにロードされるためであ
る。
ステップ40では、ステップ39の判定結果がYESの
場合において、レジスタトレースメモリ中でストア命令
のメモリオペランドをもつ(メモリオペランド−RT[
R)となる)レジスタRを探す。
ステップ37では、ステップ40において上記のレジス
タRがあれば、対応するレジスタトレースメモリの内容
RT[R)を0にする。また、ステップ33の判定結果
がNOの場合も同様である(ロード命令以外のレジスタ
変更命令のときは、RT[J()を0とし、レジスタR
は何も記憶していない状態とする)。
ステップ38では、ステップ31の判定結果がNOの場
合またはステップ37が実行された場合またはステップ
36が実行された場合、すなわち、読込んだ命令が冗長
でないと判定さり、た場合において、読込んだ命令をそ
のまま出力する。
以上のステップ30〜40を入力アセンブラプログラム
のすべての命令について繰返すことにより冗長なロード
命令を削除することができる。
第4図は分岐を含むプログラムのフローを示し、図にお
いて、20を単一経路、21を単一経路200分岐点、
22および23をそれぞれ分岐点21から分岐する分岐
経路、24を分岐経路22.23の合流点、25を合流
点から延びる合流経路と称することにする。この図をア
センブラソースプログラムと対応させると、分岐点21
に条件分岐命令があり、合流点24に分岐点21に存在
する条件分岐命令の飛び先ラベルがある。
この第4図により、分岐を含むプログラムにおけるレジ
スタトレース部13の処理内容について説明する。
(11) 単一経路20 複数のレジスタトレースメモリIIA〜IINの中の1
個、例えばIIAを用いて、従来通りのレジスタトレー
スを行なう。
(b)分岐点21 (7)経路20で使用していたレジスタトレースメモリ
IIA以外のレジスタトレースメモリ、例えば11Be
レジスタトレ一スメモリ指定手段12により選択する。
(イ)経路20で使用していたレジスタトレースメモリ
IIAの内容を上記レジスタトレースメモリ11Bにコ
ピーする。
(つ)分岐経路22上では経路20で使用されていたレ
ジスタトレースメモリIIAを、そして分岐経路23上
ではV)、(イ)で得られたレジスタトレースメモリl
IBを、それぞれ用いて従来のレジスタトレースを行な
う。
(C)合流点24 (7)分岐経路23で使用されていたレジスタトレース
メモIJ IIBと分岐経路22で使用されていたレジ
スタトレースメモリ11Aの各レジスタ征の内容を比較
する。
(イ)同一内容を持つレジスタが存在すれば、そのレジ
スタの内容は合流点24以後のレジスタトレースに利m
可能であるので、レジスタトレースメモIJ IIAの
このレジスタに対応する自答はそのまま保存する。
(つ)内容が異なるレジスタが存在すノ1.ば、そのレ
ジス々は分岐点21以後の2つの分岐経路22゜23内
で異なる内容をもつことを表わし、合流点24以後のレ
ジスタトレースに使用することはできないので、レジス
タトレ−スメモリi IAのこのレジスタに対応する内
容をクリアし、レジスタには何もデータが保存されてい
ないことを示すようにする。そして、レジスタトレース
メモリ1]、Bは未使用状態にする。
(d) 合流経路25 ((りで得うれたレジスタトレースメモリIIAを用い
て従来のレジスタトレースを打身う。
このように、複数のレジスタトレースメモリIIA〜I
INを用いて、上記の処理を行なうことにより、従来の
レジスタトレースでは行なうことができなかった分岐を
含むプログラムのすべての経路についてレジスタトレー
スを続行することができる。
これにより、より多くの冗長なロード命令の認識・削除
が可能となり、プログラムの大きさをより減少させるこ
とができる。
なお、分岐経路22.23の中に分岐を含んでいても、
その分岐点でさらに新しいレジスタトレースメモリを用
いることにより同様の方法でレジスタトレースを行なう
ことができる。
発明の効果 この発明のレジスタトレース装置によれば、より多くの
冗長なロード命令を認識して削除することができ、プロ
グラムを小さくすることができる。
【図面の簡単な説明】
第1図(A) 、 (F3)は従来のそれぞれレジスタ
1−レースを説明するだめアセンブラ言飴のフローチャ
ート、第2図(はこの発明の一実施例のブロック図、第
3図uレジスクトレース部のQ+作を示すフローチャー
ト、第4図は分岐があるプログラムの、/ し+−の説
明図である。 10・・・入カア→=ンプラソースプログラム、11A
〜IIN・・・レジスタトレースメモリ、12・・・レ
ジスタトレースメモリ指定手段、13・・・レジスタト
レースt’x%、14・・・出力アセンプラソースプロ
グラム第1図 第2図 第4

Claims (1)

    【特許請求の範囲】
  1. 中央処理装置内の各レジスタに格納されている内容を記
    憶する複数のレジスタトレースメモリと、この複数のレ
    ジスタトレースメモリのうちの1個を選択するレジスタ
    トレースメモリ指定手段と、アセンブラソースプログラ
    ムの単一経路では前記レジスタトレースメモリ指定手段
    によって選択された第1のレジスタトレースメモリを用
    いてレジスタトレース装置つこトニよす前記アセンブラ
    ソースプログラム中のレジスタに対する冗長なロード命
    令を削除して前記アセンブラソースプログラムを出力し
    、前記アセンブラソースプログラムの分岐点では前記レ
    ジスタトレースメモリ指定手段によって選択された第2
    のレジスタトレースメモリに前記第1のレジスタトレー
    スメモリの内容を写し、前記分岐点で分岐した第1およ
    び第2の分岐経路では前記第1および第2のレジスタト
    レースメモリをそれぞれ用いてレジスタトレースを行う
    ことにより前記アセンブラソースプログラム中のレジス
    タに対する冗長なロード命令を削除して前記アセンブラ
    ソースプログラムを出力し、前記第1および第2の分岐
    経路の合流点では前記第1および第2のレジスタトレー
    スメモリの内容を比較し内容が異なるレジスタが存在す
    れば前記第1のレジスタメモリにおいて前記内容が異な
    るレジスタに対する内容を削除し前記第2のレジスタト
    レースメモリは未使用状態にし、前記合流点から延びる
    合流経路では前記第1のレジスタトレースメモリを用い
    てレジスタトレースを行うことによす前記アセンブラソ
    ースプログラム中のレジスタに対する冗長なロード命令
    を削除して前記アセンブラソースプログラムを出力する
    レジスタトレース部とを備えたレジスタトレース装置。
JP58190401A 1983-10-11 1983-10-11 レジスタトレース方法 Granted JPS6081641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58190401A JPS6081641A (ja) 1983-10-11 1983-10-11 レジスタトレース方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58190401A JPS6081641A (ja) 1983-10-11 1983-10-11 レジスタトレース方法

Publications (2)

Publication Number Publication Date
JPS6081641A true JPS6081641A (ja) 1985-05-09
JPH0522936B2 JPH0522936B2 (ja) 1993-03-31

Family

ID=16257531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58190401A Granted JPS6081641A (ja) 1983-10-11 1983-10-11 レジスタトレース方法

Country Status (1)

Country Link
JP (1) JPS6081641A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63317843A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317847A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317845A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317850A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317848A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317852A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317853A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317851A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317846A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317844A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317849A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPH04247527A (ja) * 1990-10-15 1992-09-03 Internatl Business Mach Corp <Ibm> コンピュータの命令スケジューラ
JPH04263331A (ja) * 1990-10-15 1992-09-18 Internatl Business Mach Corp <Ibm> コンピュータ用大域命令スケジューラ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5561861A (en) * 1978-10-31 1980-05-09 Sanyo Electric Co Ltd Information processor
JPS58161045A (ja) * 1982-03-19 1983-09-24 Fujitsu Ltd コンパイラにおけるレジスタ管理方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5561861A (en) * 1978-10-31 1980-05-09 Sanyo Electric Co Ltd Information processor
JPS58161045A (ja) * 1982-03-19 1983-09-24 Fujitsu Ltd コンパイラにおけるレジスタ管理方式

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63317846A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPH0820969B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPS63317843A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317850A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317848A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317852A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317853A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317851A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317845A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317847A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317844A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPS63317849A (ja) * 1987-06-20 1988-12-26 Fujitsu Ten Ltd プログラム内容解析装置
JPH0820973B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPH0820971B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPH0820970B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPH0820972B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPH0820968B2 (ja) * 1987-06-20 1996-03-04 富士通テン株式会社 プログラム内容解析装置
JPH04263331A (ja) * 1990-10-15 1992-09-18 Internatl Business Mach Corp <Ibm> コンピュータ用大域命令スケジューラ
JPH04247527A (ja) * 1990-10-15 1992-09-03 Internatl Business Mach Corp <Ibm> コンピュータの命令スケジューラ

Also Published As

Publication number Publication date
JPH0522936B2 (ja) 1993-03-31

Similar Documents

Publication Publication Date Title
CA1159151A (en) Cellular network processors
KR100292300B1 (ko) 레지스터재명명시스템및방법
JPS6081641A (ja) レジスタトレース方法
JPS60101644A (ja) ノイマン型コンピュータプログラムを実行するコントロールフローコンピュータ
US20190057125A1 (en) System and method for managing log data
Friedman et al. A polynomial time algorithm for deciding the equivalence problem for 2-tape deterministic finite state acceptors
JPS6058487B2 (ja) デ−タ処理装置
JPH07219819A (ja) プログラム評価データ作成方法
JPS6152748A (ja) マイクロコンピユ−タ開発装置のトレ−ス選択方式
JP3389261B2 (ja) データ駆動型情報処理装置
JPS6032208B2 (ja) 命令シ−ケンス制御装置
JPS5846439A (ja) 計算機のプログラム編集方法
JP2831721B2 (ja) 演算器割当て装置
CN118796272A (zh) 一种访存方法、处理器、电子设备及可读存储介质
JP2576589B2 (ja) 仮想記憶アクセス制御方式
CN116610944A (zh) 一种模型训练方法、装置、设备及介质
Burkowski Instruction set design issues relating to a static dataflow computer
JPS64725B2 (ja)
JPS58222366A (ja) 並列演算装置
JPS628231A (ja) 論理型デ−タ処理装置
JPH03218524A (ja) 命令処理装置
JPH08171554A (ja) ベクトル演算の最適化コンパイラ
JPS58146945A (ja) プログラム分岐制御装置
JPS6073768A (ja) 入出力制御装置の命令変更方式
JPS6160132A (ja) デ−タ・タイプ制御方式