JPS62282335A - Interruption device - Google Patents

Interruption device

Info

Publication number
JPS62282335A
JPS62282335A JP12609986A JP12609986A JPS62282335A JP S62282335 A JPS62282335 A JP S62282335A JP 12609986 A JP12609986 A JP 12609986A JP 12609986 A JP12609986 A JP 12609986A JP S62282335 A JPS62282335 A JP S62282335A
Authority
JP
Japan
Prior art keywords
interrupt
address
register
interruption
general
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
JP12609986A
Other languages
Japanese (ja)
Inventor
Emi Fujioka
藤岡 えみ
Tokuzo Kiyohara
督三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12609986A priority Critical patent/JPS62282335A/en
Publication of JPS62282335A publication Critical patent/JPS62282335A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

PURPOSE:To speed up the speed corresponding to the software interruption by starting the interruption processing routine corresponding to a value of a variable stored in a register without intervention of the software. CONSTITUTION:The 1st interruption type number (i) and the base address of the 2nd interruption point table obtained from the 1st interruption pointer table are stored in a base address register 4. A selector 6 inputs a value of the 2nd interruption type number (j) being the content of a general-purpose Rk selected among plural general-purpose register 5 and a base address of the 2nd interruption pointer table stored in the base address register 4 into the 2nd address generating means 7 according to the identification code of the general-purpose register stored in an instruction register 2. In generating the 2nd interruption vector table address, the interruption entry pointer of the types i, j is decided, which is set into a program counter 1 to start the interruption processing routine.

Description

【発明の詳細な説明】 3、発明の詳細な説明 産業上の利用分野 本発明は、デジタル計算機の割込み装置に関するもので
ある。
Detailed Description of the Invention 3. Detailed Description of the Invention Field of Industrial Application The present invention relates to an interrupt device for a digital computer.

従来の技術 第3図は従来の割込み装置の構成図を示すものであり、
また、第4図は同従来例の割込みポインタテーブルであ
る。
BACKGROUND ART FIG. 3 shows a configuration diagram of a conventional interrupt device.
FIG. 4 is an interrupt pointer table of the conventional example.

まず、ソフトウェア割込み(“INT  i”で表わさ
れる)が発生すると、メモリから命令レジスタ2oに設
定された割込みタイプナンバーiをアドレス生成手段3
0に入力して、割込みベクタテーブルアドレスを生成し
く例えば、「図解16ビツトマイクロコンピユータ80
86の使い方」〔オーム社〕に示されるように、1AP
X86では、割込みエントリポインタは4バイト、また
、ベースアドレスは0番地なので、割込みタイプナンバ
ーiに4を掛ける(左へ2ピントシフトする)ことにな
る)、このアドレスで示されるメモリ上の割込みポイン
タテーブル全アクセスし、タイプiの割込みエントリポ
インタをプログラムカウンタ10に設定して、割込み処
理ルーチンをスタートさせる。
First, when a software interrupt (represented by "INT i") occurs, the interrupt type number i set in the instruction register 2o is sent from the memory to the address generating means 3.
0 to generate the interrupt vector table address.
As shown in "How to use 86" [Ohmsha], 1AP
In X86, the interrupt entry pointer is 4 bytes, and the base address is address 0, so multiply the interrupt type number i by 4 (shift 2 pinpoints to the left) to set the interrupt pointer in the memory indicated by this address. The entire table is accessed, the type i interrupt entry pointer is set in the program counter 10, and the interrupt processing routine is started.

発明が解決しようとする問題点 しかしながら上記のような構成では、例えば、ソフトウ
ェア割込みで、ひとつの割込みタイプを複数の割込み処
理ルーチンで共有し、あるレジスタに格納された変数の
値によって、それに対応した割込み処理ルーチンを起動
させたい場合、割込み処理ルーチンの先頭でレジスタの
内容全判断し、それに対応した処理ルーチンへ分岐する
という処理をソフトウェアで行なわなくてはならないた
め、実際必要な割込み処理への対応が遅くなるという問
題点を有していた。
Problems to be Solved by the Invention However, in the above configuration, for example, in the case of software interrupts, one interrupt type is shared by multiple interrupt handling routines, and the corresponding If you want to start an interrupt processing routine, you must use software to determine all register contents at the beginning of the interrupt processing routine and branch to the corresponding processing routine. The problem was that it was slow.

本発明はかかる点に鑑み、上記のような場合の割込み処
理への対応速度を高速化するための割込み装#を提供す
ることを目的とする。
In view of this point, it is an object of the present invention to provide an interrupt device for increasing the speed of responding to interrupt processing in the above-mentioned cases.

問題点を解決するための手段 本発明は、第1の割込みタイプナンバーと、第2の割込
みタイプナンバーを設定した汎用レジスタの識別コード
を指定するソフトウェア割込みが発生された際、第1の
割込みタイプナンバーと第1の割込みポインタテーブル
より求められた第2の割込みポインタテーブルのベース
アドレスヲ格納するベースアドレスレジスタと、第2の
割込みタイプナンバーを設定しておく複数の汎用レジス
タと、汎用レジスタ識別コードによって前記複数の汎用
レジスタの内の何れかを選択し、選択された汎用レジス
タの内容を出力するセレクタと、前記ベースアドレスレ
ジスタに格納された第2の割込みポインタテーブルのベ
ースアドレスと前記セレクタから出力される第2の割込
みタイプナンバーe入力し、第2の割込みベクタテーブ
ルアドレスを生成する第2のアドレス生成手段とを備え
た割込み装置である。
Means for Solving the Problems The present invention provides a first interrupt type number when a software interrupt is generated that specifies the identification code of a general-purpose register in which a first interrupt type number and a second interrupt type number are set. A base address register that stores the base address of the second interrupt pointer table obtained from the number and the first interrupt pointer table, a plurality of general-purpose registers in which the second interrupt type number is set, and a general-purpose register identification code. a selector that selects one of the plurality of general-purpose registers and outputs the contents of the selected general-purpose register; and a base address of a second interrupt pointer table stored in the base address register and output from the selector. and second address generation means for inputting a second interrupt type number e to generate a second interrupt vector table address.

作  用 本発明は前記した構成により、第1の割込みポインタテ
ーブルから得られる第2の割込みポインタテーブルのベ
ースアドレスと、セレクタによって選択された汎用レジ
スタの内容である第2の割込みタイプナンバーを、第2
のアドレス生成手段に入力して第2の割込みベクタテー
ブルアドレスを求め、このアドレスで第2の割込みポイ
ンタテーブルをアクセスして得られる割込みエントリポ
インタをプログラムカウンタへ設定して、割込み処理ル
ーチンをスタートさせる。
Effect: With the above-described configuration, the present invention uses the base address of the second interrupt pointer table obtained from the first interrupt pointer table and the second interrupt type number, which is the content of the general-purpose register selected by the selector, in the second interrupt pointer table. 2
The second interrupt vector table address is obtained by accessing the second interrupt pointer table using this address, the obtained interrupt entry pointer is set in the program counter, and the interrupt processing routine is started. .

実施例 第1図は本発明の一実施例における割込み装置の構成図
を示すもので与る。
Embodiment FIG. 1 shows a block diagram of an interrupt device in an embodiment of the present invention.

