(57)【要約】【課題】  従来の制御装置では、可用性を担う部分装置と安全性を担う部分装置に分けた構成とするのが一般的であり、装置物量の増大を招いていた。【解決手段】  通常制御モードと安全制御モードが切り替わるときに、共有リソースに対するプロセッサ側および入出力装置側からのアクセス制御状態を変更することで、同一の計算機システム上において両方の制御モードを共存させる。そのために、複数のタスクを実行可能であり、前記複数のタスクで利用する共有リソースを備え、複数の制御モードを有し、前記の各制御モードのもとで１つ以上のタスクを実行する計算機システムにおいて、前記制御モード毎に前記各タスクから前記共有リソースへのアクセスに対するアクセス制御状態を適用し、かつ前記制御モードの切り替えに同期して前記アクセス制御状態を切り替える構成とする。【選択図】図１
2006338426.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクを実行可能であり、前記複数のタスクで利用する共有リソースを備え、複数の制御モードを有し、前記の各制御モードのもとで１つ以上のタスクを実行する計算機システムであって、前記制御モード毎に前記各タスクから前記共有リソースへのアクセスに対するアクセス制御状態を適用して前記アクセス制御状態を切り替えることを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、前記共有リソースとしてメモリおよび入出力装置の少なくとも一方を備えることを特徴とする計算機システム。
【請求項３】
複数のタスクが実行可能なタスク実行手段と、前記各タスクを実行する際に使用するリソースと、前記各タスクが実行する際に利用するリソース上のアクセスを許可するアドレス領域の情報又は読み書き許可情報を記憶するアクセス制御情報テーブルと、前記タスク実行手段は前記アクセス制御情報テーブルに記憶されたアクセスを許可するアドレス領域の情報又は読み書き許可情報に基づいて実行するタスクに対応するリソースのアドレスにアクセスすることを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムにおいて、前記リソースはメモリ又は入出力装置であることを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関するものである。
【背景技術】
【０００２】
機器の制御装置に適用される制御用計算機では、構成部品の故障や制御プログラムのバグ等によって危険な動作を引き起こさないよう、ハードウェア・ソフトウェア両面から適切な保護を施す必要がある。特に、プログラムおよびデータが格納されるメモリ、ないし入出力装置等の共有リソースを、上記の故障およびバグによる意図しないアクセスから保護するためのアクセス制御手段は、最も重要な機能の一つである。アクセス制御手段の実現に関して、制御プログラムのバグ等が原因でプロセッサがメモリ上の重要な領域に誤ってアクセスしないよう、アドレス変換機構を利用してメモリ領域の保護を実現する方式が知られている。これは、プロセッサに内蔵されているMemory Management Unit（ＭＭＵ）において、プログラムからのアクセスを許可するメモリ領域の情報のみを登録し、それ以外の領域へのアクセスに対してはアクセス違反例外を発生させるようにすることで、本来アクセスされるべきでないメモリ領域への誤アクセスを防ぐものである。
【０００３】
そのほか、特許文献１のメモリアクセス保護装置において、バス上に出力されたアドレスを監視することにより、所定のメモリ領域に対するアクセスを制御する例が開示されている。
【０００４】
【特許文献１】特開平６−７５８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
プログラマブル電子装置に要求される信頼性の要素には可用性と安全性がある。機器の制御では可用性が重要となり、機器の保護では安全性が重要となる。これら２要素の実現手段は二律背反している部分が多い。
【０００６】
このため、従来は可用性を担う部分装置と安全性を担う部分装置に分けた構成とするのが一般的であった。このために装置の物量が増大するだけでなく、運転・保守作業の重複や複雑化が人的要素の信頼性低下を招くことがあった。
【０００７】
本発明の目的は、装置物量の削減および高性能化と、安全性を両立する高信頼のプログラマブル電子装置を提供することにある。
【０００８】
高い安全性が要求される制御用計算機では、メモリないし入出力装置等の共有リソースに対して、プロセッサで実行される制御タスクから誤アクセスが発生する場合のみならず、入出力装置自体の故障等によりメモリないし他の入出力装置への誤アクセスが発生する場合までも考慮し、それらを抑止可能なようにアクセス制御手段を構成する必要がある。
【０００９】
ＭＭＵのアドレス変換機能を利用するアクセス制御は、制御プログラムのバグ等によるプロセッサからの誤アクセスには有効である。しかし、入出力装置側から共有リソースへのアクセスはスループットの向上を目的として、Direct Memory Access（ＤＭＡ）方式によりプロセッサを介さずに行われることも多い。そのようなアクセス経路に対しては、
ＭＭＵを用いるアクセス制御手段では適切な保護を行うことができない。
【００１０】
同一の制御用計算機上で、機器制御を目的とする通常制御と、機器の保護を目的とする安全制御とを共存させることを考えた場合、各々のモードに対応する制御タスクと、それに対応する入出力装置がそれぞれ同一の計算機システム内に混在することになる。このとき、通常制御モードと安全制御モードが切り替わる際にプロセッサから共有リソースへのアクセスに対するアクセス制御状態を切り替える必要があるのはもちろんのことであるが、前述の理由から、入出力装置側から共有リソースへのアクセスに対するアクセス制御状態も切り替える必要がある。
【課題を解決するための手段】
【００１１】
上記課題を解決するための計算機システムは、制御のための演算操作を実行する１つ以上の制御タスク実行手段と、前記制御動作に付随して外部機器に対して入出力操作を実行する１つ以上の入出力タスク実行手段とを備え、前記制御タスク実行手段と入出力タスク実行手段は、それぞれ通常制御を目的とするタスクを実行するモードと安全制御目的のタスクを実行するモードを有する。
【００１２】
加えて、前記計算機システムは、前記通常制御モードと前記安全制御モードとを切り替えるための制御モード切替手段と、前記制御タスク群および入出力タスク群が共有するリソースであるメモリおよび入出力装置と、前記制御タスクと前記入出力タスクの各々にそれぞれ対応するアクセス制御情報に従い、前記各タスクから前記共有リソースへのアクセス可否を判定するアクセス制御手段、を備える計算機システムであって、前記通常制御モードと前記安全制御モードとの切り替えに同期して、前記制御タスクと前記入出力タスクのそれぞれに対応するアクセス制御手段に対し、前記各制御モード毎に予め定めたアクセス制御情報を設定することを特徴とする。
【００１３】
また、複数のタスクが実行可能なタスク実行手段と、各タスクを実行する際に使用するメモリと、各タスクが実行する際に利用するメモリ上のアドレス領域の情報又は読み書き許可情報を記憶するアクセス制御情報テーブルと、タスク実行手段はアクセス制御情報テーブルに記憶されたアドレス領域の情報又は読み書き許可情報に基づいて実行するタスクに対応するメモリのアドレスにアクセスするものとする。
【発明の効果】
【００１４】
本発明によれば、プロセッサ等による演算が主である制御タスクと、入出力装置とメモリの間のデータ転送が主である入出力タスクの両方に共有リソースへのアクセス制御を適用することで、故障およびバグによる意図しないアクセスから共有リソースを保護することが可能となり、計算機システムの安全性を向上させることが可能となる。加えて、安全制御モードに属する制御タスクおよび入出力タスクと、通常制御モードに属する制御タスクおよび入出力タスクに対し、異なるアクセス制御状態を割り当て、制御モードの切り替え時にアクセス制御状態も同期して切り替えることで、同一の計算機システム上において両方の制御モードを共存させることができ、安全性と性能との両立が図れる。
【発明を実施するための最良の形態】
【００１５】
本発明は、計算機システム内の共有リソースへの意図しないアクセスを抑止し、前記共有リソースを保護するアクセス制御装置およびその実現方式に関する。
【００１６】
以下、図面を参照し、本発明の実施例について説明する。以降の実施例では、計算機システムが有する制御モードとして通常制御モードと安全制御モードの２つを用いている。しかしながら、本発明の実施にあたっては、制御モードを前記の２つのみに限定する必要はない。
【００１７】
例えば、安全制御に関しては、制御対象への影響度によりいくつかの安全レベルを設け、そのそれぞれに対して制御モードを割り当ててもよい。
【００１８】
また、制御モードを分ける基準が必ずしも安全性に基づく必要もない。例えば、目的の異なる複数の制御動作を行わせる場合、それぞれの目的に対して制御モードを割り当ててもよい。
【実施例１】
【００１９】
図１に、本発明における第１の実施例である計算機システムの全体構成を示す。制御モード切替手段７は、オペレーティングシステム６より制御モード切り替え指示信号６０１を受け取ることにより、制御タスク実行手段１および入出力タスク実行手段２の制御モードを通常制御モードと安全制御モードに交互に切り替える。
【００２０】
制御タスク実行手段１は、制御モード指示信号７０１により指定される制御モードに切り替わり、現在の制御モードに対応する制御タスクを実行する。すなわち、制御モード指示信号７０１により通常制御モード１１が指示されている間は通常制御タスクを実行し、制御モード指示信号７０１により安全制御モード１２が指示されている間は安全制御タスクを実行する。入出力タスク実行手段２も同様であり、制御モード指示信号７０１で指示される制御モードに対応して通常入出力タスクまたは安全入出力タスクを実行する。
【００２１】
なお、制御タスク実行手段１および入出力タスク実行手段２は、マイクロプロセッサ回路、所定のシーケンスに従って動作する専用回路、あるいはその他の公知技術を任意に用いて構成することが可能であり、それによって本発明の内容が制約を受けることはない。
【００２２】
制御タスク実行手段１は、アドレス信号１０１とリード／ライト要求信号１０２、およびデータ信号１０３によってアクセス制御装置３に接続される。入出力タスク実行手段
２も同様に、アドレス信号２０１とリード／ライト要求信号２０２、およびデータ信号
２０３によってアクセス制御装置３に接続される。また、アクセス制御装置３は、メモリ制御信号４０１および入出力装置制御信号５０１によりメモリ４と入出力装置５に接続される。
【００２３】
次に、アクセス制御装置３におけるアクセス制御動作について説明する。以下の説明では制御タスク実行手段１からメモリ４および入出力装置５へのアクセス経路に着目するが、入出力タスク実行手段２からのアクセス経路についても同様であり、説明は省略する。
【００２４】
図２に、制御モード切替手段７に備わっているアクセス制御情報テーブル７１の構成を示す。アクセス制御情報テーブル７１には、通常制御モードと安全制御モードの各々と、制御タスク実行手段１と入出力タスク実行手段２の各々による組み合わせ毎に、メモリ４および入出力装置５に対してアクセスすることを許可されるアドレス領域の情報７１２と、読み／書きに関する許可情報７１３の組が格納されている。アドレス領域情報７１２として、下限／上限アドレスの組による表現や、メモリをページ単位で区切ったマップ表現などを任意で用いてよい。
【００２５】
図３に、アクセス制御情報テーブル７１により制御モード毎に定義される、アクセス制御状態の例をメモリマップの形で示す。
【００２６】
アクセス制御情報テーブル７１は、内部に格納されているアドレス領域情報７１２と読み書き許可情報７１３の組のうち、現在の制御モードに対応する組をアクセス制御情報
７１１として出力する。制御モード切替手段７により制御モードが切り替わる時には、新たな制御モードに対応するアクセス制御情報７１１を図２のアクセス制御情報テーブル
７１から選択し、図１の領域判定手段３３および３５へ出力する。
【００２７】
図１において、制御タスク実行手段１がメモリ４ないし入出力装置５に対してアクセス要求を発行する場合は、入出力バッファ１３からアクセス要求ポート３１に対してアドレス信号１０１を出力する。このとき、リード／ライト要求信号１０２としてリード要求に対応する値（例えば論理‘１’）またはライト要求対応する値(例えば論理‘０’)をあわせて出力し、さらにライト要求時にはデータ信号１０３として書き込む値を出力する。制御タスク実行手段１によってアクセス要求ポート３１に設定されたデータのうち、アドレス信号３１１とリード／ライト要求信号３１２とは領域判定手段３３へ入力される。領域判定手段３３は、アクセス制御情報テーブル７１より出力されるアクセス制御情報７１１を用いて、制御タスク実行手段１からのアクセス要求を許可すべきか否かを判定する。すなわち、アドレス信号３１１で示されるアドレスがアクセスを許可された領域に含まれており、かつ、書き込みが禁止されている領域への書き込みでないアクセス要求であればアクセス許可と判定する。
【００２８】
領域判定手段３３による判定の結果は、ゲート制御信号３３１によりゲート回路３４に伝えられる。領域判定手段３３によりアクセス許可と判定された場合にはゲート回路３４が開かれ、アクセス実行手段３７によってメモリ４ないし入出力装置５へのアクセスが開始される。領域判定手段３３によりアクセス不許可と判定された場合、ゲート回路３４は閉鎖され、メモリ４ないし入出力装置５へのアクセスは実行されない。また、オペレーティングシステム（ＯＳ）６に対してアクセス違反通知６０２が発行される。アクセス違反通知６０２は、システムを非常停止させるなどの異常処理を起動するためのトリガとして利用される。
【実施例２】
【００２９】
図４に、本発明における第２の実施例である制御用計算機の構成を示す。本実施例では、プロセッサ１１３を第一の制御タスク実行手段として通常制御タスクおよび安全制御タスクを実行させる。通常制御モード１４と安全制御モード１５との切り替えは、制御モード切替手段７から出力される制御モード指示信号７０１によってなされる。また、プロセッサ１６を第二の制御タスク実行手段として、通常制御タスク１７のみを実行させる。
【００３０】
アクセス制御装置３は、それぞれプロセッサ１１３および１６，共有メモリ４１と接続される。また、入出力バス５１を介して入出力装置５２とも接続される。入出力装置５２はＤＭＡコントローラ５２３を備え、プロセッサの助けを借りることなく入出力データを直接メモリから、あるいはメモリへ転送する機能を有する。
【００３１】
制御モード切替手段７から出力される制御モード指示信号７０１により通常制御モードが指示されている期間は、アクセス制御装置３は共有メモリ４１に対して緩いアクセス制御を適用するようにアクセス制御情報テーブル７１を定義する。
【００３２】
一方、制御モード指示信号７０１により安全制御モードが指示されている期間は、アクセス制御装置３は共有メモリ４１に対して安全制御タスクからのアクセスのみ許可するようにアクセス制御情報テーブル７１を定義する。
【００３３】
以上の構成によれば、安全制御モード１５の際、共有メモリ４に対しては安全制御タスクからのアクセスのみ許可することで、プロセッサ１６や入出力装置５２が万一の故障等で不正に共有メモリ４にアクセスすることを抑止し、共有メモリ４内の重要なデータを保護することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明による第１の実施例である、計算機システムの構成を示す図。
【図２】第１の実施例におけるアクセス制御情報テーブル７１の構成を示す図。
【図３】各制御モードにおけるアクセス制御状態を示すメモリマップ図。
【図４】本発明による第２の実施例である、制御用計算機の構成を示す図。
【符号の説明】
【００３５】
１…制御タスク実行手段、２…入出力タスク実行手段、３…アクセス制御装置、５…入出力装置、６…オペレーティングシステム、７…制御モード切替手段、１１…通常制御モード、１２…安全制御モード、１０１…アドレス信号、１０２…リード／ライト要求信号、１０３…データ信号、４０１…メモリ制御信号、５０１…入出力装置制御信号、６０１…制御モード切替指示信号、７０１…制御モード指示信号。
【図１】
2006338426.tif 000003
【図２】
2006338426.tif 000004
【図３】
2006338426.tif 000005
【図４】
2006338426.tif 000006