JPWO2010029812A1 - マルチコアにおけるプログラミングシステム、その方法及びそのプログラム - Google Patents
マルチコアにおけるプログラミングシステム、その方法及びそのプログラム Download PDFInfo
- Publication number
- JPWO2010029812A1 JPWO2010029812A1 JP2010528688A JP2010528688A JPWO2010029812A1 JP WO2010029812 A1 JPWO2010029812 A1 JP WO2010029812A1 JP 2010528688 A JP2010528688 A JP 2010528688A JP 2010528688 A JP2010528688 A JP 2010528688A JP WO2010029812 A1 JPWO2010029812 A1 JP WO2010029812A1
- Authority
- JP
- Japan
- Prior art keywords
- processor
- parameter information
- linker
- processors
- arithmetic processing
- 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
Links
- 238000000034 method Methods 0.000 title claims description 29
- 230000006870 function Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 241000255925 Diptera Species 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
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/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- 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/54—Link editing before load time
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
本発明の第1の実施形態の概略を説明する。本実施形態に係るマルチコアにおけるプログラミングシステムは、複数のプログラマブルコアそれぞれが個別のプログラミングモデルを有している環境でマルチコアシステムのソフトウェア開発を行う場合の開発環境を提供するものである。
次に、本発明の他の実施形態として第2の実施形態を示す。
次に、本発明の他の実施形態として第3の実施形態を示す。
110、601 第1のコンパイラ
120、602 第1のリンカ
130 パラメータ情報ファイル生成部
131 リンカテーブル情報取得部
132 テーブル変換部
133 ファイル生成部
134 レジスタ・メモリマップ取得部
200 第2のプロセッサ
210、607 第2のコンパイラ
220、608 第2のリンカ
300 共有メモリ
310 第3のコンパイラ
320 第3のリンカ
400 メモリマップドI/O IF
500、600 第1のコード記述
501、603 第1の実行ファイル
502 パラメータ情報ファイル
503、606 第2のコード記述
504、609 第2の実行ファイル
505 第1のパラメータ情報ファイル
506 第2のパラメータ情報ファイル
507 第3のコード記述
508 第3の実行ファイル
604 第1のコード参照
605 パラメータ情報ファイル記述
Claims (15)
- 複数のプロセッサが相互に接続される演算処理システムが備える第1のプロセッサ向けのプログラムコードから1以上のオブジェクトコードを生成する第1のコンパイラと、
前記第1のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第1のプロセッサ向けの実行ファイルを生成する第1のリンカと、
前記第1のリンカから得られる情報に基づいて、前記演算処理システムが備える第2のプロセッサが使用するパラメータ情報を生成するパラメータ情報生成手段と、
前記第2のプロセッサ向けのプログラムコードと前記パラメータ情報を参照して、1以上のオブジェクトコードを生成する第2のコンパイラと、
前記第2のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第2のプロセッサ向けの実行ファイルを生成する第2のリンカと、
を備えることを特徴とするプログラミングシステム。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報を元に前記第2のプロセッサで使用可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項1に記載のプログラミングシステム。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項1に記載のプログラミングシステム。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報と、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報と、を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項1に記載のプログラミングシステム。 - 前記演算処理システムがプロセッサをN(Nは3以上の自然数)個以上有しており、
前記パラメータ情報生成手段は、前記N個以上のプロセッサに対するツールフローのうちN−1個のツールフローにおいて、それぞれ用いられることを特徴とする請求項1乃至4の何れか1項に記載のプログラミングシステム。 - 第1のコンパイラが、複数のプロセッサが相互に接続される演算処理システムが備える第1のプロセッサ向けのプログラムコードから1以上のオブジェクトコードを生成する第1のステップと、
第1のリンカが、前記第1のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第1のプロセッサ向けの実行ファイルを生成する第2のステップと、
前記第1のリンカから得られる情報に基づいて、前記演算処理システムが備える第2のプロセッサが使用するパラメータ情報を生成するパラメータ情報生成ステップと、
第2のコンパイラが、前記第2のプロセッサ向けのプログラムコードと前記パラメータ情報を参照して、1以上のオブジェクトコードを生成する第3のステップと、
第2のリンカが、前記第2のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第2のプロセッサ向けの実行ファイルを生成する第4のステップと、
を備えることを特徴とするプログラミング方法。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成ステップにおいて、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報を元に前記第2のプロセッサで使用可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項6に記載のプログラミング方法。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成ステップにおいて、前記パラメータ情報として、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項6に記載のプログラミング方法。 - 前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成ステップにおいて、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報と、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報と、を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とする請求項6に記載のプログラミング方法。 - 前記演算処理システムがプロセッサをN(Nは3以上の自然数)個以上有しており、
前記パラメータ情報生成ステップは、前記N個以上のプロセッサに対するツールフローのうちN−1個のツールフローにおいて、それぞれ用いられることを特徴とする請求項6乃至9の何れか1項に記載のプログラミング方法。 - 複数のプロセッサが相互に接続される演算処理システムが備える第1のプロセッサ向けのプログラムコードから1以上のオブジェクトコードを生成する第1のコンパイラと、
前記第1のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第1のプロセッサ向けの実行ファイルを生成する第1のリンカと、
前記第1のリンカから得られる情報に基づいて、前記演算処理システムが備える第2のプロセッサが使用するパラメータ情報を生成するパラメータ情報生成手段と、
前記第2のプロセッサ向けのプログラムコードと前記パラメータ情報を参照して、1以上のオブジェクトコードを生成する第2のコンパイラと、
前記第2のコンパイラが生成した1以上のオブジェクトコードをリンクして前記第2のプロセッサ向けの実行ファイルを生成する第2のリンカと、
としてコンピュータを機能させることを特徴とするプログラミング用プログラム。 - 請求項11に記載のプログラミング用プログラムにおいて、
前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報を元に前記第2のプロセッサで使用可能なパラメータを定義したヘッダファイルを生成することを特徴とするプログラミング用プログラム。 - 請求項11に記載のプログラミング用プログラムにおいて、
前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とするプログラミング用プログラム。 - 請求項11に記載のプログラミング用プログラムにおいて、
前記演算処理システムにおける前記複数のプロセッサの接続は、メモリマップドI/O方式に準拠したものであり、
前記パラメータ情報生成手段は、前記パラメータ情報として、前記第1のリンカから得られた各関数がマッピングされたアドレス情報と、前記第1のプロセッサのレジスタ及びデータメモリのアドレスマップの情報と、を元に前記第2のプロセッサから前記第1のプロセッサにアクセス可能なパラメータを定義したヘッダファイルを生成することを特徴とするプログラミング用プログラム。 - 請求項11乃至14の何れか1項に記載のプログラミング用プログラムにおいて、
前記演算処理システムがプロセッサをN(Nは3以上の自然数)個以上有しており、
前記パラメータ情報生成手段は、前記N個以上のプロセッサに対するツールフローのうちN−1個のツールフローにおいて、それぞれ用いられることを特徴とするプログラミング用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010528688A JP5360506B2 (ja) | 2008-09-09 | 2009-07-23 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008231080 | 2008-09-09 | ||
JP2008231080 | 2008-09-09 | ||
PCT/JP2009/063217 WO2010029812A1 (ja) | 2008-09-09 | 2009-07-23 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
JP2010528688A JP5360506B2 (ja) | 2008-09-09 | 2009-07-23 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2010029812A1 true JPWO2010029812A1 (ja) | 2012-02-02 |
JP5360506B2 JP5360506B2 (ja) | 2013-12-04 |
Family
ID=42005073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010528688A Expired - Fee Related JP5360506B2 (ja) | 2008-09-09 | 2009-07-23 | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8694975B2 (ja) |
EP (1) | EP2336883B1 (ja) |
JP (1) | JP5360506B2 (ja) |
WO (1) | WO2010029812A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430596B2 (en) * | 2011-06-14 | 2016-08-30 | Montana Systems Inc. | System, method and apparatus for a scalable parallel processor |
DE102013222061A1 (de) | 2013-03-25 | 2014-09-25 | Continental Teves Ag & Co. Ohg | Verfahren zum Betrieb einer Bremsanlage für Kraftfahrzeuge |
CN104346150B (zh) * | 2013-07-30 | 2017-10-17 | 华为技术有限公司 | 多实例业务的可执行文件的生成方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63163530A (ja) * | 1986-12-25 | 1988-07-07 | Nec Corp | プログラムリンク装置 |
US5247678A (en) * | 1989-10-12 | 1993-09-21 | Texas Instruments Incorporated | Load time linker for software used with a multiprocessor system |
US5201055A (en) * | 1989-11-03 | 1993-04-06 | Compaq Computer Corporation | Multiprocessing system includes interprocessor encoding and decoding logic used for communication between two cards through reduced addressing lines |
JPH08241216A (ja) * | 1995-01-06 | 1996-09-17 | Mitsubishi Electric Corp | 計算機システム |
JPH08286896A (ja) * | 1995-04-14 | 1996-11-01 | Mitsubishi Electric Corp | ソフトウェア開発方法及びソフトウェア開発システム |
JP4133107B2 (ja) * | 2002-08-19 | 2008-08-13 | 富士通株式会社 | ロードモジュール生成方法、ロードモジュール生成プログラムおよびロードモジュール生成装置 |
US7073159B2 (en) * | 2004-03-31 | 2006-07-04 | Intel Corporation | Constraints-directed compilation for heterogeneous reconfigurable architectures |
US7503040B2 (en) * | 2004-09-30 | 2009-03-10 | International Business Machines Corporation | Configuring a shared library to accommodate relocatable data in a pervasive device |
US20060095898A1 (en) * | 2004-10-28 | 2006-05-04 | International Business Machines Corporation | Method for integrating multiple object files from heterogeneous architectures into a set of files |
JP2006260096A (ja) * | 2005-03-16 | 2006-09-28 | Matsushita Electric Ind Co Ltd | プログラム変換方法およびプログラム変換装置 |
JP4814617B2 (ja) * | 2005-11-01 | 2011-11-16 | 株式会社日立製作所 | ストレージシステム |
JP4784827B2 (ja) | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
JP2007334643A (ja) * | 2006-06-15 | 2007-12-27 | Renesas Technology Corp | プログラム実行方法、プログラム、およびプログラム実行システム |
JP2008231080A (ja) | 2007-03-23 | 2008-10-02 | Univ Of Tokushima | 脂肪細胞からのレプチン分泌促進剤 |
-
2009
- 2009-07-23 JP JP2010528688A patent/JP5360506B2/ja not_active Expired - Fee Related
- 2009-07-23 EP EP09812960.4A patent/EP2336883B1/en not_active Not-in-force
- 2009-07-23 US US13/062,761 patent/US8694975B2/en not_active Expired - Fee Related
- 2009-07-23 WO PCT/JP2009/063217 patent/WO2010029812A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2336883B1 (en) | 2018-03-07 |
EP2336883A1 (en) | 2011-06-22 |
WO2010029812A1 (ja) | 2010-03-18 |
EP2336883A4 (en) | 2013-02-27 |
US8694975B2 (en) | 2014-04-08 |
JP5360506B2 (ja) | 2013-12-04 |
US20110167417A1 (en) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6525286B2 (ja) | プロセッサコア及びプロセッサシステム | |
JP4635082B2 (ja) | マルチプロセッサシステム及びグルーピング方法 | |
Grandpierre et al. | From algorithm and architecture specifications to automatic generation of distributed real-time executives: a seamless flow of graphs transformations | |
EP1881405B1 (en) | Global compiler for controlling heterogeneous multiprocessor | |
CN101799760B (zh) | 生成任意目标架构的并行单指令多数据代码的系统和方法 | |
US7877741B2 (en) | Method and corresponding apparatus for compiling high-level languages into specific processor architectures | |
JP2006146953A (ja) | プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体 | |
JP4965995B2 (ja) | プログラム処理方法、処理プログラム及び情報処理装置 | |
US20030041312A1 (en) | Program processing method utilizing dynamically reconfigurable hardware to enable faster processing, and program to execute same processing method | |
US8266416B2 (en) | Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system | |
JP5360506B2 (ja) | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム | |
JP5576605B2 (ja) | プログラム変換装置およびプログラム変換方法 | |
JP2008305337A (ja) | プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム | |
JP2005129001A (ja) | プログラム実行装置、マイクロプロセッサ及びプログラム実行方法 | |
JP2007080049A (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
Bernard et al. | On the compilation of a language for general concurrent target architectures | |
JP2008204341A (ja) | インタフェース合成装置 | |
JP2008204023A (ja) | プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法 | |
JP2018163381A (ja) | コード生成装置、コード生成方法及びコード生成プログラム | |
JP2013127703A (ja) | ロードモジュール生成方法及びロードモジュール生成プログラム | |
JP2009064207A (ja) | コンパイル装置 | |
De Laender et al. | ZyPy: Intercepting NumPy operations for acceleration on FPGAs | |
Cattaneo et al. | Explicitly isolating data and computation in high level synthesis: the role of polyhedral framework | |
JP2006146731A (ja) | プログラム、記憶媒体、アセンブラ装置、コンパイラ装置、シミュレータ装置及びエミュレータ装置 | |
KR100293932B1 (ko) | 소프트웨어 코드인 이미지의 후처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120605 |
|
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: 20130808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130821 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5360506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |