JPH02138630A - Microprocessor controller - Google Patents
Microprocessor controllerInfo
- Publication number
- JPH02138630A JPH02138630A JP9870089A JP9870089A JPH02138630A JP H02138630 A JPH02138630 A JP H02138630A JP 9870089 A JP9870089 A JP 9870089A JP 9870089 A JP9870089 A JP 9870089A JP H02138630 A JPH02138630 A JP H02138630A
- Authority
- JP
- Japan
- Prior art keywords
- microprocessor
- cpu
- instruction
- interrupt
- registers
- 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
- 238000000034 method Methods 0.000 abstract description 26
- 230000006870 function Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 239000013256 coordination polymer Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 101000582396 Escherichia phage D108 Repressor c protein Proteins 0.000 description 1
- 101000582397 Escherichia phage Mu Repressor protein c Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は例えば、オブジェクトコードで互換性がある
マイクロプロセッサを切替えるマイクロプロセッサの制
御装置に関し、特にその特別割込みが発生したときの制
御に関するものである。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to, for example, a microprocessor control device that switches between compatible microprocessors using object code, and particularly relates to control when a special interrupt occurs. be.
[従来の技術]
第6図は従来のマイクロプロセッサ制御装置の概略構成
図であり、図において(1)はメモリ、(2)は入出力
装置、(4)は切替えスイッチ、(8)は80286
CP U 、 (14)は8086CPUである。第7
図は命令の流れを説明する図である。以下に第6図及び
第7図を用いて説明する。[Prior Art] Fig. 6 is a schematic configuration diagram of a conventional microprocessor control device, in which (1) is a memory, (2) is an input/output device, (4) is a changeover switch, and (8) is an 80286
CPU, (14) is 8086 CPU. 7th
The figure is a diagram explaining the flow of instructions. This will be explained below using FIGS. 6 and 7.
従来は80286 CP U (8)とオブジェクトコ
ードで互換性のある例えば、8086 CP U (1
4)用に開発された既存のソフトウェアは、特別割込み
が発生すると、8086 CP U (14)であるプ
ログラムを処理しているとき、そのプログラム中の命令
61特別割込み(24)が発生すれば直ぐに特別割込み
処理ルーチン(25)になり、このルーチンが終了する
と、リターンアドレス(28)を命令62としている。Conventionally, for example, the 8086 CPU (8) was compatible with the 80286 CPU (8) in object code.
4) When a special interrupt occurs, the existing software developed for A special interrupt processing routine (25) is entered, and upon completion of this routine, the return address (28) is set as the instruction 62.
また8 0286 CP U (8)では命令61で発
生すると、特別割込みルーチン(25)が終了しても、
そのリターンアドレス(26)は命令61としている。In addition, in the 80286 CPU (8), if the instruction 61 occurs, even if the special interrupt routine (25) ends,
Its return address (26) is set to instruction 61.
これでは、80286 CP U (8)は再び命令6
1を実行するのでループし、次のプログラムを実行でき
ず、また8 086 CP U (14)ではループせ
ずに次の命令から実行するという、それぞれ違った動作
をする。Now, the 80286 CPU (8) again executes instruction 6
1, it loops and the next program cannot be executed, and the 8086 CPU (14) does not loop and executes from the next instruction, each of which has different operations.
上記を具体的に説明すると、8086CPU(14)は
80286 CP U (8)とオブジェクトコードで
は互換性があるが、0除算割込み処理のリターンアドレ
スの発生方法が異なるCPUである。To explain the above specifically, the 8086 CPU (14) is compatible with the 80286 CPU (8) in terms of object code, but the method of generating a return address for divide-by-zero interrupt processing is different.
そのため、0除算割込みが発生した場合、その割込み処
理リターンアドレスが異なることによって非互換性が発
生する。仮に、80286CPU(8)と8086 C
P U (14)が同時に動作しているとすれば、
DIV、 DXS BX
という命令において、BX−0であったとすると、80
86 CP U (14)、80286 CP U (
8)共に0除算割込みを発生するが、その処理ルーチン
からのリターンアドレスは80286 CP U (8
)では割込みを起こした命令を指しているが、8086
CP U (14)では割込みを起こした命令の次の
命令を指している。もし、BX−0のまま割込み処理ル
ーチンからリターンされると、80286CP U (
8)では再び0除算割込みが発生してプログラムがルー
プしてしまう。ところが8086CPU (14)にお
いては処理ルーチンからのリターンアドレスは割込みを
発生した命令の次の命令を指しているので、その後の処
理を実行する。というような非互換性が発生するので、
プログラムを実行するのに、改めて該当するCPUを手
動式のデジタルスイッチ(6)でリセットし、8028
6CPU(8)から8086 CP U (14)に切
替えて再度プログラムを実行していた。Therefore, when a divide-by-zero interrupt occurs, incompatibility occurs because the interrupt processing return address is different. For example, 80286 CPU (8) and 8086 C
If P U (14) is operating at the same time, in the command DIV, DXS BX, if it is BX-0, 80
86 CPU (14), 80286 CPU (
8) Both generate a divide-by-zero interrupt, but the return address from the processing routine is 80286 CPU (8
) refers to the instruction that caused the interrupt, but 8086
The CPU (14) indicates the instruction following the instruction that caused the interrupt. If the interrupt processing routine returns with BX-0, 80286 CPU (
8), a divide-by-zero interrupt occurs again and the program loops. However, in the 8086 CPU (14), the return address from the processing routine points to the next instruction after the instruction that generated the interrupt, so subsequent processing is executed. This will cause incompatibilities such as
To run the program, reset the corresponding CPU again using the manual digital switch (6), and
The program was executed again after switching from 6 CPU (8) to 8086 CPU (14).
[発明が解決しようとする課題]
上記のような従来のマイクロプロセッサは、オブジェク
トコードで互換性があっても、特別割込みが発生すると
それぞれその処理方法が違い、ループしたり、その処理
を受付けないようにされているから、処理できるCPU
にするためには、あらためて手動式のデジタルスイッチ
等でリセットしなければならないという問題点があった
。[Problems to be Solved by the Invention] Even if the conventional microprocessors described above are compatible in object code, they handle each special interrupt differently, resulting in loops or not accepting the processing. CPU that can process
In order to do this, there was a problem in that it had to be reset using a manual digital switch or the like.
この発明は、かかる問題点を解決するためになされたも
ので、例えば80286 CP U (8)と8086
CP U (14)のマイクロプロセッサを備えてメ
インプログラムを実行する場合に、80286CPUの
マイクロプロセッサで命令61で特別割込みが発生して
も、その割込み処理ルーチンで処理できるCPUに切替
え手段を介して自動的に切替えて特別割込み処理を実行
させ、その処理が終了すれば次の命令からプログラムを
継続できるマイクロプロセッサの制御装置を得ることを
目的とする。This invention was made to solve such problems, for example, 80286 CPU (8) and 8086
When a main program is executed using a CPU (14) microprocessor, even if a special interrupt occurs with instruction 61 in the 80286 CPU microprocessor, the CPU that can process the interrupt is automatically transferred to the CPU that can process the interrupt using the interrupt processing routine. To provide a control device for a microprocessor that can switch over to execute special interrupt processing and continue the program from the next instruction when the processing is completed.
さらに、マイクロプロセッサが複数ある場合に、特別割
込み処理のできるマイクロプロセッサを記憶手段に記憶
して、特別割込みが発生すると該当するマイクロプロセ
ッサを切替え手段が選択し、その処理を該当するマイク
ロプロセッサが実行して、終了すれば切替え手段が元の
マイクロプロセッサを動作させてメインプログラムを継
続させる。Furthermore, when there are multiple microprocessors, a microprocessor capable of special interrupt processing is stored in the storage means, and when a special interrupt occurs, the switching means selects the corresponding microprocessor, and the corresponding microprocessor executes the processing. When the program is finished, the switching means operates the original microprocessor to continue the main program.
さらに、記憶手段に特別割込みができるマイクロプロセ
ッサを記憶しないで、特別割込み処理がきるマイクロプ
ロセッサを探すために順次マイクロプロセッサを動作さ
せていくマイクロプロセッサの制御装置を得ることを目
的とする。Another object of the present invention is to provide a microprocessor control device that sequentially operates microprocessors in order to search for a microprocessor capable of special interrupt processing without storing microprocessors capable of special interrupt processing in a storage means.
〔課題を解決するための手段]
この発明に係るマイクロプロセッサの制御装置は、互い
にオブジェクトコードで互換性があり、かつ演算能力に
差のある複数個のマイクロプロセッサと、更に、演算能
力が優れているマイクロプロセッサの動作を優先させ、
動作中のマイクロプロセッサに処理不可能な割込みが発
生すれば、処理が可能で、かつ次に演算能力があるマイ
クロプロセッサに演算動作を行わせる切替手段とを備え
たものである。[Means for Solving the Problems] A microprocessor control device according to the present invention includes a plurality of microprocessors that are compatible with each other in object code and have different arithmetic capabilities, and a microprocessor that has excellent arithmetic capabilities. Prioritizes the operation of the microprocessor in
If an interrupt that cannot be processed occurs in an operating microprocessor, the microprocessor is capable of handling the interrupt and switches to the next microprocessor with arithmetic capability to perform the arithmetic operation.
また、第1の命令を実行したときに、その割込み処理の
リターンアドレスが前記第1の命令の次のアドレスを指
示する特別割込みを発生するマイクロプロセッサと、切
替信号により動作状態になり、第2のマイクロプロセッ
サの全てのレジスタを、そのレジスタにセットし、第1
の命令を実行した後に全てのレジスタ及びリターンアド
レスを出力する第1のマイクロプロセッサと、第1のマ
イクロプロセッサとオブジェクトコードで互換性があり
、第1の命令を実行したときに第1のマイクロプロセッ
サに切替る切替信号を出力して、第1の命令を実行させ
た後に、第1のマイクロプロセッサの全てのレジスタ及
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する第2のマイクロプロセッサとを備えた
ものである。また互いにオブジェクトコードで互換性が
あり、演算能力に差があり、かつ予め決められた動作順
序を有する複数個のマイクロプロセッサと、更に、処理
不可の割込みが発生する度に前記順序に基づいて該当す
るマイクロプロセッサを動作させる切替手段とを備えた
ものである。Further, when a first instruction is executed, a microprocessor that generates a special interrupt whose return address for the interrupt processing specifies the next address of the first instruction, and a second microprocessor that is activated by a switching signal and Set all the registers of the microprocessor to that register, and
a first microprocessor that outputs all registers and return addresses after executing an instruction; and a first microprocessor that is compatible in object code with the first microprocessor; After outputting a switching signal to execute the first instruction, a second microprocessor reads all registers and return addresses of the first microprocessor and executes processing from the instruction following the first instruction. It is equipped with a microprocessor. In addition, a plurality of microprocessors are compatible with each other in object code, have different computing capabilities, and have a predetermined operating order, and each time an unprocessable interrupt occurs, the microprocessor is and switching means for operating the microprocessor.
[作用コ
この発明においては、切替手段が複数個のマイクロプロ
セッサの演算能力が優れているマイクロプロセッサの動
作を優先させると、そのマイクロプロセッサが動作中に
処理不可能な割込みが発生すれば、処理が可能で、かつ
次に演算能力があるマイクロプロセッサに演算動作を行
わせる。[Operations] In this invention, if the switching means gives priority to the operation of a microprocessor with superior arithmetic ability among a plurality of microprocessors, if an interrupt that cannot be processed occurs while that microprocessor is operating, the processing will be interrupted. A microprocessor capable of performing calculations and having calculation capability is then used to perform calculation operations.
また第2のプロセッサで第1の命令を実行すると、切替
信号を切替手段に出力し、切替信号により第1のマイク
ロコンピュータが動作状態になると第2のマイクロプロ
セッサの全てのレジスタを、そのレジスタにセットし、
第1の命令を実行して全てのレジスタ及びリターンアド
レスを出力する。Furthermore, when the second processor executes the first instruction, a switching signal is output to the switching means, and when the first microcomputer is activated by the switching signal, all registers of the second microprocessor are changed to that register. set,
Execute the first instruction to output all registers and return addresses.
すると、第2のマイクロプロセッサが全てのレジスタ及
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する。Then, the second microprocessor reads all registers and return addresses and executes processing from the instruction following the first instruction.
更に、切替手段が、予め決められた動作順序を有する複
数個のマイクロプロセッサの一つを動作させたときに、
処理不可の割込みが発生すると、その度に予め決められ
た動作順序に基づいて該当するマイクロプロセッサを動
作させる。Furthermore, when the switching means operates one of the plurality of microprocessors having a predetermined operation order,
Whenever an unprocessable interrupt occurs, the corresponding microprocessor is operated based on a predetermined operation order.
C実施例]
第1図は第1の発明の一実施例を示す概略構成図であり
、図において(1)はメモリ、(2)は入出力装置(以
下I10という)、(3)はメモリ(1)より出力され
たマイクロプロセッサセレクト信号(以下セレクタ信号
という) 、(4)はセレクタ信号(3)を入力し、反
転した信号とするインバータ、(7)はセレクタ信号(
3)を入力し、後述する80286CPUのリセット端
子、(8)は80286CPU、(9) は80286
cPU(8) より出力されるアドレスバス及びデータ
バス、(11)はインバータ(4)ノ出力及び8028
6 CP U (8) ヨリ出力されるアドレスバス及
びデータバスを入力し、この両方の入力があったときに
だけHIGH(以下1という)の信号を出力するAND
、(13)はインバータ(4)の出方を入力し、後述す
る8o86CPUのリセット端子、(14)は8086
CPU。C Embodiment] FIG. 1 is a schematic configuration diagram showing an embodiment of the first invention, in which (1) is a memory, (2) is an input/output device (hereinafter referred to as I10), and (3) is a memory. (1) is an inverter that inputs the selector signal (3) and converts it into an inverted signal; (7) is the selector signal (hereinafter referred to as the selector signal);
3) and the reset terminal of the 80286 CPU (described later), (8) is the 80286 CPU, and (9) is the 80286
Address bus and data bus output from cPU (8), (11) is output from inverter (4) and 8028
6 CPU (8) AND that inputs the output address bus and data bus and outputs a HIGH signal (hereinafter referred to as 1) only when both are input.
, (13) inputs the output of the inverter (4), and the reset terminal of the 8o86 CPU (described later), (14) is the 8086
CPU.
(15)ハ8086 CP Uより出力されるアドレス
バス及びデータバス、(17)はインバータ(4)の出
力及び8086 CP U (14)より出力されるア
ドレスバス及びデータバスを入力し、この両方の入力が
あったときにだけ1の信号を出力するAND、(20)
はA N D (11)とA N D (14)の出力
を接続した出力端子である。(15) Address bus and data bus output from the 8086 CPU, (17) inputs the output of the inverter (4) and the address bus and data bus output from the 8086 CPU (14). AND that outputs a signal of 1 only when there is an input, (20)
is an output terminal connecting the outputs of A N D (11) and A N D (14).
上記のように構成されたマイクロプロセッサ制。A microprocessor system configured as described above.
御装置は、例えばソフトウェアにより、8086CP
U (14)を動作させて、セレクト信号(3)を0と
した場合には、80286 CP U (8)のリセッ
ト端子(7)は0になる。ここで80286CPU(8
)はリセット状態になっており、リセット端子(7)が
0になることでリセット状態が解除され、動作状態とな
る。The control device can, for example, be controlled by software.
When U (14) is operated and the select signal (3) is set to 0, the reset terminal (7) of the 80286 CPU (8) becomes 0. Here, 80286 CPU (8
) is in a reset state, and when the reset terminal (7) becomes 0, the reset state is canceled and the device enters an operating state.
またセレクト信号(3)はインバータ(4)により、反
転して1となり、A N D (11)及び8086C
PU (14)のリセット端子に出力される。A N
D (11)は、インバータ(4)の出力と80286
CP U (8)より出力されるアドレスバス及びデ
ータバスを入力すると、この両方の入力が1となる範囲
のみを1としたアドレスバス、データバス(12)を出
力端子(20)より出力する。In addition, the select signal (3) is inverted to 1 by the inverter (4), and A N D (11) and 8086C
It is output to the reset terminal of PU (14). A N
D (11) is the output of inverter (4) and 80286
When the address bus and data bus output from the CPU (8) are input, an address bus and a data bus (12) whose values are 1 only in the range where both inputs are 1 are output from the output terminal (20).
さらにインバータ(4)の出力は、8086CPUのリ
セット端子(13)にも出力されており、8086 C
P U (14)は、リセット端子(13)が1のセレ
クト信号を入力すると、リセット状態となるので、80
286 CP U (8)とは反対に動作状態とならな
いため、8086 CP U (14)のアドレスバス
、データバス(15)をA N D (17)に出力し
ない。したがって、A N D (17)は、CPUセ
レクト信号(3)の入力及び8086 CP U (1
4)のアドレスバス、データバス(15)が0であるの
で、A N D (17)からの出力はない。Furthermore, the output of the inverter (4) is also output to the reset terminal (13) of the 8086CPU, and the 8086C
P U (14) enters the reset state when the reset terminal (13) inputs a select signal of 1, so 80
Contrary to the 286 CPU (8), the 8086 CPU (14) address bus and data bus (15) are not output to the A N D (17) because it is not in an operating state. Therefore, A N D (17) is the input of the CPU select signal (3) and the input of the 8086 CPU (1
Since the address bus and data bus (15) in 4) are 0, there is no output from A N D (17).
次に、CPUセレクト信号(3)が1の場合には、80
286CPUのリセット端子(7)が1となり、802
86 CP U (8)はリセット状態となる。したが
って、80286 CP U (8)からはアドレスバ
ス及びデータバス(9)は出力されない。また、CPU
セレクト信号(3)が1の場合には、インバータ(4)
の出力は反転してOであるので、AND(11)に入力
される両方の信号は0となるため、80286 CP
U (8)のアドレスバス、データバスは出力されない
。Next, when the CPU select signal (3) is 1, 80
The reset terminal (7) of the 286 CPU becomes 1, and the 802
86 CPU (8) enters the reset state. Therefore, the address bus and data bus (9) are not output from the 80286 CPU (8). Also, CPU
When the select signal (3) is 1, the inverter (4)
Since the output of is inverted and is O, both signals input to AND (11) are 0, so 80286 CP
The address bus and data bus of U (8) are not output.
また8086CPUのリセット端子(13)は0となり
、8086 CP U (14)はリセットが解除され
て動作状態となり、アドレスバス及びデータバスがA
N D (17)に出力される。A N D (17)
は入力が両方とも1となるので、この両方の入力が1と
なる範囲のみを1とした8 086 CP U (14
)のアドレスバス及びデータバス(15)を出力端子(
20)に出力する。In addition, the reset terminal (13) of the 8086 CPU becomes 0, and the 8086 CPU (14) is released from reset and becomes operational, and the address bus and data bus become A.
It is output to N D (17). A N D (17)
Since both inputs are 1, 8 086 CPU (14
) address bus and data bus (15) to the output terminal (
20).
上記では、マイクロプロセッサを8086CPUと80
286CPUで説明したがその他のオブジェクトコード
で互換性のあるCPUまたはマイクロプロセッサの一部
の機能から構成されているマイクロプロセッサと等価な
機能を持つ制御装置であってもよい。In the above example, the microprocessors are 8086 CPU and 80
Although the description has been made using the H.286 CPU, it may be a control device that has functions equivalent to a microprocessor that is configured from a part of the functions of a compatible CPU or microprocessor using other object codes.
第2図(a)及び(b)は第1の発明を説明するフロー
チャートである。FIGS. 2(a) and 2(b) are flowcharts explaining the first invention.
以下に第1図及び第2図を用いて第1の発明の詳細な説
明する。この説明では全ての内部割込みを特別割込みと
する。The first invention will be explained in detail below using FIGS. 1 and 2. In this explanation, all internal interrupts are treated as special interrupts.
80286 CP U (8)が除算命令(以下命令6
1という)を実行したときに、その演算結果の商が命令
で許容する最大値を越えると、80286 CP U
(8)はフラグによりO除算側込みが発生と判断し、強
制的に予約メモリ領域の0除算割込みベクタを読みだし
、アドレス00000 (H)から00003 (H)
に設定されているアドレスに制御を移す(S201)。80286 CPU (8) executes a division instruction (hereinafter instruction 6)
1), if the quotient of the operation result exceeds the maximum value allowed by the instruction, the 80286 CPU
(8) determines that an O division side input has occurred based on the flag, and forcibly reads the zero division interrupt vector in the reserved memory area, starting from address 00000 (H) to 00003 (H).
Control is transferred to the address set in (S201).
このとき、フラグレジスタ及びコードセグメント(以下
C8という)とインストラクションポインタ(以下IP
という)はメモリ(1)のスタック領域にそれぞれセー
ブされ、インタラブドイネーブルフラグ(以下IFとい
う)及びトラップフラグ(以下TFという)がクリアさ
れる。次に、一般に市販されているアプリケーションソ
フトウェアが80286 CP U (14)用に開発
されていれば本発明の処理を実行する必要がないので、
特別割込み処理を実行するかの判定をする(3203)
。At this time, the flag register, code segment (hereinafter referred to as C8) and instruction pointer (hereinafter referred to as IP
) are respectively saved in the stack area of memory (1), and the interleaved enable flag (hereinafter referred to as IF) and trap flag (hereinafter referred to as TF) are cleared. Next, if commercially available application software is developed for the 80286 CPU (14), there is no need to execute the process of the present invention.
Determine whether to execute special interrupt processing (3203)
.
ここで、特別割込み処理を実行する必要がなければ、イ
ンタラブドリターンして命令61を実行させる(S20
4)。Here, if there is no need to execute special interrupt processing, an interlaced return is made to execute instruction 61 (S20
4).
次に80286 (14)から8086 CP U (
8)に切替えるために、割込みベクタに設定した割込み
ルーチンのアドレスを読込み、そのアドレスをIPにセ
ットする(9205)。Next, from 80286 (14) to 8086 CPU (
8), the address of the interrupt routine set in the interrupt vector is read and the address is set in the IP (9205).
そして80286 CP U (8)が特別割込みを発
生したときの機能であるシングルステップ割り込みベク
タをメモリ(1)のスタック領域にセーブする(820
7)。次にセーブされたシングルステップ割り込みベク
タを例えば123に書替え(S209)、命令61のD
IV、DXSBX命令のみをシングルステップで実行す
るようにスタックエリアにセーブされたIF及びTFを
1に設定しく5211)、インタラブドリターンさせて
再び命令61を実行させると(8213)、ステップS
211のIF及びTFの設定値を読込み、ステップ52
09で書替えられたシングルステップ割込みベクタアド
レスを読込み、シングルステップで命令61のDIV、
DXSBX命令のみを実行するようにシングルステップ
割込みベクタ123を発生し、切替えルーチン123に
制御を移す。Then, the single step interrupt vector, which is the function when the 80286 CPU (8) generates a special interrupt, is saved in the stack area of the memory (1) (820
7). Next, rewrite the saved single-step interrupt vector to, for example, 123 (S209), and
IV, set the IF and TF saved in the stack area to 1 so that only the DXSBX instruction is executed in a single step (5211), and when the instruction 61 is executed again with an interleaved return (8213), step S
211 IF and TF setting values are read, and step 52
Read the single step interrupt vector address rewritten in 09, DIV of instruction 61 in a single step,
A single step interrupt vector 123 is generated to execute only the DXSBX instruction, and control is transferred to the switching routine 123.
この処理では、80286 CP U (14)から8
086 CP U (8)に切替えるために、特別割込
みかの判断をしく5215)、特別割込みと判断すれば
、メモリ(1)に用意した切替えフラグ1を読込み(S
217)、特別割込みでなければ、切替えフラグ0を読
込む(S219)。In this process, 80286 CPU (14) to 8
086 In order to switch to CPU (8), it is determined whether it is a special interrupt (5215), and if it is determined that it is a special interrupt, the switching flag 1 prepared in memory (1) is read (S
217), and if it is not a special interrupt, the switching flag 0 is read (S219).
次に、切替えフラグが1の場合は、全てのレジスタAX
、BX、CX、DX、S I、DI、BP。Next, if the switching flag is 1, all registers AX
, BX, CX, DX, S I, DI, BP.
ES、DS、SS、SPをメモリ(1)のスタックエリ
アにセーブしく5221)、このときは、TFとIFは
1に設定されている。次に、CPUセレクト信号を1に
設定する(S223)。すると、第1図で説明したよう
に80286 CP U (8)のリセット端子(13
)は1になるので80286 CP U (8)はリセ
ット状態となり、8086 CP U (14)は動作
状態になる。8086 CP U (14)は、リセッ
ト端子(13)が0になると初期化をしく8225)、
指定された処理アドレスを読む。ここでは108とする
とアドレス108をIPにセットし、108にジャンプ
する(S227)。すると8086 CP U (14
)はリセット状態108から動作を開始し、80286
CP U (8)で読まれた切替えフラグを調べ(S2
29)、それが0の場合には通常のリセット処理、例え
ば110を実行する(8230)。ES, DS, SS, and SP are saved in the stack area of memory (1) 5221), and at this time, TF and IF are set to 1. Next, the CPU select signal is set to 1 (S223). Then, as explained in Fig. 1, the reset terminal (13) of the 80286 CPU (8)
) becomes 1, so the 80286 CPU (8) goes into the reset state and the 8086 CPU (14) goes into the operating state. The 8086 CPU (14) does not initialize when the reset terminal (13) becomes 0 (8225),
Read the specified processing address. Here, if it is 108, address 108 is set to IP and jumps to 108 (S227). Then 8086 CPU (14
) starts operating from the reset state 108 and 80286
Check the switching flag read by CPU (8) (S2
29), if it is 0, normal reset processing, for example 110, is executed (8230).
また1の場合にはステップ8223でメモリ(1)にセ
ーブした全てのレジスタ、
AX、BXSCXSDXSS ISD I、BP。If it is 1, all registers saved in memory (1) in step 8223, AX, BXSCXSDXSS ISD I, BP.
ES、DSSSSSSP
を8086 CP U (14)のレジスタにセットし
く5231)、セーブしたフラグレジスタを8086C
PU (14)のフラグレジスタにセットする(823
2)。このときにはTF及びIFは1にセットされてい
る。Set ES, DSSSSSSP to the register of 8086 CPU (14) 5231), and save the flag register to 8086C.
Set in the flag register of PU (14) (823
2). At this time, TF and IF are set to 1.
次に、8086 CP U (14)のC8とIPに命
令61をセットする(8233)。そしてインタラブド
リターンして命令61を実行する(S214)。すると
、1に設定したTF及びIFを読込み、シングルステッ
プで命令61のDIV、DXSBX命令の1命令のみ実
行し、8086 CP U (14)はシングルステッ
プ割込みベクタを発生し、0除算割込みベクタに強制的
に制御を移す。ここではシングルステップ割込みベクタ
を80286 CP U (8)と分けるために122
とする。このときには、80286 CP U (8)
と同様に、CSとIPはメモリ(1)のスタック領域に
それぞれセーブされ、IF及びTFがクリアにセットさ
れる。ここで、8086 CP U (14)のCSと
IPは1つの命令を実行したので、次の命令を指し示す
ように設定されている。Next, the instruction 61 is set in C8 and IP of the 8086 CPU (14) (8233). Then, the interlaced return is made to execute instruction 61 (S214). Then, it reads the TF and IF set to 1, executes only one instruction, the DIV and DXSBX instructions of instruction 61, in a single step, and the 8086 CPU (14) generates a single-step interrupt vector and forces it to a divide-by-zero interrupt vector. transfer control. Here, in order to separate the single step interrupt vector from 80286 CPU (8), 122
shall be. At this time, 80286 CPU (8)
Similarly, CS and IP are each saved in the stack area of memory (1), and IF and TF are set to clear. Here, since the CS and IP of the 8086 CPU (14) have executed one instruction, they are set to point to the next instruction.
そしてコールされた割込みベクタ122の処理ルーチン
に制御を移しく5235)、80286CPU(8)が
シングルステップで命令を実行しないようにTF及びI
Fを0に設定し、シングルステップを解除する(S23
13)。Then, the control is transferred to the called interrupt vector 122 processing routine (5235), and the TF and I
Set F to 0 and cancel single step (S23
13).
次に、特別割込みかを判断しく8238)、特別割込み
であれば、メモリ(1)に用意された切替えフラグ1を
読み(S240)、特別割込みでないと判断すれば切替
えフラグ0を読む(8242)。Next, it is determined whether it is a special interrupt (8238), and if it is a special interrupt, it reads switching flag 1 prepared in memory (1) (S240), and if it is determined that it is not a special interrupt, it reads switching flag 0 (8242). .
次に、8086 CP U(14)が命令61を実行し
たときの全てのレジスタ、
AX、 BX、 CX、 DX、 S I
S DI、 BP、、 ESSDS、SS、SPをメ
モリ(1)のスタックエリアにセーブしく5243)、
このときにはTFとIFは0に設定されている。Next, all the registers AX, BX, CX, DX, SI when the 8086 CPU (14) executed instruction 61
Save SDI, BP, ESSDS, SS, and SP in the stack area of memory (1) 5243),
At this time, TF and IF are set to 0.
そして、セレクタ信号を0に設定する(924B)。Then, the selector signal is set to 0 (924B).
セレクタ信号が0に設定されると、第1図で説明したよ
うに8086 CP U (14)はリセット状態にな
り、80286 CP U (8)を動作状態にするの
で、8086 CP U (14)から80286CP
U(8)に切替わる。When the selector signal is set to 0, the 8086 CPU (14) goes into the reset state and puts the 80286 CPU (8) into the operating state as explained in FIG. 80286CP
Switch to U(8).
切替わると、80286 CP U (8)は初期化を
しく8248)、ジャンプ先を例えば125に設定する
とそのアドレスを読込み(S250)、リセット状態1
25から実行が開始する。次に、ステップ(S240)
で設定した切替えフラグを調べ、それが0か1の判断を
する(S252)。0の場合には80286CPU(8
)の通常のリセット処理130を実行しく5254)、
1の場合は切替えフラグを0にしく325B)、ステッ
プ5243でセーブした全てのレジスタAX、BX、C
X5DX、S ISD I、BPlES、DS。When switched, the 80286 CPU (8) initializes (8248), sets the jump destination to, for example, 125, reads that address (S250), and returns to reset state 1.
Execution starts from 25. Next, step (S240)
The switching flag set in is checked and it is determined whether it is 0 or 1 (S252). If it is 0, 80286 CPU (8
) to execute the normal reset process 130 5254),
If it is 1, set the switching flag to 0 (325B) and save all registers AX, BX, C in step 5243.
X5DX, S ISD I, BPLES, DS.
5sSspを808286 CP U (8)のレジス
タにセットする(825B)。5sSsp is set in the register of 808286 CPU (8) (825B).
以上の処理で処理125の処理は終了し、8086 C
P U (14)が強制的にメモリ(1)のスタックエ
リアにセーブしたフラグレジスタを80286CP U
(8)のフラグレジスタにセットし、8086 CP
U (14)でセーブしたCSとIPを80286
CP U (8)がそのIPとC8にセットする。With the above processing, the process 125 is completed, and 8086 C
The flag register that P U (14) forcibly saved in the stack area of memory (1) is saved to 80286 CPU
(8) Set in the flag register, 8086 CP
U (14) Save CS and IP to 80286
CPU (8) sets its IP and C8.
これでインタラブドリターンするとC8とIPは次の命
令のアドレスに設定されるので80286 CP U
(8)はメインルーチンの命令62から続いてプログラ
ムが実行される。したがって、8086 CP U (
14)と80286 CP U (8)とのアプリケー
ションソフトウェア実行の互換性が保たれる。Now, if you do an interlaced return, C8 and IP will be set to the address of the next instruction, so 80286 CPU
In (8), the program is executed following instruction 62 of the main routine. Therefore, 8086 CPU (
14) and the 80286 CPU (8) are maintained.
また8 0286 CP U (14)にあっては、8
086 CP U (8)で発生しない割込みセグメン
トオフセットオーバライン割込みについても互換性を保
つことができる。このセグメントオーバライン割込みは
、
MOV、 AX、 [BI3というようなメ
モリアクセス命令において、BX−OFFFFHとなる
ような、セグメントを越えてメモリアクセスをしようと
した場合、80286 CP U (8)で発生する割
込みであり、8086CP U (14)では、発生し
ない。そこで、この場合にも本発明を用いる。Also, for 80286 CPU (14), 8
Compatibility can also be maintained with respect to interrupt segment offset overline interrupts that do not occur in the 086 CPU (8). This segment overline interrupt occurs in the 80286 CPU (8) when a memory access instruction such as MOV, AX, or [BI3 is attempted to access memory beyond a segment, such as BX-OFFFFH. This is an interrupt and does not occur in the 8086 CPU (14). Therefore, the present invention is also used in this case.
セグメントオーバライン割込みにおいても、80286
CP U (8)はベクタを発生するので、第2図の
ステップ(S207)をセグメントオーバライン割込み
ベクタをセーブとし、第2図(a)及び(b)で説明し
た処理と同様の処理で、80286CPU(8)から8
086 CP U (14)に切替えができ、この割込
みによる非互換性は解消される。Also in segment overline interrupt, 80286
Since the CPU (8) generates a vector, the step (S207) in FIG. 2 is set to save the segment overline interrupt vector, and the same process as that described in FIGS. 2(a) and (b) is performed. 80286 CPU (8) to 8
086 CPU (14), and the incompatibility caused by this interrupt is resolved.
さらに8086CPUのもう一つの上位互換CPUであ
るμPD70116CPUを8086CP U (14
)のかわりに使用し、通常は80286CP U (8
)で高速に実行し、上記で説明した0除算等による特別
割込みが発生した場合、あるいはμPD70116CP
U独自の命令を実行した場合には、例えばREPC命令
は80286CPU(8)では無効命令割込みを発生す
るので、本発明を用いて、ステップ(S207)を無効
命令割込みベクタ読込みとすることにより、80286
CPU(8)からμPD70116CPUに切替えて実
行し、80286 CP U (8)に戻すことにより
、μPD70116CPU用に作られたアプリケーショ
ンソフトウェアを80286 CP U (8)で高速
に実行することができる。Furthermore, the μPD70116CPU, which is another upwardly compatible CPU of the 8086CPU, was added to the 8086CPU (14
), usually 80286CPU (8
), and when a special interrupt occurs due to division by 0, etc. as explained above, or when the μPD70116CP
When a U-specific instruction is executed, for example, the REPC instruction generates an invalid instruction interrupt in the 80286 CPU (8), so using the present invention, by setting step (S207) to read the invalid instruction interrupt vector, the 80286
By switching from the CPU (8) to the μPD70116 CPU for execution and returning to the 80286 CPU (8), application software created for the μPD70116 CPU can be executed at high speed on the 80286 CPU (8).
上記の第1の発明はオブジェクトコードで互換性のある
2つのCPUでの発明であり、CPUが3個以上の場合
の第2の発明について以下に説明する。The first invention described above is an invention using two CPUs that are compatible in object code, and the second invention in which there are three or more CPUs will be described below.
第3図は第2の発明の一実施例を示す概略構成図であり
、(1)はメモリ、(2)は入出力装置(以下I10と
いう) 、(5)は制御バス、アドレスバス、データバ
スに接続され、所望のCPUを選択するセレクタ、(5
a)はセレクタを制御するCPU。FIG. 3 is a schematic configuration diagram showing an embodiment of the second invention, in which (1) is a memory, (2) is an input/output device (hereinafter referred to as I10), and (5) is a control bus, an address bus, and a data bus. A selector (5) connected to the bus and used to select the desired CPU.
a) is a CPU that controls the selector.
(8)は80286CPU、(14)は8086cPU
。(8) is 80286CPU, (14) is 8086cPU
.
(21)は80386 CP U 、 (22)は80
186CPUであり、それぞれセレクタ(5)により選
択される。(21) is 80386 CPU, (22) is 80
There are 186 CPUs, each selected by a selector (5).
上記のように構成されたマイクロプロセッサの制御装置
は、メモリ(1)はそれぞれ共通に使用できるようにし
、例えば、80286 CP U (8)で、あるプロ
グラムを処理しているときに、0除算があると8028
6 CP U (8)はループするので、セレクタ(5
)はその処理ができるCPUをメモリ(1)より、読込
み、該当するCPUを動作させる信号を出力する。The microprocessor control device configured as described above allows each memory (1) to be used in common.For example, when a certain program is being processed in the 80286 CPU (8), division by zero is There is 8028
6 CPU (8) loops, so the selector (5
) reads a CPU capable of the processing from the memory (1) and outputs a signal to operate the corresponding CPU.
この場合は8086 CP U (14)を選択する。In this case, select 8086 CP U (14).
さらに8086 CP U (14)で処理できない割
込みが発生した場合には、例えば80386 CP U
(21)が該当するCPUであれば、それを選択する
。Furthermore, if an interrupt that cannot be processed by the 8086 CPU (14) occurs, for example, the 80386 CPU
If (21) is a corresponding CPU, select it.
これは、セレクタ(5)内部に設けられたCPU(5a
)が、例えば80286 CP U (8)で0除算が
発生したときの特別割込みであるベクタを読込むと、メ
モリ(1)に記憶されている特別割込みルーチン処理を
実行する。This is the CPU (5a) provided inside the selector (5).
) reads a vector which is a special interrupt when division by 0 occurs in the 80286 CPU (8), for example, and executes the special interrupt routine process stored in the memory (1).
第4図は第2の発明を説明するフローチャートであり、
図において点線はCPUのハード的な動作を表すもので
ある。FIG. 4 is a flowchart explaining the second invention,
In the figure, dotted lines represent the hardware operations of the CPU.
以下にこの特別割込みルーチンについて第3図及び第4
図を用いて説明する。This special interrupt routine is described below in Figures 3 and 4.
This will be explained using figures.
例えば第2図と同様に80286 CP U (8)で
命令61を実行したとすれば、ステップ8201〜ステ
ツプ5223までの切替え準備処理を実行する(340
I)。すると、セレクタ(5)のCP U (5a)は
動作状態になり80286 CP U (8)はリセッ
ト状態となる。CP U (5a)はセレクタ信号を入
力すると初期化をしく8403)、メモリ(1)に設定
されているアドレスを読む(3405)。この場合は、
アドレスを300とする。For example, if the instruction 61 is executed by the 80286 CPU (8) as in FIG. 2, the switching preparation process from step 8201 to step 5223 is executed (340
I). Then, the CPU (5a) of the selector (5) goes into the operating state, and the 80286 CPU (8) goes into the reset state. When the CPU (5a) receives the selector signal, it initializes (8403) and reads the address set in the memory (1) (3405). in this case,
Let the address be 300.
次に、セレクタ信号からどのCPUが処理できなかった
かを読み(S407)、そのフラグレジスタを確認して
、どんな特別割込みかを読込む(S409)。Next, it is read which CPU could not process from the selector signal (S407), the flag register is checked, and what kind of special interrupt it is is read (S409).
次に、セレクタ信号とフラグレジスタにより、処理でき
るCPUをメモリ(1)がら読込み(S411)、該当
するCPUを動作させる信号を設定し、セレクタ(5)
からセレクタ信号を出力する(3413)。この場合は
8086 CP U (14)を動作させる。するとC
P U (5a)は動作を停止し、8086 CP U
(14)に制御を移す。すると第2図で説明したよう
にステップ8225〜ステツプ8258までの処理を実
行しく8415)、インタラブドリターンすれば命令6
2からプログラムを実行できる。Next, the selector signal and flag register are used to read the CPU that can process from memory (1) (S411), set a signal to operate the corresponding CPU, and selector (5)
A selector signal is output from (3413). In this case, an 8086 CPU (14) is operated. Then C
P U (5a) stops operating and 8086 CPU
Control is transferred to (14). Then, as explained in FIG.
You can run the program from 2.
上記第2の発明は8086 CP U (14)と80
286 (8)について説明したが、あらかじめメモリ
(1)に処理できるCPUをフラグレジスタとセレクタ
信号から、その番号等を選択できるようにすればインテ
ル社の16ビツト以上のCPUであれば良く、例えば必
要により80286 CP U (8)から80186
CP U (22)、あるいは80386CP U
(21)から8086 CP U (14)に切替える
ことも可能である。この場合にも、上記で説明した動作
と同様な割込み処理ルーチンを実行する。The second invention is 8086 CPU (14) and 80
286 (8), as long as the CPU that can process the memory (1) can be selected from the flag register and selector signal by its number etc., any Intel CPU with 16 bits or more will suffice, for example. 80286 CPU (8) to 80186 as necessary
CPU (22) or 80386 CPU
It is also possible to switch from (21) to 8086 CPU (14). In this case as well, an interrupt handling routine similar to the operation described above is executed.
さらに、CPUが内蔵されているマイクロコンピュータ
にセレクタ(5)とインテル社の16ビツト以上の1種
類以上のCPUを取付けて、上記で説明した処理をセレ
クタ(5)に実行させても可能である。Furthermore, it is also possible to attach the selector (5) and one or more types of CPUs of 16 bits or more from Intel to a microcomputer with a built-in CPU, and have the selector (5) execute the processing described above. .
上記の第2の発明は予め選択されるべきCPUをメモリ
(1)に記憶するものであるが、メモリ(1)に記憶し
ない場合は下記に説明する処理方法で実行する。In the second invention described above, the CPU to be selected in advance is stored in the memory (1), but if the CPU is not stored in the memory (1), the processing method described below is executed.
第5図は第3の発明の実施例を示すフローチャートであ
り、図において点線はCPUのハード的な動作を表すも
のである。FIG. 5 is a flowchart showing an embodiment of the third invention, in which dotted lines represent hardware operations of the CPU.
例えば、8086 CP U (8)が動作していると
きに、命令61で特別割込みが発生すると、8゜86
CP U (8)は第2図で説明したように、その特別
割込みベクタに制御を移し、ステップ8201〜ステツ
プ8223までの処理を実行する。但し、この場合は、
ステップ5209のシングルステップ割込みベクタを例
えば100に書替え、ステップ5211のTFとIFを
0にし、シングルステップを解除する。そしてステップ
5223で出力されたセレクタ信号をセレクタ(5)に
出力する(501)。すると、セレクタ(5) +7)
CP U (5a)は、初期化をしく5503)、設
定された処理アドレス400を読み(S505)、その
処理アドレスに制御を移す。For example, if a special interrupt occurs at instruction 61 while the 8086 CPU (8) is operating, the 8°86
As explained in FIG. 2, the CPU (8) transfers control to the special interrupt vector and executes the processing from step 8201 to step 8223. However, in this case,
The single step interrupt vector in step 5209 is rewritten to 100, for example, and the TF and IF in step 5211 are set to 0 to cancel single step. Then, the selector signal output in step 5223 is output to the selector (5) (501). Then selector (5) +7)
The CPU (5a) performs initialization 5503), reads the set processing address 400 (S505), and transfers control to the processing address.
次に、処理できないCPUが何であるかをセレクタ信号
から読込み(8507)、セレクタ(5)に接続されて
いるCPUが他にあるかを判断しく5508)、なけれ
ばエラーとする。次にCPUを切替えるセレクタ信号を
8086CPU(14)l:出力する(8509)。す
るとセレクタ(5)のCP U (5a)は動作を停止
し、8086 CP U (14)が動作状態になる。Next, the CPU that cannot process is read from the selector signal (8507), and it is determined whether there is another CPU connected to the selector (5) (5508), and if not, an error is determined. Next, a selector signal for switching the CPU is output to the 8086 CPU (14)l (8509). Then, the CPU (5a) of the selector (5) stops operating, and the 8086 CPU (14) becomes operational.
すると8086 CP U (14)は第2図で説明し
たステップ8225〜ステツプ8234の処理を実行し
く8510)、設定されたユーザー割込みルーチンを実
行する(S512)。すると8086 CP U (1
4)はメモリ(1)にセーブしたフラグレジスタ及びC
8とIPを復帰させ命令62からプログラム実行させる
。Then, the 8086 CPU (14) executes steps 8225 to 8234 described in FIG. 2 (8510), and executes the set user interrupt routine (S512). Then 8086 CPU (1
4) is the flag register saved in memory (1) and C
8 and IP are restored and the program is executed from instruction 62.
そして、命令200で8086 CP U (14)が
処理できない特別割込みが発生すると、第2図のステッ
プ8201〜ステツプ5223までの処理を実行する。When a special interrupt that cannot be processed by the 8086 CPU (14) occurs in instruction 200, the processing from step 8201 to step 5223 in FIG. 2 is executed.
このときは、ステップ5209のシングルステップ割込
みベクタを例えば101に書替え、ステップ5211の
TFとIFを0にし、シングルステップを解除する。そ
してステップ5223で出力されたセレクタ信号をセレ
クタ(5)に出力する(514)。At this time, the single step interrupt vector in step 5209 is rewritten to 101, for example, and TF and IF in step 5211 are set to 0 to cancel single step. Then, the selector signal output in step 5223 is output to the selector (5) (514).
そして前記ステップ8503〜ステツプ5507の処理
を実行し、8086 CP U (14)の隣の801
86CP U (22)にセレクタ信号を出力する(8
51B)。Then, the processes of steps 8503 to 5507 are executed, and the CPU 801 next to the 8086 CPU (14)
Output selector signal to 86CPU (22) (8
51B).
次に80186 CP U (22)が動作状態になる
と再びステップ8225〜ステツプ5234の処理を実
行し命令200を実行する(8518)。すると、設定
した割込みルーチンを実行しく5520)、その特別割
込み処理ができるかを判断しく5522)、できれば命
令201からプログラムを実行する。また処理ができな
ければステップ8236〜ステツプ5245の処理を実
行しく5524)、セレクタ(5)のCP U (5a
)を動作させるセレクタ信号を出力する。すると801
86CP U (22>は動作を停止する。Next, when the 80186 CPU (22) becomes operational, it again executes the processes of steps 8225 to 5234 and executes the instruction 200 (8518). Then, the set interrupt routine is executed (5520), it is determined whether the special interrupt processing can be performed (5522), and if possible, the program is executed from the instruction 201. If the process cannot be performed, the process from step 8236 to step 5245 is executed (5524), and the CPU of the selector (5) (5a
) outputs a selector signal that operates. Then 801
86 CPU (22>) stops operating.
次に、CP U (5a)はステップ8503〜ステツ
プ5507の処理を実行し、80186 CP U (
22)の隣の80386 CP U (21)を動作さ
せるセレクタ信号を出力する。このセレクタ信号が出力
されるとCP U (5a)はその動作を停止する。Next, the CPU (5a) executes the processes from step 8503 to step 5507, and the 80186 CPU (5a)
22) outputs a selector signal that operates the 80386 CPU (21) next to it. When this selector signal is output, the CPU (5a) stops its operation.
すなわち、処理できないプログラムがあると、処理でき
るCPUがあるまで次から次へ動作させる。That is, if there is a program that cannot be processed, it is run one after another until there is a CPU that can process it.
また上記の第3の発明はインテル社の16ビツト以上の
CPUであれば切替え処理が可能である。Further, in the third aspect of the invention, switching processing is possible if the CPU is 16 bits or more manufactured by Intel Corporation.
[発明の効果コ
以上のようにこの発明によれば、演算処理能力が優れて
いる第2のマイクロプロセッサを動作させているときに
、命令の中に処理できない割込みがあると、それが出来
る次の演算処理能力の第1のマイクロプロセッサが、そ
の命令を実行し、そして再び第2のマイクロプロセッサ
が次の命令から処理を継続するようにしたので、自動的
に非互換性が解消できる。[Effects of the Invention] As described above, according to the present invention, if there is an interrupt that cannot be processed among the instructions while operating the second microprocessor, which has superior arithmetic processing ability, the next The first microprocessor, which has a processing power of 1, executes the instruction, and the second microprocessor continues processing from the next instruction, thereby automatically resolving the incompatibility.
さらに、複数個のマイクロプロセッサを切替手段に接続
した場合に、どのマイクロプロセッサが処理できないか
を記憶させたことにより、処理できない割込みが発生し
ても、直ぐに処理できるマイクロプロセッサを動作させ
るようにしたので、複数のマイクロプロセッサにも対応
できるという効果が得られている。Furthermore, when multiple microprocessors are connected to the switching means, by storing which microprocessor cannot process the interrupt, even if an interrupt that cannot be processed occurs, the microprocessor that can process it is immediately activated. Therefore, it has the advantage of being compatible with multiple microprocessors.
さらに、複数のマイクロプロセッサの一つを動作させて
いるときに、処理できない割込みがあれば順次にマイク
ロプロセッサを切替手段が動作させることにより、処理
できるマイクロプロセッサを記憶しなくとも、自動的に
非互換性が解消できるという効果が得られる。Furthermore, when one of the plurality of microprocessors is operating, if there is an interrupt that cannot be processed, the switching means operates the microprocessors one after another, so that the microprocessor that can be processed is automatically disabled without having to remember which microprocessor can be processed. This has the effect that compatibility can be resolved.
第1図はこの発明の第1の発明の一実施例を示す概略構
惑図、第2図(a)及び(b)は第1の発明を説明する
フローチャート、第3図は第2の発明の一実施例を示す
概略構成図、第4図は第2の発明を説明するフローチャ
ート、第5図は第3の発明を説明するフローチャート、
第6図は従来例を説明する概略構成図、第7図は従来の
データの流れを説明する図である。
図において(1)はメモリ、(2)は入出力装置、(3
)はセレクタ信号、(4)はインバータ、(5)はセレ
クタ、(5a)はCPU、(6)はスイッチ、(7)は
80286 CP U (8)のリセット端子、(8)
は80286 CP U 、 (9)は80286 C
P U (8)より出力されるアドレスバス及びデータ
バス、(11)はAND、(13)は8086 CP
U (14)のリセット端子、(14)は8086CP
U、(15)は8086CPUより出力されるアドレス
バス及びデータバス、(17)はAND、(20)は出
力端子、(21)は80386CPU、(22)は80
186CPUである。
代理人 弁理士 佐々木 宗 治
(b)
第2図FIG. 1 is a schematic diagram showing an embodiment of the first invention, FIGS. 2(a) and (b) are flowcharts explaining the first invention, and FIG. 3 is a diagram showing the second invention. 4 is a flowchart explaining the second invention, FIG. 5 is a flowchart explaining the third invention,
FIG. 6 is a schematic configuration diagram illustrating a conventional example, and FIG. 7 is a diagram illustrating a conventional data flow. In the figure, (1) is memory, (2) is input/output device, and (3
) is the selector signal, (4) is the inverter, (5) is the selector, (5a) is the CPU, (6) is the switch, (7) is the reset terminal of 80286 CPU (8), (8)
is 80286 CPU, (9) is 80286 C
Address bus and data bus output from P U (8), (11) is AND, (13) is 8086 CP
U (14) reset terminal, (14) is 8086CP
U, (15) is the address bus and data bus output from the 8086 CPU, (17) is AND, (20) is the output terminal, (21) is the 80386 CPU, (22) is the 80
It has 186 CPUs. Agent Patent attorney Souji Sasaki (b) Figure 2
Claims (3)
、かつ演算能力に差のある複数個のマイクロプロセッサ
を有して、 (b)更に、演算能力が優れているマイクロプロセッサ
の動作を優先させ、動作中のマイクロプロセッサに処理
不可能な割込みが発生すれば、処理が可能で、かつ次に
演算能力があるマイクロプロセッサに演算動作を行わせ
る切替手段を有することを特徴とするマイクロプロセッ
サ制御装置。(1) (a) Have multiple microprocessors that are compatible with each other in object code and have different computing capabilities, and (b) Furthermore, give priority to the operation of the microprocessor with superior computing capabilities. , a microprocessor control device characterized by having a switching means that can handle an interrupt that cannot be processed by an operating microprocessor and causes the next microprocessor with arithmetic capability to perform an arithmetic operation. .
処理のリターンアドレスが前記第1の命令の次のアドレ
スを指示する特別割込みを発生するマイクロプロセッサ
であって、 切替信号により動作状態になり、第2のマイクロプロセ
ッサの全てのレジスタを、そのレジスタにセットし、前
記第1の命令を実行した後に前記全てのレジスタ及び前
記リターンアドレスを出力する第1のマイクロプロセッ
サと、 (b)前記第1のマイクロプロセッサとオブジェクトコ
ードで互換性があり、前記第1の命令を実行したときに
前記第1のマイクロプロセッサに切替る前記切替信号を
出力して、前記第1の命令を実行させた後に、前記第1
のマイクロプロセッサの前記全てのレジスタ及びリター
ンアドレスを読込み、前記第1の命令の次の命令から処
理を実行する第2のマイクロプロセッサと、 を備えたことを特徴とする請求項(1)記載のマイクロ
プロセッサ制御装置。(2) (a) A microprocessor that, when a first instruction is executed, generates a special interrupt in which the return address of the interrupt processing specifies the next address of the first instruction, and is operated by a switching signal. a first microprocessor that enters a state, sets all registers of a second microprocessor in its registers, and outputs all of the registers and the return address after executing the first instruction; (b) ) is compatible with the first microprocessor in object code, outputs the switching signal to switch to the first microprocessor when the first instruction is executed, and executes the first instruction; After the first
and a second microprocessor that reads all the registers and return addresses of the microprocessor and executes processing from the instruction following the first instruction. Microprocessor control unit.
、演算能力に差があり、かつ予め決められた動作順序を
有する複数個のマイクロプロセッサを有して、 (b)更に、処理不可の割込みが発生する度に前記順序
に基づいて該当するマイクロプロセッサを動作させる切
替手段と を備えたことを特徴とする請求項(1)記載のマイクロ
プロセッサ制御装置。(3) (a) It has a plurality of microprocessors that are compatible with each other in object code, have differences in computing power, and have a predetermined operation order, and (b) In addition, interrupts that cannot be processed 2. The microprocessor control device according to claim 1, further comprising a switching means for operating a corresponding microprocessor based on said order each time a corresponding microprocessor occurs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9870089A JPH02138630A (en) | 1988-08-26 | 1989-04-20 | Microprocessor controller |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63-211898 | 1988-08-26 | ||
JP63-211897 | 1988-08-26 | ||
JP21189788 | 1988-08-26 | ||
JP9870089A JPH02138630A (en) | 1988-08-26 | 1989-04-20 | Microprocessor controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02138630A true JPH02138630A (en) | 1990-05-28 |
Family
ID=26439828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9870089A Pending JPH02138630A (en) | 1988-08-26 | 1989-04-20 | Microprocessor controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02138630A (en) |
-
1989
- 1989-04-20 JP JP9870089A patent/JPH02138630A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0464615A2 (en) | Microcomputer equipped with DMA controller | |
JPH0550022B2 (en) | ||
JPH02156334A (en) | Information processor | |
JP2753123B2 (en) | Control mode selectable communication controller | |
JP2003058381A (en) | Processor realizing exception processing setting by program | |
JPH02138630A (en) | Microprocessor controller | |
JPS6290728A (en) | Interruption processing method | |
JPH04241032A (en) | System call execution device | |
JPS59218569A (en) | Microcomputer | |
JPH0635800A (en) | Microprocessor and data processing system using it | |
WO2003088036A1 (en) | System and method for instruction level multithreading | |
JP2000040028A (en) | System for extending dsp program area by cpu control | |
JP2601359B2 (en) | Concurrent processing microprocessor | |
JPH02176832A (en) | Microcomputer | |
JP3127737B2 (en) | Digital signal processor | |
JPH0683640A (en) | Interruption response processing system | |
JPS61101865A (en) | Multi-microprocessor system | |
JPS61184644A (en) | Control system of virtual computer system | |
JP2000172629A (en) | Method and device for transfer data | |
JPH01309174A (en) | Vector processor | |
JPS6148746B2 (en) | ||
JPS6365528A (en) | Coprocessor | |
JPH0477930A (en) | Microcomputer | |
JPS6329843A (en) | Program control system | |
JPH0367357A (en) | Multi-cpu system |