JPH08297583A - Processor and method for interruption processing - Google Patents
Processor and method for interruption processingInfo
- Publication number
- JPH08297583A JPH08297583A JP10209295A JP10209295A JPH08297583A JP H08297583 A JPH08297583 A JP H08297583A JP 10209295 A JP10209295 A JP 10209295A JP 10209295 A JP10209295 A JP 10209295A JP H08297583 A JPH08297583 A JP H08297583A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- program
- instruction
- program counter
- register
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はプロセッサの割り込み処
理装置および割り込み方法に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interrupt processing device and interrupt method for a processor.
【0002】[0002]
【従来の技術】近年のディジタル技術の急速な発展に伴
って、ディジタル信号処理などの高度な処理を高速に実
行するプロセッサ(DSP)が求められている。DSP
は種々の周辺機器からの処理要求に対し、できるだけ高
速に処理を実行しなければならない。DSPに接続され
る周辺の機器の数はシステムが複雑になるに従って増大
し、また動作も高速になってきている。すなわち、種々
の処理要求に対応した処理を、要求が入った時から短時
間で開始し、その処理が終了すれば速やかにもとの処理
に復帰しなくてはならない。2. Description of the Related Art With the rapid development of digital technology in recent years, a processor (DSP) capable of executing high-level processing such as digital signal processing at high speed has been required. DSP
Must perform processing in response to processing requests from various peripheral devices as fast as possible. The number of peripheral devices connected to the DSP is increasing as the system becomes more complicated, and the operation speed is also increasing. That is, it is necessary to start the processing corresponding to various processing requests in a short time from the time when the requests are input, and to immediately return to the original processing when the processing is completed.
【0003】従来ではこれらの、新しい処理は割り込み
処理で実現するが、その場合、新しい処理の開始/元の
処理への復帰は、1、割り込み要求の受理、2、割り込
み要求の種類により固定されたプログラムメモリの番地
Xへの分岐、3、メモリの番地Xに保持された分岐命令
により入力された割り込み要求に対応するプログラムの
先頭番地Yへの分岐、処理実行、4、元の処理に復帰の
ための分岐という段階を経るのが一般的であった(例え
ば「MN1920シリーズLSI説明書5−89頁(1
990年、松下電子工業刊)」参照)。Conventionally, these new processes are realized by interrupt processing. In this case, the start of the new processing / return to the original processing is fixed depending on 1, the acceptance of the interrupt request, and the type of the interrupt request. Branch to address X of the program memory, 3, Branch to the first address Y of the program corresponding to the interrupt request input by the branch instruction held at the memory address X, execute process 4, return to the original process It was common to go through the step of branching (for example, "MN 1920 Series LSI Manual, page 5-89 (1
990, published by Matsushita Electronics Industrial Co., Ltd.) ").
【0004】以下、上記した従来技術での割り込みにつ
いて簡単に述べる。まず、DSP内部の割り込み制御回
路が割り込み要求信号を受け取る。The interrupt in the above conventional technique will be briefly described below. First, the interrupt control circuit inside the DSP receives the interrupt request signal.
【0005】次に要求を受け取った割り込み制御部は割
り込みの種類により決められた番地データX(一般に割
り込みベクタという)をデータバスへ出力する。同時に
命令デコーダに対して割り込み命令を発行する。割り込
み命令は割り込み処理開始に伴う制御を行う。すなわち
プログラムカウンタにデータバスのデータを書き込み、
また更新前のプログラムカウンタの値をスタックメモリ
に退避する。これにより割り込み要求に対応した番地X
への分岐が実行される。Next, the interrupt controller which receives the request outputs the address data X (generally called an interrupt vector) determined by the type of interrupt to the data bus. At the same time, an interrupt instruction is issued to the instruction decoder. The interrupt instruction controls the start of interrupt processing. That is, write the data of the data bus to the program counter,
The value of the program counter before updating is saved in the stack memory. As a result, the address X corresponding to the interrupt request
The branch to is executed.
【0006】番地Xには実際に処理したいプログラムの
先頭番地Yに分岐する命令があり、その分岐命令が実行
されて、その後プログラム実行が開始される。At the address X, there is an instruction that branches to the head address Y of the program to be actually processed, the branch instruction is executed, and then the program execution is started.
【0007】割り込み処理が終了するとスタックメモリ
に退避したプログラムカウンタの値を参照して元のプロ
グラムに復帰する。When the interrupt processing is completed, the original program is restored by referring to the value of the program counter saved in the stack memory.
【0008】[0008]
【発明が解決しようとする課題】ところが、DSPでは
高速なスループットを実現するために一般にはパイプラ
イン処理を行っているため、分岐の度に数命令分のオー
バーヘッドが発生する。すなわち割り込み要求入力後、
割り込みベクタへの分岐、割り込み要求により実行した
いプログラムへの分岐、および元のプログラムへの分岐
という本来の処理とは無関係な分岐動作のためにオーバ
ーヘッドが生じる。上記のような構成/方法では、割り
込み処理が非常に大きなプログラムであればオーバーヘ
ッドは無視できるが、即応性を要求され、しかもある制
御レジスタへのデータ転送(I/Oポートをオンするな
ど)であるような単一命令の処理に対してはオーバーヘ
ッドの方が大きく、高速な割り込み応答ができないと言
う問題点を有していた。However, since DSP generally performs pipeline processing in order to realize high-speed throughput, an overhead of several instructions occurs at each branch. That is, after inputting an interrupt request,
An overhead occurs because of branch operations unrelated to the original processing such as branching to an interrupt vector, branching to a program to be executed by an interrupt request, and branching to the original program. With the above configuration / method, the overhead can be ignored if the program has a very large interrupt process, but prompt response is required, and data transfer to a certain control register (such as turning on the I / O port) is required. There is a problem that the overhead is larger for the processing of a certain single instruction and a high-speed interrupt response cannot be performed.
【0009】本発明は以上の点に鑑み、僅かなハードウ
ェアの変更によって数命令で処理できる割り込み要求に
対しては、割り込み受け付け後分岐無しで処理を実行
し、命令実行後自動的に元のプログラムに復帰する割り
込み処理装置およびその方法を提供することを目的とす
る。In view of the above points, the present invention executes an interrupt request that can be processed by several instructions with a slight change of hardware, executes the processing without branching after the acceptance of the interrupt, and automatically executes the original processing after the execution of the instruction. An object of the present invention is to provide an interrupt processing device that returns to a program and a method thereof.
【0010】[0010]
【課題を解決するための手段】本発明の割り込み処理装
置は、データバスに接続されプログラムで読みだし/書
き込み可能な記憶手段と、プログラムを格納するプログ
ラムメモリと、前記プログラムメモリのアクセス番地を
指示する第1のプログラムカウンタと、前記プログラム
メモリと前記記憶手段に接続されそのいずれかの出力を
選択して出力する信号切替え手段と、割り込み要求に応
じて前記切替え手段に選択信号を出力し、前記第1のプ
ログラムカウンタに対して更新停止信号を出力する割り
込み制御手段と、前記切替え手段に接続されその出力の
命令コードをデコードする命令デコーダとを備えてお
り、これにより上記目的が達成できる。SUMMARY OF THE INVENTION An interrupt processing device of the present invention indicates a storage means connected to a data bus and readable / writable by a program, a program memory for storing the program, and an access address of the program memory. A first program counter, a signal switching means that is connected to the program memory and the storage means and selects and outputs any one of the outputs, and outputs a selection signal to the switching means in response to an interrupt request, The interrupt control means for outputting the update stop signal to the first program counter and the instruction decoder connected to the switching means for decoding the instruction code of the output are provided, whereby the above object can be achieved.
【0011】前記割り込み制御手段は、更に、内部に第
2のプログラムカウンタを持ち、割り込み要求に応じて
第2のプログラムカウンタを動作させ、予め設定された
回数のカウント後、前記切替え手段への選択信号と前記
第1のプログラムカウンタへの更新停止信号の出力を停
止する機能を持つようにしてもよい。The interrupt control means further has a second program counter therein, operates the second program counter in response to an interrupt request, counts a preset number of times, and then selects to the switching means. A signal and a function of stopping the output of the update stop signal to the first program counter may be provided.
【0012】前記割り込み制御手段は、更に、第2のプ
ログラムカウンタの示すアドレスを出力する機能を持つ
ようにしてもよい。The interrupt control means may further have a function of outputting the address indicated by the second program counter.
【0013】前記記憶手段は前記割り込み制御部から出
力されるアドレスに従って格納されている命令コードを
出力する機能を持つようにしてもよい。The storage means may have a function of outputting an instruction code stored according to an address output from the interrupt control section.
【0014】前記割り込み制御手段は、更に複数の割り
込み要求に対し対応した異なるアドレスを出力する機能
を持つようにしてもよい。The interrupt control means may further have a function of outputting different addresses corresponding to a plurality of interrupt requests.
【0015】本発明の割り込み処理方法は割り込み要求
に応じてプログラムメモリのアクセス番地を指示するプ
ログラムカウンタの更新を停止し、同時に切替え手段の
選択を記憶手段側に変更することでプログラムの制御を
変更し、結果として上記目的が達成される。According to the interrupt processing method of the present invention, the control of the program is changed by stopping the update of the program counter for instructing the access address of the program memory in response to the interrupt request and changing the selection of the switching means to the storage means side at the same time. As a result, the above object is achieved.
【0016】前記処理方法は、更に予め設定されたプロ
グラムの回数実行後に前記切替え手段での選択を前記プ
ログラムメモリ側に変更し、前記プログラムカウンタの
更新を再開することで達成されてもよい。The processing method may be achieved by further changing the selection made by the switching means to the program memory side after the preset number of times of execution of the program and restarting the updating of the program counter.
【0017】前記記憶手段に格納するプログラムを変更
することで同一の割り込み要求で、異なった処理を実行
することが達成されてもよい。By changing the program stored in the storage means, it is possible to achieve different processes with the same interrupt request.
【0018】[0018]
【作用】本発明は上記した構成によって、割り込み制御
手段に割り込み要求が入力された後、切替え手段により
命令デコーダに入力する命令コードを変更し、同時にプ
ログラムカウンタの値を保持する。所定のプログラム実
行後切替え手段の出力を元に戻し、プログラムカウンタ
の更新を再開する。According to the present invention, after the interrupt request is input to the interrupt control unit, the switching unit changes the instruction code to be input to the instruction decoder and simultaneously holds the value of the program counter. After the predetermined program is executed, the output of the switching means is returned to the original state and the update of the program counter is restarted.
【0019】[0019]
(実施例1)以下請求項1の発明に係わる一実施例の割
り込み処理装置について図面を参照しながら説明する。
図1は本実施例に係わる割り込み処理装置の構成図を示
すものである。(Embodiment 1) An interrupt processing apparatus according to an embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 shows a block diagram of an interrupt processing apparatus according to this embodiment.
【0020】図1において、100はプログラムを格納
するプログラムメモリ、105はプログラムメモリ10
0から出力される命令、110はプログラムメモリ10
0にアクセス番地を出力するプログラムカウンタ、12
0は割り込み要求により実行したいプログラムを保持す
るレジスタ、125はレジスタ120より出力される命
令である。In FIG. 1, 100 is a program memory for storing programs, and 105 is a program memory 10.
Command output from 0, 110 is program memory 10
Program counter that outputs access address to 0, 12
Reference numeral 0 is a register for holding a program to be executed in response to an interrupt request, and 125 is an instruction output from the register 120.
【0021】140は割り込み要求信号130に応じて
後述の切り替え手段となるマルチプレクサ150に後述
のマルチプレクサ150に対し選択情報を与える選択信
号141を出力し、プログラムカウンタ110に対して
プログラムカウンタ110に対し停止情報を与える制御
信号142を出力する割り込み制御部である。In response to the interrupt request signal 130, 140 outputs a selection signal 141 for giving selection information to the multiplexer 150, which will be described later, to the multiplexer 150, which serves as switching means, which will be described later, and causes the program counter 110 to stop the program counter 110. It is an interrupt control unit that outputs a control signal 142 that gives information.
【0022】150は命令105と命令125を選択信
号141によって切替えて出力するマルチプレクサ、1
55はマルチプレクサ150の出力される命令、160
は命令155を解読するデコーダ、170はレジスタ1
20と他の記憶手段(図示せず)とのデータのやりとりを
行うデータバスである。Reference numeral 150 denotes a multiplexer for switching between the instruction 105 and the instruction 125 by a selection signal 141 and outputting them.
55 is an instruction output from the multiplexer 150, 160
Is a decoder for decoding the instruction 155, 170 is a register 1
20 is a data bus for exchanging data between 20 and other storage means (not shown).
【0023】上記ではデータバス170は16ビット、
命令語長は24ビットとする。しかし本発明のデータバ
ス、命令語長はそれらに限ったものではない。また、1
20をレジスタとしたが、メモリ内部にマッピングされ
ているとしても構わない。In the above, the data bus 170 is 16 bits,
The instruction word length is 24 bits. However, the data bus and instruction word length of the present invention are not limited to them. Also, 1
Although 20 is used as a register, it may be mapped in the memory.
【0024】以上のように構成された本実施例の割り込
み処理装置において割り込み要求入力からその割り込み
要求に対応するプログラムの実行開始までの動作を図1
を用いて説明する。The operation from the input of an interrupt request to the start of execution of the program corresponding to the interrupt request in the interrupt processing device of the present embodiment configured as described above is shown in FIG.
Will be explained.
【0025】まず、ステップ1では、割り込み要求13
0によって実行したい命令コードをレジスタ120に格
納する。レジスタ120の構成を図2に示す。すなわち
2つの16ビットレジスタ121、122からなり、2
つのレジスタはそれぞれデータバス170に接続されデ
ータバス170を通じて読みだし/書き込みが可能であ
る。レジスタ121には命令コードの下位16ビットを
格納し、命令コードの上位8ビットをレジスタ122の
下位側8ビットに格納する。レジスタ120の出力は図
2に示すようにレジスタ122の下位側8ビットからレ
ジスタ121の全ビットが対応している。従ってステッ
プ1では、転送命令により2回に分けてレジスタ12
1、レジスタ122に命令コードを格納する。First, in step 1, the interrupt request 13
The instruction code to be executed by 0 is stored in the register 120. The structure of the register 120 is shown in FIG. That is, it consists of two 16-bit registers 121 and 122,
Each of the three registers is connected to the data bus 170 and can be read / written through the data bus 170. The lower 16 bits of the instruction code are stored in the register 121, and the upper 8 bits of the instruction code are stored in the lower 8 bits of the register 122. As shown in FIG. 2, the output of the register 120 corresponds to the lower 8 bits of the register 122 to all bits of the register 121. Therefore, in step 1, the register 12 is divided into two by the transfer instruction.
1. Store the instruction code in the register 122.
【0026】その後ステップ2では、割り込み要求13
0を割り込み制御部140に入力する。割り込み制御回
路140は割り込み要求130がレジスタ120に格納
された命令を使用するものであれば、マルチプレクサ1
50に対し選択信号141として「1」を出力し、プロ
グラムカウンタ110に対し制御信号142として
「1」を出力する。プログラムカウンタ110は制御信
号142の値「1」によりその値をホールドする。マル
チプレクサ150は選択信号141の値「1」により命
令125を選択して出力する。なお選択信号141の値
が「0」の場合は命令105の方を選択する。命令デコ
ーダ160は命令155、すなわち割り込み要求130
に対応する命令をデコードする。結果として割り込み要
求130に対応した処理がオーバーヘッドなしで行われ
る。Thereafter, in step 2, the interrupt request 13
0 is input to the interrupt control unit 140. If the interrupt request 130 uses the instruction stored in the register 120, the interrupt control circuit 140 uses the multiplexer 1
"1" is output as the selection signal 141 to 50, and "1" is output as the control signal 142 to the program counter 110. The program counter 110 holds the value by the value "1" of the control signal 142. The multiplexer 150 selects and outputs the instruction 125 according to the value “1” of the selection signal 141. When the value of the selection signal 141 is "0", the instruction 105 is selected. The instruction decoder 160 uses the instruction 155, that is, the interrupt request 130.
Decode the instruction corresponding to. As a result, the processing corresponding to the interrupt request 130 is performed without overhead.
【0027】1命令サイクル後割り込み制御部140は
それぞれ選択信号141を「0」、制御信号142を
「0」にして出力する。プログラムカウンタ110は制
御信号142の「0」を入力してホールドしていたアク
セス番地を更新し始め、マルチプレクサ150は選択信
号141の「0」を入力して命令105を選択する。結
果として分岐命令無しに元のプログラムに復帰できる。After one instruction cycle, the interrupt control unit 140 sets the selection signal 141 to "0" and the control signal 142 to "0", and outputs it. The program counter 110 inputs "0" of the control signal 142 and starts updating the held access address, and the multiplexer 150 inputs "0" of the selection signal 141 to select the instruction 105. As a result, the original program can be restored without a branch instruction.
【0028】(実施例2)以下請求項3の発明に係わる
一実施例の割り込み処理装置について図面を参照しなが
ら説明する。図3は本実施例に係わる割り込み処理装置
の構成図を示すものである。(Embodiment 2) An interrupt processing device according to an embodiment of the present invention will be described below with reference to the drawings. FIG. 3 is a block diagram of the interrupt processing device according to this embodiment.
【0029】図3において、レジスタ120がレジスタ
220に、割り込み制御部140が割り込み制御部24
0に置き換わり、アドレス245が追加された以外は図
1に示される割り込み処理装置の構成と同じである。従
ってレジスタ220、割り込み制御部240、アドレス
245以外の構成要素の説明は省略する。In FIG. 3, the register 120 is the register 220, and the interrupt controller 140 is the interrupt controller 24.
The configuration is the same as that of the interrupt processing device shown in FIG. 1 except that 0 is replaced and an address 245 is added. Therefore, description of the components other than the register 220, the interrupt control unit 240, and the address 245 will be omitted.
【0030】220は複数ある命令のどの命令コードを
出力するか指示するアドレス信号245に応じて命令を
選択する選択信号を出力し、内部に図4に示すようにア
ドレスデコーダ227とマルチプレクサ228を有する
レジスタ、240は第一の実施例の割り込み制御部14
0の機能に加えて、その内部にプログラムカウンタ機能
を持ち、カウンタの値にしたがってレジスタ220に対
してアドレス245を出力し、かつあらかじめ設定した
アドレスを検出する機能をもつ割り込み制御部である。Reference numeral 220 outputs a selection signal for selecting an instruction in accordance with an address signal 245 indicating which instruction code of a plurality of instructions to output, and internally has an address decoder 227 and a multiplexer 228 as shown in FIG. A register 240 is the interrupt control unit 14 of the first embodiment.
In addition to the function of 0, the interrupt control unit has a program counter function therein, outputs an address 245 to the register 220 according to the value of the counter, and has a function of detecting a preset address.
【0031】上記ではデータバスは16ビット、命令語
長は24ビットとする。しかし本発明のデータバス、命
令語長はそれらに限ったものではない。また、220を
レジスタとしたがメモリ内部にマッピングされていると
しても構わない。In the above, the data bus is 16 bits and the instruction word length is 24 bits. However, the data bus and instruction word length of the present invention are not limited to them. Although 220 is used as a register, it may be mapped inside the memory.
【0032】以上のように構成された本実施例の割り込
み処理装置において割り込み要求入力からその割り込み
要求に対応するプログラムの実行開始までの動作を図3
を用いて説明する。The operation from the input of an interrupt request to the start of execution of the program corresponding to the interrupt request in the interrupt processing device of the present embodiment configured as described above is shown in FIG.
Will be explained.
【0033】まず、ステップ1では、割り込み要求13
0によって実行したい複数命令コードをレジスタ220
に順に格納する。ここでは3命令とする。ただし、命令
数は3命令に限らない。その場合、実行したい命令数に
あったアドレスおよびプログラムカウンタを用意しレジ
スタ220の本数を用意する。レジスタ220の構成を
図4に示す。すなわち、6つの16ビットレジスタ22
1〜レジスタ226からなり、6つのレジスタはそれぞ
れデータバス170に接続されデータバス170を通じ
て読みだし/書き込みが可能である。割り込み処理で実
行したい命令の、最初の命令コードの下位16ビットを
レジスタ221に、上位8ビットをレジスタ222の下
位側8ビットに格納する。同様に割り込み処理で実行し
たい2番目の命令の命令コードの下位16ビットをレジ
スタ223に、上位8ビットをレジスタ224の下位側
8ビットに格納し、3番目の命令の命令コードの下位1
6ビットをレジスタ225に、上位8ビットをレジスタ
226の下位側8ビットに格納する。レジスタ220の
出力は図4に示すように、レジスタ222の下位側8ビ
ットとレジスタ221の全ビット、あるいはレジスタ2
24の下位側8ビットとレジスタ223の全ビット、あ
るいはレジスタ226の下位側8ビットとレジスタ22
5の全ビットのいずれかがアドレス信号245(デコー
ダ227を経て選択信号になる)により選択される。従
ってステップ1では、転送命令により6回に分けてレジ
スタ220にデータを格納する。First, in step 1, the interrupt request 13
The register 220 stores a plurality of instruction codes to be executed by 0.
In order. Here, there are three instructions. However, the number of instructions is not limited to three. In that case, an address and a program counter that match the number of instructions to be executed are prepared, and the number of registers 220 is prepared. The structure of the register 220 is shown in FIG. That is, six 16-bit registers 22
1 to a register 226. Six registers are connected to the data bus 170 and can be read / written through the data bus 170. The lower 16 bits of the first instruction code of the instruction to be executed in the interrupt process are stored in the register 221, and the upper 8 bits are stored in the lower 8 bits of the register 222. Similarly, the lower 16 bits of the instruction code of the second instruction to be executed in the interrupt process are stored in the register 223, the upper 8 bits are stored in the lower 8 bits of the register 224, and the lower 1 of the instruction code of the third instruction is stored.
The 6 bits are stored in the register 225 and the upper 8 bits are stored in the lower 8 bits of the register 226. The output of the register 220 is, as shown in FIG. 4, the lower 8 bits of the register 222 and all the bits of the register 221, or the register 2
Lower 8 bits of 24 and all bits of register 223, or lower 8 bits of register 226 and register 22
Any of all 5 bits is selected by the address signal 245 (which becomes a selection signal via the decoder 227). Therefore, in step 1, the data is stored in the register 220 in six steps according to the transfer instruction.
【0034】次にステップ2では、割り込み制御部24
0内の設定レジスタに命令数「3」を設定する。その後
割り込み要求130を割り込み制御部240に入力す
る。割り込み制御部240は、割り込み要求130がレ
ジスタ220に格納された命令を使用するものであれ
ば、マルチプレクサ150に対し選択信号141として
「1」を出力し、プログラムカウンタ110に対し制御
信号142として「1」を出力する。同時に割り込み制
御部240内のプログラムカウンタを動作し始める。プ
ログラムカウンタはレジスタ220中のレジスタ22
2、レジスタ221の命令を選択するアドレス245を
出力する。プログラムカウンタ110は制御信号142
の値「1」によりその値をホールドする。マルチプレク
サ150は選択信号141の値「1」により命令125
を選択して出力する。なお選択信号141の値が「0」
の場合は命令105の方を選択する。命令デコーダ16
0は命令155、すなわち割り込み要求130に対応す
る命令をデコードする。Next, in step 2, the interrupt controller 24
The number of instructions "3" is set in the setting register within 0. After that, the interrupt request 130 is input to the interrupt control unit 240. If the interrupt request 130 uses the instruction stored in the register 220, the interrupt control unit 240 outputs “1” as the selection signal 141 to the multiplexer 150 and “1” as the control signal 142 to the program counter 110. 1 ”is output. At the same time, the program counter in the interrupt controller 240 starts operating. The program counter is the register 22 in the register 220.
2. The address 245 for selecting the instruction of the register 221 is output. The program counter 110 receives the control signal 142
The value is held by the value "1" of. The multiplexer 150 outputs the instruction 125 according to the value “1” of the selection signal 141.
To output. The value of the selection signal 141 is “0”
In the case of, the instruction 105 is selected. Instruction decoder 16
0 decodes the instruction 155, that is, the instruction corresponding to the interrupt request 130.
【0035】ここでオーバーヘッド無しに割り込み処理
の一命令目が開始される。一命令毎に割り込み制御部2
40内のプログラムカウンタは更新されレジスタ220
中のレジスタ224、レジスタ223の命令、次にレジ
スタ220中のレジスタ226、レジスタ225の命令
のアドレスを順次出力する。Here, the first instruction of interrupt processing is started without overhead. Interrupt control unit 2 for each instruction
The program counter in 40 is updated to register 220
The address of the instruction of the register 224 and the register 223 in the inside, and the address of the instruction of the register 226 and the register 225 in the register 220 are sequentially output.
【0036】レジスタ220内のアドレスデコーダ22
7はアドレス信号245を受けてマルチプレクサ228
に対し対応する命令を選択させる。命令デコーダ160
が命令155(マルチプレクサ150で命令125が選
択されている)を順次デコードしていくことにより割り
込み処理が実行されて行く。3命令サイクル後、割り込
み制御部240で割り込みプログラムの終了を検出し
(プログラムカウンタが3)、それぞれ制御信号141を
「0」、制御信号142を「0」にして出力する。プロ
グラムカウンタ110は制御信号142の「0」を入力
してホールドしていたアクセス番地を更新し始め、マル
チプレクサ150は選択信号141の「0」を入力して
命令105を選択する。結果として分岐命令無しに割り
込みプログラム3命令を実行して自動的に元のプログラ
ムに復帰できる。Address decoder 22 in register 220
7 receives the address signal 245 and receives the multiplexer 228.
To select the corresponding instruction. Instruction decoder 160
Sequentially decodes the instruction 155 (the instruction 125 is selected by the multiplexer 150), whereby the interrupt processing is executed. After three instruction cycles, the interrupt control unit 240 detects the end of the interrupt program.
(The program counter is 3), the control signal 141 is set to "0", and the control signal 142 is set to "0" and output. The program counter 110 inputs "0" of the control signal 142 and starts updating the held access address, and the multiplexer 150 inputs "0" of the selection signal 141 to select the instruction 105. As a result, it is possible to automatically execute the interrupt program 3 instruction without branch instruction and automatically return to the original program.
【0037】[0037]
【発明の効果】本発明によれば、僅かなハードウェアの
変更によって数命令で処理できる割り込み要求に対して
は、割り込み受け付け後分岐無しで処理を実行し、命令
実行後自動的に元のプログラムに復帰する割り込み装置
を提供できる。また記憶手段に格納する命令コードを変
更することによって同一の割り込み要求で異なる割り込
み処理を実現できる。According to the present invention, in response to an interrupt request that can be processed with a few instructions by a slight change in hardware, the processing is executed without branching after acceptance of the interrupt and the original program is automatically executed after the instruction is executed. It is possible to provide an interrupt device that returns to the. Also, different interrupt processing can be realized by the same interrupt request by changing the instruction code stored in the storage means.
【図面の簡単な説明】[Brief description of drawings]
【図1】本発明の第1の実施例に係わる割り込み処理装
置の構成図FIG. 1 is a configuration diagram of an interrupt processing device according to a first embodiment of the present invention.
【図2】同実施例に於ける記憶手段の構成図FIG. 2 is a configuration diagram of a storage means in the same embodiment.
【図3】本発明の第2の実施例に係わる割り込み処理装
置の構成図FIG. 3 is a configuration diagram of an interrupt processing device according to a second embodiment of the present invention.
【図4】同実施例に於ける記憶手段の構成図FIG. 4 is a configuration diagram of a storage unit in the same embodiment.
100 プログラムメモリ 105、125、155 命令 110 プログラムカウンタ 120〜122、220〜222、223〜226 レ
ジスタ 130 割り込み要求信号 140、240 割り込み制御部 141、142 制御信号 150 マルチプレクサ 160 命令デコーダ 170 データバス 245 アドレス 227 アドレスデコーダ 228 マルチプレクサ100 program memory 105, 125, 155 instruction 110 program counter 120-122, 220-222, 223-226 register 130 interrupt request signal 140, 240 interrupt control section 141, 142 control signal 150 multiplexer 160 instruction decoder 170 data bus 245 address 227 Address decoder 228 multiplexer
Claims (8)
し/書き込み可能な記憶手段と、 プログラムを格納するプログラムメモリと、 前記プログラムメモリのアクセス番地を指示する第1の
プログラムカウンタと、 前記プログラムメモリと前記記憶手段に接続されそのい
ずれかの出力を選択して出力する信号切替え手段と、 割り込み要求に応じて前記切替え手段に選択信号を出力
し、前記第1のプログラムカウンタに対して更新停止信
号を出力する割り込み制御手段と、 前記切替え手段に接続されその出力の命令コードをデコ
ードする命令デコーダとを備えた割り込み処理装置。1. A storage means connected to a data bus and readable / writable by a program, a program memory for storing the program, a first program counter for designating an access address of the program memory, and the program memory. A signal switching means connected to the storage means for selecting and outputting any one of the outputs, and a selection signal for outputting to the switching means in response to an interrupt request, and an update stop signal for the first program counter. An interrupt processing device comprising an interrupt control means for outputting and an instruction decoder connected to the switching means for decoding an instruction code of the output.
ログラムカウンタを持ち、割り込み要求に応じて第2の
プログラムカウンタを動作させ、予め設定された回数の
カウント後、前記切替え手段への選択信号と前記第1の
プログラムカウンタへの更新停止信号の出力を停止する
機能を持つ請求項1記載の割り込み処理装置。2. The interrupt control means has a second program counter therein, operates the second program counter in response to an interrupt request, counts a preset number of times, and then selects to the switching means. 2. The interrupt processing device according to claim 1, which has a function of stopping output of a signal and an update stop signal to the first program counter.
ムカウンタの示すアドレスを出力する機能を持つ請求項
2記載の割り込み処理装置。3. The interrupt processing device according to claim 2, wherein the interrupt control means has a function of outputting an address indicated by a second program counter.
出力されるアドレスに従って格納されている命令コード
を出力する機能を持つ請求項3記載の割り込み処理装
置。4. The interrupt processing device according to claim 3, wherein the storage means has a function of outputting an instruction code stored according to an address output from the interrupt control means.
要求に対し対応した異なるアドレスを出力する機能を持
つ請求項4記載の割り込み処理装置。5. The interrupt processing device according to claim 4, wherein the interrupt control means has a function of outputting different addresses corresponding to a plurality of interrupt requests.
アクセス番地を指示するプログラムカウンタの更新を停
止し、同時に切替え手段の選択を記憶手段側に変更する
ことでプログラムの制御を変更する割り込み処理方法。6. An interrupt processing method for changing control of a program by stopping updating of a program counter for instructing an access address of a program memory in response to an interrupt request and changing the selection of a switching means to a storage means side at the same time.
グラムの回数実行後に前記切替え手段での選択を前記プ
ログラムメモリ側に変更し、前記プログラムカウンタの
更新を再開する請求項6記載の割り込み処理方法。7. The interrupt processing according to claim 6, wherein in the processing method, the selection by the switching means is changed to the program memory side after the preset number of times the program is executed, and the update of the program counter is restarted. Method.
することで同一の割り込み要求で、異なった処理を実行
する請求項7記載の割り込み処理方法。8. The interrupt processing method according to claim 7, wherein different processes are executed by the same interrupt request by changing a program stored in said storage means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10209295A JPH08297583A (en) | 1995-04-26 | 1995-04-26 | Processor and method for interruption processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10209295A JPH08297583A (en) | 1995-04-26 | 1995-04-26 | Processor and method for interruption processing |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08297583A true JPH08297583A (en) | 1996-11-12 |
Family
ID=14318141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10209295A Pending JPH08297583A (en) | 1995-04-26 | 1995-04-26 | Processor and method for interruption processing |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08297583A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193572A (en) * | 2006-01-19 | 2007-08-02 | Seiko Epson Corp | Cpu, integrated circuit device, microcomputer, and electronic equipment |
-
1995
- 1995-04-26 JP JP10209295A patent/JPH08297583A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193572A (en) * | 2006-01-19 | 2007-08-02 | Seiko Epson Corp | Cpu, integrated circuit device, microcomputer, and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5600807A (en) | Programmable controller capable of updating a user program during operation by switching between user program memories | |
JPH0363092B2 (en) | ||
JPH08297583A (en) | Processor and method for interruption processing | |
JPH07219766A (en) | Arithmetic processor | |
JPH0377137A (en) | Information processor | |
JPH0954694A (en) | Pipeline processor and its processing method | |
JPH06324861A (en) | System and method for controlling cpu | |
JP2002278774A (en) | Method and device for generating instruction word in controlling function unit in processor | |
JP2727023B2 (en) | Information processing device | |
JPS6116334A (en) | Data processor | |
JPH0713758A (en) | Instruction decoding method | |
JP2583614B2 (en) | Vector arithmetic unit | |
JP2576589B2 (en) | Virtual storage access control method | |
JPH0683986A (en) | Single chip microcomputer | |
JPS6149695B2 (en) | ||
JPH03164945A (en) | Data processor | |
JPS59189407A (en) | Sequence control device | |
JPS61133440A (en) | Data processing unit | |
JPS61267135A (en) | Data processor | |
JPH0353321A (en) | Information processor | |
JPS58225440A (en) | Memory controller | |
JPH09160786A (en) | Microprocessor | |
JPH0792902A (en) | Programmable controller | |
JPH11282787A (en) | Input/output control device | |
JPH10254698A (en) | Information processor |