JP3987784B2 - アレイ型プロセッサ - Google Patents

アレイ型プロセッサ Download PDF

Info

Publication number
JP3987784B2
JP3987784B2 JP2002315735A JP2002315735A JP3987784B2 JP 3987784 B2 JP3987784 B2 JP 3987784B2 JP 2002315735 A JP2002315735 A JP 2002315735A JP 2002315735 A JP2002315735 A JP 2002315735A JP 3987784 B2 JP3987784 B2 JP 3987784B2
Authority
JP
Japan
Prior art keywords
state management
management unit
event
processor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002315735A
Other languages
English (en)
Other versions
JP2004151951A (ja
Inventor
太郎 藤井
浩一朗 古田
真人 本村
健一朗 安生
義一 矢部
亨 粟島
崇雄 戸井
典嗣 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2002315735A priority Critical patent/JP3987784B2/ja
Priority to GB0325023A priority patent/GB2395584B/en
Priority to US10/694,822 priority patent/US8151089B2/en
Publication of JP2004151951A publication Critical patent/JP2004151951A/ja
Application granted granted Critical
Publication of JP3987784B2 publication Critical patent/JP3987784B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理を個々に実行するとともに相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントを状態管理部で動作制御するアレイ型プロセッサに関する。
【0002】
【従来の技術】
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるCPU(Central Processing Unit)やMPU(Micro Processor Unit)と呼称される製品が実用化されている。
【0003】
このようなプロセッサユニットを利用したデータ処理システムでは、複数の命令コードが記述された各種のアプリケーションプログラムと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから命令コードや処理データを順番にデータ読出して複数の演算処理を逐次実行する。
【0004】
このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数の演算処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから命令コードをデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
【0005】
一方、実行するデータ処理が1つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の命令コードを順番にデータ読出して複数の演算処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら1つのデータ処理しか実行することができない。
【0006】
つまり、アプリケーションプログラムを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、アプリケーションプログラムを変更できないので1つのデータ処理しか実行できない。
【0007】
このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するデータ処理装置として、アレイ型プロセッサを発明して出願した(例えば、特許文献1参照)。
【0008】
【特許文献1】
特開2001−312481号
【0009】
このアレイ型プロセッサでは、小規模の多数のプロセッサエレメントが多数のスイッチエレメントとともにデータパス部に行列形状に配列されており、この1個のデータパス部に1個の状態管理部が並設されている。多数のプロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、個々に並設されている多数のスイッチエレメントに相互の接続関係を切換制御させる。
【0010】
つまり、アレイ型プロセッサは、多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードを切り換えることでデータパスの構成が変化するので、ソフトウェアに対応して各種のデータ処理を実行することができ、ハードウェアとして小規模の多数のプロセッサエレメントが簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
【0011】
そして、上述のような多数のプロセッサエレメントと多数のスイッチエレメントとの命令コードからなるデータパス部のコンテキストを状態管理部がコンピュータプログラムとイベントデータとに対応して動作サイクルごとに順次切り換えるので、アレイ型プロセッサはコンピュータプログラムに対応して並列処理を連続的に実行することができる。
【0012】
なお、上述のコンピュータプログラムは状態管理部に事前に実装されており、イベントデータはアレイ型プロセッサの外部から状態管理部に入力されたり、データパス部から状態管理部に入力される。
【0013】
【発明が解決しようとする課題】
上述のアレイ型プロセッサは、多数のプロセッサエレメントにより高速なデータ処理を実行できるが、その多数のプロセッサエレメントの状態遷移を1個の状態管理部で管理している。このため、例えば、図19に示すように、4状態と6状態との2つのループ遷移を一緒に実行する場合、最低でも4と6との最少公倍数である12状態が必要となる。
【0014】
このような状態数は組み合わせる状態遷移の個数や各遷移の状態数が増加すると膨大となり、アレイ型プロセッサの動作効率を阻害することになる。特に、状態遷移に条件分岐が存在する場合、管理すべき状態数が膨大となり、状態管理部で管理することが困難となる。
【0015】
そこで、本発明者は上述の課題を解決するため、アレイ型プロセッサの状態管理部を複数とすることを発明し、特願2002−299028号および特願2002−299029号として出願した。これらのアレイ型プロセッサでは、状態管理部が複数なので、小規模な複数の状態遷移を複数の状態管理部で個別に管理するようなことができ、大規模な1つの状態遷移を複数の状態管理部で協調して管理するようなこともできる。
【0016】
しかし、前述のように状態管理部はイベントデータに対応して多数のプロセッサエレメントの状態遷移を管理するので、状態管理部を複数としたアレイ型プロセッサでは、イベントデータを複数の状態管理部に的確に配布する機構を確立する必要がある。
【0017】
本発明は上述のような課題に鑑みてなされたものであり、複数の状態管理部にイベントデータを的確に配布することができるアレイ型プロセッサを提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明のアレイ型プロセッサは、多数のプロセッサエレメント、複数の状態管理部、イベント分配手段、を有しており、多数のプロセッサエレメントが行列形状に配列されている。プロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行し、イベントデータを出力する。状態管理部は、多数のプロセッサエレメントの命令コードをコンピュータプログラムとイベントデータとに対応して順次切り換えるが、この状態管理部が必要により相互通信して連携動作する複数からなる。そして、この相互通信して連携動作する複数の状態管理部にイベント分配手段がイベントデータを分配するので、大規模な状態遷移を複数の状態管理部が連携して管理するようなことが実行される。
【0019】
なお、本発明で云う“複数”とは、“2”以上の任意の整数を意味しており、“多数”とは、上記の“複数”より以上の任意の整数を意味している。また、本発明で云うイベントデータとは、状態管理部が管理している現在の状態を遷移させるためのデータ、ある状態管理部が管理している現在の状態を他の状態管理部に通知するためのデータ、などからなる。
【0020】
【発明の実施の形態】
[第1の形態の構成]
本発明の実施の第1の形態を、図1ないし図6を参照して以下に説明する。まず、本形態のアレイ型プロセッサ100は、図4に示すように、状態管理部101、プロセッサエレメント102、メモリコントローラ103、リードマルチプレクサ104、等を主要構造として有している。
【0021】
さらに、図1および図2に示すように、本形態のアレイ型プロセッサ100では、状態管理部101が相互通信して連携動作する複数からなり、多数のプロセッサエレメント102が状態管理部101に対応した個数のエレメント領域105に区分されている。
【0022】
そして、複数の状態管理部101が複数のエレメント領域105ごとにプロセッサエレメント102に接続されており、複数の状態管理部101が接続されているプロセッサエレメント102のエレメント領域105に個々に配置されている。
【0023】
より詳細には、多数のプロセッサエレメント102が複数のエレメント領域105ごとに行列形状に配列されており、矩形に区分された複数のエレメント領域105も行列形状に配列されている。そして、状態管理部101がエレメント領域105でのプロセッサエレメント102の一行と同等な形状に形成されており、エレメント領域105の列方向の略中央に状態管理部101が配置されている。
【0024】
なお、以下では説明を簡単とするため、図示するように、本形態のアレイ型プロセッサ100には4個のエレメント領域105−1〜4が2行2列に配列されており、エレメント領域105の各々に16個のプロセッサエレメント102が4行4列に配列されているとする。
【0025】
さらに、図1の左右方向が行方向で上下方向が列方向とし、各行は列方向に配列されており、各列は行方向に配列されているとする。このため、状態管理部101は、エレメント領域105の一行の4個のプロセッサエレメント102と同等な形状に形成されており、エレメント領域105のプロセッサエレメント102の2行目と3行目との中間に配置されているとする。
【0026】
図4に示すように、メモリコントローラ103は、外部入力される各種データをエレメント領域105の状態管理部101とプロセッサエレメント102とに伝送し、リードマルチプレクサ104は、プロセッサエレメント102から読み出された各種データを外部出力する。
【0027】
プロセッサエレメント102は、メモリコントローラ103から入力される各種データでデータ処理を実行し、データ処理した各種データをリードマルチプレクサ104に出力する。状態管理部101は、そのエレメント領域105のプロセッサエレメント102の状態遷移を管理することにより、そのエレメント領域105のプロセッサエレメント102に各種のデータ処理を実行させる。
【0028】
より詳細には、エレメント領域105には、図3および図4に示すように、多数のプロセッサエレメント102とともに、多数のスイッチエレメント108も行列形状に配列されており、そのスイッチエレメント108を介して多数のmb(m-bit)バス109と多数のnb(n-bit)バス110とで多数のプロセッサエレメント102がマトリクス接続されている。
【0029】
また、図3(b)に示すように、プロセッサエレメント102は、メモリ制御回路111、インストラクションメモリ112、インストラクションデコーダ113、mbレジスタファイル115、nbレジスタファイル116、mbALU(Arithmetic and Logical Unit)117、nbALU118、内部可変配線(図示せず)、等を各々有しており、スイッチエレメント108は、バスコネクタ121、入力制御回路122、出力制御回路123、等を各々有している。
【0030】
また、複数の状態管理部101は、図4に示すように、インストラクションデコーダ138、遷移テーブルメモリ139、インストラクションメモリ140、を有しており、そのインストラクションデコーダ138とメモリコントローラ103とは命令バス141で接続されている。
【0031】
また、メモリコントローラ103からリードマルチプレクサ104まで8行の命令バス142が並列に接続されており、これら8行の命令バス142が、1行ごとに8列のプロセッサエレメント102のメモリ制御回路111に接続されている。
【0032】
また、状態管理部101の1個のインストラクションデコーダ138には2組の4列のアドレスバス143が接続されており、このアドレスバス143が1列ごとに2行のプロセッサエレメント102のメモリ制御回路111に接続されている。
【0033】
なお、命令バス141は、例えば、“20(bit)”のバス幅に形成されており、命令バス142およびアドレスバス143は、例えば、“8(bit)”のバス幅に形成されており、メモリコントローラ103は、4個の状態管理部101に命令バス141で接続されている。
【0034】
ただし、本形態のアレイ型プロセッサ100では、前述のようにエレメント領域105ごとに状態管理部101がプロセッサエレメント102に接続されているので、その状態管理部101は接続されているプロセッサエレメント102のみ状態管理を実行する。
【0035】
また、本形態のアレイ型プロセッサ100では、外部から供給されるコンピュータプログラムに、エレメント領域105の多数のプロセッサエレメント102と多数のスイッチエレメント108との命令コードが、順次切り換わるコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部101の命令コードが、順次遷移する動作状態としてデータ設定されている。
【0036】
このため、状態管理部101は、図3に示すように、上述のような自身の命令コードがインストラクションメモリ140にデータ格納されており、複数の動作状態を順次遷移させる遷移ルールが遷移テーブルメモリ139にデータ格納されている。
【0037】
状態管理部101は、遷移テーブルメモリ139の遷移ルールに対応して動作状態を順次遷移させ、インストラクションメモリ140の命令コードによりプロセッサエレメント102とスイッチエレメント108とのインストラクションポインタを発生する。
【0038】
図2(b)に示すように、スイッチエレメント108は、隣接するプロセッサエレメント102のインストラクションメモリ112を共用しているので、状態管理部101は、発生したプロセッサエレメント102とスイッチエレメント108とのインストラクションポインタを対応するプロセッサエレメント102のインストラクションメモリ112に供給する。
【0039】
このインストラクションメモリ112には、プロセッサエレメント102とスイッチエレメント108との複数の命令コードがデータ格納されているので、状態管理部101から供給される1つのインストラクションポインタでプロセッサエレメント102とスイッチエレメント108との命令コードが指定される。インストラクションデコーダ113は、インストラクションポインタで指定された命令コードをデコードし、スイッチエレメント108、内部可変配線、m/nbALU117,118、等の動作を制御する。
【0040】
mbバス109はmbである“8(bit)”の処理データを伝送し、nbバス110はnbである“1(bit)”の処理データを伝送するので、スイッチエレメント108は、インストラクションデコーダ113の動作制御に対応してm/nbバス109,110による多数のプロセッサエレメント102の接続関係を制御する。
【0041】
より詳細には、スイッチエレメント108のバスコネクタ121は、mbバス109とnbバス110とが四方から連通しており、このように連通している複数のmbバス109の互いの接続関係と連通する複数のnbバス110の互いの接続関係とを制御する。
【0042】
このため、アレイ型プロセッサ100は、外部から供給されるコンピュータプログラムに対応して、複数のエレメント領域105ごとに状態管理部101がプロセッサエレメント102のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに多数のプロセッサエレメント102は個々に設定自在なデータ処理で並列動作する。
【0043】
入力制御回路122は、図2(b)に示すように、mbバス109からmbレジスタファイル115およびmbALU117へのデータ入力の接続関係と、nbバス110からnbレジスタファイル116およびnbALU118へのデータ入力の接続関係とを制御する。
【0044】
出力制御回路123は、mbレジスタファイル115およびmbALU117からmbバス109へのデータ出力の接続関係と、nbレジスタファイル116およびnbALU118からnbバス110へのデータ出力の接続関係とを制御する。
【0045】
プロセッサエレメント102の内部可変配線は、インストラクションデコーダ113の動作制御に対応して、プロセッサエレメント102の内部でのmbレジスタファイル115およびmbALU117の接続関係とnbレジスタファイル116およびnbALU118の接続関係とを制御する。
【0046】
mbレジスタファイル115は、内部可変配線に制御される接続関係に対応して、mbバス109などから入力されるmbの処理データを一時保持してmbALU117などに出力する。nbレジスタファイル116は、内部可変配線に制御される接続関係に対応して、nbバス110などから入力されるnbの処理データを一時保持してnbALU118などに出力する。
【0047】
mbALU117は、インストラクションデコーダ113の動作制御に対応したデータ処理をmbの処理データで実行し、nbALU118は、インストラクションデコーダ113の動作制御に対応したデータ処理をnbの処理データで実行するので、処理データのビット数に対応してm/nbのデータ処理が適宜実行される。
【0048】
このエレメント領域105ごとのプロセッサエレメント102での処理結果は必要により状態管理部101にイベントデータとしてフィードバックされるので、この状態管理部101は入力されたイベントデータにより動作状態を次の動作状態に遷移させるとともにプロセッサエレメント102のコンテキストを次段のコンテキストに切り換える。
【0049】
ただし、本形態のアレイ型プロセッサ100では、前述のように8行8列のプロセッサエレメント102が2行2列のエレメント領域105に区分されており、その2行2列のエレメント領域105ごとに4個の状態管理部101が1個ずつ配置されている。
【0050】
そして、そのエレメント領域105ごとに所定のプロセッサエレメント102がイベント分配手段である専用のイベント通信配線145で状態管理部101に接続されており、その複数の状態管理部101がイベント通信配線145で相互にも接続されている。
【0051】
このイベント通信配線145は、図6に示すように、エレメント領域105ごとにプロセッサエレメント102から状態管理部101にイベントデータを伝送するとともに、図1に示すように、4個の状態管理部101の各々から他の3個の状態管理部101にもイベントデータを分配する。
【0052】
このため、図5に示すように、状態管理部101ごとに入力選択手段である入力選択回路146が設けられており、この入力選択回路146がイベント通信配線145でプロセッサエレメント102と3個の状態管理部101から並列に入力される4つのイベントデータから1つを選択する。
【0053】
この選択されたイベントデータは他の状態管理部101に出力されるので、これでイベント通信配線145により4個の状態管理部101の各々から他の3個の状態管理部101にイベントデータが分配される。なお、入力選択回路146は、接続されている状態管理部101により動作制御されるので、状態管理部101は、自身に入力されるイベントデータを自身で選択することになる。
【0054】
なお、本形態のアレイ型プロセッサ100では、上述のように2行2列の状態管理部101がイベント通信配線145により相互に接続されているので、イベント通信配線145で4個の状態管理部101の全部が相互に接続されているとともに、状態管理部101が周囲の八方に位置する状態管理部101と接続されていることになる。
【0055】
[第1の形態の動作]
上述のような構成において、本実施の形態のアレイ型プロセッサ100では、外部から供給されるコンピュータプログラムに対応して、外部入力される処理データでデータ処理を実行する場合、複数のエレメント領域105ごとに状態管理部101が動作状態を順次遷移させるとともにプロセッサエレメント102のコンテキストを動作サイクルごとに順次切り換える。
【0056】
このため、その動作サイクルごとに多数のプロセッサエレメント102が個々に設定自在なデータ処理で並列動作し、その多数のプロセッサエレメント102の接続関係を多数のスイッチエレメント108が切換制御する。このとき、図6に示すように、エレメント領域105ごとに、プロセッサエレメント102での処理結果は必要により状態管理部101にイベントデータとしてイベント通信配線145でフィードバックされるが、同時に、他の全部の状態管理部101からもイベント通信配線145でイベントデータが伝送される。
【0057】
そして、複数の状態管理部101の各々は、上述のようにプロセッサエレメント102と他の状態管理部101から並列に入力される複数のイベントデータから1つを入力選択回路146で選択し、その選択した1つのイベントデータにより動作状態を次段の動作状態に遷移させるとともにプロセッサエレメント102のコンテキストを次段のコンテキストに切り換える。
【0058】
さらに、状態管理部101は上述のように選択した1つのイベントデータを他の全部の状態管理部101にイベント通信配線145で伝送するので、ある状態管理部101が選択したイベントデータは他の全部の状態管理部101に通達される。
【0059】
このため、本形態のアレイ型プロセッサ100は、複数のエレメント領域105ごとに状態管理部101が多数のプロセッサエレメント102を個別に状態管理するが、その複数の状態管理部101が相互通信して連携動作することができる。
【0060】
従って、データ処理の1つの状態遷移を複数のエレメント領域105のプロセッサエレメント102の全部で実行することもでき、4つの状態遷移を4個のエレメント領域105−1〜4で個別に実行するようなこともでき、2つの状態遷移を4個のエレメント領域105−1〜4の特定の2個ずつで分担するようなこともできる。
【0061】
例えば、本形態のアレイ型プロセッサ100では、状態管理部101に管理される一対のエレメント領域105が列方向に配列されているので、処理データが行方向に転送される場合、一対の小容量の処理データを2行のエレメント領域105で同時に高効率にデータ処理するようなことができる。
【0062】
[第1の形態の効果]
本実施の形態のアレイ型プロセッサ100では、上述のように複数の状態管理部101にイベント通信配線145でイベントデータが分配されるので、大規模な1つの状態遷移を複数の状態管理部101で協調して管理するようなこともでき、小規模な複数の状態遷移を複数の状態管理部101で個別に管理するようなこともできる。
【0063】
しかも、本形態のアレイ型プロセッサ100では、イベントデータが専用のイベント通信配線145で伝送されるので、その伝送が高速に実行される。さらに、複数の状態管理部101の全部がイベント通信配線145で相互に接続されているので、複数の状態管理部101の全部がイベントデータを直接に相互通信することができる。
【0064】
さらに、状態管理部101は、イベント通信配線145で並列に入力される複数のイベントデータから入力選択回路146で1つを選択するので、自身に必要なイベントデータを的確に入力することができる。しかも、入力選択回路146が選択した1つのイベントデータをイベント通信配線145に出力するので、ある状態管理部101が選択したイベントデータを他の状態管理部101に通達することができる。
【0065】
[第1の形態の変形例]
本発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形が可能である。例えば、上記形態ではエレメント領域105やプロセッサエレメント102の個数や配列の数値を具体的に例示したが、当然ながら、その数値は各種に設定することが可能である。
【0066】
また、図6に示すように、上記形態ではエレメント領域105ごとにプロセッサエレメント102から状態管理部101にイベント通信配線145でイベントデータを伝送するとともに、状態管理部101が他の状態管理部101にイベント通信配線145でイベントデータを伝送することを例示した。しかし、図7に示すように、専用のイベント通信配線151で複数の状態管理部101を接続しておき、そのイベント通信配線151にプロセッサエレメント102と状態管理部101とがイベントデータを入力することも可能である。
【0067】
さらに、上記形態ではイベントデータを専用のイベント通信配線145で伝送することを例示したが、例えば、プロセッサエレメント102を接続しているm/nbバス109,110でイベントデータを伝送することも可能である。イベントデータを専用のイベント通信配線145で伝送する場合、専用のハードウェアが必要となるがイベントデータを簡単に高速に伝送することができる。イベントデータをm/nbバス109,110で伝送する場合、汎用であることによる負荷が大きいためにイベントデータを簡単に高速に伝送することは困難であるが、専用のハードウェアが無用である。
【0068】
また、上記形態では複数の状態管理部101を専用のイベント通信配線145で相互に直接に接続していることを例示したが、図8に示すように、複数の状態管理部101をイベント分配手段である専用のイベント通信バス152で接続することも可能である。
【0069】
その場合、状態管理部101がイベント通信バス152にイベントデータを出力する部分にバスコントローラ153を設け、状態管理部101が他の状態管理部101にイベントデータを出力するタイミングをバスコントローラ153で調節することが好適である。
【0070】
専用のイベント通信配線145の場合、状態管理部101が多数であるとハードウェアが多量となるが、イベントデータを簡単に高速に伝送することができる。専用のイベント通信バスの場合、バス調停などの制御が必要でイベントデータを簡単に高速に伝送することは困難であるが、状態管理部101が多数となっても少量のハードウェアでイベントデータを自在に伝送することができる。
【0071】
さらに、上記形態では状態管理部101が並列に入力される複数のイベントデータから入力選択回路146で1つを選択して入力し、その入力した1つのイベントデータを他の状態管理部101に伝送することを例示した。しかし、図9に示すように、状態管理部101が入力するイベントデータとは別個に出力選択回路154で1つのイベントデータを選択し、その選択した1つのイベントデータを他の状態管理部101に伝送することも可能である。
【0072】
この場合、状態管理部101は、自身が入力するイベントデータと他へ出力するイベントデータとを別個に選択できるので、例えば、自身が入力したいイベントデータと他へ出力したいイベントデータとが相違する場合などに対応することができる。
【0073】
なお、図面では並列な複数のイベント通信配線145の右側の1本が入力専用となっているが、これは後述する中央管理部からイベントデータが入力されるイベント通信配線145を想定しているためであり、中央管理部が存在しない場合には全部のイベント通信配線145を出力用にも選択可能とすることが好適である。中央管理部は全部の状態管理部101に共通のイベントデータを分配するので、これを状態管理部101が他の状態管理部101に出力する必要がない。
【0074】
また、上記形態のアレイ型プロセッサ100のように、全部の状態管理部101がイベント通信配線145で直接に相互に接続されている場合、ある状態管理部101から他の状態管理部101までイベントデータを伝送するときに第3の状態管理部101を介する必要がない。
【0075】
このため、状態管理部101は他の状態管理部101から入力されたイベントデータを他の状態管理部101に出力する必要はなく、接続されているプロセッサエレメント102から入力されるイベントデータから1つを出力選択回路154で選択して他の状態管理部101に出力すれば良い。
【0076】
また、上記形態では2行2列に配列されている4個の状態管理部101が、イベント通信配線145で周囲の八方の状態管理部101と接続されていることにより、結果的に状態管理部101の全部が相互に直接に接続されていることを例示した。
【0077】
しかし、図10に示すように、多数の状態管理部101が2行2列以上に配列されており、イベント通信配線145で周囲の八方の状態管理部101のみと接続されていることも可能であり、図11に示すように、行列方向の四方の状態管理部101のみと接続されていることも可能である。
【0078】
状態管理部101が多数となると全部をイベント通信配線145で相互に接続することは困難となるが、上述のように状態管理部101を近傍の一部の状態管理部101のみとイベント通信配線145で接続すれば、例えば、ある状態管理部101から四方に隣接していない状態管理部101までイベントデータを伝送するときなどにイベントデータの伝播速度がわずかに低下するが、ハードウェアを大幅に削減することができる。
【0079】
また、上記形態のアレイ型プロセッサ100では、m/nbレジスタファイル115,116やm/nbALU117,118を各々有しているプロセッサエレメント102がm/nbバス109,110で接続されており、m/nbでデータ処理およびデータ通信を実行することを例示した。
【0080】
しかし、三種類以上のビット数のハードウェアで三種類以上のビット数のデータ処理およびデータ通信を実行することも可能であり、一種類のビット数のハードウェアで一種類のビット数のデータ処理およびデータ通信を実行することも可能である。
【0081】
また、上記形態のアレイ型プロセッサ100では、隣接するプロセッサエレメント102とスイッチエレメント108とでインストラクションメモリ112を共用させ、プロセッサエレメント102とスイッチエレメント108との命令コードを1つのインストラクションポインタで発生させることを例示した。
【0082】
しかし、プロセッサエレメント102とスイッチエレメント108とに専用のインストラクションメモリを個別に用意することも可能であり、プロセッサエレメント102とスイッチエレメント108との命令コードを各々専用のインストラクションポインタで個別に発生させることも可能である。
【0083】
また、上記形態では図示と説明とを簡単とするため、プロセッサエレメント102の1個ごとにm/nbバス109,110が行列方向に1本ずつ接続されていることを例示したが、実際にはプロセッサエレメント102の1個ごとにm/nbバス109,110が数本ずつ接続されていることが好適である。
【0084】
さらに、上記形態のアレイ型プロセッサ100では、複数の状態管理部101が単純に同一レベルで相互通信して連携動作することを例示したが、例えば、複数の状態管理部101の1個を上位のマスタとして設定するとともに他を下位のスレーブとして設定することも可能であり、図12に示すように、複数の状態管理部101の上位に専用の中央管理部155を設けることも可能である。
【0085】
この場合、複数のエレメント領域105から個々に出力されるイベントデータの全部を中央管理部155に入力し、この中央管理部155が複数の状態管理部101にイベントデータを分配することが好適である。ただし、イベントデータの全部を中央管理部155に集約してから複数の状態管理部101に分配すると、隣接する状態管理部101が直接にイベントデータを伝送する場合などより速度が低下することがある。
【0086】
また、中央管理部155から全部の状態管理部101にイベントデータを分配すると、全部の状態管理部101を一様に連携させることは容易であるが、多数の状態管理部101を複数に区分して連携させるようなことが困難となる。そこで、このような課題を解決するためには、図13に示すように、イベント通信配線145で複数の状態管理部101を直接に接続するとともに、中央管理部155を複数の状態管理部101に接続することが好適である。
【0087】
[第2の形態の構成]
ここで、上述のようなアレイ型プロセッサ200を本発明の実施の第2の形態として図13ないし図15を参照して以下に説明する。なお、これより以下の説明では、それより以上の説明と同一の部分は、同一の名称および符号を使用して詳細な説明は省略する。
【0088】
本形態のアレイ型プロセッサ200では、図13に示すように、8個の状態管理部101が2行4列に配列されており、その状態管理部101はイベント通信配線145で行列方向の四方の状態管理部101と直接に接続されている。また、8個の状態管理部101の中心には中央管理部155が配置されており、この中央管理部155がイベント通信配線145で8個の状態管理部101の全部に接続されている。
【0089】
より詳細には、図14に示すように、状態管理部101ごとにエレメント選択回路201と入力選択回路146とが設けられており、エレメント選択回路201は、そのエレメント領域105のプロセッサエレメント102から出力される複数のイベントデータから1つを選択する。
【0090】
入力選択回路146は、エレメント選択回路201で選択されたイベントデータと、イベント通信配線145で他の状態管理部101から入力される複数のイベントデータから1つを選択し、その状態管理部101と他の状態管理部101とに出力する。
【0091】
中央管理部155には第1/第2の入力選択回路203,204が設けられており、例えば、第1の入力選択回路203は、第1から第4のエレメント領域105−1〜4のプロセッサエレメント102から出力される複数のイベントデータから1つを選択し、第2の入力選択回路204は、第5から第8のエレメント領域105−5〜8のプロセッサエレメント102から出力される複数のイベントデータから1つを選択する。
【0092】
[第2の形態の動作]
上述のような構成において、本実施の形態のアレイ型プロセッサ200では、複数のエレメント領域105ごとにプロセッサエレメント102から出力されるイベントデータを中央管理部155に集約して複数の状態管理部101に一様に分配することができ、複数の状態管理部101が行列方向に隣接する状態管理部101にイベントデータを直接に伝送することもできる。
【0093】
例えば、第4の状態管理部101−4や第6の状態管理部101−6が出力するイベントデータを全部の状態管理部101に分配する場合、図15(a)に示すように、そのイベントデータを中央管理部155に伝送してから全部の状態管理部101に分配することもでき、図15(b)に示すように、中央管理部155を介することなく状態管理部101から隣接する状態管理部101に順次伝播させることもできる。
【0094】
[第2の形態の変形例]
本発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形が可能である。例えば、上記形態では複数のエレメント領域105のプロセッサエレメント102から中央管理部155にイベントデータを入力することを例示したが、複数のエレメント領域105ごとにプロセッサエレメント102から状態管理部101を介して中央管理部155にイベントデータを入力することも可能である。
【0095】
また、上記形態では中央管理部155が1つのイベントデータを全部の状態管理部101に一様に分配することを例示したが、例えば、中央管理部155が複数のイベントデータを多数の状態管理部101の複数組に区分して分配することも可能である。
【0096】
例えば、中央管理部155を一度に2つのイベントデータを処理できるように形成し、1個の中央管理部155と多数の状態管理部101とを接続するイベント通信配線145の各々を2本としたり2ビット線とすれば、図16に示すように、第4の状態管理部101−4と第6の状態管理部101−6とが並列に出力するイベントデータを、中央管理部155が第1行目の状態管理部101−1〜4と第2行目の状態管理部101−5〜8とに区分して分配し、第1行目と第2行目とのエレメントグループ105で相違するデータ処理を並列に実行することが可能である。
【0097】
なお、このように多数の状態管理部101を複数に区分して動作させることは、図17に示すように、中央管理部155を介することなくイベントデータを状態管理部101から隣接する状態管理部101に順次伝播させることでも可能である。
【0098】
ただし、上述のようにイベントデータを複数の状態管理部101に順次伝播させることは速度の観点から好適ではないので、そのようなイベントデータは中央管理部155から分配することが好適である。しかし、このためには前述のように中央管理部155が一度に複数のイベントデータを管理できる必要があるので、本発明のアレイ型プロセッサを実施する場合には、各種条件を考慮して最適な方式を選択することが好適である。
【0099】
さらに、例えば、第6の状態管理部101−6が出力するイベントデータを中央管理部155が第1から第6の状態管理部101−1〜6に分配するとともに、第8の状態管理部101−8が出力するイベントデータを隣接する第七の状態管理部101−7にイベント通信配線145で直接に伝送するようなことも可能である。この場合、中央管理部155が一度に1つのイベントデータしか管理しなくとも、エレメントグループ105を複数に区分して相違するデータ処理を並列に実行することが可能である。
【0100】
【発明の効果】
本発明のアレイ型プロセッサでは、状態管理部が必要により相互通信して連携動作する複数からなり、この相互通信して連携動作する複数の状態管理部にイベント分配手段がイベントデータを分配することにより、大規模な状態遷移を複数の状態管理部が連携して管理するようなことを実行できる。
【図面の簡単な説明】
【図1】本発明の実施の第1の形態のアレイ型プロセッサでのイベントデータの通信経路を示す模式図である。
【図2】アレイ型プロセッサの物理構造を示す模式的なブロック図である。
【図3】アレイ型プロセッサのm/nbバスなどの物理構造を示すブロック図である。
【図4】命令バスなどの物理構造を示すブロック図である。
【図5】入力選択手段である入力選択回路を示す回路図である。
【図6】アレイ型プロセッサでのイベントデータの通信経路を示す模式図である。
【図7】実施の第1の形態の第1の変形例のアレイ型プロセッサを示す模式図である。
【図8】第2の変形例の入力選択回路を示す回路図である。
【図9】第3の変形例の入力選択回路を示す回路図である。
【図10】第4の変形例のアレイ型プロセッサを示す模式図である。
【図11】第5の変形例のアレイ型プロセッサを示す模式図である。
【図12】第6の変形例のアレイ型プロセッサを示す模式図である。
【図13】実施の第2の形態のアレイ型プロセッサを示す模式図である。
【図14】アレイ型プロセッサの要部を示す回路図である。
【図15】アレイ型プロセッサの動作を示す模式図である。
【図16】実施の第2の形態の変形例のアレイ型プロセッサの動作を示す模式図である。
【図17】アレイ型プロセッサの動作を示す模式図である。
【図18】アレイ型プロセッサの動作を示す模式図である。
【図19】2つの状態遷移を1つに統合した状態を示す模式図である。
【符号の説明】
100,200 アレイ型プロセッサ
101 状態管理部
102 プロセッサエレメント
105 エレメント領域
108 スイッチエレメント
109 mbデータバス
110 nbデータバス
145,151 イベント分配手段であるイベント通信配線
146 入力選択手段である入力選択回路
152 イベント分配手段であるイベント通信バス
154 出力選択手段である出力選択回路
155 中央管理部

Claims (15)

  1. 個々にデータ設定される命令コードに対応してデータ処理を個々に実行してイベントデータを出力する多数のプロセッサエレメントが行列形状に配列されており、これら多数のプロセッサエレメントの前記命令コードを状態管理部が事前に実装されているコンピュータプログラムと前記イベントデータとに対応して順次切り換えるアレイ型プロセッサであって、
    前記状態管理部が必要により相互通信して連携動作する複数からなり、
    相互通信して連携動作する複数の前記状態管理部に前記イベントデータを分配するイベント分配手段を有し
    複数の前記状態管理部は分配された前記イベントデータに対応して多数の前記プロセッサエレメントの前記命令コードを切り替えるアレイ型プロセッサ。
  2. 複数の前記状態管理部を接続している専用のイベント通信配線で前記イベント分配手段が形成されている請求項1に記載のアレイ型プロセッサ。
  3. 複数の前記状態管理部を接続している専用のイベント通信バスで前記イベント分配手段が形成されている請求項1に記載のアレイ型プロセッサ。
  4. 複数の前記プロセッサエレメントの処理データを伝送するデータバスが行列形状に形成されており、
    個々にデータ設定される命令コードに対応して前記データバスの配線構造を切換制御する複数のスイッチエレメントが前記プロセッサエレメントとともに行列形状に配列されており、
    前記状態管理部が複数の前記プロセッサエレメントと複数の前記スイッチエレメントとの前記命令コードを順次切り換え、
    前記スイッチエレメントに切換制御される前記データバスで前記イベント分配手段が形成される請求項1に記載のアレイ型プロセッサ。
  5. 複数の前記状態管理部の全部が相互に前記イベント分配手段で接続されている請求項2ないし4の何れか一項に記載のアレイ型プロセッサ。
  6. 複数の前記状態管理部が行列形状に配列されており、
    前記状態管理部が近傍に位置する一部の前記状態管理部と前記イベント分配手段で接続されている請求項2ないし4の何れか一項に記載のアレイ型プロセッサ。
  7. 複数の前記状態管理部が行列形状に配列されており、
    前記状態管理部が周囲の八方に位置する前記状態管理部と前記イベント分配手段で接続されている請求項6に記載のアレイ型プロセッサ。
  8. 複数の前記状態管理部が行列形状に配列されており、
    前記状態管理部が行方向と列方向との四方に隣接する前記状態管理部と前記イベント分配手段で接続されている請求項6に記載のアレイ型プロセッサ。
  9. 前記イベントデータを複数の前記状態管理部に分配する中央管理部が設けられており、
    前記中央管理部が複数の前記状態管理部の全部と前記イベント分配手段で接続されている請求項1ないし8の何れか一項に記載のアレイ型プロセッサ。
  10. 前記イベント分配手段で並列に入力される複数の前記イベントデータから1つを選択する入力選択手段が前記状態管理部ごとに設けられている請求項1ないし9の何れか一項に記載のアレイ型プロセッサ。
  11. 前記入力選択手段が選択した1つの前記イベントデータを前記イベント分配手段に出力する請求項10に記載のアレイ型プロセッサ。
  12. 前記イベント分配手段で並列に入力される複数の前記イベントデータから1つを選択して前記イベント分配手段に出力する出力選択手段が前記状態管理部ごとに設けられている請求項10に記載のアレイ型プロセッサ。
  13. 多数の前記プロセッサエレメントが前記状態管理部に対応した個数のエレメント領域に区分されており、
    複数の前記状態管理部が複数の前記エレメント領域ごとに前記プロセッサエレメントに接続されており、
    前記イベント分配手段は、前記エレメント領域ごとに前記プロセッサエレメントが出力する前記イベントデータを前記状態管理部に伝送する請求項1ないし12の何れか一項に記載のアレイ型プロセッサ。
  14. 個々にデータ設定される命令コードに対応してデータ処理を個々に実行するとともに、相互の接続関係を切換制御する多数のプロセッサエレメントが行列形状に配列されており、
    状態管理部が遷移テーブルメモリに格納された遷移ルールに従って動作状態の遷移を行い、前記状態に対応する前記多数のプロセッサエレメントの前記命令コードを順次切り換えて動作し、
    前記動作状態の遷移は前記状態管理部が事前に実装されているコンピュータプログラムと前記多数のプロセッサエレメントが出力するイベントデータとに対応して行われるアレイ型プロセッサであって、
    前記状態管理部が必要により相互通信して連携動作する複数からなり、
    多数の前記プロセッサエレメントは前記状態管理部に対応した個数のエレメント領域に区分され、前記複数の前記状態管理部各々が前記状態管理部各々に対応する前記エレメント領域の前記プロセッサエレメントに接続されており、
    相互通信して連携動作する複数の前記状態管理部に前記イベントデータを分配するイベント分配手段を有し、
    複数の前記状態管理部は分配された前記イベントデータに対応して多数の前記プロセッサエレメントの前記命令コードを切り替えるアレイ型プロセッサ。
  15. 前記複数の状態管理部の各々は、前記複数の状態管理部の各々に接続される前記プロセッサエレメントおよび他の状態管理部から前記イベント分配手段を通じ入力される複数の前記イベントデータから1つのイベントデータを選択する入力選択回路を備え、選択したイベントデータを、さらに前記イベント分配手段を通じて他の状態管理部に分配する請求項1または請求項14に記載のアレイ型プロセッサ。
JP2002315735A 2002-10-30 2002-10-30 アレイ型プロセッサ Expired - Lifetime JP3987784B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002315735A JP3987784B2 (ja) 2002-10-30 2002-10-30 アレイ型プロセッサ
GB0325023A GB2395584B (en) 2002-10-30 2003-10-27 Array-type processor
US10/694,822 US8151089B2 (en) 2002-10-30 2003-10-29 Array-type processor having plural processor elements controlled by a state control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002315735A JP3987784B2 (ja) 2002-10-30 2002-10-30 アレイ型プロセッサ

Publications (2)

Publication Number Publication Date
JP2004151951A JP2004151951A (ja) 2004-05-27
JP3987784B2 true JP3987784B2 (ja) 2007-10-10

Family

ID=29728559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002315735A Expired - Lifetime JP3987784B2 (ja) 2002-10-30 2002-10-30 アレイ型プロセッサ

Country Status (3)

Country Link
US (1) US8151089B2 (ja)
JP (1) JP3987784B2 (ja)
GB (1) GB2395584B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424698B2 (en) * 2004-02-27 2008-09-09 Intel Corporation Allocation of combined or separate data and control planes
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
JP4353052B2 (ja) 2004-10-04 2009-10-28 株式会社日立製作所 半導体集積回路
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP4410162B2 (ja) * 2005-07-05 2010-02-03 富士通株式会社 リコンフィギュアブルlsi
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
TW200817925A (en) * 2006-03-31 2008-04-16 Technology Properties Ltd Method and apparatus for operating a computer processor array
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US20080282062A1 (en) * 2007-05-07 2008-11-13 Montvelishsky Michael B Method and apparatus for loading data and instructions into a computer
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
WO2011105408A1 (ja) * 2010-02-24 2011-09-01 日本電気株式会社 Simdプロセッサ

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3537074A (en) * 1967-12-20 1970-10-27 Burroughs Corp Parallel operating array computer
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US4850027A (en) * 1985-07-26 1989-07-18 International Business Machines Corporation Configurable parallel pipeline image processing system
JP2518902B2 (ja) 1988-09-19 1996-07-31 富士通株式会社 並列計算機におけるイベントスケジュ―リング処理方式
EP0360527B1 (en) * 1988-09-19 1995-01-04 Fujitsu Limited Parallel computer system using a SIMD method
JPH0713945A (ja) * 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US6219776B1 (en) * 1998-03-10 2001-04-17 Billions Of Operations Per Second Merged array controller and processing element
JP3839213B2 (ja) 2000-02-08 2006-11-01 株式会社リコー 相変化型光記録媒体の記録方法および記録再生装置
JP3674515B2 (ja) * 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ

Also Published As

Publication number Publication date
US20040107332A1 (en) 2004-06-03
JP2004151951A (ja) 2004-05-27
GB2395584A (en) 2004-05-26
US8151089B2 (en) 2012-04-03
GB2395584B (en) 2005-02-02
GB0325023D0 (en) 2003-12-03

Similar Documents

Publication Publication Date Title
JP3987783B2 (ja) アレイ型プロセッサ
US9256575B2 (en) Data processor chip with flexible bus system
JP3987784B2 (ja) アレイ型プロセッサ
US7350054B2 (en) Processor having array of processing elements whose individual operations and mutual connections are variable
US8006067B2 (en) Flexible results pipeline for processing element
JP2006018453A (ja) 半導体装置
JP3987782B2 (ja) アレイ型プロセッサ
US20030126404A1 (en) Data processing system, array-type processor, data processor, and information storage medium
US20190065428A9 (en) Array Processor Having a Segmented Bus System
US20070220236A1 (en) Reconfigurable computing device
JP3861898B2 (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP3987805B2 (ja) アレイ型プロセッサ
US9697122B2 (en) Data processing device
JP2791764B2 (ja) 演算装置
EP1675015B1 (en) Reconfigurable multiprocessor system particularly for digital processing of radar images
JP2006085574A (ja) データ処理システムおよびその制御方法
JP2005078177A (ja) 並列演算装置
JP3133426B2 (ja) 並列処理計算機
JP2791761B2 (ja) 演算装置
JPH03189883A (ja) 並列計算機用lsi構成方式
JPH10283331A (ja) 演算装置
JPH06266475A (ja) リセット装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050912

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070713

R150 Certificate of patent or registration of utility model

Ref document number: 3987784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110720

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120720

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130720

Year of fee payment: 6

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

EXPY Cancellation because of completion of term