JP3861898B2 - データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 - Google Patents

データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 Download PDF

Info

Publication number
JP3861898B2
JP3861898B2 JP2004323133A JP2004323133A JP3861898B2 JP 3861898 B2 JP3861898 B2 JP 3861898B2 JP 2004323133 A JP2004323133 A JP 2004323133A JP 2004323133 A JP2004323133 A JP 2004323133A JP 3861898 B2 JP3861898 B2 JP 3861898B2
Authority
JP
Japan
Prior art keywords
data
data processing
processor
processing
memory
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
JP2004323133A
Other languages
English (en)
Other versions
JP2005100448A (ja
JP2005100448A5 (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 Corp
Original Assignee
NEC 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 Corp filed Critical NEC Corp
Priority to JP2004323133A priority Critical patent/JP3861898B2/ja
Publication of JP2005100448A publication Critical patent/JP2005100448A/ja
Publication of JP2005100448A5 publication Critical patent/JP2005100448A5/ja
Application granted granted Critical
Publication of JP3861898B2 publication Critical patent/JP3861898B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、並列に接続されている複数のデータ処理装置でデータ処理を分担するデータ処理システムに関し、特に、複数のデータ処理装置の少なくとも1個がアレイ型プロセッサからなるデータ処理システムに関する。
現在、各種のデータ処理を自在に実行できるデータ処理装置としては、いわゆるCPU(Central Processing Unit)またはMPU(Micro Processor Unit)と呼称される製品などが実用化されている。
さらに、このような複数のデータ処理装置を並列に接続して煩雑なデータ処理を分担するデータ処理システムも実用化されており、このようなデータ処理システムとしては、同一構造の複数のデータ処理装置を接続した同種結合タイプと、構造が相違する複数のデータ処理装置を接続した異種結合タイプとがある。
同種結合タイプのデータ処理システムでは、1つのデータ処理を同一構造の複数のデータ処理装置で分担するので、高い並列度でデータ処理を実行することができる。異種結合タイプのデータ処理システムでは、1つのデータ処理を複数種類のデータ処理装置で分担するので、データ処理装置ごとに得意のデータ処理を実行することができる。
このようなデータ処理システムに利用されるMPUなどのデータ処理装置は、ソフトウェアに対応して各種のデータ処理を実行できるが、一連のデータ処理を順番に逐次実行する必要があり、その逐次処理ごとに命令コードをデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
一方、1つのデータ処理に対応してハードウェアで形成した論理回路は、そのデータ処理を高速に実行することが可能であるが、ソフトウェアを変更できないので1つのデータ処理しか実行できない。このような課題を解決するため、本出願人はソフトウェアに対応してデータパスの構成が変化するデータ処理装置としてアレイ型プロセッサを発案し、特願2000-043202号、特願平2001-263804号、特願平2001-294241号、として出願した。このアレイ型プロセッサでは、小規模の複数のプロセッサエレメントと複数のスイッチエレメントとがデータパス部にマトリクス配列されており、この1個のデータパス部に1個の状態管理部が並設されている。
複数のプロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行し、複数のスイッチエレメントは、個々にデータ設定される命令コードに対応して複数のプロセッサエレメントの接続関係を個々に切換制御する。
つまり、アレイ型プロセッサは、複数のプロセッサエレメントと複数のスイッチエレメントとの命令コードを切り換えることでデータパスの構成が変化するので、ソフトウェアに対応して各種のデータ処理を実行することができ、ハードウェアとして小規模の複数のプロセッサエレメントが簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
そして、上述のような複数のプロセッサエレメントと複数のスイッチエレメントとの命令コードからなるコンテキストを状態管理部がコンピュータプログラムに対応して動作サイクルごとに順次切り換えるので、アレイ型プロセッサはコンピュータプログラムに対応して並列処理を連続的に実行することができる。そこで、本出願人は複数のデータ処理装置を並列に接続したデータ処理システムに、上述のようなアレイ型プロセッサを適用することを発案した。
特願2000-043202号 特願平2001-263804号 特願平2001-294241号
しかし、アレイ型プロセッサは構造と動作との両方が従来のデータ処理装置とは根本的に相違しているため、複数のデータ処理装置を並列に接続したデータ処理システムに単純に適用することはできず、単純に適用してもアレイ型プロセッサと他のデータ処理装置とを良好に連動させてデータ処理を分担させることはではない。
また、上述のようなデータ処理システムでは多量の処理データを使用するので、大容量のデータメモリを複数のデータ処理装置と共通の外部バスに接続することなどが必要となる。しかし、これでは単純に回路規模が増大することになり、ハードウェアの使用効率も良好でない。
本発明は上述のような課題に鑑みてなされたものであり、並列に接続された複数のデータ処理装置の少なくとも1個がアレイ型プロセッサで良好に動作するデータ処理システムを提供することを目的とする。
本発明のデータ処理システムは、コンピュータプログラムに対応して動作を行う少なくとも一つのデータ処理装置と、
コンピュータプログラムに対応して動作を行う少なくとも一つのアレイ型プロセッサと、を有し、少なくとも一つのデータ処理装置と少なくとも一つのアレイ型プロセッサとが並列に接続されるデータ処理システムである。
そして、このアレイ型プロセッサは、複数のプロセッサエレメントと複数のスイッチエレメントがマトリクス状に配列されたデータパス部と、データパス部のコンテキストを動作サイクルごとに切り換え、データパス部の動作状態を決定する状態管理部と、を有しており、複数のプロセッサエレメントの少なくとも一部には、状態管理部で決定された動作状態に対応する複数の命令コードを格納するインストラクションメモリと、命令コードに基づいて演算処理を行う演算部と、を有し、スイッチエレメントは命令コードに基づいてプロセッサエレメントの接続関係を個々に切替制御する。


そして、他のデータ処理装置で処理された処理データの少なくとも一部をアレイ型プロセッサのデータパス部に伝送させ、他のデータ処理装置がデータ処理に対応して発行するイベントデータの少なくとも一部を状態管理部に伝送させる。また、アレイ型プロセッサのデータパス部で処理された処理データの少なくとも一部を他のデータ処理装置に伝送させ、データパス部がデータ処理に対応して発生するイベントデータの少なくとも一部を他のデータ処理装置に伝送させる。
本発明の他のデータ処理システムは、アレイ型プロセッサが各種データを更新自在に一時記憶するデータメモリも有しており、このデータメモリをアレイ型プロセッサと他のデータ処理装置とに共有させる。
請求項1ないし3の何れか一項に記載の発明では、アレイ型プロセッサと他のデータ処理装置とが処理データを相互通信し、そのデータ処理に対応したイベントデータも相互通信するので、アレイ型プロセッサと他のデータ処理装置とが良好に連動してデータ処理を分担することができる。さらに、請求項4に記載の発明では、簡単な構造で確実にアレイ型プロセッサと他のデータ処理装置とがイベントデータを相互通信することができる。
請求項5および4に記載の発明では、アレイ型プロセッサのデータメモリを他のデータ処理装置も共有するので、データ処理システムとしてアレイ型プロセッサのデータメモリを有効に利用することができ、回路規模の増大を防止してハードウェアの使用効率を向上させることができる。
さらに、請求項7に記載の発明では、アレイ型プロセッサと他のデータ処理装置とで共有されるデータメモリの使用の競合を解消することができ、請求項8に記載の発明では、アレイ型プロセッサの複数のメモリユニットを他のデータ処理装置に1個のデータメモリとして利用させることができ、請求項9に記載の発明では、同一のデータメモリをアレイ型プロセッサと他のデータ処理装置とが同時に使用することができ、請求項10に記載の発明では、アレイ型プロセッサと他のデータ処理装置とがメモリユニットを同時に使用することができ、請求項11に記載の発明では、アレイ型プロセッサの複数のプロセッサエレメントに必須のレジスタファイルを他のデータ処理装置がデータメモリとして利用することができ、請求項12に記載の発明では、アレイ型プロセッサに必須のハードウェアを他のデータ処理装置がデータメモリとして利用することができ、請求項13に記載の発明では、アレイ型プロセッサでプロセッサエレメントの処理データの保持に利用できるメモリユニットを他のデータ処理装置がデータメモリとして利用することができ、請求項14に記載の発明では、アレイ型プロセッサでデータ処理の最中には利用されない命令バスで他のデータ処理装置にメモリユニットを利用させることができ、請求項15に記載の発明では、アドレスデータを多数のプロセッサエレメントに少数のバスで伝送することができ、請求項16に記載の発明では、他のデータ処理装置がアレイ型プロセッサのデータメモリを利用するときの所要時間を一定とすることができる。
本発明のデータ処理システムは、入力される処理データを事前にデータ設定されているコンピュータプログラムと入力されるイベントデータとに対応してデータ処理する複数のデータ処理装置が並列に接続されており、これら複数のデータ処理装置で処理データを分散処理する。
本発明の実施の形態のデータ処理システムでは、複数のデータ処理装置の少なくとも1個がアレイ型プロセッサからなり、このアレイ型プロセッサが、データパス部と状態管理部とを有している。データパス部は、複数のプロセッサエレメントと複数のスイッチエレメントとがマトリクス配列されており、プロセッサエレメントは、個々にデータ設定される命令コードに対応してデータ処理を個々に実行し、スイッチエレメントは、個々にデータ設定される命令コードに対応して複数のプロセッサエレメントの接続関係を個々に切換制御する。状態管理部は、データパス部の命令コードからなるコンテキストをコンピュータプログラムとイベントデータとに対応して順次切り換える。
そして、他のデータ処理装置で処理された処理データの少なくとも一部がアレイ型プロセッサのデータパス部に伝送されるとともに、他のデータ処理装置がデータ処理に対応して発行するイベントデータの少なくとも一部が状態管理部に伝送される。また、アレイ型プロセッサのデータパス部で処理された処理データの少なくとも一部が他のデータ処理装置に伝送されるとともに、データパス部がデータ処理に対応して発生するイベントデータの少なくとも一部が他のデータ処理装置に伝送される。つまり、アレイ型プロセッサと他のデータ処理装置とが処理データを相互通信するとともに、そのデータ処理に対応したイベントデータも相互通信する。
また、他の実施の形態としては、アレイ型プロセッサの同期制御回路に状態管理部により格納されるイベントデータが他のデータ処理装置により読み出され、他のデータ処理装置により格納されるイベントデータが状態管理部により読み出されることにより、アレイ型プロセッサと他のデータ処理装置とが状態管理部によりイベントデータを相互通信する。
また、他の実施の形態としては、アレイ型プロセッサが有するデータメモリを他のデータ処理装置も共有することにより、データ処理システムとしてアレイ型プロセッサのデータメモリが有効に利用される。
また、他の実施の形態としては、アレイ型プロセッサと他のデータ処理装置との1個に排他制御回路がデータメモリを排他使用させることにより、アレイ型プロセッサと他のデータ処理装置とで共有されるデータメモリが排他使用される。
また、他の実施の形態としては、データメモリがデータパス部に分散された複数のメモリユニットからなり、これら複数のメモリユニットを1個のデータメモリとして他のデータ処理装置に認識させる仮想認識手段をアレイ型プロセッサが有していることにより、アレイ型プロセッサの複数のメモリユニットが他のデータ処理装置に1個のデータメモリとして利用される。
また、他の実施の形態としては、複数のメモリユニットの少なくとも一部は、データ読出/書込を受け付けるアクセスポートとアドレスデータごとの記憶エリアとが各々複数のマルチポートメモリからなり、アレイ型プロセッサと他のデータ処理装置とによるデータ読出/書込を互いに異なるアクセスポートと記憶エリアとで同時に受け付けることにより、マルチポートのデータメモリがアレイ型プロセッサと他のデータ処理装置とに同時に使用される。
また、他の実施の形態としては、複数のメモリユニットの少なくとも一部が複数のプロセッサエレメントの少なくとも一部に内蔵されており、アレイ型プロセッサが複数のプロセッサエレメントの一部がメモリユニットを使用しているときに他部のプロセッサエレメントで使用されていないメモリユニットを他のデータ処理装置が使用することにより、複数のメモリユニットの一部がアレイ型プロセッサに使用されていても他部が他のデータ処理装置に使用される。
また、他の実施の形態としては、複数のプロセッサエレメントの少なくとも一部が処理データを一時保持するレジスタファイルを有しており、複数のメモリユニットの少なくとも一部がレジスタファイルからなることにより、アレイ型プロセッサの複数のプロセッサエレメントに必須のレジスタファイルが他のデータ処理装置に共有される。
また、他の実施の形態としては、複数のプロセッサエレメントの少なくとも一部が命令コードを更新自在に一時保持するインストラクションメモリを有しており、複数のメモリユニットの少なくとも一部がインストラクションメモリからなることにより、アレイ型プロセッサの複数のプロセッサエレメントに必須のインストラクションメモリが他のデータ処理装置に共有される。
また、他の実施の形態としては、アレイ型プロセッサは、複数のスイッチエレメントにより切換制御されて複数のプロセッサエレメントの処理データが伝送されるデータバスを有しており、このデータバスにプロセッサエレメントと並列に複数のメモリユニットの少なくとも一部が接続されていることにより、アレイ型プロセッサでプロセッサエレメントの処理データの保持に利用されるメモリユニットが他のデータ処理装置に共有される。
また、他の実施の形態としては、複数のプロセッサエレメントの少なくとも一部が命令コードを更新自在に一時保持するインストラクションメモリを有しており、アレイ型プロセッサは、複数のスイッチエレメントにより切換制御されて複数のプロセッサエレメントの処理データが伝送されるデータバスと、入力される命令コードが複数のプロセッサエレメントまで伝送される命令バスと、を別個に有しており、他のデータ処理装置が使用するメモリユニットの読出/書込データが命令バスで伝送されることにより、アレイ型プロセッサでデータ処理の最中には利用されない命令バスで他のデータ処理装置にメモリユニットが利用される。
また、他の実施の形態としては、入力される多数ビットのアドレスデータを少数の大容量バスが状態管理部まで伝送し、状態管理部のインストラクションデコーダが多数ビットのアドレスデータを少数ビットの複数のアドレスデータにデコードし、状態管理部から複数のプロセッサエレメントまで多数の小容量バスが少数ビットのアドレスデータを伝送し、複数のプロセッサエレメントのインストラクションメモリがアドレスデータに対応して命令コードをデータ格納することにより、多数のプロセッサエレメントにアドレスデータが少数のバスで伝送される。
また、他の実施の形態としては、アレイ型プロセッサは、他のデータ処理装置によるデータ読出に対応して共有されるデータメモリのアドレスデータを発行するアドレス発行回路と、このアドレス発行回路で発行されたアドレスデータでデータメモリから読み出された読出データを出力するデータ読出回路と、を別個に有しており、アドレス発行回路とデータ読出回路とがデータパス部の両側に分散配置されていることにより、データパス部のデータメモリにアドレスデータが到達する時間と、データメモリの読出データがデータ読出回路に到達する時間と、の合計が一定となる。
なお、本発明で云う各種手段は、その機能を実現するように形成されていれば良く、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置の内部に実現された所定の機能、これらの組み合わせ、等で良い。また、本発明で云う各種手段は、個々に独立した存在である必要もなく、ある手段が他の手段の一部であるようなことも可能である。
また、本発明で云う情報記憶媒体とは、データ処理装置に各種処理を実行させるためのコンピュータプログラムが事前に格納されたハードウェアであれば良く、例えば、データ処理装置を一部とする装置に固定されているROM(Read OnlyMemory)およびHDD(Hard Disc Drive)、データ処理装置を一部とする装置に交換自在に装填されるCD(Compact Disc)−ROMおよびFD(Flexible Disc-cartridge)、等で良い。
また、本発明で云うデータ処理装置とは、コンピュータプログラムをデータ読取して対応するデータ処理を実行できるハードウェアであれば良く、例えば、MPUを主体として、これに、ROM、RAM(Random Access Memory)、I/F(Interface)ユニット、等の各種デバイスが接続されたハードウェアなどで良い。
また、本発明で云うイベントデータとは、例えば、アレイ型プロセッサの状態管理部にデータパス部または他のデータ処理装置が伝送する場合には、その状態管理部が管理している現在の状態を遷移させるためのデータからなり、アレイ型プロセッサの状態管理部が他のデータ処理装置に伝送する場合には、その状態管理部が管理している現在の状態を他のデータ処理装置に通知するためのデータからなる。
[実施例の構成]本実施例のデータ処理システム1000は、図1に示すように、複数のデータ処理装置として1個のアレイ型プロセッサ100と1個のMPU200とを有しており、これらのアレイ型プロセッサ100とMPU200とが外部バス300とデータライン301とで互いに接続されている。
また、データ処理システム1000では、アレイ型プロセッサ100のコンピュータプログラムが格納されているプログラムメモリ302と、MPU200のコンピュータプログラムが格納されているプログラムメモリ303と、が各々専用に設けられており、これらが外部バス300に接続されている。
アレイ型プロセッサ100は、自身のコンピュータプログラムをプログラムメモリ302からデータ読出し、そのコンピュータプログラムに対応してデータ処理を実行する。そのとき、入力される処理データがデータパス部106でデータ処理されて出力され、そのデータ処理に対応してデータパス部106でイベントデータが発行される。
また、MPU200は、I/F回路、プロセッサコア、内部レジスタ、等のハードウェアを有しており(図示せず)、プログラムメモリ303に格納されているコンピュータプログラムに対応して動作することにより、データ入力手段、データ処理手段、データ記憶手段、データ出力手段、等の各種手段が各種機能として論理的に形成されている。
データ入力手段は、コンピュータプログラムに対応してプロセッサコアがI/F回路の入力データを認識する機能に相当し、処理データとイベントデータとが入力される。データ処理手段は、プロセッサコアがデータ処理を実行する機能に相当し、入力される処理データをコンピュータプログラムとイベントデータとに対応してデータ処理する。
データ記憶手段は、プロセッサコアが処理データを内部レジスタに格納する機能に相当し、処理データなどの各種データを一時記憶する。データ出力手段は、プロセッサコアがI/F回路のデータ出力を制御する機能に相当し、処理された処理データとイベントデータとを出力する。
ただし、データ処理システム1000のMPU200は、処理データの少なくとも一部とイベントデータとをアレイ型プロセッサ100から入力し、データ処理の少なくとも一部に対応して新規のイベントデータを発行し、処理データの少なくとも一部と新規に発行されたイベントデータとをアレイ型プロセッサ100に出力する。さらに、MPU200は、前述のようにデータ記憶手段で各種データを一時記憶するが、その各種データの少なくとも一部をアレイ型プロセッサ100に一時記憶させる。
アレイ型プロセッサ100は、I/F回路101、プロセッサコア102、仮想認識手段でありアドレス発行回路であるメモリコントローラ103、データ読出回路であるリードマルチプレクサ104、等を有しており、プロセッサコア102は、図1および図3に示すように、状態管理部105とデータパス部106とを有している。
データパス部106は、図2および図3に示すように、複数のプロセッサエレメント107、複数のスイッチエレメント108、データバスの一部である多数のmb(m-bit)バス109、データバスの一部である多数のnb(n-bit)バス110、等を有しており、複数のプロセッサエレメント107と複数のスイッチエレメント108とがマトリクス配列されて多数のm/nbバス109,110によりマトリクス接続されている。
また、図2(b)に示すように、プロセッサエレメント107は、メモリ制御回路111、メモリユニットでありデータメモリの一部であるインストラクションメモリ112、インストラクションデコーダ113、メモリユニットでありデータメモリの一部であるmbレジスタファイル115、メモリユニットでありデータメモリの一部であるnbレジスタファイル116、mbALU(Arithmetic and Logical Unit)117、nbALU118、内部可変配線(図示せず)、等を各々有しており、スイッチエレメント108は、バスコネクタ121、入力制御回路122、出力制御回路123、等を各々有している。
I/Fユニット101は、図1および図4に示すように、プロトコル制御部131、メモリアクセス部132、同期制御回路133、を有しており、プロトコル制御部131は、外部バス300とメモリアクセス部132とに接続されている。さらに、このメモリアクセス部132は、メモリコントローラ103とリードマルチプレクサ104と同期制御回路133とに接続されており、この同期制御回路133は、プロセッサコア102のデータパス部106に接続されている。
プロトコル制御部131は、外部バス300と共通のバスプロトコルがデータ設定されており、このバスプロトコルに対応して外部バス300と各種データを通信するとともに、より単純な手法でメモリアクセス部132と各種データを通信する。
このメモリアクセス部132は、図1に示すように、MPU200から外部バス300を介してプロトコル制御部131に入力される各種データをメモリコントローラ103とデータパス部106と同期制御回路133とに伝送し、これらから伝送される各種データをプロトコル制御部131から外部バス300を介してMPU200に出力する。
同期制御回路133は、図4に示すように、外部データレジスタ135と内部データレジスタ136とを有しており、MPU200から外部バス300を介してプロトコル制御部131に入力されるイベントデータを外部データレジスタ135で一時保持し、状態管理部105によりデータ書込されるイベントデータを内部データレジスタ136で一時保持する。
図1に示すように、同期制御回路133の外部データレジスタ135で一時保持されたイベントデータはデータパス部106を介して状態管理部105にデータ読取され、内部データレジスタ136で一時保持されたイベントデータはMPU200にデータ読取される。
メモリコントローラ103は、I/Fユニット101のメモリアクセス部132から伝送される各種データをプロセッサコア102の状態管理部105とデータパス部106とに伝送し、リードマルチプレクサ104はデータパス部106から読み出された読出データをメモリアクセス部132に伝送する。
より詳細には、図3に示すように、状態管理部105は、インストラクションデコーダ138、遷移テーブルメモリ139、インストラクションメモリ140、を有しており、そのインストラクションデコーダ138とメモリコントローラ103とは大容量バスである命令バス141で接続されている。
また、プロセッサエレメント107は、例えば、4行4列に配列されており、メモリコントローラ103からリードマルチプレクサ104まで並列に接続された4行の命令バス142が1行ごとに4列のプロセッサエレメント107のメモリ制御回路111に接続されている。
さらに、状態管理部105の1個のインストラクションデコーダ138には4列の小容量バスであるアドレスバス143が接続されており、このアドレスバス143が1列ごとに4行のプロセッサエレメント107のメモリ制御回路111に接続されている。なお、命令バス141は、例えば、“20(bit)”の多数ビットのバス幅に形成されており、命令バス142およびアドレスバス143は、例えば、“8(bit)”の少数ビットのバス幅に形成されている。
リードマルチプレクサ104は、図5に示すように、4個のゲート回路145、1個のマルチプレクサ146、1個のオアゲート147、を有しており、4行の命令バス142が4個のゲート回路145に個々に接続されるとともに1個のオアゲート147に接続されている。4個のゲート回路145は1個のマルチプレクサ146に接続されており、このマルチプレクサ146はオアゲート147とともにI/Fユニット101のメモリアクセス部132に接続されている。
アレイ型プロセッサ100は、複数のプロセッサエレメント107ごとに命令コードを一時保持するインストラクションメモリ112とm/nbの処理データを一時保持するm/nbレジスタファイル115,116とが形成されているが、これらを1個のデータメモリとしてMPU200に認識させる。
プログラムメモリ302にデータ格納されているアレイ型プロセッサ100のコンピュータプログラムは、データパス部106にマトリクス配列された複数のプロセッサエレメント107と複数のスイッチエレメント108との命令コードが、順次切り換わるコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部105の命令コードが、順次遷移する動作状態としてデータ設定されている。
このため、状態管理部105は、図3に示すように、上述のような自身の命令コードがインストラクションメモリ140にデータ格納されており、複数の動作状態を順次遷移させる遷移ルールが遷移テーブルメモリ139にデータ格納されている。
状態管理部105は、遷移テーブルメモリ139の遷移ルールに対応して動作状態を順次遷移させ、インストラクションメモリ140の命令コードに対応して複数のプロセッサエレメント107と複数のスイッチエレメント108とのインストラクションポインタを各々発生する。
図2(b)に示すように、スイッチエレメント108は、隣接するプロセッサエレメント107のインストラクションメモリ112を共用しているので、状態管理部105は、発生したプロセッサエレメント107とスイッチエレメント108との1組のインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ112に供給する。
このインストラクションメモリ112には、プロセッサエレメント107とスイッチエレメント108との複数の命令コードがデータ格納されているので、状態管理部105から供給される2つのインストラクションポインタでプロセッサエレメント107とスイッチエレメント108との命令コードが指定される。インストラクションデコーダ113は、インストラクションポインタで指定された命令コードをデコードし、スイッチエレメント108、内部可変配線、m/nbALU117,118、等の動作を制御する。
mbバス109はmbである“8(bit)”の処理データを伝送し、nbバス110はnbである“1(bit)”の処理データを伝送するので、スイッチエレメント108は、インストラクションデコーダ113の動作制御に対応してm/nbバス109,110による複数のプロセッサエレメント107の接続関係を制御する。
より詳細には、スイッチエレメント108のバスコネクタ121は、mbバス109とnbバス110とが四方から連通しており、このように連通している複数のmbバス109の互いの接続関係と連通する複数のnbバス110の互いの接続関係とを制御する。
このため、アレイ型プロセッサ100は、プログラムメモリ302にデータ設定されたコンピュータプログラムに対応して状態管理部105がデータパス部106のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに複数のプロセッサエレメント107は個々に設定自在なデータ処理で並列動作する。
入力制御回路122は、図2(b)に示すように、mbバス109からmbレジスタファイル115およびmbALU117へのデータ入力の接続関係と、nbバス110からnbレジスタファイル116およびnbALU118へのデータ入力の接続関係とを制御する。
出力制御回路123は、mbレジスタファイル115およびmbALU117からmbバス109へのデータ出力の接続関係と、nbレジスタファイル116およびnbALU118からnbバス110へのデータ出力の接続関係とを制御する。
プロセッサエレメント107の内部可変配線は、インストラクションデコーダ113の動作制御に対応して、プロセッサエレメント107の内部でのmbレジスタファイル115およびmbALU117の接続関係とnbレジスタファイル116およびnbALU118の接続関係とを制御する。
mbレジスタファイル115は、内部可変配線に制御される接続関係に対応して、mbバス109などから入力されるmbの処理データを一時保持してmbALU117などに出力する。nbレジスタファイル116は、内部可変配線に制御される接続関係に対応して、nbバス110などから入力されるnbの処理データを一時保持してnbALU118などに出力する。
mbALU117は、インストラクションデコーダ113の動作制御に対応したデータ処理をmbの処理データで実行し、nbALU118は、インストラクションデコーダ113の動作制御に対応したデータ処理をnbの処理データで実行するので、処理データのビット数に対応してm/nbのデータ処理が適宜実行される。
このデータパス部106での処理結果は必要により状態管理部105にイベントデータとしてフィードバックされるので、この状態管理部105は入力されたイベントデータにより動作状態を次の動作状態に遷移させるとともにデータパス部106のコンテキストを次のコンテキストに切り換える。
[実施例の動作]上述のような構成において、本実施例のデータ処理システム1000では、MPU200がメインプロセッサとして機能するとともにアレイ型プロセッサ100がコプロセッサとして機能することにより、そのアレイ型プロセッサ100とMPU200とのデータ処理が連動する。
その場合、アレイ型プロセッサ100およびMPU200は、プログラムメモリ302,303から自身のコンピュータプログラムをデータ読出して対応する処理動作を実行することにより、データライン301から入力される処理データを処理し、処理した処理データをデータライン301に出力する。ただし、アレイ型プロセッサ100は一般的なMPU200とは構造が相違するため、その処理動作も特異である。
より詳細には、前述のようにアレイ型プロセッサ100のコンピュータプログラムは、複数のプロセッサエレメント107と複数のスイッチエレメント108との命令コードが順次切り換わるコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部105の命令コードが順次遷移する動作状態としてデータ設定されている。
このようなコンピュータプログラムに対応して動作するアレイ型プロセッサ100では、状態管理部105が動作状態を順次遷移させるとともに、データパス部106のコンテキストを動作サイクルごとに順次切り換える。このため、その動作サイクルごとに複数のプロセッサエレメント107が個々に設定自在なデータ処理で並列動作し、その複数のプロセッサエレメント107の接続関係を複数のスイッチエレメント108が切換制御する。
このとき、データパス部106での処理結果は必要により状態管理部105にイベントデータとしてフィードバックされるので、この状態管理部105は入力されたイベントデータにより動作状態を次の動作状態に遷移させるとともにデータパス部106のコンテキストを次のコンテキストに切り換える。
なお、上述の説明では、状態管理部105とプロセッサエレメント107とのインストラクションメモリ140,112の命令コードが事前にデータ格納されている状態を想定した。しかし、このようなインストラクションメモリ112の命令コードをデータ更新することもでき、これはMPU200がアレイ型プロセッサ100に実行することもでき、アレイ型プロセッサ100がスタンドアロンで実行することもできる。
より具体的には、状態管理部105とプロセッサエレメント107とスイッチエレメント108との命令コードは、必要によりMPU200またはプロセッサエレメント107によりプログラムメモリ302からデータ読出されて外部バス300からI/Fユニット101に入力され、そのメモリアクセス部132からメモリコントローラ103に伝送される。
このメモリコントローラ103から状態管理部105まで、その状態管理部105の命令コードが命令バス141でデータ伝送され、メモリコントローラ103からプロセッサエレメント107まで、そのプロセッサエレメント107と隣接するスイッチエレメント108との1対の命令コードが命令バス142でデータ伝送される。
このとき、状態管理部105では、データ転送された命令コードがインストラクションデコーダ138でデコードされてインストラクションメモリ140にデータ格納され、複数の動作状態の遷移ルールが遷移テーブルメモリ139にデータ格納される。さらに、インストラクションメモリ140には複数の動作状態に対応した複数の命令コードがデータ格納されるので、その複数のアドレスデータもメモリコントローラ103から状態管理部105に伝送される。
また、状態管理部105に命令バス141で伝送される命令コードには、命令コードがデータ格納されるインストラクションメモリ140のアドレスデータもエンコードされてデータ設定されているので、これがインストラクションデコーダ138でデコードされ、4列のアドレスバス143から選択された1つで一列のプロセッサエレメント107に伝送される。
同時に、プロセッサエレメント107のインストラクションメモリ112に命令コードがデータ格納されるとき、メモリコントローラ103により4行の命令バス142から1つが選択されて命令コードが伝送される。これで1個のプロセッサエレメント107に命令コードとアドレスデータとが伝送されるので、そのアドレスデータに対応したインストラクションメモリ112の1つのアドレス空間に命令コードがデータ格納される。
上述のようにして状態管理部105に複数の動作状態の遷移ルールと複数の命令コードとがデータ格納され、データパス部106に複数のコンテキストがデータ格納されると、アレイ型プロセッサ100は前述のような処理動作を実行できる状態となる。
データ処理システム1000では、MPU200は、自身のコンピュータプログラムに対応して入力される処理データを処理したとき、その処理データの少なくとも一部をデータライン301からアレイ型プロセッサ100のデータパス部106に伝送するとともに、そのデータ処理に対応して発行するイベントデータの少なくとも一部を外部バス300から状態管理部105に伝送する。
また、アレイ型プロセッサ100は、コンピュータプログラムに対応してデータ処理を実行するとき、データパス部106で処理された処理データの少なくとも一部をデータライン301からMPU200に伝送するとともに、データパス部106のデータ処理に対応して発行されるイベントデータの少なくとも一部を外部バス300からMPU200に伝送する。
このようにアレイ型プロセッサ100とMPU200とが処理データを共有することにより、一連のデータ処理をアレイ型プロセッサ100とMPU200とで分担することができる。同時に、アレイ型プロセッサ100とMPU200とがイベントデータを通信することにより、各々で独立して実行するデータ処理を同期させることができる。
なお、ここで云う同期とは、アレイ型プロセッサ100とMPU200とが所定タイミングに処理データを通信できることを意味しており、アレイ型プロセッサ100とMPU200とが各々独立に実行するデータ処理の速度や段階などが一致することは意味していない。
ただし、上述のようにアレイ型プロセッサ100とMPU200とがイベントデータを通信する手段として、データ処理システム1000では複数方式が実現されている。例えば、図1に示すように、同期制御回路133はイベントデータとなる制御信号を状態管理部105に直接に発行する機能を有しており、そのイベントデータを発行させる同期制御回路133のアドレスデータは外部バス300に割り当てられている。
そこで、MPU200がアレイ型プロセッサ100にイベントデータを通達する場合、MPU200が外部バス300から同期制御回路133の内蔵レジスタ(図示せず)の所定アドレスに所定データを格納すると、これに対応して同期制御回路133から状態管理部105にイベントデータとなる制御信号が発行される。
このような制御信号としては、アレイ型プロセッサ100の動作実行と動作停止とを制御する二値のラン信号、状態管理部105を初期化する二値のリセット信号、等が用意されている。例えば、MPU200がアレイ型プロセッサ100の命令コードを更新する場合、MPU200がイベントデータを同期制御回路133に伝送することで二値のラン信号を動作実行から動作停止に変更し、これで停止したアレイ型プロセッサ100の命令コードを更新してからラン信号を動作実行に変更する。
この場合、MPU200はアレイ型プロセッサ100に、インストラクションメモリ112,140に一時保持できる個数より多数の命令コードで一連のデータ処理を実行させることができ、実行しているデータ処理を所望タイミングで別個のデータ処理に変更することもできる。
また、MPU200がアレイ型プロセッサ100に通達するイベントデータを外部バス300から同期制御回路133の外部データレジスタ135に格納すると、例えば、そのイベントデータはデータパス部106の処理動作により状態管理部105まで伝送される。
このとき、状態管理部105が動的に切換制御しているデータパス部106の接続経路によりイベントデータを伝送することと、状態管理部105がデータパス部106に静的に確保している接続経路によりイベントデータを伝送することが可能である。また、同期制御回路133の外部データレジスタ135に格納されたイベントデータを、前述の制御信号と同様に専用の信号ライン(図示せず)で状態管理部105まで伝送することも可能である。
ただし、同期制御回路133の外部データレジスタ135に外部からイベントデータが格納されても、それを状態管理部105とデータパス部106とは認識できない。そこで、イベントデータが外部データレジスタ135に外部から格納されると、これを通達するリクエスト信号が同期制御回路133からデータパス部106と状態管理部105とに専用の信号ラインで伝送される。
そして、このリクエスト信号に対応して状態管理部105などに外部データレジスタ135からイベントデータが読み出されると、その読出完了とリクエスト信号の初期化依頼とを通達するアクノリッジ信号が状態管理部105などから同期制御回路133に専用の信号ラインで伝送される。
また、アレイ型プロセッサ100がMPU200にイベントデータを通達する場合、同期制御回路133の内部データレジスタ136にイベントデータを格納する。すると、利用者の所望により初期設定される同期制御回路133の二値の割込設定が“許可”の場合は、同期制御回路133からMPU200にイベントデータとして割込信号が発行され、割込設定が“禁止”の場合は、MPU200がポーリング動作などにより同期制御回路133のイベントデータを読み出す。
上述のように割込設定が“許可”でアレイ型プロセッサ100からMPU200に割込信号が発行される場合、MPU200には、少なくとも割込ハンドラと割込信号とを対応させてコンピュータプログラムでデータ設定しておき、アレイ型プロセッサ100には、少なくともイベントデータと割込信号とを対応させてコンピュータプログラムでデータ設定しておく。
MPU200は、割込信号により割込ハンドラが起動されると割込原因を探索するので、これでアレイ型プロセッサ100の同期制御回路133を検出して割込原因であるイベントデータを読み出し、このイベントデータに対応した割込処理を実行する。
このようなイベントデータではアレイ型プロセッサ100の状態管理部105の動作状態をデータ設定してMPU200に通達することができるので、MPU200はアレイ型プロセッサ100の動作状態に同期した割込処理を実行することができる。
また、アレイ型プロセッサ100は、状態管理部105がイベントデータとして前述のラン信号を動作実行から動作停止に変更することでも同期制御回路133が割込信号を発行するので、この場合はMPU200は割込処理により動作停止したアレイ型プロセッサ100に各種操作を実行することができ、割込処理の完了タイミングなどでアレイ型プロセッサ100を動作開始させることができる。
さらに、MPU200はイベントデータの読出完了や割込処理の所定タイミングなどでアレイ型プロセッサ100にイベントデータとして応答信号の返信やラン信号の変更などを実行するので、これでアレイ型プロセッサ100もMPU200に同期したデータ処理を再開できる。
また、アレイ型プロセッサ100の割込設定が“禁止”で、同期制御回路133に格納されたイベントデータをMPU200が読み出す場合、MPU200は、定期的なポーリング動作によりアレイ型プロセッサ100からイベントデータを読み出すことができ、特定の処理動作により所望タイミングにアレイ型プロセッサ100からイベントデータを読み出すこともできる。
なお、MPU200が特定の処理動作によりアレイ型プロセッサ100からイベントデータを読み出す場合も、MPU200はアレイ型プロセッサ100からイベントデータを読み出せるまでポーリング動作を繰り返す。このイベントデータを読み出すポーリング動作をMPU200が適切なタイミングに実行すれば動作遅延が防止され、MPU200が割込処理でイベントデータを読み出せばアレイ型プロセッサ100の状態を即座に認識することができる。
また、データ処理システム1000では、前述のようにアレイ型プロセッサ100の複数のプロセッサエレメント107の各々がインストラクションメモリ112とm/nbレジスタファイル115,116とを有しているが、これらを1個のデータメモリとしてMPU200に認識させる。
より具体的には、アレイ型プロセッサ100のメモリコントローラ103には、複数のプロセッサエレメント107のインストラクションメモリ112とm/nbレジスタファイル115,116とが1個のデータメモリのメモリ空間として定義されている。
このため、MPU200はアレイ型プロセッサ100に分散された多数のインストラクションメモリ112とm/nbレジスタファイル115,116とを1個のデータメモリとして認識することになり、煩雑なデータ管理を必要とすることなくデータ読出/書込を実行することができる。
データ処理システム1000では、データメモリとなるm/nbレジスタファイル115,116とインストラクションメモリ112とはデータ読出/書込を受け付けるアクセスポートとアドレスデータごとの記憶エリアとが各々複数のマルチポートメモリからなるので、アレイ型プロセッサ100とMPU200によるデータ読出/書込を別個のアクセスポートと記憶エリアとで同時に実行することができる。
また、アレイ型プロセッサ100は、前述のように複数コンテキストに対応した命令コードがインストラクションメモリ112に命令バス142から格納され、プロセッサエレメント107の演算処理とスイッチエレメント108の接続制御とで一連のデータ処理が実行されているとき、m/nbの処理データを伝送するm/nbバス109,110は略常に使用されるが、命令バス142はインストラクションメモリ112まで命令コードを伝送する極短時間しか使用されない。
そこで、データ処理システム1000では、MPU200がアレイ型プロセッサ100のデータメモリにデータ読出/書込を実行するとき、その読出/書込データを命令バス142で伝送することにより、既存のハードウェアを有効利用して専用のハードウェアの追加を無用としている。
ここで、上述のようにMPU200がアレイ型プロセッサ100のデータメモリを使用する場合の処理動作を以下に順番に詳述する。まず、MPU200がアレイ型プロセッサ100のデータメモリにデータ書込を実行する場合、その書込データは外部バス300からメモリアクセス部132に伝送される。
このとき、MPU200から書込データのアドレスデータなどもメモリアクセス部132に送信されるので、図6(a)に示すように、このメモリアクセス部132からメモリコントローラ103に、データ書込のリクエスト信号、書込データのデータサイズとアドレスデータ、ライトイネーブル信号、が送信される。
すると、そのデータ書込が可能なときにメモリコントローラ103がメモリアクセス部132にアクノリッジ信号を返信するので、このアクノリッジ信号を受信したメモリアクセス部132がバリッド信号とともに書込データをメモリコントローラ103に送信する。
このメモリコントローラ103は、図7に示すように、命令バス141により状態管理部105に、例えば、“20(bit)”からなる多数ビットのアドレスデータをライトイネーブル信号およびバイトイネーブル信号とともに送信するので、そのアドレスデータが状態管理部105のインストラクションデコーダ138で、例えば、“8(bit)”からなる少数ビットのアドレスデータにデコードされてライトイネーブル信号とともに複数のアドレスバス143の1つに送信される。
同時に、メモリコントローラ103は、メモリアクセス部132から受信した多数ビットの書込データを、例えば、“8(bit)”からなる所定ビットの複数に必要により分割し、その書込データをバイトイネーブル信号とともに複数の命令バス142の1つに送信する。
上述のように1つのアドレスバス143にライトイネーブル信号が送信されるとともに1つの命令バス142にバイトイネーブル信号が送信されることで1個のプロセッサエレメント107が選択されるので、そのプロセッサエレメント107のインストラクションメモリ112にアドレスデータに対応して書込データが書き込まれる。
一方、MPU200がアレイ型プロセッサ100のデータメモリからデータ読出を実行する場合も、図6(b)に示すように、メモリアクセス部132からメモリコントローラ103に、データ読出のリクエスト信号、読出データのデータサイズとアドレスデータ、が送信される。
このとき、ライトイネーブル信号が送信されないことでメモリコントローラ103はデータ書込でなくデータ読出であることを認識し、そのデータ読出が可能なときにメモリアクセス部132にアクノリッジ信号を返信するので、このアクノリッジ信号を受信したメモリアクセス部132はバリッド信号をメモリコントローラ103に送信する。
このメモリコントローラ103は、図7に示すように、命令バス141により状態管理部105に、“20(bit)”などの多数ビットのアドレスデータをリードイネーブル信号およびバイトイネーブル信号とともに送信するので、その多数ビットのアドレスデータが状態管理部105のインストラクションデコーダ138で“8(bit)”などの少数ビットのアドレスデータにデコードされてリードイネーブル信号とともに複数のアドレスバス143の1つに送信される。
同時に、メモリコントローラ103は複数の命令バス142の1つにバイトイネーブル信号とバリッド信号と“8(bit)”などの所定ビットの読出データとを送信するので、リードイネーブル信号とバイトイネーブル信号とで選択された1個のプロセッサエレメント107のインストラクションメモリ112から、アドレスデータに対応して読出データが読み出される。
図5に示すように、この読出データはリードイネーブル信号とともに命令バス142でリードマルチプレクサ104まで送信され、図8に示すように、このリードマルチプレクサ104から必要により1つの多数ビットの読出データとしてメモリアクセス部132に送信されるので、図6(b)に示すように、このメモリアクセス部132がバリッド信号とともに読出データを外部バス300からMPU200に送信する。
[本実施例の作用]本実施例のデータ処理システム1000では、上述のようにアレイ型プロセッサ100とMPU200とが処理データを相互通信し、そのデータ処理に対応したイベントデータも相互通信するので、アレイ型プロセッサ100とMPU200とが良好に連動してデータ処理を分担することができる。特に、アレイ型プロセッサ100とMPU200とが同期制御回路133を利用してイベントデータを相互通信するので、簡単な構造で確実にアレイ型プロセッサ100とMPU200とがデータ処理を連動させることができる。
本実施例のデータ処理システム1000では、上述のようにアレイ型プロセッサ100の多数のインストラクションメモリ112とm/nbレジスタファイル115,116からなるデータメモリをMPU200も共有するので、そのデータメモリを有効に利用することができる。
それでいて、アレイ型プロセッサ100の内部に分散された多数のインストラクションメモリ112とm/nbレジスタファイル115,116とを1個のデータメモリとしてメモリコントローラ103がMPU200に認識させるので、MPU200に煩雑なデータ管理を必要とすることなくアレイ型プロセッサ100のデータメモリを活用させることができる。
また、MPU200にデータメモリとして共用させるm/nbレジスタファイル115,116とインストラクションメモリ112とはアレイ型プロセッサ100に必須のハードウェアなので、データ処理システム1000では、MPU200と共用するデータメモリをアレイ型プロセッサ100に新規に追加する必要がない。
しかも、入力される命令コードが複数のプロセッサエレメント107のインストラクションメモリ112まで伝送される命令バス142でMPU200が使用するメモリユニットの読出/書込データが伝送されるので、アレイ型プロセッサ100でデータ処理の最中には利用されない命令バス142でMPU200にメモリユニットを利用させることができる。
さらに、アレイ型プロセッサ100とMPU200とは、マルチポートメモリからなるm/nbレジスタファイル115,116にデータ読出/書込を互いに異なるアクセスポートと記憶エリアとで同時に実行するので、同一のデータメモリをアレイ型プロセッサ100とMPU200とが同時に使用することができる。
また、1つの大容量の命令バス141で伝送される多数ビットのアドレスデータを、状態管理部105のインストラクションデコーダ138で少数ビットの複数のアドレスデータにデコードしてから、多数の小容量のアドレスバス143で複数のプロセッサエレメント107まで伝送する。このため、アレイ型プロセッサ100は、アドレスデータを多数のプロセッサエレメント107に少数のバス141,143で伝送することができ、回路規模が削減されている。
また、MPU200によるデータ読出に対応して共有されるデータメモリのアドレスデータを発行するメモリコントローラ103と、このメモリコントローラ103が発行したアドレスデータでデータメモリから読み出された読出データを出力するリードマルチプレクサ104と、がデータパス部106の両側に分散配置されている。
このため、データパス部106のデータメモリにアドレスデータが到達する時間と、データメモリからリードマルチプレクサ104に読出データが到達する時間と、の合計が一定となるので、MPU200がアレイ型プロセッサ100のデータメモリを利用するときの所要時間を一定とすることができる。
[本実施例の変形例]本発明は上述の実施例に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形が可能である。例えば、本実施例ではアレイ型プロセッサ100の多数のプロセッサエレメント107の各々に内蔵されているインストラクションメモリ112とm/nbレジスタファイル115,116とがデータメモリとしてMPU200に共用されることを例示したが、その一方のみをデータメモリとしてMPU200に利用させることも可能である。また、本実施例のアレイ型プロセッサ100は、状態管理部105にもインストラクションメモリ140が存在するので、これをデータメモリの一部としてMPU200に利用させることも可能である。
また、m/nbALU117,118などを有していないメモリユニット(図示せず)を多数のプロセッサエレメント107の一部と換装し、そのメモリユニットをデータメモリの少なくとも一部としてMPU200に共用させることも可能である。この場合でも、メモリユニットの読出/書込データは専用バスでなく命令バス142で伝送できるので、既存のハードウェアを有効利用して回路規模の増大を防止することができる。
さらに、本実施例ではデータ処理システム1000として1個のアレイ型プロセッサ100に1個のMPU200が接続されている構造を例示した。しかし、このMPU200を、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、VLIW(Very Long InstructionWord)プロセッサ、アレイ型プロセッサ、等に換装することも可能である。
また、2個以上のデータ処理装置を接続してデータ処理システムを形成することも可能であり、そのデータ処理装置として2種類以上を混在させることも可能である。さらに、本実施例ではアレイ型プロセッサ100とMPU200とが直接的に接続されている構造を例示したが、各種のデバイスを経由させることも可能である。
また、本実施例ではデータメモリとなるインストラクションメモリ112とm/nbレジスタファイル115,116とがマルチポートメモリからなることにより、アレイ型プロセッサ100とMPU200によるデータ書込を同時に実行できることを例示したが、このようなデータメモリをシングルポートメモリで形成することも可能である。
例えば、インストラクションメモリ112がシングルポートメモリからなる場合、アレイ型プロセッサ100とMPU200によるデータ書込を同時に実行することはできない。しかし、アレイ型プロセッサ100は、多数のプロセッサエレメント107がマトリクス配列されているので、全部のプロセッサエレメント107がインストラクションメモリ112を常時使用するとも限らない。
そこで、データ処理システム1000では、アレイ型プロセッサ100が複数のプロセッサエレメント107の一部がインストラクションメモリ112を使用しているときに、他部のプロセッサエレメント107で使用されていないインストラクションメモリ112をMPU200が使用することもできる。
ただし、上述のようにMPU200がアレイ型プロセッサ100のデータメモリを使用する場合でも、アレイ型プロセッサ100とMPU200とのメモリ使用の競合を解決しておく必要はある。しかし、本実施例のデータ処理システム1000では、前述のようにアレイ型プロセッサ100とMPU200とがイベントデータの通信により互いの状態を認識してデータ処理を連動できるので、これで競合を解決してメモリ共用を実現することができる。
さらに、本実施例ではアレイ型プロセッサ100とMPU200とが専用の同期制御回路133でイベントデータを相互通信することで、インストラクションメモリ112およびm/nbレジスタファイル115,116などのデータメモリを排他使用することを例示した。しかし、図9に示すように、排他制御回路401をインストラクションメモリ112およびm/nbレジスタファイル115,116などのデータメモリに接続することで排他使用を実現することも可能である。
この方式を以下に説明する。まず、同期制御回路133も排他制御回路401も使用せずにアレイ型プロセッサ100とMPU200とがデータメモリを共用することを想定し、アレイ型プロセッサ100とMPU200とに、互いに同期させる処理を実行したときにデータメモリの特定の領域の数値を“1”だけインクリメントし、その数値が“2”になると同期を確認すると定義する。
そして、共用するインストラクションメモリ112とm/nbレジスタファイル115,116との各々の特定アドレスに“0”をデフォルト設定しておき、そのデータメモリを使用したデータ処理を完了したアレイ型プロセッサ100とMPU200とが上記の“0”をデータ読出して“1”をデータ書込する。すると、後段のデータ処理を実行したアレイ型プロセッサ100かMPU200は、データメモリから“1”をデータ読出して“2”にデータ更新することになるので、これでデータ処理の同期を確認できることになる。
しかし、上記手法ではデータ処理を実行するアレイ型プロセッサ100とMPU200とがデータメモリから“0”をデータ読出してから“1”をデータ書込するので、一方が“0”をデータ読出してから“1”をデータ書込するまでの時間に他方が“0”をデータ読出して“1”をデータ書込すると、両方が“1”をデータ書込したまま“2”を確認することなく待機することになる。
そこで、データメモリの排他使用を通知するアトミック信号をメモリコントローラ103から排他制御回路401に発行させ、その排他使用の可否を排他制御回路401からメモリコントローラ103に返信させる。アレイ型プロセッサ100とMPU200との一方がデータメモリを使用しているときは他方のメモリアクセスは拒絶されるので、データメモリをアレイ型プロセッサ100とMPU200とに確実に排他使用させることが可能となる。
なお、上述の排他制御回路401を使用する手法は、インストラクションメモリ112とm/nbレジスタファイル115,116との各々に排他制御回路401を追加するとともに命令バス142も増設する必要があるが、アレイ型プロセッサ100とMPU200とのメモリ使用の待機時間を短縮することができる。
一方、前述の同期制御回路133を使用する手法は、アレイ型プロセッサ100とMPU200とのメモリ使用に幾分かの待機時間が発生するが、回路規模の増大を抑制することができる。つまり、上述した2つの手法は互いに一長一短があるため、データ処理システム1000を実施する場合には各種条件を考慮して最適な一方を選択することが好適である。
また、本実施例ではアレイ型プロセッサ100とMPU200とのデータ処理を同期させるため、同期制御回路133と状態管理部105とがデータパス部106を介してイベントデータを相互通信することを例示した。しかし、イベントデータに相当する状態管理部105の制御信号を同期制御回路133が直接に発行するとともに、イベントデータに相当する状態管理部105の状態データを同期制御回路133に直接に通達することも可能である。
この場合、状態管理部105によるアレイ型プロセッサ100の管理状態をMPU200に直接に通達することができ、MPU200が発行するイベントデータを状態管理部105によるアレイ型プロセッサ100の管理状態に直接に反映させることができる。
ただし、この手法ではMPU200からアレイ型プロセッサ100に通達されるイベントデータが多数の場合、その個数が状態管理部105でデータ保持できる動作状態の個数に制限されることがある。また、同期制御回路133と状態管理部105とのデータ通信にデータパス部106が関与しないので、データパス部106が状態管理部105に発行するイベントデータと同期制御回路133が状態管理部105に通達する制御信号とを整合させる工夫が必要となる。
つまり、この手法も同期制御回路133と状態管理部105とがデータパス部106を介してイベントデータを相互通信する手法および排他制御回路401を使用する手法に対して一長一短があるので、やはりデータ処理システム1000を実施する場合には各種条件を考慮して選択することが好適である。
さらに、本実施例では同期制御回路133がメモリアクセス部132とデータパス部106との中間に位置することを例示したが、この同期制御回路133は機能が実現される範囲で各種の位置に配置することが可能である。また、本実施例ではインストラクションメモリ112とm/nbレジスタファイル115,116との読出/書込データを命令バス142で伝送することを例示したが、これをm/nbバス109,110で伝送することも可能である。
さらに、本実施例ではアレイ型プロセッサ100が“8(bit)”からなる“mb”と“1(bit)”からなる“nb”との2種類の回路資源を有していることを例示したが、このような回路資源の種類の個数およびビット数も各種に設定することが可能である。
また、本実施例ではスイッチエレメント108が隣接するプロセッサエレメント107のインストラクションメモリ112を共用しており、状態管理部105がプロセッサエレメント107とスイッチエレメント108との1組のインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ112に供給することを例示した。
しかし、プロセッサエレメント107のインストラクションメモリ112とは別個にスイッチエレメント108が自身専用のインストラクションメモリを有し、状態管理部105がプロセッサエレメント107とスイッチエレメント108とのインストラクションポインタを対応するプロセッサエレメント107とスイッチエレメント108とのインストラクションメモリ112等に別個に供給することも可能である。
また、プロセッサエレメント107がスイッチエレメント108のインストラクションメモリを共用し、状態管理部105がプロセッサエレメント107とスイッチエレメント108との1組のインストラクションポインタを対応するスイッチエレメント108のインストラクションメモリに供給することも可能である。
さらに、本実施例ではアレイ型プロセッサ100の各部が平面状に配列されている構造を例示した。しかし、例えば、m/nbバス109,110とスイッチエレメント108とプロセッサエレメント107とを積層構造で重複させて形成するようなことも可能である。
また、本実施例ではアレイ型プロセッサ100に状態管理部105が1個のみ形成されていることを例示した。しかし、これを複数としてプロセッサエレメント107を所定個数ずつ管理させることも可能である。このような場合、複数の状態管理部105を代表する1個が統合管理することや、複数の状態管理部105を統合管理する上位管理部(図示せず)を形成することが好適である。
本発明の実施の形態のデータ処理システムの論理構造を示す模式的なブロック図である。 アレイ型プロセッサのm/nbバスなどの物理構造を示すブロック図である。 命令バスなどの物理構造を示すブロック図である。 同期制御回路とメモリアクセス部との通信データなどを示す模式図である。 リードマルチプレクサの内部構造を示すブロック図である。 データメモリにデータ読出/書込するときのメモリアクセス部の各種データを示すタイムチャートである。 データメモリにデータ読出/書込するときのメモリコントローラの各種データを示すタイムチャートである。 データメモリからデータ読出するときのリードマルチプレクサの各種データを示すタイムチャートである。 変形例の要部を示すブロック図である。
符号の説明
100 アレイ型プロセッサ
103 仮想認識手段でありアドレス発行回路であるメモリコントローラ
104 データ読出回路であるリードマルチプレクサ
105 状態管理部
106 データパス部
107 プロセッサエレメント
108 スイッチエレメント
109 データバスの一部であるmbバス
110 データバスの一部であるnbバス
112,140 メモリユニットでありデータメモリの一部であるインストラクションメモリ
115 メモリユニットでありデータメモリの一部であるmbレジスタファイル
116 メモリユニットでありデータメモリの一部であるnbレジスタファイル
132 メモリアクセス部
133 同期制御回路
141 大容量バスである命令バス
142 命令バス
143 小容量バスであるアドレスバス
200 データ処理装置であるMPU
302,303 情報記憶媒体であるプログラムメモリ

Claims (27)

  1. コンピュータプログラムに対応して動作を行う少なくとも一つのデータ処理装置と、
    コンピュータプログラムに対応して動作を行う少なくとも一つのアレイ型プロセッサと、を有し、前記少なくとも一つのデータ処理装置と前記少なくとも一つのアレイ型プロセッサとが並列に接続されるデータ処理システムであって、
    前記アレイ型プロセッサは、
    複数のプロセッサエレメントと複数のスイッチエレメントがマトリクス状に配列されたデータパス部と、
    前記データパス部のコンテキストを動作サイクルごとに切り換え、前記データパス部の動作状態を決定する状態管理部と、を有し、
    前記複数のプロセッサエレメントの少なくとも一部には、前記状態管理部で決定された動作状態に対応する複数の命令コードを格納するインストラクションメモリと、前記命令コードに基づいて演算処理を行う演算部と、を有し、
    前記スイッチエレメントは前記命令コードに基づいて前記プロセッサエレメントの接続関係を個々に切替制御し、
    前記少なくとも一つのアレイ型プロセッサのデータパス部に、前記少なくとも一つのデータ処理装置で処理された処理データの少なくとも一部が伝送され、
    前記少なくとも一つのアレイ型プロセッサのデータパス部で処理された処理データの少なくとも一部が前記少なくとも一つのデータ処理装置に伝送されるとともに前記データパス部がデータ処理に対応して発生するイベントデータの少なくとも一部が他の前記データ処理装置に伝送されるデータ処理システム。
  2. コンピュータプログラムに対応して動作を行う少なくとも一つのデータ処理装置と、
    コンピュータプログラムに対応して動作を行う少なくとも一つのアレイ型プロセッサと、を有し、前記少なくとも一つのデータ処理装置と前記少なくとも一つのアレイ型プロセッサとが並列に接続されるデータ処理システムであって、 前記アレイ型プロセッサは、
    複数のプロセッサエレメントと複数のスイッチエレメントがマトリクス状に配列されたデータパス部と、
    前記データパス部のコンテキストを動作サイクルごとに切り換え、前記データパス部の動作状態を決定する状態管理部と、を有し、
    前記複数のプロセッサエレメントの少なくとも一部には、前記状態管理部で決定された動作状態に対応する複数の命令コードを格納するインストラクションメモリと、前記命令コードに基づいて演算処理を行う演算部と、を有し、
    前記スイッチエレメントは前記命令コードに基づいて前記プロセッサエレメントの接続関係を個々に切替制御し、

    前記少なくとも一つのアレイ型プロセッサのデータパ
    ス部に他の前記データ処理装置で処理された処理データの少なくとも一部が伝送されると
    ともに他の前記データ処理装置が前記データ処理に対応して発行するイベントデータの少
    なくとも一部が前記状態管理部に伝送され、前記アレイ型プロセッサのデータパス部で処
    理された処理データの少なくとも一部が他の前記データ処理装置に伝送されるデータ処理
    システム。
  3. コンピュータプログラムに対応して動作を行う少なくとも一つのデータ処理装置と、
    コンピュータプログラムに対応して動作を行う少なくとも一つのアレイ型プロセッサと、を有し、前記少なくとも一つのデータ処理装置と前記少なくとも一つのアレイ型プロセッサとが並列に接続されるデータ処理システムであって、
    前記アレイ型プロセッサは、
    複数のプロセッサエレメントと複数のスイッチエレメントがマトリクス状に配列されたデータパス部と、
    前記データパス部のコンテキストを動作サイクルごとに切り換え、前記データパス部の動作状態を決定する状態管理部と、を有し、
    前記複数のプロセッサエレメントの少なくとも一部には、前記状態管理部で決定された動作状態に対応する複数の命令コードを格納するインストラクションメモリと、前記命令コードに基づいて演算処理を行う演算部と、を有し、
    前記スイッチエレメントは前記命令コードに基づいて前記プロセッサエレメントの接続関係を個々に切替制御し、

    前記少なくとも一つのアレイ型プロセッサのデータパス部に他の前記データ処理装置で処理された処理データの少なくとも一部が伝送されるとともに他の前記データ処理装置が前記データ処理に対応して発行するイベントデータの少なくとも一部が前記状態管理部に伝送され、前記アレイ型プロセッサのデータパス部で処理された処理データの少なくとも一部が他の前記データ処理装置に伝送されるとともに前記データパス部がデータ処理に対応して発生するイベントデータの少なくとも一部が他の前記データ処理装置に伝送されるデータ処理システム。
  4. 前記状態管理部は、前記複数の命令コードを前記データパスへ送信し、
    前記データパス部の前記プロセッサエレメントは、前記状態管理部から受信する命令コードを前記インストラクションメモリから読み出すことを特徴とする請求項1から3のいずれか一項に記載のデータ処理装置。
  5. 前記アレイ型プロセッサは、他の前記データ処理装置により読み出される前記イベント
    データが前記状態管理部により格納されることと、前記状態管理部により読み出される前
    記イベントデータが他の前記データ処理装置により格納されることと、の少なくとも一方
    を実行する同期制御回路を有している請求項1ないしの何れか一項に記載のデータ処理
    システム。
  6. 前記アレイ型プロセッサが、各種データを更新自在に一時記憶するデータメモリも有し
    ており、このデータメモリを前記アレイ型プロセッサと他の前記データ処理装置とが共有
    する請求項1ないしの何れか一項に記載のデータ処理システム。
  7. 前記データメモリが前記データパス部に分散された複数のメモリユニットからなり、こ
    れら複数のメモリユニットを1個の前記データメモリとして他の前記データ処理装置に認
    識させる仮想認識手段を前記アレイ型プロセッサが有している請求項に記載のデータ処理システム。
  8. 複数の前記メモリユニットの少なくとも一部は、データ読出/書込を受け付けるアクセ
    スポートとアドレスデータごとの記憶エリアとが各々複数のマルチポートメモリからなり
    、前記アレイ型プロセッサと他の前記データ処理装置とによるデータ読出/書込を互いに
    異なる前記アクセスポートと前記記憶エリアとで同時に受け付ける請求項に記載のデータ処理システム。
  9. 複数の前記メモリユニットの少なくとも一部が複数の前記プロセッサエレメントの少な
    くとも一部に内蔵されており、前記アレイ型プロセッサが複数の前記プロセッサエレメン
    トの一部が前記メモリユニットを使用しているときに他部の前記プロセッサエレメントで
    使用されていない前記メモリユニットを他の前記データ処理装置が使用する請求項に記
    載のデータ処理システム。
  10. 複数の前記プロセッサエレメントの少なくとも一部が処理データを一時保持するレジス
    タファイルを有しており、複数の前記メモリユニットの少なくとも一部が前記レジスタフ
    ァイルからなる請求項に記載のデータ処理システム。
  11. 複数の前記プロセッサエレメントの少なくとも一部が前記命令コードを更新自在に一時
    保持するインストラクションメモリを有しており、複数の前記メモリユニットの少なくと
    も一部が前記インストラクションメモリからなる請求項に記載のデータ処理システム。
  12. 前記アレイ型プロセッサは、複数の前記スイッチエレメントにより切換制御されて複数
    の前記プロセッサエレメントの処理データが伝送されるデータバスを有しており、このデ
    ータバスに前記プロセッサエレメントと並列に複数の前記メモリユニットの少なくとも一
    部が接続されている請求項に記載のデータ処理システム。
  13. 複数の前記プロセッサエレメントの少なくとも一部が前記命令コードを更新自在に一時
    保持するインストラクションメモリを有しており、前記アレイ型プロセッサは、複数の前
    記スイッチエレメントにより切換制御されて複数の前記プロセッサエレメントの処理デー
    タが伝送されるデータバスと、入力される前記命令コードが複数の前記プロセッサエレメ
    ントまで伝送される命令バスと、を別個に有しており、他の前記データ処理装置が使用す
    る前記メモリユニットの読出/書込データが前記命令バスで伝送される請求項に記載のデータ処理システム。
  14. 前記状態管理部が、多数ビットのアドレスデータを前記インストラクションメモリへの
    前記命令コードのデータ格納に必要な少数ビットの複数のアドレスデータにデコードする
    インストラクションデコーダを有しており、入力される多数ビットの前記アドレスデータ
    を前記状態管理部まで伝送する少数の大容量バスと、前記状態管理部から複数の前記プロ
    セッサエレメントまで少数ビットの前記アドレスデータを伝送する多数の小容量バスと、
    も有している請求項13に記載のデータ処理システム。
  15. 前記アレイ型プロセッサは、他の前記データ処理装置による前記データメモリのデータ
    読出に対応してアドレスデータを発行するアドレス発行回路と、このアドレス発行回路で
    発行された前記アドレスデータで前記データメモリから読み出された読出データを出力す
    るデータ読出回路と、を別個に有しており、前記アドレス発行回路と前記データ読出回路とが前記データパス部の両側に分散配置されている請求項に記載のデータ処理システム。
  16. 請求項1に記載のデータ処理システムのアレイ型プロセッサであって、個々にデータ設
    定される命令コードに対応してデータ処理を個々に実行する複数のプロセッサエレメント
    と個々にデータ設定される命令コードに対応して複数の前記プロセッサエレメントの接続
    関係を個々に切換制御する複数のスイッチエレメントとがマトリクス配列されているデー
    タパス部と、このデータパス部の前記命令コードからなるコンテキストを前記コンピュー
    タプログラムと前記イベントデータとに対応して順次切り換える状態管理部と、を有して
    おり、前記データパス部は、他の前記データ処理装置で処理された処理データの少なくと
    も一部が伝送され、処理した処理データの少なくとも一部を他の前記データ処理装置に伝
    送し、前記状態管理部は、前記データパス部がデータ処理に対応して発生するイベントデ
    ータの少なくとも一部を他の前記データ処理装置に伝送する、アレイ型プロセッサ。
  17. 請求項2に記載のデータ処理システムのアレイ型プロセッサであって、個々にデータ設
    定される命令コードに対応してデータ処理を個々に実行する複数のプロセッサエレメント
    と個々にデータ設定される命令コードに対応して複数の前記プロセッサエレメントの接続
    関係を個々に切換制御する複数のスイッチエレメントとがマトリクス配列されているデー
    タパス部と、このデータパス部の前記命令コードからなるコンテキストを前記コンピュー
    タプログラムと前記イベントデータとに対応して順次切り換える状態管理部と、を有して
    おり、前記データパス部は、他の前記データ処理装置で処理された処理データの少なくと
    も一部が伝送され、処理した処理データの少なくとも一部を他の前記データ処理装置に伝
    送し、前記状態管理部は、他の前記データ処理装置がデータ処理に対応して発行するイベ
    ントデータの少なくとも一部が伝送される、アレイ型プロセッサ。
  18. 請求項3に記載のデータ処理システムのアレイ型プロセッサであって、個々にデータ設
    定される命令コードに対応してデータ処理を個々に実行する複数のプロセッサエレメント
    と個々にデータ設定される命令コードに対応して複数の前記プロセッサエレメントの接続
    関係を個々に切換制御する複数のスイッチエレメントとがマトリクス配列されているデー
    タパス部と、このデータパス部の前記命令コードからなるコンテキストを前記コンピュー
    タプログラムと前記イベントデータとに対応して順次切り換える状態管理部と、を有して
    おり、前記データパス部は、他の前記データ処理装置で処理された処理データの少なくと
    も一部が伝送され、処理した処理データの少なくとも一部を他の前記データ処理装置に伝
    送し、前記状態管理部は、他の前記データ処理装置がデータ処理に対応して発行するイベ
    ントデータの少なくとも一部が伝送され、前記データパス部がデータ処理に対応して発生
    するイベントデータの少なくとも一部を他の前記データ処理装置に伝送する、アレイ型プ
    ロセッサ。
  19. 請求項1に記載のデータ処理システムの他の前記データ処理装置であって、コンピュー
    タプログラムが事前にデータ設定されている情報記憶媒体と、処理データとイベントデー
    タとが入力されるデータ入力手段と、入力される前記処理データを前記コンピュータプロ
    グラムと前記イベントデータとに対応してデータ処理するデータ処理手段と、このデータ
    処理手段で処理された処理データとイベントデータとを出力するデータ出力手段と、を有
    しており、前記データ入力手段は、前記処理データの少なくとも一部とイベントデータと
    を前記アレイ型プロセッサから入力し、前記データ処理手段は、前記データ処理の少なく
    とも一部に対応して新規のイベントデータを発行し、前記データ出力手段は、前記処理デ
    ータの少なくとも一部を前記アレイ型プロセッサに出力する、データ処理装置。
  20. 請求項2に記載のデータ処理システムの他の前記データ処理装置であって、コンピュー
    タプログラムが事前にデータ設定されている情報記憶媒体と、処理データとイベントデー
    タとが入力されるデータ入力手段と、入力される前記処理データを前記コンピュータプロ
    グラムと前記イベントデータとに対応してデータ処理するデータ処理手段と、このデータ
    処理手段で処理された処理データとイベントデータとを出力するデータ出力手段と、を有
    しており、前記データ入力手段は、前記処理データの少なくとも一部を前記アレイ型プロ
    セッサから入力し、前記データ処理手段は、前記データ処理の少なくとも一部に対応して
    新規のイベントデータを発行し、前記データ出力手段は、前記処理データの少なくとも一
    部と新規に発行された前記イベントデータとを前記アレイ型プロセッサに出力する、デー
    タ処理装置。
  21. 請求項3に記載のデータ処理システムの他の前記データ処理装置であって、コンピュー
    タプログラムが事前にデータ設定されている情報記憶媒体と、処理データとイベントデー
    タとが入力されるデータ入力手段と、入力される前記処理データを前記コンピュータプロ
    グラムと前記イベントデータとに対応してデータ処理するデータ処理手段と、このデータ
    処理手段で処理された処理データとイベントデータとを出力するデータ出力手段と、を有
    しており、前記データ入力手段は、前記処理データの少なくとも一部とイベントデータと
    を前記アレイ型プロセッサから入力し、前記データ処理手段は、前記データ処理の少なく
    とも一部に対応して新規のイベントデータを発行し、前記データ出力手段は、前記処理デ
    ータの少なくとも一部と新規に発行された前記イベントデータとを前記アレイ型プロセッ
    サに出力する、データ処理装置。
  22. 請求項16に記載のアレイ型プロセッサのためのコンピュータプログラムであって、前
    記データパス部に他の前記データ処理装置で処理された処理データの少なくとも一部を入
    力させる処理と、前記データパス部に処理した処理データの少なくとも一部を他の前記デ
    ータ処理装置に出力させる処理と、前記状態管理部に前記データパス部がデータ処理に対
    応して発生するイベントデータの少なくとも一部を他の前記データ処理装置に出力させる
    処理と、を前記アレイ型プロセッサに実行させるためのコンピュータプログラム。
  23. 請求項17に記載のアレイ型プロセッサのためのコンピュータプログラムであって、前
    記データパス部に他の前記データ処理装置で処理された処理データの少なくとも一部を入
    力させる処理と、前記データパス部に処理した処理データの少なくとも一部を他の前記デ
    ータ処理装置に出力させる処理と、前記状態管理部に他の前記データ処理装置がデータ処
    理に対応して発行するイベントデータの少なくとも一部を入力させる処理と、を前記アレ
    イ型プロセッサに実行させるためのコンピュータプログラム。
  24. 請求項18に記載のアレイ型プロセッサのためのコンピュータプログラムであって、前
    記データパス部に他の前記データ処理装置で処理された処理データの少なくとも一部を入
    力させる処理と、前記データパス部に処理した処理データの少なくとも一部を他の前記デ
    ータ処理装置に出力させる処理と、前記状態管理部に他の前記データ処理装置がデータ処
    理に対応して発行するイベントデータの少なくとも一部を入力させる処理と、前記状態管
    理部に前記データパス部がデータ処理に対応して発生するイベントデータの少なくとも一
    部を他の前記データ処理装置に出力させる処理と、を前記アレイ型プロセッサに実行させ
    るためのコンピュータプログラム。
  25. 請求項19に記載のデータ処理装置のためのコンピュータプログラムであって、前記処
    理データの少なくとも一部とイベントデータとを前記アレイ型プロセッサから入力する処
    理と、前記データ処理の少なくとも一部に対応して新規のイベントデータを発行する処理
    と、前記処理データの少なくとも一部を前記アレイ型プロセッサに出力する処理と、を前
    記データ処理装置に実行させるためのコンピュータプログラム。
  26. 請求項20に記載のデータ処理装置のためのコンピュータプログラムであって、前記処
    理データの少なくとも一部を前記アレイ型プロセッサから入力する処理と、前記データ処
    理の少なくとも一部に対応して新規のイベントデータを発行する処理と、前記処理データ
    の少なくとも一部と新規に発行された前記イベントデータとを前記アレイ型プロセッサに
    出力する処理と、を前記データ処理装置に実行させるためのコンピュータプログラム。
  27. 請求項21に記載のデータ処理装置のためのコンピュータプログラムであって、前記処
    理データの少なくとも一部とイベントデータとを前記アレイ型プロセッサから入力する処
    理と、前記データ処理の少なくとも一部に対応して新規のイベントデータを発行する処理
    と、前記処理データの少なくとも一部と新規に発行された前記イベントデータとを前記ア
    レイ型プロセッサに出力する処理と、を前記データ処理装置に実行させるためのコンピュ
    ータプログラム。
JP2004323133A 2004-11-08 2004-11-08 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体 Expired - Lifetime JP3861898B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004323133A JP3861898B2 (ja) 2004-11-08 2004-11-08 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004323133A JP3861898B2 (ja) 2004-11-08 2004-11-08 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001394526A Division JP3693013B2 (ja) 2001-12-26 2001-12-26 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体

Publications (3)

Publication Number Publication Date
JP2005100448A JP2005100448A (ja) 2005-04-14
JP2005100448A5 JP2005100448A5 (ja) 2006-01-19
JP3861898B2 true JP3861898B2 (ja) 2006-12-27

Family

ID=34464296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004323133A Expired - Lifetime JP3861898B2 (ja) 2004-11-08 2004-11-08 データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体

Country Status (1)

Country Link
JP (1) JP3861898B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292284B2 (en) 2012-07-10 2016-03-22 Renesas Electronics Corporation Parallel arithmetic device, data processing system with parallel arithmetic device, and data processing program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5163306B2 (ja) * 2008-06-19 2013-03-13 富士通セミコンダクター株式会社 動的再構成回路およびデータ送信制御方法
WO2010087098A1 (ja) 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
CN108762460A (zh) * 2018-06-28 2018-11-06 北京比特大陆科技有限公司 一种数据处理电路、算力板、矿机以及挖矿系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292284B2 (en) 2012-07-10 2016-03-22 Renesas Electronics Corporation Parallel arithmetic device, data processing system with parallel arithmetic device, and data processing program

Also Published As

Publication number Publication date
JP2005100448A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US20070033369A1 (en) Reconfigurable integrated circuit device
US20030126320A1 (en) Supercharge message exchanger
JP3987783B2 (ja) アレイ型プロセッサ
JPS5924462B2 (ja) 共有メモリのアクセス制御方式
JPH04218861A (ja) 多重クラスタ信号プロセッサ
CA2478570A1 (en) Data processing apparatus and system and method for controlling memory access
JP3693013B2 (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP2006099719A (ja) 処理装置
EP2548129A1 (en) Masked register write method and apparatus
US20050050522A1 (en) Data processing system
JP3861898B2 (ja) データ処理システム、アレイ型プロセッサ、データ処理装置、コンピュータプログラム、情報記憶媒体
JP4728581B2 (ja) アレイ型プロセッサ
JP2831083B2 (ja) マルチプロセッサシステムおよび割り込み制御装置
JP2001312327A (ja) 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム
CA2078913A1 (en) Interprocessor communication system and method for multiprocessor circuitry
TWI464593B (zh) 輸出輸入控制裝置與其控制方法
US11443091B1 (en) Data processing engines with cascade connected cores
JP2000348490A (ja) メモリ装置
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JPH04359350A (ja) ワークステーション統合手段用のレジスタ制御装置
US20060064553A9 (en) Data processing apparatus and system and method for controlling memory access
WO2001067271A1 (fr) Dispositif de traitement d'informations
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPH01211158A (ja) 制御装置多重化システムおよびメモリ空間制御方式

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060918

R150 Certificate of patent or registration of utility model

Ref document number: 3861898

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

EXPY Cancellation because of completion of term