JP2006085574A - データ処理システムおよびその制御方法 - Google Patents

データ処理システムおよびその制御方法 Download PDF

Info

Publication number
JP2006085574A
JP2006085574A JP2004271660A JP2004271660A JP2006085574A JP 2006085574 A JP2006085574 A JP 2006085574A JP 2004271660 A JP2004271660 A JP 2004271660A JP 2004271660 A JP2004271660 A JP 2004271660A JP 2006085574 A JP2006085574 A JP 2006085574A
Authority
JP
Japan
Prior art keywords
data
processing
individual
data path
function
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
JP2004271660A
Other languages
English (en)
Other versions
JP4743581B2 (ja
Inventor
Takashi Kojima
隆史 小嶋
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.)
IP Flex Inc
Original Assignee
IP Flex Inc
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 IP Flex Inc filed Critical IP Flex Inc
Priority to JP2004271660A priority Critical patent/JP4743581B2/ja
Publication of JP2006085574A publication Critical patent/JP2006085574A/ja
Application granted granted Critical
Publication of JP4743581B2 publication Critical patent/JP4743581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

【課題】 複数の機能を変更可能なプロセッシングエレメント(PE)により構成されるデータパスを再構成する際の入力データの待ち時間を短縮する。
【解決手段】 データパスを介して供給されるデータパケット90に処理対象のデータ91とトークン92とを含め、トークン92によりPEの個別機能が切り換えられるようにする。最終のデータと共に、あるいはその後に、エンドトークンを供給して、順番にPEの個別機能を変更してデータパスを再構成することにより、データ入力の待ち時間を短縮できる。
【選択図】 図8

Description

