(57)【特許請求の範囲】
【請求項１】
プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、
前記複数の処理に分割された命令を実行するパイプラインを制御するパイプライン制御手段と、
優先順位が予め定められている割り込み処理要求を調整する割り込み調停手段と、割り込み無し、割り込みスケジュール及び割り込み発行中という３つの内部状態を有する割り込み発行制御手段
とからなり、
前記割り込み発行制御手段は、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段から出力される調停処理された割り込み信号と、前記パイブライン制御手段の状態とに応じて、割り込みの発行を制御し、
前記割り込み調停手段は、低優先順位の割り込み要求に起因する割り込み処理の実行時に高優先順位の割り込み要求が発生した場合、前記低優先順位の割り込み処理を一時停止して前記低優先順位の割り込み処理を保持し前記高優先順位の割り込み要求に起因する割り込み処理を開始するよう割り込み信号を出力し、前記高優先順位の割り込み処理が終了した後に前記低優先順位の割り込み処理を再開するよう割り込み信号を出力する
ことを特徴とするプロセッサ。
【請求項２】
プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、
前記複数の処理に分割された命令を実行するパイプラインを制御するパイブライン制御手段と、
優先順位が予め定められている割り込み処理要求を、その優先順位の前記命令系列に応じて調停する割り込み調停手段と、
前記割り込み調停手段で調停された割り込み処理要求、及び、前記パイプライン制御手段の状態に応じて、割り込み処理の開始を制御する割り込み発行制御手段
とを有し、
前記割り込み調停手段が、予め優先順位が与えられた複数の割り込み信号を一つの２進数ベクトルとして扱い、初期化信号入力、割り込み処理要求信号入力、割り込み処理終了信号入力、割り込み禁止指示入力、及び、割り込み処理分岐指示出力、待ち割り込み処理要求記憶手段、発行割り込み処理記憶手段及び割り込み処理要求発行記憶手段、第１、第２及び第３の割り込み解除手段、第１、第２及び第３の割り込み割り当て手段、割り込みの優劣を判断するための第１、第２及び第３の算術比較手段、第１、第２及び第３の選択手段、並びに前記第１、第２及び第３の選択手段の制御手段を有し、
前記割り込み発行制御手段は、割り込み無し、割り込みスケジュール及び割り込み発行中という内部状態を有し、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段で調停処理された割り込み信号と前記パイプライン制御手段の状態及び割り込み禁止指示入力の状態に応じて、割り込み分岐アドレスを生成する命令をプログラムカウンタに対して出力するとともに命令パイプラインへの割り込み命令の挿入を許可することで、割り込み処理の開始を制御する
ことを特徴とするプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサに関し、より具体的には割り込み処理機能を具備するプロセッサに関する。
【０００２】
【従来の技術】
プロセッサの高速処理技術の一つとして、パイプライン方式が知られている。パイプライン方式は、プロセッサの動作を制御するプログラムの構成単位であるインストラクション（命令）に対応する処理を複数のステージに分割すると共に、各ステージを処理する１又は複数の処理資源を設け、時間的に隣接する命令系列を異なるステージで処理資源の使用に関して競合しないように同時処理することで、結果的に高いスループットを実現するものである。
【０００３】
このようなパイプライン技術を使用して高いスループットを実現するには、また、高いクロック周波数でプロセッサを動作させる必要がある。
【０００４】
他方、プロセッサ自身の処理、及び、プロセッサとその周辺装置との協調処理を適宜に変更する手段として、割り込み処理がある。時間的、使用する資源の観点から効率的に実行する手段として割り込み処理がある。割り込みは、分岐命令と同じく、命令実行の通常の流れを変えるものであり、そもそもは、算術演算エラー処理及び、各種プロセッサ周辺イベントのリアルタイム応答のために考案されたものである。
【０００５】
【発明が解決しようとする課題】
従来のパイプライン技術では、一つの命令が複数のステージに分割され、実行に複数のサイクルを要し、かつ、隣接する複数の命令がステージは異なるものの同一時刻に実行されているので、図８に示すように、割り込み禁止命令ＴＰＤが発行されているにもかかわらず、割り込み命令ＴＲＰがその後実行され、割り込み分岐処理ルーチンアドレスＶＥＣｎが読み出されている。即ち、従来例では、割り込みの禁止・許可命令の時刻正確性及び割り込み処理後のマシン状態の復帰等の保証が、プログラムに依存するという問題があった。また、これらの保証要件を満たす正確な割り込みの実現が困難であるという問題があった。
【０００６】
本発明は、このような問題を解決するプロセッサを提示することを目的とする。
【０００７】
【課題を解決するための手段】
本発明に係るプロセッサは、プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、前記複数の処理に分割された命令を実行するパイプラインを制御するパイプライン制御手段と、優先順位が予め定められている割り込み処理要求を調整する割り込み調停手段と、割り込み無し、割り込みスケジュール及び割り込み発行中という３つの内部状態を有する割り込み発行制御手段とからなり、前記割り込み発行制御手段は、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段から出力される調停処理された割り込み信号と、前記パイブライン制御手段の状態とに応じて、割り込みの発行を制御し、前記割り込み調停手段は、低優先順位の割り込み要求に起因する割り込み処理の実行時に高優先順位の割り込み要求が発生した場合、前記低優先順位の割り込み処理を一時停止して前記低優先順位の割り込み処理を保持し前記高優先順位の割り込み要求に起因する割り込み処理を開始するよう割り込み信号を出力し、前記高優先順位の割り込み処理が終了した後に前記低優先順位の割り込み処理を再開するよう割り込み信号を出力することを特徴とする。
本発明に係るプロセッサは、プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、前記複数の処理に分割された命令を実行するパイプラインを制御するパイブライン制御手段と、優先順位が予め定められている割り込み処理要求を、その優先順位の前記命令系列に応じて調停する割り込み調停手段と、前記割り込み調停手段で調停された割り込み処理要求、及び、前記パイプライン制御手段の状態に応じて、割り込み処理の開始を制御する割り込み発行制御手段とを有し、前記割り込み調停手段が、予め優先順位が与えられた複数の割り込み信号を一つの２進数ベクトルとして扱い、初期化信号入力、割り込み処理要求信号入力、割り込み処理終了信号入力、割り込み禁止指示入力、及び、割り込み処理分岐指示出力、待ち割り込み処理要求記憶手段、発行割り込み処理記憶手段及び割り込み処理要求発行記憶手段、第１、第２及び第３の割り込み解除手段、第１、第２及び第３の割り込み割り当て手段、割り込みの優劣を判断するための第１、第２及び第３の算術比較手段、第１、第２及び第３の選択手段、並びに前記第１、第２及び第３の選択手段の制御手段を有し、前記割り込み発行制御手段は、割り込み無し、割り込みスケジュール及び割り込み発行中という内部状態を有し、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段で調停処理された割り込み信号と前記パイプライン制御手段の状態及び割り込み禁止指示入力の状態に応じて、割り込み分岐アドレスを生成する命令をプログラムカウンタに対して出力するとともに命令パイプラインへの割り込み命令の挿入を許可することで、割り込み処理の開始を制御することを特徴とする。
【０００８】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【０００９】
図１は、本発明の一実施例の概略構成ブロック図を示す。１０は、３つの独立したアドレス入力ＲＡ，ＲＢ，ＷＡ、これらの各アドレスＲＡ，ＲＢ，ＷＡに対応するレジスタの内容を出力するデータ出力ＱＡ，ＱＢ、レジスタへデータを入力するデータ入力ＤＩ、及び、レジスタへの書き込みを制御する書き込みイネーブル信号の入力端子ＷＥを有するレジスタ・ファイル（ＲＧＦ）である。
【００１０】
１２は、２つのデータ入力ＳＡ，ＳＢ、これらの入力データの演算結果のデータ出力ＤＯ及び演算制御入力ｃｎｔを有する演算器（ＬＩＵ）であり、１４は、２つのデータ入力ＳＡ，ＳＢ、これらの入力データの演算結果のデータ出力ＤＯ、及び演算制御入力ｃｎｔを有する演算器（ＳＩＵ）である。
【００１１】
１６はデータ及びインストラクションを記憶するメモリシステム（ＭＥＭ）であって、データ・アドレス入力ＤＡ、データ入出力ＤＩＯ、インストラクション・アドレス入力ＩＡ及びインストラクション出力ＩＳＯを有し、ＲＯＭ、ＲＡＭ、磁気ディスク及び外部Ｉ／Ｏ等からなる。メモリ・システム１６はまた、キャッシュ及び仮想記憶等の手法で階層化されて構成されることもある。
【００１２】
１８は、２つのデータ入力ＳＡ，ＳＢ、１つのデータ出力ＤＯ、アドレス出力ＤＡ、メモリ入出力ＭＩＯ及び制御入力ｃｎｔを有し、制御入力ｃｎｔに供給される制御信号に従い、データ入力ＳＡ，ＳＢの入力データから生成したアドレスをアドレス出力ＤＡから出力し、メモリ入出力ＭＩＯを経由してレジスタ・ファイル（ＲＧＦ）１０とメモリ・システム（ＭＥＭ）１６との間でデータを相互に転送し、また、プロセッサ外の素子とデータを授受するためのポートＥＸＴ＿ＩＯを利用して装置外の回路との間でデータを転送するメモリ・インタフェース（ＭＩＦ）である。
【００１３】
２０は、レジスタ・ファイル読み出しアドレス出力ＲＡ，ＲＢ、レジスタ・ファイル書き込み制御信号出力ＷＥ、レジスタ・ファイル書き込みアドレス出力ＷＡ、演算器制御信号出力ＣＳＵ，ＣＬＵ、メモリ・インタフェース制御信号出力ＣＭＩ、データ入力ＤＩ、メモリ入力ＩＩＮ、メモリ・アドレス出力ＰＣＯ、初期化入力ＲＳＴ＿Ｉ、割り込み処理復帰命令検出出力ＲＴＰ＿Ｏ及び割り込み処理分岐指示出力ＶＥＣ＿Ａを有し、メモリ・アドレス出力ＰＣＯから出力されるアドレスで特定されるメモリ・システム１６内の記憶位置からインストラクションを読み出してメモリ入力ＩＩＮから取り込み、そのインストラクションに従い、レジスタ・ファイル（ＲＧＦ）１０、演算器（ＬＩＵ，ＳＩＵ）１２，１４及びメモリ・インタフェース（ＭＩＦ）１８を制御するシーケンサ（ＳＥＱ）である。
【００１４】
２２は、データ入力ＳＡ，ＳＢ、データ出力ＤＯ、アドレス出力ＰＣＯ及び制御入力ＣＮＴを有するプログラム・カウンタ（ＰＣ）であり、制御入力ＣＮＴに入力される制御信号に応じてアドレスをアドレス出力ＰＣＯから出力する。
【００１５】
レジスタ・ファイル１０のデータ出力ＱＡは、演算器１２、１４、メモリ・インタフェース１８及びプログラム・カウンタ２２の各データ入力ＳＡ、並びにシーケンサ２０のデータ入力ＤＩに供給されている。
【００１６】
レジスタ・ファイル１０のデータ出力ＱＢは、演算器１２，１４、メモリ・インタフェース１８及びプログラム・カウンタ２２の各データ入力ＳＢに供給されている。
【００１７】
演算器１２，１４、メモリ・インタフェース１８及びプログラム・カウンタ２２の各データ出力ＤＯは、レジスタ・ファイル１０のデータ入力ＤＩに接続されている。
【００１８】
メモリ・インタフェース１８のメモリ入出力ＭＩＯは、メモリ・システム１６のデータ入出力ＤＩＯに接続され、メモリ・インタフェース１８のアドレス出力ＤＡは、メモリシステム１６のデータ・アドレス入力ＤＡに接続されている。
【００１９】
プログラム・カウンタ２２のメモリ・アドレス出力ＰＣＯは、メモリ・システム１６のインストラクション・アドレスＩＡに接続されている。
【００２０】
シーケンサ２０のインストラクション入力ＩＩＮは、メモリ・システム１６のインストラクション出力ＩＳＯに接続されている。
【００２１】
シーケンサ２０のレジスタ・ファイル読み出しアドレス出力ＲＡ，ＲＢ、レジスタ・ファイル書き込み制御信号出力ＷＥ及びレジスタ・ファイル書き込みアドレス出力ＷＡはそれぞれ、レジスタ・ファイル１０のレジスタ・ファイル読み出しアドレス入力ＲＡ，ＲＢ、書き込み制御信号入力ＷＥ及び書き込みアドレス入力ＷＡに接続されている。
【００２２】
シーケンサ２０の演算器制御信号出力ＣＳＵ，ＣＬＵはそれぞれ、演算器１２，１４の制御信号入力ｃｎｔに接続されている。シーケンサ２０のメモリ・インタフェース制御信号出力ＣＭＩは、メモリ・インタフェース１８の制御信号入力ｃｎｔに接続されている。
【００２３】
図１に示すプロセッサの動作、特にパイプライン処理の動作を詳細に説明する。このプロセッサでは、プロセッサの動作を規定するプログラムの構成単位であるプロセッサ命令は、プロセッサ動作としては、複数のステージに分割されて時間的に隣接する命令系列が異なるステージでオーパーラップして処理される。
【００２４】
図２は、シーケンサ２０の概略構成ブロック図を示す。メモリ・システム１６から出力された命令は、命令入力ＩＩＮに入力し、パイプラインの各ステージを規定する記憶手段（ＩＤ＿ＲＥＧ）３０、同（ＥＸ＿ＲＥＧ）３４及び同（ＷＢ＿ＲＥＧ）３６をサイクルに従って転送される。各レジスタ３０，３４，３６の出力は、パイプライン制御手段（ＮＳＭ）３８に入力される。パイプライン制御手段３８は、記憶手段３０，３４，３６の各入力と遷移前の自身の状態から、各資源に対する制御信号ＲＡ，ＲＢ，ＷＥ，ＷＡ，ＣＭＩ，ＣＳＵ，ＣＬＵを生成する。
【００２５】
各命令は、下記のように各ステージで時分割で処理される。
【００２６】
命令取り込み（ＩＦ）ステージでは、プログラム・カウンタ２２のプログラム・カウンタ出力ＰＣＯから出力されたアドレスが、メモリ・システム１６のインストラクション出力ＩＳＯからシーケンサ・インストラクション入力ＩＩＮへ供給され、実行命令がシーケンサ２０に取り込まれる。
【００２７】
命令デコード（ＩＤ）ステージでは、シーケンサ２０は、取り込んだ命令をデコードし、命令の実行に必要なオペランドをレジスタファイル１０等から出力させる。デコードされた命令が分岐命令の場合、分岐の正否が評価され、分岐成立の時、プログラムカウンタＰＣは分岐先アドレスを発生する。
【００２８】
実行（ＥＸ）ステージでは、必要なオペランドがレジスタファイル１０のデータ出力ＱＡ、ＱＢから出力されると、シーケンサ２０は、演算器１２，１４及びメモリ・インタフェース１８等のなかから、命令の実行に必要なユニットを選択して命令を実行させる。命令が手続き読み出し分岐命令の場合、戻り先アドレスがプログラムカウンタ２２からレジスタ・ファイル１０に送出される。
【００２９】
ライトバック（ＷＢ）ステージでは、演算器１２，１４及びメモリ・インタフェース１８で命令の実行が終了すると得られた処理結果が、レジスタ・ファイル１０に格納される。
【００３０】
各資源の占有状況及びデータ依存関係に応じて命令の並列実行が可能であり、処理結果に違いが生じない限り、実行可能な命令は可能な限り即座に実行されるようになっている。
【００３１】
図３は、以上のパイプラインで命令が各ステージで分割されて処理される様子を示す。
【００３２】
次に、割り込み動作の概要を説明する。割り込み処理では、複数の割り込み要求毎に予め分岐先アドレスが設定されている。割り込み要求入力があったとき、プログラム・カウンタ２２は、割り込み要求入力に対応して予め設定された分岐先アドレスを発生し、プログラム中の割り込みルーチンを実行する。また、シーケンサ２０は割り込み禁止状態になり、レジスタ値退避等のクリティカル・セッションが割り込みルーチンの最初の部分で実行され、クリティカル・セッション終了後に必要に応じて割り込み受付可能状態になる。このときに割り込み処理要求が無かった場合、プログラム・カウンタ２２は、本来処理されるプログラムアドレス値をアドレス出力ＤＯから出力し、レジスタ・ファイル１０に書き込む。
【００３３】
割り込みルーチンの最後の部分では、割り込み禁止状態になり、先に退避したレジスタの値が復帰される。即ち、割り込みルーチンの最後の命令は割り込み復帰命令になっており、割り込み復帰命令がデコードされたとき、割り込み禁止状態が解除され、プログラム・カウンタ２２は、次アドレスとしてレジスタ・ファイル１０のアドレス値を選択する。これにより、割り込みルーチンから通常処理へ制御が復帰する。
【００３４】
割り込み発行制御手段を説明する。シーケンサ２０は、割り込み調停手段（ＡＳＭ）４０及び割り込み発行制御手段（ＶＳＭ）４２を具備する。割り込み調停手段４０で調停された割り込み信号ＶＥＣ＿Ｏが割り込み発行制御手段４２に入力されると、割り込み発行制御手段４２は、パイプライン制御手段３８の状態ＰＳＭ＿Ｏ及び割り込み禁止信号ＴＰＤに応じて、次アドレス出力ＮＸＴＡから、命令に応じてパイプライン制御手段３８が発生する次アドレス制御信号に変えて、プログラムカウンタＰＣに割り込み分岐アドレスの出力を指示すると共に、ＴＲＰ＿ＥＸを活性化する。ＴＲＰ＿ＥＸは、図２の選択器３２の制御入力に接続されており、活性化によって記憶手段（ＥＸ＿ＲＥＧ）３４に割り込み命令が入力される。これによって、プログラムは、割り込み分岐の処理を開始する。
【００３５】
割り込み発行制御手段４２は、パイプライン制御手段３８の状態に応じて以下のように割り込み発行を制御する。
【００３６】
割り込み調停手段４０で調停された割り込み信号が割り込み発行制御手段４２に入力されたとき、プログラム・カウンタ２２は、直ちに割り込み分岐アドレスを出力し、２サイクル後に割り込み発行信号を出力する。これによって、割り込み処理ＴＲＰ、命令及び割り込み分岐アドレスコマンドが、空きサイクル無しに最小レイテンシで実行できる。このとき、割り込み調停手段４０は、割り込み無し状態から割り込みスケジューリング状態及び割り込み発行状態へと遷移する。図４は、パイプラインでの割り込み処理の様子の一例を示す。
【００３７】
また、パイプライン制御手段３８が割り込み禁止命令をデコードし、割り込み禁止信号ＴＰＤを活性化したとき、割り込み発行制御手段４２は、割り込みを発行せずに割り込み発行状態へ遷移し、割り込み分岐アドレスを発生しない。これによって、割り込み禁止命令後の割り込み処理への分岐が回避される。
【００３８】
割り込み調停手段４０の動作を説明する。本実施例のプロセッサは、複数の割り込みを具備し、同時に複数の割り込み処理要求があったときは、次のように各割り込みを調停する。即ち、低優先順位の割り込み処理実行時に、より高位の割り込み処理要求があったときは、より高位の割り込み処理要求が実行される。高位の割り込み処理が終了するまで低優先順位の割り込み処理は中断され、高位の割り込み処理が終了した後に、再開される。
【００３９】
ある優先順位の割り込み処理が行われているときに、同優先順位又は低位の割り込み要求があったときには、新たな割り込み処理要求を記憶しておき、実行中の割り込み処理が終了した後に、記憶していた割り込み要求の処理を開始する。
【００４０】
処理中の割り込みが終了した時、割り込み処理要求と待ち割り込み要求を比較して優先順位の高い割り込み処理が実行される。
【００４１】
割り込み調停手段４０の構成又は機能を詳細に説明する。図５は、割り込み調停手段４０の概略構成ブロック図を示す。各信号の記号は、以下の内容を示す。即ち、
ＲＳＴ：初期化信号入力
ＲＥＱ＿Ｖ（８）：割り込み処理要求信号入力
ＲＴＰ：割り込み処理終了信号入力
ＴＰＤ：割り込み禁止信号入力
Ｖ＿ＳＴ：割り込み発行制御手段状態入力
ＶＥＣ＿Ｏ：割り込み処理分岐指示出力
である。
【００４２】
また、６２は待ち割り込み処理要求記憶手段（ＡＳＴ＿Ｖ）、６４は発行割り込み処理記憶手段（ＣＵＲ＿Ｖ）、６６は割り込み処理要求発行記憶手段（ＶＥＣ＿Ａ）である。本実施例では、割り込み処理要求は８種類あり、８ビット２進数の各桁でどの種類の割り込み処理要求かが示されるようになっている。即ち、割り込みの状態が２進数８ビットのベクトルの各成分として表現される。本実施例の手段６２，６４，６６は、この８ビットに対応している。従って、優先度の低い割り込みを８ビットの下位桁へ割り当てることにより、８ビット２進数の大小比較により割り込みの優先順位を判別できる。
【００４３】
優先順位に応じた割り込みの解除手段として、第１の解除手段（ｎｅｇ＿ａ）７４、第２の解除手段（ｎｅｇ＿ｃ）７６及び第３の解除手段（ｎｅｇ＿ｒ）７０を具備する。第１の解除手段（ｎｅｇ＿ａ）７４は、待ち割り込み処理要求記憶手段６２の出力が入力し、ＡＳＴ＿Ｖ＿Ｒ信号を出力する。第２の解除手段（ｎｅｇ＿ｃ）７６は、発行割り込み処理記憶手段（ＣＵＲ＿Ｖ）６４の出力が入力し、ＣＵＲ＿Ｖ＿Ｒ信号を出力する。第３の解除手段（ｎｅｇ＿ｒ）７０は、ＲＥＱ＿Ｖ信号が入力し、ＲＥＱ＿Ｖ＿Ｒ信号を出力する。
【００４４】
優先順位に応じた割り込みの割り当て手段（Ａｓｓｅｒ  Ｖｅｃ）として、第１の割り当て手段（ａｓｔ＿ａ）７２、第２の割り当て手段（ａｓｔ＿ｒ）６８及び第３の割り当て手段（ａｓｔ＿ｃ）７８を具備する。第１の割り当て手段（ａｓｔ＿ａ）７２は、待ち割り込み処理要求記憶手段（ＡＳＴ＿Ｖ）６２の出力が接続し、ＡＳＴ＿Ｖ＿Ｈ信号を出力する。第２の割り当て手段（ａｓｔ＿ｒ）６８は、ＲＥＱ＿Ｖ信号が入力し、ＲＥＱ＿Ｖ＿Ｈ信号を出力する。第３の割り当て手段（ａｓｔ＿ｃ）７８は、発行割り込み処理記憶手段（ＣＵＲ＿Ｖ）６４の出力が接続し、ＣＵＲ＿Ｖ＿Ｈ信号を出力する。
【００４５】
第１の比較手段（ｃｍｐ＿ｒ）５６は、ＡＳＴ＿Ｖ＿Ｈ＞ＣＵＲ＿Ｖ＿Ｒを検出し、第２の比較手段（ｃｍｐ＿ａ）５８は、ＡＳＴ＿Ｖ＿Ｈ＞ＣＵＲ＿Ｖを検出し、第３の比較手段（ｃｍｐ＿ｃ）６０は、ＲＥＱ＿Ｖ＿Ｈ＞ＣＵＲ＿Ｖを検出する。
【００４６】
第１の入力選択手段（ｓｅｌ＿ａ）５０は、”００００００００  ”、ＡＳＴ＿Ｖ＿Ｒ又はＲＥＱ＿Ｖ、ＡＳＴ＿Ｖ又はＲＥＱ＿Ｖ、ＡＳＴ＿Ｖ又はＲＥＱ＿Ｖ＿Ｒ、ＡＳＴ＿Ｖ又はＣＵＲ＿Ｖ＿Ｈ又はＲＥＱ＿Ｖ、ＡＳＴ＿Ｖ又はＣＵＲ＿Ｖ＿Ｒ又はＣＵＲ＿Ｖ＿Ｈ、及びＡＳＴ＿Ｖの何れかを選択して、待ち割り込み処理要求記憶手段（ＡＳＴ＿Ｖ）６２に供給する。
【００４７】
第２の入力選択手段（ｓｅｌ＿ｃ）５２は、”００００００００”、ＣＵＲ＿Ｖ＿Ｒ又はＡＳＴ＿Ｖ＿Ｈ、ＣＵＲ＿Ｖ＿Ｒ、ＣＵＲ＿Ｖ、ＣＵＲ＿Ｖ又はＡＳＴ＿Ｖ＿Ｈ、及びＣＵＲ＿Ｖ又はＲＥＱ＿Ｖ＿Ｈの何れかを選択して、発行割り込み処理記憶手段（ＣＵＲ＿Ｖ）６４に供給する。
【００４８】
第３の入力選択手段（ｓｅｌ＿ｖ）５４は、”００００００００”、ＡＳＴ＿Ｖ＿ＨＩＧＨ及びＲＥＱ＿Ｖ＿ＨＩＧＨの何れかを選択して、割り込み処理要求発行記憶手段（ＶＥＣ＿Ａ）６６に供給する。割り込み処理要求発行記憶手段（ＶＥＣ＿Ａ）６６の出力は、割り込み処理分岐指示出力ＶＥＣ＿Ｏに接続する。
【００４９】
選択器８０は、初期化信号入力ＲＳＴ＿Ｉ、割り込み処理終了信号入力ＲＴＰ＿Ｉ、割り込み発行制御手段状態入力Ｖ＿ＳＴ、割り込み禁止入力ＴＰＤ並びに第１、第２及び第３の比較手段５６，５８，６０の出力に従い、それぞれ第１、第２及び第３の選択手段５０，５２，５４の選択を制御する信号ＡＳＴ＿Ｓ、ＣＵＲ＿Ｓ及びＶＥＣ＿Ｓを出力する。
【００５０】
優先順位に応じた割り込みの解除手段は、最上位活性化ビット不活性化手段である。本実施例では、”１”を活性化状態とする。即ち、入力された８ビット２進数の内、最上位の”１”の値を有するビットの値を”０”、他は入力の値をそのまま出力する。
【００５１】
優先順位に応じた割り込みの割り当て手段は、最上位活性化ビット検出手段であり、入力された８ビット２進数の内、最上位の”１”の値を有するビットの値のみ”１”、他は”０”を出力する。
【００５２】
割り込み調停の動作を説明する。第１、第２及び第３の選択手段５０，５２，５４を制御する選択器８０は、下記の条件で第１、第２及び第３の選択手段５０，５２，５４を以下のように制御する。これにより、選択器８０は、ＡＳＴ＿Ｖ，ＣＵＲ＿Ｖ及びＶＥＣ＿Ａへ代入する値により、割り込みを調停する。
【００５３】
初期化信号入力ＲＳＴ＿Ｉに初期化信号が入力された場合、割り込み処理状態を記憶する記憶手段６２，６４，６６にはそれぞれ”００００００００”が代入され、待ち割り込み処理要求、発行割り込み及び割り込み分岐が無い状態に初期化される。
【００５４】
初期化信号入力ＲＳＴ＿Ｉに初期化信号が入力されない場合で、割り込み禁止信号入力が活性化されると、割り込み発行制御手段が割り込み発行中か又は割り込みスケジューリング状態であるかどうかを調べ、そうであれば、処理中として発行割り込み処理記憶手段６４に入力した割り当て割り込みが実行されないことを表しているので、発行割り込み処理記憶手段６４にＣＵＲ＿Ｖ＿Ｒを代入し、待ち割り込み処理要求記憶手段６２にＡＳＴ＿ＶとＣＵＲ＿Ｖ＿ＨとＲＥＱ＿Ｖの論理和を代入する。
【００５５】
初期化信号入力ＲＳＴ＿Ｉに初期化信号が入力されない場合であって、初期化信号が入力されてなく、割り込み処理終了信号が入力されるときには、現在処理中の割り込みのうち最も優先順位の高い割り込みが終了し、待ち割り込みのなかで最も優先順位の高い割り込みＡＳＴ＿Ｖ＿Ｈと、終了した割り込みを除いて最も優先順位の高い処理中の割り込みＣＵＲ＿Ｖ＿Ｒが入力された第１の比較手段５６の比較結果を調べる。そして、ＡＳＴ＿Ｖ＿Ｈの値が大きいときには、現在処理中の割り込み処理より優先順位の高い待ち割り込み処理要求があることを表しているので、発行割り込み処理記憶手段６４に、ＣＵＲ＿Ｖ＿ＲとＡＳＴ＿Ｖが入力された割り込み割り当て手段（Ａｓｓｅｒ  Ｖｅｃ）の出力の論理和（ＣＵＲ  ＿Ｖ＿Ｒ又はＡＳＴ＿Ｖ＿Ｈ）を代入し、待ち割り込み処理要求記憶手段６２には、ＡＳＴ＿Ｖ＿Ｒと割り込み処理要求信号入力ＲＥＱ＿Ｖの論理和が代入され、割り込み処理要求記憶手段６６には、ＡＳＴ＿Ｖ＿Ｈが代入される。ＡＳＴ＿Ｖ＿ＨがＣＵＲ＿Ｖ＿Ｒ以下のときには、現在処理中の割り込み処理より優先順位の高い割り込み処理がないので、発行割り込み処理記憶手段６４に、ＣＵＲ＿Ｖが入力された第２の割り込み解除手段７６の出力ＣＵＲ＿Ｖ＿Ｒを代入し、待ち割り込み処理要求記憶手段６２に、ＡＳＴ＿Ｖ＿Ｒと割り込み処理要求信号入力ＲＥＱ＿Ｖの論理和を代入する。
【００５６】
初期化信号入力ＲＳＴ＿Ｉに初期化信号が入力されず、且つ、割り込み処理終了信号が入力されない場合、第２の比較手段５８の比較結果を調べる。ＡＳＴ＿Ｖ＿ＨがＣＵＲ＿Ｖより大きい場合、現在処理中の割り込み処理より優先度の高い待ち割り込み処理要求が存在するので、発行割り込み処理記憶手段６４にＣＵＲ＿ＶとＡＳＴ＿Ｖ＿Ｈの論理和を代入し、待ち割り込み処理要求記憶手段６２にＡＳＴ＿Ｖ＿ＲとＲＥＱ＿Ｖの論理和を代入し、割り込み処理要求発行記憶手段６６にＡＳＴ＿Ｖ＿Ｈを代入する。
【００５７】
ＡＳＴ＿Ｖ＿ＨがＣＵＲ＿Ｖ以下で、第３の比較手段６０の比較結果によりＲＥＱ＿Ｖ＿ＨがＣＵＲ＿Ｖより大きければ、現在処理中の割り込み処理より優先度の高い割り込み処理要求がされたことになるので、発行割り込み処理記憶手段６４にＣＵＲ＿ＶとＲＥＱ＿Ｖ＿Ｈの論理和を代入し、待ち割り込み処理要求記憶手段６２にＡＳＴ＿ＶとＲＥＱ＿Ｖが入力された第３の解除手段７０の出力ＲＥＱ＿Ｖ＿Ｒの論理和を代入し、割り込み処理要求発行記憶手段６６にＲＥＱ＿Ｖ＿Ｈを代入する。
【００５８】
ＲＥＱ＿Ｖ＿ＨがＣＵＲ＿Ｖ以下のときには、現在処理中の割り込み処理より優先度の高くない割り込み処理要求が入力されたことになるので、待ち割り込み処理要求記憶手段６２にＲＥＱ＿ＶとＡＳＴ＿Ｖの論理和を代入する。
【００５９】
代入が実行されないケースでは、発行割り込み処理記憶手段６４及び待ち割り込み処理要求記憶手段６２は前値を保持し、割り込み処理要求発行記憶手段６６は初期化される。
【００６０】
以上の処理フローにより、上述の割り込み調停手段４０の機能が実現される。
【００６１】
図６は、パイプライン制御手段３８、割り込み調停手段４０及び割り込み発行制御手段４２により、正確な割り込み処理が実現している様子を示すタイミング・チャートである。
【００６２】
図７は、図１に示すプロセッサを使用するディジタル映像記録再生装置の概略構成ブロック図を示す。１１０は、変換・逆変換、圧縮・伸長、誤り検出訂正符号化・復号化及び変調・復調の各処理を実行する演算処理装置、１１２は、演算処理装置１１０により処理された映像・音声情報を不図示の磁気記録系へ変換する電磁変換系、１１４は、演算処理装置１１０における処理のために映像音声情報を記憶するメモリ、１１６は図１に示すプロセッサからなり、音声信号処理を実行すると共に他の構成要素を制御する制御回路、１１８は制御回路１１６で必要とする情報を記憶するメモリである。
【００６３】
１２０は、比較的低速のデータを転送するデータ・インターフェース、１２２は、主に演算処理装置１１０とメモリ１１４の間で高速にデータを転送するデータ・インターフェース、１２４は、図示しない記憶媒体制御系等との間でデータを転送するデータ・インターフェース、１２６は、メモリ１１８、データ・インターフェース１２０、データ・インターフェース１２４を制御回路１１６の記憶空間としてマッピングするメモリ・マネジメント・ユニット（ＭＭＵ）である。
【００６４】
１２８は映像入力端子、１３０は映像出力端子であり、共に演算処理装置１１０に接続する。１３２は音声入力端子、１３４は音声出力端子であり、ともにデータ・インターフェース１２０に接続する。１３６は図示しない記憶媒体制御系等を接続する外部入出力端子であり、データ・インターフェース１２４に接続する。
【００６５】
１３８は割り込み制御信号の入力端子、１４０はリセット信号の入力端子であり、これらの入力信号は、制御回路１１６に印加される。入力端子１３８には、音声信号のサンプリング、映像信号の同期タイミング及び利用者の操作等に応じて発生した割り込み信号が入力される。
【００６６】
映像入力端子１２８に入力するディジタル映像信号データは、演算処理装置１１０に印加される。演算処理装置１１０は、高速データ・インターフェース１２２を介して接続するメモリ１１４を使用して、映像入力端子１２８からのディジタル映像信号データに、シャッフリング、ＤＣＴなどのデータ変換、ハフマン符号化等の圧縮処理及びリードソロモン符号化等の誤り検出訂正符号化を施す。
【００６７】
また、音声入力端子１３２に入力する音声データは、データ・インターフェース１２０に印加される。データ・インターフェース１２０がＭＭＵ１２６を経由して制御回路１１６の記憶空間の一部にマッピングされているので、音声入力端子１３２からの音声データは、制御回路１１６がデータ取り込み命令をその記憶空間に対して実行することにより、制御回路１１６に取り込まれる。制御回路１１６は、入力した音声データにフェード処理等を施した後、ＭＭＵ１２６を経由してデータ・インターフェース１２０の、データ・インターフェース１２２によりアクセス可能な箇所にストアする。
【００６８】
その後、音声データはデータ・インターフェース１２０からデータ・インターフェース１２２に転送され、メモリ１１４に書き込まれる。メモリ１１４への書き込みの際、時系列的に隣接する音声データは、メモリ１１４のメモリ空間上、異なった場所に書き込まれ、これにより、シャッフリングが行なわれる。メモリ１１４にシャッフリングされて書き込まれた音声データは、読み出され、演算処理装置１１０により誤り検出訂正符号化される。
【００６９】
演算処理装置１１０は、このように誤り検出訂正符号化された映像データ及び音声データにビタビ符号等の変調処理を施し、電磁変換系１１２を介して図示しない記録再生系に供給する。このようにして、記録再生系で映像と音声が記録される。
【００７０】
図示しない記録再生系に記録された信号は、再生時には、電磁変換系１１２を介して演算処理装置１１０に供給される。演算処理装置１１０は、電磁変換系１１２からの再生信号を復調処理し、その後、映像情報については、誤り検出訂正処理、伸長処理、データ逆変換処理及び補間処理等を施して、映像出力端子１３０に出力し、音声情報については、誤り検出訂正処理し、データ・インターフェース１２２を介してデータ・インターフェース１２０に供給する。データ・インターフェース１２０に供給された音声データは、制御回路１１６がＭＭＵ１２６に該当する記憶空間へのロード命令を発行することで、制御回路１１６に取り込まれる。この際、記録時のシャッフリングを戻すデシャッフリングが行なわれる。デシャッフリングにより時系列的にも復元された音声データは、補間処理及びフェード処理等を施され、データ・インターフェース１２０の音声出力記憶空間にストアされ、音声出力端子１３４から出力される。
【００７１】
割り込み制御信号入力端子１３８には、音声信号のサンプリングや、映像信号の同期タイミング及び利用者の操作等に応じて発生した割り込み信号が入力されており、制御回路１１６は、入力した割り込み信号に応じた処理を実行する。
【００７２】
【発明の効果】
以上の説明から容易に理解できるように、本発明によれば、簡易な構造でありながら、高速動作と正確な割り込み処理の両方を可能にするプロセッサを実現すできる。
【図面の簡単な説明】
【図１】  本発明の一実施例の概略構成ブロック図である。
【図２】  シーケンサ２０の概略構成ブロック図である。
【図３】  パイプラインで命令が各ステージで分割されて処理される様子を示すタイミング・チャートである。
【図４】  パイプラインでの割り込み処理の様子の一例を示すタイミング・チャートである。
【図５】  割り込み調停手段４０の概略構成ブロック図である。
【図６】  本実施例により正確な割り込み処理が実現している様子を示すタイミング・チャートである。
【図７】  図１に示すプロセッサを使用するディジタル映像記録再生装置の概略構成ブロック図である。
【図８】  従来例で、割り込み禁止命令ＴＰＤが発行されているにもかかわらず、割り込み命令ＴＲＰがその後実行され、割り込み分岐処理ルーチンアドレスＶＥＣｎが読み出されている様子を示すタイミング・チャートである。
【符号の説明】
１０：レジスタ・ファイル（ＲＧＦ）
１２：演算器（ＬＩＵ）
１４：演算器（ＳＩＵ）
１６：メモリ・システム（ＭＥＭ）
１８：メモリ・インターフェース
２０：シーケンサ
２２：プログラム・カウンタ・ユニット（ＰＣＵ）
３０：記憶手段（ＩＤ＿ＲＥＧ）
３２：選択器
３４：記憶手段（ＥＸ＿ＲＥＧ）
３６：記憶手段（ＷＢ＿ＲＥＧ）
３８：パイプライン制御手段（ＮＳＭ）
４０：割り込み調停手段（ＡＳＭ）
４２：割り込み発行制御手段（ＶＳＭ）
５０：第１の入力選択手段（ｓｅｌ＿ａ）
５２： 第２の入力選択手段（ｓｅｌ＿ｃ）
５４： 第３の入力選択手段（ｓｅｌ＿ｖ）
５６：第１の比較手段（ｃｍｐ＿ｒ）
５８：第２の比較手段（ｃｍｐ＿ａ）
６０：第３の比較手段（ｃｍｐ＿ｃ）
６２：待ち割り込み処理要求記憶手段（ＡＳＴ＿Ｖ）
６４：発行割り込み処理記憶手段（ＣＵＲ＿Ｖ）
６６：割り込み処理要求発行記憶手段（ＶＥＣ＿Ａ）
６８：第２の割り当て手段（ａｓｔ＿ｒ）
７０：第３の解除手段（ｎｅｇ＿ｒ）
７２：第１の割り当て手段（ａｓｔ＿ａ）
７４：第１の解除手段（ｎｅｇ＿ａ）
７６：第２の解除手段（ｎｅｇ＿ｃ）
７８：第３の割り当て手段
８０：選択器
１１０：演算処理装置
１１２：電磁変換系
１１４：メモリ
１１６：制御回路
１１８：メモリ
１２０：データ・インターフェース
１２２：データ・インターフェース
１２４：データ・インターフェース
１２６：メモリ・マネジメント・ユニット（ＭＭＵ）
１２８：映像入力端子
１３０：映像出力端子
１３２：音声入力端子
１３４：音声出力端子
１３６：外部入出力端子
１３８：割り込み信号入力端子
１４０：リセット信号入力端子
【図１】
0004006065.tif 000002
【図２】
0004006065.tif 000003
【図３】
0004006065.tif 000004
【図４】
0004006065.tif 000005
【図５】
0004006065.tif 000006
【図６】
0004006065.tif 000007
【図７】
0004006065.tif 000008
【図８】
0004006065.tif 000009