JP2007041781A - リコンフィグ可能な集積回路装置 - Google Patents

リコンフィグ可能な集積回路装置 Download PDF

Info

Publication number
JP2007041781A
JP2007041781A JP2005224208A JP2005224208A JP2007041781A JP 2007041781 A JP2007041781 A JP 2007041781A JP 2005224208 A JP2005224208 A JP 2005224208A JP 2005224208 A JP2005224208 A JP 2005224208A JP 2007041781 A JP2007041781 A JP 2007041781A
Authority
JP
Japan
Prior art keywords
memory
processor element
data
arithmetic
external
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
JP2005224208A
Other languages
English (en)
Other versions
JP4536618B2 (ja
Inventor
Ichiro Kasama
一郎 笠間
Toru Tsuruta
徹 鶴田
Katsu Nishida
克 西田
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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2005224208A priority Critical patent/JP4536618B2/ja
Priority to US11/340,871 priority patent/US20070033369A1/en
Priority to CNB2006100083495A priority patent/CN100414535C/zh
Publication of JP2007041781A publication Critical patent/JP2007041781A/ja
Application granted granted Critical
Publication of JP4536618B2 publication Critical patent/JP4536618B2/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

【課題】コンフィグレーションデータに基づいて任意の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において、柔軟性の高い内部メモリの構成と動作を可能にする。
【解決手段】それぞれ演算器を有する複数の演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群を有し、これらは動的に変更可能である。さらに,複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有する。
【選択図】図1

Description

本発明は,再構築可能(リコンフィギュラブル,以下単にリコンフィグ可能と称する。)な集積回路装置に関し,特に,リコンフィグ可能な集積回路装置内に設けられ外部メモリとデータ転送を行う内部メモリの新規な構成に関する。
リコンフィグ可能な集積回路装置は,複数のプロセッサエレメントと,当該プロセッサエレメント間を接続するネットワークとを有し,外部または内部のイベントに応答して,シーケンサがプロセッサエレメントとネットワークにコンフィグレーションデータを与え,当該コンフィグレーションデータに応じてプロセッサエレメントとネットワークにより任意の演算状態または演算回路を構築する。従来の伝統的なプログラム可能なマイクロプロセッサは,メモリに記憶されている命令を順番に読み出し逐次的に処理する。このようにマイクロプロセッサは,1つのプロセッサで同時に実行できる命令は数個に限定されるため,処理能力に一定の限界がある。
それに対して,近年において提案されているリコンフィグ可能な集積回路装置は,加算器,乗算器,比較器などの機能を有するALUや,遅延回路,カウンタなどの複数種類のプロセッサエレメントを複数個あらかじめ設けておき,プロセッサエレメント間を接続するネットワークを設け,複数のプロセッサエレメントとネットワークを,シーケンサを有する状態遷移制御部からのコンフィグレーションデータによって所望の構成に再構築し,その演算状態で所定の演算を実行する。一つの演算状態におけるデータ処理が完了すると,別のコンフィグレーションデータにより別の演算状態が構築され,その状態で異なるデータ処理が行われる。
このように,異なる演算状態を動的に構築することで,大量のデータに対するデータ処理能力を向上させ,全体の処理効率を高めることができる。かかるリコンフィグ可能な集積回路装置については,例えば特許文献1に記載されている。
特開2001−312481号公報
上記従来のリコンフィグ可能な集積回路装置では,複数のプロセッサエレメントのアレイをプロセッサ間を接続するスイッチ群で囲み,状態遷移管理部がプロセッサエレメントやスイッチ群にコンフィグレーションデータを供給して任意の演算状態にする。また,プロセッサエレメント群には,外部メモリからデータが入力され,演算状態にされたプロセッサエレメント群が入力データに対して所定のデータ処理を実行し,それにより得られたデータが出力される。
上記の集積回路装置では,外部メモリからデータ処理に必要なデータが一括して読み出されて内部メモリに格納され,その後,ある演算状態にされたプロセッサエレメント群とスイッチ群とが読み出された全てのデータに対してデータ処理を行っている。
しかしながら,リコンフィグ可能な集積回路装置は,動的にコンフィグレーションされた所定の数のプロセッサエレメントにより,異なるアプリケーションを実行する。そのため,各プロセッサエレメントには必要とするタイミングで必要な量のデータを外部メモリから読み出し,また書き込むことが求められる。ところが,従来技術では,データ転送はプロセッサエレメント間を接続するスイッチ群によるデータパスを利用して行われ,画一的なタイミングでしか外部メモリとのデータ転送ができない。
また,外部メモリから読み出したデータや外部メモリに書き込むデータを格納する内部メモリが,複数のプロセッサエレメントに対して所定数設けられているが,ユーザにより構築される演算状態は千差万別であり,いかなる数の内部メモリが必要か,いかなる入出力特性の内部メモリが必要かなどは,予測困難である。したがって,リコンフィグ可能な集積回路装置では,内部メモリの構成と動作により柔軟性の高いものが求められる。
そこで,本発明の目的は,柔軟性の高い内部メモリの構成と動作を可能にするリコンフィグ可能な集積回路装置を提供することにある。
上記の目的を達成するために,本発明の第1の側面によれば,コンフィグレーションデータに基づいて任意の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
それぞれ演算器を有する複数の演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有することを特徴とする。
上記の第1の側面によれば,クラスタ内に設けられるメモリプロセッサエレメントが,クラスタ間のスイッチ群とは異なる外部メモリバスを介して外部メモリとダイレクトメモリアクセスによりデータ転送をすることができ,リコンフィグされる演算状態に適したタイミングで外部メモリ内のデータに対してリコンフィグされた演算を実行することができる。
上記第1の側面において,好ましい態様によれば,前記クラスタは,さらに,前記コンフィグレーションデータを格納するコンフィグレーションデータメモリと,前記演算プロセッサエレメント及びメモリプロセッサエレメントからの終了信号に応答して前記コンフィグレーションデータメモリから次の演算状態を構築するコンフィグレーションデータを出力させるシーケンサとを有する。
上記第1の側面において,別の好ましい態様によれば,さらに,複数のメモリプロセッサエレメントに共通に設けられ,当該複数のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付け,前記ダイレクトメモリアクセス制御部に前記複数のメモリプロセッサエレメントに対して同期したダイレクトメモリアクセス要求を指令するデータフロー制御部を有する。かかるデータフロー制御部により,複数のメモリプロセッサエレメントからのアクセス要求を同期して実行することができる。
上記第1の側面において,別の好ましい態様によれば,前記メモリプロセッサエレメントは,前記プロセッサエレメント間スイッチ群に接続される内部バスとの内部側インターフェースと,前記外部メモリバスとの外部側インターフェースとを有し,前記外部側インターフェースを介して前記外部メモリにダイレクトメモリアクセスしながら,前記内部側インターフェースを介して前記演算プロセッサエレメントからアクセスされることを特徴とする。この態様によれば,外部メモリと演算プロセッサエレメントとの間でシームレスなデータ転送を行うことができる。
上記第1の側面において,さらに別の好ましい態様によれば,前記メモリプロセッサエレメントは,前記外部メモリとのダイレクトメモリアクセスによるデータ転送を行いながら,前記演算プロセッサエレメントとのデータ転送を受付け,前記ダイレクトメモリアクセスによるデータ転送が前記演算プロセッサエレメントとのデータ転送に追従できなくなるときに,前記複数の演算プロセッサエレメントの動作を停止するストール信号をアサートし,追従できるときに前記ストール信号をネゲートすることを特徴とする。この態様によれば,外部メモリと演算プロセッサエレメントとの間でシームレスなデータ転送ができなくなると,演算プロセッサエレメントでの動作を停止させて,誤動作を回避することができる。
上記の目的を達成するために,本発明の第2の側面によれば,コンフィグレーションデータに基づいて所定の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
演算器を有する演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有し,
前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,当該第1または第2のメモリバンクの一方が前記外部メモリとの間でダイレクトメモリアクセスによるデータ転送中に,前記第1または第2のメモリバンクの他方が前記演算プロセッサエレメントとデータ転送を行うことを特徴とする。
上記第2の側面によれば,クラスタ間スイッチ群とは別の外部メモリバスを介して,外部メモリと演算プロセッサエレメントとの間でシームレスなデータ転送を任意のタイミングで行うことができる。
上記の発明によれば,各クラスタ内に設けられたメモリプロセッサエレメントが,クラスタ間のデータパスとは別に外部メモリへのダイレクトメモリアクセスによるデータ転送を可能にするので,リコンフィグ可能な集積回路装置におけるメモリプロセッサエレメントへのデータ転送の柔軟性を高くし,データ転送の効率化を図ることができる。
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
図1は,本実施の形態におけるリコンフィグ可能な集積回路装置の一部を構成するクラスタの構成図である。クラスタ10は,状態管理を行うシーケンサSEQと,コンフィグレーションデータCDを格納するコンフィグレーションデータメモリ14と,コンフィグレーションデータCDにより任意の回路構成に構築(コンフィグレーション)されるプロセッサエレメントネットワーク部16とを有する。コンフィグレーションデータメモリ14には,図示しないコンフィグレーションデータロード部からコンフィグレーションデータCDがロードされる。
プロセッサエレメントネットワーク部16は,複数のプロセッサエレメント(以下しばしばPEと称する)PE0〜PE5と,PE間を接続するセレクタなどのスイッチ群からなるPE間スイッチ群20と,他のクラスタとのデータ転送するためのインターフェースとして,入力ポート部22と出力ポート部24とを有する。これらの入力・出力ポート部22,24は,クラスタ間スイッチ群30に接続されている。図1の例によれば,プロセッサエレメントPR0〜PE3は全て演算PEであり,ALU,加算器,比較器などを内部に有する。また,プロセッサエレメントPE4は遅延回路やカウンタなどの他のPEであり,プロセッサエレメントPE5はRAMを内蔵するメモリPEである。
これらのプロセッサエレメントPE0〜PE5には,コンフィグレーションデータメモリ14からコンフィグレーションデータCD0〜CD5が供給され,それらPE内の図示しないレジスタにコンフィグレーションデータが格納される。そして,このレジスタに設定されたコンフィグレーションデータCD0〜CD5に基づいて,各PE内の回路構成が動的に構築される。同様に,PE間スイッチ群20にもコンフィグレーションデータメモリ14からコンフィグレーションデータCDsが供給され,そのデータに基づいて内蔵するスイッチ群の構成が構築されてPE間のデータパスが動的に構築される。クラスタ間スイッチ群30も同様にコンフィグレーションデータCDcに基づいて動的に構築され,クラスタ間のデータパスが構築される。
クラスタ内のメモリプロセッサエレメントPE5は,PE間スイッチ群20を介して各PE0〜PE4とデータ転送可能にされる。そのために,メモリプロセッサエレメントPE5は内部バスI−BUSに接続される。一方,メモリプロセッサエレメントPE5は,外部メモリE−MEMと外部バスE−BUS1,E−BUS2を介して直接データ転送可能にされ,かかるメモリアクセスは,ダイレクトメモリアクセス制御部DMACによる制御により,クラスタ間スイッチ群30とは別のバス経由で直接行われる。したがって,メモリプロセッサエレメントPE5は,外部メモリE−MEMとの間で,直接データ転送を行うことができ,クラスタ間のデータパスの動作と独立したタイミングでデータ転送を行うことができる。
また,各プロセッサエレメントPE0〜PE5からは終了信号CS0〜CS5が出力され,この終了信号に基づいて切替信号生成部12が適宜切替信号SW1を出力する。この切替信号SW1に応答して,シーケンサSEQがコンフィグレーションデータメモリ14に新たなアドレスと切替信号SW2を出力し,それに応答して,新たなコンフィグレーションデータが出力され,PEネットワーク部16内の回路構成が新たに構築される。
図2は,本実施の形態におけるPEネットワーク部の構成例を示す図である。演算プロセッサエレメントPE0〜PE3と,メモリプロセッサエレメントPE5と,それ以外のプロセッサエレメントPE4とは,PE間スイッチ群20内のスイッチであるセレクタ41を介して接続可能に構成されている。各プロセッサエレメントPE0〜PE5は,コンフィグレーションデータCD0〜CD5に基づいて任意の構成に構築可能であり,また,PE間スイッチ群20内のセレクタ41(41a,41b,41c)も,コンフィグレーションデータCDsに基づいて任意の構成に構築可能である。
セレクタ41は,図中左下に一例として示されるとおり,コンフィグレーションデータCDを格納するレジスタ42と,レジスタ42のデータに応じて入力を選択するセレクタ回路43と,セレクタ回路43の出力をクロックCKに同期してラッチするフリップフロップ44とで構成される。
図3,図4は,本実施の形態におけるPEネットワーク部のコンフィグレーションデータにより構築された回路構成例を示す図である。これらの図には,演算回路を動的に構築可能な演算プロセッサエレメントPE0〜PE3,PE6が,PE間スイッチ群20により接続されて,所定の演算を高速に行う専用演算回路に構築される。なお,プロセッサエレメントPE6は,図1,2には示していない。
図3の例は,入力データa,b,c,d,e,fに対して,以下の演算式を実行する専用演算回路に構築された例である。
(a+b)+(c−d)+(e+f)
このコンフィグレーションの例によれば,プロセッサエレメントPE0は,A=a+bの演算回路に構築され,プロセッサエレメントPE1は,B=c−dの演算回路に構築され,プロセッサエレメントPE2はC=e+fの演算回路に構築され,プロセッサエレメントPE3はD=A+Bの演算回路に構築され,プロセッサエレメントPE6はE=D+Cの演算回路に構築される。各データa〜fは,図示しないメモリプロセッサエレメントや外部のクラスタから供給され,プロセッサエレメントPE6の出力が演算結果Eとしてメモリプロセッサエレメントや外部のクラスタに出力される。
プロセッサエレメントPE0,PE1,PE2が平行して演算処理し,その演算結果に対してプロセッサエレメントPE3がD=A+Bの演算処理し,最後にプロセッサエレメントPE6がE=D+Cの演算処理を行う。このように,専用の演算回路を構築することで,並列演算を可能にし,演算処理の効率を高めることができる。
各演算プロセッサエレメントは,内部にALU,加算器,乗算器,比較器などを内蔵し,コンフィグレーションデータDCに基づいて任意の演算回路に再構築可能である。そして,図3のように構築することで,上記の演算を専用に行う専用演算回路を構築することができる。かかる専用演算回路を構築することで,複数の演算を並行して実行することができ,演算効率を高めることができる。
図4の例は,入力データa〜dに対して,(a+b)*(c+d)の演算を実行する専用演算回路に構築された例である。プロセッサエレメントPE0がA=a+bの演算回路に構築され,プロセッサエレメントPE1がB=c−dの演算回路に構築され,プロセッサエレメントPE3がC=A*Bの演算回路に構築され,演算結果Cがメモリプロセッサエレメントまたは外部のクラスタに出力される。この場合も,プロセッサエレメントPE0,PE1が並列に演算処理し,その演算結果A,Bに対してプロセッサエレメントPE3がC=A*Bの演算処理を行う。よって,専用演算回路に構築することで,上記の演算効率を高めることができ,大量のデータに対する演算効率を高めることができる。
図5は,本実施の形態におけるリコンフィグ可能な集積回路装置の構成図である。図5には,複数のクラスタCLS0〜CLS3が設けられ,それらクラスタ間の接続を行うクラスタ間スイッチ群30がクラスタ間の領域に配置されている。このクラスタ間スイッチ群30をコンフィグレーションデータCDにより構築することで,複数のクラスタを組み合わせた任意の演算回路を動的に構築することができる。
図5の例では,各クラスタCLS0〜CLS3内にメモリプロセッサエレメントPE−RAMが設けられている。クラスタ内には複数のメモリプロセッサエレメントが設けられる場合もあり,メモリプロセッサエレメントが設けられない場合もある。これらのメモリPEは,外部バスE−BUS1を介してダイレクトメモリアクセス制御部DMACに接続され,このアクセス制御部DMACを介して外部メモリE−MEMとダイレクトメモリアクセスによるデータ転送を行う。この外部メモリE−MEMは,高速メモリの一例として例えばDDR−SDRAM(Double Data Rate Synchronous DRAM)が使用されている。さらに,複数のメモリプロセッサエレメントPE−RAMに対して,共通のデータフロー制御部40が設けられている。各メモリプロセッサエレメントは,アクセス要求DR0〜DR3を発行し,このアクセス要求に応答してデータフロー制御部40が制御部DMACにアクセスコマンドを与えて,アクセス要求を出したメモリプロセッサエレメントとのDMAによるデータ転送を実行させる。
データフロー制御部40は,複数のメモリプロセッサエレメントからのアクセス要求を受け付け,それら複数のメモリプロセッサエレメントと外部メモリとのDMAデータ転送を同期して実行させることができる。つまり,アクセス制御部DMACは,データフロー制御部40からのアクセスコマンドACMDに基づいて,複数のメモリプロセッサエレメントとのDMAデータ転送を,ラウンドロビン形式で順次同期して実行する。
このように,クラスタ内のメモリプロセッサエレメントは,クラスタ内の演算プロセッサエレメントにより構築された演算回路が処理するデータを外部メモリE−MEMからDMA転送し,演算処理されたデータを外部メモリE−MEMにDMA転送する。また,このDMA転送は,クラスタ間を接続するクラスタ間スイッチ群30とは別の外部バスE−BUS1,E−BUS2を介して直接行われる。よって,リコンフィグ可能な集積回路装置の場合,クラスタ間スイッチ群30が動的にその接続構造を変更されても,各メモリプロセッサエレメントと外部メモリとの間は,クラスタ間スイッチ群30とは別の経路で,且つ各メモリプロセッサエレメントの必要とするタイミングでデータ転送をすることができ,動的に構築されるクラスタ及び複数クラスタに最適なデータ転送を実現することができる。
図6は,本実施の形態におけるメモリプロセッサエレメントの一例を示す構成図である。メモリプロセッサエレメントは,外部メモリとクラスタ内の演算プロセッサエレメントとの間でシームレスなデータ転送を可能にするために,第1のメモリバンクBNK0と第2のメモリバンクBNK1とを有し,それらとPE間スイッチ群20との間に内部側インターフェース50と,外部バスE−BUS1との間に外部側インターフェース52とを有する。各メモリバンクBNK0,BNK1は,それぞれ4つの16ビット幅のRAMを有する。そして,内部側インターフェース50はPE間スイッチ群20に接続される内部バスI−BUSに接続され,コンフィグレーションデータCDに基づいて動的に異なる入出力バスインターフェース構造に構築される。また,外部側インターフェース52は外部バスE−BUS1に接続され,これもコンフィグレーションデータCDに基づいて動的に異なる入出力バスインターフェース構造に構築される。構築される入出力バスインターフェース構造については,後に詳述する。
第1及び第2のメモリバンクBNK0,BNK1は,一方のメモリバンクが内部の演算プロセッサエレメントPE/ALUとデータ転送しながら,他方のメモリバンクが外部メモリE−MEMとデータ転送を行い,かつ両メモリバンクは交互にデータ転送を行うことができる。そのために,両メモリバンクBNK0,BNK1と内部側及び外部側インターフェース50,52との間には,セレクタSELが設けられ,これらのセレクタSELがコンフィグレーションデータCDに基づいて設定される。これにより,前記第1及び第2のメモリバンクを内部側及び外部側インターフェースに交互に接続させることができる。なお,インターフェース50,52と各メモリバンクBNK0,BNK1との間の信号線は,16ビットデータ線,アドレス線,その他必要な制御線を全て含むものとする。
メモリプロセッサエレメント内には,メモリバンクの切替制御やDMAリクエストの制御などを行うメモリ制御部54と,内部の演算プロセッサエレメントPE/ALUへの演算実行制御などを行う演算制御部56とを有する。メモリ制御部54は,メモリバンクの状態を監視し,外部メモリと内部の演算プロセッサエレメントとのシームレスなデータ転送を行うことができるように,メモリバンクの切替制御,DMAリクエスト,演算プロセッサエレメントを動作停止するためのストール信号STRのアサートとネゲートを行う。このストール信号STRに応答して,演算制御部56は,演算プロセッサエレメントの動作の開始や停止を制御する。
図7,図8は,本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。図中メモリプロセッサエレメントPE/RAM内には,2つのメモリバンクBNK0,BNK1と,メモリ制御部54(図6参照)がメモリバンクの切替制御に使用するアクセス終了レジスタEND−REGとが示されている。このアクセス終了レジスタEND−REGは2つ設けられ,それぞれ第1及び第2のメモリバンクのアクセスの状態を示すフラグが格納され,例えばアクセスが終了して終了信号を受信した時に終了状態「0」にされ,アクセス可能状態(レディー)になった時にレディー状態「1」にされる。そして,この2つのレジスタ値を監視することで,メモリ制御部54(図4)は2つのメモリバンクBNK0,BNK1の切替制御を行う。
以下,図6,7,8を参照して起動時の初期起動以降の動作を説明する。起動時はリセット解除後にシーケンサSEQが初期起動に対応するアドレスを出力し,コンフィグレーションデータメモリ14(図6)から初期起動用のコンフィグレーションデータが出力され,クラスタ内のプロセッサエレメントPEとPE間スイッチ群20が初期回路構成に構築される。この初期起動により,図7(A)に示されるように,アクセス終了レジスタEND−REGには初期値が設定される。この例では,第1のメモリバンクBNK0のレジスタがレディー状態(フラグ「0」),第2のバンクメモリBNK1のレジスタがアクセス終了状態(フラグ「1」)になっている。さらに,この初期起動により,第1のメモリバンクBNK0が外部側インターフェース52側に接続され,第2のメモリバンクBNK1が内部側インターフェース50に接続されるように,セレクタSELの構成が構築される。
この初期起動の後,メモリ制御部54は,アクセス終了レジスタを参照して,外部メモリに対するアクセス要求DMARを出力する。前述のとおり,アクセス要求DMARは,データフロー制御部40(図5)を経由して,ダイレクトメモリアクセス制御部DMACに与えられ,外部メモリE−MEMと第1のメモリバンクBNK0との間で直接データ転送が開始される。具体的には,外部メモリE−MEMから読み出されたデータが外部バスを経由して直接第1のメモリバンクBNK0に転送され書き込まれる。初期起動時のアクセス要求DMARは,前述したとおり複数のメモリプロセッサエレメントから出力されるので,複数のダイレクトメモリアクセスによるデータ転送が同期して実行される。
次に,図7(B)に示されるように,外部メモリE−MEMから第1のメモリバンクBNK0へのデータ転送が終了すると,DMA制御部DMACからアクセス終了信号END1が出され,それに応答してアクセス終了レジスタEND−REGの第1のメモリバンクに対応するビットがアクセス終了状態(フラグ「1」)になる。このように両レジスタがいずれもアクセス終了状態(フラグ「1」)になったとき,メモリ制御部54は状態終了信号CSを発行し,シーケンサSEQから次のアドレスAddを出力させ,コンフィグレーションデータメモリ14から新たなコンフィグレーションデータCDを出力させ,それにより,第1及び第2のメモリバンクBNK0,BNK1を切り替える。つまり,第1のメモリバンクBNK0は外部側インターフェース52に接続され,第2のメモリバンクBNK1は内部側インターフェース50に接続される。
次に,図7(C)に示されるように,メモリ制御部54は,2つのメモリバンクを切り替えると,アクセス終了レジスタEND−REGをクリアし,共にレディー状態(フラグ「0」)にする。このレディー状態に応答して,メモリ制御部54は,外部メモリへのアクセス要求DMARを出力し,それに基づき,DMA制御部DMACは外部メモリE−MEMと第2のメモリバンクBNK1との間のデータ転送を制御する。この場合のアクセス制御DMARは,初期起動時と異なりアクセスが必要となったメモリプロセッサエレメントのタイミングで発行され,オンデマンドでデータ転送が実行される。メモリ制御部54は,同時に,内部の演算プロセッサエレメントが実行可能状態であることを示す信号ALU−ENを出力し,それに応答して,演算制御部56は,内部の演算プロセッサエレメントPE/ALUに演算開始信号ALU−STを出力し,演算プロセッサエレメントの演算処理を開始させる。これにより,内部の演算プロセッサエレメントPE/ALUは,第1のメモリバンクBNK0にアクセスして,データを読み出し,読み出したデータに対して演算処理を実行する。
次に,図8(A)に示されるように,第2のメモリバンクBNK1と外部メモリE−MEMとのデータ転送が終了すると,アクセス終了信号END1に応答して,アクセス終了レジスタEND−REGがアクセス終了状態(フラグ「1」)にされる。通常,外部メモリとのダイレクトメモリアクセスはデータバス幅が広く高速データ転送であり,内部の演算プロセッサエレメントとのデータ転送よりも先に終了する。
そして,図8(B)に示されるように,やがて,内部の演算プロセッサエレメントPE/ALUからのアクセスも終了し,アクセス終了信号END2によりアクセス終了レジスタEND−REGの残りのフラグもアクセス終了状態(フラグ「1」)にされる。これに応答して,メモリ制御部54は,状態終了信号CSを出力し,コンフィグレーションデータメモリ14から出力されるコンフィグレーションデータCDにより,第1及び第2のメモリバンクBNK0,BNK1の内部側と外部側のインターフェースとの接続を置き換える。
そして,図8(C)に示されるように,メモリ制御部54が再度ダイレクトメモリアクセス要求DMARを出力して,第1のメモリバンクBNK0と外部メモリE−MEMとのデータ転送を開始させ,さらに,演算制御部56が演算開始信号ALU−STを出力して,内部の演算プロセッサエレメントPE/ALUから第2のメモリバンクBNK1へのアクセスを開始させる。
以上のように,メモリ制御部54は,第1及び第2のメモリバンクを交互に切り替えて,外部メモリE−MEMから内部の演算プロセッサエレメントへのシームレスなデータ転送を可能にする。特に,外部メモリとのダイレクトメモリアクセスは内部の演算プロセッサエレメントによるアクセスよりも高速であるので,演算プロセッサエレメントは,シームレスでデータを読み出して演算処理することができる。
図9は,本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。ここでは,シームレスなデータ転送に支障が生じた時の制御について説明する。外部メモリとの直接データ転送は高速に行われるので,通常は,一方のメモリバンクが内部の演算PEとデータ転送を完了する前に,他方のメモリバンクの外部メモリとのデータ転送を終了する。そして,内部演算PEとのデータ転送の完了を待って,メモリバンクの切替制御が行われ,それにより外部メモリと内部の演算PEとの間のシームレスなデータ転送を可能にする。ところが,何らかの理由により内部の演算PEとのデータ転送が先に完了する場合がある。
図9(A)に示されるように,第1のメモリバンクBNK0から内部の演算PEへのデータ転送が先に完了すると,終了信号END2によりアクセス終了レジスタEND−REGがアクセス終了状態(フラグ「1」)にされる。これに応答して,メモリ制御部54は,演算制御部56にストール信号STRをアサートし,それにより演算PEアレイはそのパイプライン処理を一旦停止する。つまり,メモリPE内からデータを読み出すことができなくなると,演算PEアレイのパイプライン処理を行うことができず,演算処理に支障をきたすからである。
そして,図9(B)に示されるように,第2のメモリバンクBNK1のデータ転送が完了すると,終了信号END1によりアクセス終了レジスタEND−REGがアクセス終了状態にされる。その結果,メモリ制御部54は,状態終了信号CSを出力し,コンフィグレーションデータCDによりメモリバンクを切り替える。その後,図9(C)に示されるように,メモリ制御部54は,アクセス要求DMARを出力して,第1のメモリバンクBNK0に外部メモリとのデータ転送を開始させ,ストール信号をネゲートして,内部の演算PEアレイを動作再開させ,その結果,第2のメモリバンクBNK1は内部の演算PEとのデータ転送を開始する。
このように,専用の演算回路が構築されてデータの演算処理がパイプライン処理されているので,メモリ制御部54は,2つのメモリバンクのアクセス状態を監視して,データのシームレスな転送が不可能になると,内部の演算PEに対してパイプライン処理を停止するストール信号をアサートする。これにより,パイプライン処理に支障が生じるのを未然に防ぐことができる。そして,シームレスな転送が可能になると,メモリ制御部54はストール信号をネゲートし,パイプライン処理を再開させる。
図10,図11は,本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。ここでは,内部の演算PEから外部メモリE−MEMへのデータ転送をメモリPEを経由して行う例である。
図10(A)では,演算PEが第1のメモリバンクBNK0にデータを書き込んでいる。図10(B)でそのデータ書き込みが完了すると終了信号END2により,アクセス終了レジスタEND−REGが共にアクセス終了状態(フラグ「1」)になる。これに応答して,メモリ制御部54は,状態終了信号CSを出力し,コンフィグレーションデータCDに基づき2つのメモリバンクの切替を行わせる。そして,図10(C)のように,アクセス要求DMACにより第1のメモリバンクBNK0に外部メモリと直接データ転送を開始させ,演算PEへの演算スタート信号ALU−STにより演算PEから第2のメモリバンクBNK1へのデータ書き込みを開始させる。
次に,図11(A)のように,第1のメモリバンクBNK0のデータ転送が先に完了し,図11(B)のように演算PEからのデータ書き込みが終了する。そこで,メモリ制御部54が2つのメモリバンクを切り替えて,図11(C)のように切り替えられたメモリバンクのデータ転送がそれぞれ開始する。
以上のとおり,演算PEから外部メモリへのデータ転送もメモリPEを介してシームレスに行われる。さらに,途中でシームレスなデータ転送が不可能になると,ストール信号がネゲートされて,演算PEアレイがパイプライン処理を停止し,データ転送可能になるとパイプライン処理を再開する。
図12は,本実施の形態におけるメモリプロセッサエレメントにおける制御部の構成図である。また,図13は,その制御部の状態遷移図である。図12の例では,同じクラスタ内にメモリユニット60に複数のメモリプロセッサエレメントRAM−PE0〜PEnを有し,それぞれに対応して演算プロセッサエレメントのアレイPE/ALU−ARRAYが構築されている。各メモリPE内に,メモリ制御部54としてバンク切替制御部541と,DMA転送実行判定部542とを有し,演算制御部56としてALU演算実行判定部561を有する。また,複数のメモリPEに共通に,演算制御部56としてALU演算制御部562を有し,また,メモリ制御部54としてDMA転送制御部543を有する。メモリPE内の第1及び第2のメモリバンクBNK0,BNK1は,外部バスを介してアクセス制御部DMACと,クラスタ内部のPE間スイッチ群PE−SWを介して演算プロセッサエレメントアレイPE/ALU−ARRAYと,それぞれ交互にデータ転送可能に構成されている。
図13の状態遷移図を参照しながら制御の流れを説明する。前述したとおり,まず,メモリプロセッサエレメントRAM−PEが起動し,コンフィグレーションデータCDに基づき所望の回路構成に構築される(C10)。この起動により,アクセス終了レジスタEND−REGが初期値のフラグに設定され,そのフラグ状態によりメモリバンクが初期状態になる(C12)。
また,メモリプロセッサエレメントRAM−PEの起動後の動作中,アクセス終了レジスタEND−REGの状態(両フラグ「1」)により,バンク切替制御部541がメモリバンクの切替制御を行い(C12),それによりメモリバンクが切り替えられる(C14)。さらに,メモリバンクを切り替える時に,それに伴って演算PEの回路構成が切り替えられる場合もある(C12,C14)。
メモリバンクの切り替えが行われると,DMA転送実行判定部542が,外部メモリに対してデータ転送が可能か否かを判定し,データ転送実行可能であれば,メモリPE外に設けられているDMA転送制御部543にDMA転送可能信号DMA−ENを出力する(C16)。このデータ転送実行可能か否かは,メモリバンクの状態を示すアクセス終了レジスタの状態によって行われる。そして,対応するDMA転送制御部543が,データフロー制御部(図示せず)を介して,アクセス制御部DMACにアクセスリクエストを出力し(C18),データ転送が行われる(C20)。そして,外部メモリとのデータ転送が終了すると,DMA転送制御部543がデータ転送終了信号END1を受信し,同終了信号END10がバンク切り替え制御部541に与えられる。その後,アクセス終了レジスタの状態に応じて前述のバンク切替制御が行われる(C12)。
一方,メモリバンクの切り替えが行われると,ALU演算実行判定部561が,メモリバンクの状態をアクセス終了レジスタに基づいて監視し,演算PEからアクセス可能か否か,つまり演算PEが演算処理を実行可能か否かを判定する(C22)。実行可能であると,ALU演算実行判定部561は,演算実行可能信号ALU−ENを出力する。
全てのメモリプロセッサエレメントRAM−PE0〜nから演算実行可能信号ALU−ENを受信して初めて,ALU演算制御部562は,クラスタ内の演算PEアレイ全てに演算開始信号ALU−STを出力し(C24),全ての演算PEアレイに同期して演算処理させる(C26)。つまり,クラスタ内の複数の演算PEアレイは,複数のメモリPEとデータ転送しながら演算処理を同期して行うパイプライン処理を行う必要があるので,ALU演算制御部562が複数のメモリPEに共通に1個設けられ,全てのメモリPEから演算実行可能信号ALU−ENを受信して初めて,共通のALU演算制御部562が複数の演算PEアレイに演算開始信号ALU−STを出力する。ALU演算実行判定部561は,メモリバンクの状態を監視し,データ転送がシームレスに行い得なくなると,ストール信号STRをアサートし演算PEアレイのパイプライン処理を停止させる。このストール信号STRについては,前述したとおりである。
演算処理が完了すると,演算PE側のメモリバンクへのアクセスが終了するので,演算PEから終了信号END2を受信し,ALU演算実行判定部561は,演算実行可能信号ALU−ENをネゲートする。この終了信号END2によりアクセス終了レジスタEND−REGのフラグ状態が変更され,それに応じて,メモリバンクの切り替えまたは演算PEの構成変更が制御,実行される(C12,C14)。
図13中,破線内の状態遷移はメモリPEの状態遷移を示し,その左側はDMA転送制御部543とダイレクトメモリアクセス制御部DMACの状態を示し,その右側はALU演算制御部562と演算PEアレイの状態を示す。
図12,図13では,DMA転送実行判定部542が出力するDMA転送可能信号DMA−ENに基づいて,DMA転送制御部543はDMAリクエストを出力しているが,DMA転送制御部543が,ダイレクトメモリアクセス制御部DMACで受付済みのチャネルの状態をチェックし,DMA転送を実行しても良いか否か,つまりDMA転送の実行タイミングとして適切であるか否かを判定し,適切である場合にDMAリクエストを出力するようにしても良い。このようにすることで,ダイレクトメモリアクセス制御部DMACのチャネル数が所定数を超えていてDMAリクエストを出すに適切なタイミングでない場合は,DMAリクエストをチャネル数が所定数以下になるまで出さずに,それによりDMA転送タイミングを遅くするよう制御することができる。DMA転送可能信号DMA−ENは,あくまでもアクセス終了レジスタEND−REGの状態により生成されるので,上記のDMA転送タイミングを遅くする制御に意味がある。
図13において,演算プロセッサエレメントアレイによる演算状態が終了すると(C26),シーケンサにより新たなコンフィグレーションデータが出力され,演算PEのコンフィグレーションデータが変更される(C12)。このコンフィグレーションデータの切替は,必要に応じて行われる。
図14は,アクセス終了レジスタのフラグ変更制御を説明する図である。図14(A)はメモリバンクBNK0/1が内部側(演算PEアレイ側)に接続されている時のフラグ変更制御を示す。メモリバンクBNKには,演算PEアレイ側からアクセスのためのアドレスAddを供給され,それに対応するアクセスが行われる。メモリ制御部54内の比較器70にも,このアクセスアドレスAddが供給される。そして,あらかじめコンフィグレーションデータによる回路構築時にアクセスすべき最終アドレスE−Addが比較器70に設定されている。比較器70は,アクセスアドレスに付随されるアドレスが有効か否かを示すアドレス有効信号Validが有効になるたびに,アクセスアドレスAddと最終アドレスE−Addとを比較し,一致すればアクセス終了レジスタEND−REGのフラグを終了状態「1」に変更する。
または,別の制御方法としては,演算PEアレイからの終了信号END2に応答して,アクセス終了レジスタEND−REGのフラグを終了状態「1」に変更する場合もある。いずれの場合も,メモリバンクの内部側と外部側の切替が行われると,アクセス終了レジスタEND−REGのフラグはレディー状態「0」にされる。
図14(B)は,メモリバンクBNK0/1が外部側(外部メモリE−MEM側)に接続されている時のフラグ変更制御を示す。この場合は,アクセス制御部DMACからアクセスアドレスAddを供給される。そして,メモリ制御部54は,アクセス制御部DMACからの終了信号END1に応答して,アクセス終了レジスタEND−REGのフラグを終了状態「1」に変更し,メモリバンクの内部側と外部側の切替が行われると,切替終了信号ENDSWに応答してアクセス終了レジスタEND−REGのフラグをレディー状態「0」にする。
さらに,アクセス終了レジスタEND−REGは,リセットによっても終了状態を解除されてレディー状態にされる。
図15,図16は,メモリPE内の外部側インターフェースについて説明する図である。外部側インターフェース52は外部バスE−BUS1に接続され,コンフィグレーションデータCDに基づいて異なる入出力バスインターフェース構造に動的に構築される。通常,ダイレクトメモリアクセスに使用される外部バスE−BUS1は広いバス幅を有する。たとえば,外部メモリE−MEMが32ビットDDR−SDRAMの場合,1クロックサイクルで2回のデータ出力が行われるので,外部バスE−BUS1のバス幅は64ビットになる。その場合,メモリバンクBNK内の4個の16ビットRAMに対して,64ビットのデータがパラレルに入出力するように,外部側インターフェース52の回路が構築される。
図15(A)は,上記の外部バスE−BUS1のバス幅が64ビットの場合の外部側インターフェースを示している。上記の通り,64ビットのデータがパラレルに4個の16ビットRAMに入出力される。
図15(B)は,バス幅が32ビットの場合を示し,インターフェースは,それぞれ2個ずつの16ビットRAMからなる2組のRAMに対して,32ビットのデータがパラレルに入出力されるように構築される。そして,インターフェースは,各組の2個のRAMに対しては,16ビットのデータをシリアルに入出力する。
図16は,バス幅が16ビットの場合を示し,インターフェースは,4個の16ビットRAMに対して,16ビットのデータをシリアルに入出力するように構築される。図16のインターフェース52の構成は,内部側インターフェースと同様の構成になる。つまり,内部側インターフェースは,演算PEアレイ側の内部バスが16ビットとバス幅が狭いことに対応して,図16で説明したような構成に構築される。よって,内部側インターフェース50は,16ビットのデータを4個の16ビットRAMに対してシリアルに入出力するよう構築される。
このように,メモリPE内のインターフェース50,52がコンフィグレーションデータCDに基づいて接続されるバスの構成に適合するように構成される。
以上説明したとおり,本実施の形態によれば,動的に回路構成を変更して構築可能な集積回路装置において,複数の演算PEとメモリPEを有するクラスタが複数組配置され,クラスタ間が動的に接続状態が変更されるスイッチ群で接続され,そのクラスタ間スイッチ群とは別に,クラスタ内のメモリPEが外部バスにより外部メモリと接続されている。そして,メモリPEが外部メモリとDMA転送可能にされる。また,メモリPEは,外部メモリと演算PE間でシームレスなデータ転送を可能にできるように,例えばダブルバッファ構成にされていて,データ転送に支障が生じた場合は,演算PEアレイのパイプライン動作が一時的に停止される。
以上の実施の形態をまとめると,次の付記のとおりである。
(付記1)コンフィグレーションデータに基づいて任意の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
それぞれ演算器を有する複数の演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有することを特徴とするリコンフィグ可能な集積回路装置。
(付記2)付記1において,
前記クラスタは,さらに,前記コンフィグレーションデータを格納するコンフィグレーションデータメモリと,前記演算プロセッサエレメント及びメモリプロセッサエレメントからの終了信号に応答して前記コンフィグレーションデータメモリから次の演算状態を構築するコンフィグレーションデータを出力させるシーケンサとを有するリコンフィグ可能な集積回路装置。
(付記3)付記1において,
さらに,複数のメモリプロセッサエレメントに共通に設けられ,当該複数のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付け,前記ダイレクトメモリアクセス制御部に前記複数のメモリプロセッサエレメントに対して同期したダイレクトメモリアクセス要求を指令するデータフロー制御部を有するリコンフィグ可能な集積回路装置。
(付記4)付記1において,
さらに,複数のメモリプロセッサエレメントに共通に設けられ,当該複数のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付け,前記ダイレクトメモリアクセス制御部に前記複数のメモリプロセッサエレメントに対して同期したダイレクトメモリアクセス要求を指令するデータフロー制御部を有し,
前記データフロー制御部は,単一のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付けた時は,当該受付に応答して前記ダイレクトメモリアクセス制御部に当該ダイレクトメモリアクセス要求を指令するリコンフィグ可能な集積回路装置。
(付記5)付記1において,
前記メモリプロセッサエレメントは,前記プロセッサエレメント間スイッチ群に接続される内部バスとの内部側インターフェースと,前記外部メモリバスとの外部側インターフェースとを有し,前記外部側インターフェースを介して前記外部メモリにダイレクトメモリアクセスしながら,前記内部側インターフェースを介して前記演算プロセッサエレメントからアクセスされることを特徴とするリコンフィグ可能な集積回路装置。
(付記6)付記5において,
前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,前記コンフィグレーションデータに基づいて前記第1及び第2のメモリバンクが前記内部側及び外部側インターフェースに交互に接続されることを特徴とするリコンフィグ可能な集積回路装置。
(付記7)付記6において,
前記メモリプロセッサエレメントは,前記外部メモリと前記第1または第2のバンクとのデータ転送が完了した後に,前記演算プロセッサエレメントと前記第1または第2のメモリバンクとのデータ転送を許可し,前記外部メモリと前記第1及び第2のメモリバンクのいずれとのデータ転送も完了しない場合は,前記複数の演算プロセッサエレメントに動作停止を指示するストール信号をアサートし,前記外部メモリと前記第1または第2のメモリバンクのいずれとのデータ転送が完了すると前記ストール信号をネゲートすることを特徴とするリコンフィグ可能な集積回路装置。
(付記8)付記1において,
前記メモリプロセッサエレメントは,前記ダイレクトメモリアクセス制御部の動作状態を監視して,当該動作状態に基づいて前記アクセス要求を前記データフロー制御部に供給することを特徴とするリコンフィグ可能な集積回路装置。
(付記9)付記8において,
前記メモリプロセッサエレメントは,前記動作状態に基づいて前記アクセス要求のタイミングを可変制御することを特徴とするリコンフィグ可能な集積回路装置。
(付記10)付記1において,
前記メモリプロセッサエレメントは,前記外部メモリとのダイレクトメモリアクセスによるデータ転送を行いながら,前記演算プロセッサエレメントとのデータ転送を受付け,前記ダイレクトメモリアクセスによるデータ転送が前記演算プロセッサエレメントとのデータ転送に追従できなくなるときに,前記複数の演算プロセッサエレメントの動作を停止するストール信号をアサートし,追従できるときに前記ストール信号をネゲートすることを特徴とするリコンフィグ可能な可能な集積回路装置。
(付記11)付記5において,
前記メモリプロセッサエレメントの外部インターフェースは,前記コンフィグレーションデータに基づいて複数のデータバス幅に対応したインターフェース状態に構築されることを特徴とするリコンフィグ可能な集積回路装置。
(付記12)付記1において,
前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,
前記メモリプロセッサエレメントは,起動時において,前記コンフィグレーションデータに基づいて,前記第1または第2のメモリバンクの一方を前記外部バス側にアクセス可能状態にし,前記アクセス要求を出力することを特徴とするリコンフィグ可能な集積回路装置。
(付記13)付記12において,
前記メモリプロセッサエレメントは,前記第1または第2のメモリバンクの一方が前記ダイレクトメモリアクセスによるデータ転送を完了したときに前記演算プロセッサエレメントへの演算実行可能信号をアサートして,前記演算プロセッサエレメントの演算実行を促すことを特徴とするリコンフィグ可能な集積回路装置。
(付記14)付記13において,
前記メモリプロセッサエレメントは,前記第1及び第2のメモリバンクが共にデータ転送可能でない状態になったとき,前記演算プロセッサエレメントの演算停止を要求するストール信号をアサートすることを特徴とするリコンフィグ可能な集積回路装置。
(付記15)付記13において,
前記クラスタは,複数のメモリプロセッサエレメントを有し,
さらに,前記複数のメモリプロセッサエレメントからの演算実行可能信号のアサートに応答して,複数の演算プロセッサエレメントに,同期した演算実行を要求する演算実行制御部を,前記複数のメモリプロセッサエレメントに共通して有することを特徴とするリコンフィグ可能な集積回路装置。
(付記16)コンフィグレーションデータに基づいて所定の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
演算器を有する演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有し,
前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,当該第1または第2のメモリバンクの一方が前記外部メモリとの間でダイレクトメモリアクセスによるデータ転送中に,前記第1または第2のメモリバンクの他方が前記演算プロセッサエレメントとデータ転送を行うことを特徴とするリコンフィグ可能な集積回路装置。
本実施の形態におけるリコンフィグ可能な集積回路装置の一部を構成するクラスタの構成図である。 本実施の形態におけるPEネットワーク部の構成例を示す図である。 本実施の形態におけるPEネットワーク部のコンフィグレーションデータにより構築された回路構成例を示す図である。 本実施の形態におけるPEネットワーク部のコンフィグレーションデータにより構築された回路構成例を示す図である。 本実施の形態におけるリコンフィグ可能な集積回路装置の構成図である。 本実施の形態におけるメモリプロセッサエレメントの一例を示す構成図である。 本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。 本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。 本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。 本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。 本実施の形態におけるメモリプロセッサエレメント内の2つのメモリバンクの切替動作を説明する図である。 本実施の形態におけるメモリプロセッサエレメントの制御部の構成図である。 本実施の形態におけるメモリプロセッサエレメントの制御部の状態遷移図である。 アクセス終了レジスタのフラグ変更制御を説明する図である。 メモリPE内の外部側インターフェースについて説明する図である。 メモリPE内の外部側インターフェースについて説明する図である。
符号の説明
PE0〜PE5:プロセッサエレメント SEQ:シーケンサ
14:コンフィグレーションデータメモリ 20:PE間スイッチ群
30:クラスタ間スイッチ群 E−BUS1:外部メモリバス
E−MEM:外部メモリ DMAC:ダイレクトメモリアクセス制御部

Claims (10)

  1. コンフィグレーションデータに基づいて任意の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
    それぞれ演算器を有する複数の演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
    前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
    前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
    前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
    さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有することを特徴とするリコンフィグ可能な集積回路装置。
  2. 請求項1において,
    前記クラスタは,さらに,前記コンフィグレーションデータを格納するコンフィグレーションデータメモリと,前記演算プロセッサエレメント及びメモリプロセッサエレメントからの終了信号に応答して前記コンフィグレーションデータメモリから次の演算状態を構築するコンフィグレーションデータを出力させるシーケンサとを有するリコンフィグ可能な集積回路装置。
  3. 請求項1において,
    さらに,複数のメモリプロセッサエレメントに共通に設けられ,当該複数のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付け,前記ダイレクトメモリアクセス制御部に前記複数のメモリプロセッサエレメントに対して同期したダイレクトメモリアクセス要求を指令するデータフロー制御部を有するリコンフィグ可能な集積回路装置。
  4. 請求項1において,
    さらに,複数のメモリプロセッサエレメントに共通に設けられ,当該複数のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付け,前記ダイレクトメモリアクセス制御部に前記複数のメモリプロセッサエレメントに対して同期したダイレクトメモリアクセス要求を指令するデータフロー制御部を有し,
    前記データフロー制御部は,単一のメモリプロセッサエレメントからのダイレクトメモリアクセス要求を受け付けた時は,当該受付に応答して前記ダイレクトメモリアクセス制御部に当該ダイレクトメモリアクセス要求を指令するリコンフィグ可能な集積回路装置。
  5. 請求項1において,
    前記メモリプロセッサエレメントは,前記プロセッサエレメント間スイッチ群に接続される内部バスとの内部側インターフェースと,前記外部メモリバスとの外部側インターフェースとを有し,前記外部側インターフェースを介して前記外部メモリにダイレクトメモリアクセスしながら,前記内部側インターフェースを介して前記演算プロセッサエレメントからアクセスされることを特徴とするリコンフィグ可能な集積回路装置。
  6. 請求項5において,
    前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,前記コンフィグレーションデータに基づいて前記第1及び第2のメモリバンクが前記内部側及び外部側インターフェースに交互に接続されることを特徴とするリコンフィグ可能な集積回路装置。
  7. 請求項6において,
    前記メモリプロセッサエレメントは,前記外部メモリと前記第1または第2のバンクとのデータ転送が完了した後に,前記演算プロセッサエレメントと前記第1または第2のメモリバンクとのデータ転送を許可し,前記外部メモリと前記第1及び第2のメモリバンクのいずれとのデータ転送も完了しない場合は,前記複数の演算プロセッサエレメントに動作停止を指示するストール信号をアサートし,前記外部メモリと前記第1または第2のメモリバンクのいずれとのデータ転送が完了すると前記ストール信号をネゲートすることを特徴とするリコンフィグ可能な集積回路装置。
  8. 請求項1において,
    前記メモリプロセッサエレメントは,前記外部メモリとのダイレクトメモリアクセスによるデータ転送を行いながら,前記演算プロセッサエレメントとのデータ転送を受付け,前記ダイレクトメモリアクセスによるデータ転送が前記演算プロセッサエレメントとのデータ転送に追従できなくなるときに,前記複数の演算プロセッサエレメントの動作を停止するストール信号をアサートし,追従できるときに前記ストール信号をネゲートすることを特徴とするリコンフィグ可能な可能な集積回路装置。
  9. 請求項1において,
    前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,
    前記メモリプロセッサエレメントは,起動時において,前記コンフィグレーションデータに基づいて,前記第1または第2のメモリバンクの一方を前記外部バス側にアクセス可能状態にし,前記アクセス要求を出力することを特徴とするリコンフィグ可能な集積回路装置。
  10. コンフィグレーションデータに基づいて所定の演算状態に動的に構築されるリコンフィグ可能な集積回路装置において,
    演算器を有する演算プロセッサエレメントと,外部メモリとデータ転送を行うメモリを有するメモリプロセッサエレメントと,前記演算プロセッサエレメントとメモリプロセッサエレメントとを任意の状態で接続するプロセッサエレメント間スイッチ群とを有する複数のクラスタと,
    前記クラスタ間のデータパスを任意の状態で構築するクラスタ間スイッチ群と,
    前記メモリプロセッサエレメントと前記外部メモリとでデータ転送を行う外部メモリバスとを有し,
    前記コンフィグレーションデータに基づいて前記演算プロセッサエレメントと,メモリプロセッサエレメントと,プロセッサエレメント間スイッチ群と,クラスタ間スイッチ群とが動的に変更可能であり,
    さらに,前記複数のクラスタのメモリプロセッサエレメントからのアクセス要求に応答して,前記メモリプロセッサエレメントと外部メモリとの間でダイレクトメモリアクセスによるデータ転送を実行させるダイレクトメモリアクセス制御部を有し,
    前記メモリプロセッサエレメントは,第1及び第2のメモリバンクを有し,当該第1または第2のメモリバンクの一方が前記外部メモリとの間でダイレクトメモリアクセスによるデータ転送中に,前記第1または第2のメモリバンクの他方が前記演算プロセッサエレメントとデータ転送を行うことを特徴とするリコンフィグ可能な集積回路装置。
JP2005224208A 2005-08-02 2005-08-02 リコンフィグ可能な集積回路装置 Expired - Fee Related JP4536618B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005224208A JP4536618B2 (ja) 2005-08-02 2005-08-02 リコンフィグ可能な集積回路装置
US11/340,871 US20070033369A1 (en) 2005-08-02 2006-01-27 Reconfigurable integrated circuit device
CNB2006100083495A CN100414535C (zh) 2005-08-02 2006-02-17 可重配置的集成电路器件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005224208A JP4536618B2 (ja) 2005-08-02 2005-08-02 リコンフィグ可能な集積回路装置

Publications (2)

Publication Number Publication Date
JP2007041781A true JP2007041781A (ja) 2007-02-15
JP4536618B2 JP4536618B2 (ja) 2010-09-01

Family

ID=37700038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005224208A Expired - Fee Related JP4536618B2 (ja) 2005-08-02 2005-08-02 リコンフィグ可能な集積回路装置

Country Status (3)

Country Link
US (1) US20070033369A1 (ja)
JP (1) JP4536618B2 (ja)
CN (1) CN100414535C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154534A (ja) * 2010-01-27 2011-08-11 Fujitsu Semiconductor Ltd リコンフィギュラブル回路および半導体集積回路
JP2012221149A (ja) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置
JP2013217865A (ja) * 2012-04-11 2013-10-24 Taiyo Yuden Co Ltd 再構成可能な半導体装置
JP2022009069A (ja) * 2016-12-27 2022-01-14 株式会社半導体エネルギー研究所 撮像装置

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100545827C (zh) * 2004-07-30 2009-09-30 富士通株式会社 可重配置电路及可重配置电路的控制方法
US7861060B1 (en) 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
JP4653697B2 (ja) * 2006-05-29 2011-03-16 株式会社日立製作所 電力管理方法
US8176265B2 (en) 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US7680988B1 (en) * 2006-10-30 2010-03-16 Nvidia Corporation Single interconnect providing read and write access to a memory shared by concurrent threads
US8108625B1 (en) 2006-10-30 2012-01-31 Nvidia Corporation Shared memory with parallel access and access conflict resolution mechanism
US7962702B1 (en) * 2007-07-09 2011-06-14 Rockwell Collins, Inc. Multiple independent levels of security (MILS) certifiable RAM paging system
JP5260068B2 (ja) * 2008-01-31 2013-08-14 古野電気株式会社 探知装置および探知方法
US8103853B2 (en) * 2008-03-05 2012-01-24 The Boeing Company Intelligent fabric system on a chip
CN101620588B (zh) * 2008-07-03 2011-01-19 中国人民解放军信息工程大学 高效能计算机中可重构部件的一种连接与管理方法
CN101727434B (zh) * 2008-10-20 2012-06-13 北京大学深圳研究生院 一种特定应用算法专用集成电路结构
JP5431003B2 (ja) * 2009-04-03 2014-03-05 スパンション エルエルシー リコンフィギュラブル回路及びリコンフィギュラブル回路システム
EP2478521A2 (en) * 2009-09-16 2012-07-25 Rambus Inc. Configurable memory banks of a memory device
KR101076869B1 (ko) * 2010-03-16 2011-10-25 광운대학교 산학협력단 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US10078606B2 (en) * 2015-11-30 2018-09-18 Knuedge, Inc. DMA engine for transferring data in a network-on-a-chip processor
US10289598B2 (en) 2016-04-12 2019-05-14 Futurewei Technologies, Inc. Non-blocking network
WO2017177928A1 (en) * 2016-04-12 2017-10-19 Huawei Technologies Co., Ltd. Scalable autonomic message-transport with synchronization
US10185606B2 (en) 2016-04-12 2019-01-22 Futurewei Technologies, Inc. Scalable autonomic message-transport with synchronization
US10203911B2 (en) * 2016-05-18 2019-02-12 Friday Harbor Llc Content addressable memory (CAM) implemented tuple spaces
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10558575B2 (en) * 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
WO2020183396A1 (en) * 2019-03-11 2020-09-17 Untether Ai Corporation Computational memory
US20220171829A1 (en) 2019-03-11 2022-06-02 Untether Ai Corporation Computational memory
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US11342944B2 (en) 2019-09-23 2022-05-24 Untether Ai Corporation Computational memory with zero disable and error detection
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
US11468002B2 (en) * 2020-02-28 2022-10-11 Untether Ai Corporation Computational memory with cooperation among rows of processing elements and memory thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS608970A (ja) * 1983-06-29 1985-01-17 Fuji Electric Co Ltd マルチコントロ−ラシステム
JPS60186151A (ja) * 1984-03-05 1985-09-21 Matsushita Electric Ind Co Ltd プロセツサ間デ−タ通信方法
US5842034A (en) * 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
JP2002528825A (ja) * 1998-10-26 2002-09-03 ソニー エレクトロニクス インク ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャ
JP2003520360A (ja) * 1999-01-28 2003-07-02 ボプス インコーポレイテッド サブワード実行を用いるvliwベースのアレイプロセッサで条件付き実行をサポートする方法及び装置
JP2004252990A (ja) * 2001-03-22 2004-09-09 Sony Computer Entertainment Inc コンピュータ・プロセッサ及び処理装置
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路
JP2005510778A (ja) * 2001-05-31 2005-04-21 クイックシルバー テクノロジー、インコーポレイテッド 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5978379A (en) * 1997-01-23 1999-11-02 Gadzoox Networks, Inc. Fiber channel learning bridge, learning half bridge, and protocol
JP3674515B2 (ja) * 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
US7006521B2 (en) * 2000-11-15 2006-02-28 Texas Instruments Inc. External bus arbitration technique for multicore DSP device
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6809734B2 (en) * 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7152151B2 (en) * 2002-07-18 2006-12-19 Ge Fanuc Embedded Systems, Inc. Signal processing resource for selective series processing of data in transit on communications paths in multi-processor arrangements
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US7124211B2 (en) * 2002-10-23 2006-10-17 Src Computers, Inc. System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system
US7093079B2 (en) * 2002-12-17 2006-08-15 Intel Corporation Snoop filter bypass
US20080162877A1 (en) * 2005-02-24 2008-07-03 Erik Richter Altman Non-Homogeneous Multi-Processor System With Shared Memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS608970A (ja) * 1983-06-29 1985-01-17 Fuji Electric Co Ltd マルチコントロ−ラシステム
JPS60186151A (ja) * 1984-03-05 1985-09-21 Matsushita Electric Ind Co Ltd プロセツサ間デ−タ通信方法
US5842034A (en) * 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
JP2002528825A (ja) * 1998-10-26 2002-09-03 ソニー エレクトロニクス インク ディジタル信号処理アプリケーション用分散型拡張可能集積回路ディバイスアーキテクチャ
JP2003520360A (ja) * 1999-01-28 2003-07-02 ボプス インコーポレイテッド サブワード実行を用いるvliwベースのアレイプロセッサで条件付き実行をサポートする方法及び装置
JP2004252990A (ja) * 2001-03-22 2004-09-09 Sony Computer Entertainment Inc コンピュータ・プロセッサ及び処理装置
JP2005510778A (ja) * 2001-05-31 2005-04-21 クイックシルバー テクノロジー、インコーポレイテッド 適応可能な計算エンジン内のスケジューリングのための方法、及びシステム
JP2005044329A (ja) * 2003-07-09 2005-02-17 Hitachi Ltd 半導体集積回路
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011154534A (ja) * 2010-01-27 2011-08-11 Fujitsu Semiconductor Ltd リコンフィギュラブル回路および半導体集積回路
JP2012221149A (ja) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd リコンフィグ可能な集積回路装置
JP2013217865A (ja) * 2012-04-11 2013-10-24 Taiyo Yuden Co Ltd 再構成可能な半導体装置
JP2022009069A (ja) * 2016-12-27 2022-01-14 株式会社半導体エネルギー研究所 撮像装置
JP7185744B2 (ja) 2016-12-27 2022-12-07 株式会社半導体エネルギー研究所 撮像装置

Also Published As

Publication number Publication date
JP4536618B2 (ja) 2010-09-01
US20070033369A1 (en) 2007-02-08
CN100414535C (zh) 2008-08-27
CN1908927A (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
JP4536618B2 (ja) リコンフィグ可能な集積回路装置
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
JP4934356B2 (ja) 映像処理エンジンおよびそれを含む映像処理システム
US20090300324A1 (en) Array type processor and data processing system
TW202207046A (zh) 用於計算的系統及方法
US9886278B2 (en) Computing architecture and method for processing data
TWI666551B (zh) 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
US10824584B1 (en) Device with data processing engine array that enables partial reconfiguration
JP5170579B2 (ja) 再構成可能なデバイス
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
EP2132645A1 (en) A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled
JP2001117858A (ja) データ処理装置
JP2008152409A (ja) 半導体集積回路
JP2009026136A (ja) マルチプロセッサ装置
JPS5916071A (ja) 並列処理システム
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
JP2008102599A (ja) プロセッサ
JP2008217623A (ja) データプロセッサ
US20040064662A1 (en) Methods and apparatus for bus control in digital signal processors
JP4388557B2 (ja) 画像処理システム
JP2504535B2 (ja) バスユニットの構成方法
JP2000029778A (ja) 記憶素子
JP2010272066A (ja) ヘテロジニアスマルチコアプロセッサ
WO2007088581A1 (ja) 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
WO2001067271A1 (fr) Dispositif de traitement d'informations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100525

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

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

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

Free format text: PAYMENT UNTIL: 20130625

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

LAPS Cancellation because of no payment of annual fees