JPH06301522A - 計算機システム構成方法 - Google Patents

計算機システム構成方法

Info

Publication number
JPH06301522A
JPH06301522A JP5083229A JP8322993A JPH06301522A JP H06301522 A JPH06301522 A JP H06301522A JP 5083229 A JP5083229 A JP 5083229A JP 8322993 A JP8322993 A JP 8322993A JP H06301522 A JPH06301522 A JP H06301522A
Authority
JP
Japan
Prior art keywords
program
processing
processing device
computer system
hardware
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
JP5083229A
Other languages
English (en)
Inventor
Hiroyuki Yasuda
弘幸 安田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP5083229A priority Critical patent/JPH06301522A/ja
Publication of JPH06301522A publication Critical patent/JPH06301522A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 プログラムをその特性に応じて、高速かつ簡
便に処理することができる計算機システム構成方法を提
供する。 【構成】 ユーザが作成したソースプログラム2がコン
パイラ4によってライブラリー5からの情報を参照しな
がら解析され、オブジュクトコード6およびハードウェ
ア構成データ8が自動的に作成される。そして、ハード
ウェア構成データに基づいて計算機10のハードウェア
構成が規定され、該規定された計算機10によってオブ
ジュクトコードに基づく処理が実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムの処理方法
に関するものであり、特に、プログラムを処理装置の処
理言語に変換すると共に、プログラムの特性に応じて処
理装置の構成自体をも変更し、変換されたプログラムを
変更された処理装置を用いて処理する方法に関する。
【0002】
【従来の技術】図4は、従来の計算機システム構成方法
を説明するための図である。図4に示すように、たとえ
ば、高級言語で記載されたソースプログラム70は、ソ
ストウェアコンパイラ72によって、フロー解析などが
行われ機械コードなどの計算機76が処理するオブジェ
クトコード74に変換される。そして、計算機76によ
って、オブジュクトコード74に基づく処理が行われ
る。
【0003】このとき、ソースプログラム70を高速に
処理することができる計算機76の構成は、ソースプロ
グラム70の内容と密接な関連がある。つまり、ソース
プログラム70に記載される処理を高速に実行するため
には、ソースプログラム70の記載される処理の実行に
適した構成を有する計算機76を選択または製造するこ
とが必要である。計算機76の製造では、たとえば、ソ
ースプログラム70の特性を考慮して作成したハードウ
ェア情報78を用いて、ハードウェアコンパイラ80で
ハードウェアの構成を示すハードウェア構成データ82
を作成し、このハードウェア構成データ82に基づいて
計算機76のICなどを作成する。また、計算機76が
FPGA(Field Programabal Gate Array) などのIC
を内蔵し、あるいは、計算機76がFPGAによって構
成され、計算機76の構成が目的に応じて可変である場
合には、ハードウェア情報78に基づいて、計算機76
の構成を設定する。このFPGAは、チップ内に基本的
な論理回路が配列され、ユーザがパソコンなどを用いて
論理回路を電気的に配線して必要な回路を構成するIC
を作成することができるICである。このとき、上述し
たハードウェア情報の作成およびICの構成の設定など
は、ユーザが行う。
【0004】
【発明が解決しようとする課題】しかし、上述したよう
に、ユーザが、ソースプログラム70の内容を解析して
ハードウェア情報を作成し、また、計算機のICなどの
構成を設定するのでは手間がかかり不便であり、ミスも
生じやすい。また、ソフトウェアコンパイラ72におけ
るオブジュクトコードを作成する処理は計算機76の構
成に応じて変わるため、ソースプログラム70の特性に
応じた計算機76を製造または設定する度に、それに応
じたソフトウェアコンパイラ72も作成する必要があり
不便である。
【0005】本発明は上述した従来技術の問題に鑑み、
プログラムをその特性に応じて、高速かつ簡便に処理す
ることができる計算機システム構成方法を提供すること
を目的とする。
【0006】
【課題を解決するための手段】上述した問題を解決し上
述した目的を達成するために、本発明の計算機システム
構成方法は、コンパイラを用いてプログラムを解析し、
該解析結果に基づいて、処理装置の一部または全ての構
成を規定するためのハードウェア構成用データを作成
し、前記コンパイラを用いて前記解析結果に基づいて、
前記処理装置で処理を行うプログラムを作成する。
【0007】また、本発明の計算機システム構成方法に
おける前記ハードウェア構成用データの作成は、たとえ
ば、前記解析結果に基づいて、プログラム内に高頻度に
記載された処理を検出し、前記検出された処理を実行す
るのに適した構成に前記処理装置の一部または全てを規
定することを示すハードウェア構成用データを作成して
行う。
【0008】また、本発明の計算機システム構成方法に
おける前記ハードウェア構成用データの作成は、たとえ
ば、前記解析結果に基づいて、前記プログラムに記載さ
れた処理のうち、前記処理装置の一部または全ての構成
によってハードウェア的に処理する部分を抽出し、該抽
出された部分について行い、前記処理装置で処理を行う
プログラムの作成は、前記解析結果に基づいて、前記プ
ログラムに記載された処理のうち、前記処理装置を用い
てソフトウェア的に処理する部分を抽出し、該抽出され
た部分について行う。
【0009】また、本発明の計算機システム構成方法に
おける前記処理装置で処理を行うプログラムの作成は、
たとえば、前記プログラムを、前記処理装置の構成に基
づいて、プログラムの意味を変更しない範囲で、前記処
理装置の構成に適するように作成して行う。
【0010】さらに、本発明の計算機システム構成方法
では、前記処理装置として、複数の基本的な論理回路を
有し、それらの相互接続が目的に応じて可変であるFP
GA(Field Programable Gate Array) を用い、前記ハ
ードウェア構成用データに基づいて、前記処理装置の構
成を設定する。
【0011】
【作用】本発明の計算機システム構成方法では、コンパ
イラによって、プログラムが解析され、該解析結果に基
づいて、処理装置の一部または全部の構成を規定するた
めのハードウェア構成用データが作成される。また、上
記コンパイラによって、前記解析結果に基づいて、前記
処理装置で処理されるプログラムが作成される。そし
て、処理装置の一部または全部の構成が前記ハードウェ
ア構成用データに基づいて、設定される。そして、該変
更された処理装置によって、前記作成されたプログラム
が実行される。
【0012】
【実施例】図1は、本実施例の計算機システム構成方法
を説明するための図である。図1に示すように、本実施
例の計算機システム構成方法では、たとえば、ユーザが
作成した高級言語などで記載されたソースプログラム2
に基づいて、コンパイラ4がライブラリ5からの情報を
用いて、オブジュクトコード6およびハードウェア構成
データ8を作成する。そして、オブジュクトコード6お
よびハードウェア構成データ8が計算機10に出力され
る。
【0013】ハードウェア構成データ8は、たとえば、
計算機10の構成のうち、変更可能な構成についての設
定内容を示すデータである。また、オブジュクトコード
6は、計算機10が処理可能な機械コードである。ま
た、ライブラリ5には、コンパイラ4がオブジュクトコ
ード6およびハードウェア構成データ8を作成する際に
参照する、たとえば、計算機10の固定部の構成に関す
る情報および可変部が構成することができる情報などが
記憶されている。この情報は、たとえば、可変部で構成
することができる、関数、スタック処理、ジャンプ処
理、および、取り扱うデータの構造などの種類に関する
情報である。
【0014】計算機10は、たとえば、図3に示すよう
に、予め決定され変更することができない構成を有する
固定部と、ハードウェア構成データ8の内容に応じて変
更可能な構成を有する可変部とで構成される。主演算部
102およびメモリ構成部106の構成は固定であり、
演算部104,110およびメモリ接続部108の構成
は可変である。可変部は、たとえば、ハードウェア構成
データ8に基づいてチップ内に配列された基本的な論理
回路が電気的に配線され、ハードウェア構成データ8の
内容に応じた回路が作成されるFPGAである。
【0015】コンパイラ4における処理について説明す
る。コンパイラ4は、予め作成されたプログラムであ
り、ソースプログラム2を入力し、以下に示す処理を行
い、オブジュクトコード6およびハードウェア構成デー
タ8を作成する。図2は、コンパイラ4の処理のフロー
チャート図である。 ステップS1:コンパイラ4は、処理を行うソースプロ
グラム2を読込む。
【0016】ステップS2:コンパイラ4は、ステップ
S1で読込みを行ったソースプログラム2のフロー解析
を行う。
【0017】ステップS3:コンパイラ4は、ステップ
S2におけるフロー解析の解析結果に基づいて、たとえ
ば、ソースプログラム2に記載された各関数について呼
び出し回数などを検出する。たとえば、図3のソースプ
ログラム2では、関数funcAの呼び出し回数が10
0として検出される。
【0018】ステップS4:ステップS3で検出した各
関数の呼び出し回数などに基づいて、たとえば、呼び出
し回数の多い関数をハードウェアで構成する関数として
決定する。つまり、計算機10の可変部で構成する関数
として決定する。たとえば、図3のソースプログラム2
では、関数funcAが計算機10の可変部で構成する
関数として決定される。
【0019】ステップS5:ソースプログラム2のう
ち、ハードウェアで構成する部分についてコンパイラ処
理を行いハードウェア構造データ8を作成する。つま
り、ステップS4で決定したハードウェアで構成する関
数の処理に応じたハードウェア構成データを作成する。
コンパイラ4は、ハードウェア構成データ8を計算機1
0に出力する。計算機10は、ハードウェア構成データ
8に基づいて、可変部分の設定を行う。つまりステップ
S4で決定された関数の処理に対応したハードウェアの
構成を有するように可変部を設定する。
【0020】たとえば、図3のソースプログラム2で
は、関数funcAの処理(つまり、op1,op2,
op3)に応じたハードウェア構成データ8が作成さ
れ、計算機10は、funcAの処理に対応したハード
ウェアの構成を有するように可変部を設定する。つま
り、図3に示す計算機10の可変部に関数funcAの
処理に対応する演算部104を作成する。
【0021】ステップS6:ソースプログラム2のう
ち、ソフトウェアで処理する部分についてコンパイラ処
理を行いオブジュクトコード6を作成する。つまり、ソ
ースプログラム2のうち、ステップS5でハードウェア
で構成するとした部分以外の部分についてコンパイラ処
理を行う。このコンパイラ処理では、たとえば、ソース
プログラム2に記載された処理のうちステップS5にお
いて可変部の構成によりハードウェア的に実行すると決
定された部分の実行位置に、所定の可変部で処理を行う
ことを示すコードを記載してオブジュクトコード6を作
成する。
【0022】コンパイラ4は、オブジュクトコード6を
計算機10に出力する。そして、計算機10は、予め構
成された固定部と、ステップS5で設定した可変部とを
用いて、オブジュクトコード6応じた処理を実行する。
このとき、ソースプログラム2の処理のうち、計算機1
0の可変部で構成した関数の処理は、この可変部でハー
ドウェア的に実行され、通常、ソフトウェアで実行する
ように高速に実行することができる。たとえば、図3に
示すソースプログラム2の処理のうち関数funcAの
処理は、計算機10の可変部に構成された演算部104
で実行される。
【0023】上述したように本実施例の計算機システム
構成方法では、ハードウェア構成データ8は、プログラ
ム処理を行う者によって解析され作成されるのではな
く、予め作成されたコンパイラ4を用いて自動的に作成
されるため、便利であり、また解析ミスもなくなり、ソ
ースプログラム2に記載された処理を、その特性を反映
した構成に設定された計算機10を用いて高速に実行す
ることができる。また、本実施例の計算機システム構成
方法では、頻繁に処理される関するなどをハードウェア
的に処理するため、プログラム全体の処理時間を短縮す
ることができる。また、本実施例の計算機システム構成
方法では、単一のコンパイラ4を用いて、オブジュクト
コード6およびハードウェア構成データ8を作成するた
め、ハードウェア構成データ8の内容に応じてオブジュ
クトコード6を作成するソフトウェアコンパイラを新た
に作成するなどの手間が省け便利である。さらに、本実
施例の計算機システム構成方法によれば、例外処理を行
う上で、ハードウェア処理とソフトウェア処理とのトレ
ードオフを最適化した計算機システム構成を行うことが
できる。
【0024】本発明は、上述した実施例に限定されな
い。たとえば、ライブラリ5に記憶される情報の種類
は、任意であり、計算機10の外部装置などに関する情
報でもよい。また、図2に示すコンパイラ4におけるス
テップS6の処理は、たとえば、ステップS5で決定さ
れた計算機10の構成に考慮し、この構成を有効に使用
することができるように、ソースプログラム2の意味を
変更しない範囲で、ソースプログラム2のうちソフトウ
ェアで処理する部分の実行順序を変えるなどしてオブジ
ュクトコード6を作成してもよい。
【0025】また、上述した実施例では、ソースプログ
ラム2に記載された処理のうち、頻繁に実行される関数
をハードウェア的に実行する場合について説明したが、
ソースプログラム2に記載に応じたスタック処理および
ジャンプ処理などをハードウェア的に実行するようにし
てもよい。また、上述した実施例では、計算機10の一
部に可変構造を有した場合について説明したが、計算機
10の全てが可変構造を有していてもよい。
【0026】
【発明の効果】本発明の計算機システム構成方法によれ
ば、処理を行うプログラムの特性に適するように処理装
置の構成を規定することができ、プログラムの処理を高
速に行うことができる。また、本発明の計算機システム
構成方法によれば、単一のコンパイラを用いて、ハード
ウェア構成用データおよび処理装置で処理するプログラ
ムを作成するため、ハードウェア構成用データによって
処理装置の構成が変化した場合でも新たに処理装置で処
理するプログラムに変換するコンパイラを作成する必要
がなく、便利である。また、本発明の計算機システム構
成方法によれば、処理を行う者がプログラムを解析して
ハードウェア構成用データを作成するのではなく、コン
パイラを用いて自動的に作成するため、便利であり、ま
た、解析ミスも生じない。また、本発明の計算機システ
ム構成方法によれば、単一のコンパラを用いてハードウ
ェア構成用データおよび処理プログラムを作成するた
め、ハードウェア構成用データの内容を反映させて高品
質な処理プログラムの作成が可能であり、プログラムに
応じた処理を高速に実行することができる。さらに、本
発明の計算機システム構成方法によれば、例外処理を行
う上で、ハードウェア処理とソフトウェア処理とのトレ
ードオフを最適化した計算機システム構成を行うことが
できる。
【図面の簡単な説明】
【図1】本実施例の計算機システム構成方法を説明する
ための図である。
【図2】本実施例の計算機システム構成方法におけるコ
ンパイラの処理のフローチャート図である。
【図3】本実施例の計算機システム構成方法を説明する
ための図である。
【図4】従来の計算機システム構成方法を説明するため
の図である。
【符号の説明】
2・・・ソースプログラム 4・・・コンパイラ 6,74・・・オブジュクトコード 8,82・・・ハードウェア構成データ 10,76・・・計算機 72・・・ソフトウェアコンパイラ 80・・・ハードウェアコンパイラ 78・・・ハードウェア情報 102・・・主演算部 104,110・・・演算部 106・・・メモリ構成部 108・・・メモリ接続部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】プログラムに応じた処理を、その一部また
    は全ての構成を変更することができる処理装置で行う計
    算機システム構成方法であって、 コンパイラを用いて前記プログラムを解析し、該解析結
    果に基づいて、前記処理装置の一部または全ての構成を
    規定するためのハードウェア構成用データを作成し、 前記コンパイラを用いて前記解析結果に基づいて、前記
    処理装置で処理を行うプログラムを作成する計算機シス
    テム構成方法。
  2. 【請求項2】前記ハードウェア構成用データの作成は、
    前記解析結果に基づいて、プログラム内に高頻度に記載
    された処理を検出し、前記検出された処理を実行するの
    に適した構成に前記処理装置の一部または全てを規定す
    ることを示すハードウェア構成用データを作成して行う
    請求項1記載の計算機システム構成方法。
  3. 【請求項3】前記ハードウェア構成用データの作成は、
    前記解析結果に基づいて、前記プログラムに記載された
    処理のうち、前記処理装置の一部または全ての構成によ
    ってハードウェア的に処理する部分を抽出し、該抽出さ
    れた部分について行い、 前記処理装置で処理を行うプログラムの作成は、前記解
    析結果に基づいて、前記プログラムに記載された処理の
    うち、前記処理装置を用いてソフトウェア的に処理する
    部分を抽出し、該抽出された部分について行う請求項1
    または2記載の計算機システム構成方法。
  4. 【請求項4】前記処理装置で処理を行うプログラムの作
    成は、前記プログラムを、前記処理装置の構成に基づい
    て、プログラムの意味を変更しない範囲で、前記処理装
    置の構成に適するように作成して行う請求項3記載の計
    算機システム構成方法。
  5. 【請求項5】前記処理装置として、複数の基本的な論理
    回路を有し、それらの相互接続が目的に応じて可変であ
    るFPGA(Field Programable Gate Array) を用いる
    請求項1〜5いずれか記載の計算機システム構成方法。
