JPH02187829A - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JPH02187829A
JPH02187829A JP1006806A JP680689A JPH02187829A JP H02187829 A JPH02187829 A JP H02187829A JP 1006806 A JP1006806 A JP 1006806A JP 680689 A JP680689 A JP 680689A JP H02187829 A JPH02187829 A JP H02187829A
Authority
JP
Japan
Prior art keywords
instruction
register
interrupt
repeat
counter
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
Application number
JP1006806A
Other languages
Japanese (ja)
Inventor
Atsumichi Murakami
篤道 村上
Takao Wakabayashi
隆夫 若林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1006806A priority Critical patent/JPH02187829A/en
Priority to CA000605490A priority patent/CA1311063C/en
Priority to US07/379,274 priority patent/US5161247A/en
Priority to EP95106305A priority patent/EP0666533A1/en
Priority to DE68927798T priority patent/DE68927798T2/en
Priority to EP95106303A priority patent/EP0666532A1/en
Priority to EP95106304A priority patent/EP0669599A1/en
Priority to EP89113000A priority patent/EP0373291B1/en
Priority to KR1019890017852A priority patent/KR920010933B1/en
Publication of JPH02187829A publication Critical patent/JPH02187829A/en
Priority to US07/907,233 priority patent/US5442799A/en
Priority to US08/103,175 priority patent/US5421023A/en
Priority to US08/128,257 priority patent/US5504916A/en
Priority to US08/140,989 priority patent/US5388236A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To perform recovery from interruption completely by saving a program counter, a repeat flag stack, the count value and register value of each register before the execution of an interruption processing routine. CONSTITUTION:When the interruption is accepted, an interruption request is issued from an interruption control part 13 to a sequence control part 5. When the request is received, an instruction which performs no processing is set at an instruction execution control part 2, and also, the update of a program counter 3 is prohibited. And the count value of the counter 3 is automatically set at a PC stack 4, and also, an interruption address is set at the counter 3. Also, the register value of a repeat flag register 17 is automatically saved to the repeat flag stack 18. The saving of the register value of the register used in the interruption processing routine is performed at an interruption address destination, and it is performed by a register saving instruction. In such a way, the recovery from the interruption of an ordinary operation and under execution of a repeat instruction can be performed completely.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、主に信号系列を対象とした演算処理を実行
するディジタル信号処理プロセッサに関するものである
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a digital signal processing processor that performs arithmetic processing mainly on signal sequences.

〔従来の技術〕[Conventional technology]

第4図は例えば昭和61年度電子通信学会通信部門全国
大会シンポジュウム予稿(NaS10−1)に示された
、主に音声信号処理プロセッサ(DSSPI)の構成を
示す簡略化されたブロック図であり、図において、(1
)は命令語が記憶された命令メモリ、(2)は命令語の
解読及び演算などの動作制御を行う命令実行制御部、(
3)は命令アドレスを保持するプログラムカウンタ、(
4)はサブルーチン処理、割り込み時の戻り先アドレス
を退避させるPCスタックであり、このPCスタック(
4)は割り込み直前のプログラムカウンタ(3)から出
力された命令アドレス(301)を割り込み処理終了時
まで退避させる。(5)は制御機能全体を担当するシー
ケンス制御部、(6)はシーケンス制御部(5)との間
でループ/リピート時の計数処理を担当するリピート制
御部、(7)はリピート命令実行中にリピート回数をカ
ウントするリピートカウンタ、(8)はデコードされた
制御データの転送を行うプログラムバス、(9)は主デ
ータ転送を行うデータバス、(10)はプログラムバス
(8)とデータバス(9)の接続を行うバスインターフ
ェイスレジスタ、(11)は演算データを記憶させるデ
ータメモリ、(12)は加減乗除などの演算を実行する
演算処理回路、(13)は割り込み処理の起動を行なう
割り込み制御部、(14)は外部割り込み要求信号、(
15)は外部割り込み許可信号である。
FIG. 4 is a simplified block diagram mainly showing the configuration of the audio signal processing processor (DSSPI), which was shown in the 1986 IEICE Communication Division National Conference Symposium Proceedings (NaS10-1), for example. In (1
) is an instruction memory in which instruction words are stored, (2) is an instruction execution control unit that controls operations such as decoding and calculation of instruction words, (
3) is a program counter that holds instruction addresses, (
4) is a PC stack that saves the return destination address during subroutine processing and interrupts, and this PC stack (
4) saves the instruction address (301) output from the program counter (3) immediately before the interrupt until the end of the interrupt process. (5) is a sequence control unit that is in charge of the entire control function, (6) is a repeat control unit that is in charge of counting processing during loop/repeat between sequence control unit (5), and (7) is a repeat instruction being executed. (8) is a program bus that transfers decoded control data, (9) is a data bus that transfers main data, (10) is a program bus (8) and a data bus ( 9) is a bus interface register that performs the connection, (11) is a data memory that stores calculation data, (12) is an arithmetic processing circuit that performs operations such as addition, subtraction, multiplication, and division, and (13) is an interrupt control that starts interrupt processing. part, (14) is an external interrupt request signal, (
15) is an external interrupt enable signal.

