JPH0683986A - Single chip microcomputer - Google Patents

Single chip microcomputer

Info

Publication number
JPH0683986A
JPH0683986A JP4233216A JP23321692A JPH0683986A JP H0683986 A JPH0683986 A JP H0683986A JP 4233216 A JP4233216 A JP 4233216A JP 23321692 A JP23321692 A JP 23321692A JP H0683986 A JPH0683986 A JP H0683986A
Authority
JP
Japan
Prior art keywords
instruction
interrupt
vector
instruction code
address
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
JP4233216A
Other languages
Japanese (ja)
Inventor
Kunihiro Sadatomi
邦浩 貞富
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4233216A priority Critical patent/JPH0683986A/en
Publication of JPH0683986A publication Critical patent/JPH0683986A/en
Pending legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)

Abstract

PURPOSE:To easily select an interruption processing and to improve interruption processing speed by providing two registers and switching them at the time of interruption processing. CONSTITUTION:The single chip microcomputer consists of an instruction execution unit 1 containing registers 2, 3, CPU control register 4, 5, and inverter 6, interruption controller 7, OR circuit 8, AND circuit 9, 13, RAM 10, address generation circuit 11, inverter 12, instruction queue 14, bus control unit 15, cache memory 16, ant memory 17. Thus, many registers are prepared for an interruption source and the address of an address generation circuit 11 is stored at the generation of the next non-vector interruption during the non-vector interruption processing. At the end of the execution of the next non-vector interruption processing, the address stored in the address generation circuit 11 is returned to the address generation circuit and the former non-vector interrutpion processing is executed again.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はシングルチップ・マイク
ロコンピュータに関し、特に割込み機能を有するシング
ルチップ・マイクロコンピュータに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a single chip microcomputer, and more particularly to a single chip microcomputer having an interrupt function.

【0002】[0002]

【従来の技術】従来、この種のシングルチップ・マイク
ロコンピュータは、図3に示されるように、レジスタ2
およびCPU制御レジスタ4を含む命令実行ユニット1
と、割込みコントローラ7と、命令キュー14と、バス
コントロール・ユニット15と、キャッシュメモリ16
と、メモリ17とを備えて構成されている。
2. Description of the Related Art Conventionally, a single-chip microcomputer of this type has a register 2 as shown in FIG.
And instruction execution unit 1 including CPU control register 4
, Interrupt controller 7, instruction queue 14, bus control unit 15, cache memory 16
And a memory 17 are provided.

【0003】図3において、割込みコントローラ7よ
り、バス201を介して割込み要求が出されると、図4
(a)の割込み処理時におけるフローチャートに見られ
るように、割込みコントローラ7より命令実行ユニット
1に対して、割込みに対応するベクタアドレスが、内部
バス201を介して出力される(ステップ31)。次い
で命令実行ユニット1においてはベクタアドレスを読込
んで(ステップ32)、バス・コントロール・ユニット
15に対してベクタアドレスを与え、バス・コントロー
ル・ユニット15においては、当該ベクタアドレスの示
す番地のデータがキャッシュメモリ16に存在すれば、
シャッシュメモリ16よりベクタ・データを受取り、ま
た当該データがキャッシュメモリ16に存在しない場合
には、バス・コントロール・ユニット15においては、
バス・サイクルを起動させてベクタ・データを受取り、
命令実行ユニット1に伝達する(ステップ33)。命令
実行ユニット1においては、現在進行中の命令終了後に
割込み処理に入り、プログラム・カウンタ(PC)およ
びプログラム・ステータス・ワード(PSW)をスタッ
ク・ポインタ(SP)の値の示すスタック領域に退避さ
せる(ステップ34)。そして、プログラム・カウンタ
(PC)に対して、バス・コントロール・ユニット15
から受取ったベクタ・データを書込み、バス・コントロ
ール・ユニット15に対して分岐アドレスを書込む(ス
テップ35)。バス・コントロール・ユニット15にお
いては、分岐アドレスのプログラムが、キャッシュメモ
リ16に存在する場合には、キャッシュメモリ15より
命令コードを読出し、存在しない場合には、バス・サイ
クルを起動してメモリ17より命令コード・フェッチを
行い、当該命令コードを読込む(ステップ36)。命令
キュー14は、バス・コントロール・ユニット15より
バス205を介して命令コードを受取り(ステップ3
7)、命令実行ユニット1において命令コードを必要と
する時に、命令キュー出力を命令実行ユニット1に与え
る(ステップ38および39)。また、命令キュー14
の命令コードがつまっている場合には、バス・コントロ
ール・ユニット15に対して命令フェッチ中止信号が出
力され、バス・コントロール・ユニット15の命令フェ
ッチが停止される。バス・コントロール・ユニット15
においては、シャッシュメモリ16にアドレスがヒット
しない場合には、割込み処理に必要なバス・サイクルを
起動させる。また、割込み処理がベクタ割込み処理では
なく、転送命令および論理演算等の簡単な処理の場合に
は、マイクロプロセッサにプログラミングしておき、割
込み入力により、当該マイクロプログラムを起動させ
て、データ転送および演算処理等が行うマイクロプログ
ラム処理により、割込み処理を速く行う方法がある。
In FIG. 3, when an interrupt request is issued from the interrupt controller 7 via the bus 201, FIG.
As can be seen from the flowchart at the time of interrupt processing in (a), the interrupt controller 7 outputs the vector address corresponding to the interrupt to the instruction execution unit 1 via the internal bus 201 (step 31). Next, the vector address is read in the instruction execution unit 1 (step 32), the vector address is given to the bus control unit 15, and the data at the address indicated by the vector address is cached in the bus control unit 15. If it exists in the memory 16,
When the vector data is received from the sash memory 16 and the data does not exist in the cache memory 16, the bus control unit 15
Activates a bus cycle to receive vector data,
It is transmitted to the instruction execution unit 1 (step 33). In the instruction execution unit 1, after the current instruction is completed, the interrupt processing is started, and the program counter (PC) and the program status word (PSW) are saved in the stack area indicated by the value of the stack pointer (SP). (Step 34). The bus control unit 15 is connected to the program counter (PC).
The vector data received from the CPU is written, and the branch address is written to the bus control unit 15 (step 35). In the bus control unit 15, if the program of the branch address exists in the cache memory 16, the instruction code is read from the cache memory 15, and if it does not exist, a bus cycle is activated and the memory 17 reads it. The instruction code is fetched and the instruction code is read (step 36). The instruction queue 14 receives an instruction code from the bus control unit 15 via the bus 205 (step 3).
7) When the instruction execution unit 1 needs an instruction code, it gives an instruction queue output to the instruction execution unit 1 (steps 38 and 39). In addition, the instruction queue 14
If the instruction code is clogged, the instruction fetch stop signal is output to the bus control unit 15 and the instruction fetch of the bus control unit 15 is stopped. Bus control unit 15
In (1), if the address does not hit the smash memory 16, the bus cycle required for interrupt processing is activated. If the interrupt process is not a vector interrupt process but a simple process such as a transfer instruction and a logical operation, the microprocessor is programmed and the micro program is activated by an interrupt input to perform data transfer and operation. There is a method of speeding up interrupt processing by microprogram processing performed by processing and the like.

【0004】[0004]

【発明が解決しようとする課題】上述した従来の割込み
処理機能を有するシングルチップ・マイクロコンピュー
タにおいては、割込み要求が受付けられてから命令コー
ドを受取るためには、バス・コントロール・ユニットを
通してベクタアドレスのベクタコードを読出し、プログ
ラムカウンタおよびプログラムステータス・ワードの退
避、命令コード・フェッチ等のバス・コントロール・ユ
ニットによるアクセスが必要となり、このために、キャ
ッシュメモリを内蔵していても、キャッシュがヒットし
ない場合には、割込み処理速度を高めることができない
という欠点がある。
In the above-mentioned conventional single-chip microcomputer having the interrupt processing function, in order to receive the instruction code after the interrupt request is received, the vector address of the vector address is passed through the bus control unit. When the vector code is read, the program counter and program status word are saved, and access is required by the bus control unit such as instruction code fetch. Therefore, even if the cache memory is built in, the cache does not hit. Has the drawback that it cannot increase the interrupt processing speed.

【0005】また、割込み処理が簡単な処理の場合にお
いて、マイクロプログラムに組込まれたユーザに提供さ
れているマイクロプログラム処理の選択により、割込み
処理を行う方法も行われてはいるが、この場合には、ユ
ーザにおいて、自由にマイクロプログラム処理の選択を
行うことができないという欠点がある。
In the case where the interrupt process is a simple process, there is also a method of performing the interrupt process by selecting the microprogram process provided to the user incorporated in the microprogram. Has a drawback that the user cannot freely select the microprogram processing.

【0006】[0006]

