JP2876629B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP2876629B2
JP2876629B2 JP18940189A JP18940189A JP2876629B2 JP 2876629 B2 JP2876629 B2 JP 2876629B2 JP 18940189 A JP18940189 A JP 18940189A JP 18940189 A JP18940189 A JP 18940189A JP 2876629 B2 JP2876629 B2 JP 2876629B2
Authority
JP
Japan
Prior art keywords
interrupt
register
processing
interrupt request
program
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 - Lifetime
Application number
JP18940189A
Other languages
Japanese (ja)
Other versions
JPH0353337A (en
Inventor
裕子 三平
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP18940189A priority Critical patent/JP2876629B2/en
Publication of JPH0353337A publication Critical patent/JPH0353337A/en
Application granted granted Critical
Publication of JP2876629B2 publication Critical patent/JP2876629B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理に使用する複数の汎用レジスタ
セット(以下レジスタバンクという)を備え、周辺装置
からの割込み処理要求に対して使用するレジスタセット
を選択、切替えて割込み処理プログラムを実行するデー
タ処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Field] The present invention includes a plurality of general-purpose register sets (hereinafter referred to as register banks) used for data processing, and registers used for interrupt processing requests from peripheral devices. The present invention relates to a data processing device that selects and switches a set and executes an interrupt processing program.

〔従来の技術〕[Conventional technology]

一般に、マイクロコンピュータシステムにおいては、
周辺装置が割込み処理要求を発生した場合に、中央処理
装置(以下CPUという)が、プログラムの実行を中断し
て周辺装置の割込み要求に対する処理プログラムを割込
み実行するための、割込み制御部を備えている。また、
周辺装置の数が多いと、複数の割込み処理要求が同時に
発生する場合、あるいはある周辺装置の割込み処理要求
に対するプログラムを実行中に他の周辺装置の割込み処
理要求を発生する場合がある。こうした複数の割込み処
理要求の競合に対処するために、各割込み処理要求に優
先順位を設定し、優先順位の高い割込み処理要求に対す
る処理プログラムの実行を優先して行なうところの優先
順位制御機能を備えている。
Generally, in a microcomputer system,
When a peripheral device generates an interrupt processing request, the central processing unit (hereinafter referred to as a CPU) includes an interrupt control unit for interrupting the execution of the program and executing the processing program in response to the interrupt request from the peripheral device. I have. Also,
If the number of peripheral devices is large, a plurality of interrupt processing requests may be generated at the same time, or an interrupt processing request of another peripheral device may be generated while a program for an interrupt processing request of a certain peripheral device is being executed. In order to deal with such a conflict between a plurality of interrupt processing requests, a priority control function is provided for setting a priority order for each interrupt processing request and giving priority to execution of a processing program for an interrupt processing request having a high priority. ing.

一般のマイクロコンピュータシステムにおける割込み
処理方式として、実行中のプログラムのアドレスを指定
するプログラムカウンタ(以下、PCという)の内容、プ
ログラム実行中の状態を記憶しているプログラムステー
タスワード(以下、PSWという)、および汎用レジスタ
の内容とをスタック上に退避し、あらかじめ設定されて
いる割込み要求に対応した処理プログラムの開始番地を
プログラムカウンタに設定し、割込み処理を実行するベ
クタ割込み処理方式がある。
As an interrupt processing method in a general microcomputer system, a program status word (hereinafter, referred to as PSW) that stores the contents of a program counter (hereinafter, referred to as PC) for specifying an address of a program being executed and a state during execution of the program. And the contents of general-purpose registers are saved on a stack, a start address of a processing program corresponding to a preset interrupt request is set in a program counter, and a vector interrupt processing method for executing interrupt processing is available.