次に動作について説明する。−船釣に信号処理プロセッ
サは処理速度の向上を計る目的としてパイプライン構造
となっており、例えば図示の場合、3ステージ・パイプ
ライン構造となっている。よって、ここでは、パイプラ
イン処理に基づいた説明を行う。
Next, the operation will be explained. - Signal processing processors for boat fishing have a pipeline structure for the purpose of improving processing speed; for example, in the case shown in the figure, it has a three-stage pipeline structure. Therefore, here, explanation will be given based on pipeline processing.

パイプラインの第1ステージでは、プログラムカウンタ
(3)から出力される命令アドレス(301)により指
定された命令語(101)が、命令メモリ(1)から読
出されて命令実行制御部(2)に入力される。
In the first stage of the pipeline, the instruction word (101) specified by the instruction address (301) output from the program counter (3) is read from the instruction memory (1) and sent to the instruction execution control unit (2). is input.

パイプラインの第2ステージでは、命令実行制御部(2
)により解読された制御信号及びデータが各部へ送られ
る。
In the second stage of the pipeline, the instruction execution control unit (2
) decoded control signals and data are sent to each part.

パイプラインの第3ステージでは、制御信号によってデ
ータメモリ(11)から演算データ(111)のデータ
バス(9)への読出しおよび該ブタバスから該データメ
モリへの書き込み、演算処理回路(12)での演算処理
などの各種動作の制御が行われる。
In the third stage of the pipeline, control signals are used to read arithmetic data (111) from the data memory (11) to the data bus (9), write it from the pig bus to the data memory, and write the arithmetic data (111) in the arithmetic processing circuit (12). Various operations such as arithmetic processing are controlled.

割り込み制御部(13)にはRESET以外に3レベル
の割り込み機能がある。RESETはプログラムカウン
タ(3)のリセットをはじめとして、スティタスレジス
タ(SR)、フラグレジスタ(FR)、割り込み、バス
コントロール等の制御系のレジスタを初期化する。
The interrupt control unit (13) has three levels of interrupt functions in addition to RESET. RESET initializes control system registers such as the status register (SR), flag register (FR), interrupt, and bus control, as well as resetting the program counter (3).

割り込み0 (INTRO)はノンマスカブルであり、
lNTR0信号が入力されると、プログラムカウンタ(
3)は1番地にセットされる。
Interrupt 0 (INTRO) is non-maskable,
When the lNTR0 signal is input, the program counter (
3) is set to address 1.

割り込み1(INTRI)ではマスカブルであり、RE
SET、lNTR01I NTR1のいずれかが受付け
られた場合、または、プログラムでの指定によりマスク
される。マスクの解除はプログラムで行い、この割り込
みが受付けられると、プログラムカウンタ(3)は2番
地にセットされる。
Interrupt 1 (INTRI) is maskable and RE
It is masked when either SET or 1NTR01I NTR1 is accepted, or by designation in the program. The mask is canceled by a program, and when this interrupt is accepted, the program counter (3) is set to address 2.

割り込み2 (lNTR2)はマスカブルであり、アク
ノリッジ機能付きの通常の割り込みである。
Interrupt 2 (lNTR2) is maskable and is a normal interrupt with an acknowledge function.

RESET、lNTR0,INTRIおよびlNTR2
が受付けられた場合、あるいは、プログラムでの設定に
よりマスクされる。マスクの解除はプログラムで行い、
この割り込み信号が受付けられるとアクノリッジ信号(
I NTA 2 )が出力され、プログラムカウンタ(
3)には3番地がセットされる。
RESET, lNTR0, INTRI and lNTR2
is accepted or masked by program settings. Unmasking is done programmatically,
When this interrupt signal is accepted, an acknowledge signal (
I NTA 2 ) is output, and the program counter (
3) is set to address 3.

さて、通常実行された命令語の次に実行される命令語は
、実行された命令語が記憶されていた命令アドレス(3
01)にrlJだけ加算したアドレスに記憶されている
Now, the instruction word to be executed next to the normally executed instruction word is the instruction address (3) where the executed instruction word was stored.
01) plus rlJ.

したがって、バイブライン第1ステージでは、プログラ
ムカウンタ(3)から出力された命令アドレス(301
)が加算器により「+1」され、命令アドレス(301
)に「1」加算したアドレスが作られる。
Therefore, in the first stage of the vibe line, the instruction address (301
) is “+1” by the adder, and the instruction address (301
) is created by adding "1" to the address.

一般にバイブライン構造を持ったプロセッサは、命令実
行を完了するまでにバイブラインによる遅延が生じる。
Generally, in a processor having a vibe line structure, there is a delay due to the vibe line until instruction execution is completed.

例えば第5図に示すように、時刻Tnのマシンサイクル
において、外部からH/W割り込み要求信号(14)が
割り込み制御部(13)に人力される。
For example, as shown in FIG. 5, in the machine cycle at time Tn, a H/W interrupt request signal (14) is inputted from the outside to the interrupt control section (13).

