JPH03250241A - 複合プロセッサシステム - Google Patents

複合プロセッサシステム

Info

Publication number
JPH03250241A
JPH03250241A JP4704390A JP4704390A JPH03250241A JP H03250241 A JPH03250241 A JP H03250241A JP 4704390 A JP4704390 A JP 4704390A JP 4704390 A JP4704390 A JP 4704390A JP H03250241 A JPH03250241 A JP H03250241A
Authority
JP
Japan
Prior art keywords
processor
data processing
state
segment
parallel
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.)
Pending
Application number
JP4704390A
Other languages
English (en)
Inventor
Tomoo Aoyama
青山 智夫
Hideo Wada
英夫 和田
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP4704390A priority Critical patent/JPH03250241A/ja
Publication of JPH03250241A publication Critical patent/JPH03250241A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、相異なった性質を持つ複数のプロセッサを有
する複合プロセッサシステムに関するものである。
[従来の技術] 特公昭63−145567号公報「超大型コンピュータ
」に記載されているような、並列プロセッサのプロセッ
サ要素を効率良く制御する技術が知られている。
この技術においては、全て同じ処理機能を持っている各
プロセッサ要素を効率良く制御することができる。
[発明が解決しようとする課題] ところで、データ処理は一般に同しような処理のくりか
えしではない。
データ処理の局部性を解析すると1次の3つに分類でき
る。
1、処理方法、データ共不規則に変化し、特徴がないが
演算量はそれ程大きくないもの。
2、処理方法は、同じでデータが変化するもの。
3、処理方法、データ共不規則に変化するが、処理をあ
る大きさの区切りで分割すると、その分割単位では規則
性があるもの。
これらのデータ処理に適合するプロセッサは。
それぞれ、スカシ、ベクトル、並列プロセッサであり、
それぞれ、相異なる性質を有している。
データ処理の局部的な特徴に適合するプロセッサを混在
させ、複数種のプロセッサ系を制御する手段を実現させ
ることができれば現在の並列プロセッサの性能を飛躍的
に向上させた並列プロセッサシステムが実現でき、計算
処理そのものに全く新しい展望をもたらすであろう。
しかし、前記従来技術によっては、このような異なる性
質を有するプロセッサを効率良く制御することができな
い。
また、このような、並列プロセッサをシステムの1リソ
ースとして具備する系ではタスクスイッチングとアドレ
ッシングが、最も重要な技術課題であるが、前記従来技
術等の従来の技術においては十分な解決案は見出されて
いない。
そこで、本発明は、複数の性質の異るプロセッサから構
成されるシステムにおいて、並列プロセッサ部のような
プロセッサ内部に複数のデータ処理部を具備するリソー
スのタスクスイッチングを実現し、これによって、マル
チジョブ、マルチタスキング処理等において各プロセッ
サを効率良く制御できる複合プロセッサシステムを提供
することを目的とする6 [課題を解決するための手段] 前記目的達成のために、本発明は、主記憶と。
スカシプロセッサとベクトルプロセッサと複数のデータ
処理部を備えた並列プロセッサと、データ処理の性質に
応じて、その実行を各プロセッサに割り当てる処理管理
手段と、を有することを特徴とする複合プロセッサシス
テムを提供する。
なお、望ましくは、処理管理手段は、さらに各データ処
理部への割当も行う。
なお、前記並列プロセッサの各データ処理部は、ローカ
ルメモリを有することが望ましい。
また、並列プロセッサ専用の拡張記憶装置を備えること
も望ましい。
また、前記複合プロセッサシステムにおいては、いずれ
かのプロセッサが前記管理手段を備え、かつ、処理管理
手段は、各プロセッサのアドレス変換テーブルと記憶保
護機構を具備することが望ましい。
また、複合プロセッサシステムは、前記処理管理手段が
並列プロセッサの各データ処理部のプログラムカウンタ
の値を変更可能なハードウェアを有することをか望まし
い。
また、前記各プロセッサの各々に、スヌーピング機能を
有するバッファストレージを設けることも望ましい。
また、各プロセッサの状態を管理する状態管理手段を舖
え、前記処理管理手段は、データ処理の性質と各プロセ
ッサの状態とに応じて、その実行を各プロセッサに割り
当てるようにすることが望ましい。また、この場合は、
前記状態管理手段は、並列プロセッサ全体の状態と並列
プロセッサ内の各データ処理部の状態とで並列プロセッ
サについての状態を管理することが望ましい。
[作 用] 本発明に係る複合プロセッサシステムによれば、処理管
理手段は、データ処理の性質に応じて、その実行を各プ
ロセッサに割り当てることにより、マルチジョブ、マル
チタスキング処理等において各プロセッサを効率良く制
御する。
また、状態管理手段を備えた場合は、さらに、前記処理
管理手段は、データ処理の性質と各プロセッサの状態と
に応じて、その実行を各プロセッサに割り当てることに
より、システム全体としての処理の効率を向上すること
ができる。
また、この場合、前記状態管理手段は、並列プロセッサ
全体の状態と並列プロセッサ内の各データ処理部の状態
とで並列プロセッサについての状態を管理することによ
り、処理管理手段は直接データ処理部における処理の実
行のレベルまで管理することができる。
また、いずれかのプロセッサが前記管理手段を備えるこ
とによりハードウェア構成の簡略化を図ることができ、
また、処理管理手段が、各プロセッサのアドレス変換テ
ーブルと記憶保護機構を具備することにより、タスクス
イッチを一元的に管理することができる。
また、複合プロセッサシステムは、前記処理管理手段が
並列プロセッサの各データ処理部のプログラムカウンタ
の値を着脱変更することにより、処理の割当の高速化等
が図れる。
(以下余白) [実施例] 以下、本発明に係る複合プロセッサシステムの一実施例
として、スカラ、ベクトル、複数のデータ処理部を有す
る並列プロセッサから成る複合プロセッサシステムを例
に取り説明する。
まず、本実施例の各プロセッサの制御方式について、説
明する。
一般に、データ処理は均一な処理のくりかえしではなく
局部的にスカラプロセッサに向く処理であったり、ベク
トルプロセッサ又は並列プロセッサに向いた処理であっ
たりする。
そこで1本実施例においては、データ処理を複数のセグ
メントに分け、各セグメントにそのセグメントを最も効
率的に実行するプロセッサの種類を示すタグを付加する
複合プロセッサシステムのプロセッサ管理部は、このタ
グと各プロセッサの状態を調べ、その時点で最も速く処
理を行うであろうプロセッサにセグメントの実行を指示
する。
しかし、並列プロセッサのタスクスイッチが不可能であ
るとすると上記の処理は成立しない。タスクスイッチが
不可の並列プロセッサシステムでは、並列プロセッサ部
を特別なリソースとして管理する必要があるが、この場
合、このようなシステムではジョブを高速にかつ並列的
に実行するのは困難である。
そこで、本実施例においては、前記データ処理の分配、
並列プロセッサのタスクスイッチの実現のために、下記
のソフトウェア、ハードウェア手段を用意する。
1、プログラムを論理的に分割し、分割した部分をセグ
メントという時、セグメント構造を生成できるために、
プログラム言語の中に[コンパイラデイレクティブJと
してセグメント構造の範囲、セグメント内に記述されて
いるデータ処理の特性等を記述できるシンタックス、お
よびそのシンタックスを解読できるコンパイラ又はイン
タプリタ。
なお、ここでデータ処理の特性とは、データ参照関係が
プログラム実行時に決定されるような論理に対しては、
どのようなオブジェクトコード又は中間語を生成するの
かの指示、行列演算等で行列の次元数によって最も効率
良く処理する方法、プロセッサの種類が異る時これをど
のようなオブジェクト又は中間語に変換するかの指示等
をいう。
また、ここでオブジェクトコード、中間語にはプロセッ
サ種選択のための情報を含む。該情報はプロセッサで解
読処理が行われるのではなく、プロセッサシステムを制
御しているO8又は同等の機能を行うマイクロコード又
はマイクロプログラム又はハードウェアで解釈される。
2、複数の異種プロセッサシステムの各プロセッサの状
態を示す記憶部。該記憶部はレジスタ、フリップフロッ
プの類、又は、主記憶の特定領域である。
本実施例においては、プロセッサの状態とは、タスク実
行中、イベント待ち、タスクスイッチ中、アイドル中、
動作不可の5状態で表現される第1種状態表現と、1種
類のタスクを実行している単一状態、2種類以上のタス
クを実行している複合状態、タスク実行不可の動作不可
状態の3状態で表現される第2種状態表現の2種類をい
う。
スカシ、ベクトルプロセッサは第2種状態表現では単一
状態か動作不可状態のいずれかである。
単一状態の時、第1種状態表現はタスク実行中、イベン
ト待ち、タスクスイッチ中、アイドル中の4状態のいず
れかである。動作不可状態の時、第1種状態表現は動作
不可である。イベント待ちはいわゆる「割込要因保留中
」を含む。
並列プロセッサは第2種状態表現では単一状態、複合状
態、動作不可状態の3種の状態をとる。第1種状態表現
は適用されない。但し、並列プロセッサ部内の各データ
処理部には第1種状態が適用される。
2種類の状態表現で次の組合わせは禁止される。
a、単一、複合状態で全データ処理部が動作不可。
b、動作不可状態でデータ処理部のいずれかが動作不可
でない。
C1複合状態で全タスクがタスクスイッチ中。
3、並列プロセッサ部のデータ処理部で実行しているタ
スクを識別する手段。これは前記第2種状態表現を実現
するために必須である。該手段はレジスタ又は主記憶上
の特定領域の格納した情報により実現される。
4、前記第1項で要請された条件と、第2,3項で示さ
れているプロセッサシステムの状況とによって、セグメ
ントを実行させるプロセッサを決定する手段。
なお、ここで「実行させる」にはセグメント実行留保を
含む。
この手段はO8のようなソフトウェアで実現しても良い
。この手段を以下、セグメント実行管理プログラムとい
う。
5、前記第4項の管理プログラムを優先的に実行するプ
ロセッサ。以下このプロセッサをマスタプロセッサとい
う。
以下の手段は、必須ではないがシステムの性能をを確保
するために必要なリソースである。
6、並列プロセッサ部内のデータ処理部の内容をタスク
スイッチ用の記憶部へ格納するための専用パス。データ
処理部の内容とは処理部内のレジスタ、プログラム状態
語、制御レジスタを含み、ストアイン方式のバッファス
トレイジ、ベクトルレジスタ、ローカルメモリ等のリソ
ースが具備されていればそれらを含む。
7、プログラムをコート化するコンパイラ、インタプリ
タにおいて、生成したセグメントを実行する(と仮定し
ている)プロセッサを論理プロセッサとして処理する手
段。即ち、論理プロセッサを実プロセツサに変換する手
段と実プロセツサから発生する割込例外処理を論理プロ
セッサに変換する手段。
8、並列プロセッサ内のデータ処理部においてローカル
メモリが十分具備できる時、ローカルメモリ領域を2以
上の領域に分割し、その各々をタスクに割当てる手段。
即ち、分割した領域に対する記憶保護キー又はリロケー
ションレジスタ上のアクセス制約ビットのようなプロテ
クタ、各領域で実行しているタスクの表示手段である。
9、セグメントの実行に2番目に適したプロセッサ用の
オブジェクトコード又は中間語を生成する機能を持つコ
ンパイラ又はインタプリタ。以下2番目に適するプロセ
ッサのことを代替プロセッサという。
10、代替プロセッサ用コードの先頭アドレスを指示す
る手段。
以下、説明を簡略化するために1本実施例においては、 1、マスクプロセッサはスカラプロセッサである。
2、前節の第6〜9の手段を具備する。
3、コンパイラディレティブとして、次頁に示す表1の
デイレクティブ指示文を用意する(これらの文指示して
いる内容をコンパイラ等が自動生成してもよい)。
とする。
表  1 コンパイラデイレクティブ文 項番 シンタックス     機 能 1 、 $Seg+ment(na+ne、prior
ity−number、processar−name
、alternative−processor−na
me )セグメントの始点、名称、実行優 先度、要求プロセッサ名称1伐替 プロセッサ名称を示す。
2 、 $ Independent(X 、 Y )
配列X、Y間のデータ参照関係に依存性がないことを 示す。
3 、 $ Force(processor−nam
e)/ $ Forceend2つの文間の実行文をプ
ロセッサ 名称で指定したプロセッサに適合 するオブジェクトコードに変換す る。
以下、本実施例の動作の概要について説明する。
まず、ユーザプログラムは、コンパイラ又はインタプリ
タの解析機能、あるいは前記コンパイラデイレクティブ
による指示によって複数のセグメントに分割される。
該セグメントにはその実行に適するプロセッサ種の名称
が付加される。これを以下タグという。
セグメンテーションは、ベクトルプロセッサ以外のプロ
セッサで行われ、セグメント化されたオブジェクトコー
ドは主記憶上に置かれる。
マスタプロセッサ上の管理プログラムは主記憶上のセグ
メント化されたオブジェクトコードのタグを読出し、次
いで複数のプロセッサの状態を示す記憶部を読出す。
タグ上の要求プロセッサが、スカラまたはベクトルプロ
セッサで、かつ、要求プロセッサの第1種状態表現がア
イドル中ならば、そのセグメントの先頭アドレスがプロ
セッサに送られ同時に該プロセッサに起動がかけられる
要求プロセッサの第】種状態表現がタスク実行中、イベ
ント待ち、又はタスクスイッチ中ならばそのセグメント
の実行を留保し、要求プロセッサの第1種状態表現がア
イドル中になった時点でそのセグメントの先頭アドレス
がプロセッサに送られ同時に該プロセッサに起動がかけ
られる。
ここで、留保とは他のタスクに属するセグメントの実行
判定を行う処理に移ることであるが、留保となった回数
があるしきい値よりも多い場合、そのセグメントが要求
しているプロセッサを他のタスクで使用しないように制
限をつける。
要求プロセッサの第1種状態表現が動作不可の場合は、
代替プロセッサについて同様の実行判定が行われる。但
し、ベクトルプロセッサを要求していて、代替としてス
カラプロセッサを要求する場合に限る。
また、タグ上の要求プロセッサが並列プロセッサの場合
で、かつ、並列プロセッサの第2種状態表現が単一状態
の場合は、並列プロセッサ部内のデータ処理部がタスク
実行中、アイドル中ならばタスクスイッチを行う。状態
はタスクスイッチ中に移行する。
そして、タスクスイッチが完了した後、データ処理部は
並列プロセッサを要求したセグメントの実行に割当てら
れる。
データ処理部がイベント待ち、タスクスイッチ中、動作
不可の場合は、データ処理部はそのタイミングでは割当
てが行われない。
データ処理部を、実行を要求しているセグメントに割当
てると、並列プロセッサは、単一状態でかつ全データ処
理部がアイドル中でない限り複合状態に移行する。
データ処理部を、実行を要求しているセグメントに割当
てられない時は、そのセグメントは実行留保になる。
要求プロセッサである並列プロセッサの第2種状態表現
が複合状態の場合、セグメントは実行留保になる。
動作不可の場合5代替プロセッサについてセグメント実
行判定が行われる。この場合並列プロセッサを要求して
いて、代替としてスカシ又はベクトルプロセッサを要求
する場合に限る。
ところで、並列プロセッサ部の前記データ処理部のタス
クスイッチは以下のように行われる。
まず、ローカルメモリ領域が、実行要求タスクが必要と
している領域より十分大きい時、ローカルメモリを2以
上の領域に分割し、各領域をタスクに割付ける。
この時、あるタスク処理で他のタスク領域を破壊しない
ようにプロテクタを作動させる。
すなわち、ある領域でタスクが実行されている時、セグ
メント実行管理プログラムからタスクスイッチ状態へ移
行指示が行われた時、データ処理部内のレジスタ、プロ
グラム状態語、制御レジスタ等の情報をローカルメモリ
へ退避した後、データ処理部内のペースレジスタの値を
他のタスクの領域用に書替え、プロテクタの情報を他の
タスク用に置換する。ここで他のタスクとはセグメント
実行管理管理プログラムへ実行を要求しているセグメン
トの属するタスクのことである。
ローカルメモリの領域が実行要求タスクの必要としてい
る領域より小さい時、データ処理部のレジスタ、プログ
ラム状態語、制御レジスタ等の情報は専用のパスを使っ
てタスクスイッチ用の記憶部へ書き出される。同様にデ
ータ処理部のストアイン方式のバッファストレイジある
いはローカルメモリも同様に専用のバスによってタスク
スイッチ用の記憶部へ書出される。タスクスイッチ用の
記憶部は主記憶の特定領域又は拡張記憶(Extend
ed −5torage )のような高速の記憶媒体で
あることが望ましい。
しかし、このような高速の記憶媒体を用いても、多数の
データ処理部のタスクスイッチを行うと無視できない程
度の時間を要する。このような場合、管理プログラムに
よってデータ処理部のタスクスイッチ状態への移行タイ
ミングをずらして行うことにより、1〜i番のデータ処
理部でタスク1の処理を(i+1)番のデータ処理部で
タスクスイッチ処理を、(i+2)番以降のデータ処理
部でタスク2の処理を行い、順次タスクを切り替える。
このようなタスク切替処理のパイプライン化咎スイッチ
ングパイプラインという。
並列プロセッサを要求しているセグメントが論理データ
処理部を意識して作成されたオブジェクトコードである
場合、スイッチングパイプライン制御は有効に作用する
以下、本発明に係る複合プロセッサシステムの一実施例
の詳細について説明する。
第1図に本実施例に係る複合プロセッサシステムの第1
の構成を示す。
図中、1はスカシプロセッサ、2はベクトルプロセッサ
、3は並列プロセッサ、4は記憶制御部、5は主記憶部
、6は拡張記憶である。
本構成において、前記マスタプロセッサはスカシプロセ
ッサである。
ベクトルプロセッサ、並列プロセッサに機能は、前記し
たように所定の場合は、スカシプロセッサがエミュレー
ション機能によって代行する。
前記コンパイラ又はインタプリタはスカシプロセッサ1
で実行される。
プロセッサの状態を示す記憶部は各プロセッサ内に具備
する。
並列プロセッサ3は、内部に複数のデータ処理部、を含
み、該データ処理部の状態を示す記憶部を含む。
コスト低減要求、又は、それ程高速のタスクスイッチが
要求されないならば、上記の記憶部を主記憶5上にとる
ようにしても良い。
セグメント実行管理プログラムは、マスタプロセッサで
実行される。該管理プログラムは論理/実プロセツサ変
換を行うが、この変換のために必要なテーブル類は主記
憶に設ける。
なお、前記セグメントの実行を割り当てるセグメント実
行管理プログラムは、並列プロセッサ内のデータ処理部
にローカルメモリが具備されていて、かつ、該ローカル
メモリを複数のタスクで分割使用する場合のローカルメ
モリのプロテクタ。
および、実行しているタスクの表示の制御をも行う。
また、前記代替プロセッサの割付けもセグメント実行管
理プログラムが行う。
パス10.11はスカシプロセッサ1がセグメント実行
管理プログラムを介してベクトルプロセッサ2.並列プ
ロセッサ3の状態を調べたり、起動又は強制終了指示を
行うパスである。
パス12〜14は、それぞれスカシ、ベクトル、並列プ
ロセッサがデータを主記憶5から読出したり又は書込む
ためのパスである。パス15はベクトルプロセッサと並
列プロセッサの間で直接制御を行うためのパスである。
この直接制御の一例の概略を第17図に示す。
図示するように、この直接制御の例では競合する処理を
避け、処理のスケデユーリングをを行うことを可能とし
ている。
このように、ベクトルプロセサと並列プロセッサは、同
時に並行して処理を実行するが、パス15を介して、直
接制御を行うことにより、マスタプロセッサを介さずに
同期処理等を行うことができ、マスタプロセッサおよび
両プロセッサのセットアツプ処理、起動処理時間を減縮
することができる。
パス16は並列プロセッサ3でタスクスイッチを行う時
使用する専用パスである。
なお、第1図に示した構成ではパス16は記憶制御部4
に接続されているが、拡張記憶6をタスクスイッチ用専
用記憶に使用するならばパス16を拡張記憶6に直結し
てもよい。
記憶制御部4と主記憶5間のパス17は、主記憶のバン
ク構成に対応して設ける。
次に、第2図に本実施例に係る複合プロセッサシステム
の第2、第3の構成を示す。図中、第1図と同じ論理ユ
ニット、パスは同一番号が付して示し、その説明を省略
する。
第2図a中、7はススープ機能付のバッファストレイジ
、19.20はそれぞれアドレス、データバスである。
パス17.18はベクトルプロセッサ、並列プロセッサ
で発生した事象をスカシプロセッサに報告するパスであ
る。ここで事象とは終了割込の他にマシンチエツク割込
を含む。
第2図すに示した複合プロセッサシステムは、並列プロ
セッサの3のデータ処理部をスカシプロセッサ、または
、ベクトルプロセッサ、または、スカシプロセッサおよ
びベクトルプロセッサで構成したものである。
(以下余白) 次に、セグメント実行管理プログラムについて説明する
第5図にセグメント実行管理プログラムの構造を示す。
セグメント実行管理プログラムは、論理/実プロセッサ
変換部、記憶管理部、実プロセツサ起動部から構成され
る。
記憶管理部は、主記憶管理、ローカルメモリ管理、拡張
記憶管理より成る。なお、拡張記憶管理はオプションで
ある。
論理/実プロセツサ管理プログラムは、セグメント実行
待ちキューよりセグメントを選択し、これを実行する実
プロセツサを決定する。
この動作の概要を、第6図に示す。
図中、実プロセツサの状態が実行可ならばa。
不可ならばbのルートをとる。
実プロセツサがスカシ、又はベクトルプロセッサならば
その状態がアイドル中、並列プロセッサならば単一状態
の時「実行可」である。それ以外の第1.2種状態の時
は「実行不可」である。
プロセッサの状態が実行可の場合、そのプロセッサに対
応する、各プロセッサの状態を記憶する状態記憶部を実
行中にセットする。
プロセッサの状態が実行不可の場合、代替プロセッサの
状態を調べる。代替プロセッサの状態が実行可ならばそ
のプロセッサについての状態記憶部の情報を実行中にセ
ットする。この処理を図中aエルートで示した。ルート
aとa工は異る処理であるがプロセッサ番号だけの相異
であるので省略して同じ処理で示した。
プロセッサの状態をセットした後、再度プロセッサの状
態を確認する。
次いで論理/実プロセツサの変換テーブルを作成しこれ
を主記憶上にストアする。
代替プロセッサも実行不可ならば、選択されたセグメン
トを待ちキューに戻す。
以上、論理/実プロセツサ変換が行われ、セグメントを
実行する実プロセツサが割当てられたら、その後、記憶
管理部が実行される。
記憶管理部は、主記憶とローカルメモリを別々に管理す
る。
実プロセツサがスカラ、ベクトルプロセッサの場合、ロ
ーカルメモリ管理を省略する。
第7図に主記憶管理プログラムの処理手順を示す。
図示するように、セグメントが初めて実行されるとき、
まず、主記憶の空き領域が調べられる。
そして、空き領域がない時には、そのセグメントは実行
できないので、プロセッサ状態記憶部の情報および論理
実プロセツサ変換テーブルをパージする。
また、論理実プロセツサ変換部でアサインされた実プロ
セツサは解放される。
空き領域が存在する時、セグメントのベースアドレスを
決定しくベースアドレスを空き領域の先頭番地に設定す
る)、このアドレスを主記憶上のテーブルに書込む。次
に、後述するBレジスタ用のテーブルを主記憶上に確保
し、イニシャライズする。なお後述するように、Bレジ
スタにはローカルメモリ上のセグメントベースアドレス
が設定され、アドレス変換に用いられる。
なお、すでに主記憶上に確保された領域上でセグメント
実行要求が行われた場合は、主記憶管理の処理はスキッ
プされる。また、セグメントが主記憶確保を要求するか
否かはセグメントを生成するコンパイラ等の責任である
ところで、本実施例においては、セグメントを、より大
きな処理単位であるタスクにまとめ、さらにタスクを、
より大きな処理単位であるジョブにまとめ各処理を管理
する。
この場合、セグメントよりも、より大きな処理単位であ
るタスクの場合も第7図に示した処理と同様の処理が行
われる。但し、タスクの場合は第6図に示したプロセッ
サ割付処理はなく、また、変換テーブル等のパージは不
要である。
セグメント実行プロセッサが並列プロセッサの場合は、
さらに、ローカルメモリ管理プログラムにおいて、ロー
カルメモリの空き状態が調べられる。
第8図にローカルメモリ管理プログラムの概略を示す。
図示するように、ローカルメモリに空き領域が存在する
場合、図中、ルートaの方向が採られる。
空き領域が存在しない場合、並列プロセッサの状態を保
持している並列プロセッサ制御部(後述する第3図50
)内にある状態記憶部が調べられ単一状態ならばCルー
トをとり、複合状態ならばセグメント待ちキューに登録
して処理を終える。
なお、Cルートをとり、タスクスイッチ状態へ並列プロ
セッサ系を移行させた場合、並列プロセッサは単一状態
から複合状態へ移行し、二重にタスクスイッチ状態が発
生することはない。タスクスイッチ処理が完了すると、
ローカルメモリから追出されたタスクが占有していた領
域が空き領域となり、要求セグメントに割付けられる。
以後Cルートと合流し、空き領域の先頭アドレスをセグ
メントベースアドレスとし、データ処理ユニットの発生
する論理アドレスとローカルメモリの実セグメントベー
スアドレスとを対応づけた。
並列プロセッサのBレジスタ用の、テーブルが作成され
る。即ちローカルメモリ領域をアサインする。
なお、ローカルメモリの空き領域が十分で、セグメント
が並列プロセッサを要求していて、並列プロセッサが単
一状態の場合、ローカルメモリ管理プログラムとしては
aのルートをとり、タスクスイッチ状態へ移行しない。
しかし、前記論理/実プロセツサ変換部(第6図参照)
では、ルートCをとり、Bレジスタを設定し、実行され
ているタスクを中断して、実プロセツサ起動部を介して
、実行要求セグメントを含むタスクをそのプロセッサ(
この場合並列プロセッサに限られる)に実行させる。
このときプロセッサの状態は単一→複合→単一のように
変化する。この場合、タスクスイッチ時間はローカルメ
モリ管理プログラムによる場合よりもはるかに短い。
ローカルメモリの容量がn個のタスク領域を収容できれ
ば、並列プロセッサ内においてn多重処理が擬似的に可
能である。擬似的とはある瞬間では活動しているタスク
は唯一であるためである。
並列プロセッサ系でセグメントを実行する実データ処理
部への割付は別のリソースが行う。
以上のように、実プロセツサ、主記憶、ローカルメモリ
が割当てられた後、セグメントの実行がそれらのリソー
スを対象に指示される。この指示を実プロセツサ起動部
が行う。該起動部のフローを第9図に示した。
図示するように、実プロセツサ起動部は、実行させるタ
スク番号と、実行させるセグメントの先頭アドレスを送
信する。
また、実プロセツサが並列プロセッサの場合には、先頭
アドレスの送信に先立ち、実行タスク番号と主記憶のジ
ョブベースアドレスおよびローカルメモリのタスクベー
スアドレスを対応づけた、Aレジス用テーブルをAレジ
スタに、先に作成したBレジスタ用テーブルをBレジス
タに、書き込む。
なお、本実施例においては、セグメントの先頭アドレス
領域に、起動された実プロセツサが初めに実行すべき命
令が格納されているものとする。
また、本実施例においては、先に一部触れたように、ジ
ョブおよびタスクの実行および管理は、セグメント実行
管理プログラムより上位の機能部が行うものとする、し
たがって、前記Aレジスタ用テーブルの作成およびAレ
ジスタの設定は、このより上位の機能部が、実プロセツ
サの起動に先立ち行うものである。
次に、並列プロセッサについて説明する。
第3図に、並列プロセッサの構成を示す。
図中1はマスクプロセッサを示し、3が並列プロセッサ
を示す。
並列プロセッサ制御部50は並列プロセッサ内に1個だ
け存在し、複数のデータ処理部の状態を管理する。
データ処理部30中、54はローカルメモリ、55はデ
ータ処理ユニットで、56はオペランドアクセス用のア
ドレスを生成するオペランドアドレス生成部、52.5
3はオペランドデータに関するアクセス動作論理部であ
る。また、55はデ−タ処理ユニットであり、命令デコ
ード部106、命令アクセス用のアドレスを生成する命
令アドレス生成部107、演算[131、汎用レジスタ
32を備えている。
データ処理部30は並列プロセッサ3内に複数設けられ
ている。
第4図aに、並列プロセッサのデータ処理部のオペラン
ドデータに関するアクセス動作論理部の構成を示す。
図中、50は並列プロセッサ制御部、54はローカルメ
モリ555はデータ処理ユニットである。
制御部50は並列プロセッサ内に1個だけ存在し、複数
のデータ処理部の状態を管理する。
51.57.58.59.60はレジスタ、56はアド
レスアダー、60はスイッチ回路である。52.53は
複数のレジスタより構成されるレジスタ群である3 前述したように、本データ処理装置においては、セグメ
ントを、より大きな処理単位であるタスクにまとめ、さ
らにタスクを、より大きな処理単位であるジョブにまと
め各処理を管理する。
以下、その動作について説明する。
前述したように、まず、マスタプロセッサであるスカシ
プロセッサは、データ処理部起動に先立ち、パス10を
介して並列プロセッサ制御部にAレジスタ用テーブルの
内容を送る。この内容は、パス82を通ってAレジスタ
52にセットされ、タスク番号とローカルメモリ上のタ
スクのベースアドレスおよび主記憶上のジョブベースア
ドレスとの変換テーブルが作成される。
また、同様にスカシプロセッサは、パス10を介して並
列プロセッサ制御部にBレジスタ用テーブルの内容を送
る。この内容は、パス82を通ってBレジスタ53にセ
ットされ、論理アドレスととセグメントのローカルメモ
リ上のベースアドレスとの変換テーブルが作成される。
ここで、並列プロセッサのデータ処理部のアドレス付け
について説明する(第4図す参照)。
オペランドアドレス生成部で生成されるアドレスは、論
理アドレスであるから、これを主記憶とローカルメモリ
の実アドレスに変換する必要がある。
そこで、アドレス変換論理のハードウェア量を削減する
ため、主記憶はジョブ単位で、ローカルメモリはセグメ
ント単位でアドレスリロケーションを行う。
なお、本実施例において、データ処理ユニットおよびオ
ペランドアドレス生成部はタスク、ジョブを認識しない
また、タスクの番号の上位をジョブ識別に、下位をジョ
ブ単位に分類されたタスクにアサインする。
データ処理部内で発生した主記憶アクセスは、実行する
タスクにより定まるAレジスタ52の上位データである
主記憶5のジョブベースアドレスと、アドレスアダーが
発生した論理アドレスとより主記憶の実アドレスを構成
することにより行われる。
また、データ処理部内で発生したローカルメモリアクセ
スは、実行するタスクにより定まるのAレジスタ52の
下位データであるローカルメモリのタスクベースアドレ
スと、アドレスアダーが発生した論理アドレスの上位ア
ドレスを、Bレジスタ53のIビットを除く部分のデー
タによって変換したローカルメモリ54のセグメントベ
ースアドレスと、論理アドレスの残りの下位アドレスに
よりローカルメモリの実アドレスを構成することにより
行う。
ここに、Bレジスタ53の1ビツトは前記スカシプロセ
ッサの変換テーブルのセット時に設定されるもので、1
ビツト=11′はそのセグメントアドレスがローカルメ
モリ上にないことを示し、す。■ビットが′0′の時、
Bレジスタのセグメントアドレス部は、ローカルメモリ
上のそのセグメント領域が存在している実アドレスを示
す。
なお、第10図に、オプションで拡張記憶が付加され、
並列プロセッサと拡張記憶の間にタスクスイッチ用の専
用パス16が具備された場合の記憶領域の一つの割付方
法を示す。
並列プロセッサで行われる計算は、スカシ又はベクトル
プロセッサで行われるそれに比べると長大であるので、
並列プロセッサで実行されているタスクとそれ以外のプ
ロセッサで実行されるタスクは異っていても良いように
制御すべきである。
このような制御を実現し、かつ記憶制御をあまり複雑に
しないために、主記憶のページング等の外部記憶を用い
た仮想記憶と並列プロセッサ部のそれを分離するのが望
ましい。
そこで、これを実現するために必要な並列プロセッサ内
のローカルメモリと拡張記憶との間のセグメント単位の
ページングについて述べる。
図示するように、Bレジスタ53にEビットを追加し、
Eビットが1′の時セグメント空間がローカルメモリ上
に存在し、Cエレジスタが有効であり、0′の時、セグ
メント空間が拡張記憶上に存在し、C,レジスタが有効
であると定義する。
Bレジスタ53のセグメントアドレス部はCレジスタの
カラムアドレスを示すよう設定する。
CレジスタはC,、C2の2種類のレジスタがあり、そ
れぞれローカルメモリ上のセグメントアドレス、拡張記
憶上のアドレスを保持する。
これにより、データ処理ユニットよりの、論理アドレス
を、Bレジスタ、Eビットが有効を示すCレジスタの順
に参照して実アドレスに変換する。
また、拡張記憶が並列プロセッサ系に一つだけ存在する
時には、拡張記憶空間を、さらにデータ処理部の番号に
よって区分するのが望ましい。この場合、データ処理部
の番号はC2レジスタ101のpフィールド(第10図
参照)に保持する。
なお、C□、C2レジスタは実在のレジスタでなくロー
カルメモリ上の表でもよい。
以上、Aレジスタ、Bレジスタの設定が終了すると、前
述したように、マスクプロセッサは、データ処理部を以
下のように起動する。
マスタプロセッサ(第3図参照)は、バス10を介して
並列プロセッサに起動すべき実データ処理部の番号、該
データ処理部で処理するタスク番号、すなわち、この場
合は、対応するジョブの主記憶上のベースアドレスおよ
びタスクのローカルメモリ上のベースアドレスを保持し
ているAレジスタのレジスタ番号を送る。
これを受け、並列プロセッサ制御部50は、目的データ
処理部にバス80.81を介して起動信号、Aレジスタ
の番号を送る。レジスタ番号はレジスタ51にセットさ
れる。
起動信号を受け、データ処理部30は、主記憶またはロ
ーカルメモリをアクセスしながら処理を実行するが、こ
の主記憶またはローカルメモリのアクセスは、前述した
アドレス付けに従い、以下のように行われる。
オパランドアドレス生成部56で生成されるアドレスは
論理アドレスである。アドレスの上位、下位アドレスは
それぞれバス83.84上に送り出される。上位アドレ
スはBレジスタ53によってアドレスリロケーションが
行われ、変換されたアドレスがレジスタ57にセットさ
れる。下位アドレスはバス84を通ってレジスタ58に
セットされる。レジスタ57.58上のデータはセグメ
ント内のアドレスを示す。
レジスタ51上のデータは、Aレジスタ52のレジスタ
番号を示し、Aレジスタの下位データはローカルメモリ
上のタスクの先頭アドレスである。
Aレジスタの下位アドレスはレジスタ59にセットされ
、レジスタ59.57.58でローカルメモリ上の実ア
ドレスを構成する。該実アドレスはバス85上に送出さ
れる。
データ処理ユニットから送出されたストアデータは、ロ
ーカルメモリアクセスの場合バス86上に送出される。
ローカルメモリを読出す命令の時はデータ処理ユニット
55は、バス88を介してスイッチング回路60に作用
し、ローカルメモリの出力り、をバス87上に送出する
データ処理ユニット55から送出されたストアデータが
主記憶5へのアクセスの場合、バス86は、バス14に
接続された主記憶制御ユニット4ヘスドアデータが送出
される。一方データ処理ユニット25からはバス88上
に′0′信号を送出する。これはインバータ61によっ
て反転させられ、パス89上に送出される。パス89上
の信号はパス14上のデータ信号が有効であることを示
すコマンドである。
アドレスは、リロケーション変換されずにAレジスタ、
Bレジスタを透過した、オペランドアドレス生成部が生
成したアドレスであるところのパス85上の下位アドレ
スと、レジスタ62上のジョブのベースアドレスを示す
上位アドレスから成り、パス90上に送出される。すな
わち、主記憶アクセスの場合、タスクベースアドレス、
セグメントベースアドレスの変換は行わずに、オペラン
ドアドレス生成部84の生成したアドレスとジョブベー
スアドレスより主記憶の実アドレスを構成する。主記憶
におけるジョブ内においては、そのアドレスとオペラン
ドアドレス生成部56が生成する論理アドレスは等しい
と仮定しているからである。
主記憶を読比す命令の場合はパス14上のデータは無意
味である。データ処理ユニット55から主記憶5に対し
アクセスの種類と主記憶続出時に必要なシンク情報がパ
ス91上に送られる。
このシンク情報を用いて、主記憶から読み出されたデー
タは実プロセツサに振り分けられるが。
その詳細については、従来の並列パイプライン型ベクト
ルプロセッサが採用している方式であるので、説明を省
略する。
データ処理ユニットがタスクスイッチ状態でかつローカ
ルメモリからタスクスイッチ用記憶部へデータを送出す
る指示をマスタプロセッサから受けたときは、ローカル
メモリ読出時と同様のアドレス生成が行われる。
ただし、パス88上の信号値はt Or となり、スイ
ッチング回路60によって読出さtたデータはパス16
 (Store)上に送出される。パス91上のオーダ
は主記憶ストアが指示される。
ローカルメモリのタスク領域が、主記憶又はタスクスイ
ッチ用記憶部に書出された後、他のタスク領域が主記憶
又はタスクスイッチ用記憶部から読出され、ローカルメ
モリへ書込まれる。
すなわち、主記憶読出しの場合は、パス14を経由して
ローカルメモリに書込み、タスクスイッチ用記憶部より
の読み呂しの場合は、専用パスパス16 (fetch
)経由にスイッチング回路63を介してローカルメモリ
に書込まれる。
なお、スイッチング回路60の制御は、与えられた命令
に含まれるアクセス先に応じてデータ処理部55が行う
。また、タスクスイッチ処理を記述したプログラムはロ
ーカルメモリの特定のエリアに常駐させる。このプログ
ラムへの分岐は一種のタスク切替である。
次に、並列プロセッサのデータ処理部30の命令デコー
ド部106と命令アドレス生成部107について説明す
る。
データ処理部はマスタプロセッサからのセグメントの実
行開始またはタスクスイッチを指示されると、プログラ
ムカウンタを書替え、生成した命令アドレスを主記憶又
はローカルメモリ(含拡張記憶)に送り、命令を取り込
みこれをデコードし処理を行うが、この命令の取り込み
、デコードをおこなうのが、命令デコード部と命令アド
レス生成である。
なお、本実施例においては、命令は先に述にたオペラン
ドデータと異なる論理空間に格納する。
したがって、命令の取り込みに関しては、第3図に示し
たアクセス動作論理は用いない。但し、命令とオペラン
ドデータを同じ論理空間に格納する場合は、ハードウェ
ア量の削減のために、第3図に示したアクセス動作論理
を共用するようにしても良い。なお、この場合は、オペ
ランドデータアクセスと、命令フェッチの競合を制御す
るプライオリティ論理が必要となる。
第11図に、並列プロセッサのデータ処理部の命令デコ
ート部と命令アドレス生成部の構成を示す。
図11において、パス150〜152はマスクプロセッ
サからのコマンド、オーダ、アドレスデータ線である。
マスタプロセッサがスカラプロセッサの場合、図1に示
したパス11がパス150〜152に対応する。このパ
ス上でコマンド信号はアドレス、オーダ信号よりも1サ
イクル早く送呂されている。
パス150上のコマンド信号はラッチ105でラッチさ
れた後レジスタ106に作用し、パス151上のオーダ
信号を該レジスタにとりこむ。
オーダ信号が′1′の時生成したアドレスは主記憶へ送
出され、′0′の時ローカルメモリ側へ送出される。
パス150上に起動を指示するコマンドが送出された時
、アドレス加算器107の出力はパス152上のアドレ
スにセレクタ108によって置換えられ、プログラムカ
ウンタ109にセットされる。セグメントの実行開始ま
たはタスクスイッチの場合、パス152上には、前述し
たように。
実行すべきセグメントの先頭アドレスが送出されており
、データ処理部が最初に実行すべき命令が格納されてい
る。
該プログラムカウンタの出力はアドレス加算器107で
命令語長が格納されているレジスタ110の出力と加算
され命令アドレス列が順次作成されていく、生成された
命令アドレスはスイッチング回路111でレジスタ10
6のオーダ情報に従ってそれぞれ主記憶、ローカルメモ
リへ送出される。
主記憶、ローカルメモリから読出された命令はパス15
3.154を通る。再記憶を選択する信号はレジスタ1
12を介してセレクタ113に作用し、読出されたデー
タをデコーダ114に送る。
デコーダ114は命令を解読して、データ処理部内のデ
ータ処理ユニットやオペランドアドレス生成部等の各リ
ソースにオーダ信号等をパス155を介して送る。
その後、デコーダがセグメントの終りを検出した時、パ
ス160上にレジスタ106をリセットする信号が送出
される。この信号によりマスクプロセッサの指示の終了
となる。
なお、データ処理部の第1種状態が変化する時、デコー
ダ114はパス156〜159上にそれぞれ、コマンド
、3種類のオーダ信号を送出する。
(以下余白) 次に、ここで、並列プロセッサのデータ処理部および並
列プロセッサを除くプロセッサが備える。
第1種状態を管理する第1種状態管理部について説明す
る。
第13図は第1種状態管理部のブロック図である。
第13図においてAND回路300の出力は後に説明す
る第12図のトリガ250〜2’80に相当するので、
AND回路の出力に同じ番号を付けた。レジスタ200
〜204の値は第12図の同番号の状態の時′1′で、
それ以外の時′0′である。レジスタ200〜203の
出力はAND回路301でパス250〜280上の信号
値とレジスタ204の出力の逆と論理積がとられ、レジ
スタ200〜203のセット、リセット信号を生成する
。論理回路302はOR回路である。
パス290上にマシンチエツク検呂信号が送出されると
、レジスタ200〜203は無条件にリセットされ、レ
ジスタ204がJl にセットされる。レジスタ204
はパス291上にリセット信号が送出されない限り、リ
セットされない。
レジスタ200〜204でプロセッサの第1種状態表現
を示す。
プロセッサが並列プロセッサの時、プロセッサ内のデー
タ処理部毎にレジスタ200〜204が存在する。また
レジスタ303で現在実行しているタスクを識別する。
レジスタ303の値はタスク番号をあられすが、データ
処理部の状態がセグメント実行中又はイベント待ち以外
は無意味である。
レジスタ200.201の出力はOR回路307で論理
和がとら九る。OR回路307の出力′1′はレジスタ
303の内容が有意か否かを示し、セレクタ306に作
用する。レジスタ303の内容が有意の時、パス351
上にはタスク番号が、無意味の時101が送出される。
点線352以下は並列プロセッサ系のコントロール部(
第3図50)のプライオリティ決定論理のブロック図で
ある。線353は各データ部を示す。
フリップフロップ320はデータ処理部がセグメントの
実行要求を受理できるか否かを示している6即ち、該フ
リップフロップの出力がt Ojの時受理可で、′1′
の時、受理不可である。マスタプロセッサからセグメン
ト実行要求がパス370に送出されると、AND回路3
21でOR回路322の出力と論理積がとられる。複数
のデータ処理部のうち一つでもセグメント実行可ならば
、パス371上の信号値は11′である。パス37上の
信号によって、プライオリティ回路323の出力が有効
になる。プライオリティ回路は値が′1′のフリップフ
ロップ320のどれか1つを選択し、その通し番号をパ
ス372上に出力する。この番号はデコーダ324でデ
コードされ、フリップフロップをセットする。パス37
3は東線である。また、その通し番号はレジスタ325
にセットされ、これより、マスタプロセッサはセグメン
トを実行させるデータ処理部を決定する。
次に、並列プロセッサ内のデータ処理部の第2種状態を
管理する並列プロセッサ制御部3の第2種状態管理部に
ついて説明する。 第14図にその構成を示す。
並列プロセッサ制御部は並列プロセッサ内のデータ処理
部の第1種状態表現を第2種状態表現に変換するため論
理部である。並列プロセッサ制御部の論理を簡単にする
ため前記変換はマスクプロセッサ内のプログラム又はマ
イクロプログラムが行うことにする。並列プロセッサ制
御部はそのプログラムが参照するデータ、状態を読比す
ための論理である。
第14図において、各データ処理部で実行しているセグ
メントについて、パス450上に識別番号が、パス45
1上に実プロセツサ番号がマスタプロセッサの論理/実
変換プログラムから送られて来る。各データ処理部で実
行しているセグメントの情報は、実プロセツサ番号に応
じてスイッチング回路400によってふり分けられて、
レジスタ401にセットされる。
パス452,453,454はマスタプロセッサ側から
データ処理部のセグメント識別番号、アイドル状態か否
か、動作不可か否かを知るためのポイント信号を伝播さ
せるパスである。
データ処理部がアイドル状態又は動作不可状態の時セグ
メント識別番号は無意味である。データ処理部がアイド
ル状態か否かはレジスタ405の値が′1′か10′か
によって示される。
データ処理部がマシンチエツク等の動作不可状態か否か
はレジスタ409の値が′1′か′OIかによって示さ
れる0両レジスタの値はOR回路412で論理積とられ
、パス457上にセグメント識別番号が有効か無効かを
示す信号が送出される。
全てのデータ処理部がアイドル状態か動作不可状態かを
示す信号はそれぞれAND回路406゜410で生成さ
れ、パス458,459上に送出される。
この、パス458.459の信号を基に、マスクプロセ
ッサは、以下に示す第17第2種状態表現変換プログラ
ムは並列プロセッサの第2種状態表現を決定する。
第15図に、この第1/第2種状態表現変換プログラム
のフローを示す。
第1/第2種状態表現変換プログラムは、まずパス45
9の信号値が1か否か、すなわち全てのデータ処理部が
動作不可状態か否かを調べる(ステップ1601)、そ
して、全てのデータ処理部が動作不可状態であれば、第
2種状態表現を動作不可と決定する(ステップ1.60
2)。
パス459の信号値が1でなければ、パス458の信号
値が1か否か、すなわち全てのデータ処理部がアイドル
状態か否かを調べる(ステップ1603)、そして、全
てのデータ処理部がアイドル状態であれば、第2種状態
表現を単一状態と決定する(ステップ1604)。
パス458の信号値が1でなければ、順次、アイドル状
態でないデータ処理部を探しくステップ1605、16
06、1607=  1608゜1609.161o、
1611)、 そ(7)データ処理部が実行しているセ
グメントを読み出しくステツブ1,612.1613)
、その後、他のアイドル状態でないデータ処理部を探し
くステップ1614、1615、1616、1617゜
1618)、そのデータ処理部が実行しているセグメン
トを読み出しくステップ1620)、先に探しだしたデ
ータ処理部が実行しているセグメントと同じセグメント
を実行しているか否か調べ(ステップ1621)、異な
るセグメントを実行している場合は、第2種状態表現は
複合状態と判断する(ステップ1624)。
先に探しだしたデータ処理部が実行しているセグメント
と同じセグメントを実行している場合は、さらに、先に
探しだしたデータ処理部が実行しているセグメントと異
なるセグメントを実行しているデータ処理部を最大数ま
で(ステップ1622)探し、異なるセグメントを実行
しているデータ処理部が存在しない場合には、第2種状
態表現は単一状態と判断する(ステップ1625)。
次に、第1種状態表現における状態遷移について説明す
る。
第12図にこの状態遷移図を示す。
図中、200はセグメント実行中、201はイベント持
ち、202はタスクスイッチ中、203はアイドリング
、204は動作不可状態である。
また、各状態を遷移させるトリガを実線および点線によ
る矢印で示した。
トリガの番号250は、第13図パス370上の信号で
、マスタプロセッサで実行されるタスク起動ルーチンに
よって、マスタプロセッサよりデータ処理部に送られる
コマンド、251は第11図パス150上の一信号であ
り、マスタプロセッサで実行されるタスク切り替えルー
チンによって、マスタプロセッサよりデータ処理部に送
られる、内部状態退避または回復を指示するコマンド等
を想定しており、260はマスタプロセッサで実行され
るタスク起動ルーチンによって起動された命令(通常第
1番メツセージの命令)によって、第11図パス156
.157上の信号がセットされる条件を想定しており、
261はデータ処理部で実行される命令ストリームの終
端にある命令によって第13図バス156.158上に
送出されてくる信号によるものを想定している。
270は外部要因又は割込によるもの、280はプロセ
ッサ内のリソースからの完了信号によるもの、290は
マシンチエツク信号によることを示す。
以上のように、本実施例によれば、スカシ、ベクトル、
並列プロセッサから構成される複合プロセッサ系で、ジ
ョブをセグメント単位に分割し、該セグメントを最も効
率良く処理するプロセッサに割当てることができる。
また、この機能によって、複数の性質の異るジョブを数
多く処理しなければならない場合各プロセッサを高い効
率で稼動させることができ、ジョブスループットを向上
させうる。
また、プロセッサのハードウェア量は、並列プロセッサ
〉ベクトルプロセッサ〉スカシプロセッサの順であって
、各プロセッサを高い効率で稼動させることにより「少
い物量で高処理能力」の計算機を実現できる。
さらに、本実施例によれば、並列プロセッサの処理を中
断させ、他タスクの処理を実行させることができるので
並列プロセッサをバックグラウンド処理リソースとして
とり扱うことができる。また並列プロセッサのタスクス
イッチング用ストレージとして拡張記憶のような大容量
補助記憶を用いることができるので、ローカルメモリを
比較的小さく構成でき、コスト低減が可能である。
また、本実施例よればセグメント実行要求プロセッサ内
を複数種類設定できる。これによって第1候補のプロセ
ッサがビジー又は動作不可の場合、第2候補のプロセッ
サで実行が可能である。この機能で処理−効率向上と信
頼性の向上が期待できる。
[発明の効果] 以上のように、本発明によれば、複数の性質の異るプロ
セッサから構成されるシステムにおいて、並列プロセッ
サ部のようなプロセッサ内部に複数のデータ処理部を具
備するリソースのタスクスイッチングを実現し、これに
よって、マルチジョブ、マルチタスキング処理等におい
て各プロセッサを効率良く制御できる複合プロセッサシ
ステムを提供することができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る複合プロセッサシステ
ムの構成を示すブロック図、第2図は本発明の一実施例
に係る複合プロセッサシステムの他の構成を示すブロッ
ク図、第3図は並列プロセッサの構成を示すブロック図
、第4図は並列プロセッサのオペランドアクセス動作論
理の構成を示すブロック図、第5図はセグメント管理プ
ログラムの処理手順を示すフロー図、第6図は論理/実
プロセツサ変換部の処理手順を示すフロー図、第7図は
主記憶管理部の処理手順を示すフロー図、第8図はロー
カルメモリ管理部の処理手順を示すフロー図、第9図は
実プロセツサ起動部の処理手順を示すフロー図、第10
図は拡張記憶追加時のアドレス付けを示す説明図、第1
1図は並列プロセッサ部のデータ処理部の命令デコーダ
部の構成を示すブロック図、第12図はプロセッサの第
1種状態表現による状態遷移図、第13図はプロセッサ
状態管理論理部の構成を示すブロック図、第14図は並
列プロセッサの第2種状態管理部の構成を示すブロック
図、第15図は第1/第2種状態表現変換プログラムの
処理手順を示すフロー図、第16図はプロセッサ間の同
期処理を示す説明図である。 1・・・スカラプロセッサ、2・・・ベクトルプロセッ
サ、3・・・並列プロセッサ、5・・・主記憶、50・
・・並列プロセッサ制御部50.30・・・データ処理
部、54・・・ローカルメモリ、55・・・データ処理
ユニット、56・・・オペランド用アドレス生成部、5
2゜53・・・アクセス動作論理部、55はデータ処理
ユニット、106・・・命令デコード部、107・・・
命令アドレス生成部である。

Claims (1)

  1. 【特許請求の範囲】 1、主記憶と、スカラプロセッサとベクトルプロセッサ
    と複数のデータ処理部を備えた並列プロセッサと、デー
    タ処理の性質に応じて、その実行を各プロセッサに割り
    当てる処理管理手段と、を有することを特徴とする複合
    プロセッサシステム。 2、前記並列プロセッサの各データ処理部は、ローカル
    メモリを有することを特徴とする請求項1記載の複合プ
    ロセッサシステム。 3、並列プロセッサ専用の拡張記憶装置を備えたことを
    特徴とする請求項1または2記載の複合プロセッサシス
    テム。 4、請求項1、2または3記載の複合プロセッサシステ
    ムであって、いずれかのプロセッサが前記管理手段を備
    え、かつ、処理管理手段は、各プロセッサのアドレス変
    換テーブルと記憶保護機構を具備することを特徴とする
    複合プロセッサシステム。 5、請求項1、2、3または4記載の複合プロセッサシ
    ステムであって、 各プロセッサの状態を管理する状態管理手段を備え、前
    記処理管理手段は、データ処理の性質と各プロセッサの
    状態とに応じて、その実行を各プロセッサに割り当てる
    ことを有することを特徴とする複合プロセッサシステム
    。 6、請求項5記載の複合プロセッサシステムであって、
    前記状態管理手段は、並列プロセッサ全体の状態と並列
    プロセッサ内の各データ処理部の状態とで並列プロセッ
    サについての状態を管理することを特徴とする複合プロ
    セッサシステム。 7、請求項1、2、3、4、5または6記載の複合プロ
    セッサシステムであって、 前記処理管理手段が並列プロセッサの各データ処理部の
    プログラムカウンタの値を変更可能なハードウェアを有
    することを特徴とする複合プロセッサシステム。 8、請求項1、2、3、4、5、6または7記載の複合
    プロセッサシステムであって、 前記各プロセッサの各々に、スヌーピング機能を有する
    バッファストレージを設けたことを特徴とする複合プロ
    セッサシステム。
