JP2013161484A - 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 - Google Patents

再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 Download PDF

Info

Publication number
JP2013161484A
JP2013161484A JP2013022500A JP2013022500A JP2013161484A JP 2013161484 A JP2013161484 A JP 2013161484A JP 2013022500 A JP2013022500 A JP 2013022500A JP 2013022500 A JP2013022500 A JP 2013022500A JP 2013161484 A JP2013161484 A JP 2013161484A
Authority
JP
Japan
Prior art keywords
memory
mode
debugging
instruction
trace data
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.)
Withdrawn
Application number
JP2013022500A
Other languages
English (en)
Inventor
Jin Sae Jung
鎭 世 丁
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013161484A publication Critical patent/JP2013161484A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2268Logging of test results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Advance Control (AREA)

Abstract

【課題】 再構成可能コンピューティング装置のデバッギング用のトレースデータ処理技術を提供する。
【解決手段】 発明の第1の態様によれば、再構成可能コンピューティング装置の第1メモリ制御器は、前記再構成可能コンピューティング装置のプロセッサがループ演算と関連した第1インストラクションを実行する第1モードで、再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を第1メモリから読み出し、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する、ように制御する。
【選択図】 図3

Description

本発明は、再構成可能コンピューティング技術に係り、特に、再構成可能コンピューティング装置のデバッギング用のトレースデータを処理する技術に関する。
再構成可能アーキテクチャーは、演算を行うコンピューティング装置のハードウェア的な構成をソフトウェア的に変更して再構成する技術であって、演算速度が速いハードウェアの長所と演算の多様性に優れたソフトウェアの長所とを組み合わせることができ、最近多くの注目を浴びている。
特に、再構成可能アーキテクチャーは、同一の演算が反復的に行われるループ演算時に、優れた性能を発揮する。一方、再構成可能アーキテクチャーは、1つの演算の実行を開始した後に次の演算の実行を重複することによって高速処理が可能なパイプライン技術と結合した時、さらに優れた性能を発揮する。
本発明者は、再構成可能コンピューティング装置で実行されるプログラムのデバッギング用のトレースデータの効率的なメモリ活用技術についての研究を行った。
本発明は、再構成可能コンピューティング装置で実行されるアプリケーションのデバッギング用のトレースデータの効率的なメモリ活用技術を提供することである。
発明の第1の態様によれば、再構成可能コンピューティング装置の第1メモリ制御器は、前記再構成可能コンピューティング装置のプロセッサがループ演算と関連した第1インストラクションを実行する第1モードで、再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を第1メモリから読み出し、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する、ように制御する。
発明の第2の態様によれば、再構成可能コンピューティング装置の第2メモリ制御器は、前記再構成可能コンピューティング装置のプロセッサによってループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードで、複数の並列処理可能な前記第2インストラクションを含むインストラクションワードを、第2メモリにフェッチし、デバッギング用のトレースデータを、再構成部内のプロセッシングエレメント間の連結経路を構成するために構成情報を保存する第1メモリに保存する、ように制御する。
発明の第3の態様によれば、デバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御するプロセッサと、前記第1モードまたは第2モードによって、互いに排他的に発生する第1インストラクションまたは第2インストラクションを実行するよう構成される複数のプロセッシングエレメントを有する再構成部と、前記再構成部のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリと、複数の並列処理可能な前記第2インストラクションを含むインストラクションワードがフェッチされる第2メモリと、第1の態様に記載の第1メモリ制御器と、第2の態様に記載の第2メモリ制御器と、を含む。
発明の第4の態様によれば、再構成可能コンピューティング装置のデバッギング用のトレースデータを処理する方法は、第1インストラクションを実行する第1モードで、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する段階と、前記第2インストラクションを実行する第2モードで、再構成可能コンピューティング装置の再構成部内のプロセッシングエレメント間の連結経路を構成するために構成情報を保存する第1メモリにデバッギング用のトレースデータを保存する段階と、を含む。
したがって、デバッギング用のトレースデータを保存するための別途のメモリ追加なしに、再構成可能コンピューティング装置の再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリと、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリとを活用して、デバッギング用のトレースデータを効率的に保存することができて、再構成可能コンピューティング装置の製作コストの節減及び小型化に有利である。
本発明による再構成可能コンピューティング装置の第1メモリ制御器の一実施形態の構成を示すブロック図である。 本発明による再構成可能コンピューティング装置の第2メモリ制御器の一実施形態の構成を示すブロック図である。 本発明によるデバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置の一実施形態の構成を示すブロック図である。 本発明によるデバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置のデバッギング用のトレースデータ処理動作の一例を示すフローチャートである。
以下、添付した図面を参照して記述される実施形態を通じて、発明を当業者が容易に理解し、再現できるように詳しく記述する。
発明を説明するに当って、関連した公知機能または構成についての具体的な説明が、発明の実施形態の要旨を不明にする恐れがあると判断される場合には、その詳細な説明を省略する。
明細書の全般に亘って使われる用語は、発明の実施形態での機能を考慮して定義された用語であって、ユーザまたは運用者の意図、慣例などによって十分に変形されうる事項であるので、この用語の定義は、明細書の全般に亘った内容に基づいて下されなければならない。
図1は、本発明による再構成可能コンピューティング装置の第1メモリ制御器の一実施形態の構成を示すブロック図である。本実施形態による再構成可能コンピューティング装置の第1メモリ制御器100は、プロセッサ10によってループ演算と関連した第1インストラクションを実行する第1モードにおいて、図3に示した再構成部20内のプロセッシングエレメント21間の連結経路を構成するために、第1メモリ30に格納された構成情報を読み出し、デバッギング用のトレースデータを第2メモリ40に保存するように制御する。第2メモリ40からは、プロセッサ10によって第2インストラクションが実行される第2モードのとき、ループ演算以外の一般演算と関連した複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる。そして、第1メモリ制御器100は、第2メモリ40に保存されたデバッギング用のトレースデータをデバッギング装置50へ出力する。
図1に示したように、再構成可能コンピューティング装置の第1メモリ制御器100は、モード判断部110と、第1メモリ接続部120と、第2メモリ接続部130とを含みうる。
モード判断部110は、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
プロセッサ10は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御し、これにより、第1モードでは、第1インストラクションが発生し、第2モードでは、第2インストラクションが発生する。
モード判断部110は、プロセッサ10から第1インストラクションが発生したか、または第2インストラクションが発生したかを検出することによって、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
第1メモリ接続部120は、モード判断部110によって第1モードと判断された場合、活性化され、第1メモリ30にアクセスして再構成部20内のプロセッシングエレメント21間の連結経路を構成するために構成情報を読み出す。一方、第1メモリ接続部120は、モード判断部110によって第2モードと判断された場合、非活性化される。
第1メモリ30に保存された構成情報に基づいて、再構成部20内のプロセッシングエレメント21間の連結経路が再構成されて、ループ演算と関連した第1インストラクションが実行される。
第2メモリ接続部130は、モード判断部110によって第1モードと判断された場合、活性化されて、第2メモリ40にアクセスしてデバッギング用のトレースデータを保存する。一方、第2メモリ接続部130は、モード判断部110によって第2モードと判断された場合、非活性化される。
第2メモリ40に保存されるデバッギング用のトレースデータは、アプリケーションの遂行によって発生する演算結果値またはメモリアクセス情報などのアプリケーションのデバッギングのために使われる情報であって、デバッギング装置50を通じてプログラム開発者などに提供されて、アプリケーションのデバッギングがなされる。
付加的な態様によれば、再構成可能コンピューティング装置の第1メモリ制御器100は、データ出力部140をさらに含みうる。データ出力部140は、デバッギング装置50によって選択されるデバッギング用のトレースデータを第2メモリ40から選択して、デバッギング装置50に出力する。
例えば、プログラム開発者が開発したアプリケーションが実行されて、第2メモリ40に当該アプリケーションのデバッギング用のトレースデータが保存された場合や、プログラム開発者がデータ出力部140にデバッギング装置50を連結し、デバッギング用のトレースデータを要請した場合に、データ出力部140は、デバッギング装置50に第2メモリ40に保存されたデバッギング用のトレースデータを出力する。
この際、デバッギング用のトレースデータのサイズが大きい場合、デバッギング装置50にサイズが大きなデバッギング用のトレースデータを全て出力することは、ハードウェアまたはソフトウェア資源を浪費する恐れがあって、非効率的である。したがって、デバッギング装置50を通じて選択されたデバッギング用のトレースデータのみデータ出力部140が選択的に第2メモリ40から選択して、デバッギング装置50に出力するようにすることもできる。
図2は、本発明による再構成可能コンピューティング装置の第2メモリ制御器の一実施形態の構成を示すブロック図である。本実施形態による再構成可能コンピューティング装置の第2メモリ制御器200は、プロセッサ10がループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードにおいて、複数の並列処理可能な第2インストラクションを含むインストラクションワードが、第2メモリ40にフェッチし、デバッギング用のトレースデータを、図3に示した再構成部20内のプロセッシングエレメント21間の連結経路を構成するための構成情報を保存する第1メモリ30に保存するように制御する。
図2に示したように、再構成可能コンピューティング装置の第2メモリ制御器200は、モード判断部210と、第2メモリ接続部220と、第1メモリ接続部230とを含みうる。
モード判断部210は、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
プロセッサ10は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御し、これにより、第1モードでは、第1インストラクションが発生し、第2モードでは、第2インストラクションが発生する。
モード判断部210は、プロセッサ10から第1インストラクションが発生したか、または第2インストラクションが発生したかを検出することによって、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
第2メモリ接続部220は、モード判断部210によって第2モードと判断された場合、活性化されて、複数の並列処理可能な第2インストラクションを含むインストラクションワードをフェッチするために、第2メモリ40にアクセスする。一方、第2メモリ接続部220は、モード判断部210によって第1モードと判断された場合、非活性化される。
第2メモリ40にフェッチされたインストラクションワードに基づいて、並列処理可能な第2インストラクションを再構成部20のプロセッシングエレメント21が並列処理して実行する。
第1メモリ接続部230は、モード判断部210によって第2モードと判断された場合、活性化されて、デバッギング用のトレースデータを保存するために、第1メモリ30にアクセスする。一方、第1メモリ接続部230は、モード判断部210によって第1モードと判断された場合、非活性化される。
第1メモリ30に保存されるデバッギング用のトレースデータは、アプリケーションの遂行によって発生する演算結果値またはメモリアクセス情報などのアプリケーションのデバッギングのために使われる情報であって、デバッギング装置50を通じてプログラム開発者などに提供されて、当該アプリケーションのデバッギングがなされる。
付加的な態様によれば、再構成可能コンピューティング装置の第2メモリ制御器200は、データ出力部240をさらに含みうる。データ出力部240は、デバッギング装置50によって選択されるデバッギング用のトレースデータを第1メモリ30から選択して、デバッギング装置50に出力する。
例えば、プログラム開発者が開発したアプリケーションが実行されて、第1メモリ30に当該アプリケーションのデバッギング用のトレースデータが保存された場合や、プログラム開発者がデータ出力部240にデバッギング装置50を連結し、デバッギング用のトレースデータを要請した場合に、データ出力部240が、デバッギング装置50に第1メモリ30に保存されたデバッギング用のトレースデータを出力する。
この際、デバッギング用のトレースデータのサイズが大きい場合、デバッギング装置50にサイズが大きなデバッギング用のトレースデータを全て出力することは、ハードウェアまたはソフトウェア資源を浪費する恐れがあって、非効率的である。したがって、デバッギング装置50を通じて選択されたデバッギング用のトレースデータのみデータ出力部240が選択的に第1メモリ30から選択して、デバッギング装置50に出力するようにすることもできる。
図3を参照して、図1に示した第2メモリ制御器100及び図2に示した第2メモリ制御器200の各構成要素、及びこれらの結合関係を詳しく説明する。図3は、本発明によるデバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置の一実施形態の構成を示すブロック図である。
本実施形態によるデバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置は、プロセッサ10と、再構成部20と、第1メモリ30と、第2メモリ40と、第1メモリ制御器100と、第2メモリ制御器200とを含む。
プロセッサ10は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御し、プロセッサ10は、プロセッサコア11と、中央レジスタファイル12とを含む。
プロセッサコア11は、ループ演算と関連した第1インストラクションは第1メモリ30に保存された構成情報に基づいて連結される再構成部20のプロセッシングエレメント21を通じて加速して実行する。
一方、プロセッサコア11は、ループ演算以外の一般演算と関連した複数の並列処理可能な第2インストラクションを含むインストラクションワードを第2メモリ40にフェッチして、再構成部20のプロセッシングエレメント21を通じて並列処理する。
中央レジスタファイル12は、再構成部20のプロセッシングエレメント21によって実行される第1インストラクション及び第2インストラクション実行に必要な各種のデータと、第1インストラクション及び第2インストラクション実行の結果とを保存する。
プロセッサ10は、高級言語で作成されたアプリケーションが実行されれば、これをコンパイルし、コンパイルされた命令をスケジューリングして、再構成部20のプロセッシングエレメント21間のデータ経路を構成するための構成情報を生成し、これを第1メモリ30に保存する。
再構成部20は、第1モードまたは第2モードにおいて互いに排他的に発生する第1インストラクションまたは第2インストラクションを実行するために接続経路を介して互いに接続される複数のプロセッシングエレメント21を含む。第1モードでは、再構成部20は、第1メモリ30に保存された構成情報に基づいてプロセッシングエレメント21間のデータ経路を再構成する。
例えば、再構成部20は、CGA(Coarse Grained Array)であり得る。CGAは、計算ユニット(FU:Function Unit)とローカルレジスタファイル(LRF:Local Register File)の対からなる複数のプロセッシングエレメントとからなり、例外として、中央レジスタファイル12と連結されるプロセッシングエレメントは、計算ユニット(FU)のみ含む。
第1メモリ30は、再構成部20内のプロセッシングエレメント21間の連結経路を構成するための構成情報を保存する。この第1メモリ30に保存された構成情報に基づいて、再構成部20のプロセッシングエレメント21のデータ経路が再構成される。
第2メモリ40は、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる。この第2メモリ40にフェッチされたインストラクションワードに基づいて、並列処理可能な第2インストラクションを再構成部20のプロセッシングエレメント21が並列処理して実行する。
第1メモリ制御器100は、プロセッサ10によってループ演算と関連した第1インストラクションを実行する第1モードにおいて、再構成部20内のプロセッシングエレメント21間の連結経路を構成するための構成情報を第1メモリ30から読み出し、デバッギング用のトレースデータを、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリ40に保存するように制御する。
第2メモリ制御器200は、プロセッサ10によってループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードにおいて、複数の並列処理可能な第2インストラクションを含むインストラクションワードを第2メモリ40にフェッチし、デバッギング用のトレースデータを、再構成部20内のプロセッシングエレメント21間の連結経路を構成するための構成情報を保存する第1メモリ30に保存するように制御する。
デバッギング用のトレースデータは、アプリケーションの遂行によって発生する演算結果値またはメモリアクセス情報などのアプリケーションのデバッギングのために使われる情報であって、デバッギング装置50を通じてプログラム開発者などに提供される情報である。
デバッギング用のトレースデータを保存するための別途のメモリを追加する場合、再構成可能コンピューティング装置の製作コストが上昇し、サイズも大きくなってしまう。本実施形態によるデバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置は、第1モードと第2モードとが同時に実行されず、互いに排他的に実行される特性を用いて、再構成可能コンピューティング装置の製作コストの節減及び小型化のために、別途のメモリを追加なしに、デバッギング用のトレースデータを効率的に保存する。
ループ演算と関連した第1インストラクションを実行する第1モードとループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードは、互いに排他的に実行されるので、第1モード実行中には使われない第2メモリ40に第1メモリ制御器100を通じてアクセスして、デバッギング用のトレースデータを保存し、第2モード実行中には使われない第1メモリ30に第2メモリ制御器200を通じてアクセスして、デバッギング用のトレースデータを保存する。
これにより、デバッギング用のトレースデータを保存するための別途のメモリ追加なしに、再構成可能コンピューティング装置の再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリ30と、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリ40とを活用して、デバッギング用のトレースデータを効率的に保存することができて、再構成可能コンピューティング装置の製作コストの節減及び小型化が可能となる。
一方、付加的な態様によれば、デバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置の第1メモリ制御器100が、モード判断部110と、第1メモリ接続部120と、第2メモリ接続部130とを含みうる。
モード判断部110は、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
プロセッサ10は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御し、これにより、第1モードでは、第1インストラクションが発生し、第2モードでは、第2インストラクションが発生する。
モード判断部110は、プロセッサ10から第1インストラクションが発生したか、または第2インストラクションが発生したかを検出することによって、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
第1メモリ接続部120は、モード判断部110によって第1モードと判断された場合、活性化されて、再構成部20内のプロセッシングエレメント21間の連結経路を構成するための構成情報を読み出すために、第1メモリ30にアクセスする。一方、第1メモリ接続部120は、モード判断部110によって第2モードと判断された場合、非活性化される。
第1メモリ30に保存された構成情報に基づいて、再構成部20内のプロセッシングエレメント21間の連結経路が再構成されて、ループ演算と関連した第1インストラクションが実行される。
第2メモリ接続部130は、モード判断部110によって第1モードと判断された場合、活性化されて、デバッギング用のトレースデータを保存するために、第2メモリ40にアクセスする。一方、第2メモリ接続部130は、モード判断部110によって第2モードと判断された場合、非活性化される。
第2メモリ40に保存されるデバッギング用のトレースデータは、アプリケーションの遂行によって発生する演算結果値またはメモリアクセス情報などのアプリケーションのデバッギングのために使われる情報であって、デバッギング装置50を通じてプログラム開発者などに提供されて、当該アプリケーションのデバッギングがなされる。
一方、再構成可能コンピューティング装置の第1メモリ制御器100が、データ出力部140をさらに含みうる。データ出力部140は、デバッギング装置50によって選択されるデバッギング用のトレースデータを第2メモリ40から選択して、デバッギング装置50に出力する。
例えば、プログラム開発者が開発したアプリケーションが実行されて、第2メモリ40にアプリケーションのデバッギング用のトレースデータが保存された場合や、プログラム開発者がデータ出力部140にデバッギング装置50を連結し、デバッギング用のトレースデータを要請した場合に、データ出力部140が、デバッギング装置50に第2メモリ40に保存されたデバッギング用のトレースデータを出力する。
この際、デバッギング用のトレースデータのサイズが大きい場合、デバッギング装置50にサイズが大きなデバッギング用のトレースデータを全て出力することは、ハードウェアまたはソフトウェア資源を浪費する恐れがあって、非効率的である。したがって、デバッギング装置50を通じて選択されたデバッギング用のトレースデータのみデータ出力部140が選択的に第2メモリ40から選択して、デバッギング装置50に出力するようにすることもできる。
一方、付加的な態様によれば、デバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置の第2メモリ制御器200が、モード判断部210と、第2メモリ接続部220と、第1メモリ接続部230とを含みうる。
モード判断部210は、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
プロセッサ10は、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御し、これにより、第1モードでは、第1インストラクションが発生し、第2モードでは、第2インストラクションが発生する。
モード判断部210は、プロセッサ10から第1インストラクションが発生したか、または第2インストラクションが発生したかを検出することによって、ループ演算と関連した第1インストラクションを実行する第1モードであるか、またはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードであるかを判断する。
第2メモリ接続部220は、モード判断部210によって第2モードと判断された場合、活性化されて、複数の並列処理可能な第2インストラクションを含むインストラクションワードをフェッチするために、第2メモリ40にアクセスする。一方、第2メモリ接続部220は、モード判断部210によって第1モードと判断された場合、非活性化される。
第2メモリ40にフェッチされたインストラクションワードに基づいて、並列処理可能な第2インストラクションを再構成部20のプロセッシングエレメント21が並列処理して実行する。
第1メモリ接続部230は、モード判断部210によって第2モードと判断された場合、活性化されて、デバッギング用のトレースデータを保存するために、第1メモリ30にアクセスする。一方、第1メモリ接続部230は、モード判断部210によって第1モードと判断された場合、非活性化される。
第1メモリ30に保存されるデバッギング用のトレースデータは、アプリケーションの遂行によって発生する演算結果値またはメモリアクセス情報などのアプリケーションのデバッギングのために使われる情報であって、デバッギング装置50を通じてプログラム開発者などに提供されて、当該アプリケーションのデバッギングがなされる。
付加的な態様によれば、再構成可能コンピューティング装置の第2メモリ制御器200が、データ出力部240をさらに含みうる。データ出力部240は、デバッギング装置50によって選択されるデバッギング用のトレースデータを第1メモリ30から選択して、デバッギング装置50に出力する。
例えば、プログラム開発者が開発したアプリケーションが実行されて、第1メモリ30に当該アプリケーションのデバッギング用のトレースデータが保存された場合や、プログラム開発者がデータ出力部240にデバッギング装置50を連結し、デバッギング用のトレースデータを要請した場合に、データ出力部240が、デバッギング装置50に第1メモリ30に保存されたデバッギング用のトレースデータを出力する。
この際、デバッギング用のトレースデータのサイズが大きい場合、デバッギング装置50にサイズが大きなデバッギング用のトレースデータを全て出力することは、ハードウェアまたはソフトウェア資源を浪費する恐れがあって、非効率的であるので、デバッギング装置50を通じて選択されたデバッギング用のトレースデータのみデータ出力部240が選択的に第1メモリ30から選択して、デバッギング装置50に出力するようにすることもできる。
図4は、本発明によるデバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置のデバッギング用のトレースデータ処理動作の一例を示すフローチャートである。
デバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置のプロセッサが、ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御するので、第1モードでは、第1インストラクションが発生し、第2モードでは、第2インストラクションが発生する。
そうすると、段階410で、デバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置の第1メモリ制御器と第2メモリ制御器のそれぞれが、第1モードであるか、第2モードであるかを判断する。
もし、段階410による判断の結果、第1モードである場合、段階420で、デバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置の第1メモリ制御器が、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する。
もし、段階410による判断の結果、第2モードである場合、段階430で、デバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置の第2メモリ制御器が、再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリにデバッギング用のトレースデータを保存する。
そして、段階440で、デバッギング用のトレースデータの処理が可能な再構成可能コンピューティング装置の第1メモリ制御器または第2メモリ制御器が、それぞれ第2メモリまたは第1メモリに保存されたデバッギング用のトレースデータをデバッギング装置に出力する。
これにより、デバッギング用のトレースデータを保存するための別途のメモリ追加なしに、再構成可能コンピューティング装置の再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリと、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリとを活用して、デバッギング用のトレースデータを効率的に保存することができて、再構成可能コンピューティング装置の製作コストの節減及び小型化が可能となる。
発明は、添付した図面によって参照される望ましい実施形態を中心に記述されたが、このような記載から後述する特許請求の範囲によって包括される範囲内で、発明の範疇を外れずに多様な変形が可能であるということは明白である。
10 プロセッサ
11 プロセッサコア
12 中央レジスタファイル
20 再構成部
21 プロセッシングエレメント
30 第1メモリ
40 第2メモリ
50 デバッギング装置
100 第1メモリ制御器
110、210 モード判断部
120、230 第1メモリ接続部
130、220 第2メモリ接続部
140、240 データ出力部
200 第2メモリ制御器

Claims (14)

  1. 再構成可能コンピューティング装置の第1メモリ制御器であって、前記再構成可能コンピューティング装置のプロセッサがループ演算と関連した第1インストラクションを実行する第1モードで、
    再構成部内のプロセッシングエレメント間の連結経路を構成するための構成情報を第1メモリから読み出し、
    複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する、
    ように制御する第1メモリ制御器。
  2. 前記第2インストラクションは、ループ演算以外の一般演算と関連し、
    前記第1メモリ制御器は、
    前記第1モードまたは前記第2モードであるかを判断するモード判断部と、
    前記モード判断部によって第1モードと判断された場合、活性化されて、前記構成情報を読み出すために前記第1メモリにアクセスする第1メモリ接続部と、
    前記モード判断部によって第1モードと判断された場合、活性化されて、前記デバッギング用のトレースデータを保存するために前記第2メモリにアクセスする第2メモリ接続部と、
    を更に含む請求項1に記載の第1メモリ制御器。
  3. 前記第1メモリ接続部が、前記モード判断部によって第2モードと判断された場合、非活性化される、請求項2に記載の第1メモリ制御器。
  4. 前記第2メモリ接続部が、前記モード判断部によって第2モードと判断された場合、非活性化される、請求項2又は3に記載の第1メモリ制御器。
  5. 前記デバッギング装置によって選択されるデバッギング用のトレースデータを前記第2メモリから選択して、前記デバッギング装置に出力するデータ出力部、
    をさらに含む請求項2乃至4のいずれか一項に記載の第1メモリ制御器。
  6. 再構成可能コンピューティング装置の第2メモリ制御器であって、前記再構成可能コンピューティング装置のプロセッサによってループ演算以外の一般演算と関連した第2インストラクションを実行する第2モードで、
    複数の並列処理可能な前記第2インストラクションを含むインストラクションワードを、第2メモリにフェッチし、
    デバッギング用のトレースデータを、再構成部内のプロセッシングエレメント間の連結経路を構成するために構成情報を保存する第1メモリに保存する、
    ように制御する第2メモリ制御器。
  7. ループ演算と関連した第1インストラクションを実行する第1モードであるか、または前記第2モードであるかを判断するモード判断部と、
    前記モード判断部によって第2モードと判断された場合、活性化されて、複数の並列処理可能な第2インストラクションを含むインストラクションワードをフェッチするために、前記第2メモリにアクセスする第2メモリ接続部と、
    前記モード判断部によって第2モードと判断された場合、活性化されて、デバッギング用のトレースデータを保存するために、前記第1メモリにアクセスする第1メモリ接続部と、
    を含む請求項6に記載の第2メモリ制御器。
  8. 前記第2メモリ接続部が、前記モード判断部によって第1モードと判断された場合、非活性化される、請求項7に記載の第2メモリ制御器。
  9. 前記第1メモリ接続部が、前記モード判断部によって第1モードと判断された場合、非活性化される、請求項7に記載の第2メモリ制御器。
  10. 前記デバッギング装置によって選択されるデバッギング用のトレースデータを前記第1メモリから選択して、前記デバッギング装置に出力するデータ出力部、をさらに含む請求項7に記載の第2メモリ制御器。
  11. デバッギング用のトレースデータ処理が可能な再構成可能コンピューティング装置であって、
    ループ演算と関連した第1インストラクションを実行する第1モードまたはループ演算以外の一般演算と関連した第2インストラクションを実行する第2モード間の切替を制御するプロセッサと、
    前記第1モードまたは第2モードによって、互いに排他的に発生する第1インストラクションまたは第2インストラクションを実行するよう構成される複数のプロセッシングエレメントを有する再構成部と、
    前記再構成部のプロセッシングエレメント間の連結経路を構成するための構成情報を保存する第1メモリと、
    複数の並列処理可能な前記第2インストラクションを含むインストラクションワードがフェッチされる第2メモリと、
    請求項1乃至5のいずれか一項に記載の第1メモリ制御器と、
    請求項6乃至10のいずれか一項に記載の第2メモリ制御器と、
    を含む再構成可能コンピューティング装置。
  12. 再構成可能コンピューティング装置のデバッギング用のトレースデータを処理する方法であって、
    第1インストラクションを実行する第1モードで、複数の並列処理可能な第2インストラクションを含むインストラクションワードがフェッチされる第2メモリにデバッギング用のトレースデータを保存する段階と、
    前記第2インストラクションを実行する第2モードで、再構成可能コンピューティング装置の再構成部内のプロセッシングエレメント間の連結経路を構成するために構成情報を保存する第1メモリにデバッギング用のトレースデータを保存する段階と、
    を含む方法。
  13. 前記第1インストラクションはループ演算と関連し、前記第2インストラクションはループ演算以外の一般演算と関連する、ことを特徴とする請求項12に記載の方法。
  14. 前記第1モードまたは前記第2モードであるかを判断する段階、をさらに含むことを特徴とする請求項12又は13に記載の方法。
JP2013022500A 2012-02-07 2013-02-07 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法 Withdrawn JP2013161484A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120012392A KR20130091113A (ko) 2012-02-07 2012-02-07 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치
KR10-2012-0012392 2012-02-07

Publications (1)

Publication Number Publication Date
JP2013161484A true JP2013161484A (ja) 2013-08-19

Family

ID=48903992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013022500A Withdrawn JP2013161484A (ja) 2012-02-07 2013-02-07 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法

Country Status (3)

Country Link
US (1) US20130205171A1 (ja)
JP (1) JP2013161484A (ja)
KR (1) KR20130091113A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130066402A (ko) * 2011-12-12 2013-06-20 삼성전자주식회사 트레이스 데이터 저장 장치 및 방법
US9742847B2 (en) * 2013-08-30 2017-08-22 Texas Instruments Incorporated Network node physical/communication pins, state machines, interpreter and executor circuitry
CN110096308B (zh) * 2019-04-24 2022-02-25 北京探境科技有限公司 一种并行存储运算装置及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256352A1 (en) * 2000-01-06 2008-10-16 Super Talent Electronics, Inc. Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
US7886195B2 (en) * 2008-05-05 2011-02-08 Infineon Technologies Ag Apparatus, system, and method of efficiently utilizing hardware resources for a software test
KR101738941B1 (ko) * 2010-03-23 2017-05-24 삼성전자주식회사 재구성 가능 어레이 및 재구성 가능 어레이의 제어 방법
KR101710116B1 (ko) * 2010-08-25 2017-02-24 삼성전자주식회사 프로세서, 메모리 관리 장치 및 방법