上記の入力により、割り込み制御部(13)から外部割
り込み許可信号(15)が出力された場合、命令アドレ
スPC(n)で指定した命令語が読出されるが、割り込
み信号が受は付けられているので、時刻Tn+1のマシ
ンサイクルでは命令実行制御部(2)にあるn番地に記
憶されている命令語を無効とし、同もしない命令(n 
o p)に置き換えられる。
When the external interrupt enable signal (15) is output from the interrupt control unit (13) due to the above input, the instruction word specified by the instruction address PC(n) is read, but the interrupt signal is not acknowledged. Therefore, in the machine cycle at time Tn+1, the instruction word stored at address n in the instruction execution control unit (2) is invalidated, and an instruction (n
o p).

また、プログラムカウンタ(3)は時刻Tnのマシンサ
イクルで3番地にセットされて割り込み処理が実行され
る。この割り込み処理が実行される以前に、PC(n−
1)、PC(n)で指定された命令語の実行が完了して
ないことやプログラム・カウンタ(3)および各キーレ
ジスタの割り込み時、退避を行なわないために、割り込
みからの完全復帰は不可能である。
Further, the program counter (3) is set to address 3 in the machine cycle at time Tn, and interrupt processing is executed. Before this interrupt processing is executed, the PC (n-
1), the execution of the instruction word specified by PC(n) has not been completed, and the program counter (3) and each key register are not saved at the time of an interrupt, so complete recovery from the interrupt is not possible. It is possible.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来のバイブライン構造となっているディジタル信号処
理プロセッサは以上のように構成されているので、通常
の命令実行中に外部割り込みが入ると、割り込み以前の
正確なデータは保証されず、リピート中に割り込みが行
なわれると、残りのリピート命令は実行されない。この
ことは、外部H/W割り込みを実行するとともに、多量
のデータを高速に処理し、正確な演算結果を必要とする
画像信号処理の分野において、処理効率の低下を招くな
どの問題点があった。
Conventional digital signal processing processors with a vibe line structure are configured as described above, so if an external interrupt occurs during normal instruction execution, accurate data before the interrupt is not guaranteed, and the Once the interrupt is taken, the remaining repeat instructions will not be executed. This poses problems such as a decrease in processing efficiency in the field of image signal processing, which requires execution of external H/W interrupts, high-speed processing of large amounts of data, and accurate calculation results. Ta.

この発明は上記のような問題点を解消することを課題と
してなされたもので、処理速度の低下や命令ステップ数
の増加をおさえ、割り込み復帰時、割り込み時に退避し
た各レジスタ値を各レジスタに転送して完全復帰できる
ようにしたディジタル信号処理プロセッサを得ることを
目的とする。
This invention was made with the aim of solving the above-mentioned problems.It suppresses the decrease in processing speed and increase in the number of instruction steps, and transfers each register value saved at the time of interrupt to each register when returning from an interrupt. An object of the present invention is to obtain a digital signal processing processor that can be completely restored after a complete recovery.

〔課題を解決するための手段〕[Means to solve the problem]

この発明に係るディジタル信号処理プロセッサは、割り
込みが実行されると、各レジスタ・データが退避する複
数のレジスタ退避用メモリと、割り込み復帰時に各レジ
スタに正確なデータ転送を可能とするとともに、リピー
ト中の割り込み復帰後でも残りのリピート数だけ実行を
再開して割り込み処理からの完全復帰を制御する割り込
み制御部と、割り込み処理中以外でもH/W割り込みを
禁止する割り込み禁止期間を設けた割り込みイネーブル
制御部とを具備したものである。
The digital signal processing processor according to the present invention has a plurality of register saving memories in which each register data is saved when an interrupt is executed, and enables accurate data transfer to each register when returning from an interrupt, and also has a memory for saving each register when an interrupt is executed. An interrupt control unit that controls a complete return from interrupt processing by restarting execution for the remaining number of repeats even after the interrupt returns, and an interrupt enable control that provides an interrupt disable period that disables H/W interrupts even when not during interrupt processing. It is equipped with a section.

〔作用〕[Effect]

この発明におけるレジスタ退避用メモリは、割り込みの
入った時、すでに実行されている命令を完了してから各
レジスタのレジスタ値を書き込み、割り込み制御部は割
り込み終了時に上記レジスタ退避用メモリに書き込んだ
レジスタ値を各レジスタに復帰するとともに、リピート
命令実行中の割り込み時でも復帰後に残りのリピート回
数だけリピート命令実行を可能とし、イネーブル制御部
は外部データメモリアクセス中のメモリウェイト時、分
岐命令・復帰命令・ソフトウェア・インクラブド命令の
デコードおよび実行時における外部割り込みを禁止する
割り込み禁止期間を設けたことにより、ディジタル信号
処理プロセッサにおける処理能力を向上させることを可
能とする。
The register saving memory in this invention writes the register value of each register after completing the instruction that has already been executed when an interrupt occurs, and the interrupt control unit writes the register value to the register saving memory when the interrupt ends. In addition to restoring the value to each register, even if an interrupt occurs during the execution of a repeat instruction, the repeat instruction can be executed for the remaining number of repeats after the return, and the enable control unit can execute branch instructions and return instructions when there is a memory wait while accessing external data memory. - By providing an interrupt prohibition period that prohibits external interrupts during decoding and execution of software included instructions, it is possible to improve the processing capacity of a digital signal processor.

