JPH07295885A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH07295885A JPH07295885A JP6091829A JP9182994A JPH07295885A JP H07295885 A JPH07295885 A JP H07295885A JP 6091829 A JP6091829 A JP 6091829A JP 9182994 A JP9182994 A JP 9182994A JP H07295885 A JPH07295885 A JP H07295885A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic processing
- processing unit
- input
- idle state
- output
- 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
Links
- 238000012545 processing Methods 0.000 claims abstract description 373
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 8
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000007562 laser obscuration time method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 11
- 230000007704 transition Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000001994 activation Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 キャッシュメモリのヒット率の低下を防ぎ、
演算処理装置の利用効率を向上させる。 【構成】 主記憶装置1内には各プロセッサグループ2
−1〜2−n内の演算処理装置4−1〜4−4がアイド
ル状態にあるか否かを示すステータス情報を保持するス
テータステーブル10が格納されている。各プロセッサ
グループ2−1〜2−n内の入出力処理装置3−1〜3
−4は演算処理装置4−1〜4−4から起動されたI/
O動作が終了すると、ステータステーブル10のプロセ
ッサグループキュー及びアイドルプロセッサキューに基
づいて終了報告を行うべき演算処理装置を決定する。
演算処理装置の利用効率を向上させる。 【構成】 主記憶装置1内には各プロセッサグループ2
−1〜2−n内の演算処理装置4−1〜4−4がアイド
ル状態にあるか否かを示すステータス情報を保持するス
テータステーブル10が格納されている。各プロセッサ
グループ2−1〜2−n内の入出力処理装置3−1〜3
−4は演算処理装置4−1〜4−4から起動されたI/
O動作が終了すると、ステータステーブル10のプロセ
ッサグループキュー及びアイドルプロセッサキューに基
づいて終了報告を行うべき演算処理装置を決定する。
Description
【0001】
【産業上の利用分野】本発明はデータ処理装置に関し、
特にマルチプロセッサシステムにおけるI/O(入出
力)割込みの通知方式に関する。
特にマルチプロセッサシステムにおけるI/O(入出
力)割込みの通知方式に関する。
【0002】
【従来の技術】従来、マルチプロセッサシステムにおい
ては、入出力処理装置から特定の演算処理装置に対して
のみI/O割込みを通知し、その特定の演算処理装置で
I/O割込みを処理する方法がある。この場合、入出力
処理装置と演算処理装置との間には特定の従属関係が設
定されている。
ては、入出力処理装置から特定の演算処理装置に対して
のみI/O割込みを通知し、その特定の演算処理装置で
I/O割込みを処理する方法がある。この場合、入出力
処理装置と演算処理装置との間には特定の従属関係が設
定されている。
【0003】また、入出力処理装置からシステム内に存
在する全ての演算処理装置に対してI/O割込みを通知
し、その通知を受信した演算処理装置のうちのいずれか
でI/O割込みを処理する方法もある。
在する全ての演算処理装置に対してI/O割込みを通知
し、その通知を受信した演算処理装置のうちのいずれか
でI/O割込みを処理する方法もある。
【0004】
【発明が解決しようとする課題】上述した従来のマルチ
プロセッサシステムでは、入出力処理装置から特定の演
算処理装置に対してのみI/O割込みを通知する方法の
場合、特定の演算処理装置に負荷が集中する恐れがあ
る。
プロセッサシステムでは、入出力処理装置から特定の演
算処理装置に対してのみI/O割込みを通知する方法の
場合、特定の演算処理装置に負荷が集中する恐れがあ
る。
【0005】また、この方法の場合には特定の演算処理
装置が障害等の発生によってシステムから切離される
と、その演算処理装置との間に特定の従属関係が設定さ
れている入出力処理装置も全てシステムから切離されて
しまう。
装置が障害等の発生によってシステムから切離される
と、その演算処理装置との間に特定の従属関係が設定さ
れている入出力処理装置も全てシステムから切離されて
しまう。
【0006】一方、入出力処理装置からシステム内に存
在する全ての演算処理装置に対してI/O割込みを通知
する方法の場合、I/O割込みを受信した複数の演算処
理装置が同時にI/O割込みを処理しようとするため、
複数の演算処理装置間及び演算処理装置と入出力処理装
置との間で複雑な排他制御を行わなければならない。
在する全ての演算処理装置に対してI/O割込みを通知
する方法の場合、I/O割込みを受信した複数の演算処
理装置が同時にI/O割込みを処理しようとするため、
複数の演算処理装置間及び演算処理装置と入出力処理装
置との間で複雑な排他制御を行わなければならない。
【0007】また、I/O命令を発行した演算処理装置
と、I/O割込みを処理する演算処理装置とが一般的に
異なるため、割込み処理におけるキャッシュメモリのヒ
ットが期待できない。
と、I/O割込みを処理する演算処理装置とが一般的に
異なるため、割込み処理におけるキャッシュメモリのヒ
ットが期待できない。
【0008】特に、演算処理装置と入出力処理装置とが
キャッシュメモリを共有するような場合には、I/O命
令を発行した演算処理装置と、I/O割込みを処理する
演算処理装置とが夫々属するグループが異なると、キャ
ッシュヒット率の著しい低下を招くこととなる。
キャッシュメモリを共有するような場合には、I/O命
令を発行した演算処理装置と、I/O割込みを処理する
演算処理装置とが夫々属するグループが異なると、キャ
ッシュヒット率の著しい低下を招くこととなる。
【0009】そこで、本発明の目的は上記の問題点を解
消し、キャッシュメモリのヒット率の低下を防ぐことが
でき、演算処理装置の利用効率を向上させることができ
るデータ処理装置を提供することにある。
消し、キャッシュメモリのヒット率の低下を防ぐことが
でき、演算処理装置の利用効率を向上させることができ
るデータ処理装置を提供することにある。
【0010】
【課題を解決するための手段】本発明によるデータ処理
装置は、キャッシュメモリを夫々共有する複数の演算処
理装置及び複数の入出力処理装置を含む一以上のプロセ
ッサグループと、前記プロセッサグループが共有する主
記憶装置とからなり、前記演算処理装置から前記入出力
処理装置に対してプロセッサ間通信によって入出力動作
を起動する手段と、前記入出力処理装置から前記演算処
理装置に入出力割込みを報告する手段とを有するデータ
処理装置であって、前記演算処理装置各々がアイドル状
態か否かを示す状態情報を保持する保持手段と、前記演
算処理装置各々に設けられかつ自装置の前記状態情報を
前記保持手段に出力する手段と、前記入出力処理装置各
々に設けられかつ前記保持手段の内容を参照して前記ア
イドル状態の演算処理装置を検出する検出手段と、前記
入出力処理装置各々に設けられかつ前記検出手段によっ
て検出された前記アイドル状態の演算処理装置及び予め
定められた所定の演算処理装置のうちの一方に前記入出
力割込みを報告する報告手段とを具備している。
装置は、キャッシュメモリを夫々共有する複数の演算処
理装置及び複数の入出力処理装置を含む一以上のプロセ
ッサグループと、前記プロセッサグループが共有する主
記憶装置とからなり、前記演算処理装置から前記入出力
処理装置に対してプロセッサ間通信によって入出力動作
を起動する手段と、前記入出力処理装置から前記演算処
理装置に入出力割込みを報告する手段とを有するデータ
処理装置であって、前記演算処理装置各々がアイドル状
態か否かを示す状態情報を保持する保持手段と、前記演
算処理装置各々に設けられかつ自装置の前記状態情報を
前記保持手段に出力する手段と、前記入出力処理装置各
々に設けられかつ前記保持手段の内容を参照して前記ア
イドル状態の演算処理装置を検出する検出手段と、前記
入出力処理装置各々に設けられかつ前記検出手段によっ
て検出された前記アイドル状態の演算処理装置及び予め
定められた所定の演算処理装置のうちの一方に前記入出
力割込みを報告する報告手段とを具備している。
【0011】本発明による他のデータ処理装置は、上記
の構成のほかに、同一のプロセッサグループに属するこ
とを示すグループ情報を前記保持手段に書込む手段と、
前記保持手段に設けられかつ前記アイドル状態の演算処
理装置をリンクするキューとを備えている。
の構成のほかに、同一のプロセッサグループに属するこ
とを示すグループ情報を前記保持手段に書込む手段と、
前記保持手段に設けられかつ前記アイドル状態の演算処
理装置をリンクするキューとを備えている。
【0012】本発明による別のデータ処理装置は、上記
の構成のほかに、前記保持手段の内容を参照して同一の
プロセッサグループ内における前記アイドル状態の演算
処理装置を検出する手段を前記複数の入出力処理装置各
々に備え、前記報告手段が前記検出手段によって検出さ
れた前記アイドル状態の演算処理装置と前記所定の演算
処理装置と前記同一のプロセッサグループ内における前
記アイドル状態の演算処理装置とのうちの一つに前記入
出力割込みを報告するようにしている。
の構成のほかに、前記保持手段の内容を参照して同一の
プロセッサグループ内における前記アイドル状態の演算
処理装置を検出する手段を前記複数の入出力処理装置各
々に備え、前記報告手段が前記検出手段によって検出さ
れた前記アイドル状態の演算処理装置と前記所定の演算
処理装置と前記同一のプロセッサグループ内における前
記アイドル状態の演算処理装置とのうちの一つに前記入
出力割込みを報告するようにしている。
【0013】本発明によるさらに別のデータ処理装置
は、上記の構成のほかに、非アイドル状態から前記アイ
ドル状態への遷移時に前記キューに自装置を特定する装
置番号をエンキューする手段と、前記アイドル状態から
前記非アイドル状態への遷移時に前記キューから前記自
装置を特定する装置番号をデキューする手段とを前記複
数の演算処理装置各々に備えている。
は、上記の構成のほかに、非アイドル状態から前記アイ
ドル状態への遷移時に前記キューに自装置を特定する装
置番号をエンキューする手段と、前記アイドル状態から
前記非アイドル状態への遷移時に前記キューから前記自
装置を特定する装置番号をデキューする手段とを前記複
数の演算処理装置各々に備えている。
【0014】
【作用】各プロセッサグループ内の演算処理装置がアイ
ドル状態にあるか否かを示すステータス情報を保持する
主記憶装置内のステータステーブルには、同一のプロセ
ッサグループに属する演算処理装置をリンクするための
プロセッサグループキューとシステム内でアイドル状態
にある演算処理装置をリンクするためのアイドルプロセ
ッサキューとが設けられている。
ドル状態にあるか否かを示すステータス情報を保持する
主記憶装置内のステータステーブルには、同一のプロセ
ッサグループに属する演算処理装置をリンクするための
プロセッサグループキューとシステム内でアイドル状態
にある演算処理装置をリンクするためのアイドルプロセ
ッサキューとが設けられている。
【0015】入出力処理装置はI/O動作を終了する
と、ステータステーブルのアイドルプロセッサキューに
基づいて終了報告を行うべき演算処理装置を決定する処
理と、プロセッサグループキュー及びアイドルプロセッ
サキューに基づいて演算処理装置を決定する処理とのう
ち少なくとも一方の処理を行う。
と、ステータステーブルのアイドルプロセッサキューに
基づいて終了報告を行うべき演算処理装置を決定する処
理と、プロセッサグループキュー及びアイドルプロセッ
サキューに基づいて演算処理装置を決定する処理とのう
ち少なくとも一方の処理を行う。
【0016】これによって、演算処理装置間及び演算処
理装置と入出力処理装置との間の排他制御が不要になる
ので、演算処理装置の利用効率の向上が可能となる。ま
た、同一グループ内の演算処理装置で入出力処理装置か
らのI/O割込みの処理を行うことが可能となるので、
キャッシュメモリのヒット率の低下を防ぐことが可能と
なる。
理装置と入出力処理装置との間の排他制御が不要になる
ので、演算処理装置の利用効率の向上が可能となる。ま
た、同一グループ内の演算処理装置で入出力処理装置か
らのI/O割込みの処理を行うことが可能となるので、
キャッシュメモリのヒット率の低下を防ぐことが可能と
なる。
【0017】
【実施例】次に、本発明の一実施例について図面を参照
して説明する。
して説明する。
【0018】図1は本発明の一実施例のシステム構成を
示すブロック図である。図において、主記憶装置(MM
U)1内には各プロセッサグループ(PG)2−1〜2
−n内の演算処理装置(EPU)4−1〜4−N(Nは
2以上の正の整数)(図中、演算処理装置4−1〜4−
4のみを図示)がアイドル状態にあるか否かを示すステ
ータス情報を保持するステータステーブル(STS)1
0が格納されている。
示すブロック図である。図において、主記憶装置(MM
U)1内には各プロセッサグループ(PG)2−1〜2
−n内の演算処理装置(EPU)4−1〜4−N(Nは
2以上の正の整数)(図中、演算処理装置4−1〜4−
4のみを図示)がアイドル状態にあるか否かを示すステ
ータス情報を保持するステータステーブル(STS)1
0が格納されている。
【0019】各プロセッサグループ2−1〜2−n内に
おいては最大で4台の入出力処理装置(IOP)3−1
〜3−M(Mは2以上の正の整数)(図中、入出力処理
装置3−1〜3−4のみを図示)と、最大で4台の演算
処理装置4−1〜4−Nとが、つまり最大8台のプロセ
ッサがキャッシュメモリ5−1〜5−n(図中、キャッ
シュメモリ5−1のみを図示)を介して互いに接続され
ている。
おいては最大で4台の入出力処理装置(IOP)3−1
〜3−M(Mは2以上の正の整数)(図中、入出力処理
装置3−1〜3−4のみを図示)と、最大で4台の演算
処理装置4−1〜4−Nとが、つまり最大8台のプロセ
ッサがキャッシュメモリ5−1〜5−n(図中、キャッ
シュメモリ5−1のみを図示)を介して互いに接続され
ている。
【0020】また、各プロセッサグループ2−1〜2−
nはメモリバス6によって主記憶装置1に接続されると
ともに、メモリバス6を介して各プロセッサグループ2
−1〜2−nの間でプロセッサ間通信が行われる。
nはメモリバス6によって主記憶装置1に接続されると
ともに、メモリバス6を介して各プロセッサグループ2
−1〜2−nの間でプロセッサ間通信が行われる。
【0021】図2は図1のステータステーブル10の構
成を示す図である。図において、ステータステーブル1
0は演算処理装置4−1〜4−N毎に1ワード(4バイ
ト=32ビット)のエントリ10aが設けられている。
成を示す図である。図において、ステータステーブル1
0は演算処理装置4−1〜4−N毎に1ワード(4バイ
ト=32ビット)のエントリ10aが設けられている。
【0022】エントリ10aのビット0はバリッド(V
alid)ビット10bで、対応する演算処理装置4−
1〜4−Nが有効の場合には“1”が、無効の場合には
“0”が図示せぬRAS(Reliability A
vailability Serviceabilit
y)プロセッサによってセットされる。
alid)ビット10bで、対応する演算処理装置4−
1〜4−Nが有効の場合には“1”が、無効の場合には
“0”が図示せぬRAS(Reliability A
vailability Serviceabilit
y)プロセッサによってセットされる。
【0023】ここで、バリッドビット10bが無効の場
合とは演算処理装置4−1〜4−Nが障害中の場合、あ
るいはシステムに存在しない場合、または一時的にシス
テムから切離されている場合等である。
合とは演算処理装置4−1〜4−Nが障害中の場合、あ
るいはシステムに存在しない場合、または一時的にシス
テムから切離されている場合等である。
【0024】図2では演算処理装置4−1〜4−8,…
…,4−(N−1),4−Nに対応するエントリ10a
のバリッドビット10bに有効を示す“1”が、演算処
理装置4−9に対応するエントリ10aのバリッドビッ
ト10bに無効を示す“0”がセットされている状態を
示している。
…,4−(N−1),4−Nに対応するエントリ10a
のバリッドビット10bに有効を示す“1”が、演算処
理装置4−9に対応するエントリ10aのバリッドビッ
ト10bに無効を示す“0”がセットされている状態を
示している。
【0025】エントリ10aのビット4〜7はステータ
スフラグ10cで、対応する演算処理装置4−1〜4−
Nがアイドル状態である場合には“0000”が、非ア
イドル状態の場合には“1111”が夫々対応する演算
処理装置4−1〜4−Nによってセットされる。
スフラグ10cで、対応する演算処理装置4−1〜4−
Nがアイドル状態である場合には“0000”が、非ア
イドル状態の場合には“1111”が夫々対応する演算
処理装置4−1〜4−Nによってセットされる。
【0026】ここで、アイドル状態とはI/O終了待ち
等のために実行可能なプロセスが存在しない状態を指
す。また、ステータスフラグ10cの更新の契機は各演
算処理装置4−1〜4−Nでアイドル状態と非アイドル
状態との状態遷移が起きたタイミングである。
等のために実行可能なプロセスが存在しない状態を指
す。また、ステータスフラグ10cの更新の契機は各演
算処理装置4−1〜4−Nでアイドル状態と非アイドル
状態との状態遷移が起きたタイミングである。
【0027】図2では演算処理装置4−1〜4−5,4
−7,4−8,……,4−Nに対応するエントリ10a
のステータスフラグ10cに非アイドル状態を示す“1
111”が、演算処理装置4−6,4−9,……,4−
(N−1)に対応するステータスフラグ10cにアイド
ル状態を示す“0000”がセットされている。
−7,4−8,……,4−Nに対応するエントリ10a
のステータスフラグ10cに非アイドル状態を示す“1
111”が、演算処理装置4−6,4−9,……,4−
(N−1)に対応するステータスフラグ10cにアイド
ル状態を示す“0000”がセットされている。
【0028】エントリ10aのビット16〜23の1バ
イトは同一のプロセッサグループ2−1〜2−nに属す
る演算処理装置4−1〜4−Nをリンクするためのプロ
セッサグループキュー10dである。
イトは同一のプロセッサグループ2−1〜2−nに属す
る演算処理装置4−1〜4−Nをリンクするためのプロ
セッサグループキュー10dである。
【0029】図2では同一のプロセッサグループ2−1
に属する演算処理装置4−1〜4−4をリンクするため
に、演算処理装置4−1に演算処理装置4−2を示す
“00000001”が、演算処理装置4−2に演算処
理装置4−3を示す“00000010”が、演算処理
装置4−3に演算処理装置4−4を示す“000000
11”が、演算処理装置4−4に演算処理装置4−1を
示す“00000000”が夫々セットされている。
に属する演算処理装置4−1〜4−4をリンクするため
に、演算処理装置4−1に演算処理装置4−2を示す
“00000001”が、演算処理装置4−2に演算処
理装置4−3を示す“00000010”が、演算処理
装置4−3に演算処理装置4−4を示す“000000
11”が、演算処理装置4−4に演算処理装置4−1を
示す“00000000”が夫々セットされている。
【0030】また、図2では同一のプロセッサグループ
2−2に属する演算処理装置4−5に演算処理装置4−
6を示す“00000101”が、演算処理装置4−6
に演算処理装置4−7を示す“00000110”が、
演算処理装置4−7に演算処理装置4−8を示す“00
000111”が、演算処理装置4−8に演算処理装置
4−5を示す“00000100”が夫々セットされて
いる。
2−2に属する演算処理装置4−5に演算処理装置4−
6を示す“00000101”が、演算処理装置4−6
に演算処理装置4−7を示す“00000110”が、
演算処理装置4−7に演算処理装置4−8を示す“00
000111”が、演算処理装置4−8に演算処理装置
4−5を示す“00000100”が夫々セットされて
いる。
【0031】入出力処理装置3−1〜3−Mはこのプロ
セッサグループキュー10dを順次サーチすることで、
同一のプロセッサグループ2−1内の演算処理装置4−
1〜4−Nを知ることができる。尚、プロセッサグルー
プキュー10dはシステム立上げ時にRASプロセッサ
によってセットされる。
セッサグループキュー10dを順次サーチすることで、
同一のプロセッサグループ2−1内の演算処理装置4−
1〜4−Nを知ることができる。尚、プロセッサグルー
プキュー10dはシステム立上げ時にRASプロセッサ
によってセットされる。
【0032】エントリ10aのビット24〜31の1バ
イトはシステム内でアイドル状態にある演算処理装置4
−1〜4−Nをリンクするためのアイドルプロセッサキ
ュー10eであり、同一のシステム内に唯一存在する。
イトはシステム内でアイドル状態にある演算処理装置4
−1〜4−Nをリンクするためのアイドルプロセッサキ
ュー10eであり、同一のシステム内に唯一存在する。
【0033】アイドルプロセッサキュー10eの先頭リ
ンクの演算処理装置番号はヘッド(HEAD)ポインタ
11によって示され、最終リンクの演算処理装置番号は
テイル(TAIL)ポインタ12によって示されてい
る。
ンクの演算処理装置番号はヘッド(HEAD)ポインタ
11によって示され、最終リンクの演算処理装置番号は
テイル(TAIL)ポインタ12によって示されてい
る。
【0034】図2ではヘッドポインタ11に先頭リンク
の演算処理装置番号として演算処理装置4−6を示す
“00000101”が、またテイルポインタ12に最
終リンクの演算処理装置番号として演算処理装置4−
(N−1)を示す番号(N−1)が夫々セットされてい
る。
の演算処理装置番号として演算処理装置4−6を示す
“00000101”が、またテイルポインタ12に最
終リンクの演算処理装置番号として演算処理装置4−
(N−1)を示す番号(N−1)が夫々セットされてい
る。
【0035】ここで、ヘッドポインタ11のバイト0〜
2の3バイトはステータステーブル10の先頭番地のア
ドレス(ADRS)が格納されている。また、ヘッドポ
インタ11及びテイルポインタ12は主記憶装置1上の
予め設定された特定アドレスに置かれており、その特定
アドレスは入出力処理装置3−1〜3−M、演算処理装
置4−1〜4−N、RASプロセッサにとって周知とな
っている。
2の3バイトはステータステーブル10の先頭番地のア
ドレス(ADRS)が格納されている。また、ヘッドポ
インタ11及びテイルポインタ12は主記憶装置1上の
予め設定された特定アドレスに置かれており、その特定
アドレスは入出力処理装置3−1〜3−M、演算処理装
置4−1〜4−N、RASプロセッサにとって周知とな
っている。
【0036】アイドル状態にある演算処理装置4−6,
4−9,……,4−(N−1)に夫々対応するアイドル
プロセッサキュー10eには次のアイドル状態にある演
算処理装置番号が格納され、次のアイドル状態にある演
算処理装置がない場合、すなわち、最終リンクの演算処
理装置4−(N−1)の場合には“11111111”
がセットされる。
4−9,……,4−(N−1)に夫々対応するアイドル
プロセッサキュー10eには次のアイドル状態にある演
算処理装置番号が格納され、次のアイドル状態にある演
算処理装置がない場合、すなわち、最終リンクの演算処
理装置4−(N−1)の場合には“11111111”
がセットされる。
【0037】アイドルプロセッサキュー10eはステー
タスフラグ10cの更新に同期して各演算処理装置4−
1〜4−Nによって行われる。複数の演算処理装置4−
1〜4−Nがステータスフラグ10cを更新するために
は排他制御が必要となるので、主記憶装置1上にはロッ
クバイトが設けられているが、このロックバイトは図示
していない。
タスフラグ10cの更新に同期して各演算処理装置4−
1〜4−Nによって行われる。複数の演算処理装置4−
1〜4−Nがステータスフラグ10cを更新するために
は排他制御が必要となるので、主記憶装置1上にはロッ
クバイトが設けられているが、このロックバイトは図示
していない。
【0038】アイドルプロセッサキュー10eが空の場
合、つまりアイドル状態の演算処理装置が存在しない場
合にはヘッドポインタ11及びテイルポインタ12とも
に3バイト目(ビット24〜31)がオール“1”とな
る。
合、つまりアイドル状態の演算処理装置が存在しない場
合にはヘッドポインタ11及びテイルポインタ12とも
に3バイト目(ビット24〜31)がオール“1”とな
る。
【0039】図3は図2のステータステーブル10が更
新された状態を示す図である。図においては、図2に示
すステータステーブル10が演算処理装置4−2によっ
て更新された状態を示している。
新された状態を示す図である。図においては、図2に示
すステータステーブル10が演算処理装置4−2によっ
て更新された状態を示している。
【0040】この場合、演算処理装置4−2が非アイド
ル状態からアイドル状態に遷移し、ステータステーブル
10が更新されると、テイルポインタ12の3バイト目
に最終リンクの演算処理装置番号としてセットされた演
算処理装置番号(N−1)が演算処理装置4−2の演算
処理装置番号“00000001”に書換えられる。
ル状態からアイドル状態に遷移し、ステータステーブル
10が更新されると、テイルポインタ12の3バイト目
に最終リンクの演算処理装置番号としてセットされた演
算処理装置番号(N−1)が演算処理装置4−2の演算
処理装置番号“00000001”に書換えられる。
【0041】また、それまで最終リンクだった演算処理
装置4−(N−1)に対応するエントリ10aのアイド
ルプロセッサキュー10eには演算処理装置4−2の演
算処理装置番号“00000001”が書込まれる。
装置4−(N−1)に対応するエントリ10aのアイド
ルプロセッサキュー10eには演算処理装置4−2の演
算処理装置番号“00000001”が書込まれる。
【0042】このとき、演算処理装置4−2のエントリ
10aのステータスフラグ10cには“0000”が、
ビット24〜31には“11111111”が夫々書込
まれる。
10aのステータスフラグ10cには“0000”が、
ビット24〜31には“11111111”が夫々書込
まれる。
【0043】図4は本発明の一実施例による演算処理装
置がアイドル状態に遷移する際のステータステーブル1
0の更新処理を示す図である。これら図1〜図4を用い
て本発明の一実施例におけるステータステーブル10の
更新処理について説明する。
置がアイドル状態に遷移する際のステータステーブル1
0の更新処理を示す図である。これら図1〜図4を用い
て本発明の一実施例におけるステータステーブル10の
更新処理について説明する。
【0044】以下、演算処理装置4−2から入出力処理
装置3−3に対してI/Oの起動処理が行われた場合、
演算処理装置4−2から入出力処理装置3−3へのI/
Oの起動処理からI/O終了割込みまでの動作の概要に
ついて説明する。
装置3−3に対してI/Oの起動処理が行われた場合、
演算処理装置4−2から入出力処理装置3−3へのI/
Oの起動処理からI/O終了割込みまでの動作の概要に
ついて説明する。
【0045】I/O動作はソフトウェア命令のCONN
ECT命令によって起動される。CONNECT命令で
指示される入出力処理装置番号、物理チャネル番号、論
理チャネル番号によって入出力装置(図示せず)までの
論理的な経路が指示されるので、演算処理装置4−2は
その経路上の入出力処理装置3−3に対してI/O動作
開始を指示する通信を発行する。
ECT命令によって起動される。CONNECT命令で
指示される入出力処理装置番号、物理チャネル番号、論
理チャネル番号によって入出力装置(図示せず)までの
論理的な経路が指示されるので、演算処理装置4−2は
その経路上の入出力処理装置3−3に対してI/O動作
開始を指示する通信を発行する。
【0046】このとき、I/O動作に必要な情報やチャ
ネルプログラムの格納アドレス等は主記憶装置1内の周
知の領域に演算処理装置4−2が書込んでおり、入出力
処理装置3−3は必要に応じてそれらの情報を主記憶装
置1から取出してきてI/O動作を実行する。
ネルプログラムの格納アドレス等は主記憶装置1内の周
知の領域に演算処理装置4−2が書込んでおり、入出力
処理装置3−3は必要に応じてそれらの情報を主記憶装
置1から取出してきてI/O動作を実行する。
【0047】入出力処理装置3−3は演算処理装置4−
2からの起動通信に応じて入出力制御装置(図示せず)
及び入出力装置を起動・制御し、主記憶装置1と入出力
装置との間のデータ転送を行う。
2からの起動通信に応じて入出力制御装置(図示せず)
及び入出力装置を起動・制御し、主記憶装置1と入出力
装置との間のデータ転送を行う。
【0048】I/O動作が終了すると、入出力処理装置
3−3は演算処理装置4−1〜4−NのいずれかにI/
O終了の割込みを発行しようとする。この場合、入出力
処理装置3−3はI/O終了割込みの発行先の演算処理
装置番号を決定するために、主記憶装置1内のステータ
ステーブル10を参照する。
3−3は演算処理装置4−1〜4−NのいずれかにI/
O終了の割込みを発行しようとする。この場合、入出力
処理装置3−3はI/O終了割込みの発行先の演算処理
装置番号を決定するために、主記憶装置1内のステータ
ステーブル10を参照する。
【0049】一方、演算処理装置4−2はI/O動作を
起動した後に同一プロセスを継続する場合と、I/O終
了待ち状態に入る場合とがある。I/O終了待ちに遷移
しかつ他に実行すべきプロセスがない場合、演算処理装
置4−2はアイドル状態に遷移する。
起動した後に同一プロセスを継続する場合と、I/O終
了待ち状態に入る場合とがある。I/O終了待ちに遷移
しかつ他に実行すべきプロセスがない場合、演算処理装
置4−2はアイドル状態に遷移する。
【0050】その場合、演算処理装置4−2は次のよう
な手順を踏んでステータステーブル10を更新する。ま
ず、演算処理装置4−2はステータステーブル10を更
新する権利を得るために、ロックバイトにテストアンド
セットコマンドを発行し、ステータステーブルロックを
取得する(図4ステップS1)。
な手順を踏んでステータステーブル10を更新する。ま
ず、演算処理装置4−2はステータステーブル10を更
新する権利を得るために、ロックバイトにテストアンド
セットコマンドを発行し、ステータステーブルロックを
取得する(図4ステップS1)。
【0051】演算処理装置4−2はステータステーブル
ロックの取得に成功すると、ステータステーブル10の
自装置に対応するエントリ10aのアドレスを次式から
求める。
ロックの取得に成功すると、ステータステーブル10の
自装置に対応するエントリ10aのアドレスを次式から
求める。
【0052】すなわち、演算処理装置4−2は、 エントリアドレス=ヘッドポインタ(ビット0〜23)
+演算処理装置番号“00000001”*4……
(1) からエントリアドレスを求める。
+演算処理装置番号“00000001”*4……
(1) からエントリアドレスを求める。
【0053】演算処理装置4−2は、(1)式から求め
たエントリアドレスを基に主記憶装置1から読出したエ
ントリ10aのステータスフラグ10c(ビット4〜
7)に“0000”を書込む(図4ステップS2)。
たエントリアドレスを基に主記憶装置1から読出したエ
ントリ10aのステータスフラグ10c(ビット4〜
7)に“0000”を書込む(図4ステップS2)。
【0054】次に、演算処理装置4−2は主記憶装置1
からヘッドポインタ11を読出し、そのヘッドポインタ
11の3バイト目がオール“1”かどうかをチェックす
る(図4ステップS3)。
からヘッドポインタ11を読出し、そのヘッドポインタ
11の3バイト目がオール“1”かどうかをチェックす
る(図4ステップS3)。
【0055】演算処理装置4−2はヘッドポインタ11
の3バイト目がオール“1”の場合、アイドル状態にあ
る演算処理装置4−1〜4−Nをリンクするためのステ
ータステーブル10のアイドルプロセッサキュー10e
が空であるので、ヘッドポインタ11及びテイルポイン
タ12の3バイト目に自装置の演算処理装置番号“00
000001”を書込む(図4ステップS4)。
の3バイト目がオール“1”の場合、アイドル状態にあ
る演算処理装置4−1〜4−Nをリンクするためのステ
ータステーブル10のアイドルプロセッサキュー10e
が空であるので、ヘッドポインタ11及びテイルポイン
タ12の3バイト目に自装置の演算処理装置番号“00
000001”を書込む(図4ステップS4)。
【0056】この場合、演算処理装置4−2はエントリ
アドレスを基に主記憶装置1から読出した自装置に対応
するエントリ10aのアイドルプロセッサキュー10e
(ビット24〜31)に“11111111”を書込
む。その後に、演算処理装置4−2はステータステーブ
ルロックを解除する(図4ステップS5)。
アドレスを基に主記憶装置1から読出した自装置に対応
するエントリ10aのアイドルプロセッサキュー10e
(ビット24〜31)に“11111111”を書込
む。その後に、演算処理装置4−2はステータステーブ
ルロックを解除する(図4ステップS5)。
【0057】一方、演算処理装置4−2はヘッドポイン
タ11の3バイト目がオール“1”ではない場合、テイ
ルポインタ12の3バイト目が示すキュー最後尾の演算
処理装置番号(N−1)の演算処理装置4−(N−1)
に対応するエントリ10aのアドレスを(1)式から求
める。
タ11の3バイト目がオール“1”ではない場合、テイ
ルポインタ12の3バイト目が示すキュー最後尾の演算
処理装置番号(N−1)の演算処理装置4−(N−1)
に対応するエントリ10aのアドレスを(1)式から求
める。
【0058】演算処理装置4−2はそのエントリアドレ
スを基に主記憶装置1から読出したエントリ10aのア
イドルプロセッサキュー10e(ビット24〜31)に
自装置の演算処理装置番号“00000001”を書込
む(図4ステップS6)。
スを基に主記憶装置1から読出したエントリ10aのア
イドルプロセッサキュー10e(ビット24〜31)に
自装置の演算処理装置番号“00000001”を書込
む(図4ステップS6)。
【0059】また、演算処理装置4−2はエントリアド
レスを基に主記憶装置1から読出した自装置に対応する
エントリ10aのアイドルプロセッサキュー10e(ビ
ット24〜31)に“11111111”を書込む(図
4ステップS7)。
レスを基に主記憶装置1から読出した自装置に対応する
エントリ10aのアイドルプロセッサキュー10e(ビ
ット24〜31)に“11111111”を書込む(図
4ステップS7)。
【0060】この後に、演算処理装置4−2はテイルポ
インタ12の3バイト目に自装置の演算処理装置番号
“00000001”を書込み(図4ステップS8)、
ステータステーブルロックを解除する(図4ステップS
5)。
インタ12の3バイト目に自装置の演算処理装置番号
“00000001”を書込み(図4ステップS8)、
ステータステーブルロックを解除する(図4ステップS
5)。
【0061】入出力処理装置3−3では主記憶装置1内
のステータステーブル10を参照してI/O終了割込み
の発行先の演算処理装置番号を決定するので、入出力処
理装置3−3は演算処理装置4−2にI/O終了の割込
みを発行する。
のステータステーブル10を参照してI/O終了割込み
の発行先の演算処理装置番号を決定するので、入出力処
理装置3−3は演算処理装置4−2にI/O終了の割込
みを発行する。
【0062】尚、演算処理装置4−2はI/O動作を起
動した後に同一プロセスを継続する場合、アイドル状態
に遷移しないので、ステータステーブル10の演算処理
装置4−2に対応するエントリ10aの書換えは行われ
ない。
動した後に同一プロセスを継続する場合、アイドル状態
に遷移しないので、ステータステーブル10の演算処理
装置4−2に対応するエントリ10aの書換えは行われ
ない。
【0063】上述した如く、演算処理装置4−2が非ア
イドル状態からアイドル状態に遷移すると、ステータス
テーブル10は図2に示す状態から図3に示す状態へと
更新される。
イドル状態からアイドル状態に遷移すると、ステータス
テーブル10は図2に示す状態から図3に示す状態へと
更新される。
【0064】図5及び図6は図1の入出力処理装置3−
1〜3−MのI/O終了割込みの発行先を決定する処理
動作を示すフローチャートである。図5はアイドルプロ
セッサキュー10eに基づいた発行先の決定処理を示し
ており、図6はプロセッサグループキュー10d及びア
イドルプロセッサキュー10eに基づいた発行先の決定
処理を示している。
1〜3−MのI/O終了割込みの発行先を決定する処理
動作を示すフローチャートである。図5はアイドルプロ
セッサキュー10eに基づいた発行先の決定処理を示し
ており、図6はプロセッサグループキュー10d及びア
イドルプロセッサキュー10eに基づいた発行先の決定
処理を示している。
【0065】これら図1〜図3と図5と図6とを用いて
本発明の一実施例による入出力処理装置3−1〜3−M
のI/O終了割込みの発行先の決定処理について説明す
る。
本発明の一実施例による入出力処理装置3−1〜3−M
のI/O終了割込みの発行先の決定処理について説明す
る。
【0066】入出力処理装置3−1〜3−MはI/O動
作を終了すると、終了報告を行うべき演算処理装置を決
定するための処理を行う。この決定処理にはアイドルプ
ロセッサキュー10eに基づいて発行先を決定する処理
と、プロセッサグループキュー10d及びアイドルプロ
セッサキュー10eに基づいて発行先を決定する処理と
がある。
作を終了すると、終了報告を行うべき演算処理装置を決
定するための処理を行う。この決定処理にはアイドルプ
ロセッサキュー10eに基づいて発行先を決定する処理
と、プロセッサグループキュー10d及びアイドルプロ
セッサキュー10eに基づいて発行先を決定する処理と
がある。
【0067】まず、図5に示すアイドルプロセッサキュ
ー10eに基づいた処理について説明する。この場合、
ステータステーブル10の内容が図3に示すような内容
になっているものとし、入出力処理装置3−3がその内
容に基づいて発行先を決定するものとする。
ー10eに基づいた処理について説明する。この場合、
ステータステーブル10の内容が図3に示すような内容
になっているものとし、入出力処理装置3−3がその内
容に基づいて発行先を決定するものとする。
【0068】まず、入出力処理装置3−3はヘッドポイ
ンタ11を主記憶装置1から読出し、ステータステーブ
ル10の先頭アドレスを得る。入出力処理装置3−3は
上記の(1)式からステータステーブル10の演算処理
装置4−3に対応するエントリ10aのアドレスを求め
る。
ンタ11を主記憶装置1から読出し、ステータステーブ
ル10の先頭アドレスを得る。入出力処理装置3−3は
上記の(1)式からステータステーブル10の演算処理
装置4−3に対応するエントリ10aのアドレスを求め
る。
【0069】入出力処理装置3−3は(1)式から求め
たエントリアドレスに基づいてステータステーブル10
から演算処理装置4−3に対応するエントリ10aを読
出し、その演算処理装置4−3の演算処理装置番号を図
示せぬ記憶部に記憶する(図5ステップS11)。
たエントリアドレスに基づいてステータステーブル10
から演算処理装置4−3に対応するエントリ10aを読
出し、その演算処理装置4−3の演算処理装置番号を図
示せぬ記憶部に記憶する(図5ステップS11)。
【0070】ここで、入出力処理装置3−3が自装置の
入出力処理装置番号に対応している演算処理装置番号の
演算処理装置4−3からエントリ10aを読出すのは、
ある特定の演算処理装置に負荷が集中するのを防ぐため
である。
入出力処理装置番号に対応している演算処理装置番号の
演算処理装置4−3からエントリ10aを読出すのは、
ある特定の演算処理装置に負荷が集中するのを防ぐため
である。
【0071】つまり、例えば全ての入出力処理装置3−
1〜3−Mが演算処理装置4−1からステータスフラグ
10cのチェックを開始すると、演算処理装置4−1に
負荷が集中する可能性がある。
1〜3−Mが演算処理装置4−1からステータスフラグ
10cのチェックを開始すると、演算処理装置4−1に
負荷が集中する可能性がある。
【0072】そこで、入出力処理装置3−1〜3−Mが
夫々対応する演算処理装置4−1〜4−Nからエントリ
10aの読出しを開始することで、特定の演算処理装置
に負荷が集中するのを防ぐようにしているのである。
夫々対応する演算処理装置4−1〜4−Nからエントリ
10aの読出しを開始することで、特定の演算処理装置
に負荷が集中するのを防ぐようにしているのである。
【0073】入出力処理装置3−3はステータステーブ
ル10から読出したエントリ10aのステータスフラグ
10cをチェックし、演算処理装置4−3がアイドル状
態か否かを判定する(図5ステップS12)。
ル10から読出したエントリ10aのステータスフラグ
10cをチェックし、演算処理装置4−3がアイドル状
態か否かを判定する(図5ステップS12)。
【0074】この場合、演算処理装置4−3のステータ
スフラグ10cが“1111”なので、演算処理装置4
−3がアイドル状態にはないと判定し、演算処理装置4
−3の演算処理装置番号に1を加算し(i=i+1)
(図5ステップS13)、その演算処理装置番号が記憶
した演算処理装置4−3の演算処理装置番号と一致する
か否かを判定する(図5ステップS14)。
スフラグ10cが“1111”なので、演算処理装置4
−3がアイドル状態にはないと判定し、演算処理装置4
−3の演算処理装置番号に1を加算し(i=i+1)
(図5ステップS13)、その演算処理装置番号が記憶
した演算処理装置4−3の演算処理装置番号と一致する
か否かを判定する(図5ステップS14)。
【0075】入出力処理装置3−3は1を加算した演算
処理装置番号が記憶した演算処理装置4−3の演算処理
装置番号と一致しなければ、1を加算した演算処理装置
番号の演算処理装置、すなわち次の演算処理装置4−4
のエントリ10aをステータステーブル10から読出す
(図5ステップS11)。
処理装置番号が記憶した演算処理装置4−3の演算処理
装置番号と一致しなければ、1を加算した演算処理装置
番号の演算処理装置、すなわち次の演算処理装置4−4
のエントリ10aをステータステーブル10から読出す
(図5ステップS11)。
【0076】図3においては、演算処理装置4−3〜4
−5はアイドル状態ではないため、入出力処理装置3−
3は演算処理装置4−6のエントリ10aまで読み進む
こととなる。
−5はアイドル状態ではないため、入出力処理装置3−
3は演算処理装置4−6のエントリ10aまで読み進む
こととなる。
【0077】入出力処理装置3−3は演算処理装置4−
6のエントリ10aを読出し、アイドル状態の演算処理
装置4−6を認識すると、演算処理装置4−6に対して
I/O終了割込みのプロセッサ間通信を発行する(図5
ステップS15)。
6のエントリ10aを読出し、アイドル状態の演算処理
装置4−6を認識すると、演算処理装置4−6に対して
I/O終了割込みのプロセッサ間通信を発行する(図5
ステップS15)。
【0078】もしも仮に、アイドル状態の演算処理装置
が見付からずに最後の演算処理装置4−Nまでステータ
ステーブル10を読み進むと、入出力処理装置3−3は
演算処理装置番号を0に戻して演算処理装置4−1から
再度エントリ10aのチェックを行う。
が見付からずに最後の演算処理装置4−Nまでステータ
ステーブル10を読み進むと、入出力処理装置3−3は
演算処理装置番号を0に戻して演算処理装置4−1から
再度エントリ10aのチェックを行う。
【0079】さらに、アイドル状態にある演算処理装置
が見付からずに、1を加算した演算処理装置番号が演算
処理装置4−3の演算処理装置番号になると、入出力処
理装置3−3はアイドル状態にある演算処理装置がない
と認識し、デフォルト(既定値)である演算処理装置4
−3に対してI/O終了割込みを送出する。
が見付からずに、1を加算した演算処理装置番号が演算
処理装置4−3の演算処理装置番号になると、入出力処
理装置3−3はアイドル状態にある演算処理装置がない
と認識し、デフォルト(既定値)である演算処理装置4
−3に対してI/O終了割込みを送出する。
【0080】しかしながら、一般にコンピュータシステ
ムのビジー率は平均的に見ると70〜80%を越えるこ
とはまれであり、入出力処理装置3−3はステータステ
ーブル10の検索を開始してから早い時期にアイドル状
態にある演算処理装置を見付けることが可能である。
ムのビジー率は平均的に見ると70〜80%を越えるこ
とはまれであり、入出力処理装置3−3はステータステ
ーブル10の検索を開始してから早い時期にアイドル状
態にある演算処理装置を見付けることが可能である。
【0081】一方、図6に示すプロセッサグループキュ
ー10d及びアイドルプロセッサキュー10eに基づい
た処理の場合、入出力処理装置3−3はヘッドポインタ
11を主記憶装置1から読出し、ステータステーブル1
0の先頭アドレスを得る。
ー10d及びアイドルプロセッサキュー10eに基づい
た処理の場合、入出力処理装置3−3はヘッドポインタ
11を主記憶装置1から読出し、ステータステーブル1
0の先頭アドレスを得る。
【0082】入出力処理装置3−3は上記の(1)式か
らステータステーブル10の演算処理装置4−3に対応
するエントリ10aのアドレスを求め、そのエントリア
ドレスに基づいてステータステーブル10から演算処理
装置4−3に対応するエントリ10aを読出す(図6ス
テップS21)。
らステータステーブル10の演算処理装置4−3に対応
するエントリ10aのアドレスを求め、そのエントリア
ドレスに基づいてステータステーブル10から演算処理
装置4−3に対応するエントリ10aを読出す(図6ス
テップS21)。
【0083】入出力処理装置3−3はステータステーブ
ル10から読出したエントリ10aのステータスフラグ
10cをチェックし、演算処理装置4−3がアイドル状
態か否かを判定する(図6ステップS22)。
ル10から読出したエントリ10aのステータスフラグ
10cをチェックし、演算処理装置4−3がアイドル状
態か否かを判定する(図6ステップS22)。
【0084】入出力処理装置3−3はステータスフラグ
10cがアイドル状態を示していなければ、演算処理装
置4−3のエントリ10aのプロセッサグループキュー
10dを参照し、演算処理装置4−3がプロセッサグル
ープ2−1の最後の演算処理装置かどうかを判定する
(図6ステップS23)。
10cがアイドル状態を示していなければ、演算処理装
置4−3のエントリ10aのプロセッサグループキュー
10dを参照し、演算処理装置4−3がプロセッサグル
ープ2−1の最後の演算処理装置かどうかを判定する
(図6ステップS23)。
【0085】この場合、演算処理装置4−3はプロセッ
サグループ2−1の最後の演算処理装置ではないので、
入出力処理装置3−3はプロセッサグループキュー10
dを基に次の演算処理装置4−4に対応するエントリ1
0aを読出し(図6ステップS24)、次の演算処理装
置4−4がアイドル状態か否かを判定する(図6ステッ
プS22)。
サグループ2−1の最後の演算処理装置ではないので、
入出力処理装置3−3はプロセッサグループキュー10
dを基に次の演算処理装置4−4に対応するエントリ1
0aを読出し(図6ステップS24)、次の演算処理装
置4−4がアイドル状態か否かを判定する(図6ステッ
プS22)。
【0086】入出力処理装置3−3は上記の処理を繰返
し行い、演算処理装置4−2に対応するエントリ10a
を読出しときに、初めてアイドル状態の演算処理装置4
−2を得ることができる。
し行い、演算処理装置4−2に対応するエントリ10a
を読出しときに、初めてアイドル状態の演算処理装置4
−2を得ることができる。
【0087】入出力処理装置3−3はアイドル状態の演
算処理装置4−2を認識すると、演算処理装置4−2に
対してI/O終了割込みのプロセッサ間通信を発行する
(図6ステップS29)。
算処理装置4−2を認識すると、演算処理装置4−2に
対してI/O終了割込みのプロセッサ間通信を発行する
(図6ステップS29)。
【0088】もしも仮に、アイドル状態の演算処理装置
が見付からずに、自装置に対応するエントリ10aに戻
ってくると、入出力処理装置3−3は同一のプロセッサ
グループ2−1内にアイドル状態にある演算処理装置が
存在しないと判断し、アイドルプロセッサキュー10e
のサーチを始める。
が見付からずに、自装置に対応するエントリ10aに戻
ってくると、入出力処理装置3−3は同一のプロセッサ
グループ2−1内にアイドル状態にある演算処理装置が
存在しないと判断し、アイドルプロセッサキュー10e
のサーチを始める。
【0089】この場合、入出力処理装置3−3はヘッド
ポインタ11を再度読出し(図6ステップS25)、ヘ
ッドポインタ11の3バイト目がオール“1”であれば
(図6ステップS26)、アイドル状態にある演算処理
装置がないと認識し、デフォルト(既定値)である演算
処理装置4−3に対してI/O終了割込みを送出する
(図6ステップS28)。
ポインタ11を再度読出し(図6ステップS25)、ヘ
ッドポインタ11の3バイト目がオール“1”であれば
(図6ステップS26)、アイドル状態にある演算処理
装置がないと認識し、デフォルト(既定値)である演算
処理装置4−3に対してI/O終了割込みを送出する
(図6ステップS28)。
【0090】また、ヘッドポインタ11の3バイト目が
オール“1”でなければ(図6ステップS26)、入出
力処理装置3−3はヘッドポインタ11の3バイト目に
表示された演算処理装置番号“00000101”の演
算処理装置4−6に対してI/O終了割込みを送出する
(図6ステップS27)。
オール“1”でなければ(図6ステップS26)、入出
力処理装置3−3はヘッドポインタ11の3バイト目に
表示された演算処理装置番号“00000101”の演
算処理装置4−6に対してI/O終了割込みを送出する
(図6ステップS27)。
【0091】図7は図3のステータステーブル10が更
新された状態を示す図である。図においては、図3に示
すステータステーブル10が演算処理装置4−6によっ
て更新された状態を示している。
新された状態を示す図である。図においては、図3に示
すステータステーブル10が演算処理装置4−6によっ
て更新された状態を示している。
【0092】この場合、演算処理装置4−6がアイドル
状態から非アイドル状態に遷移することで、ステータス
テーブル10が更新されると、ヘッドポインタ11の3
バイト目に先頭リンクの演算処理装置番号としてセット
された演算処理装置番号“00000101”が演算処
理装置4−(N−1)の演算処理装置番号(N−1)に
書換えられる。
状態から非アイドル状態に遷移することで、ステータス
テーブル10が更新されると、ヘッドポインタ11の3
バイト目に先頭リンクの演算処理装置番号としてセット
された演算処理装置番号“00000101”が演算処
理装置4−(N−1)の演算処理装置番号(N−1)に
書換えられる。
【0093】また、演算処理装置4−6に対応するエン
トリ10aのステータスフラグ10cには非アイドル状
態を示す“1111”が書込まれるとともに、アイドル
プロセッサキュー10eが空にされる。
トリ10aのステータスフラグ10cには非アイドル状
態を示す“1111”が書込まれるとともに、アイドル
プロセッサキュー10eが空にされる。
【0094】図8及び図9は本発明の一実施例による演
算処理装置が非アイドル状態に遷移する際のステータス
テーブルの更新処理を示す図である。これら図1と図3
と図7〜図9とを用いて本発明の一実施例におけるステ
ータステーブルの更新処理について説明する。
算処理装置が非アイドル状態に遷移する際のステータス
テーブルの更新処理を示す図である。これら図1と図3
と図7〜図9とを用いて本発明の一実施例におけるステ
ータステーブルの更新処理について説明する。
【0095】以下、I/O割込みを受信した演算処理装
置4−6の処理について説明する。演算処理装置4−6
はI/O割込みを受信すると、アイドル状態から非アイ
ドル状態に遷移する。この場合、演算処理装置4−6は
次のような手順を踏んでステータステーブル10を更新
する。
置4−6の処理について説明する。演算処理装置4−6
はI/O割込みを受信すると、アイドル状態から非アイ
ドル状態に遷移する。この場合、演算処理装置4−6は
次のような手順を踏んでステータステーブル10を更新
する。
【0096】まず、演算処理装置4−6はステータステ
ーブル10を更新する権利を得るために、ロックバイト
にテストアンドセットコマンドを発行し、ステータステ
ーブルロックを取得する(図8ステップS31)。
ーブル10を更新する権利を得るために、ロックバイト
にテストアンドセットコマンドを発行し、ステータステ
ーブルロックを取得する(図8ステップS31)。
【0097】演算処理装置4−6はステータステーブル
ロックの取得に成功すると、ステータステーブル10の
自装置に対応するエントリ10aのアドレスを(1)式
から求め、そのエントリアドレスを基に主記憶装置1か
ら読出したエントリ10aのステータスフラグ10c
(ビット4〜7)に“1111”を書込む(図8ステッ
プS32)。
ロックの取得に成功すると、ステータステーブル10の
自装置に対応するエントリ10aのアドレスを(1)式
から求め、そのエントリアドレスを基に主記憶装置1か
ら読出したエントリ10aのステータスフラグ10c
(ビット4〜7)に“1111”を書込む(図8ステッ
プS32)。
【0098】次に、演算処理装置4−6は主記憶装置1
からヘッドポインタ11を読出し(図8ステップS3
3)、そのヘッドポインタ11の3バイト目に示された
キュー先頭演算処理装置番号と自装置の演算処理装置番
号“00000101”とを比較する(図8ステップS
34)。
からヘッドポインタ11を読出し(図8ステップS3
3)、そのヘッドポインタ11の3バイト目に示された
キュー先頭演算処理装置番号と自装置の演算処理装置番
号“00000101”とを比較する(図8ステップS
34)。
【0099】この場合、図3に示すように、ヘッドポイ
ンタ11のキュー先頭演算処理装置番号と自装置の演算
処理装置番号“00000101”とが一致するので、
演算処理装置4−6はヘッドポインタ11のキュー先頭
演算処理装置番号のエントリ10a、すなわち演算処理
装置4−6に対応するエントリ10aを読出す(図8ス
テップS35)。
ンタ11のキュー先頭演算処理装置番号と自装置の演算
処理装置番号“00000101”とが一致するので、
演算処理装置4−6はヘッドポインタ11のキュー先頭
演算処理装置番号のエントリ10a、すなわち演算処理
装置4−6に対応するエントリ10aを読出す(図8ス
テップS35)。
【0100】演算処理装置4−6は読出したエントリ1
0aのステータスフラグ10cに“1111”を書込
み、アイドルプロセッサキュー10eがオール“1”か
どうかをチェックする(図8ステップS36)。
0aのステータスフラグ10cに“1111”を書込
み、アイドルプロセッサキュー10eがオール“1”か
どうかをチェックする(図8ステップS36)。
【0101】アイドルプロセッサキュー10eがオール
“1”の場合、演算処理装置4−6が唯一キューにリン
クされているプロセッサであるので、演算処理装置4−
6がデキューされた後はキューが空になる。
“1”の場合、演算処理装置4−6が唯一キューにリン
クされているプロセッサであるので、演算処理装置4−
6がデキューされた後はキューが空になる。
【0102】よって、演算処理装置4−6はヘッドポイ
ンタ11及びテイルポインタ12の3バイト目をオール
“1”に書換え(図8ステップS37)、ステータステ
ーブルロックを解除する(図8ステップS38)。演算
処理装置4−6はステータステーブルロックを解除する
と、受信したI/O割込みの処理に移入する。
ンタ11及びテイルポインタ12の3バイト目をオール
“1”に書換え(図8ステップS37)、ステータステ
ーブルロックを解除する(図8ステップS38)。演算
処理装置4−6はステータステーブルロックを解除する
と、受信したI/O割込みの処理に移入する。
【0103】一方、演算処理装置4−6はアイドルプロ
セッサキュー10eがオール“1”ではない場合、読出
したエントリ10aのアイドルプロセッサキュー10e
をヘッドポインタ11の3バイト目に書込む(図8ステ
ップS39)。
セッサキュー10eがオール“1”ではない場合、読出
したエントリ10aのアイドルプロセッサキュー10e
をヘッドポインタ11の3バイト目に書込む(図8ステ
ップS39)。
【0104】この後に、演算処理装置4−6は読出した
エントリ10aのアイドルプロセッサキュー10eにオ
ール“1”を書込み(図8ステップS40)、ステータ
ステーブルロックを解除する(図8ステップS38)。
演算処理装置4−6はステータステーブルロックを解除
すると、受信したI/O割込みの処理に移入する。
エントリ10aのアイドルプロセッサキュー10eにオ
ール“1”を書込み(図8ステップS40)、ステータ
ステーブルロックを解除する(図8ステップS38)。
演算処理装置4−6はステータステーブルロックを解除
すると、受信したI/O割込みの処理に移入する。
【0105】ヘッドポインタ11のキュー先頭演算処理
装置番号と自装置の演算処理装置番号“0000010
1”とが一致しなかった場合、演算処理装置4−6はヘ
ッドポインタ11のキュー先頭演算処理装置番号のエン
トリ10aを読出す(図9ステップS41)。
装置番号と自装置の演算処理装置番号“0000010
1”とが一致しなかった場合、演算処理装置4−6はヘ
ッドポインタ11のキュー先頭演算処理装置番号のエン
トリ10aを読出す(図9ステップS41)。
【0106】演算処理装置4−6は読出したエントリ1
0aのアイドルプロセッサキュー10eと自装置の演算
処理装置番号“00000101”とを比較する(図9
ステップS42)。
0aのアイドルプロセッサキュー10eと自装置の演算
処理装置番号“00000101”とを比較する(図9
ステップS42)。
【0107】読出したエントリ10aのアイドルプロセ
ッサキュー10eと自装置の演算処理装置番号“000
00101”とが一致しなければ、演算処理装置4−6
は読出したエントリ10aのアイドルプロセッサキュー
10eが示す次の演算処理装置番号のエントリ10aを
読出す(図9ステップS43)。
ッサキュー10eと自装置の演算処理装置番号“000
00101”とが一致しなければ、演算処理装置4−6
は読出したエントリ10aのアイドルプロセッサキュー
10eが示す次の演算処理装置番号のエントリ10aを
読出す(図9ステップS43)。
【0108】演算処理装置4−6は読出したエントリ1
0aのアイドルプロセッサキュー10eと自装置の演算
処理装置番号“00000101”とを比較する(図9
ステップS43)。
0aのアイドルプロセッサキュー10eと自装置の演算
処理装置番号“00000101”とを比較する(図9
ステップS43)。
【0109】読出したエントリ10aのアイドルプロセ
ッサキュー10eと自装置の演算処理装置番号“000
00101”とが一致すると、演算処理装置4−6は読
出したエントリ10aのアイドルプロセッサキュー10
eのエントリ10a、すなわち自装置に対応するエント
リ10aを読出す(図9ステップS44)。
ッサキュー10eと自装置の演算処理装置番号“000
00101”とが一致すると、演算処理装置4−6は読
出したエントリ10aのアイドルプロセッサキュー10
eのエントリ10a、すなわち自装置に対応するエント
リ10aを読出す(図9ステップS44)。
【0110】演算処理装置4−6は読出したエントリ1
0aのアイドルプロセッサキュー10eを一つ前のエン
トリ10aのアイドルプロセッサキュー10eに書込み
(図9ステップS45)、ステータステーブルロックを
解除する(図8ステップS38)。演算処理装置4−6
はステータステーブルロックを解除すると、受信したI
/O割込みの処理に移入する。
0aのアイドルプロセッサキュー10eを一つ前のエン
トリ10aのアイドルプロセッサキュー10eに書込み
(図9ステップS45)、ステータステーブルロックを
解除する(図8ステップS38)。演算処理装置4−6
はステータステーブルロックを解除すると、受信したI
/O割込みの処理に移入する。
【0111】つまり、演算処理装置4−6は自装置に対
応するエントリ10aのアイドルプロセッサキュー10
eに書込まれていた内容を一つ前のエントリ10aのア
イドルプロセッサキュー10eに書込み、自装置に対応
するエントリ10aのアイドルプロセッサキュー10e
を空にする。
応するエントリ10aのアイドルプロセッサキュー10
eに書込まれていた内容を一つ前のエントリ10aのア
イドルプロセッサキュー10eに書込み、自装置に対応
するエントリ10aのアイドルプロセッサキュー10e
を空にする。
【0112】上述した如く、演算処理装置4−6がアイ
ドル状態から非アイドル状態に遷移すると、ステータス
テーブル10は図3に示す状態から図7に示す状態へと
更新される。
ドル状態から非アイドル状態に遷移すると、ステータス
テーブル10は図3に示す状態から図7に示す状態へと
更新される。
【0113】このように、演算処理装置4−1〜4−N
各々のアイドル状態を主記憶装置1のステータステーブ
ル10に反映・更新し、入出力処理装置3−1〜3−M
各々がそのステータステーブル10を参照してI/O割
込みを通知する演算処理装置4−1〜4−Nを決定する
ことによって、特定の演算処理装置に負荷が集中するの
を防ぐことができる。
各々のアイドル状態を主記憶装置1のステータステーブ
ル10に反映・更新し、入出力処理装置3−1〜3−M
各々がそのステータステーブル10を参照してI/O割
込みを通知する演算処理装置4−1〜4−Nを決定する
ことによって、特定の演算処理装置に負荷が集中するの
を防ぐことができる。
【0114】また、演算処理装置が障害等によってシス
テムから切離されても、他の演算処理装置が切離された
装置に代って処理を続行することができる。
テムから切離されても、他の演算処理装置が切離された
装置に代って処理を続行することができる。
【0115】さらに、演算処理装置間及び演算処理装置
と入出力処理装置との間の排他制御が不要になるととも
に、同一のプロセッサグループ内の演算処理装置で割込
み処理を行うのが可能となる。よって、キャッシュメモ
リのヒット率の低下を防ぐことができ、演算処理装置4
−1〜4−Nの利用効率を向上させることができる。
と入出力処理装置との間の排他制御が不要になるととも
に、同一のプロセッサグループ内の演算処理装置で割込
み処理を行うのが可能となる。よって、キャッシュメモ
リのヒット率の低下を防ぐことができ、演算処理装置4
−1〜4−Nの利用効率を向上させることができる。
【0116】
【発明の効果】以上説明したように本発明のデータ処理
装置によれば、キャッシュメモリを夫々共有する複数の
演算処理装置及び複数の入出力処理装置を含む一以上の
プロセッサグループと、そのプロセッサグループが共有
する主記憶装置とからなり、演算処理装置から入出力処
理装置に対してプロセッサ間通信によって入出力動作を
起動する手段と、入出力処理装置から演算処理装置に入
出力割込みを報告する手段とを有するデータ処理装置に
おいて、演算処理装置各々がアイドル状態か否かを示す
状態情報を保持する保持手段に演算処理装置各々の状態
を反映させ、入出力処理装置各々が保持手段の内容を参
照して検出したアイドル状態の演算処理装置及び予め定
められた所定の演算処理装置のうちの一方に入出力割込
みを報告することによって、キャッシュメモリのヒット
率の低下を防ぐことができ、演算処理装置の利用効率を
向上させることができるという効果がある。
装置によれば、キャッシュメモリを夫々共有する複数の
演算処理装置及び複数の入出力処理装置を含む一以上の
プロセッサグループと、そのプロセッサグループが共有
する主記憶装置とからなり、演算処理装置から入出力処
理装置に対してプロセッサ間通信によって入出力動作を
起動する手段と、入出力処理装置から演算処理装置に入
出力割込みを報告する手段とを有するデータ処理装置に
おいて、演算処理装置各々がアイドル状態か否かを示す
状態情報を保持する保持手段に演算処理装置各々の状態
を反映させ、入出力処理装置各々が保持手段の内容を参
照して検出したアイドル状態の演算処理装置及び予め定
められた所定の演算処理装置のうちの一方に入出力割込
みを報告することによって、キャッシュメモリのヒット
率の低下を防ぐことができ、演算処理装置の利用効率を
向上させることができるという効果がある。
【0117】また、本発明の他のデータ処理装置によれ
ば、同一のプロセッサグループ内におけるアイドル状態
の演算処理装置を検出するようにし、保持手段の内容を
参照して検出したアイドル状態の演算処理装置と所定の
演算処理装置と上記の同一のプロセッサグループ内にお
けるアイドル状態の演算処理装置とのうちの一つに入出
力割込みを報告することによって、キャッシュメモリの
ヒット率及び演算処理装置の利用効率を向上させること
ができるという効果がある。
ば、同一のプロセッサグループ内におけるアイドル状態
の演算処理装置を検出するようにし、保持手段の内容を
参照して検出したアイドル状態の演算処理装置と所定の
演算処理装置と上記の同一のプロセッサグループ内にお
けるアイドル状態の演算処理装置とのうちの一つに入出
力割込みを報告することによって、キャッシュメモリの
ヒット率及び演算処理装置の利用効率を向上させること
ができるという効果がある。
【図1】本発明の一実施例のシステム構成を示すブロッ
ク図である。
ク図である。
【図2】図1のステータステーブルの構成を示す図であ
る。
る。
【図3】図2のステータステーブルが更新された状態を
示す図である。
示す図である。
【図4】本発明の一実施例による演算処理装置がアイド
ル状態に遷移する際のステータステーブルの更新処理を
示す図である。
ル状態に遷移する際のステータステーブルの更新処理を
示す図である。
【図5】図1の入出力処理装置のI/O終了割込みの発
行先を決定する処理動作を示すフローチャートである。
行先を決定する処理動作を示すフローチャートである。
【図6】図1の入出力処理装置のI/O終了割込みの発
行先を決定する処理動作を示すフローチャートである。
行先を決定する処理動作を示すフローチャートである。
【図7】図3のステータステーブルが更新された状態を
示す図である。
示す図である。
【図8】本発明の一実施例による演算処理装置が非アイ
ドル状態に遷移する際のステータステーブルの更新処理
を示す図である。
ドル状態に遷移する際のステータステーブルの更新処理
を示す図である。
【図9】本発明の一実施例による演算処理装置が非アイ
ドル状態に遷移する際のステータステーブルの更新処理
を示す図である。
ドル状態に遷移する際のステータステーブルの更新処理
を示す図である。
1 主記憶装置 2−1〜2−n プロセッサグループ 3−1〜3−4 入出力処理装置 4−1〜4−4 演算処理装置 5−1 キャッシュメモリ 10 ステータステーブル
Claims (5)
- 【請求項1】 キャッシュメモリを夫々共有する複数の
演算処理装置及び複数の入出力処理装置を含む一以上の
プロセッサグループと、前記プロセッサグループが共有
する主記憶装置とからなり、前記演算処理装置から前記
入出力処理装置に対してプロセッサ間通信によって入出
力動作を起動する手段と、前記入出力処理装置から前記
演算処理装置に入出力割込みを報告する手段とを有する
データ処理装置であって、前記演算処理装置各々がアイ
ドル状態か否かを示す状態情報を保持する保持手段と、
前記演算処理装置各々に設けられかつ自装置の前記状態
情報を前記保持手段に出力する手段と、前記入出力処理
装置各々に設けられかつ前記保持手段の内容を参照して
前記アイドル状態の演算処理装置を検出する検出手段
と、前記入出力処理装置各々に設けられかつ前記検出手
段によって検出された前記アイドル状態の演算処理装置
及び予め定められた所定の演算処理装置のうちの一方に
前記入出力割込みを報告する報告手段とを有することを
特徴とするデータ処理装置。 - 【請求項2】 前記報告手段は、前記検出手段によって
前記アイドル状態の演算処理装置が検出されたときに当
該演算処理装置に前記入出力割込みを報告する手段と、
前記検出手段によって前記アイドル状態の演算処理装置
が検出されなかったときに前記所定の演算処理装置に前
記入出力割込みを報告する手段とを含むことを特徴とす
る請求項1記載のデータ処理装置。 - 【請求項3】 同一のプロセッサグループに属すること
を示すグループ情報を前記保持手段に書込む手段と、前
記保持手段に設けられかつ前記アイドル状態の演算処理
装置をリンクするキューとを含むことを特徴とする請求
項1または請求項2記載のデータ処理装置。 - 【請求項4】 前記保持手段の内容を参照して同一のプ
ロセッサグループ内における前記アイドル状態の演算処
理装置を検出する手段を前記複数の入出力処理装置各々
に含み、前記報告手段が前記検出手段によって検出され
た前記アイドル状態の演算処理装置と前記所定の演算処
理装置と前記同一のプロセッサグループ内における前記
アイドル状態の演算処理装置とのうちの一つに前記入出
力割込みを報告するようにしたことを特徴とする請求項
1から請求項3のいずれか記載のデータ処理装置。 - 【請求項5】 非アイドル状態から前記アイドル状態へ
の遷移時に前記キューに自装置を特定する装置番号をエ
ンキューする手段と、前記アイドル状態から前記非アイ
ドル状態への遷移時に前記キューから前記自装置を特定
する装置番号をデキューする手段とを前記複数の演算処
理装置各々に含むことを特徴とする請求項3または請求
項4記載のデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6091829A JPH07295885A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6091829A JPH07295885A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07295885A true JPH07295885A (ja) | 1995-11-10 |
Family
ID=14037501
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6091829A Pending JPH07295885A (ja) | 1994-04-28 | 1994-04-28 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07295885A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115237574A (zh) * | 2022-08-08 | 2022-10-25 | 昆仑芯(北京)科技有限公司 | 人工智能芯片的调度方法、装置及电子设备 |
-
1994
- 1994-04-28 JP JP6091829A patent/JPH07295885A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115237574A (zh) * | 2022-08-08 | 2022-10-25 | 昆仑芯(北京)科技有限公司 | 人工智能芯片的调度方法、装置及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5696989A (en) | Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation | |
| JP2644780B2 (ja) | 処理依頼機能を持つ並列計算機 | |
| US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
| JP2000267987A (ja) | ダイレクト・メモリ・アクセス制御 | |
| US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
| JPH06259253A (ja) | データプロセッサおよびその動作方法 | |
| JPH04306748A (ja) | 情報処理装置 | |
| JPH0573505A (ja) | マルチプロセツサ通信インタフエースとその方法 | |
| US5615167A (en) | Method for increasing system bandwidth through an on-chip address lock register | |
| JPH0532775B2 (ja) | ||
| JPH09138778A (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
| US5146569A (en) | System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension | |
| US7664900B2 (en) | Multiprocessor system and method for processing memory access | |
| US5481756A (en) | DMA controller mailing auto-initialize halting unit | |
| JPH08137751A (ja) | プロセッサ装置及びその制御方法 | |
| JPH07295885A (ja) | データ処理装置 | |
| JPH1069470A (ja) | マルチプロセッサシステム | |
| JP3077807B2 (ja) | マイクロコンピュータシステム | |
| JP3200183B2 (ja) | データ処理装置 | |
| JPS6240736B2 (ja) | ||
| JP2847729B2 (ja) | 情報処理装置 | |
| JPH058459B2 (ja) | ||
| JPS61123937A (ja) | データ処理装置のデータ駆動型制御方式 | |
| JPH02277142A (ja) | 二重系計算機システム | |
| EP0503390A1 (en) | Microcomputer having direct memory access mode |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20011113 |