本発明は、機能および相互間の接続を変更可能な複数のプロセッシングエレメントにより、異なる構成のデータパスを生成可能なデータ処理システムおよびその制御方法に関するものである。
特開平8−101761号公報は、複数個の構成の間で迅速に切り替えできる再構成可能なアーキテクチャについて開示しており、その中では、内部に選択可能な機能を有する論理セルを含んだコアセルの構成が記載されている。このコアセルは、さらに、コンフィグレーションキャッシュと、インストラクションキャッシュとを備えており、コンフィグレーションキャッシュは、さらに、4つのビットデータ記憶部からなる。そして、命令キャッシュのデータによりコンフィグレーションキャッシュの4つのデータ記憶部の1つが選択されるようになっている。
特開平8−101761号公報
例えばALU(Arithmetic Logic Unit)のような程度の、適当な規模の演算機能、比較機能あるいは論理機能を備えた複数のプロセッシングエレメント(エレメント)の接続を切り替えることにより動的に種々のデータフロー(データパス)を再構成する技術が開発されている。エレメントをマトリクスあるいはツリーのように配置して、それらのエレメント間の接続を変えることができる配線群で接続してデータパスを生成したり、エレメントに接続機能を持たせて隣り合うエレメント同士を接続してデータパスを生成したりすることが可能である。
生成可能なデータパスを多様化するために、個々のエレメントの処理機能は変更可能であることが望ましく、加減乗除などの適当な算術演算のいずれか、または論理和、論理積などの適当な論理演算のいずれかを選択できるようになっていることが望ましい。データパスの構成を変更するためには、エレメントの接続を変えるだけではなく、個々のエレメントの処理機能の変更も必要になる。エレメントに対し処理機能を変更するため構成情報を提供する方法はいくつかある。1つは、エレメント間を接続する配線群を介して外部から供給する方法である。この方法は、ハードウェア資源は少なくて済むが、個々のエレメントを指定して構成情報を供給するのに膨大な時間を要する。したがって、データパスを動的に変更することは不可能である。個々のエレメントがマイクロコンピュータ並みの機能と資源とを備えていれば、事前にアプリケーションを実行するための情報を、データパス用の配線群を介して全てダウンロードさせておくことが可能かもしれない。しかしながら、アプリケーションの動的な変更に対するフレキシビリティーはなく、また、さまざまな例外に対応することもできない。そのような事態に対応するためには、エレメント間の通信配線が必要になり、ハードウェア資源は増加する。
他の方法の1つは、個々のエレメントに対して構成情報を供給するバスを、データパスを構成する配線群とは別に設けておくことである。このシステムは、適当な中央制御システムの制御の下で、個々のエレメントに対して適切なタイミングで構成情報を供給できる。したがって、アプリケーションの変更に対するフレキシビリティーは高く、また、中央制御システムが例外を検出できるようにすれば、例外にも対応できる。しかしながら、数十個あるいは数百個のエレメントの機能を並列に、そして、独立に管理する中央制御システムは、全てのエレメントの機能を1クロックあるいは数クロックで変更する能力が要求されるので、高い処理能力と、高い処理速度が要求される。したがって、エレメントを管理するための制御システムに、エレメントより高速動作し、処理能力も格段に高いプロセッサが必要になり、そのために、LSIのスペースとコストとが費やされることになる。このため、複数のエレメントにより再構成可能なデータパスを生成するLSIを提供するメリットは薄れる。
エレメントの機能の切り替えを、クロック信号、あるいはクロック信号に基づくサイクリックな信号により行うことが可能であり、エレメントの機能を切り替えるタイミングの管理は不要になるので、エレメントの機能を管理するシステムの負荷は大幅に減り、管理のためのハードウェアも簡易になる。しかしながら、エレメントの機能はサイクリックに切り替わるだけなので、それにより構成可能なデータパスのフレキシビリティーはほとんどない。例えば、2つの機能をクロック信号に基づき切り替えると、動的にデータパスの変更ができないハードウェアと比較して、同じエレメント数で最大で2倍のデータパスを実装できるに過ぎない。その一方で、処理速度は一般に低下し、さらに、同期設計を確実なものとするためにFFなどのハードウェアが増加するといった様々な問題が発生する。
個々のエレメントに適当な容量のコンフィグレーションメモリと、小規模のプロセッサとを搭載し、プロセッサが小規模のプログラムに従ってコンフィグレーションメモリから適当な機能を選択してエレメントの機能を変更する方法がある。この方法は、エレメントの管理を分散できる点でメリットがあるかもしれない。しかしながら、構成情報を個々のエレメントに供給するバスに加えて、個々のエレメントを制御するためのプログラムを個々のエレメントに供給するバスが必要になり、ハードウェアは増加する。さらに、エレメント間で機能を変更するタイミングを同期したり、例外を処理するためには通信用のハードウェアが必要になる。
複数のエレメントを接続することにより所望の処理を実行するのに適した構成になったデータパスは、1つのパケット化されたデータを処理するだけではなく、大量のデータパケットに対して同一の処理を実行するために使用される。したがって、データパスを動的に変更するとしても、あるデータパスが生成されてから、そのデータパスを構成しているエレメントを用いて異なるデータパスを生成するまでにはある程度の時間がある。このため、次のデータパスを構成するための情報をクロック単位でエレメントに供給しなくても良いとすれば、エレメントに対して構成情報を提供するハードウェアは簡略化できる。そして、全てのエレメントに次のデータパスを構成するための構成情報が行き渡り、前のデータパスで処理するデータパケットが通過した後に、機能の変更が必要なエレメントはその機能を変更する命令を全てのエレメントに対してブロードキャストすれば、適切なタイミングで、クロック単位で、適切なエレメントの機能を変更し、次のデータパスを構成できる。このシステムでは、エレメントの機能を管理するためのハードウェアは簡略化でき、アプリケーションの変更に対するフレキシビリティーも高く、さらに、エレメント間でタイミングを合わせて機能を変更するための通信機能も不用である。
このシステムは、クロック単位でデータパスを再構成できるが、全てのエレメントに対して機能の変更を行う命令をブロードキャストするために、次のデータパスを構成するために機能の変更が要求される全てのエレメントにおいて処理が終了している必要がある。すなわち、再構成の対象となるデータパスは、その全てのエレメントで処理が終了している必要がある。したがって、データパスに着目すると、1クロックあるいは数クロックで再構成されるが、エレメント単位で見ると、パイプライン方式でデータパケットがデータパスを流れている場合、データパスの入力側のエレメントにおいては、最終のデータパケットの処理が終了してからデータパスのレイテンシー分だけ遅れて機能が変更になり、データパスの出力側のエレメントにおいては、機能が変更になってからデータパスのレイテンシー分だけ遅れて処理が開始される。データパスを再構成可能なLSIなどのデータ処理システムにおいて、さらなる処理の高速化を図る場合、エレメントの処理の間隙を縮めることができることは重要であり、本発明の目的とするところである。
本発明においては、複数のプロセッシングエレメントを有し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するデータ処理システムの制御方法であって、個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給する工程と、構成済みの第1のデータパスを経由して、第1のデータパスの処理対象となる第1のデータとは区別される状態で、個々のプロセッシングエレメントの個別機能の変更の機会を示す第2のデータを、第1のデータパスを構成するプロセッシングエレメントに供給する工程と、第2のデータに基づき、第1のデータパスを構成するプロセッシングエレメントの個別機能を変更する工程とを有する制御方法を提供する。
この制御方法においては、データパスに沿って、そのデータパスを構成する個々のプロセッシングエレメントに対し、第2のデータが、処理対象となる第1のデータの順番で供給される。第2のデータは、第1のデータとは区別される状態で供給され、個々のプロセッシングエレメントの個別機能の変更の機会を示す情報である。したがって、第1のデータの処理とは独立して個々のプロセッシングエレメントにおいてデコードされ、プロセッシングエレメントに、その個別機能を変更するための構成情報が与えられていれば、第2のデータに基づき、第1のデータパスを構成するプロセッシングエレメントの個別機能が変更される。個々のプロセッシングエレメントに与えられた構成情報が、接続は変えずに、それぞれの処理機能、たとえば、パラメータを変更するような構成情報であれば、第2のデータが第1のデータパスを通過するのに連れて、個々のプロセッシングエレメントの個別機能が順番に変更され、第1のデータパスと構成の異なる第2のデータパスが生成される。したがって、第2のデータパスの全てが再構成されていなくても、第2のデータパスの処理対象となるデータパケットを、第2のデータパスを構成するために個別機能が変更されたプロセッシングエレメントに供給することが可能となる。すなわち、第2のデータパスによるパイプライン処理を、第2のデータパスが完全に構成するのを待たずに開始できる。したがって、各エレメントにおいて、第1のデータパスの処理が終了してから、第2のデータパスの処理が開始されるまでの時間的な間隙を最小限にすることが可能となり、データパスを再構成可能なLSIなどのデータ処理システムにおいて、さらなる処理の高速化を図ることができる。
再構成される第2のデータパスが、第1のデータパスに含まれるプロセッシングエレメント以外の、たとえば第3のデータパスに含まれるプロセッシングエレメントも必要とする場合は、第3のデータパスに含まれるプロセッシングエレメントの個別機能が既に変更されていれば、第1のデータパスへ第2のデータを供給することにより、上記と同様に、第2のデータパスを再構成するのに連動して第2のデータパスのパイプライン処理を開始できる。一方、第3のデータパスに含まれるプロセッシングエレメントの個別機能が変更されていないのであれば、第3のデータパスに第2のデータが供給されるときに、第3のデータパスに含まれるプロセッシングエレメントの個別機能の変更と連動して第2のデータパスのパイプライン処理を開始できる。したがって、いずれの場合も、第2のデータパスの再構成が完了する前にパイプライン処理を開始できる。
第2のデータは、第1のデータパスを構成するプロセッシングエレメントが生成して、第1のデータと共に第1のデータパスに供給しても良い。たとえば、第1のデータパスの途中のプロセッシングエレメントにおいて例外が発生したときに、それ以降のデータパケットに対して、下流のプロセッシングエレメントを例外用の処理を行う個別機能に変更することができる。データパスの構成を変更する機会は、データパスの処理対象となる一群のデータパケットの終了により発生することが多い。したがって、本発明の制御方法は、さらに、パケット化された第1のデータを第1のデータパスに供給し、最終のパケットと共にあるいはその後に第2のデータを第1のデータパスに供給する工程を有することが望ましい。
本発明の制御方法を採用する本発明のデータ処理システムは、複数のプロセッシングエレメントを具備し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するためのデータ処理ユニットを有する。データ処理システムは、さらに、個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給するための構成情報供給手段と、構成済みの第1のデータパスを経由して、第1のデータパスの処理対象となる第1のデータと、第1のデータとは区別される状態で、個々のプロセッシングエレメントの個別機能の変更の機会を示す第2のデータとを、第1のデータパスを構成するプロセッシングエレメントに供給するデータ供給手段とを有する。そして、個々のプロセッシングエレメントは、第2のデータに基づき、個別機能を変更する制御ユニットを備えている。さらに、データ供給手段は、パケット化された第1のデータを第1のデータパスに供給し、最終のパケットと共にあるいはその後に第2のデータを第1のデータパスに供給できることが望ましい。このデータ処理システムでは、個々のプロセッシングエレメントに対して個別機能の変更を指示する信号を個別に供給するのではなく、データパスの単位で第2のデータを供給するので、データ供給手段の構成が著しく複雑になることはない。また、個々のプロセッシングエレメントの制御ユニットも、第2のデータをデコードして個別機能の変更を行う機能を含めば良いので、プログラムカウンタを用いて命令をフェッチするような汎用プロセッサとしての機能までは必要としない。
本発明の制御方法およびデータ処理システムは、データパスを再構成するタイミングを示唆する命令あるいは信号を、全てのプロセッシングエレメントに対してブロードキャストする工程および手段を有することを排除するものではない。データパスを構成していないプロセッシングエレメントを含めて、広範囲のプロセッシングエレメントの構成を変更する必要があるときは、タイミングを示唆する情報をブロードキャストする方法は有効である。しかしながら、ブロードキャストするための配線は必要となる。
本発明の制御方法において、第2のデータは、第1のデータの有効・無効も示し、第2のデータに基づき、第1のデータパスを構成するプロセッシングエレメントが第1のデータを処理する工程をさらに有することは有効である。また、本発明のデータ処理システムにおいて、データ供給手段は、第2のデータに、第1のデータの有効・無効を示す情報を付加し、個々のプロセッシングエレメントの制御ユニットは、第2のデータに基づき、第1のデータを処理することは有効である。第1のデータの有効・無効を示すデータとしてトークンを用いるデータ処理システムにおいては、トークンに、個々のプロセッシングエレメントの個別機能の変更の機会を示す情報を付加することが可能である。
このように、本発明のデータ処理システムおよびその制御方法においては、個々のプロセッシングエレメントが、個々のプロセッシングエレメントにおいて実現している現在の個別機能の必要性が終了した順番に個々に、独立して、自律的に再構成される。すなわち、再構成がエレメントという、データパスを構成する最小の単位で、前の処理、すなわち、現状の個別機能の処理対象のデータが通過したり、その処理が終了したり、処理対象のデータが消滅したりすることにより、現在の個別機能が不要になったタイミングで行われるという特徴を有する。
したがって、本発明のデータ処理システムの制御方法は、将来の個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給する工程と、個々のプロセッシングエレメントは、現在の個別機能が不要になると、次の個別機能に切り替わる工程とを有するものである。また、本発明のデータ処理システムは、将来の個別機能を定める構成情報を個々のプロセッシングエレメントに対し供給するための構成情報供給手段を有し、個々のプロセッシングエレメントは、現在の個別機能が不要になると、次の個別機能に切り替える制御ユニットを備えている。このため、本発明のデータ処理システムにおいては、データ処理システムあるいは個々のデータパスの全体の処理が終了するまで次のデータパスのデータの入力を待つ必要はない。処理の終わったプロセッシングエレメントから次の処理用に再構成されるので、データを継続して入力することが可能になる。したがって今まであった待ち時間をなくして処理速度を上げることが可能になる。
図1に、データ処理システムの一例を示してある。このデータ処理システム1は、チップ化されており、再構成可能なデータ処理領域(データ処理ユニット)19と、この再構成可能なデータ処理領域19を再構成する機能および入出力を制御する機能などをサポートする周辺領域18とを備えている。
再構成可能な回路領域19は、図1において複数のセグメント10から15に分かれて記載されているが、図2に示すように、複数のエレメントがアレイまたはマトリクス状に2次元に配置されており、マトリクスと称される構成である。本例のマトリクス19は、縦横に2次元に配置された複数のプロセッシングエレメント(PE)21と、それらの間に格子状に配置された配線22と、配線22の接続ポイントで縦横の配線22の接続を自由に切り替えることができるスイッチングユニット23とを備えている。個々のPE21は、処理機能と、配線群22との接続とを変更可能な構成になっている。処理機能の変更にはルックアップテーブルなどにより、自在に機能を設定可能な構成を採用できる。本例では、算術論理演算用のエレメント、遅延用のエレメント、メモリ用のエレメント、データを入力または出力するためにアドレスを発生させるエレメント、データの入力または出力用のエレメントなど、ある程度の機能グループに分けて、それぞれの処理に適した内部構成のエレメントを配置することによりマトリクス19のスペース効率を向上している。また、ある程度の機能グループに分けたエレメントを配置することにより冗長性が減少するのでAC特性および処理速度も向上できるといったメリットを得ている。
図3および図4は、PE21の一例である。PE21は、機能を変更可能な内部データパス領域29と、その内部データパス領域29の機能を設定する制御ユニット60とを備えている。図3に示したPE21aの内部データパス領域29aは、カウンタなどからなるアドレス発生回路28と、セレクタSELとを備えており、制御ユニット60により設定された条件で生成されたアドレスが出力信号doとして配線22に出力される。この出力信号doは、行配線および列配線を介して、そのまま、あるいは、他のPE21によって処理された後にデータパケット90にされた入力信号dixあるいはdiyとしてPE21aにフィードバックされる。そして、制御ユニット60によりセットされた条件でセレクタSELが選択したアドレスがマトリクス19からデータ入力あるいは出力用のアドレスとして出力される。PE21aは、配線22のいずれかの配線から入力データを選択し、また、出力データを出力するためのセレクタ(不図示)も備えており、それらの設定も制御ユニット60により行われる。
図4に示したPE21bは、算術演算および論理演算に適した構成である。内部データパス部29bは、シフト回路SHIFT、マスク回路MASK、論理演算ユニットALUを備えている。そして、上記のPE21aと同様に、設定部60により、これらのシフト回路SHIFT、マスク回路MASK、論理演算ユニットALUの状態が設定される。したがって、データパケット90で供給される入力データdixおよびdiyを加算あるいは減算したり、比較したり、論理和あるいは論理積を演算することができ、その結果はデータパケット90の形で出力信号doとして配線(バス)22に出力される。
図2に示すように、PU1のマトリクス19は、368個のPE21を備えており、それらに対して構成情報(コンフィグレーションデータ)を供給する転送路を分けて形成するために、図1に示すように6つのセグメント10〜15に形式上分割されている。しかしながら、複数のPE21を接続する配線群22は、これらのセグメント10〜15に対して透過的にアレンジされており、セグメント10〜15の複数のPE21を接続して種々のデータパスを構成することができる。そのため、スイッチングユニット(SU)23は、プロセッシングエレメントの1種類として構成情報を受け付け、PE間の接続を変更する。そのため、PE21と同様に、配線群22の配線の接続を切り替える機能を設定する制御ユニット60を備えている。
マトリクス19の複数のPE21により構成されるデータパスには、周辺領域18の入力バッファ33と出力バッファ34とを用いてデータが入出力される。入力バッファ33は4つの入力エレメントLDBを備えており、バッファ33の構成および制御を構成情報により設定できるようになっている。出力バッファ34も同様であり、4つの出力エレメントSTBを備えており、構成および制御を構成情報により設定できるようになっている。さらに、ダイレクト入力31およびダイレクト出力32が用意されており、1つのチップ(PU)1では回路要素が不足するようなアプリケーションの処理も複数のチップ1を連結することにより対処可能な構成となっている。
本例のデータ処理システム1においては、マトリクス19のPE21およびSU23、および入出力バッファ33および34に対し、それぞれの処理機能およびPE間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更するための構成情報は、シフトレジスタ方式の供給機構50により供給される。構成情報の主な供給元は、周辺領域18に配置されたRISCなどのプロセッサ35であり、プロセッサ35により実行されるソフトウェアによりマトリクス19の構成を制御することができる。構成情報を他のPU1などから供給することも可能である。構成情報の供給機構50は、転送コントロールユニット(TCU)59と、各セグメント10〜15、入力バッファ33および出力バッファ34のそれぞれに張り巡らされた転送路51〜58とを備えている。TCU59は、バススイッチングユニット(バスインターフェイス、BSU)36に接続されており、プロセッサ35はBSU36を介して構成情報をTCU59に供給する。
図5に、構成情報の供給機構50のさらに詳しい構成を示してある。供給機構50は、夫々のセグメント10〜15に含まれるPE21を接続する転送路51〜56を備えている。転送路51〜56は、それぞれのPE21の制御ユニット60の転送用レジスタ(FF)を直列に接続する。例えば、転送路51では、1つのPE21の転送用FFに伝送された1ワードのデータは、1クロックあるいは1サイクルの遅延で次のPE21の転送用FFに伝送される。
TCU59は、データ領域管理部91と、このデータ領域管理部91によりセットされた構成情報を各転送路51〜58に集配する配送部92とを備えている。データ領域管理部91は、BSU36とのデータ交換を管理するバス制御部95と、送信部93と、受信部94とを備えている。全ての転送路51〜58は閉じており、TCU59から送出したデータはTCU59に戻るようになっており、転送路51〜58の途中の所望のPE21により構成情報がゲットされ、また、必要であればPE21から構成情報がTCU59に戻される。
図6に、転送路51に接続されたPE21の制御ユニット60の構成を示している。制御ユニット60は、転送路51を構成する転送用FF61と、その転送用FF61に格納されたデータ75をデコードするデコーダ62と、データ75を格納するためにバックグラウンドで動作するバックグランド動作部63と、内部データパス領域29の設定を行う構成情報が格納されるフォアグラウンド動作部64とを備えている。バッググラウンド動作部63は、将来の構成情報を格納することができる機構であり、3バンクのバッググラウンドメモリ65と、転送用FF61に格納されたデータ75をバッググラウンドメモリ65の各バンクと直に出力するラインに振り分けるセレクタ66と、メモリ65のバンクを選択してデータを出力できるセレクタ67とを備えている。したがって、転送路51により適当なタイミングで、個々のPE21に対し、少なくとも3つの将来の個別機能を決定する構成情報を提供することができる。フォアグラウンドで動作している構成情報も将来の構成情報として使用可能になるので、3バンク程度のメモリであっても、個別機能を切り換えて多種多様なデータパスを動的に再構成することができる。
このため、供給機構50により各PE21にデータ75として供給される構成情報は、各PE21の個別の機能を設定する情報であり、内部データパス領域29の接続、個々の論理ゲートの機能あるいは構成などを決定する情報、内部データパス領域29と配線群22との接続を決定する情報、内部データパス領域29において処理を開始したり、データパスとしての処理を開始したりするときの初期条件あるいは初期データなどを含む。さらには、次にロードされる構成情報を選択するための情報などを含めることも可能であり、制御ユニット60の制御に関する情報を含めることも可能である。スイッチングユニット23に供給される構成情報は、主に配線群22の接続に関する情報を含む。
フォアグラウンド動作部64は、現状の個別機能を実現するための構成情報を格納する機構であり、内部データパス領域29に供給されている設定データ(構成情報)を格納することにより内部データパス領域29の現状のコンフィグレーションを維持するフォアグラウンドメモリ68と、フォアグラウンドメモリ68に、バッグラウンドメモリ65または転送用FF61からのデータを選択して供給するセレクタ69を備えている。フォアグラウンドメモリ68にロードする構成情報を選択するセレクタ67および69は、デコーダ62により制御される。また、第2のセレクタ72および70を切り替えることにより、転送用FF61にセットされたデータおよびフォアグラウンドメモリ68に設定された構成情報から制御することも可能である。
さらに、制御ユニット60は、下流のPE21の転送用FF61に供給するデータ75を、自己のPE21のFF61のデータ、バッググラウンドメモリ65のバンクのデータ、さらにフォアグラウンドメモリ68のデータのいずれかから選択できる出力セレクタ71を備えている。デコーダ62は、自己の転送用FF61に転送されたデータ75を解析することにより、出力セレクタ71を切り替えて下流のPE21の転送用FF61に転送されるデータ75を選択する。
制御ユニット60は、さらに、内部データパス領域29に供給するクロック信号79をオンオフすることにより、内部データパス領域29を稼動および停止できるクロック信号制御ユニット77を備えている。クロック信号制御ユニット77には、内部データパス領域29の処理対象となる入力データ(第1のデータ)dixおよびdiyと共に配線群22から供給されるトークン(第2のデータ)dtxおよびdtyが入力されている。本例においては、入力データdixとトークンdtxとが1つのデータパケット90を構成し、複数のPE21とスイッチングユニット23を含む配線群22とにより構成されたデータパスを介して各PE21に供給される。入力データdiyとトークンdtyについても同様である。トークンdtxおよびdtyは、それぞれの入力データdixおよびdiyの有効・無効を示す。クロック信号制御ユニット77では、トークンdtxおよびdtyが有効であると、クロック信号79が内部データパス領域29に供給され、フォアグラウンドメモリ68の構成情報により所望の処理機能を果たすように設定された内部データパス領域29により入力データdixおよびdiyが処理され、内部データパス領域29から出力データdoが出力される。したがって、内部データパス領域29は、有効な入力データが供給されないときは動作しないので、PE21の単位で消費電力をセーブすることができる。
内部データパス領域29は、処理対象のデータである入力データdixおよびdiyの処理結果として、出力データdoを出力するだけではなく、その出力データdoの有効・無効を示すトークンtoも合わせて、データパケット90として出力する。内部データパス領域29におけるデータ処理の状態が、データパスを構成する構造のPE21の処理を中断させる必要がない場合は、データの有効を示すトークンtoがデータパケット90に含まれる。後続のPE21の処理を中断させることが好ましい場合は、データの無効を示すトークンtoを生成してデータパケット90に含ませることが可能であり、トークンによりデータパスを介して他のPE21と通信することができる。
トークンdtxおよびdtyは、さらに、デコーダ62にも入力されている。トークンdtxおよびdtyは、入力データの有効・無効だけではなく、PE21の個別機能の変更の機会を示す情報(エンドトークン)が含まれている。このため、デコーダ62は、トークンdtxおよびdtyの一方が内部データ領域29の機能の変更を要求していると、バックグランド動作部63およびフォアグラウンド動作部64のセレクタ66、67および69の少なくともいずれかを操作し、バッググラウンドメモリ65または転送用FF61に格納された構成情報のいずれかを選択してフォアグラウンドメモリ68にセットする。これにより、内部データ領域29の個別機能が変更され、また、配線群22との接続も必要に応じて変更される。エンドトークンは、データの有効・無効と同様に、内部データパス領域29を経由して出力データdoのトークンtoに反映してデータパケット90に含められる。したがって、エンドトークンは入力データパケットから出力データパケットに承継され、複数のPE21により構成されるデータパスを介して後続のPE21に供給される。エンドトークンは後述するようにデータ入力バッファ33により通常は生成され、データパケット90に組み込まれる。さらに、内部データパス領域29の構成を変えることにより、PE21においてエンドトークンを発生させたり、消滅させたりすることが可能であり、PE21で後続のPE21の個別機能の変更を制御することが可能である。
内部データパス部29のコンフィギュレーションの切り替えは、最大のデータ滞在時間が経過した後に行われる。クロック信号制御ユニット77は、エンドトークンを検出すると内部データパス部29のデータ入力を停止し、デコーダ62は、フォアグラウンドメモリ68のデータを入れ替えて、コンフィギュレーションの切り替えを行う。そして、一定クロックウェイト後、データ入力が許可できる状態となり、データが有効であることを示すトークンdtxおよびdtyが得られると、クロック信号制御ユニット77は、内部データパス領域29を稼動にする。これにより、各々のPE21は、次のデータパスを構成する次の個別機能に切り替わり、処理を開始する。
図7に、各PE21の制御ユニット60における構成情報に関する制御を示してある。ステップ81において、構成情報の供給機構50により転送用FF61に供給されたデータ75が自己のPE21の構成情報であれば、ステップ82において、それをバッググランドメモリ65に格納する。ステップ83において、データパスを構成する配線群22から供給されたトークンdtxまたはdtyのいずれかがエンドトークンであれば、ステップ84においてバッググランドメモリ65の構成情報のいずれかをフォアグラウンドメモリ68に格納して内部データパス部29の構成を切り換える。次に、ステップ85において、データパスを構成する配線群22から供給されたトークンdtxおよびdtyによりPE21に供給されたデータが有効であることが判断されれば、ステップ86において内部データパス部29を稼動させて処理を行い、データを配線群22により接続されたデータパスの次のPE21に送り出す。
図8(a)に、配線群22により各PE21の内部データパス部29に供給されるデータパケット90の概要を示してある。このデータパケット90は、2ビットのトークン領域92と、32ビットのデータ領域91を備えている。図8(b)に、トークン領域92の値と、その意味を示している。トークン領域92の値が2または3のときがエンドトークンであり、バックグラウンドメモリ65に次の構成情報があれば、それをフォアグラウンドメモリ68に移動してPE21の機能を変更する。バックグラウンドメモリ65に次の構成情報がなければ、内部データパス領域29の構成は変わらず、同じ機能が維持される。あるいは、バックグラウンドメモリ65に格納された次の構成情報が、フォアグラウンドメモリ68と同じである場合も、内部データパス領域29の構成は変わらず、同じ機能が維持される。エンドトークンは、データの有効・無効とは独立して供給することが可能であり、その個別機能で処理される最終のデータと共に、あるいは最終のデータの後にエンドトークンを供給することができる。
また、トークン(第2のデータ)92は、処理対象のデータ(第1のデータ)91と共にデータパケット90に含まれるが、予め決まった異なるビット位置に格納されており、第1のデータ91とは区別されている。したがって、各PE21の制御ユニット60は、第1のデータ91とは独立に、区別して、あるいは第1のデータ91は無視して、トークン92をデコードすることができる。このため、上述したように、第1のデータ91の有効・無効に関わらずエンドトークンを各PE21は理解して、個別機能を変更する処理を進めることができる。また、個別機能の変更に関して、制御ユニット60は、内部データパス領域29とは独立して、並列に処理を行うことができる。
エンドトークンを設ける代わりに、内部データパス領域29が処理対象のデータを解釈して、処理対象のデータの終了を判断し、現在の個別機能が不要になったことを判断しても良い。この場合は、制御ユニット60は、内部データパス領域29の判断を待って、次の構成情報をフォアグラウンドメモリに移動する処理を行う。この制御方法であっても、各PE21は自律的に、自己の現在の個別機能が不要になったことを判断して、次の個別機能に移行するように構成情報を切り換えることが可能である。しかしながら、内部データパス領域29に最終のデータであることを判断する機能を付加する必要があり、内部データパス領域29において判断された後に構成を変更する一連の処理が開始されるので、構成情報の変更に、データがPE21に常駐するサイクルの遅れがでる。さらに、エンドトークンが処理対象のデータと異ならないので、処理対象のデータと同期させてPE21の構成を変更させるしかなく、また、PE21におけるエンドトークンの発生・喪失は処理対象のデータの変更あるいは発生・喪失を意味し、エンドトークンを用いたケースに比較し、構成情報の変更に関わるPE21の間の通信のフレキシビリティーは制限される。
図9に、本例のデータ処理システム1の入力バッファ33において、エンドトークン92を備えたデータパケットを生成する部分の構成を示してある。このエンドトークン生成部33tは、設定データの供給機構57を介して読み取り対象のデータ数が設定され、BSU36を介してアクセスしている外部メモリから所望のデータを読み取り、32ビットにパケット化してマトリクス19のデータパスに入力する。そして、最終のデータパケット90に、エンドトークン92を付ける。
図10(a)に、サンプルとして、16個のPE21を備えた非常に簡易な構成のマトリクス19を示してある。本図に示したように、IN−1、IN−2およびIN−3の入力に対してOUT−1およびOUT−2を出力するデータパス100において、1つのPE21における最大データ滞在時間(処理時間)を20クロックとし、各PE21の構成情報を切り換えて個別機能を変更する時間を1クロックとする。データパス100の処理が終了してから、ブロードキャスト方式により、PE21の個別機能を一括変えて、データパス100を再構成する場合、データパス100の最長は4つのPE21を経由するため、データパスの構成変更に、81クロック+αのコンフィギュレーション切り替え時間が必要となり、この間、データの入力が中断される。すなわち、切り替え前のコンフィギュレーションの最終データから切り替え後の先頭データの間に、81クロック+αの空白時間が生じることとなる。
これに対し、エンドトークンを用いてコンフィギュレーションの切り替えを行う場合は、個々のPE21がエンドトークンを検出したら、個々のPE21の構成情報を切り換えて個別機能を変更する。このため、コンフィギュレーションの切り替えに要する時間は21クロック+αとなり、理想的には1クロックの空白時間をおいて、次のデータパスにより処理するデータを入力することができる。したがって、コンフィグレーションの切り替えによる処理の遅れを数十分の一に短縮することができる。
実際には、機能の異なるPE21の処理時間は異なるので、図10(b)に示すように、時刻T0に、データD1およびD2が順番に入力され、時刻T1に「A」で示されたPE21でデータが処理され、時刻T2に「B」で示されたPE21でデータが処理され、OUT−1からはデータが出力され、時刻T3に、OUT−1からはデータD2が出力され、「C」で示されたOUT−2のPE21からデータD1が出力され、時刻T4に、OUT−2からデータD2が出力されたとする。ブロードキャスト方式でマトリクス19のPE21の機能を一括して変更するのであれば、時刻T4の後の時刻T5で機能を変更してデータパスを再構成する。
エンドトークン方式であれば、時刻T2には「A」で示したPE21およびそれより上流のPE21の個別機能の変更が許可され、時刻T3には「B」で示したPE21およびそれより上流のPE21の個別機能の変更が許可され、時刻T4には全てのPE21の個別機能の変更が許可される。このように、本発明のデータ処理システム1においては、データ処理システムあるいは個々のデータパス100の全体の処理が終了するまで次のデータの入力を待つ必要はない。現在の個別機能の処理の終わったPE21から次の処理用の個別機能に再構成されるので、データを継続して入力することが可能になる。したがって今まであった待ち時間をなくして処理速度を上げることが可能になる。
なお、本例のデータ処理システム1においては、個々のPE21に対して、シフトレジスタ方式の供給機構50により構成情報を提供しているが、個々のPE21をバスで接続したバス方式など、他の方式により構成情報を提供しても良い。また、本例のデータ処理システム1においては、個々のPE21とは別に配線資源22および23を用意して、データパスを構成するようにしているが、PE21が配線資源として隣接するPEとの接続を変えてデータパスを構成するものであっても良い。さらに、全てのPE21が共通の構成を持った再構成可能なデータ処理システムにおいても本発明は適用できる。
本発明においては、個々のPEに対して構成情報を提供する手段と、個々のPEをネットワークで接続してデータパスを形成する手段とを備えたデータ処理システムにおいて、データパスを経由して構成の変更を許可する情報を提供し、ハードウェア資源の削減と、データパスの再構成に係る待ち時間の削減という効果を得ている。特に、本発明の制御方法は、現存のデータパスを構成しているPEの個別機能を変更して、新たな機能のデータパスを再構成する操作に適しており、異なるパラメータにより新たな機能を提供するデータパスを1クロックで再構成して、待ち時間をほとんどなくして、データを継続的に処理することができる。
有線あるいは無線により、データ処理システムを構成する全てのPEに対して、再構成の許可をブロードキャストする手段は、データパスに含まれないPEを含めて一括したデータパスの再構成には適している。したがって、本発明に対し、さらに、ブロードキャストする手段を設けることは有効である。ブロードキャスト方式においても、本発明のエンドトークンを利用した方式においても、個々の機器、すなわちPEに対して異なる設定を与えるために、個々の機器に対して個別にアクセスする必要は省かれており、そのための冗長なハードウェアは不要であり、また、そのために費やされる時間も不要である。
本発明のデータ処理システムおよびその制御方法は、様々なデータ処理を実行可能なシステムLSIあるいはASICなどとして提供することが可能である。また、本発明のデータ処理システムは、電子回路に限定されることはなく、光回路あるいは光電子回路をベースとするデータ処理装置およびシステム、さらには、ネットワーク接続された分散処理システムにも適用できるものである。そして、本発明のデータ処理システムは、再構成可能なハードウェアによりデータ処理を高速に実行できるので、ネットワーク処理や、画像処理などの高速性およびリアルタイム性が要求されるデータ処理装置に好適なものである。
データ処理システムの概要を示す図である。 マトリクスの概要を示す図である。 プロセッシングエレメント(PE)の一例を示す図である。 PEの他の例を示す図である。 PEを転送路により接続した状態を示す図である。 PEの制御ユニットの構成を示す図である。 PEの制御ユニットの制御を示すフローチャートである。 図8(a)はデータパケットの構成を示し、図8(b)はトークンの値および説明を示す図である。 入力バッファの構成を示す図である。 図10(a)は、簡易なマトリクスにより本発明を説明する図であり、図10(b)はタイムチャートである。
符号の説明
1 データ処理システム、 10〜15 セグメント
19 マトリクス、 21 プロセッシングエレメント(PE)
29 内部データパス領域
50 データ伝送機構
60 制御ユニット