【課題を解決するための手段】本発明のシングルチップ
・マイクロコンピュータは、割込み機能を内蔵するシン
グルチップ・マイクロコンピュータにおいて、割込み処
理時に実行される割込みソースに対応する複数の命令コ
ードを記憶する割込み命令コード記憶手段と、正常動作
時に対応する複数の命令コードを一時的に記憶する命令
コード記憶手段と、それぞれレジスタとCPU制御レジ
スタとにより形成され、割込み処理時と正常動作時とに
対応して機能する第1および第2の組合わせ回路を含
み、所定の命令コードを受けて当該命令を実行する命令
実行手段とを少なくとも備え、前記割込み処理時におい
て、前記命令コード記憶手段からの命令コード読出しを
中止し、前記割込み命令コード記憶手段より前記割込み
ソースに対応する命令コードを順次読出すとともに、前
記命令実行手段に含まれる第2の組合わせ回路を、第1
の組合わせ回路に切替えることを特徴としている。
A single-chip microcomputer of the present invention is a single-chip microcomputer having a built-in interrupt function, and an interrupt storing a plurality of instruction codes corresponding to an interrupt source executed during interrupt processing. It is formed by an instruction code storage means, an instruction code storage means for temporarily storing a plurality of instruction codes corresponding to normal operation, a register and a CPU control register, respectively, and corresponds to interrupt processing and normal operation. At least an instruction executing means including a functioning first and second combination circuit for receiving a predetermined instruction code and executing the instruction is provided, and reading the instruction code from the instruction code storage means at the time of the interrupt processing. And the instruction corresponding to the interrupt source is stored in the interrupt instruction code storage means. Together sequentially reading the code, the second combination circuit included in the instruction execution unit, the first
It is characterized by switching to the combination circuit of.

【0007】なお、前記割込み命令コード記憶手段は、
RAMにより構成してもよく、またはROMにより構成
してもよい。
The interrupt instruction code storage means is
The RAM may be used, or the ROM may be used.

【0008】[0008]

【実施例】次に、本発明について図面を参照して説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0009】図1は本発明の第1の実施例を示すブロッ
ク図である。図1に示されるように、本実施例は、レジ
スタ2および3、CPU制御レジスタ4および5、およ
びインバータ6を含む命令実行ユニット1と、割込みコ
ントローラ7と、OR回路8と、AND回路9および1
3と、RAM10と、アドレス発生回路11と、インバ
ータ12と、命令キュー14と、バス・コントロール・
ユニット15と、キャッシュメモリ16と、メモリ17
とを備えて構成されている。
FIG. 1 is a block diagram showing a first embodiment of the present invention. As shown in FIG. 1, in this embodiment, an instruction execution unit 1 including registers 2 and 3, CPU control registers 4 and 5, and an inverter 6, an interrupt controller 7, an OR circuit 8, an AND circuit 9 and 1
3, an RAM 10, an address generation circuit 11, an inverter 12, an instruction queue 14, and a bus control circuit.
Unit 15, cache memory 16, and memory 17
And is configured.

【0010】図1において、バス・コントロールユニッ
ト15においては、命令実行ユニット1の要求により、
命令フェッチおよびデータのリード・ライト処理が行わ
れる。この場合に、キャッシュメモリ16上にデータが
存在しない場合には、バス・サイクルを起動させて、メ
モリ17から命令コードおよびデータが読出される。ハ
ス・コントロールユニット15により読出されたデータ
は、内部バス202を介して、命令実行ユニット1に取
込まれて、命令コードはバス205を介して命令キュー
14に取込まれてゆく。命令実行ユニット1は、バス2
04を介して、命令キュー14および非ベクタ割込み処
理時の命令コードが格納されるRAM10の出力と接続
される。命令実行ユニット1より出力される命令キュー
読出し信号102と、非ベクタ割込み処理選択信号10
1が入力されるインバータ12の出力はAND回路13
に入力され、通常の命令実行時においては非ベクタ割込
み処理選択信号101が“0”であるため、命令キュー
読出し信号102が“1”になると、命令キュー14よ
り命令コードが読出される。また、非ベクタ割込み処理
時においては、命令キュー読出し信号102と非ベクタ
割込み処理選択信号101が入力されるAND回路9に
より、非ベクタ割込み処理選択信号101が“1”であ
るために、命令キュー読出し信号102が“1”になる
と、非ベクタ割込み処理時の命令コードが格納されるR
AM10より命令コードが読出される。
In FIG. 1, in the bus control unit 15, at the request of the instruction execution unit 1,
Instruction fetch and data read / write processing are performed. In this case, if there is no data in the cache memory 16, the bus cycle is activated and the instruction code and data are read from the memory 17. The data read by the lotus control unit 15 is taken into the instruction execution unit 1 via the internal bus 202, and the instruction code is taken into the instruction queue 14 via the bus 205. Instruction execution unit 1 is bus 2
Via 04, it is connected to the instruction queue 14 and the output of the RAM 10 in which the instruction code at the time of non-vector interrupt processing is stored. The instruction queue read signal 102 output from the instruction execution unit 1 and the non-vector interrupt processing selection signal 10
The output of the inverter 12 to which 1 is input is the AND circuit 13
Since the non-vector interrupt processing selection signal 101 is “0” during normal instruction execution, when the instruction queue read signal 102 becomes “1”, the instruction code is read from the instruction queue 14. Further, at the time of non-vector interrupt processing, the instruction queue read signal 102 and the non-vector interrupt processing selection signal 101 are input, and the non-vector interrupt processing selection signal 101 is “1”. When the read signal 102 becomes "1", the instruction code at the time of non-vector interrupt processing is stored R
The instruction code is read from AM10.