この方式によると、PC、PSW、および汎用レジスタの
内容のスタックへの退避、あるいは復帰といったオーバ
ーヘッド処理に多大な時間がかかるため、動作効率の良
い割込み方式としてレジスタバンク切替え方式が取られ
るようになってきている。このレジスタバンク切替え方
式による割込み受付け制御について、第4図を用いて説
明する。
According to this method, a lot of time is required for overhead processing such as saving or restoring the contents of the PC, PSW, and general-purpose registers to the stack or restoring. Is coming. The interrupt acceptance control by the register bank switching method will be described with reference to FIG.

第4図は従来のデータ処理装置を示すブロック図であ
る。割込み要求信号140−1,140−2,140−3,…の少なく
とも1つが発生すると、割込み制御部110は優先順位制
御により処理優先度の最も高い割込み要求信号を選択
し、受付け可能であると判断した場合、CPU120に対し、
割込み受付け信号141を発信する。レジスタバンク選択
制御回路112は、割込み処理で使用するレジスタバンク
を選択するためのレジスタバンク指定コードを生成し、
レジスタバンク指定レジスタ(以下、RBという)123に
格納する。CPU120は割込み受付け信号141を受信する
と、プログラムの実行を中断し、割込み処理プログラム
を実行する。すなわち、CPUは、割込み処理制御部110に
読み出し信号143を発信して、レジスタバンク指定コー
ドを読み出し、データメモリ124内のレジスタバンクに
切替える。
FIG. 4 is a block diagram showing a conventional data processing device. When at least one of the interrupt request signals 140-1, 140-2, 140-3,... Is generated, the interrupt control unit 110 selects the interrupt request signal having the highest processing priority by priority control and determines that the interrupt request signal can be accepted. For CPU120,
An interrupt acceptance signal 141 is transmitted. The register bank selection control circuit 112 generates a register bank designation code for selecting a register bank to be used in interrupt processing,
It is stored in a register bank designation register (hereinafter referred to as RB) 123. Upon receiving the interrupt acceptance signal 141, the CPU 120 suspends the execution of the program and executes the interrupt processing program. That is, the CPU transmits the read signal 143 to the interrupt processing control unit 110, reads the register bank designation code, and switches to the register bank in the data memory 124.

個々のレジスタバンクは、第5図に示すように、汎用
レジスタ、PCの退避領域、PSWの退避領域、および割込
み処理プログラムの開始番地(以下、PCIという)とか
ら構成されている。CPU120は、PC121とPSW122の内容を
切替え先のレジスタバンク内の退避領域にそれぞれ退避
するとともに、切替え先レジスタバンクに格納されてい
るPCIをPC121にロードして割込み処理プログラムを開始
実行する。
As shown in FIG. 5, each register bank includes general-purpose registers, a PC save area, a PSW save area, and a start address of an interrupt processing program (hereinafter, referred to as PCI). The CPU 120 saves the contents of the PC 121 and the PSW 122 in a save area in the register bank of the switching destination, loads the PCI stored in the register bank of the switching destination into the PC 121, and starts and executes the interrupt processing program.

最近、マイクロコンピュータシステムの高機能化に伴
い、周辺装置が増加し、周辺装置から発生される割込み
要求数も増加する傾向にある。こうした多数の割込み要
求を上述のようなレジスタバンク切替え方式により全て
対処しようとした場合、各割込み要求に対して個々にレ
ジスタバンクを備え、割当てなければならないため、内
蔵するメモリ要領が膨大となり実現が困難である。この
ため複数の割込み要求に対して共通のレジスタバンクを
使用して割込み処理せざるを得ない。ところが、切替え
先レジスタバンクに格納されている割込み処理開始アド
レスは任意に設定できないため、各割込み要求に対応し
た個別の処理を開始することができない。
Recently, the number of peripheral devices has increased with the advancement of the functions of microcomputer systems, and the number of interrupt requests generated from the peripheral devices has also tended to increase. If all of such a large number of interrupt requests are to be handled by the register bank switching method as described above, register banks must be individually provided for each interrupt request and assigned. Have difficulty. Therefore, a plurality of interrupt requests must be processed using a common register bank. However, since the interrupt processing start address stored in the switching destination register bank cannot be set arbitrarily, individual processing corresponding to each interrupt request cannot be started.

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

上述したように、従来のデータ処理装置では、レジス
タバンク切替え方式により割込み処理を行なう際に、割
込み処理プログラム開始番地を各割込み要求毎に任意に
設定できないため、複数の割込み要求に対してレジスタ
バンクを共用し、各割込み要求に対応した個別の処理を
行なうことができない。そのため、結果的には、レジス
タバンク切替え割込みにより処理することができる割込
み要求の数が、レジスタバンク数に制限されてしまい、
残りの割込みは、レジスタバンク切替え割込みより処理
効率の悪いベクタ割込みにより処理せざるを得ないとい
う欠点を有していた。
As described above, in the conventional data processing device, when performing the interrupt processing by the register bank switching method, the start address of the interrupt processing program cannot be set arbitrarily for each interrupt request. And cannot perform individual processing corresponding to each interrupt request. Therefore, as a result, the number of interrupt requests that can be processed by the register bank switching interrupt is limited to the number of register banks.
The remaining interrupts have the disadvantage that they must be serviced by vector interrupts that have lower processing efficiency than register bank switching interrupts.

本発明の目的は、効率よく割込み処理を行なうため
に、複数の割込み要求に対してレジスタバンクを共用
し、各割込みに対応した割込み処理プログラムを開始す
ることができるデータ処理装置を提供することにある。
An object of the present invention is to provide a data processing device that can share a register bank for a plurality of interrupt requests and start an interrupt processing program corresponding to each interrupt in order to efficiently perform interrupt processing. is there.

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

本発明の構成は、中央処理装置が処理に使用する複数
の汎用レジスタセットを備え、割込み要求信号に対応し
た割込み受付け信号に連動して前記汎用レジスタセット
のうち所定の汎用レジスタセットに切替えて割込み処理
プログラムを起動するデータ処理装置において、前記割
込み要求信号を複数個づつグループ化し、これらグルー
プ化したグループごとに前記汎用レジスタセットを1個
づつ割り当てると共に;優先して受付け処理すべき割込
み要求を検出し、前記各割込み要求毎の受付け状態信号
を発生する手段と、前記受付け状態信号の符号化として
前記各グループの中で前記各割込み要求毎に異なる分岐
コードを生成する手段と、前記分岐コードに従い前記割
込み処理プログラムの開始番地を制御する手段とを有す
ることにより、レジスタ割込み処理を同一グループの前
記割込み要求毎に分岐して開始できるようにしたことを
特徴とする。
The configuration of the present invention includes a plurality of general-purpose register sets used by the central processing unit for processing, and switches to a predetermined general-purpose register set among the general-purpose register sets in response to an interrupt reception signal corresponding to an interrupt request signal. In a data processing apparatus for activating a processing program, a plurality of the interrupt request signals are grouped, and one general-purpose register set is assigned to each of the grouped groups; an interrupt request to be preferentially accepted is detected. Means for generating an acceptance status signal for each interrupt request; means for generating a different branch code for each interrupt request in each of the groups as encoding of the acceptance status signal; Means for controlling the start address of the interrupt processing program. Characterized in that the data interrupt process can be started branches for each of the interrupt requests of the same group.

〔実施例〕〔Example〕

次に本発明について図面を参照して説明する。 Next, the present invention will be described with reference to the drawings.

第1図は本発明の第1の実施例を示すブロック図であ
る。本実施例のデータ処理装置は、CPU20,プログラムメ
モリ28、割込み処理プログラムで使用する3組の汎用レ
ジスタセット(以下、レジスタバンクという)と割込み
処理プログラム以外の主プログラムで使用する1組のレ
ジスタバンクを含むデータメモリ24、アドレスバス50、
データバス51、データメモリ24のアドレスをデコードす
るアドレスデコーダ26、27、各割込み要求毎に設けられ
ており各割込み要求発生状態を示す割込み要求フラグ15
−1〜−12(以下、IF1,IF2,…,IC12という)を含み、
割込み要求信号40−1〜−12が供給されたときに割込み
優先順位、割込み受付け状態を判定する割込み優先順位
制御回路10(以下、INTCという)、各割込み処理要求に
応じてレジスタバンク指定コードを生成するレジスタバ
ンク選択制御回路12、割込みプログラムの開始アドレス
を生成するための分岐コードを生成する分岐コード生成
回路13、その他の周辺回路から構成される。
FIG. 1 is a block diagram showing a first embodiment of the present invention. The data processing apparatus of this embodiment includes a CPU 20, a program memory 28, three sets of general-purpose registers (hereinafter referred to as register banks) used in an interrupt processing program, and one set of register banks used in a main program other than the interrupt processing program. Data memory 24, address bus 50,
Data bus 51, address decoders 26 and 27 for decoding addresses of data memory 24, interrupt request flag 15 provided for each interrupt request and indicating the state of occurrence of each interrupt request.
-1 to -12 (hereinafter referred to as IF1, IF2, ..., IC12),
When the interrupt request signals 40-1 to -12 are supplied, the interrupt priority control circuit 10 (hereinafter referred to as INTC) which determines the interrupt priority and the interrupt acceptance state, and registers a register bank designation code in response to each interrupt processing request. It comprises a register bank selection control circuit 12 to be generated, a branch code generation circuit 13 to generate a branch code for generating a start address of an interrupt program, and other peripheral circuits.

本実施例では、12本の割込み要求信号を制御可能な構
成になっており、それぞれがグループ化され、各グルー
プ毎に1つずつレジスタバンクが割当てられているもの
とする。例えば、INT1〜INT4が割込みグループ1に、IN
T5〜INT8が割込みグループ2に、INT9〜INT12が割込み
グループ3に属し、グループ1に対しRB1、グループ2
に対しRB2、グループ3に対しRB3に、れぞれ設定されて
いるレジスタバンクが割当てられているものとする。
In the present embodiment, it is assumed that 12 interrupt request signals can be controlled, each is grouped, and one register bank is assigned to each group. For example, if INT1 to INT4 are in interrupt group 1, IN
T5 to INT8 belong to interrupt group 2, INT9 to INT12 belong to interrupt group 3, and RB1 and group 2
RB2 for group 3 and RB3 for group 3, respectively.

CPU20は、プログラムメモリ28のアドレスを指定するP
C21、プログラム実行中の状態を記憶しているPSW22、PC
21とPSW22、および汎用レジスタの内容を退避するため
のデータメモリ24のアドレスを指定するスタックポイン
タ25を含んでいる。CPU20がアドレスバス50に出力した
アドレスはアドレスデコーダ27でデコードされ、データ
メモリ24の対応する番地が選択される。また、データメ
モリ24には、レジスタバンクが配置されており、レジス
タバンク指定レジスタ(以下、RBという)23の値と、CP
U20からアドレスバス50に出力したレジスタアドレスと
が、アドレスデコーダ26でデコードされレジスタを選択
する。この場合、RB23により4組のレジスタバンクの中
から1つを選択し、レジスタアドレスによりレジスタバ
ンク内の各汎用レジスタを選択する。
The CPU 20 sets P to specify the address of the program memory 28.
C21, PSW22, PC that stores the state during program execution
21 and a PSW 22, and a stack pointer 25 for specifying an address of the data memory 24 for saving the contents of the general-purpose register. The address output from the CPU 20 to the address bus 50 is decoded by the address decoder 27, and the corresponding address in the data memory 24 is selected. A register bank is arranged in the data memory 24, and a value of a register bank designation register (hereinafter referred to as RB) 23,
The register address output from the U20 to the address bus 50 is decoded by the address decoder 26 to select a register. In this case, one of the four register banks is selected by RB23, and each general-purpose register in the register bank is selected by the register address.