第1図において、1は、実行中の命令アドレスを示すプ
ログラムカウンタ、2は、プログラムカウンタ1の値で
アクセスして得られるメモリ上の命令コードを格納する
命令レジスタ、3は、ソフトウェア割込み発生の際に、
命令レジスタ2に格納された第1の割込みタイプナンバ
ーを入力し、第1の割込みポインタテーブルの割込みベ
クタテーブルアドレスを生成する第1のアドレス生成手
段、4ば、第1のアドレス生成手段3の出力である第1
の割込みベクタテーブルアドレスで、第1の割込みポイ
ンタテーブルをアクセスして得られる第2の割込みポイ
ンタテーブルのベースアドレスを格納するベースアドレ
スレジスタ、6は、第2の割込みタイプナンバーを設定
しておく複数の汎用レジスタ、6は、命令レジスタ2に
格納された汎用レジスタ識別コードによって複数の汎用
レジスタ6の内の何れかを選択し、選択された汎用レジ
スタの内容を出力するセレクタ、7は、セレクタ6から
出力される第2の割込みタイプナンパ−とベースアドレ
スレジスタ4に格納された第2の割込みポインタテーブ
ルのベースアドレスを入力し、第2の割込みベクタテー
ブルアドレスヲ生成する第2のアドレス生成手段である
In FIG. 1, 1 is a program counter that indicates the address of the instruction being executed, 2 is an instruction register that stores the instruction code on memory that is obtained by accessing the value of program counter 1, and 3 is a program counter that indicates the address of the instruction being executed. Occasionally,
a first address generation means for inputting the first interrupt type number stored in the instruction register 2 and generating an interrupt vector table address of the first interrupt pointer table; 4b; output of the first address generation means 3; The first
6 is a base address register that stores the base address of the second interrupt pointer table obtained by accessing the first interrupt pointer table with the interrupt vector table address of 6; A general-purpose register 6 is a selector that selects one of the plurality of general-purpose registers 6 according to the general-purpose register identification code stored in the instruction register 2, and outputs the contents of the selected general-purpose register.7 is a selector 6. A second address generating means inputs the second interrupt type number outputted from the base address register 4 and the base address of the second interrupt pointer table stored in the base address register 4, and generates a second interrupt vector table address. be.

以上のように構成された本実施例の割込み装置について
、以下その動作を第2図に示す第1及び第2の割込みポ
インタテーブルを用いて説明すもまず。第1の割込みタ
イプナンバーと、第2の割込みタイプナンバーを設定し
た汎用レジスタ塩を指定するソフトウェア割込み(例え
ば’ I NT i 、Rk”で表わし、汎用レジスタ
Rkの内容をjとする)が発生すると、第1の割込みタ
イプナンバーiの値から、従来例と同様にしてタイプi
の割込みエントリポインタを求めるが、本実施例におい
てこの求められたポインタは第2の割込みポインタテー
ブルのベースアドレスを示しておシ、ペースアドレスレ
ジスタ4に格納しておく。
The operation of the interrupt device of this embodiment configured as described above will be explained below using the first and second interrupt pointer tables shown in FIG. When a software interrupt (for example, expressed as 'I NT i , Rk' and the contents of general-purpose register Rk is j) that specifies the general-purpose register salt in which the first interrupt type number and the second interrupt type number are set occurs, , type i is determined from the value of the first interrupt type number i in the same way as in the conventional example.
In this embodiment, the obtained pointer indicates the base address of the second interrupt pointer table and is stored in the pace address register 4.

次に、セレクタ6で、命令レジスタ2に格納されている
汎用レジスタの識別コードに従って、複数の汎用レジス
タ5の中から選択された汎用レジスタRkの内容である
第2の割込みタイプナンバーjの値と、ベースアドレス
レジスタ4に格納された第2の割込みポインタテーブル
のベースアドレスを第2のアドレス生成手段5に入力し
て、第2の割込みベクタテーブルアドレスを生成スる。
Next, the selector 6 selects the value of the second interrupt type number j, which is the content of the general-purpose register Rk selected from the plurality of general-purpose registers 5, according to the identification code of the general-purpose register stored in the instruction register 2. , the base address of the second interrupt pointer table stored in the base address register 4 is input to the second address generation means 5 to generate a second interrupt vector table address.