【0011】また、命令実行ユニット1の内部のレジス
タは、通常、命令実行時およびベクタ割込み処理時にお
いては、インバータ6の出力は“1”となり、これによ
りレジスタ2およびCPUレジスタ4が選択され、ま
た、他方非ベクタ割込み処理時においては、非ベクタ割
込み選択信号101が“1”となり、代ってレジスタ3
およびCPU制御レジスタ5が選択される。そして、命
令実行ユニット1により、バス202を介して割込みコ
ントローラ7のモードレジスタに書込み、割込み処理モ
ードの設定が行われる。割込み処理がベクタ割込み処理
モードの時には、バス201を介して命令実行ユニット
1に割込み要求が出力され、当該割込みが受付けられた
後にベクタコードが出力される。
Further, in the internal register of the instruction execution unit 1, the output of the inverter 6 is normally "1" during instruction execution and vector interrupt processing, whereby the register 2 and the CPU register 4 are selected, On the other hand, during non-vector interrupt processing, the non-vector interrupt selection signal 101 becomes “1”, and instead the register 3
And the CPU control register 5 is selected. Then, the instruction execution unit 1 writes to the mode register of the interrupt controller 7 via the bus 202 to set the interrupt processing mode. When the interrupt processing is in the vector interrupt processing mode, an interrupt request is output to the instruction execution unit 1 via the bus 201, and the vector code is output after the interrupt is accepted.

【0012】ベクタ割込時においては、非ベクタ割込み
処理選択信号101は“0”のままであり、ベクタ割込
みを伴なわない非ベクタ割込みの場合には、非ベクタ割
込み処理選択信号101は“1”となる。割込みコント
ローラ7においては、RAM10に対する書込み時およ
び非ベクタ割込み処理時には、割込みソースに対応する
命令コード選択信号がバス203に出力される。このバ
ス203介して入力される命令コード選択信号により、
RAM10の上位アドレスが指定され、また、アドレス
発生回路11より入力されるアドレス信号により、RA
M10の下位アドレスが指定される。バス203を介し
て各割込みソースに対する命令のアドレスが指定され、
また、アドレス発生回路11により、各割込みソースに
おける命令内のアドレスが指定される。アドレス発生回
路11は、割込みコントローラ7より出力される初期化
信号103により初期化されて命令の先頭番地が示さ
れ、書込み信号104とAND回路9より出力される読
出し信号105のOR出力として出力される命令の読出
し信号105により、1アドレスごとにカウントアップ
されて、連続的な命令コードの書込み/読出しアドレス
が生成され、RAM10に入力される。
At the time of a vector interrupt, the non-vector interrupt processing selection signal 101 remains "0", and in the case of a non-vector interrupt without a vector interrupt, the non-vector interrupt processing selection signal 101 is "1". "It becomes. In the interrupt controller 7, an instruction code selection signal corresponding to an interrupt source is output to the bus 203 during writing to the RAM 10 and during non-vector interrupt processing. By the instruction code selection signal input via this bus 203,
RA is specified by the upper address of the RAM 10 and by an address signal input from the address generation circuit 11.
The lower address of M10 is designated. The address of the instruction for each interrupt source is specified via the bus 203,
Further, the address generation circuit 11 specifies the address in the instruction at each interrupt source. The address generation circuit 11 is initialized by the initialization signal 103 output from the interrupt controller 7 to indicate the start address of the instruction, and is output as an OR output of the write signal 104 and the read signal 105 output from the AND circuit 9. The read / write signal 105 of the instruction is incremented for each address to generate continuous write / read addresses of the instruction code, which are input to the RAM 10.

【0013】RAM10においては、バス203を経由
して入力されるアドレス信号、およびアドレス発生回路
11より入力されるアドレス信号を介して、データバス
202を経由して入力される書込み命令コードが、書込
み信号104により書込まれる。非ベクタ割込み処理実
行時においては、AND回路9より出力される読出し信
号105により、命令キュー14の出力に対応するバス
204に命令コードが出力される。
In the RAM 10, a write command code input via the data bus 202 via an address signal input via the bus 203 and an address signal input from the address generation circuit 11 is written. Written by signal 104. When the non-vector interrupt process is executed, the read signal 105 output from the AND circuit 9 outputs an instruction code to the bus 204 corresponding to the output of the instruction queue 14.

【0014】次に、動作について説明する。通常の命令
実行時およびベクタ割込み時における動作については、
前述の従来例の場合と全く同様であるため、その説明は
省略し、新たに追加されたベクタ処理を伴なわない非ベ
クタ割込み処理の動作について説明する。
Next, the operation will be described. For the operation during normal instruction execution and vector interrupt,
Since it is exactly the same as the case of the above-mentioned conventional example, the description thereof will be omitted, and the operation of the non-vector interrupt processing without the newly added vector processing will be described.

【0015】まず、割込み処理の実行時における、RA
M10に対する命令コード書込み動作について説明す
る。割込みコントローラ7によりバス203に出力され
る書込みアドレスが選択されるとともに(ステップ6
1)、アドレス発生回路11に対して初期化信号103
が出力され(ステップ62)、指定された割込みソース
に対応する命令の先頭番地がRAM10のアドレスに入
力される。次いで、命令実行ユニット1により、内部バ
ス202に割込み時に実行される命令コードが出力され
(ステップ63)、また書込み信号104が出力されて
RAM10に対する1コードの命令コードの書込みが行
われる(ステップ64)。その後、NAND回路8を介
してアドレス発生回路11に対するカウントアップ信号
106が出力され、アドレス発生回路11においては、
次の命令コードの書込みアドレスが発生される(ステッ
プ65)。
First, RA at the time of execution of interrupt processing
The instruction code writing operation for M10 will be described. The write address output to the bus 203 is selected by the interrupt controller 7 (step 6).
1), initialization signal 103 for address generation circuit 11
Is output (step 62), and the start address of the instruction corresponding to the designated interrupt source is input to the address of the RAM 10. Next, the instruction execution unit 1 outputs the instruction code to be executed at the time of interruption to the internal bus 202 (step 63), and also outputs the write signal 104 to write one instruction code to the RAM 10 (step 64). ). After that, the count-up signal 106 to the address generation circuit 11 is output via the NAND circuit 8, and in the address generation circuit 11,
The write address of the next instruction code is generated (step 65).

【0016】このようにして、順次命令コードのデータ
を与えられ、書込み信号104が出力されて、非ベクタ
割込み処理時の命令コードが書込まれてゆき(前記ステ
ップ63、64、65および66の繰返しによる)、命
令の最後に非ベクタ割込み処理からの復帰命令が書込ま
れる(ステップ67)。同様に、割込みコントローラ7
から出力される割込みアドレスが切替えられて、各割込
みにソースに対応する命令コードの書込みが行われる。
そして次に、割込み処理モードは、ベクタ割込みを伴な
わない非ベクタ割込み処理に切替えられる。
In this manner, the instruction code data is sequentially given, the write signal 104 is output, and the instruction code at the time of non-vector interrupt processing is written (at the steps 63, 64, 65 and 66). At the end of the instruction, a return instruction from non-vector interrupt processing is written (due to repetition) (step 67). Similarly, the interrupt controller 7
The interrupt address output from is switched, and the instruction code corresponding to the source is written to each interrupt.
Then, the interrupt processing mode is switched to the non-vector interrupt processing without the vector interrupt.

【0017】次に、非ベクタ割込み処理時の動作につい
て設明する。図1において、割込みコントローラ7によ
り、バス201を介して割込み要求が出力され、命令実
行ユニット1により当該割込み要求が受付けられると、
図4(b)の非ベクタ割込み処理時におけるフローチャ
ートに見られるように、割込みコントローラ7におい
て、割込み要求が非ベクタ割込み処理に対応する場合に
は、非ベクタ処理選択信号101が“1”に設定され
(ステップ41)、命令実行ユニット1内のレジスタ2
およびCPU制御レジスタ4は、レジスタ3およびCP
U制御レジスタ5に切替えられる。次いで、割込みソー
スに対応する割込みアドレスとして、命令コード選択信
号がバス203に出力される(ステップ43)ととも
に、アドレス発生回路11に対して初期化信号103が
出力され(ステップ44)、割込みに対応する割込みの
先頭番地がRAM10に出力される。
Next, the operation during non-vector interrupt processing will be described. In FIG. 1, when the interrupt controller 7 outputs an interrupt request via the bus 201 and the instruction execution unit 1 accepts the interrupt request,
In the interrupt controller 7, when the interrupt request corresponds to the non-vector interrupt process, the non-vector process selection signal 101 is set to "1" as seen in the flowchart for the non-vector interrupt process in FIG. 4B. (Step 41), register 2 in instruction execution unit 1
And the CPU control register 4, register 3 and CP
It is switched to the U control register 5. Next, as the interrupt address corresponding to the interrupt source, the instruction code selection signal is output to the bus 203 (step 43), and the initialization signal 103 is output to the address generation circuit 11 (step 44) to correspond to the interrupt. The leading address of the interrupt to be output is output to the RAM 10.