次に、割込み要求信号INT2が発生した場合を例にとっ
てレジスタバンク切替え制御について説明する。割込み
要求信号INT2が発生すると割込み要求フラグIF2がセッ
トされる。INTC10は、IF1〜IF12をサーチしてフラグが
セットされているか否かを検索しており、INT2による割
込み要求が発生し、IF2がセットされていることを検知
すると、割込み許可状態およびINT2の割込み優先順位を
判定する。割込み許可状態であり、かつ、現在実行中の
処理より優先順位が高いと判定した場合、INT2に対する
割込み選択信号17−2を活性化する。このとき、割込み
選択信号17−1〜17−12のうち17−2以外は非活性化状
態である。また、INTC10は、CPU20に対して、割込み受
付け信号41を活性化する。割込み選択信号17−2〜17−
12は、レジスタバンク選択制御回路12、割込みアドレス
分岐コード生成回路13に供給され、以下の制御を行な
う。
Next, register bank switching control will be described by taking, as an example, a case where the interrupt request signal INT2 is generated. When the interrupt request signal INT2 is generated, the interrupt request flag IF2 is set. The INTC10 searches IF1 to IF12 to determine whether or not the flag is set.If an interrupt request is generated by INT2 and it is detected that IF2 is set, the interrupt is enabled and the interrupt of INT2 is detected. Determine the priority. When it is determined that the interrupt is permitted and that the priority is higher than the process currently being executed, the interrupt selection signal 17-2 for INT2 is activated. At this time, the interrupt selection signals 17-1 to 17-12 other than 17-2 are inactive. Further, the INTC 10 activates the interrupt acceptance signal 41 for the CPU 20. Interrupt selection signal 17-2 to 17-
12 is supplied to the register bank selection control circuit 12 and the interrupt address branch code generation circuit 13, and performs the following control.

レジスタバンク選択制御回路12は、割込み選択信号17
−1〜17−12を用いて、受付けられた割込み要求が属す
るグループを判別し、対応したレジスタバンク指定コー
ドをRB1〜RB3の中から選択し、RB23に出力する。ここで
は、割込み選択信号17−2のみが、“1"になっているの
でOR回路30−1の出力は“1"、OR回路30−2、30−3の
出力は“0"となり、RB1の値を選択してRB23に格納す
る。
The register bank selection control circuit 12 outputs the interrupt selection signal 17
Using -1 to 17-12, the group to which the received interrupt request belongs is determined, the corresponding register bank designation code is selected from RB1 to RB3, and output to RB23. Here, since only the interrupt selection signal 17-2 is "1", the output of the OR circuit 30-1 is "1", the outputs of the OR circuits 30-2 and 30-3 are "0", and RB1 Is selected and stored in RB23.

また、分岐コード生成回路13は、アクティブとなった
割込み選択信号17−1〜17−12を用いて各グループの中
で割込み要求毎に異なるコードを発生する。ここでは、
割込み選択信号17−2が“1"、その他の要求信号は“0"
になっているので、OR回路31−1〜31−4のうち31−2
のみが“1"、他が“0"となる。OR回路31−1〜31−4の
出力はエンコーダ34に入力され、2ビットの2進データ
“10"に変換され、割込み受付け信号41がアクティブに
なったときに分岐コード格納レジスタ35に入力される。
The branch code generation circuit 13 generates a different code for each interrupt request in each group using the activated interrupt selection signals 17-1 to 17-12. here,
Interrupt selection signal 17-2 is "1", other request signals are "0"
, So that 31-2 of the OR circuits 31-1 to 31-4
Only "1" for others and "0" for others. The outputs of the OR circuits 31-1 to 31-4 are input to the encoder 34, converted into 2-bit binary data "10", and input to the branch code storage register 35 when the interrupt reception signal 41 becomes active. You.

