(57)【特許請求の範囲】
【請求項１】
命令を自身でフェッチ又は他のマイクロコンピュータから入力されることにより一連のデータ処理を行うマイクロコンピュータにおいて、
上記マイクロコンピュータは、命令を解釈し実行する制御演算部と、任意ビット長の割り込みレジスタと割り込み条件論理回路部と、マスクレジスタとを含む割り込み発生制御部と、
上記割り込み発生制御部で形成された割り込み信号を上記他のマイクロコンピュータに伝える信号端子とを有し、
上記制御演算部でのデータ処理結果に対応して上記割り込みレジスタに対して上記他のマイクロコンピュータに伝えるべき割り込み要因を含む情報が書き込まれ、
上記割り込み条件論理回路部は、上記割り込みレジスタに書き込まれた割り込み要因に対応した情報が入力されて、割り込み条件を満すビットの並びのときに割り込み条件が成立したことを示す信号を形成し、
上記割り込み発生制御部での上記割り込み信号の発生条件は、上記割り込み条件論理回路部で形成された割り込み条件が成立したことを示す信号に対して上記マイクロコンピュータ及び上記他のマイクロコンピュータから上記マスクレジスタに設定されるマスク情報により変更可能とされ、
上記割り込みレジスタの情報は、上記他のマイクロコンピュータから読み出し可能とされることを特徴とするマイクロコンピュータ。
【請求項２】
上記割り込み発生制御部での割り込み信号の発生条件は、上記割り込み発生制御部内の割り込み条件論理回路部をプログラマブルな回路や素子を組み合わせて更に変更可能とされることを特徴とする請求項１のマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、データ処理装置に関し、例えばマイクロコンピュータならびにその周辺コントローラにおける割り込み機能に利用して有効な技術に関するものである。
【０００２】
【従来の技術】
従来のマイクロコンピュータでは、内蔵した周辺機能並びに外部装置からの割り込み受け付けの機能を備えており、その受け付け優先度や周辺機能からの割り込みについても詳しく規定されている（一般公開）。このような割り込み機能を持つマイクロコンピュータの例として、（株）日立製作所発行『日立シングルチップコンピュータ  Ｈ８／５００シリーズ  プログラミングマニュアル：ＡＤＪ−６０２−０２２』がある。複数のマイクロコンピュータを使用してシステムを設計する場合、シングルチップマイクロコンピュータに内蔵されているシリアル通信機能を用いるか、汎用ポートを独自仕様によりパラレルハンドシェークポートに構成することにより、マイクロプロセッサ間の通信や命令単位の同期合わせを行うものである。
【０００３】
【発明が解決しようとする課題】
本願発明者にあっては、複数のマイクロコンピュータ（ＣＰＵ）を駆使して一連のデータ処理を行うシステムを構成して、システム全体の制御を受け持つマスタＣＰＵと一部の制御機能を専業とし、あるいは特殊機能を高性能化とするために設けられたスレーブＣＰＵとの間の命令単位の同期を採る際、割り込み信号を用いて応答性の良い通信制御方式を検討した。
【０００４】
この場合、スレーブＣＰＵは、マスタＣＰＵから制御命令もしくは動作開始のトリガを受け取ると、自身に割り振られた制御処理を開始し、その処理が終了した時点で速やかにその旨をマスタＣＰＵに知らせて動作を完結する。その際、マスタＣＰＵは、複数のスレーブＣＰＵを管理している場合には、どのスレーブＣＰＵがどのタスクをどういった状態で完結したかを知っておく必要がある。
【０００５】
従来の割り込み方式は、複数のマイクロコンピュータを駆使した高性能のシステムを予定しておらず、割り込みの受け付けに重点が置かれた設計になっており、より高次のＣＰＵに対して割り込み信号を発生させるといった発想がなされていない。したがって、複数からなるマイクロコンピュータを用いた分散制御型のシステムを構築する場合には、上記のようにシリアル通信や汎用パラレルポートを用いるものである。しかし、前者のシリアル通信にあっては、比較的遠いＣＰＵ間の通信には配線数が少なくノイズに対して耐性があるが、多くの情報を短時間で送信／受信したり応答性を要求するシステムには向かない。後者の汎用パラレルポートにあっては、使用するＣＰＵの機能やユーザー仕様に合わせて構成することから規格化することが難しく、外付け部品も必要なことから低価格化や小型化には向かない。
【０００６】
高性能化を図ったデータ処理システムでは、８／１６ビットシングルチップマイクロコンピュータが多用され、分散制御においてもリアルタイムＯＳが一般的になってきた現状において、マスタＣＰＵとスレーブＣＰＵ間の割り込み応答時間に関しても、システムの高性能化とともにその要求は厳しさを増している。そこで、マスタＣＰＵとスレーブＣＰＵとの間を割り込み信号を用いて応答性をよくしつつ命令単位での同期を採ることを考えた。
【０００７】
この発明の目的は、汎用性と応答性を改善した割り込み機能を持つデータ処理装置を提供することにある。
この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、データ処理装置を構成する命令を解釈し実行する制御演算処理部に対応して任意ビット長の割り込みレジスタと割り込み条件論理部からなる割り込み発生制御部を設けて、他の装置に対する割り込み信号の発生と割り込みレジスタの内容の読み出しを可能にする。
【０００９】
【作用】
上記した手段によれば、割り込み条件論理部により任意の条件により割り込み信号を発生し、それを受け付けた他の装置ではバス等のデータ通信手段を用いて割り込みレジスタの内容を読み取ることにより割り込みの発生の意味や通信情報を素早く知ることができる。
【００１０】
【実施例】
図１には、この発明に係るデータ処理装置のうち、制御演算処理部に対応して設けられる割り込み信号発生部の一実施例のブロック図が示されている。この実施例のデータ処理装置は、特に制限されないが、スレーブＣＰＵ（マイクロコンピュータ）に向けられている。
【００１１】
割り込み信号発生部は、スレーブＣＰＵの制御演算部に対応して設けられており、従来の一般に公開されている割り込み回路とは区別されて設けられる。
割り込み発生部は、スレーブＣＰＵの内部バスを介して制御演算部等と接続され、外部のマスタＣＰＵを含む外部装置からは外部バスを介して内部にアクセス可能な構成にされる。また、外部のマスタＣＰＵを含む外部装置に対して割り込み信号（ＩＲＱ）を出力させる。
【００１２】
割り込み発生制御部は、大まかに言って割り込み情報を書くための任意ビット長（ｎビット）からなる割り込みレジスタと、割り込み信号の発生の条件を設定（決定）する割り込み条件論理回路部（Ｇａｔｅ  等）と、割り込み信号の出力を条件の成立に関係なく、許可／禁止するマスクレジスタから構成される。
【００１３】
スレーブＣＰＵは、マスタＣＰＵを含む外部装置に対して一連のタスクの終了とその終了時の状況を報告又は一連のタスク中に発生する状況の報告を行うために、割り込み発生制御部を用いて、割り込み信号（ＩＲＱ）を出力するが、この割り込み信号を出力するまでの手順は次の通りである。
【００１４】
▲１▼  スレーブＣＰＵの初期状態では、電源投入時などのリセット信号により、割り込みレジスタとマスクレジスタの内容は、割り込み信号（ＩＲＱ）が出力されない状態になっている。
【００１５】
▲２▼  スレーブＣＰＵは、何らかの手段により、マスタＣＰＵを含む外部装置から一連のタスクを処理するような命令を受けて動作を開始する。
【００１６】
▲３▼  スレーブＣＰＵは、一連のタスクの処理を終えた時点で内部バスを介して割り込みレジスタに対してタスクの終了状況などを書き込む。
【００１７】
▲４▼  割り込みレジスタに書き込まれた内容は、割り込み条件論理部に入力され、割り込み発生の条件を満たしたビットの並び（データ・コード）になっている場合に限り、マスクレジスタへ割り込み条件が成立したことを示す信号を出力する。この割り込み発生の条件を満たした並び（データ・コード）というのは、例えば▲１▼で説明されている初期状態で書き込まれるデータ・コード以外のデータ・コードであるとか、任意のデータ・コードやまたそれらの集合体であるといったことをさす。
【００１８】
割り込み発生の条件を決める割り込み条件論理回路部では、それらの条件式を論理ゲート（Ｇate)などのハードウェアにより固定的に構成したり、論理ゲートに内部バスなどに接続されたレジスタやラッチ回路といったプログラマブルな回路や素子を組み合わせることで静的にも動的にもユーザーの希望により変更できるように構成される。割り込み条件論理回路部から出力される割り込み条件が成立したことを示す信号は、マスクレジスタの状態により、マスタＣＰＵを含む外部装置に対して割り込み信号（ＩＲＱ）を出力させられたり、マスク（出力禁止）させられる。
【００１９】
▲５▼  スレーブＣＰＵから割り込み信号（ＩＲＱ）が出力されると、マスタＣＰＵを含む外部装置では、割り込み信号（ＩＲＱ）を受け取るとすぐに、もしくは割り込み信号に対する処理に移行できる時点で割り込み処理タスク（ルーチン）に移行する。
【００２０】
マスタＣＰＵを含む外部装置で行われる割り込み処理タスク（ルーチン）において、マスタＣＰＵを含む外部装置は、スレーブＣＰＵからの割り込み信号（ＩＲＱ）がどのような理由で出力されたかを外部バスを介して割り込みレジスタの内容を読み取ることにより知り、その情報に基づいて的確な割り込み処理タスク（ルーチン）を実行する。その際、割り込みレジスタには、例えば実行が完了したタスクを示すデータ・コードやタスク完了時のスレーブＣＰＵの状態やタスク結果（データなど）や完了時もくしは中途終了時のエラーコード等が書かれている。
【００２１】
▲６▼  マスタＣＰＵを含む外部装置が、割り込み処理タスク中で割り込みレジスタの内容を読み出した後は、マスタＣＰＵを含む外部装置への割り込み信号（ＩＲＱ）の出力停止と、できればスレーブＣＰＵに対してマスタＣＰＵを含む外部装置が割り込み処理タスクを実行していることを知らせる割り込み応答信号の出力を行うことが望ましい。これにより、上記のようなマルチＣＰＵ構成のシステムにおける制御の信頼性を向上させることができる。
【００２２】
割り込み信号（ＩＲＱ）の出力停止方法については、マスタＣＰＵを含む外部装置が割り込みレジスタの内容を読み出した後に、割り込みレジスタに対して外部バスを介して割り込み信号（ＩＲＱ）を発生しないデータ・コードを書き込む。この構成に代えて、図示しないが、スレーブＣＰＵにおいてマスタＣＰＵを含む外部装置が割り込みレジスタの内容を読み出したことを検出し、この検出信号により自動的に割り込みレジスタに対して割り込み信号（ＩＲＱ）を発生しないデータ・コードを書き込むとか初期状態にリセットさせるものであってもよい。また、簡易的にマスクレジスタに対しても同様の考え方の処理を行って割り込み信号（ＩＲＱ）の出力を停止させることも可能である。
【００２３】
割り込み応答信号の出力の方法については、マスタＣＰＵを含む外部装置が割り込みレジスタに対して外部バスを介して応答としてデータ・コードを書き込むことで、割り込み信号（ＩＲＱ）を発生させる場合と同様な信号処理を割り込み条件論理回路部で行うようにする。あるいは、図示されていないが、割り込み条件論理回路部内にマスタＣＰＵを含む外部装置が外部バスを介してアクセス（書き込み／読み出し）できる割り込み応答信号の出力の可否を決める、例えばレジスタやラッチ回路といった記憶手段を設ける構成としてもよい。
【００２４】
▲７▼  割り込み条件論理回路部について、▲４▼ではスレーブＣＰＵが割り込み信号（ＩＲＱ）の出力条件をプログラムで決定・変更できることについて述べているが、割り込み信号（ＩＲＱ）の出力条件は必ずしも全てがマスタＣＰＵを含む外部装置が割り込み受け付けを必要とする条件になっていない場合がある。この場合、マスタＣＰＵを含む外部装置が、割り込み条件論理回路部にアクセス（書き込み・読み出し・変更）できることが必要である。
【００２５】
マスクレジスタの状態についても、マスタＣＰＵを含む外部装置が常に割り込み信号（ＩＲＱ）を受け付けることができる状況にあるとは限らないから、同様にマスクレジスタに対してもアクセス（書き込み・読み出し・変更）できるようにされる。
【００２６】
図２には、この発明に係るデータ処理装置のうち、制御演算処理部に対応して設けられる割り込み信号発生部の他の一実施例のブロック図が示されている。
図１の実施例では、スレーブＣＰＵからマスタＣＰＵを含む外部装置に対する割り込み信号（ＩＲＱ）の出力において、割り込みレジスタが１つの要因データ・コードを伝えるものとして例示的に説明されている。
【００２７】
この実施例では、割り込みレジスタと割り込み条件論理回路部との間にマスクレジスタが設けられる。このマスクレジスタにより、割り込みレジスタにおいて複数の要因データ・コードを同時に書き込だり、言い換えるなれば、複数の要因データ・コードを設定したり、要因とは直接的に関係のないコメント的なデータ・コードを書き込む（割り込みレジスタの全てが割り込み条件論理回路部に入力もしくは影響されない構成であれば同様の機能が実現できる）ことが可能とするものである。
【００２８】
マスクレジスタの構成に関しても、同図では明示されていないが、割り込みレジスタの全てのビットに対応してマスクレジスタがビットを持つ必要はなく、システム仕様に合わせて任意に構成することができる。
【００２９】
図３には、割り込み条件論理回路部の一実施例の論理回路図が示されている。この実施例では、割り込みレジスタのデータ・コードを受けるナンド（ＮＡＮＤ）ゲート回路を用いることにより、固定的な回路により構成している。すなわち、同図の実施例では、割り込みレジスタのｎビットが全て論理１になると、ナンドゲート回路によりロウレベルの割り込み信号が発生される。
【００３０】
図４には、割り込み条件論理回路部の他の一実施例の論理回路図が示されている。この実施例では、フリップフロップ（Ｆ／Ｆ）により制御されるゲート回路を介して割り込み信号を発生させるナンドゲート回路に割り込みレジスタのデータ・コードを入力する構成とされる。上記フリップフロップ（Ｆ／Ｆ）への書き込みにより、割り込みレジスタのデータ・コードの選択的な出力を制御することができるから、割り込み条件論理をプログラマブルにすることができる。
【００３１】
なお、実際のシステムへの応用においては、図３や図４の実施例に限定されるものではなく、システムの実体に合わせて多種多様な割り込み条件論理回路の実現方法を採ることができるものである。
【００３２】
図５には、この発明に係るデータ処理装置を用いたデータ処理システムの一実施例の概略ブロック図が示されている。
この実施例では、複数のマイクロコンピュータ（ＣＰＵ）を駆使して一連のデータ処理を行うシステムであり、システム全体の制御を受け持つマスタＣＰＵと一部の制御機能を専業とし、あるいは特殊機能を高性能化とするために設けられた複数からなるスレーブＣＰＵ０，ＣＰＵ１とから構成される。他の周辺コントローラは上記スレーブＣＰＵ０又はＣＰＵ１等と等価であるので省略されている。また、メモリ装置等はこの発明には直接関係がないので省略されている。
【００３３】
スレーブＣＰＵ０とＣＰＵ１は、それぞれが前記図１又は図２の実施例のような割り込み発生制御部を持つ。同図には、この割り込み発生制御部を代表して、割り込みレジスタとゲート回路Ｇａｔｅ  が例示的に示されている。
【００３４】
マスタＣＰＵは、フレーブＣＰＵ０とＣＰＵ１に対応した割り込み入力端子ＩＲＱ−ｉｎ０とＩＲＱ−ｉｎ１を持つ。マスタＣＰＵは、アドレス指定によりスレーブＣＰＵ０とＣＰＵ１の選択を指示する。すなわち、デコーダは、マスタＣＰＵからのアドレス情報を解読し、スレーブＣＰＵ０又はＣＰＵ１へのアクセスを解読すると、選択信号ＣＳを発生させてスレーブＣＰＵ０又はＣＰＵ１の選択し、データバスを介してコマンド等を送出する。このような選択動作は、マスタＣＰＵ側からみれば、メモリ装置等の周辺機器に対する選択動作と同様に行うことができる。
【００３５】
マスタＣＰＵからスレーブＣＰＵ０又はＣＰＵ１等に対する起動の方法は、前記のようなアドレス指定とデータバスを介したコマンドの送出により行うもの他、専用の制御信号線等により行う構成としてもよい。
【００３６】
スレーブＣＰＵ０，ＣＰＵ１側からマスタＣＰＵに対する割り込み発生とそれに対応したマスタＣＰＵの応答動作に関しては、前記図１の説明と同様であるので、省略する。
【００３７】
上記の実施例から得られる作用効果は、下記の通りである。すなわち、
（１）  データ処理装置を構成する命令を解釈し実行する制御演算処理部に対応して任意ビット長の割り込みレジスタと割り込み条件論理部からなる割り込み発生制御部を設けて、他の装置に対する割り込み信号の発生と割り込みレジスタの内容の読み出しを可能にすることにより、割り込みを受け付けた他の装置ではバス等のデータ通信手段を用いて割り込みレジスタの内容を読み取ることができる。したがって、割り込みを受け付けた装置において割り込みの発生の意味や通信情報を素早く知ることができるという効果が得られる。
【００３８】
（２）  上記（１）により、既に開発されているマイクロコンピュータ等のデータ処理装置に割り込み発生制御部を追加することにより、複数のマイクロコンピュータ（ＣＰＵ）を駆使して、一連の制御を行うデータ処理システムを構成するとき、システム全体の制御を受け持つマスタＣＰＵと、一部の制御機能を専業とし、又は特殊機能の高性能化のために設けられたスレーブＣＰＵ等の間の命令単位の同期を採る際、割り込み信号を用いて応答性の良い通信方式を容易に実現できるので、分散制御においてもリアルタイムＯＳ制御下のマスタＣＰＵとスレーブＣＰＵ間の高速割り込み応答性を実現できるという効果が得られる。
【００３９】
以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、割り込み発生制御部が設けられるスレーブＣＰＵは、マイクロコントロール機能を持つものであれば何であってもよい。割り込み条件論理部は、割り込みレジスタをｎ系統持たせて付加情報を多く受け渡せるようにしたり、タスクごとに独立して管理するようにしてもよい。電気的に書き込みが可能なプログラマブル記憶素子を用いて、ユーザー自身が割り込み条件論理を設定できるようにするものであってもよい。
この発明は、データ処理装置に広く利用できる。
【００４０】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。すなわち、データ処理装置を構成する命令を解釈し実行する制御演算処理部に対応して任意ビット長の割り込みレジスタと割り込み条件論理部からなる割り込み発生制御部を設けて、他の装置に対する割り込み信号の発生と割り込みレジスタの内容の読み出しを可能にすることにより、割り込みを受け付けた他の装置ではバス等のデータ通信手段を用いて割り込みレジスタの内容を読み取ることにより割り込みの発生の意味や通信情報を素早く知ることができる。
【図面の簡単な説明】
【図１】この発明に係るデータ処理装置の制御演算処理部に対応して設けられる割り込み信号発生部の一実施例を示すブロック図である。
【図２】この発明に係るデータ処理装置の制御演算処理部に対応して設けられる割り込み信号発生部の他の一実施例を示すブロック図である。
【図３】上記割り込み信号発生部に設けられる割り込み条件論理回路部の一実施例を示す論理回路図である。
【図４】上記割り込み信号発生部に設けられる割り込み条件論理回路部の他の一実施例を示す論理回路図である。
【図５】この発明に係るデータ処理装置を用いたデータ処理システムの一実施例を示す概略ブロック図である。
【符号の説明】
ＩＲＱ…割り込み信号、Ｆ／Ｆ…フリップフロップ。
【図１】
0003547012.tif 000002
【図２】
0003547012.tif 000003
【図３】
0003547012.tif 000004
【図４】
0003547012.tif 000005
【図５】
0003547012.tif 000006