(57)【要約】【課題】マイクロプログラムのサイズを制御記憶の記憶容量の１／２以下に抑えるという制約を回避すると共に、複数のＣＰＵのマイクロブログラムを更新する方法を供すること。【解決手段】主ＣＰＵ１０と副ＣＰＵ２０とアナログスイッチ５０とを有し、ホストと主ＣＰＵ１０とは通信インターフェース３０を介して接続され、主ＣＰＵ１０と副ＣＰＵ２０とは通信インターフェース４０を介して接続され、主ＣＰＵ１０は通信インターフェース３０を介してホストから受信した更新用マイクロプログラムを通信インターフェース４０を介して更新用記憶領域２１に書き込み、副ＣＰＵ２０は制御インターフェース５３によってアナログスイッチ５０を介して汎用インターフェース５１と更新用インターフェース５２とを導通させ、更新用記憶領域２１に格納された更新用マイクロプログラムを制御記憶１１に書込むことを特徴とする電子機器。【選択図】図１
2014153964.tif 000002
【特許請求の範囲】
【請求項１】
制御記憶を備えた主ＣＰＵと、更新用記憶領域を備えた副ＣＰＵと、を有し、
情報処理装置と該主ＣＰＵとは第1の通信インターフェースを介して接続され、該主ＣＰＵと該副ＣＰＵとは該第１の通信インターフェースとは独立の第２の通信インターフェースを介して接続される電子機器において、
さらに、電子回路装置を有し、
前記副ＣＰＵと該電子回路装置とは汎用インターフェースを介して接続され、
該電子回路装置と前記主ＣＰＵとは更新用インターフェースを介して接続され、
前記副ＣＰＵと該電子回路装置とは制御インターフェースを介して接続され、
前記主ＣＰＵは、前記第１の通信インターフェースを介して前記情報処理装置から受信した更新用マイクロプログラムを前記第２の通信インターフェースを介して前記副ＣＰＵの前記更新用記憶領域に書き込み、
前記副ＣＰＵは、前記制御インターフェースを介して前記電子回路装置にて前記汎用インターフェースと前記更新用インターフェースとを導通させ、前記更新用記録領域に格納された前記更新用マイクロプログラムを前記汎用インターフェースと前記更新用インターフェースとを介して前記制御記憶に書き込む、
ことを特徴とする電子機器。
【請求項２】
前記電子機器は、さらに
個々に制御記憶を備えたＮ個（Ｎは自然数）の拡張ＣＰＵを有し、
前記電子回路装置と該第ｉ番目（ｉ＝１〜Ｎ）の拡張ＣＰＵとは拡張更新用インターフェースを介して接続され、
前記副ＣＰＵは前記制御インターフェースを介して前記電子回路装置にて前記更新用インターフェースと該Ｎ個の拡張更新用インターフェースのうちの一つを選択して前記汎用インターフェースと導通させる、
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記Ｎ個の拡張更新用インターフェースのうち少なくともの一つの拡張更新用インターフェースのデータ通信速度あるいは通信プロトコルの少なくとも一方は、前記更新用インターフェースのデータ通信速度および通信プロトコルと異なる、
ことを特徴とする請求項２に記載の電子機器。
【請求項４】
前記汎用インターフェースと前記更新用インターフェースと前記拡張更新用インターフェースは２線式インターフェースである、
ことを特徴とする請求項１〜３のいずれか１項に記載の電子機器。
【請求項５】
前記主ＣＰＵあるいは前記副ＣＰＵの少なくとも一方は、誤り検出手法による冗長データを使用して、前記更新用マイクロプログラムが前記更新用記憶領域あるいは前記制御記憶の少なくともいずれか一方に正常に書き込まれたことを検査する手段を有する、
ことを特徴とする請求項１〜４のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプログラム制御方式のマイクロプロセッサを備える電子機器に関する。
【背景技術】
【０００２】
家庭用機器、産業用機器等、情報処理および電子制御を行う電子機器において、マイクロプロセッサを具備してそれを制御するマイクロプログラムを書き換えることによって、より複雑で高度な機能を供する組込みシステムの技術が使用されている。それらのマイクロプロセッサを具備した電子機器は、製造者によって市場に提供された後に機能の追加や不具合の是正のために内部に格納されたマイクロプログラムの更新が必要になる場合がある。このような場合、適当な通信手段を介してホストからの命令に応じて正当に、かつ、確実にマイクロプログラムを書き換える（更新する）機能を有することが要求される。
【０００３】
下記特許文献１には、ホスト側から通信回線を介して主プログラム（マイクロプログラムと同義）を主メモリ（ＲＡＭ）に取り込む機能と、該主メモリ上の主プログラムをフラッシュメモリ内のバックアップ用領域に書き込む機能と、該バックアップ用領域の主プログラムをフラッシュメモリ内の主プログラム用領域に書き込む機能とを設けた通信端末装置が記載されている。
【０００４】
下記特許文献２には、複数のＣＰＵ（マイクロプロセッサ）とサービスプロセッサが同一の保守専用バスに接続された構成にて該ＣＰＵのマイクロプログラムのローディング方式が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−５５０６８号公報
【特許文献２】特開平５−２７４１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の発明においては、主プログラムの書き換えの過程にて主メモリに取り込まれた主プログラム（マイクロプログラムと同義）はフラッシュメモリのバックアップ用領域と主プログラム用領域の２つの記憶領域に書き込まれる。
【０００７】
しかしながら、フラッシュメモリ内に同じ主プログラムを二つ格納するためには主プログラムのサイズは該フラッシュメモリの記憶容量に対して１／２以下でなければならないという問題があった。
【０００８】
また、特許文献２の発明においては、同一の保守専用バスに接続された同一のマイクロプログラムによって制御される複数のＣＰＵは、サービスプロセッサからの指示によって更新用のマイクロプログラムをローディングする。
【０００９】
しかしながら、同一のバスに接続されたＣＰＵはいずれも同一の通信方法、すなわち同一のデータ通信速度および同一の通信プロトコルを用いて、同一のマイクロプログラムをローディングすることしかできず、少なくとも一つのＣＰＵが他のＣＰＵと異なる通信方法を必要とする構成では対応することができないという問題があった。
【００１０】
本発明は、上記課題に鑑みなされたものであり、マイクロプログラムのサイズについての制約を回避し、さらに、二つ以上のマイクロプロセッサについて、そのうち少なくとも一つのＣＰＵが他のＣＰＵとはデータ通信速度あるいは通信プロトコルの少なくともいずれか一方が異なる場合でもマイクロプログラムを書き換える手段を供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、制御記憶を備えた主ＣＰＵと、更新用記憶領域を備えた副ＣＰＵと、電子回路装置（アナログスイッチ）とを有し、外部の情報処理装置（ホスト）と該主ＣＰＵとは第１の通信インターフェースを介して接続され、該主ＣＰＵと該副ＣＰＵとは第１の通信インターフェースとは独立の第２の通信インターフェースを介して接続され、前記副ＣＰＵと該電子回路装置とは汎用インターフェースを介して接続され、該電子回路装置と前記主ＣＰＵとは更新用インターフェースを介して接続され、前記副ＣＰＵと該電子回路装置とは制御インターフェースを介して接続され、前記主ＣＰＵはホストから前記第１の通信インターフェースを介して受信した更新用マイクロプログラムを前記第２の通信インターフェースを介して前記副ＣＰＵの前記更新用記憶領域に書き込み、前記副ＣＰＵは前記制御インターフェースによって前記電子回路装置を介して前記汎用インターフェースと前記更新用インターフェースとを導通させ、前記更新用記録領域に格納された前記更新用マイクロプログラムを前記制御記憶に書き込む、ことを特徴とする電子機器である。
【００１２】
上記構成において、さらに個々に制御記憶を備えたＮ個（Ｎは自然数）の拡張ＣＰＵを有し、前記電子回路装置と該第ｉ番目（ｉ＝１〜Ｎ）の拡張ＣＰＵとは第ｉ番目の拡張更新用インターフェースを介して接続され、前記電子回路装置は、前記副ＣＰＵから前記制御インターフェースを介して入力されるデータ信号によって、前記更新用インターフェースおよび前記Ｎ個の拡張更新用インターフェースのうち一つを選択して前記汎用インターフェースと導通させることができる。
【００１３】
上記構成において、前記Ｎ個の拡張更新用インターフェースのうち少なくとも一つは、データ通信速度あるいは通信プロトコルの少なくともいずれか一方が前記更新用インターフェースのデータ通信速度あるいは通信プロトコルとは異なるものを使用することができる。
【００１４】
上記構成において、前記汎用インターフェースと前記更新用インターフェースと前記拡張更新用インターフェースは２線式インターフェースを使用することができる。
【００１５】
前記主ＣＰＵあるいは前記副ＣＰＵの少なくとも一方は、誤り検出手法による冗長データを使用して、前記更新用マイクロプログラムが前記更新用記憶領域あるいは前記制御記憶の少なくともいずれか一方に正常に書き込まれたことを検査する手段を有することができる。
【発明の効果】
【００１６】
本発明によれば、マイクロプログラムのサイズが制御記憶の記憶容量の１／２以下でなければならないという制約を回避することができ、前記更新用インターフェースと前記Ｎ個の拡張更新用インターフェースのうち少なくとも一つは他のＮ個の更新用インターフェースとはデータ通信速度あるいは通信プロトコルの少なくとも一方が異なっていても、主ＣＰＵおよび拡張ＣＰＵのマイクロプログラムを書き換えることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例１に係る電子機器の構成を示すブロック図である。
【図２】本発明の実施例１に係るマイクロプログラムの書き換え手順を示すフローチャートである。
【図３】本発明の第２の実施例に係る電子機器の構成を示すブロック図である。
【図４】本発明の第２の実施例に係るマイクロプログラムの書き換え手順を示すフローチャートである。
【図５】本発明の第３の実施例に係る電子機器の構成を示すブロック図である。
【図６】本発明の第３の実施例に係るマイクロプログラムの書き換え手順を示すフローチャートである。
【図７】本発明の実施例１に係る電子回路装置の第１の構成例を示すブロック図である。
【図８】本発明の実施例１に係る電子回路装置の第２の構成例を示すブロック図である。
【図９】本発明の第２の実施例に係る電子回路装置の概略構成を示すブロック図である。
【図１０】本発明の第４の実施例に係る電子機器の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図を参照しながら本発明の実施例について説明する。
（実施例１）
【００１９】
図１は本発明の実施例１の構成を示すブロック図であり、電子機器１は、主ＣＰＵ１０、副ＣＰＵ２０、電子回路装置（アナログスイッチ）５０とを備え、主ＣＰＵ１０と外部の情報処理装置（ホスト）とは通信インターフェース３０を介して接続される。主ＣＰＵ１０と副ＣＰＵ２０とは通信インターフェース４０を介して接続される。副ＣＰＵ２０とアナログスイッチ５０とは汎用インターフェース５１を介して接続される。アナログスイッチ５０と主ＣＰＵ１０とは更新用インターフェース５２を介して接続され、副ＣＰＵ２０とアナログスイッチ５０とはさらに制御インターフェース５１を介して接続されている。アナログスイッチ５０は、副ＣＰＵ２０から制御インターフェース５３を介して入力される制御信号に応じて、汎用インターフェース５１と更新用インターフェース５２との間の導通と遮断とを切り替えることができる。なお、ここでいう「インターフェース」は、例えば、信号端子等の個々のＣＰＵや電子回路装置に属する他の部品との接続部分（その信号レベル等の電気的規格や通信プロトコル、物理的な形状に関する規定等も含む）だけでなく、さらにそれらの接続部分同士を相互に接続する電気配線やその電気配線に接続されるプルアップ抵抗等の回路素子等も含んだ総称を意味する。
【００２０】
主ＣＰＵ１０にはフラッシュメモリ等のＥＥＰＲＯＭを使用した制御記憶１１が内蔵されており、主ＣＰＵ１０がそこに格納されたマイクロプログラムを実行することによってホストとの通信や電子機器の行うべき所定の情報処理および電子制御が行われる。マイクロプログラムの書き換え（更新）は、主ＣＰＵ１０がマイクロプログラムを実行している間に行うことはできず、主ＣＰＵ１０がマイクロプログラムの実行を一時的に停止して、その間に副ＣＰＵ２０が主ＣＰＵ１０の制御記憶１１に書き込みを行うことで行われる。
【００２１】
汎用インターフェース５１と更新用インターフェース５２とを直接接続せずに電子回路装置５０を介して接続する目的について説明する。副ＣＰＵ２０のマイクロプログラムを更新する場合に、例えば、外部の装置（図示していない）が、更新用マイクロプログラムを副ＣＰＵ２０の制御記憶に書き込むために、汎用インターフェース５１を介して副ＣＰＵ２０に接続される場合がある。このような場合に更新用インターフェース５２を電子回路装置５０によって汎用インターフェース５１から遮断しておくことによって、主ＣＰＵ１０のマイクロプログラムが意図せずに更新されてしまうのを回避することができる。また、汎用インターフェース５１と更新用インターフェース５２の各々の信号レベルが互換でない場合に、電子回路装置５０の中にアナログスイッチに加えて、入力側と出力側とで双方向で信号レベルの変換が可能なレベル変換ＩＣ等を設けることによって、副ＣＰＵ２０と主ＣＰＵ１０との間の信号伝達を可能にすることができる。
【００２２】
図２は本発明の実施例１にて主ＣＰＵ１０のマイクロプログラムを書き換える手順を示すフローチャートである。まず、主ＣＰＵ１０は更新用マイクロプログラムを通信インターフェース３０を介してホストより受信し、それを、副ＣＰＵ２０内に用意した更新用記憶領域２１（フラッシュメモリ等）に通信インターフェース４０を介して書き込む（ステップ：Ｓ１）。更新用マイクロプログラムがすべて書き込まれた後、主ＣＰＵ１０はホストからマイクロプログラムの書き換え命令を受ける（ステップ：Ｓ２）。主ＣＰＵ１０は副ＣＰＵ２０に書き換えを行うように命令を出し、自身のマイクロプログラムの実行を停止する（ステップ：Ｓ３）。次に、副ＣＰＵ２０は制御インターフェース５３を介して制御信号を入力することによってアナログスイッチ５０にて汎用インターフェース５１と更新用インターフェースとを導通させ、汎用インターフェース５１と更新用インターフェース５２とを介して更新用記憶領域２１に格納された更新用マイクロプログラムを主ＣＰＵの制御記憶１１に書き込む（ステップ：Ｓ４）。その後、副ＣＰＵ２０は主ＣＰＵ１０を再起動させる（ステップ：Ｓ５）。再起動後に主ＣＰＵ１０は制御記憶１１に格納された更新用マイクロプログラムを実行する（ステップ：Ｓ６）。本発明では、主ＣＰＵ１０の制御記憶１１とは別の副ＣＰＵ２０の更新用記憶領域２１に更新用マイクロプログラムを格納するためにマイクロプログラムのサイズは制御記憶１１の記憶容量の１／２以下でならなければならないという制約を回避することができる。
【００２３】
通信インターフェース３０、４０は、例えば、光伝送用送受信器等に使用されるＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）、Ｉ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｕｉｒｃｕｉｔ）やＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）、ＲＳ２３２Ｃ等の公知の規格に準じたものが使用できる。すなわち、通信インターフェース３０、４０に使用する信号線の電気的規格や通信速度や通信プロトコルは、それら個々の規格に準じたものを選択することが可能である。なお、通信インターフェース３０は、ホストと主ＣＰＵとの間に通信用専用ＬＳＩ等を介在させて通信を行う構成も考え得る。
【００２４】
汎用インターフェース５１と更新用インターフェース５２とは、副ＣＰＵ２０が主ＣＰＵ１０の制御記憶１１内のマイクロプログラムの書き換えを行うために、例えば、クロック信号とデータ信号とによって構成される２線式のインターフェースを採用することが可能である。図7は、その場合の電子回路装置５０の第1の構成例を示すブロック図である。電子回路装置５０は、２個の単極単投（Ｓｉｎｇｌｅ−Ｐｏｌｅ  Ｓｉｎｇｌｅ−Ｔｈｒｏｗ）のアナログスイッチ５０ａ、５０ｂによって構成される。アナログスイッチ５０と汎用インターフェース５１および更新用インターフェース５２との接続は、汎用インターフェース５１のクロック信号線ＣＫＣと更新用インターフェース５２のクロック信号線ＣＫ０とが接続され、汎用インターフェース５１のデータ信号線ＤＣと更新用インターフェース５２のデータ信号線ＤＯとが接続されるように配線され、各信号線間の導通および遮断は、開閉制御信号ＥＮによって切り替えられる。なお、図８は電子回路装置５０の第２の構成例を示しており、単極単投のアナログスイッチ２個が一つの半導体素子上に集積化された双極単投（Ｄｏｕｂｌｅ−Ｐｏｌｅ  Ｓｉｎｇｌｅ−Ｔｈｒｏｗ）のアナログスイッチ５０を採用している。なお、図８において、図７と同一部分については同符号を用いて、その説明は省略する。
【００２５】
図７および図８のクロック信号線ＣＫＣ、ＣＫ０およびデータ信号線ＤＣ、Ｄ０は、各々の信号線間でデジタル信号による通信が行えるように信号レベル等の電気的規格が互換のものを採用する。あるいは、信号レベルが互換でない場合には、副ＣＰＵ２０とアナログスイッチ５０との間、または、アナログスイッチ５０と主ＣＰＵ１０との間に、例えば、入力側と出力側とで双方向で信号レベルの変換が可能なレベル変換ＩＣを挿入して副ＣＰＵ２０と主ＣＰＵ１０との通信を可能とすることもできる。
【００２６】
なお、汎用インターフェース５１と更新用インターフェース５２との導通は、副ＣＰＵ２０が更新用記憶領域２１に格納された更新用プログラムを主ＣＰＵ１０の制御記憶１１に書き込む間に行われれば良く、それ以外の時は、ノイズ信号による誤動作等を避けるために、汎用インターフェース５１と更新用インターフェース５２とは遮断されていることが好ましい。
【００２７】
ところで、図２のステップＳ１あるいはＳ４の実行中に停電等により電子機器１の電源が遮断された場合には更新用マイクロプログラムの書き込みが中断されたり、誤ったデータが書き込まれる可能性があり、再起動（ステップＳ５）の後にステップＳ５にて主ＣＰＵ１０が正常に動作しないといった不具合を生じる虞がある。これを回避するために、更新用記憶領域２１あるいは制御記憶１１に格納された更新用マイクロプログラムに誤りがないかどうか検査する手順を設けることが好適となる。
【００２８】
例えば、ステップＳ１においては、主ＣＰＵ１０が更新用マイクロプログラムと一緒にホストより提供された一般的な誤り検出手法による冗長データも更新用記憶領域２１に書き込み、書込み終了後に冗長データを用いて更新用マイクロプログラムが更新用記憶領域２１に正常に書き込まれたことを検査することが可能である。また、ステップＳ４においては副ＣＰＵ２０が書き込み終了後に、同様に更新用マイクロプログラムが制御記憶１１に正常に書き込まれたことを検査することが可能である。なお、もしも、更新用マイクロプログラムを構成するデータに誤りがあると判断された場合には、主ＣＰＵ１０あるいは副ＣＰＵ２０の特定の記憶領域にデータの誤りが生じたことや誤りの内容等を知らせる情報を書き込み、書き換え手順を中断して図２の手順を最初からやり直すように元の実行中のマイクロプログラムを作成しておくことが可能である。さらに、更新した以降も確実に書き換えを行うために更新用マイクロプログラムについても同様の処理を行うよう作成しておくことが好ましい。
（実施例２）
【００２９】
図３は本発明の第２の実施例の構成を示すブロック図であり、実施例１において、さらに、個々に制御記憶１０１、２０１、３０１を備えたＮ個（Ｎは自然数）の拡張ＣＰＵ１００、２００、３００とを有し、アナログスイッチ５０と第ｉ番目（ｉ＝１〜Ｎ）の拡張ＣＰＵ２００とは第ｉ番目の拡張更新用インターフェース２０２を介して接続され、副ＣＰＵ２０が制御インターフェース５３を介して予め定めたデータ信号をアナログスイッチ５０に入力することによって、更新用インターフェース５２およびＮ個の拡張更新用インターフェース１０２、２０２、３０２のうちの一つを選択して汎用インターフェース５１と導通させることができる。なお、第１図と同一部分については同符号を用いて、その説明は省略する。
【００３０】
図９は、本発明の第２の実施例において、Ｎ＝３の場合のアナログスイッチ５０に係る構成例を示している。汎用インターフェース５１、更新用インターフェース５２、拡張更新用インターフェース１０２、２０２、３０２は、クロック信号線とデータ信号線から成る２線式インターフェースを採用している。電子回路装置５０は、１：４アナログスイッチ５０ａ、５０ｂによって構成される。汎用インターフェース５１のクロック信号線ＣＫＣと更新用インターフェース５２、１０２、２０２、３０２の各々のクロック信号線ＣＫ０、ＣＫ１、ＣＫ２、ＣＫ３とが１：４アナログスイッチを介して接続され、汎用インターフェース５２のデータ信号線ＤＣと更新用インターフェース５２、１０２、２０２、３０２の各々のデータ信号線Ｄ０、Ｄ１、Ｄ２、Ｄ３とが１；４アナログスイッチ５０ｂを介して接続されるように配線され、制御インターフェース５３の経路選択信号Ａ０、Ａ１によってクロック信号線ＣＫＣと４つのクロック信号線ＣＫ０、ＣＫ１、ＣＫ２、ＣＫ３のいずれか一つとが導通され、それに対応してデータ信号線ＤＣとデータ信号線Ｄ０、Ｄ１、Ｄ２、Ｄ３のうちの一つが導通される。すなわち、例えば、ＣＫＣとＣＫ１とが導通させる場合には、ＤＣとＤ１とが導通され、このようにして汎用インターフェース５１と更新用インターフェース１０２とが導通される。経路選択信号Ａ０、Ａ１によって選択されたアナログスイッチ５０ａ、５０ｂ内のスイッチのオン（導通）とオフ（遮断）とは、制御インターフェース５３の開閉制御信号線ＥＮを介してアナログスイッチ５０ａ、５０ｂにデジタル値（”１”あるいは”０”）を入力することによって切替えられる。
【００３１】
なお、Ｎの値が３よりも大きい場合であっても、複数の１：２アナログスイッチや１：４アナログスイッチを直列接続や並列接続によって適宜組み合わせることで電子回路装置５０を構成することが可能である。
【００３２】
図４は本発明の第２の実施例にて第ｉ番目の拡張ＣＰＵ２００のマイクロプログラムを書き換える手順を示すフローチャートである。まず、主ＣＰＵ１０は更新用マイクロプログラムを通信インターフェース３０を介して受信し、それと第ｉ番目の拡張ＣＰＵ２００が対象であることを示すデータとを通信インターフェース４０を介して副ＣＰＵ２０の更新用記憶領域２１（フラッシュメモリ等）に書き込む（ステップＴ１）。更新に必要なデータがすべて書き込まれた後、主ＣＰＵ１０はホストから第ｉ番目の拡張ＣＰＵ２００についてマイクロプログラムの書き換え命令を受ける（ステップＴ２）。主ＣＰＵ１０は副ＣＰＵ２０に第ｉ番目の拡張ＣＰＵ２００のマイクロプログラムを書き換えるよう命令する（ステップＴ３）。次に、副ＣＰＵ２０は、第ｉ番目のＣＰＵ２００が書き換え対象であることを示すデータに応じて制御インターフェース５３を介して適当な制御信号を入力することによって、アナログスイッチ５０を介して汎用インターフェース５１と第ｉ番目の拡張更新用インターフェース２０２とを導通させ、汎用インターフェース５１と第ｉ番目の拡張更新用インターフェース２０２を介して更新用記憶領域２１に格納された更新用マイクロプログラムを第ｉ番目のＣＰＵ２００の制御記憶２０１に書き込む（ステップＴ４）。その後、副ＣＰＵ２０は第ｉ番目のＣＰＵ２００を再起動させる（ステップＴ５）。再起動後に第ｉ番目のＣＰＵ２００は制御記憶２０１に格納された更新用マイクロプログラムを実行する（ステップＴ６）。本発明によれば、第ｉ番目のＣＰＵ２００の制御記憶２０１とは別の副ＣＰＵ２０の更新用記憶領域２１に更新用マイクロプログラムを格納するために拡張ＣＰＵ２００のマイクロプログラムのサイズは制御記憶２０１の容量の１／２以下でならなければならないという制約を回避することができる。
【００３３】
上記の第ｉ番目の拡張ＣＰＵ２００が書き換え対象であることを示すデータは、例えば、実際の電子機器にてアナログスイッチ５０と主ＣＰＵ１０およびＮ個の拡張ＣＰＵ１００、２００、３００との接続に関する情報を予め主ＣＰＵ１０内の所定の記憶領域に蓄えておき、主ＣＰＵ１０がホストからの書き換え対象となる拡張ＣＰＵの指定に対して適当な拡張更新用インターフェース１０２、２０２、３０２が選択されるように制御インターフェース５３を指示できるように作成しても良い。
【００３４】
アナログスイッチ５０とＮ個の拡張ＣＰＵ１００、２００、３００とを１：１で接続するＮ個の拡張更新用インターフェース１０２、２０２、３０２について、例えば、制御インターフェース５３によって選択された第ｉ番目の更新用インターフェース２０２以外の拡張更新用インターフェース１０２、３０２は、汎用インターフェース５１および第ｉ番目の拡張更新用インターフェース２０２から遮断されているため、汎用インターフェース５１と第ｉ番目の拡張更新用インターフェース２０２とを介するマイクロプログラム更新のための信号伝送によるノイズの影響を受けない。従って、更新用インターフェース５２とＮ個の拡張更新用インターフェース１０２、２０２、３０２のうち少なくとも一つは、そのデータ通信速度あるいは通信プロトコルの少なくとも一方が他の拡張更新用インターフェースの通信速度あるいは通信プロトコルと異なるものを採用することができる。特許文献２によれば、同一のバスに接続されたＣＰＵは同一の通信方法、すなわち同一の通信速度、かつ、同一の通信プロトコルで通信を行わなければならないが、本発明によれば、副ＣＰＵ２０が拡張ＣＰＵ１００、２００、３００との通信に必要な通信速度および通信プロトコルにて汎用インターフェース５１を制御することによって、各々のＣＰＵの通信インターフェースについて自由に選択し、対応することできる。
【００３５】
主ＣＰＵ１０とＮ個の拡張ＣＰＵ１００、２００、３００とについて、汎用インターフェース５１と拡張更新用インターフェース１０２、２０２、３０２とは、信号線の本数および信号レベル等の電気的規格等が互換であれば、そのうちの少なくとも１つのＣＰＵは他のＣＰＵと異種のものを採用することが可能である。また。主ＣＰＵ１０とＮ個の拡張ＣＰＵ１００、２００、３００とについて、そのうちの少なくとも１つのＣＰＵのマイクロプログラムは他のＣＰＵのマイクロプログラムと異なるものでも、本発明によれば更新することが可能となる。特許文献２においては、同一のバスに接続されたＣＰＵは同一のものでなければならず、更新するマイクロプログラムも同一でなければならないが、本発明によれば個々のＣＰＵおよびそのマイクロプログラムについて自由な選択を行うことが可能となる。
（実施例３）
【００３６】
図５は本発明の第３の実施例の構成を示すブロック図であり、第２の実施例において、主ＣＰＵ１０と副ＣＰＵ２０とに加えて、さらにＮ個の拡張ＣＰＵ１００、２００、３００が通信インターフェース４０によって接続されている。なお、第３図と同一部分については同符号を用いて、その説明は省略する。
【００３７】
図６は本発明の第３の実施例にて第ｉ番目の拡張ＣＰＵ２００のマイクロプログラムを書き換える手順を示すフローチャートである。第２の実施例に加えて、ステップＵ３にて、主ＣＰＵ１０は副ＣＰＵ２０に第ｉ番目の拡張ＣＰＵ２０２についてマイクロプログラムの書き換えを命令するとともに、通信インターフェース４０を介して第ｉ番目の拡張ＣＰＵ２０２のマイクロプログラムの実行を停止させる。これは、副ＣＰＵ２０が第ｉ番目の拡張ＣＰＵ２００の制御記憶２０１に更新用マイクロプログラムを書き込む場合に、第ｉ番目の拡張ＣＰＵ２０２がマイクロプログラムを実行していると拡張ＣＰＵが正常に動作しなくなる等の障害が起きるのを防ぐために行う。ただし、そういった虞がない場合には省略することも可能である。その場合には、第ｉ番目の拡張ＣＰＵ２０２は、主ＣＰＵ１０と副ＣＰＵ２０と通信インターフェース４０によって接続しなくても良い。
（実施例４）
【００３８】
図１０は本発明の第４の実施例の構成を示すブロック図であり、第３の実施例において、Ｎ＝３とし、第２の拡張ＣＰＵ２００の代わりにＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ａｒｒａｙ）４００が第２の拡張インターフェース２０２を介してアナログスイッチ５０と接続され、第３の拡張ＣＰＵ３００の代わりにＣＰＦＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）５００が第３の拡張インターフェース３０２を介してアナログスイッチ５０に接続されている。なお、第５図と同一部分については同符号を用いて、その説明は省略する。
【００３９】
ＦＰＧＡ４００は、内部に多数の論理ブロックとＲＡＭとを備えるＩＣであり、ＲＡＭ上のルックアップテーブルＬＵＴ（Ｌｏｏｋ−Ｕｐ  Ｔａｂｌｅ）４０１に格納された情報によって論理ブロック間の接続を特定する（プログラムする）ことで複雑な情報処理機能を供することができる。ＦＰＧＡは、数万から数百万の範囲の論理ゲートを有し、用途に応じてＣＰＵの代わりに高度で複雑な情報処理や機器制御を高速に行うことができる。また、ＣＰＵのマイクロプログラムの更新と同様に、ＬＵＴ４０１を書き換えることによってＦＰＧＡ４００の論理機能を変更することができる。ＬＵＴ４０１の書き換えは、拡張ＣＰＵのマイクロプログラムの更新と同様に、拡張更新用インターフェース２０２に、例えば、２線式のインターフェースを採用することで行うことができる。
【００４０】
また、ＣＰＬＤ５００は、多数の論理ブロック（マクロセルとも呼ばれる）とコンフィグレーションメモリ５０１とを備えるＩＣであり、コンフィグレーションメモリ５０１に格納された論理ブロック間の接続情報によって複雑な情報処理回路を構成する（プログラムする）ことができる。ＣＰＬＤは、数千から数万の論理ゲートに相当する論理機能を供することができ、用途に応じてＣＰＵの代わりに高度で複雑な情報処理や機器制御を高速に行うことができる。また、ＣＰＵやＦＰＧＡと同様に、コンフィグレーションメモリ５０１を書き換えることによって論理機能を変更することができる。コンフィグレーションメモリ５０１の書き換えは、拡張ＣＰＵのマイクロプログラムの更新と同様に、拡張更新用インターフェース３０２に、例えば、２線式のインターフェースを採用することで行うことができる。
【００４１】
拡張更新用インターフェース１０２、２０２、３０２に２線式インターフェースを採用する場合、アナログスイッチ５０は、例えば、図９に示す構成のものを使用することができる。拡張更新用インターフェース１０２、２０２、３０２のクロック信号線ＣＫ１、ＣＫ２、ＣＫ３およびデータ信号線Ｄ１、Ｄ２、Ｄ３は、信号レベル等の電気的規格等が相互に互換のものが使用される。ＦＰＧＡ４００およびＣＰＬＤ５００のプログラムの更新にはそれぞれに固有の通信速度および通信プロトコルが使用されるが、本発明によれば、アナログスイッチ５０によって更新を行うＩＣのみ副ＣＰＵと接続され、他のＩＣは遮断されているので、更新中の電気信号によるノイズによって他のＩＣが誤動作するなどの影響を受けることなく、更新を行うことができる。従って、これまで述べた通り、本発明によれば、プログラムの更新によって論理機能の変更が可能なＩＣ、例えば、ＦＰＧＡやＣＰＬＤ等も、ＣＰＵと同様に扱うことができ、本発明によってプログラムの更新を行うことができる。
【００４２】
以上、本発明の実施例について詳述したが、本発明はかかる特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４３】
１、２、３、４  電子機器
１０、２０、１００、２００、３００  ＣＰＵ
１１、１０１、２０１  ３０１  制御記憶
２１  更新用記憶領域
３０、４０  通信インターフェース
５０、５０ａ、５０ｂ  電子回路装置（アナログスイッチ）
５１  汎用インターフェース
５２、１０２、２０２、３０２  更新用インターフェース
５３  制御インターフェース
４００  ＦＰＧＡ
４０１  ルックアップテーブル（ＲＡＭ）
５００  ＣＰＬＤ
５０１  コンフィグレーションメモリ（フラッシュＲＯＭ）
【図１】
2014153964.tif 000003
【図２】
2014153964.tif 000004
【図３】
2014153964.tif 000005
【図４】
2014153964.tif 000006
【図５】
2014153964.tif 000007
【図６】
2014153964.tif 000008
【図７】
2014153964.tif 000009
【図８】
2014153964.tif 000010
【図９】
2014153964.tif 000011
【図１０】
2014153964.tif 000012