Also Published As

Publication number Publication date
KR20130091113A (ko) 2013-08-16
US20130205171A1 (en) 2013-08-08

Similar Documents

Publication Publication Date Title
US10817360B2 (en) Apparatus and methods for debugging on a memory device
US10388393B2 (en) Apparatus and methods for debugging on a host and memory device
JP6317065B2 (ja) 再構成可能プロセッサ及びそのコード変換装置及び方法
JP5611756B2 (ja) プログラム・フロー制御
JP2016207231A (ja) 命令エミュレーションプロセッサ、方法、およびシステム
JP5131188B2 (ja) データ処理装置
RU2015103934A (ru) Процессор компьютера и система без арифметико-логического блока
US20150100767A1 (en) Self-timed user-extension instructions for a processing device
US20170108908A1 (en) Instruction optimization using voltage-based functional performance variation
KR20070107814A (ko) 의존성 명령을 패킷으로 그룹핑하여 실행하는 프로세서 및방법
Anjam et al. A VLIW softcore processor with dynamically adjustable issue-slots
JP2013161484A (ja) 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法
KR20090023418A (ko) 프로세서 및 코프로세서를 인터페이싱하는 방법 및 장치
US10409602B2 (en) Vector operand bitsize control
US20130318324A1 (en) Minicore-based reconfigurable processor and method of flexibly processing multiple data using the same
JP2000284964A (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JP7377208B2 (ja) データ処理
JP2006018411A (ja) プロセッサ
US11947487B2 (en) Enabling accelerated processing units to perform dataflow execution
US20070011439A1 (en) Data processing systems and methods of operating the same in which memory blocks are selectively activated in fetching program instructions
JP7378254B2 (ja) マルチプロセッサデバイス
KR100599539B1 (ko) 태스크 엔진 기반의 재구성가능 디지털 신호 프로세서
US20140281368A1 (en) Cycle sliced vectors and slot execution on a shared datapath
Anjam et al. On the Implementation of Traps for a Softcore VLIW Processor
JP4151497B2 (ja) パイプライン処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151020

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160905