JP2008204177A - 遅延調整回路を有するアレイ型プロセッサ - Google Patents

遅延調整回路を有するアレイ型プロセッサ Download PDF

Info

Publication number
JP2008204177A
JP2008204177A JP2007039624A JP2007039624A JP2008204177A JP 2008204177 A JP2008204177 A JP 2008204177A JP 2007039624 A JP2007039624 A JP 2007039624A JP 2007039624 A JP2007039624 A JP 2007039624A JP 2008204177 A JP2008204177 A JP 2008204177A
Authority
JP
Japan
Prior art keywords
delay
data
control information
clock
processor
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
JP2007039624A
Other languages
English (en)
Other versions
JP4753895B2 (ja
Inventor
Giichi Yabe
義一 矢部
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2007039624A priority Critical patent/JP4753895B2/ja
Priority to US12/071,221 priority patent/US8402298B2/en
Publication of JP2008204177A publication Critical patent/JP2008204177A/ja
Application granted granted Critical
Publication of JP4753895B2 publication Critical patent/JP4753895B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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

Abstract

【課題】各構成のサイクル時間を調整可能とするアレイ型プロセッサの提供。
【解決手段】複数のプロセッサエレメント11がアレイ状に配置されたデータパス部10と、データパスの切り替え制御を行う情報を格納しておく状態遷移管理部12と、前記状態遷移管理部からの情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路13と、を備え、前記遅延調整回路13は、遅延制御情報メモリ14とプログラマブルディレイ15を備え、遅延制御情報メモリは、複数の遅延制御情報を記憶しており、状態遷移管理部からの構成番号をアドレスとして遅延制御情報を読み出し前記遅延制御情報を前記プログラマブルディレイに与え、前記プログラマブルディレイは、入力されたクロック信号を前記遅延制御情報により指定された遅延だけ遅らせてデータパス部に出力する。
【選択図】図1

Description

本発明は、プログラムすることで所望の演算処理を実現できるプロセッサに関し、特に、プロセッサエレメントをアレイ状に並べたアレイ型プロセッサに関する。
プログラム可能なデバイスとして、様々なマイクロプロセッサが知られている。マイクロプロセッサは、メモリに記憶されている命令を順に読み出し、逐次的に処理する。マイクロプロセッサは、非常にシンプルな処理を指示する1つの命令を、処理する順番に従い組み合わせ実行することで、目的とする一連の処理を実現している。
マイクロプロセッサは、1つのプロセッサで同時に実行できる命令が高だか数個であるため、処理性能を向上させる上で限界がある。具体的には、大量のデータに対して同一の処理を行う場合に、1つ1つのデータに対して、逐次処理を繰り返す必要があり、処理能力を向上させることができない。
一方、実行するデータ処理が1つに限定されている場合には、そのデータ処理を実行するように、論理回路をハードウェアで形成すれば、メモリから命令を順番に読み出し、演算処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら1つのデータ処理しか実行することができない。
つまり、アプリケーションプログラムを切り替え自在としたデータ処理システムでは、各種のデータ処理を実行できるが、逐次的に処理を行う必要があるため、データ処理を高速に実行することが困難である。
一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので1つのデータ処理しか実行できない。
このようなトレードオフを解決するため、ソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサが提案されている(特許文献1−3等)。
特許文献1に記載されたアレイ型プロセッサは、プロセッサエレメントをアレイ状に並べたものをプログラマブルなスイッチで電気的に接続した構成からなる、演算器を主体として行うデータパス部と、状態遷移手段の実現を容易とした構成からなる、制御を行う状態遷移管理部を独立して具備し、それぞれを処理目的に応じて特化した構成で実現することで、小型化、高性能化の可能なアレイ型プロセッサの提供するものである。
図10に、特許文献1の図1に開示されたアレイ型プロセッサの構成を示す。図10を参照すると、データパス部102とそれを制御する状態遷移管理部(または単に状態管理部)101で構成され、データパス部102は2次元アレイ状に配置された複数のプロセッサエレメント(PE)105で構成される。
特許文献1および2に記されたアレイ型プロセッサは、プロセッサの動作の「状態」を例えば番号(状態番号)で管理する。そしてプロセッサの動作の管理を、ある動作状態から別の動作状態へ遷移するものとして、状態遷移管理部の状態管理情報メモリ121に格納された状態番号を読みだしては、読み出された状態番号に意味づけされた動作を行う。なお、「状態」とは、プロセッサエレメント105およびプログラマブルスイッチエレメント106の状態を指す。
この状態番号は、状態遷移管理部101から出力される、命令コードを記憶する命令コードメモリのアドレス、および、プログラマブルスイッチエレメント106相互間の接続構成を指示する接続構成情報メモリのアドレス(これら二つのアドレスを命令コードアドレスと略称される場合もある)に対応付けられる。この、演算制御バス103を通じデータパス部に与えられた命令コードアドレスによってプロセッサエレメント105の動作およびプログラマブルスイッチエレメント106の電気的接続関係が決定される。具体的には、各プロセッサエレメント105は、入力した命令コードアドレスにしたがって演算を行い、また、各プログラマブルスイッチエレメント106は、データパス部102の内部および外部との電気的接続を行うものである。なお、ここでは、状態番号がそのまま命令コードアドレスになっているものとして以下説明する。
状態遷移管理部102は状態遷移テーブルメモリ(不図示)を有する。この状態遷移テーブルメモリには次サイクルの状態番号が格納されており、状態遷移管理部102の現在の内部状態や外部からのイベント信号の条件に従い順次読み出される。ここでは、状態番号がそのまま命令コードアドレスになっているとしているので読み出された状態番号は演算制御パス103を通してデータパス部102に入力される。
図11に、図10のプロセッサエレメント105の構成の典型例を示す。プロセッサエレメントは、構成情報メモリ201、機能ユニット202、配線接続回路203から構成される。なお、ここでは、スイッチエレメントである配線接続回路203、構成情報メモリ111をプロセッサエレメント105に組み込んでいるが、これらがプロセッサエレメントの外部にあってもよい。
構成情報メモリ201は、複数個の構成情報を格納するメモリであり、その構成情報は、図10の状態制御管理部102からの状態番号210をアドレスとして読み出される。同様にデータパス部にある不図示の命令コードメモリから実質の命令コードが読み出され、デコードされた命令コード115がプロセッサエレメント11に与えられる。
構成情報209は、機能ユニット202及び配線接続回路203の接続関係、すなわちプロセッサエレメントの内部構成を設定する信号であり、構成情報メモリ201から機能ユニット202及び配線接続回路203に入力される。
機能ユニット202は、演算器、メモリ、レジスタ等の機能を1つ以上有し、配線接続回路203は、各プロセッサエレメント内の機能ユニットの接続及びプロセッサエレメント間の接続を切り替える機能を有する。
また、たとえば、機能ユニット202は、2つのレジスタファイルユニット(RFU1、RFU2)、2つのマルチプレクサ(MUX1、MUX2)及び演算器(ALU)から構成される。
各プロセッサエレメントでは、状態番号に対応した構成情報が、構成情報メモリ201から読み出され、機能ユニット202の機能と配線接続回路203の接続が決定される。
このようにアレイ全体に構成されるデータパスは、構成情報により決定されるため、構成情報メモリ201に格納できる構成情報の数のデータパスを構成できる。
構成情報209は、状態番号210によって読み出されるため、状態番号を制御することによってデータパスの構成を変更できる。ここでは状態番号によって指し示された構成情報メモリの構成情報に従って、この接続関係が構築されることをマッピングと呼ぶ。
そして、このマッピングを行ったのち、命令コードメモリからの命令コード115に応じてデータパス部は処理を実行する。
この際、データパス部102の演算資源、配線資源は、全て利用してマッピングする。当然、分割した処理同士を同時にデータパス部102で実行することはできないが、状態遷移管理部101は、サイクルごとにデータパスのマッピングを切り替え、分割した処理を順次実行する。
つまり上述の従来型のプロセッサは、状態番号を遷移させ、状態番号に対応する命令を、状態番号に対応した回路構成で逐次処理を行うことによって、アプリケーションを実行するものである。
なお、この従来型のアレイ型プロセッサでは、処理すべきアプリケーションプログラムをコンパイルする時点で、このアプリケーションプログラムの解析を行い、前述のプロセッサエレメントやスイッチエレメントの状態遷移の形に落とし込む。アプリケーションプログラムを実行する上で、プロセッサエレメントやスイッチエレメントがどのような回路構成(データパス部の接続情報)にするか、そしてその状態のときにどのような命令を実行するかを、状態番号、回路の構成情報、命令コードに変換するとともに、その状態遷移過程を示す遷移情報を構築する。そして状態番号、遷移情報を状態遷移管理部に、回路の構成情報、命令コードをデータパス部に、それぞれアプリケーションプログラムの実行に
先立って格納される。遷移情報は遷移テーブルに格納される。
より具体的な構成例を示して、従来例の動作を説明する。
特許文献状態1および2に開示された従来のアレイ型プロセッサは、アプリケーションの実行として、状態遷移管理部101の状態遷移テーブルメモリ(不図示)からシーケンサ(不図示)によって順次、状態番号210を、演算制御バス103を通じてデータパス部102のプロセッサエレメント105(およびスイッチエレメント106)に出力する。ここではプロセッサエレメント105にスイッチエレメント106が配線接続回路203として組み込まれており、状態番号を受けたプロセッサでは状態番号210で指定された構成情報を、機能ユニット202及び配線接続回路203に出力する。
また、状態番号210は命令コードメモリ(不図示)に送られ、状態番号210に対応する命令コードメモリのアドレスから命令コードが読み出されデコードされた命令コード211がプロセッサエレメント105に送られる。命令コード211はプロセッサエレメント105内のALU208やレジスタRFU1(204)、RFU2(205)に送られる。
上述のように構成情報は、予め構成情報メモリ201に格納される。
構成ユニット202では、こうして送られてきた構成情報が、MUX1、MUX2に入力選択信号として入力されこの部分回路構成を構築する。
同様に、配線接続回路203は、構成情報メモリ201から読み出される構成情報に従い、RFU1、RFU2、MUX1、MUX2、及び、自PEの上下左右にある、PEの配線接続回路間の回路構成を構築し、構築された回路構成にしたがって、PEの配線接続回路間のデータ転送を行う。
こうして回路構築を行って、RFU1、RFU2には、命令コードメモリから読み出された命令コードをデコードした命令コード211から、あるいは配線接続回路203を通じて他のプロセッサエレメントから、例えば、書き込みアドレス、読み出しアドレスが入力される。
MUX1、MUX2は、この入力選択信号に従い、レジスタファイルユニット(RFU1,RFU2)からの入力か、配線接続回路203からの入力かを選択して、ALU208へデータとして出力する。
構成情報による回路構築とともに、ALU208には命令コード211が送られ、ALU208は構築された回路に従って入力されたデータを命令コードに従った処理を実施し、その結果を配線接続回路203へ出力する。配線接続回路203は同様に動作する後段のプロセッサエレメントへ渡される。
この一連の動作をアレイ型プロセッサの状態遷移に応じて繰り返しアプリケーションが実行される。なお、アレイ型プロセッサの状態遷移はクロックに同期して行われる。
このプロセッサエレメントを用いたデータパス部のデータパス構成例(マッピング例)を、図12及び図13に示す。
ここでは、プロセッサエレメント(PE)を4×4の2次元アレイ状に並べている。なお、便宜上、図12、図13では、図11のRFU1を「R1」、図11のRFU2を「R2」、図11のALUを「A」として示している。また、アレイ内のプロセッサエレメントを区別するために、図に示すように各プロセッサエレメントにPE(i,j)といった番号を振っている。
図12(構成例1)のように、順序回路であるレジスタ間に複数のALUが存在するパスが構成された場合の一例であり、図13(構成例2)は逆にレジスタ間にALUを1つも持たないパスのみで構成された場合の一例を示している。つまり、図12(構成例1)は、クリティカルパス遅延が大きい場合の例であり、図13(構成例2)は小さい場合の例である。
ここで、仮に、プロセッサエレメント間のデータ転送遅延、及び、ALUの遅延を1T(遅延単位)とすると、図12の構成例1のクリティカルパスは、PE(0,0)からPE(3,3)へのパスであり、遅延時間は、6T(3つのALU遅延と3つのプロセッサエレメント間データ転送遅延)である。
また、図13の構成例2では、PE(0,0)からPE(0,1)、PE(0,1)からPE(0,2)、PE(0,2)からPE(0,3)への3つのパスがあるが、遅延時間は全て1Tであり、クリティカルパス遅延も1Tである。
上述の文献1および2に記載の従来のアレイ型プロセッサでは、アプリケーションプログラムのコンパイル結果によって、実際の動作時のデータパス部の状態の推移が決められる。つまりどのような回路構成の変化の推移をとるかが決められる。
このような従来のアレイ型プロセッサでは、構成例1と構成例2のように、クリティカルパス遅延が大きく異なる(6Tと1T)構成が、アレイ型プロセッサのクロックサイクルごとに切り替わることが頻繁に起こる。
このような従来のアレイ型プロセッサでは、全構成のクリティカルパス遅延の最大値によっての最大動作周波数は決定され、この場合は、1/6Tが最大動作周波数となる。
図14は、図10に示した従来技術の課題について説明するためのタイミングチャートである。なお、図14は、従来技術の課題を説明するために、本願発明者によって作成されたものであり、特許文献1から引用したものではない。
図14において、T1、T2、T3、T4、T5は、クロックが立ち上がる時刻(タイミング)を示しており、C1、C2、C3、C4はそれらの間の期間を示している。
データパスの網掛け部分は、データパスの状態が確定していないことを示しており、d1、d2、d3、d4はクリティカルパス遅延を示している。このうちd4が最大であり、サイクルタイムはd4以上でなければならない。
T3サイクルのクリティカルパス遅延d3は、d4に比べ小さく、その差分に相当する時間は処理が行われておらず、処理効率を考えると無駄な時間になっている。
図10乃至図13を参照して説明した従来技術では、構成情報により複数のデータパスを切り替えることが可能であるが、データパスごとのクリティカルパス遅延が大きく異なる場合、最大の遅延に動作周波数を合わせる必要があり、それ以上高速に動作させることができない。
特に、クリティカルパス遅延のばらつきが大きい場合、クリティカルパスの小さい構成はサイクル期間の多くの時間何も処理を行わない。
また、処理をデータパスに分割する際(上述のコンパイル時)に遅延時間が均等になるように分割すれば問題は解決するが、実際、そのような割り付けは、現在のところ技術的に困難である。
上述したようにアプリケーションをコンパイルして処理をデータパスに分割する際クリティカルパス遅延を均等にするのではなく、サイクル時間をクリティカルパス遅延に合わせて調整することでも処理効率を上げることはできる。しかし、一般に、並列処理プロセッサは一定間隔のクロックサイクルを前提とし、プロセッサ間通信が必要な場合は同期を行うが、それ以外は独立に動作している。
このため、一般的には、並列処理プロセッサのサイクル時間を調整し動作の効率化を図ることは困難である。
ただし、特定の条件下の従来例として、特許文献3の構成がある。これは、プロセッサエレメント間のデータ転送において、そのデータ転送時間に応じてサイクル時間を調整することを特徴としている。特許文献3は、データ転送に対する技術であり、プロセッサアレーの構成についての具体的な記載はない。加えて、前述した理由によりプロセッサエレメントの演算遅延を考慮したサイクル時間の調整を従来技術で実現することは困難である。さらに、特許文献3では、クロックのダブルエッジを使用してプロセッサを動作させる必要がある。また、クロック生成に演算時間(ALU遅延時間)を半周期としたクロックを使用する必要がある。このため、サイクル時間に比べ高速なクロックが必要となるなどの問題がある。
特許第3674515号 特開2004−133781号公報 特開昭64−7252号公報
上述したように、従来のアレイ型プロセッサでは、クロックサイクルごとのクリティカルパスに応じて、並列処理プロセッサのサイクル時間を調整し動作の効率化を図ることは困難であった。また、特許文献1および2のような、同一半導体素子の中にアレイ状に並べられた複数のプロセッサエレメント(PE)と、プロセッサエレメント間の接続関係をハードで切り替えるスイッチエレメントを備え、実行されるアプリケーションプログラムに応じて、各プロセッサエレメント間の接続をスイッチエレメントにより切り替え、アレイ型プロセッサが有する順序回路(フリップフロップ、ラッチ、メモリなど)間パス(データパス)に有する演算器(ALU)の接続関係あるいは個数を可変にして動的に回路構造が変わるプロセッサにおいては、アプリケーションをコンパイルして処理をデータパスに分割する際にクリティカルパス遅延を均等にして処理を向上させることが困難であった。
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
本発明のアレイ型プロセッサは、データパスの構成がクロックサイクルに対応して変更自在とされるアレイ型プロセッサであって、入力されたクロック信号の遅延を調整する手段を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としている。
より詳細には、本発明のアレイ型プロセッサは、複数のプロセッサエレメントがアレイ状に配置されたデータパス部と、データパスの切り替え制御を行うための情報を格納している状態遷移管理部と、前記状態遷移管理部から出力される情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路と、を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としている。
本発明において、前記遅延調整回路は、遅延制御情報メモリとプログラマブルディレイとを備え、前記遅延制御情報メモリは、複数の遅延制御情報を記憶しており、前記状態遷移管理部からの状態番号をアドレスとして遅延制御情報を読み出し、前記遅延制御情報を前記プログラマブルディレイに与え、前記プログラマブルディレイは、入力されたクロック信号を前記遅延制御情報により指定された遅延だけ遅らせて前記データパス部に出力する。
本発明において、前記プロセッサエレメントは、複数個の構成情報を保持し、前記状態制御管理部から供給される状態番号をアドレスとして構成情報が読み出される構成情報メモリと、演算器、メモリ、レジスタの機能を少なくとも1つ有する機能ユニットと、前記プロセッサエレメント内の前記機能ユニットにおける接続形態と他のプロセッサエレメント間の接続形態を切り替える配線接続回路と、を備え、前記機能ユニットと前記配線接続回路は、前記構成情報メモリからの構成情報によって接続形態と動作が決定される構成とされる。
本発明において、前記プログラマブルディレイの出力を、プログラム動作時と、データ処理時とで切り替える制御を行うためのクロック切替信号を備え、プログラム動作時のデータを含む書き込み制御信号を入力し、前記クロック切替信号に基づき、プログラム動作時には、前記プログラマブルディレイを調整し、前記書き込み制御信号の出力先と、前記遅延調整回路の前記遅延制御情報メモリ、前記状態遷移管理部の状態管理情報メモリ、及び、前記プロセッサエレメント内の構成情報メモリのうちのデータの書き込み先との間のデータ転送が同期して行えるようにし、データ処理時には、前記遅延制御情報に従い、入力クロック信号を前記プログラマブルディレイで遅延させたクロック信号が出力される。
本発明において、前記遅延調整回路の前記遅延制御情報メモリが、前記遅延制御情報に加え、データ入出力制御情報を備え、前記状態番号に応じて前記データ入出力制御情報を、データ入出力制御信号に出力し、前記データ入出力制御信号は、前記データパス部との間でデータ転送を行う外部回路に供給され、前記外部回路は、前記データ入出力制御信号を観察することで、データ入出力を制御し、前記外部回路とのデータ転送時に、前記データパス部と前記外部回路間の同期がとられるように、前記プログラマブルディレイによりクロック信号の遅延が調整される。
本発明において、前記遅延調整回路が、入力されたクロック信号と、前記プログラマブルディレイから出力されたクロック信号とを受け、入力されたクロック選択信号の値に基づき一方を選択し、プログラマブルディレイに入力するクロック選択回路を備えている。
本発明によれば、遅延調整回路を具備したことにより、各構成のサイクル時間を予めプログラムされた値に調整することができる。本発明によれば、前後のサイクル時間を短くできる場合、その分、クリティカルパス遅延が大きい構成のサイクル時間を長くすることができ、最大動作周波数を高めることができ、処理効率を向上することができる。
上記した本発明についてさらに詳細に説述すべく添付図面を参照して以下に説明する。
<実施形態1>
本発明の第1の実施の形態について説明する。図1は、本発明の第1の実施形態のアレイ型プロセッサの構成を示す図である。図2は、図1のプロセッサエレメント(PE)11の構成を示す図である。以下、図1及び2を用い本発明の構成について説明する。
図1を参照すると、このアレイ型プロセッサは、データパス部10、状態遷移管理部12、及び、遅延調整回路13を備えている。ここでデータパス部10ならびに状態遷移管理部12の構成は、従来のアレイ型プロセッサを示す図10および図11に記された構成と同様である。
状態遷移管理部12はシーケンス部、状態遷移テーブルメモリ(いずれも不図示)を備える。状態遷移管理部12のシーケンス部は状態遷移テーブルメモリから状態番号19を読み出して出力し、本アレイ型プロセッサの状態を遷移させる。
データパス部10は2次元アレイ状に配置された複数のプロセッサエレメント(PE)11を備え、不図示の命令コードメモリを備える。
プロセッサエレメント(PE)11は、構成情報メモリ111、機能ユニット112、配線接続回路113を備えており、スイッチエレメントである配線接続回路113を内蔵したものである。
機能ユニット112及び配線接続回路113は、それぞれ機能ユニット202及び配線接続回路203に対応し、構成情報メモリ111からの構成情報に従って回路の接続関係が決定され、その回路構成が決定される。
機能ユニット112は、不図示の演算器、メモリ、レジスタ等の機能(演算器および順序回路)を1つ以上有し、それらの回路構成を可変とするMUX等とを有する。
配線接続回路113は、各プロセッサエレメント11内の機能ユニット112及びプロセッサエレメント11間の接続を切り替える機能を有する。
構成情報メモリ111は、複数個の構成情報を格納するメモリであり、図1の状態制御管理部12からの状態番号19が指し示す構成情報メモリ111のアドレスから構成情報114が読み出される。
また、データパス部に有する命令コードメモリから状態番号19をアドレスとして読み出された命令コードがデコードされ、デコードされた命令コード115を機能ユニット112内の不図示の演算器および順序回路にあたえる構成となっている。
遅延調整回路13は、遅延制御情報メモリ14と、プログラマブルディレイ15とを備えている。
遅延制御情報メモリ14は、上述した複数の遅延制御情報を記憶しており、状態遷移管理部12からの状態番号19をアドレスとして遅延制御情報17を読み出し、遅延制御情報17をプログラマブルディレイ15に出力して、プログラマブルディレイ15の遅延を可変制御する。
プログラマブルディレイ15は、入力されたグローバルクロック(GCLK)16を遅延制御情報17により指定された遅延だけ遅らせ、ローカルクロック(LCLK)18として出力する。なお、GCLKはアレイ型プロセッサの外部または内蔵されたクロックジェネレータから与えられる。
なお、図1において状態繊維管理部12からデータパス部10、遅延調整回路10に分配される状態番号19は、たとえば演算制御バスとして構成される。また、データパス部10からの信号(例えば従来例のイベント通知パス)は省略している。
本発明のアレイ型プロセッサにおいては、動作の基本となる状態番号19は、この状態番号を参照番号として、それぞれ、構成情報メモリ111、命令コードメモリ(不図示)に格納された構成情報、命令コードに対応づけられていることに加え、さらに状態番号19が遅延制御情報メモリ13に格納された遅延制御情報に対応付けられている。
具体的には、状態番号を、それぞれ構成情報メモリ111、命令コードメモリ、遅延制御情報メモリ14のアドレスとして扱えばよい。
これらの情報はアプリケーションのコンパイル時にそれぞれ作成され、アプリケーション実行前に各々対応するメモリに格納される。
このように構成された本発明のアレイ型プロセッサの動作について以下説明する。
まず、状態遷移管理部12からは状態番号19が出力される。つまり状態管理部12のシーケンサ部が状態遷移テーブルメモリから状態番号を読み出して出力される。
データパス部10内の各プロセッサエレメント11は、状態遷移管理部12から状態番号19を受け取る。各プロセッサエレメント11内の構成情報メモリ111(図2参照)に状態番号19が入力され、状態番号19をアドレスとして、構成情報が読み出される。
構成情報は、プロセッサエレメント11内の機能ユニット112及び配線接続回路113に入力される。
配線接続回路113は、構成情報に従ってプロセッサエレメント11内部の接続及びプロセッサエレメント11間の接続を行う。
一方、状態番号19は、データパス部内の命令コードメモリに送られ、状態番号に対応する命令コードが読み出される。なお、ここでも状態番号19を命令コードメモリのアドレス対応付けられている。読み出された命令コードはデコードされデコードされた命令コード115が買うプロセッサエレメント11の機能ユニット112に与えられる。
機能ユニット112は、こうして入力された構成情報に従い、回路構成を変えるとともに、命令コード115に従った処理を実行する。
これにより、データパス部10全体では、1サイクルで動作するデータパスが構成され、処理が実行される。
また、遅延調整回路13は、状態遷移管理部12から状態番号19を受け取る。遅延調整回路13内の遅延制御情報メモリ14に状態番号は入力され、それをアドレスとして遅延調整情報が読み出される。
読み出された遅延制御情報17はプログラマブルディレイ15に入力される。
プログラマブルディレイ15は、グローバルクロック(GCLK)16を、遅延制御情報17により決められた遅延分遅らせ、ローカルクロック(LCLK)18として出力する。つまり遅延制御情報17は、対応する状態番号19の状態にアレイ型プロセッサにあるときの、データパス部の構成、命令コードの内容に応じて、各プロセッサエレメントのクロックのタイミングを調整するための情報である。
このようにしてある状態で処理された結果は、データパス部の構成により、配線接続回路113やプロセッサエレメント内のパスを通じ、他のプロセッサエレメントや自身のプロセッサエレメントに渡され、状態遷移管理部12が出力する次の状態番号(状態)に合わせた同様の遷移が行われ、次の処理が実行される。
図3を参照して、本発明の第1の実施の形態におけるクロックのタイミング調整の動作を説明する。図3において、T1、T2、T3、T4、T5はローカルクロックが立ち上がる時刻を示しており、C1、C2、C3、C4はそれらの間の期間を示している。図中、基準クロックは、説明をし易くするために便宜上図示したものであり、グローバルクロック(GCLK)16を一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロック(LCLK)18として出力されるクロックである。
また、d1、d2、d3、d4は各サイクルに構成されるデータパスのクリティカル(最大遅延)パスの遅延値である。
構成されるデータパスにより遅延値は異なり、ここではd3が最も大きく、グローバルクロックのサイクル時間より大きくなっている。
プロセッサエレメント11の基本動作は、1サイクルの動作を例にして説明される。
ローカルクロック(LCLK)が立ち上がる時刻T1では、構成情報メモリ111及び遅延制御情報メモリ14には、その時点での状態番号19が保持され、状態番号19をアドレスとして、構成情報114及び遅延制御情報17が読み出される。
プロセッサエレメント11内にデータ用のメモリ及びFFがあり、構成情報により読み出し動作が指定されている場合には、そのデータが読み出される。
各プロセッサエレメント11内では、構成情報に従った機能が構成され、データパス部10全体として、データパスが構成される。
構成されたデータパスでは演算が行われ、その演算はd1遅延後に終了する。
時刻T2では、プロセッサエレメント内にデータ用のメモリ及びFFのうち、構成情報により書き込み動作が指定されているものは、データパスの演算結果が書き込まれる。
また、プログラマブルディレイ回路15は、遅延制御情報27に従ってグローバルクロック(GCLK)16を遅延させ、次サイクルのローカルクロッ(LCLK)の立ち上がり時刻を決める。
時刻T3では、ローカルクロック(LCLK)の立ち上がりを、基準クロックよりも早くし、時刻T4では遅くしている。これにより、期間C3のサイクル時間は基準クロックのサイクル時間よりも長くなっている。
従来技術では、サイクル時間は固定とされている。また、構成されるデータパスには、それぞれクリティカルパスがあり、サイクル時間はそれらの遅延の最大値以上にする必要があった。
これに対して、本発明は、遅延調整回路を具備したことにより、各構成のサイクル時間を予めプログラムされた値に調整できる。
前後のサイクル時間を短くできる場合、その分クリティカルパス遅延が大きい構成のサイクル時間を長くする。このため、最大動作周波数を高めることができ、処理効率を向上することができる。
なお、本実施例においては、プロセッサエレメント11にスイッチエレメントである配線接続回路113、構成情報メモリ111を別々のブロックとして構成してよいことはもちろんである。逆に遅延調整回路13や命令コードメモリ(不図示)をプロセッサエレメント11に組み込む構成としてもよい。
状態番号19はこのようにアドレスとする構成でもよいが、この状態番号19に対応付けられたアドレスとし、このアドレスを構成情報メモリ111、命令コードメモリ(不図示)、遅延制御情報メモリ14に分配する構成も可能である。
次に、図5を用いて、本願発明のアレイ型プロセッサの状態番号、構成情報、命令コードならびに遅延制御情報の生成方法について説明する。本明細書では、これらの生成をコンパイルと称している。図5は、本発明のすべての実施の形態における本願発明のアレイ型プロセッサの状態番号、構成情報、命令コードならびに遅延制御情報の生成方法を示す流れ図である。これらは、上述のとおり、アプリケーションプログラムをコンパイルすることによって生成され、本アレイ型プロセッサが実際に動作する前に、状態番号は状態遷移テーブルメモリに、構成情報は構成情報メモリ111に、命令コードは命令コードメモリに、遅延制御情報は遅延制御情報メモリ14にそれぞれ格納される。
対象であるデータ処理(アプリケーションプログラム)を、先ずデータパス部で行う処理と状態遷移管理部で行う処理とに分割する(ステップS1)。具体的には、対象であるデータ処理を複数に分割し、分割された処理をデータパス部10に、分割した処理の処理順序の制御を状態遷移管理部12に割り当てる。分割した処理の処理順序は、状態遷移テーブルメモリに格納される状態番号の格納順番として示される。
次に、データパス部10で行う処理をデータパス部にマッピングする(ステップS2)。すなわち、プロセッサエレメント11の割り当て及びスイッチ接続を行う。ここでのマッピングは、コンパイル処理であるため、仮想的行われ、実際のデータパス部の回路構成を変えるものではない。データパス部10へのマッピング後、各構成面のクリティカルパス遅延の計算を行い、さらにその最大値を求める(ステップS3)。クリティカルパスは、マッピングにより生成された順序回路に挟まれる組み合わせ回路のデータパスのデータの最大伝播遅延時間であり、この最大遅延の逆数を仮の最大動作周波数とする。
次に、プログラマブルディレイ15の機構により、実際の最大動作周波数を、仮の最大動作周波数よりも早くできるか否かを探る。
具体的には、クリティカルパス遅延が最大である構成に着目し、その前後の構成では余裕(タイミング余裕)があるか否かを調べる。余裕がある場合、その余裕を使って、クリティカルパス遅延が最大である構成のサイクル時間を長く設定する。つまりこのクロックサイクル時間を長くできる余裕分を状態番号に対応づけて遅延制御情報17として生成する。
以上のように、マッピング情報、遅延制御情報を計算し(ステップS4)、最終的にはメモリに書き込む形式のデータにコード化する(ステップS5)。
<実施形態2>
次に本発明の第2の実施の形態について説明する。図4は、本発明の遅延調整回路を有するアレイ型プロセッサの第2の実施の形態における概略ブロック図を示している。第1の実施の形態に対して、さらに、書き込み制御信号20、クロック切り替え信号21を有している。
書き込み制御信号20ならびにクロック切り替え信号21は、本願アレイ型プロセッサの外部から入力され、それぞれ、本アレイ型プロセッサの外部からの、状態番号、構成情報、命令コード、遅延制御情報(本実施例では以降各データと称す)のアレイ型プロセッサへの書き込み(読み込み)制御、ならびに、アレイ型プロセッサの外部との入出力信号の同期タイミング制御のために利用される。
書き込み制御信号20は、遅延調整回路13の遅延制御情報メモリ14、状態遷移管理部12内の状態管理情報メモリ121、及び、各プロセッサエレメント11内の構成情報メモリ111に入力され、それらのメモリのデータ書き込みを制御する。これらのメモリへ書き込まれるデータは、図5のフローで作成されたものである。
一方、クロック切り替え信号21は、プログラマブルディレイ15に入力される。
書き込み制御信号20、クロック切り替え信号21を使用した本実施例のアレイ型プロセッサの動作の説明を以下に行う。
図5に示すアレイ型プロセッサへの各データの生成は、状態遷移管理部12とデータパス部10を使用したデータ処理を開始する前に実行する。
クロック切り替え信号21は、プログラマブルディレイ15の出力を、各データ書き込み時と、データ処理時とで切り替える制御を行うための信号である。各データ書き込み時には、書き込み制御信号20の出力先と、データの書き込み先(遅延制御用構成情報メモリ14、状態管理情報メモリ121、及びプロセッサエレメント11内の構成情報メモリ111)との間のデータ転送が同期して行えるように、プログラマブルディレイ15は、調整される。例えば、各データ書き込み時には、プログラマブルディレイ15の遅延がゼロとなるようにされる。
また、データ処理時には、第1の実施形態と同様に、遅延制御情報17に従いグローバルクロック(GCLK)16を遅延させたローカルクロック(LCLK)18を出力する。
書き込み制御信号20は、データ、書き込み先を指定するアドレス、書き込みイネーブル信号から構成される。
各データ書き込み時には、まず、プログラムディレイ15をクロック切り替え信号21により切り替え、書き込みが同期して行えるようにする。
次に、書き込み制御信号20のデータ、アドレス、イネーブルを制御して書き込みを行う。プログラム動作終了後、クロック切り替え信号によりクロックを切り替えデータ処理を開始する。
クロック切り替え信号21により、各データ書き込み時とデータ処理時のクロック出力を切り替えることで、各データ書き込み時には、外部の書き込み元との同期をとることができ、データ処理時には、プログラムディレイ15を使用してサイクル時間を可変とすることができる。
<実施形態3>
本発明の第3の実施の形態について説明する。図6は、本発明の第3の実施の形態の構成を示す図である。第3の実施の形態では、前記第1の実施の形態に加え、データ入出力制御信号22を有している。データ入出力制御信号22は、外部回路23内のレジスタやメモリとデータパス部10との転送を行うか否かを制御する。
遅延制御情報メモリ14は、遅延制御情報に加えデータ入出力制御情報を有している。また、データ入出力制御情報も状態番号19に対応付けられている。遅延調整回路13は、遅延制御情報メモリ14から状態番号19に応じた構成情報に加え、データ入出力制御情報をデータ入出力制御信号22として出力する。
図7は、本発明の第3の実施の形態の動作を説明するためのタイミング図である。図7において、T1、T2、T3、T4、T5は、ロールクロック(LCLK)が立ち上がる時刻を示しており、C1、C2、C3、C4はそれらの間の期間を示している。図7において、基準クロックは説明をし易くするために便宜上図示したものであり、グローバルクロック(GCLK)を一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロック(LCLK)として出力されるクロックである。また、d1、d2、d3、d4は各サイクルに構成されるデータパスのクリティカル(最大遅延)パスの遅延値である。構成されるデータパスにより遅延値は異なり、ここでは、d3が最も大きく、グローバルクロックのサイクル時間より大きくなっている。
図6に示す例では、データ入出力制御情報22は1ビットであり、クロックの立ち上がりでレベルがHighの場合、外部回路23のレジスタ及びメモリはデータを取り込む。ここでは外部回路23へのデータの出力を例に挙げたが同じタイミングでデータパス部へのデータの入力も可能である。
データパス部10に供給されるクロックのサイクル時間は、プログラマブルディレイ15により可変である。
しかし、データパス部10とのデータ転送を行う外部回路23は、通常、一定のクロックサイクルで動作している。図7に示す例では、時刻T5で、外部回路23とのデータ転送を行っている。
C4サイクルで読み出される遅延制御情報17によりローカルクロック(LCLK)が立ち上がる時刻T5は決められる。この遅延情報は、予め基準クロックと同期するように設定されている。
また、データ入出力制御情報22も1に設定されており、時刻T5ではデータ入出力制御信号には1が出力される。
これにより、時刻T5では、データパス部10は外部回路23と同期して動作する。
外部回路23では、データ入出力信号22が1の場合に、データの入出力を行えばよい。
外部回路23とのデータ転送時に、プログラマブルディレイ15によりローカルクロック(LCLK)を調整することで、データパス部10と外部回路23とが同期できる。さらに、データ入出力制御信号22を外部回路23に出力することにより、外部回路23では、この信号を観察することでデータ入出力を制御できる。
<実施形態4>
本発明の第4の実施の形態について説明する。図8は、本発明の第4の実施の形態の構成を示す図である。第4の実施の形態は、前記第1の実施形態に加え、クロック選択回路(MUX)24とクロック選択信号25を有している。
クロック選択回路24には、グローバルクロック(GCLK)16、ローカルクロック(LCLK)18及びクロック選択信号25が入力されており、クロック選択信号25によりグローバルクロック(GCLK)もしくはローカルクロック(LCLK)が選択され出力される。クロック選択回路24の出力は、プログラマブルディレイ15に入力される。
図9は、第4の実施の形態の動作を説明するためのタイミングチャートである。図9において、T1、T2、T3、T4、T5はローカルクロック(LCLK)が立ち上がる時刻を示しており、C1、C2、C3、C4はそれらの間の期間を示している。図9において、基準クロックは説明をし易くするために便宜上図示したものであり、グローバルクロックを一定遅延遅らせ、遅延制御によりサイクル時間を変化させない場合にローカルクロックとして出力されるクロックである。また、d1、d2、d3、d4は各サイクルに構成されるデータパスのクリティカル(最大遅延)パスの遅延値である。
構成されるデータパスにより遅延値は異なり、ここではd3が最も大きく、グローバルクロック(GCLK)のサイクル時間より大きくなっている。
クロック選択回路24は、クロック選択信号25がHighレベルの時、グローバルクロック(GCLK)を、Lowレベルの時に、ローカルクロック(LCLK)を出力する。
時刻T1とT5では、クロック選択信号25は、Highレベルであるため、クロック選択回路24は、グローバルクロック(GCLK)を選択する。
一方、時刻T2、T3、T4では、クロック選択信号25はLowレベルであるため、クロック選択回路24は、ローカルクロック(LCLK)を選択する。
遅延制御情報メモリ14は、ローカルクロック(LCLK)が立ち上がる際に、状態番号19をアドレスとして遅延制御情報17が読み出される。
プログラマブルディレイ15は、遅延制御情報17に従い、クロック選択回路24の出力クロックを遅延させる。
データパスのクリティカルパス遅延時間より大きく、最も小さい遅延値を選択するよう予め遅延制御情報メモリ14を設定しておく。
つまり、本実施形態では、1つ前のLCLKに対し、遅延制御情報17に示される遅延分を遅らせて、LCLKの次のクロックサイクルを出力させることができる。それゆえ、前記第1の実施の形態では、前後のサイクルに余裕がない場合、サイクル時間を長くすることができながったが、第4の実施の形態では、前後のサイクルとは関係なく、サイクル時間を決めることができる。このため、調整が可能な場合が多くなり、より動作周波数を向上させることができる。
なお、図9のT1、T5のタイミングは、外部との同期を取るために強制的に基準クロックにあわせるようにするものである。
なお、上記に挙げた実施例はいずれも、状態番号に対応付けられた構成情報と命令コードが構成情報メモリ、命令コードそれぞれに格納されるアレイ型プロセッサの例を示した。
しかしながら、構成情報と命令コードをひとまとめにし、構成情報メモリに格納し、構成情報メモリから構成情報、命令コードをそれぞれデータパス部に出力する構成をとってもよいことはもちろんである。この場合、この種のアレイ型プロセッサでは、状態番号を構成番号と称する場合もある。したがって、本願発明のアレイ型プロセッサは、構成番号が状態遷移管理部101に格納され、この構成番号に対応付けられた、構成情報、命令コード、遅延制御情報17によって、データパス部の回路構成と実行される命令を変え、同時に、遅延制御情報17によってどの動作をタイミングを決めるクロックサイクルを変更してアプリケーションを実行する構成とすることも可能である。
従来技術では、サイクル時間は固定であり、構成されるデータパスにはそれぞれクリティカルパスがあり、サイクル時間はそれらの遅延の最大値以上にする必要があった。
これに対して、本発明によれば、遅延調整回路を備え、各構成のサイクル時間を予めプログラムされた値に調整自在としている。
前後のサイクル時間を短くできる場合、その分クリティカルパス遅延が大きい構成のサイクル時間を長くする。
これにより、最大動作周波数を高めることができ、処理効率を向上することができる。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の第1の実施形態の構成を示す図である。 本発明の実施形態におけるプロセッサエレメントの構成を示す図である。 本発明の第1の実施形態の動作を説明するためのタイミングチャートである。 本発明の第2の実施形態の構成を示す図である。 本発明の第2の実施形態の手順を説明するための流れ図である。 本発明の第3の実施形態の構成を示す図である。 本発明の第3の実施形態の動作を説明するためのタイミングチャートである。 本発明の第4の実施形態の構成を示す図である。 本発明の第4の実施形態の動作を説明するためのタイミングチャートである。 従来技術の構成を示す図である。 プロセッサエレメントの典型的な構成の一例を示す図である。 データパス部の動作を模式的に説明する図である。 データパス部の動作を模式的に説明する図である。 図10の動作を説明するためのタイミングチャートである。
符号の説明
10 データパス部
11 プロセッサエレメント(PE)
12 状態遷移管理部
13 遅延調整回路
14 遅延制御情報メモリ
15 プログラマブルディレイ
16 グローバルクロック(GCLK)
17 遅延制御情報
18 ローカルクロック(LCLK)
19 状態番号
20 書き込み制御信号
21 クロック切替信号
22 データ入出力制御信号
23 外部回路
24 クロック選択回路
25 クロック選択信号
111 構成情報メモリ
112 機能ユニット
113 配線接続回路
114 構成情報
101 状態遷移管理部
102 データパス部
103 演算制御パス
104 イベント通知パス
105 プロセッサエレメント
106 プログラマブルスイッチエレメント
201 構成情報メモリ
202 機能ユニット
203 配線接続回路
204 レジスタファイル(RFU1)
205 レジスタファイル(RFU2)
206 マルチプレクサ(MUX1)
207 マルチプレクサ(MUX2)
208 演算器(ALU)
209 構成情報
210 状態番号
211 命令コード

Claims (7)

  1. データパスの構成がクロックサイクルに対応して変更自在とされるアレイ型プロセッサであって、入力されたクロック信号の遅延を調整する手段を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としてなる、アレイ型プロセッサ。
  2. 複数のプロセッサエレメントがアレイ状に配置されたデータパス部と、
    データパスの切り替え制御を行うための情報を格納している状態遷移管理部と、
    前記状態遷移管理部から出力される情報に基づき、入力されたクロック信号の遅延を調整し、前記データパス部に出力する遅延調整回路と、
    を備え、構成されるデータパスに応じて、クロックサイクルの長さを可変自在としてなる、アレイ型プロセッサ。
  3. 前記遅延調整回路が、
    遅延制御情報メモリと、
    プログラマブルディレイと、
    を備え、
    前記遅延制御情報メモリは、複数の遅延制御情報を記憶しており、前記状態遷移管理部から供給される状態番号をアドレスとして遅延制御情報を読み出して前記プログラマブルディレイに与え、
    前記プログラマブルディレイは、入力されたクロック信号を、前記遅延制御情報で指定される遅延時間分遅らせて前記データパス部に出力する、請求項2記載のアレイ型プロセッサ。
  4. 前記プロセッサエレメントが、
    複数個の構成情報を保持し、前記状態制御管理部から供給される状態番号をアドレスとして構成情報が読み出される構成情報メモリと、
    演算器、メモリ、レジスタの機能を少なくとも1つ有する機能ユニットと、
    前記プロセッサエレメント内の前記機能ユニットにおける接続形態と他のプロセッサエレメント間の接続形態を切り替える配線接続回路と、
    を備え、
    前記機能ユニットと前記配線接続回路とは、前記構成情報メモリからの構成情報によって接続形態と動作が決定される、請求項2又は3記載のアレイ型プロセッサ。
  5. 前記プログラマブルディレイの出力を、プログラム動作時と、データ処理時とで切り替える制御を行うためのクロック切替信号を備え、
    プログラム動作時のデータを含む書き込み制御信号を入力し、
    前記クロック切替信号に基づき、
    プログラム動作時には、前記プログラマブルディレイを調整し、前記書き込み制御信号の出力先と、前記遅延調整回路の前記遅延制御情報メモリ、前記状態遷移管理部の状態管理情報メモリ、及び、前記プロセッサエレメント内の構成情報メモリのうちのデータの書き込み先との間のデータ転送が同期して行えるようにし、
    データ処理時には、前記遅延制御情報に従い、入力クロック信号を前記プログラマブルディレイで遅延させたクロック信号が出力される、請求項3又は4記載のアレイ型プロセッサ。
  6. 前記遅延調整回路の前記遅延制御情報メモリが、
    前記遅延制御情報に加え、データ入出力制御情報を備え、
    前記状態番号に応じて前記データ入出力制御情報を、データ入出力制御信号に出力し、前記データ入出力制御信号は、前記データパス部との間でデータ転送を行う外部回路に供給され、
    前記外部回路は、前記データ入出力制御信号を観察することで、データ入出力を制御し、前記外部回路とのデータ転送時に、前記データパス部と前記外部回路間の同期がとられるように、前記プログラマブルディレイによりクロック信号の遅延が調整される、請求項3又は4記載のアレイ型プロセッサ。
  7. 前記遅延調整回路が、前記入力されたクロック信号と、前記プログラマブルディレイから出力されたクロック信号とを受け、入力されたクロック選択信号の値に基づき、一方を選択し、プログラマブルディレイに入力するクロック選択回路を備えている、請求項3又は4記載のアレイ型プロセッサ。
JP2007039624A 2007-02-20 2007-02-20 遅延調整回路を有するアレイ型プロセッサ Active JP4753895B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007039624A JP4753895B2 (ja) 2007-02-20 2007-02-20 遅延調整回路を有するアレイ型プロセッサ
US12/071,221 US8402298B2 (en) 2007-02-20 2008-02-19 Array-type processor having delay adjusting circuit for adjusting a clock cycle in accordance with a critical path delay of the data path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007039624A JP4753895B2 (ja) 2007-02-20 2007-02-20 遅延調整回路を有するアレイ型プロセッサ

Publications (2)

Publication Number Publication Date
JP2008204177A true JP2008204177A (ja) 2008-09-04
JP4753895B2 JP4753895B2 (ja) 2011-08-24

Family

ID=39707637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007039624A Active JP4753895B2 (ja) 2007-02-20 2007-02-20 遅延調整回路を有するアレイ型プロセッサ

Country Status (2)

Country Link
US (1) US8402298B2 (ja)
JP (1) JP4753895B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4662040B2 (ja) * 2005-07-08 2011-03-30 日本電気株式会社 通信システムおよびその同期制御方法
JP2008198003A (ja) * 2007-02-14 2008-08-28 Nec Electronics Corp アレイ型プロセッサ
KR20120074762A (ko) * 2010-12-28 2012-07-06 삼성전자주식회사 재구성 가능한 심드 아키텍처 기반의 컴퓨팅 장치 및 방법
US9983990B1 (en) * 2013-11-21 2018-05-29 Altera Corporation Configurable storage circuits with embedded processing and control circuitry
JP7038608B2 (ja) * 2018-06-15 2022-03-18 ルネサスエレクトロニクス株式会社 半導体装置
US11520371B2 (en) * 2020-02-10 2022-12-06 Northwestern University Compute-adaptive clock management for machine learning accelerators

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0474207A (ja) * 1990-07-16 1992-03-09 Nec Ic Microcomput Syst Ltd 集積回路装置
JP2000181566A (ja) * 1998-12-14 2000-06-30 Mitsubishi Electric Corp マルチクロック並列処理装置
JP2003076668A (ja) * 2001-08-31 2003-03-14 Nec Corp アレイ型プロセッサ、データ処理システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574345A (en) * 1981-04-01 1986-03-04 Advanced Parallel Systems, Inc. Multiprocessor computer system utilizing a tapped delay line instruction bus
US4851995A (en) 1987-06-19 1989-07-25 International Business Machines Corporation Programmable variable-cycle clock circuit for skew-tolerant array processor architecture
US5280474A (en) * 1990-01-05 1994-01-18 Maspar Computer Corporation Scalable processor to processor and processor-to-I/O interconnection network and method for parallel processing arrays
US5682491A (en) * 1994-12-29 1997-10-28 International Business Machines Corporation Selective processing and routing of results among processors controlled by decoding instructions using mask value derived from instruction tag and processor identifier
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
JP2002082830A (ja) * 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
JP3674515B2 (ja) 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ
JP2001297585A (ja) * 2000-04-18 2001-10-26 Mitsubishi Electric Corp クロック発生回路およびそれを備える半導体記憶装置
JP3450814B2 (ja) * 2000-09-26 2003-09-29 松下電器産業株式会社 情報処理装置
WO2003036799A1 (en) * 2001-10-26 2003-05-01 Nokia Corporation Systolic equalizer and method of using same
JP3987783B2 (ja) 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US7425841B2 (en) * 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
EP1779219B1 (en) * 2004-06-21 2008-04-30 Koninklijke Philips Electronics N.V. Power management
CA2509001A1 (en) * 2004-06-22 2005-12-22 Textron Inc. Blind bolt installation tool
US7417482B2 (en) * 2005-10-31 2008-08-26 Qualcomm Incorporated Adaptive voltage scaling for an electronics device
US20080025379A1 (en) * 2006-07-26 2008-01-31 Frederic Christian Marc Hayem Radio frequency integrated circuit having frequency dependent noise avoidance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0474207A (ja) * 1990-07-16 1992-03-09 Nec Ic Microcomput Syst Ltd 集積回路装置
JP2000181566A (ja) * 1998-12-14 2000-06-30 Mitsubishi Electric Corp マルチクロック並列処理装置
JP2003076668A (ja) * 2001-08-31 2003-03-14 Nec Corp アレイ型プロセッサ、データ処理システム

Also Published As

Publication number Publication date
US20080201526A1 (en) 2008-08-21
JP4753895B2 (ja) 2011-08-24
US8402298B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
EP2762990B1 (en) Clock selection circuit and method
JP4753895B2 (ja) 遅延調整回路を有するアレイ型プロセッサ
JP5231800B2 (ja) 半導体集積回路装置および半導体集積回路装置のクロック制御方法
JP4566180B2 (ja) 演算処理装置およびクロック制御方法
JP2014016894A (ja) 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
JP2008537268A (ja) 可変精度相互接続を具えたデータ処理エレメントの配列
JP5985900B2 (ja) 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム
JP4699927B2 (ja) 入出力共用端子制御回路
JP5926655B2 (ja) 中央処理装置および演算装置
JP2013196706A (ja) ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法
JP2006236106A (ja) データ処理装置及びデータ処理方法
JP2008198003A (ja) アレイ型プロセッサ
JP2006018411A (ja) プロセッサ
JP4743581B2 (ja) データ処理システムおよびその制御方法
JPH1091430A (ja) 命令解読装置
JP2004302827A (ja) マイクロコントローラ
Panda et al. Extending course-grained reconfigurable arrays with multi-kernel dataflow
JP6089949B2 (ja) Simd型プロセッサ
JP2008219728A (ja) 再構成可能な演算処理回路
JP6349995B2 (ja) データ処理装置
Jacobson et al. Asynchronous microengines for efficient high-level control
JP5701930B2 (ja) 半導体装置
US8719615B2 (en) Semiconductor device
JP2003122561A (ja) 情報処理装置
JP2011150636A (ja) マイクロプロセッサ及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

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

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

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4753895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350