(57)【特許請求の範囲】
【請求項１】
スプリアス割り込み機能を有するＣＰＵを搭載した複数のマスタユニットと共通バスを介して接続された複数のスレーブユニットから割り込みを発生することにより上記複数のマスタユニットにサービスを要求する第１ステップと、
上記各マスタユニットに設けられたスプリアス割り込み制御部により上記サービス要求のあったことをそれぞれの属するマスタユニットの上記ＣＰＵに通知する第２ステップと、
上記サービス要求を受けて上記ＣＰＵが割り込み応答サイクルを開始すると、この割り込み応答サイクルを上記各マスタユニット内の割り込み応答サイクル検出部により検出して、上記共通バスの獲得必要性の発生した旨を上記各マスタユニット内のバス調停部に通知する第３ステップと、
上記通知を受けた上記バス調停部はそれぞれ自己の属さない他のマスタユニット内のバス調停部に対して共通バスの制御権を求めてバス調停を行った結果、共通バスの制御権を獲得したバス調停部のみが自己の属するマスタユニット内部のＣＰＵの割り込み応答サイクルを共通バス上で実行すると同時に他のマスタユニットの上記スプリアス割り込み制御部に対して自己の属するマスタユニットが共通バスの制御権を獲得したことを通知する第４ステップと、
上記他のマスタユニット内の上記スプリアス割り込み制御部が上記通知を受けることにより上記他のマスタユニットのＣＰＵが開始した割り込み応答サイクルを実行不能と判定し、バスエラー信号をこの他のマスタユニットのＣＰＵに対してアサートすることにより、このＣＰＵはスプリアス割り込みとなり、割り込み応答サイクル開始以前の処理に復帰すると同時に、自己の属するマスタユニットの上記スレーブユニットからの割り込みの中継を停止する第５ステップと、
を備えることを特徴とするマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項２】
上記各マスタユニットのＣＰＵは、上記マスタユニットが実行する割り込み応答サイクルに対してアクノリッジ信号をアサートするデバイスがない場合に、バスエラー信号をアサートすることによりベクタ取得を終わらせ、スプリアス割り込みベクタを上記ＣＰＵの内部に発生させるスプリアス割り込み機能を有することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項３】
上記共通バスの制御権を獲得したマスタユニットは、このマスタユニットに属するバス調停部から出力されるバス獲得信号によりバッファをイネーブルして割り込みを発生させた上記スレーブユニットからベクタ番号を取得するために上記共通バスの割り込み応答サイクルを実行することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項４】
上記マスタユニットのスプリアス割り込み制御部は、自己の属さない他のマスタユニットが割り込み応答サイクルにより共通バスの制御権を獲得していない場合に自己の属するマスタユニット内のＣＰＵに対して割り込み信号を中継することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項５】
上記マスタユニットの割り込み応答サイクル検出部は、自己の属するマスタユニットの上記ＣＰＵが割り込み応答サイクルを開始することにより出力する割り込み応答サイクル制御信号を検出すると、共通バスを獲得する必要性があるとして自己の属する上記マスタユニット内の上記バス調停部に割り込み応答中信号を出力することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項６】
上記バス調停部は、自己の属さない他のマスタユニットのバス調停部からのバス要求信号により共通バスの制御権を求めてバス調停を行って共通バスの制御権を獲得すると、バス獲得信号をアサートしてバッファをイネーブルして自己の属するマスタユニット内部の割り込み応答サイクルを共通バス上で実行すると同時に、バス獲得信号を共通バスの制御権を獲得しない他のマスタユニットのスプリアス割り込み制御部へ出力して自己の属するマスタユニットが共通バスの制御権を獲得したことを通知することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項７】
上記各マスタユニット内のスプリアス割り込み制御部は、上記スレーブユニットから割り込みが入力されており、かつ自己の属するマスタユニット内のＣＰＵによる割り込み応答サイクルが実行されている状態で他のマスタユニットが共通バスの制御権を獲得したことを検出すると、自己の属するマスタユニット内のＣＰＵにバスエラー信号を出力するスプリアス割り込み判定部と、
上記スプリアス割り込み判定部から出力される上記バスエラー信号を入力するのと同時に、このスプリアス割り込み判定部からスプリアス割り込みとなったことが通知されると自己の属するマスタユニット内のＣＰＵに対して上記スレーブユニットから出力されている割り込みの中継を停止する割り込み中継部と、
を備えることを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【請求項８】
上記割り込み中継部から出力される割り込み信号は、割り込みパルス幅監視部によりアサートされている時間を監視し、一定時間以上連続してアサートされ続けている場合のみこの割り込みパルス幅監視部によりサービス要求のために上記スレーブユニットから出力した割り込みであると認識して上記割り込み中継部の属するマスタユニット内の上記ＣＰＵへ割り込み信号を出力することを特徴とする請求項１記載のマルチプロセッサ構成におけるスプリアス割り込み制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、スプリアス割り込み機能を有するマイクロプロセッサ（以下、ＣＰＵという）を搭載したマスタユニットと割り込みを発生させることによりマスタユニットにサービスを要求するスレーブユニットが共通バスを介して接続され、スレーブユニットから出力された割り込みがすべてのマスタユニットに入力されるが、バス調停により共通バスの制御権を獲得した唯一のマスタユニットが割り込み応答サイクルを実行し、他のマスタユニットが割り込み応答サイクルにより共通バスの制御権を獲得していない場合は、ＣＰＵが開始した割り込み応答サイクルを実行不能と判定してバスエラー信号を発生し、このＣＰＵが割り込み処理を起動せずに、スプリアス割り込みとなり、割り込み応答サイクル開始以前の処理に復帰するようにしたマルチプロセッサ構成におけるスプリアス割り込み制御方法に関する。
【０００２】
【従来の技術】
従来、スプリアス割り込み機能を有するＣＰＵを搭載した複数のマスタユニットと、このマスタユニットに対して割り込みを発生することによりマスタユニットに対してサービスを要求する複数のスレーブユニットが共通バスを介して接続され、スレーブユニットから出力された割り込みはすべてのマスタユニットに入力されるが、共通バス上で割り込み応答サイクルを実行するマスタユニットは複数のユニット間のバス調停により共通バスを獲得した唯一のマスタユニットである。
共通バスの制御権を獲得できなかったマスタユニットの割り込み応答サイクルをスプリアス割り込みとして終了し、割り込み応答サイクル開始以前の処理を復帰する割り込み制御において、各マスタユニットにおけるスプリアス割り込みの判定は図５のタイミングチャートに示す通り、自ユニットが共通バスの制御権を獲得した時点で割り込み信号がアサートされているか、否かで行われていた。
【０００３】
ここで、図５を参照して、マスタユニットにおけるスプリアス割り込みの判定について説明する。
図５は、従来のマルチプロセッサ構成におけるスプリアス割り込み制御方法を説明するためのタイミングチャートであり、図５（ａ１）〜図５（ａ９）は、マスタユニット１とマスタユニット２とスレーブユニットと間の共通バスの信号を示している。
この図５（ａ１０）〜図５（ａ１４）はマスタユニット１の信号、図５（ａ１５）〜図５（ａ１８）はマスタユニット２の信号を示している。
【０００４】
ここで、マスタユニット２が共通バスの制御権を獲得して割り込み応答サイクルを実行し、マスタユニット１はスプリアス割り込みとして終了し、応答サイクル開始以前の処理に復帰する場合について説明する。
サービス要求を発生したスレーブユニットは、図５（ａ１）に示すように、割り込み信号をアサートしてマスタユニット１，２に対してサービス要求があることを通知すると、割り込み信号はマスタユニット１，２内の各ＣＰＵ（図示せず）に図５（ａ１０），図５（ａ１５）に示すように割り込み信号として入力される。
各マスタユニット１，２内のＣＰＵは、この割り込み信号を検出して割り込み応答サイクルを開始して割り込み応答サイクル制御信号をマスタユニット１，２内の割り込み応答サイクル検出部に出力する。
【０００５】
割り込み応答サイクル検出部は、この割り込み応答サイクル制御信号を検出してマスタユニット１，２が共通バスの制御権を獲得する必要性が発生したことをマスタユニット１，２内のバス調停部に通知する。
バス調停部は、それぞれ図５（ａ２）に示すバス調停信号２、図５（ａ３）に示すバス調停信号１により共通バスの制御権の獲得を求めてバス調停を行う。
バス調停の結果、マスタユニット２のバス調停部が共通バスの制御権を獲得すると、図５（ａ１）に示す割り込み信号がアサートされていることを確認し、図５（ａ４）に示すように、バス獲得信号２（マスタユニット１のバス調停部は図５（ａ５）に示すように、バス獲得信号１は出力しない）を出力して、マスタユニット２内のバッファをイネーブルする。
【０００６】
これにより、マスタユニット２とスレーブユニット間の図５（ａ６）、図５（ａ１６）に示すアドレスバスを通してアドレスデータがマスタユニット２のＣＰＵからスレーブユニットに伝送され、図５（ａ７）、図５（ａ１７）に示すデータバスを通してスレーブユニットからＣＰＵにデータが伝送されるとともに、ＣＰＵからスレーブユニットに図５（ａ８）、図５（ａ１８）に示す制御信号が伝送され、マスタユニット２の内部の割り込み応答サイクルを共通バス上で実行する。
なお、図５（ａ９）に示すＡＣＫ（アクノリッジ）信号は、マスタユニットが実行したバスサイクルに対してスレーブユニットが返送する応答であり、割り込み応答サイクルにおいては、スレーブユニットがデータバス上にベクタ番号を出力したことを示す。
共通バス上で割り込み応答サイクルを実行したマスタユニット２は、ＡＣＫ（アクノリッジ）信号を検出すると、データバス上のベクタ番号を取得して割り込み応答サイクルを終了することにより、共通バスの制御権を放棄する。
【０００７】
共通バスの制御権が獲得できず、割り込み応答サイクルが保留されていたマスタユニット１は、マスタユニット２が共通バスの制御権を放棄したことにより共通バスの制御権を獲得し、共通バス上での割り込み応答サイクルを実行しようとするが、図５（ａ１）に示す割り込み信号はすでにネゲートされているため、バス獲得信号１は出力せず、図５（ａ１３）に示すバスエラー信号をＣＰＵに返送することにより、スプリアス割り込みとなり、割り込み応答サイクルを終了し、割り込み応答サイクル開始以前の処理に復帰する。
このようにして、共通バスの制御権を獲得したことが他マスタユニットに通知されないために、自マスタユニットが共通バスの制御権を獲得した時点で割り込み信号がアサートされているか、否かでスプリアス割り込みの判定が行われていた。
【０００８】
【発明が解決しようとする課題】
しかし、従来のマルチプロセッサ構成におけるスプリアス割り込み制御方法にけるスプリアス割り込み判定タイミングには次のような課題があった。
第１の課題は、図５（ａ２）、図５（ａ３）に示すバス調停信号２，１による最初のバス調停によって共通バスの制御権を獲得できなかったマスタユニット１において、何も処理を行っていない時間、すなわち、無駄な時間が発生するということである。
【０００９】
その理由は、最初のバス調停により共通バスの制御権を獲得できなかったマスタユニット１は、共通バス上で割り込み応答サイクルを実行したマスタユニット２が共通バスの制御権を放棄した後、自マスタユニット１が共通バスの制御権を獲得できた時点で割り込み信号がアサートされているか否かにより、共通バス上で割り込み応答サイクルを実行するか、割り込み応答サイクルをスプリアス割り込みとして終了するかを判定する。
図５に示すように、マスタユニット１が共通バスの制御権を獲得した時点で割り込み信号は既にネゲートされているため割り込み応答サイクルをスプリアス割り込みとして終了する。
このとき、最初に共通バスの制御権を獲得するマスタユニット２が決定してから自マスタユニット１が共通バスの制御権を獲得するまでの時間は無駄な時間となる。
【００１０】
また、第２の課題は、最初のバス調停により共通バスの制御権を獲得できなかったマスタユニット１が図５（ａ３）に示すバス調停信号１により共通バスの制御権を獲得したときに不必要な共通バスの占有が発生するおそれがあるということである。
その理由は、スレーブユニットによる割り込み信号のネゲートが遅れた場合（図示せず）は、最初のバス調停共通バスの制御権を獲得できなかったマスタユニット１が共通バスの制御権を獲得した時点で割り込み信号がアサートされているように見えてしまい、スプリアス割り込みとならず共通バス上に割り込み応答サイクルを出力してしまう。
しかし、割り込みを出力しているスレーブユニットは存在しないため、割り込み応答サイクルに応答するスレーブユニットは無く、バスサイクル監視タイマなどによりバスエラーとして処理されるまで共通バスを占有してしまうおそれがある。
【００１１】
この発明は、上記従来の課題を解決するためになされたもので、共通バスの制御権を獲得できなかったマスタユニットが割り込み応答サイクル開始以前の処理に復帰するまでの時間を短くし、内部処理の高速化を図ることができるとともに、共通バスの制御権を獲得したマスタユニットが実行する割り込み応答サイクルの終了までアサートされ続ける割り込み信号を先にスプリアス割り込みとなった割り込みとは異なる割り込みが入力されたと認識してしまい、割り込み応答サイクルを再び開始することを防止することができるマルチプロセッサ構成におけるスプリアス割り込み制御方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、この発明のマルチプロセッサ構成におけるスプリアス割り込み制御方法は、スプリアス割り込み機能を有するＣＰＵを搭載した複数のマスタユニットと共通バスを介して接続された複数のスレーブユニットから割り込みを発生することにより上記複数のマスタユニットにサービスを要求する第１ステップと、上記各マスタユニットに設けられたスプリアス割り込み制御部により上記サービス要求のあったことをそれぞれの属するマスタユニットの上記ＣＰＵに通知する第２ステップと、上記サービス要求を受けて上記ＣＰＵが割り込み応答サイクルを開始すると、この割り込み応答サイクルを上記各マスタユニット内の割り込み応答サイクル検出部により検出して、上記共通バスの獲得必要性の発生した旨を上記各マスタユニット内のバス調停部に通知する第３ステップと、上記通知を受けた上記バス調停部はそれぞれ自己の属さない他のマスタユニット内のバス調停部に対して共通バスの制御権を求めてバス調停を行った結果、共通バスの制御権を獲得したバス調停部のみが自己の属するマスタユニット内部のＣＰＵの割り込み応答サイクルを共通バス上で実行すると同時に他のマスタユニットの上記スプリアス割り込み制御部に対して自己の属するマスタユニットが共通バスの制御権を獲得したことを通知する第４ステップと、上記他のマスタユニット内の上記スプリアス割り込み制御部が上記通知を受けることにより上記他のマスタユニットのＣＰＵが開始した割り込み応答サイクルを実行不能と判定し、バスエラー信号をこの他のマスタユニットのＣＰＵに対してアサートすることにより、このＣＰＵはスプリアス割り込みとなり割り込み応答サイクル開始以前の処理に復帰すると同時に、自己の属するマスタユニットの上記スレーブユニットからの割り込みの中継を停止する第５ステップとを備えることを特徴とする。
【００１３】
そのため、あるスレーブユニットが割り込みを発生して複数のマスタユニットにサービスを要求すると、各マスタユニットに設けられたスプリアス割り込み制御部によりサービス要求のあったことをそれぞれの属するマスタユニットのＣＰＵに通知する。
この通知を受けたＣＰＵは、割り込み応答サイクルを開始すると、この割り込み応答サイクルを各マスタユニット内の割り込み応答サイクル検出部により検出して、共通バスを獲得することが必要である旨を各マスタユニット内のバス調停部に通知する。
この通知を受けたバス調停部はそれぞれ自己の属さない他のマスタユニット内のバス調停部に対して共通バスの制御権を求めてバス調停を行い、その調停を行った結果、共通バスの制御権を獲得したバス調停部のみが自己の属するマスタユニット内部のＣＰＵの割り込み応答サイクルを共通バス上で実行すると同時に他のマスタユニットのスプリアス割り込み制御に対して自己の属するマスタユニットが共通バスの制御権を獲得したことを通知する。
他のマスタユニット内のスプリアス割り込み制御部がこの通知を受けることにより、他のマスタユニットのＣＰＵが開始した割り込み応答サイクルを実行不能と判定し、バスエラー信号をこの他のマスタユニットのＣＰＵに対してアサートすることにより、このＣＰＵはスプリアス割り込みとなり、割り込み応答サイクル開始以前の処理に復帰すると同時に、自己の属するマスタユニットの上記スレーブユニットからの割り込みの中継を停止するようにしたので、共通バスの制御権を獲得できなかったマスタユニットが割り込み応答サイクル開始以前の処理に復帰するまでの時間を短くし、内部処理の高速化を図ることができるとともに、共通バスの制御権を獲得したマスタユニットが実行する割り込み応答サイクルの終了までアサートされ続ける割り込み信号を先にスプリアス割り込みとなった割り込みとは異なる割り込みが入力されたと認識してしまい、割り込み応答サイクルを再び開始することを防止することができる。
【００１４】
【発明の実施の形態】
次ぎに、この発明によるマルチプロセッサ構成におけるスプリアス割り込み制御方法の実施の形態について図面に基づき説明する。
図１はこの発明によるマルチプロセッサ構成におけるスプリアス割り込み制御方法の実施の形態が適用されるマルチプロセッサ構成におけるスプリアス割り込み制御システムの構成を示すブロック図である。
【００１５】
この図１は、スプリアス割り込み機能を有するＣＰＵ１１，２１をそれぞれ搭載したマスタユニットＭ１，Ｍ２と、割り込みを発生させることによりマスタユニットＭ１，Ｍ２にサービスを要求するスレーブユニットＳ１〜Ｓｎが共通バスを介して接続され、スレーブユニットＳ１〜Ｓｎから出力された割り込みはマスタユニットＭ１，Ｍ２に入力されるが、バス調停により共通バスの制御権を獲得した唯一のマスタユニットが割り込み処理を起動する割り込み制御構成を示すものである。
この図１において、マスタユニットＭ１，Ｍ２はそれぞれ同一構成を成しており、マスタユニットＭ１は上記ＣＰＵ１１と、割り込み応答サイクル検出部１２と、バス調停部１３と、スプリアス割り込み制御部１４と、バッファ１５〜１７とにより構成されている。
同様に、マスタユニットＭ２は、ＣＰＵ２１と、割り込み応答サイクル検出部２２と、バス調停部２３と、スプリアス割り込み制御部２４と、バッファ２５〜２７とにより構成されている。
【００１６】
スレーブユニットＳ１〜Ｓｎから出力された割り込みは、マスタユニットＭ１，Ｍ２の各スプリアス割り込み制御部１４、２４を介してＣＰＵ１１，ＣＰＵ２１に入力されるようになっている。
マスタユニットＭ１，Ｍ２の各ＣＰＵ１１，ＣＰＵ２１はこの割り込みを入力することにより、割り込みを検出し、各ＣＰＵ１１，ＣＰＵ２１は割り込み応答サイクルを実行する。
各ＣＰＵ１１，ＣＰＵ２１がこの割り込み応答サイクルを実行すると、割り込み応答サイクル検出部１２、２２はそれぞれ割り込み応答サイクルのために共通バスを獲得する必要が発生したことをバス調停部１３、２３に通知するようになっている。
【００１７】
バス調停部１３、２３は、共通バスの制御権を求め、バス調停を行うようになっている。
共通バスの制御権を獲得したマスタユニットは、共通バスの制御を開始するとともに、共通バスの制御権を獲得したことを他マスタユニットのスプリアス割り込み制御部２４、あるいは１４へ通知する。
他マスタユニットが共通バスの制御権を獲得したことを検出したスプリアス割り込み制御部２４、あるいは１４は、ＣＰＵ２１、あるいはＣＰＵ１１ヘバスエラー信号を出力し、スプリアス割り込みとして割り込み応答サイクルを終了させると同時に、ＣＰＵ２１、あるいはＣＰＵ１１へスレーブユニットＳ１〜Ｓｎから出力される割り込み中継を停止する。
【００１８】
このように、あるマスタユニットが、共通バスの制御権を獲得した時点でスプリアス割り込みの判定を行い、共通バスの制御権を獲得できなかったマスタユニットの割り込み応答サイクルをスプリアス割り込みとして終了させることにより、速やかに割り込み応答サイクル開始以前の処理に復帰させること可能とするようにしている。
【００１９】
上記共通バスの制御権を獲得した唯一のマスタユニットは、バス獲得信号１１５あるいは２１５によりバッファ１５〜１７あるいは２５〜２７をイネーブルし、割り込みを発生させたスレーブユニットからべクタ番号を取得するために、共通バス上の割り込み応答サイクルを実行する。
バッファ１５〜１７はマスタユニットＭ１とスレーブユニットＳ１〜Ｓｎ間に接続されたアドレスバス１２０、データバス１３０に挿入され、またバス制御信号１４０を伝送するようになっている。
同様にして、バッファ２５〜２７もマスタユニットＭ２とスレーブユニットＳ１〜Ｓｎ間に接続されたアドレスバス１２０、データバス１３０、に挿入され、また、バス制御信号１４０を伝送するようになっている。
【００２０】
また、バス調停部１３から出力されるバス獲得信号１１５は、他マスタユニットＭ２内のスプリアス割り込み制御部２４に入力され、バス調停部２３から出力されるバス獲得信号２１５は他マスタユニットＭ１のスプリアス割り込み制御部１４へ入力され、それぞれ共通バスの制御権を獲得したことを通知する。
これらのスプリアス割り込み制御部１４、２４は図２に示すように構成されている。この図２はスプリアス割り込み制御部１４、２４の各内部構成を示すブロック図である。
スプリアス割り込み制御部１４、２４はそれぞれ同一構成を成しているから、スプリアス割り込み制御部１４を代表して述べると、スプリアス割り込み制御部１４は図２から明らかなように、スプリアス割り込み判定部１４１と割り込み中継部１４２とから構成されている。
【００２１】
この図２において、スプリアス割り込み判定部１４１（マスタユニットＭ２側では、図示しないが２４１となる。以下の図２に関する説明では、マスタユニットＭ２側の部材に関しては、括弧内符号のみを記すことにする。）は、スレーブユニットから割り込みが入力されていること、および自マスタユニットＭ１内のＣＰＵ１１により割り込み応答サイクルが実行されている状態で他マスタユニットＭ２が共通バスの制御権を獲得したことを検出するとＣＰＵ１１あるいはＣＰＵ２１へバスエラー信号１１９（２１９）を出力する。
同時に割り込み中継部１４２（２４２）に対し，スプリアス割り込みとなったことを通知し、割り込み中継部１４２（２４２）はＣＰＵ１１あるいはＣＰＵ２１に対するスレーブユニットから出力されている割り込みの中継を停止する。
【００２２】
このように、図１に示すマルチプロセッサ構成におけるスプリアス割り込み制御システムでは、複数のスレーブユニットＳ１〜Ｓｎから出力された割り込みはスプリアス割り込み制御部１４および２４を介してＣＰＵ１１および２１に入力され、割り込みを検出したＣＰＵ１１およびＣＰＵ２１は割り込み応答サイクルを実行する。
割り込み応答サイクル検出部１２および２２により割り込み応答サイクルのために共通バスを獲得する必要が発生したことを通知されたバス調停部１３および２３は共通バスの制御権を求めバス調停を行う。
【００２３】
共通バスの制御権を獲得したマスタユニットは共通バスの制御を開始するとともに、バスを獲得したことを他マスタユニットのスプリアス割り込み制御部２４あるいは１４へ通知する。
他マスタユニットが共通バスの制御権を獲得したことを検出したスプリアス割り込み制御部２４あるいは１４はＣＰＵ２１あるいは１１へバスエラー信号を出力し、スプリアス割り込みとして割り込み応答サイクルを終了させると同時にＣＰＵ２１あるいは１１へスレーブユニットから出力されている割り込みの中継を停止する。
【００２４】
前述のように、あるマスタユニットが共通バスの制御権を獲得した時点でスプリアス割り込みの判定を行い、共通バスの制御権を獲得できなかったマスタユニットの割り込み応答サイクルをスプリアス割り込みとして終了させることにより、速やかに割り込み応答サイクル開始以前の処理に復帰させることを可能とするものである。
【００２５】
次ぎに、この図１に示すマルチプロセッサ構成におけるスプリアス割り込み制御システムにこの発明を適用して、この発明による方法の第１実施の形態の動作に説明する。
この動作の説明に際して、図１および図２において、割り込みを発生させてスレーブユニットのベクタ番号を取得するためのバス調停の結果、マスタユニットＭ２が共通バスの制御権を獲得して割り込み応答サイクルを実行し、マスタユニットＭ１はスプリアス割り込みとなり即座に割り込み応答サイクル開始以前の処理に復帰する場合の各部信号のタイミングチャートを図３に示し、この発明の動作を説明する。
【００２６】
図３（ａ１）〜図３（ａ９）は共通バスの信号を示し、図３（ａ１０）〜図３（ａ１４）はマスタユニットＭ１に関連する信号を示し、図３（ａ１５）〜図３（ａ１８）はマスタユニットＭ２に関連する信号を示している。
サービス要求が発生したスレーブユニットＳ１は、図３（ａ１）に示すように、割り込み信号１６０をアサートしてマスタユニットＭ１およびＭ２に対して、サービス要求があることを通知する。
この割り込み信号１６０はマスタユニットＭ１内のスプリアス割り込み制御部１４およびマスタユニットＭ２内のスプリアス割り込み制御部２４に入力される。
【００２７】
スプリアス割り込み制御部１４あるいは２４は他マスタユニットが割り込み応答サイクルにより共通バスの制御権を獲得していない場合は，図２に示す割り込み信号１６０をＣＰＵ１１およびＣＰＵ２１に、それそれ、図３（ａ１０）、図３（ａ１５）に示すように割り込み信号１１６および２１６として中継する。
割り込み信号を検出したＣＰＵ１１および２１は割り込み応答サイクルを開始し、割り込み応答サイクル制御信号１１０および２１０を監視する割り込み応答サイクル検出部１２および２２に出力する。
【００２８】
割り込み応答サイクル検出部１２および２２は、それぞれこの割り込み応答サイクル制御信号１１０および２１０を入力することにより、割り込み応答サイクルが開始されたために共通バスの制御権を獲得する必要が発生したことを割り込み応答中信号１１１および２１１をアサートして、それぞれバス調停部１３および２３に通知する。
バス調停部１３および２３はそれぞれ図３（ａ２）に示すバス調停信号１７０、図３（ａ３）に示すバス調停信号１８０により共通バスの制御権を求めてバス調停を行う。
【００２９】
バス調停の結果、共通バスの制御権を獲得したバス調停部２３は図３（ａ４）に示すバス獲得信号２１５をアサートしてバッファ２５〜２７をイネーブルし（バス調停部１３は共通バスの制御権を獲得できないため、図３（ａ５）のバス獲得信号１１５は出力されない）、図１、図３（ａ６）に示すアドレスバス１２０に図３（ａ１６）に示すアドレスバス２１２がＣＰＵ２１からスレーブユニットに伝送され、図１、図３（ａ７）に示すデータバス１３０に図３（ａ１７）に示すデータバス２１３がスレーブユニットからＣＰＵ２１に伝送され、図３（ａ１８）に示すバス制御信号２１４（図１、図３（ａ８）では、バス制御信号１４０で示す）がＣＰＵ２１からスレーブユニットに送信され、マスタユニットＭ２内部の割り込み応答サイクルを共通バス上で実行すると同時に、バス獲得信号２１５をマスタユニットＭ１のスプリアス割り込み制御部１４へ出力し、マスタユニットＭ２が共通バスの制御権を獲得したことを通知する。
なお、図３（ａ１０）〜図３（ａ１４）に示すマスタユニットＭ１側の信号については、図３（ａ１５）〜図３（ａ１８）のマスタユニットＭ２側の信号に対応して、１００番台の符号が付されている。
【００３０】
マスタユニットＭ１のスプリアス割り込み制御部１４がこのバス獲得信号２１５を入力することにより、図２に示すこのスプリアス割り込み制御部１４内のスプリアス割り込み判定部１４１は割り込み信号１６０がアサートされていること、かつ、ＣＰＵ１１により割り込み応答サイクルが開始されたことを示す割り込み応答中信号１１１が割り込み応答サイクル検出部１２によりアサートされている状態で、マスタユニットＭ２が共通バスの制御権を獲得したしたことを示すバス獲得信号２１５｛図３（ａ４）｝がアサートされたことにより、ＣＰＵ１１が開始した割り込み応答サイクルは実行不要と判定する。
これらの判定結果により、スプリアス割り込み判定部１４１は、図３（ａ１４）に示すように、バスエラー信号１１９をＣＰＵ１１および割り込み中継部１４２に対しアサートする。
【００３１】
割り込み応答サイクルに対して、図３（ａ１４）に示すバスエラー信号１１９が返送されたＣＰＵ１１は割り込み処理を起動せずスプリアス割り込みとなり、割り込み応答サイクル開始以前の処理に復帰する（図３参照）。
また、割り込み中継部１４２は割り込み応答サイクルに対してバスエラー信号１１９がアサートされたことにより、ＣＰＵ１１に対する図３（ａ１０）に示す割り込み信号１１６をネゲートし、スレーブユニットＳ１から出力されている図３（ａ１）に示す割り込み信号１６０の中継を停止し、中継の再開は再度割り込み信号１６０がアサートされるまで行わない。
したがって、割り込み応答サイクル開始以前の処理に復帰したＣＰＵ１１は次のサービス要求の発生によりスレーブユニットが割り込み信号１６０をアサートするまで割り込み応答サイクルを開始することはない。
【００３２】
このように、この発明の第１実施の形態では、マスタユニットＭ１が実行する割り込み応答サイクルによって共通バスの制御権を獲得する以前にマスタユニットＭ２が実行する割り込み応答サイクルによって共通バスの制御権を獲得したことを通知されると、マスタユニットＭ１のスプリアス割り込み制御部１４が図３（ａ１４）に示すように、バスエラー信号１１９をアサートすることによりマスタユニットＭ１のベクタ取得動作を終わらせ、スプリアス割り込みベクタをプロセッサの内部的に発生させる。
【００３３】
共通バスの制御権を獲得することができなかったマスタユニットは割り込み処理を起動せず、割り込み応答サイクルをスプリアス割り込みとして終了し、割り込み応答サイクル開始以前の処理に復帰する割り込み制御を行うようにしている。
したがって、マスタユニット間のバス調停の結果、共通バスの制御権を獲得できなかったマスタユニットでは速やかにバスエラーを発生させることにより割り込み応答サイクル開始以前の処理に復帰するまでの時間を短くし内部処理の高速化を図ることができる。
【００３４】
次ぎに、この発明の第２実施の形態について説明する。図４はこの発明の第２実施の形態に適用されるマルチプロセッサ構成におけるスプリアス割り込み制御システムのスプリアス割り込み制御部の詳細構成を示すブロック図であり、マスタユニットＭ１の部分のみの構成を示しているが、マスタユニットＭ２のスプリアス割り込み制御部２４も同様に構成されている。
この図４に示すスプリアス割り込み制御部の部分は上記図２で示したスプリアス割り込み制御部１４（２４）の構成に加えて、割り込みパルス監視部１３０（２３０）が付加されている。
【００３５】
すなわち、割り込み中継部１４２（２４２）から出力された割り込み信号１１６（２１６）が割り込みパルス幅監視部１３０（２３０）を介してＣＰＵへ出力されている。
割り込みパルス幅監視部１３０（２３０）は割り込み中継部１４２（２４２）から入力される割り込み信号１１６（２１６）のアサートされている時間を監視し、一定時間以上連続してアサートされ続けている場合のみサービス要求のためにスレーブユニットが出力した割り込みであると認識して、ＣＰＵに対して割り込み信号１１６（２１６）を出力するものである。
【００３６】
ＣＰＵ動作クロックの高速化および高密度実装化が進むシステムでは、ノイズ発生の可能性が高くなっており、通常のＣＰＵはＣＰＵ動作クロックの２クロック程度のパルス幅が入力されても有効な割り込みと認識する可能性があるため、時間的には短時間なノイズに対しても割り込み要求と認識し、割り込み応答サイクルを開始する可能性がある。
そこで、この第２の実施の形態では、一定時間以上連続してアサートされ続けている場合のみサービス要求のためにスレーブユニットが出力した割り込みであると認識してＣＰＵに対して割り込み信号を出力するため、ノイズによる割り込み応答サイクルの開始を防止できるという新たな効果を有する。
【００３７】
【発明の効果】
以上のように、この発明によれば、スプリアス割り込み機能を有するＣＰＵを搭載した複数のマスタユニットと割り込みを発生させることによりマスタユニットにサービスを要求するスレーブユニットを共通バスを介して接続し、スレーブユニットから出力された割り込みはすべてのマスタユニットに入力されるがマスタユニット間のバス調停により共通バスの制御権を獲得した唯一のマスタユニットが割り込み処理を起動し、共通バスの制御権を獲得することができなかったマスタユニットは共通バスの制御権を獲得したマスタユニットから共通バスの制御権を獲得したことを通知され、自ユニット以外のマスタユニットが割り込み処理を起動することが判明した時点で割り込み応答サイクルを終了することが可能となるようにして、共通バスの制御権を獲得することができなかったマスタユニットは割り込み処理を起動せず、割り込み応答サイクルをスプリアス割り込みとして終了し、割り込み応答サイクル開始以前の処理に復帰する割り込み制御を行うようにしたので、共通バスの制御権を獲得できなかったマスタユニットが割り込み応答サイクル開始以前の処理に復帰するまでの時間を短くし内部処理の高速化を図ることができる。
【００３８】
また、共通バスの制御権を獲得できず割り込み応答サイクル開始以前の処理に復帰したマスタユニットにおいて、スレーブユニットから出力された割り込みをＣＰＵに直接入力するのではなく、スプリアス割り込み制御部を介して入力し、スプリアス割り込みとなった場合にはＣＰＵへの割り込み中継を停止するようにしているので、共通バスの制御権を獲得したマスタユニットが実行する割り込み応答サイクルの終了までアサートされ続ける割り込み信号を先にスプリアス割り込みとなった割り込みとは異なる割り込みが入力されたと認識してしまい、割り込み応答サイクルを再び開始することを防止することができるものである。
【図面の簡単な説明】
【図１】この発明によるマルチプロセッサ構成におけるスプリアス割り込み制御方法の第１実施の形態に適用されるマルチプロセッサ構成におけるスプリアス割り込み制御システムの構成を示すブロック図である。
【図２】図１のマルチプロセッサ構成におけるスプリアス割り込み制御システムにおけるスプリアス割り込み制御部の内部構成を示すブロック図である。
【図３】この発明によるマルチプロセッサ構成におけるスプリアス割り込み制御方法の第１実施の形態の動作を説明するためのタイミングチャートである。
【図４】この発明によるマルチプロセッサ構成におけるスプリアス割り込み制御方法の第２の実施の形態に適用されるマルチプロセッサ構成におけるスプリアス割り込み制御システムにおけるスプリアス割り込み制御部の部分の構成を示すブロック図である。
【図５】従来のスプリアス割り込み制御方法を説明するためのタイミングチャートである。
【符号の説明】
Ｍ１，Ｍ２……マスタユニット、Ｓ１〜Ｓｎ……スレーブユニット、１１，２１……ＣＰＵ、１２，２４……割り込み応答サイクル検出部、１３，２３……バス調停部、１４，２４……スプリアス割り込み制御部、１５〜１７，２５〜２７……バッファ、１４１（２４１）……スプリアス割り込み判定部、１４２（２４２）……取り込み中継部、１３０（２３０）……取り込みパルス幅監視部。
【図１】
0003612471.tif 000002
【図２】
0003612471.tif 000003
【図３】
0003612471.tif 000004
【図４】
0003612471.tif 000005
【図５】
0003612471.tif 000006