JPH10240702A - 並列処理プロセッサおよびその処理方法 - Google Patents

並列処理プロセッサおよびその処理方法

Info

Publication number
JPH10240702A
JPH10240702A JP4255797A JP4255797A JPH10240702A JP H10240702 A JPH10240702 A JP H10240702A JP 4255797 A JP4255797 A JP 4255797A JP 4255797 A JP4255797 A JP 4255797A JP H10240702 A JPH10240702 A JP H10240702A
Authority
JP
Japan
Prior art keywords
processor
processing
processor element
parallel
exception
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
JP4255797A
Other languages
English (en)
Inventor
Yoshihiko Imamura
義彦 今村
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP4255797A priority Critical patent/JPH10240702A/ja
Publication of JPH10240702A publication Critical patent/JPH10240702A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 例外処理を効率的に行うことができる並列処
理プロセッサを提供することを目的とする。 【解決手段】 プロセッサエレメント32 〜3n を独立
に動作させ、命令を並列に処理する並列処理プロセッサ
であって、アービタ4は、共通バス2を介して、プロセ
ッサエレメント32 〜3n のいずれかから割り込み処理
要求a(1)〜a(n)を入力すると、プロセッサエレ
メント32 〜3n のそれぞれに対して設定された特権レ
ベルに基づいて、当該割り込み処理を割り当てるプロセ
ッサエレメントを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムを複数
のプロセッサで並列処理する並列処理プロセッサおよび
その処理方法に関する。
【0002】
【従来の技術】次世代のマルチメディアプロセッサとし
て並列処理プロセッサが注目されている。この並列処理
プロセッサは、その構成から、SIMD(Single Instr
uction stream-Multiple Data stream) 型とMIMD(M
ultiple Instruction stream Multiple Data stream)型
に分類される。SIMD型の代表的なものとして、VL
IW(Very Long Instruction Word)がある。VLIWで
は、プログラムカウンタで指し示され、かつ、一時にフ
ェッチして実行される命令は1個であるが、この命令長
が長く、備えられた複数のプロセッサで同時に実行可能
な複数の操作が単一の命令シーケンスに記述されてい
る。ここで、命令シーケンスとは、プロセッサの制御方
法の観点から見たときに、チップ上に物理的に存在する
プロセス(スレッド)は任意の時刻で単一であることを
示している。すなわち、例えば、TSS(Time Sharing
System) によってマルチタスクを実行するにしても、チ
ップ上で命令実行制御を管理している部分(例えば、プ
ログラムカウンタ)は単一である。
【0003】これに対して、MIMD型の並列処理プロ
セッサは、複数のプロセッサエレメント(PE)を独立
に動作させ、個別の命令を並列に実行する。すなわち、
複数の命令シーケンスによって並列処理を行う。この並
列処理プロセッサでは、チップ上で命令実行制御を管理
する部分は、各プロセッサエレメントにそれぞれ設けら
れている。
【0004】ここで、例えば、割り込み処理要求が発生
してプロセッサエレメントの制御が切り換わるときに、
VLIWでは、制御部が単一であるため、その制御は比
較的簡単であるが、MIMD型の並列処理プロセッサで
は、複数の制御部が存在するため、割り込み発生時の制
御が複雑になりやすい。
【0005】ところで、従来から、MIMD型の並列処
理プロセッサでは、プロセッサエレメントの制御を簡単
化し、回路規模を縮小化するために、制御を集中的に管
理するコアプロセッサを設けることが多い。このコアプ
ロセッサは、他の一般のプロセッサに比べて機能が多
く、複雑なハードウェア構成をしている。
【発明が解決しようとする課題】
【0006】しかしながら、このコアプロセッサを用い
た並列処理プロッサでは、例外処理をコアプロセッサで
統括的に行うことから、例外処理時に、一般のプロセッ
サに比べてコアプロセッサの演算量が極端に多くなり、
システム全体として効率的な処理を行うことができな
い。
【0007】また、従来から、特権レベルを各プロセッ
サエレメントに設定し、マルチタスクなどのシステムプ
ログラムを動作させる並列処理プロセッサは存在する。
この並列処理プロセッサでは、例外処理を行なう場合
に、例外処理要求を発したプロセッサエレメントが自分
自身で例外ハンドラ(例外処理のためのプログラム)を
直接呼び出して実行したり、システムコールによって例
外ハンドラを間接的に呼び出して自ら実行する。また、
例外処理を実行するプロセッサエレメントを予め固定す
る場合もある。しかしながら、これらの方法では、ユー
ザーモードでアプリケーションプログラムを処理してい
るプロセッサエレメントに例外処理が割り当てられてし
まうことがある。この場合、このプロセッサエレメント
は、アプリケーションプログラムの処理を一時中断し、
そのときのレジスタ内容を一時的にメモリに退避するな
どの処理を行う必要があり、アプリケーションプログラ
ムの処理が妨げられてしまう。並列処理プロセッサで
は、一般的に、アプリケーションプログラムの処理を可
能な限り止めずに、処理を行うことが要求される。
【0008】また、特権レベルを比較してタスクを各プ
ロセッサエレメントに割り当てる並列処理プロセッサも
存在するが、この並列処理プロセッサでは、特権レベル
の比較はプロセッサエレメント上で動作するソフトウェ
アで行なわれる。そのため、高速なタスク割り当てがで
きない。
【0009】本発明は、上述した従来技術に鑑みてなさ
れ、ユーザーモードで動作しているプロセッサエレメン
トの処理をできるだけ中断することなく、例外処理を効
率的に行うことができる並列処理プロセッサおよびその
処理方法を提供することを目的とする。
【0010】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
並列処理プロセッサは、複数のプロセッサエレメントを
独立に動作させ、命令を並列に処理する並列処理プロセ
ッサであって、前記複数のプロセッサエレメントのいず
れかから割り込み処理要求を入力したときに、前記複数
のプロセッサエレメントのそれぞれの処理に対して設定
された特権レベルに基づいて、当該割り込み処理を割り
当てるプロセッサエレメントを決定する割り込み処理割
当手段を有する。
【0011】また、本発明の並列処理プロセッサは、好
ましくは、前記特権レベルは、ユーザーレベルと複数の
レベルで構成されるスーパーバイザーレベルとで構成さ
れ、前記割り込み処理割当手段は、前記スーパーバイー
ザーレベルで動作するプロセッサエレメントのうち、特
権レベルが最も低いプロセッサエレメントに前記割り込
み処理を割り当てる。
【0012】本発明の並列処理プロセッサでは、複数の
プロセッサエレメントのいずれかにおいて割り込み処理
要求が発生した場合に、ハードウェアによって実現され
る割り込み処理割当手段において、割り込み処理の割り
当てが統括的に行われる。このとき、割り込み処理割当
手段によって、割り込み処理は、スーパーバイザーレベ
ルで動作するプロセッサエレメントのうち、特権レベル
が最も低いプロセッサエレメントに割り当てられる。そ
のため、ユーザーレベルで動作しているプロセッサエレ
メントには、割り込み処理は割り当てられない。
【0013】
【発明の実施の形態】以下、本発明の実施形態に係わる
並列処理プロセッサおよびその処理方法について説明す
る。第1実施形態 図1は、本実施形態の並列処理プロセッサ1の構成図で
ある。図1に示すように、並列処理プロセッサ1は、共
通バス2にn個のプロセッサエレメント(PE)31
n およびアービタ4が接続され、1チップで構成さて
いる。並列処理プロセッサ1は、MIMD型の並列処理
プロセッサであり、プロセッサエレメント31 〜3n
それぞれ内蔵された制御回路からの命令実行制御に基づ
いてを独立に動作し、個別の命令を並列に実行する。共
通バス2は、制御線、アドレスバスおよびデータバスな
どで構成される。
【0014】図2は、図1に示すプロセッサエレメント
1 の構成図である。図2に示すように、プロセッサエ
レメント31 は、共通バス2に接続された内部バス35
に、制御回路31、演算回路32、レジスタ33および
ローカルメモリ34を接続した構成になっている。プロ
セッサエレメント31 では、ローカルメモリ34に記録
されたインストラクション(命令)を制御回路31から
の制御に基づいて演算回路32が処理する。レジスタ3
3には、プロセッサエレメント31 の特権レベルデータ
36が格納されてる。特権レベルデータ36は、8ビッ
トで構成され、256段階の特権レベルを表現可能であ
る。ここで、0〜127はスーパーバイザーモードを示
し、128〜255はユーザーモードを示す。ここで、
特権レベルデータ36は、数字が小さくなるに従って、
高い特権のレベルを示している。
【0015】ここで、スーパーバイザーモードとは、全
てのメモリ空間およびレジスタの読み書きが可能なモー
ドである。ユーザーモードとは、例えばメモリ空間およ
びレジスタのうち予め決められた範囲のものにのみアク
セスが許されているモードである。
【0016】制御回路31は、アービタ4に対して、通
常の演算処理過程において発生する演算例外や、プログ
ラムにおいて明示的に発生させるシステムコール例外な
どの全ての例外を対象に、例外が発生したことを示す例
外処理発生信号a(1)をアービタ4に出力する。例外
処理発生信号a(1)は、プロセッサエレメント31
おいて例外が発生したときに、アクティブ状態になる。
例外が発生する要因としては、例えば、ハードウェアに
よるリセット、バスユニットによるオフチップメモリへ
の参照、データページエラー、インストラクショページ
エラー、無効な命令の実行などが挙げられる。
【0017】また、制御回路31は、例外処理発生信号
a(1)をアクティブにした後に、例外処理発生信号a
(1)をアービタが受け付けたことを確認する例外処理
実行決定信号b(1)を検出する。プロセッサエレメン
ト31 において例外処理を行なう場合においてのみ例外
処理実行命令c(1)が検出され、アービタ4によって
アクティブ状態にされる。プロセッサエレメント31
外に割り振られた場合には、例外処理実行命令信号c
(2)は、割り振られたプロッセサの制御回路31にて
検出される。
【0018】プロセッサエレメント32 〜3n の構成お
よび機能は、プロセッサエレメント31 と同じである。
すなわち、並列処理プロセッサ1は、シンメトリックな
プロセッサエレメント31 〜3n を備えたMIMD型ア
ーキテクチャである。
【0019】図3は、図1に示すアービタ4の構成図で
ある。図3に示すように、アービタ4は、共通バス2お
よび内部バス46に接続されたバッファ45と、内部バ
ス46に接続された制御回路41、レジスタ42、比較
回路43およびレジスタ44とで構成される。レジスタ
44は、レジスタP1 〜Pn で構成され、プロセッサエ
レメント32〜3n における特権レベルデータ36の設
立時において、その値のコピーが共通バス2を介して、
それぞれレジスタP1 〜Pn に記憶される。
【0020】スーパーバイザーモード動作を行うプロセ
ッサエレメントの特権レベルデータ36のうちひとつの
特権レベルデータ36を読み出してレジスタ42に記憶
する。次に、比較回路43は、レジスタ42に記憶され
た特権レベルデータ36と、スーパーバイザーモード動
作を行うプロセッサエレメントの特権レベルデータ36
のうちレジスタP1 〜Pn から順次に読み出された特権
レベルデータ36とを順次に比較し、特権レベルの低い
方の特権レベルデータ36をレジスタ42に記憶する。
従って、最終的に、スーパーバイザーモード動作を行う
プロセッサエレメントの特権レベルデータ36のうち最
も特権レベルの低い特権レベルデータ36がレジスタ4
2に記憶される。このとき、レジスタ42には、添付情
報として、特権レベルデータ36に対応したプロセッサ
エレメントの番号が記憶される。
【0021】なお、システムのリセット直後に、レジス
タ42に記憶する特権レベルデータ36を決定する処理
を最初に行なうこととなるが、レジスタP1 〜Pn に記
憶された特権レベルデータ36は、全て同じ値に初期化
されているので、実質的に比較を行なう必要はない。と
ころで、OSなどの特権を持ったプログラムは、任意の
時刻にプロセッサエレメント31 〜3n の特権レベルデ
ータ36を変更可能であるが、変更する毎に、そのコピ
ーをレジスタ44に格納して更新する。システムのリセ
ット以後、m回目の更新時には、レジスタ42に記憶さ
れた特権レベルデータ36と、更新されたプロセッサエ
レメントの特権レベルデータ36とを比較し、その結果
を再びレジスタ42に記憶する。すなわち、アービタ4
は、常に、スーパーバイザーモードで動作するプロセッ
サエレメントの特権レベルデータ36のうち、最低レベ
ルのものをレジスタ42に記憶している。
【0022】以下、並列処理プロセッサ1における割り
込み処理について詳細に説明する。図4は、プロセッサ
エレメント31 〜3n の動作モードの態様を示す図であ
る。なお、図4に示す場合において、例外処理要求を発
生するプロセッサエレメントをプロセッサエレメント3
r とし、特権レベルの設定(又は更新)は終了している
ものとする。プロセッサエレメント3r は、例外が発生
すると、図2に示す例外処理要求信号a(1)に対応し
た例外処理要求信号a(r)をアクティブ状態にし、処
理を一旦停止(ハルト)する。
【0023】図4に示す(A)では、プロセッサエレメ
ント3q がスーパーバイザーモードになっており、それ
以外のプロセッサエレメントはユーザモードになってい
る。この場合には、アービタ4の制御回路41は、図5
(A)に示すタイミング61で、プロセッサエレメント
q からの例外処理要求信号a(r)がアクティブ状態
になったことを検出すると、スーパーバイザーモードで
動作しているのがプロセッサエレメント3q のみである
ことから、プロセッサエレメント3q に例外処理を割り
当てることを決定し、図5(B),(C)に示すタイミ
ング62で、例外処理実行決定信号b(r)および例外
処理要求信号c(q)をアクティブ状態にする。プロセ
ッサエレメント3q は、例外処理要求信号c(q)がア
クティブ状態になったことを検出すると、その時まで実
行していた処理を退避して対応する例外処理を実行し、
タイミング64において例外処理が終了すると、退避し
た処理を復帰して実行する。プロセッサエレメント3r
は、例外処理が発生したタイミング61で例外処理発生
信号a(r)をアクティブ状態としユーザーモードの処
理を停止する。その後、タイミング62で例外処理実行
決定信号b(r)がアクティブ状態になり、タイミング
63で例外処理発生信号a(r)をインアクティブ状態
にする。
【0024】次に、図4に示す(C)では、プロセッサ
エレメント3r のみがスーパーバイザーモードである場
合であり、この場合には、制御回路41は、アービタ4
は、プロセッサエレメント3r が発生した例外処理要求
信号a(r)を入力すると、例外処理要求信号c(r)
をアクティブ状態にし、プロセッサエレメント3r 、す
なわち自分自身で対応した例外処理を行わせる。
【0025】次に、図4に示す(D)では、プロセッサ
エレメント3r およびプロセッサエレメント31 がスー
パーバイザーモードである場合であり、この場合には、
制御回路41は、プロセッサエレメント3r が発生した
例外処理要求信号a(r)を入力すると、例外処理要求
信号c(r)をアクティブ状態にし、プロセッサエレメ
ント3r すなわち自分自身において対応した例外処理を
行なわせる。
【0026】次に、図4に示す(B)は、例外処理要求
を発したプロセッサエレメント3rがユーザーモードで
あり、プロセッサエレメント31 およびプロセッサエレ
メント3q がスーパーバイザーモードである場合であ
る。この場合には、アービタ4の制御回路41は、プロ
セッサエレメント3r が発生した例外処理要求信号a
(r)を入力すると、以下に示す方法で、例外処理を行
なうプロセッサエレメントを決定する。以下、例外処理
要求を発生するプロセッサエレメントがユーザーモード
であり、それ以外に、複数のスーパーバイザーモードで
動作するプロセッサエレメントが存在する場合に、いず
れのプロセッサエレメントに当該例外処理を割り当てる
かを決定する手法について説明する。なお、ここでは、
説明の簡略化のために、プロセッサエレメントの数nを
8とした場合について説明する。
【0027】図6は、複数のスーパーバイザーモードで
動作するプロセッサエレメントが存在する場合に、いず
れのプロセッサエレメントに当該例外処理を割り当てる
かを決定する手法を説明するための図である。この場合
には、例えば、ユーザーモードで動作するプロセッサエ
レメント35が例外処理要求を発生したとする。すなわ
ち、アービタ4の制御回路41は、例外処理要求信号a
(5)がアクティブ状態になったことを検出し、レジス
タ44のレジスタP1 〜Pn に記憶された各プロセッサ
エレメントの特権レベルデータ36のうちスーパーバイ
ザーモード(0〜127)にあるもので、最低レベルの
ものを検出する。比較演算は、図3に示す比較回路43
において前述したように行われている。
【0028】このとき、スーパーバイザーモードのプロ
セッサエレメントの特権レベルデータ36のうち、最低
レベルのものがレジスタ42に記憶されている。図6に
示す(A)の場合には、プロセッサエレメント31 ,3
2 ,33 ,37がスーパーバイザーモードであることか
ら、これらに対応した特権レベルデータ36のうち最低
レベルのものが、レジスタ42に記憶れている。すなわ
ち、特権レベルが「80」であるプロセッサエレメント
3 の特権レベルデータ36がレジスタ42に記憶され
ている。制御回路41は、レジスタ42の記憶内容から
プロセッサエレメント33 に例外処理を割り当てること
を決定し、例外処理要求信号c(3)をアクティブ状態
にする。これによって、プロセッサエレメント33 にお
いて対応した例外処理が行なわれる。
【0029】次に、図6に示す(B)の場合に、例え
ば、プロセッサエレメント35 がユーザーモードで動作
中に例外処理要求を発生したとする。この場合には、プ
ロセッサエレメント31 ,32 ,33 ,37 がスーパー
バイザーモードであり、プロセッサエレメント32 ,3
3 の双方の特権レベルが最低レベルの「80」である。
このとき、プロセッサエレメント32 ,33 のいずれに
例外処理を割り当てるかが問題となるが、本実施形態で
は、候補にあげられたプロセッサエレメントのうち、前
回例外処理が割り当てられたプロセッサエレメントの番
号の次の番号から検索したときに、最初に当たる番号の
プロセッサエレメントに例外処理を割り当てる。例え
ば、前回にプロセッサエレメント32 に例外処理が割り
当てられたときには、「2」の次の「3」から順次に検
索し、最終的にプロセッサエレメント33 に例外処理を
割り付ける。すなわち、レジスタ42には、プロセッサ
エレメント33 の特権レベルデータ36が記憶されてい
る。
【0030】以上説明したように、並列処理プロセッサ
1によれば、ひとつのプロセッサエレメントにおいて例
外が発生した場合に、その例外処理を行なうプロセッサ
エレメントをハードウェアであるアービタ4において統
括的に決定する。このとき、例外処理の割り当てにおい
て、プロセッサエレメント相互間での通信は行なわれ
ず、プロセッサエレメントとアービタ4との間でのみ通
信が行なわれる。そのため、例外処理に伴いプロセッサ
エレメント相互間の通信量が極端に大きくなることはな
く、また、例外処理を行なうプロセッサエレメントをソ
フトウェアを用いて決定する場合に比べて、例外処理の
割り当てを迅速に行なうことができる。また、並列処理
プロセッサ1によれば、スーパーバイザーモードで動作
しているプロセッサエレメントに、例外処理を割り当て
るため、ユーザーモードで動作しているプロセッサエレ
メントの処理が中断することを効果的に回避できる。
【0031】本発明は上述した実施形態には限定されな
い。例えば、特権レベルデータ36を、レジスタ33で
はなく、ローカルメモリ34にのみ記憶するようにして
もよい。また、上述した実施形態では、特権レベルデー
タ36をプロセッサエレメント31 〜3n およびアービ
タ4の双方において記憶する場合について例示したが、
特権レベルデータ36をアービタ4にのみ記憶するよう
にしてもよい。
【0032】第2実施形態 第1実施形態では、例外の発生要因とは無関係に例外処
理を行なうプロセッサエレメントが決定されている。従
って、図1に示すプロセッサエレメント31 〜3n から
アービタ4に出力される例外処理要求信号a(1)〜a
(n)は、アクティブおよびインアクティブの2つの状
態によって例外の発生の有無のみを示す1ビットの信号
である。本実施形態では、例外の発生要因によって、プ
ロセッサエレメント31 〜3nからアービタ4に出力さ
れる例外処理要求に要求レベルを設定し、この要求レベ
ルに応じて例外処理を実行するプロセッサエレメント3
1 〜3n を決定する。すなわち、プロセッサエレメント
1 〜3n は、例外の発生要因に応じた要求レベルを示
す例外処理要求信号をアービタ4に出力する。このと
き、128段階の要求レベルが設定され、例外処理要求
信号は7ビットの信号である。
【0033】アービタ4では、スーパーバイザーモード
で動作しているプロセッサエレメント31 〜3n の特権
レベルデータ36のうち、入力した例外処理要求信号が
示す要求レベルを越えない特権レベルデータ36のうち
最低レベルのものを検索し、その検索した特権レベルデ
ータ36に対応したプロセッサエレメント31 〜3n
例外処理を行なわせる。すなわち、プロセッサエレメン
ト31 〜3n は、自らの特権レベルデータ36の特権レ
ベルよりも高い要求レベルを持つ例外処理要求のみを受
け付け、同一あるいは低い要求レベルの例外処理要求は
マスクする。このとき、プロセッサエレメント31 〜3
n は、自らが例外処理要求を発生した場合には、例外処
理要求をマスクしない。
【0034】以上説明したように、本実施形態の並列処
理プロセッサによれば、例外処理要求の要求レベルに応
じて、例外処理を割り当てるプロセッサエレメントを決
定する。そのため、重要度の低い例外発生要因によっ
て、プロセッサエレメントにおける重要度の高い処理が
中断されることを効果的に抑制でき、より適切なプロセ
ッサエレメントに例外処理を割り当てることができる。
【0035】本発明は上述した実施形態には限定されな
い。例えば、上述した実施形態では、プロセッサエレメ
ントの動作モードとして、ユーザーモードとスーパーバ
イザーモードを設けたが、動作モードの数は任意であ
る。また、上述した実施形態では、特権レベルデータ3
6が変更される度に図3に示す比較回路43によるレジ
スタ42の記憶データの更新処理を行なう場合について
例示したが、この更新処理は、例外発生時に統括的に行
なうようにしてもよい。
【0036】
【発明の効果】以上説明したように、本発明の並列処理
プロセッサおよびその方法によれば、割り込み処理を迅
速かつ効率的に適切なプロセッサエレメントに割り当て
ることができる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態の並列処理プロセッ
サの構成図である。
【図2】図2は、図1に示すプロセッサエレメントの構
成図である。
【図3】図3は、図1に示すアービタの構成図である。
【図4】図4は、各プロセッサエレメントの動作モード
の態様を示す図である。
【図5】図5(A)〜(D)は、プロセッサエレメント
とアービタとの間で入出力される例外処理要求信号およ
び例外処理実行決定信号を説明するための図である。
【図6】図6は、複数のスーパーバイザーモードで動作
するプロセッサエレメントが存在する場合に、いずれの
プロセッサエレメントに当該例外処理を割り当てるかを
決定する手法を説明するための図である。
【符号の説明】
1…並列処理プロセッサ、2…共通バス、31 〜3n
プロセッサエレメント、4…アービタ、31…制御回
路、32…演算回路、33…レジスタ、34…ローカル
メモリ、36…特権レベルデータ、41…制御回路、4
2…レジスタ、43…比較回路、44…レジスタ、45
…バッファ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年4月7日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】また、制御回路31は、例外処理発生信号
a(1)をアクティブにした後に、例外処理発生信号a
(1)をアービタが受け付けたことを確認する例外処理
実行決定信号b(1)を検出する。プロセッサエレメン
ト31 において例外処理を行なう場合においてのみ例外
処理実行命令信号c(1)が検出され、アービタ4によ
ってアクティブ状態にされる。プロセッサエレメント3
1 以外に割り振られた場合には、例外処理実行命令信号
c(2)は、割り振られたプロッセサの制御回路31に
て検出される。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正内容】
【0022】以下、並列処理プロセッサ1における割り
込み処理について詳細に説明する。図4は、プロセッサ
エレメント31 〜3n の動作モードの態様を示す図であ
る。なお、図4に示す場合において、例外処理要求を発
生するプロセッサエレメントをプロセッサエレメント3
r とし、特権レベルの設定(又は更新)は終了している
ものとする。プロセッサエレメント3r は、例外が発生
すると、図2に示す例外処理要求信号a(1)に対応し
た例外処理発生信号a(r)をアクティブ状態にし、処
理を一旦停止(ハルト)する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0023
【補正方法】変更
【補正内容】
【0023】図4に示す(A)では、プロセッサエレメ
ント3q がスーパーバイザーモードになっており、それ
以外のプロセッサエレメントはユーザモードになってい
る。この場合には、アービタ4の制御回路41は、図5
(A)に示すタイミング61で、プロセッサエレメント
q からの例外処理発生信号a(r)がアクティブ状態
になったことを検出すると、スーパーバイザーモードで
動作しているのがプロセッサエレメント3q のみである
ことから、プロセッサエレメント3q に例外処理を割り
当てることを決定し、図5(B),(C)に示すタイミ
ング62で、例外処理実行決定信号b(r)および例外
処理実行命令信号c(q)をアクティブ状態にする。プ
ロセッサエレメント3q は、例外処理実行命令信号c
(q)がアクティブ状態になったことを検出すると、そ
の時まで実行していた処理を退避して対応する例外処理
を実行し、タイミング64において例外処理が終了する
と、退避した処理を復帰して実行する。プロセッサエレ
メント3r は、例外処理が発生したタイミング61で例
外処理発生信号a(r)をアクティブ状態としユーザー
モードの処理を停止する。その後、タイミング62で例
外処理実行決定信号b(r)がアクティブ状態になり、
タイミング63で例外処理発生信号a(r)をインアク
ティブ状態にする。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正内容】
【0024】次に、図4に示す(C)では、プロセッサ
エレメント3r のみがスーパーバイザーモードである場
合であり、この場合には、制御回路41は、アービタ4
は、プロセッサエレメント3r が発生した例外処理発生
信号a(r)を入力すると、例外処理実行命令信号c
(r)をアクティブ状態にし、プロセッサエレメント3
r 、すなわち自分自身で対応した例外処理を行わせる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正内容】
【0025】次に、図4に示す(D)では、プロセッサ
エレメント3r およびプロセッサエレメント31 がスー
パーバイザーモードである場合であり、この場合には、
制御回路41は、プロセッサエレメント3r が発生した
例外処理発生信号a(r)を入力すると、例外処理実行
命令信号c(r)をアクティブ状態にし、プロセッサエ
レメント3r すなわち自分自身において対応した例外処
理を行なわせる。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正内容】
【0026】次に、図4に示す(B)は、例外処理要求
を発したプロセッサエレメント3rがユーザーモードで
あり、プロセッサエレメント31 およびプロセッサエレ
メント3q がスーパーバイザーモードである場合であ
る。この場合には、アービタ4の制御回路41は、プロ
セッサエレメント3r が発生した例外処理発生信号a
(r)を入力すると、以下に示す方法で、例外処理を行
なうプロセッサエレメントを決定する。以下、例外処理
要求を発生するプロセッサエレメントがユーザーモード
であり、それ以外に、複数のスーパーバイザーモードで
動作するプロセッサエレメントが存在する場合に、いず
れのプロセッサエレメントに当該例外処理を割り当てる
かを決定する手法について説明する。なお、ここでは、
説明の簡略化のために、プロセッサエレメントの数nを
8とした場合について説明する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】図6は、複数のスーパーバイザーモードで
動作するプロセッサエレメントが存在する場合に、いず
れのプロセッサエレメントに当該例外処理を割り当てる
かを決定する手法を説明するための図である。この場合
には、例えば、ユーザーモードで動作するプロセッサエ
レメント35が例外処理要求を発生したとする。すなわ
ち、アービタ4の制御回路41は、例外処理発生信号a
(5)がアクティブ状態になったことを検出し、レジス
タ44のレジスタP1 〜Pn に記憶された各プロセッサ
エレメントの特権レベルデータ36のうちスーパーバイ
ザーモード(0〜127)にあるもので、最低レベルの
ものを検出する。比較演算は、図3に示す比較回路43
において前述したように行われている。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正内容】
【0028】このとき、スーパーバイザーモードのプロ
セッサエレメントの特権レベルデータ36のうち、最低
レベルのものがレジスタ42に記憶されている。図6に
示す(A)の場合には、プロセッサエレメント31 ,3
2 ,33 ,37がスーパーバイザーモードであることか
ら、これらに対応した特権レベルデータ36のうち最低
レベルのものが、レジスタ42に記憶れている。すなわ
ち、特権レベルが「80」であるプロセッサエレメント
3 の特権レベルデータ36がレジスタ42に記憶され
ている。制御回路41は、レジスタ42の記憶内容から
プロセッサエレメント33 に例外処理を割り当てること
を決定し、例外処理実行命令信号c(3)をアクティブ
状態にする。これによって、プロセッサエレメント33
において対応した例外処理が行なわれる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0032
【補正方法】変更
【補正内容】
【0032】第2実施形態 第1実施形態では、例外の発生要因とは無関係に例外処
理を行なうプロセッサエレメントが決定されている。従
って、図1に示すプロセッサエレメント31 〜3n から
アービタ4に出力される例外処理発生信号a(1)〜a
(n)は、アクティブおよびインアクティブの2つの状
態によって例外の発生の有無のみを示す1ビットの信号
である。本実施形態では、例外の発生要因によって、プ
ロセッサエレメント31 〜3nからアービタ4に出力さ
れる例外処理要求に要求レベルを設定し、この要求レベ
ルに応じて例外処理を実行するプロセッサエレメント3
1 〜3n を決定する。すなわち、プロセッサエレメント
1 〜3n は、例外の発生要因に応じた要求レベルを示
す例外処理要求信号をアービタ4に出力する。このと
き、128段階の要求レベルが設定され、例外処理要求
信号は7ビットの信号である。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】図5(A)〜(D)は、プロセッサエレメント
とアービタとの間で入出力される例外処理発生信号
外処理実行決定信号および例外処理実行命令信号を説明
するための図である。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサエレメントを独立に動作
    させ、命令を並列に処理する並列処理プロセッサにおい
    て、 前記複数のプロセッサエレメントのいずれかから割り込
    み処理要求を入力したときに、前記複数のプロセッサエ
    レメントのそれぞれに対して設定された特権レベルに基
    づいて、当該割り込み処理を割り当てるプロセッサエレ
    メントを決定する割り込み処理割当手段を有する並列処
    理プロセッサ。
  2. 【請求項2】前記割り込み処理割当手段は、前記特権レ
    ベルを記憶する内部メモリと、 前記複数のプロセッサエレメントに設定された特権レベ
    ルを前記内部メモリから読み出して比較する比較手段と
    を有する請求項1に記載の並列処理プロセッサ。
  3. 【請求項3】前記特権レベルは、ユーザーレベルと複数
    のレベルで構成されるスーパーバイザーレベルとで構成
    され、 前記割り込み処理割当手段は、前記スーパーバイーザー
    レベルで動作するプロセッサエレメントのうち、特権レ
    ベルが最も低いプロセッサエレメントに前記割り込み処
    理を割り当てる請求項1に記載の並列処理プロセッサ。
  4. 【請求項4】前記割り込み処理要求には、割り込み要因
    に応じた要求レベルが含まれ、 前記割り込み処理割当手段は、前記要求レベルより低い
    特権レベルに設定されたプロセッサエレメントに、前記
    割り込み要求に応じた割り込み処理を割り当てる請求項
    1に記載の並列処理プロセッサ。
  5. 【請求項5】前記割り込み処理は、例外処理である請求
    項1に記載の並列処理プロセッサ。
  6. 【請求項6】前記複数のプロセッサエレメントは、同一
    のハードウェア構成をしている請求項1に記載の並列処
    理プロセッサ。
  7. 【請求項7】複数のプロセッサエレメントを独立に動作
    させ、命令を並列に処理する並列処理方法において、 前記複数のプロセッサエレメントのいずれかが割り込み
    処理要求を発したときに、前記複数のプロセッサエレメ
    ントのそれぞれに対して設定された特権レベルに基づい
    て、当該割り込み処理を割り当てるプロセッサエレメン
    トを決定する並列処理方法。
  8. 【請求項8】前記特権レベルは、ユーザーレベルと複数
    のレベルで構成されるスーパーバイザーレベルとで構成
    され、 前記スーパーバイーザーレベルで動作するプロセッサエ
    レメントのうち、特権レベルが最も低いプロセッサエレ
    メントに前記割り込み処理を割り当てる請求項7に記載
    の並列処理方法。
JP4255797A 1997-02-26 1997-02-26 並列処理プロセッサおよびその処理方法 Pending JPH10240702A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4255797A JPH10240702A (ja) 1997-02-26 1997-02-26 並列処理プロセッサおよびその処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4255797A JPH10240702A (ja) 1997-02-26 1997-02-26 並列処理プロセッサおよびその処理方法

Publications (1)

Publication Number Publication Date
JPH10240702A true JPH10240702A (ja) 1998-09-11

Family

ID=12639354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4255797A Pending JPH10240702A (ja) 1997-02-26 1997-02-26 並列処理プロセッサおよびその処理方法

Country Status (1)

Country Link
JP (1) JPH10240702A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160033689A (ko) * 2013-07-17 2016-03-28 비트데펜더 아이피알 매니지먼트 엘티디 스왑 아웃된 메모리 페이지의 가상 머신 가상화된 메모리로의 맵핑을 위한 가상 머신에서의 페이지 오류 삽입

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160033689A (ko) * 2013-07-17 2016-03-28 비트데펜더 아이피알 매니지먼트 엘티디 스왑 아웃된 메모리 페이지의 가상 머신 가상화된 메모리로의 맵핑을 위한 가상 머신에서의 페이지 오류 삽입
JP2016525255A (ja) * 2013-07-17 2016-08-22 ビットディフェンダー アイピーアール マネジメント リミテッド 仮想マシンにおけるページフォールトインジェクション

Similar Documents

Publication Publication Date Title
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
US6389446B1 (en) Multi-processor system executing a plurality of threads simultaneously and an execution method therefor
EP0747816B1 (en) Method and system for high performance multithread operation in a data processing system
US5640524A (en) Method and apparatus for chaining vector instructions
US5008812A (en) Context switching method and apparatus for use in a vector processing system
JP3014773B2 (ja) プロセサアーキテクチャ
US7350006B2 (en) System and method of interrupt handling
US5333297A (en) Multiprocessor system having multiple classes of instructions for purposes of mutual interruptibility
JP2818249B2 (ja) 電子計算機
US5043867A (en) Exception reporting mechanism for a vector processor
JPS58151655A (ja) 情報処理装置
JPH08278886A (ja) データ処理システムでの拡張システム管理操作のための方法およびシステム
JPH0776921B2 (ja) データ処理方法及び装置
JPH0766329B2 (ja) 情報処理装置
JPH0430053B2 (ja)
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
JPH10301778A (ja) レジスタの名前変更を管理する方法および装置
JPS62221732A (ja) 情報処理装置
US5148542A (en) Multitask processing apparatus utilizing a central processing unit equipped with a micro-program memory which contains no software instructions
US5943494A (en) Method and system for processing multiple branch instructions that write to count and link registers
US5542079A (en) Data driven processor for reading data from storage to apply prescribed operation in response to operation updating instruction and updating the contents of the storage
US5598547A (en) Vector processor having functional unit paths of differing pipeline lengths
JPH10240702A (ja) 並列処理プロセッサおよびその処理方法
EP0510429A2 (en) Millicode register management system
JP2585905B2 (ja) マルチタスク実行装置