JP2008518355A - 異種混合アーキテクチャからの複数のオブジェクトファイルを一組のファイルに統合する方法 - Google Patents

異種混合アーキテクチャからの複数のオブジェクトファイルを一組のファイルに統合する方法 Download PDF

Info

Publication number
JP2008518355A
JP2008518355A JP2007538925A JP2007538925A JP2008518355A JP 2008518355 A JP2008518355 A JP 2008518355A JP 2007538925 A JP2007538925 A JP 2007538925A JP 2007538925 A JP2007538925 A JP 2007538925A JP 2008518355 A JP2008518355 A JP 2008518355A
Authority
JP
Japan
Prior art keywords
code
processor
generated
multiprocessor
computer program
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.)
Granted
Application number
JP2007538925A
Other languages
English (en)
Other versions
JP5072599B2 (ja
JP2008518355A5 (ja
Inventor
アレックス・チュンヘン・チョウ
マイケル・ノルマン・デイ
マイケル・スタン・ゴーウェン
敬介 井上
ジェームズ・ヘニディス
貴幸 内川
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008518355A publication Critical patent/JP2008518355A/ja
Publication of JP2008518355A5 publication Critical patent/JP2008518355A5/ja
Application granted granted Critical
Publication of JP5072599B2 publication Critical patent/JP5072599B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

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

Abstract

【解決手段】本発明は異種混合アーキテクチャからの複数のオブジェクトファイルを統合する方法である。第1プロセッサが第2プロセッサの名前空間からプログラムを参照するために、第2プロセッサのプログラム用のオブジェクトコードをラッパーの形で同封させて、第1プロセッサの名前空間におけるオブジェクトコードを生成する。ラップされたオブジェクトのヘッダは、第1プロセッサの名前空間において新しいシンボルを定義する。そのシンボルはラップされたオブジェクトコードに含まれる第2プロセッサのオブジェクトコードへのポインタである。第2プロセッサのオブジェクトコードを直接参照する代わりに、第1プロセッサ上の参照する側のプログラムがラップされたオブジェクトコードを参照する。第2プロセッサ上で動作するオブジェクトコードをラップするためにシステムツールを利用することができる。
【選択図】図2

Description

本発明は、一般に、オブジェクトファイルの処理に関し、特に、異種混合アーキテクチャからの複数のオブジェクトファイルを統合することに関する。
異なるプロセッサに対応して別々の名前空間が設けられたマルチプロセッサにおいて、一つの名前空間で定められたプログラムは、もう一つの名前空間の上で定められたプログラムにリファレンスをつけることができる。これらのプロセッサは、異なるマシンタイプを構成しており、異なるアーキテクチャ、異なるインストラクションセット、および異なるオブジェクトファイルの形式をもつことがある。
リファレンスを解決するための従来の方法には、いくつかの問題がある。たとえば、リンカーは別のプロセッサで生成されたオブジェクトコードを誤って解釈することがあり、不正確にコードを処理することがあった。プログラマは、あるプロセッサで動いているプログラムから別のプロセッサの名前空間にあるプログラムへの呼び出しをハードコーディング(決め打ち)することもできるが、その手順はわずらわしいものになる。仮にハードコーディングを使ったとしても、オブジェクトコードをランタイム参照することはできないし、動的リンクやオブジェクト共有もできず、あるいは、マルチプロセッサの結合された名前空間からのオブジェクトを実行時に取り扱うこともできない。
したがって、異種混合アーキテクチャからの複数のオブジェクトファイルを統合する方法が必要であり、それによって、リンカーやローダーのようなシステムツールがオブジェクトファイルを適切に処理することができるようになり、そして、オブジェクトファイルへのランタイム参照、動的リンクとオブジェクト共有、マルチプロセッサの結合された名前空間からのオブジェクトの実行時の取り扱いも可能になる。
本発明は異種混合アーキテクチャからの複数のオブジェクトコードを統合するための方法である。第1プロセッサが第2プロセッサの名前空間からプログラムを参照するために、第2プロセッサのプログラム用のオブジェクトコードをラッパー(wrapper;包み込み)の形で同封させて、第1プロセッサの名前空間におけるオブジェクトコードを生成する。ラップされた(wrapped;包まれた)オブジェクトのヘッダは、第1プロセッサの名前空間において新しいシンボルを定義する。そのシンボルはラップされたオブジェクトコードに含まれる第2プロセッサのオブジェクトコードへのポインタである。第2プロセッサのオブジェクトコードを直接参照する代わりに、第1プロセッサ上の参照する側のプログラムがラップされたオブジェクトコードを参照する。
本発明とその有利な点をより完全に理解するために、添付の図面と合わせて以下の説明を参照する。
以下の議論において、本発明を完全に理解するために、多数の具体的で詳細なことを述べるが、本発明はそのような具体的で詳細な事項がなくても実施できることは当業者にとって明らかである。他の例では、本発明を不必要なほど詳細にすることでかえってわかりにくくならないように、周知の構成要素については、概略図またはブロックダイヤグラムで説明した。
さらに、ここで述べられたすべての機能は、特に断らない限り、ハードウエアまたはソフトウエア、あるいはそれらの組み合わせで実行できることに留意する。しかしながら、より好ましい実施の形態では、特に断らない限り、これらの機能はコンピュータや電子データプロセッサのようなプロセッサによって、そのような機能を実行するためにコード化されたコンピュータプログラムコード、ソフトウエア、および/または集積回路にしたがって実行される。
図1は、異なったアーキテクチャをもつプロセッサを含むマルチプロセッサのブロック図を示す。マルチプロセッサ100は2つのプロセッサ、PU102とSPU110を含む異種混合アーキテクチャである。あるプロセッサで動作するオブジェクトファイルは、他のプロセッサ上では動作しない。そこで、PU102上で動作しているコードが、SPU110上で動作するように設計されたコードを参照できるようにした。2つのプロセッサPU102とSPU110は、データのアクセスの仕方が異なる。PU102は、第1DMAコントローラ106の管理下でシステムメモリ108とキャッシュ104にアクセスする。DMAコントローラ106は、システムメモリ108、キャッシュ104、およびPU102との間でデータを転送するためのロード命令とストア命令を処理する。システムメモリ108との間で移動するデータは、システムバス116上で伝送される。
SPU110は、ロード命令とストア命令によってシステムメモリ108をアクセスすることはない。第2DMAコントローラ114は、データをシステムメモリ108からローカルストア112へ転送し、SPU110はそこからロードしたりストアすることができる。このDMAコントローラ114は、システムバス116を介してシステムメモリ108に接続されている。
本発明の他の実施の形態では、マルチプロセッサ100のアーキテクチャが異なる。ある実施の形態では、マルチプロセッサ100は複数のPU102を含み、全てが一つのシステムメモリを共有する。ある実施の形態では、複数のPU102は一つのキャッシュを共有する。別の実施の形態では、一つ以上のPUのグループがキャッシュを共有する一方、他のPUはキャッシュにアクセスしない。ある実施の形態では、複数のSPUが存在する。ある実施の形態では、SPU100はそれ自身で独立したメモリを有する。
図2は、ELF形式のオブジェクトコードをラッパーに同封する様子を例示する。SPU110ルーチン用のELF形式のオブジェクトコード200は、ELFヘッダ部202と、残りの部分である当該ルーチン用のオブジェクトコード204とを含む。その残りの部分は、プログラムとデータを含む。オブジェクトコード200は、ラッパー(包み込み)210を加えることによって、PU102のオブジェクトであるオブジェクトコード208に変換される。ラッパー210は、SPU110ルーチンと同じ名前をもつPU102オブジェクトのシンボル定義を含んでいる。たとえば、SPU110ルーチンがBAR−SPUであるなら、ラッパー210はPU102オブジェクトであるシンボルBAR−SPUを定義している。オブジェクトコード208もまた、オブジェクトコード200をもち、ELFヘッダ212とその残りの部分であるオブジェクトコード214を含む。シンボルBAR−SPUは、オブジェクトコード208内のオブジェクトコード200へのポインタもしくは参照である。SPUオブジェクトコード200は、一つのSPUオブジェクトBAR−SPU.oであり、ラップされた(包まれた)コード208は、一つのPUオブジェクトBAR−SPU−PU.oである。
ラッピング(包み込み)のプロセスによって、異種混合アーキテクチャからの複数のオブジェクトファイルを統合することが可能になる。SPU110オブジェクトをラッピングすることにより、他の任意のPU102オブジェクトとしてリンクしたり、ロードする目的で扱うことができる一つのPU102オブジェクトが作られる。実行の間、ラップされたSPU110オブジェクトは、正しく処理される。結果的に、ラッピング処理により、PU102オブジェクトとSPU110オブジェクトの統合が可能になる。
たとえば、SPU110オブジェクトBAR−SPUに対するリファレンスを解決するために、リンカーはPU102オブジェクトBAR−SPU−PU.oにリンクする。この方法は、静的および動的リンクと、SPU110オブジェクトのオブジェクト共有をサポートする。同様に、ラッピングにより任意のSPU110のファイルフォーマットをロードすることが可能になる。ラップされたPUオブジェクト208がロードされる。さらに、PU102のランタイム参照がSPU110オブジェクトに対してなされる。このPU102上のランタイム参照は、PU102オブジェクトBAR−SPU−PUに対するものである。
また、ラッピングはPU102オブジェクトの名前空間とSPU110オブジェクトの名前空間の明確な分離を可能にする。PU102上で実行中のコードは、直接的にはSPU110オブジェクトを参照する必要はない。その代わり、SPU110オブジェクトをラップしてPU102オブジェクトを生成し、PU102コードは、ラップされたオブジェクトであるPU102オブジェクトを参照する。その結果はPU102のプログラム参照のための単純なシンボル関連付け(association)でもある。PU102コードが、SPU110オブジェクトへのポインタであるPU102シンボルを参照する。結果的に、PU102オブジェクトとSPU110オブジェクトをあらかじめリンク(pre-linking)して混合する能力が与えられる。最後に、ラッピングプロセスは、静的および動的両方のニーズのためにライブラリをパッケージングするのに好都合である。
図3は、別のプロセッサからの呼び出しの後、あるプロセッサ上でオブジェクトコードを実行する手順を示すフローチャート300である。PU102上で実行中のプログラムFOOがSPU110上で動くルーチンBARを呼び出すと、BARへの呼び出しは、PU102オブジェクトBAR−SPU−PU.oへの呼び出しであると解釈される。ステップ302において、ラップされたコードBAR−SPU−PU.oがPU102上で実行される。その後、ステップ304において、ラップされたコードBAR−SPU−PU.oに含まれるBAR用のSPUオブジェクトコードは、SPU110のローカルストア112にDMA転送される。ステップ306において、SPU110がそのコードを実行し始める。実行が終了すると、ステップ308において、その結果がPU102にDMA転送で戻される。
図4は、SPU110オブジェクトコードを含むラップされたオブジェクトの生成手順を示すフローチャート400である。一例として、SPU110ルーチンは、BARという名前をつけられている。ステップ402において、SPU110オブジェクトファイルBAR−SPU.oがELF形式でBAR用に作成される。このオブジェクトファイルは、プロセッサSPU110と互換性を持つコンパイラまたはアセンブラで作成される。ステップ404において、PU102オブジェクトコードBAR−SPU−PU.oを作成するためにこのコード上にラッパーが配置される。ある実施の形態では、ラッパーを作成するためのシステムツールがマルチプロセッサ100で利用可能である。ステップ406において、システムツールは、ラッパー内でPU102シンボルBAR−SPUを、PU102オブジェクトBAR−SPU−PU.o内に含まれるSPU110オブジェクトBAR−SPU.oへのポインタとして定義する。いったんSPU110ファイルがPU102オブジェクトファイル内に埋め込まれると、それは通常のPU102ファイルとして扱うことができ、ステップ408において、ユーザーはそれを任意のファイルフォーマット、例えば実行可能なダイナミック共用ライブラリやアーカイブ形式などに変換することができる。
以上、好ましい実施の形態を参照して本発明を説明したが、開示された実施形態は例示であり、何ら限定するものではなく、上記の開示内容には幅広いバリエーション、変形、変更、および置換が考えられること、そして、事例によっては、本発明のいくつかの特徴は、他の特徴を使うことなく利用することもできることに留意する。そのような多くのバリエーションや変形は、当業者が好ましい実施の形態についての上記の説明を再考することにより、望ましいものであるとみなされることもある。したがって、添付の請求項は広く、かつ、本発明の範囲から逸脱することなく解釈されることが適当である。
異なったアーキテクチャをもつプロセッサを含むマルチプロセッサのブロック図である。 オブジェクトコードをELFフォーマットでラッパーに同封する様子を例示する図である。 別のプロセッサからの呼び出しの後、あるプロセッサ上でオブジェクトコードを実行する手順を示すフローチャートである。 オブジェクトコードを含むラップされたオブジェクトの生成手順を示すフローチャートである。

Claims (25)

  1. 第1プロセッサと第2プロセッサとを含むマルチプロセッサであって、
    当該マルチプロセッサは、第2プロセッサ上で動作するオブジェクトコードであるOC2コードに対応させて第1プロセッサ上で動作するオブジェクトコードであるOC1コードを生成するように構成されており、前記OC1コードは前記OC2コードへのポインタであるシンボルの定義を含むことを特徴とするマルチプロセッサ。
  2. 当該マルチプロセッサは、前記第2プロセッサ上での前記OC2コードの実行を生じさせるために、前記OC2コードに対応する前記OC1コードを前記第1プロセッサ上で実行するように構成されることを特徴とする請求項1に記載のマルチプロセッサ。
  3. 前記OC2コードに対応する前記OC1コードを生成するように構成されたシステムツールをさらに含むことを特徴とする請求項1に記載のマルチプロセッサ。
  4. DMAコントローラをさらに含み、前記第1プロセッサはシステムメモリを含み、前記第2プロセッサはローカルストアを含み、当該マルチプロセッサは、データが前記第1プロセッサのシステムメモリにロードされ、DMAコントローラによって前記第2プロセッサの前記ローカルストアに転送されることによって、そのデータが前記第2プロセッサに渡されるように構成されることを特徴とする請求項1に記載のマルチプロセッサ。
  5. 前記OC2コードに対応する前記OC1コードは、前記OC2コードをラッパーの形で同封することにより生成されることを特徴とする請求項4に記載のマルチプロセッサ。
  6. 前記OC2コードをラッパーの形で同封することにより前記OC2コードに対応する前記OC1コードを生成するように構成されたシステムツールをさらに含むことを特徴とする請求項5に記載のマルチプロセッサ。
  7. 前記OC2コードに対応して生成された前記OC1コードは、
    シンボルの定義をもつヘッダ部と、前記OC2コードとを含み、
    前記シンボルは前記OC2コードへのポインタであることを特徴とする請求項5に記載のマルチプロセッサ。
  8. マルチプロセッサ上の異種混合アーキテクチャからの複数のオブジェクトファイルを統合するための方法であって、
    第2プロセッサ上で動作するオブジェクトコードであるOC2コードへのポインタをもたせて、第1プロセッサ上で動作するオブジェクトコードであるOC1コードを生成し、前記第1プロセッサ上で前記生成されたOC1コードを実行することにより、前記第2プロセッサ上での前記OC2コードの実行を生じさせることを特徴とする方法。
  9. 前記OC1コードを生成するためにシステムツールが供給されることを特徴とする請求項8に記載の方法。
  10. 前記生成されたOC1コードは前記OC2コードを含むことを特徴とする請求項8に記載の方法。
  11. 前記生成されたOC1コードは、
    シンボルの定義をもつヘッダ部と、前記OC2コードとを含み、
    前記シンボルは前記生成されたOC1コードに含まれた前記OC2コードへのポインタであることを特徴とする請求項10に記載の方法。
  12. 前記第1プロセッサから前記第2プロセッサへオブジェクトコードを実行のために渡すステップをさらに含むことを特徴とする請求項10に記載の方法。
  13. 前記OC1コードによる前記OC2コードへの参照を前記生成されたOC1コードに対する参照として解決するステップをさらに含むことを特徴とする請求項8に記載の方法。
  14. 前記生成されたOC1コードを実行可能なプログラムに変換するステップをさらに含むことを特徴とする請求項8に記載の方法。
  15. 前記生成されたOC1コードをアーカイブに変換するステップをさらに含むことを特徴とする請求項8に記載の方法。
  16. 前記生成されたOC1コードをダイナミック共有ライブラリに変換するステップをさらに含むことを特徴とする請求項8に記載の方法。
  17. マルチプロセッサ上の異種混合アーキテクチャからの複数のオブジェクトファイルを統合するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品はコンピュータプログラムが具体化された媒体を有し、前記コンピュータプログラムは、
    第1プロセッサ上で動作するオブジェクトコードであるOC1コードであって、第2プロセッサ上で動作するオブジェクトコードであるOC2コードへのポインタを含むOC1コードを生成するためのコンピュータコードと、前記第1プロセッサ上で前記生成されたOC1コードを実行することにより、前記第2プロセッサ上での前記OC2コードの実行を生じさせるためのコンピュータコードとを含むことを特徴とするコンピュータプログラム製品。
  18. 前記OC1コードを生成するためにシステムツールが供給されることを特徴とする請求項17に記載のコンピュータプログラム製品。
  19. 前記生成されたOC1コードは前記OC2コードを含むことを特徴とする請求項17に記載のコンピュータプログラム製品。
  20. 前記生成されたOC1コードは、
    シンボルの定義をもつヘッダ部と、
    前記OC2コードとを含み、
    前記シンボルは前記生成されたOC1コードに含まれた前記OC2コードへのポインタであることを特徴とする請求項19に記載のコンピュータプログラム製品。
  21. 前記第1プロセッサから前記第2プロセッサへオブジェクトコードを実行のために渡すためのコンピュータコードをさらに含むことを特徴とする請求項19に記載のコンピュータプログラム製品。
  22. 前記OC1コードによる前記OC2コードへの参照を前記生成されたOC1コードに対する参照として解決するためのコンピュータコードをさらに含むことを特徴とする請求項17に記載のコンピュータプログラム製品。
  23. 前記生成されたOC1コードを実行可能なプログラムに変換するためのコンピュータコードをさらに含むことを特徴とする請求項17に記載のコンピュータプログラム製品。
  24. 前記生成されたOC1コードをアーカイブに変換するためのコンピュータコードをさらに含むことを特徴とする請求項17に記載のコンピュータプログラム製品。
  25. 前記生成されたOC1コードをダイナミック共有ライブラリに変換するためのコンピュータコードをさらに含むことを特徴とする請求項17に記載のコンピュータプログラム製品。
JP2007538925A 2004-10-28 2005-09-23 異種混合アーキテクチャからの複数のオブジェクトファイルを一組のファイルに統合する方法 Expired - Fee Related JP5072599B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/976,264 2004-10-28
US10/976,264 US20060095898A1 (en) 2004-10-28 2004-10-28 Method for integrating multiple object files from heterogeneous architectures into a set of files
PCT/US2005/034460 WO2006049740A2 (en) 2004-10-28 2005-09-23 Method for integrating multiple object files from heterogeneous architectures into a set of files

Publications (3)

Publication Number Publication Date
JP2008518355A true JP2008518355A (ja) 2008-05-29
JP2008518355A5 JP2008518355A5 (ja) 2008-11-20
JP5072599B2 JP5072599B2 (ja) 2012-11-14

Family

ID=36178031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007538925A Expired - Fee Related JP5072599B2 (ja) 2004-10-28 2005-09-23 異種混合アーキテクチャからの複数のオブジェクトファイルを一組のファイルに統合する方法

Country Status (6)

Country Link
US (1) US20060095898A1 (ja)
EP (1) EP1815329A2 (ja)
JP (1) JP5072599B2 (ja)
KR (1) KR100892191B1 (ja)
CN (1) CN101048734A (ja)
WO (1) WO2006049740A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010029812A1 (ja) * 2008-09-09 2010-03-18 日本電気株式会社 マルチコアにおけるプログラミングシステム、その方法及びそのプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644402B1 (en) * 2004-03-17 2010-01-05 Sun Microsystems, Inc. Method for sharing runtime representation of software components across component loaders
US8120610B1 (en) * 2006-03-15 2012-02-21 Adobe Systems Incorporated Methods and apparatus for using aliases to display logic
US8255919B2 (en) * 2007-03-23 2012-08-28 Qualcomm Atheros, Inc. Distributed processing system and method
KR100968774B1 (ko) * 2008-09-18 2010-07-09 고려대학교 산학협력단 다수의 이종 프로세서를 구비하는 멀티 프로세싱 시스템 및그 구동 방법
US20110113409A1 (en) * 2009-11-10 2011-05-12 Rodrick Evans Symbol capabilities support within elf
US9235458B2 (en) 2011-01-06 2016-01-12 International Business Machines Corporation Methods and systems for delegating work objects across a mixed computer environment
US9052968B2 (en) * 2011-01-17 2015-06-09 International Business Machines Corporation Methods and systems for linking objects across a mixed computer environment
US9104504B2 (en) 2013-03-13 2015-08-11 Dell Products Lp Systems and methods for embedded shared libraries in an executable image
US9753710B2 (en) * 2013-11-07 2017-09-05 Netronome Systems, Inc. Resource allocation with hierarchical scope

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03208187A (ja) * 1989-10-12 1991-09-11 Texas Instr Inc <Ti> 拡張グラフィック機能を与える方法
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2272085A (en) * 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
US6029000A (en) * 1997-12-22 2000-02-22 Texas Instruments Incorporated Mobile communication system with cross compiler and cross linker
CA2343437A1 (en) * 2001-04-06 2002-10-06 Ibm Canada Limited-Ibm Canada Limitee Method and system for cross platform, parallel processing
US7143419B2 (en) * 2001-06-06 2006-11-28 Sap Ag Device for running offline applications and synchronizing with a central computer system
US7444632B2 (en) * 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US20060031821A1 (en) * 2004-08-04 2006-02-09 Rutter Budd J Ii Divided compiling program application functionality for software development

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03208187A (ja) * 1989-10-12 1991-09-11 Texas Instr Inc <Ti> 拡張グラフィック機能を与える方法
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010029812A1 (ja) * 2008-09-09 2010-03-18 日本電気株式会社 マルチコアにおけるプログラミングシステム、その方法及びそのプログラム
JP5360506B2 (ja) * 2008-09-09 2013-12-04 日本電気株式会社 マルチコアにおけるプログラミングシステム、その方法及びそのプログラム
US8694975B2 (en) 2008-09-09 2014-04-08 Nec Corporation Programming system in multi-core environment, and method and program of the same

Also Published As

Publication number Publication date
JP5072599B2 (ja) 2012-11-14
WO2006049740A3 (en) 2006-08-10
EP1815329A2 (en) 2007-08-08
CN101048734A (zh) 2007-10-03
US20060095898A1 (en) 2006-05-04
KR20070088624A (ko) 2007-08-29
KR100892191B1 (ko) 2009-04-07
WO2006049740A2 (en) 2006-05-11

Similar Documents

Publication Publication Date Title
JP5072599B2 (ja) 異種混合アーキテクチャからの複数のオブジェクトファイルを一組のファイルに統合する方法
US7877741B2 (en) Method and corresponding apparatus for compiling high-level languages into specific processor architectures
US20010042069A1 (en) Method and apparatus for building a memory image
US9043768B2 (en) System and method for efficient compilation and invocation of function type calls
AU774467B2 (en) Automatic stub/adapter generator
US7856618B2 (en) Adaptively generating code for a computer program
TWI453671B (zh) 用於程式碼轉換期間之本機碼和目標碼的組合執行之方法與裝置
JP2000112772A (ja) 命令セット内の命令に応答してプロセスを実行するデ―タ処理システムおよびその命令処理方法
JP5384551B2 (ja) 非abi準拠機能を初見のインタフェースにわたって実現するための方法及びシステム
WO2007109921A1 (en) Methods and apparatus to implement annotation based thunking
TWI291098B (en) Method and system for data optimization and protection in DSP firmware
US8214815B2 (en) Reducing the run-time cost of invoking a server page
CA2082068A1 (en) System and method for automatically interfacing call conventions between two dissimilar program units
US6550000B1 (en) Processor to execute in parallel plurality of instructions using plurality of functional units, and instruction allocation controller
JP2012516483A (ja) クラスファイル内にネイティブコードを埋め込むことによる仮想メカニズム内でのプラットフォーム依存ルーチンの適用
US6314564B1 (en) Method for resolving arbitrarily complex expressions at link-time
JPH03229352A (ja) プログラム変更方法
US8468511B2 (en) Use of name mangling techniques to encode cross procedure register assignment
US20040064301A1 (en) Software development system, simulator, and recording medium
JP2000122876A (ja) 情報処理装置
JP7324027B2 (ja) プロファイリング方法
WO2006131695A1 (en) Method and apparatus for combined execution of native code and target code during program code conversion
JP2006113935A (ja) ダイナミックリンクライブラリ呼び出しコード生成方法、プログラム、および、装置
Cooper Porting the Vector Pascal compiler to the Playstation 2
JPH113225A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101126

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120821

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees