JP4838009B2 - リコンフィグラブル回路 - Google Patents

リコンフィグラブル回路 Download PDF

Info

Publication number
JP4838009B2
JP4838009B2 JP2006045855A JP2006045855A JP4838009B2 JP 4838009 B2 JP4838009 B2 JP 4838009B2 JP 2006045855 A JP2006045855 A JP 2006045855A JP 2006045855 A JP2006045855 A JP 2006045855A JP 4838009 B2 JP4838009 B2 JP 4838009B2
Authority
JP
Japan
Prior art keywords
data
counter
register
output
configuration
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.)
Expired - Fee Related
Application number
JP2006045855A
Other languages
English (en)
Other versions
JP2007228188A (ja
Inventor
一郎 笠間
正人 三宅
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 JP2006045855A priority Critical patent/JP4838009B2/ja
Priority to EP06252787A priority patent/EP1826666A1/en
Priority to US11/442,971 priority patent/US7783693B2/en
Priority to CNA2006100869046A priority patent/CN101025730A/zh
Publication of JP2007228188A publication Critical patent/JP2007228188A/ja
Application granted granted Critical
Publication of JP4838009B2 publication Critical patent/JP4838009B2/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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/30094Condition code generation, e.g. Carry, Zero flag
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Logic Circuits (AREA)

Description

本発明は、リコンフィグラブル回路に関する。
リコンフィグラブル回路は、複数の機能回路を動的に切り替えて再構成することができる。アドレス生成機能回路は、単純な1次元連続アドレス生成や、単純2次元アドレス生成を実現する。その回路構成としては、単純インクリメンタル回路を1つ(1次元)又は複数(2次元以上)持つことによって、機能を実現している。動作の手順としては、起動トリガをうけてから自走し、比較的単純な動作のみ実現している。
下記の特許文献1には、ALUを用いたデータ転送アドレス生成装置が記載されている。バスマスタからスレーブユニットに向けて出力された要求アドレスデータを要求アドレスレジスタに格納する。バスマスタからのオーダリングを指定する信号をシステムバスインタフェース部でデコードして、マルチプレクサでいずれかのアドレステーブルを選択する。カウントクロックに応じてインクリメントされるバイナリカウンタのカウント値を、選択されたアドレステーブルでアドレステーブルデータに変換してマルチプレクサを介してALUに与える。ALUでアドレステーブルデータと要求アドレスデータとを加算し、その結果符号ビットが無効アドレスを示した場合バイナリカウンタをさらにインクリメントする。ALUからのアドレスデータをマスク回路でマスクして転送アドレスデータを生成する。
下記の特許文献2には、アドレス生成を行うディジタル信号処理プロセッサが記載されている。入力データ信号を伝送する複数のデータ入力バスと、上記データ入力バスからそれぞれの入力データ信号を入力し、この入力データ信号を記憶するデータメモリと、このデータメモリから出力された入力データ信号を入力し、演算処理を行う演算部と、上記演算部と上記データメモリとの動作を制御するアドレス生成部とからなるディジタル信号処理プロセッサにおいて、上記演算部におけるデータ入出力語長と、上記アドレス生成部におけるアドレス演算の語長とを同一にし、上記演算部にて演算された演算データを上記アドレス生成部のアドレスとする。
特開平7−319762号公報 特開平7−168713号公報
リコンフィグラブル回路では、アドレス生成のための単純なインクリメンタル回路しか設けられていない。これでは、高度なアドレス生成を行うことが困難である。
本発明の目的は、高機能のカウンタを実現できるリコンフィグラブル回路を提供することである。
本発明の一観点によれば、第1の入力データ及び第2の入力データの加算又は減算を行って出力データを出力する第1の演算器と、前記第1の演算器の出力データ又は第3の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第1のセレクタと、カウンタモードでは前記第1のセレクタにより選択されたデータを選択し、ALUモードでは第4の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第2のセレクタと、カウンタモードではカウンタのステップサイズを選択し、ALUモードでは第5の入力データを選択し、前記第1の演算器に前記第2の入力データとして出力する第3のセレクタとを有することを特徴とするリコンフィグラブル回路が提供される。
第1の演算器をALUとして動作させることができると共に、カウンタとしても動作させることができる。これにより、高機能のカウンタを実現することができる。
(全体構成)
図1は、本発明の実施形態によるコンフィグラブル回路の構成例を示す図である。全体制御部101は、複数のクラスタ102を制御する。複数のクラスタ102間では、それぞれ制御信号及びデータの通信が行われる。コンフィグラブル回路は、LSIで構成される。
図2は、クラスタ102の構成例を示す図である。シーケンサ201、複数のPE(プロセッシングエレメント:Processing Element)204及びRAM205は、ネットワーク203に接続され、制御信号及びデータの通信を行う。実線の矢印はデータを示し、破線の矢印は制御信号を示す。RAM205は、ネットワーク203に対して、アドレスを入力し、データを出力する。シーケンサ201は、フェッチイネーブル信号FETCHEN及びアドレスADRを生成出力する。コンフィグレーションメモリ202は、コンフィグレーションデータを記憶し、フェッチイネーブル信号FETCHEN及びアドレスADRを入力し、コンフィグレーションデータを複数のPE204に出力する。PE204は、フェッチイネーブル信号FETCHEN及びコンフィグレーションデータを入力し、それに応じて加減算器、カウンタ、乗算器等の所定の機能の動作を行う。
図3は、PE204の構成例を示す図である。コンフィグレーションメモリ302は、図2のコンフィグレーションメモリ202に対応する。コンフィグレーションメモリ202は、各PE204に分配して配置される。演算処理部301は、データDI0,DI1及びバリッド信号VALID0,VALID1を入力し、それを基に演算を行い、出力制御部305を介してデータDOUTを出力する。バリッド信号VALID0は、データDI0の有効又は無効を示すタイミング信号である。バリッド信号VALID1は、データDI1の有効又は無効を示すタイミング信号である。コンフィグレーションメモリ302は、RAMであり、フェッチイネーブル信号FETCHEN及びアドレスADRを入力し、アドレスADRに応じたコンフィグレーションデータをコンフィグレーションレジスタ303に出力する。コンフィグレーションレジスタ303は、フェッチイネーブル信号FETCHENに応じて、そのコンフィグレーションデータを記憶する。制御部304は、リセット信号RESET、バリッド信号VALIDC及びプリディケート信号PREDICATEを入力し、コンフィグレーションレジスタ303のデータに応じて、演算処理部301を制御し、出力制御部305を介してバリッド信号OUTVALIDを出力する。出力制御部305は、レジスタを有し、信号STALL/STOPに応じて、演算処理部301及び制御部304の出力信号をそれぞれ出力信号DOUT及びOUTVALIDとして出力する。すなわち、出力制御部305は、出力信号DOUT及びOUTVALIDの出力タイミングを制御する。書き込み制御部306は、データDI0及びDI1を入力し、そのデータDI0又はDI1に応じて、コンフィグレーションレジスタ303にデータを書き込む。
図4は、演算処理部301の構成例を示す図である。演算処理部301は、ALU(算術論理演算ユニット:Arithmetic and Logic Unit)401、フリップフロップ(レジスタ)405及びセレクタ411〜417を有する。ALU401は、加減算器(演算器)402、キャリー制御部403及びフラグ生成部404を有する。
セレクタ411は、データDI1又は即値IMMを選択して出力する。データDI1は、図2のネットワーク203から入力されるデータである。即値IMMは、図3のコンフィグレーションレジスタ303に格納されているデータである。セレクタ412は、セレクタ411の出力データ又はフリップフロップ405のデータを選択して出力する。セレクタ413は、データDI1又は即値IMMを選択して出力する。セレクタ414は、セレクタ412又は413の出力データを選択して出力する。セレクタ415は、ステップサイズSTEP1又はSTEP2を選択して出力する。ステップサイズSTEP1及びSTEP2は、コンフィグレーションレジスタ303に格納されており、カウンタのステップサイズを示す。セレクタ416は、セレクタ415又は初期値0を選択して出力する。セレクタ417は、セレクタ416の出力データ又はデータDI0を選択して出力する。
キャリー制御部403は、キャリーデータCIを入力し、加減算器402に出力する。加減算器402は、セレクタ414及び417の出力データ、並びにキャリーデータCIを入力し、加算又は減算を行い、データOUT1を出力する。フラグ生成部404は、出力データOUT1を基にエラーフラグERROR、キャリーフラグCARRY及びプリディケート信号PREDICATEを出力する。フリップフロップ405は、データOUT1をラッチし、セレクタ412に出力する。エラーフラグERROR、キャリーフラグCARRY及びプリディケート信号PREDICATEは、図3の出力制御部305内のフリップフロップを介して出力される。
図2のPE204は、コンフィグレーションデータに応じて、ALUモード及びカウンタモードを有する。演算処理部301は、ALUモードではALUとして動作し、カウンタモードではカウンタとして動作する。カウンタは、例えば、アドレスをカウントして生成することができる。
セレクタ411は、カウンタモードにおける初期アドレス値として、即値IMM又はデータDI1を選択出力するためのセレクタである。セレクタ412は、カウンタモードにおいて、初期アドレス値をロードするとき(初期時)にはセレクタ411の出力を選択出力し、それ以外ではフリップフロップ405の出力である前回のアドレス値を選択出力する。セレクタ413は、ALUモードにおいて、即値IMM又はデータDI1を選択出力するためのセレクタである。セレクタ414は、カウンタモードのときにはセレクタ412の出力を選択出力し、ALUモードのときにはセレクタ413の出力を選択出力する。
セレクタ415は、カウンタモードにおいて、ステップサイズSTEP1又はSTEP2を選択出力する。セレクタ416は、カウンタモードにおいて、初期アドレス値をロードするときには0を選択出力し、それ以外ではセレクタ415の出力を選択出力する。セレクタ417は、カウンタモードではセレクタ416の出力を選択出力し、ALUモードではデータDI0を選択出力する。
図3において、コンフィグレーションレジスタ303は、カウンタモード又はALUモードを記憶するための動作モードレジスタを有する。動作モードレジスタは、フェッチイネーブル信号FETCHENに応じて、コンフィグレーションメモリ302から読み出された動作モードデータを記憶する。制御部304は、コンフィグレーションレジスタ303に記憶されるコンフィグレーションデータに応じて、セレクタ411〜417を制御する。
図5は、ALUモードにおける図4の演算処理部301の動作を説明するための図である。セレクタ411は、コンフォグレーションデータに応じて、即値IMM又はデータDI1を選択し、加減算器402に出力する。加減算器402は、セレクタ411の出力、データDI0及びキャリーデータCIを入力し、加算又は減算を行い、データOUT1を出力する。フリップフロップ501は、図3の出力制御部305内に設けられ、データOUT1を所定のタイミングでラッチし、データDOUTを出力する。
図6は、カウンタモードにおける図4の演算処理部301の動作を説明するための図である。以下、アドレス値のカウントを行う場合を例に説明するが、その他の値のカウントを行うこともできる。セレクタ412は、初期アドレス値をロードするときには初期アドレス値INIを選択出力し、それ以外ではフリップフロップ405の出力である前回のアドレス値を選択出力する。初期アドレス値INIは、図4のセレクタ411の出力値である。セレクタ415は、カウンタのステップサイズSTEP1又はSTEP2を選択する。ステップサイズSTEP1及びSTEP2を用いて、2次元アドレスを生成することができる。セレクタ416は、初期アドレス値INIをロードするときには0を選択出力し、それ以外ではセレクタ415の出力を選択出力する。加算器402は、セレクタ412及び416の出力値を加算し、アドレス値OUT1をフリップフロップ405及び501に出力する。フリップフロップ405は、動作モードに応じて、バリッド信号VALIDCに同期して、アドレス値OUT1をラッチし、セレクタ412に出力する。フリップフロップ501は、図5と同様に、図3の出力制御部305内に設けられ、動作モードにおうて、バリッド信号VALIDCに同期して、アドレス値OUT1を所定のタイミングでラッチし、アドレス値DOUTを出力する。
初期値INIは、ネットワーク203(図2)の外部データパスから1サイクルで取得可能であり、その初期値INIをカウンタ動作の初期アドレス値とすることができる。初期値INIは、図4に示すように、コンフィグレーションレジスタ303内のデータIMMの他、ネットワーク203からのデータDI1を用いることができる。
カウンタモードには、インターバルモード及びカウントモードがある。以下、それぞれの動作について説明する。
(インターバルモード)
図7は、インターバルモードの動作例を説明するためのタイミングチャートである。制御部304は、フェッチイネーブル信号FETCHENのパルスをトリガとして演算処理部301をカウンタとして起動する。フェッチイネーブル信号FETCHENのパルスの後、初期オフセット時間INOF経過すると、アドレス値DOUTとして4が出力される共にバリッド信号OUTVALIDがハイレベルになる。初期オフセット時間INOFは、例えば5クロックである。バリッド信号OUTVALIDは、ハイレベルであればアドレス値DOUTが有効でことを示し、ローレベルであればアドレス値DOUTが無効であることを示す。その後、インターバル時間INT経過する毎に、次のアドレス値DOUT及びバリッド信号OUTVALIDが出力される。インターバル時間INTは、例えば3クロックであり、各アドレス出力値DOUT間のインターバル時間である。この場合、初期アドレス値INIは4であり、ステップサイズSTEP1は4である。初期オフセット時間INOF及びインターバル時間INTは、図3のコンフィグレーションメモリ302及びコンフィグレーションレジスタ303に格納されている。出力制御部305は、コンフィグレーションレジスタ303内のインターバル時間INTに応じて、アドレス出力値DOUTの出力タイミングを制御する。インターバルモードによれば、フェッチイネーブル信号FETCHENを用いることにより、アプリケーション動作と連携して、カウンタを起動することができる。
図8は、インターバルモードの他の動作例を説明するためのタイミングチャートである。図8の動作例は、上記のインターバル時間INTを0に設定した例である。また、ステップサイズSTEP1及びSTEP2を用いて、2次元アドレスを設定する例を示す。初期アドレス値は4に設定され、第1のステップサイズSTEP1は4に設定され、第2のステップサイズSTEP2は10(16進数)に設定され、第1の出力回数CNT1が2に設定され、第2の出力回数CNT2が2に設定される。上記の設定値は、コンフィグレーションメモリ302及びコンフィグレーションレジスタ303に格納されている。
初期アドレス値は4に設定されているので、第1のアドレス値DOUTは4になる。次に、第1のステップサイズSTEP1が4であるので、第2のアドレス値DOUTは8になる。第1の出力回数CNT1が2であるので、1次元のアドレス生成は終了する。次に、第2のステップサイズSTEP2が10(16進数)であるので、第3のアドレス値DOUTは18(16進数)になる。次に、第1のステップサイズSTEP1が4であるので、第4のアドレス値DOUTは1C(16進数)になる。第1の出力回数CNT1が2であるので1次元のアドレス生成は終了し、第2の出力回数CNT2が2であるので2次元のアドレス生成も終了する。インターバル時間INTが0であるので、4個のアドレス値DOUTは連続して出力され、その間、バリット信号OUTVALIDはハイレベルを維持する。
図9は、インターバルモードの他の動作例を説明するためのタイミングチャートである。フェッチイネーブル信号FETCHENの第1のパルスが生成されると、コンフィグレーションメモリ302内の第1のコンフィグレーションデータがコンフィグレーションレジスタ303に設定され、第1のアドレスD1が生成される。その後、フェッチイネーブル信号FETCHENの第2のパルスが生成されると、クロックCLKに同期してカウンタはセルフリセットされ、コンフィグレーションメモリ302内の第2のコンフィグレーションデータがコンフィグレーションレジスタ303に設定され、第2のアドレスD2が生成される。
(カウントモード)
カウントモードには、第1のカウントモード及び第2のカウントモードがある。図10を参照しながら第1のカウントモードを説明し、図11を参照しながら第2のカウントモードを説明する。
図10は、第1のカウントモードの動作例を説明するためのタイミングチャートである。フェッチイネーブル信号FETCHENのパルスが生成されると、コンフィグレーションデータの設定は行われるが、カウンタは起動しない。バリッド信号VALIDCがハイレベルになると、その次のサイクル(クロック)でカウンタは起動する。すなわち、制御部304は、他のPE204により出力されたバリッド信号VALIDCを入力し、バリッド信号VALIDCをトリガとして、演算処理部301をカウンタとして起動する。その後、カウンタは、カウントを繰り返し、アドレス値DOUTとしてカウンタ値を出力する。バリッド信号VALIDCを用いることにより、外部からカウンタの起動を指示することができる。
図11は、第2のカウントモードの動作例を説明するためのタイミングチャートである。フェッチイネーブル信号FETCHENのパルスが生成されると、コンフィグレーションデータの設定は行われるが、カウンタは起動しない。バリッド信号VALIDCがハイレベルになると、カウンタは起動する。ただし、図10と異なるのは、バリッド信号VALIDCは、図6に示すように、フリップフロップ405及び501の同期信号として用いられる点である。すなわち、バリッド信号VALIDCの各パルスが、各カウント値DOUTの出力タイミングを指示する。バリッド信号VALIDCのパルスが入力される毎に、カウント値DOUTが出力されると共にバリッド信号OUTVALIDがハイレベルになる。出力制御部305は、他のPE204により出力されたバリッド信号VALIDCを入力し、バリッド信号VALIDCに応じて、各カウント値(出力データ)DOUTの出力タイミングを制御する。バリッド信号VALIDCを用いることにより、外部から各カウント値DOUTの出力タイミングを指示することができる。
図12は第2のカウントモードの他の動作例を説明するためのタイミングチャートであり、図14は2次元画像の画素データを示す図である。モードVTIMを0に設定したときの動作例を示す。バリッド信号VALIDCのパルスが3個入力される毎に、カウント値DOUT及びバリッド信号OUTVALIDの出力が指示される。モードVTIMが0のときには、バリッド信号VALIDCの3個のパルスのうちの最後のパルスが入力される毎に、カウント値DOUTが出力されると共にバリッド信号OUTVALIDがハイレベルになる。例えば、図14において、3×3画素のうちの右端の列の画素データ1−3,2−3,3−3のアドレスを生成する際に用いることができる。
図13は、第2のカウントモードの他の動作例を説明するためのタイミングチャートである。モードVTIMを1に設定したときの動作例を示す。バリッド信号VALIDCのパルスが3個入力される毎に、カウント値DOUT及びバリッド信号OUTVALIDの出力が指示される。モードVTIMが1のときには、バリッド信号VALIDCの3個のパルスのうちの最初のパルスが入力される毎に、カウント値DOUTが出力されると共にバリッド信号OUTVALIDがハイレベルになる。例えば、図14において、3×3画素のうちの左端の列の画素データ1−1,2−1,3−1のアドレスを生成する際に用いることができる。
(プリディケート信号)
図15は、第1のALU1501、第2のALU1502及びプリディケート信号PREDICATEを示す図である。ALU1501及び1502は、それぞれ異なるPE204内のALUである。プリディケート信号PREDICATEは、ALU(演算器)の演算結果により生成されるフラグ信号であり、例えば図4のフラグ生成部404により生成出力される。例えば、第1のALU1501は、データA及びBが同じであればプリディケート信号PREDICATEをハイレベル(例えば11(2進数))にし、データA及びBが同じでなければプリディケート信号PREDICATEをローレベルにする。第2のALU1502は、プリディケート信号PREDICATEがハイレベルであればデータC及びDを加算してデータEを出力し、プリディケート信号PREDICATEがローレベルであれば出力データEを維持する。
図16は、ALU1601、カウンタ1602及びプリディケート信号PREDICATEを示す図である。ALU1601及びカウンタ1602は、それぞれ異なるPE204内のALU及びカウンタである。ALU1601はALUモードのPE204を示し、カウンタ1602はカウンタモードのPE204を示す。ALU1601は、内部の演算器の演算結果に応じてプリディケート信号PREDICATEを生成する。例えば、ALU1601は、データA及びBが同じであればプリディケート信号PREDICATEをハイレベル(例えば11(2進数))にし、データA及びBが同じでなければプリディケート信号PREDICATEをローレベルにする。カウンタ1602は、プリディケート信号PREDICATEがハイレベルであれば動作を停止し、プリディケート信号PREDICATEがローレベルであれば動作を開始する。すなわち、カウンタ1602として動作するPE204は、カウンタモードにおいて、プリディケート信号PREDICATEに応じて、カウンタとしての動作を開始又は停止する。これにより、カウンタ1602は、他のPE204内のALU1601の動作要因によって、開始又は停止することができる。
図17は、プリディケート信号PREDICATEによるカウンタの一時停止を示すタイミングチャートである。プリディケート信号PREDICATEは、00(2進数)がカウンタの動作指示を示し、10(2進数)がカウンタの一時停止指示を示す。プリディケート信号PREDICATEが00(2進数)のときには、カウンタは動作する。プリディケート信号PREDICATEが10(2進数)のときには、カウンタは動作を一時停止する。その後、プリディケート信号PREDICATEが00(2進数)になると、カウンタは動作を再開する。
図18は、プリディケート信号PREDICATEによるカウンタの完全停止を示すタイミングチャートである。プリディケート信号PREDICATEは、00(2進数)がカウンタの動作指示を示し、11(2進数)がカウンタの完全停止指示を示す。フェッチイネーブル信号FETCHENの第1のパルスが生成されると、第1のコンフィグレーションデータが設定される。プリディケート信号PREDICATEが00(2進数)のときには、カウンタは動作する。その後、少なくともクロックの1サイクルでもフェッチイネーブル信号FETCHENが11(2進数)になると、その次のサイクル(クロック)でカウンタは完全停止する。その後、プリディケート信号PREDICATEが00(2進数)になっても、カウンタは停止したままである。すなわち、PE204は、プリディケート信号PREDICATEによりカウンタの動作停止が指示されると、フェッチイネーブル信号FETCHENが入力されるまで、カウンタとしての動作を停止する。
次に、フェッチイネーブル信号FETCHENの第2のパルスが生成されると、第2のコンフィグレーションデータが設定される。プリディケート信号PREDICATEが00(2進数)になると、カウンタは動作する。
(コンフィグレーションレジスタのデータ書き換え)
図19は、図3の書き込み制御部306がコンフィグレーションレジスタ303のデータを書き換える処理を示すタイミングチャートである。フェッチイネーブル信号FETCHENのパルスが生成される度に、コンフィグレーションデータが設定され、コンフィグレーションレジスタ303内のコンフィグレーション書き換え設定レジスタCFGSETが設定される。コンフィグレーション書き換え設定レジスタCFGSETは、0のときにはコンフィグレーションレジスタ303の書き換えを禁止し、1のときにはコンフィグレーションレジスタ303の書き換えを許可する。バリッド信号VALID0は、ハイレベルがデータDI0の有効を示し、ローレベルがデータDI0の無効を示す。
図20は、上記のデータDI0の構成例を示す図である。データDI0は、ヘッダ2001及びデータ2002を示す。ヘッダ2001は、コンフィグレーションレジスタ303内の書き換え対象のレジスタを指定する。例えば、初期アドレス値INI又はステップサイズSTEP1等のレジスタを指定することができる。データ2002は、上記の指定されたレジスタに書き込むデータを示す。
書き込み制御部306は、データDI0を基に、指定されたレジスタに指定されたデータを書き込む。この際、書き込み制御部306は、コンフィグレーション書き換え設定レジスタCFGSETが0のときにはコンフィグレーションレジスタ303を書き換えることができず、コンフィグレーション書き換え設定レジスタCFGSETが1のときにはコンフィグレーションレジスタ303のデータを書き換えることができる。
第1のPE204内の書き込み制御部306は、第2のPE204により出力されたデータDI0を入力する。コンフィグレーションレジスタ303は、カウンタのステップサイズSTEP1及びSTEP2を記憶するためのステップサイズレジスタと、初期値INIを記憶するための初期値レジスタと、前記ステップサイズレジスタ又は前記初期値レジスタ等のデータ書き換えを許可することを示すデータを記憶するための書き換え設定レジスタCFGSET等を有する。第1のPE204内の書き込み制御部306は、書き換え設定レジスタCFGSETが書き換えを許可するデータを記憶しているときのみデータDI0に応じて前記ステップサイズレジスタ又は前記初期値レジスタ等を書き換える。書き込み制御部306は、フェッチイネーブル信号FETCHENが入力されなくても、データDI0に応じて前記ステップサイズレジスタ又は前記初期値レジスタ等を書き換える。
図21は、コンフィグレーションレジスタ303のデータ書き換えによる3次元アドレスの生成方法を説明するための図である。2次元画像を構成する画素データは、例えば0〜17のアドレスを有する。3×3画素の画像2101及び2102は、それぞれ2次元アドレス生成により指定することができる。画像2101のアドレスを生成し、その後に画像2102のアドレスを生成する場合には、3次元アドレスを生成すればよい。
まず、フェッチイネーブル信号FETCHENによりコンフィグレーションデータの設定を行い、画像2102の2次元アドレスを生成する。例えば、初期アドレス値INIを0に設定し、第1のステップサイズSTEP1を1に設定し、第2のステップアドレスSTEP2を4に設定する。これにより、0→1→2→6→7→8→12→13→14のアドレスを生成することができる。
通常は、この後に、フェッチイネーブル信号FETCHENによりコンフィグレーションデータの設定を行い、画像2102の2次元アドレスを生成する。例えば、初期アドレス値INIを3に設定し、第1のステップサイズSTEP1を1に設定し、第2のステップアドレスSTEP2を4に設定する。これにより、3→4→5→9→10→11→15→16→17のアドレスを生成することができる。
しかし、これでは2回のコンフィグレーションデータの設定が必要になり、コンフィグレーションメモリ302のコンフィグレーションデータ記憶容量を大きくしなければならない。そこで、コンフィグレーションレジスタ303を書き換えることにより、3次元アドレスを生成する。
図22は、コンフィグレーションレジスタ303のデータ書き換えによる3次元アドレス生成方法を示すリコンフィグラブル回路の構成例を示す図である。第1のPE2200は、カウンタモードとして、カウンタ2201及びフリップフロップ2202を有する。第2のPE2210は、ALUモードとして、加算器2211及びフリップフロップ2212を有する。
まず、上記の方法により、カウンタ2201は画像2101の2次元アドレスを生成する。その際、アドレス値13を生成した時点で、加算器2210は、そのアドレス値DOUTである13と−10を加算し、その加算値「3」をデータDI0としてカウンタ2201に出力する。データDI0のヘッダ2001はアドレス初期値INIのレジスタが書き換え対象であることを示し、データDI0のデータ2002は「3」が書き換えデータであることを示す。書き込み制御部306は、アドレス初期値INIのレジスタに、アドレス初期値として3を書き込む。ステップサイズSETP1及びSETP2は、前の値を維持したままである。
画像2101の最後の画素データのアドレス値14が生成された後、カウンタはアドレス初期値3から2次元アドレスを生成する。これにより、画像2102のアドレスとして、3→4→5→9→10→11→15→16→17のアドレスを生成することができる。
以上のように、2次元アドレス生成を2回繰り返すことにより、画像2101及び2102のアドレスを生成することができる。画像2102のアドレス生成開始時には、アドレス初期値INIのレジスタを書き換えればよい。これにより、1組のコンフィグレーションデータのみで、2個の2次元アドレスを生成することができ、コンフィグレーションメモリ302の容量を少なくすることができる。
1次元アドレス又は2次元アドレスの発生間隔をコンフィグレーションデータとしてユーザが設定することができる。カウンタ動作の途中であっても、コンフィグレーションレジスタ303のデータを書き換えることができるので、3次元アドレス生成も可能になる。
また、ステップサイズSTEP1及びSTEP2は、正値であっても、負値であってもよい。ステップサイズSTEP1又はSETP2を正値にすれば、カウンタはカウントアップ動作を行う。逆に、ステップサイズSTEP1又はSETP2を負値にすれば、カウンタはカウントダウン動作を行う。コンフィグレーションレジスタ303内のステップサイズSTEP1又はSTEP2を書き換えることにより、カウントアップ動作の途中でカウントダウン動作に切り替えることもできる。
また、プリディケート信号PREDICATEにより、カウント動作を停止させた後に、コンフィグレーションレジスタ303のデータを書き換えることにより、カウンタ動作を再開させることもできる。
本実施形態によれば、目的に応じて、PE204の動作モードを切り替えることにより、PE204をALUとして動作させることができると共に、カウンタとしても動作させることができる。これにより、高機能のカウンタを実現することができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態は、例えば以下のように種々の適用が可能である。
(付記1)
第1の入力データ及び第2の入力データの加算又は減算を行って出力データを出力する第1の演算器と、
前記第1の演算器の出力データ又は第3の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第1のセレクタと
を有することを特徴とするリコンフィグラブル回路。
(付記2)
さらに、カウンタモードでは前記第1のセレクタにより選択されたデータを選択し、ALUモードでは第4の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第2のセレクタを有することを特徴とする付記1記載のリコンフィグラブル回路。
(付記3)
さらに、カウンタモードではカウンタのステップサイズを選択し、ALUモードでは第4の入力データを選択し、前記第1の演算器に前記第2の入力データとして出力する第2のセレクタを有することを特徴とする付記1記載のリコンフィグラブル回路。
(付記4)
さらに、カウンタモードでは前記第1のセレクタにより選択されたデータを選択し、ALUモードでは第4の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第2のセレクタと、
カウンタモードではカウンタのステップサイズを選択し、ALUモードでは第5の入力データを選択し、前記第1の演算器に前記第2の入力データとして出力する第3のセレクタとを有することを特徴とする付記1記載のリコンフィグラブル回路。
(付記5)
さらに、第1のステップサイズ又は第2のステップサイズを選択し、前記第3のセレクタに前記カウンタのステップサイズとして出力する第4のセレクタを有することを特徴とする付記4記載のリコンフィグラブル回路。
(付記6)
前記第1のセレクタは、カウンタモードにおいて、初期時には前記第3の入力データを初期値として選択し、それ以外では前記第1の演算器の出力データを選択し、前記第2のセレクタに出力することを特徴とする付記5記載のリコンフィグラブル回路。
(付記7)
さらに、フェッチイネーブル信号及びアドレスを生成するシーケンサと、
コンフィグレーションデータを記憶するコンフィグレーションメモリと、
前記フェッチイネーブル信号及び前記アドレスに応じて、前記コンフィグレーションメモリから読み出されたコンフィグレーションデータを記憶するコンフィグレーションレジスタと、
前記コンフィグレーションレジスタに記憶されるコンフィグレーションデータに応じて、前記第1〜第3のセレクタを制御する制御部と、
前記第1の演算器の出力データの出力タイミングを制御する出力制御部とを有し、
前記第1の演算器、前記コンフィグレーションレジスタ、前記制御部及び前記出力制御部は、第1のプロセッシングエレメントを構成することを特徴とする付記4記載のリコンフィグラブル回路。
(付記8)
前記制御部は、カウンタモードにおいて、前記フェッチイネーブル信号をトリガとして、前記第1の演算器をカウンタとして起動することを特徴とする付記7記載のリコンフィグラブル回路。
(付記9)
前記コンフィグレーションレジスタは、前記第1の演算器の各出力データ間のインターバル時間を記憶するレジスタを有し、
前記出力制御部は、前記インターバル時間に応じて、前記第1の演算器の出力データの出力タイミングを制御することを特徴とする付記7記載のリコンフィグラブル回路。
(付記10)
さらに、前記第1のプロセッシングエレメントにバリッド信号を出力する第2のプロセッシングエレメントを有し、
前記第1のプロセッシングエレメント内の前記制御部は、前記バリッド信号をトリガとして、前記第1の演算器をカウンタとして起動することを特徴とする付記7記載のリコンフィグラブル回路。
(付記11)
さらに、前記第1のプロセッシングエレメントにバリッド信号を出力する第2のプロセッシングエレメントを有し、
前記第1のプロセッシングエレメント内の前記出力制御部は、前記バリッド信号に応じて、前記第1の演算器の各出力データの出力タイミングを制御することを特徴とする付記7記載のリコンフィグラブル回路。
(付記12)
さらに、第2の演算器の演算結果に応じてプリディケート信号を生成する第2のプロセッシングエレメントを有し、
前記第1のプロセッシングエレメントは、カウンタモードにおいて、前記プリディケート信号に応じて、カウンタとしての動作を開始又は停止することを特徴とする付記7記載のリコンフィグラブル回路。
(付記13)
前記第1のプロセッシングエレメントは、前記プリディケート信号によりカウンタの動作停止が指示されると、前記フェッチイネーブル信号が入力されるまで、カウンタとしての動作を停止することを特徴とする付記12記載のリコンフィグラブル回路。
(付記14)
さらに、第5の入力データを生成する第2のプロセッシングエレメントを有し、
前記コンフィグレーションレジスタは、前記カウンタのステップサイズを記憶するためのステップサイズレジスタと、前記初期値としての前記第3の入力データを記憶するための初期値レジスタと、前記ステップサイズレジスタ又は前記初期値レジスタのデータ書き換えを許可することを示すデータを記憶するための書き換え設定レジスタとを有し、
前記第1のプロセッシングエレメントは、前記書き換え設定レジスタが書き換えを許可するデータを記憶しているときのみ前記第5の入力データに応じて前記ステップサイズレジスタ又は前記初期値レジスタを書き換える書き換え制御部を有することを特徴とする付記7記載のリコンフィグラブル回路。
(付記15)
前記書き換え制御部は、前記フェッチイネーブル信号が入力されなくても、前記第5の入力データに応じて前記ステップサイズレジスタ又は前記初期値レジスタを書き換えることを特徴とする付記14記載のリコンフィグラブル回路。
本発明の実施形態によるコンフィグラブル回路の構成例を示す図である。 クラスタの構成例を示す図である。 PEの構成例を示す図である。 演算処理部の構成例を示す図である。 ALUモードにおける演算処理部の動作を説明するための図である。 カウンタモードにおける演算処理部の動作を説明するための図である。 インターバルモードの動作例を説明するためのタイミングチャートである。 インターバルモードの他の動作例を説明するためのタイミングチャートである。 インターバルモードの他の動作例を説明するためのタイミングチャートである。 第1のカウントモードの動作例を説明するためのタイミングチャートである。 第2のカウントモードの動作例を説明するためのタイミングチャートである。 第2のカウントモードの他の動作例を説明するためのタイミングチャートである。 第2のカウントモードの他の動作例を説明するためのタイミングチャートである。 2次元画像の画素データを示す図である。 第1のALU、第2のALU及びプリディケート信号を示す図である。 ALU、カウンタ及びプリディケート信号を示す図である。 プリディケート信号によるカウンタの一時停止を示すタイミングチャートである。 プリディケート信号によるカウンタの完全停止を示すタイミングチャートである。 書き込み制御部がコンフィグレーションレジスタのデータを書き換える処理を示すタイミングチャートである。 データの構成例を示す図である。 コンフィグレーションレジスタのデータ書き換えによる3次元アドレスの生成方法を説明するための図である。 コンフィグレーションレジスタのデータ書き換えによる3次元アドレス生成方法を示すリコンフィグラブル回路の構成例を示す図である。
符号の説明
101 全体制御部
102 クラスタ
201 シーケンサ
202 コンフィグレーションメモリ
203 ネットワーク
204 PE
205 RAM
301 演算処理部
302 コンフィグレーションメモリ
303 コンフィグレーションレジスタ
304 制御部
305 出力制御部
306 書き込み制御部
401 ALU
402 加減算器
403 キャリー制御部
404 フラグ生成部
405 フリップフロップ
411〜417 セレクタ

Claims (9)

  1. 第1の入力データ及び第2の入力データの加算又は減算を行って出力データを出力する第1の演算器と、
    前記第1の演算器の出力データ又は第3の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第1のセレクタと
    カウンタモードでは前記第1のセレクタにより選択されたデータを選択し、ALUモードでは第4の入力データを選択し、前記第1の演算器に前記第1の入力データとして出力する第2のセレクタと、
    カウンタモードではカウンタのステップサイズを選択し、ALUモードでは第5の入力データを選択し、前記第1の演算器に前記第2の入力データとして出力する第3のセレクタと
    を有することを特徴とするリコンフィグラブル回路。
  2. さらに、フェッチイネーブル信号及びアドレスを生成するシーケンサと、
    コンフィグレーションデータを記憶するコンフィグレーションメモリと、
    前記フェッチイネーブル信号及び前記アドレスに応じて、前記コンフィグレーションメモリから読み出されたコンフィグレーションデータを記憶するコンフィグレーションレジスタと、
    前記コンフィグレーションレジスタに記憶されるコンフィグレーションデータに応じて、前記第1〜第3のセレクタを制御する制御部と、
    前記第1の演算器の出力データの出力タイミングを制御する出力制御部とを有し、
    前記第1の演算器、前記コンフィグレーションレジスタ、前記制御部及び前記出力制御部は、第1のプロセッシングエレメントを構成することを特徴とする請求項記載のリコンフィグラブル回路。
  3. 前記制御部は、カウンタモードにおいて、前記フェッチイネーブル信号をトリガとして、前記第1の演算器をカウンタとして起動することを特徴とする請求項記載のリコンフィグラブル回路。
  4. 前記コンフィグレーションレジスタは、前記第1の演算器の各出力データ間のインターバル時間を記憶するレジスタを有し、
    前記出力制御部は、前記インターバル時間に応じて、前記第1の演算器の出力データの出力タイミングを制御することを特徴とする請求項記載のリコンフィグラブル回路。
  5. さらに、前記第1のプロセッシングエレメントにバリッド信号を出力する第2のプロセッシングエレメントを有し、
    前記第1のプロセッシングエレメント内の前記制御部は、前記バリッド信号をトリガとして、前記第1の演算器をカウンタとして起動することを特徴とする請求項記載のリコンフィグラブル回路。
  6. さらに、前記第1のプロセッシングエレメントにバリッド信号を出力する第2のプロセッシングエレメントを有し、
    前記第1のプロセッシングエレメント内の前記出力制御部は、前記バリッド信号に応じて、前記第1の演算器の各出力データの出力タイミングを制御することを特徴とする請求項記載のリコンフィグラブル回路。
  7. さらに、第2の演算器の演算結果に応じてプリディケート信号を生成する第2のプロセッシングエレメントを有し、
    前記第1のプロセッシングエレメントは、カウンタモードにおいて、前記プリディケート信号に応じて、カウンタとしての動作を開始又は停止することを特徴とする請求項記載のリコンフィグラブル回路。
  8. 前記第1のプロセッシングエレメントは、前記プリディケート信号によりカウンタの動作停止が指示されると、前記フェッチイネーブル信号が入力されるまで、カウンタとしての動作を停止することを特徴とする請求項記載のリコンフィグラブル回路。
  9. さらに、第5の入力データを生成する第2のプロセッシングエレメントを有し、
    前記コンフィグレーションレジスタは、前記カウンタのステップサイズを記憶するためのステップサイズレジスタと、前記初期値としての前記第3の入力データを記憶するための初期値レジスタと、前記ステップサイズレジスタ又は前記初期値レジスタのデータ書き換えを許可することを示すデータを記憶するための書き換え設定レジスタとを有し、
    前記第1のプロセッシングエレメントは、前記書き換え設定レジスタが書き換えを許可するデータを記憶しているときのみ前記第5の入力データに応じて前記ステップサイズレジスタ又は前記初期値レジスタを書き換える書き換え制御部を有することを特徴とする請求項記載のリコンフィグラブル回路。
JP2006045855A 2006-02-22 2006-02-22 リコンフィグラブル回路 Expired - Fee Related JP4838009B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006045855A JP4838009B2 (ja) 2006-02-22 2006-02-22 リコンフィグラブル回路
EP06252787A EP1826666A1 (en) 2006-02-22 2006-05-30 Reconfigurable circuit
US11/442,971 US7783693B2 (en) 2006-02-22 2006-05-31 Reconfigurable circuit
CNA2006100869046A CN101025730A (zh) 2006-02-22 2006-06-14 可重配置电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006045855A JP4838009B2 (ja) 2006-02-22 2006-02-22 リコンフィグラブル回路

Publications (2)

Publication Number Publication Date
JP2007228188A JP2007228188A (ja) 2007-09-06
JP4838009B2 true JP4838009B2 (ja) 2011-12-14

Family

ID=37441845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006045855A Expired - Fee Related JP4838009B2 (ja) 2006-02-22 2006-02-22 リコンフィグラブル回路

Country Status (4)

Country Link
US (1) US7783693B2 (ja)
EP (1) EP1826666A1 (ja)
JP (1) JP4838009B2 (ja)
CN (1) CN101025730A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7523032B1 (ja) 2023-07-18 2024-07-26 勝 枦 繭の煮繭・繰糸する方法及びそれを利用した製糸方法及びそれによる製品

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5821332B2 (ja) * 2011-06-30 2015-11-24 株式会社ソシオネクスト リコンフィグ可能な集積回路装置
JP2013106166A (ja) * 2011-11-14 2013-05-30 Sony Corp クロックゲーティング回路およびバスシステム
DE112015006944B4 (de) * 2015-09-25 2023-03-23 Intel Corporation Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
JP6569508B2 (ja) * 2015-12-11 2019-09-04 富士通株式会社 処理装置及び処理装置の制御方法
JP7325210B2 (ja) * 2019-04-08 2023-08-14 キヤノン株式会社 情報処理装置及びその制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5036453A (en) * 1985-12-12 1991-07-30 Texas Instruments Incorporated Master/slave sequencing processor
US4760525A (en) * 1986-06-10 1988-07-26 The United States Of America As Represented By The Secretary Of The Air Force Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction
US5961635A (en) * 1993-11-30 1999-10-05 Texas Instruments Incorporated Three input arithmetic logic unit with barrel rotator and mask generator
JPH07319762A (ja) 1994-05-27 1995-12-08 Sanyo Electric Co Ltd データ転送アドレス生成装置
JPH07168713A (ja) 1994-10-24 1995-07-04 Mitsubishi Electric Corp ディジタル信号処理プロセッサ
US5659700A (en) 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
US5901298A (en) * 1996-10-07 1999-05-04 Intel Corporation Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6338106B1 (en) * 1996-12-20 2002-01-08 Pact Gmbh I/O and memory bus system for DFPS and units with two or multi-dimensional programmable cell architectures
JP4123723B2 (ja) * 2001-01-09 2008-07-23 富士ゼロックス株式会社 プログラマブル論理回路の再構成方法、プログラマブル論理回路の再構成システム
US7020673B2 (en) * 2001-01-19 2006-03-28 Sony Corporation Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system
TWI234737B (en) * 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
US20030055852A1 (en) * 2001-09-19 2003-03-20 Wojko Mathew Francis Reconfigurable arithmetic logic block array for FPGAs
TW200504592A (en) * 2003-07-24 2005-02-01 Ind Tech Res Inst Reconfigurable apparatus with high hardware efficiency
JP3887622B2 (ja) * 2003-10-17 2007-02-28 松下電器産業株式会社 データ処理装置
JP4485272B2 (ja) * 2004-06-30 2010-06-16 富士通マイクロエレクトロニクス株式会社 半導体装置
JP4594666B2 (ja) 2004-07-12 2010-12-08 富士通株式会社 再構成可能な演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7523032B1 (ja) 2023-07-18 2024-07-26 勝 枦 繭の煮繭・繰糸する方法及びそれを利用した製糸方法及びそれによる製品

Also Published As

Publication number Publication date
EP1826666A1 (en) 2007-08-29
US20070198619A1 (en) 2007-08-23
JP2007228188A (ja) 2007-09-06
CN101025730A (zh) 2007-08-29
US7783693B2 (en) 2010-08-24

Similar Documents

Publication Publication Date Title
JP4838009B2 (ja) リコンフィグラブル回路
JP4490392B2 (ja) 初期化回路を自動構築するリコンフィグ可能な集積回路装置
JPH07271969A (ja) レジスタ対から条件付きでメモリへ記憶させる装置
JPH087084A (ja) 第1、第2及び第3の入力の第1のブール組合せプラス第1、第2及び第3の入力の第2のブール組合せの和を形成する3入力算術論理装置
JPH087083A (ja) 算術及び論理混合組合せを形成する3入力算術論理装置
JPH07287567A (ja) 複数の独立区分と各区分からの結果を記憶するレジスタとを有する算術論理装置
US10374605B2 (en) Logical elements with switchable connections in a reconfigurable fabric
JP2006252440A (ja) 再構成可能演算処理装置
US7752592B2 (en) Scheduler design to optimize system performance using configurable acceleration engines
JP5821332B2 (ja) リコンフィグ可能な集積回路装置
KR102000894B1 (ko) 이미지 프로세서용 다기능 실행 레인
JP2000322235A (ja) 情報処理装置
JP2006018412A (ja) アドレス生成器および演算回路
WO2008026273A1 (fr) Contrôleur dma
JP2015014833A (ja) 再構築可能なlsi
JP2004362446A (ja) 計算機及び計算方法
JP2012174105A (ja) メモリアクセス制御回路
JP5701930B2 (ja) 半導体装置
JP2008283396A (ja) メモリ、シフトレジスタ、集積回路及び処理装置
JP2011141791A (ja) 並列信号処理装置
JP2007102973A (ja) 半導体集積回路
JP2010086256A (ja) 並列処理型プロセッサ
JPH087082A (ja) バレル回転子及びマスク発生器を有する3入力算術論理装置
JPH0677232B2 (ja) マイクロプログラム制御装置
JPH08161460A (ja) 第1の入力に加算された第2の入力と第3の入力との第1のブール組合せプラス第2の入力と第3の入力の第2のブール組合せの和を形成する3入力算術論理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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

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

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

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees