JP4006065B2 - プロセッサ - Google Patents
プロセッサ Download PDFInfo
- Publication number
- JP4006065B2 JP4006065B2 JP22873797A JP22873797A JP4006065B2 JP 4006065 B2 JP4006065 B2 JP 4006065B2 JP 22873797 A JP22873797 A JP 22873797A JP 22873797 A JP22873797 A JP 22873797A JP 4006065 B2 JP4006065 B2 JP 4006065B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- processing
- input
- pipeline
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
Description
【発明の属する技術分野】
本発明は、プロセッサに関し、より具体的には割り込み処理機能を具備するプロセッサに関する。
【0002】
【従来の技術】
プロセッサの高速処理技術の一つとして、パイプライン方式が知られている。パイプライン方式は、プロセッサの動作を制御するプログラムの構成単位であるインストラクション(命令)に対応する処理を複数のステージに分割すると共に、各ステージを処理する1又は複数の処理資源を設け、時間的に隣接する命令系列を異なるステージで処理資源の使用に関して競合しないように同時処理することで、結果的に高いスループットを実現するものである。
【0003】
このようなパイプライン技術を使用して高いスループットを実現するには、また、高いクロック周波数でプロセッサを動作させる必要がある。
【0004】
他方、プロセッサ自身の処理、及び、プロセッサとその周辺装置との協調処理を適宜に変更する手段として、割り込み処理がある。時間的、使用する資源の観点から効率的に実行する手段として割り込み処理がある。割り込みは、分岐命令と同じく、命令実行の通常の流れを変えるものであり、そもそもは、算術演算エラー処理及び、各種プロセッサ周辺イベントのリアルタイム応答のために考案されたものである。
【0005】
【発明が解決しようとする課題】
従来のパイプライン技術では、一つの命令が複数のステージに分割され、実行に複数のサイクルを要し、かつ、隣接する複数の命令がステージは異なるものの同一時刻に実行されているので、図8に示すように、割り込み禁止命令TPDが発行されているにもかかわらず、割り込み命令TRPがその後実行され、割り込み分岐処理ルーチンアドレスVECnが読み出されている。即ち、従来例では、割り込みの禁止・許可命令の時刻正確性及び割り込み処理後のマシン状態の復帰等の保証が、プログラムに依存するという問題があった。また、これらの保証要件を満たす正確な割り込みの実現が困難であるという問題があった。
【0006】
本発明は、このような問題を解決するプロセッサを提示することを目的とする。
【0007】
【課題を解決するための手段】
本発明に係るプロセッサは、プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、前記複数の処理に分割された命令を実行するパイプラインを制御するパイプライン制御手段と、優先順位が予め定められている割り込み処理要求を調整する割り込み調停手段と、割り込み無し、割り込みスケジュール及び割り込み発行中という3つの内部状態を有する割り込み発行制御手段とからなり、前記割り込み発行制御手段は、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段から出力される調停処理された割り込み信号と、前記パイブライン制御手段の状態とに応じて、割り込みの発行を制御し、前記割り込み調停手段は、低優先順位の割り込み要求に起因する割り込み処理の実行時に高優先順位の割り込み要求が発生した場合、前記低優先順位の割り込み処理を一時停止して前記低優先順位の割り込み処理を保持し前記高優先順位の割り込み要求に起因する割り込み処理を開始するよう割り込み信号を出力し、前記高優先順位の割り込み処理が終了した後に前記低優先順位の割り込み処理を再開するよう割り込み信号を出力することを特徴とする。
本発明に係るプロセッサは、プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、前記複数の処理に分割された命令を実行するパイプラインを制御するパイブライン制御手段と、優先順位が予め定められている割り込み処理要求を、その優先順位の前記命令系列に応じて調停する割り込み調停手段と、前記割り込み調停手段で調停された割り込み処理要求、及び、前記パイプライン制御手段の状態に応じて、割り込み処理の開始を制御する割り込み発行制御手段とを有し、前記割り込み調停手段が、予め優先順位が与えられた複数の割り込み信号を一つの2進数ベクトルとして扱い、初期化信号入力、割り込み処理要求信号入力、割り込み処理終了信号入力、割り込み禁止指示入力、及び、割り込み処理分岐指示出力、待ち割り込み処理要求記憶手段、発行割り込み処理記憶手段及び割り込み処理要求発行記憶手段、第1、第2及び第3の割り込み解除手段、第1、第2及び第3の割り込み割り当て手段、割り込みの優劣を判断するための第1、第2及び第3の算術比較手段、第1、第2及び第3の選択手段、並びに前記第1、第2及び第3の選択手段の制御手段を有し、前記割り込み発行制御手段は、割り込み無し、割り込みスケジュール及び割り込み発行中という内部状態を有し、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段で調停処理された割り込み信号と前記パイプライン制御手段の状態及び割り込み禁止指示入力の状態に応じて、割り込み分岐アドレスを生成する命令をプログラムカウンタに対して出力するとともに命令パイプラインへの割り込み命令の挿入を許可することで、割り込み処理の開始を制御することを特徴とする。
【0008】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【0009】
図1は、本発明の一実施例の概略構成ブロック図を示す。10は、3つの独立したアドレス入力RA,RB,WA、これらの各アドレスRA,RB,WAに対応するレジスタの内容を出力するデータ出力QA,QB、レジスタへデータを入力するデータ入力DI、及び、レジスタへの書き込みを制御する書き込みイネーブル信号の入力端子WEを有するレジスタ・ファイル(RGF)である。
【0010】
12は、2つのデータ入力SA,SB、これらの入力データの演算結果のデータ出力DO及び演算制御入力cntを有する演算器(LIU)であり、14は、2つのデータ入力SA,SB、これらの入力データの演算結果のデータ出力DO、及び演算制御入力cntを有する演算器(SIU)である。
【0011】
16はデータ及びインストラクションを記憶するメモリシステム(MEM)であって、データ・アドレス入力DA、データ入出力DIO、インストラクション・アドレス入力IA及びインストラクション出力ISOを有し、ROM、RAM、磁気ディスク及び外部I/O等からなる。メモリ・システム16はまた、キャッシュ及び仮想記憶等の手法で階層化されて構成されることもある。
【0012】
18は、2つのデータ入力SA,SB、1つのデータ出力DO、アドレス出力DA、メモリ入出力MIO及び制御入力cntを有し、制御入力cntに供給される制御信号に従い、データ入力SA,SBの入力データから生成したアドレスをアドレス出力DAから出力し、メモリ入出力MIOを経由してレジスタ・ファイル(RGF)10とメモリ・システム(MEM)16との間でデータを相互に転送し、また、プロセッサ外の素子とデータを授受するためのポートEXT_IOを利用して装置外の回路との間でデータを転送するメモリ・インタフェース(MIF)である。
【0013】
20は、レジスタ・ファイル読み出しアドレス出力RA,RB、レジスタ・ファイル書き込み制御信号出力WE、レジスタ・ファイル書き込みアドレス出力WA、演算器制御信号出力CSU,CLU、メモリ・インタフェース制御信号出力CMI、データ入力DI、メモリ入力IIN、メモリ・アドレス出力PCO、初期化入力RST_I、割り込み処理復帰命令検出出力RTP_O及び割り込み処理分岐指示出力VEC_Aを有し、メモリ・アドレス出力PCOから出力されるアドレスで特定されるメモリ・システム16内の記憶位置からインストラクションを読み出してメモリ入力IINから取り込み、そのインストラクションに従い、レジスタ・ファイル(RGF)10、演算器(LIU,SIU)12,14及びメモリ・インタフェース(MIF)18を制御するシーケンサ(SEQ)である。
【0014】
22は、データ入力SA,SB、データ出力DO、アドレス出力PCO及び制御入力CNTを有するプログラム・カウンタ(PC)であり、制御入力CNTに入力される制御信号に応じてアドレスをアドレス出力PCOから出力する。
【0015】
レジスタ・ファイル10のデータ出力QAは、演算器12、14、メモリ・インタフェース18及びプログラム・カウンタ22の各データ入力SA、並びにシーケンサ20のデータ入力DIに供給されている。
【0016】
レジスタ・ファイル10のデータ出力QBは、演算器12,14、メモリ・インタフェース18及びプログラム・カウンタ22の各データ入力SBに供給されている。
【0017】
演算器12,14、メモリ・インタフェース18及びプログラム・カウンタ22の各データ出力DOは、レジスタ・ファイル10のデータ入力DIに接続されている。
【0018】
メモリ・インタフェース18のメモリ入出力MIOは、メモリ・システム16のデータ入出力DIOに接続され、メモリ・インタフェース18のアドレス出力DAは、メモリシステム16のデータ・アドレス入力DAに接続されている。
【0019】
プログラム・カウンタ22のメモリ・アドレス出力PCOは、メモリ・システム16のインストラクション・アドレスIAに接続されている。
【0020】
シーケンサ20のインストラクション入力IINは、メモリ・システム16のインストラクション出力ISOに接続されている。
【0021】
シーケンサ20のレジスタ・ファイル読み出しアドレス出力RA,RB、レジスタ・ファイル書き込み制御信号出力WE及びレジスタ・ファイル書き込みアドレス出力WAはそれぞれ、レジスタ・ファイル10のレジスタ・ファイル読み出しアドレス入力RA,RB、書き込み制御信号入力WE及び書き込みアドレス入力WAに接続されている。
【0022】
シーケンサ20の演算器制御信号出力CSU,CLUはそれぞれ、演算器12,14の制御信号入力cntに接続されている。シーケンサ20のメモリ・インタフェース制御信号出力CMIは、メモリ・インタフェース18の制御信号入力cntに接続されている。
【0023】
図1に示すプロセッサの動作、特にパイプライン処理の動作を詳細に説明する。このプロセッサでは、プロセッサの動作を規定するプログラムの構成単位であるプロセッサ命令は、プロセッサ動作としては、複数のステージに分割されて時間的に隣接する命令系列が異なるステージでオーパーラップして処理される。
【0024】
図2は、シーケンサ20の概略構成ブロック図を示す。メモリ・システム16から出力された命令は、命令入力IINに入力し、パイプラインの各ステージを規定する記憶手段(ID_REG)30、同(EX_REG)34及び同(WB_REG)36をサイクルに従って転送される。各レジスタ30,34,36の出力は、パイプライン制御手段(NSM)38に入力される。パイプライン制御手段38は、記憶手段30,34,36の各入力と遷移前の自身の状態から、各資源に対する制御信号RA,RB,WE,WA,CMI,CSU,CLUを生成する。
【0025】
各命令は、下記のように各ステージで時分割で処理される。
【0026】
命令取り込み(IF)ステージでは、プログラム・カウンタ22のプログラム・カウンタ出力PCOから出力されたアドレスが、メモリ・システム16のインストラクション出力ISOからシーケンサ・インストラクション入力IINへ供給され、実行命令がシーケンサ20に取り込まれる。
【0027】
命令デコード(ID)ステージでは、シーケンサ20は、取り込んだ命令をデコードし、命令の実行に必要なオペランドをレジスタファイル10等から出力させる。デコードされた命令が分岐命令の場合、分岐の正否が評価され、分岐成立の時、プログラムカウンタPCは分岐先アドレスを発生する。
【0028】
実行(EX)ステージでは、必要なオペランドがレジスタファイル10のデータ出力QA、QBから出力されると、シーケンサ20は、演算器12,14及びメモリ・インタフェース18等のなかから、命令の実行に必要なユニットを選択して命令を実行させる。命令が手続き読み出し分岐命令の場合、戻り先アドレスがプログラムカウンタ22からレジスタ・ファイル10に送出される。
【0029】
ライトバック(WB)ステージでは、演算器12,14及びメモリ・インタフェース18で命令の実行が終了すると得られた処理結果が、レジスタ・ファイル10に格納される。
【0030】
各資源の占有状況及びデータ依存関係に応じて命令の並列実行が可能であり、処理結果に違いが生じない限り、実行可能な命令は可能な限り即座に実行されるようになっている。
【0031】
図3は、以上のパイプラインで命令が各ステージで分割されて処理される様子を示す。
【0032】
次に、割り込み動作の概要を説明する。割り込み処理では、複数の割り込み要求毎に予め分岐先アドレスが設定されている。割り込み要求入力があったとき、プログラム・カウンタ22は、割り込み要求入力に対応して予め設定された分岐先アドレスを発生し、プログラム中の割り込みルーチンを実行する。また、シーケンサ20は割り込み禁止状態になり、レジスタ値退避等のクリティカル・セッションが割り込みルーチンの最初の部分で実行され、クリティカル・セッション終了後に必要に応じて割り込み受付可能状態になる。このときに割り込み処理要求が無かった場合、プログラム・カウンタ22は、本来処理されるプログラムアドレス値をアドレス出力DOから出力し、レジスタ・ファイル10に書き込む。
【0033】
割り込みルーチンの最後の部分では、割り込み禁止状態になり、先に退避したレジスタの値が復帰される。即ち、割り込みルーチンの最後の命令は割り込み復帰命令になっており、割り込み復帰命令がデコードされたとき、割り込み禁止状態が解除され、プログラム・カウンタ22は、次アドレスとしてレジスタ・ファイル10のアドレス値を選択する。これにより、割り込みルーチンから通常処理へ制御が復帰する。
【0034】
割り込み発行制御手段を説明する。シーケンサ20は、割り込み調停手段(ASM)40及び割り込み発行制御手段(VSM)42を具備する。割り込み調停手段40で調停された割り込み信号VEC_Oが割り込み発行制御手段42に入力されると、割り込み発行制御手段42は、パイプライン制御手段38の状態PSM_O及び割り込み禁止信号TPDに応じて、次アドレス出力NXTAから、命令に応じてパイプライン制御手段38が発生する次アドレス制御信号に変えて、プログラムカウンタPCに割り込み分岐アドレスの出力を指示すると共に、TRP_EXを活性化する。TRP_EXは、図2の選択器32の制御入力に接続されており、活性化によって記憶手段(EX_REG)34に割り込み命令が入力される。これによって、プログラムは、割り込み分岐の処理を開始する。
【0035】
割り込み発行制御手段42は、パイプライン制御手段38の状態に応じて以下のように割り込み発行を制御する。
【0036】
割り込み調停手段40で調停された割り込み信号が割り込み発行制御手段42に入力されたとき、プログラム・カウンタ22は、直ちに割り込み分岐アドレスを出力し、2サイクル後に割り込み発行信号を出力する。これによって、割り込み処理TRP、命令及び割り込み分岐アドレスコマンドが、空きサイクル無しに最小レイテンシで実行できる。このとき、割り込み調停手段40は、割り込み無し状態から割り込みスケジューリング状態及び割り込み発行状態へと遷移する。図4は、パイプラインでの割り込み処理の様子の一例を示す。
【0037】
また、パイプライン制御手段38が割り込み禁止命令をデコードし、割り込み禁止信号TPDを活性化したとき、割り込み発行制御手段42は、割り込みを発行せずに割り込み発行状態へ遷移し、割り込み分岐アドレスを発生しない。これによって、割り込み禁止命令後の割り込み処理への分岐が回避される。
【0038】
割り込み調停手段40の動作を説明する。本実施例のプロセッサは、複数の割り込みを具備し、同時に複数の割り込み処理要求があったときは、次のように各割り込みを調停する。即ち、低優先順位の割り込み処理実行時に、より高位の割り込み処理要求があったときは、より高位の割り込み処理要求が実行される。高位の割り込み処理が終了するまで低優先順位の割り込み処理は中断され、高位の割り込み処理が終了した後に、再開される。
【0039】
ある優先順位の割り込み処理が行われているときに、同優先順位又は低位の割り込み要求があったときには、新たな割り込み処理要求を記憶しておき、実行中の割り込み処理が終了した後に、記憶していた割り込み要求の処理を開始する。
【0040】
処理中の割り込みが終了した時、割り込み処理要求と待ち割り込み要求を比較して優先順位の高い割り込み処理が実行される。
【0041】
割り込み調停手段40の構成又は機能を詳細に説明する。図5は、割り込み調停手段40の概略構成ブロック図を示す。各信号の記号は、以下の内容を示す。即ち、
RST:初期化信号入力
REQ_V(8):割り込み処理要求信号入力
RTP:割り込み処理終了信号入力
TPD:割り込み禁止信号入力
V_ST:割り込み発行制御手段状態入力
VEC_O:割り込み処理分岐指示出力
である。
【0042】
また、62は待ち割り込み処理要求記憶手段(AST_V)、64は発行割り込み処理記憶手段(CUR_V)、66は割り込み処理要求発行記憶手段(VEC_A)である。本実施例では、割り込み処理要求は8種類あり、8ビット2進数の各桁でどの種類の割り込み処理要求かが示されるようになっている。即ち、割り込みの状態が2進数8ビットのベクトルの各成分として表現される。本実施例の手段62,64,66は、この8ビットに対応している。従って、優先度の低い割り込みを8ビットの下位桁へ割り当てることにより、8ビット2進数の大小比較により割り込みの優先順位を判別できる。
【0043】
優先順位に応じた割り込みの解除手段として、第1の解除手段(neg_a)74、第2の解除手段(neg_c)76及び第3の解除手段(neg_r)70を具備する。第1の解除手段(neg_a)74は、待ち割り込み処理要求記憶手段62の出力が入力し、AST_V_R信号を出力する。第2の解除手段(neg_c)76は、発行割り込み処理記憶手段(CUR_V)64の出力が入力し、CUR_V_R信号を出力する。第3の解除手段(neg_r)70は、REQ_V信号が入力し、REQ_V_R信号を出力する。
【0044】
優先順位に応じた割り込みの割り当て手段(Asser Vec)として、第1の割り当て手段(ast_a)72、第2の割り当て手段(ast_r)68及び第3の割り当て手段(ast_c)78を具備する。第1の割り当て手段(ast_a)72は、待ち割り込み処理要求記憶手段(AST_V)62の出力が接続し、AST_V_H信号を出力する。第2の割り当て手段(ast_r)68は、REQ_V信号が入力し、REQ_V_H信号を出力する。第3の割り当て手段(ast_c)78は、発行割り込み処理記憶手段(CUR_V)64の出力が接続し、CUR_V_H信号を出力する。
【0045】
第1の比較手段(cmp_r)56は、AST_V_H>CUR_V_Rを検出し、第2の比較手段(cmp_a)58は、AST_V_H>CUR_Vを検出し、第3の比較手段(cmp_c)60は、REQ_V_H>CUR_Vを検出する。
【0046】
第1の入力選択手段(sel_a)50は、”00000000 ”、AST_V_R又はREQ_V、AST_V又はREQ_V、AST_V又はREQ_V_R、AST_V又はCUR_V_H又はREQ_V、AST_V又はCUR_V_R又はCUR_V_H、及びAST_Vの何れかを選択して、待ち割り込み処理要求記憶手段(AST_V)62に供給する。
【0047】
第2の入力選択手段(sel_c)52は、”00000000”、CUR_V_R又はAST_V_H、CUR_V_R、CUR_V、CUR_V又はAST_V_H、及びCUR_V又はREQ_V_Hの何れかを選択して、発行割り込み処理記憶手段(CUR_V)64に供給する。
【0048】
第3の入力選択手段(sel_v)54は、”00000000”、AST_V_HIGH及びREQ_V_HIGHの何れかを選択して、割り込み処理要求発行記憶手段(VEC_A)66に供給する。割り込み処理要求発行記憶手段(VEC_A)66の出力は、割り込み処理分岐指示出力VEC_Oに接続する。
【0049】
選択器80は、初期化信号入力RST_I、割り込み処理終了信号入力RTP_I、割り込み発行制御手段状態入力V_ST、割り込み禁止入力TPD並びに第1、第2及び第3の比較手段56,58,60の出力に従い、それぞれ第1、第2及び第3の選択手段50,52,54の選択を制御する信号AST_S、CUR_S及びVEC_Sを出力する。
【0050】
優先順位に応じた割り込みの解除手段は、最上位活性化ビット不活性化手段である。本実施例では、”1”を活性化状態とする。即ち、入力された8ビット2進数の内、最上位の”1”の値を有するビットの値を”0”、他は入力の値をそのまま出力する。
【0051】
優先順位に応じた割り込みの割り当て手段は、最上位活性化ビット検出手段であり、入力された8ビット2進数の内、最上位の”1”の値を有するビットの値のみ”1”、他は”0”を出力する。
【0052】
割り込み調停の動作を説明する。第1、第2及び第3の選択手段50,52,54を制御する選択器80は、下記の条件で第1、第2及び第3の選択手段50,52,54を以下のように制御する。これにより、選択器80は、AST_V,CUR_V及びVEC_Aへ代入する値により、割り込みを調停する。
【0053】
初期化信号入力RST_Iに初期化信号が入力された場合、割り込み処理状態を記憶する記憶手段62,64,66にはそれぞれ”00000000”が代入され、待ち割り込み処理要求、発行割り込み及び割り込み分岐が無い状態に初期化される。
【0054】
初期化信号入力RST_Iに初期化信号が入力されない場合で、割り込み禁止信号入力が活性化されると、割り込み発行制御手段が割り込み発行中か又は割り込みスケジューリング状態であるかどうかを調べ、そうであれば、処理中として発行割り込み処理記憶手段64に入力した割り当て割り込みが実行されないことを表しているので、発行割り込み処理記憶手段64にCUR_V_Rを代入し、待ち割り込み処理要求記憶手段62にAST_VとCUR_V_HとREQ_Vの論理和を代入する。
【0055】
初期化信号入力RST_Iに初期化信号が入力されない場合であって、初期化信号が入力されてなく、割り込み処理終了信号が入力されるときには、現在処理中の割り込みのうち最も優先順位の高い割り込みが終了し、待ち割り込みのなかで最も優先順位の高い割り込みAST_V_Hと、終了した割り込みを除いて最も優先順位の高い処理中の割り込みCUR_V_Rが入力された第1の比較手段56の比較結果を調べる。そして、AST_V_Hの値が大きいときには、現在処理中の割り込み処理より優先順位の高い待ち割り込み処理要求があることを表しているので、発行割り込み処理記憶手段64に、CUR_V_RとAST_Vが入力された割り込み割り当て手段(Asser Vec)の出力の論理和(CUR _V_R又はAST_V_H)を代入し、待ち割り込み処理要求記憶手段62には、AST_V_Rと割り込み処理要求信号入力REQ_Vの論理和が代入され、割り込み処理要求記憶手段66には、AST_V_Hが代入される。AST_V_HがCUR_V_R以下のときには、現在処理中の割り込み処理より優先順位の高い割り込み処理がないので、発行割り込み処理記憶手段64に、CUR_Vが入力された第2の割り込み解除手段76の出力CUR_V_Rを代入し、待ち割り込み処理要求記憶手段62に、AST_V_Rと割り込み処理要求信号入力REQ_Vの論理和を代入する。
【0056】
初期化信号入力RST_Iに初期化信号が入力されず、且つ、割り込み処理終了信号が入力されない場合、第2の比較手段58の比較結果を調べる。AST_V_HがCUR_Vより大きい場合、現在処理中の割り込み処理より優先度の高い待ち割り込み処理要求が存在するので、発行割り込み処理記憶手段64にCUR_VとAST_V_Hの論理和を代入し、待ち割り込み処理要求記憶手段62にAST_V_RとREQ_Vの論理和を代入し、割り込み処理要求発行記憶手段66にAST_V_Hを代入する。
【0057】
AST_V_HがCUR_V以下で、第3の比較手段60の比較結果によりREQ_V_HがCUR_Vより大きければ、現在処理中の割り込み処理より優先度の高い割り込み処理要求がされたことになるので、発行割り込み処理記憶手段64にCUR_VとREQ_V_Hの論理和を代入し、待ち割り込み処理要求記憶手段62にAST_VとREQ_Vが入力された第3の解除手段70の出力REQ_V_Rの論理和を代入し、割り込み処理要求発行記憶手段66にREQ_V_Hを代入する。
【0058】
REQ_V_HがCUR_V以下のときには、現在処理中の割り込み処理より優先度の高くない割り込み処理要求が入力されたことになるので、待ち割り込み処理要求記憶手段62にREQ_VとAST_Vの論理和を代入する。
【0059】
代入が実行されないケースでは、発行割り込み処理記憶手段64及び待ち割り込み処理要求記憶手段62は前値を保持し、割り込み処理要求発行記憶手段66は初期化される。
【0060】
以上の処理フローにより、上述の割り込み調停手段40の機能が実現される。
【0061】
図6は、パイプライン制御手段38、割り込み調停手段40及び割り込み発行制御手段42により、正確な割り込み処理が実現している様子を示すタイミング・チャートである。
【0062】
図7は、図1に示すプロセッサを使用するディジタル映像記録再生装置の概略構成ブロック図を示す。110は、変換・逆変換、圧縮・伸長、誤り検出訂正符号化・復号化及び変調・復調の各処理を実行する演算処理装置、112は、演算処理装置110により処理された映像・音声情報を不図示の磁気記録系へ変換する電磁変換系、114は、演算処理装置110における処理のために映像音声情報を記憶するメモリ、116は図1に示すプロセッサからなり、音声信号処理を実行すると共に他の構成要素を制御する制御回路、118は制御回路116で必要とする情報を記憶するメモリである。
【0063】
120は、比較的低速のデータを転送するデータ・インターフェース、122は、主に演算処理装置110とメモリ114の間で高速にデータを転送するデータ・インターフェース、124は、図示しない記憶媒体制御系等との間でデータを転送するデータ・インターフェース、126は、メモリ118、データ・インターフェース120、データ・インターフェース124を制御回路116の記憶空間としてマッピングするメモリ・マネジメント・ユニット(MMU)である。
【0064】
128は映像入力端子、130は映像出力端子であり、共に演算処理装置110に接続する。132は音声入力端子、134は音声出力端子であり、ともにデータ・インターフェース120に接続する。136は図示しない記憶媒体制御系等を接続する外部入出力端子であり、データ・インターフェース124に接続する。
【0065】
138は割り込み制御信号の入力端子、140はリセット信号の入力端子であり、これらの入力信号は、制御回路116に印加される。入力端子138には、音声信号のサンプリング、映像信号の同期タイミング及び利用者の操作等に応じて発生した割り込み信号が入力される。
【0066】
映像入力端子128に入力するディジタル映像信号データは、演算処理装置110に印加される。演算処理装置110は、高速データ・インターフェース122を介して接続するメモリ114を使用して、映像入力端子128からのディジタル映像信号データに、シャッフリング、DCTなどのデータ変換、ハフマン符号化等の圧縮処理及びリードソロモン符号化等の誤り検出訂正符号化を施す。
【0067】
また、音声入力端子132に入力する音声データは、データ・インターフェース120に印加される。データ・インターフェース120がMMU126を経由して制御回路116の記憶空間の一部にマッピングされているので、音声入力端子132からの音声データは、制御回路116がデータ取り込み命令をその記憶空間に対して実行することにより、制御回路116に取り込まれる。制御回路116は、入力した音声データにフェード処理等を施した後、MMU126を経由してデータ・インターフェース120の、データ・インターフェース122によりアクセス可能な箇所にストアする。
【0068】
その後、音声データはデータ・インターフェース120からデータ・インターフェース122に転送され、メモリ114に書き込まれる。メモリ114への書き込みの際、時系列的に隣接する音声データは、メモリ114のメモリ空間上、異なった場所に書き込まれ、これにより、シャッフリングが行なわれる。メモリ114にシャッフリングされて書き込まれた音声データは、読み出され、演算処理装置110により誤り検出訂正符号化される。
【0069】
演算処理装置110は、このように誤り検出訂正符号化された映像データ及び音声データにビタビ符号等の変調処理を施し、電磁変換系112を介して図示しない記録再生系に供給する。このようにして、記録再生系で映像と音声が記録される。
【0070】
図示しない記録再生系に記録された信号は、再生時には、電磁変換系112を介して演算処理装置110に供給される。演算処理装置110は、電磁変換系112からの再生信号を復調処理し、その後、映像情報については、誤り検出訂正処理、伸長処理、データ逆変換処理及び補間処理等を施して、映像出力端子130に出力し、音声情報については、誤り検出訂正処理し、データ・インターフェース122を介してデータ・インターフェース120に供給する。データ・インターフェース120に供給された音声データは、制御回路116がMMU126に該当する記憶空間へのロード命令を発行することで、制御回路116に取り込まれる。この際、記録時のシャッフリングを戻すデシャッフリングが行なわれる。デシャッフリングにより時系列的にも復元された音声データは、補間処理及びフェード処理等を施され、データ・インターフェース120の音声出力記憶空間にストアされ、音声出力端子134から出力される。
【0071】
割り込み制御信号入力端子138には、音声信号のサンプリングや、映像信号の同期タイミング及び利用者の操作等に応じて発生した割り込み信号が入力されており、制御回路116は、入力した割り込み信号に応じた処理を実行する。
【0072】
【発明の効果】
以上の説明から容易に理解できるように、本発明によれば、簡易な構造でありながら、高速動作と正確な割り込み処理の両方を可能にするプロセッサを実現すできる。
【図面の簡単な説明】
【図1】 本発明の一実施例の概略構成ブロック図である。
【図2】 シーケンサ20の概略構成ブロック図である。
【図3】 パイプラインで命令が各ステージで分割されて処理される様子を示すタイミング・チャートである。
【図4】 パイプラインでの割り込み処理の様子の一例を示すタイミング・チャートである。
【図5】 割り込み調停手段40の概略構成ブロック図である。
【図6】 本実施例により正確な割り込み処理が実現している様子を示すタイミング・チャートである。
【図7】 図1に示すプロセッサを使用するディジタル映像記録再生装置の概略構成ブロック図である。
【図8】 従来例で、割り込み禁止命令TPDが発行されているにもかかわらず、割り込み命令TRPがその後実行され、割り込み分岐処理ルーチンアドレスVECnが読み出されている様子を示すタイミング・チャートである。
【符号の説明】
10:レジスタ・ファイル(RGF)
12:演算器(LIU)
14:演算器(SIU)
16:メモリ・システム(MEM)
18:メモリ・インターフェース
20:シーケンサ
22:プログラム・カウンタ・ユニット(PCU)
30:記憶手段(ID_REG)
32:選択器
34:記憶手段(EX_REG)
36:記憶手段(WB_REG)
38:パイプライン制御手段(NSM)
40:割り込み調停手段(ASM)
42:割り込み発行制御手段(VSM)
50:第1の入力選択手段(sel_a)
52: 第2の入力選択手段(sel_c)
54: 第3の入力選択手段(sel_v)
56:第1の比較手段(cmp_r)
58:第2の比較手段(cmp_a)
60:第3の比較手段(cmp_c)
62:待ち割り込み処理要求記憶手段(AST_V)
64:発行割り込み処理記憶手段(CUR_V)
66:割り込み処理要求発行記憶手段(VEC_A)
68:第2の割り当て手段(ast_r)
70:第3の解除手段(neg_r)
72:第1の割り当て手段(ast_a)
74:第1の解除手段(neg_a)
76:第2の解除手段(neg_c)
78:第3の割り当て手段
80:選択器
110:演算処理装置
112:電磁変換系
114:メモリ
116:制御回路
118:メモリ
120:データ・インターフェース
122:データ・インターフェース
124:データ・インターフェース
126:メモリ・マネジメント・ユニット(MMU)
128:映像入力端子
130:映像出力端子
132:音声入力端子
134:音声出力端子
136:外部入出力端子
138:割り込み信号入力端子
140:リセット信号入力端子
Claims (2)
- プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、
前記複数の処理に分割された命令を実行するパイプラインを制御するパイプライン制御手段と、
優先順位が予め定められている割り込み処理要求を調整する割り込み調停手段と、割り込み無し、割り込みスケジュール及び割り込み発行中という3つの内部状態を有する割り込み発行制御手段
とからなり、
前記割り込み発行制御手段は、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段から出力される調停処理された割り込み信号と、前記パイブライン制御手段の状態とに応じて、割り込みの発行を制御し、
前記割り込み調停手段は、低優先順位の割り込み要求に起因する割り込み処理の実行時に高優先順位の割り込み要求が発生した場合、前記低優先順位の割り込み処理を一時停止して前記低優先順位の割り込み処理を保持し前記高優先順位の割り込み要求に起因する割り込み処理を開始するよう割り込み信号を出力し、前記高優先順位の割り込み処理が終了した後に前記低優先順位の割り込み処理を再開するよう割り込み信号を出力する
ことを特徴とするプロセッサ。 - プロセッサの動作を制御するプログラムの構成単位である命令を時系列上の複数の処理に分割し、その命令系列中の隣接又は近傍にある命令の複数の処理をオーバーラップさせて処理するパイプライン処理式のプロセッサであって、
前記複数の処理に分割された命令を実行するパイプラインを制御するパイブライン制御手段と、
優先順位が予め定められている割り込み処理要求を、その優先順位の前記命令系列に応じて調停する割り込み調停手段と、
前記割り込み調停手段で調停された割り込み処理要求、及び、前記パイプライン制御手段の状態に応じて、割り込み処理の開始を制御する割り込み発行制御手段
とを有し、
前記割り込み調停手段が、予め優先順位が与えられた複数の割り込み信号を一つの2進数ベクトルとして扱い、初期化信号入力、割り込み処理要求信号入力、割り込み処理終了信号入力、割り込み禁止指示入力、及び、割り込み処理分岐指示出力、待ち割り込み処理要求記憶手段、発行割り込み処理記憶手段及び割り込み処理要求発行記憶手段、第1、第2及び第3の割り込み解除手段、第1、第2及び第3の割り込み割り当て手段、割り込みの優劣を判断するための第1、第2及び第3の算術比較手段、第1、第2及び第3の選択手段、並びに前記第1、第2及び第3の選択手段の制御手段を有し、
前記割り込み発行制御手段は、割り込み無し、割り込みスケジュール及び割り込み発行中という内部状態を有し、前記割り込み発行制御手段の内部状態に応じて前記割り込み調停手段で調停処理された割り込み信号と前記パイプライン制御手段の状態及び割り込み禁止指示入力の状態に応じて、割り込み分岐アドレスを生成する命令をプログラムカウンタに対して出力するとともに命令パイプラインへの割り込み命令の挿入を許可することで、割り込み処理の開始を制御する
ことを特徴とするプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22873797A JP4006065B2 (ja) | 1997-08-26 | 1997-08-26 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22873797A JP4006065B2 (ja) | 1997-08-26 | 1997-08-26 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1165855A JPH1165855A (ja) | 1999-03-09 |
JP4006065B2 true JP4006065B2 (ja) | 2007-11-14 |
Family
ID=16881038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22873797A Expired - Fee Related JP4006065B2 (ja) | 1997-08-26 | 1997-08-26 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4006065B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519265B1 (en) * | 1999-05-28 | 2003-02-11 | Sony Corporation | System and method for context switching in an electronic network |
-
1997
- 1997-08-26 JP JP22873797A patent/JP4006065B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1165855A (ja) | 1999-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100733943B1 (ko) | 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로 | |
JP2928695B2 (ja) | 静的インタリーブを用いたマルチスレッドマイクロプロセッサおよびそれを備えたシステムでの命令スレッド実行方法 | |
EP1324190B1 (en) | Data processing system having a read-modify-write unit | |
JP4996519B2 (ja) | 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法 | |
JP2000029737A (ja) | デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ | |
US7574583B2 (en) | Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor | |
KR100983135B1 (ko) | 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법 | |
JPH1097423A (ja) | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ | |
JP4865960B2 (ja) | データ処理装置およびその制御方法 | |
US6675290B1 (en) | Processor for improving instruction utilization using multiple parallel processors and computer system equipped with the processor | |
JP4006065B2 (ja) | プロセッサ | |
EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
WO2007060932A1 (ja) | 動的再構成論理回路を有するマルチスレッドプロセッサ | |
US6584514B1 (en) | Apparatus and method for address modification in a direct memory access controller | |
JP3534987B2 (ja) | 情報処理装置 | |
JP3996982B2 (ja) | プロセッサ | |
JPH10283186A (ja) | プロセッサ | |
JPH07244588A (ja) | データ処理装置 | |
JP2003196085A (ja) | 情報処理装置 | |
JPH1020959A (ja) | 低消費電力マイクロプロセッサ | |
JPH0524537B2 (ja) | ||
JP4151497B2 (ja) | パイプライン処理装置 | |
JPH1165887A (ja) | プロセッサ | |
JPH10283197A (ja) | プロセッサ及び割り込み調停方法 | |
JP2927751B2 (ja) | 情報処理装置及び情報処理方法及びスケジューリング装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040816 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061025 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070413 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070427 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070827 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |