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
Application number
JP59206233A
Other languages
English (en)
Inventor
Kenji Shimoi
下位 憲司
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59206233A priority Critical patent/JPS6184740A/ja
Priority to US06/782,901 priority patent/US4853872A/en
Publication of JPS6184740A publication Critical patent/JPS6184740A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、アーキテクチャの一部異なるコンピュータを
意識することなく利用可能とするためのオブジェクトコ
ード生成方式に係り、特にベクトル処理のように、一部
ハードウエアの仕様が異なるような場合に好適な方式に
関する。
〔発明の背景〕
従来のコンパイラ(例えば1日立評論Vo1.65゜H
a 8に示すもの)は、ハードウェアの仕様に対応して
、オブジェクトコードが生成されていたため処理能方向
上等の理由により、ハードウェアがレベルアップして1
機械語命令が追加された時などは、従来のオブジェクト
コードでは、動作不可能となったり、性能が充分得られ
ない場合があった。
また、アーキテクチャが一部異なるコンピュータが併設
されている場合も同様な問題が発生する。
具体例を第1図に示す。この図は、科学技術計算で用い
られる代表的言語であるFORTRAN言語で書かれた
プログラムの一部分1と、その部分を、異なるハードウ
ェアに対応して作成されたFORTRANコンパイラに
よって、翻訳されたオブジェクトコード群2,3.4で
ある。
この図から明らかなように、同じソースプログラムでも
コンパイラによって違うオブジェクトコードが生成され
ることがわかる。そのため、このオブジェクトコードに
適合したプロセッサでのみしか、プログラムが実行でき
ないことになる。もし、違うプロセッサで実行した場合
は、プログラムは異常終了する。
こ゛のように、ソースプログラムレベルでは、互換性が
あるが、オブジェクトコードレベルでは、互換性がない
ため、ユーザはソースプログラムレベルで管理しなけれ
ばならない。また、オブジェクトコートレベルで管理す
るためには、プロセッサ毎に別々のオブジェクトコード
を管理する必要がある。
〔発明の目的〕
本発明の目的は、異種コンピュータが併設もしくは、1
台のコンピュータがグレードアップされた時、どちらの
コンピュータにおいても、動作可能なオブジェクトコー
ドを生成することによって、プロセッサを意識しないで
も利用可能な汎用コンパイラを与える汎用オブジェクト
コード生成方式を提供することにある。
〔発明の概要〕
スーパーコンピュータのベクトル処理と汎用計算機に付
加されたベクトル処理では、その処理方式が異なるため
、各々専用のオブジェクトコードをコンパイラが出力し
、そのコードにより計算が実行されていた。そのため、
ユーザはプロセッサを意識したオブジェクトコードの管
理をしなければならなかった。そこで、本発明では、プ
ロセッサ毎に特有のオブジェクトコードを複数発生させ
、どのプロセッサでも実行可能としたことに特徴がある
〔発明の実施例〕
以下、本発明の一実施例を第2図により説明する。複数
台のプロセッサ5,6.7が結合されて、マルチプロセ
ッサ構成をなしている時、プロセッサ5では2のオブジ
ェクトコードが実行可能で、3.4は実行不可能であり
、プロセッサ6では、2と3のオブジェクトコードが実
行可能であり、4は実行不可能であり、プロセッサ7で
は、2と4のオブジェクトコードが実行可能であり、3
は実行不可能であるとする。
このようなマルチプロセッサ構成の時、オブジェクトコ
ード2は、どのプロセッサでも実行可能であるが、3と
4は各々6と7でしか実行できないため、3または4の
オブジェクトコードは、プロセッサを固定しなければな
らない。
そして、オブジェクトの効率(実行速度)が、2よりも
3.かつ3よりも5の方が良いとするとマルチプロセッ
サシステム全体としては、4のオブジェクトコードによ
り処理するのが望ましいが4はプロセッサ依存性がある
ため、どのプロセッサで実行させてもよい訳ではないぬ
ため、プロセッサ全体の負荷のバランスが困難である。
と同時にユーザは、このオブジェクトコードはどのプロ
セッサで実行可能かを意識する必要がある。
そこで、どのプロセッサでも、効率良く実行できるよう
な汎用オブジェクトが必要になる。そのオブジェクトプ
ログラムの構成を第3図に示す。
8がプロセッサやプロセッサのモードに関係しない部分
(例えば、スカラ処理部)のオブジェクトコードの部分
であり、9がプロセッサの識別またはプロセッサのモー
ドを識別する部分であり、プロセッサもしくはプロセッ
サのモードに対応したオブジェクトコード部分が2.3
.4である。なお、2,3.4に該当する部分はいくつ
あってもよい。
勿論、2,3.4に該当する部分は、1つのオブジェク
トプログラムに、1回のみだけではなく、必要な部分(
ハードウェアに依存する部分)では。
何回もあられれてくる。また、8の部分から必ずしも必
要ではなく、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 図

Claims (1)

    【特許請求の範囲】
  1. 異なるアーキテクチヤを有する計算機群において、各々
    の計算機に特有な部分と共通な部分よりなるオブジエク
    トコードをまとめて1つのオブジエクトコードを生成す
    ることを特徴とする汎用オブジエクトコード生成方式。
JP59206233A 1984-10-03 1984-10-03 汎用オブジエクトコ−ド生成方式 Pending JPS6184740A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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