Claims (8)

  1. 複数のプロセッシングエレメントを有し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、前記複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するデータ処理システムの制御方法であって、
    前記個別機能を定める構成情報を前記個々のプロセッシングエレメントに対し供給する工程と、
    構成済みの第1のデータパスを経由して、前記第1のデータパスの処理対象となる第1のデータとは区別される状態で、前記個々のプロセッシングエレメントの前記個別機能の変更の機会を示す第2のデータを、前記第1のデータパスを構成するプロセッシングエレメントに供給する工程と、
    前記第2のデータに基づき、前記第1のデータパスを構成するプロセッシングエレメントの前記個別機能を変更する工程とを有する制御方法。
  2. 請求項1において、前記第2のデータは、前記第1のデータの有効・無効も示し、
    前記第2のデータに基づき、前記第1のデータパスを構成するプロセッシングエレメントが前記第1のデータを処理する工程をさらに有する制御方法。
  3. 請求項1において、パケット化された前記第1のデータを前記第1のデータパスに供給し、最終のパケットと共にあるいはその後に前記第2のデータを前記第1のデータパスに供給する工程を有する制御方法。
  4. 複数のプロセッシングエレメントを有し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、前記複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するデータ処理システムの制御方法であって、
    将来の前記個別機能を定める構成情報を前記個々のプロセッシングエレメントに対し供給する工程と、
    前記個々のプロセッシングエレメントは、現在の前記個別機能が不要になると、次の前記個別機能に切り替わる工程とを有する制御方法。
  5. 複数のプロセッシングエレメントを具備し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、前記複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するためのデータ処理ユニットと、
    前記個別機能を定める構成情報を前記個々のプロセッシングエレメントに対し供給するための構成情報供給手段と、
    構成済みの第1のデータパスを経由して、前記第1のデータパスの処理対象となる第1のデータと、前記第1のデータとは区別される状態で、前記個々のプロセッシングエレメントの前記個別機能の変更の機会を示す第2のデータとを、前記第1のデータパスを構成するプロセッシングエレメントに供給するデータ供給手段とを有し、
    前記個々のプロセッシングエレメントは、前記第2のデータに基づき、前記個別機能を変更する制御ユニットを備えているデータ処理システム。
  6. 請求項5において、前記データ供給手段は、前記第2のデータに、前記第1のデータの有効・無効を示す情報を付加し、
    前記個々のプロセッシングエレメントの前記制御ユニットは、前記第2のデータに基づき、前記第1のデータを処理する、データ処理システム。
  7. 請求項5において、前記データ供給手段は、パケット化された前記第1のデータを前記第1のデータパスに供給し、最終のパケットと共にあるいはその後に前記第2のデータを前記第1のデータパスに供給する、データ処理システム。
  8. 複数のプロセッシングエレメントを具備し、個々のプロセッシングエレメントは、それぞれの処理機能、およびプロセッシングエレメント間の接続の少なくとも一部を変更する接続機能の少なくともいずれかを含む個別機能を変更可能であり、前記複数のプロセッシングエレメントにより少なくとも1つのデータパスを構成するためのデータ処理ユニットと、
    将来の前記個別機能を定める構成情報を前記個々のプロセッシングエレメントに対し供給するための構成情報供給手段とを有し、
    前記個々のプロセッシングエレメントは、現在の前記個別機能が不要になると、次の前記個別機能に切り替える制御ユニットを備えているデータ処理システム。