JP5083229A 1993-04-09 1993-04-09 計算機システム構成方法 Pending JPH06301522A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5083229A JPH06301522A (ja) 1993-04-09 1993-04-09 計算機システム構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5083229A JPH06301522A (ja) 1993-04-09 1993-04-09 計算機システム構成方法

Publications (1)

Publication Number Publication Date
JPH06301522A true JPH06301522A (ja) 1994-10-28

Family

ID=13796494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5083229A Pending JPH06301522A (ja) 1993-04-09 1993-04-09 計算機システム構成方法

Country Status (1)

Country Link
JP (1) JPH06301522A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005091160A1 (ja) * 2004-03-19 2005-09-29 Ipflex Inc. 活性化コードの生成方法
JP2009251782A (ja) * 2008-04-03 2009-10-29 Koyo Electronics Ind Co Ltd プログラマブルコントローラの高速化方法等
JP2011090710A (ja) * 1998-11-20 2011-05-06 Altera Corp 再構成可能なプログラマブルロジックデバイスコンピュータシステム
JP2012133756A (ja) * 2010-11-10 2012-07-12 Src Computers Inc ヘテロジニアス黙示的及び明示的プロセッシング要素の計算の一体化のためのシステム及び方法
JPWO2014163168A1 (ja) * 2013-03-30 2017-02-16 日本電気株式会社 アプリケーション特化仮想マシン生成システム、装置、方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011090710A (ja) * 1998-11-20 2011-05-06 Altera Corp 再構成可能なプログラマブルロジックデバイスコンピュータシステム
WO2005091160A1 (ja) * 2004-03-19 2005-09-29 Ipflex Inc. 活性化コードの生成方法
JP2009251782A (ja) * 2008-04-03 2009-10-29 Koyo Electronics Ind Co Ltd プログラマブルコントローラの高速化方法等
JP2012133756A (ja) * 2010-11-10 2012-07-12 Src Computers Inc ヘテロジニアス黙示的及び明示的プロセッシング要素の計算の一体化のためのシステム及び方法
JPWO2014163168A1 (ja) * 2013-03-30 2017-02-16 日本電気株式会社 アプリケーション特化仮想マシン生成システム、装置、方法およびプログラム

Similar Documents

Publication Publication Date Title
EP2891053B1 (en) Results generation for state machine engines
US10977309B2 (en) Methods and systems for creating networks
JPH06301522A (ja) 計算機システム構成方法
US6086624A (en) Simulator and simulation method in each of which simulation can be carried out at a high-speed
CN115292196A (zh) 用户界面测试方法、装置、电子设备及可读存储介质
JP3910831B2 (ja) プログラム開発支援装置、記録媒体、及びプログラム
CN115202495B (zh) 鼠标硬件的模拟移动方法、装置、设备及存储介质
JP3099889B2 (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
JP2525492B2 (ja) プログラマブルコントロ―ラ
US5677996A (en) Fuzzy computer
US5212783A (en) System which directionally sums signals for identifying and resolving timing inconsistencies
JPH05181673A (ja) マイクロプロセッサ
JP2845478B2 (ja) 論理回路の遅延時間解析装置
JP2532072Y2 (ja) パターン発生器
JPH10198419A (ja) プラント情報監視装置とその入出力点リスト編集処理装置
JPH05334465A (ja) 演算器・記憶装置・データ転送装置必要数計数装置
CN115658797A (zh) 数据处理方法、设备及存储介质
JPH03245273A (ja) 大規模論理回路の禁止接続・強制接続設計ルール解析方法および装置
CN114443014A (zh) 一种用于转换代码的处理装置、方法和编译器
KR930005707B1 (ko) Plc의 명령어 처리방법
JPS6344240A (ja) プログラム処理制御方式
JP2000293410A (ja) プロファイラ
JPH03224030A (ja) バイト位置識別コード設定処理方式
JPS5870361A (ja) 入力制御方式
JPH05100891A (ja) プログラムデバツグ装置