【0018】その後、RAM10からの命令処理実行ル
ーチンに移行して、命令キュー読出し信号102により
RAM10より命令コードが読出される(ステップ4
5)とともに、アドレス発生回路11がカウントアップ
されて、次の命令コードが選択される(ステップ4
6)。そして、命令実行ユニット1においては、読出さ
れた命令コードが実行されてゆき(ステップ47)、実
行命令が割込み復帰命令でない場合には、再度RAM1
0からの命令コード読出しが行われて命令の実行が継続
され(ステップ45、46および47の繰返しによ
る)、また、復帰命令である場合には、非ベクタ割込み
処理ルーチンからの復帰処理に移行する(ステップ4
8)。復帰命令による非ベクタ割込み処理からの復帰処
理においては、非ベクタ処理選択信号101は“0”に
設定され(ステップ49)、命令実行ユニット1内のレ
ジスタ3およびCPU制御レジスタ5は、レジスタ2お
よびCPU制御レジスタ4に戻されて(ステップ5
0)、命令キュー14から命令コードが読出され、再度
通常の命令実行が開始される(ステップ51)。
After that, the process proceeds to the instruction processing execution routine from the RAM 10, and the instruction code is read from the RAM 10 by the instruction queue read signal 102 (step 4).
At the same time, the address generation circuit 11 is counted up and the next instruction code is selected (step 4).
6). Then, in the instruction execution unit 1, the read instruction code is executed (step 47), and if the execution instruction is not the interrupt return instruction, the RAM 1 is read again.
The instruction code is read from 0 to continue the execution of the instruction (by repeating steps 45, 46 and 47), and if the instruction is a return instruction, the process returns to the return process from the non-vector interrupt processing routine. (Step 4
8). In the return processing from the non-vector interrupt processing by the return instruction, the non-vector processing selection signal 101 is set to "0" (step 49), the register 3 and the CPU control register 5 in the instruction execution unit 1 are set to the register 2 and Returned to the CPU control register 4 (step 5
0), the instruction code is read from the instruction queue 14, and normal instruction execution is started again (step 51).

【0019】本実施例においては、非ベクタ割込み処理
時に用いられるレジスタが1個であるため、非ベクタ割
込み時の多重割込みは受付けられない。しかし、割込み
ソースに対して多数のレジスタを用意し、非ベクタ割込
み処理中の次の非ベクタ割込み発生時に、アドレス発生
回路11のアドレスを記憶しておき、次の非ベクタ割込
み処理の実行終了後に、アドレス発生回路に記憶されて
いるアドレスをアドレス発生回路に戻してやり、再び前
の非ベクタ割込み処理を実行することにより、非ベクタ
割込み処理の割込みを多重に受付けることが可能とな
る。
In this embodiment, since there is only one register used during non-vector interrupt processing, multiple interrupts during non-vector interrupts cannot be accepted. However, a large number of registers are prepared for the interrupt source, the address of the address generation circuit 11 is stored when the next non-vector interrupt is generated during the non-vector interrupt processing, and after the execution of the next non-vector interrupt processing is completed. By returning the address stored in the address generating circuit to the address generating circuit and executing the previous non-vector interrupt process again, it is possible to receive multiple interrupts of the non-vector interrupt process.

【0020】次に、本発明の第2の実施例について説明
する。図2は本実施例を示すブロック図である。図2に
示されるように、本実施例は、レジスタ2および3、C
PU制御レジスタ4および5、およびインバータ6を含
む命令実行ユニット1と、割込みコントローラ7と、ア
ドレス発生回路11と、インバータ12と、AND回路
13および19と、命令キュー14と、バス・コントロ
ール・ユニット15と、キャッシュメモリ16と、メモ
リ17とを備えて構成されている。
Next, a second embodiment of the present invention will be described. FIG. 2 is a block diagram showing this embodiment. As shown in FIG. 2, this embodiment uses registers 2 and 3, C
An instruction execution unit 1 including PU control registers 4 and 5, and an inverter 6, an interrupt controller 7, an address generation circuit 11, an inverter 12, AND circuits 13 and 19, an instruction queue 14, and a bus control unit. 15, a cache memory 16, and a memory 17 are provided.

