JP2014013570A - 再構成可能プロセッサのソースレベルデバッギング装置及び方法 - Google Patents

再構成可能プロセッサのソースレベルデバッギング装置及び方法 Download PDF

Info

Publication number
JP2014013570A
JP2014013570A JP2013140866A JP2013140866A JP2014013570A JP 2014013570 A JP2014013570 A JP 2014013570A JP 2013140866 A JP2013140866 A JP 2013140866A JP 2013140866 A JP2013140866 A JP 2013140866A JP 2014013570 A JP2014013570 A JP 2014013570A
Authority
JP
Japan
Prior art keywords
invalid
level debugging
reconfigurable processor
source level
source
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
JP2013140866A
Other languages
English (en)
Inventor
暎 ▲ちょる▼ ▲ちょう▼
Young-Chul Cho
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 JP2014013570A publication Critical patent/JP2014013570A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • 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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】 再構成可能プロセッサのソースレベルデバッギング装置及び方法を提供する。
【解決手段】 CGA基盤の再構成可能プロセッサのソースレベルデバッギング装置が開示される。ソースレベルデバッギング装置は、無効演算情報を用いてソースコードスケジューリング結果で停止点を設定する有効演算を決定し、該決定された有効演算に対応するアドレスに停止点を設定することができる。
【選択図】 図1

Description

