(57)【要約】【課題】従来よりも製造コストが低く、かつＣＰＵに指定された入出力部については応答時間のバラツキが従来より小さい制御装置を提供する。【解決手段】制御装置１００は、メインＣＰＵ１１２と、入出力部１５１から１５３と、サブＣＰＵ１２２と、これらに接続されたメインバス１８１と、を備える。また、制御装置１００は、サブＣＰＵ１２２に接続されたバス１８５に接続させる入出力部を、メインＣＰＵ１１２により指定された入出力部１５２に切り替えるバススイッチ１４０を備える。制御装置１００が備えるサブＣＰＵ１２２は、バス１８５を介して入出力部１５２からデータの転送要求が入力されると、バス１８５を介して転送要求への応答を出力する。【選択図】図２
2013196455.tif 000002
【特許請求の範囲】
【請求項１】
所定の制御処理を実行する主制御部と、
前記所定の制御処理に用いられるデータを入出力する複数の入出力部と、
前記複数の入出力部を制御する入出力制御処理を実行する副制御部と、
前記主制御部と、前記副制御部と、前記複数の入出力部のそれぞれと、に接続された主バスと、
前記副制御部に接続された、前記主バスと異なる副バスと、
前記副バスに接続させる入出力部を、前記主制御部により指定された入出力部である指定入出力部に切り替えるバススイッチと、を備え、
前記副制御部は、前記副バスを介して前記指定入出力部からデータの転送要求が入力されると、前記副バスを介して前記転送要求への応答を出力する、
ことを特徴とする制御装置。
【請求項２】
前記副制御部に接続された信号線に接続させる入出力部を、前記主制御部により指定された指定入出力部に切り替える信号線スイッチ、をさらに備え、
前記副制御部は、前記信号線を介して前記指定入出力部から割込信号が入力されると、前記副バスを介して前記応答を出力する、
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記主制御部が前記所定の制御処理の実行に用いるデータを記憶する主メモリと、
前記副制御部が前記入出力制御処理の実行に用いるデータを記憶する副メモリと、をさらに備え、
前記主メモリは、前記主制御部と前記主バスで接続され、
前記副メモリは、前記副制御部とメモリバスで接続され、
前記主制御部は、前記主バスを介して前記主メモリにアクセスすることで、前記所定の制御処理を実行し、
前記副制御部は、前記メモリバスを介して前記副メモリにアクセスすることで、前記入出力制御処理を実行する、
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記所定の制御処理を前記主制御部に実行させるための主制御プログラムと、前記入出力制御処理を前記副制御部に実行させるための入出力制御プログラムと、を記憶するプログラム記憶部、をさらに備え、
前記主制御部は、前記主制御プログラムと前記入出力制御プログラムとを前記プログラム記憶部から前記主メモリへロードした後に、前記入出力制御プログラムを前記主メモリが記憶するアドレスに基づいて決められた前記副メモリのアドレスへ、前記指定入出力部を制御する入出力制御プログラムを転送し、
前記副制御部は、前記副メモリに記憶された入出力制御プログラムを実行する、
ことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記主制御部は、前記指定入出力部を制御する入出力制御プログラムを前記副メモリのアドレスへ転送し終えてから、前記副制御部を起動させ、
前記副制御部は、起動すると、前記副メモリに記憶された入出力制御プログラムの実行を開始した後に前記割込信号を入力されまで待機し、前記割込信号が入力されると、前記入出力制御プログラムの実行を再開することで前記応答を出力する、
ことを特徴とする請求項４に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関する。
【背景技術】
【０００２】
特許文献１には、１つのＣＰＵと、ＣＰＵが処理の実行に用いるメモリと、ＣＰＵに対して転送処理の実行を求める転送要求を複数の外部装置から入力するＩ／Ｏ（Input/Output）ポートと、を有する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２８９１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されている制御装置は、ＣＰＵを１つしか有さない。このため、この制御装置は、ＣＰＵがある転送要求に応答している間に、当該転送要求の優先順位よりも低い順位の転送要求が入力されると、より高い順位の転送要求に応答し終えるまで、低い順位の転送要求に応答しない。このため、特許文献１の制御装置には、要求が入力されてから応答が出力されるまでの応答時間が一定ではないという問題がある。
【０００５】
同様の問題は、複数のＣＰＵを有する制御装置であっても、複数のＣＰＵが共通のバスを介してメモリやＩ／Ｏポートなどの入出力部にアクセスするのであれば発生する。これは、あるＣＰＵが共通バスを専有共有メモリなどにアクセスしている間、他のＣＰＵは、共通バスを介して共有メモリなどにアクセスできないからである。
【０００６】
これに対して、ＣＰＵと、当該ＣＰＵが専用に用いるメモリ、バス、及び入出力部と、を複数有する制御装置は、複数のＣＰＵが共通のバスを介してメモリなどにアクセスする制御装置に比べて、メモリなどの総数が多く、製造コストが高いという問題があった。
【０００７】
本発明は、上記実情に鑑みてなされたものであり、その目的とするところは、従来よりも製造コストが低く、かつＣＰＵに指定された入出力部については応答時間のバラツキが従来より小さい制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る制御装置は、
所定の制御処理を実行する主制御部と、
前記所定の制御処理に用いられるデータを入出力する複数の入出力部と、
前記複数の入出力部を制御する入出力制御処理を実行する副制御部と、
前記主制御部と、前記副制御部と、前記複数の入出力部のそれぞれと、に接続された主バスと、
前記副制御部に接続された、前記主バスと異なる副バスと、
前記副バスに接続させる入出力部を、前記主制御部により指定された入出力部である指定入出力部に切り替えるバススイッチと、を備え、
前記副制御部は、前記副バスを介して前記指定入出力部からデータの転送要求が入力されると、前記副バスを介して前記転送要求への応答を出力する。
【発明の効果】
【０００９】
本発明に係る制御装置によれば、従来よりも製造コストが低く、かつＣＰＵに指定された入出力部については応答時間のバラツキが従来より小さい。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係る制御装置に接続される機器を表す図である。
【図２】実施形態１に係る制御装置を表すハードウェア構成図である。
【図３】（ａ）は、メインメモリのメモリ空間を表す図である。（ｂ）は、実施形態１におけるメモリテーブルを表す図である。（ｃ）は、サブメモリのメモリ空間を表す図である。
【図４】メインＣＰＵが実行する空調制御処理の一例を表すフローチャートである。
【図５】メインＣＰＵの機能ブロック図である。
【図６】サブＣＰＵが実行する入出力制御処理の一例を表すフローチャートである。
【図７】サブＣＰＵの機能ブロック図である。
【図８】実施形態３に係る制御装置を表すハードウェア構成図である。
【図９】実施形態３におけるメモリテーブルを表す図である。
【図１０】実施形態３においてメインＣＰＵが実行する空調制御処理の一例を表すフローチャートである。
【発明を実施するための形態】
【００１１】
＜実施形態１＞
以下、本発明の実施形態１に係る制御装置１００について、添付図面を参照しつつ説明する。
【００１２】
制御装置１００は、図１に示すように、空調機器２００に搭載されている。制御装置１００は、空調機器２００の設置された室温を計測する温度センサ３１と、ユーザなどの移動体を検出する人感センサ３２と、に接続されている。また、制御装置１００は、通信網２０を介して空調機器コントローラ３００に接続されている。
【００１３】
空調機器コントローラ３００は、ユーザに指定された温度となるように空調機器２００を制御するように命じるコマンドを制御装置１００へ送信する。制御装置１００は、人感センサ３２から出力されたデータで表されるユーザなどの移動体の検出結果に基づいて空調機器２００の制御方法を決定する。その後、制御装置１００は、コマンドで指定された温度と、温度センサ３１から出力されたデータで表される温度と、の差異が減少するように、決定された制御方法で空調機器２００の運転を制御する。
【００１４】
次に、図２を参照して、制御装置１００のハードウェア構成について説明する。
制御装置１００は、メインメモリ１１１、メインＣＰＵ（Central Processing Unit）１１２、サブメモリ１２１、サブＣＰＵ１２２、信号線スイッチ１３１、バススイッチ１４０から１４３、入出力部１５１から１５３、通信回路１６０、及びプログラム記憶部１７０を有する。
【００１５】
メインメモリ１１１、メインＣＰＵ１１２、サブメモリ１２１、サブＣＰＵ１２２、バススイッチ１４１から１４３、及びプログラム記憶部１７０は、互いにメインバス１８１で接続されている。メインバス１８１は、メインＣＰＵ１１２とサブＣＰＵ１２２とがデータの転送に用いるため、共有バス１８１ともいう。
【００１６】
メインＣＰＵ１１２は、共有バス１８１を介してメインメモリ１１１にアクセスし、メインＣＰＵ１１２は、空調機器２００の制御に用いられるメイン制御プログラムを実行する。
【００１７】
サブＣＰＵ１２２は、サブＣＰＵ１２２専用のメモリバス１８２を介してサブメモリ１２１にアクセスする。サブＣＰＵ１２２は、メインＣＰＵ１１２により指定された入出力部１５１から１５３のいずれかを用いて入出力されたデータを、サブＣＰＵ１２２専用のデータバスであるサブバス１８５とメモリバス１８２とを介してサブメモリ１２１へ転送させる。
【００１８】
メインメモリ１１１は、ＲＡＭ（Random Access Memory）で構成され、メインＣＰＵ１１２のワークメモリとして機能する。すなわち、メインメモリ１１１は、空調機器２００の動作を制御するメイン制御プログラムをメインＣＰＵ１１２が実行するときに、メイン制御プログラム及びメイン制御プログラムの実行に用いられるデータを記憶する。
【００１９】
サブメモリ１２１は、ＲＡＭで構成され、サブＣＰＵ１２２のワークメモリとして機能する。つまり、サブメモリ１２１は、入出力部１５１から１５３を用いて行われるデータの入出力を制御する入出力制御プログラムをサブＣＰＵ１２２が実行するときに、当該入出力制御プログラム及び当該入出力制御プログラムの実行に用いられるデータを記憶する。
【００２０】
信号線スイッチ１３１は、サブＣＰＵ１２２から出力される切替信号Ｓ１に従って、サブＣＰＵ１２２に接続された信号線１９０を、入出力部１５１に接続された信号線１９１、入出力部１５２に接続された信号線１９２、及び入出力部１５３に接続された信号線１９３のいずれかに切り替えて接続する回路である。
【００２１】
バススイッチ１４０は、サブＣＰＵ１２２から出力される切替信号Ｓ２に従って、サブＣＰＵ１２２に接続されたバス１８５を、入出力部１５１に接続されたバス１８６、入出力部１５２に接続されたバス１８７、及び入出力部１５３に接続されたバス１８８のいずれかに切り替えて接続する回路である。
【００２２】
バススイッチ１４１から１４３は、それぞれバスＢ１からＢ３を介して入出力部１５１から１５３に接続されている。バススイッチ１４１から１４３は、サブＣＰＵ１２２から出力される切替信号Ｓ１１からＳ１３に従って、入出力部１５１から１５３を共有バス１８１に接続させたり、共有バス１８１から切り離したりする回路である。
【００２３】
入出力部１５１から１５３は、Ｉ／Ｏポートで構成される。入出力部１５１は、温度センサ３１に接続され、温度センサ３１とメインＣＰＵ１１１若しくはサブＣＰＵ１２１との間で転送されるデータを入出力する。
【００２４】
入出力部１５１は、バススイッチ１４１が閉じている場合に、メインＣＰＵ１１１によって、共有バス１８１、バススイッチ１４１、及びバスＢ１を介してアクセスされる。これに対して、バススイッチ１４１が開いており、バススイッチ１４０がサブＣＰＵ１２２の専用バスであるバス１８５に、入出力部１５１に接続されたバス１８６を切替接続する場合に、入出力部１５１は、サブＣＰＵ１２１によってアクセスされる。
【００２５】
入出力部１５２は、人感センサ３２に接続され、人感センサ３２とサブＣＰＵ１２１との間で転送されるデータを入出力する。入出力部１５３は、通信回路１６０に接続され、通信回路１６０とサブＣＰＵ１２１との間で転送されるデータを入出力する。
【００２６】
入出力部１５２は、バススイッチ１４２が閉じている場合にメインＣＰＵ１１１によってアクセスされ、バススイッチ１４２が開いており、バススイッチ１４０がバス１８５にバス１８７を切替接続する場合に、サブＣＰＵ１２１によってアクセスされる。入出力部１５３は、バススイッチ１４３が閉じている場合にメインＣＰＵ１１１によってアクセスされ、バススイッチ１４３が開いており、バススイッチ１４０がバス１８５にバス１８８を切替接続する場合に、サブＣＰＵ１２１によってアクセスされる。
【００２７】
通信回路１６０は、入出力部１５３に接続され、入出力部１５３で入出力されるデータをコントローラ２００と通信する。
【００２８】
プログラム記憶部１７０は、ＲＯＭ（Read Only Memory）で構成され、空調機器２００の制御に用いられるメイン制御プログラムと、空調機器２００の制御に用いられるデータの入出力を制御する入出力制御プログラムと、を記憶している。メイン制御プログラムは、メインＣＰＵ１１２で実行され、入出力制御プログラムは、サブＣＰＵ１２２で実行される。
【００２９】
入出力制御プログラムは、第１入出力制御プログラムと、第２入出力制御プログラムと、第３入出力制御プログラムと、を含む。第１入出力制御プログラムは、温度センサ３１が入出力部１５１を介して行うデータの入出力を制御するプログラムである。第２入出力制御プログラムは、人感センサ３２が入出力部１５２を介して行うデータの入出力を制御するプログラムである。第３入出力制御プログラムは、空調機器コントローラ３００と通信する通信回路１６０が入出力部１５３を介して行うデータの入出力を制御するプログラムである。
【００３０】
プログラムは、コンパイル及びリンクされたときにメモリにロードされる位置が決定される。ここでは、メイン制御プログラム及び第１入出力制御プログラムから第３入出力制御プログラムは、図３（ａ）に示すようなメインメモリ１１１上の領域ＡＸ及びＡＹ１からＡＹ３にロードされると決定されているとして説明を行う。
【００３１】
また、領域ＡＹ１がアドレス「0xYS1」から「0xYE1」までの領域であり、領域ＡＹ２がアドレス「0xYS2」から「0xYE2」までの領域であり、領域ＡＹ３がアドレス「0xYS3」から「0xYE3」までの領域であるとして説明を行う。
【００３２】
プログラム記憶部１７０は、図３（ｂ）に示すメモリテーブルを記憶している。メモリテーブルには、メイン制御プログラムを識別するＩＤ「0」と、領域ＡＸの内で、最も先のアドレス（以下、開始アドレスという）「0xXS」及び最も後のアドレス（以下、終了アドレスという）「0xXE」と、が対応付けられたレコードが保存されている。また、メモリテーブルには、第１入出力制御プログラムを識別するＩＤ「1」と、領域ＡＹ１の開始アドレス「0xYS1」及び終了アドレス「0xYE1」と、が対応付けられたレコードが保存されている。また、メモリテーブルには、第２入出力制御プログラムを識別するＩＤ「2」と、領域ＡＹ２の開始アドレス「0xYS2」及び終了アドレス「0xYE2」と、が対応付けられたレコードが保存されている。さらに、メモリテーブルには、第３入出力制御プログラムを識別するＩＤ「3」と、領域ＡＹ３の開始アドレス「0xYS3」及び終了アドレス「0xYS3」と、が対応付けられたレコードが保存されている。尚、図３（ｃ）については後に説明する。
【００３３】
次に、図４及び５を参照して、メインＣＰＵ１１２の機能について説明する。
メインＣＰＵ１１２は、図４に示す空調制御処理を実行することで、図５に示すロード部１１５、制御実行部１１６、転送部１１７、及び起動制御部１１８として機能する。
【００３４】
ロード部１１５は、プログラム記憶部１７０に記憶されたメイン制御プログラムと、入出力制御プログラムと、をメインメモリ１１１へロードする。
【００３５】
制御実行部１１６は、メインメモリ１１１へロードされたメイン制御プログラムに従って、空調機器２００の制御を実行する。
【００３６】
転送部１１７は、メインメモリ１１１へロードされた入出力制御プログラムを、サブメモリ１２１へ転送する。
【００３７】
起動制御部１１８は、入出力制御プログラムの転送が終了すると、サブＣＰＵ１２２を起動若しくは再起動させる。
【００３８】
次に、図５に示した示すロード部１１５、制御実行部１１６、転送部１１７、及び起動制御部１１８で行われるメインＣＰＵ１１２の動作について説明する。
【００３９】
メインＣＰＵ１１２は、起動すると、図４に示す空調制御処理の実行を開始する。
先ず、ロード部１１５は、プログラム記憶部１７０に記憶されたメイン制御プログラムと、入出力制御プログラムと、をメインメモリ１１１へロードする（ステップＳ０１）。
【００４０】
次に、制御実行部１１６は、メイン制御プログラムの開始アドレス「0xXS」が保存された、メインメモリ１１１のリセットベクタを読み出す。その後、制御実行部１１６は、リセットベクタの値「0xXS」をプログラムカウンタに格納する。
【００４１】
ここで、プログラムカウンタで指し示されるアドレスに格納された命令セットで実行が指示される処理（以下、実行を指示される処理という）が空調機器２００を初期状態にする制御処理である場合を例に挙げて説明を行う。
【００４２】
ステップＳ０１が実行された後に、制御実行部１１６は、図３（ｂ）に示したメモリテーブルを参照する（ステップＳ０４）。
【００４３】
次に、制御実行部１１６は、実行を指示される処理が入出力制御プログラムを実行する処理であるか否かを判別する（ステップＳ０５）。このとき、制御実行部１１６は、メモリテーブルには、プログラムカウンタの値「0xXS」と同じ開始アドレス「0xXS」と、値「0xXS」より後の終了アドレス「0xXE」と、に対応付けられたメイン制御プログラムのＩＤ「0」が保存されていると判別する。このため、制御実行部１１６は、実行を指示される処理がメイン制御プログラムの処理であり、入出力制御プログラムを実行する処理ではないと判別する（ステップＳ０５；Ｎｏ）。
【００４４】
次に、制御実行部１１６は、プログラムカウンタで指し示されるアドレス「0xXS」に格納された命令セットを、共有バス１８１を介してメインメモリ１１１から読み出し、読み出された命令セットで実行が指示された処理を実行することで、空調機器２００の制御を行う（ステップＳ０６）。その後、制御実行部１１６は、命令セットに従ってプログラムカウンタを更新する。
【００４５】
次に、実行が指示された処理が、温度センサ３１からのデータ入力を制御する第１入出力制御プログラムを実行する処理であり、更新されたプログラムカウンタの値が、第１入出力制御プログラムの開始アドレス「0xYS1」である場合を例に挙げて説明する。
【００４６】
ステップＳ０６が実行された後、制御実行部１１６は、図３（ｂ）に示したメモリテーブルを参照する（ステップＳ０４）。
【００４７】
制御実行部１１６は、ステップＳ０５の判別処理を実行する。このとき、制御実行部１１６は、メモリテーブルには、プログラムカウンタ「0xYS1」と同じ開始アドレス「0xYS1」と、プログラムカウンタ「0xYS1」より後の終了アドレス「0xYE1」とに対応付けられた第１入出力制御プログラムのＩＤ「1」が保存されていると判定する。このため、制御実行部１１６は、特定された処理が第１入出力制御プログラムを実行する処理であると判別する（ステップＳ０５；Ｙｅｓ）。
【００４８】
次に、転送部１１７は、メモリテーブルから、第１入出力制御プログラムのＩＤ「1」と対応付けられた開始アドレス「0xYS1」を特定する（ステップＳ０７）。
【００４９】
その後、転送部１１７は、図２に示した共有バス１８１を介して、メインメモリ１１１にロードされた第１入出力制御プログラムをサブメモリ１２１へ転送する（ステップＳ０８）。このとき、転送部１１７は、図３（ａ）に示すようなメインメモリ１１１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ1にロードされた第１入出力制御プログラムを、図３（ｃ）に示すようなサブメモリ１２１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ'1へ配置する。
【００５０】
次に、転送部１１７は、共有バス１８１を介して、サブメモリ１２１のリセットベクタに開始アドレス「0xYS１」を書き込む（ステップＳ０９）。
【００５１】
その後、起動制御部１１８は、サブＣＰＵ１２２を起動させる（ステップＳ１０）。
【００５２】
サブＣＰＵ１２２は、起動すると第１入出力制御プログラムの実行を開始する。メインＣＰＵ１１２と、サブＣＰＵ１２２と、は、非同期で処理を行うため、メインＣＰＵ１１２は、サブＣＰＵ１２２による第１入出力制御プログラムの終了を待たずに、ステップＳ０４から上記処理を繰り返す。
【００５３】
しかし、理解を容易にするため、サブＣＰＵ１２２が第１入出力制御プログラムを実行することで発揮する機能と、サブＣＰＵ１２２による第１入出力制御プログラムの実行動作について一旦説明を行う。このため、メインＣＰＵ１１２による空調制御処理の説明を一時中断する。
【００５４】
以下、サブＣＰＵ１２２の機能について、図６及び図７を参照して説明を行う。
【００５５】
サブＣＰＵ１２２は、図６に示す入出力制御処理を実行することで、図７に示す切離部１２５、切替制御部１２６、及び応答部２１７として機能する。
【００５６】
切離部１２５は、メインＣＰＵ１１２が指定した入出力制御プログラムによってデータの入出力が制御される入出力部（以下、指定入出力部という）から、共有バス１８１を切り離す。
【００５７】
切替制御部１２６は、指定入出力部と、サブＣＰＵ１２２に接続された信号線と、が接続するように信号線スイッチ１３１を制御する。また、切替制御部１２６は、指定入出力部と、サブＣＰＵ１２２に接続されたバス１８５と、が接続するように、バススイッチ１４０を制御する。
【００５８】
応答部１２７は、指定入出力部から転送要求が入力され、指定入出力部から割込信号を入力されると、転送要求に応答するデータを指定入出力部に出力する。
【００５９】
次に、図７に示す切離部１２５、切替制御部１２６、及び応答部２１７で行われるサブＣＰＵ１２２の動作について説明する。
【００６０】
サブＣＰＵ１２２は、起動すると、図６に示す入出力制御処理の実行を開始する。
先ず、切離部１２５は、図２に示したサブＣＰＵ１２２専用のメモリバス１８２を介して、サブメモリ１２１のリセットベクタから開始アドレス「0xYS1」を読み出す（ステップＳ２１）。プログラムの開始位置を特定するためである。
【００６１】
次に、切離部１２５は、開始アドレス「0xYS1」をプログラムカウンタに格納する。その後、切離部１２５は、プログラムカウンタの値で表されるサブメモリ１２１のアドレスに格納された第１入出力制御プログラムの命令セットを、メモリバス１８２を介して読み込み、第１入出力制御プログラムの実行を開始する。
【００６２】
ここで、第１入出力制御プログラムから第３入出力制御プログラムは、それぞれが制御対象とする入出力部を識別するＩＤを変数にそれぞれ格納している。
【００６３】
このため、切離部１２５は、第１入出力制御プログラムが有する変数に基づいて、第１入出力制御プログラムによる制御の対象とされる入出力部（つまり、指定入出力部）が、入出力部１５１であると特定する（ステップＳ２２）。
【００６４】
次に、切離部１２５は、図２に示した共有バス１８１から指定入出力部１５１を切り離させる信号をバススイッチ１４２へ出力する（ステップＳ２３）。メインＣＰＵ１１２が共有バス１８１を介して指定入出力部１５２にアクセスできないようにするためである。
【００６５】
次に、切替制御部１２６は、サブＣＰＵ１２２に接続された信号線１９０に、指定入出力部１５１に接続された信号線１９１を切り替え接続させる信号を信号線スイッチ１３１へ出力する。また、切替制御部１２６は、サブＣＰＵ１２２に接続されたバス１８５に、指定入出力部１５１に接続されたバス１８６を切り替え接続させる信号をバススイッチ１３２へ出力する（ステップＳ２４）。
【００６６】
その後、応答部１２７は、所定時間経過するまで、若しくは、指定入出力部１５１から信号線１９０を介して割込信号が入力されるまでスリープする（ステップＳ２５）。
【００６７】
ここで、応答部１２７がスリープしている間、指定入出力部１５１に接続された温度センサ３１がデータの転送を求める転送要求を出力しなかったので、指定入出力部１５１は、割込信号をサブＣＰＵ１２２に入力しなかったとして説明を行う。
【００６８】
ステップＳ２５の後、所定時間経過すると、応答部１２７は、指定入出力部１５２からバス１８５を介して転送要求が入力されたか否かを判別する（ステップＳ２６）。このとき、応答部１２７は、転送要求が入力されていないと判別して（ステップＳ２６；Ｎｏ）、ステップＳ２５のスリープ処理を繰り返す。
【００６９】
次に、応答部１２７がスリープしている間、温度センサ３１が転送要求を出力したので、指定入出力部１５１は、転送要求をサブＣＰＵ１２２に入力してから割込信号を入力したとして説明を行う。
【００７０】
応答部１２７は、割込信号が入力されると、指定入出力部１５２から転送要求が入力されたか否かを判別する（ステップＳ２６）。このとき、応答部１２７は、バス１８５を介して指定入出力部１５１から転送要求が入力されたと判別する（ステップＳ２６；Ｙｅｓ）。
【００７１】
その後、応答部１２７は、温度センサ３１に検出温度を表すデータの出力を開始させるために、転送要求に応答するデータを指定入出力部１５１へ出力する（ステップＳ２７）。次に、応答部１２７は、第１入出力制御プログラムに従い、温度センサ３１から指定入出力部１５１に入力されたデータをサブメモリ１２１へ転送する。その後、応答部１２７は、メインメモリ１１１の所定の領域へ、サブメモリ１２１へ転送したデータを転送してから、入出力制御処理の実行を終了する。その後、メインＣＰＵ１１２は、メインメモリ１１１の所定の領域へ転送されたデータを用いて、図４に示した空調制御処理を実行する。
【００７２】
次に、一旦中断した、図４に示す空調制御処理の説明を再開する。
【００７３】
ここで、プログラムカウンタの値が、第２入出力制御プログラムの開始アドレス「0xYS2」に更新され、プログラムカウンタで実行を指示される処理が、人感センサ３２から出力されたデータの入力を制御する第２入出力制御プログラムを実行する処理である場合を例に挙げて説明する。
【００７４】
制御実行部１１６は、ステップＳ０４の処理を実行した後に、ステップＳ０５の判別処理を実行する。このとき、制御実行部１１６は、メモリテーブルには、プログラムカウンタの値「0xYS2」と同じ開始アドレス「0xYS2」と、プログラムカウンタの値「0xYS2」より後の終了アドレス「0xYE2」とに対応付けられた第２入出力制御プログラムのＩＤ「2」が保存されていると判別する。このため、制御実行部１１６は、特定された処理が第２入出力制御プログラムを実行する処理であると判別する（ステップＳ０５；Ｙｅｓ）。
【００７５】
次に、転送部１１７は、メモリテーブルから、第２入出力制御プログラムのＩＤ「2」と対応付けられた開始アドレス「0xYS2」を特定する（ステップＳ０７）。
【００７６】
その後、転送部１１７は、図２に示した共有バス１８１を介して、メインメモリ１１１の領域ＡＹ2にロードされた第２入出力制御プログラムを、サブメモリ１２１のアドレス「0xYS2」から「0xYE2」までの領域へ転送する（ステップＳ０８）。
【００７７】
次に、転送部１１７は、共有バス１８１を介して、サブメモリ１２１のリセットベクタに開始アドレス「0xYS2」を書き込む（ステップＳ０９）。
【００７８】
その後、起動制御部１１８は、サブＣＰＵ１２２を再起動させる（ステップＳ１０）。
【００７９】
サブＣＰＵ１２２は、再起動すると第２入出力制御プログラムの実行を開始する。ここで、サブＣＰＵ１２２による第２入出力制御プログラムの実行動作について一旦説明を行い、メインＣＰＵ１１２によるメイン制御プログラムの実行動作の説明を一旦中断する。
【００８０】
サブＣＰＵ１２２は、再起動すると、図６に示す入出力制御処理の実行を開始する。
【００８１】
先ず、切離部１２５は、サブメモリ１２１のリセットベクタから開始アドレス「0xYS2」を読み出してから（ステップＳ２１）、開始アドレス「0xYS２」をプログラムカウンタに格納する。その後、切離部１２５は、プログラムカウンタの値で表されるサブメモリ１２１のアドレスに格納された第２入出力制御プログラムの命令セットを、メモリバス１８２を介して読み込み、第２入出力制御プログラムの実行を開始する。
【００８２】
次に、切離部１２５は、第２入出力制御プログラムの変数に基づいて指定入出力部が、入出力部１５２であると特定した後に（ステップＳ２２）、共有バス１８１から指定入出力部１５２を切り離させる信号をバススイッチ１４２へ出力する（ステップＳ２３）。
【００８３】
また、切離部１２５は、共有バス１８１に入出力部１５１を接続させる信号をバススイッチ１４１へ出力し、共有バス１８１に入出力部１５３を接続させる信号をバススイッチ１４３へ出力する。メインＣＰＵ１１２が共有バス１８１を介して入出力部１５１及び入出力部１５３にアクセスできるようにするためである。
【００８４】
次に、切替制御部１２６は、サブＣＰＵ１２２に接続された信号線１９０に接続される信号線を、指定入出力部１５１に接続された信号線１９１から、指定入出力部１５２に接続された信号線１９２に切り替えさせる信号を信号線スイッチ１３１へ出力する。また、切替制御部１２６は、サブＣＰＵ１２２に接続されたバス１８５と接続されるバスを、指定入出力部１５１に接続されたバス１８６から、指定入出力部１５２に接続されたバス１８７に切り替えさせる信号をバススイッチ１３２へ出力する（ステップＳ２４）。
【００８５】
その後、応答部１２７は、ステップＳ２５のスリープ処理を実行する。
【００８６】
ここで、応答部１２７がスリープしている間、人感センサ３２が転送要求を出力したので、指定入出力部１５２は、転送要求をサブＣＰＵ１２２に入力してから割込信号を入力したとして説明を行う。
【００８７】
応答部１２７は、割込信号が入力されると、ステップＳ２６の判別処理を実行する。このとき、応答部１２７は、指定入出力部１５２から転送要求が入力されたと判別する（ステップＳ２６；Ｙｅｓ）。
【００８８】
その後、応答部１２７は、人感センサ３２に検出結果を表すデータの出力を開始させるために、転送要求に応答するデータを指定入出力部１５２へ出力する（ステップＳ２７）。次に、応答部１２７は、第２入出力制御プログラムに従い、人感センサ３２から指定入出力部１５２に入力されたデータをサブメモリ１２１へ転送する。その後、応答部１２７は、メインメモリ１１１の所定の領域へ、サブメモリ１２１へ転送したデータを転送してから、入出力制御処理の実行を終了する。
【００８９】
次に、一旦中断した、図４に示す空調制御処理の説明を再開する。
【００９０】
ここで、プログラムカウンタの値が、第３入出力制御プログラムの開始アドレス「0xYS3」に更新され、プログラムカウンタで実行を指示される処理が、通信回路１６０のデータ入力を制御する第３入出力制御プログラムを実行する処理である場合を例に挙げて説明する。
【００９１】
制御実行部１１６は、ステップＳ０４及びステップＳ０５の処理を実行し、転送部１１７がステップＳ０７からステップＳ０９の処理を実行した後に、起動制御部１１８は、サブＣＰＵ１２２を再起動させる（ステップＳ１０）。
【００９２】
サブＣＰＵ１２２は、起動すると、図６に示す入出力制御処理を実行する。
【００９３】
先ず、切離部１２５は、サブメモリ１２１のリセットベクタから開始アドレス「0xYS3」を読み出してから（ステップＳ２１）、第３入出力制御プログラムの実行を開始する。
【００９４】
次に、切離部１２５がステップＳ２２及びステップＳ２３の処理を実行し、入出力部１５３が指定入出力部であると特定する。その後、切替制御部１２６がステップＳ２４の処理を実行する。
【００９５】
次に、応答部１２７は、ステップＳ２５のスリープ処理を実行する。ここで、応答部１２７がスリープしている間、指定入出力部１５３に接続された通信回路１６０が、空調機器コントローラ３００から、室温がユーザの指定した温度となるように空調機器２００を制御するように命じるコマンドを受信したとして説明を行う。
【００９６】
通信回路１６０は、コマンドの転送を求める転送要求を指定入出力部１５３に出力し、指定入出力部１５３は、転送要求をサブＣＰＵ１２２に入力してから割込信号を入力する。
【００９７】
応答部１２７は、割込信号が入力されると、ステップＳ２６の判別処理を実行する。このとき、応答部１２７は、指定入出力部１５３から転送要求が入力されたと判別する（ステップＳ２６；Ｙｅｓ）。
【００９８】
その後、応答部１２７は、通信回路１６０に、空調機器コントローラ３００から受信したコマンドの出力を開始させるために、転送要求に応答するデータを指定入出力部１５３へ出力する（ステップＳ２７）。次に、応答部１２７は、第３入出力制御プログラムに従い、通信回路１６０から指定入出力部１５３に入力されたコマンドをサブメモリ１２１へ転送する。その後、応答部１２７は、メインメモリ１１１の所定の領域へ、サブメモリ１２１へ転送したデータを転送してから、入出力制御処理の実行を終了する。
【００９９】
次に、一旦中断した、図４に示す空調制御処理の説明を再開する。
【０１００】
ここで、プログラムカウンタの値が領域ＡＸ内のアドレスに更新され、プログラムカウンタで実行を指示される処理が、温度センサ３１の検出温度と、人感センサ３２のユーザ検出結果と、コマンドの指定温度と、に基づく空調機器２００の制御処理である場合を例に挙げて説明する。
【０１０１】
制御実行部１１６は、図３（ｂ）に示したメモリテーブルを参照し（ステップＳ０４）、ステップＳ０５の判別処理を実行する。このとき、制御実行部１１６は、メモリテーブルには、プログラムカウンタの値以下の開始アドレス「0xXS」と、プログラムカウンタの値より後の終了アドレス「0xXE」と、に対応付けられたメイン制御プログラムのＩＤ「0」が保存されていると判別する。このため、制御実行部１１６は、特定された処理がメイン制御プログラムの処理であり、入出力制御プログラムを実行する処理ではないと判別する（ステップＳ０５；Ｎｏ）。
【０１０２】
次に、制御実行部１１６は、特定された処理を実行することで、メインメモリ１１１の所定の領域から、入出力部１５１から転送された検出温度を表すデータと、入出力部１５２から転送されたユーザの検出結果を表すデータと、入出力部１５３から転送されたコマンドと、を読み出す。その後、制御実行部１１６は、コマンドで指定された温度と、データで表される検出温度と、ユーザの検出結果と、に基づいて空調機器２００の制御を行う（ステップＳ０６）。
【０１０３】
その後、メインＣＰＵ１１２の電源がＯＦＦにされるまで、メインＣＰＵ１１２は、上記ステップＳ０１からステップＳ１０の処理を繰り返す。
【０１０４】
これらの構成によれば、メインＣＰＵ１１２が共有バス１８１を用いて空調制御処理を実行している間に、サブＣＰＵ１２２は、サブＣＰＵ１２２専用のバス１８５を介して指定入出力部から転送要求を入力できる。また、メインＣＰＵ１１２が共有バス１８１を用いて空調制御処理を実行している間に、サブＣＰＵ１２２は、転送要求の応答を専用のバス１８５を介して指定入出力部へ出力できる。このため、制御装置１００は、指定入力部については、転送要求に応答する応答時間のバラツキが従来よりも少ない。また、これらの構成によれば、１つのサブＣＰＵ１２２が入出力部１５１から１５３を用いたデータの入出力を制御するので、制御装置１００は、複数の周辺機器とデータ転送できるにも関わらず、従来よりも製造コストが低い。
【０１０５】
これらの構成によれば、信号線スイッチ１３１は、サブＣＰＵ１２２に接続された信号線に接続される入出力部を、メインＣＰＵ１１２により指定された指定入出力部に切り替える。このため、切替後から指定入出力部が割込信号を入力するまでの間に、指定入出力部以外の入出力部が割込信号を入力しないので、指定入出力部が割込信号を入力すると、サブＣＰＵ１２２は、割込信号に直ちに応答できる。よって、制御装置１００は、指定入出力部について転送要求に応答する応答時間のバラツキが従来よりも少ない。
【０１０６】
これらの構成によれば、メインＣＰＵ１１２は、共有バス１８１を介してメインメモリ１１１にアクセスすることで空調制御処理を実行し、サブＣＰＵ１２２は、専用のメモリバス１８２を介してサブメモリ１２１にアクセスすることで入出力制御処理を実行する。このため、メインＣＰＵ１１２によるメインメモリ１１１へのアクセスと、サブＣＰＵ１２２によるサブメモリ１２１へのアクセスと、が競合しないので、指定入出力部については従来よりも一定の時間で転送要求に応答できる。
【０１０７】
これらの構成によれば、サブＣＰＵ１２２は、起動すると、サブメモリ１２１に記憶された入出力制御プログラムの実行を開始した後に、割込信号が入力されるまで待機する。次に、サブＣＰＵ１２２は、割込信号が入力されると、入出力制御プログラムの実行を再開して転送要求に応答する。このため、従来よりも一定の時間で転送要求に応答できる。
【０１０８】
これらの構成によれば、サブＣＰＵ１２２は、共有バス１８１から指定入出力部を切り離す。このため、メインＣＰＵ１１２によって指定入出力部がアクセスされることを防止できるので、メインＣＰＵ１１２による指定入出力部のアクセスと、サブＣＰＵ１２２による指定入出力部のアクセスと、の競合を防止できる。よって、サブＣＰＵ１２２が指定入出力部から転送要求を入力されてから応答を指定入出力部へ出力するまでの応答時間を従来よりも一定の時間とできる。
【０１０９】
これらの構成によれば、メインＣＰＵ１１２がサブメモリ１２１へ入出力制御プログラムを転送し、転送された入出力制御プログラムの開始アドレスをサブメモリ１２１のリセットベクタに書き込み終えてからサブＣＰＵ１２２を起動させる。このため、サブＣＰＵ１２２が不適切なプログラムを実行したり暴走したりすることを防止できる。
【０１１０】
＜実施形態２＞
実施形態１では、図５に示した転送部１１７は、図４に示したステップＳ０８で、第１入出力制御プログラムをメインメモリ１１１からサブメモリ１２１へ転送すると説明した。このとき、転送部１１７は、メインメモリ１１１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ1にロードされた第１入出力制御プログラムを、サブメモリ１２１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ'1へ配置すると説明した。
【０１１１】
また、実施形態１では、転送部１１７は、ステップＳ０９で、サブメモリ１２１のリセットベクタに開始アドレス「0xYS2」を書き込み、サブＣＰＵ１２２は、リセットベクタに書き込まれたサブメモリ１２１のアドレスから第１入出力制御プログラムの実行を開始すると説明した。
【０１１２】
実施形態２では、転送部１１７は、ステップＳ０８で、メインメモリ１１１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ1にロードされた第１入出力制御プログラムを、サブメモリ１２１のアドレス「0xYS1+0xZZ」からアドレス「0xYE1+0xZZ」までの領域ＡＹ''1へ配置する。
【０１１３】
また、実施形態２では、転送部１１７は、ステップＳ０９で、サブメモリ１２１のリセットベクタに開始アドレス「0xYS2+0xZZ」を書き込み、サブＣＰＵ１２２は、リセットベクタに書き込まれたサブメモリ１２１のアドレスから第１入出力制御プログラムの実行を開始する。
【０１１４】
＜実施形態２の変形例＞
実施形態２の変形例では、転送部１１７は、転送部１１７は、ステップＳ０８で、メインメモリ１１１のアドレス「0xYS1」から「0xYE1」までの領域ＡＹ1にロードされた第１入出力制御プログラムを、サブメモリ１２１のアドレス「0xYS1-0xZZ」からアドレス「0xYE1-0xZZ」までの領域ＡＹ''1へ配置する。
【０１１５】
また、実施形態２の変形例では、転送部１１７は、ステップＳ０９で、サブメモリ１２１のリセットベクタに開始アドレス「0xYS2-0xZZ」を書き込み、サブＣＰＵ１２２は、リセットベクタに書き込まれたサブメモリ１２１のアドレスから第１入出力制御プログラムの実行を開始する。
【０１１６】
これらの構成によれば、メインＣＰＵ１１２は、入出力制御プログラムをメインメモリ１１１へロードした後に、メインメモリ１１１が入出力制御プログラムを記憶するアドレスに基づいて決められたサブメモリ１２１のアドレスへ、入出力制御プログラムを転送する。このため、メインＣＰＵ１１２がメイン制御プログラムを実行するために使用するメインメモリ１１１のメモリ配置しか考慮して作成されていない入出力制御プログラムであっても、サブＣＰＵ１２２で実行できるメモリ配置に転送するので、サブＣＰＵ１２２が入出力制御プログラムを確実に実行できるようになる。
【０１１７】
＜実施形態３＞
実施形態１では、１つのサブＣＰＵ１２２を有する制御装置１００について説明した。実施形態１では、図８に示すような、２つのサブＣＰＵ１２２ａとサブＣＰＵ１２２ｂとを有する制御装置４００について説明する。以下、実施形態１との相違について主に説明する。
【０１１８】
実施形態３に係る制御装置４００は、メインメモリ１１１、メインＣＰＵ１１２、及びプログラム記憶部１７０を有する。また、制御装置４００は、サブメモリ１２１ａ、サブＣＰＵ１２２ａ、信号線スイッチ１３１ａ、バススイッチ１４１ａ及び１４２ａ、並びに入出力部１５１ａ及び１５２ａを有している。さらに、制御装置４００は、サブメモリ１２１ｂ、サブＣＰＵ１２２ｂ、信号線スイッチ１３１ｂ、バススイッチ１４１ｂ及び１４２ｂ、並びに入出力部１５１ｂ及び１５２ｂを有している。
【０１１９】
メインメモリ１１１及びメインＣＰＵ１１２と、サブメモリ１２１ａ、サブＣＰＵ１２２ａ、及びバススイッチ１４１ａ及び１４２ａと、サブメモリ１２１ｂ、サブＣＰＵ１２２ｂ、及びバススイッチ１４１ｂ及び１４２ｂと、プログラム記憶部１７０と、は、互いに共有バス１８１で接続されている。
【０１２０】
信号線スイッチ１３１ａは、サブＣＰＵ１２２ａから出力される信号Ｓ１ａに従って、サブＣＰＵ１２２ａに接続された信号線１９０ａを、入出力部１５１ａに接続された信号線１９１ａ及び入出力部１５２ａに接続された信号線１９２ａのいずれかに切り替えて接続する回路である。
【０１２１】
バススイッチ１４０ａは、サブＣＰＵ１２２ａから出力される信号Ｓ２ａに従って、サブＣＰＵ１２２ａに接続されたバス１８５ａを、入出力部１５１ａに接続されたバス１８６ａ及び入出力部１５２ａに接続されたバス１８７ａのいずれかに切り替えて接続する回路である。
【０１２２】
バススイッチ１４１ａ及び１４２ａは、サブＣＰＵ１２２ａから出力される信号Ｓ１１ａ及びＳ１２ａに従って、入出力部１５１ａ及び１５２ａを共有バス１８１に接続させたり、共有バス１８１から切り離したりする回路である。
【０１２３】
入出力部１５１ａは、バスＢ１ａを介してバススイッチ１４１ａに接続され、かつ温度センサ３１ａに接続されている。入出力部１５１ａは、バススイッチ１４１ａが閉じている場合に、メインＣＰＵ１１１によって、共有バス１８１、バススイッチ１４１ａ、及びバスＢ１ａを介してアクセスされる。これに対して、バススイッチ１４１ａが開いており、バススイッチ１４０ａがサブＣＰＵ１２２ａの専用バスであるバス１８５ａに、入出力部１５１ａに接続されたバス１８６ａを切替接続する場合に、入出力部１５１ａは、サブＣＰＵ１２１ａによってアクセスされる。
【０１２４】
入出力部１５２ａは、バスＢ２ａを介してバススイッチ１４２ａに接続され、かつ人感センサ３２ａに接続されている。
【０１２５】
信号線スイッチ１３１ｂは、サブＣＰＵ１２２ｂから出力される信号Ｓ１ｂに従って、サブＣＰＵ１２２ｂに接続された信号線１９０ｂを、入出力部１５１ｂに接続された信号線１９１ｂ及び入出力部１５２ｂに接続された信号線１９２ｂのいずれかに切り替えて接続させる回路である。
【０１２６】
バススイッチ１４０ｂは、サブＣＰＵ１２２ｂから出力される信号Ｓ２ｂに従って、サブＣＰＵ１２２ｂに接続されたバス１８５ｂを、入出力部１５１ｂに接続されたバス１８６ｂ及び入出力部１５２ｂに接続されたバス１８７ｂのいずれかに切り替えて接続させる回路である。
【０１２７】
バススイッチ１４１ｂ及び１４２ｂは、サブＣＰＵ１２２ｂから出力される信号Ｓ１１ｂ及びＳ１２ｂに従って、入出力部１５１ｂ及び１５２ｂを共有バス１８１に接続させたり、共有バス１８１から切り離したりする回路である。
【０１２８】
入出力部１５１ｂは、バスＢ１ｂを介してバススイッチ１４１ｂに接続され、かつ温度センサ３１ｂに接続されている。入出力部１５２ｂは、バスＢ２ｂを介してバススイッチ１４２ｂに接続され、かつ人感センサ３２ｂに接続されている。
【０１２９】
プログラム記憶部１７０は、メイン制御プログラム及び入出力制御プログラムを記憶している。入出力制御プログラムは、第１入出力制御プログラムと、第２入出力制御プログラムと、第３入出力制御プログラムと、第４入出力制御プログラムと、を含む。第１入出力制御プログラムから第４入出力制御プログラムは、それぞれ入出力部１５１ａ、１５２ｂ、１５１ｂ、及び１５２ｂを用いたデータの入出力を制御するプログラムである。
【０１３０】
メイン制御プログラム及び第１入出力制御プログラムから第４入出力制御プログラムは、ロードされるメインメモリ１１１上の領域が、コンパイル時及びリンクされたときに決定されている。
【０１３１】
プログラム記憶部１７０は、図９に示すメモリテーブルを記憶している。メモリテーブルでは、第１入出力制御プログラムから第４入出力制御プログラムについて、プログラムのＩＤと、当該プログラムがメインメモリ１１１にロードされる領域の開始アドレス及び終了アドレスと、当該プログラムを実行するメインＣＰＵ若しくはサブＣＰＵのＩＤと、当該ＣＰＵが使用するメインメモリ若しくはサブメモリのＩＤと、が対応付けられたレコードが保存されている。
【０１３２】
次に、図１０を参照して、実施形態３に係るメインＣＰＵ１１２が、図５に示したロード部１１５、制御実行部１１６、転送部１１７、及び起動制御部１１８で行う動作について説明する。
【０１３３】
メインＣＰＵ１１２は、起動すると、図１０に示す空調制御処理の実行を開始する。
【０１３４】
先ず、ロード部１１５が、図４に示したステップＳ０１を実行し、制御実行部１１６がステップＳ０４の処理を実行した後に、ステップＳ０５の判別処理を実行する。
【０１３５】
このとき、制御実行部１１６が、プログラムカウンタで実行を指示される処理が、入出力制御プログラムを実行する処理であると判別すると（ステップＳ０５；Ｙｅｓ）、転送部１１７は、実行される入出力制御プログラムの開始アドレスを特定する（ステップＳ０７）。
【０１３６】
その後、転送部１１７は、特定された入出力制御プログラムのＩＤに対応付けられたＣＰＵＩＤを検索する。その後、転送部１１７は、サブＣＰＵ１２２ａ及びＣＰＵ１２２ｂの内で、検索されたＩＤで識別されるサブＣＰＵを、当該入出力制御プログラムを実行させるサブＣＰＵであると特定する（ステップＳ０７ｂ）。
【０１３７】
次に、転送部１１７は、特定された入出力制御プログラムのＩＤに対応付けられたメモリＩＤを検索する。その後、転送部１１７は、サブメモリ１２１ａ及び１２１ｂの内で、検索されたＩＤで識別されるサブメモリを、当該入出力制御プログラムの実行に用いられるサブメモリであると特定する（ステップＳ０７ｃ）。
【０１３８】
その後、転送部１１７は、メインメモリ１１１にロードされた入出力制御プログラムを、ステップＳ０６ｃで特定されたサブメモリへ転送した後に（ステップＳ０８）、特定されたサブメモリのリセットベクタに、ステップＳ０７で特定された入出力制御プログラムの開始アドレスを書き込む（ステップＳ０９）。
【０１３９】
その後、起動制御部１１８は、ステップＳ０７ｂで特定されたサブＣＰＵを起動させる（ステップＳ１０）。
【０１４０】
その後、ステップＳ０４に戻り、メインＣＰＵ１１２は、電源がＯＦＦにされるまで、上記処理を繰り返す。
【０１４１】
尚、実施形態１では、制御装置１００は、空調機器２００を制御するとして説明したが、制御装置１００が制御する機器は、空調機器２００に限定される訳ではない。
【０１４２】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【０１４３】
２０              通信網
３１              温度センサ
３２              湿度センサ
１００，４００    制御装置
１１１            メインメモリ
１１２            メインＣＰＵ
１１５            ロード部
１１６            制御実行部
１１７            転送部
１１８            起動制御部
１２１            サブメモリ
１２２            サブＣＰＵ
１２５            切離部
１２６            切替制御部
１２７            応答部
１３１            信号線スイッチ
１４０，１４１，１４２，１４３    バススイッチ
１５１，１５２，１５３            入出力部
１６０            通信回路
１７０            プログラム記憶部
１８１            メインバス（共有バス）
１８２            メモリバス
１８５，１８６，１８７，１８８    バス
１９０，１９１，１９２，１９３    信号線
２００            空調機器
３００            空調機器コントローラ
【図１】
2013196455.tif 000003
【図２】
2013196455.tif 000004
【図３】
2013196455.tif 000005
【図４】
2013196455.tif 000006
【図５】
2013196455.tif 000007
【図６】
2013196455.tif 000008
【図７】
2013196455.tif 000009
【図８】
2013196455.tif 000010
【図９】
2013196455.tif 000011
【図１０】
2013196455.tif 000012