JPH07175664A - コンパイラ装置 - Google Patents

コンパイラ装置

Info

Publication number
JPH07175664A
JPH07175664A JP5343752A JP34375293A JPH07175664A JP H07175664 A JPH07175664 A JP H07175664A JP 5343752 A JP5343752 A JP 5343752A JP 34375293 A JP34375293 A JP 34375293A JP H07175664 A JPH07175664 A JP H07175664A
Authority
JP
Japan
Prior art keywords
dedicated
arithmetic
arithmetic unit
program
configuration information
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
JP5343752A
Other languages
English (en)
Inventor
Takahiro Okamoto
隆浩 岡本
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP5343752A priority Critical patent/JPH07175664A/ja
Publication of JPH07175664A publication Critical patent/JPH07175664A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 より演算を高速化することができるオブジェ
クトプログラムを作成する。 【構成】 ソースプログラムPs中に記述された演算処
理部分の中で、予め定められた所定の条件を満たす部分
が、専用演算対象抽出手段1によって専用演算対象とし
て抽出される。演算器構成情報作成手段2は、この専用
演算を行うための専用演算器を構成する演算器構成情報
を作成する。コンパイル手段3は、プログラム中の専用
演算対象については、専用演算器を用いて演算を行うよ
うなオブジェクトコードを作成する。このコンパイル手
段3によるコンパイルの結果として得られる命令および
データと、演算器構成情報とが合成され、オブジェクト
プログラムとして出力される。このオブジェクトプログ
ラムを実行するCPUは、専用演算対象については専用
演算器を構成してこれを実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンパイラ装置、特に、
高速演算が可能なオブジェクトプログラムを作成するた
めのコンパイラ装置に関する。
【0002】
【従来の技術】コンピュータプログラムを開発し、これ
を実行させる場合、通常は、所定のプログラム言語を用
いてソースプログラムを作成し、これをCPUが直接実
行できるオブジェクトプログラムの形に変換した後、コ
ンピュータに実行させることになる。このソースプログ
ラムからオブジェクトプログラムへの変換処理に、コン
パイラ装置が利用されている。このコンパイラ装置は、
通常、汎用コンピュータ上で専用のコンパイル用アプリ
ケーションソフトウエアを動作させることにより実現さ
れる。コンパイルにより、ソースプログラム中に記述さ
れた個々の処理が、CPU内の演算器で実行できる基本
的な命令とデータとの組み合わせによって表現されるこ
とになる。
【0003】
【発明が解決しようとする課題】コンパイル処理におい
ては、ソースプログラムをできるだけ効率的なオブジェ
クトプログラムに変換する処理が行われる。別言すれ
ば、できるだけ実行時間が短くなるようなオブジェクト
プログラムが作成される。しかしながら、CPU内に用
意された基本演算器の演算機能には制約があるため、複
雑な演算処理をそのまま実行することはできない。その
ため、ソースプログラム内に複雑な演算処理が存在する
と、オブジェクトプログラム内では、このような複雑な
演算処理は、単純な演算処理の組み合わせに置き換えら
れることになる。CPUの演算時間は、与えられたクロ
ック周波数によって定まり、演算回数が増えるほど演算
時間は長くかかる。このため、複雑な演算処理を含んだ
ソースプログラムをコンパイルして得られるオブジェク
トプログラムは、実行時間が遅いという問題を有する。
【0004】そこで本発明は、より演算を高速化するこ
とができるオブジェクトプログラムを得ることができる
コンパイラ装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
(1) 本願第1の発明は、ソースプログラムをオブジェ
クトプログラムに変換するコンパイラ装置において、ソ
ースプログラム中に記述された演算処理部分の中で、予
め定められた所定の条件を満たす演算処理部分を専用演
算対象として抽出する手段と、この専用演算対象に対す
る演算処理を実行するのに適した専用演算器を構成する
ための演算器構成情報を作成する手段と、ソースプログ
ラムをコンパイルする機能を有し、このソースプログラ
ム中の専用演算対象については、専用演算器を用いて演
算を実行できるようにコンパイルを行うコンパイル手段
と、このコンパイル手段によるコンパイルの結果として
得られる命令およびデータに、作成された演算器構成情
報を付加し、これをオブジェクトプログラムとして出力
する手段と、を設けたものである。
【0006】(2) 本願第2の発明は、上述の第1の発
明に係るコンパイラ装置において、演算器構成情報とし
て、FPGAの配線パターンを定義するビットパターン
を用い、演算処理装置に内蔵されたFPGAによって専
用演算器を構成できるようにしたものである。
【0007】
【作 用】通常、CPU内には、加算、減算、論理和演
算、論理積演算、シフト演算、などの基本的な演算を行
う複数の基本演算器が内蔵されている。そして、ソース
プログラム中にこれらの基本演算器による1回の演算で
は計算できないような複雑な演算処理が含まれている場
合、従来のコンパイラ装置では、この複雑な演算処理を
基本演算器による数回の演算で実行できるように、オブ
ジェクトプログラムの作成を行っていた。本発明に係る
コンパイラ装置では、このような複雑な演算処理につい
ては、専用演算器を構成するための演算器構成情報が作
成される。したがって、本発明に係るコンパイラ装置に
よって作成されたオブジェクトプログラムには、通常の
オブジェクトプログラムに含まれる命令およびデータの
他に、この演算器構成情報が含まれたものとなる。そこ
で、CPU内部において、この演算器構成情報に基づい
て専用演算器を構成するようにすれば、複雑な演算処理
でもこの専用演算器によって1回で演算を完了すること
ができるようになり、高速な演算が可能になる。
【0008】
【実施例】以下、本発明を図示する実施例に基づいて説
明する。ここで述べる実施例は、本願と同一出願人によ
る同日出願:発明の名称「演算処理装置」(整理番号A
05074)に開示されているCPU(以下、「専用演
算機能をもったCPU」と呼ぶ)のためのオブジェクト
プログラムを作成するコンパイラ装置についてのもので
ある。別言すれば、本願コンパイラ装置は、この「専用
演算機能をもったCPU」という新規なCPUを前提に
開発された装置であり、この新規なCPUの内部構造と
密接な関連をもっている。そこで、ここではまず、従来
の一般的なCPUと、この「専用演算機能をもったCP
U」との構造上の相違点についての説明を行う。
【0009】はじめに、図1に基づいて、従来の一般的
な演算処理装置(CPU)の構成および動作を説明す
る。図1に示す従来の一般的なCPU100の基本的な
構成要素は、バスインターフェイス10、命令デコーダ
20、制御部30、レジスタファイル40、基本演算ユ
ニット50、プログラムカウンタ60であり、これらの
各構成要素が1チップ内に収容されている。このCPU
100は、バスを介して外部メモリ200(通常は、R
AM)に接続されている。
【0010】バスインターフェイス10は、この外部メ
モリ200との間で情報の受け渡しを行う機能を有す
る。外部メモリ200内には、このCPU100に実行
させるためのオブジェクトプログラムが格納されてい
る。プログラムカウンタ60は、外部メモリ200から
オブジェクトプログラムを読み出すために、所定のアド
レス指定を行う機能を有する。すなわち、バスインター
フェイス10は、プログラムカウンタ60によって指定
された次命令アドレスによって外部メモリ200をアク
セスし、次に実行すべき命令およびデータを読み込んで
くる。バスインターフェイス10によって読み込まれた
命令は、命令デコーダ20においてデコードされ、デコ
ードされた命令に対応した制御指令が制御部30に与え
られる。一方、バスインターフェイス10によって読み
込まれたデータは、レジスタファイル40を構成する複
数のレジスタのうちのいずれかによって保持される。
【0011】基本演算ユニット50は、外部から与えら
れる命令の実行に必要な所定の基本演算を行う複数の演
算器によって構成されている。具体的には、加算、減
算、論理和演算、論理積演算、シフト演算、などの基本
的な演算を行う複数の演算器から構成されている。制御
部30は、与えられた制御指令に基づいて、基本演算ユ
ニット50に対して制御信号を送り、各演算器に所定の
演算を実行させる。基本演算ユニット50内の演算器
は、この制御信号に基づいて、レジスタファイル40内
の所定のレジスタ内のデータについて所定の演算を行
い、その演算結果を再びレジスタファイル40内の所定
のレジスタに格納する。こうして、命令デコーダ20に
よってデコードされた命令に関する演算が完了すると、
制御部30からプログラムカウンタ60に完了通知が与
えられる。これにより、プログラムカウンタ60の示す
アドレス値が更新されることになり、バスインターフェ
イス10は、更新後のアドレスによって外部メモリ20
0をアクセスし、次の命令およびデータの読み込みを行
う。
【0012】以上、従来のCPU100の基本構成およ
び基本動作を説明したが、このような構成および動作を
もった装置では、複雑な演算を実行させようとすると、
時間がかかるという問題がある。これを図2に示す簡単
なモデルで説明しよう。いま、説明の便宜上、レジスタ
ファイル40が7つのレジスタ41〜47によって構成
されており、基本演算ユニット50が基本演算器51
(加算器)と基本演算器52(乗算器)とによって構成
されている単純な例を考える。そして、このような構成
において、A=(B+C)*Dなる演算を行う命令およ
びデータ(B,C,D)が与えられた場合を考えてみ
る。この場合、次のようなステップで演算を行う必要が
ある。まず、図3(a) に示すように、レジスタ42,4
3にそれぞれデータB,Cを格納する。そして、基本演
算器51(加算器)によって(B+C)を演算して求め
る。続いて、図3(b) に示すように、この演算結果(B
+C)を、レジスタ45に格納するとともに、データD
をレジスタ46に格納する。そして、今度は、基本演算
器52(乗算器)によって(B+C)*Dを演算して求
める。最後に、図3(c) に示すように、この演算結果
(B+C)*Dを、たとえば、レジスタ41に格納す
る。かくして、求めるべきデータAは、レジスタ41に
得られることになる。
【0013】このように、基本演算ユニット50内に予
め用意されている基本演算器だけを用いて複雑な演算を
実行させようとすると、複数のステップに分けた演算処
理を行わざるを得ない。これが、従来のCPUの演算速
度の向上を阻む原因である。
【0014】図4に示す「専用演算機能をもったCP
U」では、このような問題が解決できる。図4に示すC
PU300は、図1に示す従来のCPU100に、更
に、専用演算ユニット70と書き換え可能なメモリ80
とを付加したものである。ここで、専用演算ユニット7
0は、書き換え可能なメモリ80内に書き込まれた演算
器構成情報に応じて、所定の専用演算を行う演算器を構
成する機能を有する。この演算器構成情報は、バスイン
ターフェイス10を介して外部メモリ200から与えら
れ、書き換え可能なメモリ80内に書き込まれることに
なる。いわば、専用演算ユニット70は、任意の演算器
を構成するための部品の集合体であり、書き換え可能な
メモリ80内に書き込まれた演算器構成情報に基づいて
有機的に結合し、専用演算器を構成する機能をもってい
る。たとえば、外部メモリ200から、演算器構成情報
として、「(x+y)*zなる演算を行うための専用演
算器を構成する」ことを示す情報を与えれば、このよう
な情報が書き換え可能なメモリ80内に書き込まれ、専
用演算ユニット70内には、「(x+y)*zなる演算
を行うための専用演算器」が構成されることになる。
【0015】図5は、こうして構成された専用演算器7
1とレジスタファイル40との関係を示す図である。い
ま、このような専用演算器71を用いて、A=(B+
C)*Dなる演算を行ってみる。この場合、まず、図6
(a) に示すように、レジスタ43,44,45にそれぞ
れデータB,C,D格納する。そして、専用演算器71
によって(x+y)*zなる演算を行い、その結果とし
て得られる(B+C)*Dなる値を、たとえば、図6
(b) に示すように、レジスタ41に格納する。かくし
て、求めるべきデータAは、レジスタ41に得られるこ
とになる。このように、専用演算器71を用いれば、A
=(B+C)*Dなる演算を高速に行うことができる。
【0016】上述の例では、A=(B+C)*Dなる専
用演算を行う場合を例にとって説明したが、専用演算ユ
ニット70内には、任意の専用演算器を構成することが
可能である。たとえば、A=(B−C−D)/Eなる専
用演算を行う場合には、このような専用演算器を構成す
ることを示す演算器構成情報を書き換え可能なメモリ8
0内に書き込むようにすればよい。もちろん、専用演算
ユニット70内には、複数の専用演算器を構成すること
も可能である。
【0017】本発明に係るコンパイラ装置の基本概念
は、ソースプログラム内に記述された特定の演算処理の
実行を、専用演算ユニット70内に予め構成された専用
演算器によって行わせる点にある。たとえば、ソースプ
ログラムPs1の中に、A=(B+C)*Dなる演算が頻
繁に使用されているのであれば、このソースプログラム
Ps1をコンパイルして得られるオブジェクトプログラム
Po1内に、所定の命令、所定のデータとともに、A=
(B+C)*Dなる演算を行う専用演算器を構成する旨
の演算器構成情報を付加してやればよい。このとき、オ
ブジェクトプログラムのフォーマットとして、命令、デ
ータ、演算器構成情報、の3つの属性を識別しうるフォ
ーマットを用いるようにすれば、バスインターフェイス
10は、外部メモリ200から読み込んだオブジェクト
コードを、この3つの属性に分けることができ、命令で
あれば命令デコーダ20へ送り、データであればレジス
タファイル40へ送り、演算器構成情報であれば書き換
え可能なメモリ80へ送る処理を実行することができ
る。書き換え可能なメモリ80内に、A=(B+C)*
Dなる演算を行う専用演算器を構成する旨の演算器構成
情報が書き込まれた段階で、専用演算ユニット70内に
は、A=(B+C)*Dなる演算を行う専用演算器が構
成される。したがって、以後、A=(B+C)*Dなる
演算を行う命令が与えられたときには、制御部30が、
基本演算ユニット50に代わって専用演算ユニット70
に対して演算実行の制御信号を与えるようにすれば、基
本演算ユニット50内の演算器の代わりに、専用演算ユ
ニット70内に用意された専用演算器を用いて高速演算
を行うことが可能になる。
【0018】書き換え可能なメモリ80は、文字どおり
書き換えが可能であるから、別なオブジェクトプログラ
ムを実行する場合には、この内容を書き換えることによ
り、専用演算ユニット70内に別な専用演算器を構成す
ることができる。たとえば、別なソースプログラムPs2
の中に、A=(B−C−D)/Eなる演算が頻繁に使用
されているのであれば、このソースプログラムPs2をコ
ンパイルして得られるオブジェクトプログラムPo2内
に、A=(B−C−D)/Eなる演算を行う専用演算器
を構成する旨の演算器構成情報を付加しておけばよい。
オブジェクトプログラムPo1に代わって、オブジェクト
プログラムPo2を実行すれば、書き換え可能なメモリ8
0内の演算器構成情報が書き換えられ、専用演算ユニッ
ト70内には、A=(B−C−D)/Eなる演算を行う
専用演算器が構成されることになる。要するに、実行す
るオブジェクトプログラムに応じて、専用演算ユニット
70内に用意される専用演算器が適宜変化することにな
り、常に実行中のオブジェクトプログラムに必要な専用
演算器が用意された状態になる。
【0019】ここで、専用演算ユニット70および書き
換え可能なメモリ80の好ましい構成例を示しておく。
専用演算ユニット70としては、FPGA(Field Prog
rammable Gate Array )を用い、書き換え可能なメモリ
80としてはRAMを用いるのが好ましい。FPGA
は、図7に示すように、複数の基本素子(AND素子、
OR素子、フリップフロップ素子などの基本的な論理デ
バイス)を平面上に配列し、これらを互いに格子状の配
線で繋ぎ合わせたものである。ここで、図7において黒
丸で示す各配線の接続点は、実際には図8に示すよう
に、トランジスタTによって接続/非接続を制御できる
ようになっている。たとえば、トランジスタTのゲート
に論理“1”が与えられたら接続点は接続状態(導通状
態)となり、論理“0”が与えられたら接続点は非接続
状態(非導通状態)となるように制御される。ここで、
各接続点に設けられたトランジスタTのゲートを、書き
換え可能なメモリ80として用意したRAM内のデータ
の1ビットの論理値で制御するようにすれば、RAM内
のビットパターンによって、FPGAの配線パターンを
定義することができる。したがって、演算器構成情報
も、所定のビットパターンとして用意することが可能に
なる。たとえば、RAM内に「111010101…」
といった所定のビットパターンを書き込めば、図7に示
すようなFPGAの格子状の配線における所定の接続点
だけが接続状態となり、各基本素子が特定の態様で結合
され、特定の演算機能をもった専用演算器が構成される
ことになる。このように、FPGAとRAMとによって
専用演算ユニット70および書き換え可能なメモリ80
を構成しておけば、演算器構成情報をビットパターンと
して用意することができ便利である。
【0020】以上、「専用演算機能をもったCPU」の
構成および動作について説明した。本発明に係るコンパ
イラ装置は、このようなCPUに与えるためのオブジェ
クトプログラムを作成する機能をもった装置であり、そ
の基本構成を図9のブロック図に示す。この装置は、ソ
ースプログラムPsをオブジェクトプログラムPoに変
換する機能を有し、専用演算対象抽出手段1、演算器構
成情報作成手段2、コンパイル手段3、オブジェクトプ
ログラム作成手段4、の各手段から構成されている。こ
れらの各手段は、実際には、汎用コンピュータにおいて
動作するソフトウエアによって実現される。
【0021】専用演算対象抽出手段1は、ソースプログ
ラムPs中に記述された演算処理部分の中で、予め定め
られた所定の条件を満たす演算処理部分を専用演算対象
として抽出する機能をもった手段であり、演算器構成情
報作成手段2は、抽出された専用演算対象に対する演算
処理を実行するのに適した専用演算器を構成するための
演算器構成情報を作成する機能をもった手段である。こ
こで、専用演算対象として抽出する条件は、CPU内の
専用演算ユニット内にどのような専用演算器を構成でき
るかを考慮した上で、予め定めておく。たとえば、「加
減乗除の2つ以上の組み合わせからなる演算」というよ
うな条件を定めておけば、A=(B+C)*Dなる演算
や、A=(B−C−D)/Eなる演算は、専用演算対象
として抽出されることになる。この場合、演算器構成情
報作成手段2は、A=(B+C)*Dなる演算を行う専
用演算器や、A=(B−C−D)/Eなる演算を行う専
用演算器を構成するための演算器構成情報を作成するこ
とになる。上述したFPGAにより専用演算器を構成す
るCPUを用いる場合、この演算器構成情報は、FPG
Aの配線パターンを定義するビットパターン情報とな
る。なお、FPGAによって所望の演算器を構成するた
めのビットパターンを得る方法は、既に公知の技術であ
るため、ここでは詳しい説明は省略する。
【0022】一方、コンパイル手段3は、ソースプログ
ラムPsをコンパイルする機能をもった従来の一般的な
コンパイラ装置と同様の手段であるが、専用演算対象抽
出手段1において抽出された専用演算対象については、
基本演算器ではなく専用演算器を用いて演算を実行する
ような命令にコンパイルする。たとえば、上述の例のよ
うに、A=(B+C)*Dなる演算や、A=(B−C−
D)/Eなる演算が、専用演算対象として抽出された場
合には、これらの演算については専用演算器を用いた演
算を行うような命令にコンパイルされることになる。
【0023】最後のオブジェクトプログラム作成手段4
は、コンパイル手段3によるコンパイルの結果として得
られる命令およびデータに、演算器構成情報作成手段2
によって作成された演算器構成情報を付加し、これをオ
ブジェクトプログラムPoとして出力する機能を有す
る。したがって、最終的に作成されるオブジェクトプロ
グラムPoは、通常のオブジェクトプログラムに見られ
るような命令およびデータの他に、演算器構成情報が付
加されたものになる。
【0024】次に、このコンパイラ装置の動作を、具体
的なプログラムに基づいて説明する。いま、たとえば、
図10に示すようなソースプログラムPsが与えられた
場合を考える。このプログラムはC言語によって記述さ
れた非常に単純なプログラムである。専用演算対象抽出
手段1は、このソースプログラムPs中に記述された演
算処理部分の中から、予め定められた所定の条件を満た
す演算処理部分を専用演算対象として抽出する。たとえ
ば、「加減乗除の2つ以上の組み合わせからなる演算」
というような条件を定めておけば、ステップS2に示す
「a=(b+c)×d」なる演算が、専用演算対象とし
て抽出されることになり、演算器構成情報作成手段2で
は、「a=(b+c)×d」なる演算を行う演算器を構
成する情報が作成される。
【0025】一方、このソースプログラムPsは、コン
パイル手段3においてコンパイルされる。このとき、ス
テップS2に示す「a=(b+c)×d」なる演算につ
いては、専用演算器を用いて演算を行うことを示す専用
演算実行コード(命令およびデータ)が作成される。こ
れに対して、他のステップS1,S3については、従来
のコンパイラ装置と同様に、通常のオブジェクトコード
(命令およびデータ)が作成される。最後に、オブジェ
クトプログラム作成手段4において、コンパイル手段3
で作成されたコードと、演算器構成情報作成手段2で作
成された演算器構成情報とが合成され、図11に示すよ
うなオブジェクトプログラムPoが作成される。ここ
で、オブジェクトコードO1は、ソースプログラムPs
のステップS1の部分をコンパイルした通常のオブジェ
クトコード(命令およびデータ)であり、オブジェクト
コードO3は、ソースプログラムPsのステップS3の
部分をコンパイルした通常のオブジェクトコード(命令
およびデータ)であるが、オブジェクトコードO2a
は、演算器構成情報作成手段2において作成された演算
器構成情報(「a=(b+c)×d」なる演算を行う専
用演算器を構成する情報)であり、オブジェクトコード
O2bは、この専用演算器を用いて「a=(b+c)×
d」なる演算を実行することを示す専用演算実行コード
(命令およびデータ)である。
【0026】図11に示すオブジェクトプログラムPo
を、図4に示す外部メモリ200内に置き、CPU30
0によってこれを実行させれば、オブジェクトコードO
2aは演算器構成情報として書き換え可能なメモリ80
内に格納され、専用演算ユニット70内には、「a=
(b+c)×d」なる演算を行う専用演算器が構成さ
れ、「a=(b+c)×d」なる演算はこの専用演算器
によって実行されることになる。なお、同じ専用演算器
を利用できる演算については、共通の演算器構成情報を
用いるようにすればよい。たとえば、図10に示すソー
スプログラムPsの末尾に、ステップS4として「e=
(f+g)×h」なる演算処理が加えられた場合、この
演算は、「a=(b+c)×d」なる演算を行う専用演
算器によって実行することができるので、これに対する
オブジェクトコードとしては、演算器構成情報は不要に
なる。
【0027】以上、本発明を図示する実施例に基づいて
説明したが、本発明はこの実施例に限定されるものでは
なく、この他にも種々の態様で実施可能である。たとえ
ば、上述の実施例では、専用演算対象抽出手段1は、
「加減乗除の2つ以上の組み合わせからなる演算」とい
うような条件に基づいて、ソースプログラム中から所定
の専用演算対象を抽出しているが、この条件判断を簡単
に行うためには、具体的な専用演算リストを用意してお
き、このリストに掲載されている演算については、専用
演算対象として抽出するとよい。すなわち、「A=(B
+C)*D」,「A=(B−C−D)/E」,…といっ
た多数の演算式のリストを予め作成しておき、ソースプ
ログラム中にこのリストに該当する演算式があった場合
には、これを専用演算対象として抽出するのである。こ
の場合、演算器構成情報作成手段2内には、リストに掲
載された各演算に1対1に対応するように演算器構成情
報を用意しておけば、抽出された専用演算対象について
の演算器構成情報を直ちに得ることができる。
【0028】
【発明の効果】以上のとおり、本発明に係るコンパイラ
装置によれば、所定の演算については専用演算器を用い
て演算を行うオブジェクトプログラムを生成することが
できるため、演算時間を高速化することが可能になる。
【図面の簡単な説明】
【図1】従来の一般的なCPUの基本構成を示すブロッ
ク図である。
【図2】図1に示すCPUにおける基本演算ユニット5
0の一例を示すブロック図である。
【図3】図2に示す基本演算ユニット50による簡単な
演算例を示す図である。
【図4】本発明に関連した専用演算機能をもったCPU
の基本構成を示すブロック図である。
【図5】図4に示すCPUにおける専用演算ユニット7
0の一例を示すブロック図である。
【図6】図5に示す専用演算ユニット70による簡単な
演算例を示す図である。
【図7】図4に示すCPUの専用演算ユニット70を構
成するFPGAの一例を示す回路図である。
【図8】図7に示すFPGAの接続点の拡大図である。
【図9】本発明に係るコンパイラ装置の基本構成を示す
ブロック図である。
【図10】本発明に係るコンパイラ装置によるコンパイ
ルの対象となるソースプログラムの一例を示す図であ
る。
【図11】図10に示すソースプログラムを、本発明に
係るコンパイラ装置でコンパイルした結果得られるオブ
ジェクトプログラムの構造を示す図である。
【符号の説明】
1…専用演算対象抽出手段 2…演算器構成情報作成手段 3…コンパイル手段 4…オブジェクトプログラム作成手段 10…バスインターフェイス 20…命令デコーダ 30…制御部 40…レジスタファイル 41〜47…レジスタ 50…基本演算ユニット 51…基本演算器(加算器) 52…基本演算器(乗算器) 60…プログラムカウンタ 70…専用演算ユニット 71…専用演算器 80…書き換え可能なメモリ 100…従来のCPU 200…外部メモリ 300…本発明に係るCPU O1〜O3…オブジェクトコード Ps…ソースプログラム Po…オブジェクトプログラム S1〜S3…ソースプログラムの各ステップ T…トランジスタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ソースプログラムをオブジェクトプログ
    ラムに変換するコンパイラ装置であって、 ソースプログラム中に記述された演算処理部分の中で、
    予め定められた所定の条件を満たす演算処理部分を専用
    演算対象として抽出する手段と、 前記専用演算対象に対する演算処理を実行するのに適し
    た専用演算器を構成するための演算器構成情報を作成す
    る手段と、 前記ソースプログラムをコンパイルする機能を有し、前
    記専用演算対象については、前記専用演算器を用いて演
    算を実行できるようにコンパイルを行うコンパイル手段
    と、 前記コンパイル手段によるコンパイルの結果として得ら
    れる命令およびデータに、前記演算器構成情報を付加
    し、これをオブジェクトプログラムとして出力する手段
    と、 を備えることを特徴とするコンパイラ装置。
  2. 【請求項2】 請求項1に記載のコンパイラ装置におい
    て、 演算器構成情報として、FPGAの配線パターンを定義
    するビットパターンを用い、演算処理装置に内蔵された
    FPGAによって専用演算器を構成できるようにしたこ
    とを特徴とするコンパイラ装置。