この場合、例えば従来例同様1APX86に相当するマ
イクロコンピュータで考えるならば、第2のアドレス生
成手段5では、第2の割込みタイプナンバーjに4を掛
けて(左へ2ビツトシフト)、第2の割込みポインタテ
ーブルのベースアドレスに加算するという処理を行なう
ことになる。第2のアドレス生成手段5の出力である第
2の割込みベクタテーブルアドレスより、タイプi+3
の割込みエントリポインタが求まり、この値をプログラ
ムカウンタ1に設定することによシ、割込み処理ルーチ
ンがスタートする。
In this case, for example, if we consider a microcomputer equivalent to 1APX86 as in the conventional example, the second address generation means 5 multiplies the second interrupt type number j by 4 (shifts 2 bits to the left) and generates the second interrupt type number j. The process is to add it to the base address of the pointer table. From the second interrupt vector table address which is the output of the second address generation means 5, type i+3
The interrupt processing routine starts by determining the interrupt entry pointer and setting this value in program counter 1.

以上のように本実施例によるソフトウェア割込みを用い
た場合、あるレジスタに格納された変数の値によって、
それに対応した割込み処理ルーチンをソフトウェアの介
入なしに起動させることができる。
As described above, when using the software interrupt according to this embodiment, depending on the value of the variable stored in a certain register,
A corresponding interrupt processing routine can be activated without software intervention.

なお、本実施例における第1の割込みポインタテーブル
の内容として、従来例同様、直接、割込みエントリポイ
ンタを格納しておき、従来のソフトウェア割込みを発行
してもよい。
Note that as the contents of the first interrupt pointer table in this embodiment, as in the conventional example, an interrupt entry pointer may be directly stored and a conventional software interrupt may be issued.

発明の詳細 な説明したように、本発明によれば、ソフトウェア割込
みの対応速度を高速化することができ、その実用的効果
は大きい。
As described in detail, according to the present invention, the speed at which software interrupts can be handled can be increased, and the practical effects thereof are significant.

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

第1図は本発明における一実施例の割込み装置の構成図
、第2図は同実施例における第1.第2の割込みポイン
タテーブルの説明図、第3図は従来の割込み装置の構成
図、第4図は従来の割込み装置における割込みポインタ
テーブルの説明図である。 1・・・・・・プログラムカウンタ、2・・・・・・命
令レジスタ、3・・・・・・第1のアドレス生成手段、
4・・・・・・ペースアドレスレジスタ、5・・・・・
・汎用レジスタ、61.。 ・・・セレクタ、7・・・・・・第2のアドレス生成手
段。 第1図 第2図 第3図 第4図
FIG. 1 is a block diagram of an interrupt device according to an embodiment of the present invention, and FIG. 2 is a block diagram of an interrupt device according to an embodiment of the present invention. FIG. 3 is an explanatory diagram of the second interrupt pointer table, FIG. 3 is a configuration diagram of a conventional interrupt device, and FIG. 4 is an explanatory diagram of the interrupt pointer table in the conventional interrupt device. 1...Program counter, 2...Instruction register, 3...First address generation means,
4...Pace address register, 5...
- General purpose register, 61. . ...Selector, 7...Second address generation means. Figure 1 Figure 2 Figure 3 Figure 4

Claims (1)

【特許請求の範囲】[Claims] 実行中の命令アドレスを示すプログラムカウンタと、前
記プログラムカウンタの値でアクセスして得られるメモ
リ上の命令コードを格納する命令レジスタと、前記命令
レジスタに接続され、ソフトウェア割込み発生の際に、
前記命令レジスタに格納された第1の割込みタイプナン
バーを入力し、第1の割込みポインタテーブルの割込み
ベクタテーブルアドレスを生成する第1のアドレス生成
手段と、前記第1のアドレス生成手段の出力である第1
の割込みベクタテーブルアドレスで、第1の割込みポイ
ンタテーブルをアクセスして得られる第2の割込みポイ
ンタテーブルのベースアドレスを格納するベースアドレ
スレジスタと、第2の割込みタイプナンバーを設定して
おく複数の汎用レジスタと、前記命令レジスタに格納さ
れた汎用レジスタ識別コードによって、前記複数の汎用
レジスタの内の何れかを選択し、選択された汎用レジス
タの内容を出力するセレクタと、前記セレクタと前記ベ
ースアドレスレジスタに接続され、前記セレクタの出力
である第2の割込みタイプナンバーと前記ベースアドレ
スレジスタに格納された第2の割込みポインタテーブル
のベースアドレスを入力し、第2の割込みベクタテーブ
ルアドレスを生成する第2のアドレス生成手段とを備え
、前記第2の割込みベクタテーブルアドレスでアクセス
して得られる割込みエントリポインタを前記プログラム
カウンタへ設定することを特徴とする割込み装置。
a program counter that indicates the address of the instruction being executed; an instruction register that stores an instruction code on memory obtained by accessing the value of the program counter; and a program counter that is connected to the instruction register and that when a software interrupt occurs,
a first address generating means for inputting a first interrupt type number stored in the instruction register and generating an interrupt vector table address of a first interrupt pointer table; and an output of the first address generating means. 1st
A base address register that stores the base address of the second interrupt pointer table obtained by accessing the first interrupt pointer table with the interrupt vector table address of , and multiple general-purpose registers that set the second interrupt type number. a register, a selector that selects one of the plurality of general-purpose registers according to a general-purpose register identification code stored in the instruction register and outputs the contents of the selected general-purpose register; the selector and the base address register; a second interrupt vector table address, which is connected to the selector and inputs a second interrupt type number that is the output of the selector and a base address of the second interrupt pointer table stored in the base address register, and generates a second interrupt vector table address. and address generation means, and sets an interrupt entry pointer obtained by accessing using the second interrupt vector table address to the program counter.
JP12609986A 1986-05-30 1986-05-30 Interruption device Pending JPS62282335A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12609986A JPS62282335A (en) 1986-05-30 1986-05-30 Interruption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12609986A JPS62282335A (en) 1986-05-30 1986-05-30 Interruption device

Publications (1)

Publication Number Publication Date
JPS62282335A true JPS62282335A (en) 1987-12-08

Family

ID=14926586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12609986A Pending JPS62282335A (en) 1986-05-30 1986-05-30 Interruption device

Country Status (1)

Country Link
JP (1) JPS62282335A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742113B1 (en) 1999-05-31 2004-05-25 Renesas Technology Corp. Microprocessor with EIT, processing capability, and EIT processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742113B1 (en) 1999-05-31 2004-05-25 Renesas Technology Corp. Microprocessor with EIT, processing capability, and EIT processing method

Similar Documents

Publication Publication Date Title
EP0220682B1 (en) Data processing system
JPH08305585A (en) Interruption controller
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPS62282335A (en) Interruption device
US4928238A (en) Scalar data arithmetic control system for vector arithmetic processor
JPH0831033B2 (en) Data processing device
JPS6391743A (en) Interruption device
JPS62145435A (en) Microprocessor with concurrent processing instruction
JPS62184542A (en) Interruption device
JPS63181030A (en) Accelerating system for arithmetic calculation in specific data pattern
JPS6156821B2 (en)
JP3055558B2 (en) n-bit arithmetic unit
JP2584082B2 (en) High-speed interrupt processing device
JP2985201B2 (en) Microcomputer
JP3331682B2 (en) Arithmetic unit
JPH04177532A (en) Microprocessor
JPS602708B2 (en) Single-chip computer addressing scheme
JPS63245526A (en) Information processor
JPS63234322A (en) Processor
JPS58163045A (en) Controller of program counter
JPS61151745A (en) Interruption processing system
JPH10269059A (en) Data processor
JPS62216036A (en) Program deciding system
JPS60250475A (en) Vector processor
JPS6383866A (en) Vector arithmetic processing system