JPH07160656A - 外部割込み制御方法 - Google Patents
外部割込み制御方法Info
- Publication number
- JPH07160656A JPH07160656A JP5311700A JP31170093A JPH07160656A JP H07160656 A JPH07160656 A JP H07160656A JP 5311700 A JP5311700 A JP 5311700A JP 31170093 A JP31170093 A JP 31170093A JP H07160656 A JPH07160656 A JP H07160656A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- cpu
- flag
- interruption
- external
- 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)【要約】
【目的】 通信密結合マルチプロセッサシステムにおい
て、大幅な機能拡張を行うことなく、必要となる多様な
割込み処理機能の要求に完全に対応できるようにする。 【構成】 任意の1CPUを割込み先に選択する第1の
割込み通知(制御)機能と、予め指定される特定の1C
PUを割込み先に選択する第2の割込み通知(制御)機
能と、割込み要求に付随する情報で指定される特定の1
CPUを割込み先に選択する第3の割込み通知(制御)
機能と、割込み要求に付随する情報で指定される特定の
1CPUを除く他の全てのCPUを割込み先に選択する
第4の割込み通知(制御)機能と、全てのCPUを割込
み先に選択する第5の割込み通知(制御)機能との全て
ないし一部を備える。そして、割込みベクタ毎に上記の
うちのいずれかを割り当て、実行する。
て、大幅な機能拡張を行うことなく、必要となる多様な
割込み処理機能の要求に完全に対応できるようにする。 【構成】 任意の1CPUを割込み先に選択する第1の
割込み通知(制御)機能と、予め指定される特定の1C
PUを割込み先に選択する第2の割込み通知(制御)機
能と、割込み要求に付随する情報で指定される特定の1
CPUを割込み先に選択する第3の割込み通知(制御)
機能と、割込み要求に付随する情報で指定される特定の
1CPUを除く他の全てのCPUを割込み先に選択する
第4の割込み通知(制御)機能と、全てのCPUを割込
み先に選択する第5の割込み通知(制御)機能との全て
ないし一部を備える。そして、割込みベクタ毎に上記の
うちのいずれかを割り当て、実行する。
Description
【0001】
【産業上の利用分野】本発明は、汎用マイクロプロセッ
サを演算核部として用いる通信処理用密結合マルチプロ
セッサシステムにおいて、必要となる多様な割込み処理
機能要求を完全に対応することが可能な外部割込み制御
方法に関するものである。
サを演算核部として用いる通信処理用密結合マルチプロ
セッサシステムにおいて、必要となる多様な割込み処理
機能要求を完全に対応することが可能な外部割込み制御
方法に関するものである。
【0002】
【従来の技術】従来より、通信処理装置用プロセッサに
は高信頼性および高実時間処理性が求められてきたた
め、独自のアーキテクチャに基づいた専用機が用いられ
てきた。しかし、近年は、通信サービスの普及や拡大に
伴って通信処理装置の経済化の要求が強くなり、通信処
理装置用プロセッサについてもスケールメリットが期待
できる汎用機を適用することが望まれている。一方、通
信サービスの高度化に伴ってプロセッサに対する処理能
力の向上が望まれているが、単一の汎用マイクロプロセ
ッサによるシングルプロセッサ構成では、それらの要求
に応えることは困難である。従来の通信処理用プロセッ
サでは、比較的小さなオーバヘッドで複数のプロセッサ
に負荷分散が可能な疎結合マルチプロセッサ(LCM
P)構成が主として用いられてきたが、LCMP専用の
複雑なソフトウェアによる制御が必要になるという問題
があった。これに対して、密結合マルチプロセッサ(T
CMP)構成のものは、主記憶を複数のCPUで共用す
るので、アクセス競合オーバヘッドにより総合性能がC
PU台数分よりも低下するという問題があり、通信処理
用としてはあまり用いられなかった。
は高信頼性および高実時間処理性が求められてきたた
め、独自のアーキテクチャに基づいた専用機が用いられ
てきた。しかし、近年は、通信サービスの普及や拡大に
伴って通信処理装置の経済化の要求が強くなり、通信処
理装置用プロセッサについてもスケールメリットが期待
できる汎用機を適用することが望まれている。一方、通
信サービスの高度化に伴ってプロセッサに対する処理能
力の向上が望まれているが、単一の汎用マイクロプロセ
ッサによるシングルプロセッサ構成では、それらの要求
に応えることは困難である。従来の通信処理用プロセッ
サでは、比較的小さなオーバヘッドで複数のプロセッサ
に負荷分散が可能な疎結合マルチプロセッサ(LCM
P)構成が主として用いられてきたが、LCMP専用の
複雑なソフトウェアによる制御が必要になるという問題
があった。これに対して、密結合マルチプロセッサ(T
CMP)構成のものは、主記憶を複数のCPUで共用す
るので、アクセス競合オーバヘッドにより総合性能がC
PU台数分よりも低下するという問題があり、通信処理
用としてはあまり用いられなかった。
【0003】しかし、近年、実装技術の進歩により、1
ボードに複数の汎用マイクロプロセッサを搭載して高速
な内部バスを使用することにより、オーバヘッドの低減
が可能となり、処理能力の観点で実用的になったため、
ソフトウェア生産性の向上という点から通信処理用プロ
セッサへ適用することが有望かつ現実的となってきた。
ところで、通信処理用プロセッサにおいては、極めて多
数の入出力デバイス等の制御が必要となるが、汎用マイ
クロプロセッサに内蔵される割込み制御機能だけでは不
十分であるため、独立の外部割込み制御部を付加しなけ
ればならなくなる。複数の汎用マイクロプロセッサによ
るTCMP構成を実現するためには、外部割込み制御部
においてもTCMPに対応する割込み制御機能を備える
必要がある。また、通信処理用として高信頼性、実時間
性を実現するためには、種々の機能が汎用マイクロプロ
セッサ以外の周辺回路に設けられるが、外部割込みの機
能はそれらのシステム制御機能との間のソフトウェアイ
ンタフェースとしての役目を果している。従って、外部
割込み制御部においては、システム制御という点からの
割込み制御機能も備えなければならない。
ボードに複数の汎用マイクロプロセッサを搭載して高速
な内部バスを使用することにより、オーバヘッドの低減
が可能となり、処理能力の観点で実用的になったため、
ソフトウェア生産性の向上という点から通信処理用プロ
セッサへ適用することが有望かつ現実的となってきた。
ところで、通信処理用プロセッサにおいては、極めて多
数の入出力デバイス等の制御が必要となるが、汎用マイ
クロプロセッサに内蔵される割込み制御機能だけでは不
十分であるため、独立の外部割込み制御部を付加しなけ
ればならなくなる。複数の汎用マイクロプロセッサによ
るTCMP構成を実現するためには、外部割込み制御部
においてもTCMPに対応する割込み制御機能を備える
必要がある。また、通信処理用として高信頼性、実時間
性を実現するためには、種々の機能が汎用マイクロプロ
セッサ以外の周辺回路に設けられるが、外部割込みの機
能はそれらのシステム制御機能との間のソフトウェアイ
ンタフェースとしての役目を果している。従って、外部
割込み制御部においては、システム制御という点からの
割込み制御機能も備えなければならない。
【0004】最初に、従来のシングルプロセッサに対応
する外部割込み制御部について述べる。外部割込みの発
生源、つまりプロセッサ内外の種々のシステム資源は、
バスを介して、あるいは個々の信号線を介して、外部割
込み制御部に対してCPUへの割込み発生を要求してく
る。ここでは、これを明確にするために『割込み発生要
求』と呼ぶことにする。割込み発生要求は、外部割込み
制御部で個別のベクタ番号を割り当てられて管理され
る。以下、外部割込み制御部における割込み制御処理動
作を詳述する。外部割込み制御部は、ベクタ毎に割込み
表示(IR)フラグと割込みマスク(IM)フラグを備
えている。いずれかのベクタで割込み発生要求が生じた
場合、当該ベクタに対応するIRフラグがリセットされ
ていると、CPUに対して割込み信号線を介して割込み
を要求すると同時に、当該ベクタに対応するIRフラグ
をセットする。同じ場合に、IMフラグがリセットされ
ていると、CPUに対する割込み信号は抑止して、IR
フラグのセットのみを行う。ここでは、説明を簡単にす
るため、IMフラグの状態による動作の相違を個々に区
別して述べずに、一括して割込み要求と呼ぶことにす
る。IRフラグセット中は、当該ベクタに関する次の割
込み発生要求を受け付けず、当該ベクタからのCPUへ
の次の割込み要求も抑止する。IRフラグは、ソフトウ
ェアからのリセット要求でリセットする。IRフラグの
リセット後は、当該ベクタに関して割込み発生要求の受
け付けと、当該ベクタからのCPUへの割込み要求とが
可能である。IMフラグのセットおよびリセットは、ソ
フトウェアからの要求により行われる。
する外部割込み制御部について述べる。外部割込みの発
生源、つまりプロセッサ内外の種々のシステム資源は、
バスを介して、あるいは個々の信号線を介して、外部割
込み制御部に対してCPUへの割込み発生を要求してく
る。ここでは、これを明確にするために『割込み発生要
求』と呼ぶことにする。割込み発生要求は、外部割込み
制御部で個別のベクタ番号を割り当てられて管理され
る。以下、外部割込み制御部における割込み制御処理動
作を詳述する。外部割込み制御部は、ベクタ毎に割込み
表示(IR)フラグと割込みマスク(IM)フラグを備
えている。いずれかのベクタで割込み発生要求が生じた
場合、当該ベクタに対応するIRフラグがリセットされ
ていると、CPUに対して割込み信号線を介して割込み
を要求すると同時に、当該ベクタに対応するIRフラグ
をセットする。同じ場合に、IMフラグがリセットされ
ていると、CPUに対する割込み信号は抑止して、IR
フラグのセットのみを行う。ここでは、説明を簡単にす
るため、IMフラグの状態による動作の相違を個々に区
別して述べずに、一括して割込み要求と呼ぶことにす
る。IRフラグセット中は、当該ベクタに関する次の割
込み発生要求を受け付けず、当該ベクタからのCPUへ
の次の割込み要求も抑止する。IRフラグは、ソフトウ
ェアからのリセット要求でリセットする。IRフラグの
リセット後は、当該ベクタに関して割込み発生要求の受
け付けと、当該ベクタからのCPUへの割込み要求とが
可能である。IMフラグのセットおよびリセットは、ソ
フトウェアからの要求により行われる。
【0005】ソフトウェア(割込み処理プログラム)
は、ベクタ方式とポーリング方式の2つの割込み制御方
式の選択に関係して、IMフラグを用いる。すなわち、
ベクタ方式の場合には、当該ベクタに対応するIMフラ
グをリセットしておく。外部割込み制御部から割込み要
求がCPUに通知されると、CPUハードウェアにより
割込み処理プログラムに制御が渡される。割込み処理プ
ログラムは割込み受付け処理を終了すると、IRフラグ
をリセットし、次の割込み受付けを可能にする。ポーリ
ング方式の場合には、割込み処理プログラムは予めIM
フラグをセットしておく。割込み処理プログラムは、随
時IRフラグを読み出して、IRフラグがセットされて
いる場合には割込みを検出する。割込みを受け付ける
と、IRフラグをリセットして次の割込み受付けを可能
にする。次に、従来のTCMPにおける割込み制御方法
について述べる。TCMPにおける外部割込み制御方法
としては、固定の1台のCPUに割込みを集中させ、割
込み処理プログラムによる割込み処理を当該CPUで集
中的に処理させる集中方式、データチャネル部や入出
力コントローラ部毎に特定の割込み通知先CPUを予め
設定しておく固定分散方式、あるいは入出力命令等を
発行したCPUの識別情報をデータチャネル部や入出力
コントローラ部等で記憶しておき、当該入出力命令等の
発行元CPUに割込みを行うことにより、割込み処理負
荷の分散を図る起動元通知方式のいずれか行われてき
た。これらの方式を、外部割込み制御部において
実現する方法を以下に述べる。
は、ベクタ方式とポーリング方式の2つの割込み制御方
式の選択に関係して、IMフラグを用いる。すなわち、
ベクタ方式の場合には、当該ベクタに対応するIMフラ
グをリセットしておく。外部割込み制御部から割込み要
求がCPUに通知されると、CPUハードウェアにより
割込み処理プログラムに制御が渡される。割込み処理プ
ログラムは割込み受付け処理を終了すると、IRフラグ
をリセットし、次の割込み受付けを可能にする。ポーリ
ング方式の場合には、割込み処理プログラムは予めIM
フラグをセットしておく。割込み処理プログラムは、随
時IRフラグを読み出して、IRフラグがセットされて
いる場合には割込みを検出する。割込みを受け付ける
と、IRフラグをリセットして次の割込み受付けを可能
にする。次に、従来のTCMPにおける割込み制御方法
について述べる。TCMPにおける外部割込み制御方法
としては、固定の1台のCPUに割込みを集中させ、割
込み処理プログラムによる割込み処理を当該CPUで集
中的に処理させる集中方式、データチャネル部や入出
力コントローラ部毎に特定の割込み通知先CPUを予め
設定しておく固定分散方式、あるいは入出力命令等を
発行したCPUの識別情報をデータチャネル部や入出力
コントローラ部等で記憶しておき、当該入出力命令等の
発行元CPUに割込みを行うことにより、割込み処理負
荷の分散を図る起動元通知方式のいずれか行われてき
た。これらの方式を、外部割込み制御部において
実現する方法を以下に述べる。
【0006】図3は、従来の割込み制御方式のうちの集
中方式による密結合マルチプロセッサシステムの構成例
を示す図、図4は同じく固定分散方式による密結合マル
チプロセッサシステムの構成例を示す図、図5は同じく
起動元通知方式による密結合マルチプロセッサシステム
の構成例を示す図であり、図6は図3における集中方式
による外部割込み制御部の割込み通知動作の概略動作フ
ローチャート、図7は図4、図5における固定分散方式
および起動元通知方式による外部割込み制御部の動作フ
ローチャートである。先ず、集中方式では、図3に示
すように、外部割込み制御部4でCPU1への割込み要
求信号線11を一組だけ備え、特定のCPU1との間だ
けでシングルプロセッサと同等の動作を行うことにより
実現している。なお、10は密結合マルチプロセッサシ
ステム、2は主記憶部、6はCPU共通の外部資源(I
O等)、5はシステムバス、3はメモリバス、13は個
別線割込み信号、12はバスコマンド割込み信号、14
はソフトウェア制御割込み信号である。この場合には、
図6に示すように、割込み発生要求受付けがあると(ス
テップ601)、ベクタ割り付けを行い(ステップ60
2)、特定のCPUへの割込みを行う(ステップ60
3)。
中方式による密結合マルチプロセッサシステムの構成例
を示す図、図4は同じく固定分散方式による密結合マル
チプロセッサシステムの構成例を示す図、図5は同じく
起動元通知方式による密結合マルチプロセッサシステム
の構成例を示す図であり、図6は図3における集中方式
による外部割込み制御部の割込み通知動作の概略動作フ
ローチャート、図7は図4、図5における固定分散方式
および起動元通知方式による外部割込み制御部の動作フ
ローチャートである。先ず、集中方式では、図3に示
すように、外部割込み制御部4でCPU1への割込み要
求信号線11を一組だけ備え、特定のCPU1との間だ
けでシングルプロセッサと同等の動作を行うことにより
実現している。なお、10は密結合マルチプロセッサシ
ステム、2は主記憶部、6はCPU共通の外部資源(I
O等)、5はシステムバス、3はメモリバス、13は個
別線割込み信号、12はバスコマンド割込み信号、14
はソフトウェア制御割込み信号である。この場合には、
図6に示すように、割込み発生要求受付けがあると(ス
テップ601)、ベクタ割り付けを行い(ステップ60
2)、特定のCPUへの割込みを行う(ステップ60
3)。
【0007】次に、固定分散方式では、図4に示すよ
うに、外部割込み制御部4からは各CPU1への割込み
信号線11を個別に設けている。さらに、データチャネ
ル部や入出力コントローラ部に割込み通知先CPUを記
憶するレジスタ等を設けて、割込み発生要求時に付属情
報として外部割込み制御部4に通知し、外部割込み制御
部4で当該情報に基づいて割込み先の選択を行うことに
より実現している。この場合には、図7に示すように、
割込み発生要求を受付けると(ステップ701)、ベク
タ割り付けおよびCPU指定情報を抽出し(ステップ7
02)、指定のCPUへ割込みを行う(ステップ70
3)。次に、起動元通知方式では、図5に示すよう
に、固定分散方式と同じであって、各CPU1への個別
の割込み信号線11と、データチャネル部や入出力コン
トローラ部に割込み通知先CPUを記憶するレジスタ等
を設ける。そして、CPU1から発行される入出力命令
等に付随する割込み通知先CPU情報を記憶し、割込み
発生要求に付随して当該情報を外部割込み制御部4に通
知し、外部割込み制御部4は当該情報に基づいて割込み
先を選択することにより実現している。この場合にも、
図7に示すように、割込み発生要求を受け付けると(ス
テップ701)、ベクタ割り付けおよびCPU指定情報
を抽出し(ステップ702)、指定のCPUに割込みを
行う(ステップ703)。なお、従来文献としては、例
えば『マルチプロセッサと並列処理』PhilipH Ensl
ow.Jr監修、村岡洋一郎訳、昭和51年9月5月近代科学社
発行の第3章中の『マルチ・プロセッサ・オペレーティン
グシステムの構成』の節(pp85〜89)に記載されている。
また、例えば、特公平5-33414号公報の割込み処理方式
における背景と問題点に記載されている。
うに、外部割込み制御部4からは各CPU1への割込み
信号線11を個別に設けている。さらに、データチャネ
ル部や入出力コントローラ部に割込み通知先CPUを記
憶するレジスタ等を設けて、割込み発生要求時に付属情
報として外部割込み制御部4に通知し、外部割込み制御
部4で当該情報に基づいて割込み先の選択を行うことに
より実現している。この場合には、図7に示すように、
割込み発生要求を受付けると(ステップ701)、ベク
タ割り付けおよびCPU指定情報を抽出し(ステップ7
02)、指定のCPUへ割込みを行う(ステップ70
3)。次に、起動元通知方式では、図5に示すよう
に、固定分散方式と同じであって、各CPU1への個別
の割込み信号線11と、データチャネル部や入出力コン
トローラ部に割込み通知先CPUを記憶するレジスタ等
を設ける。そして、CPU1から発行される入出力命令
等に付随する割込み通知先CPU情報を記憶し、割込み
発生要求に付随して当該情報を外部割込み制御部4に通
知し、外部割込み制御部4は当該情報に基づいて割込み
先を選択することにより実現している。この場合にも、
図7に示すように、割込み発生要求を受け付けると(ス
テップ701)、ベクタ割り付けおよびCPU指定情報
を抽出し(ステップ702)、指定のCPUに割込みを
行う(ステップ703)。なお、従来文献としては、例
えば『マルチプロセッサと並列処理』PhilipH Ensl
ow.Jr監修、村岡洋一郎訳、昭和51年9月5月近代科学社
発行の第3章中の『マルチ・プロセッサ・オペレーティン
グシステムの構成』の節(pp85〜89)に記載されている。
また、例えば、特公平5-33414号公報の割込み処理方式
における背景と問題点に記載されている。
【0008】
【発明が解決しようとする課題】従来の外部割込み制御
部でTCMP対応に行う割込み制御機能については、次
のような問題がある。先ず、集中方式では、通信処理
のように割込み処理の負荷が大きいアプリケーションに
おいては、特定の1台のCPUがTCMP全体の処理能
力上のボトルネックとなる可能性があるので、本発明の
利用分野(通信制御処理)には適さない。次に、固定
分散方式では、予めデータチャネル部や入出力コントロ
ーラ部の負荷を想定して各CPUに割り当てを行う必要
があるので、予想と異なる実負荷状況であれば、有効な
負荷分散が行えないという問題がある。プロセッサが実
際に運用される時には、一般に負荷は動的に変化するも
のであるため、固定分散方式では十分な負荷分散が図れ
ないと考えられる。次に、起動元通知方式では、動的
な割込み処理負荷の分散を図る1つの解決案であるが、
CPUに関しては入出力命令にCPU識別情報を付加す
る機能や、入出力命令を認識するデータチャネル部や入
出力コントローラ部に関してはCPUを指定して割込み
を発生する機能等が必要となる。すなわち、外部割込み
制御部のみならず、システム全体にわたる機能の拡張が
必要であるという問題がある。これが、本発明で解決し
ようとする第1の課題となる。
部でTCMP対応に行う割込み制御機能については、次
のような問題がある。先ず、集中方式では、通信処理
のように割込み処理の負荷が大きいアプリケーションに
おいては、特定の1台のCPUがTCMP全体の処理能
力上のボトルネックとなる可能性があるので、本発明の
利用分野(通信制御処理)には適さない。次に、固定
分散方式では、予めデータチャネル部や入出力コントロ
ーラ部の負荷を想定して各CPUに割り当てを行う必要
があるので、予想と異なる実負荷状況であれば、有効な
負荷分散が行えないという問題がある。プロセッサが実
際に運用される時には、一般に負荷は動的に変化するも
のであるため、固定分散方式では十分な負荷分散が図れ
ないと考えられる。次に、起動元通知方式では、動的
な割込み処理負荷の分散を図る1つの解決案であるが、
CPUに関しては入出力命令にCPU識別情報を付加す
る機能や、入出力命令を認識するデータチャネル部や入
出力コントローラ部に関してはCPUを指定して割込み
を発生する機能等が必要となる。すなわち、外部割込み
制御部のみならず、システム全体にわたる機能の拡張が
必要であるという問題がある。これが、本発明で解決し
ようとする第1の課題となる。
【0009】次に、システム制御用割込みに関して考え
る。システム制御用割込みは、各種の周辺回路における
故障検出、ファームウェアの起動および終了、CPU間
通信、実時間制御のための周期処理タイマ等の要因で用
いられる。故障検出割込みは、検出元資源が主記憶部等
のようにCPUに共通のものであるときには、原則的に
任意の1台のCPUで割込み処理を行えばよいが、監視
タイマ等のようにCPU個別に使用されるものであると
きには、対応するCPUで個別に行われる必要がある。
また、ファームウェアには、CPU共通資源を操作対象
にするものと、CPU個別資源を操作対象とするものと
があり、前者については任意のCPUで走行可能である
が、後者については指定されるCPUで走行する必要が
ある。また、CPU間通信は、異なるCPUで並列に走
行しているソフトウェア間での同期機能を与えるもの
で、1対1と1対多の2種類の通信形態がある。また、
周期処理タイマは、周期的に実行するソフトウェアの起
動契機を一定の周期で与えるためのものであり、実時間
性の向上のために全CPUで負荷分散を行うためには、
周期処理タイマからの割込みを全CPUに同時に発生す
る必要がある。このように、TCMPにおけるシステム
制御用としては、従来のように1つのCPUにだけ割込
み通知をかけるだけではなく、多様な割込み通知形態が
必要である。この形態は、従来の外部割込み制御部では
対処することができない。これが、本発明で解決しよう
とする第2の課題である。本発明の目的は、これら従来
の第1、第2の課題をともに解決し、汎用マイクロプロ
セッサを演算核部として用いられる通信処理用密結合マ
ルチプロセッサシステムにおいて、システム全体にわた
る機能を拡張せずに、必要となる多様な割込み処理機能
要求を完全に対応させることが可能な外部割込み制御方
法を提供することにある。
る。システム制御用割込みは、各種の周辺回路における
故障検出、ファームウェアの起動および終了、CPU間
通信、実時間制御のための周期処理タイマ等の要因で用
いられる。故障検出割込みは、検出元資源が主記憶部等
のようにCPUに共通のものであるときには、原則的に
任意の1台のCPUで割込み処理を行えばよいが、監視
タイマ等のようにCPU個別に使用されるものであると
きには、対応するCPUで個別に行われる必要がある。
また、ファームウェアには、CPU共通資源を操作対象
にするものと、CPU個別資源を操作対象とするものと
があり、前者については任意のCPUで走行可能である
が、後者については指定されるCPUで走行する必要が
ある。また、CPU間通信は、異なるCPUで並列に走
行しているソフトウェア間での同期機能を与えるもの
で、1対1と1対多の2種類の通信形態がある。また、
周期処理タイマは、周期的に実行するソフトウェアの起
動契機を一定の周期で与えるためのものであり、実時間
性の向上のために全CPUで負荷分散を行うためには、
周期処理タイマからの割込みを全CPUに同時に発生す
る必要がある。このように、TCMPにおけるシステム
制御用としては、従来のように1つのCPUにだけ割込
み通知をかけるだけではなく、多様な割込み通知形態が
必要である。この形態は、従来の外部割込み制御部では
対処することができない。これが、本発明で解決しよう
とする第2の課題である。本発明の目的は、これら従来
の第1、第2の課題をともに解決し、汎用マイクロプロ
セッサを演算核部として用いられる通信処理用密結合マ
ルチプロセッサシステムにおいて、システム全体にわた
る機能を拡張せずに、必要となる多様な割込み処理機能
要求を完全に対応させることが可能な外部割込み制御方
法を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明の外部割込み制御方法は、起動元通知方式と
同じように、外部割込み制御部から各CPUに個別の割
込み信号線を設けて、種々の割込み通知手段を外部割込
み制御部に備え、必要に応じて単一または複数のCPU
への外部割込みを要求することができるようにする。詳
細には、 (イ)入出力割込み処理では、原則的に入出力命令発行
元に拘束されずに、不特定のCPUで実行可能とする。
従って、データチャネル部や入出力コントローラ部から
の割込み要求の発生時点で、外部割込み制御部が任意の
CPUを選択して割込みを行っても何等問題はない。外
部割込み制御部がベクタ毎に独立に割込み先CPUの選
択を行えば、負荷分散が実現できる。前記第1の課題を
解決するために、本発明では、外部割込み制御部におい
て、TCMPを構成する複数のCPUから任意に選択し
て割込み先CPUを決定する第1の割込み通知(制御)
機能を設ける。 (ロ)故障検出割込み処理では、入出力割込みのように
頻繁には発生しないため、負荷分散の必要はない。しか
し、故障の重大さに応じた処理の優先制御を行うことが
必要であるため、ソフトウェアで割込み先CPUの設
定、およびその変更が可能である。このために本発明で
は、ソフトウェアから割込み先CPUを設定するための
レジスタと、このレジスタの設定値に基づいて該当する
CPUへ割込み通知するか、あるいは監視タイマ等のC
PU個別の故障検出時には当該CPUに対してのみ割込
み通知するように、予め決められたICPUに対しての
み割込む第2の割込み通知(制御)機能を設ける。
め、本発明の外部割込み制御方法は、起動元通知方式と
同じように、外部割込み制御部から各CPUに個別の割
込み信号線を設けて、種々の割込み通知手段を外部割込
み制御部に備え、必要に応じて単一または複数のCPU
への外部割込みを要求することができるようにする。詳
細には、 (イ)入出力割込み処理では、原則的に入出力命令発行
元に拘束されずに、不特定のCPUで実行可能とする。
従って、データチャネル部や入出力コントローラ部から
の割込み要求の発生時点で、外部割込み制御部が任意の
CPUを選択して割込みを行っても何等問題はない。外
部割込み制御部がベクタ毎に独立に割込み先CPUの選
択を行えば、負荷分散が実現できる。前記第1の課題を
解決するために、本発明では、外部割込み制御部におい
て、TCMPを構成する複数のCPUから任意に選択し
て割込み先CPUを決定する第1の割込み通知(制御)
機能を設ける。 (ロ)故障検出割込み処理では、入出力割込みのように
頻繁には発生しないため、負荷分散の必要はない。しか
し、故障の重大さに応じた処理の優先制御を行うことが
必要であるため、ソフトウェアで割込み先CPUの設
定、およびその変更が可能である。このために本発明で
は、ソフトウェアから割込み先CPUを設定するための
レジスタと、このレジスタの設定値に基づいて該当する
CPUへ割込み通知するか、あるいは監視タイマ等のC
PU個別の故障検出時には当該CPUに対してのみ割込
み通知するように、予め決められたICPUに対しての
み割込む第2の割込み通知(制御)機能を設ける。
【0011】(ハ)CPU共通資源を操作対象とするフ
ァームウェアの起動割込みについては、前述の第1また
は第2の割込み通知手段を用いることができる。CPU
個別資源を操作対象とするファームウェアの起動割込み
については、ファームウェア起動要求元が指定するCP
Uへ起動割込みを発生する必要があるので、起動要求元
からのCPU指定情報を識別し、当該CPUへ割込み通
知する第3の割込み通知(制御)機能を設ける。 (ニ)CPU間通信に対しては、従来のソフトウェア制
御割込みを適用する。すなわち、ソフトウェアが特定の
命令を実行することにより、割込み発生要求が外部割込
みに前述の第2の割込み通知手段を用いることができ
る。1対多のCPU間通信のためには、特定の命令実行
元のCPUを除き、他の全てのCPUに割込みを通知す
ることが必要であり、当該割込み処理は各CPUで個別
に並列に実行される必要がある。本発明では、IRフラ
グとIMフラグをCPU個別に複数個具備し、ソフトウ
ェア制御割込み発生命令実行元CPUを識別して、当該
CPU以外の全てのCPUに同時に割込み要求を行う第
4の割込み通知(制御)機能を設ける。 (ホ)周期処理タイマは全CPU共通に用いられるが、
周期処理は各CPUで分散して実行される必要がある。
本発明では、IRフラグとIMフラグをCPU個別に複
数個具備し、1つの周期処理タイマからの割込み発生要
求を全CPUに分配し、同時に一斉に割込み要求する第
5の割込み通知(制御)機能を設ける。
ァームウェアの起動割込みについては、前述の第1また
は第2の割込み通知手段を用いることができる。CPU
個別資源を操作対象とするファームウェアの起動割込み
については、ファームウェア起動要求元が指定するCP
Uへ起動割込みを発生する必要があるので、起動要求元
からのCPU指定情報を識別し、当該CPUへ割込み通
知する第3の割込み通知(制御)機能を設ける。 (ニ)CPU間通信に対しては、従来のソフトウェア制
御割込みを適用する。すなわち、ソフトウェアが特定の
命令を実行することにより、割込み発生要求が外部割込
みに前述の第2の割込み通知手段を用いることができ
る。1対多のCPU間通信のためには、特定の命令実行
元のCPUを除き、他の全てのCPUに割込みを通知す
ることが必要であり、当該割込み処理は各CPUで個別
に並列に実行される必要がある。本発明では、IRフラ
グとIMフラグをCPU個別に複数個具備し、ソフトウ
ェア制御割込み発生命令実行元CPUを識別して、当該
CPU以外の全てのCPUに同時に割込み要求を行う第
4の割込み通知(制御)機能を設ける。 (ホ)周期処理タイマは全CPU共通に用いられるが、
周期処理は各CPUで分散して実行される必要がある。
本発明では、IRフラグとIMフラグをCPU個別に複
数個具備し、1つの周期処理タイマからの割込み発生要
求を全CPUに分配し、同時に一斉に割込み要求する第
5の割込み通知(制御)機能を設ける。
【0012】
【作用】本発明においては、プロセッサの設計時点ある
いは通信処理システムの設計時点で、ベクタ毎の要因割
り当てと、第1から第5までのいずれかの割込み通知手
段の設定が行われる。以下、入出力割込み処理と周期処
理タイマ割込み処理の動作を説明する。それ以外の処理
については、これから自明であるため説明を省略する。
先ず、入出力割込み要因が対応するベクタに関しては、
前述のように第1の割込み通知手段を用いる設定を行
う。システムの運転開始後、割込み発生要求が外部割込
み制御部に通知されると、外部割込み制御部は複数のC
PUから任意のCPUを選択し、当該CPUへの割込み
信号をアクティブとして割込み要求を通知する。当該割
込み信号を受け付けたCPUは、割込み要求に付随する
ベクタ情報を外部割込み制御部から取得し、対応する割
込み処理ソフトウェアを起動する。当該割込み処理ソフ
トウェアは、その他の必要な割込み関連情報を取得した
後、外部割込み制御部内の当該ベクタに対応するIRフ
ラグをリセットし、以後、割込み処理の本体を実行す
る。IRフラグのリセット以後、外部割込み制御部は、
再び割込み発生要求を受け付け可能にする。割込み処理
上必要であれば、割込み処理ソフトウェアは、必要な期
間のみIMフラグをセットし、外部割込み制御部からの
次の割込み要求の発生を抑止してよい。
いは通信処理システムの設計時点で、ベクタ毎の要因割
り当てと、第1から第5までのいずれかの割込み通知手
段の設定が行われる。以下、入出力割込み処理と周期処
理タイマ割込み処理の動作を説明する。それ以外の処理
については、これから自明であるため説明を省略する。
先ず、入出力割込み要因が対応するベクタに関しては、
前述のように第1の割込み通知手段を用いる設定を行
う。システムの運転開始後、割込み発生要求が外部割込
み制御部に通知されると、外部割込み制御部は複数のC
PUから任意のCPUを選択し、当該CPUへの割込み
信号をアクティブとして割込み要求を通知する。当該割
込み信号を受け付けたCPUは、割込み要求に付随する
ベクタ情報を外部割込み制御部から取得し、対応する割
込み処理ソフトウェアを起動する。当該割込み処理ソフ
トウェアは、その他の必要な割込み関連情報を取得した
後、外部割込み制御部内の当該ベクタに対応するIRフ
ラグをリセットし、以後、割込み処理の本体を実行す
る。IRフラグのリセット以後、外部割込み制御部は、
再び割込み発生要求を受け付け可能にする。割込み処理
上必要であれば、割込み処理ソフトウェアは、必要な期
間のみIMフラグをセットし、外部割込み制御部からの
次の割込み要求の発生を抑止してよい。
【0013】次に、周期処理タイマ要因が対応するベク
タに関しては、前述のように第5の割込み通知手段を用
いる設定を行う。システムの運転開始後、割込み発生要
求が外部割込み制御部に通知されると、外部割込み制御
部は全てのCPUへの割込み信号をアクティブとして割
込み要求を通知する。当該割込み信号を受け付けた各々
のCPUは、割込み要求に付随するベクタ情報を外部割
込み制御部から取得し、対応する割込み処理ソフトウェ
アを起動する。当該割込み処理ソフトウェアは、その他
の必要な割込み関連情報を取得した後、外部割込み制御
部内の当該ベクタに対応する自CPU個別のIRフラグ
をリセットし、以後、割込み処理の本体を実行する。I
Rフラグのリセット以後、外部割込み制御部は当該CP
Uに関して再び割込み発生要求を受け付け可能にする。
割込み処理上必要ならば、割込み処理ソフトウェアは、
必要な期間だけ自CPU個別のIMフラグをセットし、
外部割込み制御部からの次の自CPUに対する割込み要
求の発生を抑止してよい。
タに関しては、前述のように第5の割込み通知手段を用
いる設定を行う。システムの運転開始後、割込み発生要
求が外部割込み制御部に通知されると、外部割込み制御
部は全てのCPUへの割込み信号をアクティブとして割
込み要求を通知する。当該割込み信号を受け付けた各々
のCPUは、割込み要求に付随するベクタ情報を外部割
込み制御部から取得し、対応する割込み処理ソフトウェ
アを起動する。当該割込み処理ソフトウェアは、その他
の必要な割込み関連情報を取得した後、外部割込み制御
部内の当該ベクタに対応する自CPU個別のIRフラグ
をリセットし、以後、割込み処理の本体を実行する。I
Rフラグのリセット以後、外部割込み制御部は当該CP
Uに関して再び割込み発生要求を受け付け可能にする。
割込み処理上必要ならば、割込み処理ソフトウェアは、
必要な期間だけ自CPU個別のIMフラグをセットし、
外部割込み制御部からの次の自CPUに対する割込み要
求の発生を抑止してよい。
【0014】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明が適用される密結合マルチプ
ロセッサシステムのブロック構成図であり、図2は、本
発明における第1〜第5の割込み通知手段を用いる場合
の外部割込み制御部の動作フローチャートであり、図8
は本発明の一実施例を示す外部割込み制御部の具体的構
成図である。図1において、図3〜図5と同じ記号は同
一のものを示す。なお、12はバスコマンド割込み信
号、13は個別線割込み信号、14はソフトウェア制御
割込み信号である。図2において、外部割込み制御部4
は割込み発生要求を受け付けたならば(ステップ20
1)、ベクタ番号対応付けおよびCPU指定情報抽出を
行い(ステップ202)、ベクタ毎の設定内容から割込
み通知手段を選択し(ステップ203)、第1の割込み
通知手段を起動して任意のCPU1に割込みを行う(ス
テップ204)。または、第2の割込み通知手段を起動
して、割込み制御モードレジスタで指定するCPUに割
込みをする(ステップ205)。同じようにして、第3
〜第4の割込み通知手段を起動して、それぞれ割込みを
実行する。そして、第5の割込み通知手段を起動して、
全CPUへ割込みを行う(ステップ207)。
説明する。図1は、本発明が適用される密結合マルチプ
ロセッサシステムのブロック構成図であり、図2は、本
発明における第1〜第5の割込み通知手段を用いる場合
の外部割込み制御部の動作フローチャートであり、図8
は本発明の一実施例を示す外部割込み制御部の具体的構
成図である。図1において、図3〜図5と同じ記号は同
一のものを示す。なお、12はバスコマンド割込み信
号、13は個別線割込み信号、14はソフトウェア制御
割込み信号である。図2において、外部割込み制御部4
は割込み発生要求を受け付けたならば(ステップ20
1)、ベクタ番号対応付けおよびCPU指定情報抽出を
行い(ステップ202)、ベクタ毎の設定内容から割込
み通知手段を選択し(ステップ203)、第1の割込み
通知手段を起動して任意のCPU1に割込みを行う(ス
テップ204)。または、第2の割込み通知手段を起動
して、割込み制御モードレジスタで指定するCPUに割
込みをする(ステップ205)。同じようにして、第3
〜第4の割込み通知手段を起動して、それぞれ割込みを
実行する。そして、第5の割込み通知手段を起動して、
全CPUへ割込みを行う(ステップ207)。
【0015】図8に示すように、外部割込み制御部4
は、種々の割込み発生要求を受付けてベクタの割り当て
を行う割込み発生要求受付部41と、割込み発生要求受
付部41の制御でベクタ毎の割込み通知手段の設定に応
じて割込み要求の生成を行う割込み要求発生部40と、
ベクタ毎に第1から第5の割込み通知手段のいずれを使
用するかを、ソフトウェアで設定するための割込み制御
モードレジスタ44と、IRフラグ45、IMフラグ4
6を記憶する記憶部43と、CPUや外部共通資源から
のアクセスを処理するメモリバスインタフェース部42
とを具備している。なお、制御モードレジスタ44は、
記憶部43内に設けられているため、図8では図示省略
されている。第2の割込み通知手段における割込み先C
PUを設定するためのレジスタは、上記割込み制御モー
ドレジスタ44の1つのフィールドとして割り付けられ
る。割込み発生要求は、図1に示すシステムバス5を介
して外部資源(IO)6から外部割込み制御部4に通知
されるバスコマンド割込み12、同じくメモリバス3を
介してCPU1から外部割込み制御部4に通知されるソ
フトウェア制御割込み14、および割込み発生要求受付
部41に直接接続される個別信号線による個別線割込み
13の3種類からなる。
は、種々の割込み発生要求を受付けてベクタの割り当て
を行う割込み発生要求受付部41と、割込み発生要求受
付部41の制御でベクタ毎の割込み通知手段の設定に応
じて割込み要求の生成を行う割込み要求発生部40と、
ベクタ毎に第1から第5の割込み通知手段のいずれを使
用するかを、ソフトウェアで設定するための割込み制御
モードレジスタ44と、IRフラグ45、IMフラグ4
6を記憶する記憶部43と、CPUや外部共通資源から
のアクセスを処理するメモリバスインタフェース部42
とを具備している。なお、制御モードレジスタ44は、
記憶部43内に設けられているため、図8では図示省略
されている。第2の割込み通知手段における割込み先C
PUを設定するためのレジスタは、上記割込み制御モー
ドレジスタ44の1つのフィールドとして割り付けられ
る。割込み発生要求は、図1に示すシステムバス5を介
して外部資源(IO)6から外部割込み制御部4に通知
されるバスコマンド割込み12、同じくメモリバス3を
介してCPU1から外部割込み制御部4に通知されるソ
フトウェア制御割込み14、および割込み発生要求受付
部41に直接接続される個別信号線による個別線割込み
13の3種類からなる。
【0016】図9は、本発明における割込み制御モード
レジスタの詳細構成例を示す図である。割込み制御モー
ドレジスタ44は、前述のように記憶部4内に設けられ
ており、次の各フィールド440〜443から構成され
る。すなわち、FM440はフラグ構成を指定するため
のフィールド、RM441は割込み先CPUの選択方法
を指定するためのフィールド、CM442はフラグ制御
方法を指定するフィールド、PI443はCPU指定フ
ィールドである。図8におけるメモリバスインタフェー
ス部42は、ソフトウェアが割込み制御モードレジスタ
44にアクセスするための機能を与える。ソフトウェア
は、外部割込みの受付けを開始する前に、ベクタ毎に外
部割込み事象に応じてこのレジスタ44を設定しておく
必要がある。以下、外部割込み制御部4による外部割込
み制御動作を詳述する。図10は、本発明におけるフラ
グ構成別の動作を説明する図である。あるベクタに対応
する割込み制御モードレジスタ44のFMフィールド4
40の設定が記号Sで示される値である場合に、割込み
発生要求受付け部41、割込み要求発生部40、および
メモリバスインタフェース部42の各々は、記憶部43
内のただ1組のIMフラグ46とIRフラグ45を当該
ベクタに割り付ける。これにより、第1のフラグ構成が
実現される。全く同じようにして、FMフィールド44
0の設定が記号Hで示される値である場合に、外部割込
み制御部4内の各部は、CPU数に対応する複数組のI
RフラグおよびIMフラグを該当ベクタに割り付ける。
これにより、第2のフラグ構成が実現される。同じよう
にして、FMフィールド440の設定が記号Mで示され
る値である場合には、外部割込み制御部4内の各部は、
第2のフラグ構成と同じように複数組のIRフラグとI
Mフラグを、CPU対応に1組宛割り付ける。これによ
り、第3のフラグ構成が実現される。
レジスタの詳細構成例を示す図である。割込み制御モー
ドレジスタ44は、前述のように記憶部4内に設けられ
ており、次の各フィールド440〜443から構成され
る。すなわち、FM440はフラグ構成を指定するため
のフィールド、RM441は割込み先CPUの選択方法
を指定するためのフィールド、CM442はフラグ制御
方法を指定するフィールド、PI443はCPU指定フ
ィールドである。図8におけるメモリバスインタフェー
ス部42は、ソフトウェアが割込み制御モードレジスタ
44にアクセスするための機能を与える。ソフトウェア
は、外部割込みの受付けを開始する前に、ベクタ毎に外
部割込み事象に応じてこのレジスタ44を設定しておく
必要がある。以下、外部割込み制御部4による外部割込
み制御動作を詳述する。図10は、本発明におけるフラ
グ構成別の動作を説明する図である。あるベクタに対応
する割込み制御モードレジスタ44のFMフィールド4
40の設定が記号Sで示される値である場合に、割込み
発生要求受付け部41、割込み要求発生部40、および
メモリバスインタフェース部42の各々は、記憶部43
内のただ1組のIMフラグ46とIRフラグ45を当該
ベクタに割り付ける。これにより、第1のフラグ構成が
実現される。全く同じようにして、FMフィールド44
0の設定が記号Hで示される値である場合に、外部割込
み制御部4内の各部は、CPU数に対応する複数組のI
RフラグおよびIMフラグを該当ベクタに割り付ける。
これにより、第2のフラグ構成が実現される。同じよう
にして、FMフィールド440の設定が記号Mで示され
る値である場合には、外部割込み制御部4内の各部は、
第2のフラグ構成と同じように複数組のIRフラグとI
Mフラグを、CPU対応に1組宛割り付ける。これによ
り、第3のフラグ構成が実現される。
【0017】図11〜図14は、本発明における各種割
込み通知手段の例を示す図である。本実施例において
は、第1〜第5の5種類の割込み通知(制御)機能が、
割込み制御モードレジスタ44のFMフィールド440
で指定される動作およびRMフィールド441で指定さ
れる動作の組合せで指定される。図11に示すように、
RMフィールド441が記号Aで指定される値である場
合には、割込み要求発生部40は、複数のCPUの中か
ら任意のCPUを選択して割込み通知を行う。図11で
は、FMフィールド440が設定値Sであり、かつRM
フィールド441の設定値Aである時の動作を示してい
る。図12では、FMフィールド440が設定値Sであ
り、またRMフィールド441が記号Bで指定される場
合の動作を示している。この場合には、割込み要求発生
部40はPIフィールド443で指定されるCPUへ割
込み通知を行う。図13では、FMフィールド440が
設定値Hであり、またRMフィールド441が記号Cで
指定される場合の動作を示している。この場合には、割
込み要求発生部40は割込み発生要求元であるCPUを
除く他の全てのCPUへ割込み通知を行う。図14で
は、FMフィールド440が設定値Hであり、またRM
フィールド441が記号Dで指定される場合の動作を示
している。この場合には、割込み要求発生部40は全て
のCPUに割込み通知を行う。
込み通知手段の例を示す図である。本実施例において
は、第1〜第5の5種類の割込み通知(制御)機能が、
割込み制御モードレジスタ44のFMフィールド440
で指定される動作およびRMフィールド441で指定さ
れる動作の組合せで指定される。図11に示すように、
RMフィールド441が記号Aで指定される値である場
合には、割込み要求発生部40は、複数のCPUの中か
ら任意のCPUを選択して割込み通知を行う。図11で
は、FMフィールド440が設定値Sであり、かつRM
フィールド441の設定値Aである時の動作を示してい
る。図12では、FMフィールド440が設定値Sであ
り、またRMフィールド441が記号Bで指定される場
合の動作を示している。この場合には、割込み要求発生
部40はPIフィールド443で指定されるCPUへ割
込み通知を行う。図13では、FMフィールド440が
設定値Hであり、またRMフィールド441が記号Cで
指定される場合の動作を示している。この場合には、割
込み要求発生部40は割込み発生要求元であるCPUを
除く他の全てのCPUへ割込み通知を行う。図14で
は、FMフィールド440が設定値Hであり、またRM
フィールド441が記号Dで指定される場合の動作を示
している。この場合には、割込み要求発生部40は全て
のCPUに割込み通知を行う。
【0018】図11〜図14から明らかなように、第1
の割込み通知(制御)機能は、FMフィールド440が
SまたはH、RMフィールド441がAの場合に実現さ
れる。第2の割込み通知(制御)機能は、FMフィール
ド440がSまたはH、RMフィールド441がBの場
合に、ソフトウェアが予めPIフィールド443に割込
み先CPUの識別番号を設定しておくことにより実現さ
れる。また、第3の割込み通知手段は、FMフィールド
440がSまたはH、RMフィールド441がBである
場合に、割込み発生要求受付部41が割込み発生要求に
付随するCPU指定情報に基づいてPIフィールド44
3を設定しておくことにより実現される。また、第4の
割込み通知(制御)機能は、FMフィールド440がS
またはH、RMフィールド441がCである場合に実現
される。さらに、第5の割込み通知手段は、FMフィー
ルド440がM、RMフィールド441がDの場合に実
現される。図15は、第1〜第5の割込み通知(制御)
機能を実現するための割込み制御モードレジスタの設定
を示す図である。
の割込み通知(制御)機能は、FMフィールド440が
SまたはH、RMフィールド441がAの場合に実現さ
れる。第2の割込み通知(制御)機能は、FMフィール
ド440がSまたはH、RMフィールド441がBの場
合に、ソフトウェアが予めPIフィールド443に割込
み先CPUの識別番号を設定しておくことにより実現さ
れる。また、第3の割込み通知手段は、FMフィールド
440がSまたはH、RMフィールド441がBである
場合に、割込み発生要求受付部41が割込み発生要求に
付随するCPU指定情報に基づいてPIフィールド44
3を設定しておくことにより実現される。また、第4の
割込み通知(制御)機能は、FMフィールド440がS
またはH、RMフィールド441がCである場合に実現
される。さらに、第5の割込み通知手段は、FMフィー
ルド440がM、RMフィールド441がDの場合に実
現される。図15は、第1〜第5の割込み通知(制御)
機能を実現するための割込み制御モードレジスタの設定
を示す図である。
【0019】図16〜図19は、本発明におけるフラグ
制御方法の一例を示す図である。フラグ制御方法は、割
込み制御モードレジスタ44のFMフィールド440、
およびCMフィールド442で指定される動作の組合せ
で指定される。ここでは、4種類のフラグ制御方法が示
されている。図16では、FMフィールド440がS
で、かつCMフィールド442が記号Iで指定される場
合のメモリバスインタフェース部の動作が示されてい
る。この場合には、メモリバスインタフェース部42
が、割込み要求先CPUからのIMフラグのセットおよ
びリセットならびにIRフラグのリセットのみを有効と
する。また、図17では、FMフィールド440がHま
たはMで、かつCMフィールド442が記号Iで指定さ
れる場合のメモリバスインタフェース部の動作が示され
ている。この場合には、メモリバスインタフェース部4
2は、アクセス要求元CPUを識別し、当該CPUに割
り付けたフラグに関してのみセット、リセットを有効と
する。すなわち、図では、IR0、IM0が割り付けら
れたベクタのアクセス要求元CPU0、IRi、IMi
が割り付けられたベクタのアクセス要求元CPUi、I
Rn、IMnが割り付けられたベクタのアクセス要求元
CPUnを、それぞれ識別することにより、それらのC
PUに割り付けたフラグに関してのみ動作を有効とする
のである。
制御方法の一例を示す図である。フラグ制御方法は、割
込み制御モードレジスタ44のFMフィールド440、
およびCMフィールド442で指定される動作の組合せ
で指定される。ここでは、4種類のフラグ制御方法が示
されている。図16では、FMフィールド440がS
で、かつCMフィールド442が記号Iで指定される場
合のメモリバスインタフェース部の動作が示されてい
る。この場合には、メモリバスインタフェース部42
が、割込み要求先CPUからのIMフラグのセットおよ
びリセットならびにIRフラグのリセットのみを有効と
する。また、図17では、FMフィールド440がHま
たはMで、かつCMフィールド442が記号Iで指定さ
れる場合のメモリバスインタフェース部の動作が示され
ている。この場合には、メモリバスインタフェース部4
2は、アクセス要求元CPUを識別し、当該CPUに割
り付けたフラグに関してのみセット、リセットを有効と
する。すなわち、図では、IR0、IM0が割り付けら
れたベクタのアクセス要求元CPU0、IRi、IMi
が割り付けられたベクタのアクセス要求元CPUi、I
Rn、IMnが割り付けられたベクタのアクセス要求元
CPUnを、それぞれ識別することにより、それらのC
PUに割り付けたフラグに関してのみ動作を有効とする
のである。
【0020】また、図18では、FMフィールド440
がSで、かつCMフィールド442が記号IIで指定され
る場合のメモリバスインタフェース部の動作が示されて
いる。この場合には、メモリバスインタフェース部42
は、任意のCPUからのIMフラグのセットおよびリセ
ットならびにIRフラグのリセットを有効とする。図で
は、CPUiからのIMフラグ、IRフラグがセットま
たはリセットされる。さらに、図19では、FMフィー
ルド440がHまたはMで、かつCMフィールド442
が記号IIで指定される場合のメモリバスインタフェース
部の動作が示される。この場合には、メモリバスインタ
フェース部42は任意のCPUからの、CPU個別に割
り付けられたIMフラグ一括のセットおよびリセットな
らびにIRフラグ一括のリセットを有効とする。図で
は、IR0,IM0が割り付けられたCPU0、IR
i,IMiが割り付けられたCPUi、およびIRn,
IMnが割り付けられたCPUnからのそれぞれIMフ
ラグ、IRフラグのセット、リセットが有効に行われ
る。
がSで、かつCMフィールド442が記号IIで指定され
る場合のメモリバスインタフェース部の動作が示されて
いる。この場合には、メモリバスインタフェース部42
は、任意のCPUからのIMフラグのセットおよびリセ
ットならびにIRフラグのリセットを有効とする。図で
は、CPUiからのIMフラグ、IRフラグがセットま
たはリセットされる。さらに、図19では、FMフィー
ルド440がHまたはMで、かつCMフィールド442
が記号IIで指定される場合のメモリバスインタフェース
部の動作が示される。この場合には、メモリバスインタ
フェース部42は任意のCPUからの、CPU個別に割
り付けられたIMフラグ一括のセットおよびリセットな
らびにIRフラグ一括のリセットを有効とする。図で
は、IR0,IM0が割り付けられたCPU0、IR
i,IMiが割り付けられたCPUi、およびIRn,
IMnが割り付けられたCPUnからのそれぞれIMフ
ラグ、IRフラグのセット、リセットが有効に行われ
る。
【0021】ベクタ方式の割込み処理では、割込み処理
ソフトウェアは自身が割込まれるのを防止するためにI
Mフラグをオンにし、その後、外部割込み制御部4が次
の割込み発生要求を受付け可能となるように、IRフラ
グをリセットする。割込み処理ソフトウェアで割込まれ
ることを防止する必要がなくなれば、IMフラグをオフ
にする。本実施例の方式に対応するためには、ソフトウ
ェアはFMフィールドの如何にかかわらず、CMフィー
ルドをIと設定する必要がある。ポーリング方式の割込
み処理では、予めIMフラグをオンに初期設定してお
き、割込み処理ソフトウェアはIRフラグを参照して、
セットされていれば割込みを受け付けて、外部割込み制
御部4が次の割込み発生要求を受付可能となるように、
IRフラグをリセットする。本実施例の方式に対応する
ためには、ソフトウェアはFMフィールドがSの場合に
は、CMフィールドをII、FMフィールドがHまたはM
の場合には、各CPUが個別のIMフラグを予めオンと
している条件でCMフィールドをIと設定する必要があ
る。FMフィールドがHまたはMの場合には、原則とし
て各CPUは自CPU個別のフラグ操作に限定されるの
で、割込み処理ソフトウェアで他のCPUと関連する割
込みの矛盾を発見した場合にも、これを解除する方法が
存在しないことになる。FMフィールドがHまたはM
で、CMフィールドがIIの機能は、このような場合にC
PU個別のIMフラグとIRフラグを一括リセットする
機能を与える。
ソフトウェアは自身が割込まれるのを防止するためにI
Mフラグをオンにし、その後、外部割込み制御部4が次
の割込み発生要求を受付け可能となるように、IRフラ
グをリセットする。割込み処理ソフトウェアで割込まれ
ることを防止する必要がなくなれば、IMフラグをオフ
にする。本実施例の方式に対応するためには、ソフトウ
ェアはFMフィールドの如何にかかわらず、CMフィー
ルドをIと設定する必要がある。ポーリング方式の割込
み処理では、予めIMフラグをオンに初期設定してお
き、割込み処理ソフトウェアはIRフラグを参照して、
セットされていれば割込みを受け付けて、外部割込み制
御部4が次の割込み発生要求を受付可能となるように、
IRフラグをリセットする。本実施例の方式に対応する
ためには、ソフトウェアはFMフィールドがSの場合に
は、CMフィールドをII、FMフィールドがHまたはM
の場合には、各CPUが個別のIMフラグを予めオンと
している条件でCMフィールドをIと設定する必要があ
る。FMフィールドがHまたはMの場合には、原則とし
て各CPUは自CPU個別のフラグ操作に限定されるの
で、割込み処理ソフトウェアで他のCPUと関連する割
込みの矛盾を発見した場合にも、これを解除する方法が
存在しないことになる。FMフィールドがHまたはM
で、CMフィールドがIIの機能は、このような場合にC
PU個別のIMフラグとIRフラグを一括リセットする
機能を与える。
【0022】最後に、第1〜第5の割込み通知機能の指
定方法について述べる。ベクタ毎の具体的な割込み要因
の割り当て、および第1〜第5の割込み通知手段の割り
当ては、密結合マルチプロセッサが適用される通信処理
システム毎に、そのシステムの設計時点で決定される。
バスコマンド割込みに関しては、ある入出力装置がある
通信処理システムで用いられるか否か、用いられるとし
てどのベクタに割り当てられるか、第1〜第5のどの割
込み通知手段が適用されるかは、その通信処理システム
の種々の制御部の設計時点で、全てのあるいは一部のベ
クタを選定して製造時に布線しておき、全通信処理シス
テムで共通的な割込み要因に関しては密結合マルチプロ
セッサ製造時点で当該割込み要因と結線し、通信処理シ
ステム毎に個別の割込み要因に関しては当該通信処理シ
ステム製造時点で結線するような方法で、ベクタと割込
み要因との割り当てを行っておく。その結果、第1〜第
5のどの割込み通知機能を適用するかは、バスコマンド
割込みと同じように、その通信処理システムの設計時点
に決定する方法が可能である。いずれにしても、通信処
理システムの設計時点で決定された割込み通知手段の割
り当てに従って、当該通信処理システムの立上げ時点に
ソフトウェアが割込み制御モードレジスタの初期設定を
行うことにより、各ベクタへの割込み通知手段の指定が
可能となる。なお、通信処理システム共通に存在する割
込み要因で、ベクタ割り当て、ならびに割込み通知手段
の割り当ても、共通であれば外部割込み制御部の製造時
点で布線により固定的に指定することも可能である。
定方法について述べる。ベクタ毎の具体的な割込み要因
の割り当て、および第1〜第5の割込み通知手段の割り
当ては、密結合マルチプロセッサが適用される通信処理
システム毎に、そのシステムの設計時点で決定される。
バスコマンド割込みに関しては、ある入出力装置がある
通信処理システムで用いられるか否か、用いられるとし
てどのベクタに割り当てられるか、第1〜第5のどの割
込み通知手段が適用されるかは、その通信処理システム
の種々の制御部の設計時点で、全てのあるいは一部のベ
クタを選定して製造時に布線しておき、全通信処理シス
テムで共通的な割込み要因に関しては密結合マルチプロ
セッサ製造時点で当該割込み要因と結線し、通信処理シ
ステム毎に個別の割込み要因に関しては当該通信処理シ
ステム製造時点で結線するような方法で、ベクタと割込
み要因との割り当てを行っておく。その結果、第1〜第
5のどの割込み通知機能を適用するかは、バスコマンド
割込みと同じように、その通信処理システムの設計時点
に決定する方法が可能である。いずれにしても、通信処
理システムの設計時点で決定された割込み通知手段の割
り当てに従って、当該通信処理システムの立上げ時点に
ソフトウェアが割込み制御モードレジスタの初期設定を
行うことにより、各ベクタへの割込み通知手段の指定が
可能となる。なお、通信処理システム共通に存在する割
込み要因で、ベクタ割り当て、ならびに割込み通知手段
の割り当ても、共通であれば外部割込み制御部の製造時
点で布線により固定的に指定することも可能である。
【0023】
【発明の効果】以上説明したように、本発明によれば、
汎用マイクロプロセッサを演算核部として用いた通信処
理用密結合マルチプロセッサシステムにおいて、システ
ム全体にわたる機能を拡張せずに、必要となる多様な割
込み処理機能の要求に完全に対応することができる。
汎用マイクロプロセッサを演算核部として用いた通信処
理用密結合マルチプロセッサシステムにおいて、システ
ム全体にわたる機能を拡張せずに、必要となる多様な割
込み処理機能の要求に完全に対応することができる。
【図1】本発明を適用した密結合マルチプロセッサシス
テムの構成例を示す図である。
テムの構成例を示す図である。
【図2】図1における外部割込み制御部の割込み通知動
作の一例を示す動作フローチャートである。
作の一例を示す動作フローチャートである。
【図3】従来の割込み制御方法のうちの集中方式による
密結合マルチプロセッサシステムの構成例を示す図であ
る。
密結合マルチプロセッサシステムの構成例を示す図であ
る。
【図4】従来の割込み制御方法のうちの固定分散方式に
よる密結合マルチプロセッサシステムの構成例を示す図
である。
よる密結合マルチプロセッサシステムの構成例を示す図
である。
【図5】従来の割込み制御方法のうちの起動元通知方式
による密結合マルチプロセッサシステムの構成例を示す
図である。
による密結合マルチプロセッサシステムの構成例を示す
図である。
【図6】図4における集中方式による外部割込み制御部
の割込み通知動作の動作フローチャートである。
の割込み通知動作の動作フローチャートである。
【図7】図5、図6における固定分散方式および起動元
通知方式による外部割込み制御部の割込み通知動作のフ
ローチャートである。
通知方式による外部割込み制御部の割込み通知動作のフ
ローチャートである。
【図8】本発明の一実施例を示す外部割込み制御部の構
成図である。
成図である。
【図9】本発明における割込み制御モードレジスタの構
成例を示す図である。
成例を示す図である。
【図10】本発明のフラグ構成別の動作を示す説明図で
ある。
ある。
【図11】本発明における割込み通知手段の第1の組合
せの場合の動作説明図である。
せの場合の動作説明図である。
【図12】同じく、本発明における割込み通知手段の第
2の組合せの場合の動作説明図である。
2の組合せの場合の動作説明図である。
【図13】同じく、本発明における割込み通知手段の第
3の組合せの場合の動作説明図である。
3の組合せの場合の動作説明図である。
【図14】同じく、本発明における割込み通知手段の第
4の組合せの場合の動作説明図である。
4の組合せの場合の動作説明図である。
【図15】本発明における各種割込み通知手段を実現す
る割込み制御モードレジスタの設定方法を示す図であ
る。
る割込み制御モードレジスタの設定方法を示す図であ
る。
【図16】本発明におけるフラグ制御方法の第1の組合
せの場合の動作説明図である。
せの場合の動作説明図である。
【図17】同じくフラグ制御方法の第2の組合せの場合
の動作説明図である。
の動作説明図である。
【図18】同じくフラグ制御方法の第3の組合せの場合
の動作説明図である。
の動作説明図である。
【図19】同じくフラグ制御方法の第4の組合せの場合
の動作説明図である。
の動作説明図である。
1 CPU 2 主記憶部(MM) 3 メモリバス 4 外部割込み制御部 5 システムバス 6 CPU共通外部資源(IO等) 10 密結合マルチプロセッサシステム 11 割込み要求信号線 12 バスコマンド割込み信号 13 個別線割込み信号 14 ソフトウェア制御割込み信号 40 割込み要求発生部 41 割込み発生要求受付け部 42 メモリバスインタフェース部 43 記憶部 44 割込み制御モードレジスタ 45 割込み表示(IR)フラグ 46 割込みマスク(IM)フラグ 440 フラグ構成モード(FM)フィールド 441 割込み通知モード(RM)フィールド 442 フラグ制御モード(CM)フィールド 443 CPU指定(PI)フィールド
Claims (1)
- 【請求項1】 密結合マルチプロセッサシステムにおい
て、任意の1CPUを割込み先に選択する第1の外部割
込み制御処理と、予め指定される特定の1CPUを割込
み先に選択する第2の外部割込み制御処理と、起動要求
元からの割込み要求に付随する情報で指定される特定の
1CPUを割込み先に選択する第3の外部割込み制御処
理と、割込み要求に付随する情報で指定される特定1C
PUを除く他の全てのCPUを割込み先に選択する第4
の外部割込み制御処理と、全てのCPUを割込み先に選
択する第5の外部割込み制御処理の中からいずれか1つ
を割込みベクタ毎に割り当て、割り当てられた各外部割
込み制御処理を実行することを特徴とする外部割込み制
御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311700A JPH07160656A (ja) | 1993-12-13 | 1993-12-13 | 外部割込み制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311700A JPH07160656A (ja) | 1993-12-13 | 1993-12-13 | 外部割込み制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07160656A true JPH07160656A (ja) | 1995-06-23 |
Family
ID=18020420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5311700A Pending JPH07160656A (ja) | 1993-12-13 | 1993-12-13 | 外部割込み制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07160656A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981402A (ja) * | 1995-09-13 | 1997-03-28 | Kofu Nippon Denki Kk | マルチプロセッサシステム |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
US7281075B2 (en) | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7386642B2 (en) | 2005-01-28 | 2008-06-10 | Sony Computer Entertainment Inc. | IO direct memory access system and method |
JP2008176360A (ja) * | 2007-01-16 | 2008-07-31 | Renesas Technology Corp | マルチプロセッサシステム |
JP2009187223A (ja) * | 2008-02-05 | 2009-08-20 | Nec Corp | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム |
US7680972B2 (en) | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
JP2010244179A (ja) * | 2009-04-02 | 2010-10-28 | Nec Corp | 割り込み制御システム、割り込み制御方法、及び割り込み制御プログラム |
JP2013507719A (ja) * | 2009-10-13 | 2013-03-04 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアプロセッサのための割込みマスク |
JP2014160367A (ja) * | 2013-02-20 | 2014-09-04 | Mitsubishi Electric Corp | 演算処理装置 |
JP2019096338A (ja) * | 2019-02-04 | 2019-06-20 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置販売モデル |
JP2021124910A (ja) * | 2020-02-04 | 2021-08-30 | 株式会社デンソー | 電子制御装置 |
-
1993
- 1993-12-13 JP JP5311700A patent/JPH07160656A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981402A (ja) * | 1995-09-13 | 1997-03-28 | Kofu Nippon Denki Kk | マルチプロセッサシステム |
US7281075B2 (en) | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7546406B2 (en) | 2003-04-24 | 2009-06-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7386642B2 (en) | 2005-01-28 | 2008-06-10 | Sony Computer Entertainment Inc. | IO direct memory access system and method |
US7680972B2 (en) | 2005-02-04 | 2010-03-16 | Sony Computer Entertainment Inc. | Micro interrupt handler |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
JP2008176360A (ja) * | 2007-01-16 | 2008-07-31 | Renesas Technology Corp | マルチプロセッサシステム |
JP2009187223A (ja) * | 2008-02-05 | 2009-08-20 | Nec Corp | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム |
JP2010244179A (ja) * | 2009-04-02 | 2010-10-28 | Nec Corp | 割り込み制御システム、割り込み制御方法、及び割り込み制御プログラム |
JP2013507719A (ja) * | 2009-10-13 | 2013-03-04 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアプロセッサのための割込みマスク |
JP2014160367A (ja) * | 2013-02-20 | 2014-09-04 | Mitsubishi Electric Corp | 演算処理装置 |
JP2019096338A (ja) * | 2019-02-04 | 2019-06-20 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置販売モデル |
JP2021124910A (ja) * | 2020-02-04 | 2021-08-30 | 株式会社デンソー | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
JPH1027108A (ja) | スレッド実行方法 | |
US10459773B2 (en) | PLD management method and PLD management system | |
US4725946A (en) | P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment | |
JPH0695898A (ja) | 仮想計算機の制御方法および仮想計算機システム | |
JPS6031648A (ja) | マルチ・タスク制御方法 | |
JP2012108576A (ja) | マルチコアプロセッサ、処理実行方法、プログラム | |
JPH07160656A (ja) | 外部割込み制御方法 | |
JPH11272635A (ja) | マルチプロセッサ制御方式及びこれに用いられるブート装置及びブート制御装置 | |
US20090241112A1 (en) | Recording medium recording virtual machine control program and virtual machine system | |
JP2870254B2 (ja) | 仮想計算機の入出力割り込み処理方式 | |
US9367349B2 (en) | Multi-core system and scheduling method | |
JPH0926885A (ja) | マイクロプロセッサに対する多重優先度割込み要求のための制御回路および制御方法 | |
US20030018682A1 (en) | Computer system and computer-readable record medium | |
US7711925B2 (en) | Information-processing device with transaction processor for executing subset of instruction set where if transaction processor cannot efficiently execute the instruction it is sent to general-purpose processor via interrupt | |
EP0049521A2 (en) | Information processing system | |
JPH02210542A (ja) | 仮想計算機システムにおける実行制御方式 | |
JPH0484335A (ja) | 仮想計算機制御方式 | |
JP2001167058A (ja) | 情報処理装置 | |
JPS59167756A (ja) | 仮想計算機のデイスパツチ制御方式 | |
US20240231867A9 (en) | Paravirtual pause loops in guest user space | |
JP2553526B2 (ja) | マルチタスク処理装置 | |
JPH10260850A (ja) | 仮想計算機システム | |
JPH0496167A (ja) | マルチプロセッサシステムの割込み方式 | |
JPH0573507A (ja) | 電子計算機間メツセージ交信時の救済装置 |