JP5343752A 1993-12-16 1993-12-16 コンパイラ装置 Pending JPH07175664A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5343752A JPH07175664A (ja) 1993-12-16 1993-12-16 コンパイラ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5343752A JPH07175664A (ja) 1993-12-16 1993-12-16 コンパイラ装置

Publications (1)

Publication Number Publication Date
JPH07175664A true JPH07175664A (ja) 1995-07-14

Family

ID=18363968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5343752A Pending JPH07175664A (ja) 1993-12-16 1993-12-16 コンパイラ装置

Country Status (1)

Country Link
JP (1) JPH07175664A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059595A (ja) * 1997-04-18 2008-03-13 Certicom Corp 算術プロセッサ
US7493472B2 (en) 1995-04-17 2009-02-17 Ricoh Company Ltd. Meta-address architecture for parallel, dynamically reconfigurable computing
US7616628B2 (en) 2001-08-20 2009-11-10 Ricoh Company, Ltd. Switched processor datapath

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493472B2 (en) 1995-04-17 2009-02-17 Ricoh Company Ltd. Meta-address architecture for parallel, dynamically reconfigurable computing
JP2008059595A (ja) * 1997-04-18 2008-03-13 Certicom Corp 算術プロセッサ
US7616628B2 (en) 2001-08-20 2009-11-10 Ricoh Company, Ltd. Switched processor datapath

