JPS6378238A - 目的コ−ド生成装置 - Google Patents
目的コ−ド生成装置Info
- Publication number
- JPS6378238A JPS6378238A JP22196286A JP22196286A JPS6378238A JP S6378238 A JPS6378238 A JP S6378238A JP 22196286 A JP22196286 A JP 22196286A JP 22196286 A JP22196286 A JP 22196286A JP S6378238 A JPS6378238 A JP S6378238A
- Authority
- JP
- Japan
- Prior art keywords
- data
- object code
- circuit
- node
- code generation
- 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
Links
- 238000000034 method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 5
- 238000000547 structure data Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明は原始プログラムを目的プログラムに翻訳するプ
ログラムであるコンパイラの一部となっている目的コー
ド生成部の代替装置となるような、極めて高速に目的コ
ードを生成することができる目的コード生成装置に関す
る。
ログラムであるコンパイラの一部となっている目的コー
ド生成部の代替装置となるような、極めて高速に目的コ
ードを生成することができる目的コード生成装置に関す
る。
(従来の技術)
近年のソフトウェアの大曳膜化、複雑化に伴いンフトウ
1アの開発期間が長くなってきている。
1アの開発期間が長くなってきている。
また、プログラムの実行速度が計算機ノ・−ドウエアの
進歩によって年々上がってきているのに対し、前処理と
なっているコンパイルおよびリンクは全てソフトウェア
で実現されているために処理速度の向上の限介に達して
いる。このためンフトウ、アの開発期間の内でこの前処
理に要している時間の割合いが高くなり間現に奇ってい
る。
進歩によって年々上がってきているのに対し、前処理と
なっているコンパイルおよびリンクは全てソフトウェア
で実現されているために処理速度の向上の限介に達して
いる。このためンフトウ、アの開発期間の内でこの前処
理に要している時間の割合いが高くなり間現に奇ってい
る。
LSIの計算機シミュレーシヮンに関しても同様の問題
がある。シミーレーシヲンの実行速度ば、ハードウェア
シミュンータの出現l・こより、大雪に向上されている
0このために前処理として、シミーレートすべき対象の
記述のコンパイル、リンクを持つ↓うなシミュレーショ
ン方式においては、この前処理の高速化が課題となって
いる。
がある。シミーレーシヲンの実行速度ば、ハードウェア
シミュンータの出現l・こより、大雪に向上されている
0このために前処理として、シミーレートすべき対象の
記述のコンパイル、リンクを持つ↓うなシミュレーショ
ン方式においては、この前処理の高速化が課題となって
いる。
(発明が解決しようとする問題点)
本発BAは上述した間Mを解決するためにコンパイラの
目的コード生成部をハードウェア化し高速に目的コード
が生成できる目的コード生成装置を提供することを目的
とする。
目的コード生成部をハードウェア化し高速に目的コード
が生成できる目的コード生成装置を提供することを目的
とする。
(問題点を解決するための手段)
本発明は前記の問題点を解決するために処理のらのアド
レスを取り出す処理と、これらのデータを使った目的コ
ード生成部分のパイプライン化。
レスを取り出す処理と、これらのデータを使った目的コ
ード生成部分のパイプライン化。
および前記データ塩り出し部分の高速化のために、デー
タを保持する個々の記憶素子を直接取υ出しのデータ線
に接続する手段を採っている◇(作用) 一般にパイプライン処理を使うことによる処理の分割並
列多重動作で高速化が計られる。本発明では、このパイ
プライン処理を目的コード生成部分と目的コード生成部
の入力データおよびそのアドレスの取り出し部分に採用
している。多くのデータレジスタから必要なデータ群を
高速に取り出すために、本発明では個々のデータレジス
タを取シ出しのデータ線に直接、接続することによって
実効的なパイプライン処理の効果を上げている。
タを保持する個々の記憶素子を直接取υ出しのデータ線
に接続する手段を採っている◇(作用) 一般にパイプライン処理を使うことによる処理の分割並
列多重動作で高速化が計られる。本発明では、このパイ
プライン処理を目的コード生成部分と目的コード生成部
の入力データおよびそのアドレスの取り出し部分に採用
している。多くのデータレジスタから必要なデータ群を
高速に取り出すために、本発明では個々のデータレジス
タを取シ出しのデータ線に直接、接続することによって
実効的なパイプライン処理の効果を上げている。
(実施例)
第1図は、本発明の実施例のブロック図で、1は構文解
析によって得られた中間コードを保持するレジスタ群か
ら成る中間データ保持回路、2は、次の目的コードを生
成するのに必要なデータ群を中間データ保持回路から選
択するためのアドレスを生成する目的コード生成順序決
定回路、3は目的コード生成順序決定回路てよって選択
されたデータ群から目的コードを生成する目的コード生
成回路、4.5.6は順にアドレスパイプラインレジス
タ、ノードデータパイプラインレジスタ、タグデータパ
イプラインレジスタ7は、1〜6を制御する制御回路%
8は目的コード生成、順序決定回路クロック、21.2
2は順に中間コードデータ保持回路用クロック、制御線
、9.10はパイプラインレジスタ用クロック、11は
目的コード生成回路の制御線、12は目的コードデータ
出力線、13はアドレス入力線、14.15はクロック
入力線と制御入力線、 16.17は1@にノードデ
ータ入力線、タグデータ入力線、18はアドレス線、1
9.20は1頁にノードデータバスライン、タグデータ
パスラインである0 処理ステップとしては中間データコード設定(初期設定
)と目的コード生成の2つのステップよりなり、制御入
力線によってこの2つのステップと分ける。第2図は中
間コードデータ保持回路の回路構成図である023.2
4は順にノードデータレジスタ、タグデータレジスタで
、25.26はセレクタで初期値用レジスタと更新用レ
ジスタが内部にあり出力として、このうちのいずれかが
出力される。処理の第一ステップとして、これらのレジ
スタに中間木構造データであるノードデータとその覆類
を示すタグデータをそれぞれセ、+−すると同時にその
レジスタのアドレスとそのノードの初期状態をペアにし
て目的コード生成順序決定回路内のレジスタにセットす
る0ここでいう初期状態としては木構造において、その
ノードが下にノードを持つよりなノード(節)か、持た
ないようなノード(葉)かの2つの状態がある。25.
26はセレクタで22の制御信号によp順に16.17
のデータを21のクロックに同期してラッチし、次のり
「、りでこのデータを選択し、順に23,24のレジス
タにセットすることで、この初期設定のステップが行わ
れる。次のステップである目的コードを生成するために
必要なアドレスは、木構造データ中の第3図に示したよ
うな節の状態にある。ノード(0)の下に直接、接続さ
れているノード(A、B)の状態がすべて葉の状態にあ
る部分木のうちで最古最下位置にある部分木の第3図に
おけるノードA1ノードB、ノードCのアドレスおよび
ノードCと兄弟関係の位置にあるノードDのアドレスを
初期設定されているアドレスと状態のベアをもとにして
選ぶことによって得られる。ここで得られたアドレスと
アドレスパイプラインレジスタにセットし、次のクロッ
クでノードCの状態を保持しているレジスタに葉の状態
を示す値をセットして、前述の条件を満足するアドレス
を求めて、次のクロックでアドレスパイプラインレジス
′りにセットする。これらの処理は、目的コード生成順
序決定回路で行われる。この処理をくり返すことによっ
て現在目的コードを生成するのに必要なデータのあるレ
ジスタのアドレスが2クロツク毎にアドレスパイプライ
ンレジスタにセットされる〇このアドレスに従っ−C、
ノードデータおよびタグデータをそれぞれノードデータ
パイプラインレジスタ、タグデータパイプラインレジス
タにセットし、このデータを用いて第4図にある論理で
目的コードを生成するものである。この第4図の論理を
回路化したものが目的コード生成回路である。
析によって得られた中間コードを保持するレジスタ群か
ら成る中間データ保持回路、2は、次の目的コードを生
成するのに必要なデータ群を中間データ保持回路から選
択するためのアドレスを生成する目的コード生成順序決
定回路、3は目的コード生成順序決定回路てよって選択
されたデータ群から目的コードを生成する目的コード生
成回路、4.5.6は順にアドレスパイプラインレジス
タ、ノードデータパイプラインレジスタ、タグデータパ
イプラインレジスタ7は、1〜6を制御する制御回路%
8は目的コード生成、順序決定回路クロック、21.2
2は順に中間コードデータ保持回路用クロック、制御線
、9.10はパイプラインレジスタ用クロック、11は
目的コード生成回路の制御線、12は目的コードデータ
出力線、13はアドレス入力線、14.15はクロック
入力線と制御入力線、 16.17は1@にノードデ
ータ入力線、タグデータ入力線、18はアドレス線、1
9.20は1頁にノードデータバスライン、タグデータ
パスラインである0 処理ステップとしては中間データコード設定(初期設定
)と目的コード生成の2つのステップよりなり、制御入
力線によってこの2つのステップと分ける。第2図は中
間コードデータ保持回路の回路構成図である023.2
4は順にノードデータレジスタ、タグデータレジスタで
、25.26はセレクタで初期値用レジスタと更新用レ
ジスタが内部にあり出力として、このうちのいずれかが
出力される。処理の第一ステップとして、これらのレジ
スタに中間木構造データであるノードデータとその覆類
を示すタグデータをそれぞれセ、+−すると同時にその
レジスタのアドレスとそのノードの初期状態をペアにし
て目的コード生成順序決定回路内のレジスタにセットす
る0ここでいう初期状態としては木構造において、その
ノードが下にノードを持つよりなノード(節)か、持た
ないようなノード(葉)かの2つの状態がある。25.
26はセレクタで22の制御信号によp順に16.17
のデータを21のクロックに同期してラッチし、次のり
「、りでこのデータを選択し、順に23,24のレジス
タにセットすることで、この初期設定のステップが行わ
れる。次のステップである目的コードを生成するために
必要なアドレスは、木構造データ中の第3図に示したよ
うな節の状態にある。ノード(0)の下に直接、接続さ
れているノード(A、B)の状態がすべて葉の状態にあ
る部分木のうちで最古最下位置にある部分木の第3図に
おけるノードA1ノードB、ノードCのアドレスおよび
ノードCと兄弟関係の位置にあるノードDのアドレスを
初期設定されているアドレスと状態のベアをもとにして
選ぶことによって得られる。ここで得られたアドレスと
アドレスパイプラインレジスタにセットし、次のクロッ
クでノードCの状態を保持しているレジスタに葉の状態
を示す値をセットして、前述の条件を満足するアドレス
を求めて、次のクロックでアドレスパイプラインレジス
′りにセットする。これらの処理は、目的コード生成順
序決定回路で行われる。この処理をくり返すことによっ
て現在目的コードを生成するのに必要なデータのあるレ
ジスタのアドレスが2クロツク毎にアドレスパイプライ
ンレジスタにセットされる〇このアドレスに従っ−C、
ノードデータおよびタグデータをそれぞれノードデータ
パイプラインレジスタ、タグデータパイプラインレジス
タにセットし、このデータを用いて第4図にある論理で
目的コードを生成するものである。この第4図の論理を
回路化したものが目的コード生成回路である。
第1図、第2図のA%B%C,Dは第3図のA、BCに
対応したものであることを示している。また、第2図の
中間コードデータ保持回路ではアドレスパイプラインレ
ジスタにセットされているノードA、ノードB、ノード
C,ノードDのアドレスをそれぞれアドレスデコーダA
、アドレスデコーダB、アドレスデコーダC,アドレス
デコーダDにかけて、ノードA、ノードBのアドレスの
ノードデータレジスタ、タグデータレジスタの値とノー
ドCのアドレスのノードデータレジスタの値およびノー
ドDのアドレスのタグデータレジスタの値をそれぞれの
パスラインに流し、各ノードデータパイプラインレジス
タ、タグデータパイプラインレジスタにクロックに同期
してセットすると同時にノードDのタグデータがオペレ
ータを示している場合は、ノードCの25のセレクタ内
更新用レジスタに一時変数のアドレスをセットし、ノー
ドCの26のセレクタ内更新用レジスタに変数であるこ
とを示す値をセクトする。ノードDのタグデータがオペ
レータを示していない場合はノードCの26のセレクタ
白値更新レジスタにアキームレータを示す値をセットす
る。さらに、次のクロックで25.26のセレクタ内の
レジスタのうちノードOの場合上値更新用レジスタ、ノ
ードC以外のものは初期値用レジスタの値をそれぞれの
ノードデータレジスタ、タグデータレジスタに移す@一
時変数■アドレスは第2図の28の一時変数アドレス生
成回路から順次生成される。29はノードDのタグデー
タに対してオペレータか否かの判定用の回路、30.3
1は変数を示す値とアキームレータを示す値が保持され
ている記憶回路である。これらの処理を順次クロνりに
同期して行うことにより目的コードデータ出力紳に目的
コードが出力される。第6図は第5図の木構造データに
対して、コードを生成する際に使うノードA、ノードB
、ノードC1ノードDの値と生成コードを示した図であ
る。ここでT1は一時変数となっている0 〔発明の効果〕 本発明の装置によって中間データの設定が終っている状
態から1クロツク毎に目的コードが発生されてくるよう
々高速な目的コードの生成が可能になる。これによりコ
ンパイラおよびプログラム実行の前処理の時間短縮がな
される。
対応したものであることを示している。また、第2図の
中間コードデータ保持回路ではアドレスパイプラインレ
ジスタにセットされているノードA、ノードB、ノード
C,ノードDのアドレスをそれぞれアドレスデコーダA
、アドレスデコーダB、アドレスデコーダC,アドレス
デコーダDにかけて、ノードA、ノードBのアドレスの
ノードデータレジスタ、タグデータレジスタの値とノー
ドCのアドレスのノードデータレジスタの値およびノー
ドDのアドレスのタグデータレジスタの値をそれぞれの
パスラインに流し、各ノードデータパイプラインレジス
タ、タグデータパイプラインレジスタにクロックに同期
してセットすると同時にノードDのタグデータがオペレ
ータを示している場合は、ノードCの25のセレクタ内
更新用レジスタに一時変数のアドレスをセットし、ノー
ドCの26のセレクタ内更新用レジスタに変数であるこ
とを示す値をセクトする。ノードDのタグデータがオペ
レータを示していない場合はノードCの26のセレクタ
白値更新レジスタにアキームレータを示す値をセットす
る。さらに、次のクロックで25.26のセレクタ内の
レジスタのうちノードOの場合上値更新用レジスタ、ノ
ードC以外のものは初期値用レジスタの値をそれぞれの
ノードデータレジスタ、タグデータレジスタに移す@一
時変数■アドレスは第2図の28の一時変数アドレス生
成回路から順次生成される。29はノードDのタグデー
タに対してオペレータか否かの判定用の回路、30.3
1は変数を示す値とアキームレータを示す値が保持され
ている記憶回路である。これらの処理を順次クロνりに
同期して行うことにより目的コードデータ出力紳に目的
コードが出力される。第6図は第5図の木構造データに
対して、コードを生成する際に使うノードA、ノードB
、ノードC1ノードDの値と生成コードを示した図であ
る。ここでT1は一時変数となっている0 〔発明の効果〕 本発明の装置によって中間データの設定が終っている状
態から1クロツク毎に目的コードが発生されてくるよう
々高速な目的コードの生成が可能になる。これによりコ
ンパイラおよびプログラム実行の前処理の時間短縮がな
される。
第1図は、本発明の要部ブロック図、第2図は中間コー
ドデータ保存回路の一実施例を示す図、第3図は目的コ
ード生成対象データのアドレスの決定条件の説明図、第
4図は目的コード生成論理表、第5図は算術演算に対す
る鮮析木(中間データ)を示す図、第6図は第5図のデ
ータに対して生成されるコードと、その際に使われるノ
ードのデータを示す表を示す図である。 1・・・中間コードデータ保存回路、2・・・目的コー
ド生成順序決定回路、3・・・目的コード生成回路、4
・・・アドレスパイプラインレジスタ、5・・・ノード
データパイプラインレジスタ、6・・・タグデータパイ
プラインレジスタ、7・・・制御回路、8〜10.21
・・・内部クロック線、12・・・目的コードデータ出
力線、13・・・アドレス入力線、14・・・クロック
入力線、15・・・制御入力線、16・・・ノードデー
タ入力線、17・・・タグデータ入力線、18・・・ア
ドレス線、19・・・ノードデータ線、20・・・タグ
データ線、11.22・・・ffi+J御線、23・・
ノードデータレジスタ、24・・・タグデータレジスタ
、25.26・・・でレクタ回路、27・・・アドレス
デコーダ。 289.・一時変数アドレス生成回路、29・・・タグ
データ判別回路、33.31・・・タグ値記憶回路。 代理人 弁理人 則 近 憲 佑 同 竹 花 喜久男 以下余白 第 2 図 第 3 図 第 4 x
ドデータ保存回路の一実施例を示す図、第3図は目的コ
ード生成対象データのアドレスの決定条件の説明図、第
4図は目的コード生成論理表、第5図は算術演算に対す
る鮮析木(中間データ)を示す図、第6図は第5図のデ
ータに対して生成されるコードと、その際に使われるノ
ードのデータを示す表を示す図である。 1・・・中間コードデータ保存回路、2・・・目的コー
ド生成順序決定回路、3・・・目的コード生成回路、4
・・・アドレスパイプラインレジスタ、5・・・ノード
データパイプラインレジスタ、6・・・タグデータパイ
プラインレジスタ、7・・・制御回路、8〜10.21
・・・内部クロック線、12・・・目的コードデータ出
力線、13・・・アドレス入力線、14・・・クロック
入力線、15・・・制御入力線、16・・・ノードデー
タ入力線、17・・・タグデータ入力線、18・・・ア
ドレス線、19・・・ノードデータ線、20・・・タグ
データ線、11.22・・・ffi+J御線、23・・
ノードデータレジスタ、24・・・タグデータレジスタ
、25.26・・・でレクタ回路、27・・・アドレス
デコーダ。 289.・一時変数アドレス生成回路、29・・・タグ
データ判別回路、33.31・・・タグ値記憶回路。 代理人 弁理人 則 近 憲 佑 同 竹 花 喜久男 以下余白 第 2 図 第 3 図 第 4 x
Claims (3)
- (1)構文解析により得られた解析木を格納するデータ
部を有し、解析木の状態に応じて目的コードの生成順に
解析木の節点である前記データ部のデータを指定する目
的コード生成順序決定回路を有し、指定されたデータに
対して所定の生成論理に従って目的コードを生成する目
的コード生成回路を有することを特徴とする目的コード
生成装置。 - (2)目的コード生成順序決定回路、データ部、目的コ
ード生成回路がこの順番でパイプライン接続されている
ことを特徴とする特許請求の範囲第1項記載の目的コー
ド生成装置。 - (3)データ部内の解析木の節に対応した個々の記憶素
子が目的コード生成回路へのデータ線に直接、接続され
ていることを特徴とする特許請求の範囲第1項記載の目
的コード生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22196286A JPS6378238A (ja) | 1986-09-22 | 1986-09-22 | 目的コ−ド生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22196286A JPS6378238A (ja) | 1986-09-22 | 1986-09-22 | 目的コ−ド生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6378238A true JPS6378238A (ja) | 1988-04-08 |
Family
ID=16774885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22196286A Pending JPS6378238A (ja) | 1986-09-22 | 1986-09-22 | 目的コ−ド生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6378238A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9016115B2 (en) | 2011-04-28 | 2015-04-28 | Robert Bosch Gmbh | Device for sensing a pressure, particularly a pressure in a combustion chamber of an internal combustion engine |
US9476796B2 (en) | 2011-04-28 | 2016-10-25 | Robert Bosch Gmbh | Device for detecting a pressure, in particular a combustion chamber pressure of an internal combustion engine |
-
1986
- 1986-09-22 JP JP22196286A patent/JPS6378238A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9016115B2 (en) | 2011-04-28 | 2015-04-28 | Robert Bosch Gmbh | Device for sensing a pressure, particularly a pressure in a combustion chamber of an internal combustion engine |
US9476796B2 (en) | 2011-04-28 | 2016-10-25 | Robert Bosch Gmbh | Device for detecting a pressure, in particular a combustion chamber pressure of an internal combustion engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4862347A (en) | System for simulating memory arrays in a logic simulation machine | |
Carter et al. | Symbolic simulation for correct machine design | |
US7865346B2 (en) | Instruction encoding in a hardware simulation accelerator | |
JPH08320808A (ja) | エミュレーション方式 | |
US5179672A (en) | Apparatus and method for modeling parallel processing of instructions using sequential execution hardware | |
EP0578361A1 (en) | Digital signal processing apparatus | |
JPS6378238A (ja) | 目的コ−ド生成装置 | |
US4101967A (en) | Single bit logic microprocessor | |
CN116911219A (zh) | 用于逻辑系统设计的仿真的方法、电子设备和存储介质 | |
JP2663893B2 (ja) | アーキテクチャ・シミュレータ | |
JPH1091677A (ja) | シミュレーション/エミュレーションの効率を増すための論理変換方法 | |
Jerraya et al. | SYCO—a silicon compiler for VLSI ASICs specified by algorithms | |
JPH0696151A (ja) | ロジックシミュレーション装置 | |
US9582619B1 (en) | Simulation of a circuit design block using pattern matching | |
JP4334278B2 (ja) | シーケンシャルシステムを分析する方法及びプログラム | |
WO2025069125A1 (ja) | 試験装置、試験方法およびプログラム | |
JP2581214B2 (ja) | 論理シミュレータ | |
JP2990882B2 (ja) | 機能シミュレーション装置 | |
SU832558A1 (ru) | Устройство дл моделировани цифро-ВыХ Об'ЕКТОВ | |
JPS6311715B2 (ja) | ||
JPS6349852A (ja) | シミユレ−シヨンシステム | |
JPS63292337A (ja) | 論理シミュレ−ションシステム | |
JPH03111935A (ja) | マイクロプログラム制御装置 | |
JPS61161509A (ja) | 高速シ−ケンス演算方式及びその装置 | |
Pai | A language for computer aided logic system design |