〔実施例〕〔Example〕

以下、この発明の一実施例を図について説明する。第1
図において、前記第4図と同一または相当部分には同一
符号を付して重複説明を省略する。
An embodiment of the present invention will be described below with reference to the drawings. 1st
In the figure, the same or equivalent parts as in FIG. 4 are given the same reference numerals, and redundant explanation will be omitted.

(16)は割り込み実行時、各レジスタのデータが退避
する退避するレジスタ退避用メモリ、(17)はリピー
ト命令実行中を示すリピートフラグレジスタ(rfr)
、(18)は割り込みが受け付けられた時の退避用とし
てのリピートフラグスタック(rfsk)、(19)は
リピート初期回数保持のための裏リピートカウンタ(r
ch)、(20)は割り込み起動時の割り込みの自動デ
ィスエーブル処理を行う割り込みイネーブル制御部であ
る。
(16) is a register save memory where the data of each register is saved when an interrupt is executed, and (17) is a repeat flag register (rfr) that indicates that a repeat instruction is being executed.
, (18) is a repeat flag stack (rfsk) for saving when an interrupt is accepted, and (19) is a back repeat counter (rfsk) for holding the initial number of repeats.
ch) and (20) are interrupt enable control units that perform automatic disable processing of interrupts when interrupts are activated.

上記レジスタ退避用メモリ(16)は割り込み処理ルー
チンで退避させる必要があるレジスタのレジスタ値だけ
を適宜、保持しておくメモリである。また、割り込みイ
ネーブル制御部(20)は外部データメモリアクセス中
および分岐命令・復帰命令・S/W割り込み命令の実行
中のH/W割り込みを自動的に禁止する制御部である。
The register saving memory (16) is a memory that appropriately holds only the register values of registers that need to be saved in the interrupt processing routine. Further, the interrupt enable control unit (20) is a control unit that automatically inhibits H/W interrupts during external data memory access and execution of branch instructions, return instructions, and S/W interrupt instructions.

次に第1図に基づきH/W割り込み処理の動作を説明す
る。外部デバイスにおいて、割り込み要求が発生した場
合、外部デバイスは割り込み要求信号(14)により割
り込み制御部(13)に割り込みの発生を知らせる。
Next, the operation of H/W interrupt processing will be explained based on FIG. When an interrupt request occurs in the external device, the external device notifies the interrupt control unit (13) of the occurrence of the interrupt using an interrupt request signal (14).

割り込みが受付けられると、割り込み制御部(13)か
らシーケンス制御部(5)に対して割り込み要求が出さ
れる。この割り込み要求を受けると、命令実行制御部(
2)に何もしない命令をセットするとともにプログラム
カウンタ(3)の更新を禁止する。
When an interrupt is accepted, an interrupt request is issued from the interrupt control section (13) to the sequence control section (5). When this interrupt request is received, the instruction execution control unit (
2) sets an instruction to do nothing and prohibits updating of the program counter (3).

次に割り込み制御部(13)では外部デバイスに割り込
み許可信号(15)を発信し、基本的に割り込み処理中
のH/W割り込みを禁止する。
Next, the interrupt control unit (13) sends an interrupt enable signal (15) to the external device, basically prohibiting H/W interrupts during interrupt processing.

なお、シーケンサ制御部(5)で何もしない命令に置き
換えられる。割り込み処理中以外に外部データメモリア
クセス中のメモリウェイトサイクルおよび分岐命令・復
帰命令・S/Wインタラブドのデコードおよび実行中の
割り込みを割り込みイネーブル制御部(20)によって
自動的にディスエーブル処理を行う。
Note that this is replaced with an instruction that does nothing in the sequencer control unit (5). In addition to interrupt processing, the interrupt enable control unit (20) automatically disables interrupts during memory wait cycles during access to external data memory, and during decoding and execution of branch instructions, return instructions, and S/W interwoven.

割り込みが受付けられると、命令実行制御部(2)に何
もしない命令をセットし、PCスタック(4)にプログ
ラムカウンタ(3)のカウント値を自動的にブシュする
とともに該プログラムカウンタに割り込み番地をセット
する。
When an interrupt is accepted, an instruction to do nothing is set in the instruction execution control unit (2), the count value of the program counter (3) is automatically bushed in the PC stack (4), and the interrupt address is set in the program counter. set.

リピート中の割り込みの場合は更にその時のピートフラ
グレジスタ(17)の状態を記憶しておく必要があり、
リピート命令実行中においても割り込み受付が可能とな
るように、リピートフラグレジスタ(]7)のレジスタ
値をリピートフラグスタック(18)に自動的に退避す
る。
In the case of an interrupt during repeat, it is also necessary to remember the state of the repeat flag register (17) at that time.
The register value of the repeat flag register (7) is automatically saved to the repeat flag stack (18) so that interrupts can be accepted even during execution of a repeat instruction.

割り込み処理ルーチンにおいて使用されるレジスタのレ
ジスタ値退避は、割り込み番地光で行い、レジスタ退避
命令(push)によって行う。割り込みからの復帰は
復帰命令(r t i)によって行うがこの復帰命令の
前に、割り込み番地光でレジスタ値復帰命令(p o 
p)によって、割り込み処理ルーチン前のレジスタ値を
各レジスタにセットする。
The register value of the register used in the interrupt processing routine is saved by using the interrupt address light and by a register save instruction (push). Return from an interrupt is performed by a return instruction (r t i), but before this return instruction, a register value return instruction (p o
p) sets the register values before the interrupt processing routine in each register.

この後、復帰命令により割り込みから復帰する。Thereafter, a return instruction returns from the interrupt.

この時、PCスタック(4)からプログラムカウンタ(
3)のカウント値をポツプし、命令実行制御部(2)に
何もしない命令をセットし、その後リピートフラグスタ
ック(18)からリピートフラグレジスタ(17)のレ
ジスタ値を復帰させる。
At this time, the program counter (
3), pops the count value, sets an instruction to do nothing in the instruction execution control unit (2), and then restores the register value of the repeat flag register (17) from the repeat flag stack (18).

第2図は通常割り込み動作を説明するためのタイミング
チャート図である。第3図はリピート命令実行中の割り
込み動作を説明するためのタイミングチャート図であり
、リピート命令の第2ステージでリピートフラグレジス
タ(17)のレジスタ値に「1」をセットし、裏リピー
トカウンタ(19)を「1」減算してリピートセットす
る。
FIG. 2 is a timing chart for explaining the normal interrupt operation. FIG. 3 is a timing chart for explaining the interrupt operation during execution of a repeat instruction. In the second stage of the repeat instruction, the register value of the repeat flag register (17) is set to "1", and the back repeat counter ( 19) is subtracted by "1" and set to repeat.

この時、命令アドレスPC(n+1)で指定された命令
語の第1ステージではプログラムカウンタ(3)の更新
は行わない。また、第2ステージではリピートフラグレ
ジスタ(17)に「1」がセットされていると、裏リピ
ートカウンタ(19)のカウント値を「1」減算して0
かどうかをテストする。0であれば、同命令を実行する
At this time, the program counter (3) is not updated in the first stage of the instruction word specified by the instruction address PC (n+1). In addition, in the second stage, if the repeat flag register (17) is set to "1", the count value of the back repeat counter (19) is subtracted by "1" and becomes 0.
Test whether. If it is 0, execute the same instruction.

割り込みが受付けられると、命令実行制御部(2)に何
もしない命令がセットされ、リピートフラグレジスタ(
17)のレジスタ値はリピートフラグスタック(18)
に退避され、PC(n+1)はPCスタック(4)に退
避される。そして、割り込み後に、レジスタ退避用メモ
リ(16)にレジスタ退避命令によって、リピートカウ
ンタ(7)のカウント値を退避させる。
When an interrupt is accepted, an instruction to do nothing is set in the instruction execution control unit (2), and the repeat flag register (
The register value of 17) is the repeat flag stack (18)
PC (n+1) is saved to PC stack (4). After the interrupt, the count value of the repeat counter (7) is saved in the register save memory (16) by a register save instruction.

割り込み処理ルーチンが完了する前に、退避したリピー
トカウンタ(7)のカウント値および各レジスタ値をレ
ジスタ値復帰命令によって各レジスタにセットする。割
り込みからの復帰では、S/Wリターン命令によってプ
ログラムカウンタスタック(4)からプログラムカウン
タ(3)に命令アドレスPC(n+1)がポツプされ、
また、次命令として命令実行制御部(2)に何もしない
命令がセットされる。その後リピートフラグスタック(
18)からリピートフラグレジスタ(17)に割り込み
前データをポツプする。
Before the interrupt processing routine is completed, the saved count value of the repeat counter (7) and each register value are set in each register by a register value return instruction. Upon return from an interrupt, the instruction address PC(n+1) is popped from the program counter stack (4) to the program counter (3) by the S/W return instruction, and
Further, an instruction to do nothing is set in the instruction execution control unit (2) as the next instruction. Then repeat flag stack (
18) to the repeat flag register (17).

これにより、リピートフラグレジスタ(17)に「1」
がセットされ−Cいるため、リピートカウンタ(7)は
「1」減算されて「1」となり、リピー]・命令が再実
行される。
As a result, "1" is set in the repeat flag register (17).
Since -C is set, the repeat counter (7) is decremented by 1 and becomes 1, and the repeat] instruction is re-executed.

以上、外部H/W割り込みにおいて、本実施例のような
処理を行うことにより、通常割り込みおよびリピート命
令実行中の割り込みにおいても、プロセッサの完全復帰
が可能となり、プロセッサ処理効率の低下を防止できる
As described above, by performing the processing as in this embodiment for external H/W interrupts, it is possible to completely recover the processor even for normal interrupts and interrupts during execution of repeat instructions, and it is possible to prevent a decrease in processor processing efficiency.

