JP2010146577A

Process for converting program in high-level programming language into unified executable element in hybrid computing platform

Abstract

Problem to be solved.To compile computer code written in conformity with a high-level language standard in order to generate unified executable elements including support code related to execution management on a hybrid hardware platform. Providing a method. At the compilation stage, a higher level driver translates the generated CFC representation into a hybrid control flow data flow graph representation that represents optimized pipeline logic that can be processed into hardware descriptive representations. The driver generates the netlist file needed to generate a bitstream for a reconfigurable computer. Support for combining all necessary components with each other to obtain output from the compile driver and generate a unified executable that can be run on both the instruction processor and the reconfigurable processor. give. [Selection diagram] Fig. 1

JP2010146577A, drawing sheet 1
Sheet 1 of 71

Term

3.3 yearsto projected expiry

Projected expiry 28 December 2029, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

22 claims: 6 independent, 16 dependent

  1. 1
    高級言語ソースコードを統一された実行可能要素に変換する方法であって、 当該高級言語ソースコードの再構成可能なハードウェア部分からオブジェクトファイルを生成するステップと、 当該オブジェクトファイルを当該統一された実行可能要素に統合するステップとを含む、方法。
  2. 2
    前記方法は、当該高級言語ソースコードを制御フローグラフ表現に変換するステップを含む、請求項1に記載の方法。
  3. 3
    前記方法は、当該制御フローグラフ表現を制御データフローグラフ表現に変換するステップを含む、請求項2に記載の方法。
  4. 4
    前記方法は、当該制御フローデータグラフを、命令プロセッサ部分および当該再構成可能なハードウェア部分に区分化するステップを含む、請求項3に記載の方法。
  5. 5
    前記方法は、当該再構成可能なハードウェア部分をハードウェア定義言語ファイルに変換するステップを含む、請求項1に記載の方法。
  6. 6
    前記方法は、当該ハードウェア定義言語ファイルを再構成可能なハードウェアビットストリームファイルに変換するステップを含む、請求項5に記載の方法。
  7. 7
    前記方法は、当該再構成可能なハードウェアビットストリームファイルを当該オブジェクトファイルに変換するステップを含む、請求項6に記載の方法。
  8. 8
    統一された実行可能要素を形成する方法であって、 高級言語ソースコードを制御フローグラフ表現に変換するステップと、 当該制御フローグラフ表現を制御データフローグラフ表現に変換するステップと、 当該制御データフローグラフを、命令プロセッサ部分および再構成可能なハードウェア部分に区分化するステップと、 当該制御データフローグラフの当該再構成可能なハードウェア部分をハードウェア定義言語部分に、および当該命令プロセッサ部分を命令プロセッサオブジェクトファイルに変換するステップと、 当該ハードウェア定義言語部分を再構成可能なハードウェアビットストリームに変換するステップと、 当該再構成可能なハードウェアビットストリームを、命令プロセッサが読取ることのできるビデオストリームオブジェクトファイルに変換するステップと、 当該統一された実行可能要素を形成するために、当該ビットストリームオブジェクトファイルを当該命令プロセッサオブジェクトファイルに統合するステップとを含む、方法。
  9. 9
    統一された実行可能要素を形成するためのシステムであって、 制御データフローグラフデータを、再構成可能なハードウェア部分および命令プロセッサ部分に区分化するための区分化部を含む、システム。
  10. 10
    前記システムは、高級言語を制御フローグラフ表現に変換するための高級言語コンバータを含む、請求項9に記載のシステム。
  11. 11
    前記システムは、当該制御フローグラフ表現を当該制御データフローグラフデータに変換するための制御データフローグラフコンバータへの制御フローグラフを含む、請求項10に記載のシステム。
  12. 12
    前記システムは、当該制御データフローグラフデータの当該再構成可能なハードウェア部分をハードウェア定義言語ファイルに変換するためのハードウェア定義言語コンバータへの制御データフローグラフを含む、請求項9に記載のシステム。
  13. 13
    前記システムは、当該ハードウェア定義言語ファイルをビットストリームファイルに変換するためのビットストリームコンバータへのハードウェア定義言語を含む、請求項12に記載のシステム。
  14. 14
    前記システムは、当該ビットストリームファイルをビットストリームオブジェクトファイルに変換するためのオブジェクトファイルコンバータへのビットストリームを含む、請求項13に記載のシステム。
  15. 15
    前記システムは、当該ビットストリームオブジェクトファイルを当該統一された実行可能要素に統合するためのリンカを含む、請求項14に記載のシステム。
  16. 16
    前記システムはサポートハードウェアロジックモジュールを含む、請求項9に記載のシステム。
  17. 17
    前記システムはユーザハードウェアロジックモジュールを含む、請求項9に記載のシステム。
  18. 18
    前記システムはランタイムライブラリを含む、請求項9に記載のシステム。
  19. 19
    前記システムは、命令プロセッサおよび再構成可能なハードウェアを含むハイブリッドコンピュータを含む、請求項9に記載のシステム。
  20. 20
    前記再構成可能なハードウェアは、多重適応プロセッサ(MAP)を含む、請求項19に記載のシステム。
  21. 21
    ハイブリッドで再構成可能なハードウェア命令プロセッサコンピュータで実行することのできる統一された実行可能要素を形成するためのシステムであって、前記システムは、 高級言語を制御フローグラフ表現に変換するための高級言語コンバータと、 当該制御フローグラフ表現を制御データフローグラフ表現に変換するための制御データフローグラフコンバータへの制御フローグラフと、 当該制御データフローグラフ表現を、再構成可能なハードウェア部分および命令プロセッサ部分に区分化するための区分化部と、 当該制御データフローグラフ表現の当該再構成可能なハードウェア部分を、ハードウェア定義言語ファイルに変換するためのハードウェア定義言語コンバータへの制御データフローグラフと、 当該ハードウェア定義言語ファイルをビットストリームに変換するためのビットストリームコンバータへのハードウェア定義言語と、 当該ビットストリームファイルをビットストリームオブジェクトファイルに変換するためのオブジェクトファイルコンバータへのビットストリームと、 当該ビットストリームオブジェクトファイルを当該統一された実行可能要素に統合するためのリンカとを含む、システム。
  22. 22
    統一された実行可能要素の形成を引き起こすために中に実現されたコンピュータ読取可能プログラムコードを有するコンピュータ使用可能媒体を含み、当該コンピュータ読取可能プログラムコードは、 コンピュータに、高級言語ソースコードを制御フローグラフ表現に変換させるためのコンピュータ読取可能プログラムコードと、 当該コンピュータに、当該制御フローグラフを制御データフローグラフに変換させるためのコンピュータ読取可能プログラムコードと、 当該コンピュータに、当該制御データフローグラフを命令プロセッサ部分および再構成可能なハードウェア部分に区分化させるためのコンピュータ読取可能プログラムコードと、 当該コンピュータに、当該制御データフローグラフの当該再構成可能なハードウェア部分をハードウェア定義言語部分に、および当該命令プロセッサ部分を命令プロセッサオブジェクトファイルに変換させるためのコンピュータ読取可能プログラムコードと、 当該コンピュータに、当該ハードウェア定義言語部分を再構成可能なハードウェアビットストリームに変換させるためのコンピュータ読取可能プログラムコードと、 当該コンピュータに、当該再構成可能なハードウェアビットストリームを命令プロセッサが読取ることのできるビットストリームオブジェクトファイルに変換させるためのコンピュータ読取可能プログラムコードと、 当該統一された実行可能要素を形成するために、当該コンピュータに、当該ビットストリームオブジェクトファイルを当該命令プロセッサオブジェクトファイルに統合させるためのコンピュータ読取可能プログラムコードとを含む、コンピュータプログラム製品。
Independent claims22