JPS6184740A - 汎用オブジエクトコ−ド生成方式 - Google Patents
汎用オブジエクトコ−ド生成方式Info
- Publication number
- JPS6184740A JPS6184740A JP59206233A JP20623384A JPS6184740A JP S6184740 A JPS6184740 A JP S6184740A JP 59206233 A JP59206233 A JP 59206233A JP 20623384 A JP20623384 A JP 20623384A JP S6184740 A JPS6184740 A JP S6184740A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- object code
- program
- executed
- general
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/47—Retargetable compilers
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、アーキテクチャの一部異なるコンピュータを
意識することなく利用可能とするためのオブジェクトコ
ード生成方式に係り、特にベクトル処理のように、一部
ハードウエアの仕様が異なるような場合に好適な方式に
関する。
意識することなく利用可能とするためのオブジェクトコ
ード生成方式に係り、特にベクトル処理のように、一部
ハードウエアの仕様が異なるような場合に好適な方式に
関する。
従来のコンパイラ(例えば1日立評論Vo1.65゜H
a 8に示すもの)は、ハードウェアの仕様に対応して
、オブジェクトコードが生成されていたため処理能方向
上等の理由により、ハードウェアがレベルアップして1
機械語命令が追加された時などは、従来のオブジェクト
コードでは、動作不可能となったり、性能が充分得られ
ない場合があった。
a 8に示すもの)は、ハードウェアの仕様に対応して
、オブジェクトコードが生成されていたため処理能方向
上等の理由により、ハードウェアがレベルアップして1
機械語命令が追加された時などは、従来のオブジェクト
コードでは、動作不可能となったり、性能が充分得られ
ない場合があった。
また、アーキテクチャが一部異なるコンピュータが併設
されている場合も同様な問題が発生する。
されている場合も同様な問題が発生する。
具体例を第1図に示す。この図は、科学技術計算で用い
られる代表的言語であるFORTRAN言語で書かれた
プログラムの一部分1と、その部分を、異なるハードウ
ェアに対応して作成されたFORTRANコンパイラに
よって、翻訳されたオブジェクトコード群2,3.4で
ある。
られる代表的言語であるFORTRAN言語で書かれた
プログラムの一部分1と、その部分を、異なるハードウ
ェアに対応して作成されたFORTRANコンパイラに
よって、翻訳されたオブジェクトコード群2,3.4で
ある。
この図から明らかなように、同じソースプログラムでも
コンパイラによって違うオブジェクトコードが生成され
ることがわかる。そのため、このオブジェクトコードに
適合したプロセッサでのみしか、プログラムが実行でき
ないことになる。もし、違うプロセッサで実行した場合
は、プログラムは異常終了する。
コンパイラによって違うオブジェクトコードが生成され
ることがわかる。そのため、このオブジェクトコードに
適合したプロセッサでのみしか、プログラムが実行でき
ないことになる。もし、違うプロセッサで実行した場合
は、プログラムは異常終了する。
こ゛のように、ソースプログラムレベルでは、互換性が
あるが、オブジェクトコードレベルでは、互換性がない
ため、ユーザはソースプログラムレベルで管理しなけれ
ばならない。また、オブジェクトコートレベルで管理す
るためには、プロセッサ毎に別々のオブジェクトコード
を管理する必要がある。
あるが、オブジェクトコードレベルでは、互換性がない
ため、ユーザはソースプログラムレベルで管理しなけれ
ばならない。また、オブジェクトコートレベルで管理す
るためには、プロセッサ毎に別々のオブジェクトコード
を管理する必要がある。
本発明の目的は、異種コンピュータが併設もしくは、1
台のコンピュータがグレードアップされた時、どちらの
コンピュータにおいても、動作可能なオブジェクトコー
ドを生成することによって、プロセッサを意識しないで
も利用可能な汎用コンパイラを与える汎用オブジェクト
コード生成方式を提供することにある。
台のコンピュータがグレードアップされた時、どちらの
コンピュータにおいても、動作可能なオブジェクトコー
ドを生成することによって、プロセッサを意識しないで
も利用可能な汎用コンパイラを与える汎用オブジェクト
コード生成方式を提供することにある。
スーパーコンピュータのベクトル処理と汎用計算機に付
加されたベクトル処理では、その処理方式が異なるため
、各々専用のオブジェクトコードをコンパイラが出力し
、そのコードにより計算が実行されていた。そのため、
ユーザはプロセッサを意識したオブジェクトコードの管
理をしなければならなかった。そこで、本発明では、プ
ロセッサ毎に特有のオブジェクトコードを複数発生させ
、どのプロセッサでも実行可能としたことに特徴がある
。
加されたベクトル処理では、その処理方式が異なるため
、各々専用のオブジェクトコードをコンパイラが出力し
、そのコードにより計算が実行されていた。そのため、
ユーザはプロセッサを意識したオブジェクトコードの管
理をしなければならなかった。そこで、本発明では、プ
ロセッサ毎に特有のオブジェクトコードを複数発生させ
、どのプロセッサでも実行可能としたことに特徴がある
。
以下、本発明の一実施例を第2図により説明する。複数
台のプロセッサ5,6.7が結合されて、マルチプロセ
ッサ構成をなしている時、プロセッサ5では2のオブジ
ェクトコードが実行可能で、3.4は実行不可能であり
、プロセッサ6では、2と3のオブジェクトコードが実
行可能であり、4は実行不可能であり、プロセッサ7で
は、2と4のオブジェクトコードが実行可能であり、3
は実行不可能であるとする。
台のプロセッサ5,6.7が結合されて、マルチプロセ
ッサ構成をなしている時、プロセッサ5では2のオブジ
ェクトコードが実行可能で、3.4は実行不可能であり
、プロセッサ6では、2と3のオブジェクトコードが実
行可能であり、4は実行不可能であり、プロセッサ7で
は、2と4のオブジェクトコードが実行可能であり、3
は実行不可能であるとする。
このようなマルチプロセッサ構成の時、オブジェクトコ
ード2は、どのプロセッサでも実行可能であるが、3と
4は各々6と7でしか実行できないため、3または4の
オブジェクトコードは、プロセッサを固定しなければな
らない。
ード2は、どのプロセッサでも実行可能であるが、3と
4は各々6と7でしか実行できないため、3または4の
オブジェクトコードは、プロセッサを固定しなければな
らない。
そして、オブジェクトの効率(実行速度)が、2よりも
3.かつ3よりも5の方が良いとするとマルチプロセッ
サシステム全体としては、4のオブジェクトコードによ
り処理するのが望ましいが4はプロセッサ依存性がある
ため、どのプロセッサで実行させてもよい訳ではないぬ
ため、プロセッサ全体の負荷のバランスが困難である。
3.かつ3よりも5の方が良いとするとマルチプロセッ
サシステム全体としては、4のオブジェクトコードによ
り処理するのが望ましいが4はプロセッサ依存性がある
ため、どのプロセッサで実行させてもよい訳ではないぬ
ため、プロセッサ全体の負荷のバランスが困難である。
と同時にユーザは、このオブジェクトコードはどのプロ
セッサで実行可能かを意識する必要がある。
セッサで実行可能かを意識する必要がある。
そこで、どのプロセッサでも、効率良く実行できるよう
な汎用オブジェクトが必要になる。そのオブジェクトプ
ログラムの構成を第3図に示す。
な汎用オブジェクトが必要になる。そのオブジェクトプ
ログラムの構成を第3図に示す。
8がプロセッサやプロセッサのモードに関係しない部分
(例えば、スカラ処理部)のオブジェクトコードの部分
であり、9がプロセッサの識別またはプロセッサのモー
ドを識別する部分であり、プロセッサもしくはプロセッ
サのモードに対応したオブジェクトコード部分が2.3
.4である。なお、2,3.4に該当する部分はいくつ
あってもよい。
(例えば、スカラ処理部)のオブジェクトコードの部分
であり、9がプロセッサの識別またはプロセッサのモー
ドを識別する部分であり、プロセッサもしくはプロセッ
サのモードに対応したオブジェクトコード部分が2.3
.4である。なお、2,3.4に該当する部分はいくつ
あってもよい。
勿論、2,3.4に該当する部分は、1つのオブジェク
トプログラムに、1回のみだけではなく、必要な部分(
ハードウェアに依存する部分)では。
トプログラムに、1回のみだけではなく、必要な部分(
ハードウェアに依存する部分)では。
何回もあられれてくる。また、8の部分から必ずしも必
要ではなく、9と2.3.4の部分からオブジェクトプ
ログラム全体が構成されている場合もある。
要ではなく、9と2.3.4の部分からオブジェクトプ
ログラム全体が構成されている場合もある。
第4図にマルチプロセッサ内での動作を示す。
実行開始時点では、どのプロセッサでも実行可能な部分
の処理として、プロセッサに特有な部分が表われる前に
、現在処理しているプロセッサが何であるかを判定して
、そのプロセッサと対応したオブジェクトコードの部分
を実行させる。
の処理として、プロセッサに特有な部分が表われる前に
、現在処理しているプロセッサが何であるかを判定して
、そのプロセッサと対応したオブジェクトコードの部分
を実行させる。
これらのプロセッサに対応した部分の処理が終了した後
、プロセッサに共通した部分の処理を実行して、プログ
ラム全体の処理が終了する。
、プロセッサに共通した部分の処理を実行して、プログ
ラム全体の処理が終了する。
本発明によれば、異なるアーキテクチャの計算機群があ
る時、ユーザはそれらの計算機群を意識することなくオ
ブジェクトプログラムを管理可能となるため、プログラ
ムの管理効率が大幅に向上する。また、該当プロセッサ
で最も効率良いオブジェクトで実行されるため、プロセ
ッサ単体は勿論システム全体のスループットも向上する
。
る時、ユーザはそれらの計算機群を意識することなくオ
ブジェクトプログラムを管理可能となるため、プログラ
ムの管理効率が大幅に向上する。また、該当プロセッサ
で最も効率良いオブジェクトで実行されるため、プロセ
ッサ単体は勿論システム全体のスループットも向上する
。
第1図は、FORTI’1.4Nプログラムの一部分と
異なるコンパイラによって生成されたオブジェクトプロ
グラムの一例を示す図、第2図は本発明が適用されるマ
ルチプロセッサの構成図、第3図は、汎用オブジェクト
プログラムの構成例を示す図、第4図は第2図のマルチ
プロセッサ内での動作を示すフローチャートである。 1・・・FORTRANプログラムの一例、2,3.4
・・・1を3つの異なるコンパイラで生成したオブジェ
クトプログラムの一例、5.6.7・・・異なるアーキ
テクチャをもつプロセッサ群、8・・・プロセッサに共
通なオブジェクトコード部、9・・・プロセッサを第
1 (2) 菖 2 図 不 3 図
異なるコンパイラによって生成されたオブジェクトプロ
グラムの一例を示す図、第2図は本発明が適用されるマ
ルチプロセッサの構成図、第3図は、汎用オブジェクト
プログラムの構成例を示す図、第4図は第2図のマルチ
プロセッサ内での動作を示すフローチャートである。 1・・・FORTRANプログラムの一例、2,3.4
・・・1を3つの異なるコンパイラで生成したオブジェ
クトプログラムの一例、5.6.7・・・異なるアーキ
テクチャをもつプロセッサ群、8・・・プロセッサに共
通なオブジェクトコード部、9・・・プロセッサを第
1 (2) 菖 2 図 不 3 図
Claims (1)
- 異なるアーキテクチヤを有する計算機群において、各々
の計算機に特有な部分と共通な部分よりなるオブジエク
トコードをまとめて1つのオブジエクトコードを生成す
ることを特徴とする汎用オブジエクトコード生成方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59206233A JPS6184740A (ja) | 1984-10-03 | 1984-10-03 | 汎用オブジエクトコ−ド生成方式 |
US06/782,901 US4853872A (en) | 1984-10-03 | 1985-10-02 | Program execution method in a system having plural computers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59206233A JPS6184740A (ja) | 1984-10-03 | 1984-10-03 | 汎用オブジエクトコ−ド生成方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6184740A true JPS6184740A (ja) | 1986-04-30 |
Family
ID=16519960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59206233A Pending JPS6184740A (ja) | 1984-10-03 | 1984-10-03 | 汎用オブジエクトコ−ド生成方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4853872A (ja) |
JP (1) | JPS6184740A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02133826A (ja) * | 1988-11-15 | 1990-05-23 | Matsushita Electric Ind Co Ltd | コンパイラ構成方式 |
JP2013542497A (ja) * | 2010-09-24 | 2013-11-21 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2015038770A (ja) * | 2014-10-23 | 2015-02-26 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2016157445A (ja) * | 2016-03-10 | 2016-09-01 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3789215T2 (de) * | 1986-12-22 | 1994-06-01 | American Telephone & Telegraph | Gesteuerter dynamischer Belastungsausgleich für ein Multiprozessorsystem. |
CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
AU625293B2 (en) * | 1988-12-09 | 1992-07-09 | Tandem Computers Incorporated | Synchronization of fault-tolerant computer system having multiple processors |
JP3039953B2 (ja) * | 1989-04-28 | 2000-05-08 | 株式会社日立製作所 | 並列化装置 |
JP2527821B2 (ja) * | 1989-09-14 | 1996-08-28 | 株式会社日立製作所 | デ―タ処理方法及び入出力装置 |
US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
US5203004A (en) * | 1990-01-08 | 1993-04-13 | Tandem Computers Incorporated | Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections |
JP2665089B2 (ja) * | 1991-09-26 | 1997-10-22 | 三菱電機株式会社 | 分散環境下におけるコンパイル方式 |
JP3138171B2 (ja) * | 1994-06-22 | 2001-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | システム機能をダウンロードする方法 |
US5860006A (en) * | 1995-09-15 | 1999-01-12 | Apple Computer, Inc. | Processor independent network operating system loadable modules |
US5796941A (en) * | 1996-09-06 | 1998-08-18 | Catalyst Semiconductor, Inc. | Method for supervising software execution in a license restricted environment |
US5920721A (en) * | 1997-06-11 | 1999-07-06 | Digital Equipment Corporation | Compiler generating functionally-alike code sequences in an executable program intended for execution in different run-time environments |
JP3141836B2 (ja) * | 1998-01-26 | 2001-03-07 | 日本電気株式会社 | 言語処理方法、言語処理装置及び言語処理プログラムを記録した記憶媒体 |
US7229201B2 (en) * | 2003-03-26 | 2007-06-12 | Optim Inc. | Compact, high-efficiency, high-power solid state light source using a single solid state light-emitting device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4414624A (en) * | 1980-11-19 | 1983-11-08 | The United States Of America As Represented By The Secretary Of The Navy | Multiple-microcomputer processing |
US4509116A (en) * | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Special instruction processing unit for data processing system |
-
1984
- 1984-10-03 JP JP59206233A patent/JPS6184740A/ja active Pending
-
1985
- 1985-10-02 US US06/782,901 patent/US4853872A/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02133826A (ja) * | 1988-11-15 | 1990-05-23 | Matsushita Electric Ind Co Ltd | コンパイラ構成方式 |
JP2013542497A (ja) * | 2010-09-24 | 2013-11-21 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
US8997113B2 (en) | 2010-09-24 | 2015-03-31 | Intel Corporation | Sharing virtual functions in a shared virtual memory between heterogeneous processors of a computing platform |
JP2015038770A (ja) * | 2014-10-23 | 2015-02-26 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
JP2016157445A (ja) * | 2016-03-10 | 2016-09-01 | インテル コーポレイション | 計算プラットフォームのヘテロジニアスプロセッサの間で共有されるバーチャルメモリにおけるバーチャル機能の共有 |
Also Published As
Publication number | Publication date |
---|---|
US4853872A (en) | 1989-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6184740A (ja) | 汎用オブジエクトコ−ド生成方式 | |
JP3520611B2 (ja) | プロセッサの制御方法 | |
JP2738692B2 (ja) | 並列化コンパイル方法 | |
US20020083423A1 (en) | List scheduling algorithm for a cycle-driven instruction scheduler | |
US8752056B2 (en) | Running native code across single or multi-core hybrid processor achitecture | |
Beguelin et al. | Dome: Distributed object migration environment | |
CN110704193A (zh) | 一种适合向量处理的多核软件架构的实现方法及装置 | |
Thulasiraman et al. | Multithreaded algorithms for the fast fourier transform | |
Roch et al. | On-line adaptive parallel prefix computation | |
CN111400013B (zh) | 一种多核处理器的数据流的处理方法及系统 | |
Cosnard et al. | Low memory cost dynamic scheduling of large coarse grain task graphs | |
Zhu et al. | Performance portability on EARTH: a case study across several parallel architectures | |
Naishlos et al. | Evaluating the XMT parallel programming model | |
Chung et al. | A dualthreaded Java processor for Java multithreading | |
JP2846536B2 (ja) | マルチプロセッサ | |
Lloyd et al. | Design considerations for microprogramming languages | |
JP2560491B2 (ja) | 並列化手続き実行方式 | |
Liou et al. | CASS: an efficient task management system for distributed memory architectures | |
Lenir et al. | Exploiting instruction-level parallelism: the multithreaded approach | |
Naishlos et al. | Evaluating multi-threading in the prototype XMT environment | |
JP2682215B2 (ja) | 並列処理時の手続き呼出し方式 | |
Baratloo et al. | Mechanisms for just-in-time allocation of resources to adaptive parallel programs | |
JPH0744507A (ja) | 並列プログラムのコンパイル方法 | |
JPH0991258A (ja) | 階層型並列化コンパイラ | |
Ștefan | A Multi-Thread Approach in Order to Avoid Pipeline Penalties |