JPH02138630A - マイクロプロセッサ制御装置 - Google Patents
マイクロプロセッサ制御装置Info
- 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
- cpu
- microprocessor
- instruction
- interrupt
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は例えば、オブジェクトコードで互換性がある
マイクロプロセッサを切替えるマイクロプロセッサの制
御装置に関し、特にその特別割込みが発生したときの制
御に関するものである。
マイクロプロセッサを切替えるマイクロプロセッサの制
御装置に関し、特にその特別割込みが発生したときの制
御に関するものである。
[従来の技術]
第6図は従来のマイクロプロセッサ制御装置の概略構成
図であり、図において(1)はメモリ、(2)は入出力
装置、(4)は切替えスイッチ、(8)は80286
CP U 、 (14)は8086CPUである。第7
図は命令の流れを説明する図である。以下に第6図及び
第7図を用いて説明する。
図であり、図において(1)はメモリ、(2)は入出力
装置、(4)は切替えスイッチ、(8)は80286
CP U 、 (14)は8086CPUである。第7
図は命令の流れを説明する図である。以下に第6図及び
第7図を用いて説明する。
従来は80286 CP U (8)とオブジェクトコ
ードで互換性のある例えば、8086 CP U (1
4)用に開発された既存のソフトウェアは、特別割込み
が発生すると、8086 CP U (14)であるプ
ログラムを処理しているとき、そのプログラム中の命令
61特別割込み(24)が発生すれば直ぐに特別割込み
処理ルーチン(25)になり、このルーチンが終了する
と、リターンアドレス(28)を命令62としている。
ードで互換性のある例えば、8086 CP U (1
4)用に開発された既存のソフトウェアは、特別割込み
が発生すると、8086 CP U (14)であるプ
ログラムを処理しているとき、そのプログラム中の命令
61特別割込み(24)が発生すれば直ぐに特別割込み
処理ルーチン(25)になり、このルーチンが終了する
と、リターンアドレス(28)を命令62としている。
また8 0286 CP U (8)では命令61で発
生すると、特別割込みルーチン(25)が終了しても、
そのリターンアドレス(26)は命令61としている。
生すると、特別割込みルーチン(25)が終了しても、
そのリターンアドレス(26)は命令61としている。
これでは、80286 CP U (8)は再び命令6
1を実行するのでループし、次のプログラムを実行でき
ず、また8 086 CP U (14)ではループせ
ずに次の命令から実行するという、それぞれ違った動作
をする。
1を実行するのでループし、次のプログラムを実行でき
ず、また8 086 CP U (14)ではループせ
ずに次の命令から実行するという、それぞれ違った動作
をする。
上記を具体的に説明すると、8086CPU(14)は
80286 CP U (8)とオブジェクトコードで
は互換性があるが、0除算割込み処理のリターンアドレ
スの発生方法が異なるCPUである。
80286 CP U (8)とオブジェクトコードで
は互換性があるが、0除算割込み処理のリターンアドレ
スの発生方法が異なるCPUである。
そのため、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)に切
替えて再度プログラムを実行していた。
理リターンアドレスが異なることによって非互換性が発
生する。仮に、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)に切
替えて再度プログラムを実行していた。
[発明が解決しようとする課題]
上記のような従来のマイクロプロセッサは、オブジェク
トコードで互換性があっても、特別割込みが発生すると
それぞれその処理方法が違い、ループしたり、その処理
を受付けないようにされているから、処理できるCPU
にするためには、あらためて手動式のデジタルスイッチ
等でリセットしなければならないという問題点があった
。
トコードで互換性があっても、特別割込みが発生すると
それぞれその処理方法が違い、ループしたり、その処理
を受付けないようにされているから、処理できるCPU
にするためには、あらためて手動式のデジタルスイッチ
等でリセットしなければならないという問題点があった
。
この発明は、かかる問題点を解決するためになされたも
ので、例えば80286 CP U (8)と8086
CP U (14)のマイクロプロセッサを備えてメ
インプログラムを実行する場合に、80286CPUの
マイクロプロセッサで命令61で特別割込みが発生して
も、その割込み処理ルーチンで処理できるCPUに切替
え手段を介して自動的に切替えて特別割込み処理を実行
させ、その処理が終了すれば次の命令からプログラムを
継続できるマイクロプロセッサの制御装置を得ることを
目的とする。
ので、例えば80286 CP U (8)と8086
CP U (14)のマイクロプロセッサを備えてメ
インプログラムを実行する場合に、80286CPUの
マイクロプロセッサで命令61で特別割込みが発生して
も、その割込み処理ルーチンで処理できるCPUに切替
え手段を介して自動的に切替えて特別割込み処理を実行
させ、その処理が終了すれば次の命令からプログラムを
継続できるマイクロプロセッサの制御装置を得ることを
目的とする。
さらに、マイクロプロセッサが複数ある場合に、特別割
込み処理のできるマイクロプロセッサを記憶手段に記憶
して、特別割込みが発生すると該当するマイクロプロセ
ッサを切替え手段が選択し、その処理を該当するマイク
ロプロセッサが実行して、終了すれば切替え手段が元の
マイクロプロセッサを動作させてメインプログラムを継
続させる。
込み処理のできるマイクロプロセッサを記憶手段に記憶
して、特別割込みが発生すると該当するマイクロプロセ
ッサを切替え手段が選択し、その処理を該当するマイク
ロプロセッサが実行して、終了すれば切替え手段が元の
マイクロプロセッサを動作させてメインプログラムを継
続させる。
さらに、記憶手段に特別割込みができるマイクロプロセ
ッサを記憶しないで、特別割込み処理がきるマイクロプ
ロセッサを探すために順次マイクロプロセッサを動作さ
せていくマイクロプロセッサの制御装置を得ることを目
的とする。
ッサを記憶しないで、特別割込み処理がきるマイクロプ
ロセッサを探すために順次マイクロプロセッサを動作さ
せていくマイクロプロセッサの制御装置を得ることを目
的とする。
〔課題を解決するための手段]
この発明に係るマイクロプロセッサの制御装置は、互い
にオブジェクトコードで互換性があり、かつ演算能力に
差のある複数個のマイクロプロセッサと、更に、演算能
力が優れているマイクロプロセッサの動作を優先させ、
動作中のマイクロプロセッサに処理不可能な割込みが発
生すれば、処理が可能で、かつ次に演算能力があるマイ
クロプロセッサに演算動作を行わせる切替手段とを備え
たものである。
にオブジェクトコードで互換性があり、かつ演算能力に
差のある複数個のマイクロプロセッサと、更に、演算能
力が優れているマイクロプロセッサの動作を優先させ、
動作中のマイクロプロセッサに処理不可能な割込みが発
生すれば、処理が可能で、かつ次に演算能力があるマイ
クロプロセッサに演算動作を行わせる切替手段とを備え
たものである。
また、第1の命令を実行したときに、その割込み処理の
リターンアドレスが前記第1の命令の次のアドレスを指
示する特別割込みを発生するマイクロプロセッサと、切
替信号により動作状態になり、第2のマイクロプロセッ
サの全てのレジスタを、そのレジスタにセットし、第1
の命令を実行した後に全てのレジスタ及びリターンアド
レスを出力する第1のマイクロプロセッサと、第1のマ
イクロプロセッサとオブジェクトコードで互換性があり
、第1の命令を実行したときに第1のマイクロプロセッ
サに切替る切替信号を出力して、第1の命令を実行させ
た後に、第1のマイクロプロセッサの全てのレジスタ及
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する第2のマイクロプロセッサとを備えた
ものである。また互いにオブジェクトコードで互換性が
あり、演算能力に差があり、かつ予め決められた動作順
序を有する複数個のマイクロプロセッサと、更に、処理
不可の割込みが発生する度に前記順序に基づいて該当す
るマイクロプロセッサを動作させる切替手段とを備えた
ものである。
リターンアドレスが前記第1の命令の次のアドレスを指
示する特別割込みを発生するマイクロプロセッサと、切
替信号により動作状態になり、第2のマイクロプロセッ
サの全てのレジスタを、そのレジスタにセットし、第1
の命令を実行した後に全てのレジスタ及びリターンアド
レスを出力する第1のマイクロプロセッサと、第1のマ
イクロプロセッサとオブジェクトコードで互換性があり
、第1の命令を実行したときに第1のマイクロプロセッ
サに切替る切替信号を出力して、第1の命令を実行させ
た後に、第1のマイクロプロセッサの全てのレジスタ及
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する第2のマイクロプロセッサとを備えた
ものである。また互いにオブジェクトコードで互換性が
あり、演算能力に差があり、かつ予め決められた動作順
序を有する複数個のマイクロプロセッサと、更に、処理
不可の割込みが発生する度に前記順序に基づいて該当す
るマイクロプロセッサを動作させる切替手段とを備えた
ものである。
[作用コ
この発明においては、切替手段が複数個のマイクロプロ
セッサの演算能力が優れているマイクロプロセッサの動
作を優先させると、そのマイクロプロセッサが動作中に
処理不可能な割込みが発生すれば、処理が可能で、かつ
次に演算能力があるマイクロプロセッサに演算動作を行
わせる。
セッサの演算能力が優れているマイクロプロセッサの動
作を優先させると、そのマイクロプロセッサが動作中に
処理不可能な割込みが発生すれば、処理が可能で、かつ
次に演算能力があるマイクロプロセッサに演算動作を行
わせる。
また第2のプロセッサで第1の命令を実行すると、切替
信号を切替手段に出力し、切替信号により第1のマイク
ロコンピュータが動作状態になると第2のマイクロプロ
セッサの全てのレジスタを、そのレジスタにセットし、
第1の命令を実行して全てのレジスタ及びリターンアド
レスを出力する。
信号を切替手段に出力し、切替信号により第1のマイク
ロコンピュータが動作状態になると第2のマイクロプロ
セッサの全てのレジスタを、そのレジスタにセットし、
第1の命令を実行して全てのレジスタ及びリターンアド
レスを出力する。
すると、第2のマイクロプロセッサが全てのレジスタ及
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する。
びリターンアドレスを読込み、第1の命令の次の命令か
ら処理を実行する。
更に、切替手段が、予め決められた動作順序を有する複
数個のマイクロプロセッサの一つを動作させたときに、
処理不可の割込みが発生すると、その度に予め決められ
た動作順序に基づいて該当するマイクロプロセッサを動
作させる。
数個のマイクロプロセッサの一つを動作させたときに、
処理不可の割込みが発生すると、その度に予め決められ
た動作順序に基づいて該当するマイクロプロセッサを動
作させる。
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。
、図において(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。
(15)ハ8086 CP Uより出力されるアドレス
バス及びデータバス、(17)はインバータ(4)の出
力及び8086 CP U (14)より出力されるア
ドレスバス及びデータバスを入力し、この両方の入力が
あったときにだけ1の信号を出力するAND、(20)
はA N D (11)とA N D (14)の出力
を接続した出力端子である。
バス及びデータバス、(17)はインバータ(4)の出
力及び8086 CP U (14)より出力されるア
ドレスバス及びデータバスを入力し、この両方の入力が
あったときにだけ1の信号を出力するAND、(20)
はA N D (11)とA N D (14)の出力
を接続した出力端子である。
上記のように構成されたマイクロプロセッサ制。
御装置は、例えばソフトウェアにより、8086CP
U (14)を動作させて、セレクト信号(3)を0と
した場合には、80286 CP U (8)のリセッ
ト端子(7)は0になる。ここで80286CPU(8
)はリセット状態になっており、リセット端子(7)が
0になることでリセット状態が解除され、動作状態とな
る。
U (14)を動作させて、セレクト信号(3)を0と
した場合には、80286 CP U (8)のリセッ
ト端子(7)は0になる。ここで80286CPU(8
)はリセット状態になっており、リセット端子(7)が
0になることでリセット状態が解除され、動作状態とな
る。
またセレクト信号(3)はインバータ(4)により、反
転して1となり、A N D (11)及び8086C
PU (14)のリセット端子に出力される。A N
D (11)は、インバータ(4)の出力と80286
CP U (8)より出力されるアドレスバス及びデ
ータバスを入力すると、この両方の入力が1となる範囲
のみを1としたアドレスバス、データバス(12)を出
力端子(20)より出力する。
転して1となり、A N D (11)及び8086C
PU (14)のリセット端子に出力される。A N
D (11)は、インバータ(4)の出力と80286
CP U (8)より出力されるアドレスバス及びデ
ータバスを入力すると、この両方の入力が1となる範囲
のみを1としたアドレスバス、データバス(12)を出
力端子(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)からの出力はない。
セット端子(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)からの出力はない。
次に、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)のアドレスバス、データバスは出力されない
。
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)のアドレスバス、データバスは出力されない
。
また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)に出力する。
、8086 CP U (14)はリセットが解除され
て動作状態となり、アドレスバス及びデータバスがA
N D (17)に出力される。A N D (17)
は入力が両方とも1となるので、この両方の入力が1と
なる範囲のみを1とした8 086 CP U (14
)のアドレスバス及びデータバス(15)を出力端子(
20)に出力する。
上記では、マイクロプロセッサを8086CPUと80
286CPUで説明したがその他のオブジェクトコード
で互換性のあるCPUまたはマイクロプロセッサの一部
の機能から構成されているマイクロプロセッサと等価な
機能を持つ制御装置であってもよい。
286CPUで説明したがその他のオブジェクトコード
で互換性のあるCPUまたはマイクロプロセッサの一部
の機能から構成されているマイクロプロセッサと等価な
機能を持つ制御装置であってもよい。
第2図(a)及び(b)は第1の発明を説明するフロー
チャートである。
チャートである。
以下に第1図及び第2図を用いて第1の発明の詳細な説
明する。この説明では全ての内部割込みを特別割込みと
する。
明する。この説明では全ての内部割込みを特別割込みと
する。
80286 CP U (8)が除算命令(以下命令6
1という)を実行したときに、その演算結果の商が命令
で許容する最大値を越えると、80286 CP U
(8)はフラグによりO除算側込みが発生と判断し、強
制的に予約メモリ領域の0除算割込みベクタを読みだし
、アドレス00000 (H)から00003 (H)
に設定されているアドレスに制御を移す(S201)。
1という)を実行したときに、その演算結果の商が命令
で許容する最大値を越えると、80286 CP U
(8)はフラグによりO除算側込みが発生と判断し、強
制的に予約メモリ領域の0除算割込みベクタを読みだし
、アドレス00000 (H)から00003 (H)
に設定されているアドレスに制御を移す(S201)。
このとき、フラグレジスタ及びコードセグメント(以下
C8という)とインストラクションポインタ(以下IP
という)はメモリ(1)のスタック領域にそれぞれセー
ブされ、インタラブドイネーブルフラグ(以下IFとい
う)及びトラップフラグ(以下TFという)がクリアさ
れる。次に、一般に市販されているアプリケーションソ
フトウェアが80286 CP U (14)用に開発
されていれば本発明の処理を実行する必要がないので、
特別割込み処理を実行するかの判定をする(3203)
。
C8という)とインストラクションポインタ(以下IP
という)はメモリ(1)のスタック領域にそれぞれセー
ブされ、インタラブドイネーブルフラグ(以下IFとい
う)及びトラップフラグ(以下TFという)がクリアさ
れる。次に、一般に市販されているアプリケーションソ
フトウェアが80286 CP U (14)用に開発
されていれば本発明の処理を実行する必要がないので、
特別割込み処理を実行するかの判定をする(3203)
。
ここで、特別割込み処理を実行する必要がなければ、イ
ンタラブドリターンして命令61を実行させる(S20
4)。
ンタラブドリターンして命令61を実行させる(S20
4)。
次に80286 (14)から8086 CP U (
8)に切替えるために、割込みベクタに設定した割込み
ルーチンのアドレスを読込み、そのアドレスをIPにセ
ットする(9205)。
8)に切替えるために、割込みベクタに設定した割込み
ルーチンのアドレスを読込み、そのアドレスを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に
制御を移す。
生したときの機能であるシングルステップ割り込みベク
タをメモリ(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に
制御を移す。
この処理では、80286 CP U (14)から8
086 CP U (8)に切替えるために、特別割込
みかの判断をしく5215)、特別割込みと判断すれば
、メモリ(1)に用意した切替えフラグ1を読込み(S
217)、特別割込みでなければ、切替えフラグ0を読
込む(S219)。
086 CP U (8)に切替えるために、特別割込
みかの判断をしく5215)、特別割込みと判断すれば
、メモリ(1)に用意した切替えフラグ1を読込み(S
217)、特別割込みでなければ、切替えフラグ0を読
込む(S219)。
次に、切替えフラグが1の場合は、全てのレジスタAX
、BX、CX、DX、S I、DI、BP。
、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)。
アにセーブしく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)。
また1の場合にはステップ8223でメモリ(1)にセ
ーブした全てのレジスタ、 AX、BXSCXSDXSS ISD I、BP。
ーブした全てのレジスタ、 AX、BXSCXSDXSS ISD I、BP。
ES、DSSSSSSP
を8086 CP U (14)のレジスタにセットし
く5231)、セーブしたフラグレジスタを8086C
PU (14)のフラグレジスタにセットする(823
2)。このときにはTF及びIFは1にセットされてい
る。
く5231)、セーブしたフラグレジスタを8086C
PU (14)のフラグレジスタにセットする(823
2)。このときにはTF及びIFは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つの命令を実行したので、次の命令を指し示す
ように設定されている。
令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つの命令を実行したので、次の命令を指し示す
ように設定されている。
そしてコールされた割込みベクタ122の処理ルーチン
に制御を移しく5235)、80286CPU(8)が
シングルステップで命令を実行しないようにTF及びI
Fを0に設定し、シングルステップを解除する(S23
13)。
に制御を移しく5235)、80286CPU(8)が
シングルステップで命令を実行しないようにTF及びI
Fを0に設定し、シングルステップを解除する(S23
13)。
次に、特別割込みかを判断しく8238)、特別割込み
であれば、メモリ(1)に用意された切替えフラグ1を
読み(S240)、特別割込みでないと判断すれば切替
えフラグ0を読む(8242)。
であれば、メモリ(1)に用意された切替えフラグ1を
読み(S240)、特別割込みでないと判断すれば切替
えフラグ0を読む(8242)。
次に、8086 CP U(14)が命令61を実行し
たときの全てのレジスタ、 AX、 BX、 CX、 DX、 S I
S DI、 BP、、 ESSDS、SS、SPをメ
モリ(1)のスタックエリアにセーブしく5243)、
このときにはTFとIFは0に設定されている。
たときの全てのレジスタ、 AX、 BX、 CX、 DX、 S I
S DI、 BP、、 ESSDS、SS、SPをメ
モリ(1)のスタックエリアにセーブしく5243)、
このときにはTFとIFは0に設定されている。
そして、セレクタ信号を0に設定する(924B)。
セレクタ信号が0に設定されると、第1図で説明したよ
うに8086 CP U (14)はリセット状態にな
り、80286 CP U (8)を動作状態にするの
で、8086 CP U (14)から80286CP
U(8)に切替わる。
うに8086 CP U (14)はリセット状態にな
り、80286 CP U (8)を動作状態にするの
で、8086 CP U (14)から80286CP
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。
しく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。
5sSspを808286 CP U (8)のレジス
タにセットする(825B)。
タにセットする(825B)。
以上の処理で処理125の処理は終了し、8086 C
P U (14)が強制的にメモリ(1)のスタックエ
リアにセーブしたフラグレジスタを80286CP U
(8)のフラグレジスタにセットし、8086 CP
U (14)でセーブしたCSとIPを80286
CP U (8)がそのIPとC8にセットする。
P U (14)が強制的にメモリ(1)のスタックエ
リアにセーブしたフラグレジスタを80286CP U
(8)のフラグレジスタにセットし、8086 CP
U (14)でセーブしたCSとIPを80286
CP U (8)がそのIPとC8にセットする。
これでインタラブドリターンするとC8とIPは次の命
令のアドレスに設定されるので80286 CP U
(8)はメインルーチンの命令62から続いてプログラ
ムが実行される。したがって、8086 CP U (
14)と80286 CP U (8)とのアプリケー
ションソフトウェア実行の互換性が保たれる。
令のアドレスに設定されるので80286 CP U
(8)はメインルーチンの命令62から続いてプログラ
ムが実行される。したがって、8086 CP U (
14)と80286 CP U (8)とのアプリケー
ションソフトウェア実行の互換性が保たれる。
また8 0286 CP U (14)にあっては、8
086 CP U (8)で発生しない割込みセグメン
トオフセットオーバライン割込みについても互換性を保
つことができる。このセグメントオーバライン割込みは
、 MOV、 AX、 [BI3というようなメ
モリアクセス命令において、BX−OFFFFHとなる
ような、セグメントを越えてメモリアクセスをしようと
した場合、80286 CP U (8)で発生する割
込みであり、8086CP U (14)では、発生し
ない。そこで、この場合にも本発明を用いる。
086 CP U (8)で発生しない割込みセグメン
トオフセットオーバライン割込みについても互換性を保
つことができる。このセグメントオーバライン割込みは
、 MOV、 AX、 [BI3というようなメ
モリアクセス命令において、BX−OFFFFHとなる
ような、セグメントを越えてメモリアクセスをしようと
した場合、80286 CP U (8)で発生する割
込みであり、8086CP U (14)では、発生し
ない。そこで、この場合にも本発明を用いる。
セグメントオーバライン割込みにおいても、80286
CP U (8)はベクタを発生するので、第2図の
ステップ(S207)をセグメントオーバライン割込み
ベクタをセーブとし、第2図(a)及び(b)で説明し
た処理と同様の処理で、80286CPU(8)から8
086 CP U (14)に切替えができ、この割込
みによる非互換性は解消される。
CP U (8)はベクタを発生するので、第2図の
ステップ(S207)をセグメントオーバライン割込み
ベクタをセーブとし、第2図(a)及び(b)で説明し
た処理と同様の処理で、80286CPU(8)から8
086 CP U (14)に切替えができ、この割込
みによる非互換性は解消される。
さらに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)で高速
に実行することができる。
るμ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)で高速
に実行することができる。
上記の第1の発明はオブジェクトコードで互換性のある
2つのCPUでの発明であり、CPUが3個以上の場合
の第2の発明について以下に説明する。
2つのCPUでの発明であり、CPUが3個以上の場合
の第2の発明について以下に説明する。
第3図は第2の発明の一実施例を示す概略構成図であり
、(1)はメモリ、(2)は入出力装置(以下I10と
いう) 、(5)は制御バス、アドレスバス、データバ
スに接続され、所望のCPUを選択するセレクタ、(5
a)はセレクタを制御するCPU。
、(1)はメモリ、(2)は入出力装置(以下I10と
いう) 、(5)は制御バス、アドレスバス、データバ
スに接続され、所望のCPUを選択するセレクタ、(5
a)はセレクタを制御するCPU。
(8)は80286CPU、(14)は8086cPU
。
。
(21)は80386 CP U 、 (22)は80
186CPUであり、それぞれセレクタ(5)により選
択される。
186CPUであり、それぞれセレクタ(5)により選
択される。
上記のように構成されたマイクロプロセッサの制御装置
は、メモリ(1)はそれぞれ共通に使用できるようにし
、例えば、80286 CP U (8)で、あるプロ
グラムを処理しているときに、0除算があると8028
6 CP U (8)はループするので、セレクタ(5
)はその処理ができるCPUをメモリ(1)より、読込
み、該当するCPUを動作させる信号を出力する。
は、メモリ(1)はそれぞれ共通に使用できるようにし
、例えば、80286 CP U (8)で、あるプロ
グラムを処理しているときに、0除算があると8028
6 CP U (8)はループするので、セレクタ(5
)はその処理ができるCPUをメモリ(1)より、読込
み、該当するCPUを動作させる信号を出力する。
この場合は8086 CP U (14)を選択する。
さらに8086 CP U (14)で処理できない割
込みが発生した場合には、例えば80386 CP U
(21)が該当するCPUであれば、それを選択する
。
込みが発生した場合には、例えば80386 CP U
(21)が該当するCPUであれば、それを選択する
。
これは、セレクタ(5)内部に設けられたCPU(5a
)が、例えば80286 CP U (8)で0除算が
発生したときの特別割込みであるベクタを読込むと、メ
モリ(1)に記憶されている特別割込みルーチン処理を
実行する。
)が、例えば80286 CP U (8)で0除算が
発生したときの特別割込みであるベクタを読込むと、メ
モリ(1)に記憶されている特別割込みルーチン処理を
実行する。
第4図は第2の発明を説明するフローチャートであり、
図において点線はCPUのハード的な動作を表すもので
ある。
図において点線はCPUのハード的な動作を表すもので
ある。
以下にこの特別割込みルーチンについて第3図及び第4
図を用いて説明する。
図を用いて説明する。
例えば第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とする。
命令61を実行したとすれば、ステップ8201〜ステ
ツプ5223までの切替え準備処理を実行する(340
I)。すると、セレクタ(5)のCP U (5a)は
動作状態になり80286 CP U (8)はリセッ
ト状態となる。CP U (5a)はセレクタ信号を入
力すると初期化をしく8403)、メモリ(1)に設定
されているアドレスを読む(3405)。この場合は、
アドレスを300とする。
次に、セレクタ信号からどのCPUが処理できなかった
かを読み(S407)、そのフラグレジスタを確認して
、どんな特別割込みかを読込む(S409)。
かを読み(S407)、そのフラグレジスタを確認して
、どんな特別割込みかを読込む(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からプログラムを実行できる。
るCPUをメモリ(1)がら読込み(S411)、該当
するCPUを動作させる信号を設定し、セレクタ(5)
からセレクタ信号を出力する(3413)。この場合は
8086 CP U (14)を動作させる。するとC
P U (5a)は動作を停止し、8086 CP U
(14)に制御を移す。すると第2図で説明したよう
にステップ8225〜ステツプ8258までの処理を実
行しく8415)、インタラブドリターンすれば命令6
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)に切替える
ことも可能である。この場合にも、上記で説明した動作
と同様な割込み処理ルーチンを実行する。
286 (8)について説明したが、あらかじめメモリ
(1)に処理できるCPUをフラグレジスタとセレクタ
信号から、その番号等を選択できるようにすればインテ
ル社の16ビツト以上のCPUであれば良く、例えば必
要により80286 CP U (8)から80186
CP U (22)、あるいは80386CP U
(21)から8086 CP U (14)に切替える
ことも可能である。この場合にも、上記で説明した動作
と同様な割込み処理ルーチンを実行する。
さらに、CPUが内蔵されているマイクロコンピュータ
にセレクタ(5)とインテル社の16ビツト以上の1種
類以上のCPUを取付けて、上記で説明した処理をセレ
クタ(5)に実行させても可能である。
にセレクタ(5)とインテル社の16ビツト以上の1種
類以上のCPUを取付けて、上記で説明した処理をセレ
クタ(5)に実行させても可能である。
上記の第2の発明は予め選択されるべきCPUをメモリ
(1)に記憶するものであるが、メモリ(1)に記憶し
ない場合は下記に説明する処理方法で実行する。
(1)に記憶するものであるが、メモリ(1)に記憶し
ない場合は下記に説明する処理方法で実行する。
第5図は第3の発明の実施例を示すフローチャートであ
り、図において点線はCPUのハード的な動作を表すも
のである。
り、図において点線は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)、その
処理アドレスに制御を移す。
きに、命令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)、その
処理アドレスに制御を移す。
次に、処理できないCPUが何であるかをセレクタ信号
から読込み(8507)、セレクタ(5)に接続されて
いるCPUが他にあるかを判断しく5508)、なけれ
ばエラーとする。次にCPUを切替えるセレクタ信号を
8086CPU(14)l:出力する(8509)。す
るとセレクタ(5)のCP U (5a)は動作を停止
し、8086 CP U (14)が動作状態になる。
から読込み(8507)、セレクタ(5)に接続されて
いるCPUが他にあるかを判断しく5508)、なけれ
ばエラーとする。次にCPUを切替えるセレクタ信号を
8086CPU(14)l:出力する(8509)。す
るとセレクタ(5)のCP U (5a)は動作を停止
し、8086 CP U (14)が動作状態になる。
すると8086 CP U (14)は第2図で説明し
たステップ8225〜ステツプ8234の処理を実行し
く8510)、設定されたユーザー割込みルーチンを実
行する(S512)。すると8086 CP U (1
4)はメモリ(1)にセーブしたフラグレジスタ及びC
8とIPを復帰させ命令62からプログラム実行させる
。
たステップ8225〜ステツプ8234の処理を実行し
く8510)、設定されたユーザー割込みルーチンを実
行する(S512)。すると8086 CP U (1
4)はメモリ(1)にセーブしたフラグレジスタ及びC
8とIPを復帰させ命令62からプログラム実行させる
。
そして、命令200で8086 CP U (14)が
処理できない特別割込みが発生すると、第2図のステッ
プ8201〜ステツプ5223までの処理を実行する。
処理できない特別割込みが発生すると、第2図のステッ
プ8201〜ステツプ5223までの処理を実行する。
このときは、ステップ5209のシングルステップ割込
みベクタを例えば101に書替え、ステップ5211の
TFとIFを0にし、シングルステップを解除する。そ
してステップ5223で出力されたセレクタ信号をセレ
クタ(5)に出力する(514)。
みベクタを例えば101に書替え、ステップ5211の
TFとIFを0にし、シングルステップを解除する。そ
してステップ5223で出力されたセレクタ信号をセレ
クタ(5)に出力する(514)。
そして前記ステップ8503〜ステツプ5507の処理
を実行し、8086 CP U (14)の隣の801
86CP U (22)にセレクタ信号を出力する(8
51B)。
を実行し、8086 CP U (14)の隣の801
86CP U (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>は動作を停止する。
と再びステップ8225〜ステツプ5234の処理を実
行し命令200を実行する(8518)。すると、設定
した割込みルーチンを実行しく5520)、その特別割
込み処理ができるかを判断しく5522)、できれば命
令201からプログラムを実行する。また処理ができな
ければステップ8236〜ステツプ5245の処理を実
行しく5524)、セレクタ(5)のCP U (5a
)を動作させるセレクタ信号を出力する。すると801
86CP U (22>は動作を停止する。
次に、CP U (5a)はステップ8503〜ステツ
プ5507の処理を実行し、80186 CP U (
22)の隣の80386 CP U (21)を動作さ
せるセレクタ信号を出力する。このセレクタ信号が出力
されるとCP U (5a)はその動作を停止する。
プ5507の処理を実行し、80186 CP U (
22)の隣の80386 CP U (21)を動作さ
せるセレクタ信号を出力する。このセレクタ信号が出力
されるとCP U (5a)はその動作を停止する。
すなわち、処理できないプログラムがあると、処理でき
るCPUがあるまで次から次へ動作させる。
るCPUがあるまで次から次へ動作させる。
また上記の第3の発明はインテル社の16ビツト以上の
CPUであれば切替え処理が可能である。
CPUであれば切替え処理が可能である。
[発明の効果コ
以上のようにこの発明によれば、演算処理能力が優れて
いる第2のマイクロプロセッサを動作させているときに
、命令の中に処理できない割込みがあると、それが出来
る次の演算処理能力の第1のマイクロプロセッサが、そ
の命令を実行し、そして再び第2のマイクロプロセッサ
が次の命令から処理を継続するようにしたので、自動的
に非互換性が解消できる。
いる第2のマイクロプロセッサを動作させているときに
、命令の中に処理できない割込みがあると、それが出来
る次の演算処理能力の第1のマイクロプロセッサが、そ
の命令を実行し、そして再び第2のマイクロプロセッサ
が次の命令から処理を継続するようにしたので、自動的
に非互換性が解消できる。
さらに、複数個のマイクロプロセッサを切替手段に接続
した場合に、どのマイクロプロセッサが処理できないか
を記憶させたことにより、処理できない割込みが発生し
ても、直ぐに処理できるマイクロプロセッサを動作させ
るようにしたので、複数のマイクロプロセッサにも対応
できるという効果が得られている。
した場合に、どのマイクロプロセッサが処理できないか
を記憶させたことにより、処理できない割込みが発生し
ても、直ぐに処理できるマイクロプロセッサを動作させ
るようにしたので、複数のマイクロプロセッサにも対応
できるという効果が得られている。
さらに、複数のマイクロプロセッサの一つを動作させて
いるときに、処理できない割込みがあれば順次にマイク
ロプロセッサを切替手段が動作させることにより、処理
できるマイクロプロセッサを記憶しなくとも、自動的に
非互換性が解消できるという効果が得られる。
いるときに、処理できない割込みがあれば順次にマイク
ロプロセッサを切替手段が動作させることにより、処理
できるマイクロプロセッサを記憶しなくとも、自動的に
非互換性が解消できるという効果が得られる。
第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図
惑図、第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図
Claims (3)
- (1)(a)互いにオブジェクトコードで互換性があり
、かつ演算能力に差のある複数個のマイクロプロセッサ
を有して、 (b)更に、演算能力が優れているマイクロプロセッサ
の動作を優先させ、動作中のマイクロプロセッサに処理
不可能な割込みが発生すれば、処理が可能で、かつ次に
演算能力があるマイクロプロセッサに演算動作を行わせ
る切替手段を有することを特徴とするマイクロプロセッ
サ制御装置。 - (2)(a)第1の命令を実行したときに、その割込み
処理のリターンアドレスが前記第1の命令の次のアドレ
スを指示する特別割込みを発生するマイクロプロセッサ
であって、 切替信号により動作状態になり、第2のマイクロプロセ
ッサの全てのレジスタを、そのレジスタにセットし、前
記第1の命令を実行した後に前記全てのレジスタ及び前
記リターンアドレスを出力する第1のマイクロプロセッ
サと、 (b)前記第1のマイクロプロセッサとオブジェクトコ
ードで互換性があり、前記第1の命令を実行したときに
前記第1のマイクロプロセッサに切替る前記切替信号を
出力して、前記第1の命令を実行させた後に、前記第1
のマイクロプロセッサの前記全てのレジスタ及びリター
ンアドレスを読込み、前記第1の命令の次の命令から処
理を実行する第2のマイクロプロセッサと、 を備えたことを特徴とする請求項(1)記載のマイクロ
プロセッサ制御装置。 - (3)(a)互いにオブジェクトコードで互換性があり
、演算能力に差があり、かつ予め決められた動作順序を
有する複数個のマイクロプロセッサを有して、 (b)更に、処理不可の割込みが発生する度に前記順序
に基づいて該当するマイクロプロセッサを動作させる切
替手段と を備えたことを特徴とする請求項(1)記載のマイクロ
プロセッサ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9870089A JPH02138630A (ja) | 1988-08-26 | 1989-04-20 | マイクロプロセッサ制御装置 |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP21189788 | 1988-08-26 | ||
| JP63-211897 | 1988-08-26 | ||
| JP63-211898 | 1988-08-26 | ||
| JP9870089A JPH02138630A (ja) | 1988-08-26 | 1989-04-20 | マイクロプロセッサ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02138630A true JPH02138630A (ja) | 1990-05-28 |
Family
ID=26439828
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9870089A Pending JPH02138630A (ja) | 1988-08-26 | 1989-04-20 | マイクロプロセッサ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02138630A (ja) |
-
1989
- 1989-04-20 JP JP9870089A patent/JPH02138630A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH02267634A (ja) | 割込み処理装置 | |
| JPH02156334A (ja) | 情報処理装置 | |
| JP2003058381A (ja) | プログラムによる例外処理設定を可能にしたプロセッサ | |
| JPH02138630A (ja) | マイクロプロセッサ制御装置 | |
| JP2677458B2 (ja) | システムコール実行装置 | |
| JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
| US5179668A (en) | Signal processor | |
| JPS6290728A (ja) | 割込処理方法 | |
| JPS59218569A (ja) | マイクロ・コンピユ−タ | |
| JP2000040028A (ja) | Cpu制御によるdspプログラム領域の拡張方式 | |
| JP2005275703A (ja) | プロセッサ及びコンテキスト切り替え方法 | |
| WO2003088036A1 (en) | System and method for instruction level multithreading | |
| JPH044630B2 (ja) | ||
| JPS6148746B2 (ja) | ||
| JP3127737B2 (ja) | ディジタル信号処理装置 | |
| JPH0683640A (ja) | 割込応答処理方式 | |
| JP2000172629A (ja) | データ転送方法およびデータ転送装置 | |
| JP2504535B2 (ja) | バスユニットの構成方法 | |
| JPH02176832A (ja) | マイクロコンピュータ | |
| JPH0477930A (ja) | マイクロコンピュータ | |
| JPH01309174A (ja) | ベクトル処理装置 | |
| JPS61184644A (ja) | 仮想計算機システム制御方式 | |
| JP2001154911A (ja) | 半導体集積回路 | |
| JPH07210539A (ja) | 積和演算回路 | |
| JPH0367357A (ja) | マルチcpuシステム |