JP2004271660A 2004-09-17 2004-09-17 データ処理システムおよびその制御方法 Active JP4743581B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004271660A JP4743581B2 (ja) 2004-09-17 2004-09-17 データ処理システムおよびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004271660A JP4743581B2 (ja) 2004-09-17 2004-09-17 データ処理システムおよびその制御方法

Publications (2)

Publication Number Publication Date
JP2006085574A true JP2006085574A (ja) 2006-03-30
JP4743581B2 JP4743581B2 (ja) 2011-08-10

Family

ID=36164011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004271660A Active JP4743581B2 (ja) 2004-09-17 2004-09-17 データ処理システムおよびその制御方法

Country Status (1)

Country Link
JP (1) JP4743581B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003058A (ja) * 2008-06-19 2010-01-07 Fujitsu Microelectronics Ltd 動的再構成回路およびデータ送信制御方法
US7917707B2 (en) 2007-07-31 2011-03-29 Kabushiki Kaisha Toshiba Semiconductor device
WO2014045556A1 (ja) * 2012-09-18 2014-03-27 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラムの記憶媒体
JP2019109892A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 計算のためのシステムと方法
JP2020173517A (ja) * 2019-04-08 2020-10-22 キヤノン株式会社 情報処理装置及びその制御方法法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102492A (ja) * 1994-08-02 1996-04-16 Toshiba Corp プログラム可能な配線回路及びテストボード装置
JPH10233677A (ja) * 1996-12-20 1998-09-02 Hitachi Ltd 半導体集積回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102492A (ja) * 1994-08-02 1996-04-16 Toshiba Corp プログラム可能な配線回路及びテストボード装置
JPH10233677A (ja) * 1996-12-20 1998-09-02 Hitachi Ltd 半導体集積回路
JP2001202236A (ja) * 2000-01-20 2001-07-27 Fuji Xerox Co Ltd プログラマブル論理回路装置によるデータ処理方法、プログラマブル論理回路装置、情報処理システム、プログラマブル論理回路装置への回路再構成方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917707B2 (en) 2007-07-31 2011-03-29 Kabushiki Kaisha Toshiba Semiconductor device
JP2010003058A (ja) * 2008-06-19 2010-01-07 Fujitsu Microelectronics Ltd 動的再構成回路およびデータ送信制御方法
WO2014045556A1 (ja) * 2012-09-18 2014-03-27 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラムの記憶媒体
JPWO2014045556A1 (ja) * 2012-09-18 2016-08-18 日本電気株式会社 時系列データ処理装置、時系列データ処理方法及び時系列データ処理プログラム
JP2019109892A (ja) * 2017-12-19 2019-07-04 三星電子株式会社Samsung Electronics Co.,Ltd. 計算のためのシステムと方法
JP7268996B2 (ja) 2017-12-19 2023-05-08 三星電子株式会社 計算のためのシステムと方法
US11645224B2 (en) 2017-12-19 2023-05-09 Samsung Electronics Co., Ltd. Neural processing accelerator
JP2020173517A (ja) * 2019-04-08 2020-10-22 キヤノン株式会社 情報処理装置及びその制御方法法及びプログラム
JP7325210B2 (ja) 2019-04-08 2023-08-14 キヤノン株式会社 情報処理装置及びその制御方法

