(57)【要約】  典型的に、処理システムではすべての割り込まれたプログラムストリームのパラメータは第１のプログラムストリームの実行が再開する前に復元されることが保証されるべきである。この転送中に割り込みが発生するならば、全データは保存されないか、または、復元されないことがある。プログラムレジスタ内容およびその他の重大な第１のプログラムストリームのデータのエラーフリー記憶が行われないならば、プロセッサ（１８０）は、レジスタに復元された第１のプログラムストリームのデータが破壊されているかどうかを区別することができない。よって、新しいレジスタアーキテクチャ（１２０，１２１，１２２，１２３，１２４，１２５）が設けられ、割り込まれたプログラムストリームの重大なデータを保存および復元することなく、割り込みプログラムストリームの処理を容易化する。
2007500394.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
複数のレジスタバンクブロックと、
前記複数のレジスタバンクブロックの中から作動される１台のレジスタバンクブロックを選択する割り込みイベントオペレーションに応答し、異なる割り込みイベントオペレーションの結果として前記複数のレジスタバンクブロックの中から異なるレジスタバンクブロックが選択され、前記複数のレジスタバンクブロックの中の唯一のレジスタバンクブロックを作動するレジスタバンクブロックデコーダ回路と
を含む、システム。
【請求項２】
第１のプログラムのデータを記憶し、第２の割り込み優先順位と関連付けられた第２のプログラムのデータを記憶するメモリ回路を含み、
前記プロセッサが前記第１のプログラムのストリームの実行中に前記複数のレジスタバンクブロックから第１のレジスタバンクブロックを利用し、前記第２のプログラムのストリームと関連付けられた割り込みイベントから生ずる割り込みが発生し次第、前記第１のレジスタバンクブロックとは異なり論理的に分離された第２のレジスタバンクブロックを利用して前記第２のプログラムのストリームを実行することを特徴とする、
請求項１に記載のシステム。
【請求項３】
前記第２のプログラムのストリームが前記第１のプログラムのストリームより高い割り込み優先順位を有することを特徴とする、請求項２に記載のシステム。
【請求項４】
入力データバスと、
前記複数のレジスタバンクブロックに結合され、前記レジスタバンクブロックデコーダ回路からレジスタバンク選択信号を受信する選択入力ポートを有し、前記レジスタバンク選択信号に応じて、前記複数のレジスタバンクブロックの中の１台のレジスタバンクブロックを作動し、前記複数のレジスタバンクブロックの中の前記作動された１台のレジスタバンクブロックを前記入力データバスへ結合する入力スイッチング回路と
を含むことを特徴とする、請求項１に記載のシステム。
【請求項５】
前記入力スイッチング回路がマルチプレクサ回路であることを特徴とする、請求項４に記載のシステム。
【請求項６】
出力データバスと、
前記複数のレジスタバンクブロックに結合され、前記レジスタバンクブロックデコーダ回路から前記レジスタバンクブロック選択信号を受信する選択入力ポートを有し、前記複数のレジスタバンクブロックの中の前記作動された１台のレジスタバンクブロックを前記出力データバスへ切り換え結合する出力スイッチング回路と
を含むことを特徴とする、請求項４に記載のシステム。
【請求項７】
前記出力スイッチング回路がマルチプレクサ回路であることを特徴とする、請求項６に記載のシステム。
【請求項８】
割り込み前のスイッチ状態の前記レジスタバンクブロック選択信号から得られたバンクブロック選択データを保存し復元する回路を含み、割り込みイベントが終了し次第、前記入力スイッチング回路および前記出力スイッチング回路に前記保存されたバンクブロック選択データから得られた前記割り込み前のレジスタバンクブロック選択信号が供給される、請求項６に記載のシステム。
【請求項９】
前記レジスタバンクブロック選択信号を保存し復元する前記回路の状態が割り込み優先順位に基づいていることを特徴とする、請求項８に記載のシステム。
【請求項１０】
前記レジスタバンクブロック選択信号が割り込み優先順位だけに基づいていることを特徴とする、請求項６に記載のシステム。
【請求項１１】
前記複数のレジスタバンクブロックからの第１のレジスタバンクブロックが前記複数のレジスタバンクブロックからの第２の別のレジスタバンクブロックと共に同時にイネーブルにされ、前記第２の別のレジスタバンクブロックが前記第１のレジスタバンクブロックとは独立にアドレス指定可能であることを特徴とする、請求項１に記載のシステム。
【請求項１２】
前記レジスタバンクブロックデコーダ回路に結合され、デバッグの停止中に前記複数のレジスタバンクブロック内に保存されたデータにアクセスできるデバッグバンク選択レジスタを含むことを特徴とする、請求項１に記載のシステム。
【請求項１３】
複数のレジスタバンクブロックを準備するステップと、
データ処理のため前記複数のレジスタバンクブロックからの第１のレジスタバンクブロックを利用するステップと、
割り込みイベントを開始する割り込み要求を受信するステップと、
前記割り込み要求が条件を満たすかどうかを判定するステップと、
もしそうであるならば、前記複数のレジスタバンクブロックの中から前記第１のレジスタバンクブロックとは分離した第２のレジスタバンクブロックを選択するステップと、
データ処理のため前記複数のレジスタバンクブロックからの前記第２のレジスタバンクブロック）を利用するステップと、
を含む、データ処理システム内の処理リソースを切り換える方法。
【請求項１４】
第１のプログラムのストリームが前記第１のレジスタバンクブロックを利用するため準備され、第２のプログラムのストリームが前記第２のレジスタバンクブロックを利用するため準備されることを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記第１のプログラムのストリームが前記第２のプログラムのストリームより低い割り込み優先順位を有し、その割り込み優先順位は前記割り込み要求が条件を満たすかどうかを判定するステップで使用されることを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記第１のプログラムのストリームおよび前記第２のプログラムのストリームを実行するプロセッサを準備するステップを含むことを特徴とする、請求項１４に記載の方法。
【請求項１７】
前記第２のプログラムのストリームの実行を停止するステップと、
前記第１のレジスタバンクブロックを選択するステップと、
前記第１のプログラムのストリームの実行を再開するステップと
を含むことを特徴とする、請求項１６に記載の方法。
【請求項１８】
前記第２のプログラムのストリームの命令の実行が前記第１のプログラムのストリームによる使用が停止された前記第１のレジスタバンクブロックの内容を変更することなく行われることを特徴とする、請求項１７に記載の方法。
【請求項１９】
前記第１のプログラムのストリームに関連したプログラムのストリームのデータを記憶する第１のメモリ領域を有するメモリ回路を準備するステップを含むことを特徴とする、請求項１３に記載の方法。
【請求項２０】
前記第１のプログラムのストリームおよび前記第２のプログラムのストリームがレジスタバンクブロックの内容を保存および復元する命令データを内部に格納していないことを特徴とする、請求項１４に記載の方法。
【請求項２１】
複数のレジスタバンクブロックを準備する第１の命令データと、
前記複数のレジスタバンクブロックの中から作動される１台のレジスタバンクブロックを選択する割り込みイベントオペレーションに応答し、異なる割り込みイベントオペレーションの結果として前記複数のレジスタバンクブロックの中から異なるレジスタバンクブロックが選択され、前記複数のレジスタバンクブロックの中の１台のレジスタバンクブロックを分離して作動するレジスタバンクブロックデコーダ回路を準備する第２の命令データと
を含む、処理システムを実現するためのデータが記憶された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセッサアーキテクチャの分野に係わり、特にマイクロコントローラと共に使用するデータレジスタアーキテクチャの分野に関する。したがって、本発明の目的は、割り込まれたプログラムストリームの重大なデータを保存および復元することなく、割り込みプログラムストリームの実行を容易化するためのシステムを提供することである。
【背景技術】
【０００２】
プログラムストリームデータは典型的にメモリ回路に記憶され、特定のルーチンのためのプログラムデータ内の符号化された命令がプロセッサによって実行され、割り込みが発生するとき、あるプログラムストリームが別のプログラムストリームの実行を中断する。各プログラムストリームを構成する複数の命令はメモリ回路内の固有のロケーションに記憶される。プログラムストリーム命令は、プロセッサが種々のタスクを実行することを可能にさせる。各プログラムストリームからの命令は典型的に順次に取り出され、同時に一つずつ処理される。
【０００３】
プログラムストリームからの命令を処理する間に、プロセッサはプログラムレジスタを利用する。これらのレジスタは、マイクロプロセッサによる超高速直接アクセスをサポートする、プロセッサ内のメモリロケーションである。たとえば、一部のオペレーションは特にレジスタ内で直接的にデータを処理するためのものである。メモリ回路から読み出されたプログラムストリームデータはこれらのレジスタに記憶され、プロセッサはそこに記憶された値に論理演算および算術演算を実行する。第１のプログラムストリームの実行が第２の他のプログラムストリームによって割り込まれるとき、第１のプログラムストリームに対応するプログラムレジスタの内容は、割り込むプログラムが同じプログラムレジスタのセットを利用できるようにするために、典型的に他の場所に記憶される。割り込むプログラム、すなわち、第２のプログラムストリームがその命令のシーケンスを終了すると、第１のプログラムストリームに対応するプログラムレジスタの内容が復元され、第１のプログラムストリームの実行は割り込みが発生したプログラムカウンタの次のプログラムカウンタで再開する。よって、第１のプログラムストリームに対応する全情報は割り込み側の第２のプログラムストリームのサービスの前に典型的に保存される。
【０００４】
当然ながら、このようなシステムでは、すべての割り込まれるプログラムストリームのパラメータは第１のプログラムストリームの実行が再開する前に復元されることが保証されるべきである。この転送中に割り込みが発生するならば、全データは記憶されないか、または、復元されないことがある。プログラムレジスタ内容およびその他の重大な第１のプログラムストリームのデータのエラーフリー記憶が行われないならば、プロセッサは、レジスタに復元された第１のプログラムストリームのデータが破壊されているかどうかを区別することができない。すべての第１のプログラムストリームのデータが転送されることを保証するために、割り込みタスクは復元プロセスが終了するまで待つことが必要であり、貴重な処理時間を浪費し、消費電力を増加させるという結果になる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、割り込まれたプログラムストリームの重大なデータを保存および復元することなく、割り込みプログラムストリームの処理を容易化する必要がある。
【課題を解決するための手段】
【０００６】
本発明によれば、プロセッサと、複数のレジスタバンクブロックと、複数のレジスタバンクブロックの中から作動される１台のレジスタバンクブロックを選択する割り込みイベントオペレーションに応答し、異なる割り込みイベントオペレーションの結果として複数のレジスタバンクブロックの中から異なるレジスタバンクブロックが選択される、レジスタバンクブロックデコーダ回路とを含む、システムが提供される。
【０００７】
本発明によれば、複数のレジスタバンクブロックを準備するステップと、データ処理のため複数のレジスタバンクブロックからの第１のレジスタバンクブロックを利用するステップと、割り込みイベントを開始する割り込み要求を受信するステップと、割り込み要求が条件を満たすかどうかを判定し、もしそうであるならば、複数のレジスタバンクブロックの中から第１のレジスタバンクブロックとは分離した第２のレジスタバンクブロックを選択するステップと、データ処理のため複数のレジスタバンクブロックからの第２のレジスタバンクブロックを利用するステップと、を含むデータ処理システム内の処理リソースを切り換える方法が提供される。
【０００８】
本発明によれば、複数のレジスタバンクブロックを準備する第１の命令データと、複数のレジスタバンクブロックの中から作動される１台のレジスタバンクブロックを選択する割り込みイベントオペレーションに応答し、異なる割り込みイベントオペレーションの結果として複数のレジスタバンクブロックの中から異なるレジスタバンクブロックが選択され、複数のレジスタバンクブロックの中の１台のレジスタバンクブロックを分離して作動するレジスタバンクブロックデコーダ回路を準備する第２の命令データとを含む、処理システムを実現するためのデータが記憶された記憶媒体が提供される。
【０００９】
本発明の典型的な実施形態は添付図面とともに説明される。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の一実施形態による超大規模集積（ＶＬＳＩ）ペリフェラルバスブリッジ（ＶＰＢブリッジ）１００を、上位レベル図として、説明する図である。プロセッサ１８０、または、マイクロコントローラは、ＶＰＢブリッジ１００と、ランダムアクセスメモリ（ＲＡＭ）若しくは外部ハイデータメモリ（ＨＤＡＴＡ）の形式をしたメモリ回路１８２とに結合される。プロセッサ内には、汎用特殊機能レジスタ（ＧＳＦＲ）ブロック１８１内に配置された複数の汎用特殊機能レジスタ（ＧＳＦＲ）が配置される。第１の複数の入力ポートは入力信号を受信するためＶＰＢブリッジに設けられ、第２の複数の出力ポートは出力信号を供給するためＶＰＢブリッジに設けられる。表１はＶＰＢブリッジ１００との間で授受される入力信号および出力信号を説明する。
【００１１】
図１に示されているように、２台のペリフェラル装置１９１および１９２が、３２ビットペリフェラルデータ出力バス、すなわち、ｐｄｏ［３１：０］１５２と、３２ビットペリフェラルデータ入力バス、すなわち、ｐｄｉ［３１：０］１５１とに接続される。ペリフェラル０選択信号ｐｓｅｌ０は、第１のペリフェラル装置１９１上のポートをイネーブルにするため供給され、ペリフェラル１選択信号ｐｓｅｌ１は第２のペリフェラル装置１９２上のポートをイネーブルにするため供給される。表１に掲載されたペリフェラル選択信号ｐｓｅｌ０〜ｐｓｅｌ３１は、ペリフェラル装置１９１および１９２を選択的にイネーブルおよびディスエーブルにするために使用される。ＶＰＢブリッジ１００との間で授受される入力信号および出力信号は表１に要約される。
【表１】
2007500394.tif 000003
2007500394.tif 000004
2007500394.tif 000005
【００１２】
３２個のＶＰＢペリフェラル装置選択信号だけが表１に掲載されているが、ＶＰＢブリッジは３２個だけのペリフェラル装置選択信号に制限されることなく、ペリフェラル装置選択信号の個数は設計上の選択事項である。
【００１３】
図２は図１に表されたＶＰＢブリッジ１００の下位レベル図を示す。ＶＰＢブリッジ１００は、８ビット出力マルチプレクサ（ＭＵＸ）１１１、１１２、１１３および１１４の形をした複数の出力スイッチング回路を、ペリフェラル装置１９１および１９２に結合され、３２ビット出力信号をそこへ供給する３２ピットペリフェラルデータ出力バスｐｄｏ［３１：０］にインターフェイスさせることが可能である。第１の出力ＭＵＸ１１１は第１の８ビットのデータ出力のセットｐｄｏ［７：０］を供給し、第２の出力ＭＵＸ１１２は第２の８ビットのデータ出力のセットｐｄｏ［１５：８］を供給し、第３の出力ＭＵＸ１１３は第３の８ビットのデータ出力のセットｐｄｏ［２３：１６］を供給し、第４の出力ＭＵＸ１１４は第４の８ビットのデータ出力のセットｐｄｏ［３１：２４］を供給する。第１〜第４の８ビットデータ出力信号のセットは、３２ビットペリフェラル装置へ供給される３２ビットデータ出力信号を構成する。同様に、ペリフェラル装置は、ペリフェラルデータ入力バスｐｄｉ［３１：０］上で３２ビット出力信号をブリッジ１００へ供給する。第１の８ビット入力信号のセットｐｄｉ［７：０］は第１の入力ＭＵＸ１３１の入力ポートへ供給され、第２の８ビット入力信号のセットｐｄｉ［１５：８］は第２の入力ＭＵＸ１３２の入力ポートへ供給され、第３の８ビット入力信号のセット［２３：１６］は第３の入力ＭＵＸ１３３の入力ポートへ供給され、第４の８ビット入力信号のセット［３１：２４］は第４の入力ＭＵＸ１３４の入力ポートへ供給される。
【００１４】
複数のレジスタバンクブロックであるバンク０〜バンク５に属する第１の６台の８ビットレジスタのセット１２０ａ〜１２５ａは、第１の入力ＭＵＸ１３１の形をした第１の入力スイッチング回路の６台の８ビット出力ポートと、第１の出力ＭＵＸ１１１の６台の８ビット入力ポートとの間に結合される。この第１のレジスタのセットはペリフェラルデータ入力バスから受信されたデータの８ビットｐｄｉ［７：０］を記憶するためのものである。
【００１５】
複数のレジスタバンクブロックであるバンク０〜バンク５に属する第２の６台の８ビットレジスタのセット１２０ｂ〜１２５ｂは、第２の入力ＭＵＸ１３２の形をした第２の入力スイッチング回路の６台の８ビット出力ポートと、第２の出力ＭＵＸ１１２の６台の８ビット入力ポートとの間に結合される。この第２のレジスタのセットはペリフェラルデータ入力バスから受信されたデータの８ビットｐｄｉ［１５：８］を記憶するためのものである。
【００１６】
複数のレジスタバンクブロックであるバンク０〜バンク５に属する第３の６台の８ビットレジスタのセット１２０ｃ〜１２５ｃは、第３の入力ＭＵＸ１３３の形をした第３の入力スイッチング回路の６台の８ビット出力ポートと、第３の出力ＭＵＸ１１３の６台の８ビット入力ポートとの間に結合される。この第３のレジスタのセットはペリフェラルデータ入力バスから受信されたデータの８ビットｐｄｉ［２３：１６］を記憶するためのものである。
【００１７】
複数のレジスタバンクブロックであるバンク０〜バンク５に属する第４の６台の８ビットレジスタのセット１２０ｄ〜１２５ｄは、第４の入力ＭＵＸ１３４の形をした第４の入力スイッチング回路の６台の８ビット出力ポートと、第４の出力ＭＵＸ１１４の６台の８ビット入力ポートとの間に結合される。この第４のレジスタのセットはペリフェラルデータ入力バスから受信されたデータの８ビットｐｄｉ［３１：２４］を記憶するためのものである。レジスタ１２０ａ、１２０ｂ、１２０ｃおよび１２０ｄは、複数のレジスタバンクブロックから第１のレジスタバンクブロック１２０を形成する。レジスタ１２１ａ、１２１ｂ、１２１ｃおよび１２１ｄは、複数のレジスタバンクブロックから第２のレジスタバンクブロック１２１を形成する。レジスタ１２２ａ、１２２ｂ、１２２ｃおよび１２２ｄは、複数のレジスタバンクブロックから第３のレジスタバンクブロック１２２を形成する。レジスタ１２３ａ、１２３ｂ、１２３ｃおよび１２３ｄは、複数のレジスタバンクブロックから第４のレジスタバンクブロック１２３を形成する。レジスタ１２４ａ、１２４ｂ、１２４ｃおよび１２４ｄは、複数のレジスタバンクブロックから第５のレジスタバンクブロック１２４を形成する。レジスタ１２５ａ、１２５ｂ、１２５ｃおよび１２５ｄは、複数のレジスタバンクブロックから第６のレジスタバンクブロック１２５を形成する。
【００１８】
図３は４台の８ビットレジスタ、たとえば、バンク０のレジスタＶＰＢＤ０〜ＶＰＢＤ３である１２０ａ〜１２０ｄを示す。これらのレジスタは、出力ＭＵＸ１１１、１１２、１１３および１１４の入力ポートへの８ビットデータ転送と、それらの出力ＭＵＸの出力ポートに接続されたペリフェラル装置への３２ビットデータ転送を可能にさせる。出力ポート側の出力ＭＵＸ上の３２ビットのデータの書き込みまたは読み出しは、それぞれ４ステップの８ビット読み出しまたは書き込みオペレーションで実行される。図４はデバッグバンク選択（ＤＢＳＥＬ）レジスタ１５０を示し、ＤＢＳＥＬレジスタ１５０はデータレジスタバンク、バンク０〜バンク５のデバッグ可視性を高めるために設けられる。このレジスタは、好ましくは、デバッグ割り込みが動作中であるときに読み出しおよび書き込みをされる。
【００１９】
図５はＶＰＢブリッジ１００内で使用される特殊機能レジスタ（ＳＦＲ）ブロック５０１の上位レベル図を示す。ＳＦＲブロック５０１は、レジスタバンクのバンク０〜バンク５内で使用されるＶＰＢＤ０、ＶＰＢＤ１、ＶＰＢＤ２、ＶＰＢＤ３の実施のため使用される。さらに、ＳＦＲブロック５０１はＤＢＳＥＬレジスタ１５０の実施のため使用される。表２はＳＦＲブロック５０１に供給される入力信号および出力信号を説明する。
【表２】
2007500394.tif 000006
2007500394.tif 000007
【００２０】
入力ポート５０２は、アクセスのため作動させるレジスタバンクを選択するデータレジスタバンク選択信号を受信するため使用される。ＳＦＲブロック５０１内には、第１の入力ＭＵＸ１３１〜第４の入力ＭＵＸ１３４、第１〜第４のレジスタバンク、および、第１の出力ＭＵＸ１１１〜第４の出力ＭＵＸ１１４が配置される。
【００２１】
図６は、６台の８ビットデータレジスタ、たとえば、バンク０〜バンク５に対応するレジスタＶＰＢＤ０〜ＶＰＢＤ５と、入力データＭＵＸ１３１（図２）とを含むレジスタバンクブロック６０１を示す。４台のレジスタバンクブロック６０１がＶＰＢブリッジ１００内で使用され、各レジスタブロックはそれぞれのデータ出力ＭＵＸに結合される。図２に示されるように、第１のレジスタバンクブロックは入力ＭＵＸ１３１とバンク０からバンク５までのＶＰＢＤ０レジスタ１２０ａ〜１２５ａとを含む。第２のレジスタバンクブロックは入力ＭＵＸ１３２とバンク０からバンク５までのＶＰＢＤ１レジスタ１２０ｂ〜１２５ｂを含む。第３のレジスタバンクブロックは入力ＭＵＸ１３３とバンク０からバンク５までのＶＰＢＤ２レジスタ１２０ｃ〜１２５ｃとを含む。第４のレジスタバンクブロックは入力ＭＵＸ１３４とバンク０からバンク５までのＶＰＢＤ３レジスタ１２０ｄ〜１２５ｄを含む。第１〜第４のレジスタバンクブロックは、それぞれ、データ出力ＭＵＸ１１１、１１２、１１３および１１４の第１〜第４の入力ポートに結合される。単一のレジスタバンクとの間で授受される入力信号および出力信号は表３に要約される。
【表３】
2007500394.tif 000008
【００２２】
図７はＶＰＢデータレジスタバンクデコーダ１４０を含むレジスタバンクブロックデコーダ回路７０１を示す。レジスタバンクブロックデコーダ回路７０１は、複数のレジスタバンクブロックの中から作動される１台のレジスタバンクブロックを選択する割り込みイベントオペレーションに応答し、異なる割り込みイベントオペレーションの結果として、複数のレジスタバンクブロックの中から異なるレジスタバンクブロックが選択される。さらに、レジスタバンクブロックデコーダ回路７０１は、割り込み要求を受信し、その割り込み要求の優先順位を判定する割り込み優先順位判定論理回路として機能する。判定された優先順位に応じて、レジスタバンクデコーダ回路７０１は、複数のバンク選択入力ポート６０２からそれぞれのバンク選択入力ポート６０２ａ〜６０２ｆへ、レジスタバンクブロック選択信号ｂａｎｋ０＿ｓｅｌ、ｂａｎｋ１＿ｓｅｌ、ｂａｎｋ２＿ｓｅｌ、ｂａｎｋ３＿ｓｅｌ、ｂａｎｋ４＿ｓｅｌ、および、ｂａｎｋ５＿ｓｅｌを供給する。表４を参照すると、レジスタバンクデコーダ回路との間で授受される入力信号および出力信号が要約されている。
【表４】
2007500394.tif 000009
【００２３】
レジスタバンクデコーダ回路７０１は、レジスタバンク選択出力ポート７０２にレジスタバンク選択信号を生成するためにｉｃ＿ｐｒｉ＿ｔｏｐ信号をデコードする。これらのレジスタバンク選択出力ポート７０２はＳＦＲブロック５０１のレジスタ選択入力ポート５０２に結合される。この回路７０２はさらにデバッグ割り込みレベルを検出し、ｄｂｓｅｌ＿ｅｎ信号がセットされているならば、選択信号を生成するためにｄｂｓｅｌ＿ｐｒｉ入力信号を使用する。
【００２４】
図８は、レジスタバンク選択信号を生成するためにｉｃ＿ｐｒｉ＿ｔｏｐ信号のデコードのため使用されるアドレスデコーダ回路８０１を示す。アドレスデコーダ回路８０１との間で授受される入力信号および出力信号は表５に要約されている。
【表５】
2007500394.tif 000010
2007500394.tif 000011
【００２５】
図９は、ｐｎｒｅｓ、ｐｓｔｂ、および、ｐｗｒｉｔｅ制御信号を生成するＶＰＢ制御ブロック回路９０１を示す。表６はＶＰＢ制御ブロック回路９０１との間で授受される入力信号および出力信号を要約する。
【表６】
2007500394.tif 000012
【００２６】
図１および２を再度参照すると、３２ビットデータを出力ＭＵＸの入力ポートへ書き込むプロセスは、４ステップ、すなわち、４回の８ビット書き込みオペレーションで実行される。データ入力ＭＵＸの出力ポートから３２ビットデータを読み出すプロセスは、４ステップ、すなわち、４回の８ビット読み出しオペレーションで実行される。各割り込みレベルにプライベートなＶＰＢＤ０〜ＶＰＢＤ３レジスタのバンクが与えられることが有益であり、これらのオペレーションはあらゆるステップの間に割り込み可能である。あらゆる時点で、好ましくは、最大で６個の割り込みレベルがこの典型的な実施形態において作動可能である。レジスタのバンク間のスイッチングは、割り込み優先レベル信号（ｉｃ＿ｐｒｉ＿ｔｏｐ）およびＤＢＳＥＬ  ＳＦＲ１５０によって制御される。
【００２７】
図１０はＶＰＢ状態機械の図を示し、データは、以下の関係：
ｘｆｅｒ＿ｓｔａｒｔ＜＝ｍｘｌ＿ｖｐｂ＿ａｃｃ  ＡＮＤ  （（ＮＯＴ  ｍｘｌ＿ｉｄ＿ｘｄｒｄ＿ｎ）  ＯＲ  （ＮＯＴ  ｍｘｌ＿ｉｄ＿ｘｄｗｒ＿ｎ））
が満たされるときに、ＶＰＢブリッジを使用して転送される。
【００２８】
ＶＰＢブリッジ１００は、アイドル状態、すなわち、ステップ１００１を維持し、その間、ｘｆｅｒ＿ｓｔａｒｔ＝０であり、一旦、ｘｆｅｒ＿ｓｔａｒｔ＝１になると、セットアップオペレーションが実行され、ステップ１００２において、出力信号と、入力信号を受信するポートとが選択される。セットアップが完了すると、ストローブ信号がステップ１００３で供給され、出力信号がＶＰＢブリッジ１００から供給され、入力信号がＶＰＢブリッジによって受信される。その後、ＶＰＢブリッジ１００は、アイドル状態、すなわち、ステップ１００１へ戻る。
【００２９】
図１１を参照すると、ＶＰＢブリッジ１００を使用するプログラムストリームの実行のため発生するイベントのシーケンスを説明するフローチャートが表されている。プロセッサ１８０はプログラムストリームのそれぞれを実行するために使用される。Ｎ番目のＶＰＢペリフェラル装置は、ステップ１１０１において、Ｎ番目のレジスタバンクを使用してＮ番目の割り込み優先順位を有するＮ番目のプログラムストリームの実行を開始する。ステップ１１０２おいて、Ｎ番目のプログラムストリームを中断する要求が、（Ｎ＋１）番目の順位を有する（Ｎ＋１）番目のプログラムストリームを実行する（Ｎ＋１）番目のＶＰＢペリフェラル装置によって行われる。ステップ１１０３において、（Ｎ＋１）番目のプログラムストリームの優先順位がＮ番目のプログラムストリームより高いかどうかが判定される。もしそうであるならば、ステップ１１０４において、プロセッサ１８０によるＮ番目のプログラムストリームの処理は中断され、（Ｎ＋１）番目のレジスタバンクが（Ｎ＋１）番目のプログラムストリームを処理するプロセッサへ切り換え結合される。（Ｎ＋１）番目のプログラムストリームの処理は、ステップ１１０５において、（Ｎ＋１）番目のレジスタバンクを使用して始まる。ステップ１１０６において、今度は、（Ｎ＋１）番目のプログラムストリームを中断する要求が、（Ｎ＋２）番目の優先順位を有する（Ｎ＋２）番目のプログラムを実行する（Ｎ＋２）番目のＶＰＢペリフェラル装置によって行われる。ステップ１１０７において、（Ｎ＋２）番目のプログラムストリームの優先順位が（Ｎ＋１）番目のプログラムストリームより高いかどうかが判定される。もしそうであるならば、ステップ１１０８において、（Ｎ＋１）番目のプログラムストリームの処理が中断され、（Ｎ＋２）番目のレジスタバンクが（Ｎ＋２）番目のプログラムストリームを処理するプロセッサに与えられる。プロセッサ１８０は、次に、ステップ１１０９において、（Ｎ＋２）番目のプログラムストリームを処理するため、（Ｎ＋２）番目のレジスタバンクを使用する。（Ｎ＋２）番目のプログラムストリームの処理が、ステップ１１１０において、終了すると、プロセッサは、ステップ１１１１において、（Ｎ＋１）番目のレジスタバンクに切り換えられ、ステップ１１１２において、（Ｎ＋１）番目のプログラムの処理が終了する。その後、ステップ１１１３において、Ｎ番目のレジスタバンクへ切り換えられ、Ｎ番目のプログラムストリームの処理が１１１４で終了する。
【００３０】
このように、Ｎレベルの割り込み優先順位があるならば、（Ｎ＋１）個のレジスタバンクブロックが設けられ、その中には割り込みが使えない状態も含まれる。ＶＰＢペリフェラル装置がバンクレジスタとの間でテータの転送を実行し、優先順位の高い割り込みが発生し、受け付けられるならば、異なるレジスタバンクのセットが割り込み側の第２のプログラムストリームからアクセスできるようにされる。これらの割り込みおよび新しいレジスタの準備は、最高割り込み順位まで起こる。最高優先順位のプログラムストリームが完了すると、その次の優先順位のプログラムストリームは、完了するか、または、割り込み優先順位の高いプログラムストリームによって再び中断されるまで、継続するように命令される。よって、ＶＰＢペリフェラル情報転送の完了は、ＳＦＲ情報を保存し復元するが割り込みルーチンに要求されないので、どのような割り込みのシーケンスに対しても促進される。
【００３１】
説明された典型的なアーキテクチャでは、常に、使用できる割り込みレベルの最大数は、好ましくは、６を超えない。各割り込みレベルは、その割り込みだけが排他的に使用するためのプライベートなＶＰＢＤ０〜ＶＰＢＤ３レジスタのバンクが設けられる。異なる割り込みプログラムストリームによる使用のための異なるレジスタバンクを導入することにより、割り込みハンドラにおけるレジスタの保存および復元オペレーションが避けられる。これは貴重な処理リソースを節約し、消費電力を削減し、その理由は、保存および復元オペレーションが実行されるたびに、論理ゲートがイネーブルおよびディスエーブルにされ、よって、電力を消費するからである。そうではあるが、レジスタを保存および復元する処理時間が高速化されると共に、処理システムによって消費される電力が増加する。
【００３２】
もちろん、システムのデバッグの目的のため、デバッグモードが使える状態にされたとき、全レジスタバンクはアクセス可能である。ＤＢＳＥＬレジスタ１５０のビットＤ３、すなわち、ＥＮをセットすることによる。ＤＢＳＥＬレジスタのビットＤ０〜Ｄ２はバンクを選択するため使用される。ＶＰＢブリッジ１００は３クロックのＶＰＢバスサイクルを実施し、「ｐｅｒｒ」信号および「ｐｒｄｙ」信号をサポートしないことが有益である。各ＶＰＢペリフェラルはメモリ回路１８２内にメモリ空間を割り当てられる。ＶＰＢペリフェラルのアドレスラインおよびクロック信号はブリッジ経由で経路制御されない。メモリアドレスライン（ｍｘｌ＿ａｃｕ＿ｘａｄｒ［１３：０］）はペリフェラルアドレスライン（ｐａ［１３：０］）に直接的に接続される。ＣＰＵクロック（ｍｘｌ＿ｃｌｋ）はペリフェラルクロック（ｐｃｌｋ）に直接的に接続される。説明された現状の実施では、最大で３２台のペリフェラルがＶＰＢブリッジ１００によってサポートされる。当然ながら、ＶＰＢブリッジは、ＶＰＢアドレスデコーダ８０１を変更することにより、あらゆる台数のペリフェラルと共に使用するため拡張可能である。
【００３３】
上記の本発明の実施形態は、割り込みプログラムストリームが割り込みを行い、実行を開始するように命令される前に進行していたＶＰＢペリフェラルアクセスの内容の保存および復元から割り込みプログラムを解放する。その結果として、コード空間だけでなく処理時間も節約される。さらに、コンパイラはＳＦＲ内容を保存し復元するための命令コードを収容する必要がないので、コンパイラ設計は簡単化され、コンパイルされたプログラムストリーム内で利用される命令は少なくなる。
【００３４】
本発明の実施形態の例に表されたＶＰＢブリッジ１００は、当業者に知られた８０５１プロセッサコアと共に使用するため適用可能であり、ここで、８０５１プロセッサは、典型的に、４レベルの割り込み優先レベルを利用する。たとえば、ＶＢＯブリッジ１００は、フィリップスセミコンダクターズによって製造された８０Ｃ５１  ＭＸ１コア（登録商標）マイクロコントローラアーキテクチャ内で使用される。当然ながら、ＶＰＢブリッジ１００は多数の他のプロセッサアーキテクチャに適用可能である。
【００３５】
レジスタバンクブロックデコーダ回路１４０は、任意で割り込み前のスイッチ状態のレジスタバンクブロック選択信号から得られたレジスタバンクブロック選択データを保存し復元する回路１４０ａをさらに含み、割り込みイベントが終了し次第、入力スイッチング回路および出力スイッチング回路は、保存されたバンクブロック選択データから得られた割り込み前のレジスタバンクブロック選択信号が供給される。
【００３６】
多数のその他の実施形態が本発明の精神および範囲を逸脱することなく想定されるであろう。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施形態による超大規模集積（ＶＬＳＩ）ペリフェラルバスブリッジ（ＶＰＢブリッジ）を、上位レベル図として、説明する図である。
【図２】図１に表されたＶＬＳＩペリフェラルバスブリッジ（ＶＰＢブリッジ）を、ＶＰＢブリッジを構成する回路ブロックを表す下位レベル図として、説明する図である。
【図３】４台の８ビットレジスタ、たとえば、バンク０のレジスタＶＰＢＤ０〜ＶＰＢＤ３を説明する図である。
【図４】ＶＰＢデータレジスタバンクのデバッグ可視性の強化のため設けられたデバッグバンクセレクト（ＤＢＳＥＬ）レジスタを説明する図である。
【図５】ＶＰＢレジスタ内で使用される特殊機能レジスタ（ＳＦＲ）の上位レベル図である。
【図６】６台の８ビットデータレジスタ、たとえば、バンク０〜バンク５に対応するレジスタＶＰＢＤ０〜ＶＰＢＤ５と、入力データマルチプレクサ（ＭＵＸ）とを含むレジスタバンクブロックを説明する図である。
【図７】ＶＰＢデータレジスタバンクデコーダを含むレジスタバンクデコーダ回路を説明する図である。
【図８】レジスタバンク選択信号を生成するために、ｉｃ＿ｐｒｉ＿ｔｏｐ信号をデコードするため使用されるアドレスデコーダ回路を説明する図である。
【図９】ｐｎｒｅｓ、ｐｓｔｂおよびｐｗｒｉｔｅ制御信号の生成のためのＶＰＢブリッジ制御ブロック回路を説明する図である。
【図１０】ＶＰＢブリッジ状態機械を説明する図である。
【図１１】ＶＰＢブリッジを使用するプログラムストリームの実行のため発生するイベントのシーケンスを表すフローチャートである。
【図１】
2007500394.tif 000013
【図２】
2007500394.tif 000014
【図３】
2007500394.tif 000015
【図４】
2007500394.tif 000016
【図５】
2007500394.tif 000017
【図６】
2007500394.tif 000018
【図７】
2007500394.tif 000019
【図８】
2007500394.tif 000020
【図９】
2007500394.tif 000021
【図１０】
2007500394.tif 000022
【図１１】
2007500394.tif 000023
【国際調査報告】
2007500394.tif 000024
2007500394.tif 000025
2007500394.tif 000026