次に、割込み受付け信号41が入力されたときのCPU20
の動作について第2図を用いて説明する。レジスタバン
ク選択制御回路12により、起動された割込み要求のバン
ク指定コードがRB23に格納され、所定のレジスタバンク
に切替えられる。CPU20は切替えられたレジスタバンク
の退避領域にPC21、PSW22の内容を退避する。また、切
替えられたレジスタバンクにあらかじめ設定されている
割込みプログラム開始番地PC1のうち下位2ビットを除
くビットをPC21の対応するビットに設定し、分岐コード
生成回路13の生成された分岐コード格納レジスタ35をPC
21の下位2ビットに設定する。その後、INTC10に対して
割込み応答信号44を発信し、割込み要求フラグ“0"にリ
セットして割込み処理をPC21に設定された番地からプロ
グラムを開始する。割込み要求フラグのリセットにより
他の割込み要求信号を受付け可能にすると共に、割込み
選択信号17−1〜17−14をインアクティブにして、次の
割込み要求信号の受付けに備える。
Next, when the interrupt acceptance signal 41 is input, the CPU 20
2 will be described with reference to FIG. The bank designation code of the activated interrupt request is stored in the RB 23 by the register bank selection control circuit 12, and is switched to a predetermined register bank. The CPU 20 saves the contents of PC21 and PSW22 in the save area of the switched register bank. In addition, bits other than the lower two bits of the interrupt program start address PC1 preset in the switched register bank are set to corresponding bits of PC21, and the branch code storage register 35 generated by the branch code generation circuit 13 is set. The pc
Set to the lower 2 bits of 21. After that, an interrupt response signal 44 is transmitted to the INTC 10, the interrupt request flag is reset to “0”, and the interrupt processing is started from the address set in the PC 21. By resetting the interrupt request flag, another interrupt request signal can be received, and the interrupt selection signals 17-1 to 17-14 are made inactive to prepare for receiving the next interrupt request signal.

以上のように、各割込みグループに対応したレジスタ
バンクに対して1つずつ設定されている割込みプログラ
ム開始アドレスと、分岐コードを基にして、割込み要求
毎にプログラム開始番地を生成できるので、同一グルー
プの割込み要求毎に処理を分岐して開始することができ
る。
As described above, the program start address can be generated for each interrupt request based on the interrupt program start address set for each register bank corresponding to each interrupt group and the branch code. The processing can be branched and started for each interrupt request.

なお本実施例では、割込み要求数が12、レジスタバン
ク数が3である場合について述べたが、分岐コード格納
レジスタ35のビット数を変更すれば、簡単に割込み要求
数が多い場合にも応用できることはいうまでもない。
In this embodiment, the case where the number of interrupt requests is 12 and the number of register banks is 3 has been described. However, if the number of bits of the branch code storage register 35 is changed, the present invention can be easily applied to the case where the number of interrupt requests is large. Needless to say.

第3図は本発明の第2の実施例におけるレジスタバン
ク部分を説明する模式図である。本実施例は、第1の実
施例とほぼ同じ構成をとっているので、ここでは異なる
部分について説明する。
FIG. 3 is a schematic diagram for explaining a register bank portion in the second embodiment of the present invention. This embodiment has almost the same configuration as that of the first embodiment, and therefore different portions will be described here.

第1の実施例と同様に割込み選択信号17−1〜17−12
を基にして、分岐コード格納レジスタ35には2ビットの
値、例えば“10"が生成されている。レジスタバンク24a
には、各割込みグループに属する割込み本数分の割込み
処理プログラム開始番地があらかじめ設定されている。
CPU20から出力されているアドレスと、分岐コード格納
レジスタ35の内容とをアドレス・デコーダ27でデコード
し、このプログラム開始番地のうち分岐コード格納レジ
スタ35に対応した開始番地を選択し、PCに設定する。例
えば、分岐コード35格納レジスタの値が“10"であった
場合、PC2を選択してPCに設定し、割込み処理プログラ
ムをPC2番地から開始する。
Interrupt selection signals 17-1 to 17-12 as in the first embodiment.
, A 2-bit value, for example, "10" is generated in the branch code storage register 35. Register bank 24a
, Interrupt processing program start addresses for the number of interrupts belonging to each interrupt group are set in advance.
The address output from the CPU 20 and the contents of the branch code storage register 35 are decoded by the address decoder 27, and a start address corresponding to the branch code storage register 35 is selected from the program start addresses and set in the PC. . For example, if the value of the branch code 35 storage register is "10", PC2 is selected and set as PC, and the interrupt processing program is started from address PC2.