Also Published As

Publication number Publication date
JP4743581B2 (ja) 2011-08-10

Similar Documents

Publication Publication Date Title
US10282338B1 (en) Configuring routing in mesh networks
US8050256B1 (en) Configuring routing in mesh networks
US8151088B1 (en) Configuring routing in mesh networks
JP4594666B2 (ja) 再構成可能な演算装置
US5664214A (en) Parallel processing computer containing a multiple instruction stream processing architecture
US20060245225A1 (en) Reconfigurable elements
JP2005531089A (ja) 散在しているプロセッサと通信要素を備える処理システム
JP2010079923A (ja) 処理チップ、チップを含むシステム、マルチプロセッサ装置およびマルチコアプロセッサ装置
KR20010080366A (ko) 프로그램 제품 및 데이터 처리장치
KR20170016998A (ko) 벡터 소팅 알고리즘 및 다른 알고리즘들을 지원하기 위한 트리 구조를 갖춘 기능 유닛
JP2005165961A (ja) 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
CN107273205B (zh) 用于在计算机处理器中调度指令的方法和系统
US11531637B2 (en) Embedding rings on a toroid computer network
US8103866B2 (en) System for reconfiguring a processor array
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
JP4359490B2 (ja) データ伝送方法
JP2006236106A (ja) データ処理装置及びデータ処理方法
JP3987784B2 (ja) アレイ型プロセッサ
JP4743581B2 (ja) データ処理システムおよびその制御方法
US20080235490A1 (en) System for configuring a processor array
JP2008204177A (ja) 遅延調整回路を有するアレイ型プロセッサ
US20090319762A1 (en) Dynamic reconfigurable circuit and data transmission control method
US7788465B2 (en) Processing system including a reconfigurable channel infrastructure comprising a control chain with combination elements for each processing element and a programmable switch between each pair of neighboring processing elements for efficient clustering of processing elements
US20070220236A1 (en) Reconfigurable computing device
US7814296B2 (en) Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070824

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

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

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

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4743581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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