【0021】図1との対比により明らかなように、第1
の実施例に対して、割込み処理時の命令コード記憶用の
RAM10が、本実施例においてはマスクROM18に
より構成されている。ROMコードは、マスクROMの
場合には、ユーザROMと同じ工程によりコードを作り
込むことが可能である。従って、本実施例においては、
第1の実施例に比較して、RAMに対する書込みを命令
実行により実行する必要がなく、これにより、RAM書
込み信号およびデータ書込みのためのデータ・バス入力
書込み用の制御回路等を一切必要としない。即ち、本実
施例における動作としては、前述の第1の実施例におけ
るRAM10に対する書込み動作が排除された動作とな
る。それ以外の動作については、第1の実施例と同様で
あり、その説明は省略する。
As is clear from the comparison with FIG. 1, the first
In contrast to this embodiment, the RAM 10 for storing the instruction code at the time of interrupt processing is constituted by the mask ROM 18 in this embodiment. In the case of a mask ROM, the ROM code can be created in the same process as the user ROM. Therefore, in this embodiment,
Compared with the first embodiment, it is not necessary to execute writing to the RAM by executing an instruction, so that a RAM write signal and a data bus input write control circuit for writing data are not required at all. . That is, the operation in this embodiment is an operation in which the write operation to the RAM 10 in the above-described first embodiment is excluded. The other operations are similar to those of the first embodiment, and the description thereof will be omitted.

【0022】本実施例は、第1の実施例に対比して、書
込みに要するハードウェアを必要としないために、チッ
プ面積を縮小化することができるという効果が得られる
とともに、RAMの書込みに要する処理時間が不要とな
り、初期設定時間が短縮されるという利点がある。
Compared to the first embodiment, this embodiment does not require the hardware required for writing, so that there is an effect that the chip area can be reduced, and the RAM writing There is an advantage that the required processing time becomes unnecessary and the initial setting time is shortened.

【0023】[0023]

【発明の効果】以上説明したように、本発明は、追加さ
れた割込み処理時に実行される割込みソースに対応する
命令コードを複数記憶する命令コード記憶手段と、当該
割込み処理時に命令キューからの読出しを中止して、前
記命令コード記憶手段より割込みに対応する命令コード
を読出す手段と、二つのレジスタを持ち前記割込み処理
時に前記レジスタを切替える手段とを備えることによ
り、ベクタ割込み処理実行機能に加えて、ベクタ割込み
処理を伴なわない割込み処理を選択して実行することが
可能となり、これにより、ベクタ割込み処理に加えて、
複数ステップの命令実行を行うユーザ・プログラマブル
な割込み処理を選択することが容易にできるとともに、
高速に実行可能のリアルタイム制御の応答速度を向上さ
せ、割込み処理速度を改善することができるという効果
がある。
As described above, according to the present invention, the instruction code storage means for storing a plurality of instruction codes corresponding to the interrupt sources executed at the time of the added interrupt processing, and the reading from the instruction queue at the time of the interrupt processing. And a means for reading an instruction code corresponding to an interrupt from the instruction code storage means and a means for switching the register at the time of the interrupt processing by adding an instruction code corresponding to the interrupt to the vector interrupt processing execution function. This makes it possible to select and execute interrupt processing that does not involve vector interrupt processing.
It is easy to select user programmable interrupt processing that executes instructions in multiple steps.
The response speed of real-time control that can be executed at high speed is improved, and the interrupt processing speed can be improved.

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

【図1】本発明の第1の実施例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】本発明の第2の実施例を示すブロック図であ
る。
FIG. 2 is a block diagram showing a second embodiment of the present invention.

【図3】従来例を示すブロック図である。FIG. 3 is a block diagram showing a conventional example.

【図4】割込み処理および書込み処理のフローチャート
を示す図である。
FIG. 4 is a diagram showing a flowchart of interrupt processing and write processing.

【符号の説明】[Explanation of symbols]