本発明は、CGA(Coarse Grained Array)基盤の再構成可能プロセッサのソースレベルデバッギング装置及び方法に関する。
CGA基盤の再構成可能プロセッサは、多数の機能ユニット、グローバルレジスタファイル、ローカルレジスタファイルなどの非常に複雑な構造を有する。CGAプロセッサでは、命令を処理する機能ユニットは、アレイ構造で構成される。この例では、CGAプロセッサは、ループとして実装されるソフトウェアコードの反復的なデータ処理命令を、ソフトウェアパイプラインに構成する。さらに、CGAプロセッサは、構成した処理命令をアレイに並列化してマッピングし、マッピングした処理命令を高速で処理する。
CGAプロセッサでは、機能ユニットの効率を高め、構成のサイズを減らすために、カーネルをモジュロスケジューリングし、これをソースコードのプロローグ及びエピローグに再使用する。すなわち、ループのプロローグ、本体及びエピローグが同じ構成を用いるので、プロローグ及びエピローグで計算結果に悪影響を与えない無効演算が行われる。
しかし、プロローグまたはエピローグの無効演算によって、CGAでのソースレベルデバッギングが難しい。さらに、有効な命令語に対してのみ停止点(breakpoint)を設定できないという問題がある。
本発明は、再構成可能プロセッサのソースレベルデバッギング装置及び方法を提供することである。
本発明の一態様によるソースレベルデバッギング装置は、再構成可能プロセッサ内に提供され、処理のためにスケジュールされたコード内で有効演算を決定する有効演算決定部と、前記決定された有効演算に対応するアドレスに停止点を設定する停止点設定部と、を含む。
本発明の他の態様によるソースレベルデバッギング方法は、再構成可能プロセッサのソースレベルデバッギング装置が、処理のためにスケジュールされたコード内で有効演算を決定する段階と、前記決定された有効演算に対応するアドレスに停止点を設定する段階と、を含む。
本発明のさらに他の態様による停止点をスケジューリングする方法は、再構成可能プロセッサのソースレベルデバッギング装置が、処理のためにスケジュールされる演算が有効演算か、無効演算であるかを識別する段階と、有効演算に対応するアドレスに停止点を設定する段階と、を含む。
再構成可能プロセッサのソースレベルデバッギング環境の一例である。 再構成可能プロセッサでスケジューリングされる例示的なコードを例示した図である。 図2の例示的なコードが再構成可能プロセッサでスケジューリングされた結果の一例を示す図である。 図3のスケジューリング結果についての無効演算情報を例示した図である。 再構成可能プロセッサのソースレベルデバッギング方法の一例を示すフローチャートである。
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。本発明の利点及び特徴、そして、それらを果たす方法は、添付される図面と共に詳細に後述されている実施形態を参照すると、明確になる。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で具現され、単に本実施形態は、本発明の開示を完全にし、当業者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇によって定義されるだけである。明細書の全体に亘って同じ参照符号は、同じ構成要素を指称する。
図1は、本発明の一実施形態による再構成可能プロセッサのソースレベルデバッギング環境の一例である。図1を参照して、再構成可能プロセッサでソースレベルデバッギング装置100について詳しく説明する。
再構成可能プロセッサは、一実施形態によれば、CGA基盤のプロセッサであり得る。
CGAでは、ループとして実装されたソースコードをスケジューリングするとき、コンパイラ200が反復的なデータ処理命令をソフトウェアパイプラインとして構成することによりソースコードをスケジューリングして、処理能を向上させる。この際、コンパイラ200は、ループアンローリングに基づくモジュロスケジューリングを通じてスケジューリング結果210を生成することができる。
CGAでは、モジュロスケジューリングを通じて機能ユニットの効率を高め、構成のサイズを減らしうるが、生成されたスケジューリング結果210のプロローグ及びエピローグには、無効演算がマッピングされうる。
一般的に、このような無効演算の結果は破棄されることがあり、破棄するための方法としては、追加ハードウェア資源を用いるプレディケート(predicate)を通じる無効演算をガーディング(guarding)する方法や無効演算の結果を使わずに無視する方法が使われる。但し、結果を破棄するためには、追加的な演算が行われる必要がある。
一般的なCGAでソースレベルデバッギングのときに、ユーザが設定した停止点を設定する場合、ループの反復番号(iteration number)と開始区間(Initiation Interval、II)内のCGAアドレスを連結することにより得られるCGA PC(Program Counter)を使う。この場合、CGA PCは、アセンブラレベルでデバッギングするときに使用できる。しかし、ソースプログラムのラインと関連して停止点を設定することは不可能である。
また、インテル(登録商標)のアイテニアム(Itanium)(登録商標)のような一部プロセッサの場合、プロローグまたはエピローグの無効演算をプレディケートで制御して、そのプレディケート値を参考にして、ハードウェア的に有効な命令語に対してのみ停止点を設定する方法を使う。しかし、CGAは、プロセッサの状態を変化させない場合、すなわち、レジスタファイルまたはメモリに値を書き込む命令語にのみプレディケートを適用して最適化したために、その方法が適用されにくい問題がある。
多様な実施形態を通じて、ソースレベルデバッギングを行い、あらかじめ生成された無効演算情報310を用いて有効な命令に対してのみ停止点を設定するソースレベルデバッギング装置100が提示される。
例えば、ソースレベルデバッギング装置100は、有効演算決定部110及び停止点設定部120を含みうる。有効演算決定部110は、無効演算情報310を用いてソースコードスケジューリング結果の中の有効演算を決定することができる。
例えば、無効演算情報310は、無効演算情報生成装置300によって生成されうる。無効演算情報生成装置300は、コンパイラ200のモジュロスケジューリング結果210に含まれたプロローグ及び/またはエピローグの無効演算を判断し、その判断結果に基づいて無効演算情報310を生成することができる。例えば、無効演算情報生成装置300は、コンパイラ200のモジュロスケジューリング途中またはスケジューリングが完了した後に判断することができる。例えば、無効演算情報生成装置300は、コンパイラ200の構成モジュールの一部であり得る。
無効演算情報310は、モジュロスケジューリング結果210でプロローグ及びエピローグの無効演算が存在するサイクル番号及びその無効演算がマッピングされた機能ユニットのID情報を含みうる。
有効演算決定部110は、スケジューリング結果210及び/または無効演算情報310を入力され、無効演算情報310を用いてスケジューリング結果210で毎サイクルごとにプロローグ及びエピローグにマッピングされた無効演算を判断する。また、判断された無効演算を除き、有効な演算を停止点が設定される演算と決定する。スケジューリング結果210は、メモリに保存され、有効演算決定部110は、そのメモリからスケジューリング結果210を読み取る。
停止点設定部120は、有効演算決定部110で決定された有効演算に対応するアドレスに停止点を設定する。すなわち、停止点設定部120は停止点を設定して、ソースプログラムがプロセッサで実行されている間に停止点に遭遇すると、そのプロセッサがそのソースプログラムの実行を停止して制御をデバッギング装置100に渡すようにする。
図2は、再構成可能プロセッサでスケジューリングされる例示的なコードを例示した図である。図3は、図2の例示的なコードが再構成可能プロセッサでスケジューリングされた結果の一例を示す図である。図4は、図3のスケジューリング結果についての無効演算情報を例示した図である。
図2の例示的なコードは、C言語で書かれたものであって、整数iを0からN−1まで1ずつ増加させながら、i値に10を乗算し、その乗算した結果を加算しつつ、その加算結果をメモリに保存し続けるソースコードである。このソースコードは、同じ命令がN回繰り返して行われるループである。コンパイラ200が、このソースコードにループアンローリングに基づくモジュロスケジューリングを行った結果210を図3に例示した。
図3を参照すると、CGAは、10個の機能ユニットFu00〜Fu09を含んでおり、コンパイラ200は、このソースコードをモジュロスケジューリングを通じてCGAプロセッサの各機能ユニットにマッピングする。図3は、図2の例示的なコードでNが3である場合をスケジューリングした結果であって、サイクル0から6までは、プロローグ、サイクル7から14は、ループ本体、すなわちカーネルを表わし、サイクル15から18は、エピローグを表わす。
モジュロスケジューリング結果210でプロローグとエピローグ内のイタリック体で表わした演算が無効演算を意味する。プロローグで9個の演算と、エピローグで5個の演算とが無効演算であることが分かる。説明の便宜上、スケジューリング結果210内の無効演算をイタリック体で区分した。しかし、実際スケジューリング結果210に無効演算と有効演算とが区分されて生成されるものではない。
図4は、図3のスケジューリング結果についての無効演算情報を例示した図である。例えば、無効演算情報310は、ファイルまたはテーブル形式で生成されうる。前述したように、無効演算情報310は、コンパイラ200がスケジューリング途中またはスケジューリングが完了した後、そのスケジューリング結果210を用いて無効演算情報生成装置300によって生成されうる。したがって、無効演算は、マスクされるか、その他の方法で回避され、停止点は設定されない。
多様な態様によれば、無効演算情報310は、図4に例示されたように、スケジューリング結果210内の無効演算が存在するサイクル番号及びその無効演算がマッピングされたID情報を含みうる。
図4の例で、プロローグのサイクル0の機能ユニット1、5にマッピングされたadd演算、サイクル1の機能ユニット0、4、9にそれぞれマッピングされたadd、mov、lsl演算、サイクル2の機能ユニット0にマッピングされたst_i演算、サイクル5の機能ユニット0、4にそれぞれマッピングされたadd、mov演算、サイクル6の機能ユニット0にマッピングされたst_i演算は、無効演算である。
もし、図2のソースコードでNが3であり、ユーザが、図2のソースコードライン34に停止点を設定しようとする場合、図3に例示されたスケジューリング結果210によれば、コンパイラ200のループアンローリングに基づくモジュロスケジューリングによって、ライン34の加算演算に該当する‘add’演算が、サイクル1、5、9、13、17の機能ユニットFu00に5回繰り返して行われるようにマッピングされていることが分かる。
したがって、有効演算決定部110は、無効演算情報310を用いてサイクル1と5との‘add’演算は無効演算であると判断し、これを除いたサイクル9、13及び17の‘add’演算を有効演算と決定する。
停止点設定部120は、このように決定されたサイクル9、13及び17に対応するアドレスに停止点を設定する。
多様な態様によれば、あらかじめ生成されたプロローグ及び/またはエピローグの無効演算についての情報を用いてソースレベルのデバッギングを行うことができる。したがって、無効演算を除き、有効な演算に対してのみ停止点を設定することができるので、ソースレベルデバッギング性能を大きく向上させることができる。
図5は、再構成可能プロセッサのソースレベルデバッギング方法の一例を示すフローチャートである。
まず、ソースコードスケジューリング結果210の無効演算情報310を用いて有効演算及び無効演算を決定する(段階410)。停止点は、無効演算を排除し、有効演算に対して設定されうる。
例えば、無効演算情報310は、コンパイラ200のモジュロスケジューリング結果210でプロローグ及びエピローグに含まれた無効演算が存在するサイクル番号及びその無効演算がマッピングされた機能ユニットのID情報を含みうる。
ソースレベルデバッギング装置100は、スケジューリング結果210及び無効演算情報310を入力される。入力された無効演算情報310を用いてスケジューリング結果210で毎サイクルごとにプロローグ及びエピローグにマッピングされた無効演算を判断し、ユーザによって設定されたソースコードの停止点設定ラインに対応する演算のうち、判断された無効演算を除き、有効な演算を決定することができる。したがって、停止点は、判断された有効演算に対応するアドレスに設定され、如何なる停止点も無効演算に対応するアドレスに設定されない。
図2ないし図4の例によれば、ユーザが、図2のソースコードの34ラインに停止点を設定しようとすれば、ソースレベルデバッギング装置100は、無効演算情報310を参照して、図3のスケジューリング結果210で機能ユニットFu00にマッピングされている‘add’演算のうちからサイクル1及び5の‘add’演算を無効演算と判断し、機能ユニットFu00にマッピングされているサイクル9、13及び17の‘add’演算を有効演算と決定する。
次いで、決定された有効演算に対応するアドレスに停止点を設定する(段階420)。すなわち、ソースレベルデバッギング装置100は、サイクル9、13及び17番目のアドレスに停止点を設定することによって、有効な演算に対してのみ停止点の設定が可能である。
多様な態様によって、再構成可能CGA基盤プロセッサでのソースレベルデバッギング装置及び方法を説明した。このような装置及び方法は、ループアンローリングに基づくモジュロスケジューリングでプロローグまたはエピローグにマッピングされた無効演算を除き、有効演算に対してのみ停止点を設定することによって、ソースレベルデバッギングを可能にする。
一方、本発明の実施形態は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。
コンピュータで読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、また、搬送波(例えば、インターネットを介した伝送)の形態で具現するものを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行可能である。そして、本発明を具現するための機能的なプログラム、コード及びコードセグメントは、本発明が属する技術分野の技術者によって容易に推論されうる。
当業者なら、本発明が、その技術的思想や必須的な特徴を変更せずとも、他の具体的な形態で実施されることを理解できるであろう。したがって、前述した実施形態は、あらゆる面で例示的なものであり、限定的ではないということを理解しなければならない。本発明の範囲は、前記詳細な説明よりは後述する特許請求の範囲によって表われ、特許請求の範囲の意味及び範囲、そして、その均等概念から導出されるあらゆる変更または変形された形態が、本発明の範囲に含まれると解析しなければならない。
本発明は、再構成可能プロセッサのソースレベルデバッギング装置及び方法関連の技術分野に適用可能である。
100 ソースレベルデバッギング装置
110 有効演算決定部
120 停止点設定部
200 コンパイラ
210 スケジューリング結果
300 無効演算情報生成装置
310 無効演算情報

Claims (16)

  1. 処理のためにスケジュールされたコード内で有効演算を決定する有効演算決定部と、
    前記決定された有効演算に対応するアドレスに停止点を設定する停止点設定部と、
    を含む再構成可能プロセッサのソースレベルデバッギング装置。
  2. 前記再構成可能プロセッサは、CGA(Coarse Grained Array)基盤のプロセッサである、請求項1に記載の再構成可能プロセッサのソースレベルデバッギング装置。
  3. 前記スケジュールされたコードは、コンパイラによって行われるループアンローリングに基づくモジュロスケジューリングの結果である、請求項1又は2に記載の再構成可能プロセッサのソースレベルデバッギング装置。
  4. 前記有効演算決定部は、前記ループアンローリングに基づくモジュロスケジューリングに従ってスケジュールされたコードのプロローグまたはエピローグにマッピングされた演算を含む無効演算をさらに決定する、請求項3に記載の再構成可能プロセッサのソースレベルデバッギング装置。
  5. 前記有効演算決定部は、無効演算情報に基づいて、前記有効演算を決定する、請求項1乃至4のいずれか一項に記載の再構成可能プロセッサのソースレベルデバッギング装置。
  6. 前記無効演算情報は、前記無効演算が存在するサイクル番号及び前記無効演算がマッピングされた機能ユニットのID情報を含む、請求項5に記載の再構成可能プロセッサのソースレベルデバッギング装置。
  7. 再構成可能プロセッサのソースレベルデバッギング装置が、
    処理のためにスケジュールされたコード内で有効演算を決定する段階と、
    前記決定された有効演算に対応するアドレスに停止点を設定する段階と、
    を含む再構成可能プロセッサのソースレベルデバッギング方法。
  8. 前記再構成可能プロセッサは、CGA基盤のプロセッサを含む、請求項7に記載の再構成可能プロセッサのソースレベルデバッギング方法。
  9. 前記スケジュールされたコードは、コンパイラによって行われるループアンローリングに基づくモジュロスケジューリングの結果である、請求項7又は8に記載の再構成可能プロセッサのソースレベルデバッギング方法。
  10. 再構成可能プロセッサのソースレベルデバッギング装置が、無効演算を決定する段階であって、前記無効演算は、前記ループアンローリングに基づくモジュロスケジューリングに従ってスケジュールされたコードのプロローグまたはエピローグにマッピングされた演算である、段階、
    を更に含む請求項8に記載の再構成可能プロセッサのソースレベルデバッギング方法。
  11. 前記有効演算は、無効演算情報に基づいて決定される、請求項7乃至10のいずれか一項に記載の再構成可能プロセッサのソースレベルデバッギング方法。
  12. 前記無効演算情報は、前記無効演算が存在するサイクル番号及び前記無効演算がマッピングされた機能ユニットのID情報を含む、請求項11に記載の再構成可能プロセッサのソースレベルデバッギング方法。
  13. 再構成可能プロセッサのソースレベルデバッギング装置が、
    処理のためにスケジュールされたソースコード内の演算が有効演算か無効演算であるかを識別する段階と、
    有効演算に対応するアドレスに停止点を設定する段階、
    を含むソースレベルデバッギング方法。
  14. 前記無効演算は、前記スケジュールされたソースコードのプロローグ及びエピローグの一方又は両方に含まれる、請求項13に記載のソースレベルデバッギング方法。
  15. 前記無効演算と前記有効演算は、無効演算情報に基づいて識別され、
    前記無効演算情報は、前記プロセッサのサイクル番号とファンクションユニットにマッピングされた演算、及び前記演算が有効か無効かに関する指標を含む、請求項13又は14に記載のソースレベルデバッギング方法。
  16. 前記停止点を設定する段階の後に、前記再構成可能プロセッサのソースレベルデバッギング装置が、
    前記プロセッサが前記ソースコードの処理中に前記停止点で前記ソースコードの実行を中止した場合、前記プロセッサから制御を渡される段階、
    を更に含む請求項13乃至15のいずれか一項に記載のソースレベルデバッギング方法。
JP2013140866A 2012-07-04 2013-07-04 再構成可能プロセッサのソースレベルデバッギング装置及び方法 Pending JP2014013570A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120073012A KR20140005526A (ko) 2012-07-04 2012-07-04 재구성 가능 프로세서의 소스 레벨 디버깅 장치 및 방법
KR10-2012-0073012 2012-07-04

Publications (1)

Publication Number Publication Date
JP2014013570A true JP2014013570A (ja) 2014-01-23

Family

ID=49879536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013140866A Pending JP2014013570A (ja) 2012-07-04 2013-07-04 再構成可能プロセッサのソースレベルデバッギング装置及び方法

Country Status (4)

Country Link
US (1) US20140013312A1 (ja)
JP (1) JP2014013570A (ja)
KR (1) KR20140005526A (ja)
CN (1) CN103530214A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102149509B1 (ko) * 2014-03-27 2020-08-28 삼성전자주식회사 구성 데이터를 압축 및 복원하는 방법
US9348567B2 (en) * 2014-07-03 2016-05-24 Microsoft Technology Licensing, Llc. Profile guided optimization in the presence of stale profile data
CN111008133B (zh) * 2019-11-29 2021-04-27 中国科学院计算技术研究所 粗粒度数据流架构执行阵列的调试方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3260083B2 (ja) * 1996-09-03 2002-02-25 株式会社東芝 デバッグシステム及びデバッグ方法
JP4909877B2 (ja) * 2007-11-29 2012-04-04 株式会社東芝 デバッグ装置及びデバッグ方法
CN102096629B (zh) * 2009-12-14 2013-09-25 华为技术有限公司 经过性断点设置、调试方法和装置

