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
generation method
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
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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

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
EP0272836B1 (en) * 1986-12-22 1994-03-02 AT&T Corp. Controlled dynamic load balancing for a multiprocessor system
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple 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) 汎用オブジエクトコ−ド生成方式
JP2738692B2 (ja) 並列化コンパイル方法
JP3120152B2 (ja) コンピューターシステム
US9495136B2 (en) Using aliasing information for dynamic binary optimization
US8578389B1 (en) Method and system for merging directed acyclic graphs representing data flow codes
JP2004110809A (ja) マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム
US20090144528A1 (en) Method for running native code across single or multi-core hybrid processor achitecture
CN116360941A (zh) 一种面向多核dsp的并行计算资源自组织调度方法及系统
US8250552B2 (en) High efficiency compilation framework for streamlining the execution of compiled code
Glossner et al. Sandbridge software tools
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
Roch et al. On-line adaptive parallel prefix computation
CN118963836A (zh) 一种改变指令周期的方法和系统
Zhu et al. Performance portability on EARTH: a case study across several parallel architectures
JPH056281A (ja) 情報処理装置
JP2846536B2 (ja) マルチプロセッサ
Lloyd et al. Design considerations for microprogramming languages
Schildermans et al. Towards high-level software approaches to reduce virtualization overhead for parallel applications
Lenir et al. Exploiting instruction-level parallelism: the multithreaded approach
JPH03268041A (ja) キャッシュ操作明示化コンピュータ
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
Ou et al. Accelerating Public Key Cryptography in Android Platforms
JP3072772B2 (ja) コンパイル装置
Bilmes et al. Ring array processor (RAP): Software architecture
JP2708647B2 (ja) コプロセサによる補助機能のサポート方法