1 命令実行ユニット 2、3 レジスタ 4、5 CPU制御レジスタ 6、12 インバータ 7 割込みコントローラ 8 OR回路 9、13、19 AND回路 10 RAM 11 アドレス発生回路 14 命令キュー 15 バスコントロール・ユニット 16 キャッシュメモリ 17 メモリ 18 ROM 1 instruction execution unit 2, 3 register 4, 5 CPU control register 6, 12 inverter 7 interrupt controller 8 OR circuit 9, 13, 19 AND circuit 10 RAM 11 address generation circuit 14 instruction queue 15 bus control unit 16 cache memory 17 memory 18 ROM

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 割込み機能を内蔵するシングルチップ・
マイクロコンピュータにおいて、 割込み処理時に実行される割込みソースに対応する複数
の命令コードを記憶する割込み命令コード記憶手段と、 正常動作時に対応する複数の命令コードを一時的に記憶
する命令コード記憶手段と、 それぞれレジスタとCPU制御レジスタとにより形成さ
れ、割込み処理時と正常動作時とに対応して機能する第
1および第2の組合わせ回路を含み、所定の命令コード
を受けて当該命令を実行する命令実行手段と、 を少なくとも備え、前記割込み処理時において、前記命
令コード記憶手段からの命令コード読出しを中止し、前
記割込み命令コード記憶手段より前記割込みソースに対
応する命令コードを順次読出すとともに、前記命令実行
手段に含まれる第2の組合わせ回路を、第1の組合わせ
回路に切替えることを特徴とするシングルチップ・マイ
クロコンピュータ。
1. A single chip with a built-in interrupt function.
In a microcomputer, an interrupt instruction code storage means for storing a plurality of instruction codes corresponding to an interrupt source executed during interrupt processing, and an instruction code storage means for temporarily storing a plurality of instruction codes corresponding to a normal operation, An instruction for receiving a predetermined instruction code and executing the instruction, including first and second combination circuits each formed by a register and a CPU control register and functioning in response to interrupt processing and normal operation At least during execution of the interrupt processing, the instruction code reading from the instruction code storage means is stopped, the instruction code corresponding to the interrupt source is sequentially read from the interrupt instruction code storage means, and Switching the second combination circuit included in the instruction execution means to the first combination circuit. A single-chip microcomputer characterized by and.
【請求項2】 前記割込み命令コード記憶手段が、RA
Mにより構成されることを特徴とする請求項1記載のシ
ングルチップ・マイクロコンピュータ。
2. The interrupt instruction code storage means is RA
The single-chip microcomputer according to claim 1, wherein the single-chip microcomputer is constituted by M.
【請求項3】 前記割込み命令コード記憶手段が、RO
Mにより構成されることを特徴とする請求項1記載のシ
ングルチップ・マイクロコンピュータ。
3. The interrupt instruction code storage means is RO
The single-chip microcomputer according to claim 1, wherein the single-chip microcomputer is constituted by M.
JP4233216A 1992-09-01 1992-09-01 Single chip microcomputer Pending JPH0683986A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4233216A JPH0683986A (en) 1992-09-01 1992-09-01 Single chip microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4233216A JPH0683986A (en) 1992-09-01 1992-09-01 Single chip microcomputer

Publications (1)

Publication Number Publication Date
JPH0683986A true JPH0683986A (en) 1994-03-25

Family

ID=16951582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4233216A Pending JPH0683986A (en) 1992-09-01 1992-09-01 Single chip microcomputer

Country Status (1)

Country Link
JP (1) JPH0683986A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005291436A (en) * 2004-04-02 2005-10-20 Victaulic Co Of Japan Ltd Joint device for adjustment between flange surfaces
US8844977B2 (en) 2010-06-09 2014-09-30 Xylem IP Holdings LLC. Suction connection for connecting a suction pipe to a dry installed centrifugal pump

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005291436A (en) * 2004-04-02 2005-10-20 Victaulic Co Of Japan Ltd Joint device for adjustment between flange surfaces
US8844977B2 (en) 2010-06-09 2014-09-30 Xylem IP Holdings LLC. Suction connection for connecting a suction pipe to a dry installed centrifugal pump

Similar Documents

Publication Publication Date Title
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
US4870562A (en) Microcomputer capable of accessing internal memory at a desired variable access time
JPH02144630A (en) Data processor
US4095268A (en) System for stopping and restarting the operation of a data processor
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
JP3656876B2 (en) Synchronous semiconductor memory device having macroinstruction function and method for storing and executing macroinstruction
US5696957A (en) Integrated circuit comprising a central processing unit for executing a plurality of programs
KR100321745B1 (en) A micro controller unit for external memory access
US5671424A (en) Immediate system management interrupt source with associated reason register
JPH0683986A (en) Single chip microcomputer
JPH03271829A (en) Information processor
JPH01124049A (en) Microprocessor
JP2000029508A (en) Programmable controller
JPH06324861A (en) System and method for controlling cpu
JP2731618B2 (en) emulator
JPH05298088A (en) Microcomputer
JPH05257807A (en) Cache memory controller
JP3097602B2 (en) Data processing device
JP2918570B2 (en) Central processing unit
JP3190945B2 (en) Micro program control circuit
JP3239042B2 (en) Microcomputer
JPH0212387A (en) Vlsi microcontroller
JP2604203B2 (en) Debug device for one-chip digital signal processor
JPH08297583A (en) Processor and method for interruption processing
JPS6230452B2 (en)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011023