なお、上記実施例ではリピート回数を4回とし、リピー
ト途中に割り込みを行っているが、リピート命令実行直
後、および終了直前においても割り込みからの完全復帰
を可能にしたので、割り込み禁止時以外はどこで割り込
みをかけてもよい。
In the above embodiment, the number of repeats is set to 4, and an interrupt is generated during the repeat. However, it is possible to completely return from an interrupt immediately after the repeat instruction is executed, and immediately before the end of the repeat instruction. You may interrupt.

また、上記実施例の細部の仕様はこの発明の本質とは無
関係であり、この発明の内容を限定するものでないこと
は明らかである。
Further, it is clear that the detailed specifications of the above embodiments are unrelated to the essence of the invention and do not limit the content of the invention.

〔発明の効果〕〔Effect of the invention〕

以上のように、この発明によれば、割り込み処理ルーチ
ン前にプログラムカウンタ、リピートフラグスタックお
よび各レジスタのカウント値およびレジスタ値を退避す
るように構成したので、通常およびリピート命令実行中
の割り込みからの完全復帰を可能にし、割り込み禁止期
間は割り込みイネーブル制御部によって自動的に禁止す
ることができ、ディジタル信号処理プロセッサにおける
処理能力を向上させることが可能となるという効果があ
る。
As described above, according to the present invention, the program counter, the repeat flag stack, and the count value and register value of each register are saved before the interrupt processing routine, so that the program counter, the repeat flag stack, and the count value and register value of each register are saved. Complete recovery is possible, and the interrupt disable period can be automatically inhibited by the interrupt enable control section, which has the effect of making it possible to improve the processing capacity of the digital signal processor.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例によるディジタル信号処理
プロセッサの構成を示すブロック図、第2図はこの発明
の通常割り込み動作を説明するためのタイミングチャー
ト、第3図はこの発明のリピート命令実行中の割り込み
動作を説明するためのタイミングチャート、第4図は従
来のディジタル信号処理プロセッサの構成を示すブロッ
ク図、第5図は従来のディジタル信号処理プロセッサに
よる通常割り込み動作を説明するためのタイミングチャ
ートである。 図において、(1)は命令メモリ、(2)は命令実行制
御部、(3)はプログラムカウンタ、(4)はPCスタ
ック、(7)はリピートカウンタ、(11)はデータメ
モリ、(13)は割り込み制御部、(16)はレジスタ
退避用メモリ、(17)はリピートフラグレジスタ、(
18)は1ビートフラグスタップ、(19)は裏リピー
トカウンタ、(20)はイネーブル制御部、(301)
は命令アドレスである。 なお、図中、同一71号は同一または相当部分を示す。 代理人 弁理士 大 岩 増 雄 (外2名) 復 帰 リター7命令 nop命令 pc(n〒1) 4N割り込み動作のタイミングテヤ ト図 第2 図 pc−割り込み番地 rfr←rfskポツプ(−1) リタ /命令 PC(n+1) pc(口中2) PC(n+3)トーーーーー リビ ト命令実行中の割り込み動作のタイミングチャト図 第3 図 「 手続補正書 (自発) 補正の対象 明細書の特許請求の範囲及び発明の詳細な説明の欄。 6、補正の内容 2、発明の名称 ディジタル信号処理プロセッサ 3、補正をする者 名 祢 (601)三菱電機株式会社 代表者 志 岐 守 哉 4、代 理 住所 人 東京都千代田区丸の内二丁目2番3号 以 上 特許請求の範囲 種々の内部動作を指示する命令語が予め記憶された命令
メモリと、 前記命令語で指示された演算などの動作制御を行う命令
実行制御部と、 演算データを記憶させるデータメモリと、前記演算デー
タに対して前記命令語で指示された演算を行ない演算の
結果と状態を出力する演算部と、 命令アドレスが保持されたプログラムカウンタと、 前記プログラムカウンタのカウント値を割り込み処理時
に退避させるPCスタックと、リピート命令実行中にリ
ピート回数をカウントとするリピートカウンタと、 前記リピート命令実行中を指示するリピートフラグレジ
スタと、 前記リピートフラグレジスタのレジスタ値を割り込み処
理時に退避させるリピートフラグスタックと、 前記割り込み処理時に各レジスタのレジスタ値を退避さ
せる複数のレジスタ退避用メモリと、前記割り込み処理
時、リピート命令が実行されている場合、予め前記リピ
ートカウンタのカウント値およびリピートフラグレジス
タのレジスタ値を退避させることにより、割り込みから
の完全復帰を実現し、前記割り込み処理時、通常命令が
実行されている場合、予め命令アドレスを退避し、ユー
ザが割り込み処理ルーチンで使用する各レジスタのレジ
スタ値の退避を行うことにより、割り込み処理からの完
全復帰を制御する割り込み制御部と、 外部データメモリアクセス中のメモリウェイトサイクル
時および分岐命令復帰命令・S/W割り込み命令のデコ
ードおよび実行時のH/W割り込みを禁止する割り込み
イネーブル制御部と、を備えたディジタル信号処理プロ
セッサ。
FIG. 1 is a block diagram showing the configuration of a digital signal processing processor according to an embodiment of the present invention, FIG. 2 is a timing chart for explaining the normal interrupt operation of the present invention, and FIG. 3 is a repeat instruction execution of the present invention. 4 is a block diagram showing the configuration of a conventional digital signal processing processor. FIG. 5 is a timing chart illustrating the normal interrupt operation of a conventional digital signal processing processor. It is. In the figure, (1) is instruction memory, (2) is instruction execution control unit, (3) is program counter, (4) is PC stack, (7) is repeat counter, (11) is data memory, (13) is is the interrupt control unit, (16) is the register save memory, (17) is the repeat flag register, (
18) is a 1 beat flag tap, (19) is a back repeat counter, (20) is an enable control unit, (301)
is the instruction address. In the figures, the same number 71 indicates the same or equivalent parts. Agent Patent attorney Masuo Oiwa (2 others) Return return 7 command nop command pc (n〒1) Timing diagram of 4N interrupt operation Figure 2 pc-Interrupt address rfr←rfsk pop (-1) Rita/ Instruction PC(n+1) pc(in-mouth 2) PC(n+3) Timing chart of interrupt operation during execution of libbit instruction Figure 3 Procedural amendment (spontaneous) Claims and scope of the specification to be amended Column for detailed description of the invention. 6. Contents of the amendment 2. Name of the invention Digital signal processing processor 3. Name of the person making the amendment Nei (601) Mitsubishi Electric Corporation Representative Moriya Shiki 4. Proxy address Tokyo 2-2-3 Marunouchi 2-chome, Chiyoda-ku, Tokyo and above Claims: An instruction memory in which command words instructing various internal operations are stored in advance, and an instruction execution control for controlling operations such as calculations instructed by the command words. a data memory that stores operation data; an operation section that performs an operation on the operation data as instructed by the instruction word and outputs the result and status of the operation; a program counter that holds an instruction address; A PC stack that saves the count value of the program counter during interrupt processing; a repeat counter that counts the number of repeats during execution of the repeat instruction; a repeat flag register that indicates that the repeat instruction is being executed; and a register of the repeat flag register. A repeat flag stack that saves values during interrupt processing; a plurality of register save memories that save register values of each register during interrupt processing; By saving the count value and the register value of the repeat flag register, complete recovery from the interrupt is realized. If a normal instruction is being executed during the interrupt processing, the instruction address is saved in advance and the user can perform the interrupt processing. An interrupt control unit that controls complete recovery from interrupt processing by saving the register values of each register used in routines, and a memory wait cycle during external data memory access, branch instruction return instructions, and S/W interrupts. A digital signal processing processor comprising: an interrupt enable control unit that inhibits H/W interrupts during instruction decoding and execution.

