JP2518902B2 - 並列計算機におけるイベントスケジュ―リング処理方式 - Google Patents
並列計算機におけるイベントスケジュ―リング処理方式Info
- Publication number
- JP2518902B2 JP2518902B2 JP63234546A JP23454688A JP2518902B2 JP 2518902 B2 JP2518902 B2 JP 2518902B2 JP 63234546 A JP63234546 A JP 63234546A JP 23454688 A JP23454688 A JP 23454688A JP 2518902 B2 JP2518902 B2 JP 2518902B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- address
- circuit
- control group
- event
- 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 - Fee Related
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔概要〕 SIMD型計算機等において,多数のプロセッサを効率よ
く動作させることができるようにした並列計算機におけ
るイベントスケジューリング処理方式に関し, 高い負荷分散を得ることができる制御を可能とした並
列計算機を提供することを目的とし, 並列計算機によるプロセッサを,複数個ずつ,アドレ
スに関する制御単位となる複数の制御グループにグルー
プ化し,各制御グループごとに,隣接する制御グループ
からの処理対象データ群に対するアドレスを指定するイ
ベントを受信し管理するスケジューリング回路と,この
スケジューリング回路によって管理されるイベントに基
づいて決定されるベースアドレスと,上記コントローラ
から供給されるアドレスとにより,その制御グループに
属するプロセッサが処理すべきデータのアドレスを生成
する実アドレス生成回路とを備えるように構成する。
く動作させることができるようにした並列計算機におけ
るイベントスケジューリング処理方式に関し, 高い負荷分散を得ることができる制御を可能とした並
列計算機を提供することを目的とし, 並列計算機によるプロセッサを,複数個ずつ,アドレ
スに関する制御単位となる複数の制御グループにグルー
プ化し,各制御グループごとに,隣接する制御グループ
からの処理対象データ群に対するアドレスを指定するイ
ベントを受信し管理するスケジューリング回路と,この
スケジューリング回路によって管理されるイベントに基
づいて決定されるベースアドレスと,上記コントローラ
から供給されるアドレスとにより,その制御グループに
属するプロセッサが処理すべきデータのアドレスを生成
する実アドレス生成回路とを備えるように構成する。
本発明は,SIMD型計算機等において,多数のプロセッ
サを効率よく動作させることができるようにした並列計
算機におけるイベントスケジューリング処理方式に関す
る。
サを効率よく動作させることができるようにした並列計
算機におけるイベントスケジューリング処理方式に関す
る。
例えば、配線処理等のLSI−CADを含む大規模組み合わ
せ問題は,非常に高速な演算能力を必要とする。これを
解決するためには,多数のプロセッサを用いて構成する
超並列計算機によって,高速演算処理を行うことが有望
であり,多数のプロセッサを効率よく動作させる技術が
必要となる。
せ問題は,非常に高速な演算能力を必要とする。これを
解決するためには,多数のプロセッサを用いて構成する
超並列計算機によって,高速演算処理を行うことが有望
であり,多数のプロセッサを効率よく動作させる技術が
必要となる。
並列計算機の構成として,複数のプロセッサが,個別
の命令によってそれぞれ与えられたデータを処理するMI
MD(Multiple Instruction stream Multiple Data stre
am)型のものや,すべてのプロセッサが,同一の命令の
流れによってそれぞれ与えられたデータを処理するSIMD
(Single Instruction stream Multiple Data stream)
型のものなどがある。
の命令によってそれぞれ与えられたデータを処理するMI
MD(Multiple Instruction stream Multiple Data stre
am)型のものや,すべてのプロセッサが,同一の命令の
流れによってそれぞれ与えられたデータを処理するSIMD
(Single Instruction stream Multiple Data stream)
型のものなどがある。
プロセッサ数が数十〜数百のシステムでは,MIDM型の
構成をとることによって,それぞれプロセッサが処理す
べきデータを独立に扱い,負荷分散を上げることができ
る。しかしながら,MIMD型の並列計算機では,プロセッ
サごとに制御回路を用意しなければならないので,物量
が多くなり,例えば数万規模の構成をとることは,現実
的に不可能である。
構成をとることによって,それぞれプロセッサが処理す
べきデータを独立に扱い,負荷分散を上げることができ
る。しかしながら,MIMD型の並列計算機では,プロセッ
サごとに制御回路を用意しなければならないので,物量
が多くなり,例えば数万規模の構成をとることは,現実
的に不可能である。
一方,SIMD型の並列計算機では,数万規模の構成のも
のが実現されている(例:Thinking Machines社のコネク
ション・マシン)。
のが実現されている(例:Thinking Machines社のコネク
ション・マシン)。
SIMD型の並列計算機では,同一の命令の流れで,各プ
ロセッサを制御するので,非常に多数のプロセッサを持
つ構成を実現することができる。
ロセッサを制御するので,非常に多数のプロセッサを持
つ構成を実現することができる。
SIMD型の場合,多数のプロセッサを持つ並列計算機を
実現できる反面,すべてのプロセッサに対し、同じ動作
をさせることになるため,負荷分散が難しいという問題
がある。例えば,SIMD型の並列計算機を,LSI設計におけ
る配線処理に用いた場合,迷路法におけるウェーブフロ
ント等を担当するプロセッサは,ほんの一部であり,大
部分のプロセッサは,実質的に休止の状態となる。この
ような応用分野に限らず,SIMD型の並列計算機では,多
くのプロセッサを無駄なく動作させるということが困難
である。
実現できる反面,すべてのプロセッサに対し、同じ動作
をさせることになるため,負荷分散が難しいという問題
がある。例えば,SIMD型の並列計算機を,LSI設計におけ
る配線処理に用いた場合,迷路法におけるウェーブフロ
ント等を担当するプロセッサは,ほんの一部であり,大
部分のプロセッサは,実質的に休止の状態となる。この
ような応用分野に限らず,SIMD型の並列計算機では,多
くのプロセッサを無駄なく動作させるということが困難
である。
本発明は上記問題点の解決を図り,高い負荷分散を得
ることができる制御を可能とした並列計算機を提供する
ことを目的としている。また,各プロセッサが処理する
データの連携を,効率的に行う手段を提供することを目
的としている。
ることができる制御を可能とした並列計算機を提供する
ことを目的としている。また,各プロセッサが処理する
データの連携を,効率的に行う手段を提供することを目
的としている。
第1図は本発明の構成例を示す。
第1図において,10はコントローラ,11はイベントのス
ケジューリングを行うスケジューリング回路,12は実ア
ドレスを生成する実アドレス生成回路,14はプロセッサ
(PE:Processing Element),15は擬似隣接プロセッサ,G
1〜G4はアドレスに関する制御単位となる制御グループ
を表す。
ケジューリングを行うスケジューリング回路,12は実ア
ドレスを生成する実アドレス生成回路,14はプロセッサ
(PE:Processing Element),15は擬似隣接プロセッサ,G
1〜G4はアドレスに関する制御単位となる制御グループ
を表す。
プロセッサ14は,各々,処理対象となるデータを記憶
する回路と演算回路とを持ち,コントローラ10から送ら
れてくる制御信号による同一の命令の流れによって,各
プロセッサ14に与えられたデータを処理する。処理対象
となるデータは,各プロセッサ14に個別に用意されたメ
モリに格納され,コントローラ10からのアドレス信号に
よって,そのデータが読み・書きされる。
する回路と演算回路とを持ち,コントローラ10から送ら
れてくる制御信号による同一の命令の流れによって,各
プロセッサ14に与えられたデータを処理する。処理対象
となるデータは,各プロセッサ14に個別に用意されたメ
モリに格納され,コントローラ10からのアドレス信号に
よって,そのデータが読み・書きされる。
本発明では,プロセッサ14は,複数個ずつ,アドレス
に関する制御単位となる複数の制御グループG1,G2,…に
グループ化される。そして,各制御グループG1,G2,…ご
とに,スケジューリング回路11と実アドレス生成回路12
とが設けられる。
に関する制御単位となる複数の制御グループG1,G2,…に
グループ化される。そして,各制御グループG1,G2,…ご
とに,スケジューリング回路11と実アドレス生成回路12
とが設けられる。
スケジューリング回路11は,隣接する制御グループか
らの処理対象データ群に対するアドレスを指定するイベ
ントを受信し,そのイベントによって指定されたアドレ
スをキュー等によって管理する回路である。
らの処理対象データ群に対するアドレスを指定するイベ
ントを受信し,そのイベントによって指定されたアドレ
スをキュー等によって管理する回路である。
実アドレス生成回路12は,スケジューリング回路11に
よって管理されるイベントに基づいて決定されるベース
アドレスと,コントローラ10から供給されるアドレスと
により,その制御グループに属するプロセッサ14が処理
すべきデータのメモリ上における実際のアドレスを生成
する回路である。
よって管理されるイベントに基づいて決定されるベース
アドレスと,コントローラ10から供給されるアドレスと
により,その制御グループに属するプロセッサ14が処理
すべきデータのメモリ上における実際のアドレスを生成
する回路である。
また,各制御グループG1,G2,…間の境界部周辺に,必
要に応じて,擬似隣接プロセッサ15が設けられる。擬似
隣接プロセッサ15は,各制御グループ間の境界部周辺に
位置するプロセッサ14が,隣接する制御グループにおけ
る隣接プロセッサ14とデータの授受を行うときに,あた
かも処理対象領域が連続しているかのように,それぞれ
のプロセッサが扱うデータのアドレスに対応するデータ
を送出する機構を持つ。
要に応じて,擬似隣接プロセッサ15が設けられる。擬似
隣接プロセッサ15は,各制御グループ間の境界部周辺に
位置するプロセッサ14が,隣接する制御グループにおけ
る隣接プロセッサ14とデータの授受を行うときに,あた
かも処理対象領域が連続しているかのように,それぞれ
のプロセッサが扱うデータのアドレスに対応するデータ
を送出する機構を持つ。
従来のSIMD型計算機等では、各プロセッサは同一の命
令の流れで制御され,その各プロセッサが持つメモリの
アドレスも同一のものが供給されるため,処理対象領域
は単一的である。
令の流れで制御され,その各プロセッサが持つメモリの
アドレスも同一のものが供給されるため,処理対象領域
は単一的である。
本発明では,プロセッサ14が,いくつかの制御グルー
プに分割され,各制御グループごとに,異なる領域を,
処理対象として扱うことができる構成になっている。す
なわち,各制御グループごとに,スケジューリング回路
11が指定するベースアドレスと,コントローラ10からの
相対アドレスとによって,実際にデータが存在するアド
レスが生成されるようになっている。従って,各プロセ
ッサ14における処理対象領域を,各制御グループにおい
て実際に処理が必要なデータが存在する個所に持ってい
くことができる。処理が必要であるかどうかは,隣接す
る制御グループ間で通知されるイベントを管理すること
によって判別する。
プに分割され,各制御グループごとに,異なる領域を,
処理対象として扱うことができる構成になっている。す
なわち,各制御グループごとに,スケジューリング回路
11が指定するベースアドレスと,コントローラ10からの
相対アドレスとによって,実際にデータが存在するアド
レスが生成されるようになっている。従って,各プロセ
ッサ14における処理対象領域を,各制御グループにおい
て実際に処理が必要なデータが存在する個所に持ってい
くことができる。処理が必要であるかどうかは,隣接す
る制御グループ間で通知されるイベントを管理すること
によって判別する。
実装されているプロセッサ14と,それが扱う処理対象
データのアドレスとが,各制御グループごとに可変化さ
れて制御されるので,処理対象データに着目して見た場
合,1つのプロセッサ14上で,複数の仮想的なプロセッサ
が動作しているかのように見ることができる。このよう
に,仮想プロセッサとイベントの概念を導入することに
より,プロセッサ14の負荷分散が可能となる。
データのアドレスとが,各制御グループごとに可変化さ
れて制御されるので,処理対象データに着目して見た場
合,1つのプロセッサ14上で,複数の仮想的なプロセッサ
が動作しているかのように見ることができる。このよう
に,仮想プロセッサとイベントの概念を導入することに
より,プロセッサ14の負荷分散が可能となる。
処理対象領域の連続性を保証する必要がある場合に
は,各制御グループ間の境界部周辺に,擬似隣接プロセ
ッサ15を設けることにより,アドレスの調整が可能であ
る。擬似隣接プロセッサ15がない場合,制御グループ間
でアドレスを調整し,相手が必要とするデータを送るた
めの制御フェーズを設ければよいが,その分だけ効率が
悪くなる。
は,各制御グループ間の境界部周辺に,擬似隣接プロセ
ッサ15を設けることにより,アドレスの調整が可能であ
る。擬似隣接プロセッサ15がない場合,制御グループ間
でアドレスを調整し,相手が必要とするデータを送るた
めの制御フェーズを設ければよいが,その分だけ効率が
悪くなる。
第2図は本発明の実施例で用いられるプロセッサの構
成例,第3図は本発明の実施例に係る仮想プロセッサの
概念を説明する図,第4図は本発明の実施例に係るウィ
ンドウ分割説明図,第5図は本発明の実施例に係るアド
レス割り付けの例,第6図は本発明の実施例に係る制御
グループの例,第7図は本発明の実施例に係るスケジュ
ーリング回路接続例,第8図は本発明の実施例に係る擬
似隣接プロセッサ説明図,第9図は本発明の実施例に係
るスケジューリング回路ブロック図,第10図は第9図に
示すウィンドウ番号入力部の例,第11図は第9図に示す
連続性検出部の例,第12図は第9図に示すイベント入力
部の例,第13図は第9図に示すイベント解釈回路論理説
明図,第14図は第9図に示すFIFO回路の例,第15図は第
9図に示す登録フラグの列,第16図は第9図に示すアド
レス計算回路説明図,第17図は本発明の実施例に係る実
アドレス生成回路の例を示す。
成例,第3図は本発明の実施例に係る仮想プロセッサの
概念を説明する図,第4図は本発明の実施例に係るウィ
ンドウ分割説明図,第5図は本発明の実施例に係るアド
レス割り付けの例,第6図は本発明の実施例に係る制御
グループの例,第7図は本発明の実施例に係るスケジュ
ーリング回路接続例,第8図は本発明の実施例に係る擬
似隣接プロセッサ説明図,第9図は本発明の実施例に係
るスケジューリング回路ブロック図,第10図は第9図に
示すウィンドウ番号入力部の例,第11図は第9図に示す
連続性検出部の例,第12図は第9図に示すイベント入力
部の例,第13図は第9図に示すイベント解釈回路論理説
明図,第14図は第9図に示すFIFO回路の例,第15図は第
9図に示す登録フラグの列,第16図は第9図に示すアド
レス計算回路説明図,第17図は本発明の実施例に係る実
アドレス生成回路の例を示す。
本実施例の並列計算機は,第2図に示すようなプロセ
ッサ14を格子状に結合した構成になっている。以下,格
子結合されたマルチプロセッサを例に説明するが,本発
明は,格子結合に限らず,超立方体結合やその他の結合
による並列計算機にも,同様に適用することができる。
ッサ14を格子状に結合した構成になっている。以下,格
子結合されたマルチプロセッサを例に説明するが,本発
明は,格子結合に限らず,超立方体結合やその他の結合
による並列計算機にも,同様に適用することができる。
各プロセッサ14は,内部に,演算対象となるデータを
保持するデータレジスタ21と,入出力データおよびデー
タレジスタ21に記憶されているデータについての演算を
行う演算回路(ALU)を持つ。また,データレジスタ21
へのロード対象となるデータを記憶する外部メモリ20を
持つ。外部メモリ20のアドレスは,各制御グループごと
に設けられた実アドレス生成回路12から供給される。本
発明は,主として,この外部メモリ20に対するアドレス
制御に関連している。
保持するデータレジスタ21と,入出力データおよびデー
タレジスタ21に記憶されているデータについての演算を
行う演算回路(ALU)を持つ。また,データレジスタ21
へのロード対象となるデータを記憶する外部メモリ20を
持つ。外部メモリ20のアドレスは,各制御グループごと
に設けられた実アドレス生成回路12から供給される。本
発明は,主として,この外部メモリ20に対するアドレス
制御に関連している。
各プロセッサ14は,第1図に示すコントローラ10から
送られる同一の制御信号で制御される。この制御信号に
は,データレジスタ21のアドレス,演算回路22に対する
オペレーション・コード等が含まれる。
送られる同一の制御信号で制御される。この制御信号に
は,データレジスタ21のアドレス,演算回路22に対する
オペレーション・コード等が含まれる。
プロセッサ14は,東(E),西(W),南(S),北
(N)の4方向の隣接プロセッサとの通信を行うための
EWNSポートを持つ。また,全プロセッサ14に対して,コ
ントローラ10から同じ値を与えるためのグローバルデー
タ入力の端子と,コントローラ10へのデータ出力の端子
を持つ。
(N)の4方向の隣接プロセッサとの通信を行うための
EWNSポートを持つ。また,全プロセッサ14に対して,コ
ントローラ10から同じ値を与えるためのグローバルデー
タ入力の端子と,コントローラ10へのデータ出力の端子
を持つ。
第2図に示すプロセッサ14は,1ビット・プロセッサで
あり,データレジスタ21への入出力や外部とのデータ入
出力は,すべて1ビットを基本としている。1ビットよ
りも大きいデータは,その大きさに応じて1ビットず
つ,上位ビットまたは下位ビット側から連続して処理す
る。これにより,何ビットのデータでも処理することが
できるようになっている。もちろん,本発明は,この例
のような1ビット・プロセッサに限らず,複数ビットの
入出力を行うプロセッサにも同様に適用することが可能
である。
あり,データレジスタ21への入出力や外部とのデータ入
出力は,すべて1ビットを基本としている。1ビットよ
りも大きいデータは,その大きさに応じて1ビットず
つ,上位ビットまたは下位ビット側から連続して処理す
る。これにより,何ビットのデータでも処理することが
できるようになっている。もちろん,本発明は,この例
のような1ビット・プロセッサに限らず,複数ビットの
入出力を行うプロセッサにも同様に適用することが可能
である。
本発明では,並列計算機上に実装されているプロセッ
サ14の数より,多数のプロセッサがあるかのように取り
扱い可能とするため,仮想プロセッサの概念を導入す
る。例えば,LSI設計における配線処理を並列計算機によ
って行う場合,プロセッサ数よりも大きな配線領域を扱
うことができることが必要となり,そのような配線処理
のプログラムを,実際のプロセッサ数を気にしないで記
述できるようにすることが望まれる。
サ14の数より,多数のプロセッサがあるかのように取り
扱い可能とするため,仮想プロセッサの概念を導入す
る。例えば,LSI設計における配線処理を並列計算機によ
って行う場合,プロセッサ数よりも大きな配線領域を扱
うことができることが必要となり,そのような配線処理
のプログラムを,実際のプロセッサ数を気にしないで記
述できるようにすることが望まれる。
そのため,第3図に示すように,実装されているプロ
セッサが一時点で直接処理対象とする領域よりも大きな
二次元のメモリ空間30内を,実プロセッサ(PE)群が移
動して処理していくことで,メモリ空間30の大きさを持
つ仮想PE群があるかのように見せる。
セッサが一時点で直接処理対象とする領域よりも大きな
二次元のメモリ空間30内を,実プロセッサ(PE)群が移
動して処理していくことで,メモリ空間30の大きさを持
つ仮想PE群があるかのように見せる。
具体的には,第4図に示すように,メモリ空間30の仮
想領域について,例えば128×128個の仮想PEの大きさを
単位とするウィンドウ31を,最大256個用いて管理す
る。すなわち,仮想領域を,n×mのウィンドウ31による
任意な短形で組み合わせて管理する。各ウィンドウ31
は,第4図に示すように,0からnm−1までのウィンドウ
番号によって識別する。
想領域について,例えば128×128個の仮想PEの大きさを
単位とするウィンドウ31を,最大256個用いて管理す
る。すなわち,仮想領域を,n×mのウィンドウ31による
任意な短形で組み合わせて管理する。各ウィンドウ31
は,第4図に示すように,0からnm−1までのウィンドウ
番号によって識別する。
1個の実PEに着目してみると,第5図(イ)に示すよ
うに,1PEの外部メモリ20を分割し,その1つ1つを仮想
PEのメモリ空間として利用することになる。この例で
は,実PEのメモリ空間が,0000番地からFFFF番地までの1
6ビットのアドレス空間を持ち,仮想PEのメモリ空間
を,それぞれ12ビットのアドレス空間としている。1個
の実PEが16個の仮想PEを担当することになる。
うに,1PEの外部メモリ20を分割し,その1つ1つを仮想
PEのメモリ空間として利用することになる。この例で
は,実PEのメモリ空間が,0000番地からFFFF番地までの1
6ビットのアドレス空間を持ち,仮想PEのメモリ空間
を,それぞれ12ビットのアドレス空間としている。1個
の実PEが16個の仮想PEを担当することになる。
外部メモリ20に対するアドレスは,第5図(ロ)に示
すように生成される。ウィンドウ番号は,個々の仮想PE
のメモリ空間の先頭を示すベースアドレスとなる。ウィ
ンドウは,最大256個設けることができるため,ウィン
ドウ番号として8ビット用意されるが,この例のよう
に,16分割した場合には,ウィンドウ番号の下位4ビッ
トを“0"とする。
すように生成される。ウィンドウ番号は,個々の仮想PE
のメモリ空間の先頭を示すベースアドレスとなる。ウィ
ンドウは,最大256個設けることができるため,ウィン
ドウ番号として8ビット用意されるが,この例のよう
に,16分割した場合には,ウィンドウ番号の下位4ビッ
トを“0"とする。
仮想PEアドレスは,各仮想PEのメモリ空間における相
対アドレスである。この仮想PEアドレスは,処理対象デ
ータへのアクセスが必要な場合に,第1図に示すコント
ローラ10から,各プロセッサ14に対して共通に送られる
アドレスである。仮想PEアドレスは,ウィンドウの個数
に応じて,その上位ビットに“0"が詰められる。16個の
ウィンドウに分割されている場合,実質的な仮想PEアド
レスは12ビットである。
対アドレスである。この仮想PEアドレスは,処理対象デ
ータへのアクセスが必要な場合に,第1図に示すコント
ローラ10から,各プロセッサ14に対して共通に送られる
アドレスである。仮想PEアドレスは,ウィンドウの個数
に応じて,その上位ビットに“0"が詰められる。16個の
ウィンドウに分割されている場合,実質的な仮想PEアド
レスは12ビットである。
第5図(ロ)に示すように,ウィンドウ番号と仮想PE
アドレスとを加算する,または論理和をとることによ
り,外部メモリ20に対する実アドレスが生成されること
になる。
アドレスとを加算する,または論理和をとることによ
り,外部メモリ20に対する実アドレスが生成されること
になる。
仮想PEにおける処理の実行は,担当する実PEが,分割
されたメモリ空間内のデータを順に処理していくことで
行う。この最も単純な実現法として,実PEが,常に,担
当するすべての仮想PEを順に処理していくことが考えら
れる。しかし,仮想PEの中で,本当に処理が必要なもの
だけを抽出して実行させることができるならば、その部
分だけを選択的に実行制御することにより,処理の効率
化を図ることが可能である。そのため,イベントの概念
を導入し,無駄な仮想PEの処理を省く制御を行う。
されたメモリ空間内のデータを順に処理していくことで
行う。この最も単純な実現法として,実PEが,常に,担
当するすべての仮想PEを順に処理していくことが考えら
れる。しかし,仮想PEの中で,本当に処理が必要なもの
だけを抽出して実行させることができるならば、その部
分だけを選択的に実行制御することにより,処理の効率
化を図ることが可能である。そのため,イベントの概念
を導入し,無駄な仮想PEの処理を省く制御を行う。
イベントは,仮想PEの処理すべき条件が成立したとき
に起動されるものである。イベントが伝播された仮想PE
は,実PEにおける処理の対象として扱われる。イベント
の例として,配線処理においては,ラベリング時にラベ
ルの値が書き換わること,バックトレース時にトレース
信号が伝播されることなどが挙げられる。どちらも配線
領域内において,それらが発生した部分についての処理
(ラベル値の評価,トレース処理)を行うべき事象であ
る。何をイベントとして扱うかは,各プロセッサ14を制
御するコントローラ10が,プログラムに応じて決定す
る。
に起動されるものである。イベントが伝播された仮想PE
は,実PEにおける処理の対象として扱われる。イベント
の例として,配線処理においては,ラベリング時にラベ
ルの値が書き換わること,バックトレース時にトレース
信号が伝播されることなどが挙げられる。どちらも配線
領域内において,それらが発生した部分についての処理
(ラベル値の評価,トレース処理)を行うべき事象であ
る。何をイベントとして扱うかは,各プロセッサ14を制
御するコントローラ10が,プログラムに応じて決定す
る。
次に,以上のような仮想PEの具体的な実現のし方につ
いて説明する。
いて説明する。
まず,第6図に示すように,プロセッサ14群を,制御
グループと呼ぶ短形の集合に分ける。第6図に示す例で
は,128×128個のプロセッサ14を,32×32個のプロセッサ
14を持つ16個の制御グループG1,G2,…に分割した構成に
なっている。
グループと呼ぶ短形の集合に分ける。第6図に示す例で
は,128×128個のプロセッサ14を,32×32個のプロセッサ
14を持つ16個の制御グループG1,G2,…に分割した構成に
なっている。
この各制御グループG1,G2,…ごとに,仮想PE上の担当
する領域の中から,イベントの起こったところを次々に
処理していく。従って,制御グループ内では,連続した
領域を扱うことになるが,制御グループ間の境界では,
必ずしも連続した領域とはならない。このようにPE全体
ではなく,それを分割した単位で,任意の領域を処理で
きるようにすることで,各プロセッサ14の稼動率を上げ
る。稼動率の点だけを考えると,制御グループを構成す
るPE数を小さくしたほうが好ましいが,その実現に必要
な物量が増加することになる。
する領域の中から,イベントの起こったところを次々に
処理していく。従って,制御グループ内では,連続した
領域を扱うことになるが,制御グループ間の境界では,
必ずしも連続した領域とはならない。このようにPE全体
ではなく,それを分割した単位で,任意の領域を処理で
きるようにすることで,各プロセッサ14の稼動率を上げ
る。稼動率の点だけを考えると,制御グループを構成す
るPE数を小さくしたほうが好ましいが,その実現に必要
な物量が増加することになる。
上述したイベントの管理のために,第7図に示すよう
に,各制御グループG1,G2,…ごとに,スケジューリング
回路11を設け,また実アドレス生成回路12を設ける。
に,各制御グループG1,G2,…ごとに,スケジューリング
回路11を設け,また実アドレス生成回路12を設ける。
スケジューリング回路11は,各制御グループのPE群か
らイベントを受信し,処理すべき仮想PEを管理する。イ
ベントにより処理対象となった仮想PEの番号,すなわち
ウィンドウ番号は,スケジューリング回路11においてキ
ューイングされ,キューの先頭から順に処理される。
らイベントを受信し,処理すべき仮想PEを管理する。イ
ベントにより処理対象となった仮想PEの番号,すなわち
ウィンドウ番号は,スケジューリング回路11においてキ
ューイングされ,キューの先頭から順に処理される。
処理実行の順がまわってきた仮想PEの処理は,スケジ
ューリング回路11が,その仮想PEに対応するベースアド
レスを,実アドレス生成回路12に送ることにより行われ
る。このように,スケジューリング回路11が行うべき処
理は,イベントの伝播した仮想PEのキューイングと,そ
れらに対する実PEに割り付けである。
ューリング回路11が,その仮想PEに対応するベースアド
レスを,実アドレス生成回路12に送ることにより行われ
る。このように,スケジューリング回路11が行うべき処
理は,イベントの伝播した仮想PEのキューイングと,そ
れらに対する実PEに割り付けである。
実アドレス生成回路12は,コントローラから全PEに対
し共通に送られてくる制御信号の1つである仮想PEの相
対アドレスと,スケジューリング回路11が決定した仮想
PEのベースアドレスとから,実アドレスを生成し,各制
御グループG1,G2,…に存在する実PEへ供給する。
し共通に送られてくる制御信号の1つである仮想PEの相
対アドレスと,スケジューリング回路11が決定した仮想
PEのベースアドレスとから,実アドレスを生成し,各制
御グループG1,G2,…に存在する実PEへ供給する。
スケジューリング回路11は,それぞれ隣接する4方向
の制御グループに属するPE群およびその隣接制御グルー
プのスケジューリング回路11と,自分の担当する制御グ
ループ内のPE群とに接続される。主な入出力信号は,以
下のとおりである。
の制御グループに属するPE群およびその隣接制御グルー
プのスケジューリング回路11と,自分の担当する制御グ
ループ内のPE群とに接続される。主な入出力信号は,以
下のとおりである。
(a)イベント信号〔入力〕 隣接する制御グループ境界上のPEから伝えられるイベ
ント信号(全部で32PE分)のオア(OR)論理をとったも
ので,E・W・N・Sの各方向に対して,各1ビットの入
力信号である。
ント信号(全部で32PE分)のオア(OR)論理をとったも
ので,E・W・N・Sの各方向に対して,各1ビットの入
力信号である。
(b)ウィンドウ番号〔入力〕 隣接するスケジューリング回路11のウィンドウ番号出
力が入力される。各方向に対して8ビットの入力信号で
ある。イベント信号がアクティブになったときに,その
方向のウィンドウ番号を入力しキューイングする。
力が入力される。各方向に対して8ビットの入力信号で
ある。イベント信号がアクティブになったときに,その
方向のウィンドウ番号を入力しキューイングする。
(c)自己(self)イベント信号〔入力〕 自分が担当する制御グループ内PEのイベント信号(全
部で32×32PE分)のOR論理をとった1ビットの入力信号
である。
部で32×32PE分)のOR論理をとった1ビットの入力信号
である。
(d)ウィンドウ番号〔出力〕 隣接するスケジューリング回路11へのウィンドウ番号
出力で,各方向ごとに8ビットである。
出力で,各方向ごとに8ビットである。
(e)ベースアドレス〔出力〕 キューの先端から取り出された仮想PEのウィンドウ番
号に対応するアドレスを示す実アドレス生成回路12への
出力信号である。
号に対応するアドレスを示す実アドレス生成回路12への
出力信号である。
(f)各種制御信号〔入力,出力〕 コントローラからの入力またはコントローラへの出力
信号であり,次の仮想PEをキューから取り出すことを指
示する制御信号(next)入力,データの流れる東西南北
の方向を示す制御信号(dir)入力,クロック信号入
力,キューが空になったことを示す制御信号(empty)
出力等がある。
信号であり,次の仮想PEをキューから取り出すことを指
示する制御信号(next)入力,データの流れる東西南北
の方向を示す制御信号(dir)入力,クロック信号入
力,キューが空になったことを示す制御信号(empty)
出力等がある。
次に,制御グループ間の領域の連続性を効率よく保証
するために用いる擬似隣接プロセッサについて,第8図
に従って説明する。
するために用いる擬似隣接プロセッサについて,第8図
に従って説明する。
第8図において,14A,14Bは制御グループの境界を越え
て互いに隣接するプロセッサである。このプロセッサ14
A,14Bに対応して,擬似隣接プロセッサ1A,15Bが設けら
れる。
て互いに隣接するプロセッサである。このプロセッサ14
A,14Bに対応して,擬似隣接プロセッサ1A,15Bが設けら
れる。
隣接する制御グループが,異なるウィンドウを処理対
象としているとき,制御グループの境界を越えて,隣接
するPEの値をそのまま受け取ると,必要とするウィンド
ウ内の値を受け取ることができなくなる。
象としているとき,制御グループの境界を越えて,隣接
するPEの値をそのまま受け取ると,必要とするウィンド
ウ内の値を受け取ることができなくなる。
そのため,第8図に示すように,制御グループの境界
部における1接続ごとに,相手側のウィンドウに相当す
るデータを送り出すためのPEを余分に置き,擬似隣接プ
ロセッサ15A,15Bとする。この擬似隣接プロセッサ15A,1
5Bを設けることにより,扱う領域が不連続となる制御グ
ループ間の境界部においても,隣接するPEの値を用いた
計算の実行を保証することができる。扱うウィンドウ
が,隣接する制御グループ間で連続している場合には,
セレクタS1,S2を切り換えることにより,擬似隣接プロ
セッサ15A,15Bを用いないで,直接,隣接するプロセッ
サ14A,14B間でアクセスする。
部における1接続ごとに,相手側のウィンドウに相当す
るデータを送り出すためのPEを余分に置き,擬似隣接プ
ロセッサ15A,15Bとする。この擬似隣接プロセッサ15A,1
5Bを設けることにより,扱う領域が不連続となる制御グ
ループ間の境界部においても,隣接するPEの値を用いた
計算の実行を保証することができる。扱うウィンドウ
が,隣接する制御グループ間で連続している場合には,
セレクタS1,S2を切り換えることにより,擬似隣接プロ
セッサ15A,15Bを用いないで,直接,隣接するプロセッ
サ14A,14B間でアクセスする。
すなわち,プロセッサ14Aは,自分の外部メモリ20Aに
対して,リード/ライト(R/W)するとき,ライト・デ
ータについては,擬似隣接プロセッサ15Aの外部メモリ2
0aにも同時に書き込む。プロセッサ14Bへ,プロセッサ1
4A側からデータを送り出す場合,擬似隣接プロセッサ15
Aが,外部メモリ20aの値を読み出して,プロセッサ14A
の代わりに,その値を送信する。その外部メモリ20aの
アドレスは,プロセッサ14B側が処理しているウィンド
ウのアドレスとする。プロセッサ14B側からプロセッサ1
4Aへ値を送る場合も同様である。
対して,リード/ライト(R/W)するとき,ライト・デ
ータについては,擬似隣接プロセッサ15Aの外部メモリ2
0aにも同時に書き込む。プロセッサ14Bへ,プロセッサ1
4A側からデータを送り出す場合,擬似隣接プロセッサ15
Aが,外部メモリ20aの値を読み出して,プロセッサ14A
の代わりに,その値を送信する。その外部メモリ20aの
アドレスは,プロセッサ14B側が処理しているウィンド
ウのアドレスとする。プロセッサ14B側からプロセッサ1
4Aへ値を送る場合も同様である。
第8図では,1次元方向の接続だけを示しているが,実
際には,2次元格子における制御グループの境界部におい
て,2次元方向に同様の接続を行う。
際には,2次元格子における制御グループの境界部におい
て,2次元方向に同様の接続を行う。
本実施例に係るスケジューリング回路は,第9図に示
すような構成になっている。
すような構成になっている。
第9図において,50はウィンドウ番号入力部,51は登録
テーブル,52は連続性検出部,53はイベント入力部,54は
イベント解釈回路,55はFIFO(First In First Out)回
路,56は登録フラグ,57はアドレス保持フラグ,58はアド
レス計算回路,R1〜R4はパイプライン制御のためのレジ
スタである。
テーブル,52は連続性検出部,53はイベント入力部,54は
イベント解釈回路,55はFIFO(First In First Out)回
路,56は登録フラグ,57はアドレス保持フラグ,58はアド
レス計算回路,R1〜R4はパイプライン制御のためのレジ
スタである。
第9図に示すウィンドウ番号入力部50は,隣接する4
方向の制御グループから通知されるウィンドウ番号を入
力する回路であり,第10図に示すような構成になってい
る。第10図に示す各レジスタR10は,東西南北(EWNS)
の各方向からのウィンドウ番号を保持するレジスタであ
る。セレクタS10は,プロセッサ間通信の方向を示すコ
ントローラからの制御信号dirに応じて,出力を選択す
る。
方向の制御グループから通知されるウィンドウ番号を入
力する回路であり,第10図に示すような構成になってい
る。第10図に示す各レジスタR10は,東西南北(EWNS)
の各方向からのウィンドウ番号を保持するレジスタであ
る。セレクタS10は,プロセッサ間通信の方向を示すコ
ントローラからの制御信号dirに応じて,出力を選択す
る。
第9図に示す登録テーブル51は,ウィンドウ番号が登
録されているかどうかを示すフラグ群からなるテーブル
であり,最大256個の各ウィンドウに対して,それぞれ
1ビットが割り当てられている。ウィンドウ番号入力部
50からのウィンドウ番号が,登録テーブル51のアドレス
となる。これによって,ウィンドウ番号の二重登録が抑
止されるようになっている。
録されているかどうかを示すフラグ群からなるテーブル
であり,最大256個の各ウィンドウに対して,それぞれ
1ビットが割り当てられている。ウィンドウ番号入力部
50からのウィンドウ番号が,登録テーブル51のアドレス
となる。これによって,ウィンドウ番号の二重登録が抑
止されるようになっている。
第9図に示す連続性検出部52は,現在扱っている領域
が,隣接する制御グループの領域と連続しているかどう
かを判定するための回路である。内部構成は,第11図に
示すようになっている。
が,隣接する制御グループの領域と連続しているかどう
かを判定するための回路である。内部構成は,第11図に
示すようになっている。
第11図において,COMPは比較回路,60はエンコーダ,OR
はオア回路,CE,CW,CN,CSはリセット信号resetがくるま
で,連続性の検出結果を記憶するレジスタである。
はオア回路,CE,CW,CN,CSはリセット信号resetがくるま
で,連続性の検出結果を記憶するレジスタである。
自制御グループで現在扱っているアドレスの上位ビッ
ト(bits)と,ウィンドウ番号入力部50からの入力ウィ
ンドウ番号とを,比較回路COMPで比較し,それが一致す
るときに,EWNの方向に応じて,レジスタCE,CW,CN,CSに
連続性を記憶する。その結果は,セレクタS20を介して
出力される。
ト(bits)と,ウィンドウ番号入力部50からの入力ウィ
ンドウ番号とを,比較回路COMPで比較し,それが一致す
るときに,EWNの方向に応じて,レジスタCE,CW,CN,CSに
連続性を記憶する。その結果は,セレクタS20を介して
出力される。
第9図に示すイベント入力部53は,各方向からのイベ
ント信号を入力する回路であり,第12図に示すような構
成になっている。各レジスタRは,イベント・クリア信
号evclrによってクリアされる。その後,イベント信号
がロードされると,アンド回路ANDおよびセレクタS30を
介して,制御信号dirに応じたイベント信号が出力され
る。第9図に示すイベント解釈回路54は,ウィンドウ番
号をキューイングするかどうか,また現在のアドレスを
保持し続けるかどうかを判断する回路である。第13図に
示すような論理で出力を決定する。ウィンドウ番号のキ
ューイングを指示する登録信号は,イベント入力部53の
出力だけがアクティブ(T)になったときに出力され
る。連続性出力およびイベント入力がアクティブになっ
たとき,または自己イベントがアクティブになったと
き,アドレス保持信号が出力される。
ント信号を入力する回路であり,第12図に示すような構
成になっている。各レジスタRは,イベント・クリア信
号evclrによってクリアされる。その後,イベント信号
がロードされると,アンド回路ANDおよびセレクタS30を
介して,制御信号dirに応じたイベント信号が出力され
る。第9図に示すイベント解釈回路54は,ウィンドウ番
号をキューイングするかどうか,また現在のアドレスを
保持し続けるかどうかを判断する回路である。第13図に
示すような論理で出力を決定する。ウィンドウ番号のキ
ューイングを指示する登録信号は,イベント入力部53の
出力だけがアクティブ(T)になったときに出力され
る。連続性出力およびイベント入力がアクティブになっ
たとき,または自己イベントがアクティブになったと
き,アドレス保持信号が出力される。
第9図に示すFIFO回路55は,伝播されたイベントによ
り,処理しなければならないウィンドウの番号を記憶し
ておく回路である。通常用いられているFIFOメモリでよ
く,例えば第14図に示すような構成になっている。
り,処理しなければならないウィンドウの番号を記憶し
ておく回路である。通常用いられているFIFOメモリでよ
く,例えば第14図に示すような構成になっている。
第14図において,MEMは8ビット×256の容量を持つメ
モリ,R40〜R43はレジスタ,S40はセレクタ,WCNTは書き込
みアドレスを出力するライトカウンタ,RCNTは読み出し
アドレスを出力するリードカウンタ,COMPは比較回路,OR
はオア回路,ANDはアンド回路,NOTはノット回路である。
モリ,R40〜R43はレジスタ,S40はセレクタ,WCNTは書き込
みアドレスを出力するライトカウンタ,RCNTは読み出し
アドレスを出力するリードカウンタ,COMPは比較回路,OR
はオア回路,ANDはアンド回路,NOTはノット回路である。
レジスタR41に登録信号がセットされると,所定のタ
イミングで,レジスタR40にセットされたウィンドウ番
号が,ライトカウンタWCNTに示されるメモリMEMのアド
レスに書き込まれる。また,読み出しを指示する制御信
号nextにより,リードカウンタRCNTの示すアドレスのメ
モリMEMの内容が読み出されて,レジスタR4を介して出
力される。
イミングで,レジスタR40にセットされたウィンドウ番
号が,ライトカウンタWCNTに示されるメモリMEMのアド
レスに書き込まれる。また,読み出しを指示する制御信
号nextにより,リードカウンタRCNTの示すアドレスのメ
モリMEMの内容が読み出されて,レジスタR4を介して出
力される。
ライトカウンタWCNTとリードカウンタRCNTの値が一致
したとき,空を示す信号emptyが出力される。
したとき,空を示す信号emptyが出力される。
第9図に示す登録フラグ56は,第15図に示すような構
成になっており,どの方向からのウィンドウ番号が登録
されたかを,レジスタRに記憶する。
成になっており,どの方向からのウィンドウ番号が登録
されたかを,レジスタRに記憶する。
第9図に示すアドレス計算回路58は,FIFO回路55から
読み出さたウィンドウ番号に基づいて,隣接する制御グ
ループに通知するウィンドウ番号および実アドレスの生
成に使用するアドレス上位ビットを出力する回路であ
る。
読み出さたウィンドウ番号に基づいて,隣接する制御グ
ループに通知するウィンドウ番号および実アドレスの生
成に使用するアドレス上位ビットを出力する回路であ
る。
隣接制御グループ間インターフェースとして,隣接制
御グループにイベントを伝えたときに,伝えられた先が
登録すべきウィンドウ番号を出力する。ウィンドウ境界
以外では,現在担当しているウィンドウ番号を送る。
御グループにイベントを伝えたときに,伝えられた先が
登録すべきウィンドウ番号を出力する。ウィンドウ境界
以外では,現在担当しているウィンドウ番号を送る。
ウィンドウ境界では,第16図(イ)に示すように,水
平方向には,ウィンドウ番号A±1を送り,垂直方向に
は,ウィンドウ番号A±Bを送る。ここで,Bは仮想領域
の大きさをウィンドウを単位として分割した場合の横方
向のウィンドウ数である。なお,仮想領域の境界では,
それより外にイベントが伝わらないように,イベントを
打ち消す。
平方向には,ウィンドウ番号A±1を送り,垂直方向に
は,ウィンドウ番号A±Bを送る。ここで,Bは仮想領域
の大きさをウィンドウを単位として分割した場合の横方
向のウィンドウ数である。なお,仮想領域の境界では,
それより外にイベントが伝わらないように,イベントを
打ち消す。
ウィンドウの境界は,第16図(ロ)に示す各方向別の
境界印80によって識別する。境界印80の値は,初期設定
時に,コントローラによって設定される。
境界印80によって識別する。境界印80の値は,初期設定
時に,コントローラによって設定される。
アドレス計算回路58の概要構成は,第16図(ハ)に示
すようになっており,演算回路ALUは,第16図に示す境
界印80の値によって,ウィンドウ番号A,A±1,A±Bのい
ずれかを算出する。
すようになっており,演算回路ALUは,第16図に示す境
界印80の値によって,ウィンドウ番号A,A±1,A±Bのい
ずれかを算出する。
なお,コントローラから送られてくるアドレスを,現
在のウィンドウ番号に関係なく,絶対アドレスとして使
用するモードを持つ。これが,第16図(ハ)の入力の1
つであるアドレス指定値であり,そのオペレーションが
指示された場合には,そのアドレス指定値が,セレクタ
S80,S82を介して,実アドレス生成回路へ送られる。こ
れにより,メモリ内に仮想PE間の共通領域を実現するこ
となどが可能になっている。
在のウィンドウ番号に関係なく,絶対アドレスとして使
用するモードを持つ。これが,第16図(ハ)の入力の1
つであるアドレス指定値であり,そのオペレーションが
指示された場合には,そのアドレス指定値が,セレクタ
S80,S82を介して,実アドレス生成回路へ送られる。こ
れにより,メモリ内に仮想PE間の共通領域を実現するこ
となどが可能になっている。
第1図に示す実アドレス生成回路12は,本実施例で
は,第17図に示すような構成になっている。第17図にお
いて,R100〜R105はレジスタ,S100〜S103はセレクタ,OR
はオア回路である。
は,第17図に示すような構成になっている。第17図にお
いて,R100〜R105はレジスタ,S100〜S103はセレクタ,OR
はオア回路である。
実アドレス生成回路の入力は,コントローラから送ら
れてくる仮想PEの相対アドレスと,第9図に示すアドレ
ス計算回路58の出力であるアドレス上位ビットと,ウィ
ンドウ番号入力部50からの隣接グループウィンドウ番号
である。
れてくる仮想PEの相対アドレスと,第9図に示すアドレ
ス計算回路58の出力であるアドレス上位ビットと,ウィ
ンドウ番号入力部50からの隣接グループウィンドウ番号
である。
自分の制御グループ内に属するPEに対する実アドレス
は,レジスタR100に設定された相対アドレスと,レジス
タR101に設定されたアドレス上位ビットとを加算するこ
とにより生成する。すなわち,第5図(ロ)に示す演算
を行う。ここでは,上位8ビットで重なりあう部分は,
一方を“0"とすることとし,オア回路ORによる論理和で
加算を実現している。なお,実アドレスの下位8ビット
は,コントローラから送られてきたものをそのまま使用
する。
は,レジスタR100に設定された相対アドレスと,レジス
タR101に設定されたアドレス上位ビットとを加算するこ
とにより生成する。すなわち,第5図(ロ)に示す演算
を行う。ここでは,上位8ビットで重なりあう部分は,
一方を“0"とすることとし,オア回路ORによる論理和で
加算を実現している。なお,実アドレスの下位8ビット
は,コントローラから送られてきたものをそのまま使用
する。
また,第8図に示す擬似隣接プロセッサ用の実アドレ
スを生成するために,レジスタR102〜R105に隣接グルー
プのウィンドウ番号を設定し,セレクタS100〜S103によ
って,ロード(L)時には隣接グループのアドレス,セ
ーブ(S)時には自分のアドレス(self)と同じになる
ように制御する。
スを生成するために,レジスタR102〜R105に隣接グルー
プのウィンドウ番号を設定し,セレクタS100〜S103によ
って,ロード(L)時には隣接グループのアドレス,セ
ーブ(S)時には自分のアドレス(self)と同じになる
ように制御する。
本実施例で説明した1つの制御グループ,スケジュー
リング回路11,実アドレス生成回路12を個別に,または
まとめてLSI化することが可能である。スケジューリン
グ回路11および実アドレス生成回路12の詳細な例を示し
たが,同様な機能を持つものを他の回路構成によって
も,実現できることは言うまでもない。また,格子結合
のマルチプロセッサを例に説明したが,制御グループに
よるグループ化は,超立方体結合などの他の結合による
マルチプロセッサでも同様に実現できることは明らかで
ある。
リング回路11,実アドレス生成回路12を個別に,または
まとめてLSI化することが可能である。スケジューリン
グ回路11および実アドレス生成回路12の詳細な例を示し
たが,同様な機能を持つものを他の回路構成によって
も,実現できることは言うまでもない。また,格子結合
のマルチプロセッサを例に説明したが,制御グループに
よるグループ化は,超立方体結合などの他の結合による
マルチプロセッサでも同様に実現できることは明らかで
ある。
以上説明したように,本発明によれば,実プロセッサ
が,多数の仮想プロセッサを担当し,仮想プロセッサの
中で真に処理を必要とするものを抽出して,実プロセッ
サによる処理を遂行することができるので,高い負荷分
散が可能になり,処理の効率化が可能になる。
が,多数の仮想プロセッサを担当し,仮想プロセッサの
中で真に処理を必要とするものを抽出して,実プロセッ
サによる処理を遂行することができるので,高い負荷分
散が可能になり,処理の効率化が可能になる。
第1図は本発明の構成例, 第2図は本発明の実施例で用いられるプロセッサの構成
例, 第3図は本発明の実施例に係る仮想プロセッサの概念を
説明する図, 第4図は本発明の実施例に係るウィンドウ分割説明図, 第5図は本発明の実施例に係るアドレス割り付けの例, 第6図は本発明の実施例に係る制御グループの例, 第7図は本発明の実施例に係るスケジューリング回路接
続例, 第8図は本発明の実施例に係る擬似隣接プロセッサ説明
図, 第9図は本発明の実施例に係るスケジューリング回路ブ
ロック図, 第10図は第9図に示すウィンドウ番号入力部の例, 第11図は第9図に示す連続性検出部の例, 第12図は第9図に示すイベント入力部の例, 第13図は第9図に示すイベント解釈回路論理説明図, 第14図は第9図に示すFIFO回路の例, 第15図は第9図に示す登録フラグの列, 第16図は第9図に示すアドレス計算回路説明図, 第17図は本発明の実施例に係る実アドレス生成回路の例
を示す。 図中,10はコントローラ,11はスケジューリング回路,12
は実アドレス生成回路,G1,G2,…は制御グループ,14はプ
ロセッサ,15は擬似隣接プロセッサを表す。
例, 第3図は本発明の実施例に係る仮想プロセッサの概念を
説明する図, 第4図は本発明の実施例に係るウィンドウ分割説明図, 第5図は本発明の実施例に係るアドレス割り付けの例, 第6図は本発明の実施例に係る制御グループの例, 第7図は本発明の実施例に係るスケジューリング回路接
続例, 第8図は本発明の実施例に係る擬似隣接プロセッサ説明
図, 第9図は本発明の実施例に係るスケジューリング回路ブ
ロック図, 第10図は第9図に示すウィンドウ番号入力部の例, 第11図は第9図に示す連続性検出部の例, 第12図は第9図に示すイベント入力部の例, 第13図は第9図に示すイベント解釈回路論理説明図, 第14図は第9図に示すFIFO回路の例, 第15図は第9図に示す登録フラグの列, 第16図は第9図に示すアドレス計算回路説明図, 第17図は本発明の実施例に係る実アドレス生成回路の例
を示す。 図中,10はコントローラ,11はスケジューリング回路,12
は実アドレス生成回路,G1,G2,…は制御グループ,14はプ
ロセッサ,15は擬似隣接プロセッサを表す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 澁谷 利行 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 三渡 秀樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内
Claims (2)
- 【請求項1】処理対象となるデータを記憶する回路と演
算回路とをそれぞれ有する複数のプロセッサ(14)と、
これらのプロセッサを制御するコントローラ(10)とを
備え,コントローラから送出する一連の命令によって,
各プロセッサに与えられたデータを処理する並列計算機
において, 上記プロセッサを,複数個ずつ,アドレスに関する制御
単位となる複数の制御グループ(G1,G2,…)にグループ
化し, 各制御グループごとに, 隣接する制御グループからの処理対象データ群に対する
アドレスを指定するイベントを受信し管理するスケジュ
ーリング回路(11)と, このスケジューリング回路によって管理されるイベント
に基づいて決定されるベースアドレスと,上記コントロ
ーラから供給されるアドレスとにより,その制御グルー
プに属するプロセッサが処理すべきデータのアドレスを
生成する実アドレス生成回路(12)とを備えたことを特
徴とする並列計算機におけるイベントスケジューリング
処理方式。 - 【請求項2】上記各制御グループ間の境界部周辺に位置
する各プロセッサに対応して,自己が属する制御グルー
プに隣接する制御グループのプロセッサが扱うデータの
アドレスに対応するデータを,その隣接する制御グルー
プにおける隣接プロセッサへ送出する擬似隣接プロセッ
サ(15)を当該自己が属する制御グループ内に備えたこ
とを特徴とする請求項1記載の並列計算機におけるイベ
ントスケジューリング処理方式。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63234546A JP2518902B2 (ja) | 1988-09-19 | 1988-09-19 | 並列計算機におけるイベントスケジュ―リング処理方式 |
DE68920388T DE68920388T2 (de) | 1988-09-19 | 1989-09-18 | Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens. |
EP94104303A EP0605401B1 (en) | 1988-09-19 | 1989-09-18 | Parallel computer system using a SIMD method |
EP89309445A EP0360527B1 (en) | 1988-09-19 | 1989-09-18 | Parallel computer system using a SIMD method |
US07/409,613 US5230057A (en) | 1988-09-19 | 1989-09-19 | Simd system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers |
US08/503,595 USRE36954E (en) | 1988-09-19 | 1995-07-19 | SIMD system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63234546A JP2518902B2 (ja) | 1988-09-19 | 1988-09-19 | 並列計算機におけるイベントスケジュ―リング処理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0282378A JPH0282378A (ja) | 1990-03-22 |
JP2518902B2 true JP2518902B2 (ja) | 1996-07-31 |
Family
ID=16972717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63234546A Expired - Fee Related JP2518902B2 (ja) | 1988-09-19 | 1988-09-19 | 並列計算機におけるイベントスケジュ―リング処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2518902B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523292B2 (en) | 2002-10-11 | 2009-04-21 | Nec Electronics Corporation | Array-type processor having state control units controlling a plurality of processor elements arranged in a matrix |
US8151089B2 (en) | 2002-10-30 | 2012-04-03 | Renesas Electronics Corporation | Array-type processor having plural processor elements controlled by a state control unit |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167459A (en) * | 1998-10-07 | 2000-12-26 | International Business Machines Corporation | System for reassigning alias addresses to an input/output device |
US6185638B1 (en) | 1998-10-07 | 2001-02-06 | International Business Machines Corporation | Method and system for dynamically assigning addresses to an input/output device |
US6202095B1 (en) | 1998-10-07 | 2001-03-13 | International Business Machines Corporation | Defining characteristics between processing systems |
US6170023B1 (en) | 1998-10-07 | 2001-01-02 | International Business Machines Corporation | System for accessing an input/output device using multiple addresses |
JP2004362086A (ja) * | 2003-06-03 | 2004-12-24 | Matsushita Electric Ind Co Ltd | 情報処理装置および機械語プログラム変換装置 |
JP2010167203A (ja) * | 2009-01-26 | 2010-08-05 | Yoshifuji Kk | 運動用手袋 |
-
1988
- 1988-09-19 JP JP63234546A patent/JP2518902B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523292B2 (en) | 2002-10-11 | 2009-04-21 | Nec Electronics Corporation | Array-type processor having state control units controlling a plurality of processor elements arranged in a matrix |
US8151089B2 (en) | 2002-10-30 | 2012-04-03 | Renesas Electronics Corporation | Array-type processor having plural processor elements controlled by a state control unit |
Also Published As
Publication number | Publication date |
---|---|
JPH0282378A (ja) | 1990-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE36954E (en) | SIMD system having logic units arranged in stages of tree structure and operation of stages controlled through respective control registers | |
EP0334844B1 (en) | Virtual processor techniques in a multiprocessor array | |
EP0314277B1 (en) | Simd array processor | |
JP2562845B2 (ja) | メッシュプロセッサアレー | |
KR100313261B1 (ko) | 저전력형다중작업제어기(명칭정정) | |
EP0022622A1 (en) | Programmable controller | |
US5036453A (en) | Master/slave sequencing processor | |
Dally | Finite-grain message passing concurrent computers | |
JPH0922404A (ja) | 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ | |
JPH0550022B2 (ja) | ||
JP3170599B2 (ja) | プログラマブルlsiおよびその演算方法 | |
JP2518902B2 (ja) | 並列計算機におけるイベントスケジュ―リング処理方式 | |
US7581080B2 (en) | Method for manipulating data in a group of processing elements according to locally maintained counts | |
CA1272295A (en) | Multi-channel shared resource processor | |
KR960003045B1 (ko) | 마이크로프로세서 | |
US5765012A (en) | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library | |
Siegel et al. | Parallel memory system for a partitionable SIMD/MIMD machine | |
US7107478B2 (en) | Data processing system having a Cartesian Controller | |
JP2555124B2 (ja) | 画像処理装置 | |
JP2556083B2 (ja) | 複合演算パイプライン回路 | |
JP3987805B2 (ja) | アレイ型プロセッサ | |
JP2552287B2 (ja) | システムバス方式 | |
JPH01134546A (ja) | 演算処理装置 | |
Barton et al. | The Computing Surface | |
Lam et al. | Architecture of Warp |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |