JP2003099409A - データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム - Google Patents

データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Info

Publication number
JP2003099409A
JP2003099409A JP2001294241A JP2001294241A JP2003099409A JP 2003099409 A JP2003099409 A JP 2003099409A JP 2001294241 A JP2001294241 A JP 2001294241A JP 2001294241 A JP2001294241 A JP 2001294241A JP 2003099409 A JP2003099409 A JP 2003099409A
Authority
JP
Japan
Prior art keywords
data
processing
data processing
circuits
processing device
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
JP2001294241A
Other languages
English (en)
Other versions
JP3921367B2 (ja
Inventor
Takao Toi
崇雄 戸井
Toru Awashima
亨 粟島
Yoshiyuki Miyazawa
義幸 宮沢
Noritsugu Nakamura
典嗣 中村
Taro Fujii
太郎 藤井
Kouichirou Furuta
浩一朗 古田
Masato Motomura
真人 本村
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
NEC Informatec Systems Ltd
Original Assignee
NEC Corp
NEC Informatec Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Informatec Systems Ltd filed Critical NEC Corp
Priority to JP2001294241A priority Critical patent/JP3921367B2/ja
Priority to US10/252,564 priority patent/US7120903B2/en
Publication of JP2003099409A publication Critical patent/JP2003099409A/ja
Application granted granted Critical
Publication of JP3921367B2 publication Critical patent/JP3921367B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】 並列演算装置にマトリクス配列された処理回
路のコンテキストを動作サイクルごとに順次切り換える
オブジェクトコードを一般的な動作記述のソースコード
から生成する。 【解決手段】 事前にデータ登録されている並列演算装
置の物理構造などに対応した制約条件により、データ入
力される並列演算装置の動作記述のソースコードからD
FGを生成してCDFGにスケジューリングし、CDF
GからRTL記述を生成して有限状態マシンをオブジェ
クトコードに変換するとともにデータパスをネットリス
トに変換し、ネットリストからコンテキストごとに処理
回路のオブジェクトコードを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列演算装置のオ
ブジェクトプログラムをデータ生成するデータ処理装置
および方法、そのデータ処理装置のためのコンピュータ
プログラム、このコンピュータプログラムがデータ格納
されている情報記憶媒体、オブジェクトプログラムに対
応して動作する並列演算装置、この並列演算装置とデー
タ処理装置とを具備しているデータ処理システム、に関
する。
【0002】
【従来の技術】現在、各種のデータ処理を自在に実行で
きるプロセッサユニットとしては、いわゆるCPU(Cen
tral Processing Unit)やMPU(Micro Processor Uni
t)と呼称される製品が実用化されている。
【0003】このようなプロセッサユニットを利用した
データ処理システムでは、複数の動作命令が記述された
各種のオブジェクトコードと各種の処理データとがメモ
リデバイスに格納され、プロセッサユニットはメモリデ
バイスから動作命令や処理データを順番にデータ読出し
て複数のデータ処理を逐次実行する。
【0004】このため、一個のプロセッサユニットで各
種のデータ処理を実現できるが、そのデータ処理では複
数のデータ処理を順番に逐次実行する必要があり、その
逐次処理ごとにプロセッサユニットがメモリデバイスか
ら動作命令をデータ読出する必要があるので、複雑なデ
ータ処理を高速に実行することは困難である。
【0005】一方、実行するデータ処理が一つに限定さ
れている場合には、そのデータ処理を実行するように論
理回路をハードウェアで形成すれば、プロセッサユニッ
トがメモリデバイスから複数の動作命令を順番にデータ
読出して複数のデータ処理を順番に逐次実行するような
必要はない。このため、複雑なデータ処理を高速に実行
することが可能であるが、当然ながら一つのデータ処理
しか実行することができない。
【0006】つまり、オブジェクトコードを切換自在と
したデータ処理システムでは、各種のデータ処理を実行
できるが、ハードウェアの構成が固定されているのでデ
ータ処理を高速に実行することが困難である。一方、ハ
ードウェアからなる論理回路では、データ処理を高速に
実行することが可能であるが、オブジェクトコードを変
更できないので一つのデータ処理しか実行できない。
【0007】このような課題を解決するため、本出願人
はソフトウェアに対応してハードウェアの構成が変化す
るプロセッサユニットとして並列演算装置を創案し、特
願2000−043202号として出願した。この並列
演算装置では、小規模の多数の処理回路と配線回路とが
マトリクス配列されており、このマトリクス回路部に状
態管理部が並設されている。
【0008】複数の処理回路は、個々にデータ設定され
る動作命令に対応してデータ処理を個々に実行し、複数
の配線回路は、個々にデータ設定される動作命令に対応
して複数の処理回路の接続関係を個々に切換制御する。
つまり、並列演算装置は複数の処理回路と複数の配線回
路との動作命令を切り換えることでハードウェアの構成
が変化するので、各種のデータ処理を実行することがで
き、ハードウェアとして小規模の多数の処理回路が簡単
なデータ処理を並列に実行するので、データ処理を高速
に実行することができる。
【0009】そして、上述のような複数の処理回路と複
数の配線回路との動作命令からなるコンテキストを状態
管理部がオブジェクトコードに対応して動作サイクルご
とに順次切り換えるので、並列演算装置はオブジェクト
コードに対応して並列処理を連続的に実行することがで
きる。
【0010】なお、このようにコンテキストを複数サイ
クルで順次切り換える並列演算装置としては、例えば、
“Purdue University”の“Lawrence Snyder”が“IEEE
Computer, vol.15, No.1, Jan. 1982, pp47-56”に発
表した“Introduction to theConfigurable, Highly Pa
rallel Computer”や、本出願人が特許出願した“特開
2000−138579号”“特開200−22402
5号”“特開2000−232354号”“特開200
0−232162号”などがある。
【0011】
【発明が解決しようとする課題】上述のような並列演算
装置は、オブジェクトコードに内包されているコンテキ
ストを状態管理部が動作サイクルごとに順次切り換える
ので、マトリクス配列されている複数の処理回路と複数
の配線回路とがコンテキストに対応して動作サイクルご
とに並列動作することができる。
【0012】しかし、このような並列演算装置は構造と
動作との両方が従来のCPUなどとは根本的に相違して
いるため、そのオブジェクトコードをソースコードから
従来の手法で単純にデータ生成することはできず、その
オブジェクトコードをソースコードから適切にデータ生
成する技術は確立されていない。
【0013】本発明は上述のような課題に鑑みてなされ
たものであり、コンテキストを順次切り換える並列演算
装置のオブジェクトプログラムを良好にデータ生成でき
るデータ処理装置および方法、そのデータ処理装置のた
めのコンピュータプログラム、このコンピュータプログ
ラムがデータ格納されている情報記憶媒体、そのオブジ
ェクトプログラムに対応して動作する並列演算装置、こ
の並列演算装置とデータ処理装置とを具備しているデー
タ処理システム、を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明のデータ処理装置
は、ソース入力手段、条件記憶手段、オブジェクト生成
手段、オブジェクト出力手段、を具備しており、並列演
算装置の一連のオブジェクトコードを一連のソースコー
ドからデータ生成する。その並列演算装置は、複数の処
理回路と複数の配線回路とがマトリクス配列されてお
り、複数の処理回路は個々にデータ設定される動作命令
に対応してデータ処理を個々に実行し、複数の配線回路
は個々にデータ設定される動作命令に対応して複数の処
理回路の接続関係を個々に制御する。この並列演算装置
は、複数の処理回路と複数の配線回路との動作命令から
なるコンテキストが動作サイクルごとに切り換わるの
で、これを実現するオブジェクトコードを本発明のデー
タ処理装置がソースコードからデータ生成する。
【0015】本発明のデータ処理装置では、条件記憶手
段に並列演算装置の少なくとも物理構造と物理特性とに
対応した制約条件が事前にデータ登録されており、並列
演算装置の動作記述のソースコードがソース入力手段に
データ入力される。このデータ入力されたソースコード
から制約条件により並列演算装置のコンテキストを動作
サイクルごとに順次切り換える一連のオブジェクトコー
ドをオブジェクト生成手段がデータ生成し、このデータ
生成された一連のオブジェクトコードをオブジェクト出
力手段がデータ出力することにより、並列演算装置の動
作記述のソースコードから、並列演算装置のコンテキス
トを動作サイクルごとに順次切り換えるオブジェクトコ
ードがデータ生成される。
【0016】また、本発明の他の形態としては、並列演
算装置がマトリクス回路部と状態管理部とを別個に具備
しており、複数の処理回路と複数の配線回路とがマトリ
クス配列されているマトリクス回路部のコンテキストを
状態管理部が動作サイクルごとに順次切り換える。この
ような並列演算装置のオブジェクトコードをデータ生成
する本発明の他の形態のデータ処理装置では、オブジェ
クト生成手段が制約条件により一連のソースコードから
一連のオブジェクトコードをデータ生成するときにマト
リクス回路部に対応したデータパスと状態管理部に対応
した有限状態マシンとを分離することにより、並列演算
装置のマトリクス回路部と状態管理部とに別個に対応し
たオブジェクトコードがデータ生成される。
【0017】また、オブジェクト生成手段がグラフ生成
手段とスケジュール生成手段とを具備しており、グラフ
生成手段が一連のソースコードを言語解析してDFGを
データ生成し、このデータ生成されたDFGから制約条
件によりスケジュール生成手段が複数段階の動作状態を
スケジューリングしたCDFGをデータ生成することに
より、並列演算装置の動作記述のソースコードから、そ
の順次遷移する複数段階の動作状態をスケジューリング
したCDFGがデータ生成される。
【0018】また、マトリクス回路部がデータ記憶した
所定個数のコンテキストの一つで対応動作を実行してい
る最中に対応動作が実行されたコンテキストを状態管理
部が新規のコンテキストにデータ更新するようにスケジ
ュール生成手段がCDFGをデータ生成することによ
り、このCDFGからデータ生成されるオブジェクトコ
ードに対応して動作する並列演算装置では、マトリクス
回路部は、オブジェクトコードの多数のコンテキストを
所定個数までデータ記憶して対応動作を順次実行し、状
態管理部は、マトリクス回路部がデータ記憶した所定個
数のコンテキストの一つで対応動作を実行している最中
に対応動作が実行されたコンテキストを新規のコンテキ
ストにデータ更新する。
【0019】また、スケジュール生成手段でデータ生成
されたCDFGから制約条件により記述生成手段が複数
段階の動作状態のRTL記述をマトリクス回路部と状態
管理部とに分離してデータ生成することにより、並列演
算装置のRTL記述がマトリクス回路部と状態管理部と
に別個に対応してデータ生成される。
【0020】また、記述生成手段でデータ生成されたマ
トリクス回路部のRTL記述からリスト生成手段が複数
段階の動作状態ごとに制約条件により処理回路のネット
リストをデータ生成することにより、並列演算装置の処
理回路のネットリストが順次遷移する複数段階の動作状
態ごとにデータ生成される。
【0021】また、並列演算装置は、複数の処理回路の
各々が処理データのビット数が相互に相違する複数種類
の回路資源を具備しており、データ処理装置は、記述生
成手段でデータ生成されたマトリクス回路部のRTL記
述から複数段階の動作状態ごとにリスト生成手段が制約
条件により処理回路の複数種類の回路資源のネットリス
トをデータ生成することにより、並列演算装置の処理回
路のネットリストがビット数の相違する複数種類の回路
資源ごとにデータ生成される。
【0022】また、複数段階の動作状態に対応した状態
管理部のオブジェクトコードがオブジェクト記憶手段に
事前にデータ登録されており、リスト生成手段でデータ
生成されたマトリクス回路部のネットリストに対応して
記述生成手段でデータ生成された状態管理部のRTL記
述を状態変換手段がオブジェクトコードにデータ変換
し、このデータ変換された状態管理部のオブジェクトコ
ードをオブジェクト出力手段がデータ出力することによ
り、状態管理部のオブジェクトコードがマトリクス回路
部のネットリストに対応してデータ生成される。
【0023】また、並列演算装置は、複数の処理回路の
各々に処理データがmbデータのmb回路資源とnbデ
ータのnb回路資源とを具備しており、データ処理装置
は、RTL記述からリスト生成手段が制約条件により処
理回路のm/nb回路資源のネットリストをデータ生成
することにより、並列演算装置の処理回路のネットリス
トがm/nb回路資源ごとにデータ生成される。
【0024】また、リスト生成手段は、RTL記述の
“xb”のデータ処理を“x=Ym+Zn”なるY個の
mb回路資源とZ個のnb回路資源とに割り付けること
により、“xb”のデータ処理がm/nb回路資源に適
正な個数ずつ割り付けられる。
【0025】また、リスト生成手段が“x”を“m”で
除算した結果の整数部分“Y”を算出してから、その余
数を“n”で除算した結果の整数“Z”を算出すること
により、“xb”のデータ処理はビット数が多数のmb
回路資源に極力割り付けられ、余数部分のみビット数が
少数のnb回路資源に割り付けられる。
【0026】また、リスト生成手段は余数が所定の閾値
より少数の場合に整数“Z”を算出して余数が閾値以上
の場合は“Y”に“1”を加算して“Z=0”とするこ
とにより、mb回路資源に極力割り付けられた“xb”
のデータ処理の余数部分が、ビット数に対応してm/n
b回路資源の適切な一方に割り付けられる。
【0027】また、条件記憶手段にデータ登録されてい
る制約条件の“nb”が“1(bit)”からなることによ
り、mb回路資源に割り付けられた“xb”のデータ処
理の余数部分が何ビットであってもnb回路資源に割り
付けられる。
【0028】また、オブジェクト記憶手段に処理回路の
各種のオブジェクトコードも事前にデータ登録されてお
り、リスト生成手段でデータ生成されたネットリストを
処理配置手段がマトリクス配列されている複数の処理回
路に複数サイクルのコンテキストごとに割り付け、この
処理回路に割り付けられたネットリストをコード変換手
段が対応するオブジェクトコードにデータ変換すること
により、並列演算装置の複数の処理回路のオブジェクト
コードが複数サイクルのコンテキストごとにデータ生成
される。
【0029】また、オブジェクト記憶手段に配線回路の
オブジェクトコードも事前にデータ登録されており、コ
ード変換手段でデータ変換された処理回路のオブジェク
トコードに対応して配線変換手段が配線回路のネットリ
ストを対応するオブジェクトコードにデータ変換するこ
とにより、並列演算装置の複数の処理回路の接続関係を
個々に切換制御する複数の配線回路のオブジェクトコー
ドもデータ生成される。
【0030】また、並列演算装置は、複数の処理回路の
各々がレジスタファイルを具備しており、そのレジスタ
ファイルが処理回路の処理データを一時保持する。デー
タ処理装置は、連続する複数サイクルのコンテキストで
処理データが連携するネットリストを処理配置手段がマ
トリクス回路部の一定位置のレジスタファイルに共通に
割り付けることにより、並列演算装置の連続する複数サ
イクルのコンテキストで連携する処理データを一定位置
のレジスタファイルに一時保持させるオブジェクトコー
ドがデータ生成される。
【0031】また、処理配置手段が最初に複数サイクル
のコンテキストごとに処理データの連携に関係なくネッ
トリストをレジスタファイルなどに割り付けてから、こ
の割付位置を調整して処理データが連携するネットリス
トが割り付けられたレジスタファイルの連続する複数サ
イクルのコンテキストでの位置を一致させることによ
り、また、処理配置手段が最初に複数サイクルのコンテ
キストで処理データが連携するネットリストが共通に割
り付けられるレジスタファイルのマトリクス回路部での
位置を固定してから、他のネットリストを他のレジスタ
ファイルなどに複数サイクルのコンテキストごとに割り
付けることにより、また、処理配置手段が最初に複数サ
イクルのコンテキストで処理データが連携するネットリ
ストが共通に割り付けられるレジスタファイルのマトリ
クス回路部での相対位置を設定してから、この相対位置
を維持したまま他のネットリストを他のレジスタファイ
ルなどに複数サイクルのコンテキストごとに割り付ける
ことにより、連携する処理データを一定位置のレジスタ
ファイルに一時保持させるオブジェクトコードのデータ
生成が所定のデータ処理で実行される。
【0032】また、順次遷移する複数段階の動作状態か
ら状態検出手段が制約条件により一つのコンテキストに
割り付けられる複数を検出し、この検出された複数の動
作状態を状態合成手段が一つのコンテキストに割り付け
ることにより、複数の動作状態が一つのコンテキストと
して並列演算装置に一度にデータ設定される。
【0033】また、遷移段階が連続している複数の動作
状態を状態検出手段が検出することにより、連続する複
数の動作状態が一つのコンテキストとして並列演算装置
にデータ設定される。
【0034】本発明の第一の並列演算装置は、マトリク
ス配列されている複数の処理回路が個々に設定自在なデ
ータ処理で並列動作し、そのコンテキストがコード格納
手段にデータ格納されているオブジェクトコードに対応
して動作サイクルごとに順次切り換わる。このコード格
納手段に本発明のデータ処理装置でデータ生成されたオ
ブジェクトコードがデータ格納されていることにより、
このデータ格納されているオブジェクトコードに対応し
て複数サイクルのコンテキストが順次切り換わる。
【0035】本発明の第二の並列演算装置は、マトリク
ス配列されている複数の処理回路が個々に設定自在なデ
ータ処理で並列動作し、そのコンテキストがオブジェク
ト入力手段に外部入力されるオブジェクトコードに対応
して動作サイクルごとに順次切り換わる。このオブジェ
クト入力手段に本発明のデータ処理装置でデータ生成さ
れたオブジェクトコードが外部入力されることにより、
この外部入力されるオブジェクトコードに対応して複数
サイクルのコンテキストが順次切り換わる。
【0036】本発明の第一のデータ処理システムでは、
本発明のデータ処理装置でデータ生成されたオブジェク
トコードが本発明の並列演算装置に外部入力されること
により、データ処理装置に外部入力されるソースコード
に対応して並列演算装置が順次切り換わる複数サイクル
のコンテキストで並列演算を実行する。
【0037】本発明の第二のデータ処理システムでは、
並列演算装置がマトリクス回路部と状態管理部とを別個
に具備しており、データ処理装置がソースコードからデ
ータパスと有限状態マシンとを分離してオブジェクトコ
ードをデータ生成する。そのデータパスとマトリクス回
路部とが対応しているとともに有限状態マシンと状態管
理部とが対応していることにより、並列演算装置のハー
ドウェア構造に対応したソフトウェア構造にオブジェク
トコードがデータ処理装置でデータ生成される。
【0038】また、本発明で云う各種手段は、その機能
を実現するように形成されていれば良く、例えば、所定
の機能を発揮する専用のハードウェア、所定の機能がコ
ンピュータプログラムにより付与されたデータ処理装
置、コンピュータプログラムによりデータ処理装置の内
部に実現された所定の機能、これらの組み合わせ、等を
許容する。また、本発明で云う各種手段は、個々に独立
した存在である必要もなく、ある手段が他の手段の一部
であるようなことも許容する。
【0039】また、本発明で云う情報記憶媒体とは、デ
ータ処理装置に各種処理を実行させるためのコンピュー
タプログラムが事前に格納されたハードウェアであれば
良く、例えば、データ処理装置を一部とする装置に固定
されているROM(Read OnlyMemory)やHDD(Hard Dis
c Drive)、データ処理装置を一部とする装置に交換自在
に装填されるCD(Compact Disc)−ROMやFD(Flopp
y Disc)、等を許容する。
【0040】また、本発明で云うデータ処理装置とは、
コンピュータプログラムをデータ読取して対応するデー
タ処理を実行できるハードウェアであれば良く、例え
ば、CPU(Central Processing Unit)を主体として、
これにROMやRAM(Random Access Memory)やI/F
(Interface)ユニット等の各種デバイスが接続されたハ
ードウェアなどを許容する。
【0041】なお、本発明でコンピュータプログラムに
対応した各種動作をデータ処理装置に実行させること
は、各種デバイスをデータ処理装置に動作制御させるこ
となども許容する。例えば、データ処理装置に各種デー
タをデータ保存させることは、データ処理装置が一部と
して具備しているRAM等の情報記憶媒体に各種データ
を格納すること、データ処理装置に交換自在に装填され
ているFD等の情報記憶媒体に各種データを格納するこ
と、等を許容する。
【0042】
【発明の実施の形態】本発明の実施の一形態を図面を参
照して以下に説明する。まず、本形態の並列演算装置で
あるアレイ型プロセッサ100は、図4および図5(a)
に示すように、オブジェクト入力手段であるI/Fユニ
ット101、コード格納手段であるコードメモリ10
2、状態管理部103、データ分配部104、マトリク
ス回路部105、データメモリ106、を具備してお
り、マトリクス回路部105には、複数の処理回路であ
るプロセッサエレメント107、複数の配線回路である
スイッチエレメント108、多数のmbバス109、多
数のnbバス110、等がマトリクス配列されている。
【0043】また、同図(b)に示すように、プロセッサ
エレメント107は、インストラクションメモリ11
1、インストラクションデコーダ112、mb回路資源
であるmbレジスタファイル113、nb回路資源であ
るnbレジスタファイル114、mb回路資源でありm
b演算器であるmbALU115、nb回路資源であり
nb演算器であるnbALU116、内部配線資源11
7、等を各々具備しており、スイッチエレメント108
は、バスコネクタ121、入力制御回路122、出力制
御回路123、等を各々具備している。
【0044】I/Fユニット101は、後述するデータ
処理装置300が接続され、このデータ処理装置300
から一連のオブジェクトコードが外部入力される。コー
ドメモリ102は、RAM等の情報記憶媒体からなり、
外部入力されたオブジェクトコードをデータ記憶する。
【0045】このオブジェクトコードは、詳細には後述
するが、マトリクス回路部105にマトリクス配列され
た複数のプロセッサエレメント107と複数のスイッチ
エレメント108との動作命令が、順次切り換わる動作
サイクルごとのコンテキストとしてデータ設定されてお
り、このコンテキストを動作サイクルごとに切り換える
状態管理部103の動作命令が、順次遷移する動作状態
としてデータ設定されている。
【0046】この状態管理部103は、コードメモリ1
02でデータ記憶された一連のオブジェクトコードから
動作サイクルごとにコンテキストをデータ読出し、その
動作命令から複数のプロセッサエレメント107と複数
のスイッチエレメント108とのインストラクションポ
インタを各々発生する。
【0047】本形態ではスイッチエレメント108のイ
ンストラクションメモリが隣接するプロセッサエレメン
ト107のインストラクションメモリ111で兼用され
ているので、状態管理部103は、発生したプロセッサ
エレメント107とスイッチエレメント108との一組
のインストラクションポインタを対応するプロセッサエ
レメント107のインストラクションメモリ111に供
給する。
【0048】このインストラクションメモリ111はプ
ロセッサエレメント107とスイッチエレメント108
との複数の動作命令が事前に格納されており、状態管理
部103から供給される二つのインストラクションポイ
ンタでプロセッサエレメント107とスイッチエレメン
ト108との動作命令が指定される。インストラクショ
ンデコーダ112は、インストラクションポインタで指
定された動作命令をデコードし、スイッチエレメント1
08、内部配線資源117、m/nbALU115,1
16、等の動作を制御する。
【0049】mbバス109は“8(bit)”の処理デー
タであるmbデータを伝送し、nbバス110は“1(b
it)”の処理データであるnbデータを伝送するので、
スイッチエレメント108は、インストラクションデコ
ーダ112の動作制御に対応してm/nbバス109,
110による複数のプロセッサエレメント107の接続
関係を制御する。
【0050】より詳細には、スイッチエレメント108
のバスコネクタ121は、mbバス109とnbバス1
10とが四方から連通しており、このように連通してい
る複数のmbバス109の相互の接続関係と連通する複
数のnbバス110の相互の接続関係とを制御する。
【0051】このため、本形態のアレイ型プロセッサ1
00は、コードメモリ102にデータ設定されたオブジ
ェクトコードに対応して状態管理部103がマトリクス
回路部105のコンテキストを動作サイクルごとに順次
切り換え、その段階ごとに複数のプロセッサエレメント
107は個々に設定自在なデータ処理で並列動作する。
【0052】なお、ここでは説明を簡略化するために各
部が平面状に配列されている構造を例示しているが、実
際には、上述のm/nbバス109,110とスイッチ
エレメント108とプロセッサエレメント107とを積
層構造で重複させて形成するようなことも可能である。
【0053】入力制御回路122は、mbバス109か
らmbレジスタファイル113やmbALU115への
データ入力の接続関係と、nbバス110からnbレジ
スタファイル114やnbALU116へのデータ入力
の接続関係とを制御し、出力制御回路123は、mbレ
ジスタファイル113やmbALU115からmbバス
109へのデータ出力の接続関係と、nbレジスタファ
イル114やnbALU116からnbバス110への
データ出力の接続関係とを制御する。
【0054】データ分配部104は、外部入力される一
連の処理データをmbデータとnbデータとに分配し、
このm/nbデータをスイッチエレメント108により
接続関係が制御されたm/nbバス109,110から
複数のプロセッサエレメント107の特定の一部に適宜
入力する。
【0055】このプロセッサエレメント107の内部配
線資源117は、インストラクションデコーダ112の
動作制御に対応して、プロセッサエレメント107の内
部でのmbレジスタファイル113およびmbALU1
15の接続関係とnbレジスタファイル114およびn
bALU116の接続関係とを制御する。
【0056】mbレジスタファイル113は、内部配線
資源117に制御される接続関係に対応して、mbバス
109などから入力されるmbデータを一時保持してm
bALU115などに出力する。nbレジスタファイル
114は、内部配線資源117に制御される接続関係に
対応して、nbバス110などから入力されるnbデー
タを一時保持してnbALU116などに出力する。
【0057】mbALU115は、インストラクション
デコーダ112の動作制御に対応したデータ処理をmb
データで実行し、nbALU116は、インストラクシ
ョンデコーダ112の動作制御に対応したデータ処理を
nbデータで実行する。なお、プロセッサエレメント1
07は、上述のように内蔵されているm/nbレジスタ
ファイル113,114でm/nbデータをデータ読書
するが、必要により外部のデータメモリ106でも処理
データをデータ読書する。
【0058】そして、本形態のアレイ型プロセッサ10
0を一部とした本形態のデータ処理システム200は、
図1に示すように、アレイ型プロセッサ100、データ
処理装置300、ソース供給手段201、オブジェクト
供給手段202、データ入力手段203、等を具備して
いる。
【0059】また、本形態のデータ処理装置300は、
図3に示すように、コンピュータの主体となるハードウ
ェアとしてCPU301を具備しており、このCPU3
01には、バスライン302により、ROM303、R
AM304、HDD305、FD306が交換自在に装
填されるFDD(FD Drive)307、CD−ROM308
が交換自在に装填されるCDドライブ309、キーボー
ド310、マウス311、ディスプレイ312、I/F
ユニット313、等のハードウェアが接続されている。
【0060】本形態のデータ処理装置300では、RO
M303、RAM304、HDD305、交換自在なF
D306、交換自在なCD−ROM308、等のハード
ウェアが情報記憶媒体に相当し、これらの少なくとも一
個にCPU301のためのコンピュータプログラムや各
種データがソフトウェアとして格納されている。
【0061】例えば、CPU301に各種のデータ処理
を実行させるコンピュータプログラムは、FD306や
CD−ROM308に事前に格納されている。このよう
なソフトウェアはHDD305に事前にインストールさ
れており、データ処理装置300の起動時にRAM30
4に複写されてCPU301にデータ読取される。
【0062】このようにCPU301が適正なコンピュ
ータプログラムをデータ読取して各種のデータ処理を実
行することにより、本形態のデータ処理装置300は、
図1に示すように、ソース入力手段211、条件記憶手
段212、オブジェクト生成手段213、オブジェクト
出力手段214、等の各種手段を各種機能として論理的
に具備している。
【0063】データ処理システム200のソース供給手
段201は、例えば、ソースコードが格納されたFD3
06からなり、C言語などの高級言語でアレイ型プロセ
ッサ100が動作記述された一連のソースコードをデー
タ処理装置300のソース入力手段211に供給する。
【0064】このデータ処理装置300のソース入力手
段211は、RAM304に格納されているコンピュー
タプログラムに対応してCPU301がFDD307を
動作制御する機能などに相当し、ソース供給手段201
からソースコードがデータ入力される。
【0065】条件記憶手段212は、上述のコンピュー
タプログラムに対応してCPU301がデータ認識する
HDD305の記憶エリアなどに相当し、アレイ型プロ
セッサ100の物理構造や物理特性などに対応した各種
の制約条件が事前にデータ登録されている。
【0066】オブジェクト生成手段213は、CPU3
01がコンピュータプログラムに対応して所定のデータ
処理を実行する機能などに相当し、ソース入力手段21
1にデータ入力されたソースコードから条件記憶手段2
12の制約条件により、アレイ型プロセッサ100のマ
トリクス回路部105のコンテキストを順次切り換える
一連のオブジェクトコードをデータ生成する。
【0067】なお、オブジェクト生成手段213は、前
述のようにアレイ型プロセッサ100に状態管理部10
3とマトリクス回路部105とが別個に形成されている
ので、この構造を反映した制約条件によりソースコード
からオブジェクトコードをデータ生成するとき、図4に
示すように、マトリクス回路部105に対応したデータ
パスと状態管理部103に対応した有限状態マシンとを
分離する。
【0068】また、詳細には後述するが、オブジェクト
生成手段213は多段階の各種処理によりソースコード
からオブジェクトコードをデータ生成し、その多段階の
各種処理で条件記憶手段212から必要な制約条件を適
宜参照するので、この条件記憶手段212にはオブジェ
クト生成手段213の各種処理に必要充分なデータ内容
で各種の制約条件がデータ設定されている。
【0069】オブジェクト出力手段214は、CPU3
01がコンピュータプログラムに対応してI/Fユニッ
ト313のデータ出力を制御する機能などに相当し、オ
ブジェクト生成手段213でデータ生成された一連のオ
ブジェクトコードをデータ処理システム200のオブジ
ェクト供給手段202にデータ出力する。
【0070】このオブジェクト供給手段202は、デー
タ処理装置300のI/Fユニット313とアレイ型プ
ロセッサ100の状態管理部103とを接続した接続コ
ネクタ(図示せず)などに相当し、データ処理装置300
がデータ出力するオブジェクトコードをアレイ型プロセ
ッサ100のI/Fユニット101にデータ入力する。
【0071】このアレイ型プロセッサ100のI/Fユ
ニット101には、前述のようにコードメモリ102が
接続されているので、このコードメモリ102でオブジ
ェクトコードがデータ保持される。データ入力手段20
3は、例えば、所定のデータ発生回路(図示せず)からな
り、一連の処理データを発生してアレイ型プロセッサ1
00のデータ分配部104に入力する。
【0072】本形態のデータ処理装置300のオブジェ
クト生成手段213は、図2に示すように、グラフ生成
手段221、スケジュール生成手段222、記述生成手
段223、リスト生成手段224、オブジェクト記憶手
段225、状態変換手段226、処理配置手段227、
コード変換手段228、配線変換手段229、等の各種
手段からなる。
【0073】グラフ生成手段221は、前述のC言語な
どで記述された一連のソースコードを言語解析してDF
Gをデータ生成し、スケジュール生成手段222は、グ
ラフ生成手段221でデータ生成されたDFGから所定
の制約条件により、図6に示すように、アレイ型プロセ
ッサ100の順次遷移する複数段階の動作状態をスケジ
ューリングしたCDFGをデータ生成する。
【0074】より詳細には、図7に示すように、例え
ば、ソースコードに処理データが連携する複数のデータ
処理が記述されているとき、図8に示すように、その複
数のデータ処理が因果関係に対応して連携されたDFG
が既存の手法でデータ生成される。
【0075】このようなDFGからCDFGがデータ生
成されるとき、アレイ型プロセッサ100のプロセッサ
エレメント107の個数やm/nbデータバス109,
110の遅延時間などが制約条件として参照され、図9
(a)に示すように、これに対応してDFGの複数のデー
タ処理が順次遷移する複数段階の動作状態に順番にスケ
ジューリングされる。
【0076】このようにDFGの複数のノードが順番に
スケジューリングされるとき、一つの動作状態で一度に
並列実行される複数のデータ処理の個数が、制約条件で
あるプロセッサエレメント107の個数を超過する場
合、その超過するデータ処理は次段の動作状態に移行さ
れる。
【0077】また、一つの動作状態で一度に連続実行さ
れる複数のデータ処理の累積時間が制約条件である動作
状態のクロック間隔を超過する場合、そのクロック間隔
を超過するデータ処理から以後のデータ処理は次段の動
作状態に移行される。同様に、ある動作状態で連続に実
行される複数のデータ処理に、ポート入力/出力、メモ
リアクセスや複数サイクル演算、などのように動作サイ
クルを跨ぐデータ処理が存在する場合、そのデータ処理
が発生する時点で動作状態は次段に移行される。
【0078】ここで、上述の演算個数とプロセッサエレ
メント107の個数との対比で動作状態を移行させるス
ケジューリングを以下に具体的に説明する。まず、本形
態のアレイ型プロセッサ100がプロセッサエレメント
107を二個だけ具備しており、比較対象とする従来の
アレイ型プロセッサ(図示せず)が加算器と減算器とを一
個ずつ具備していると想定する。
【0079】この場合、従来のアレイ型プロセッサは、
一つの動作状態で一つの加算処理と一つの減算処理とを
並列実行できるが、一つの動作状態で二つの加算処理や
二つの減算処理を並列実行することはできない。一方、
本形態のアレイ型プロセッサ100は、一つの動作状態
で二つのデータ処理を並列実行することができ、その二
つのデータ処理としては加算処理や減算処理などを自在
に設定することができる。
【0080】そして、図8に示すように、DFGに二つ
の加算処理が並列に存在し、これらの加算処理の出力デ
ータを入力データとする二つの減算処理が並列に存在す
る場合、従来のアレイ型プロセッサへのスケジューリン
グ処理では、図9(b)に示すように、第一状態で第一の
加算処理を実行し、第二状態で第一の減算処理と第二の
加算処理とを並列実行し、第三状態で第二の減算処理を
実行するようにCDFGがデータ生成される。
【0081】一方、本形態のデータ処理装置300によ
る本形態のアレイ型プロセッサ100へのスケジューリ
ング処理では、同図(a)に示すように、第一状態に二個
のプロセッサエレメント107で第一第二の加算処理を
並列実行し、第二状態に第一第二の減算処理を並列実行
するようにCDFGがデータ生成される。
【0082】さらに、CDFGが制約条件であるポート
入力に対応してスケジューリングされるとともに、制約
条件である遅延時間に対応してスケジューリングされる
場合を以下に簡単に説明する。まず、制約条件として一
つの動作状態にポート入力が一つしか存在しない場合、
図10に示すように、ソースコードに複数のポート入力
が記述されていると、図11に示すように、ソースコー
ドの第一行目と第三行目とのポート入力はCDFGで別
個の動作状態にスケジューリングされる。
【0083】また、一つの動作状態に許容される遅延時
間が“30(nsec)”、加算処理の所要時間が“10(nse
c)”、乗算処理の所要時間が“20(nsec)”、の場合、図
10に示すように、ソースコードの第二行目に一つの加
算処理と二つの乗算処理とが記述されていると、図11
に示すように、その一つの加算処理と第一の乗算処理と
は一つの動作状態にスケジューリングされるが、第二の
乗算処理は次段の動作状態にスケジューリングされる。
【0084】なお、本形態のアレイ型プロセッサ100
は、実際には前述のようにプロセッサエレメント107
が演算器として8ビットのALU115と1ビットのA
LU116のみ具備しているので、32ビットの一つの
データ処理などは制約条件により四個の8ビットのAL
U115で並列実行される。
【0085】この場合、一つの動作状態にスケジューリ
ングされた32ビットの一つのデータ処理に対応して制
約条件である8ビットのALU115の個数から四個が
減算されるので、例えば、これが不足する場合には32
ビットの一つのデータ処理は次段の動作状態に移行され
る。
【0086】また、本形態ではプロセッサエレメント1
07の各々がm/nbALU115,116を具備して
いるので、これに対応した制約条件により演算処理はm
bALU115とnbALU116とに配分されてスケ
ジューリングされる。さらに、プロセッサエレメント1
07にm/nbALU115,116以外にデータ処理
を実行する回路資源が存在する場合、これも制約条件に
組み込まれてスケジューリングに利用される。
【0087】記述生成手段223は、スケジュール生成
手段222でデータ生成されたCDFGから、所定の制
約条件により複数段階の動作状態のRTL記述をマトリ
クス回路部105と状態管理部103とに分離してデー
タ生成する。このとき、プロセッサエレメント107や
スイッチエレメント108の処理能力などが制約条件と
して参照され、図9(a)および図12に示すように、デ
ータ処理やデータ転送を実行するm/nbALU11
5,116などが割り付けられる。
【0088】ただし、この時点での割り付けは、どの処
理がアレイ型プロセッサ100のどの種類の回路資源に
より実行されるかを区分するに留まり、どのデータ処理
をどのm/nbALU115,116が実行するかを決
定することはなく、複数段階の動作状態で連携する処理
データをデータ保持するm/nbレジスタファイル11
3,114の位置を決定することもない。また、この割
り付けではトライアンドエラーなどにより、複数段階の
動作状態ごとに使用する回路資源が最少となる組み合わ
せがデータ生成される。
【0089】リスト生成手段224は、記述生成手段2
23でデータ生成されたマトリクス回路部105のRT
L記述から所定の制約条件により、複数段階の動作状態
ごとのプロセッサエレメント107のネットリストを、
図13に示すように、m/nbALU115,116な
どのm/nb回路資源ごとにデータ生成する。
【0090】より具体的には、RTL記述に“mb”よ
り多数の“xb(x-(bit)”のデータ処理が存在する場
合、リスト生成手段224は、“x”を“m”で除算し
た結果の整数部分“Y”を算出してから、その余数を
“n”で除算した結果の整数“Z”を算出する。これで
“x=Ym+Zn”を満足する自然数“Y”と“Z”と
を検出し、“xb”のデータ処理をY個のmbALU1
15およびmbレジスタファイル113とZ個のnbA
LU116およびnbレジスタファイル114とに割り
付ける。
【0091】オブジェクト記憶手段225は、CPU3
01がデータ認識するHDD305の記憶エリアなどに
相当し、状態管理部103の複数段階の動作状態に対応
した各種のオブジェクトコードと、マトリクス回路部1
05のプロセッサエレメント107やスイッチエレメン
ト108の各種のオブジェクトコードと、が事前にデー
タ登録されている。
【0092】状態変換手段226は、リスト生成手段2
24でデータ生成されたマトリクス回路部105のネッ
トリストに対応して、記述生成手段223でデータ生成
された状態管理部103のRTL記述を対応するオブジ
ェクトコードにデータ変換する。
【0093】処理配置手段227は、リスト生成手段2
24で複数段階の動作状態ごとにデータ生成されたマト
リクス回路部105のネットリストを、マトリクス配列
されている複数のプロセッサエレメント107に複数サ
イクルのコンテキストごとに割り付ける。
【0094】このとき、処理配置手段227は、図14
に示すように、最初に複数サイクルのコンテキストごと
に処理データの連携に関係なくネットリストをm/nb
レジスタファイル113,114などに割り付けてか
ら、この割付位置を調整して処理データが連携するネッ
トリストが割り付けられたm/nbレジスタファイル1
13,114の連続する複数サイクルのコンテキストで
の位置を一致させることにより、図15に示すように、
連続する複数サイクルのコンテキストで処理データが連
携するネットリストをマトリクス回路部105の一定位
置のm/nbレジスタファイル113,114に共通に
割り付ける。
【0095】その場合、連続する複数サイクルのコンテ
キストで処理データが連携するm/nbレジスタファイ
ル113,114のネットリストは、同一の名称が付与
されることで連携が表現される。また、上述のコンテキ
ストごとでのネットリストの配置と、複数のコンテキス
トでのネットリストの配置とは、例えば、シミュレーテ
ッド・アニーリング手法などの既存の反復改良アルゴリ
ズムを適用することにより、反復処理で最適化される。
【0096】ただし、この処理配置手段227でのネッ
トリストの配置はコンテキストごとに実行され、あるコ
ンテキストに配置できないネットリストを他のコンテキ
ストに移行させる処理などは実行されない。このため、
あるコンテキストに必要なネットリストの全部を配置で
きない事態が処理配置手段227で発生すると、例え
ば、これを処理配置手段227がスケジュール生成手段
222にデータ通知することにより、その通知データも
制約条件としてスケジュール生成手段222がCDFG
を再度生成する。
【0097】また、ここでは説明を簡単とするために一
個のm/nbレジスタファイル113,114がm/n
bデータを一つだけ一時保持する場合を例示している
が、例えば、m/nbレジスタファイル113,114
が相違するアドレスで複数のm/nbデータを独立にデ
ータ読書できる場合には、一つのコンテキストでデータ
書込とデータ読出とが同時に発生しないならば一個のm
/nbレジスタファイル113,114が複数のコンテ
キストで複数のm/nbデータをデータ読書することが
可能である。
【0098】コード変換手段228は、処理配置手段2
27でプロセッサエレメント107に割り付けられたネ
ットリストを対応するオブジェクトコードにデータ変換
し、配線変換手段229は、コード変換手段228でデ
ータ変換されたプロセッサエレメント107のオブジェ
クトコードに対応してスイッチエレメント108のネッ
トリストをオブジェクトコードにデータ変換する。
【0099】上述したデータ処理装置300の各種手段
は、必要によりFDD307やI/Fユニット312等
のハードウェアを利用して実現されるが、その主体はR
AM304等の情報記憶媒体に格納されたソフトウェア
に対応して、データ処理装置300のハードウェアであ
るCPU301が機能することにより実現されている。
【0100】このようなソフトウェアは、例えば、アレ
イ型プロセッサ100の物理構造や物理特性などに対応
した各種の制約条件をHDD305などにデータ記憶さ
せる処理、FD306の格納データをFDD107にデ
ータ読出させることなどでアレイ型プロセッサ100の
動作記述のソースコードをデータ入力する処理、このデ
ータ入力されたソースコードから制約条件によりアレイ
型プロセッサ100のオブジェクトコードをデータ生成
する処理、このデータ生成されたオブジェクトコードを
I/Fユニット313などからデータ出力する処理、等
のデータ処理をCPU301等に実行させるためのコン
ピュータプログラムとしてRAM304等の情報記憶媒
体に格納されている。
【0101】さらに、上述のソースコードからオブジェ
クトコードをデータ生成するデータ処理のソフトウェア
は、状態管理部103のオブジェクトコードとマトリク
ス回路部105のオブジェクトコードとをHDD305
などにデータ記憶させる処理、C言語などで記述された
一連のソースコードを言語解析してDFGをデータ生成
する処理、このデータ生成されたDFGから所定の制約
条件によりアレイ型プロセッサ100の順次遷移する複
数段階の動作状態をスケジューリングしたCDFGをデ
ータ生成する処理、このデータ生成されたCDFGから
所定の制約条件により複数段階の動作状態のRTL記述
をマトリクス回路部105と状態管理部103とに分離
してデータ生成する処理、このデータ生成されたマトリ
クス回路部105のRTL記述から所定の制約条件によ
り複数段階の動作状態ごとのプロセッサエレメント10
7のネットリストをm/nbALU115,116など
のm/nb回路資源ごとにデータ生成する処理、このデ
ータ生成されたマトリクス回路部105のネットリスト
に対応して状態管理部103のRTL記述を対応するオ
ブジェクトコードにデータ変換する処理、複数段階の動
作状態ごとにデータ生成されたマトリクス回路部105
のネットリストをマトリクス配列されている複数のプロ
セッサエレメント107に複数サイクルのコンテキスト
ごとに割り付ける処理、このプロセッサエレメント10
7に割り付けられたネットリストを対応するオブジェク
トコードにデータ変換する処理、このデータ変換された
プロセッサエレメント107のオブジェクトコードに対
応してスイッチエレメント108のネットリストをオブ
ジェクトコードにデータ変換する処理、等のデータ処理
をCPU301等に実行させるためのコンピュータプロ
グラムとしてRAM304等の情報記憶媒体に格納され
ている。
【0102】なお、上述のようなコンピュータプログラ
ムは、例えば、CD−ROM108などの情報記憶媒体
にデータ格納されてデータ処理装置300にデータ供給
されるが、その情報記憶媒体には条件記憶手段212の
制約条件やオブジェクト記憶手段225のオブジェクト
コードも構造データとしてデータ格納することが可能で
ある。
【0103】上述のような構成において、本形態のデー
タ処理システム200では、アレイ型プロセッサ100
の動作記述のソースコードがソース供給手段201から
データ処理装置300にデータ供給されると、このデー
タ処理装置300はソースコードをオブジェクトコード
に変換してアレイ型プロセッサ100にデータ供給す
る。
【0104】このアレイ型プロセッサ100はデータ供
給されたオブジェクトコードをデータ記憶するので、こ
の状態でデータ入力手段203から一連の処理データが
入力されると、その入力された処理データをオブジェク
トコードに対応してデータ処理する。
【0105】より詳細には、本形態のデータ処理装置3
00には、アレイ型プロセッサ100の物理構造や物理
特性などに対応した各種の制約条件と、状態管理部10
3やプロセッサエレメント107やスイッチエレメント
108の各種のオブジェクトコードと、がデータ登録さ
れる。
【0106】このような状態で、本形態のデータ処理装
置300では、図16に示すように、C言語などでアレ
イ型プロセッサ100が動作記述された一連のソースコ
ードがデータ入力されると(ステップS1)、図7および
図8に示すように、そのソースコードが言語解析されて
DFGがデータ生成される(ステップS2)。
【0107】つぎに、アレイ型プロセッサ100のプロ
セッサエレメント107の個数やm/nbデータバス1
09,110の遅延時間などが、DFGからCDFGを
データ生成するための制約条件としてデータ読出され
(ステップS3)、図6および図9(a)に示すように、こ
の制約条件によりDFGからアレイ型プロセッサ100
の順次遷移する複数段階の動作状態をスケジューリング
したCDFGがデータ生成される(ステップS4)。
【0108】つぎに、プロセッサエレメント107やス
イッチエレメント108の処理能力などが、CDFGか
らRTL記述をデータ生成するための制約条件としてデ
ータ読出され(ステップS5)、図12に示すように、こ
の制約条件によりCDFGのデータ処理にm/nbAL
U115,116などが割り付けられ、複数段階の動作
状態のRTL記述がマトリクス回路部105と状態管理
部103とに分離されてデータ生成される(ステップS
6)。
【0109】つぎに、m/nbレジスタファイル11
3,114やm/nbALU115,116のビット数
などが、RTL記述からネットリストをデータ生成する
ための制約条件としてデータ読出され(ステップS7)、
図13に示すように、この制約条件によりマトリクス回
路部105のRTL記述から複数段階の動作状態ごとの
プロセッサエレメント107のネットリストがm/nb
ALU115,116などのm/nb回路資源ごとにデ
ータ生成される(ステップS8)。
【0110】このように複数段階の動作状態ごとにマト
リクス回路部105のネットリストがデータ生成される
と、これに対応して状態管理部103のRTL記述が対
応するオブジェクトコードにデータ変換されるので(ス
テップS9)、これで状態管理部103のオブジェクト
コードがデータ生成される。
【0111】つぎに、複数段階の動作状態ごとにデータ
生成されたマトリクス回路部105のネットリストが、
マトリクス配列されている複数のプロセッサエレメント
107に複数サイクルのコンテキストごとに割り付けら
れ(ステップS10)、このプロセッサエレメント107
に割り付けられたネットリストが対応するオブジェクト
コードにデータ変換されるので(ステップS11)、これ
でプロセッサエレメント107のオブジェクトコードが
データ生成される。
【0112】このようにプロセッサエレメント107の
オブジェクトコードがデータ生成されると、これに対応
してスイッチエレメント108のネットリストがオブジ
ェクトコードにデータ変換される(ステップS12)。こ
れでスイッチエレメント108のオブジェクトコードも
データ生成されるので、状態管理部103とプロセッサ
エレメント107とスイッチエレメント108とに対応
したアレイ型プロセッサ100のオブジェクトコードが
完成することになる(ステップS13)。
【0113】このようにデータ処理装置300でデータ
生成されたオブジェクトコードは、前述のようにアレイ
型プロセッサ100にデータ設定されるので、このアレ
イ型プロセッサ100では、状態管理部103が外部入
力されるオブジェクトコードを保持してプロセッサエレ
メント107ごとのインストラクションポインタを発生
し、このインストラクションポインタでプロセッサエレ
メント107ごとにインストラクションメモリ111に
格納されている複数の動作命令から一つが指定される。
【0114】この指定された動作命令がインストラクシ
ョンデコーダ112でデコードされ、スイッチエレメン
ト108による複数のプロセッサエレメント107の接
続関係、内部配線資源117によるプロセッサエレメン
ト107の内部での接続関係、m/nbALU115,
116のデータ処理、等が制御されるので、これで本形
態のアレイ型プロセッサ100は、オブジェクトコード
に対応したデータ処理を実行するハードウェアの状態と
なる。
【0115】このような状態で、データ入力手段203
から外部入力される一連の処理データがデータ分配部1
04でmbデータとnbデータとに分配され、上述のよ
うに接続関係とデータ処理とが制御された複数のプロセ
ッサエレメント107ごとにmbALU115とnbA
LU116とでデータ処理される。
【0116】本形態のアレイ型プロセッサ100は、上
述のようにオブジェクトコードに対応してプロセッサエ
レメント107ごとに“8(bit)”からなるmbデータ
と“1(bit)”からなるnbデータとのデータ処理を並
列に実行できるので、外部入力される一連の処理データ
のビット数が変化しても、これをビット数の多少により
的確に配分して良好な効率で並列処理することができ
る。
【0117】また、本形態のアレイ型プロセッサ100
は、プロセッサエレメント107ごとに形成されている
m/nbレジスタファイル113,114が入力される
m/nbデータを一時保持して出力するので、プロセッ
サエレメント107ごとにm/nbALU115,11
6でデータ処理されるm/nbデータを各々専用のm/
nbレジスタファイル114により無駄なく一時保持す
ることができる。
【0118】しかも、本形態のアレイ型プロセッサ10
0は、“nb”が“1(bit)”からなるので、nbAL
U116により最少ビットでのデータ処理を実行するこ
とができ、処理データのビット数が各種に変化しても確
実にデータ処理を実行することができる。
【0119】また、本形態のデータ処理システム200
は、アレイ型プロセッサ100に処理データを入力する
とき、ソースコードをデータ処理装置300に供給して
オブジェクトコードをアレイ型プロセッサ100にデー
タ入力することができるので、アレイ型プロセッサ10
0の動作状態を各種にリアルタイムに切り換えることが
できる。
【0120】本形態のデータ処理システム200では、
上述のようにアレイ型プロセッサ100はマトリクス回
路部105と状態管理部103とを別個に具備してお
り、データ処理装置300はアレイ型プロセッサ100
の動作記述の一連のソースコードからデータパスと有限
状態マシンとを分離して一連のオブジェクトコードをデ
ータ生成する。
【0121】そして、そのデータパスとアレイ型プロセ
ッサ100のマトリクス回路部105とが対応してお
り、有限状態マシンと状態管理部103とが対応してい
るので、データ処理装置300のソフトウェアとアレイ
型プロセッサ100のハードウェアとの整合性が良好で
ある。
【0122】本形態のアレイ型プロセッサ100は、そ
の構造および動作が従来のCPUなどとは根本的に相違
するので、そのオブジェクトコードの構造も従来のCP
Uなどとは根本的に相違している。しかし、本形態のデ
ータ処理装置300は、前述のように一般的な手法でア
レイ型プロセッサ100の動作状態が記述されたソース
コードから、アレイ型プロセッサ100のオブジェクト
コードを良好にデータ生成することができるので、本形
態のアレイ型プロセッサ100を良好に動作させること
ができる。
【0123】特に、本形態のデータ処理装置300は、
ソースコードからDFGをデータ生成して複数段階の動
作状態ごとのCDFGにスケジューリングし、そのCD
FGからデータ生成したネットリストを複数サイクルの
コンテキストごとに割り付けるので、アレイ型プロセッ
サ100のコンテキストを動作サイクルごとに順次切り
換えるオブジェクトコードをデータ生成することができ
る。
【0124】しかも、ソースコードからオブジェクトコ
ードをデータ生成するときに有限状態マシンとデータパ
スとを分離するので、マトリクス回路部105と状態管
理部103とを別個に具備しているアレイ型プロセッサ
100のオブジェクトコードを良好にデータ生成するこ
とができる。
【0125】さらに、マトリクス回路部105のRTL
記述からプロセッサエレメント107のm/nbの回路
資源のネットリストをデータ生成するので、mbデータ
用とnbデータ用とに記述内容が分別されたアレイ型プ
ロセッサ100のオブジェクトコードを良好にデータ生
成することができる。
【0126】しかも、RTL記述の“xb”のデータ処
理を“x=Ym+Zn”なるY個のmbALU115と
Z個のnbALU116とに割り付けるので、“xb”
のデータ処理をm/nbALU115,116に適正な
個数ずつ割り付けることができる。
【0127】特に、“x”を“m”で除算した結果の整
数部分“Y”を算出してから、その余数を“n”で除算
した結果の整数“Z”を算出するので、“xb”のデー
タ処理をビット数が多数のmbALU115に極力割り
付けることができ、余数部分のみビット数が少数のnb
ALU116に割り付けることができる。しかも、上述
の“nb”が“1(bit)”なので、mbALU115に
割り付けられた“xb”のデータ処理の余数部分が何ビ
ットであってもnbALU116に割り付けることがで
きる。
【0128】また、連続する複数サイクルのコンテキス
トで処理データが連携するネットリストをマトリクス回
路部105の一定位置のm/nbレジスタファイル11
3,114に共通に割り付けるので、アレイ型プロセッ
サ100の連続する複数サイクルのコンテキストで連携
する処理データを一定位置のm/nbレジスタファイル
113,114にデータ保持させるオブジェクトコード
をデータ生成することができる。
【0129】特に、最初に複数サイクルのコンテキスト
ごとに処理データの連携に関係なくネットリストをm/
nbレジスタファイル113,114などに割り付けて
から、この割付位置を調整して処理データが連携するネ
ットリストが割り付けられたm/nbレジスタファイル
113,114の連続する複数サイクルのコンテキスト
での位置を一致させるので、連携する処理データを一定
位置のm/nbレジスタファイル113,114にデー
タ保持させるオブジェクトコードを所定のデータ処理で
データ生成することができる。
【0130】なお、本形態のデータ処理装置300のソ
ースコードからオブジェクトコードをデータ生成するコ
ンピュータプログラムはアレイ型プロセッサ100と一
対一に対応しているので、そのコンピュータプログラム
がデータ格納されたCD−ROM108などの情報記憶
媒体は一個以上のアレイ型プロセッサ100とセットで
販売することが好適である。
【0131】その場合、条件記憶手段212の制約条件
やオブジェクト記憶手段225のオブジェクトコードも
アレイ型プロセッサ100に対応するので、その制約条
件やオブジェクトコードを構造データとしてコンピュー
タプログラムとともに情報記憶媒体にデータ格納するこ
とが好適である。
【0132】また、アレイ型プロセッサ100として複
数種類の製品を販売するような場合、複数種類のアレイ
型プロセッサ100で共通する一つのコンピュータプロ
グラムを一個の情報記憶媒体にデータ格納して販売し、
複数種類のアレイ型プロセッサ100を選択的に販売す
るときに、対応する制約条件やオブジェクトコードがデ
ータ格納された複数種類の情報記憶媒体をともに販売す
ることが好適である。
【0133】なお、本発明は上記形態に限定されるもの
ではなく、その要旨を逸脱しない範囲で各種の変形を許
容する。例えば、上記形態ではソースコードからオブジ
ェクトコードをデータ生成する一連の処理動作をデータ
処理装置300が一つのコンピュータプログラムに対応
して実行することを例示したが、ソースコードからRT
L記述をデータ生成するデータ処理装置およびコンピュ
ータプログラム、RTL記述からネットリストをデータ
生成するデータ処理装置およびコンピュータプログラ
ム、ネットリストからオブジェクトコードをデータ生成
するデータ処理装置およびコンピュータプログラム、を
別個とすることも可能である。
【0134】また、上記形態ではRTL記述の“xb”
のデータ処理を“x=Ym+Zn”なるY個のmbAL
U115とZ個のnbALU116とに割り付けると
き、“x”を“m”で除算した結果の整数部分“Y”を
算出してから、その余数を“n”で除算した結果の整数
“Z”を算出することにより、“xb”のデータ処理を
ビット数が多数のmbALU115に極力割り付け、余
数部分のみビット数が少数のnbALU116に割り付
けることを例示した。
【0135】しかし、これでは“nb”が“1(bit)”
で“mb”が“32(bit)”の場合に、“30(bit)”の
データ処理が30個のnbALU116で実行されるよ
うなことが発生する。そこで、これを解消するために
は、データ処理をm/nbALU115,116に割り
付ける所定の閾値をデータ設定し、“x”を“m”で除
算した結果の整数部分“Y”を算出してから、その余数
が閾値より少数の場合に整数“Z”を算出し、余数が閾
値以上の場合は“Y”に“1”を加算して“Z=0”と
することが好適である。
【0136】この場合、mbALU115に極力割り付
けられた“xb”のデータ処理の余数部分を、ビット数
に対応してm/nbALU115,116の適切な一方
に割り付けることができるので、例えば、“nb”が
“1(bit)”で“mb”が“32(bit)”の場合に、“9
(bit)”以上のデータ処理はmbALU115で実行し
て“8(bit)”以下のデータ処理はnbALU116で
実行するようなことが可能となる。
【0137】さらに、上記形態ではアレイ型プロセッサ
100が“8(bit)”からなる“mb”と“1(bit)”か
らなる“nb”との二種類の回路資源を具備しているこ
とを例示したが、このような回路資源の種類の個数やビ
ット数も各種に設定することが可能である。
【0138】このような場合でも、適切な制約条件がデ
ータ登録されることにより、データ処理装置300はア
レイ型プロセッサ100に適切なオブジェクトコードを
データ生成することができる。例えば、アレイ型プロセ
ッサがmbALU115しか具備しないならば、前述の
“x”を“m”で除算した結果の整数部分“Y”を算出
し、その余数が存在しないならば“xb”のデータ処理
を“x=Ym”なるY個のmbALU115に割り付
け、余数が存在するならば“x≒(Y+1)m”なる(Y
+1)個のmbALU115に割り付けることが好適で
ある。
【0139】また、上記形態ではアレイ型プロセッサ1
00のプロセッサエレメント107がm/nbALU1
15,116でデータ処理を実行することを例示した
が、これら以外にデータ処理を実行する回路資源をプロ
セッサエレメント107に形成することも可能である。
【0140】例えば、少なくともマスク回路によりmb
データとnbデータとのデータ操作を実行するDMU(D
ata Manipulation Unit)なる回路資源をプロセッサエレ
メント107に形成することも可能であり、このような
アレイ型プロセッサ100を本出願人は特願2001−
263804号として出願している。このような場合で
も、その回路資源に対応して制約条件をデータ設定する
ことにより、データ処理装置300はアレイ型プロセッ
サ100のオブジェクトコードを適切にデータ生成する
ことができる。
【0141】さらに、上記形態ではアレイ型プロセッサ
100がマトリクス回路部105に配列されたプロセッ
サエレメント107のみでデータ処理を実行することを
例示したが、マトリクス回路部105の外側に専用の演
算回路を形成することも可能である。
【0142】例えば、一般に乗算器は回路規模が過大な
ので、マトリクス回路部105の外部に配置して必要に
よりプロセッサエレメント107からアクセスさせるこ
とが可能である。このような場合でも、その回路資源に
対応して制約条件をデータ設定することにより、データ
処理装置300はアレイ型プロセッサ100のオブジェ
クトコードを適切にデータ生成することができる。ただ
し、上述のようにプロセッサエレメント107がマトリ
クス回路部105の外部回路にアクセスするときは、こ
れがDFGをCDFGにスケジューリングするときの状
態遷移の制約条件となる。
【0143】さらに、上記形態では処理回路であるプロ
セッサエレメント107が演算器であるm/nbALU
115,116からなるアレイ型プロセッサ100を並
列演算装置として例示したが、この並列演算装置を処理
回路がLUT(Look Up Table)からなるDRL(Dynamic
Reconfigurable Logic)とすることも可能である。
【0144】上記形態のアレイ型プロセッサ100で
は、プロセッサエレメント107にデータ設定する動作
命令をデータ更新することでハードウェア構成を変更す
るが、DRLではLUTの登録内容をデータ更新するこ
とでハードウェア構成を変更するので、これを実現する
オブジェクトコードをデータ処理装置300でデータ生
成することが可能である。
【0145】また、上記形態ではスイッチエレメント1
08のインストラクションメモリが隣接するプロセッサ
エレメント107のインストラクションメモリ111で
兼用されており、状態管理部103がプロセッサエレメ
ント107とスイッチエレメント108との一組のイン
ストラクションポインタを対応するプロセッサエレメン
ト107のインストラクションメモリ111に供給する
ことを例示した。
【0146】しかし、プロセッサエレメント107のイ
ンストラクションメモリ111とは別個にスイッチエレ
メント108が自身専用のインストラクションメモリを
具備し、状態管理部103がプロセッサエレメント10
7とスイッチエレメント108とのインストラクション
ポインタを対応するプロセッサエレメント107とスイ
ッチエレメント108とのインストラクションメモリ1
11等に別個に供給することも可能である。
【0147】また、プロセッサエレメント107のイン
ストラクションメモリをスイッチエレメント108のイ
ンストラクションメモリで兼用し、状態管理部103が
プロセッサエレメント107とスイッチエレメント10
8との一組のインストラクションポインタを対応するス
イッチエレメント108のインストラクションメモリに
供給することも可能である。
【0148】さらに、上記形態ではアレイ型プロセッサ
100に状態管理部103が一個のみ形成されているこ
とを例示したが、これを複数としてプロセッサエレメン
ト107を所定個数ずつ管理させることも可能である。
このような場合、複数の状態管理部103を代表する一
個が統合管理することや、複数の状態管理部103を統
合管理する上位管理部(図示せず)を形成することが好適
である。
【0149】また、上記形態では連続する複数サイクル
のコンテキストで処理データが連携するネットリストを
マトリクス回路部105の一定位置のm/nbレジスタ
ファイル113,114に共通に割り付けるため、最初
に複数サイクルのコンテキストごとに処理データの連携
に関係なくネットリストをm/nbレジスタファイル1
13,114などに割り付けてから、この割付位置を調
整して処理データが連携するネットリストが割り付けら
れたm/nbレジスタファイル113,114の連続す
る複数サイクルのコンテキストでの位置を一致させるこ
とを例示した。
【0150】しかし、最初に複数サイクルのコンテキス
トで処理データが連携するネットリストが共通に割り付
けられるm/nbレジスタファイル113,114のマ
トリクス回路部105での位置を固定してから、他のネ
ットリストを他のm/nbレジスタファイル113,1
14などに複数サイクルのコンテキストごとに割り付け
ることも可能である。
【0151】また、最初に複数サイクルのコンテキスト
で処理データが連携するネットリストが共通に割り付け
られるm/nbレジスタファイル113,114のマト
リクス回路部105での相対位置を設定してから、この
相対位置を維持したまま他のネットリストを他のm/n
bレジスタファイル113,114などに複数サイクル
のコンテキストごとに割り付けることも可能である。
【0152】これらの場合、コンテキストごとの回路資
源の使用範囲を削減することができるので、図17(a)
に示すように、マトリクス回路部105に配列されてい
るプロセッサエレメント107が少数でもコンテキスト
ごとにネットリストを割り付けることが可能となる。
【0153】なお、同図(b)に示すように、従来のFP
GA(Field Programmable Gate Array)やASIC(Appl
ication Specific Integrated Circuit)では、上述のよ
うな複数サイクルのコンテキストごとのネットリストを
一面の回路資源に割り付けることになるので、多数の専
用の回路資源が必要であり、一度形成したハードウェア
を変更できないのでデータ処理の汎用性もない。
【0154】しかし、本形態のアレイ型プロセッサ10
0では、オブジェクトコードによりハードウェアを変更
できるのでデータ処理の汎用性が良好であり、一連のデ
ータ処理を複数サイクルのコンテキストごとに時分割に
実行するので、一面に配列された回路資源の回路規模が
削減されている。
【0155】さらに、上記形態では状態管理部103で
管理される順次遷移する複数段階の動作状態とマトリク
ス回路部105で順次切り換えられる動作サイクルごと
のコンテキストとが一対一に対応することを例示した
が、例えば、制約条件により複数段階の動作状態から一
つのコンテキストに割り付けられる複数を検出し、この
検出された複数の動作状態を一つのコンテキストに割り
付けることも可能である。
【0156】例えば、図15に示すように、連続する二
つのコンテキストに割り付けられた連続する二つの動作
状態で、m/nbレジスタファイル113,114の位
置は共通しているがm/nbALU115,116の位
置が重複していない場合、図18に示すように、その連
続する二つの動作状態は一つのコンテキストに割り付け
ることが可能である。
【0157】より具体的には、前述のように動作状態の
スケジューリングは複数種類の制約条件に対応して実行
され、メモリアクセスなどが発生した場合には割り付け
るm/nbALU115,116の割付個数に関係なく
動作状態が移行するので、図19(a)に示すように、m
/nbALU115,116の割付個数が少数の動作状
態が発生することがある。このようにデータ生成された
複数の動作状態を複数のコンテキストに一対一に割り付
けると、あるコンテキストではアレイ型プロセッサ10
0に配列されているm/nbALU115,116の極
一部しか動作しない状態が発生する。
【0158】そこで、連続する複数の動作状態でm/n
bALU115,116の割付個数を順次積算し、その
積算個数が所定の許容個数を超過するごとにコンテキス
トを移行すれば、同図(b)に示すように、複数のコンテ
キストの各々に極力多数のm/nbALU115,11
6を割り付けることができる。
【0159】例えば、第一から第三の動作状態が第一の
コンテキストに割り付けられ、第五および第六の動作状
態が第三のコンテキストに割り付けられた場合、そのオ
ブジェクトプログラムに対応して動作するアレイ型プロ
セッサ100では、図20に示すように、第一の動作サ
イクルでは第一のコンテキストの第一の動作状態のデー
タ処理が実行され、第二の動作サイクルでは第一のコン
テキストの第二の動作状態のデータ処理が実行され、第
三の動作サイクルでは第一のコンテキストの第三の動作
状態のデータ処理が実行される。
【0160】第四の動作サイクルでは第一のコンテキス
トが第二のコンテキストに切り換えられて第四の動作状
態のデータ処理が実行され、第五の動作サイクルでは第
二のコンテキストが第三のコンテキストに切り換えられ
て第五の動作状態のデータ処理が実行される。
【0161】上述のように複数の動作状態を一つのコン
テキストに割り付けると、アレイ型プロセッサ100で
のデータ処理の所要時間は一つの動作状態を一つのコン
テキストに割り付けた場合と同一であるが、オブジェク
トコードにデータ設定されるコンテキストの個数が削減
されるので、オブジェクトコードのデータ容量を圧縮す
ることができる。
【0162】さらに、アレイ型プロセッサ100のオブ
ジェクトコードを一時保持するコードメモリ102の記
憶容量も削減することができ、状態管理部103による
マトリクス回路部105のコンテキストの切換回数も削
減できるので、その消費電力も縮小することができる。
【0163】また、上記には一つのコンテキストに連続
する二つの動作状態を割り付けることを例示したが、二
つ以上の動作状態を割り付けることも可能であり、図2
1および図22に示すように、連続しない複数の動作状
態を割り付けることも可能である。この場合は、状態管
理部103によるマトリクス回路部105のコンテキス
トの切換回数は削減できない場合もあるが、オブジェク
トコードにデータ設定されるコンテキストの個数は削減
することができる。
【0164】さらに、上記形態ではデータ処理装置30
0でデータ生成されたオブジェクトコードがアレイ型プ
ロセッサ100に一時保持されることを例示したが、例
えば、データ処理装置300がデータ生成するオブジェ
クトコードに対応してアレイ型プロセッサ100がリア
ルタイムに動作することも不可能ではない。
【0165】また、上記形態ではコードメモリ102に
一時保持されたオブジェクトコードに対応して、状態管
理部103が動作サイクルごとにマトリクス回路部10
5のコンテキストを切換制御することを例示したが、マ
トリクス回路部105が複数のコンテキストをデータ記
憶して動作サイクルごとに一つずつ対応動作を実行する
ことも可能である。
【0166】このとき、状態管理部103はマトリクス
回路部105にデータ記憶された複数のコンテキストの
全部を複数サイクルごとにデータ更新することも可能で
あるが、マトリクス回路部105がデータ記憶した所定
個数のコンテキストの一つで対応動作を実行している最
中に、対応動作が実行されたコンテキストを状態管理部
103が新規のコンテキストにデータ更新することも可
能である。この場合、マトリクス回路部105は所定個
数のコンテキストしかデータ保持しないが、コンテキス
トの対応動作を個数に制限なく連続的に実行することが
できる。
【0167】例えば、図23に示すように、マトリクス
回路部105が第一から第六のコンテキストをデータ保
持して順番にデータ処理を実行する場合、第四のコンテ
キストのデータ処理を実行しているときには、状態管理
部103はデータ処理が終了した第一から第三のコンテ
キストをデータ更新することができる。
【0168】ただし、図22に示すように、一つのコン
テキストを複数の動作サイクルで繰り返し使用するよう
な場合もあるので、例えば、図24に示すように、マト
リクス回路部105がデータ保持した第一から第六のコ
ンテキストのデータ処理を順番に実行してから、第一か
ら第三のコンテキストのデータ処理を再度実行するよう
な場合には、状態管理部103はデータ処理が終了した
第四から第五のコンテキストをデータ更新することがで
きる。
【0169】上述のような動作をアレイ型プロセッサ1
00に実行させるためには、マトリクス回路部105が
データ記憶した所定個数のコンテキストの一つで対応動
作を実行している最中に、対応動作が実行されたコンテ
キストを状態管理部103が新規のコンテキストにデー
タ更新するように、データ処理装置300がCDFGを
データ生成すれば、このCDFGからデータ生成された
オブジェクトコードに対応してアレイ型プロセッサ10
0に上述の動作を実行させることができる。
【0170】さらに、上記形態ではRAM304等に格
納されているコンピュータプログラムに対応してCPU
301が動作することにより、データ処理装置300の
各種機能として各種手段が論理的に実現されることを例
示した。しかし、このような各種手段の各々を固有のハ
ードウェアとして形成することも可能であり、一部をソ
フトウェアとしてRAM304等に格納するとともに一
部をハードウェアとして形成することも可能である。
【0171】
【発明の効果】本発明のデータ処理装置では、並列演算
装置の少なくとも物理構造と物理特性とに対応した制約
条件が事前にデータ登録されており、データ入力される
並列演算装置の動作記述のソースコードから制約条件に
より並列演算装置のコンテキストを動作サイクルごとに
順次切り換える一連のオブジェクトコードをデータ生成
し、このデータ生成された一連のオブジェクトコードを
データ出力することにより、並列演算装置の動作記述の
ソースコードから、並列演算装置のコンテキストを動作
サイクルごとに順次切り換えるオブジェクトコードをデ
ータ生成することができる。
【0172】また、本発明の他の形態としては、制約条
件により一連のソースコードから一連のオブジェクトコ
ードをデータ生成するときにマトリクス回路部に対応し
たデータパスと状態管理部に対応した有限状態マシンと
を分離することにより、並列演算装置のマトリクス回路
部と状態管理部とに別個に対応したオブジェクトコード
をデータ生成することができる。
【0173】また、一連のソースコードを言語解析して
DFGをデータ生成し、このデータ生成されたDFGか
ら制約条件により複数段階の動作状態をスケジューリン
グしたCDFGをデータ生成することにより、並列演算
装置の動作記述のソースコードから、その順次遷移する
複数段階の動作状態をスケジューリングしたCDFGを
データ生成することができる。
【0174】また、マトリクス回路部がデータ記憶した
所定個数のコンテキストの一つで対応動作を実行してい
る最中に対応動作が実行されたコンテキストを状態管理
部が新規のコンテキストにデータ更新するようにCDF
Gをデータ生成することにより、このCDFGからデー
タ生成されたオブジェクトコードに対応して並列演算装
置を動作させると、マトリクス回路部がオブジェクトコ
ードの多数のコンテキストを所定個数までデータ記憶し
て対応動作を順次実行している最中に、その対応動作が
実行されたコンテキストを状態管理部が新規のコンテキ
ストにデータ更新させることができる。
【0175】また、データ生成されたCDFGから制約
条件により複数段階の動作状態のRTL記述をマトリク
ス回路部と状態管理部とに分離してデータ生成すること
により、並列演算装置のマトリクス回路部と状態管理部
とに別個に対応したRTL記述をデータ生成することが
できる。
【0176】また、データ生成されたマトリクス回路部
のRTL記述から複数段階の動作状態ごとに制約条件に
より処理回路のネットリストをデータ生成することによ
り、並列演算装置の処理回路のネットリストを順次遷移
する複数段階の動作状態ごとにデータ生成することがで
きる。
【0177】また、データ生成されたマトリクス回路部
のRTL記述から複数段階の動作状態ごとに制約条件に
より処理回路の複数種類の回路資源のネットリストをデ
ータ生成することにより、並列演算装置の処理回路のネ
ットリストをビット数の相違する複数種類の回路資源ご
とにデータ生成することができる。
【0178】また、複数段階の動作状態に対応した状態
管理部のオブジェクトコードが事前にデータ登録されて
おり、データ生成されたマトリクス回路部のネットリス
トに対応してデータ生成された状態管理部のRTL記述
をオブジェクトコードにデータ変換し、このデータ変換
された状態管理部のオブジェクトコードをデータ出力す
ることにより、状態管理部のオブジェクトコードをマト
リクス回路部のネットリストに対応してデータ生成する
ことができる。
【0179】また、RTL記述から制約条件により処理
回路のm/nb回路資源のネットリストをデータ生成す
ることにより、並列演算装置の処理回路のネットリスト
をm/nb回路資源ごとにデータ生成することができ
る。
【0180】また、RTL記述の“xb”のデータ処理
を“x=Ym+Zn”なるY個のmb回路資源とZ個の
nb回路資源とに割り付けることにより、“xb”のデ
ータ処理をm/nb回路資源に適正な個数ずつ割り付け
ることができる。
【0181】また、“x”を“m”で除算した結果の整
数部分“Y”を算出してから、その余数を“n”で除算
した結果の整数“Z”を算出することにより、“xb”
のデータ処理をビット数が多数のmb回路資源に極力割
り付けることができ、余数部分のみビット数が少数のn
b回路資源に割り付けることができる。
【0182】また、余数が所定の閾値より少数の場合に
整数“Z”を算出して余数が閾値以上の場合は“Y”に
“1”を加算して“Z=0”とすることにより、mb回
路資源に極力割り付けられた“xb”のデータ処理の余
数部分を、ビット数に対応してm/nb回路資源の適切
な一方に割り付けることができる。
【0183】また、データ登録されている制約条件の
“nb”が“1(bit)”からなることにより、mb回路
資源に割り付けられた“xb”のデータ処理の余数部分
が何ビットであってもnb回路資源に割り付けることが
できる。
【0184】また、処理回路の各種のオブジェクトコー
ドも事前にデータ登録されており、複数段階の動作状態
ごとにデータ生成されたネットリストをマトリクス配列
されている複数の処理回路に複数サイクルのコンテキス
トごとに割り付け、この処理回路に割り付けられたネッ
トリストを対応するオブジェクトコードにデータ変換す
ることにより、並列演算装置の複数の処理回路のオブジ
ェクトコードを複数サイクルのコンテキストごとにデー
タ生成することができる。
【0185】また、配線回路のオブジェクトコードも事
前にデータ登録されており、データ変換された処理回路
のオブジェクトコードに対応して配線回路のネットリス
トを対応するオブジェクトコードにデータ変換すること
により、並列演算装置の複数の処理回路の接続関係を個
々に切換制御する複数の配線回路のオブジェクトコード
もデータ生成することができる。
【0186】また、連続する複数サイクルのコンテキス
トで処理データが連携するネットリストをマトリクス回
路部の一定位置のレジスタファイルに共通に割り付ける
ことにより、並列演算装置の連続する複数サイクルのコ
ンテキストで連携する処理データを一定位置のレジスタ
ファイルに一時保持させるオブジェクトコードをデータ
生成することができる。
【0187】また、最初に複数サイクルのコンテキスト
ごとに処理データの連携に関係なくネットリストをレジ
スタファイルなどに割り付けてから、この割付位置を調
整して処理データが連携するネットリストが割り付けら
れたレジスタファイルの連続する複数サイクルのコンテ
キストでの位置を一致させることにより、また、最初に
複数サイクルのコンテキストで処理データが連携するネ
ットリストが共通に割り付けられるレジスタファイルの
マトリクス回路部での位置を固定してから、他のネット
リストを他のレジスタファイルなどに複数サイクルのコ
ンテキストごとに割り付けることにより、また、最初に
複数サイクルのコンテキストで処理データが連携するネ
ットリストが共通に割り付けられるレジスタファイルの
マトリクス回路部での相対位置を設定してから、この相
対位置を維持したまま他のネットリストを他のレジスタ
ファイルなどに複数サイクルのコンテキストごとに割り
付けることにより、連携する処理データを一定位置のレ
ジスタファイルに一時保持させるオブジェクトコードを
所定のデータ処理でデータ生成することができる。
【0188】また、順次遷移する複数段階の動作状態か
ら制約条件により一つのコンテキストに割り付けられる
複数を検出し、この検出された複数の動作状態を一つの
コンテキストに割り付けることにより、複数の動作状態
を一つのコンテキストとして並列演算装置に一度にデー
タ設定することができる。
【0189】また、遷移段階が連続している複数の動作
状態を検出することにより、連続する複数の動作状態を
一つのコンテキストとして並列演算装置にデータ設定す
ることができる。
【0190】本発明の第一の並列演算装置では、本発明
のデータ処理装置でデータ生成されたオブジェクトコー
ドがデータ格納されており、そのオブジェクトコードに
対応して動作サイクルごとにコンテキストが順次切り換
わり、この順次切り換わるコンテキストに対応してマト
リクス配列されている複数の処理回路が個々に設定自在
なデータ処理で並列動作することにより、本発明のデー
タ処理装置でデータ生成されてデータ格納されたオブジ
ェクトコードに対応して動作サイクルごとに複数の処理
回路を並列動作させることができる。
【0191】本発明の第二の並列演算装置では、本発明
のデータ処理装置でデータ生成された外部入力され、そ
のオブジェクトコードに対応して動作サイクルごとにコ
ンテキストが順次切り換わり、この順次切り換わるコン
テキストに対応してマトリクス配列されている複数の処
理回路が個々に設定自在なデータ処理で並列動作するこ
とにより、本発明のデータ処理装置でデータ生成されて
外部入力されるオブジェクトコードに対応して動作サイ
クルごとに複数の処理回路を並列動作させることができ
る。
【0192】本発明の第一のデータ処理システムでは、
本発明のデータ処理装置でデータ生成されたオブジェク
トコードが本発明の並列演算装置に外部入力されること
により、データ処理装置に外部入力されるソースコード
に対応して並列演算装置に順次切り換わる複数サイクル
のコンテキストで並列演算を実行させることができる。
【0193】本発明の第二のデータ処理システムでは、
データ処理装置がソースコードからオブジェクトコード
をデータパスと有限状態マシンとに分離してデータ生成
し、そのデータパスと並列演算装置のマトリクス回路部
とが対応しているとともに有限状態マシンと状態管理部
とが対応していることにより、並列演算装置のハードウ
ェア構造に対応したソフトウェア構造にオブジェクトコ
ードをデータ処理装置でデータ生成することができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態のデータ処理システムの
論理構造を示す模式的なブロック図である。
【図2】データ処理装置の論理構造を示す模式的なブロ
ック図である。
【図3】データ処理装置の物理構造を示すブロック図で
ある。
【図4】ソースコードの記述内容と並列演算装置である
アレイ型プロセッサのハードウェアとの対応関係を示す
模式図である。
【図5】(a)はアレイ型プロセッサの全体構造を示す模
式的なブロック図、(b)は処理回路であるプロセッサエ
レメントの内部構造を示す模式的なブロック図である。
【図6】CDFGの状態遷移とアレイ型プロセッサのコ
ンテキスト切換との対応関係を示す模式図である。
【図7】ソースコードの具体例を示す模式図である。
【図8】DFGの具体例を示す模式図である。
【図9】(a)は本形態のアレイ型プロセッサのCDFG
の具体例を示す模式図、(b)は従来のアレイ型プロセッ
サのCDFGの具体例を示す模式図である。
【図10】他のソースコードの具体例を示す模式図であ
る。
【図11】他のCDFGの具体例を示す模式図である。
【図12】CDFGのデータ処理に回路資源が割り付け
られた状態を示す模式図である。
【図13】“xb”のデータ処理が“m/nb”の回路
資源に割り付けられる状態を示す模式図である。
【図14】連続する二つのコンテキストごとにネットリ
ストが割り付けられた状態を示す模式図である。
【図15】連続する二つのコンテキストのネットリスト
が連携された状態を示すを示す模式図である。
【図16】データ処理装置によるデータ処理方法を示す
フローチャートである。
【図17】(a)は本形態のアレイ型プロセッサの二つの
コンテキストにネットリストが割り付けられた状態を示
す模式図、(b)は従来の並列演算装置の一面にネットリ
ストが割り付けられた状態を示す模式図である。
【図18】連続する二つの動作状態のネットリストが一
つのコンテキストに割り付けられた状態を示す模式図で
ある。
【図19】m/nbALUの割付個数による動作状態と
コンテキストとの対応関係を示す模式図である。
【図20】連続する複数の動作状態が一つのコンテキス
トに割り付けられた状態を示す模式図である。
【図21】m/nbALUの割付個数による動作状態と
コンテキストとの対応関係を示す模式図である。
【図22】連続しない複数の動作状態が一つのコンテキ
ストに割り付けられた状態を示す模式図である。
【図23】連続する複数のコンテキストの一つがアクテ
ィブな状態を示す模式図である。
【図24】連続する複数のコンテキストがアクティブな
状態を示す模式図である。
【符号の説明】
100 アレイ型プロセッサ 103 状態管理部 107 プロセッサエレメント 108 スイッチエレメント 113 mb回路資源であるmbレジスタファイル 114 nb回路資源であるnbレジスタファイル 115 mb回路資源であるmbALU 116 nb回路資源であるnbALU 200 データ処理システム200 201 ソース供給手段 202 オブジェクト供給手段 203 データ入力手段 211 ソース入力手段211211 212 条件記憶手段 213 オブジェクト生成手段 214 オブジェクト出力手段 221 グラフ生成手段 222 スケジュール生成手段 223 記述生成手段 224 リスト生成手段 225 オブジェクト記憶手段 226 状態変換手段 227 処理配置手段 228 コード変換手段 229 配線変換手段 300 データ処理装置 301 コンピュータの主体であるCPU 303 情報記憶媒体であるROM 304 情報記憶媒体であるRAM 305 情報記憶媒体であるHDD 306 情報記憶媒体であるFD 308 情報記憶媒体であるCD−ROM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 粟島 亨 東京都港区芝五丁目7番1号 日本電気株 式会社内 (72)発明者 宮沢 義幸 神奈川県川崎市高津区坂戸3丁目2番1号 株式会社エヌイーシー情報システムズ内 (72)発明者 中村 典嗣 東京都港区芝五丁目7番1号 日本電気株 式会社内 (72)発明者 藤井 太郎 東京都港区芝五丁目7番1号 日本電気株 式会社内 (72)発明者 古田 浩一朗 東京都港区芝五丁目7番1号 日本電気株 式会社内 (72)発明者 本村 真人 東京都港区芝五丁目7番1号 日本電気株 式会社内 Fターム(参考) 5B045 AA00 GG12 5B046 AA08 BA03 5B081 CC00 CC21 CC25 CC30 CC32

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】 個々にデータ設定される動作命令に対応
    してデータ処理を個々に実行する複数の処理回路と個々
    にデータ設定される動作命令に対応して複数の前記処理
    回路の接続関係を個々に切換制御する複数の配線回路と
    がマトリクス配列されている並列演算装置の動作記述の
    一連のソースコードから複数の前記処理回路と複数の前
    記配線回路との順次切り換わる動作サイクルごとの前記
    動作命令からなるコンテキストを少なくとも内包した一
    連のオブジェクトコードをデータ生成するデータ処理装
    置であって、 前記並列演算装置の少なくとも物理構造と物理特性とに
    対応した制約条件が事前にデータ登録されている条件記
    憶手段と、 前記ソースコードがデータ入力されるソース入力手段
    と、 このソース入力手段にデータ入力された前記ソースコー
    ドから前記制約条件により順次切り換わる動作サイクル
    ごとの前記コンテキストに対応した順次遷移する複数段
    階の動作状態を検出して前記オブジェクトコードをデー
    タ生成するオブジェクト生成手段と、 このオブジェクト生成手段でデータ生成された前記オブ
    ジェクトコードをデータ出力するオブジェクト出力手段
    と、を具備しているデータ処理装置。
  2. 【請求項2】 前記並列演算装置は、複数の前記処理回
    路と複数の前記配線回路とがマトリクス配列されている
    マトリクス回路部と、前記マトリクス回路部のコンテキ
    ストを動作サイクルごとに順次切り換える状態管理部
    と、を別個に具備しており、 前記オブジェクト生成手段は、前記制約条件により前記
    ソースコードから前記オブジェクトコードをデータ生成
    するときに前記マトリクス回路部に対応したデータパス
    と前記状態管理部に対応した有限状態マシンとを分離す
    る請求項1に記載のデータ処理装置。
  3. 【請求項3】 前記オブジェクト生成手段は、 前記ソースコードを言語解析してDFG(Data Flow Gra
    ph)をデータ生成するグラフ生成手段と、 このグラフ生成手段でデータ生成されたDFGから前記
    制約条件により複数段階に順次遷移する前記動作状態を
    スケジューリングしたCDFG(Control DFG)をデータ
    生成するスケジュール生成手段と、を具備している請求
    項1または2に記載のデータ処理装置。
  4. 【請求項4】 個々にデータ設定される動作命令に対応
    してデータ処理を個々に実行する複数の処理回路と個々
    にデータ設定される動作命令に対応して複数の前記処理
    回路の接続関係を個々に切換制御する複数の配線回路と
    がマトリクス配列されている並列演算装置のCDFGを
    ソースコードからデータ生成するデータ処理装置であっ
    て、 前記並列演算装置の少なくとも物理構造と物理特性とに
    対応した制約条件が事前にデータ登録されている条件記
    憶手段と、 前記ソースコードがデータ入力されるソース入力手段
    と、 このソース入力手段にデータ入力される前記ソースコー
    ドを言語解析してDFGをデータ生成するグラフ生成手
    段と、 このグラフ生成手段でデータ生成されたDFGから前記
    制約条件により複数段階に順次遷移する前記動作状態を
    スケジューリングしたCDFGをデータ生成するスケジ
    ュール生成手段と、を具備しているデータ処理装置。
  5. 【請求項5】 前記条件記憶手段は、前記制約条件とし
    て少なくとも前記処理回路の個数に対応した所定の閾値
    がデータ登録されており、 前記グラフ生成手段は、前記ソースコードから複数のデ
    ータ処理が因果関係に対応して連携された前記DFGを
    データ生成し、 前記スケジュール生成手段は、前記DFGの複数の前記
    データ処理を前記因果関係に対応した順番で複数段階の
    前記動作状態にスケジューリングし、この動作状態をス
    ケジューリングされる前記データ処理の個数が前記閾値
    を超過するごとに次段に移行させる請求項3または4に
    記載のデータ処理装置。
  6. 【請求項6】 前記条件記憶手段は、前記制約条件とし
    て前記処理回路の処理データのビット数もデータ登録さ
    れており、 前記グラフ生成手段は、前記ソースコードから前記デー
    タ処理に処理データのビット数がデータ設定された前記
    DFGをデータ生成し、 前記スケジュール生成手段は、前記動作状態ごとにスケ
    ジューリングされる前記データ処理に使用される前記処
    理回路の個数を前記ビット数の比率で算出して前記閾値
    から減算する請求項5に記載のデータ処理装置。
  7. 【請求項7】 前記条件記憶手段は、前記制約条件とし
    て前記処理回路と前記配線回路との遅延時間と前記動作
    サイクルの所要時間とがデータ登録されており、 前記スケジュール生成手段は、前記DFGの複数の前記
    データ処理を前記因果関係に対応した順番で複数段階の
    前記動作状態にスケジューリングし、この動作状態をス
    ケジューリングされる前記データ処理に使用される前記
    処理回路と前記配線回路との遅延時間の累積結果が前記
    所要時間を超過するごとに次段に移行させる請求項3ま
    たは4に記載のデータ処理装置。
  8. 【請求項8】 前記並列演算装置は、複数の前記処理回
    路と複数の前記配線回路とがマトリクス配列されていて
    前記オブジェクトコードの多数の前記コンテキストを所
    定個数までデータ記憶して対応動作を順次実行するマト
    リクス回路部と、このマトリクス回路部がデータ記憶し
    た所定個数の前記コンテキストの一つで対応動作を実行
    している最中に対応動作が実行された前記コンテキスト
    を新規の前記コンテキストにデータ更新する状態管理部
    と、を別個に具備しており、 前記スケジュール生成手段は、前記マトリクス回路部が
    データ記憶した所定個数の前記コンテキストの一つで対
    応動作を実行している最中に対応動作が実行された前記
    コンテキストを前記状態管理部が新規の前記コンテキス
    トにデータ更新するように前記CDFGをデータ生成す
    る請求項3ないし7の何れか一項に記載のデータ処理装
    置。
  9. 【請求項9】 前記並列演算装置は、複数の前記処理回
    路と複数の前記配線回路とがマトリクス配列されている
    マトリクス回路部と、前記マトリクス回路部のコンテキ
    ストを動作サイクルごとに順次切り換える状態管理部
    と、を別個に具備しており、 前記スケジュール生成手段でデータ生成された前記CD
    FGから前記制約条件により複数段階の前記動作状態の
    RTL(Register Transfer Level)記述を前記マトリク
    ス回路部と前記状態管理部とに分離してデータ生成する
    記述生成手段も具備している請求項3ないし8の何れか
    一項に記載のデータ処理装置。
  10. 【請求項10】 前記オブジェクト生成手段は、前記記
    述生成手段でデータ生成された前記マトリクス回路部の
    RTL記述から前記制約条件により複数段階の前記動作
    状態ごとに前記処理回路のネットリストをデータ生成す
    るリスト生成手段も具備している請求項9に記載のデー
    タ処理装置。
  11. 【請求項11】 前記並列演算装置は、複数の前記処理
    回路の各々が処理データのビット数が相互に相違する複
    数種類の回路資源を具備しており、 前記オブジェクト生成手段は、前記記述生成手段でデー
    タ生成された前記マトリクス回路部のRTL記述から前
    記制約条件により複数段階の前記動作状態ごとに前記処
    理回路の複数種類の回路資源のネットリストをデータ生
    成するリスト生成手段も具備している請求項9に記載の
    データ処理装置。
  12. 【請求項12】 処理データのビット数が相互に相違す
    る複数種類の回路資源を各々が具備していて個々にデー
    タ設定される動作命令に対応してデータ処理を個々に実
    行する複数の処理回路と個々にデータ設定される動作命
    令に対応して複数の前記処理回路の接続関係を個々に切
    換制御する複数の配線回路とがマトリクス配列されてい
    る並列演算装置のRTL記述から前記回路資源のネット
    リストをデータ生成するデータ処理装置であって、 前記並列演算装置の少なくとも物理構造と物理特性とに
    対応した制約条件が事前にデータ登録されている条件記
    憶手段と、 前記並列演算装置のRTL記述がデータ入力される記述
    入力手段と、 この記述入力手段にデータ入力された前記RTL記述か
    ら前記制約条件により前記処理回路の複数種類の回路資
    源のネットリストをデータ生成するリスト生成手段と、 このリスト生成手段でデータ生成された前記ネットリス
    トをデータ出力するリスト出力手段と、 を具備しているデータ処理装置。
  13. 【請求項13】 前記並列演算装置は、複数の前記処理
    回路と複数の前記配線回路とがマトリクス配列されてい
    るマトリクス回路部と、前記マトリクス回路部のコンテ
    キストを動作サイクルごとに順次切り換える状態管理部
    と、を別個に具備しており、 複数段階の前記動作状態に対応した前記状態管理部の各
    種の前記オブジェクトコードが事前にデータ登録された
    オブジェクト記憶手段と、 前記リスト生成手段でデータ生成された前記マトリクス
    回路部のネットリストに対応して前記記述生成手段でデ
    ータ生成された前記状態管理部のRTL記述を対応する
    前記オブジェクトコードにデータ変換する状態変換手段
    と、 この状態変換手段でデータ変換された前記状態管理部の
    前記オブジェクトコードをデータ出力するオブジェクト
    出力手段と、も具備している請求項11または12に記
    載のデータ処理装置。
  14. 【請求項14】 前記並列演算装置は、複数の前記処理
    回路の各々に処理データがmb(m-(bit):“m”は
    “2”以上の所定の自然数)データのmb回路資源とn
    b(n-(bit):“n”は“m”より少数の所定の自然数)デ
    ータのnb回路資源とを具備しており、 前記リスト生成手段は、前記RTL記述から前記制約条
    件により前記処理回路のm/nb回路資源のネットリス
    トをデータ生成する請求項11ないし13の何れか一項
    に記載のデータ処理装置。
  15. 【請求項15】 前記リスト生成手段は、前記RTL記
    述の“xb(x-(bit):“x”は“m”より多数の所定の
    自然数)”のデータ処理を x=Ym+Zn(“Y”と“Z”とは所定の自然数) なるY個のmb回路資源とZ個のnb回路資源とに割り
    付ける請求項14に記載のデータ処理装置。
  16. 【請求項16】 前記リスト生成手段は、“x”を
    “m”で除算した結果の整数部分“Y”を算出してか
    ら、その余数を“n”で除算した結果の整数“Z”を算
    出する請求項15に記載のデータ処理装置。
  17. 【請求項17】 前記リスト生成手段は、前記余数が所
    定の閾値より少数の場合に前記整数“Z”を算出し、前
    記余数が前記閾値以上の場合は前記“Y”に“1”を加
    算して“Z=0”とする請求項16に記載のデータ処理
    装置。
  18. 【請求項18】 前記条件記憶手段にデータ登録されて
    いる前記制約条件の“nb”が“1(bit)”からなる請
    求項15ないし17の何れか一項に記載のデータ処理装
    置。
  19. 【請求項19】 前記オブジェクト記憶手段は、前記処
    理回路の各種の前記オブジェクトコードも事前にデータ
    登録されており、 前記リスト生成手段でデータ生成された前記ネットリス
    トを前記制約条件によりマトリクス配列されている複数
    の前記処理回路に複数サイクルの前記コンテキストごと
    に割り付ける処理配置手段と、 この処理配置手段で前記処理回路に割り付けられた前記
    ネットリストを対応する前記オブジェクトコードにデー
    タ変換するコード変換手段と、も具備している請求項1
    1ないし18の何れか一項に記載のデータ処理装置。
  20. 【請求項20】 並列演算装置の個々にデータ設定され
    る動作命令に対応してデータ処理を個々に実行する複数
    の処理回路と個々にデータ設定される動作命令に対応し
    て複数の前記処理回路の接続関係を個々に切換制御する
    複数の配線回路とがマトリクス配列されているマトリク
    ス回路部のネットリストから順次切り換わる複数サイク
    ルのコンテキストごとのオブジェクトコードをデータ生
    成するデータ処理装置であって、 前記並列演算装置の少なくとも物理構造と物理特性とに
    対応した制約条件が事前にデータ登録されている条件記
    憶手段と、 前記処理回路の各種の前記オブジェクトコードが事前に
    データ登録されているオブジェクト記憶手段と、 前記ネットリストを前記制約条件によりマトリクス配列
    されている複数の前記処理回路に複数サイクルの前記コ
    ンテキストごとに割り付ける処理配置手段と、 この処理配置手段で前記処理回路に割り付けられた前記
    ネットリストを対応する前記オブジェクトコードにデー
    タ変換するコード変換手段と、 このコード変換手段でデータ変換された複数の前記処理
    回路の前記オブジェクトコードをデータ出力するオブジ
    ェクト出力手段と、 を具備しているデータ処理装置。
  21. 【請求項21】 前記オブジェクト記憶手段は、前記配
    線回路の各種の前記オブジェクトコードも事前にデータ
    登録されており、 前記コード変換手段でデータ変換された前記処理回路の
    オブジェクトコードに対応して前記配線回路の前記ネッ
    トリストを前記オブジェクトコードにデータ変換する配
    線変換手段も具備している請求項19または20に記載
    のデータ処理装置。
  22. 【請求項22】 前記並列演算装置は、前記処理回路の
    各々が処理データを一時保持するレジスタファイルを具
    備しており、 前記処理配置手段は、連続する複数サイクルの前記コン
    テキストで前記処理データが連携する前記ネットリスト
    を前記マトリクス回路部の一定位置の前記レジスタファ
    イルに共通に割り付ける請求項21に記載のデータ処理
    装置。
  23. 【請求項23】 前記処理配置手段は、最初に複数サイ
    クルの前記コンテキストごとに前記処理データの連携に
    関係なく前記ネットリストを前記レジスタファイルなど
    に割り付けてから、この割付位置を調整して前記処理デ
    ータが連携する前記ネットリストが割り付けられた前記
    レジスタファイルの連続する複数サイクルの前記コンテ
    キストでの位置を一致させる請求項22に記載のデータ
    処理装置。
  24. 【請求項24】 前記処理配置手段は、最初に複数サイ
    クルの前記コンテキストで前記処理データが連携する前
    記ネットリストが共通に割り付けられる前記レジスタフ
    ァイルの前記マトリクス回路部での位置を固定してか
    ら、他の前記ネットリストを他の前記レジスタファイル
    などに複数サイクルの前記コンテキストごとに割り付け
    る請求項22に記載のデータ処理装置。
  25. 【請求項25】 前記処理配置手段は、最初に複数サイ
    クルの前記コンテキストで前記処理データが連携する前
    記ネットリストが共通に割り付けられる前記レジスタフ
    ァイルの前記マトリクス回路部での相対位置を設定して
    から、この相対位置を維持したまま他の前記ネットリス
    トを他の前記レジスタファイルなどに複数サイクルの前
    記コンテキストごとに割り付ける請求項22に記載のデ
    ータ処理装置。
  26. 【請求項26】 順次遷移する複数段階の前記動作状態
    から前記制約条件により一つの前記コンテキストに割り
    付けられる複数を検出する状態検出手段と、 この状態検出手段で検出された複数の前記動作状態を一
    つの前記コンテキストに割り付ける状態合成手段と、も
    具備している請求項1ないし25の何れか一項に記載の
    データ処理装置。
  27. 【請求項27】 前記状態検出手段は遷移段階が連続し
    ている複数の前記動作状態を検出する請求項26に記載
    のデータ処理装置。
  28. 【請求項28】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路と個
    々にデータ設定される動作命令に対応して複数の前記処
    理回路の接続関係を個々に切換制御する複数の配線回路
    とがマトリクス配列されている並列演算装置の動作記述
    の一連のソースコードから複数の前記処理回路と複数の
    前記配線回路との順次切り換わる動作サイクルごとの前
    記動作命令からなるコンテキストを少なくとも内包した
    一連のオブジェクトコードをデータ生成するデータ処理
    装置のデータ処理方法であって、 前記ソースコードのデータ入力を受け付けるソース入力
    工程と、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記ソースコードから順次切り換わる動作サイクルごとの
    前記コンテキストに対応した順次遷移する複数段階の動
    作状態を検出して前記オブジェクトコードをデータ生成
    するオブジェクト生成工程と、 このオブジェクト生成工程でデータ生成された前記オブ
    ジェクトコードをデータ出力するオブジェクト出力工程
    と、を具備しているデータ処理方法。
  29. 【請求項29】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路と個
    々にデータ設定される動作命令に対応して複数の前記処
    理回路の接続関係を個々に切換制御する複数の配線回路
    とがマトリクス配列されている並列演算装置のCDFG
    をソースコードからデータ生成するデータ処理装置のデ
    ータ処理方法であって、 前記ソースコードがデータ入力されるソース入力工程
    と、 このソース入力工程でデータ入力された前記ソースコー
    ドを言語解析してDFGをデータ生成するグラフ生成工
    程と、 このグラフ生成工程でデータ生成されたDFGから事前
    にデータ登録されている前記並列演算装置の少なくとも
    物理構造と物理特性とに対応した制約条件により複数段
    階の前記動作状態をスケジューリングしたCDFGをデ
    ータ生成するスケジュール生成工程と、を具備している
    データ処理方法。
  30. 【請求項30】 処理データのビット数が相互に相違す
    る複数種類の回路資源を各々が具備していて個々にデー
    タ設定される動作命令に対応してデータ処理を個々に実
    行する複数の処理回路と個々にデータ設定される動作命
    令に対応して複数の前記処理回路の接続関係を個々に切
    換制御する複数の配線回路とがマトリクス配列されてい
    る並列演算装置のRTL記述から前記回路資源のネット
    リストをデータ生成するデータ処理装置のデータ処理方
    法であって、 前記並列演算装置のRTL記述がデータ入力される記述
    入力工程と、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記RTL記述から前記処理回路の複数種類の回路資源の
    ネットリストをデータ生成するリスト生成工程と、 このリスト生成工程でデータ生成された前記ネットリス
    トをデータ出力するリスト出力工程と、を具備している
    データ処理方法。
  31. 【請求項31】 並列演算装置の個々にデータ設定され
    る動作命令に対応してデータ処理を個々に実行する複数
    の処理回路と個々にデータ設定される動作命令に対応し
    て複数の前記処理回路の接続関係を個々に切換制御する
    複数の配線回路とがマトリクス配列されているマトリク
    ス回路部のネットリストから順次切り換わる複数サイク
    ルのコンテキストごとのオブジェクトコードをデータ生
    成するデータ処理装置のデータ処理方法であって、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記ネットリストをマトリクス配列されている複数の前記
    処理回路に複数サイクルの前記コンテキストごとに割り
    付ける処理配置工程と、この処理配置工程で前記処理回
    路に割り付けられた前記ネットリストを事前にデータ登
    録されている各種の前記オブジェクトコードに選択的に
    データ変換するコード変換工程と、 このコード変換手段でデータ変換された複数の前記処理
    回路の前記オブジェクトコードをデータ出力するオブジ
    ェクト出力工程と、を具備しているデータ処理方法。
  32. 【請求項32】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路と個
    々にデータ設定される動作命令に対応して複数の前記処
    理回路の接続関係を個々に切換制御する複数の配線回路
    とがマトリクス配列されている並列演算装置の動作記述
    の一連のソースコードから複数の前記処理回路と複数の
    前記配線回路との順次切り換わる動作サイクルごとの前
    記動作命令からなるコンテキストを少なくとも内包した
    一連のオブジェクトコードをデータ生成するデータ処理
    装置のためのコンピュータプログラムであって、 前記ソースコードのデータ入力を受け付けるソース入力
    処理と、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記ソースコードから順次切り換わる動作サイクルごとの
    前記コンテキストに対応した順次遷移する複数段階の動
    作状態を検出して前記オブジェクトコードをデータ生成
    するオブジェクト生成処理と、 このオブジェクト生成処理でデータ生成された前記オブ
    ジェクトコードをデータ出力するオブジェクト出力処理
    と、を前記データ処理装置に実行させるためのコンピュ
    ータプログラム。
  33. 【請求項33】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路と個
    々にデータ設定される動作命令に対応して複数の前記処
    理回路の接続関係を個々に切換制御する複数の配線回路
    とがマトリクス配列されている並列演算装置のCDFG
    をソースコードからデータ生成するデータ処理装置のた
    めのコンピュータプログラムであって、 前記ソースコードがデータ入力されるソース入力処理
    と、 このソース入力処理でデータ入力された前記ソースコー
    ドを言語解析してDFGをデータ生成するグラフ生成処
    理と、 このグラフ生成処理でデータ生成されたDFGから事前
    にデータ登録されている前記並列演算装置の少なくとも
    物理構造と物理特性とに対応した制約条件により複数段
    階の前記動作状態をスケジューリングしたCDFGをデ
    ータ生成するスケジュール生成処理と、を前記データ処
    理装置に実行させるためのコンピュータプログラム。
  34. 【請求項34】 処理データのビット数が相互に相違す
    る複数種類の回路資源を各々が具備していて個々にデー
    タ設定される動作命令に対応してデータ処理を個々に実
    行する複数の処理回路と個々にデータ設定される動作命
    令に対応して複数の前記処理回路の接続関係を個々に切
    換制御する複数の配線回路とがマトリクス配列されてい
    る並列演算装置のRTL記述から前記回路資源のネット
    リストをデータ生成するデータ処理装置のためのコンピ
    ュータプログラムであって、 前記並列演算装置のRTL記述がデータ入力される記述
    入力処理と、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記RTL記述から前記処理回路の複数種類の回路資源の
    ネットリストをデータ生成するリスト生成処理と、 このリスト生成処理でデータ生成された前記ネットリス
    トをデータ出力するリスト出力処理と、を前記データ処
    理装置に実行させるためのコンピュータプログラム。
  35. 【請求項35】 並列演算装置の個々にデータ設定され
    る動作命令に対応してデータ処理を個々に実行する複数
    の処理回路と個々にデータ設定される動作命令に対応し
    て複数の前記処理回路の接続関係を個々に切換制御する
    複数の配線回路とがマトリクス配列されているマトリク
    ス回路部のネットリストから順次切り換わる複数サイク
    ルのコンテキストごとのオブジェクトコードをデータ生
    成するデータ処理装置のためのコンピュータプログラム
    であって、 事前にデータ登録されている前記並列演算装置の少なく
    とも物理構造と物理特性とに対応した制約条件により前
    記ネットリストをマトリクス配列されている複数の前記
    処理回路に複数サイクルの前記コンテキストごとに割り
    付ける処理配置処理と、 この処理配置処理で前記処理回路に割り付けられた前記
    ネットリストを事前にデータ登録されている各種の前記
    オブジェクトコードに選択的にデータ変換するコード変
    換処理と、 このコード変換手段でデータ変換された複数の前記処理
    回路の前記オブジェクトコードをデータ出力するオブジ
    ェクト出力処理と、を前記データ処理装置に実行させる
    ためのコンピュータプログラム。
  36. 【請求項36】 データ処理装置のためのコンピュータ
    プログラムがデータ格納されている情報記憶媒体であっ
    て、 請求項32ないし35の何れか一項に記載のコンピュー
    タプログラムがデータ格納されている情報記憶媒体。
  37. 【請求項37】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路がマ
    トリクス配列されており、コード格納手段にデータ格納
    されているオブジェクトコードに対応して動作する並列
    演算装置であって、 前記コード格納手段に請求項1ないし3または13ない
    し27の何れか一項に記載のデータ処理装置でデータ生
    成されたオブジェクトコードがデータ格納されている並
    列演算装置。
  38. 【請求項38】 個々にデータ設定される動作命令に対
    応してデータ処理を個々に実行する複数の処理回路がマ
    トリクス配列されており、オブジェクト入力手段に外部
    入力されるオブジェクトコードに対応して動作する並列
    演算装置であって、 前記オブジェクト入力手段に請求項1ないし3または1
    3ないし27の何れか一項に記載のデータ処理装置でデ
    ータ生成されたオブジェクトコードが外部入力される並
    列演算装置。
  39. 【請求項39】 請求項1ないし3または13ないし2
    7の何れか一項に記載のデータ処理装置と、 このデータ処理装置でデータ生成されたオブジェクトコ
    ードが外部入力される請求項38に記載の並列演算装置
    と、を具備しているデータ処理システム。
  40. 【請求項40】 複数の処理回路と複数の配線回路とが
    マトリクス配列されているマトリクス回路部と、このマ
    トリクス回路部の動作命令を動作サイクルごとに順次切
    り換える状態管理部と、を別個に具備している並列演算
    装置と、 この並列演算装置の動作記述の一連のソースコードから
    データパスと有限状態マシンとを分離して一連のオブジ
    ェクトコードをデータ生成するデータ処理装置と、を具
    備しており、 前記並列演算装置の前記マトリクス回路部と前記データ
    パスとが対応しているとともに前記状態管理部と前記有
    限状態マシンとが対応しているデータ処理システム。
JP2001294241A 2001-09-26 2001-09-26 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム Expired - Lifetime JP3921367B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001294241A JP3921367B2 (ja) 2001-09-26 2001-09-26 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US10/252,564 US7120903B2 (en) 2001-09-26 2002-09-24 Data processing apparatus and method for generating the data of an object program for a parallel operation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001294241A JP3921367B2 (ja) 2001-09-26 2001-09-26 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006270702A Division JP4787711B2 (ja) 2006-10-02 2006-10-02 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム

Publications (2)

Publication Number Publication Date
JP2003099409A true JP2003099409A (ja) 2003-04-04
JP3921367B2 JP3921367B2 (ja) 2007-05-30

Family

ID=19115884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001294241A Expired - Lifetime JP3921367B2 (ja) 2001-09-26 2001-09-26 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Country Status (2)

Country Link
US (1) US7120903B2 (ja)
JP (1) JP3921367B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078309A (ja) * 2003-08-29 2005-03-24 Nec Corp データ処理システム
JP2007179567A (ja) * 2007-02-26 2007-07-12 Nec Corp データ処理システム
US7287146B2 (en) 2004-02-03 2007-10-23 Nec Corporation Array-type computer processor
JP2008181361A (ja) * 2007-01-25 2008-08-07 Fuji Xerox Co Ltd データ処理装置、画像処理装置、及びデータ処理プログラム
WO2009044635A1 (ja) * 2007-10-03 2009-04-09 Nec Corporation データ処理装置および方法
US7650484B2 (en) 2004-02-03 2010-01-19 Nec Corporation Array—type computer processor with reduced instruction storage
JP2010086310A (ja) * 2008-09-30 2010-04-15 Nec Corp 動作合成装置、動作合成方法並びにプログラム
US7793092B2 (en) 2005-12-28 2010-09-07 Nec Corporation Information processing apparatus and method for using reconfigurable device
US8069333B2 (en) 2006-04-05 2011-11-29 Nec Corporation Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system
JP2012243086A (ja) * 2011-05-19 2012-12-10 Renesas Electronics Corp 半導体集積回路装置
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
US9235672B2 (en) 2013-10-10 2016-01-12 Socionext Inc. High-level synthesis data generation apparatus, high-level synthesis apparatus, and high-level synthesis data generation method
DE102023121153A1 (de) 2022-08-09 2024-02-15 Renesas Electronics Corporation Prozessor und compiler

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL147902A0 (en) * 1999-08-12 2002-08-14 Agensys Inc C-type lectin transmembrane antigen expressed in human prostate cancer and uses thereof
AU2001245720A1 (en) * 2000-03-15 2001-09-24 Arc International Plc Method and apparatus for processor code optimization using code compression
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
US7278137B1 (en) * 2001-12-26 2007-10-02 Arc International Methods and apparatus for compiling instructions for a data processor
US7043682B1 (en) * 2002-02-05 2006-05-09 Arc International Method and apparatus for implementing decode operations in a data processor
JP2005078177A (ja) * 2003-08-28 2005-03-24 Nec Electronics Corp 並列演算装置
US7464375B2 (en) * 2004-06-24 2008-12-09 International Business Machines Corporation Method for flattening hierarchically structured flows
JP4619252B2 (ja) * 2005-09-29 2011-01-26 富士通セミコンダクター株式会社 リコンフィグ可能な集積回路装置
JP2009157440A (ja) * 2007-12-25 2009-07-16 Toshiba Corp 高位合成装置、高位合成システム、及び高位合成方法
US8732142B2 (en) * 2008-03-31 2014-05-20 Intel Corporation Generation of suggestions to correct data race errors
JP4635082B2 (ja) * 2008-09-30 2011-02-16 株式会社東芝 マルチプロセッサシステム及びグルーピング方法
GB2464703A (en) * 2008-10-22 2010-04-28 Advanced Risc Mach Ltd An array of interconnected processors executing a cycle-based program
WO2010087098A1 (ja) 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
FR2978263A1 (fr) * 2011-07-18 2013-01-25 Modae Technologies Procede de synthese de haut niveau d'une application
JP5985900B2 (ja) 2012-06-22 2016-09-06 ルネサスエレクトロニクス株式会社 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム
JP2014016894A (ja) 2012-07-10 2014-01-30 Renesas Electronics Corp 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム
CN103198193B (zh) * 2013-04-12 2015-12-02 北京大学 基于一阶模态幅值斜率的压气机旋转失速预测方法及系统
CN104123178B (zh) * 2014-07-25 2017-05-17 南京大学 基于图形处理器的并行化约束检测方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702986A (en) * 1970-07-06 1972-11-14 Texas Instruments Inc Trainable entropy system
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US4943912A (en) * 1987-10-13 1990-07-24 Hitachi, Ltd. Parallel processor system having control processor and array control apparatus for selectively activating different processors
EP0424618A3 (en) * 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
US5193202A (en) * 1990-05-29 1993-03-09 Wavetracer, Inc. Processor array with relocated operand physical address generator capable of data transfer to distant physical processor for each virtual processor while simulating dimensionally larger array processor
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
JPH08101861A (ja) 1994-09-30 1996-04-16 Toshiba Corp 論理回路合成装置
JPH10256383A (ja) 1997-03-12 1998-09-25 Toshiba Corp 半導体装置及びその回路構成方法
US5915123A (en) * 1997-10-31 1999-06-22 Silicon Spice Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
JP3576837B2 (ja) * 1998-10-30 2004-10-13 日本電気株式会社 プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP3444216B2 (ja) 1999-01-28 2003-09-08 日本電気株式会社 プログラマブルデバイス
JP3269526B2 (ja) * 1999-02-09 2002-03-25 日本電気株式会社 プログラマブルロジックlsi
JP3616518B2 (ja) 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
US6678646B1 (en) 1999-12-14 2004-01-13 Atmel Corporation Method for implementing a physical design for a dynamically reconfigurable logic circuit
JP2001236385A (ja) 2000-02-21 2001-08-31 Toshiba Corp 無線式記憶媒体システムと駅務システム
JP3528922B2 (ja) 2001-08-31 2004-05-24 日本電気株式会社 アレイ型プロセッサ、データ処理システム
JP3921367B2 (ja) * 2001-09-26 2007-05-30 日本電気株式会社 データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078309A (ja) * 2003-08-29 2005-03-24 Nec Corp データ処理システム
US7647485B2 (en) 2003-08-29 2010-01-12 Nec Corporation Data processing system for debugging utilizing halts in a parallel device
US7287146B2 (en) 2004-02-03 2007-10-23 Nec Corporation Array-type computer processor
US7650484B2 (en) 2004-02-03 2010-01-19 Nec Corporation Array—type computer processor with reduced instruction storage
US7793092B2 (en) 2005-12-28 2010-09-07 Nec Corporation Information processing apparatus and method for using reconfigurable device
US8069333B2 (en) 2006-04-05 2011-11-29 Nec Corporation Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system
JP2008181361A (ja) * 2007-01-25 2008-08-07 Fuji Xerox Co Ltd データ処理装置、画像処理装置、及びデータ処理プログラム
JP4633073B2 (ja) * 2007-02-26 2011-02-16 日本電気株式会社 データ処理システム
JP2007179567A (ja) * 2007-02-26 2007-07-12 Nec Corp データ処理システム
WO2009044635A1 (ja) * 2007-10-03 2009-04-09 Nec Corporation データ処理装置および方法
JP5240200B2 (ja) * 2007-10-03 2013-07-17 日本電気株式会社 データ処理装置および方法
JP2010086310A (ja) * 2008-09-30 2010-04-15 Nec Corp 動作合成装置、動作合成方法並びにプログラム
US8176451B2 (en) 2008-09-30 2012-05-08 Nec Corporation Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
US9021235B2 (en) 2009-08-25 2015-04-28 Nec Corporation Data processing device
JP2012243086A (ja) * 2011-05-19 2012-12-10 Renesas Electronics Corp 半導体集積回路装置
US9235672B2 (en) 2013-10-10 2016-01-12 Socionext Inc. High-level synthesis data generation apparatus, high-level synthesis apparatus, and high-level synthesis data generation method
DE102023121153A1 (de) 2022-08-09 2024-02-15 Renesas Electronics Corporation Prozessor und compiler

Also Published As

Publication number Publication date
JP3921367B2 (ja) 2007-05-30
US7120903B2 (en) 2006-10-10
US20030061601A1 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
JP2003099409A (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム
Fowers et al. A configurable cloud-scale DNN processor for real-time AI
US11429848B2 (en) Host-directed multi-layer neural network processing via per-layer work requests
US10949328B2 (en) Data flow graph computation using exceptions
US7350054B2 (en) Processor having array of processing elements whose individual operations and mutual connections are variable
US11436143B2 (en) Unified memory organization for neural network processors
EP3698293A1 (en) Neural network processing system having multiple processors and a neural network accelerator
US20210271630A1 (en) Compiler Flow Logic for Reconfigurable Architectures
US20190130270A1 (en) Tensor manipulation within a reconfigurable fabric using pointers
US20180181503A1 (en) Data flow computation using fifos
US11880426B2 (en) Integer matrix multiplication engine using pipelining
US20190057060A1 (en) Reconfigurable fabric data routing
GB1576000A (en) Multibus processor for increasing execution speed using a pipeline effect
US11436186B2 (en) High throughput processors
US20190197018A1 (en) Dynamic reconfiguration using data transfer control
TW544603B (en) Designer configurable multi-processor system
US10997102B2 (en) Multidimensional address generation for direct memory access
JP4787711B2 (ja) データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並びにデータ処理システム
Shahsavani et al. Efficient compilation and mapping of fixed function combinational logic onto digital signal processors targeting neural network inference and utilizing high-level synthesis
RU2819403C1 (ru) Векторное вычислительное ядро
US6292821B1 (en) Information processing
Islam et al. Energy-Efficient and High-Throughput CNN Inference Engine Based on Memory-Sharing and Data-Reusing for Edge Applications
WO2019113021A1 (en) Tensor manipulation within a reconfigurable fabric using pointers
Acosta et al. Reconfigurable processor for a data-flow video processing system
Masselos et al. Memory accesses reordering for interconnect power reduction in sum-of-products computations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041115

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041129

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060201

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060802

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060914

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061018

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070219

R150 Certificate of patent or registration of utility model

Ref document number: 3921367

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140223

Year of fee payment: 7

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350