JPH0756723A - コンパイラ装置 - Google Patents
コンパイラ装置Info
- Publication number
- JPH0756723A JPH0756723A JP5199469A JP19946993A JPH0756723A JP H0756723 A JPH0756723 A JP H0756723A JP 5199469 A JP5199469 A JP 5199469A JP 19946993 A JP19946993 A JP 19946993A JP H0756723 A JPH0756723 A JP H0756723A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- language
- clock cycle
- arithmetic processing
- 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.)
- Withdrawn
Links
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 開発されたプログラムの実行効率を当該プロ
グラムの演算を実行する以前の段階で捕捉して、効率の
よくプログラムの開発が行えるコンパイラ装置を提供す
る。 【構成】 プログラム言語文法解析部1、プログラム言
語を機械語に翻訳するコード生成部2、複数種の機械語
命令とクロックサイクル数とを対応させたテーブル5、
所定の演算単位毎にクロックサイクル数を演算して求め
るクロックサイクル計算部4とから構成され、クロック
サイクル計算部4には、該翻訳された機械語のそれぞれ
に対して、テーブル5に記載された機械語に対応するク
ロックサイクル数を参照しながら、所定の演算処理に要
する処理時間を演算するクロックサイクル数演算手段
8、及びクロックサイクル数演算手段8からの出力を表
示する表示手段6とが設けられているコンパイラ装置2
0。
グラムの演算を実行する以前の段階で捕捉して、効率の
よくプログラムの開発が行えるコンパイラ装置を提供す
る。 【構成】 プログラム言語文法解析部1、プログラム言
語を機械語に翻訳するコード生成部2、複数種の機械語
命令とクロックサイクル数とを対応させたテーブル5、
所定の演算単位毎にクロックサイクル数を演算して求め
るクロックサイクル計算部4とから構成され、クロック
サイクル計算部4には、該翻訳された機械語のそれぞれ
に対して、テーブル5に記載された機械語に対応するク
ロックサイクル数を参照しながら、所定の演算処理に要
する処理時間を演算するクロックサイクル数演算手段
8、及びクロックサイクル数演算手段8からの出力を表
示する表示手段6とが設けられているコンパイラ装置2
0。
Description
【0001】
【産業上の利用分野】本発明は、コンパイラ装置に関す
るものであり、更に詳しくは、ソースファイル作成後、
当該所定の命令を実行する以前の段階に於いて、当該所
定の命令を実行するのに要する演算処理時間を予めオペ
レータ等の利用者に通知する機能を有するコンパイラ装
置に関するものである。
るものであり、更に詳しくは、ソースファイル作成後、
当該所定の命令を実行する以前の段階に於いて、当該所
定の命令を実行するのに要する演算処理時間を予めオペ
レータ等の利用者に通知する機能を有するコンパイラ装
置に関するものである。
【0002】
【従来の技術】近年、コンピュータプログラムは複雑
化、巨大化しており、その開発にあたって、より高度な
信頼性が要求されるとともに、プログラム実行に要する
時間の効率化を図ることも要求されている。その為、実
際のプログラム実行時に於いて、効率を図る様な仕組み
が存在してはいるが、プログラムの実行以前にその実行
速度を求める方式は発達しておらず、開発作業の信頼性
を低下させる結果につながっていた。
化、巨大化しており、その開発にあたって、より高度な
信頼性が要求されるとともに、プログラム実行に要する
時間の効率化を図ることも要求されている。その為、実
際のプログラム実行時に於いて、効率を図る様な仕組み
が存在してはいるが、プログラムの実行以前にその実行
速度を求める方式は発達しておらず、開発作業の信頼性
を低下させる結果につながっていた。
【0003】一方、現在では、高級プログラミング言語
が普及したことにより、作成したソースファイルが実際
どの様なコードに展開されるのかは、オペレータでも判
断が難しく、当該プログラムを実行してみなければ、所
要時間が判定出来ない場合が殆どであった。従って、従
来に於いては、プログラムの実行前に於いて、当該プロ
グラムのクロックサイクルを計算し、効率よく実行され
るように調整することが不可能であった。
が普及したことにより、作成したソースファイルが実際
どの様なコードに展開されるのかは、オペレータでも判
断が難しく、当該プログラムを実行してみなければ、所
要時間が判定出来ない場合が殆どであった。従って、従
来に於いては、プログラムの実行前に於いて、当該プロ
グラムのクロックサイクルを計算し、効率よく実行され
るように調整することが不可能であった。
【0004】つまり、従来に於いては、所定のC言語を
含む高級プログラミング言語を用いて書かれたプログラ
ムにより規定された所定の演算処理工程が、実際に演算
処理される際にどの程度の処理時間がかかるかを、実際
に演算処理を実行する以前に把握して、所定のプログラ
ムの適否を判断すると共に、必要なプログラム部分の修
正を行う事の出来るシステムの開発が要望されていた。
含む高級プログラミング言語を用いて書かれたプログラ
ムにより規定された所定の演算処理工程が、実際に演算
処理される際にどの程度の処理時間がかかるかを、実際
に演算処理を実行する以前に把握して、所定のプログラ
ムの適否を判断すると共に、必要なプログラム部分の修
正を行う事の出来るシステムの開発が要望されていた。
【0005】
【発明が解決しようとする課題】本発明の目的は、上記
した従来技術の欠点を改良し、コンパイル時において、
コード即ち機械語の生成と同時に利用者が指定する単位
毎の機械語命令群を実行するのに要する時間を計算し、
利用者にその結果を通知すると共に、プログラムの効率
の悪い部分についての情報を開発者に与えることにより
プログラムの実行効率を実行以前の段階で捕捉して、プ
ログラムの改善の手掛かりを与える機能を持つコンパイ
ラ装置を提供するものである。
した従来技術の欠点を改良し、コンパイル時において、
コード即ち機械語の生成と同時に利用者が指定する単位
毎の機械語命令群を実行するのに要する時間を計算し、
利用者にその結果を通知すると共に、プログラムの効率
の悪い部分についての情報を開発者に与えることにより
プログラムの実行効率を実行以前の段階で捕捉して、プ
ログラムの改善の手掛かりを与える機能を持つコンパイ
ラ装置を提供するものである。
【0006】
【課題を解決するための手段】本発明は上記した目的を
達成するため、以下に記載されたような技術構成を採用
するものである。即ち、ソースファイルと接続されたコ
ンパイラ装置で有って、プログラム言語文法解析部、該
プログラム言語を機械語に翻訳するコード生成部、複数
種の機械語命令のそれぞれとクロックサイクル数とを対
応させたテーブル、及び所定の演算単位毎にクロックサ
イクル数を演算して求めるクロックサイクル計算部とか
ら構成されており、更に該クロックサイクル計算部に
は、当該コード生成部に於いて翻訳された機械語のそれ
ぞれに対して、該テーブルに記載された当該機械語に対
応するクロックサイクル数を参照しながら、所定の演算
処理に要する処理時間を演算するクロックサイクル数演
算手段、及び当該クロックサイクル数演算手段からの出
力を該クロックサイクル数若しくは当該クロックサイク
ル数の関数で表示する表示手段とが設けられているコン
パイラ装置である。
達成するため、以下に記載されたような技術構成を採用
するものである。即ち、ソースファイルと接続されたコ
ンパイラ装置で有って、プログラム言語文法解析部、該
プログラム言語を機械語に翻訳するコード生成部、複数
種の機械語命令のそれぞれとクロックサイクル数とを対
応させたテーブル、及び所定の演算単位毎にクロックサ
イクル数を演算して求めるクロックサイクル計算部とか
ら構成されており、更に該クロックサイクル計算部に
は、当該コード生成部に於いて翻訳された機械語のそれ
ぞれに対して、該テーブルに記載された当該機械語に対
応するクロックサイクル数を参照しながら、所定の演算
処理に要する処理時間を演算するクロックサイクル数演
算手段、及び当該クロックサイクル数演算手段からの出
力を該クロックサイクル数若しくは当該クロックサイク
ル数の関数で表示する表示手段とが設けられているコン
パイラ装置である。
【0007】
【作用】本発明に係るコンパイラ装置は、上記した様な
技術構成を採用しているので、所定のC言語を含む高級
プログラミング言語を用いて書かれたプログラムにより
規定された所定の演算処理工程が、実際に演算処理され
る際にどの程度の処理時間がかかるかを、適宜の表示手
段に表示する事が出来るので、オペレータ等の当該シス
テムの利用者等は、実際に当該プログラムの演算処理を
実行する以前に、当該プログラムを実行する場合に必要
とされる演算処理速度、つまり演算処理時間を略正確に
把握する事が出来るので、新たに作成された演算プログ
ラムに関して、当該プログラムの適否を判断する事が出
来るばかりでなく、当該プログラムに対して必要な修正
を行う事が出来るので、プログラムの開発を効率的に行
う事が可能となる。
技術構成を採用しているので、所定のC言語を含む高級
プログラミング言語を用いて書かれたプログラムにより
規定された所定の演算処理工程が、実際に演算処理され
る際にどの程度の処理時間がかかるかを、適宜の表示手
段に表示する事が出来るので、オペレータ等の当該シス
テムの利用者等は、実際に当該プログラムの演算処理を
実行する以前に、当該プログラムを実行する場合に必要
とされる演算処理速度、つまり演算処理時間を略正確に
把握する事が出来るので、新たに作成された演算プログ
ラムに関して、当該プログラムの適否を判断する事が出
来るばかりでなく、当該プログラムに対して必要な修正
を行う事が出来るので、プログラムの開発を効率的に行
う事が可能となる。
【0008】つまり、本発明に於いては、コンパイル作
業時に於いて、クロックサイクル計算部に於いて、オペ
レータ等或いは所定のプログラムによる指定の単位に基
づいてその単位毎にクロックサイクル数を演算して求
め、その結果得られた演算処理時間つまりクロックサイ
クル数を、該高級言語により表示された当該プログラム
の内容と対比して表示手段等を介して利用者、オペレー
タ等に通知する様にしたものであるから、オペレータ等
は、当該表示手段の表示結果を見ながら、当該プログラ
ムを実行する前に当該プログラムの適否を理論的に判断
出来るので、効率の良いプログラムを開発する事が出来
るのである。
業時に於いて、クロックサイクル計算部に於いて、オペ
レータ等或いは所定のプログラムによる指定の単位に基
づいてその単位毎にクロックサイクル数を演算して求
め、その結果得られた演算処理時間つまりクロックサイ
クル数を、該高級言語により表示された当該プログラム
の内容と対比して表示手段等を介して利用者、オペレー
タ等に通知する様にしたものであるから、オペレータ等
は、当該表示手段の表示結果を見ながら、当該プログラ
ムを実行する前に当該プログラムの適否を理論的に判断
出来るので、効率の良いプログラムを開発する事が出来
るのである。
【0009】
【実施例】以下に、本発明に係るコンパイラ装置の具体
例を図面を参照しながら詳細に説明する。図1は、本発
明に係るコンパイラ装置20の一具体例の構成を示すブ
ロックダイアグラムであり、図中、ソースファイル10
と接続されたコンパイラ装置20で有って、プログラム
言語文法解析部1、該プログラム言語を機械語に翻訳す
るコード生成部2、複数種の機械語命令のそれぞれとク
ロックサイクル数とを対応させたテーブル5、及び所定
の演算単位毎にクロックサイクル数を演算して求めるク
ロックサイクル計算部4とから構成されており、更に該
クロックサイクル計算部4には、当該コード生成部2に
於いて翻訳された機械語のそれぞれに対して、該テーブ
ル5に記載された当該機械語に対応するクロックサイク
ル数を参照しながら、所定の演算処理に要する処理時間
を演算するクロックサイクル数演算手段8、及び当該ク
ロックサイクル数演算手段8からの出力を該クロックサ
イクル数若しくは当該クロックサイクル数の関数で表示
する表示手段6とが設けられているコンパイラ装置20
が示されている。
例を図面を参照しながら詳細に説明する。図1は、本発
明に係るコンパイラ装置20の一具体例の構成を示すブ
ロックダイアグラムであり、図中、ソースファイル10
と接続されたコンパイラ装置20で有って、プログラム
言語文法解析部1、該プログラム言語を機械語に翻訳す
るコード生成部2、複数種の機械語命令のそれぞれとク
ロックサイクル数とを対応させたテーブル5、及び所定
の演算単位毎にクロックサイクル数を演算して求めるク
ロックサイクル計算部4とから構成されており、更に該
クロックサイクル計算部4には、当該コード生成部2に
於いて翻訳された機械語のそれぞれに対して、該テーブ
ル5に記載された当該機械語に対応するクロックサイク
ル数を参照しながら、所定の演算処理に要する処理時間
を演算するクロックサイクル数演算手段8、及び当該ク
ロックサイクル数演算手段8からの出力を該クロックサ
イクル数若しくは当該クロックサイクル数の関数で表示
する表示手段6とが設けられているコンパイラ装置20
が示されている。
【0010】更に、本具体例に於いて、30は、通常コ
ンパイラ装置と称される回路部であり、又ソースファイ
ル10は、C言語を含む適宜の高級言語によって作成さ
れている演算処理命令、実行プログラムが格納されてい
るもので有る。一方、上記具体例に於ける該プログラム
言語文法解析部1は、コンパイラの入力となるソースフ
ァイル10の文法解析を行う機能を有するものであり、
又コード生成部2は、上記したソースファイル10に格
納されている高級言語によって作成されている演算処理
命令、実行プログラムを所定のターゲットとなるマシン
の機械語へ翻訳する機能を有するものである。
ンパイラ装置と称される回路部であり、又ソースファイ
ル10は、C言語を含む適宜の高級言語によって作成さ
れている演算処理命令、実行プログラムが格納されてい
るもので有る。一方、上記具体例に於ける該プログラム
言語文法解析部1は、コンパイラの入力となるソースフ
ァイル10の文法解析を行う機能を有するものであり、
又コード生成部2は、上記したソースファイル10に格
納されている高級言語によって作成されている演算処理
命令、実行プログラムを所定のターゲットとなるマシン
の機械語へ翻訳する機能を有するものである。
【0011】従って、該コード生成部2に於いては、当
該高級言語によって作成されている演算処理プログラム
を、所定の機械語に翻訳し、その機械語のリスト3を作
成し、そのリストを適宜の記憶手段に格納しておくもの
である。一方、本具体例に於けるテーブル5は、代表的
な機械語、或いは頻繁に使用される機械語等をリストア
ップすると共に、それぞれの機械語に相当する所定の演
算処理を実行する場合の演算処理時間を予め求めてお
き、その時間を例えばクロックサイクル数等のパラメー
タで表示したデータを、各機械語に対応させて一覧表に
したルックアップテーブルである。
該高級言語によって作成されている演算処理プログラム
を、所定の機械語に翻訳し、その機械語のリスト3を作
成し、そのリストを適宜の記憶手段に格納しておくもの
である。一方、本具体例に於けるテーブル5は、代表的
な機械語、或いは頻繁に使用される機械語等をリストア
ップすると共に、それぞれの機械語に相当する所定の演
算処理を実行する場合の演算処理時間を予め求めてお
き、その時間を例えばクロックサイクル数等のパラメー
タで表示したデータを、各機械語に対応させて一覧表に
したルックアップテーブルである。
【0012】図1のテーブル5は、その一例を示すもの
であって、例えば、機械語として(push bp) (move bp,
sp) (pop bp) 等がリストアップされており、それぞれ
の機械語に相当する演算処理時間をクロックサイクル値
で表示し、n1,n2,nnである事を示したものであ
る。本発明に於いては、係るクロックサイクル値に替え
て、直接時間で表示することも出来る。
であって、例えば、機械語として(push bp) (move bp,
sp) (pop bp) 等がリストアップされており、それぞれ
の機械語に相当する演算処理時間をクロックサイクル値
で表示し、n1,n2,nnである事を示したものであ
る。本発明に於いては、係るクロックサイクル値に替え
て、直接時間で表示することも出来る。
【0013】又、本具体例に於ける該クロックサイクル
計算部4に於いては、前記コード生成部2に於いて作成
された、機械語リスト3と該テーブル5のデータを読み
込み、当該機械語リスト3に記載されている機械語で表
示された特定の演算プログラムを実行する場合に要する
演算処理時間を該テーブル5に記憶されている対応する
各機械語とそのクロックサイクル値とを参照しながら、
演算処理してクロックサイクル数を求めるクロックサイ
クル数演算手段8が設けられるものである。
計算部4に於いては、前記コード生成部2に於いて作成
された、機械語リスト3と該テーブル5のデータを読み
込み、当該機械語リスト3に記載されている機械語で表
示された特定の演算プログラムを実行する場合に要する
演算処理時間を該テーブル5に記憶されている対応する
各機械語とそのクロックサイクル値とを参照しながら、
演算処理してクロックサイクル数を求めるクロックサイ
クル数演算手段8が設けられるものである。
【0014】本発明に於いては、当該コード生成部2に
於いて作成された機械語リスト3に記載されたプログラ
ムのそれぞれについて演算処理時間を求める場合に、ど
の程度の単位で演算処理を行わせるかは、オペレータ等
の利用者が任意に決定出来るものであり、例えば、当該
機械語リスト3に記載された全プログラムに於いて、ス
テートメント単位とするか、ブロック単位とするか、或
いは関数/手続単位とするか、更にはループ指定毎に行
うか任意に選択しえるものである。
於いて作成された機械語リスト3に記載されたプログラ
ムのそれぞれについて演算処理時間を求める場合に、ど
の程度の単位で演算処理を行わせるかは、オペレータ等
の利用者が任意に決定出来るものであり、例えば、当該
機械語リスト3に記載された全プログラムに於いて、ス
テートメント単位とするか、ブロック単位とするか、或
いは関数/手続単位とするか、更にはループ指定毎に行
うか任意に選択しえるものである。
【0015】係る選択を実行する為、本発明に於いて
は、該クロックサイクル計算部4には、演算処理時間を
求める必要のある演算処理単位を指定するコマンド入力
手段7が設けられており、当該コマンド入力手段7に設
けられた計算単位を示すパラメ−タ11において複数種
の計算単位情報から少なくとも一つを、利用者が指定し
て、該クロックサイクル計算部4に入力する事により、
当該コマンドに応じた演算処理が当該クロックサイクル
計算部4に於いて実行され、所定の計算単位毎の演算処
理時間が計算される。
は、該クロックサイクル計算部4には、演算処理時間を
求める必要のある演算処理単位を指定するコマンド入力
手段7が設けられており、当該コマンド入力手段7に設
けられた計算単位を示すパラメ−タ11において複数種
の計算単位情報から少なくとも一つを、利用者が指定し
て、該クロックサイクル計算部4に入力する事により、
当該コマンドに応じた演算処理が当該クロックサイクル
計算部4に於いて実行され、所定の計算単位毎の演算処
理時間が計算される。
【0016】本発明に於いては、該クロックサイクル計
算部4で演算された、所定の計算単位毎の演算処理時間
を表示する為の表示手段6が設けられているもので有っ
て、該表示手段6は、該C言語を含む高級プログラム言
語で書かれた、所定の演算処理を実行するためのプログ
ラムリストと、当該プログラムリストの演算処理に要す
る時間を時間に関するパラメータで表示したリスト、と
を表示するものである。
算部4で演算された、所定の計算単位毎の演算処理時間
を表示する為の表示手段6が設けられているもので有っ
て、該表示手段6は、該C言語を含む高級プログラム言
語で書かれた、所定の演算処理を実行するためのプログ
ラムリストと、当該プログラムリストの演算処理に要す
る時間を時間に関するパラメータで表示したリスト、と
を表示するものである。
【0017】尚、本具体例に於いて、演算処理結果を該
表示手段6に表示する場合に、如何なる形式で表示させ
るかを選択させる為に、前記したコマンド入力手段7
に、複数種の表示形式を示す情報を格納したパラメ−タ
12を設け、オペレータ等の利用者が、適宜の表示形式
を指定して、その情報をクロックサイクル計算部4に入
力する事により決定されるものである。
表示手段6に表示する場合に、如何なる形式で表示させ
るかを選択させる為に、前記したコマンド入力手段7
に、複数種の表示形式を示す情報を格納したパラメ−タ
12を設け、オペレータ等の利用者が、適宜の表示形式
を指定して、その情報をクロックサイクル計算部4に入
力する事により決定されるものである。
【0018】図2に、本発明の上記具体例に於いて使用
される表示手段6の表示例を示すものである。即ち、図
2の表示例に於いては、当該表示形式が、該コマンド入
力手段7に於いて「リスト」と指定され、且つ計算単位
が、ブロック単位と指定された場合の例を示すものであ
って、ステップ100から102までの演算処理が、高
級言語で表示されると共に、当該ブロック単位の演算処
理時間はクロックサイクル値で5(value = 5 ) と表示
されている例である。
される表示手段6の表示例を示すものである。即ち、図
2の表示例に於いては、当該表示形式が、該コマンド入
力手段7に於いて「リスト」と指定され、且つ計算単位
が、ブロック単位と指定された場合の例を示すものであ
って、ステップ100から102までの演算処理が、高
級言語で表示されると共に、当該ブロック単位の演算処
理時間はクロックサイクル値で5(value = 5 ) と表示
されている例である。
【0019】従って、オペレータ等の利用者は、係る表
示結果をみて、現在開発中のプログラムが、所定の時間
内に演算処理を終了する事が出来るか否かを、当該プロ
グラムを実際に動かす以前に把握する事ができ、然かも
高級言語で表示されるので、理解も早くなる。つまり、
本発明に於けるコンパイラ装置20に於いては、当該コ
マンド入力手段7を介して、利用者が指定する演算処理
単位11が当該クロックサイクル計算部4に入力される
事により、当該クロックサイクル計算部4が、当該指定
演算処理単位11に基づいて、当該指定された演算処理
単位11に相当する実行命令のクロックサイクル数を演
算し、当該指定された演算処理単位毎のクロックサイク
ル数を該表示手段6に表示する様に構成されているもの
である。
示結果をみて、現在開発中のプログラムが、所定の時間
内に演算処理を終了する事が出来るか否かを、当該プロ
グラムを実際に動かす以前に把握する事ができ、然かも
高級言語で表示されるので、理解も早くなる。つまり、
本発明に於けるコンパイラ装置20に於いては、当該コ
マンド入力手段7を介して、利用者が指定する演算処理
単位11が当該クロックサイクル計算部4に入力される
事により、当該クロックサイクル計算部4が、当該指定
演算処理単位11に基づいて、当該指定された演算処理
単位11に相当する実行命令のクロックサイクル数を演
算し、当該指定された演算処理単位毎のクロックサイク
ル数を該表示手段6に表示する様に構成されているもの
である。
【0020】図3は、本発明に係るコンパイラ装置20
の他の具体例に於ける演算方法の例を説明する図であ
る。つまり、ソースファイル10に格納されている所定
のプログラムが、該コード生成部4に於いて機械語に翻
訳されて、その機械語によるリスト3が例えば図示の様
に形成されている。
の他の具体例に於ける演算方法の例を説明する図であ
る。つまり、ソースファイル10に格納されている所定
のプログラムが、該コード生成部4に於いて機械語に翻
訳されて、その機械語によるリスト3が例えば図示の様
に形成されている。
【0021】つまり機械語として (push bp) (move b
p,sp) (mov ax, 24) 等がリストアップされている。
今、オペレータが、該コマンド入力手段7に於いて、準
備されている演算処理単位のメニューである「ステート
メント単位」、「ブロック単位」、「関数/手続単位」
及び「ループ指定」の中から指定単位に基づいて命令群
の取り出し方法を選択すると、その指定単位毎に当該リ
スト3内に記載されている機械語を選択して所定の記憶
手段(図示せず)に記憶させる。
p,sp) (mov ax, 24) 等がリストアップされている。
今、オペレータが、該コマンド入力手段7に於いて、準
備されている演算処理単位のメニューである「ステート
メント単位」、「ブロック単位」、「関数/手続単位」
及び「ループ指定」の中から指定単位に基づいて命令群
の取り出し方法を選択すると、その指定単位毎に当該リ
スト3内に記載されている機械語を選択して所定の記憶
手段(図示せず)に記憶させる。
【0022】一方、前記テーブル5を読みに行き、当該
テーブル5から、前記選択した各機械語、例えば (push
bp) (move bp,sp) (mov ax, 24) に相当するクロック
サイクル値、n1,n2,n3をそれぞで選択して当該
演算単位に於ける演算処理時間を示す関数として、それ
ぞれのクロックサイクル値を加算した値(value=n1 +n2
+ n3 )を、クロックサイクル数演算手段8に於いて求
める事になる。
テーブル5から、前記選択した各機械語、例えば (push
bp) (move bp,sp) (mov ax, 24) に相当するクロック
サイクル値、n1,n2,n3をそれぞで選択して当該
演算単位に於ける演算処理時間を示す関数として、それ
ぞれのクロックサイクル値を加算した値(value=n1 +n2
+ n3 )を、クロックサイクル数演算手段8に於いて求
める事になる。
【0023】次いで、前記コマンド入力手段7に於いて
オペレータが、表示形式を選択し、「リスト」が選択さ
れると、前記した演算処理単位毎に、ステップ200か
ら202までの演算処理が、高級言語で表示されると共
に、当該単位の演算処理時間はクロックサイクル値で例
えばvalue = 5 と表示されるものである。又、図4は、
本発明に係るコンパイラ装置の他の具体例を示すブロッ
クダイアグラムで有って、基本的な構成は、前記した具
体例と同一であるが、当該コマンド入力手段7に、ワー
ニング標準単位を示すパラメ−タ13を設け、上記した
方法によって、指定された演算処理単位毎に、演算処理
時間を求めた後、当該演算処理単位に於ける演算処理時
間が、上記した該コマンド入力手段7にて選択されたワ
ーニング標準単位時間を越える場合には、アラーム表示
を行う事によって、オペレータに対して積極的に、問題
となる演算処理単位の存在を通報する様に構成されたも
のである。
オペレータが、表示形式を選択し、「リスト」が選択さ
れると、前記した演算処理単位毎に、ステップ200か
ら202までの演算処理が、高級言語で表示されると共
に、当該単位の演算処理時間はクロックサイクル値で例
えばvalue = 5 と表示されるものである。又、図4は、
本発明に係るコンパイラ装置の他の具体例を示すブロッ
クダイアグラムで有って、基本的な構成は、前記した具
体例と同一であるが、当該コマンド入力手段7に、ワー
ニング標準単位を示すパラメ−タ13を設け、上記した
方法によって、指定された演算処理単位毎に、演算処理
時間を求めた後、当該演算処理単位に於ける演算処理時
間が、上記した該コマンド入力手段7にて選択されたワ
ーニング標準単位時間を越える場合には、アラーム表示
を行う事によって、オペレータに対して積極的に、問題
となる演算処理単位の存在を通報する様に構成されたも
のである。
【0024】従って、本具体例に於いては、該クロック
サイクル計算部4に於いて、前記したクロックサイクル
数演算手段8と表示手段6の他に、該クロックサイクル
数演算手段8に於ける演算処理時間の演算結果と該コマ
ンド入力手段7に於いて選択されたワーニング標準単位
とを比較する比較手段9が更に設けられているものであ
る。
サイクル計算部4に於いて、前記したクロックサイクル
数演算手段8と表示手段6の他に、該クロックサイクル
数演算手段8に於ける演算処理時間の演算結果と該コマ
ンド入力手段7に於いて選択されたワーニング標準単位
とを比較する比較手段9が更に設けられているものであ
る。
【0025】そして、本具体例に於いては、該表示手段
6に於いて、選択された演算処理単位に含まれる各演算
処理工程それぞれに付いて、それぞれの工程でのワーニ
ング標準単位と比較させ、当該演算処理工程の演算処理
時間がワーニング標準単位をこえる工程の全てに対して
ワーニングを示すマーク、記号等を合わせて表示する
か、音声、光等によって、オペレータにその異常を警告
するものである。
6に於いて、選択された演算処理単位に含まれる各演算
処理工程それぞれに付いて、それぞれの工程でのワーニ
ング標準単位と比較させ、当該演算処理工程の演算処理
時間がワーニング標準単位をこえる工程の全てに対して
ワーニングを示すマーク、記号等を合わせて表示する
か、音声、光等によって、オペレータにその異常を警告
するものである。
【0026】図5には、本発明に於いて使用される高級
言語としてのC言語を機械語に翻訳した場合の例と、枠
で選択した機械語に相当するクロックサイクル値を示す
テーブル5の例を示すものである。図5に於いては、C
言語で書かれたソースプログラムに対応する機械語とし
て一般的な機械語とニーモニック言語の2種類が示され
ている。
言語としてのC言語を機械語に翻訳した場合の例と、枠
で選択した機械語に相当するクロックサイクル値を示す
テーブル5の例を示すものである。図5に於いては、C
言語で書かれたソースプログラムに対応する機械語とし
て一般的な機械語とニーモニック言語の2種類が示され
ている。
【0027】該ニーモニック言語は、機械語を判りやす
く表現したものであって、機械語と1対1対応になって
いる。各機械語のクロックサイクル値はCPUの種によ
り決まっており、規格書として一般に公開されているも
のを使用する事が可能である。図6は、上記した関係を
使用して、本発明の演算処理を実行する場合の手順を説
明したもので有って、つまり、ソースファイル10に
は、図5に示すC言語で記載されたプログラムソースが
格納されており、係るプログラムソースが、文法解析部
1を介して、コード生成部4に入力され、図5に示す様
な機械語に翻訳され機械語リスト3が作成される。
く表現したものであって、機械語と1対1対応になって
いる。各機械語のクロックサイクル値はCPUの種によ
り決まっており、規格書として一般に公開されているも
のを使用する事が可能である。図6は、上記した関係を
使用して、本発明の演算処理を実行する場合の手順を説
明したもので有って、つまり、ソースファイル10に
は、図5に示すC言語で記載されたプログラムソースが
格納されており、係るプログラムソースが、文法解析部
1を介して、コード生成部4に入力され、図5に示す様
な機械語に翻訳され機械語リスト3が作成される。
【0028】そして今、当該プログラムソースの5行目
のプログラムの演算処理時間を計算する場合、当該プロ
グラムに相当する機械語は、86 46, d1 e0, 89 46 であ
るので、当該各機械語に相当するクロックサイクル値を
該テーブル5から選択すると、86 46 は4であり、 d1
e0は2であり、又89 46 は3である事が判るので、係る
データをクロックサイクル計算部4に於けるクロックサ
イクル値演算手段8で加算した値9(value=4+3+
2)を求める事になる。
のプログラムの演算処理時間を計算する場合、当該プロ
グラムに相当する機械語は、86 46, d1 e0, 89 46 であ
るので、当該各機械語に相当するクロックサイクル値を
該テーブル5から選択すると、86 46 は4であり、 d1
e0は2であり、又89 46 は3である事が判るので、係る
データをクロックサイクル計算部4に於けるクロックサ
イクル値演算手段8で加算した値9(value=4+3+
2)を求める事になる。
【0029】次いで、前記コマンド入力手段7に於いて
オペレータが、選択した表示形式に従って当該C言語に
よるプログラムと共に該演算結果が当該表示手段上にva
lue= 9と表示されるものである。尚、図5中、fc、fe
は共にクロックサイクル値の計算とは関係のない符号で
ある。
オペレータが、選択した表示形式に従って当該C言語に
よるプログラムと共に該演算結果が当該表示手段上にva
lue= 9と表示されるものである。尚、図5中、fc、fe
は共にクロックサイクル値の計算とは関係のない符号で
ある。
【0030】上記した本発明に係るコンパイラ装置の具
体例を用いて、種々の変形態様が実行化が可能であり、
係る変形態様の構成例の概略を以下に説明する。 (1)上記した具体例において、利用者が、演算処理単
位として、プログラム上の1ステートメントを指定する
事によって、当該1ステートメントを単位として、その
演算処理の実行クロックサイクルを計算する事が出来、
又利用者が、演算処理単位として、プログラム上の複数
のステートメントからなる実行単位(ブロック)を指定
した場合、当該1ブロックを単位としてその演算処理の
実行クロックサイクルを計算する事が出来る。
体例を用いて、種々の変形態様が実行化が可能であり、
係る変形態様の構成例の概略を以下に説明する。 (1)上記した具体例において、利用者が、演算処理単
位として、プログラム上の1ステートメントを指定する
事によって、当該1ステートメントを単位として、その
演算処理の実行クロックサイクルを計算する事が出来、
又利用者が、演算処理単位として、プログラム上の複数
のステートメントからなる実行単位(ブロック)を指定
した場合、当該1ブロックを単位としてその演算処理の
実行クロックサイクルを計算する事が出来る。
【0031】(2)上記した具体例において、利用者
が、演算処理単位として、関数又は手続を指定する事に
よって、当該関数又は手続を単位として、その演算処理
の実行クロックサイクルを計算する事も出来る。 (3)上記した具体例において、利用者が、演算処理単
位として、ループを指定した場合、当該ループ中或いは
ブロック中等、分岐がなく実行クロック数が確定出来る
部分を自動的に求めて、その単位毎に、その演算処理の
実行クロックサイクルを計算する事も出来る。
が、演算処理単位として、関数又は手続を指定する事に
よって、当該関数又は手続を単位として、その演算処理
の実行クロックサイクルを計算する事も出来る。 (3)上記した具体例において、利用者が、演算処理単
位として、ループを指定した場合、当該ループ中或いは
ブロック中等、分岐がなく実行クロック数が確定出来る
部分を自動的に求めて、その単位毎に、その演算処理の
実行クロックサイクルを計算する事も出来る。
【0032】
【発明の効果】本発明に係るコンパイラ装置は、上記し
た様な技術構成を有しているので、所定の演算プログラ
ムを実行する以前に、その演算に要する実行時間を確認
する事が出来るので、当該プログラムの実行時間の効率
の善し悪しを事前に論理的に判断する事が可能であるの
で、プログラム実行時の効率を図る為の特別な工夫をす
る必要がなく、効率の良いプログラムを作成する事が出
来ると共に、システム全体の品質の向上に寄与する処が
大きい。
た様な技術構成を有しているので、所定の演算プログラ
ムを実行する以前に、その演算に要する実行時間を確認
する事が出来るので、当該プログラムの実行時間の効率
の善し悪しを事前に論理的に判断する事が可能であるの
で、プログラム実行時の効率を図る為の特別な工夫をす
る必要がなく、効率の良いプログラムを作成する事が出
来ると共に、システム全体の品質の向上に寄与する処が
大きい。
【図1】図1は、本発明に係るコンパイラ装置の構成の
一例を示すブロックダイアグラムである。
一例を示すブロックダイアグラムである。
【図2】図2は、図1に於ける本発明のコンパイラ装置
の於いて使用される表示手段の表示例を示す図である。
の於いて使用される表示手段の表示例を示す図である。
【図3】図3は、本発明に係るコンパイラ装置の構成の
他の例を示すブロックダイアグラムである。
他の例を示すブロックダイアグラムである。
【図4】図4は、本発明に係るコンパイラ装置の構成の
更に他の例を示すブロックダイアグラムである。
更に他の例を示すブロックダイアグラムである。
【図5】図5は、本発明に於けるコンパイラ装置に於い
て使用される高級言語とそれに対応する機械語の例及び
テーブルの一例を示す図である。
て使用される高級言語とそれに対応する機械語の例及び
テーブルの一例を示す図である。
【図6】図6は、図5で示された高級言語と機械語の例
を用いて本発明を実行する場合の例を示すブロックダイ
アグラムである。
を用いて本発明を実行する場合の例を示すブロックダイ
アグラムである。
1…プログラム言語文法解析部 2…コード生成部 3…機械語リスト 4…クロックサイクル計算部 5…テーブル 6…表示手段 7…コマンド入力手段 8…クロックサイクル数演算手段 9…比較手段 10…ソースファイル 20…コンパイラ装置 30…コンパイラ
Claims (5)
- 【請求項1】 ソースファイルと接続されたコンパイラ
装置で有って、プログラム言語文法解析部、該プログラ
ム言語を機械語に翻訳するコード生成部、複数種の機械
語命令のそれぞれとクロックサイクル数とを対応させた
テーブル、及び所定の演算単位毎にクロックサイクル数
を演算して求めるクロックサイクル計算部とから構成さ
れており、更に該クロックサイクル計算部には、当該コ
ード生成部に於いて翻訳された機械語のそれぞれに対し
て、該テーブルに記載された当該機械語に対応するクロ
ックサイクル数を参照しながら、所定の演算処理に要す
る処理時間を演算するクロックサイクル数演算手段、及
び当該クロックサイクル数演算手段からの出力を該クロ
ックサイクル数若しくは当該クロックサイクル数の関数
で表示する表示手段とが設けられている事を特徴とする
コンパイラ装置。 - 【請求項2】 当該ソースファイルに格納されている言
語は、C言語を含む高級言語である事を特徴とする請求
項1記載のコンパイラ装置。 - 【請求項3】 該表示手段は、該C言語を含む高級プロ
グラム言語で書かれた、所定の演算処理を実行するため
のプログラムリストと、当該プログラムリストの演算処
理に要する時間を時間に関するパラメータで表示したリ
スト、とを表示するものである事を特徴とする請求項2
記載のコンパイラ装置。 - 【請求項4】 該クロックサイクル計算部には、演算処
理時間を求める必要のある演算処理単位を指定するか、
若しくは当該演算処理結果を表示する表示方式を指定す
るコマンド入力手段が接続されている事を特徴とする請
求項1記載のコンパイラ装置。 - 【請求項5】 当該コマンド入力手段を介して、利用者
が指定する演算処理単位が当該クロックサイクル計算部
に入力される事により、当該クロックサイクル計算部
が、当該指定演算処理単位に基づいて、当該指定された
演算処理単位に相当する実行命令のクロックサイクル数
を演算し、当該指定された演算処理単位毎のクロックサ
イクル数を該表示手段に表示する様に構成されている事
を特徴とする請求項4記載のコンパイラ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5199469A JPH0756723A (ja) | 1993-08-11 | 1993-08-11 | コンパイラ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5199469A JPH0756723A (ja) | 1993-08-11 | 1993-08-11 | コンパイラ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0756723A true JPH0756723A (ja) | 1995-03-03 |
Family
ID=16408327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5199469A Withdrawn JPH0756723A (ja) | 1993-08-11 | 1993-08-11 | コンパイラ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0756723A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006126977A (ja) * | 2004-10-27 | 2006-05-18 | Matsushita Electric Ind Co Ltd | プログラム変換装置及び方法 |
JP2010211682A (ja) * | 2009-03-12 | 2010-09-24 | Hitachi Information & Control Solutions Ltd | プログラム設計支援装置、プログラム設計支援方法、およびプログラム |
JP2011060109A (ja) * | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | 組み込み用プログラム開発装置及び組み込み用プログラム開発方法 |
JP2017010077A (ja) * | 2015-06-16 | 2017-01-12 | 富士通株式会社 | 計算機、コンパイラプログラム、リンクプログラムおよびコンパイル方法 |
-
1993
- 1993-08-11 JP JP5199469A patent/JPH0756723A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006126977A (ja) * | 2004-10-27 | 2006-05-18 | Matsushita Electric Ind Co Ltd | プログラム変換装置及び方法 |
US7856625B2 (en) | 2004-10-27 | 2010-12-21 | Panasonic Corporation | Program conversion device and method |
JP2010211682A (ja) * | 2009-03-12 | 2010-09-24 | Hitachi Information & Control Solutions Ltd | プログラム設計支援装置、プログラム設計支援方法、およびプログラム |
JP2011060109A (ja) * | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | 組み込み用プログラム開発装置及び組み込み用プログラム開発方法 |
JP2017010077A (ja) * | 2015-06-16 | 2017-01-12 | 富士通株式会社 | 計算機、コンパイラプログラム、リンクプログラムおよびコンパイル方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
JPH1091476A (ja) | プログラム実行装置及び機能仕様とコードアドレスとの対応付け方法 | |
JP2000122886A (ja) | 半導体試験装置のプログラム作成方式 | |
JPH0756723A (ja) | コンパイラ装置 | |
JPS60107142A (ja) | プログラム翻訳装置 | |
JP3196675B2 (ja) | 言語処理方式 | |
JPS62113244A (ja) | プログラムテスト装置 | |
JPH07168709A (ja) | プログラムジェネレータ利用仕様シミュレーション方法およびその装置 | |
JP2008269529A (ja) | デバッグ支援装置 | |
JPH02275539A (ja) | デバッグ処理方式 | |
JP2016200872A (ja) | 制御プログラム作成装置、及び制御プログラムのデバッグ方法 | |
JP2002182709A (ja) | プログラマブルコントローラのプログラミング装置 | |
JP2007004516A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JP3158395B2 (ja) | テスト実行フロー作成装置 | |
JP2000353112A (ja) | 中間言語レベルのデバッグ方法及びシステム | |
JP2013235381A (ja) | データ編集装置およびデータ編集方法 | |
JPH05108372A (ja) | コンパイラ最適化処理内容の出力方式 | |
JPH0255811B2 (ja) | ||
JPH06242943A (ja) | ソースコードレベルデバッグ装置 | |
JPH07319730A (ja) | テスト・デバッグ方法 | |
CN118394330A (zh) | 学习设备、编程学习平台、方法、电子设备和存储介质 | |
CN113626390A (zh) | 一种bb文件的生成方法、装置、电子设备及存储介质 | |
CN118626147A (zh) | 指令译码方法、装置、电子设备及可读介质 | |
JPH07311692A (ja) | デバッグ方法 | |
JPS58169262A (ja) | 構造化プログラムの実行状態データ収集方法および構造化プログラム処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001031 |