JPH0512173A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0512173A JPH0512173A JP3193497A JP19349791A JPH0512173A JP H0512173 A JPH0512173 A JP H0512173A JP 3193497 A JP3193497 A JP 3193497A JP 19349791 A JP19349791 A JP 19349791A JP H0512173 A JPH0512173 A JP H0512173A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- processor
- cpus
- load
- load information
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 複数のCPUの特定のCPUに負荷が集中す
ることを防止することができる情報処理装置を提供す
る。 【構成】 CPU1a〜1cは、通常の演算を行い、I
/Oプロセッサ(CPU)1dは、I/O装置を制御す
る。CPU1a〜1cのスケジューリングを管理するO
Sにより、各CPU1a〜1cの負荷情報をI/Oプロ
セッサ1dに通知し、I/Oプロセッサ1dがこの負荷
情報により相手のCPUを動的に決定する。
ることを防止することができる情報処理装置を提供す
る。 【構成】 CPU1a〜1cは、通常の演算を行い、I
/Oプロセッサ(CPU)1dは、I/O装置を制御す
る。CPU1a〜1cのスケジューリングを管理するO
Sにより、各CPU1a〜1cの負荷情報をI/Oプロ
セッサ1dに通知し、I/Oプロセッサ1dがこの負荷
情報により相手のCPUを動的に決定する。
Description
【0001】
【産業上の利用分野】本発明は、通常の演算用の複数の
CPU(中央処理装置)と、入出力(I/O)装置を制
御する少なくとも1つのI/Oプロセッサとを有する情
報処理装置に関する。
CPU(中央処理装置)と、入出力(I/O)装置を制
御する少なくとも1つのI/Oプロセッサとを有する情
報処理装置に関する。
【0002】
【従来の技術】従来、この種の情報処理装置は、複数の
CPUの所定の1つがI/O装置を直接制御したり、C
PUであるI/Oプロセッサとの間で制御のやり取りを
行ってI/OプロセッサがI/O装置を制御するように
構成されている。
CPUの所定の1つがI/O装置を直接制御したり、C
PUであるI/Oプロセッサとの間で制御のやり取りを
行ってI/OプロセッサがI/O装置を制御するように
構成されている。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来の情報処理装置では、複数のCPUの所定の1つがI
/O装置を直接制御したり、I/Oプロセッサとの間で
制御のやり取りを行うので、特定のCPUに負荷が集中
するという問題点がある。
来の情報処理装置では、複数のCPUの所定の1つがI
/O装置を直接制御したり、I/Oプロセッサとの間で
制御のやり取りを行うので、特定のCPUに負荷が集中
するという問題点がある。
【0004】本発明は上記従来の問題点に鑑み、複数の
CPUの特定のCPUに負荷が集中することを防止する
ことができる情報処理装置を提供することを目的とす
る。
CPUの特定のCPUに負荷が集中することを防止する
ことができる情報処理装置を提供することを目的とす
る。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
するために、通常の演算用の複数のCPUと、I/O装
置を制御する少なくとも1つのI/Oプロセッサとを有
する情報処理装置において、前記複数のCPUのスケジ
ューリングを管理して各CPUの負荷情報を前記I/O
プロセッサに通知する通知手段を有し、前記I/Oプロ
セッサは、前記通知手段により通知された各CPUの負
荷情報により、当該I/Oプロセッサと制御のやり取り
を行うCPUを選択することを特徴とする。
するために、通常の演算用の複数のCPUと、I/O装
置を制御する少なくとも1つのI/Oプロセッサとを有
する情報処理装置において、前記複数のCPUのスケジ
ューリングを管理して各CPUの負荷情報を前記I/O
プロセッサに通知する通知手段を有し、前記I/Oプロ
セッサは、前記通知手段により通知された各CPUの負
荷情報により、当該I/Oプロセッサと制御のやり取り
を行うCPUを選択することを特徴とする。
【0006】
【作用】本発明は上記構成により、通常の演算用の複数
のCPUの各CPUの負荷情報により、制御のやり取り
を行うCPUが選択され、したがって、複数のCPUの
特定のCPUに負荷が集中することを防止することがで
きる。
のCPUの各CPUの負荷情報により、制御のやり取り
を行うCPUが選択され、したがって、複数のCPUの
特定のCPUに負荷が集中することを防止することがで
きる。
【0007】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は、本発明に係る情報処理装置の一実施例を
示すブロック図、図2は、図1のCPUとI/Oプロセ
ッサの間の制御のやり取りを説明するためのフローチャ
ートである。
する。図1は、本発明に係る情報処理装置の一実施例を
示すブロック図、図2は、図1のCPUとI/Oプロセ
ッサの間の制御のやり取りを説明するためのフローチャ
ートである。
【0008】図1において、この情報処理装置は、通常
の演算用の複数のCPU1a、1b、1c〜と、図示省
略のI/O装置を制御するI/Oプロセッサ(CPU)
1dを有するマルチプロセッサ構成であり、また、CP
U1a〜1c、I/Oプロセッサ1d用の各ローカルメ
モリ2a〜2dと、各CPU1a〜1c、I/Oプロセ
ッサ1d間のデータを交換するための共有メモリ3を有
する。
の演算用の複数のCPU1a、1b、1c〜と、図示省
略のI/O装置を制御するI/Oプロセッサ(CPU)
1dを有するマルチプロセッサ構成であり、また、CP
U1a〜1c、I/Oプロセッサ1d用の各ローカルメ
モリ2a〜2dと、各CPU1a〜1c、I/Oプロセ
ッサ1d間のデータを交換するための共有メモリ3を有
する。
【0009】尚、オペレーティングシステム(OS)用
のメモリと、ユーザプログラム用のメモリは、ローカル
メモリ2a〜2dと共有メモリ3のどちらを用いてもよ
いが、OS内のI/O制御用プログラム(デバイスドラ
イバ)は、任意のCPUで動作可能に構成される。ま
た、I/Oプロセッサ1d用のローカルメモリ2dは、
I/Oプロセッサ1dの制御ソフトウエアのテキスト
や、データ領域やI/Oデータのキャッシュバッファと
して用いられる。ローカルメモリ2a〜2cは場合によ
り省略してもよい。
のメモリと、ユーザプログラム用のメモリは、ローカル
メモリ2a〜2dと共有メモリ3のどちらを用いてもよ
いが、OS内のI/O制御用プログラム(デバイスドラ
イバ)は、任意のCPUで動作可能に構成される。ま
た、I/Oプロセッサ1d用のローカルメモリ2dは、
I/Oプロセッサ1dの制御ソフトウエアのテキスト
や、データ領域やI/Oデータのキャッシュバッファと
して用いられる。ローカルメモリ2a〜2cは場合によ
り省略してもよい。
【0010】次に、図2を参照してCPU1a〜1cと
I/Oプロセッサ1dの間の制御のやり取りを説明す
る。尚、図2のステップS11〜14が通常演算用のC
PU1a〜1cのOS内の動作を示し、ステップS21
〜S24がI/Oプロセッサ1dの動作を示す。
I/Oプロセッサ1dの間の制御のやり取りを説明す
る。尚、図2のステップS11〜14が通常演算用のC
PU1a〜1cのOS内の動作を示し、ステップS21
〜S24がI/Oプロセッサ1dの動作を示す。
【0011】先ず、通常演算用のCPU1a〜1cがI
/O処理を行う場合、CPU1a〜1cの任意の1つで
動作するデバイスドライバにより、I/O要求をI/O
プロセッサ1dに発行する(ステップS11)。尚、こ
のI/O要求は、CPU間割り込みのようにCPU間で
非同期の通信手段により発行される。そして、このI/
O要求を発行すると、I/Oプロセッサ1dからのI/
O装置の終了通知を受け取るまで、テストドライバによ
る処理が一時終了し、OSは、通常のスケジューリング
処理に移行する。
/O処理を行う場合、CPU1a〜1cの任意の1つで
動作するデバイスドライバにより、I/O要求をI/O
プロセッサ1dに発行する(ステップS11)。尚、こ
のI/O要求は、CPU間割り込みのようにCPU間で
非同期の通信手段により発行される。そして、このI/
O要求を発行すると、I/Oプロセッサ1dからのI/
O装置の終了通知を受け取るまで、テストドライバによ
る処理が一時終了し、OSは、通常のスケジューリング
処理に移行する。
【0012】ステップS12において、OSは、各CP
U1a〜1cのスケジューリング処理を行い、実行可能
なプロセスを各CPU1a〜1cを割り当てる。次い
で、このスケジューリング処理による各CPU1a〜1
cの負荷情報をI/Oプロセッサ1dに通知し(ステッ
プS13)、ステップS12に戻ってI/Oプロセッサ
1dからのI/O装置の終了通知を受け取るまでこの処
理を繰り返す。尚、このループにおいて、別のI/O要
求が発生してもよい。
U1a〜1cのスケジューリング処理を行い、実行可能
なプロセスを各CPU1a〜1cを割り当てる。次い
で、このスケジューリング処理による各CPU1a〜1
cの負荷情報をI/Oプロセッサ1dに通知し(ステッ
プS13)、ステップS12に戻ってI/Oプロセッサ
1dからのI/O装置の終了通知を受け取るまでこの処
理を繰り返す。尚、このループにおいて、別のI/O要
求が発生してもよい。
【0013】他方、I/Oプロセッサ1dは、上記I/
O要求を受け取ると処理を開始し(ステップS21)、
実際のI/O処理を行う(ステップS22)。次いで、
ステップS13において通知された各CPU1a〜1c
の負荷情報により、I/O処理の終了の通知先のCPU
を選択し(ステップS23)、このCPUにI/O処理
の終了を通知する(ステップS24)。尚、この場合に
も同様に、CPU間割り込みのようにCPU間で非同期
の通信手段によりI/O要求の終了を通知する。
O要求を受け取ると処理を開始し(ステップS21)、
実際のI/O処理を行う(ステップS22)。次いで、
ステップS13において通知された各CPU1a〜1c
の負荷情報により、I/O処理の終了の通知先のCPU
を選択し(ステップS23)、このCPUにI/O処理
の終了を通知する(ステップS24)。尚、この場合に
も同様に、CPU間割り込みのようにCPU間で非同期
の通信手段によりI/O要求の終了を通知する。
【0014】I/O要求の終了を受け取ったCPU1a
〜1cの1つでは、制御がOS内のデバイスドライバに
移行し、このデバイスドライバによりI/O制御の終了
処理を行う(ステップS14)。
〜1cの1つでは、制御がOS内のデバイスドライバに
移行し、このデバイスドライバによりI/O制御の終了
処理を行う(ステップS14)。
【0015】したがって、上記実施例によれば、CPU
1a〜1cのスケジューリングを管理するOSにより、
各CPU1a〜1cの負荷情報をI/Oプロセッサ1d
に通知し、I/Oプロセッサ1dがこの負荷情報により
相手のCPUを動的に決定するので、複数のCPU1a
〜1cの特定のCPUに負荷が集中することを防止する
ことができる。
1a〜1cのスケジューリングを管理するOSにより、
各CPU1a〜1cの負荷情報をI/Oプロセッサ1d
に通知し、I/Oプロセッサ1dがこの負荷情報により
相手のCPUを動的に決定するので、複数のCPU1a
〜1cの特定のCPUに負荷が集中することを防止する
ことができる。
【0016】尚、ステップS13において各CPU1a
〜1cの負荷情報を通知する場合、CPU間割り込みの
ように、CPU間で非同期の通信手段により通知しても
よいが、代わりに共有メモリ3を用いてもよい。後者の
場合、ステップS13において各CPU1a〜1cの負
荷を数値で表現してこの数値を格納するための領域を予
め共有メモリ3に設定し、OSにより共有メモリ3のこ
の領域に書き込む。そして、I/Oプロセッサ1dは、
ステップS23においてこの数値を共有メモリ3から読
み出して負荷が最も軽いCPUを選択し、もし複数のC
PUを選択した場合にはランダムやラウンドロビン等の
任意の方法によりCPU1a〜1cの1つを選択する。
〜1cの負荷情報を通知する場合、CPU間割り込みの
ように、CPU間で非同期の通信手段により通知しても
よいが、代わりに共有メモリ3を用いてもよい。後者の
場合、ステップS13において各CPU1a〜1cの負
荷を数値で表現してこの数値を格納するための領域を予
め共有メモリ3に設定し、OSにより共有メモリ3のこ
の領域に書き込む。そして、I/Oプロセッサ1dは、
ステップS23においてこの数値を共有メモリ3から読
み出して負荷が最も軽いCPUを選択し、もし複数のC
PUを選択した場合にはランダムやラウンドロビン等の
任意の方法によりCPU1a〜1cの1つを選択する。
【0017】尚、この数値は、各CPU1a〜1cに割
り当てられる予定のプロセス(実行可能状態数)の数
や、プロセスを実行中か又はアイドリング中かを示す2
値的な値を用いることができる。この場合、前者の値
は、プロセス数が多いほど負荷が大きいことを示し、後
者の値は、プロセスを実行中が負荷有り、アイドリング
中が負荷なしを示す。
り当てられる予定のプロセス(実行可能状態数)の数
や、プロセスを実行中か又はアイドリング中かを示す2
値的な値を用いることができる。この場合、前者の値
は、プロセス数が多いほど負荷が大きいことを示し、後
者の値は、プロセスを実行中が負荷有り、アイドリング
中が負荷なしを示す。
【0018】上記実施例に依れば、各手段をソフトウェ
アで構成できるので、特別なハードウェアを必要としな
いで上述した処理を実行することができる。
アで構成できるので、特別なハードウェアを必要としな
いで上述した処理を実行することができる。
【0019】
【発明の効果】以上説明したように、本発明は、通常の
演算用の複数のCPUと、I/O装置を制御する少なく
とも1つのI/Oプロセッサとを有する情報処理装置に
おいて、前記複数のCPUのスケジューリングを管理し
て各CPUの負荷情報を前記I/Oプロセッサに通知す
る通知手段を有し、前記I/Oプロセッサは、前記通知
手段により通知された各CPUの負荷情報により、当該
I/Oプロセッサと制御のやり取りを行うCPUを選択
するので、複数のCPUの特定のCPUに負荷が集中す
ることを防止することができる。
演算用の複数のCPUと、I/O装置を制御する少なく
とも1つのI/Oプロセッサとを有する情報処理装置に
おいて、前記複数のCPUのスケジューリングを管理し
て各CPUの負荷情報を前記I/Oプロセッサに通知す
る通知手段を有し、前記I/Oプロセッサは、前記通知
手段により通知された各CPUの負荷情報により、当該
I/Oプロセッサと制御のやり取りを行うCPUを選択
するので、複数のCPUの特定のCPUに負荷が集中す
ることを防止することができる。
【図1】本発明に係る情報処理装置の一実施例を示すブ
ロック図である。
ロック図である。
【図2】図1のCPUとI/Oプロセッサの間の制御の
やり取りを説明するためのフローチャートである。
やり取りを説明するためのフローチャートである。
1a〜1c CPU(中央処理装置) 1d I/Oプロセッサ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成3年10月23日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】 先ず、通常演算用のCPU1a〜1cが
I/O処理を行う場合、CPU1a〜1cの任意の1つ
で動作するデバイスドライバにより、I/O要求をI/
Oプロセッサ1dに発行する(ステップS11)。尚、
このI/O要求は、CPU間割り込みのようにCPU間
で非同期の通信手段により発行される。そして、このI
/O要求を発行すると、I/Oプロセッサ1dからのI
/O装置の終了通知を受け取るまで、デバイスドライバ
による処理が一時終了し、OSは、通常のスケジューリ
ング処理に移行する。
I/O処理を行う場合、CPU1a〜1cの任意の1つ
で動作するデバイスドライバにより、I/O要求をI/
Oプロセッサ1dに発行する(ステップS11)。尚、
このI/O要求は、CPU間割り込みのようにCPU間
で非同期の通信手段により発行される。そして、このI
/O要求を発行すると、I/Oプロセッサ1dからのI
/O装置の終了通知を受け取るまで、デバイスドライバ
による処理が一時終了し、OSは、通常のスケジューリ
ング処理に移行する。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】 他方、I/Oプロセッサ1dは、上記I
/O要求を受け取ると処理を開始し(ステップS2
1)、実際のI/O処理を行う(ステップS22)。次
いで、ステップS13において通知された各CPU1a
〜1cの負荷情報により、I/O処理の終了の通知先の
CPUを選択し(ステップS23)、このCPUにI/
O処理の終了を通知する(ステップS24)。尚、この
場合にも同様に、CPU間割り込みのようにCPU間で
非同期の通信手段によりI/O処理の終了を通知する。
/O要求を受け取ると処理を開始し(ステップS2
1)、実際のI/O処理を行う(ステップS22)。次
いで、ステップS13において通知された各CPU1a
〜1cの負荷情報により、I/O処理の終了の通知先の
CPUを選択し(ステップS23)、このCPUにI/
O処理の終了を通知する(ステップS24)。尚、この
場合にも同様に、CPU間割り込みのようにCPU間で
非同期の通信手段によりI/O処理の終了を通知する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正内容】
【0014】 I/O処理の終了を受け取ったCPU1
a〜1cの1つでは、制御がOS内のデバイスドライバ
に移行し、このデバイスドライバによりI/O制御の終
了処理を行う(ステップS14)。
a〜1cの1つでは、制御がOS内のデバイスドライバ
に移行し、このデバイスドライバによりI/O制御の終
了処理を行う(ステップS14)。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】 尚、この数値は、各CPU1a〜1cに
割り当てられる予定のプロセス(実行可能状態)の数
や、プロセスを実行中か又はアイドリング中かを示す2
値的な値を用いることができる。この場合、前者の値
は、プロセス数が多いほど負荷が大きいことを示し、後
者の値は、プロセスを実行中が負荷有り、アイドリング
中が負荷なしを示す。
割り当てられる予定のプロセス(実行可能状態)の数
や、プロセスを実行中か又はアイドリング中かを示す2
値的な値を用いることができる。この場合、前者の値
は、プロセス数が多いほど負荷が大きいことを示し、後
者の値は、プロセスを実行中が負荷有り、アイドリング
中が負荷なしを示す。
Claims (1)
- 【特許請求の範囲】 【請求項1】 通常の演算用の複数のCPUと、I/O
装置を制御する少なくとも1つのI/Oプロセッサとを
有する情報処理装置において、 前記複数のCPUのスケジューリングを管理して各CP
Uの負荷情報を前記I/Oプロセッサに通知する通知手
段を有し、 前記I/Oプロセッサは、前記通知手段により通知され
た各CPUの負荷情報により、当該I/Oプロセッサと
制御のやり取りを行うCPUを選択することを特徴とす
る情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193497A JPH0512173A (ja) | 1991-07-08 | 1991-07-08 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193497A JPH0512173A (ja) | 1991-07-08 | 1991-07-08 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0512173A true JPH0512173A (ja) | 1993-01-22 |
Family
ID=16309032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3193497A Pending JPH0512173A (ja) | 1991-07-08 | 1991-07-08 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0512173A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08153079A (ja) * | 1994-11-28 | 1996-06-11 | Kofu Nippon Denki Kk | 複合中央処理装置システム |
WO2007049543A1 (ja) * | 2005-10-27 | 2007-05-03 | Sonac Incorporated | 演算装置 |
JP2010086456A (ja) * | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
JP2013246584A (ja) * | 2012-05-24 | 2013-12-09 | Mitsubishi Electric Corp | 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット |
-
1991
- 1991-07-08 JP JP3193497A patent/JPH0512173A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08153079A (ja) * | 1994-11-28 | 1996-06-11 | Kofu Nippon Denki Kk | 複合中央処理装置システム |
WO2007049543A1 (ja) * | 2005-10-27 | 2007-05-03 | Sonac Incorporated | 演算装置 |
JP2010086456A (ja) * | 2008-10-02 | 2010-04-15 | Renesas Technology Corp | データ処理システム及び半導体集積回路 |
JP2013246584A (ja) * | 2012-05-24 | 2013-12-09 | Mitsubishi Electric Corp | 制御装置、データ出力制御ユニット、データ入力制御ユニット、および制御ユニット |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3008896B2 (ja) | 共有バス型マルチプロセッサシステムの割り込み負荷分散システム | |
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US7853743B2 (en) | Processor and interrupt controlling method | |
KR100463987B1 (ko) | 공통처리알고리즘을이용한다수의큐핸들링방법및장치 | |
JP2000330806A (ja) | 計算機システム | |
KR20040068600A (ko) | 운영 시스템 기능 실행 방법 및 시스템, 전자 기기 | |
WO2009150815A1 (ja) | マルチプロセッサシステム | |
JPS5999553A (ja) | 割込制御方式 | |
JPH0512173A (ja) | 情報処理装置 | |
EP0049521A2 (en) | Information processing system | |
JP4150853B2 (ja) | 資源競合制御システム及び制御方法並びにプログラム | |
JP3576437B2 (ja) | マルチプロセッサタスク制御方法及びタスク制御装置 | |
JPH05108380A (ja) | データ処理システム | |
JP4631442B2 (ja) | プロセッサ | |
US20230042247A1 (en) | Shared unit instruction execution | |
KR100294314B1 (ko) | 데이터처리시스템및방법과그런시스템과의통신시스템 | |
JPH09146883A (ja) | トランザクション処理タスク数制御方式 | |
JP2752894B2 (ja) | ファイル転送装置 | |
JPH01258135A (ja) | トランザクション実行制御方式 | |
JPH09218859A (ja) | マルチプロセッサ制御システム | |
KR20080016419A (ko) | 멀티프로세서 시스템, 시스템 보드 및 캐시 대체 요구 처리방법 | |
JPH01305461A (ja) | バス使用権制御方式 | |
JPH0573507A (ja) | 電子計算機間メツセージ交信時の救済装置 | |
JPH056333A (ja) | マルチプロセサシステム | |
JPH08329022A (ja) | マルチプロセッサシステムの入出力処理負荷分散制御方式 |