Claims (1)

【特許請求の範囲】 種々の内部動作を指示する命令語が予め記憶された命令
メモリと、 前記命令語で指示された演算などの動作制御を行う命令
実行制御部と、 演算データを記憶させるデータメモリと、 前記演算データに対して前記命令語で指示された演算を
行ない演算の結果と状態を出力する演算部と、 命令アドレスが保持されたプログラムカウンタと、 前記プログラムカウンタのカウント値を割り込み処理時
に退避させるPCスタックと、 リピート命令実行中にリピート回数をカウントとするリ
ピートカウンタと、 前記リピート命令実行中を指示するリピートフラグレジ
スタと、 前記リピートフラグレジスタのレジスタ値を割り込み処
理時に退避させるリピートフラグスタックと、 前記割り込み処理時に各レジスタのレジスタ値を退避さ
せる複数のレジスタ退避用メモリと、前記割り込み処理
時、リピート命令が実行されている場合、予め前記リピ
ートカウンタのカウント値およびリピートフラグレジス
タのレジスタ値を退避させることにより、割り込みから
の完全復帰を実現し、前記割り込み処理時、通常命令が
実行されている場合、予め前記リピートカウンタのカウ
ントを退避し、ユーザが割り込み処理ルーチンで使用す
る各レジスタのレジスタ値の退避を行うことにより、割
り込み処理からの完全復帰を制御する割り込み制御部と
、 外部データメモリアクセス中のメモリウェイトサイクル
時および分岐命令復帰命令・S/W割り込み命令のデコ
ードおよび実行時のH/W割り込みを禁止する割り込み
イネーブル制御部と、を備えたディジタル信号処理プロ
セッサ。
[Scope of Claims] An instruction memory in which instruction words instructing various internal operations are stored in advance; an instruction execution control unit that controls operations such as operations instructed by the instruction words; and data for storing operation data. a memory; an arithmetic unit that performs an operation specified by the instruction word on the operation data and outputs the result and status of the operation; a program counter that holds an instruction address; and an interrupt processing unit that processes the count value of the program counter. A PC stack that is saved at the time of execution, a repeat counter that counts the number of repeats during execution of a repeat instruction, a repeat flag register that indicates that the repeat instruction is being executed, and a repeat flag that saves the register value of the repeat flag register during interrupt processing. a stack; a plurality of register saving memories for saving the register values of each register during the interrupt processing; and, if a repeat instruction is being executed during the interrupt processing, the count value of the repeat counter and the register of the repeat flag register are saved in advance; By saving the value, a complete recovery from the interrupt is realized, and when a normal instruction is being executed during the interrupt processing, the count of the repeat counter is saved in advance, and each register used by the user in the interrupt processing routine is saved. An interrupt control unit that controls a complete return from interrupt processing by saving the register values of An interrupt enable control unit that disables H/W interrupts of the digital signal processing processor.
JP1006806A 1988-12-16 1989-01-13 Digital signal processor Pending JPH02187829A (en)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP1006806A JPH02187829A (en) 1989-01-13 1989-01-13 Digital signal processor
CA000605490A CA1311063C (en) 1988-12-16 1989-07-12 Digital signal processor
US07/379,274 US5161247A (en) 1988-12-16 1989-07-13 Digital signal processor matching data blocks against a reference block and replacing the reference block when a new minimum distortion block is calculated
EP89113000A EP0373291B1 (en) 1988-12-16 1989-07-15 Digital signal processor
DE68927798T DE68927798T2 (en) 1988-12-16 1989-07-15 Processor for a numerical signal
EP95106303A EP0666532A1 (en) 1988-12-16 1989-07-15 Digital signal processor
EP95106304A EP0669599A1 (en) 1988-12-16 1989-07-15 Digital signal processor
EP95106305A EP0666533A1 (en) 1988-12-16 1989-07-15 Digital signal processor
KR1019890017852A KR920010933B1 (en) 1988-12-16 1989-12-04 Digital signal processor
US07/907,233 US5442799A (en) 1988-12-16 1992-07-01 Digital signal processor with high speed multiplier means for double data input
US08/103,175 US5421023A (en) 1988-12-16 1993-08-06 Motion vector calculation method using sequential minimum distortion calculations at different densities
US08/128,257 US5504916A (en) 1988-12-16 1993-09-28 Digital signal processor with direct data transfer from external memory
US08/140,989 US5388236A (en) 1988-12-16 1993-10-25 Digital signal processor with multiway branching based on parallel evaluation of N threshold values followed by sequential evaluation of M

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1006806A JPH02187829A (en) 1989-01-13 1989-01-13 Digital signal processor