このように各割込みグループ内の割込み要求毎に割込
み処理プログラムの開始番地を個々に選択することによ
って、各割込み要求に応じた処理を開始することができ
る。
As described above, by individually selecting the start address of the interrupt processing program for each interrupt request in each interrupt group, it is possible to start processing corresponding to each interrupt request.

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明によれば、複数の割込み要
求に対してレジスタバンク切替え方式による割込み処理
を共通のレジスタバンクを使用して実行することができ
るため、レジスタバンク切替え方式により処理できる割
込み要求数がレジスタバンク数に制限されなくなり、ト
ータルとしてのシステム性能を向上させることができ
る。また、レジスタバンクの数としても、増加する傾向
にある割込み要求数に合せてレジスタバンクを増して用
意する必要がなく、割込み処理を必要最小限のレジスタ
バンクで対応できるため、データ・メモリの有効活用が
図られる。
As described above, according to the present invention, a plurality of interrupt requests can be processed by the register bank switching method using a common register bank, so that interrupt requests that can be processed by the register bank switching method can be executed. The number is not limited to the number of register banks, and the system performance as a whole can be improved. Also, the number of register banks does not need to be increased in accordance with the increasing number of interrupt requests, and interrupt processing can be handled with the minimum necessary number of register banks. Utilization is planned.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の一実施例のデータ処理装置のブロック
図、第2図は第1図のレジスタバンクの詳細を示す模式
図、第3図は本発明の第2の実施例におけるレジスタバ
ンクの詳細を示す模式図、第4図は従来のデータ処理装
置の一例のブロック図、第5図は第4図のレジスタバン
クの詳細を示す模式図である。 10…優先順位制御回路(INTC)、12,112…レジスタバン
ク選択制御回路、13…分岐コード生成回路、15−1〜−
12…割込み要求フラグ、16−1〜−3…バンク指定コー
ド、17−1〜−12…割込み選択信号、20,120…中央処理
実行部(CPU)、21,121…プログラムカウンタ(PC)、2
2,122…プログラム状態レジスタ(PSW)、23,123…レジ
スタバンク指定レジスタ(RB)、24,124…データメモ
リ、25,125…スタックポインタ、26,27…アドレスデコ
ーダ、28,130…プログラムメモリ、30−1〜3,31−1〜
4…OR回路、32−1〜3…レジスタバンク選択信号、34
…エンコーダ、35…分岐コード格納レジスタ、40−1〜
12,140−1〜3…割込み要求信号、41,141…割込み受付
け信号、44,143…割込み応答信号、50…アドレスバス、
51…データバス、110…割込み制御部。
FIG. 1 is a block diagram of a data processing apparatus according to one embodiment of the present invention, FIG. 2 is a schematic diagram showing details of the register bank of FIG. 1, and FIG. 3 is a register bank in a second embodiment of the present invention. FIG. 4 is a block diagram of an example of a conventional data processing device, and FIG. 5 is a schematic diagram showing details of the register bank of FIG. 10: priority control circuit (INTC), 12, 112: register bank selection control circuit, 13: branch code generation circuit, 15-1 to-
12: Interrupt request flag, 16-1 to -3: Bank designation code, 17-1 to -12: Interrupt selection signal, 20, 120: Central processing execution unit (CPU), 21, 121: Program counter (PC), 2
2,122: Program status register (PSW), 23,123: Register bank designation register (RB), 24,124: Data memory, 25,125: Stack pointer, 26,27: Address decoder, 28,130: Program memory, 30-1 to 3, 31-1 ~
4 OR circuit, 32-1 to 3 ... register bank selection signal, 34
... Encoder, 35 ... Branch code storage register, 40-1
12,140-1 ... interrupt request signal, 41,141 interrupt acceptance signal, 44,143 interrupt response signal, 50 address bus,
51: data bus, 110: interrupt control unit.

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/46

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】中央処理装置が処理に使用する複数の汎用
レジスタセットを備え、割込み要求信号に対応した割込
み受付け信号に連動して前記汎用レジスタセットのうち
所定の汎用レジスタセットに切替えて割込み処理プログ
ラムを起動するデータ処理装置において、前記割込み要
求信号を複数個づつグループ化し、これらグループ化し
たグループごとに前記汎用レジスタセットを1個づつ割
り当てると共に;優先して受付け処理すべき割込み要求
を検出し、前記各割込み要求毎の受付け状態信号を発生
する手段と、前記受付け状態信号の符号化として前記各
グループの中で前記各割込み要求毎に異なる分岐コード
を生成する手段と、前記分岐コードに従い前記割込み処
理プログラムの開始番地を制御する手段とを有すること
により、レジスタ割込み処理を同一グループの前記割込
み要求毎に分岐して開始できるようにしたことを特徴と
するデータ処理装置。
A plurality of general-purpose register sets used by a central processing unit for processing are provided, and a plurality of general-purpose register sets are switched to a predetermined general-purpose register set among the general-purpose register sets in conjunction with an interrupt accepting signal corresponding to an interrupt request signal. In a data processing device for starting a program, a plurality of the interrupt request signals are grouped, and one general-purpose register set is assigned to each of the grouped groups; an interrupt request to be preferentially accepted and processed is detected. Means for generating an acceptance status signal for each interrupt request; means for generating a different branch code for each interrupt request in each of the groups as encoding of the acceptance status signal; Means for controlling the start address of the interrupt processing program. The data processing apparatus characterized by the write processing can be started branches for each of the interrupt requests of the same group.
JP18940189A 1989-07-21 1989-07-21 Data processing device Expired - Lifetime JP2876629B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18940189A JP2876629B2 (en) 1989-07-21 1989-07-21 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18940189A JP2876629B2 (en) 1989-07-21 1989-07-21 Data processing device

