JPH0844575A - Cpuの監視及び負荷制御方式 - Google Patents
Cpuの監視及び負荷制御方式Info
- Publication number
- JPH0844575A JPH0844575A JP6182352A JP18235294A JPH0844575A JP H0844575 A JPH0844575 A JP H0844575A JP 6182352 A JP6182352 A JP 6182352A JP 18235294 A JP18235294 A JP 18235294A JP H0844575 A JPH0844575 A JP H0844575A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- interrupt
- time
- load
- irq
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 マルチプロセッサのシステムにおいて、簡単
な構成によりCPUの負荷状態や過負状態荷の検出、ひ
いては障害の検出、及び負荷分担の制御を効率的に行な
う。 【構成】 複数の外部割込を優先順に受け付けるCPU
の監視方式において、CPUに対して外部割込を定期的
に入力し、その割込要求から割込受付までの時間を監視
することによりCPUの負荷状態を検出する。好ましく
は、前記時間が第1の所定時間を超えたことによりCP
Uの過負荷状態を検出し、また前記第1よりも長い第2
の所定時間を超えたことによりCPUの障害状態を検出
する。又は、複数の外部割込を受け付け、その割込ベク
トルを一旦待ち行列にプールし、優先順に割込処理を実
行するCPUの監視方式において、CPUに対して外部
割込を定期的に入力し、その割込受付から割込処理実行
までの時間を監視することによりCPUの負荷状態を検
出する。
な構成によりCPUの負荷状態や過負状態荷の検出、ひ
いては障害の検出、及び負荷分担の制御を効率的に行な
う。 【構成】 複数の外部割込を優先順に受け付けるCPU
の監視方式において、CPUに対して外部割込を定期的
に入力し、その割込要求から割込受付までの時間を監視
することによりCPUの負荷状態を検出する。好ましく
は、前記時間が第1の所定時間を超えたことによりCP
Uの過負荷状態を検出し、また前記第1よりも長い第2
の所定時間を超えたことによりCPUの障害状態を検出
する。又は、複数の外部割込を受け付け、その割込ベク
トルを一旦待ち行列にプールし、優先順に割込処理を実
行するCPUの監視方式において、CPUに対して外部
割込を定期的に入力し、その割込受付から割込処理実行
までの時間を監視することによりCPUの負荷状態を検
出する。
Description
【0001】
【産業上の利用分野】本発明はCPUの監視及び負荷制
御方式に関し、更に詳しくは複数の外部割込を受け付け
る1又は2以上のCPUの処理について、負荷状態や過
負荷状態の検出、ひいては障害の検出、及び負荷分担の
制御を行うCPUの監視及び負荷制御方式に関する。
御方式に関し、更に詳しくは複数の外部割込を受け付け
る1又は2以上のCPUの処理について、負荷状態や過
負荷状態の検出、ひいては障害の検出、及び負荷分担の
制御を行うCPUの監視及び負荷制御方式に関する。
【0002】例えば交換局に設置される通信装置では多
数の通信チャネルからの割込要求をCPUが実時間で処
理する。この種の装置にはその社会的影響が大きいこと
から高い信頼性が求められており、マルチプロセッサの
構成をとる例が多い。かかる通信システムの円滑な運用
のためには個々のCPUの負荷状態や障害の状態を有効
に検出し、効果的な負荷分担が必要になる。
数の通信チャネルからの割込要求をCPUが実時間で処
理する。この種の装置にはその社会的影響が大きいこと
から高い信頼性が求められており、マルチプロセッサの
構成をとる例が多い。かかる通信システムの円滑な運用
のためには個々のCPUの負荷状態や障害の状態を有効
に検出し、効果的な負荷分担が必要になる。
【0003】
【従来の技術】従来は、CPUの負荷を単位時間当たり
の有効な処理が実行された時間により計測していた。
の有効な処理が実行された時間により計測していた。
【0004】
【発明が解決しようとする課題】しかし、一般にこの種
の計測方法は複雑であり、例えばシングルプログラミン
グ方式のプロセッサでは、どの処理が有効で、どの処理
が有効でないかを切り分けるのが困難である。また、複
数のタスクが入れ代わり実行されるマルチプログラミン
グ方式のプロセッサではタスク毎の実行時間を集計する
必要があり、これがプロセッサに余分な負荷を与え、本
来の処理能力が低下する恐れがある。
の計測方法は複雑であり、例えばシングルプログラミン
グ方式のプロセッサでは、どの処理が有効で、どの処理
が有効でないかを切り分けるのが困難である。また、複
数のタスクが入れ代わり実行されるマルチプログラミン
グ方式のプロセッサではタスク毎の実行時間を集計する
必要があり、これがプロセッサに余分な負荷を与え、本
来の処理能力が低下する恐れがある。
【0005】本発明の目的は、簡単な構成によりCPU
の負荷状態や過負状態荷の検出、ひいては障害の検出、
及び負荷分担の制御を効率的に行えるCPUの監視及び
負荷制御方式を提供することにある。
の負荷状態や過負状態荷の検出、ひいては障害の検出、
及び負荷分担の制御を効率的に行えるCPUの監視及び
負荷制御方式を提供することにある。
【0006】
【課題を解決するための手段】上記の課題は図1の構成
により解決される。即ち、本発明(1)のCPUの監視
方式は、複数の外部割込を優先順に受け付けるCPUの
監視方式において、CPUに対して外部割込を定期的に
入力し、その割込要求から割込受付までの時間を監視す
ることによりCPUの負荷状態を検出するものである。
により解決される。即ち、本発明(1)のCPUの監視
方式は、複数の外部割込を優先順に受け付けるCPUの
監視方式において、CPUに対して外部割込を定期的に
入力し、その割込要求から割込受付までの時間を監視す
ることによりCPUの負荷状態を検出するものである。
【0007】また本発明(4)のCPUの監視方式は、
複数の外部割込を受け付け、その割込ベクトルを一旦待
ち行列にプールし、優先順に割込処理を実行するCPU
の監視方式において、CPUに対して外部割込を定期的
に入力し、その割込受付から割込処理実行までの時間を
監視することによりCPUの負荷状態を検出するもので
ある。
複数の外部割込を受け付け、その割込ベクトルを一旦待
ち行列にプールし、優先順に割込処理を実行するCPU
の監視方式において、CPUに対して外部割込を定期的
に入力し、その割込受付から割込処理実行までの時間を
監視することによりCPUの負荷状態を検出するもので
ある。
【0008】また本発明(9)のCPUの負荷制御方式
は、上記の監視機能を備えるCPUを複数備え、これら
が共通の負荷を分担すると共に、何れかのCPUで過負
荷状態又は障害状態が検出されたことにより残りのCP
Uがその負荷を分担するように構成したものである。
は、上記の監視機能を備えるCPUを複数備え、これら
が共通の負荷を分担すると共に、何れかのCPUで過負
荷状態又は障害状態が検出されたことにより残りのCP
Uがその負荷を分担するように構成したものである。
【0009】
【作用】本発明(1)のCPUの監視方式において、例
えばCPU1a は優先制御部2 a を介して複数の外部割
込IRQ0a〜IRQnaを優先順に受け付ける。割込発生
部3a はCPU1a に対して好ましくは他と同程度又は
それ以下の優先順位の外部割込IRQ0aを定期的に入力
する。そして、CPU管理部10はその割込要求IRQ
0aから割込受付IAK0aまでの時間を監視する。
えばCPU1a は優先制御部2 a を介して複数の外部割
込IRQ0a〜IRQnaを優先順に受け付ける。割込発生
部3a はCPU1a に対して好ましくは他と同程度又は
それ以下の優先順位の外部割込IRQ0aを定期的に入力
する。そして、CPU管理部10はその割込要求IRQ
0aから割込受付IAK0aまでの時間を監視する。
【0010】外部割込IRQ0a〜IRQnaが少ない場合
は、CPU1a による外部割込IRQ0aの受け付けが速
く、時間がかからない。また外部割込IRQ0a〜IRQ
naが多い場合は、CPU1a による外部割込IRQ0 の
受け付けが遅くなり、時間がかかる。従って、本発明
(1)によれば簡単な構成によりCPUの負荷状態を有
効に検出できる。
は、CPU1a による外部割込IRQ0aの受け付けが速
く、時間がかからない。また外部割込IRQ0a〜IRQ
naが多い場合は、CPU1a による外部割込IRQ0 の
受け付けが遅くなり、時間がかかる。従って、本発明
(1)によれば簡単な構成によりCPUの負荷状態を有
効に検出できる。
【0011】好ましくは、前記時間が第1の所定時間を
超えたことによりCPUの過負荷状態を検出する。また
好ましくは、前記時間が前記第1よりも長い第2の所定
時間を超えたことによりCPUの障害状態を検出する。
本発明(4)のCPUの監視方式において、例えばCP
U1a は優先制御部2 a を介して複数の外部割込IRQ
0a〜IRQnaを受け付け、その割込ベクトルを一旦待ち
行列にプールし、優先順に割込処理TSK0a〜TSKna
を実行する。
超えたことによりCPUの過負荷状態を検出する。また
好ましくは、前記時間が前記第1よりも長い第2の所定
時間を超えたことによりCPUの障害状態を検出する。
本発明(4)のCPUの監視方式において、例えばCP
U1a は優先制御部2 a を介して複数の外部割込IRQ
0a〜IRQnaを受け付け、その割込ベクトルを一旦待ち
行列にプールし、優先順に割込処理TSK0a〜TSKna
を実行する。
【0012】この場合に、複数の外部割込を優先順に受
け付け、受付順に割込処理を実行しても良いし、又は複
数の外部割込を一斉に受け付け、優先順に割込処理を実
行しても良い。割込発生部3a はCPU1a に対して好
ましくは他と同程度又はそれ以下の優先順位の外部割込
IRQ0aを定期的に入力する。そして、CPU管理部1
0はその割込受付IAK0aから割込処理TSK0aの実行
までの時間を監視する。
け付け、受付順に割込処理を実行しても良いし、又は複
数の外部割込を一斉に受け付け、優先順に割込処理を実
行しても良い。割込発生部3a はCPU1a に対して好
ましくは他と同程度又はそれ以下の優先順位の外部割込
IRQ0aを定期的に入力する。そして、CPU管理部1
0はその割込受付IAK0aから割込処理TSK0aの実行
までの時間を監視する。
【0013】外部割込IRQ0a〜IRQnaが少ない場合
は、待ち行列が少なく、CPU1aによる割込処理TS
K0aの実行までに時間がかからない。また外部割込IR
Q0a〜IRQnaが多い場合は、待ち行列も多くなり、C
PU1a による割込処理TSK0aの実行までに時間がか
かる。従って、本発明(4)によれば簡単な構成により
CPUの負荷状態を有効に検出できる。
は、待ち行列が少なく、CPU1aによる割込処理TS
K0aの実行までに時間がかからない。また外部割込IR
Q0a〜IRQnaが多い場合は、待ち行列も多くなり、C
PU1a による割込処理TSK0aの実行までに時間がか
かる。従って、本発明(4)によれば簡単な構成により
CPUの負荷状態を有効に検出できる。
【0014】好ましくは、前記時間が第3の所定時間を
超えたことによりCPUの過負荷状態を検出する。また
好ましくは、前記時間が前記第3よりも長い第4の所定
時間を超えたことによりCPUの障害状態を検出する。
また好ましくは、前記所定時間をワンショットマルチバ
イブレータ回路により生成するように構成する。
超えたことによりCPUの過負荷状態を検出する。また
好ましくは、前記時間が前記第3よりも長い第4の所定
時間を超えたことによりCPUの障害状態を検出する。
また好ましくは、前記所定時間をワンショットマルチバ
イブレータ回路により生成するように構成する。
【0015】また好ましくは、前記時間をカウンタによ
り計数するように構成する。本発明(9)のCPUの負
荷制御方式においては、上記の監視機能を備える複数の
CPU1a ,1b を備え、通常はこれらが共通の負荷6
1 〜6n を例えば1/2づつ分担する。そして、CPU
1a で過負荷状態(BSY1a又はBSY2a)又は障害状
態(ALM1a又はALM2a)が検出された場合はCPU
1b がCPU1a の負荷の一部又は全部を負担する。逆
にCPU1b で過負荷状態(BSY1b又はBSY2b)又
は障害状態(ALM1b又はALM2b)が検出された場合
はCPU1a がCPU1b の負荷の一部又は全部を負担
する。従って、本発明(9)によれば簡単な構成により
CPU間の負荷分担の制御を効率的に行える。
り計数するように構成する。本発明(9)のCPUの負
荷制御方式においては、上記の監視機能を備える複数の
CPU1a ,1b を備え、通常はこれらが共通の負荷6
1 〜6n を例えば1/2づつ分担する。そして、CPU
1a で過負荷状態(BSY1a又はBSY2a)又は障害状
態(ALM1a又はALM2a)が検出された場合はCPU
1b がCPU1a の負荷の一部又は全部を負担する。逆
にCPU1b で過負荷状態(BSY1b又はBSY2b)又
は障害状態(ALM1b又はALM2b)が検出された場合
はCPU1a がCPU1b の負荷の一部又は全部を負担
する。従って、本発明(9)によれば簡単な構成により
CPU間の負荷分担の制御を効率的に行える。
【0016】好ましくは、上記の監視機能を一箇所(例
えばCPU管理部10)にまとめ、各時間の監視機能を
共通のRAMカウンタ105 により構成する。
えばCPU管理部10)にまとめ、各時間の監視機能を
共通のRAMカウンタ105 により構成する。
【0017】
【実施例】以下、添付図面に従って本発明による実施例
を詳細に説明する。なお、全図を通して同一符号は同一
又は相当部分を示すものとする。図2は第1実施例の構
成を示す図で、図において1はマルチプログラミング方
式のCPU、11 はスーパバイザ、12 はタスク、2は
割込制御部(INTC)、21 は優先制御部(PRT
C)、22 はマスク回路(MSK)、3は割込発生部
(IG)、31 は分周回路(1/M)、32 はフリップ
フロップ回路(FF)、4は割込要求から割込受付まで
の時間を監視する監視部、41 ,42 はワンショットマ
ルチバイブレータ回路(SS)、43 ,44 はフリップ
フロップ回路(FF)、5は割込受付から割込タスク実
行までの時間を監視する監視部、51 ,52 はワンショ
ットマルチバイブレータ回路(SS)、53 〜55 はフ
リップフロップ回路(FF)、61 〜6m はシリアル通
信制御部(SCC)、CH1 〜CHm はその通信チャネ
ル、7は割込バス(IB)、8はCPU1のデータバ
ス、アドレスバス、制御バス等から成る共通バス(C
B)、21はORゲート回路(O)、SRはシステムリ
セット信号である。
を詳細に説明する。なお、全図を通して同一符号は同一
又は相当部分を示すものとする。図2は第1実施例の構
成を示す図で、図において1はマルチプログラミング方
式のCPU、11 はスーパバイザ、12 はタスク、2は
割込制御部(INTC)、21 は優先制御部(PRT
C)、22 はマスク回路(MSK)、3は割込発生部
(IG)、31 は分周回路(1/M)、32 はフリップ
フロップ回路(FF)、4は割込要求から割込受付まで
の時間を監視する監視部、41 ,42 はワンショットマ
ルチバイブレータ回路(SS)、43 ,44 はフリップ
フロップ回路(FF)、5は割込受付から割込タスク実
行までの時間を監視する監視部、51 ,52 はワンショ
ットマルチバイブレータ回路(SS)、53 〜55 はフ
リップフロップ回路(FF)、61 〜6m はシリアル通
信制御部(SCC)、CH1 〜CHm はその通信チャネ
ル、7は割込バス(IB)、8はCPU1のデータバ
ス、アドレスバス、制御バス等から成る共通バス(C
B)、21はORゲート回路(O)、SRはシステムリ
セット信号である。
【0018】スーパバイザ11 は外部からの割込要求I
RQ0 〜IRQn を受け付ける共通の受付処理、各種タ
スクのスケジュール処理、及びこれらを実行に移す処理
等を行う。タスク12 には外部割込IRQ0 〜IRQn
の受付によりスケジュールされた割込タスクITSK0
〜ITSKn 等が含まれる。優先制御部21 は、この例
では割込要求IRQ1 (BSY1 ),IRQ2 (BSY
2 )に対して高い優先度を与えている。SCC61 〜S
CC6m からの割込要求IRQ3 〜IRQn に対しては
中程度の同一の優先度又は通信チャネルCH 1 〜CHm
の緊急度又は重要度に応じた優先度を与えている。そし
て、割込発生部3からの割込要求IRQ0 に対しては割
込要求IRQ3 〜IRQn に対するのと同一又はそれら
の内の中程度又はそれ以下の優先度を与えている。従っ
て、割込要求IRQ0 は割込要求IRQ3 〜IRQn と
の関係では略発生順に受け付けられる。
RQ0 〜IRQn を受け付ける共通の受付処理、各種タ
スクのスケジュール処理、及びこれらを実行に移す処理
等を行う。タスク12 には外部割込IRQ0 〜IRQn
の受付によりスケジュールされた割込タスクITSK0
〜ITSKn 等が含まれる。優先制御部21 は、この例
では割込要求IRQ1 (BSY1 ),IRQ2 (BSY
2 )に対して高い優先度を与えている。SCC61 〜S
CC6m からの割込要求IRQ3 〜IRQn に対しては
中程度の同一の優先度又は通信チャネルCH 1 〜CHm
の緊急度又は重要度に応じた優先度を与えている。そし
て、割込発生部3からの割込要求IRQ0 に対しては割
込要求IRQ3 〜IRQn に対するのと同一又はそれら
の内の中程度又はそれ以下の優先度を与えている。従っ
て、割込要求IRQ0 は割込要求IRQ3 〜IRQn と
の関係では略発生順に受け付けられる。
【0019】マスク回路22 は通常は全開とされ、CP
U1はSCC61 〜SCC6m のフル負荷を担う。即
ち、例えばSCC61 は1フレームデータの送/受信を
行うと割込要求信号IRQ3 を発生する。スーパバイザ
11 が割込要求IRQ3 を受け付けると、割込制御部2
から割込受付信号IAK3 がSCC61 に返送される。
しかる後、スーパバイザ11 はこの割込要求(割込ベク
タ)IRQ3 に対応する割込タスクITSK3 をスケジ
ュールし、これを一旦割込タスクの実行待ち行列に受付
順にプールする。そして、順番がくると割込タスクIT
SK3 を実行する。SCC62 〜6m に対しても同様で
ある。
U1はSCC61 〜SCC6m のフル負荷を担う。即
ち、例えばSCC61 は1フレームデータの送/受信を
行うと割込要求信号IRQ3 を発生する。スーパバイザ
11 が割込要求IRQ3 を受け付けると、割込制御部2
から割込受付信号IAK3 がSCC61 に返送される。
しかる後、スーパバイザ11 はこの割込要求(割込ベク
タ)IRQ3 に対応する割込タスクITSK3 をスケジ
ュールし、これを一旦割込タスクの実行待ち行列に受付
順にプールする。そして、順番がくると割込タスクIT
SK3 を実行する。SCC62 〜6m に対しても同様で
ある。
【0020】かかる状態のもとで、割込発生部3は定期
的に割込要求信号IRQ0 を発生する。即ち、分周回路
31 はマスタクロック信号MCKをM分周し、一定周期
の割込クロック信号ICKを生成する。FF32 は割込
クロック信号ICKによりセットされ、割込要求信号I
RQ0 =1を出力する。同時に、この割込要求信号IR
Q0 は監視部4のSS41 ,SS42 をトリガする。S
S41 のタイムアウト時間t1 はCPU1が過負荷の状
態にあるか否かを判定できる値に設定されている。即
ち、スーパバイザ11 がt1 以内に割込要求IRQ0 の
受付を行えば正常負荷の範囲であり、t1 以内に割込要
求IRQ0の受付を行わなければ過負荷の状態である。
またSS42 のタイムアウト時間t 2 (t1 より十分に
長い)はCPU1が障害の状態にあるか否かを判定でき
る値に設定されている。即ち、スーパバイザ11 がt2
以内に割込要求IRQ0 の受付を行えば正常の範囲であ
り、t2 以内に割込要求IRQ0 の受付を行わなければ
障害の状態である。
的に割込要求信号IRQ0 を発生する。即ち、分周回路
31 はマスタクロック信号MCKをM分周し、一定周期
の割込クロック信号ICKを生成する。FF32 は割込
クロック信号ICKによりセットされ、割込要求信号I
RQ0 =1を出力する。同時に、この割込要求信号IR
Q0 は監視部4のSS41 ,SS42 をトリガする。S
S41 のタイムアウト時間t1 はCPU1が過負荷の状
態にあるか否かを判定できる値に設定されている。即
ち、スーパバイザ11 がt1 以内に割込要求IRQ0 の
受付を行えば正常負荷の範囲であり、t1 以内に割込要
求IRQ0の受付を行わなければ過負荷の状態である。
またSS42 のタイムアウト時間t 2 (t1 より十分に
長い)はCPU1が障害の状態にあるか否かを判定でき
る値に設定されている。即ち、スーパバイザ11 がt2
以内に割込要求IRQ0 の受付を行えば正常の範囲であ
り、t2 以内に割込要求IRQ0 の受付を行わなければ
障害の状態である。
【0021】スーパバイザ11 が混んでいない場合は、
割込要求信号IRQ0 は合理的な時間内に受け付けら、
FF32 は割込受付信号IAK0 によりリセットされ
る。この場合はSS41 ,SS42 がタイムアウトする
前に割込要求信号IRQ0 =0となり、よってFF
43 ,FF44 はセットされない。一方、この割込受付
信号IAK0 は監視部5のFF55 をセットする。そし
て、FF55 の出力はSS51 ,SS52 をトリガす
る。SS51 のタイムアウト時間t3 はCPU1が過負
荷の状態にあるか否かを判定できる値に設定されてい
る。即ち、スーパバイザ11 がt3 以内に割込タスクI
TSK0 を実行すれば正常負荷の範囲であり、t3 以内
に割込タスクITSK0 を実行しなければ過負荷の状態
である。またSS52 のタイムアウト時間t4 (t3 よ
り十分に長い)はCPU1が障害の状態にあるか否かを
判定できる値に設定されている。即ち、スーパバイザ1
1 がt4 以内に割込タスクITSK0 を実行すれば正常
の範囲であり、t4 以内に割込タスクITSK0 を実行
しなければ障害の状態である。
割込要求信号IRQ0 は合理的な時間内に受け付けら、
FF32 は割込受付信号IAK0 によりリセットされ
る。この場合はSS41 ,SS42 がタイムアウトする
前に割込要求信号IRQ0 =0となり、よってFF
43 ,FF44 はセットされない。一方、この割込受付
信号IAK0 は監視部5のFF55 をセットする。そし
て、FF55 の出力はSS51 ,SS52 をトリガす
る。SS51 のタイムアウト時間t3 はCPU1が過負
荷の状態にあるか否かを判定できる値に設定されてい
る。即ち、スーパバイザ11 がt3 以内に割込タスクI
TSK0 を実行すれば正常負荷の範囲であり、t3 以内
に割込タスクITSK0 を実行しなければ過負荷の状態
である。またSS52 のタイムアウト時間t4 (t3 よ
り十分に長い)はCPU1が障害の状態にあるか否かを
判定できる値に設定されている。即ち、スーパバイザ1
1 がt4 以内に割込タスクITSK0 を実行すれば正常
の範囲であり、t4 以内に割込タスクITSK0 を実行
しなければ障害の状態である。
【0022】スーパバイザ11 が混んでいない場合は、
割込タスクITSK0 は合理的な時間内に実行され、F
F55 は割込タスクITSK0 の実行時に生成されるプ
ログラムリセット信号PR1 によりリセットされる。こ
の場合はSS51 ,SS52がタイムアウトする前にF
F55 の出力Q=0となり、よってFF53 ,54 はセ
ットされない。
割込タスクITSK0 は合理的な時間内に実行され、F
F55 は割込タスクITSK0 の実行時に生成されるプ
ログラムリセット信号PR1 によりリセットされる。こ
の場合はSS51 ,SS52がタイムアウトする前にF
F55 の出力Q=0となり、よってFF53 ,54 はセ
ットされない。
【0023】しかし、スーパバイザ11 が混んでいる場
合は、割込要求信号IRQ0 はt1以内に受け付けられ
ない。即ち、SS41 がタイムアウトした時には割込要
求信号IRQ0 =1であり、これによりFF43 はセッ
トされ、ビジー信号BSY1=1となる。ビジー信号B
SY1 は割込要求信号IRQ1 としてCPU1に対して
高い優先度の割込要求を行う。スーパバイザ11 は割込
要求IRQ1 を受け付けると割込タスクITSK1 をス
ケジュールする。そして、この割込タスクITSK1 が
実行に移されると、その処理の中でマスク回路22 にマ
スクデータをセットし、負荷の軽減を図る。例えばSC
C61 〜6n の全部又は緊急度や重要度の低い一部の割
込要求を一時的にマスクし、負荷の軽減を図る。そし
て、負荷が軽減されたら(例えばスーパバイザ11 がア
イドルタスクを実行するような状況になったら)マスク
データを全開に戻す。
合は、割込要求信号IRQ0 はt1以内に受け付けられ
ない。即ち、SS41 がタイムアウトした時には割込要
求信号IRQ0 =1であり、これによりFF43 はセッ
トされ、ビジー信号BSY1=1となる。ビジー信号B
SY1 は割込要求信号IRQ1 としてCPU1に対して
高い優先度の割込要求を行う。スーパバイザ11 は割込
要求IRQ1 を受け付けると割込タスクITSK1 をス
ケジュールする。そして、この割込タスクITSK1 が
実行に移されると、その処理の中でマスク回路22 にマ
スクデータをセットし、負荷の軽減を図る。例えばSC
C61 〜6n の全部又は緊急度や重要度の低い一部の割
込要求を一時的にマスクし、負荷の軽減を図る。そし
て、負荷が軽減されたら(例えばスーパバイザ11 がア
イドルタスクを実行するような状況になったら)マスク
データを全開に戻す。
【0024】また、スーパバイザ11 が混んでいる場合
は、割込タスクITSK0 はt3 以内に実行に移されな
い。即ち、SS51 がタイムアウトした時にはFF55
の出力Q=1であり、これによりFF53 はセットさ
れ、ビジー信号BSY2 =1となる。ビジー信号BSY
2 は割込要求信号IRQ2 としてCPU1に対して高い
優先度の割込要求を行う。スーパバイザ11 は割込要求
IRQ2 を受け付けると割込タスクITSK2 をスケジ
ュールする。そして、この割込タスクITSK2 が実行
に移されると、その処理の中でマスク回路22 にマスク
データをセットし、負荷の軽減を図る。
は、割込タスクITSK0 はt3 以内に実行に移されな
い。即ち、SS51 がタイムアウトした時にはFF55
の出力Q=1であり、これによりFF53 はセットさ
れ、ビジー信号BSY2 =1となる。ビジー信号BSY
2 は割込要求信号IRQ2 としてCPU1に対して高い
優先度の割込要求を行う。スーパバイザ11 は割込要求
IRQ2 を受け付けると割込タスクITSK2 をスケジ
ュールする。そして、この割込タスクITSK2 が実行
に移されると、その処理の中でマスク回路22 にマスク
データをセットし、負荷の軽減を図る。
【0025】なお、上記ビジー信号BSY1 ,BSY2
は共にCPU1の過負荷状態を検出した信号であるが、
割込要求IRQ0 の受付遅延が検出された場合(BSY
1 )と割込タスクITSK0 の実行遅延が検出された場
合(BSY2 )とではCPU1内における過負荷の性質
(深刻度)が異なる。一般に割込要求IRQ0 の受付遅
延が検出された場合の方が深刻である。本実施例ではビ
ジー信号BSY1 ,BSY2 で別個に割込要求IR
Q1 ,IRQ2 を行うので、負荷軽減の対策も別個に行
える。しかし、これらを分ける必要がない場合は、ビジ
ー信号BSY1 ,BSY2 の論理ORをとり、その出力
で割込要求IRQ1 をかけるように構成しても良い。
は共にCPU1の過負荷状態を検出した信号であるが、
割込要求IRQ0 の受付遅延が検出された場合(BSY
1 )と割込タスクITSK0 の実行遅延が検出された場
合(BSY2 )とではCPU1内における過負荷の性質
(深刻度)が異なる。一般に割込要求IRQ0 の受付遅
延が検出された場合の方が深刻である。本実施例ではビ
ジー信号BSY1 ,BSY2 で別個に割込要求IR
Q1 ,IRQ2 を行うので、負荷軽減の対策も別個に行
える。しかし、これらを分ける必要がない場合は、ビジ
ー信号BSY1 ,BSY2 の論理ORをとり、その出力
で割込要求IRQ1 をかけるように構成しても良い。
【0026】更に、CPU1に障害(ホルト、暴走、無
限ループ等)があると割込要求信号IRQ0 はt2 以内
に受け付けられない。又は割込タスクITSK0 はt4
以内に実行に移されない。これらの場合はFF44 /F
F54 がセットされ、アラーム信号ALM1 /ALM2
=1となる。ALM1 /ALM2 =1となるとORゲー
ト回路21を満足し、CPU1の動作を強制的に停止さ
せる。なお、図示しないが、ORゲート回路21の出力
で発光ダイオードを点灯し、障害を報知するように構成
しても良い。
限ループ等)があると割込要求信号IRQ0 はt2 以内
に受け付けられない。又は割込タスクITSK0 はt4
以内に実行に移されない。これらの場合はFF44 /F
F54 がセットされ、アラーム信号ALM1 /ALM2
=1となる。ALM1 /ALM2 =1となるとORゲー
ト回路21を満足し、CPU1の動作を強制的に停止さ
せる。なお、図示しないが、ORゲート回路21の出力
で発光ダイオードを点灯し、障害を報知するように構成
しても良い。
【0027】かくして、第1実施例によればワンショッ
トマルチバイブレータ回路とフリップフロップ回路とか
ら成る簡単な構成によりCPU1の効率的な過負荷検
出、障害検出、及び負荷管理が行える。なお、CPU1
がマスク回路22 にマスクデータをセットする代わり
に、例えばORゲート回路22を設け、ビジー信号BS
Y1 /BSY2 =1の発生によりマスク回路22 に直接
マスクデータを与え、負荷の軽減を図るように構成して
も良い。
トマルチバイブレータ回路とフリップフロップ回路とか
ら成る簡単な構成によりCPU1の効率的な過負荷検
出、障害検出、及び負荷管理が行える。なお、CPU1
がマスク回路22 にマスクデータをセットする代わり
に、例えばORゲート回路22を設け、ビジー信号BS
Y1 /BSY2 =1の発生によりマスク回路22 に直接
マスクデータを与え、負荷の軽減を図るように構成して
も良い。
【0028】図3は第2実施例の構成を示す図で、上記
第1実施例との相違点は監視部4,5をカウンタと比較
回路(又はデコーダでも良い)とで構成したことにあ
る。即ち、4は割込要求から割込受付までの時間を監視
する監視部、47 はカウンタ回路(CTR)、48 は比
較回路(CMP)、5は割込受付から割込タスク実行ま
での時間を監視する監視部、56 はフリップフロップ回
路(FF)、57 はカウンタ回路(CTR)、58 は比
較回路(CMP)である。
第1実施例との相違点は監視部4,5をカウンタと比較
回路(又はデコーダでも良い)とで構成したことにあ
る。即ち、4は割込要求から割込受付までの時間を監視
する監視部、47 はカウンタ回路(CTR)、48 は比
較回路(CMP)、5は割込受付から割込タスク実行ま
での時間を監視する監視部、56 はフリップフロップ回
路(FF)、57 はカウンタ回路(CTR)、58 は比
較回路(CMP)である。
【0029】監視部4において、カウンタ47 は割込要
求信号IRQ0 =1によりカウントイネーブルとなり、
マスタクロック信号MCKの計数を開始する。スーパバ
イザ11 が混んでいない場合は割込要求IRQ0 は合理
的な時間内に受け付けられる。即ち、FF32 は割込受
付信号IAK0 によりリセットされ、これによりカウン
タ47 は計数を停止する。
求信号IRQ0 =1によりカウントイネーブルとなり、
マスタクロック信号MCKの計数を開始する。スーパバ
イザ11 が混んでいない場合は割込要求IRQ0 は合理
的な時間内に受け付けられる。即ち、FF32 は割込受
付信号IAK0 によりリセットされ、これによりカウン
タ47 は計数を停止する。
【0030】スーパバイザ11 の割込受付処理は割込要
求IRQ0 を受け付けた際に共通バス8を介してカウン
タ47 の計数値を読み込む。計数値の読込は例えばアド
レスバスに監視部4のI/Oアドレスを指定し、かつ制
御バスにリードの制御信号を送り、データバスより計数
値を読み込むことで行う。読み込んだ計数値の値はCP
U1の負荷状態に応じてその都度様々な値をとり得るの
で、スーパバイザ11は該計数値に基づきCPU1の負
荷状態をきめ細かく判断できる。従って、本実施例では
負荷軽減の制御もきめ細かく行える。
求IRQ0 を受け付けた際に共通バス8を介してカウン
タ47 の計数値を読み込む。計数値の読込は例えばアド
レスバスに監視部4のI/Oアドレスを指定し、かつ制
御バスにリードの制御信号を送り、データバスより計数
値を読み込むことで行う。読み込んだ計数値の値はCP
U1の負荷状態に応じてその都度様々な値をとり得るの
で、スーパバイザ11は該計数値に基づきCPU1の負
荷状態をきめ細かく判断できる。従って、本実施例では
負荷軽減の制御もきめ細かく行える。
【0031】スーパバイザ11 が混んでいる場合は、割
込要求IRQ0 は合理的な時間内には受け付けられな
い。その結果、比較回路48 では時間t1 に相当する計
数値を検出したことによりビジー信号BSY1 を出力す
る。但し、この第2実施例では計数値そのものがスーパ
バイザ11 に取り込まれるので、ビジーか否かの判断も
スーパバイザ11 が独自に行える。従って、本実施例で
は比較回路48 の上記ビジー信号BSY1 を検出する部
分は必ずしも必要はない。しかし、例えばORゲート回
路22を設け、ORゲート回路22の出力により直接に
マスク回路22 のマスクデータの制御を行うような場合
にはビジー信号BSY1 は有用である。
込要求IRQ0 は合理的な時間内には受け付けられな
い。その結果、比較回路48 では時間t1 に相当する計
数値を検出したことによりビジー信号BSY1 を出力す
る。但し、この第2実施例では計数値そのものがスーパ
バイザ11 に取り込まれるので、ビジーか否かの判断も
スーパバイザ11 が独自に行える。従って、本実施例で
は比較回路48 の上記ビジー信号BSY1 を検出する部
分は必ずしも必要はない。しかし、例えばORゲート回
路22を設け、ORゲート回路22の出力により直接に
マスク回路22 のマスクデータの制御を行うような場合
にはビジー信号BSY1 は有用である。
【0032】更に、CPU1に障害がある場合は割込要
求IRQ0 は何時までたっても受け付けられない。その
結果、比較回路48 では時間t2 に相当する計数値を検
出したことによりアラーム信号ALM1 を出力する。ア
ラーム信号ALM1 はORゲート回路21を介してCP
U1の動作を強制的に停止させる。一方、監視部5にお
いて、FF56 は割込受付信号IAK0 によりセットさ
れる。カウンタ57 はFF56 の出力Q=1によりカウ
ントイネーブルとなり、マスタクロック信号MCKの計
数を開始する。
求IRQ0 は何時までたっても受け付けられない。その
結果、比較回路48 では時間t2 に相当する計数値を検
出したことによりアラーム信号ALM1 を出力する。ア
ラーム信号ALM1 はORゲート回路21を介してCP
U1の動作を強制的に停止させる。一方、監視部5にお
いて、FF56 は割込受付信号IAK0 によりセットさ
れる。カウンタ57 はFF56 の出力Q=1によりカウ
ントイネーブルとなり、マスタクロック信号MCKの計
数を開始する。
【0033】CPU1が混んでいない場合は、割込要求
IRQ0 に対応する割込タスクITSK0 は合理的な時
間内に実行に移される。これにより割込タスクITSK
0 はまず共通バス8を介してカウンタ57 の計数値を読
み込み、しかる後、プログラムリセット信号PR3 を発
生してFF56 及びカウンタ57 をリセットする。読み
込んだ計数値の値はCPU1の負荷状態に応じてその都
度様々な値をとり得るのでスーパバイザ11 は該計数値
に基づきCPU1の負荷状態をきめ細かく判断できる。
従って、本実施例では負荷軽減の制御もきめ細かく行え
る。
IRQ0 に対応する割込タスクITSK0 は合理的な時
間内に実行に移される。これにより割込タスクITSK
0 はまず共通バス8を介してカウンタ57 の計数値を読
み込み、しかる後、プログラムリセット信号PR3 を発
生してFF56 及びカウンタ57 をリセットする。読み
込んだ計数値の値はCPU1の負荷状態に応じてその都
度様々な値をとり得るのでスーパバイザ11 は該計数値
に基づきCPU1の負荷状態をきめ細かく判断できる。
従って、本実施例では負荷軽減の制御もきめ細かく行え
る。
【0034】CPU1が混んでいる場合は、割込タスク
ITSK0 は合理的な時間内には実行に移されない。そ
の結果、比較回路58 では時間t3 に相当する計数値を
検出したことによりビジー信号BSY2 を出力する。但
し、ビジー信号BSY2 の用い方は上記と同様で良い。
CPU1に障害がある場合は、割込タスクITSK0 は
何時までたっても実行に移されない。その結果、比較回
路58 では時間t4 に相当する計数値を検出したことに
よりアラーム信号ALM2 を出力する。アラーム信号A
LM2 はORゲート回路21を介してCPU1の動作を
強制的に停止させる。
ITSK0 は合理的な時間内には実行に移されない。そ
の結果、比較回路58 では時間t3 に相当する計数値を
検出したことによりビジー信号BSY2 を出力する。但
し、ビジー信号BSY2 の用い方は上記と同様で良い。
CPU1に障害がある場合は、割込タスクITSK0 は
何時までたっても実行に移されない。その結果、比較回
路58 では時間t4 に相当する計数値を検出したことに
よりアラーム信号ALM2 を出力する。アラーム信号A
LM2 はORゲート回路21を介してCPU1の動作を
強制的に停止させる。
【0035】かくして、この第2実施例によればカウン
タを用いる構成によりCPU1のきめ細かな負荷検出及
び負荷管理が行える。図4は第3実施例の構成を示す図
で、この第3実施例は本発明のマルチプロセッサ方式へ
の適用例を示している。図において、1a ,1b はマル
チプログラミング方式のCPU、2a ,2b は割込制御
部(INTC)、3a ,3b は割込発生部(IG)、6
1 〜6n はシリアル通信制御部(SCC)、CH1 〜C
Hn はその通信チャネル、7は割込バス(IB)、
8a ,8b は夫々CPU1a ,1b の共通バス(C
B)、9は拡張バス(EB)、10はCPU1a ,1b
の負荷及び障害状態の検出を行うCPU管理部、1
1a ,11b は共通バス8a ,8b と拡張バス9との間
の接続制御を行うバスインタフェース(BIF)、12
は拡張バス9の使用権を調停する調停バス(AB)、1
3はバス調停部(ABT)である。
タを用いる構成によりCPU1のきめ細かな負荷検出及
び負荷管理が行える。図4は第3実施例の構成を示す図
で、この第3実施例は本発明のマルチプロセッサ方式へ
の適用例を示している。図において、1a ,1b はマル
チプログラミング方式のCPU、2a ,2b は割込制御
部(INTC)、3a ,3b は割込発生部(IG)、6
1 〜6n はシリアル通信制御部(SCC)、CH1 〜C
Hn はその通信チャネル、7は割込バス(IB)、
8a ,8b は夫々CPU1a ,1b の共通バス(C
B)、9は拡張バス(EB)、10はCPU1a ,1b
の負荷及び障害状態の検出を行うCPU管理部、1
1a ,11b は共通バス8a ,8b と拡張バス9との間
の接続制御を行うバスインタフェース(BIF)、12
は拡張バス9の使用権を調停する調停バス(AB)、1
3はバス調停部(ABT)である。
【0036】CPU1a ,1b は通常はシリアル通信制
御部61 〜6n の全負荷を公平に分担している。即ち、
割込制御部2a はCPU1a からのマスクデータの設定
により割込要求IRQ1 〜IRQn の内の前半部分を受
け付ける。一方、割込制御部2b はCPU1b からのマ
スクデータの設定により割込要求IRQ1 〜IRQnの
内の後半部分を受け付ける。
御部61 〜6n の全負荷を公平に分担している。即ち、
割込制御部2a はCPU1a からのマスクデータの設定
により割込要求IRQ1 〜IRQn の内の前半部分を受
け付ける。一方、割込制御部2b はCPU1b からのマ
スクデータの設定により割込要求IRQ1 〜IRQnの
内の後半部分を受け付ける。
【0037】CPU1a は自己の共通バス8a を常時ア
クセス可能である。一方、CPU1 a が拡張バス9にア
クセスする場合は調停バス12にバス要求信号BRQa
を出力する。バス調停部13は拡張バス9がCPU1b
により使用中(ビジー)でなければCPU1a にバス許
可信号BAKa を返送する。これを受けたCPU1aは
BIF11a を付勢し、共通バス8a を拡張バス9に接
続する。
クセス可能である。一方、CPU1 a が拡張バス9にア
クセスする場合は調停バス12にバス要求信号BRQa
を出力する。バス調停部13は拡張バス9がCPU1b
により使用中(ビジー)でなければCPU1a にバス許
可信号BAKa を返送する。これを受けたCPU1aは
BIF11a を付勢し、共通バス8a を拡張バス9に接
続する。
【0038】この状態では、CPU1a は例えばアドレ
スバスにSCC61 〜6n の装置アドレスを指定するこ
とでSCC61 〜6n の内の何れか一つをアクセスでき
る。またCPU管理部10に割り当てられた装置アドレ
スを指定することでCPU管理部10へのコマンドデー
タ(プログラムリセット等)の書込、CPU管理部10
からの計数値データやステータスデータ(ビジー,アラ
ーム)の読出が可能である。CPU1b についても同様
である。
スバスにSCC61 〜6n の装置アドレスを指定するこ
とでSCC61 〜6n の内の何れか一つをアクセスでき
る。またCPU管理部10に割り当てられた装置アドレ
スを指定することでCPU管理部10へのコマンドデー
タ(プログラムリセット等)の書込、CPU管理部10
からの計数値データやステータスデータ(ビジー,アラ
ーム)の読出が可能である。CPU1b についても同様
である。
【0039】図5は第3実施例のCPU管理部のブロッ
ク図で、図において10はCPU管理部、101 ,10
2 はフリップフロップ回路(FF)、103 はセレクタ
(SEL)、104 は加算回路、105 はRAMカウン
タ、106 はANDゲート回路(A)、107 はカウン
タ(CTR)、108 はコンパレータ(CMP)、10
9 はインストラクションレジスタ(IR)、1010はデ
コーダ(DEC)、1011はフリップフロップ(F
F)、1012,1013は3ステートのドライバ回路
(D)、1014はデコーダ(DEC)、1015〜1018
はコンパレータ(CMP)、1021〜1024,1031〜
1034はフリップフロップ(FF)である。
ク図で、図において10はCPU管理部、101 ,10
2 はフリップフロップ回路(FF)、103 はセレクタ
(SEL)、104 は加算回路、105 はRAMカウン
タ、106 はANDゲート回路(A)、107 はカウン
タ(CTR)、108 はコンパレータ(CMP)、10
9 はインストラクションレジスタ(IR)、1010はデ
コーダ(DEC)、1011はフリップフロップ(F
F)、1012,1013は3ステートのドライバ回路
(D)、1014はデコーダ(DEC)、1015〜1018
はコンパレータ(CMP)、1021〜1024,1031〜
1034はフリップフロップ(FF)である。
【0040】RAMカウンタ105 の全内容はCPU1
a /CPU1b からの指令により予めクリアされてい
る。FF101 は割込制御部2a からの割込受付信号I
AK0aによりセットされ、しかる後、割込タスクITS
K0aの実行においてCPU1aにより生成されるプログ
ラムリセット信号PR3aによりリセットされる。FF1
02 は割込制御部2b からの割込受付信号IAK0bによ
りセットされ、しかる後、割込タスクITSK0bの実行
においてCPU1b により生成されるプログラムリセッ
ト信号PR3bによりリセットされる。
a /CPU1b からの指令により予めクリアされてい
る。FF101 は割込制御部2a からの割込受付信号I
AK0aによりセットされ、しかる後、割込タスクITS
K0aの実行においてCPU1aにより生成されるプログ
ラムリセット信号PR3aによりリセットされる。FF1
02 は割込制御部2b からの割込受付信号IAK0bによ
りセットされ、しかる後、割込タスクITSK0bの実行
においてCPU1b により生成されるプログラムリセッ
ト信号PR3bによりリセットされる。
【0041】カウンタ107 はマスタクロック信号MC
Kによりサイクリック(この例では0,1,2,3,
0,1,2,3,…の如く)にカウントアップしてい
る。カウンタ107 のカウント出力Q(この例では2ビ
ット)はセレクタ103 の選択入力とRAMカウンタ1
05 のアドレス入力とに加えられる。カウント出力Q=
0の時はRAMカウンタ105 のアドレス0からカウン
トデータCDR0=0が読み出される。一方、セレクタ1
03 はこの時点で割込要求信号IRQ0aを選択出力して
いる。加算回路104 は、IRQ0a=0の場合はCD R0
=0に0を加算し、書込カウントデータCDW0=0を形
成する。またIRQ0a=1の場合はCDR0=0に1を加
算し、書込カウントデータCDW0=1を形成する。即
ち、カウントデータCDR0はIRQ0a=1の場合は+1
され、IRQ0a=0の場合はその値を保持する。
Kによりサイクリック(この例では0,1,2,3,
0,1,2,3,…の如く)にカウントアップしてい
る。カウンタ107 のカウント出力Q(この例では2ビ
ット)はセレクタ103 の選択入力とRAMカウンタ1
05 のアドレス入力とに加えられる。カウント出力Q=
0の時はRAMカウンタ105 のアドレス0からカウン
トデータCDR0=0が読み出される。一方、セレクタ1
03 はこの時点で割込要求信号IRQ0aを選択出力して
いる。加算回路104 は、IRQ0a=0の場合はCD R0
=0に0を加算し、書込カウントデータCDW0=0を形
成する。またIRQ0a=1の場合はCDR0=0に1を加
算し、書込カウントデータCDW0=1を形成する。即
ち、カウントデータCDR0はIRQ0a=1の場合は+1
され、IRQ0a=0の場合はその値を保持する。
【0042】同様にして、アドレス1のカウントデータ
CDR1はFF101 の出力Qの1/0に、アドレス2の
カウントデータCDR2は割込要求信号IRQ0bの1/0
に、アドレス3のカウントデータCDR3はFF102 の
出力Qの1/0に、夫々対応して+1され、又はその内
容を保持する。例えば割込発生部3a の割込要求信号I
RQ0a=1になるとRAMカウンタ105 のカウントデ
ータCDR0はカウントアップを開始する。CPU1a の
スーパバイザ11aが混んでいない場合は割込要求IRQ
0aは合理的な時間内に受け付けられる。即ち、割込要求
信号IRQ0a=1は割込受付信号IAK0aによりリセッ
トされ、これによりカウントデータCDR0はカウントア
ップを停止する。
CDR1はFF101 の出力Qの1/0に、アドレス2の
カウントデータCDR2は割込要求信号IRQ0bの1/0
に、アドレス3のカウントデータCDR3はFF102 の
出力Qの1/0に、夫々対応して+1され、又はその内
容を保持する。例えば割込発生部3a の割込要求信号I
RQ0a=1になるとRAMカウンタ105 のカウントデ
ータCDR0はカウントアップを開始する。CPU1a の
スーパバイザ11aが混んでいない場合は割込要求IRQ
0aは合理的な時間内に受け付けられる。即ち、割込要求
信号IRQ0a=1は割込受付信号IAK0aによりリセッ
トされ、これによりカウントデータCDR0はカウントア
ップを停止する。
【0043】スーパバイザ11aの割込受付処理は割込要
求IRQ0aを受け付けた際に共通バス8a を拡張バス9
に接続してRAMカウンタ105 のカウントデータCD
R0を読み込む。カウントデータCDR0の読込は、例えば
アドレスバスにCPU管理部10の装置アドレス及びR
AMカウンタ105 に対するサブアドレス0を指定し、
かつ制御バスにリード信号を送ることで行う。
求IRQ0aを受け付けた際に共通バス8a を拡張バス9
に接続してRAMカウンタ105 のカウントデータCD
R0を読み込む。カウントデータCDR0の読込は、例えば
アドレスバスにCPU管理部10の装置アドレス及びR
AMカウンタ105 に対するサブアドレス0を指定し、
かつ制御バスにリード信号を送ることで行う。
【0044】CPU管理部10の装置アドレス及びリー
ド信号は不図示のデコーダでデコードされ、パルス信号
WRDを発生させる。これによりFF1011がセットさ
れ、拡張バス13の使用の延長信号EXTを生成する。
またパルス信号WRDによりIR109 にサブアドレス
I2 =0及びリードの旨の指令情報がセットされる。コ
ンパレータ108 はIR109 のサブアドレスI2 =0
とカウンタ107 のカウント値とを比較し、A=Bであ
るとデコーダ1010を付勢する。デコーダ10 10はIR
109 の指令I1 (=リード)に従ってA=Bのタイミ
ングにリードゲート信号RDGを出力する。これにより
ドライバ回路102 が付勢され、カウントデータCDR0
の内容がCPU1a に読み込まれる。
ド信号は不図示のデコーダでデコードされ、パルス信号
WRDを発生させる。これによりFF1011がセットさ
れ、拡張バス13の使用の延長信号EXTを生成する。
またパルス信号WRDによりIR109 にサブアドレス
I2 =0及びリードの旨の指令情報がセットされる。コ
ンパレータ108 はIR109 のサブアドレスI2 =0
とカウンタ107 のカウント値とを比較し、A=Bであ
るとデコーダ1010を付勢する。デコーダ10 10はIR
109 の指令I1 (=リード)に従ってA=Bのタイミ
ングにリードゲート信号RDGを出力する。これにより
ドライバ回路102 が付勢され、カウントデータCDR0
の内容がCPU1a に読み込まれる。
【0045】読み込まれたカウントデータCDR0の内容
はCPU1a の負荷状態に応じてその都度様々な値をと
り得るのでスーパバイザ11aは該カウントデータCDR0
の内容に基づきCPU1a の負荷状態をきめ細かく判断
できる。従って、必要ならCPU1a は独自の負荷軽減
の制御をきめ細かく行える。カウントデータCDR0の内
容はCPU1a からのリセットコマンドにより上記読取
の場合と同様の制御でクリアされる。即ち、この場合は
カウントデータCD R0が読み出されたタイミングにデコ
ーダ1010からゲート信号CLが発生し、RAMカウン
タ105 への書込カウントデータCDW0を強制的に0に
する。以上はCPU1b についても同様である。
はCPU1a の負荷状態に応じてその都度様々な値をと
り得るのでスーパバイザ11aは該カウントデータCDR0
の内容に基づきCPU1a の負荷状態をきめ細かく判断
できる。従って、必要ならCPU1a は独自の負荷軽減
の制御をきめ細かく行える。カウントデータCDR0の内
容はCPU1a からのリセットコマンドにより上記読取
の場合と同様の制御でクリアされる。即ち、この場合は
カウントデータCD R0が読み出されたタイミングにデコ
ーダ1010からゲート信号CLが発生し、RAMカウン
タ105 への書込カウントデータCDW0を強制的に0に
する。以上はCPU1b についても同様である。
【0046】一方、CPU1a ,CPU1b が混んでい
る場合はRAMカウンタ105 の各カウントアップが進
む。デコーダ1014はカウンタ107 のカウント出力Q
の値に応じて順に位相の異なるパルス信号φ0 〜φ3 を
出力している。この状態で、コンパレータ1015はRA
Mカウンタ105 の各カウントデータCDR と時間t1
に対応する所定値とを比較しており、A>Bの場合はH
IGHレベルを出力する。そして、パルス信号φ0 =1
のタイミングにA>Bを満足するとFF1021の出力Q
(ビジー信号BSY1a)=1となる。またパルス信号φ
2 =1のタイミングにA>Bを満足するとFF1023の
出力Q(ビジー信号BSY1b)=1となる。
る場合はRAMカウンタ105 の各カウントアップが進
む。デコーダ1014はカウンタ107 のカウント出力Q
の値に応じて順に位相の異なるパルス信号φ0 〜φ3 を
出力している。この状態で、コンパレータ1015はRA
Mカウンタ105 の各カウントデータCDR と時間t1
に対応する所定値とを比較しており、A>Bの場合はH
IGHレベルを出力する。そして、パルス信号φ0 =1
のタイミングにA>Bを満足するとFF1021の出力Q
(ビジー信号BSY1a)=1となる。またパルス信号φ
2 =1のタイミングにA>Bを満足するとFF1023の
出力Q(ビジー信号BSY1b)=1となる。
【0047】また、コンパレータ1016はRAMカウン
タ105 の各カウントデータCDRと時間t2 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ1 =1のタイミ
ングにA>Bを満足するとFF1022の出力Q(ビジー
信号BSY2a)=1となる。またパルス信号φ3 =1の
タイミングにA>Bを満足するとFF1024の出力Q
(ビジー信号BSY2b)=1となる。
タ105 の各カウントデータCDRと時間t2 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ1 =1のタイミ
ングにA>Bを満足するとFF1022の出力Q(ビジー
信号BSY2a)=1となる。またパルス信号φ3 =1の
タイミングにA>Bを満足するとFF1024の出力Q
(ビジー信号BSY2b)=1となる。
【0048】更に、コンパレータ1017はRAMカウン
タ105 の各カウントデータCDRと時間t3 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ0 =1のタイミ
ングにA>Bを満足するとFF1031の出力Q(アラー
ム信号ALM1a)=1となる。またパルス信号φ2 =1
のタイミングにA>Bを満足するとFF1033の出力Q
(アラーム信号ALM 1b)=1となる。
タ105 の各カウントデータCDRと時間t3 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ0 =1のタイミ
ングにA>Bを満足するとFF1031の出力Q(アラー
ム信号ALM1a)=1となる。またパルス信号φ2 =1
のタイミングにA>Bを満足するとFF1033の出力Q
(アラーム信号ALM 1b)=1となる。
【0049】また、コンパレータ1018はRAMカウン
タ105 の各カウントデータCDRと時間t4 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ1 =1のタイミ
ングにA>Bを満足するとFF1033の出力Q(アラー
ム信号ALM1b)=1となる。またパルス信号φ3 =1
のタイミングにA>Bを満足するとFF1034の出力Q
(アラーム信号ALM 2b)=1となる。
タ105 の各カウントデータCDRと時間t4 に対応す
る所定値とを比較しており、A>Bの場合はHIGHレ
ベルを出力する。そして、パルス信号φ1 =1のタイミ
ングにA>Bを満足するとFF1033の出力Q(アラー
ム信号ALM1b)=1となる。またパルス信号φ3 =1
のタイミングにA>Bを満足するとFF1034の出力Q
(アラーム信号ALM 2b)=1となる。
【0050】この状態で、CPU1a ,CPU1b は任
意の時点にステータスデータ(BSY1a〜ALM2b)を
読み込むことが可能である。ステータスデータの読込
は、例えばアドレスバスにCPU管理部10のもう一つ
の装置アドレスを指定し、かつ制御バスにリード信号を
送ることで行う。この場合はゲート信号RDの発生によ
り直ちにドライバ回路1013が付勢され、ステータスデ
ータがCPU1a 又はCPU1b に読み込まれる。
意の時点にステータスデータ(BSY1a〜ALM2b)を
読み込むことが可能である。ステータスデータの読込
は、例えばアドレスバスにCPU管理部10のもう一つ
の装置アドレスを指定し、かつ制御バスにリード信号を
送ることで行う。この場合はゲート信号RDの発生によ
り直ちにドライバ回路1013が付勢され、ステータスデ
ータがCPU1a 又はCPU1b に読み込まれる。
【0051】この第3実施例によれば、CPU1a ,C
PU1b は共通のステータスデータを監視することによ
りに負荷の相互分散制御を行える。即ち、例えばCPU
1bに障害が発生するとそのステータスデータはビジー
信号BSY1b,BSY2b=1、かつアラーム信号ALM
1b,ALM2b=1となる。この場合のCPU1a は読み
取ったステータスデータの内のアラーム信号ALM1b/
ALM2b=1に着目し、自ら全負荷を負担するように変
化する。即ち、割込制御部2a はCPU1a からのマス
クデータの設定により割込要求IRQ1 〜IRQn の全
部を受け付けるように変化する。一方、CPU1b はA
LM1b/ALM2b=1になった時点でその動作を停止さ
れている。CPU1a に障害が発生した場合は上記の逆
である。
PU1b は共通のステータスデータを監視することによ
りに負荷の相互分散制御を行える。即ち、例えばCPU
1bに障害が発生するとそのステータスデータはビジー
信号BSY1b,BSY2b=1、かつアラーム信号ALM
1b,ALM2b=1となる。この場合のCPU1a は読み
取ったステータスデータの内のアラーム信号ALM1b/
ALM2b=1に着目し、自ら全負荷を負担するように変
化する。即ち、割込制御部2a はCPU1a からのマス
クデータの設定により割込要求IRQ1 〜IRQn の全
部を受け付けるように変化する。一方、CPU1b はA
LM1b/ALM2b=1になった時点でその動作を停止さ
れている。CPU1a に障害が発生した場合は上記の逆
である。
【0052】更に、例えばビジー信号BSY1a及びBS
Y2a=0で、かつビジー信号BSY 1b又はBSY2b=1
になっている場合は、例えばCPU1a が全負荷の2/
3を負担し、CPU1b が残りの1/3を負担するよう
に変化することが可能である。またビジー信号BSY1b
及びBSY2b=0で、かつビジー信号BSY1a又はBS
Y2a=1になっている場合は、CPU1b が全負荷の2
/3を負担し、CPU1a が残りの1/3を負担するよ
うに変化することが可能である。
Y2a=0で、かつビジー信号BSY 1b又はBSY2b=1
になっている場合は、例えばCPU1a が全負荷の2/
3を負担し、CPU1b が残りの1/3を負担するよう
に変化することが可能である。またビジー信号BSY1b
及びBSY2b=0で、かつビジー信号BSY1a又はBS
Y2a=1になっている場合は、CPU1b が全負荷の2
/3を負担し、CPU1a が残りの1/3を負担するよ
うに変化することが可能である。
【0053】この場合に、CPU1b は自分の負荷が軽
減されると(即ち、内部処理が進むと)プログラムリセ
ット信号PR1bを出力し、FF1023,FF1024をリ
セットする。このリセットは延長信号EXTを出力する
ことなく、直ちに行われる。またCPU1a は自分の負
荷が軽減されるとプログラムリセット信号PR1aを出力
し、FF1021,FF1022をリセットする。いずれの
場合もビジー信号がリセットされれば、負荷分担は公平
の1/2に戻る。
減されると(即ち、内部処理が進むと)プログラムリセ
ット信号PR1bを出力し、FF1023,FF1024をリ
セットする。このリセットは延長信号EXTを出力する
ことなく、直ちに行われる。またCPU1a は自分の負
荷が軽減されるとプログラムリセット信号PR1aを出力
し、FF1021,FF1022をリセットする。いずれの
場合もビジー信号がリセットされれば、負荷分担は公平
の1/2に戻る。
【0054】なお、上記のステータスデータを不図示の
ROM等によりエンコードし、その出力で割込制御部2
a ,2b のマスク回路22a,22bのマスクデータを直接
に変更するように構成しても良い。こうすればCPU1
a ,CPU1b 間における負荷分担の同期化制御が簡単
になる。又は、CPU管理部10内に管理専用のCPU
を備え、CPU1a ,CPU1 b に対する負荷分散制御
をよりきめ細かく行うように構成しても良い。
ROM等によりエンコードし、その出力で割込制御部2
a ,2b のマスク回路22a,22bのマスクデータを直接
に変更するように構成しても良い。こうすればCPU1
a ,CPU1b 間における負荷分担の同期化制御が簡単
になる。又は、CPU管理部10内に管理専用のCPU
を備え、CPU1a ,CPU1 b に対する負荷分散制御
をよりきめ細かく行うように構成しても良い。
【0055】また、上記実施例ではCPU1はマルチプ
ログラミング方式によるものであったが、本発明はシン
グルプログラミング方式のCPUにも適用できる。ま
た、上記本発明に好適なる複数の実施例を述べたが、本
発明思想を逸脱しない範囲内で、構成、組み合わせ及び
制御手順の様々な変更が行えることは言うまでも無い。
ログラミング方式によるものであったが、本発明はシン
グルプログラミング方式のCPUにも適用できる。ま
た、上記本発明に好適なる複数の実施例を述べたが、本
発明思想を逸脱しない範囲内で、構成、組み合わせ及び
制御手順の様々な変更が行えることは言うまでも無い。
【0056】
【発明の効果】以上述べた如く本発明のCPUの監視及
び負荷制御方式は、上記構成であるので、簡単な構成に
よりCPUの負荷状態や過負状態荷の適正な検出、ひい
ては障害の検出、及び負荷分担の適正な制御を効率的に
行える。
び負荷制御方式は、上記構成であるので、簡単な構成に
よりCPUの負荷状態や過負状態荷の適正な検出、ひい
ては障害の検出、及び負荷分担の適正な制御を効率的に
行える。
【図1】図1は本発明の原理を説明する図である。
【図2】図2は第1実施例の構成を示す図である。
【図3】図3は第2実施例の構成を示す図である。
【図4】図4は第3実施例の構成を示す図である。
【図5】図5は第3実施例のCPU管理部のブロック図
である。
である。
1a ,1b CPU 2a ,2b 割込制御部 3a ,3b 割込発生部 61 〜6n I/O制御部 10 CPU管理部
Claims (10)
- 【請求項1】 複数の外部割込を優先順に受け付けるC
PUの監視方式において、 CPUに対して外部割込を定期的に入力し、その割込要
求から割込受付までの時間を監視することによりCPU
の負荷状態を検出することを特徴とするCPUの監視方
式。 - 【請求項2】 前記時間が第1の所定時間を超えたこと
によりCPUの過負荷状態を検出することを特徴とする
請求項1のCPUの監視方式。 - 【請求項3】 前記時間が前記第1よりも長い第2の所
定時間を超えたことによりCPUの障害状態を検出する
ことを特徴とする請求項2のCPUの監視方式。 - 【請求項4】 複数の外部割込を受け付け、その割込ベ
クトルを一旦待ち行列にプールし、優先順に割込処理を
実行するCPUの監視方式において、 CPUに対して外部割込を定期的に入力し、その割込受
付から割込処理実行までの時間を監視することによりC
PUの負荷状態を検出することを特徴とするCPUの監
視方式。 - 【請求項5】 前記時間が第3の所定時間を超えたこと
によりCPUの過負荷状態を検出することを特徴とする
請求項4のCPUの監視方式。 - 【請求項6】 前記時間が前記第3よりも長い第4の所
定時間を超えたことによりCPUの障害状態を検出する
ことを特徴とする請求項5のCPUの監視方式。 - 【請求項7】 前記所定時間をワンショットマルチバイ
ブレータ回路により生成するように構成したことを特徴
とする請求項2,3又は5,6のCPUの監視方式。 - 【請求項8】 前記時間をカウンタにより計数するよう
に構成したことを特徴とする請求項1又は4のCPUの
監視方式。 - 【請求項9】 請求項1乃至6の監視機能を備えるCP
Uを複数備え、これらが共通の負荷を分担すると共に、
何れかのCPUで過負荷状態又は障害状態が検出された
ことにより残りのCPUがその負荷を分担するように構
成したことを特徴とするCPUの負荷制御方式。 - 【請求項10】 請求項1乃6の監視機能を一箇所にま
とめ、各時間の監視機能を共通のRAMカウンタにより
構成したことを特徴とする請求項9のCPUの負荷制御
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6182352A JPH0844575A (ja) | 1994-08-03 | 1994-08-03 | Cpuの監視及び負荷制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6182352A JPH0844575A (ja) | 1994-08-03 | 1994-08-03 | Cpuの監視及び負荷制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0844575A true JPH0844575A (ja) | 1996-02-16 |
Family
ID=16116816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6182352A Withdrawn JPH0844575A (ja) | 1994-08-03 | 1994-08-03 | Cpuの監視及び負荷制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0844575A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060963A (ko) * | 1999-03-22 | 2000-10-16 | 김영환 | 디지털 이동통신 시스템의 데이터 전송 자동 차단 방법 |
JP2011180767A (ja) * | 2010-02-26 | 2011-09-15 | Kyocera Mita Corp | 半導体装置 |
CN102207889A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 命令控制方法和命令控制器 |
US8191064B2 (en) | 2007-07-25 | 2012-05-29 | Lenovo (Beijing) Limited | Method and device for scheduling true CPU resources for a virtual machine system |
JP2013254333A (ja) * | 2012-06-06 | 2013-12-19 | Hitachi Ltd | 多重系制御システム及びその制御方法 |
WO2016017219A1 (ja) * | 2014-07-31 | 2016-02-04 | 三菱電機株式会社 | データ処理システム及びデータ処理方法及びプログラム |
CN106649042A (zh) * | 2016-12-28 | 2017-05-10 | 深圳市深信服电子科技有限公司 | 一种cpu负载信息的处理方法及处理装置 |
CN109918223A (zh) * | 2019-05-06 | 2019-06-21 | 深圳市钮为通信技术有限公司 | Cpu复位监控装置 |
JP2021124910A (ja) * | 2020-02-04 | 2021-08-30 | 株式会社デンソー | 電子制御装置 |
-
1994
- 1994-08-03 JP JP6182352A patent/JPH0844575A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060963A (ko) * | 1999-03-22 | 2000-10-16 | 김영환 | 디지털 이동통신 시스템의 데이터 전송 자동 차단 방법 |
US8191064B2 (en) | 2007-07-25 | 2012-05-29 | Lenovo (Beijing) Limited | Method and device for scheduling true CPU resources for a virtual machine system |
JP2011180767A (ja) * | 2010-02-26 | 2011-09-15 | Kyocera Mita Corp | 半導体装置 |
CN102207889A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 命令控制方法和命令控制器 |
JP2013254333A (ja) * | 2012-06-06 | 2013-12-19 | Hitachi Ltd | 多重系制御システム及びその制御方法 |
WO2016017219A1 (ja) * | 2014-07-31 | 2016-02-04 | 三菱電機株式会社 | データ処理システム及びデータ処理方法及びプログラム |
CN106649042A (zh) * | 2016-12-28 | 2017-05-10 | 深圳市深信服电子科技有限公司 | 一种cpu负载信息的处理方法及处理装置 |
CN106649042B (zh) * | 2016-12-28 | 2019-08-06 | 深信服科技股份有限公司 | 一种cpu负载信息的处理方法及处理装置 |
CN109918223A (zh) * | 2019-05-06 | 2019-06-21 | 深圳市钮为通信技术有限公司 | Cpu复位监控装置 |
JP2021124910A (ja) * | 2020-02-04 | 2021-08-30 | 株式会社デンソー | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5974439A (en) | Resource sharing between real-time and general purpose programs | |
US5448732A (en) | Multiprocessor system and process synchronization method therefor | |
US8245236B2 (en) | Lock based moving of threads in a shared processor partitioning environment | |
US6823516B1 (en) | System and method for dynamically adjusting to CPU performance changes | |
KR100911796B1 (ko) | 하드웨어 지원을 갖는 다중 프로세서 및 다중 스레드 안전메시지 큐 | |
US7996843B2 (en) | Symmetric multi-processor system | |
EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
US7103631B1 (en) | Symmetric multi-processor system | |
US20140026143A1 (en) | Exclusive access control method and computer product | |
US7035277B1 (en) | Priority-based arbitration system for context switching applications | |
JPH0844575A (ja) | Cpuの監視及び負荷制御方式 | |
US6990669B1 (en) | Real-time scheduler | |
US6981081B2 (en) | Method for SMI arbitration timeliness in a cooperative SMI/driver use mechanism | |
Zuepke et al. | Fast user space priority switching | |
JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
Betti et al. | Hard real-time performances in multiprocessor-embedded systems using asmp-linux | |
US20230305872A1 (en) | Efficient central processing unit overcommit for virtual machines with symmetric multi-processing | |
US20240134669A1 (en) | Paravirtual pause loops in guest user space | |
JP2000066910A (ja) | タスクスケジューリング方法及び記録媒体 | |
JPH07244595A (ja) | プロセススイッチ制御装置およびプロセス制御方法 | |
Yan et al. | Process Management of Linux in Embedded System Based on Priority-Driven Tactics | |
CN117453413A (zh) | 资源申请方法、装置、电子设备以及存储介质 | |
JPH09223106A (ja) | 排他制御システム | |
JPS63118947A (ja) | シングルチツプマイクロコンピユ−タ | |
JPS5935454B2 (ja) | 優先順位決定方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20011106 |