Also Published As

Publication number Publication date
US20140013312A1 (en) 2014-01-09
CN103530214A (zh) 2014-01-22
KR20140005526A (ko) 2014-01-15

Similar Documents

Publication Publication Date Title
US7596781B2 (en) Register-based instruction optimization for facilitating efficient emulation of an instruction stream
US9495136B2 (en) Using aliasing information for dynamic binary optimization
JP2010186468A (ja) 任意の標的アーキテクチャに対する並列simdコードを生成する方法、コンピュータ可読媒体、およびシステム
US11163677B2 (en) Dynamically allocated thread-local storage
JP2011086298A (ja) プログラム・フロー制御
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
Andronick et al. Proof of OS scheduling behavior in the presence of interrupt-induced concurrency
EP2609500B1 (en) Obtaining and releasing hardware threads without hypervisor involvement
CN115552370A (zh) 启用硬件加速资源的编译器发起型分片替换
JP2014013570A (ja) 再構成可能プロセッサのソースレベルデバッギング装置及び方法
JP6476777B2 (ja) テストコンテキストの生成
US10198341B2 (en) Parallel replay of executable code
Engelhardt et al. An integrated hardware-software approach to task graph management
JP2004062909A (ja) 複数の制御フローパスを有するソフトウェアパイプライン化ループのためのシステムおよび方法
AU2018309575B2 (en) Focused execution of traced code in a debugger
KR20220113724A (ko) 서브필드 최소 및 최대 클램핑을 갖는 콘텐트 주소 지정 가능한 메모리
EP3906470A1 (en) Techniques for scheduling instructions in compiling source code
JP6254352B2 (ja) ループのプロローグまたはエピローグの無効演算を処理する装置及び方法
KR102025694B1 (ko) 재구성 가능한 프로세서의 검증 방법
JP2019067227A (ja) 情報処理装置、情報処理方法及びプログラム
JP6245820B2 (ja) 再構成可能プロセッサの検証支援装置及び方法並びに再構成可能プロセッサ
JP6097572B2 (ja) ソフトウェアパイプライン化されたプログラムのハードウェアデバッギング装置及び方法
JP2017045134A (ja) 情報処理装置、コンパイル方法及びコンパイラ
Kong Interrupt Support on the ρ-VEX processor
von Mayrhauser et al. Teaching engineering disciplines to tool developers