Publications (2)

Publication Number Publication Date
JPH0353337A JPH0353337A (en) 1991-03-07
JP2876629B2 true JP2876629B2 (en) 1999-03-31

Family

ID=16240672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18940189A Expired - Lifetime JP2876629B2 (en) 1989-07-21 1989-07-21 Data processing device

Country Status (1)

Country Link
JP (1) JP2876629B2 (en)

Also Published As

Publication number Publication date
JPH0353337A (en) 1991-03-07

Similar Documents

Publication Publication Date Title
US6401155B1 (en) Interrupt/software-controlled thread processing
US5386563A (en) Register substitution during exception processing
JPH02144630A (en) Data processor
US7350006B2 (en) System and method of interrupt handling
JPH10260944A (en) Interrupt system
JP2876629B2 (en) Data processing device
JP2003058381A (en) Processor that enables exception handling setting by program
JP2594600B2 (en) Single chip microcomputer
EP0319132B1 (en) Interrupt handling in a parallel data processing
JPH056281A (en) Information processor
JPH07311686A (en) Computer system and method for generation and processing of system management interrupt in it
JPH06230985A (en) Task control circuit and microprocessor
JP2585905B2 (en) Multitask execution device
JP3105554B2 (en) Interrupt controller
JPH09128248A (en) Microprocessor
JPH0632051B2 (en) Information processing equipment
JP3982077B2 (en) Multiprocessor system
JP2972557B2 (en) Data transfer control device and control method
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
JPH0683640A (en) Interrupt response processing method
JPS6227413B2 (en)
JPH0535507A (en) Central processing unit
JPS62217326A (en) Computer capable of storing and switching plural os
JPS6352240A (en) Data processor
JPH0217541A (en) Stack system micro-computer