Publications (1)

Publication Number Publication Date
JPH02187829A true JPH02187829A (en) 1990-07-24

Family

ID=11648434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1006806A Pending JPH02187829A (en) 1988-12-16 1989-01-13 Digital signal processor

Country Status (1)

Country Link
JP (1) JPH02187829A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655678A1 (en) * 1993-11-15 1995-05-31 Motorola, Inc. Data processing system
JP2007257477A (en) * 2006-03-24 2007-10-04 Fujitsu Ltd Semiconductor device and command control method
JP2010267064A (en) * 2009-05-14 2010-11-25 Internatl Business Mach Corp <Ibm> Computer system and method of controlling the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5947651A (en) * 1982-09-10 1984-03-17 Matsushita Electric Ind Co Ltd Program controller
JPS63296139A (en) * 1987-05-27 1988-12-02 Fujitsu Ltd Interruption control circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5947651A (en) * 1982-09-10 1984-03-17 Matsushita Electric Ind Co Ltd Program controller
JPS63296139A (en) * 1987-05-27 1988-12-02 Fujitsu Ltd Interruption control circuit

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0655678A1 (en) * 1993-11-15 1995-05-31 Motorola, Inc. Data processing system
US5475822A (en) * 1993-11-15 1995-12-12 Motorola, Inc. Data processing system for resuming instruction execution after an interrupt and method therefor
JP2007257477A (en) * 2006-03-24 2007-10-04 Fujitsu Ltd Semiconductor device and command control method
JP2010267064A (en) * 2009-05-14 2010-11-25 Internatl Business Mach Corp <Ibm> Computer system and method of controlling the same
US8909835B2 (en) 2009-05-14 2014-12-09 International Business Machines Corporation Computer system and method of controlling computer system

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US4961161A (en) Arithmetic processor performing mask and trap operations for exceptions
JPH07248897A (en) Method and device for recovery from exception in computer system
JPH02187829A (en) Digital signal processor
JP2003058381A (en) Processor realizing exception processing setting by program
JPH0895798A (en) Data processor
JPH07219766A (en) Arithmetic processor
JP4756599B2 (en) Data processing device
JPS6290728A (en) Interruption processing method
JPH0646380B2 (en) Information processing equipment
JP2979108B2 (en) Synchronization method for asynchronous processing in data processing equipment
JP2876791B2 (en) Exception handling device and exception handling method
JPH044630B2 (en)
JPS6149695B2 (en)
JP2702137B2 (en) Vector operation instruction processing method
JP3729250B2 (en) Information processing apparatus and electronic apparatus
JP3168663B2 (en) Information processing device
JPH07160498A (en) Microprocessor
JPH06274353A (en) Signal processing processor
JPH09330234A (en) Interruption processing method and microprocessor
JPH0916399A (en) Computer
JPS62209650A (en) Memory access system
JPH0198029A (en) Data processor
JPH07200294A (en) Processor device provided with delay branch execution function
JPH04133132A (en) Delay branch processing system arranged with multistage delay instruction