Similar Documents

Publication Publication Date Title
TWI476597B (zh) 資料處理裝置及半導體積體電路裝置
JP4277042B2 (ja) 演算処理装置
DE102018005181A1 (de) Prozessoren, Verfahren und Systeme für einen konfigurierbaren, räumlichen Beschleuniger mit Leistungs-, Richtigkeits- und Energiereduktionsmerkmalen
JP2003323463A5 (ja)
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
JPH10254696A (ja) プロセッサ及び情報処理装置
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
JP2004086837A (ja) データ処理装置
JPH0869447A (ja) データ処理装置
Chapman Picoblaze 8-bit microcontroller for virtex-e and spartan-ii/iie devices
JP4073721B2 (ja) データ処理装置
JP4390211B2 (ja) カスタムlsi開発プラットフォーム、命令セット・アーキテクチャ及び論理回路構成情報の生成方法、並びにプログラム
JPS6212529B2 (ja)
JPH07175664A (ja) コンパイラ装置
JP5157129B2 (ja) 情報処理装置およびその回路設計方法
JP3570287B2 (ja) マイクロコンピュータ
Salcic et al. REFLIX: a processor core with native support for control-dominated embedded applications
JP3786575B2 (ja) データ処理装置
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
JP2011059787A (ja) ディジタルシグナルプロセッサシステムおよびディジタルシグナルプロセッサの立ち上げ方法
JP3099889B2 (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
JPH07175631A (ja) 演算処理装置
US20050216704A1 (en) Device and method for managing a microprocessor instruction set
Chapman PicoBlaze 8-bit microcontroller for Virtex-II series devices
JP2004118518A (ja) シミュレータ、そのシミュレータをコンピュータ読み取り可能に記録した記録媒体