(57)【要約】【課題】不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供する。【解決手段】半導体装置１００は、主制御装置１１０と副制御装置１２０とを有する。主制御装置１１０は、外部信号を受け付けるメインプログラムを格納する主メモリ１１２と、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路１１５と、を含む。副制御装置１２０は、主制御装置１１０に接続し、トリガ信号を取得するトリガ信号取得回路１２１と、取得したトリガ信号に基づいてサブプログラムを主制御装置１１０に出力するサブプログラム出力回路１２３とを含む。【選択図】図２
2020071797.tif 000002
【特許請求の範囲】
【請求項１】
外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を有する主制御装置と、
前記主制御装置に接続し、前記トリガ信号を取得するトリガ信号取得回路と、取得した前記トリガ信号に基づいてサブプログラムを前記主制御装置に出力するサブプログラム出力回路と、を有する副制御装置と
を備える半導体装置。
【請求項２】
外部との通信である外部通信により到来する前記外部信号を取得する外部信号取得回路をさらに有する
請求項１に記載の半導体装置。
【請求項３】
前記外部信号取得回路は、公衆通信網を利用した外部通信により到来する前記外部信号を取得する請求項２に記載の半導体装置。
【請求項４】
前記外部信号取得回路は、予め定められた標準規格にしたがった外部通信により到来する前記外部信号を取得する請求項２に記載の半導体装置。
【請求項５】
前記副制御装置が有するサブプログラム出力回路は、取得した前記トリガ信号に基づいて前記外部信号を受け付けないサブプログラムを前記主制御装置に出力する
請求項１に記載の半導体装置。
【請求項６】
前記副制御装置は、前記トリガ信号を取得した場合に、前記主制御装置に対して前記サブプログラムを転送することを要求する要求信号を出力する要求回路をさらに有する
請求項１に記載の半導体装置。
【請求項７】
前記主制御装置は、前記副制御装置からの前記要求信号を受け付けた後に前記副制御装置に対して前記要求信号に対する応答信号を出力し、前記応答信号を出力した後に前記サブプログラムを取得する応答回路をさらに有する
請求項６に記載の半導体装置。
【請求項８】
前記サブプログラム出力回路は、前記主制御装置から前記応答信号を受け取った場合に、前記サブプログラムを前記主制御装置に出力する
請求項７に記載の半導体装置。
【請求項９】
前記半導体装置は前記サブプログラムを記憶する副記憶装置をさらに備え、
前記副制御装置は前記副記憶装置を制御するメモリ制御回路をさらに有し、
前記メモリ制御回路は、前記副記憶装置が記憶する前記サブプログラムを前記サブプログラム出力回路に供給する
請求項８に記載の半導体装置。
【請求項１０】
前記主制御装置は、前記異常信号処理が行われた場合に出力電圧が変化する異常検出回路を有し、
前記トリガ信号出力回路は、前記異常検出回路の電圧変化に基づいて前記トリガ信号を出力する
請求項１に記載の半導体装置。
【請求項１１】
前記主制御装置は、前記サブプログラムを取得した場合に、前記主メモリに格納する前記メインプログラムを前記サブプログラムに書換える
請求項１に記載の半導体装置。
【請求項１２】
前記主制御装置は、前記トリガ信号を出力した場合に、前記トリガ信号を出力したことを明示する明示信号を出力する明示回路をさらに有する請求項１１に記載の半導体装置。
【請求項１３】
前記明示回路は、通信手段を介して前記明示信号を外部へ送信する請求項１２に記載の半導体装置。
【請求項１４】
前記主制御装置は、他の半導体装置から前記明示信号を受け取ることによっても前記副制御装置に前記トリガ信号を出力する請求項１２に記載の半導体装置。
【請求項１５】
前記トリガ信号を前記副制御装置に伝達することを許可するための伝達スイッチをさらに備える請求項１２に記載の半導体装置。
【請求項１６】
前記副制御装置は、前記副制御装置を非動作状態に保持することを受け付けるリセット端子をさらに有し、
前記主制御装置は、前記副制御装置が非動作状態の場合に前記主メモリに格納するプログラムの更新を受け付けるプログラム更新回路をさらに有する
請求項１に記載の半導体装置。
【請求項１７】
外部通信を行い前記主制御装置に前記外部信号を供給する通信装置をさらに有し、
前記主制御装置は、前記主メモリの前記メインプログラムを前記サブプログラムに書換えた場合に、前記通信装置に対して前記外部信号を前記主制御装置に供給しないことを指示する
請求項１に記載の半導体装置。
【請求項１８】
前記主制御装置は、前記主メモリの前記メインプログラムを前記サブプログラムに書換えた場合に、前記通信装置に対して予め設定された送信先に前記書換えしたことを明示する明示信号を送信することを指示する
請求項１７に記載の半導体装置。
【請求項１９】
外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を有する主制御装置と、
前記主制御装置に接続し、前記トリガ信号を取得するトリガ信号取得回路と、取得した前記トリガ信号に基づいてサブプログラムを前記主制御装置に出力するサブプログラム出力回路と、を有する副制御装置と
を備える複数の半導体装置が互いに通信可能に接続されており、
前記複数の半導体装置の内、一の半導体装置は、前記トリガ信号に基づく通知を他の半導体装置に送信する
半導体システム。
【請求項２０】
主制御装置に外部信号を受け付けるメインプログラムを格納するメインプログラム記憶ステップと、
前記主制御装置に接続されている副制御装置にサブプログラムを格納するサブプログラム記憶ステップと、
前記主制御装置において予め設定された信号処理とは異なる信号処理が行われた場合に前記副制御装置にトリガ信号を出力するトリガ信号出力ステップと、
前記副制御装置において、前記トリガ信号に基づいて前記サブプログラムを前記主制御装置に出力するサブプログラム出力ステップと、を備える半導体装置保護方法を、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、半導体システムおよびプログラムに関する。
【背景技術】
【０００２】
近年、インターネット接続など外部との通信機能を様々な機器が有するようになってきた。外部との通信機能を有することにより、ソフトウェアの更新やデータの共有などが容易に行われる反面、第三者等からの不正なアクセスによる危険が問題となっている。そのため、外部との通信機能を有する装置やシステムは、不正アクセスにより生じる危険を回避する手段が求められている。
【０００３】
例えば、半導体装置には、メモリプロテクション（またはエリアプロテクション）と呼ばれる機能が実装されている。メモリプロテクションは、予め設定されたアドレス空間に対するアクセスとは異なるアクセス、すなわち不正アクセスを検出する機能を有する。半導体装置のユーザは不正アクセスの検出をトリガとして半導体装置が搭載されているシステム等を保護する手段を採ることができる。
【０００４】
より具体的には、例えば特許文献１に記載のプログラム切替え装置は、マイコンに格納されている制御プログラムの整合性が検証されなかった場合に、保持された別の制御プログラムを実行する。また特許文献２に記載の装置は、不正アクセス監視用のサブマイコンが不揮発メモリに異常を検出するとメインマイコンの動作を禁止する機能を有する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４８５４６号公報
【特許文献２】特開平１１−３３８７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
半導体装置が不正アクセスを受けた場合には、不正アクセスによってソフトウェアが改ざんされている可能性がある。すなわち、その半導体装置自体に格納しているソフトウェアの信頼性を担保することができない。しかしながら特許文献２に記載の装置は、制御プログラムが保持されている保持手段に不正アクセスがあった場合、別の制御プログラムにも不正アクセスがあった可能性があるため信頼性が担保されているとはいえない。また特許文献１に記載の装置は、不正アクセス後にメインマイコンの動作を禁止するためそれ以降の装置の機能を継続させることができない。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、半導体装置は、主制御装置と副制御装置とを有する。主制御装置は、外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を含む。副制御装置は、上記主制御装置に接続し、上記トリガ信号を取得するトリガ信号取得回路と、取得した上記トリガ信号に基づいてサブプログラムを上記主制御装置に出力するサブプログラム出力回路と、を含む。
【０００９】
一実施の形態によれば、半導体システムは、主制御装置と副制御装置とを有する複数の半導体装置が互いに通信可能に接続されており、上記複数の半導体装置の内、一の半導体装置は、トリガ信号に基づく通知を他の半導体装置に送信する。
【００１０】
一実施の形態によれば、プログラムは、半導体装置保護方法を、コンピュータに実行させる。上記半導体装置保護方法は、主制御装置において予め設定された信号処理とは異なる信号処理が行われた場合に副制御装置にトリガ信号を出力するトリガ信号出力ステップを有する。また、上記半導体装置保護方法は、副制御装置において、上記トリガ信号に基づいてサブプログラムを主制御装置に出力するサブプログラム出力ステップを有する。
【発明の効果】
【００１１】
前記一実施の形態によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１にかかる呼吸補助システムの概略構成図である。
【図２】実施の形態１にかかる半導体装置の概略構成図である。
【図３】実施の形態１にかかる異常検出回路の具体例を示す図である。
【図４】主制御装置における異常検出回路の構成例を示す図である。
【図５】実施の形態１にかかる半導体装置の処理を示すフローチャートである。
【図６】実施の形態１にかかる呼吸補助システムのプログラム書換え後の状態を示す図である。
【図７】実施の形態１にかかる半導体装置と書換え装置とが接続された状態を示す図である。
【図８】実施の形態１の変形例にかかる半導体装置の概略構成図である。
【図９】実施の形態２にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。
【図１０】実施の形態２の変形例にかかる半導体システムの概略構成図である。
【図１１】実施の形態２の変形例にかかる半導体装置の処理を示すフローチャートである。
【図１２】実施の形態３にかかる半導体装置の概略構成図である。
【図１３】実施の形態３にかかる半導体装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
説明の明確化のため、以下の記載および図面は、適宜、省略、および簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによって様々な形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１４】
＜実施の形態１＞
以下に図面を参照しながら実施の形態１について説明する。図１は、実施の形態１にかかる呼吸補助システムの概略構成図である。図に示す呼吸補助システム１は、自力で呼吸をすることが困難な状態にある患者に対して呼吸動作を補助するために用いられる装置である。呼吸補助システム１は通信機能を有しており、ネットワーク９００を介してサーバ８００と通信可能に接続されている。呼吸補助システム１を管理する管理者は、サーバ８００が取得する呼吸補助システム１の状態に関する情報を管理することができる。また、管理者は、サーバ８００を用いて、呼吸補助システム１のプログラムを更新することもできる。
【００１５】
呼吸補助システム１は、主な構成として、呼吸補助装置１０、センサ１２、ポンプ１３、表示装置１５および入力装置１６を有している。以下に、まず、センサ１２、ポンプ１３、表示装置１５および入力装置１６について説明する。
【００１６】
センサ１２は、呼吸補助システム１を動作させるために必要な情報を取得し、取得した情報を呼吸補助装置１０に供給する。センサ１２が取得する情報には、例えばポンプ１３の回転数などの動作状態または患者の呼吸強度など複数の情報が含まれる。
【００１７】
ポンプ１３は、患者が行う呼吸を補助するためのポンプ装置である。ポンプ１３は、吸気口、排気口およびモータ１４を有している。モータ１４は、吸気口と排気口との間に介在し、吸気口から吸引した空気を排気口に送り出す。モータ１４は、呼吸補助装置１０に接続し、呼吸補助装置１０から指示を受けて動作する。
【００１８】
表示装置１５は、例えば表示部と表示部を駆動させるための表示駆動回路などを有するディスプレイ装置である。表示装置１５は、例えば呼吸補助システム１の動作状態やセンサ１２を介して取得した患者の状態等を表示する。入力装置１６は、例えばキーボード、タッチパネルまたはスイッチなどにより構成され、呼吸補助装置１０を使用するユーザから指示を受け付ける。
【００１９】
次に、呼吸補助装置１０について説明する。呼吸補助装置１０は、主な構成として、通信装置１１および半導体装置１００を有している。呼吸補助装置１０は、システムを構成するセンサ１２、ポンプ１３、表示装置１５および入力装置１６と有線または無線によりそれぞれと通信可能に接続されている。
【００２０】
通信装置１１は、呼吸補助システム１の外部と外部通信を行う装置である。外部通信とは、通信装置１１が含まれる装置または基板の外と決められた手順に従って情報の送信、受信またはその両方を行う行為であり、その装置を構成する入出力装置の通信は含まない。すなわち、通信装置１１は、ネットワーク９００にアクセスし、所定のデータの送信および受信を行う。通信装置１１は、半導体装置１００と連携して外部通信を行う。ネットワーク９００は、例えば公衆ネットワーク回線である電話回線や、インターネット回線である。通信装置１１とネットワーク９００との接続は有線、無線を問わない。
【００２１】
半導体装置１００は、呼吸補助システム１が有する各構成の動作や機能を制御する。半導体装置１００は、主な構成として、主制御装置１１０および副制御装置１２０を有している。主制御装置１１０は、ＣＰＵ（Central Processing Unit）を含む演算装置である。主制御装置１１０はメインプログラムを格納し、メインプログラムの処理に従って各構成に指示を送ったりデータを受け取ったりする。副制御装置１２０は、ＭＣＵ（Micro Controller Unit）と呼ばれる演算装置である。副制御装置１２０は、予備のプログラムであるサブプログラムを格納し、主制御装置１１０に接続し、予め設定された条件になった場合に、サブプログラムを主制御装置１１０に供給する。
【００２２】
半導体装置１００は、例えば、主制御装置１１０と副制御装置１２０とがそれぞれ独立した集積回路のチップであって、１個の基板上に実装された構成である。また、半導体装置１００は、例えば、主制御装置１１０と副制御装置１２０とがそれぞれ独立した集積回路のチップであって、それぞれをさらに１個のチップとして積層したＰｏＰ（Package on Package）であってもよい。主制御装置１１０は外部通信を実現する機能を有しているため、上述のように不正アクセスを受ける可能性がある。一方、副制御装置１２０は、外部通信を司る配線を有していないことが好ましい。また、副制御装置１２０は主制御装置１１０との通信においても不正アクセスの影響を受ける配線を有していないことが好ましい。
【００２３】
次に、図２を参照しながら、呼吸補助装置１０が有する半導体装置１００の詳細について説明する。図２は、実施の形態１にかかる半導体装置の概略構成図である。主制御装置１１０は、通信装置１１に接続し、通信装置１１が行う外部通信を制御する。また、主制御装置１１０はセンサ１２、モータ１４、表示装置１５および入力装置１６に接続し、適宜信号の送受信を行う。
【００２４】
主制御装置１１０は、主な構成として、外部通信インタフェース１１１、主メモリ１１２、異常検出回路１１４、トリガ信号出力回路１１５および応答回路１１６を有している。外部通信インタフェース１１１は、通信装置１１と信号の送受信を行うためのインタフェースである。
【００２５】
主メモリ１１２はフラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）またはＥＰＲＯＭ（Erasable Programmable Read Only Memory）などの書換え可能な不揮発性の記憶装置である。主メモリ１１２はプログラム記憶領域１１３にメインプログラムを格納している。メインプログラムは、半導体装置１００が搭載されている呼吸補助システム１の動作を実行するための機能を実現するためのプログラムである。メインプログラムには、外部通信インタフェース１１１を介して信号を送受信する外部通信を利用した機能も含まれる。
【００２６】
異常検出回路１１４は、主制御装置１１０内で行われる信号処理から不正アクセスなどの異常処理を検出し、かかる検出に基づくトリガ信号を生成する。異常検出回路１１４が生成するトリガ信号はソフトウェアにより生成されるものではなく、主制御装置１１０内のハードウェアの設定により生成される。
【００２７】
ここで図３を参照しながら異常検出回路の具体例について説明する。図３は、実施の形態１にかかる異常検出回路の具体例を示す図である。異常検出回路１１４は、処理実行されている領域から処理実行アドレスに関する信号を取得し、処理実行されているアドレスがアクセス許可を受けていない場合に異常処理が実行されていることを示すトリガ信号を出力する。
【００２８】
異常検出回路１１４は、主な構成として、アドレス空間情報レジスタ１１４Ａ、アクセス許可情報レジスタ１１４Ｂおよび比較器１１４Ｃを有している。アドレス空間情報レジスタ１１４Ａは、処理実行アドレスに関する信号を取得し、取得した信号に対応するアドレス空間に関する信号を比較器１１４Ｃに出力する。アクセス許可情報レジスタ１１４Ｂは、主制御装置１１０のアドレス空間毎にアクセスが許可されているか否かが登録されている。比較器１１４Ｃは、処理が実行されたアドレスに対応するアドレス空間に関する情報と、アドレス空間に対するアクセス許可に関する情報とを比較して、アクセスされたアドレス空間がアクセス許可されていない場合には、トリガ信号を出力する。
【００２９】
図に示した異常検出回路１１４は、例えばメモリプロテクションユニットまたはエリアプロテクションユニットとも称される。異常検出回路１１４は、主制御装置１１０の内部における命令実行、読取りまたは書出しなどの信号処理においてアクセスされる各アドレスを監視する。このような構成により、異常検出回路１１４は、処理が実行されているアドレスの信号からトリガ信号を出力するため、ソフトウェアを介在させずにハードウェア（回路配線）により異常信号処理を検出することができる。
【００３０】
次に、図４を参照しながら、主制御装置１１０における異常検出回路１１４の構成例について説明する。図４は、主制御装置における異常検出回路の構成例を示す図である。図において、主制御装置１１０は、異常検出回路１１４、ＣＰＵ１１７、出力設定レジスタ１１８、論理回路１１９および端子Ｔ１を有している。
【００３１】
異常検出回路１１４は、図３を参照して説明したように、異常信号処理を検出した場合に、トリガ信号を論理回路１１９に供給する。ＣＰＵ１１７は、主制御装置１１０の演算回路であり、出力設定レジスタ１１８に対して所定の信号を供給する。ここで、所定の信号とは、ＣＰＵ１１７がアクセスの異常を検出した場合である。出力設定レジスタ１１８は、ＣＰＵ１１７から所定の信号を受け取ると、それに応じてトリガ信号を生成し、生成したトリガ信号を論理回路１１９に供給する。
【００３２】
論理回路１１９は、異常検出回路１１４および出力設定レジスタ１１８からそれぞれトリガ信号を受け取り、受け取ったトリガ信号の論理和を端子Ｔ１に伝達する。このような構成により、主制御装置１１０は、異常検出回路１１４からのトリガ信号を直接に端子Ｔ１に伝達し、これを出力することもできるし、ＣＰＵ１１７で生成した信号によりトリガ信号を出力することもできる。なお、当然ながら、異常検出回路１１４が出力するトリガ信号は、増幅器により増幅されてもよいし、ノイズフィルタやダイオードによる保護回路を経由してもよい。
【００３３】
図２に戻り主制御装置１１０の構成について説明を続ける。
トリガ信号出力回路１１５は、副制御装置１２０に対してトリガ信号を出力する。すなわち、トリガ信号出力回路１１５は、主制御装置１１０から副制御装置１２０にトリガ信号を供給するためのインタフェースである端子を含む。
【００３４】
応答回路１１６は、副制御装置１２０の要求回路１２２からの要求信号を受け付けた後に、副制御装置１２０に対して要求信号に対する応答信号を出力する。また、応答回路１１６は、応答信号を出力した後に副制御装置１２０から供給されるサブプログラムを取得する。
【００３５】
次に副制御装置１２０について説明する。副制御装置１２０は、主制御装置１１０に接続し、予め設定された条件に従い主制御装置１１０が異常信号処理を検出した場合に、主制御装置１１０に対してサブプログラムを供給する。副制御装置１２０は、主な構成として、トリガ信号取得回路１２１、要求回路１２２、サブプログラム出力回路１２３および副メモリ１２４を有している。
【００３６】
トリガ信号取得回路１２１は、主制御装置１１０のトリガ信号出力回路１１５から出力されたトリガ信号を取得する。トリガ信号取得回路１２１は、トリガ信号を受け取るためのインタフェースである端子を含む。また、トリガ信号取得回路１２１は、トリガ信号を受け取ることにより割り込み処理を行い要求回路の処理を開始させる機能を併せ持つ。要求回路１２２は、トリガ信号取得回路１２１が主制御装置１１０からトリガ信号を取得した場合に、主制御装置１１０に対してサブプログラムを転送することを要求する要求信号を出力する。サブプログラム出力回路１２３は、主制御装置１１０から応答信号を受け取った場合に、サブプログラムを主制御装置１１０に転送する。
【００３７】
副メモリ１２４は、フラッシュメモリなどの書換え可能な不揮発性の記憶装置またはマスクＲＯＭ（Read-Only Memory）などの書換え不可能な不揮発性の記憶装置である。副メモリ１２４はプログラム記憶領域１２５にサブプログラムを格納している。サブプログラムはメインプログラムから少なくとも外部通信の機能を削除したプログラムである。すなわち、呼吸補助システム１がサブプログラムを実行した場合は、外部通信を行わない。
【００３８】
次に、図５を参照しながら半導体装置１００が異常信号処理を検出した場合の処理について説明する。図５は、実施の形態１にかかる半導体装置の処理を示すフローチャートである。図に示す処理を、メインプログラム書換えルーチンＳ１０と称する。メインプログラム書換えルーチンＳ１０は、まず半導体装置１００が異常信号処理を検出することにより開始される。換言すると、例えばネットワーク９００を介して主制御装置１１０が不正アクセスを受け、異常検出回路１１４が不正アクセスによる異常信号処理を検出することにより図に示す処理が開始される。
【００３９】
まず、異常検出回路１１４がアクセス異常を検出すると、主制御装置１１０が副制御装置１２０に対してトリガ信号を供給する（ステップＳ１１）。副制御装置１２０は、トリガ信号を受け取ると、割り込み処理を開始する。
【００４０】
次に、副制御装置１２０は、主制御装置１１０に対してリセット信号を供給する。主制御装置１１０は、副制御装置１２０からリセット信号を受け取ると、主制御装置１１０のメインプログラムの実行を停止するとともに主制御装置１１０をリセット状態にする（ステップＳ１２）。
【００４１】
次に、副制御装置１２０は、主制御装置１１０を書換えモードにセットする（ステップＳ１３）。具体的には、副制御装置１２０は主制御装置１１０の所定のプログラム書換え用の端子に対して例えばＬｏからＨｉ（またはＨｉからＬｏ）になるように信号を供給する。これにより主制御装置１１０は、プログラム書換えモードに遷移する。
【００４２】
次に、副制御装置１２０は主制御装置１１０のリセットを解除する（ステップＳ１４）。副制御装置１２０がリセットを解除する処理を行うことにより、主制御装置１１０が書換えモードで起動する（ステップＳ１５）。
【００４３】
次に、副制御装置１２０は、主制御装置１１０に対して書換え要求信号を送信する（ステップＳ１６）。さらに、副制御装置１２０は、主制御装置１１０に対してサブプログラムを送信する（ステップＳ１７）。なお、この場合、副制御装置１２０は、主制御装置１１０が要求信号に対する応答信号を返信してくるのを待ち、主制御装置１１０から応答信号を受け取ってから次のステップに移行する。
【００４４】
次に、副制御装置１２０は、主制御装置１１０に対してサブプログラムを送信する（ステップＳ１７）。主制御装置１１０は、副制御装置１２０からサブプログラムを受け取ると、サブプログラムを主メモリ１１２のプログラム記憶領域１１３に格納する。この際、主制御装置１１０は、メインプログラムを消去するとともにサブプログラムを格納する。すなわちプログラム記憶領域のプログラムをメインプログラムからサブプログラムに書換える。これにより、半導体装置１００は、不正アクセスにより改ざんされている可能性があるプログラムに代えて、安全性が担保されているサブプログラムを主メモリに格納する状態にする。
【００４５】
次に、主メモリ１１２にサブプログラムが格納された後に、副制御装置１２０は主制御装置１１０をリセットする（ステップＳ１８）。そして、副制御装置１２０はプログラム書換えモードを解除するとともに、主制御装置１１０のリセットを解除する（ステップＳ１９）。主制御装置１１０はリセットが解除されると書換えられたサブプログラムによる動作を開始する。
【００４６】
以上、半導体装置１００におけるプログラムの書換え処理について説明した。なお、ステップＳ１７において、応答信号を受け取ることなく、予め設定された時間が経過した後にサブプログラムを送信する処理を行ってもよい。
【００４７】
次に、図６を参照しながら、上述のプログラム書換え処理を行った後のシステムについて説明する。図６は、実施の形態１にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。
【００４８】
図６に示す呼吸補助システム１は、主制御装置１１０が有するプログラムがメインプログラムからサブプログラムに書換えられている。またこれに伴い呼吸補助システム１は通信装置１１の動作が停止している。そのため、呼吸補助システム１はネットワーク９００を介した外部通信を行うことができない状態である。また呼吸補助システム１は、外部通信を除く機能についてはプログラムが書換えられる前と同等の機能を発揮することができる。したがって、外部から何らかの不正アクセスを受けた後であっても、呼吸補助システム１は、ソフトウェア改ざんなどの危険を削除するとともに、呼吸補助装置としての機能を維持することができる。
【００４９】
次に、図７を参照しながら、主制御装置１１０のプログラムを外部から書換える場合の構成について説明する。図７は、実施の形態１にかかる半導体装置と書換え装置とが接続された状態を示す図である。図において、半導体装置１００は、コネクタ１００Ｎを有しており、コネクタ１００Ｎは、書換え装置７００と接続されている。また、半導体装置１００の各構成は内部配線Ｌ１０〜Ｌ１６により接続されている。
【００５０】
以下に、半導体装置１００の内部配線について説明する。
内部配線Ｌ１０は主制御装置１１０がトリガ信号を副制御装置１２０に供給するための配線である。内部配線Ｌ１１は、主制御装置１１０が受信側（Ｒｘ）であって副制御装置１２０が送信側（Ｔｘ）となる通信を行うための配線である。内部配線Ｌ１２は、主制御装置１１０が送信側（Ｔｘ）であって副制御装置１２０が受信側（Ｒｘ）となる通信を行うための配線である。主制御装置１１０は内部配線Ｌ１０〜Ｌ１２を介して副制御装置１２０からサブプログラムを受け取ることができる。
【００５１】
内部配線Ｌ１３は内部配線Ｌ１１とコネクタ１００Ｎとを結ぶ配線である。書換え装置７００から主制御装置１１０に対してプログラムを供給する場合、送信側（Ｔｘ）である書換え装置７００から、内部配線Ｌ１３およびＬ１１を介して、受信側（Ｒｘ）である主制御装置１１０に対してプログラム等が伝達される。
【００５２】
内部配線Ｌ１４は内部配線Ｌ１２とコネクタ１００Ｎとを結ぶ配線である。書換え装置７００から主制御装置１１０に対してプログラムを供給する場合、送信側（Ｔｘ）である主制御装置１１０から、内部配線Ｌ１４およびＬ１２を介して、受信側（Ｒｘ）である書換え装置７００に応答信号等が伝達される。
【００５３】
内部配線Ｌ１５は副制御装置１２０のＧＮＤ端子とコネクタ１００Ｎとを結ぶ配線である。内部配線Ｌ１６は副制御装置１２０のリセット端子とコネクタ１００Ｎとを結ぶ配線である。
【００５４】
次に、書換え装置７００について説明する。書換え装置７００は半導体装置１００に接続して主制御装置１１０に対してプログラムの書換えを行うための装置である。書換え装置７００は半導体装置１００が有するコネクタ１００Ｎに対して着脱可能なコネクタ７００Ｎを有しており、配線Ｌ１３〜Ｌ１６と通電可能に接続される。
【００５５】
書換え装置７００は、配線Ｌ１５と配線Ｌ１６とを接続する配線Ｌ７０を有している。そのため、書換え装置７００が半導体装置１００に接続されると、副制御装置のリセット端子はＧＮＤ端子の電位に固定される。これにより副制御装置１２０はリセット状態となり主制御装置１１０との信号の送受信を行わない状態となる。なお、ＧＮＤ端子の電位に固定するのは一例であり、少なくとも副制御装置１２０のＲｘ端子とＴｘ端子がハイインピーダンス状態となるよう配線Ｌ１５の電位を決定すればよい。
【００５６】
書換え装置７００は副制御装置１２０がリセット状態となった後に、配線Ｌ１３およびＬ１４を介して主制御装置１１０と所定の信号を送受信するとともに書換え装置７００が格納しているプログラムを主制御装置１１０に送信する。書換え装置７００からプログラムを受け取った主制御装置１１０は、受け取ったプログラムを主メモリに格納する。以上の構成により、半導体装置１００は、主制御装置１１０のプログラムがサブプログラムに書換えられ、外部通信をしない状態になった後であっても、書換え装置７００により主制御装置１１０が格納するプログラムを書換えることが可能である。
【００５７】
以上、実施の形態１について説明したが、実施の形態１にかかる呼吸補助システム１および呼吸補助システム１が有する半導体装置１００の構成は上述の内容に限られない。例えば、通信装置１１の機能は半導体装置１００に含まれていてもよい。また、呼吸補助装置１０は、通信装置１１に代えて、外部信号を受け付ける外部信号受付装置を有していてもよい。外部信号受付装置は呼吸補助装置１０に入力される信号を受け付け、受付けた信号を半導体装置１００に供給する装置であって、例えばメモリカードリーダやバス通信コネクタ等である。呼吸補助装置１０がこのような構成の場合、半導体装置１００が有する外部通信インタフェース１１１は、外部信号受信装置に対応した信号を受け付ける機能を有する。また、呼吸補助装置がこのような構成の場合、副制御装置が記憶しているサブプログラムは外部通信を受け付けない機能に代えて、外部信号を受け付けない機能を有する。
【００５８】
また、実施の形態１で説明した半導体装置１００は、呼吸補助システム１に限らず、通信機能を利用するあらゆる装置、システムに適用可能である。例えば、実施の形態１にかかる半導体装置１００は、ＩｏＴ（Internet of Things）と呼ばれる様々な機器に適用可能である。また、実施の形態１にかかる半導体装置１００は、通信機能を有する移動体、家電、業務用機器、医療用機器などに適用可能である。
【００５９】
なお、副制御装置１２０は、主制御装置１１０と同じ構成を有する演算装置であってもよいが、副制御装置１２０は主制御装置１１０よりも比較的回路規模の小さな集積回路を選択してもよい。そのような構成とすることにより、コストの増加を抑えつつ、不正アクセスによる異常処理から半導体装置を保護するとともに必要な機能を維持する半導体装置等を提供できる。また、外部通信は、上記の例に限られず、公衆ネットワーク回線を介さないブルートゥース（登録商標）、ＵＳＢ（Universal Serial Bus）またはＷｉ−Ｆｉダイレクト等の規格に則った通信であってもよい。
【００６０】
実施の形態１にかかる呼吸補助システム１は、主制御装置１１０が外部通信を通じて不正アクセスによる攻撃を受けた場合、主制御装置１１０の内部で動作しているソフトウェアの信頼性が保証されなくなる。そのため、異常検出回路１１４が異常信号処理を検出した後はソフトウェアを介在させずハードウェアによりトリガ信号を出力する処理を行う。このような構成とすることで、実施の形態１は、システム外部からの攻撃による異常を確実に副制御装置に通知することができる。異常信号処理を検出した後にメインプログラムに代えて主制御装置１１０に格納されるサブプログラムは、メインプログラムから通信機能を削除したものである。そのため、呼吸補助システム１は通信経由の攻撃を受ける可能性を排除することができる一方で、本来機能すべき機能を確実に維持および継続することができる。したがって、実施の形態１によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
【００６１】
＜実施の形態１の変形例＞
次に、図８を参照しながら実施の形態１の変形例について説明する。図８は、実施の形態１の変形例にかかる半導体装置の概略構成図である。図に示す呼吸補助システム１は半導体装置１０１の構成が図２に示した半導体装置１００と異なる。
【００６２】
半導体装置１０１は主制御装置１１０、副制御装置２２０および記憶装置１３０を有している。副制御装置２２０は、副メモリ１２４に代えてメモリ制御回路１２６を有している点において実施の形態１の副制御装置１２０と異なる。メモリ制御回路１２６は副制御装置１２０に接続されている記憶装置１３０から所定の情報を読取り、読取った情報をサブプログラム出力回路１２３に供給する。
【００６３】
記憶装置１３０は、プログラム記憶領域１３１を有する記憶装置であって、書換え不可能な不揮発性メモリである。書換え不可能な不揮発性メモリとは、例えばＰＲＯＭ（Programmable Read Only Memory）やマスクＲＯＭである。記憶装置１３０は副制御装置２２０に接続し、メモリ制御回路１２６の要求に応じて所定の情報を副制御装置２２０に供給する。
【００６４】
記憶装置１３０が書換え不可能な不揮発性メモリにより構成されることにより、半導体装置１００が不正アクセスを受けた場合に、主制御装置１１０のメインプログラムを確実に予め用意されたサブプログラムに書換えることが可能となる。
【００６５】
また、実施の形態１の変形例によれば、副制御装置２２０はメインプログラムを格納する副メモリを含まないため、比較的に安価な構成とすることができる。よって、実施の形態１の変形例によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
【００６６】
＜実施の形態２＞
次に、図９を参照しながら実施の形態２について説明する。図９は、実施の形態２にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。実施の形態２にかかる呼吸補助システム２は、不正アクセスを受けた後のサブプログラムによって実現される機能が実施の形態１にかかる呼吸補助システム１と異なる。より具体的には、呼吸補助システム２は、サブプログラムに書換えられた主制御装置１１０により、通信装置が予め設定された機能に限定される。
【００６７】
呼吸補助システム２は、主制御装置１１０が不正アクセスによる異常信号処理を検出した後に、副制御装置１２０からサブプログラムを受け取り、受け取ったサブプログラムを主制御装置１１０に格納し、主制御装置１１０を再起動する。サブプログラムは、メインプログラムが実行していた通信装置１１を制御する機能に代えて、通信装置１１の動作を予め設定された以下の動作に固定する制御コマンドを有している。
【００６８】
まず、主制御装置１１０は、異常信号処理を検出したことを明示する情報を予め設定された外部機器（例えば管理装置）に送信することを通信装置１１に指示する。なお、ここで呼吸補助システム２行う明示の態様は受信する側との間で予め設定されたものであれば任意の態様で構わない。
【００６９】
一方で、主制御装置１１０は、ネットワーク９００を介して到来する任意の信号を主制御装置１１０に送信しないことを通信装置１１に指示する。これにより、サブプログラムに書換えられた主制御装置１１０は、外部からの信号を受け付けない。そのため、呼吸補助システム２は、外部からの攻撃を回避することができる。
【００７０】
また、呼吸補助システム２は、異常信号処理を検出した後に実行されるサブプログラムにより、異常が発生したことをユーザに対しても明示する。例えば、呼吸補助システム２は、表示装置１５に異常信号処理を検出したために外部から受信する信号を受け付けない状態になったことをユーザに知らせるための表示を行う。
【００７１】
以上の構成により、実施の形態２にかかる呼吸補助システム２は、外部からの不正アクセスを回避しつつ、適宜外部システム（例えば管理者が利用するサーバ８００）およびユーザに対して、システムの異常を通知することができる。
【００７２】
なお、通信装置１１は、外部に対して異常が発生したことを上述のようにサブプログラムが生成するコマンドから指示を受けて行うことができるが、他の構成によっても実現することができる。例えば、通信装置１１は、主制御装置１１０からトリガ信号を受け取り、受け取ったトリガ信号に応じて上述の機能を実現するように構成されていてもよい。このような構成により、呼吸補助システム２は、不正アクセスを受けた後に、プログラムの書換えを行う前に外部からの通信を受け付けない機能を発揮できるため、迅速に外部からの攻撃を回避することができる。また、通信装置１１は、半導体装置１００に含まれていてもよいし、通信装置１１の機能を主制御装置１１０が有していてもよい。
【００７３】
＜実施の形態２の変形例＞
次に、実施の形態２の変形例について説明する。図１０は、実施の形態２の変形例にかかる半導体システムの概略構成図である。実施の形態２の変形例は、複数の半導体装置がネットワーク９００を介して互いに通信可能に接続された状態を構成している。
【００７４】
図において、半導体システム２０は、半導体装置１００Ａ、１００Ｂおよび１００Ｃを有している。半導体装置１００Ａ〜１００Ｃは、ネットワーク９００に接続しており、互いに通信可能に接続されている。
【００７５】
半導体装置１００Ａは主な構成として通信装置１１Ａ、主制御装置１１０Ａおよび副制御装置１２０Ａを有しており、各構成は図９を参照して説明した呼吸補助システム２が有する半導体装置１００と同等の構成および機能を有している。ただし、通信装置１１Ａは、不正アクセスを受けて異常信号処理を検出した場合に、他の半導体装置１００Ｂおよび１００Ｃに対して異常信号処理を検出したことを通知する機能を有している。
【００７６】
また、半導体装置１００Ａは、他の半導体装置１００Ｂ（または１００Ｃ）から他の半導体装置１００Ｂ（または１００Ｃ）が異常信号処理を検出したことを通知された場合に、かかる通知を受け取ることによっても主制御装置１１０Ａのプログラムを書換える機能を有する。つまり、主制御装置１１０Ａは、他の半導体装置から異常信号処理を検出したことについて明示される信号を受け取ることによっても、副制御装置１２０Ａにトリガ信号を出力する。かかる機能は、例えば、図４に示した例のように、ＣＰＵ１１７が所定の条件の下でトリガ信号を生成する構成とすることにより実現することができる。半導体装置１００Ｂおよび１００Ｃにおいてもそれぞれ半導体装置１００Ａと同等の構成および機能を有している。
【００７７】
例えば、図に示すように、半導体装置１００Ａがネットワーク９００を介して不正アクセス９９Ａを受けた場合に、この不正アクセスによって主制御装置１１０が異常信号処理を検出すると、半導体装置１００Ａは通信９９Ｂにより半導体装置１００Ｂに対して異常信号処理を検出したことを通知する。同時に、半導体装置１００Ａは通信９９Ｃにより半導体装置１００Ｃに対して異常信号処理を検出したことを通知する。半導体装置１００Ａから異常信号処理を検出したことの通知を受けた半導体装置１００Ｂは、主制御装置１１０Ｂがトリガ信号を副制御装置１２０Ｂに出力する。これにより、半導体装置１００Ｂは、主制御装置１１０Ｂのプログラムをサブプログラムに書換える処理を実行する。同様に、半導体装置１００Ｃは、主制御装置１１０Ｃがトリガ信号を副制御装置１２０Ｃに出力し、主制御装置１１０Ｃのプログラムをサブプログラムに書換える処理を実行する。
【００７８】
次に、図１１を参照しながら実施の形態２の変形例の処理について説明する。図１１は、実施の形態２の変形例にかかる半導体装置の処理を示すフローチャートである。半導体システム２０を構成する半導体装置はそれぞれ図に示す処理を行う。以下の説明は便宜上、半導体装置１００Ａが行う処理として説明をするが、半導体装置１００Ｂおよび１００Ｃも同等の処理を行う。
【００７９】
まず、半導体装置１００Ａは、異常信号処理を検出した後に、副制御装置１２０Ａに出力する異常信号処理が、半導体装置１００Ａ自身が有する主制御装置１１０Ａで検出された異常信号処理によるものか否か、すなわち自己の異常か否かを判定する（ステップＳ２０）。
【００８０】
自己の異常と判定した場合（ステップＳ２０：Ｙｅｓ）、半導体装置１００Ａは、他の半導体装置へ異常を通知する処理を実行する（ステップＳ２１）。そして、自己のメインプログラムを書換えるため、図５で説明したメインプログラム書換えルーチンＳ１０を実行する（ルーチンＳ１０）。
【００８１】
一方、異常信号処理を他の半導体装置から受け取った場合、半導体装置１００Ａは、自己の異常と判定しない（ステップＳ２０：Ｎｏ）。この場合、半導体装置１００Ａは、他の装置への通知をすることなく、自己のメインプログラムを書換えるためのメインプログラム書換えルーチンを実行する（ルーチンＳ１０）。
【００８２】
このように、半導体システム２０は、半導体システム２０を構成するいずれかの半導体装置が不正アクセスを受けて異常信号処理を検出した場合に、他の半導体装置にこれを通知し、各半導体装置のプログラムを書換える。これにより、不正アクセスを受けた半導体装置はもとより、不正アクセスを受けていない半導体装置も、予め、外部からの不正な攻撃を回避することができる。すなわち、実施の形態２の変形例によれば、システム全体の不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
【００８３】
＜実施の形態３＞
次に、実施の形態３について説明する。実施の形態３にかかる呼吸補助システム３は、呼吸補助システム３を構成する半導体装置１０３の構成が、実施の形態１にかかる呼吸補助システムは１が有する半導体装置１００と異なる。図１２は、実施の形態３にかかる半導体装置の概略構成図である。
【００８４】
本実施の形態にかかる半導体装置１０３は、主制御装置１１０と副制御装置１２０との間にスイッチ１７を有する点において、実施の形態１にかかる半導体装置１００と異なる。
スイッチ１７は、主制御装置１１０が出力するトリガ信号を副制御装置１２０に伝達することを許可するまたは伝達することを許可しないことを切り換えるスイッチである。
【００８５】
主制御装置１１０が不正アクセスによりメインプログラムを改ざんされている可能性があることを考慮すると、スイッチ１７は主制御装置１１０のソフトウェア動作に影響を受けない構成であることが好ましい。すなわち、スイッチ１７は、例えば、機構部品の組合せにより構成されるメカニカルスイッチやトランジスタ等の電気部品の組合せにより構成されるスイッチである。半導体装置１０３において、スイッチ１７は、初期設定としてオフの状態すなわち主制御装置１１０が出力するトリガ信号を副制御装置１２０に伝達しない状態となっている。そしてスイッチ１７は、ユーザがスイッチの状態をオフからオンに切り替える操作を受け付けることにより、トリガ信号を副制御装置１２０に伝達する状態となる。つまり、半導体装置１０３は、異常信号処理を検出した場合であっても、ユーザがスイッチの切替え操作を行うまでは、主メモリ１１２のプログラムを書換える処理を行わない。
【００８６】
次に、図１３を参照しながら実施の形態３にかかる半導体装置の処理について説明する。図１３は、実施の形態３にかかる半導体装置の処理を示すフローチャートである。
まず、半導体装置１０３は、異常信号処理を検出すると、異常を明示する処理を行う（ステップＳ３０）。具体的には、例えば、半導体装置１０３は、異常信号処理を検出した場合に、表示装置１５に異常信号処理を検出したことを表示する。あるいは、半導体装置１０３は、通信装置１１を介して、ユーザまたは管理者に異常信号処理を検出したことを通知する。これにより、主制御装置１１０が実行するプログラムをサブプログラムに書換える処理とは異なる処理をユーザ等が選択することができる。
【００８７】
次に、半導体装置１０３は、スイッチ１７の操作を受け付け、スイッチ１７の状態がオンか否かにより処理を決定する（ステップＳ３１）。すなわちユーザがスイッチをオン状態に操作した場合（ステップＳ３１：Ｙｅｓ）、半導体装置１０３のトリガ信号は主制御装置１１０から副制御装置１２０に伝達される。これにより、半導体装置１０３は、上述したメインプログラム書換えルーチンを実行する（ルーチンＳ１０）。半導体装置１０３は、メインプログラム書換えルーチンＳ１０を終えると、処理を終了する。
【００８８】
一方、ユーザがスイッチをオン状態に操作しない場合（ステップＳ３１：Ｎｏ）、半導体装置１０３は、別の処理を受け付けたか否かを判定する（ステップＳ３２）。ここで、別の処理とは、主制御装置１１０が格納しているメインプログラムを副制御装置１２０が格納するサブプログラムに書換える処理とは異なる処理をいう。例えば、半導体装置１０３は、図７を参照して説明した書換え装置７００により主メモリのプログラムを書換えることができる。すなわち、ユーザは、スイッチ１７を操作する代わりに、書換え装置７００を半導体装置１０３に接続することができる。あるいは、ユーザは、スイッチ１７を操作する代わりに、半導体装置１０３のシステムに改ざん等が行われているか否かを診断する処理を行うことができる。あるいは、ユーザは、スイッチ１７を操作する代わりに、呼吸補助システム３をシャットダウンする操作を行うことができる。半導体装置１０３は、このような別の処理を受け付けた場合（ステップＳ３２：Ｙｅｓ）、図に示す処理を終了し、別の処理へ移行する。一方、半導体装置１０３は、別の処理を受け付けない場合（ステップＳ３２：Ｎｏ）、ステップＳ３１に戻り、スイッチ１７の操作を受け付ける。
【００８９】
以上、実施の形態３にかかる処理によれば、半導体装置１０３は、主制御装置１１０が実行するプログラムをサブプログラムに書換える処理とは異なる処理を選択する機会をユーザに提供することができる。これにより、半導体装置１０３は、主制御装置１１０のメインプログラムをサブプログラムに書換えずにメインプログラムのチェックや修復等を行うことができる。つまり、半導体装置１０３は、通信機能の削除を行うことなく、修復処理等を受けることができる。
【００９０】
以上、実施の形態３について説明した。実施の形態３によれば、不正アクセス等の異常信号処理を検出した後の処理を固定することなく、且つ、不正アクセス等によるシステムの不具合発生を抑制しつつ必要な機能を維持する半導体装置等を提供できる。
【００９１】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、および電磁波を含む。一時的なコンピュータ可読媒体は、電線および光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに供給できる。
【００９２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。すなわち、上述した半導体装置は、通信機能を有する様々な機器に適用可能である。
【符号の説明】
【００９３】
１、２、３  呼吸補助システム
１０  呼吸補助装置
１１  通信装置
１２  センサ
１３  ポンプ
１４  モータ
１５  表示装置
１６  入力装置
１７  スイッチ
２０  半導体システム
１００、１０１、１０３  半導体装置
１１０  主制御装置
１１１  外部通信インタフェース
１１２  主メモリ
１１４  異常検出回路
１１５  トリガ信号出力回路
１１６  応答回路
１１７  ＣＰＵ
１１８  出力設定レジスタ
１１９  論理回路
１２０、２２０  副制御装置
１２１  トリガ信号取得回路
１２２  要求回路
１２３  サブプログラム出力回路
１２４  副メモリ
１２６  メモリ制御回路
１３０  記憶装置
７００  書換え装置
８００  サーバ
９００  ネットワーク
【図１】
2020071797.tif 000003
【図２】
2020071797.tif 000004
【図３】
2020071797.tif 000005
【図４】
2020071797.tif 000006
【図５】
2020071797.tif 000007
【図６】
2020071797.tif 000008
【図７】
2020071797.tif 000009
【図８】
2020071797.tif 000010
【図９】
2020071797.tif 000011
【図１０】
2020071797.tif 000012
【図１１】
2020071797.tif 000013
【図１２】
2020071797.tif 000014
【図１３】
2020071797.tif 000015