JP4704390A 1990-02-27 1990-02-27 複合プロセッサシステム Pending JPH03250241A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4704390A JPH03250241A (ja) 1990-02-27 1990-02-27 複合プロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4704390A JPH03250241A (ja) 1990-02-27 1990-02-27 複合プロセッサシステム

Publications (1)

Publication Number Publication Date
JPH03250241A true JPH03250241A (ja) 1991-11-08

Family

ID=12764141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4704390A Pending JPH03250241A (ja) 1990-02-27 1990-02-27 複合プロセッサシステム

Country Status (1)

Country Link
JP (1) JPH03250241A (ja)

Similar Documents

Publication Publication Date Title
US7290261B2 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US7650602B2 (en) Parallel processing computer
EP2115584B1 (en) Method and apparatus for enabling resource allocation identification at the instruction level in a processor system
JP5058970B2 (ja) シーケンサー・アドレス管理
US20070150895A1 (en) Methods and apparatus for multi-core processing with dedicated thread management
JPH06208552A (ja) スモール・グレイン機構
CN112346835B (zh) 一种基于协程的调度处理方法及系统
US11169837B2 (en) Fast thread execution transition
Govindarajan et al. Design and performance evaluation of a multithreaded architecture
JP3090452B2 (ja) 論理プロセッサ設備を供なったデータプロセッシングシステム内で論理システムの起動を制御する装置
US8707016B2 (en) Thread partitioning in a multi-core environment
JP2000047887A (ja) 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置
US6892280B2 (en) Multiprocessor system having distributed shared memory and instruction scheduling method used in the same system
JP2007188523A (ja) タスク実行方法およびマルチプロセッサシステム
JPH06243112A (ja) マルチプロセッサ装置
US20050172085A1 (en) Intelligent memory device
US20080134187A1 (en) Hardware scheduled smp architectures
Souto et al. Improving concurrency and memory usage in distributed operating systems for lightweight manycores via cooperative time-sharing lightweight tasks
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
JP7070384B2 (ja) 演算処理装置、メモリ装置、及び演算処理装置の制御方法
CN103649931A (zh) 用于支持由多个引擎执行指令序列的互连结构
JPH03250241A (ja) 複合プロセッサシステム
JP3019317B2 (ja) プロセススケジューリング方法
Asri et al. The Non-Uniform Compute Device (NUCD) architecture for lightweight accelerator offload
JPH0744401A (ja) 論理集積回路およびそのデータ処理システム