JP2009075875A - カウンタ回路、動的再構成回路およびループ処理制御方法 - Google Patents

カウンタ回路、動的再構成回路およびループ処理制御方法 Download PDF

Info

Publication number
JP2009075875A
JP2009075875A JP2007244314A JP2007244314A JP2009075875A JP 2009075875 A JP2009075875 A JP 2009075875A JP 2007244314 A JP2007244314 A JP 2007244314A JP 2007244314 A JP2007244314 A JP 2007244314A JP 2009075875 A JP2009075875 A JP 2009075875A
Authority
JP
Japan
Prior art keywords
loop
output
context
loop processing
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
Application number
JP2007244314A
Other languages
English (en)
Other versions
JP5141151B2 (ja
Inventor
Takashi Hanai
喬 花井
Shinichi Sudo
晋一 須藤
Masaki Arai
正樹 新井
Mitsuharu Wakayoshi
光春 若吉
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2007244314A priority Critical patent/JP5141151B2/ja
Priority to US12/232,462 priority patent/US7996661B2/en
Publication of JP2009075875A publication Critical patent/JP2009075875A/ja
Application granted granted Critical
Publication of JP5141151B2 publication Critical patent/JP5141151B2/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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • 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
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】高級言語によって記述されたループ処理を実装可能とするとともに、コンテキストの切り替えを適切におこなえるカウンタ回路を含んだ動的再構成回路およびループ制御処理方法を実現する。
【解決手段】再構成可能なPE(プロセッシングエレメント)111の処理内容と接続内容をコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路100は、コンテキストに基づいて、再構成されたPEの集合からの出力信号の出力元、出力信号の出力先、および出力信号を出力先に出力する条件からなるループ処理の内容を設定するコンフィグレーションデジスタ部と、設定されたループ処理を実行するとともに、ループ制御部によって実行されたループ処理の実行回数をカウントし、カウントされた実行回数および条件に基づいて、出力信号を出力先に出力するループ制御部および出力レジスタ部からなるカウンタ回路112を備えている。
【選択図】図1

Description

この発明は、再構成可能なプロセッシングエレメント(以下、「PE」という)の集合を、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路に配置されたカウンタ回路、動的再構成回路およびループ処理制御方法に関する。
従来より、ダイナミックリコンフィギャラブル回路(以下、「動的再構成回路」という)は、動作中に回路内部の演算器命令や演算器間の接続を変更できるという特徴とを備えている。具体的には、動的再構成回路の内部には複数のPE(プロセッシングエレメント)は配置されている。動的再構成回路の構成内容は、コンテキストと呼ばれる各PEの動作と、PE間の接続との設定をあらわす情報として記述される。回路を再構成する際には、このコンテキストに応じてPEの演算処理内容や接続を変更させる。
また、動的再構成回路では、上述したコンテキストに基づいて回路内部に配置されているPEの処理内容や接続先を順次変更する。すなわち、異なる処理をおこなう場合であっても、時間軸方向に分割して実行させることによって、PEの共用が可能となる。したがって、動的再構成回路全体のハードウェア規模を削減することができるという利点を備えている。このような、コンテキストに基づいた動的再構成回路では、各コンテキストを実行させる際の開始、終了の制御には、カウンタ回路を用いることが一般的である。具体的には、データ駆動型の再構成可能なカウンタが利用されている(たとえば、下記特許文献1参照。)。
特表2003−518666号公報
しかしながら、従来のようなデータ駆動型のカウンタ回路は、動的再構成回路に実装するアプリケーションに特化した機能しか備えていないため、C言語などの高級言語から実装をおこなう場合、for文while文などのいわゆるループ処理に対応したカウント処理は困難であった。
具体的には、動的再構成回路に高級言語であるC言語のループ処理を適用させる場合、カウンタ回路は、C言語によって記述された任意の多重ループをそれぞれカウントできるような構成に変更させなければならない。しかしながら、多重ループ数の最大は、カウンタの仕様により決まってしまうため、ループ処理の各パラメータはカウンタ回路の仕様に合わせて変更しなければならない。このように、従来の動的再構成回路は、C言語など高級言語によって記述されたループ処理を実行できない場合があり、動的再構成回路として実現可能な処理が制限されてしまうという問題があった。
また、従来のデータ駆動型のカウンタ回路では、動的再構成回路の外部からの有効データ入力をトリガとしてカウンタの動作を開始または制御していた。したがって、動的再構成回路内部でPEの入力となるデータを生成する場合、カウンタ回路の開始タイミングを指示するトリガ信号を生成できない。
具体的には、動的再構成回路におけるコンテキスト切り替えでは、カウンタ回路の開始タイミングを指示するために、現在実行中のコンテキストによる処理の終了タイミングを指示する制御信号を使用したい。しかしながら、データ駆動型のカウンタ回路によるアドレスカウント処理の場合、外部からの有効データの入力を開始トリガとするため、内部生成された制御信号をカウンタ回路の開始指示として使用することができない。
同様に、特定のループ処理が終了したタイミングで別のループ処理を開始したい場合、前段のカウンタ回路の開始、後段のカウンタ回路の終了は同一のトリガ信号を使用したいが、ここでも、データ駆動型のカウンタ回路の場合に、前段のカウンタから読み出した有効データから前段のカウンタの終了判定をすることはできないため、別の制御を追加する必要があり使用PE数の増加となる。
このように、従来のカウンタ回路では、実行させたいループ処理に応じた信号出力を任意のタイミングで出力させることができない。したがって、動的再構成回路において、高級言語の記述に基づいたループ処理を実行させた場合には、制御のためのPEが別途必要になり、ハードウェア規模の増大を招いてしまう場合があるという問題があった。
この発明は、上述した従来技術による問題点を解消するため、高級言語によって記述されたループ処理であっても実装可能とするとともに、コンテキストの切り替えタイミング指示を同時に実現することのできるカウンタ回路、動的再構成回路およびループ処理制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明にかかるカウンタ回路は、再構成可能なプロセッシングエレメント(以下、「PE」という)の集合を、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路に配置されたカウンタ回路であって、前記コンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定する設定手段と、前記設定手段によって内容が設定されたループ処理を実行する実行手段と、前記実行手段によって実行されたループ処理の実行回数をカウントし、カウントされた実行回数および前記条件に基づいて、前記出力信号を前記出力先に出力するカウント手段と、を備えることを特徴とする。
この発明によれば、コンテキストの記述に応じて任意のループ処理を実行させるとともに、この任意に設定されたループ処理の実行回数をカウントし、このカウント処理のタイミングで任意の出力先にカウント回路の出力値を出力させることができる。
また、上記発明において、前記設定手段は、前記動的再構成回路から前記ループ処理の成立をあらわす分岐指示信号を受け付けると、前記コンテキストをあらかじめ設定されたつぎのコンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定し、前記実行手段は、当該切り替えられたコンテキストによって内容が設定されたループ処理を実行する設定に応じて、あらたなループ処理を実行してもよい。
この発明によれば、ループ処理の成立をあらわす分岐指示信号の受け付けがトリガとなって、コンテキストの切り替えを実行することもできる。
また上記発明において、前記コンテキストには、前記条件として、前記ループ処理の開始の初期値と、前記実行回数が前記ループ処理の回数の上限を満足するか否かを判定する判定式と、前記判定式を満足しなかった場合に前記カウント回数に加算する値とが設定されていてもよい。
この発明によれば、高級言語で記述されたループ処理をカウンタ回路に適用することができる。
また上記発明において、前記カウント手段は、前記ループ処理の実行中に前記コンテキストの切り替え信号を受け付けると、前記ループ処理のカウントを停止させ、前記ループ処理が実行されていない場合に前記コンテキストの切り替え信号を受け付けると、あらたに切り替えられたコンテキストに応じて実行されたループ処理をカウントしてもよい。
この発明によれば、コンテキストの切り替え信号を受け付けに応じて、ループ処理のカウントの停止または実行をおこなうことによって、コンテキストと同期したループ処理をおこなうことができる。
また上記発明において、前記カウント手段は、前記ループ処理のカウント回数が前記条件を満足した場合に、前記出力信号を前記出力先に出力してもよい。
この発明によれば、コンテキストの記述内容に応じて、カウンタ回路からの信号の出力タイミングを任意に設定することができる。
また、本発明にかかる動的再構成回路は、PEの集合と、カウンタ回路とを備え、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路であって、前記カウンタ回路は、コンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定する設定手段と、前記設定手段によって内容が設定されたループ処理を実行する実行手段と、前記実行手段によって実行されたループ処理の実行回数をカウントし、カウントされた実行回数および前記条件に基づいて、前記出力信号を前記出力先に出力するカウント手段と、を備えることを特徴とする。
この発明によれば、コンテキストの記述に応じて任意のループ処理を実行させるとともに、この任意に設定されたループ処理の実行回数をカウントし、このカウント処理のタイミングで任意の出力先にカウント回路の出力値を出力させることができる。
また、上記発明において、前記カウンタ回路は複数設けられ、前記コンテキストにおいて前記ループ処理が多重化されている場合、前記カウンタ回路ごとに前記各ループ処理を実行するように再構成してもよい。
この発明によれば、多重ループ処理が記述されたコンテキストに対応したループ処理を実現することができる。
本発明にかかるカウンタ回路、動的再構成回路およびループ処理制御方法によれば、高級言語によって記述されたループ処理であっても実装可能とするとともに、コンテキストの切り替えタイミング指示を同時に実現することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるカウンタ回路、再構成回路およびループ処理制御方法の好適な実施の形態を詳細に説明する。
(動的再構成回路の構成)
まず、本発明にかかる動的再構成回路の構成について説明する。図1は、本実施の形態にかかる動的再構成回路の構成を示すブロック図である。図1のように、動的再構成回路100は、シーケンサ101と、条件分岐信号生成器102と、コンフィグレーションメモリ103と、PEアレー110とを含んで構成されている。
シーケンサ101は、ユーザや上位プログラムからの指示に応じたコンテキストを実行させるためのPC値を出力する。シーケンサ101から出力されたPC値は、コンフィグレーションメモリ103に入力される。また、シーケンサ101は、PC値とともに、PEアレー110にコンフィグレーションデータ読み込み要求信号としてFETCHENを出力する。
さらに、シーケンサ101は、コンテキストの切り替えをトリガに条件分岐信号生成部102に条件分岐信号(predicate信号;以下、「PRDI(入力信号の場合)/PRDO出力信号の場合」という)の生成指示を出力する。このPRDIは、2ビットの信号であり、コンテキスト切り替えの開始および終了の指示に利用する。具体的には、PRDIが「11」であれば条件の成立、「10」であれば条件の不成立、「0x」であれば無効をあらわす。
条件分岐信号生成器102は、シーケンサ101から入力されたPRDIの生成指示に応じて、PRDIを生成する。生成されたPRDIは、PEアレー110のネットワーク回路113に出力される。
コンフィグレーションメモリ103には、あらかじめ記述されたコンテキストが格納されており、シーケンサ101から入力されたPE値に応じて、該当するコンテキストを読み出す。そして、コンフィグレーションメモリ103からは、読み出されたコンテキストに記述されたコンフィグレーションデータ(configuration;CFG)が、後述するPEアレー110に配置されているPE111(PE111a〜PE111c)や、カウンタ回路112(カウンタ回路112a〜112b)に出力される。
PEアレー110は、コンフィグレーションメモリ103によって読み出されたコンテキストに応じた処理を実行させる機能部であり、演算子として複数のPE111(たとえばPE111a〜PE111c)と、カウンタ回路112(たとえばカウンタ回路112a〜112b)が配置されているとともに、各演算子の入出力値(data)の接続を切り替える可変接続部としてネットワーク回路113を備えている。
PE111は、コンテキストの記述に応じて所定の演算をおこなう。動的再構成回路100によってあるコンテキストを実行する場合には、PE111には、コンフィグレーションメモリ103から実行するコンテキストに記述されたコンフィグレーションデータが入力される。その後、PE111は、コンテキストが切り替わるまで、入力されたコンフィグレーションデータに応じた演算処理をおこなう。
カウンタ回路112は、コンテキストの記述に応じて所定のループ処理をおこなうとともに、このループ処理の実行回数をカウントする。このとき、カウンタ回路112によるカウント結果は、PRDIとして、ネットワーク回路113に出力される。
(パラメータ設定)
つぎに、コンフィグレーションデータによるパラメータ設定について説明する。なお、一般的な動的再構成回路ではPEによって実行させる演算内容に応じて様々なパラメータ設定があるが、ここでは、動的再構成回路100の特徴となるカウンタ回路1112によって実行させるループ処理のパラメータ設定に限定して説明する。
図2は、カウンタ回路のコンフィグレーションデータのソースコードの一例を示す説明図である。図2のソースコード200には、基本的なfor−loop文が記述されている。このfor−loop文の構成のうち、(a),(b),(c),(d)が可変のパラメータとしてコンテキストごとに対応するコンフィグレーションデータが設定される。
(a)カウンタの開始値(ループ処理の開始の初期値)と、
(b)ループ成立判定のモード(ループ実行回数がループ処理の回数の上限を満足するか否かを判定する判定式);{<,>,<=,>=}の4つの成立判定のいずれかに切り替える
(c)ループ変数の終了値
(d)ループ変数のインクリメント値((b)の判定式を満足しなかった場合カウント回数に加算する値);負の数を指定することでデクリメントカウンタになる
なお、(a)の設定は後述するカウンタ回路の内部メモリ「Start」、(b)の設定は後述するカウンタ回路の内部メモリ「CMP−mode」、(c)の設定は後述するカウンタ回路の内部メモリ「End」、(d)の設定は後述するカウンタ回路112の内部メモリ「Step」にそれぞれ格納する。
また、ハードウェア機能として下記の(e),(f),(g),(h)の機能切り替えをコンフィグレーションデータによって設定できる。
(e)カウンタの起動方法
どのようなタイミングでカウンタ回路112を起動させるため設定であり、具体的には、自動起動と、トリガモードとの2種類の設定をおこなうことができる。自動起動は、シーケンサ101から出力されたCFG読み込み要求信号(FETCHEN)を受け付けてから指定サイクル後に動作を開始させるように設定する方法である。また、トリガモードは、条件分岐信号生成部102から出力されたPRDIが成立をあらわす「11」であった場合に、PRDIの入力をトリガとして動作を開始させる方法である。なお、トリガモードによる起動方法を採用する場合には、後述するカウンタ回路112の内部メモリ「Trigger−mode」を有効状態に設定する。
(f)有効カウンタ出力のインターバル設定
カウンタ回路112によるカウント実行を1クロックごとに実行させるか、もしくは所定のクロックごとに実行させるかの設定である。上述のように、1クロックごとにカウンタを動作させることも可能だが、インターバル設定をおこなうことにより、一定の間隔を置いてカウンタを動作させることもできる。なお、インターバル設定をおこなう場合には、後述するカウンタ回路112の内部メモリ「Interval」に該当するコンフィグレーションデータを格納する。
(g)出力モード設定
カウンタ回路112によって実行するカウント処理において、どのような条件の場合に、カウンタ回路112から外部(他のPE111やカウンタ回路112もしくは他のクラスタ)への出力をおこなうかを設定する。具体的には、ノーマル出力モードとカスケード出力モードとの二つの出力モードが用意されており、後述するカウンタ回路112の内部メモリ「Output−mode」に格納されたコンフィグレーションデータに基づいてモードを切り替える。
[ノーマル出力モード]
ループ処理動作時には成立を示すPRDI「11」を出力し、ループ条件成立時にはPRDI「10」を出力する。また、ループ処理が停止時にはPRDI「00」を出力する。また、後段に他のカウンタ回路112が接続されている場合には、アドレスカウンタを停止させるため、ループ条件成立時に、PRDI「10」とともに、カスケード信号を1パルスアサートする。
[カスケード出力モード]
カスケード出力モードは、後段に同一のカウンタ回路112がカスケード接続されている場合に使用する。ループ処理動作時にはPRDI「10」を出力し、カウント処理によってカウント数が同カウンタ回路112のループパラメータの初期値に達したとき、PRDI「11」を出力する。また、ループ処理停止時にはPRDI「00」を出力する。
(h)入力モード設定
カウンタ回路112が、どのような入力を受け付けた場合にカウント処理を実行するかを設定する。具体的には、ノーマル入力モードとカスケード入力モードとの二つの入力モードが用意されており、後述するカウンタ回路112の内部メモリ「Input−mode」に格納されたコンフィグレーションデータに基づいてモードを切り替える。
[ノーマル入力モード]
カウンタ回路112にPRDI「11」が入力された場合にカウント処理を開始し、インターバル設定に従い、クロックに同期したカウント処理を進める。なお、上述した(e)の設定により自動起動に切り替えることもできる。
[カスケード入力モード]
カウンタ回路にPRDI「11」が入力されると、カウント値を更新する。また、PRDI「10」が入力されるとカウント値の更新を停止する。また、他のカウンタ回路112にカスケード接続されている場合、前段のカウンタ回路112(カスケード出力モードに設定されたカウンタ回路)から出力されるPRDIを受け付けて、アドレスカウンタを進めるために使用する。
(カウンタ回路の構成)
つぎに、カウンタ回路112の構成について説明する。図3は、本実施の形態にかかるカウンタ回路の構成を示すブロック図である。図3のように、カウンタ回路112は、コンフィグレーションレジスタ部301と、有効サイクル検出部302と、ループ開始値・終了値書き換え部303と、ループ制御部304と、出力レジスタ部305とを含んで構成される。また、カウンタ回路112の各機能部301〜305には下記のような端子が接続されている。
(入力端子)
1−1.PRDI
条件分岐信号(PRDI)の入力を受け付ける端子である。条件分岐信号「11」が入力されると成立と判断し、入力モード設定(後述する内部レジスタの「Input−mode」の設定)にしたがってカウンタ処理を実行させる。
1−2.DI0/VI0,DI1/VI1
DIはデータ入力を受け付ける端子であり、VIは、DIに入力されたデータの有効/無効を示すvalidデータの入力を受け付ける端子である。validデータが「1」のとき、同時に入力されたDIのデータは有効であると判断する。
1−3.CI
カスケード信号の入力を受け付ける端子である。このカスケード信号がアサート(High状態の信号入力)されたときループカウントを終了する。また、ループカウントが停止されると、つぎのコンフィグレーションデータが設定されるまでループカウント再開は不可能となる。
1−4.CFG,FETCHEN
CFGはコンフィグレーションデータの入力を受け付ける端子である。また、FETCHENは、CFG読み込み要求信号(FETCHEN)の入力を受け付ける端子であり、起動要求信号がアサートされたときのみ、CFGに入力されたコンフィグレーションデータを後述する内部レジスタに取り込む。
(出力端子)
2−1.PRDO
条件分岐信号(predicate:PRDO)を出力する端子であり、ループ処理の動作中/停止時/ループ条件成立時のそれぞれの状態に応じ、出力モード設定(後述する内部レジスタの「Output−mode」の設定)にしたがって条件分岐信号を出力する。
2−2.DO/VO
DOはカウント値を示すデータを出力する端子である。また、VOはDOから出力されるカウント値の有効/無効を示すvalid信号を出力する端子である。なお、カウンタ処理の動作時、valid信号は「1」となり、カウンタ停止時、valid信号は「0」となる。
2−3.CO
カスケード信号を出力する端子であり、出力モードがノーマル出力モードに設定されている場合には、ループ条件が成立すると、カスケード信号を1パルスアサートする。また、出力モードがカスケード出力モードに設定されている場合には、後段に接続されているカウンタ回路の入力信号の出力端子となる。なお、カスケード出力モードの際に出力されるカスケード信号は、後段のカウンタ回路のカウンタ処理を停止させるために使用する。
つぎに、各機能部301〜305について説明する。まず、コンフィグレーションレジスタ部301は、コンテキスト開始時に各PEに供給される1パルスのFETCHEN信号をイネーブル信号として、上述したCFG端子から入力されたコンフィグレーションデータを以下の内部レジスタに取り込む。内部レジスタとは、具体的には、「Input−mode」,「Interval」,「Trigger−mode」,「Step」,「End」,「CMP−mode」,「Output−mode」,「Start」の各レジスタである。なお、これらの内部レジスタは、フリップフロップで構成される。
有効サイクル検出部302は、コンフィグレーションレジスタ部301の内部レジスタのうちの「Input−mode」,「Interval」,「Trigger−mode」に取り込まれたコンフィグレーションデータの設定にしたがって、出力レジスタ部305にレジスタ更新のイネーブル信号(output−enable)を出力する。
具体的には、有効サイクル検出部301は、内部メモリ「Input−mode」から出力された設定内容にしたがって、所定の条件の成立を示すPRDI「11」が入力された場合の動作を下記のように切り替える。なお、「11」以外のPRDIが入力された場合には動作しない。
[ノーマル入力モードの場合]
ノーマル入力モードの場合、有効サイクル検出部302は、シーケンサ101から処理内容の成立を示すPRDI「11」が入力されると、カウンタ処理を開始する。カウンタ動作開始後は、クロックに同期し、Intervalに設定されたステップのタイミングでイネーブル信号(output−enable)を出力する。なお、コンフィグレーションレジスタ部301の「Trigger−mode」が自動起動に設定されている場合には、上述した設定は無効となる。
[カスケード入力モードの場合]
カスケード入力モードの場合、有効サイクル検出部301は、上段に接続されているカウンタ回路112から所定の条件の成立を示すPRDI「11」が入力されるとループ変数を更新するためのイネーブル信号(output−enable)を出力する。
ループ開始値・終了値書き換え部303は、カウンタ処理が停止したときにデータ入力が有効な場合(valid信号=「1」のとき)、そのパラメータを内部レジスタ「Start」と「End」とにそれぞれ書き込む。なお、初期設定ではDI0を内部レジスタ「Start」に、DI1を内部レジスタ「End」の書き換え用に割り当てているが、コンフィグレーションデータの設定により割り当てを入れ替えることもできる。
ループ制御部304は、コンフィグレーションデータによってコンフィグレーションレジスタ部301の内部レジスタ「Step」に設定された値に応じて、カウント値を次状態に更新する。また、同じく内部レジスタ「CMP−mode」の設定にしたがってループ処理の終了判定をおこなう。この判定処理によってループ処理が終了した場合には、ループエンド信号(loop−end)を出力レジスタ部305に出力する。
図4は、ループ制御部の構成例を示すブロック図である。図4を用いてループ制御部304によって実行されるforループ制御と条件判定について説明する。図4のように、ループ制御部304には、演算子401〜405が配置されている。
演算子401では、ループ変数DOと、インクリメント値Stepとが入力され、加算処理がおこなわれる。演算子401による加算結果は、ループパラメータ信号(loop−param)として出力されるとともに、演算子402にも出力される。演算子402では、演算子401による加算結果と、ループ変数の終了値Endとの加減算がおこなわれ、演算結果は、演算子403および演算子404に出力される。
演算子402による演算結果が「0」の場合には、演算子403からフラグが出力され、演算結果が「0以外」の場合には、演算子404からフラグが出力される。演算子403もしくは演算子404のいずれかから出力されたフラグは、演算子405に入力される。
演算子405では、ループ成立判定モードを指定するCMP−modeに応じて、入力されたフラグがループ成立条件を満足するか否かを判断する。演算子405によってループ成立条件を満足すると判断された場合には、ループエンド信号(loop−end)が出力レジスタ部305に出力される。
出力レジスタ部305は、内部レジスタ「DO」,「VO」,「CO」,「PRDDO」が用意されている。有効サイクル検出部302からイネーブル信号(output−enable)が入力された場合に、ループ制御部304からのループパラメータ信号(loop−param)を「DO」に格納し、DOとして、「VO」に格納されるvalid信号(VO)とともに外部へ出力する。また、ループパラメータ信号(loop−param)がアサートされていない場合には、「DO」の出力値の更新は停止し、同時に出力されるvalid信号の値も「0」となる。
また出力レジスタ部305は、ループパラメータ信号(loop−param)がアサートされている場合には、「PRDDO」および「CO」に格納されたPRDIおよびCOの出力は、コンフィグレーションレジスタ部301の内部レジスタ「Output−mode」設定に依存する。また、ループパラメータ信号(loop−param)信号がアサートされない場合には、「PRDDO」の出力値はすべてPRDI「00」となる。以下、出力モードの設定ごとの処理について説明する。
[ノーマル出力モード]
ノーマル出力モードの場合、出力レジスタ部305は、ループエンド信号(loop−end)がアサートされると、「PRDDO」よりPRDI「11」を出力するとともに、COをアサートする。また、ループエンド信号(loop−end)がアサートされていない場合には、「PRDDO」よりPRDI「10」を出力する。
[カスケード出力モード]
カスケード出力モードの場合、出力レジスタ部305は、ループエンド信号(loop−end)がアサートされると、出力レジスタ部305の「DO」に格納する値を、コンフィグレーションレジスタ部301の内部レジスタ「Start」の値に初期化する。また、「DO」の格納値をコンフィグレーションレジスタ部301の内部レジスタ「Start」に初期化した場合には、「PRDDO」よりPRDO「11」を出力する。また、上述した動作以外のときには、「PRDDO」よりPRDO「10」を出力する。
(カウンタ回路の動作)
つぎに、カウンタ回路112の入力モード(ノーマル、カスケード)、出力モード(ノーマル、カスケード)それぞれの設定に応じた具体的な動作内容について説明する。なお、以下説明に利用する図5〜7のタイミングチャートでは、便宜上2ビット信号の出力は「2’bxx」と表記する。
・ノーマル入力モード−ノーマル出力モード
図5は、ノーマル入力モード−ノーマル出力モードのカウンタ回路の動作を示すタイミングチャートである。ここでは、ループ処理として「for(i=0;i<1024;i++)」と記述されたシングルループの制御をおこなう場合のカウンタ回路112の動作を示す。ここで、インターバル設定は、0とすることで毎クロック毎にカウント値が更新される。
図5のタイミングチャートでは、クラスタ内で生成する制御信号である2ビット信号PRDI「2’bxx」が成立をあらわす「11(2b’11)」となった場合にPRDIがトリガとなり、forループカウント動作が開始される。
ノーマル入力モード−ノーマル出力モードに設定されたカウンタ回路の動作の特徴としては、PRDI「11」でカウント処理の動作を開始させ(タイミング501)、カウント値の有効・無効はvalid信号(VO)の値で判断する。具体的にはカウント動作中はVOを「High」状態で出力させる。また、カウント処理の出力のインターバル設定を0とすることで、連続してアドレスカウントを実行させることができる。
また、カウント処理実行中はPRDI「11」を出力し、ループ条件成立時にはPRDI「10」を出力する。さらに、カウント処理の停止タイミングでは、カスケード信号(CO)を1パルスアサートする。
・ノーマル入力モード−カスケード出力モード
図6は、ノーマル入力モード−カスケード出力モードのカウンタ回路の動作を示すタイミングチャートである。ここでは、ループ処理として「for(i=0;i<3; i++){…}」と記述されているとする。なお、カスケード出力モードは後段に同じforループ処理をおこなうカウンタ回路112を接続する場合に設定される。すなわち、カスケード出力モードに設定することによって、後段のカウンタ回路112をPRDI「11」によって1ステップ進めることができる。
ノーマル入力モード−カスケード出力モードのカウンタ回路の動作の特徴としては、ループ処理の動作中はループ初期値のタイミングでPRDI「11」を出力する。ループ処理の動作以外の動作時にはPRDI「10」を出力する。また、動作時にはPRDI「00」を出力する。そして、カスケード信号入力(CI)がアサートされたとき(タイミング601)にカウント処理を停止させる。
・カスケード入力モード−ノーマル出力モード
図7は、カスケード入力モード−ノーマル出力モードのカウンタ回路の動作を示すタイミングチャートである。ここでは、ループ処理として「for(i=0;i<3;i++){…}」と記述されているとする。なお、カスケード入力モードは、同じforループ処理をおこなうカウンタ回路112のカスケード出力モードに設定されたカウンタから出力されたPRDIを受け付けて外部ループの動作をおこなう場合に設定する。
カスケード入力モード−ノーマル出力モードのカウンタ回路の動作特徴としては、前段に接続されたカウンタ回路112からPRDI「11」が入力されると、カウント値を更新する。また、PRDI「10」が入力されると、カウント値は保持され、PRDI「0x」が入力されるとカウント値は保持される。しかし、PRDI「0x」の入力時はvalid信号(VO)が0となるため無効出力となる。また、ループ条件成立時は、にカスケード信号(CI)を出力する。
以上説明したように、カウンタ回路112では、コンテキストに基づいて、コンフィグレーションレジスタ部301によって出力信号の出力元、出力信号の出力先そして出力信号を前記出力先に出力する条件からなるループ処理の内容が設定される。設定されたループ処理は、ループ制御部304によって実行される。そして、出力レジスタでは、実行されたループ処理の実行回数をカウントし、カウントされた実行回数および前記条件に基づいて、出力信号を前記出力先に出力される。
さらに、カウンタ回路112は、有効検出部302によってPRDI「11」を受け付けると、前記コンテキストをあらかじめ設定されたつぎのコンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、出力信号の出力先、および前記出力信号を出力先に出力する条件からなるループ処理の内容を設定する。また、ループ制御部304と出力カウンタ部305とでは、切り替えられたコンテキストによって内容が設定されたループ処理を実行する設定に応じて、あらたなループ処理を実行させことができる。
(実施例)
つぎに、上述したような本実施の形態にかかるカウンタ回路を備えた動的再構成回路の具体的な実施例について説明する。ここでは、実施例として、C言語によって多重ループ処理が記述された場合、逐次ループ処理が記述された場合の制御内容についてそれぞれ説明する。
(1)多重ループ処理の制御
まず、多重ループ制御を実装する場合について説明する。図8は、3重ループ処理が記述されたソースコードの一例を示す説明図である。また、図9は、カウンタ回路による3重ループ処理の構成とループパラメータとを示す説明図である。図8のソースコード800のような記述がなされた場合、図9のような動的再構成回路900が構成される。
動的再構成回路900は、ループ0〜ループ2の3つのループカウンタによって構成されて、ループパラメータ910が設定される。このときループ0にはループ1がカスケード接続され、ループ1にはループ2がカスケード接続されている。これらのループ0〜2の入出力モードは、下記の様な設定になっている。
[各カウンタの入出力モード設定]
ループ0:ノーマル入力モード/カスケード出力モード
ループ1:カスケード入力モード/カスケード出力モード
ループ2:カスケード入力モード/ノーマル出力モード
図10は、3重ループ処理の入出力値を示すタイミングチャートである。なお、図10のタイミングチャートにおいては、ループ0〜ループ2のRPDIおよびPRDOは所定の条件の成立をあらわす「11」の場合は、T(True)を、非成立をあらわす「10」の場合には、F(False)、無効をあらわす「0x」の場合にはN(Invalid)を示す。
図10のタイミングチャートに示すように、ループ0では、ループ変数kで記述されている最内ループのカウント処理がおこなわれる。ループ変数jで記述されているループ1では、ループ0からTが出力されるとループカウントが開始される。このループ1もループ成立条件を満足すると、ループ変数iで記述されるループ2にTを出力する。このループ2が最外ループとなる。
(2)ループ逐次処理の制御
つぎに、特定のループ処理が完了した後、つぎのループ処理を開始する逐次処理を実装する場合について説明する。図11は、カウンタ回路によるループ逐次処理の構成とループパラメータの一例を示す説明図である。また、図12は、ループ逐次処理の入出力値を示すタイミングチャートである。
図11の動的再構成回路1100は、ループ0、ループ1の2つのループカウンタによって構成されて、ループパラメータ1110が設定される。これらループ0,1の入出力モードは、下記の様な設定になっている。このループ0から出力されたPRDOを、ループ1のPRDIとして受け渡しをおこなう場合、PRDIのLSB(Least Significant Bit)を反転する必要がある。これは、図12のクロック(clock)9に示すように、ループ0のループ条件が成立するまでループ0のループ処理を非成立に設定するためである。
[各カウンタの入出力モード設定]
ループ0:ノーマル入力モード/ノーマル出力モード
ループ1:ノーマル入力モード/ノーマル出力モード
(3)ループパラメータの書き換え処理
つぎに、ループパラメータの書き換え処理について説明する。図13は、ループパラメータの書き換え処理の一例を示す説明図である。図13の動的再構成回路1300のループ1およびループ2が配置され、ループ2の出力先にはPEが接続されており、PEによる演算結果は、ループ1に入力される。また、ループ1,2およびPEには、ループパラメータ1310が設定される。
したがって、DI0およびDI1に有効データが入力された場合には、ループ1,2の内部で設定されたループパラメータの書き換え処理をカウント処理と連動して実行させることができる。このような書き換え処理を備えることによって、C言語によって記載された汎用性の高い記述をそのまま動的再構成回路1300に適用させることができる。
以上説明したように、カウンタ回路、動的再構成回路およびループ処理制御方法によれば、特定のアプリケーションに限定されず、高級言語によって記述されたループ処理を適用できることから、汎用性の高いプログラムの実装が可能となる。また、条件分岐信号(PRDI)の値をカウント処理の開始/終了に反映させることによってコンテキストの切り替えを適切に実現することができる。
以上のように、本発明にかかるカウンタ回路、動的再構成回路およびループ処理制御方法は、汎用性の高い高級言語を適用させる機器に有用であり、特に、限られたハードウェア資源で多様な機能の実現が必要とされる携帯端末機器に適している。
本実施の形態にかかる動的再構成回路を示すブロック図である。 カウンタ回路のコンフィグレーションデータのソースコードの一例を示す説明図である。 本実施の形態にかかるカウンタ回路の構成を示すブロック図である。 ループ制御部の構成例を示すブロック図である。 ノーマル入力モード−ノーマル出力モードのカウンタ回路の動作を示すタイミングチャートである。 ノーマル入力モード−カスケード出力モードのカウンタ回路の動作を示すタイミングチャートである。 カスケード入力モード−ノーマル出力モードのカウンタ回路の動作を示すタイミングチャートである。 3重ループ処理が記述されたソースコードの一例を示す説明図である。 カウンタ回路による3重ループ処理の構成とループパラメータとを示す説明図である。 3重ループ処理の入出力値を示すタイミングチャートである。 カウンタ回路によるループ逐次処理の構成とループパラメータの一例を示す説明図である。 ループ逐次処理の入出力値を示すタイミングチャートである。 ループパラメータの書き換え処理の一例を示す説明図である。
符号の説明
100,900,1100,1300 動的再構成回路
101 シーケンサ
102 条件分岐信号生成器
103 コンフィグレーションメモリ
110 PEアレー
111 PE(プロセッシングエレメント)
112 カウンタ回路

Claims (10)

  1. 再構成可能なプロセッシングエレメント(以下、「PE」という)の集合を、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路に配置されたカウンタ回路であって、
    前記コンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定する設定手段と、
    前記設定手段によって内容が設定されたループ処理を実行する実行手段と、
    前記実行手段によって実行されたループ処理の実行回数をカウントし、カウントされた実行回数および前記条件に基づいて、前記出力信号を前記出力先に出力するカウント手段と、
    を備えることを特徴とするカウンタ回路。
  2. 前記動的再構成回路から前記ループ処理の成立をあらわす分岐指示信号を検出する有効検出手段を備え、
    前記設定手段は、前記有効検出手段の検出結果に応じて前記コンテキストをあらかじめ設定されたつぎのコンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定し、
    前記実行手段は、当該切り替えられたコンテキストによって内容が設定されたループ処理を実行する設定に応じて、あらたなループ処理を実行することを特徴とする請求項1に記載のカウンタ回路。
  3. 前記コンテキストには、前記条件として、前記ループ処理の開始の初期値と、前記実行回数が前記ループ処理の回数の上限を満足するか否かを判定する判定式と、前記判定式を満足しなかった場合に前記カウント回数に加算する値とが設定されていることを特徴とする請求項1または2に記載のカウンタ回路。
  4. 前記カウント手段は、前記ループ処理の実行中に前記コンテキストの切り替え信号を受け付けると、前記ループ処理のカウントを停止させ、前記ループ処理が実行されていない場合に前記コンテキストの切り替え信号を受け付けると、あらたに切り替えられたコンテキストに応じて実行されたループ処理をカウントすることを特徴とする請求項1〜3のいずれか一つに記載のカウンタ回路。
  5. 前記カウント手段は、前記ループ処理のカウント回数が前記条件を満足した場合に、前記出力信号を前記出力先に出力することを特徴とする請求項3または4に記載のカウンタ回路。
  6. 再構成可能なプロセッシングエレメント(以下、「PE」という)の集合と、カウンタ回路とを備え、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路であって、
    前記カウンタ回路は、
    前記コンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定する設定手段と、
    前記設定手段によって内容が設定されたループ処理を実行する実行手段と、
    前記実行手段によって実行されたループ処理の実行回数をカウントし、カウントされた実行回数および前記条件に基づいて、前記出力信号を前記出力先に出力するカウント手段と、
    を備えることを特徴とする動的再構成回路。
  7. 前記カウンタ回路は複数設けられ、前記コンテキストにおいて前記ループ処理が多重化されている場合、前記カウンタ回路ごとに前記各ループ処理を実行するように再構成することを特徴とする請求項6に記載の動的再構成回路。
  8. 再構成可能なプロセッシングエレメント(以下、「PE」という)と、カウンタ回路との集合を、前記PEの処理内容と前記PE間の接続内容が記述されたコンテキストに応じて動的に切り替えることにより任意の処理を実行させる動的再構成回路におけるループ処理制御方法であって、
    前記カウンタ回路において実行する前記コンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定する設定工程と、
    前記設定工程によって内容が設定されたループ処理を実行する実行工程と、
    前記実行工程によって実行されたループ処理の実行回数をカウントするカウント工程と、
    前記カウント工程によってカウントされた実行回数および前記条件に基づいて、前記出力信号を前記出力先に出力する出力工程と、
    を含むことを特徴とするループ処理制御方法。
  9. 前記設定工程では、前記動的再構成回路から分岐指示信号を受け付けると、前記コンテキストをあらかじめ設定されたつぎのコンテキストに基づいて、動的再構成されたPEの集合からの出力信号の出力元、前記出力信号の出力先、および前記出力信号を前記出力先に出力する条件からなるループ処理の内容を設定し、
    前記実行工程は、当該切り替えられたコンテキストによって内容が設定されたループ処理を実行する設定に応じて、あらたなループ処理を実行することを特徴とする請求項8に記載のループ処理制御方法。
  10. 前記カウンタ回路は複数設けられ、前記コンテキストにおいて前記ループ処理が多重化されている場合、前記カウンタ回路ごとに前記各ループ処理を実行させることを特徴とする請求項8または9に記載のループ処理制御方法。
JP2007244314A 2007-09-20 2007-09-20 動的再構成回路およびループ処理制御方法 Expired - Fee Related JP5141151B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007244314A JP5141151B2 (ja) 2007-09-20 2007-09-20 動的再構成回路およびループ処理制御方法
US12/232,462 US7996661B2 (en) 2007-09-20 2008-09-17 Loop processing counter with automatic start time set or trigger modes in context reconfigurable PE array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007244314A JP5141151B2 (ja) 2007-09-20 2007-09-20 動的再構成回路およびループ処理制御方法

Publications (2)

Publication Number Publication Date
JP2009075875A true JP2009075875A (ja) 2009-04-09
JP5141151B2 JP5141151B2 (ja) 2013-02-13

Family

ID=40472970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007244314A Expired - Fee Related JP5141151B2 (ja) 2007-09-20 2007-09-20 動的再構成回路およびループ処理制御方法

Country Status (2)

Country Link
US (1) US7996661B2 (ja)
JP (1) JP5141151B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157773A (ja) * 2007-12-27 2009-07-16 Fujitsu Microelectronics Ltd カウンタ制御回路、動的再構成回路およびループ処理制御方法
US8719550B2 (en) 2010-03-25 2014-05-06 Fuji Xerox Co., Ltd. Reconfigurable processing system including synchronized postprocessing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191881B2 (en) * 2016-06-06 2019-01-29 Hewlett Packard Enterprise Development Lp Modifications to a stream processing topology during processing of a data stream

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005508029A (ja) * 2001-08-16 2005-03-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルアーキテクチャのためのプログラム変換方法
JP2006011825A (ja) * 2004-06-25 2006-01-12 Fujitsu Ltd 再構成可能演算装置および半導体装置
JP2006018413A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd プロセッサおよびパイプライン再構成制御方法
JP2006031127A (ja) * 2004-07-12 2006-02-02 Fujitsu Ltd 再構成可能な演算装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678646B1 (en) 1999-12-14 2004-01-13 Atmel Corporation Method for implementing a physical design for a dynamically reconfigurable logic circuit
WO2004049154A2 (en) * 2002-11-28 2004-06-10 Koninklijke Philips Electronics N.V. A loop control circuit for a data processor
US20050283743A1 (en) * 2004-06-07 2005-12-22 Mulholland Philip J Method for generating hardware information
US7941794B2 (en) * 2004-08-30 2011-05-10 Sanyo Electric Co., Ltd. Data flow graph processing method and processing apparatus provided with reconfigurable circuit
US7991984B2 (en) * 2005-02-17 2011-08-02 Samsung Electronics Co., Ltd. System and method for executing loops in a processor
US7669042B2 (en) * 2005-02-17 2010-02-23 Samsung Electronics Co., Ltd. Pipeline controller for context-based operation reconfigurable instruction set processor
KR100681199B1 (ko) * 2006-01-11 2007-02-09 삼성전자주식회사 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005508029A (ja) * 2001-08-16 2005-03-24 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト リコンフィギュアラブルアーキテクチャのためのプログラム変換方法
JP2006011825A (ja) * 2004-06-25 2006-01-12 Fujitsu Ltd 再構成可能演算装置および半導体装置
JP2006018413A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd プロセッサおよびパイプライン再構成制御方法
JP2006031127A (ja) * 2004-07-12 2006-02-02 Fujitsu Ltd 再構成可能な演算装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009157773A (ja) * 2007-12-27 2009-07-16 Fujitsu Microelectronics Ltd カウンタ制御回路、動的再構成回路およびループ処理制御方法
US8719550B2 (en) 2010-03-25 2014-05-06 Fuji Xerox Co., Ltd. Reconfigurable processing system including synchronized postprocessing

Also Published As

Publication number Publication date
JP5141151B2 (ja) 2013-02-13
US7996661B2 (en) 2011-08-09
US20090083527A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
CN109716318B (zh) 配置硬件在运行时期间多种模式下操作的装置和方法
US20100100704A1 (en) Integrated circuit incorporating an array of interconnected processors executing a cycle-based program
JP4911022B2 (ja) カウンタ制御回路、動的再構成回路およびループ処理制御方法
JPS63291134A (ja) 論理集積回路
JP5141151B2 (ja) 動的再構成回路およびループ処理制御方法
US7051194B2 (en) Self-synchronous transfer control circuit and data driven information processing device using the same
CN111383704B (zh) 一种存储器内建自测试电路和对存储器的测试方法
CN102063308B (zh) 一种用于地震勘探资料处理流程控制的方法
JP2009505302A (ja) マイクロコントローラによる波形発生方法及び装置
US7345496B2 (en) Semiconductor apparatus and test execution method for semiconductor apparatus
JP2015230619A (ja) データ処理装置
US8060729B1 (en) Software based data flows addressing hardware block based processing requirements
JP7384374B2 (ja) 中央演算処理装置
JP5444784B2 (ja) コンテキスト作成プログラム、コンパイラ装置およびコンテキスト作成方法
KR100284287B1 (ko) 가변 리셋 어드레스를 가지는 마이크로프로세서
KR100542699B1 (ko) 마이크로컨트롤러의 롬 덤프 모드를 지원하기 위한 장치
WO2015136686A1 (ja) 情報処理装置及び方法
JPH10319096A (ja) 半導体試験装置
JPS63208124A (ja) マイクロプログラム制御装置
JP2007234046A (ja) 中央演算処理装置のテスト回路装置
JPH07182305A (ja) マイクロプロセッサ
JPH05134894A (ja) 内蔵マイクロコードデバツグ回路
JPH10254510A (ja) シーケンサ
JPS62271022A (ja) マイクロプログラム制御装置
JP2011128769A (ja) 並列演算装置、並列演算方法及び並列演算プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

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: 20121023

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: 20121105

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5141151

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees