(57)【要約】【課題】ＲＯＭからＲＡＭへのプログラムコードの複写を専用のプログラム制御を用いることなく可能とし、これによりプログラムコードの縮減並びに電源立上げ時の起動時間の短縮を図ることを可能にする。【解決手段】ＲＯＭ１７から読み出されたプログラムコードのデータがＲＡＭ１３に複写されたか否かを示す複写情報を格納する複写管理メモリ２２と、ＣＰＵ１２が読み込むデータの複写情報を複写管理メモリ２２で確認し、この確認した複写情報が複写済みを示す場合、ＲＡＭ１３から該当のデータを読み出してＣＰＵ１２に送出し、その確認した複写情報が未複写を示す場合、ＲＯＭ１７から該当のデータを読み出し、ＲＡＭ１３に複写すると共にＣＰＵ１２へ送出するメモリ制御部２１とを有することにある。【選択図】図１
2013037520.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵが用いるプログラムコードの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムダウンロードの自動化システムにおいて、
前記不揮発性メモリから読み出されたプログラムコードのデータが前記揮発性メモリに複写されたか否かを示す複写情報を格納する複写管理メモリと、
前記ＣＰＵが読み込むデータの前記複写情報を前記複写管理メモリから確認し、この確認した複写情報が複写済みを示す場合、前記揮発性メモリから該当のデータを読み出して前記ＣＰＵに送出し、前記確認した複写情報が未複写を示す場合、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出するメモリ制御部と、
を有することを特徴とするプログラムダウンロードの自動化システム。
【請求項２】
前記メモリ制御部は、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出した後、前記複写管理メモリにおける揮発性メモリへの未複写の複写状態を示す該当複写情報を複写済みとすることを特徴とする請求項１記載のプログラムダウンロードの自動化システム。
【請求項３】
前記複写管理メモリの複写情報が複写済みの際に前記メモリ制御部により前記揮発性メモリから読み出されるデータにエラーがあることを検出する、前記メモリ制御部に接続されたエラー検出手段を備え、
前記メモリ制御部は、前記エラー検出手段で前記データに複数ビットのエラーがあると検出された場合、前記エラー検出データに対応するデータを前記不揮発性メモリから読み出し、この読み出しデータを前記揮発性メモリに複写すると共に前記ＣＰＵへ送出することを特徴とする請求項１又は２記載のプログラムダウンロードの自動化システム。
【請求項４】
前記ＣＰＵ、前記揮発性メモリ、前記複写管理メモリ、前記メモリ制御部は、１つの半導体パッケージに収容されていることを特徴とする請求項１〜３の何れか１つに記載のプログラムダウンロードの自動化システム。
【請求項５】
ＣＰＵが用いるプログラムの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムダウンロードの自動化システムにおいて、
前記揮発性メモリは、前記不揮発性メモリから読み出されたプログラムコードのデータを格納する揮発性メモリ領域と、この揮発性メモリ領域から読み出されるデータにエラーがあることを検出するエラー検出領域と、前記不揮発性メモリから読み出されたプログラムコードのデータが前記揮発性メモリ領域に複写されたか否かを示す複写情報を格納する複写管理領域とを有し、
前記ＣＰＵが読み込むデータの前記複写情報を前記複写管理領域で確認し、この確認した複写情報が複写済みを示す場合、前記揮発性メモリ領域から読み出されるデータのエラー検出を行い、このエラー検出で複数ビットのエラーがあった場合又は前記複写管理領域での複写情報が未複写である場合に、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリ領域に複写すると共に前記ＣＰＵへ送出するメモリ制御部と、
を有することを特徴とするプログラムダウンロードの自動化システム。
【請求項６】
ＣＰＵが用いるプログラムの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムコードを前記ＣＰＵが用いて動作を行うプログラムダウンロードの自動化システムにおいて、
前記揮発性メモリの格納データが前記電源起動時に複数ビットのエラーとなるように設定しておき、前記ＣＰＵが読み込むデータを前記揮発性メモリから読み出す際に、この読み出しデータにエラーがなければ前記揮発性メモリからそのデータを読み出して前記ＣＰＵに送出し、前記読み出しデータに複数ビットのエラーが有る場合、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出するメモリ制御部、
を有することを特徴とするプログラムダウンロードの自動化システム。
【請求項７】
前記ＣＰＵ、前記揮発性メモリ、前記メモリ制御部は、１つの半導体パッケージに収容されていることを特徴とする請求項５又は６記載のプログラムダウンロードの自動化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（Central Processing Unit）が用いるプログラムの格納メモリとしてシリアルＩ／Ｆ（又はパラレルＩ／Ｆ）のＲＯＭを有し、電源を立ち上げた起動時にＣＰＵがＲＯＭからプログラムコードを一旦読み込んでＲＡＭに複写した後に、ＣＰＵがＲＡＭに複写されたプログラムコードを用いて所定のプログラム動作を行う、プログラムダウンロードの自動化システムに関する。
【背景技術】
【０００２】
従来のプログラムダウンロードの自動化システムの構成図を図９に示す。この図９に示す自動化システムは、内部バス１０に接続されたＣＰＵ１２、ＲＡＭ（Random Access Memory）１３及びシリアルＩ／Ｆ（インタフェース）１４が、１つの半導体パッケージとしてのＡＳＩＣ（Application Specific Integrated
Circuit）１５に収容され、ＡＳＩＣ１５の外部に配置されたシリアルＩ／Ｆを持つＲＯＭ（Read Only Memory）１７がシリアルＩ／Ｆ１４に接続されて構成されている。なお、ＣＰＵ１２、ＲＡＭ１３、及びシリアルＩ／Ｆ１４が１つの半導体パッケージに収容されているのは、ＣＰＵ１２とＲＡＭ１３間のアクセス速度を高速化し、後述のようにＲＡＭ１３に転送されたプログラムコードを高速にリードするためである。
【０００３】
ＣＰＵ１２は、自動化システムの制御を司り、ＲＡＭ１３は、プログラムやＣＰＵ１２の制御に必要なデータを格納する揮発性メモリである。シリアルＩ／Ｆ１４は、ＲＯＭ１７と内部バス１０との間でデータを順次伝送する。ＲＯＭ１７は、ＣＰＵ１２を制御するためのプログラムコードを格納するシリアルＩ／Ｆ方式の不揮発性メモリである。
【０００４】
このような構成の自動化システムの動作を図１０に示すタイムチャートを参照して説明する。図１０はＲＯＭ１７に格納されたプログラムコードをＲＡＭ１３に複写する動作を示すタイムチャートである。ＲＯＭ１７にはＣＰＵ１２が所定の動作を実行するためのプログラムコードが予め記憶されている。
【０００５】
自動化システムの電源投入時の起動時には、まず、ＣＰＵ１２が、図１０に示す時刻ｔ１〜ｔ２において（ａ）に示すアドレスＡＰ１（Ｒ）を指定することによって、時刻ｔ２〜ｔ３において、内部バス１０及びシリアルＩ／Ｆ１４を介してＲＯＭ１７にアクセスし、時刻ｔ３〜ｔ４において、ＲＯＭ１７に記憶されたプログラムコードのデータＤｐ１をリード（Ｒ）する。このリードしたデータＤｐ１をＲＡＭ１３の記憶領域のアドレスＡｐ２（Ｗ）を指定して、時刻ｔ４〜ｔ５においてＲＡＭ１３に書き込んで複写（Ｗ）する。
【０００６】
このようなアクセスを全てのプログラムコードの複写が完了するまで繰り返す。この複写が完了すると、ＣＰＵ１２はプログラムの実行をＲＡＭ１３に複写されたプログラムコードをアクセスすることにより行う。この種の技術として特許文献１，２に記載の技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−０９７４２７号公報
【特許文献１】特開平０７−２２５６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の自動化システムによれば、ＣＰＵ１２がＲＯＭ１７からＲＡＭ１３へプログラムコードを複写するための専用のプログラムが必要となると共にそのプログラムの実行が必要となり、また、プログラム実行のためにＲＯＭ１７からリードしたプログラムコードをＲＡＭ１３へ複写するために、再度ＲＯＭ１７からプログラムコードをリードする必要がある。更に、ＲＯＭ１７に記憶された複写対象のプログラムコードの一部に使用されないコードがあっても、そのコード部分のみを外してＲＡＭ１３に転送するのは非効率である。例えば、プログラムコードに不要のコードが虫食い状態に存在する場合などには、その不要コード部分のみを外してＲＡＭ１３に転送することは、転送プログラムの複雑化や制御メモリの増大を招くので、プログラムコード全体を一括して転送する方が効率がよい。しかし、プログラムコード全体の量が膨大であると、一括転送する転送時間が長くなってしまう。
【０００９】
これらの理由から、プログラムコードの複写の際に無駄な動作が発生し、このため電源立上げ時の起動時間が長くなってしまい、また、複写専用のプログラムが必要なので、プログラムコードが増大してしまうといった問題がある。
【００１０】
本発明は上記した課題を解決するためになされたものであり、ＲＯＭからＲＡＭへのプログラムコードの複写を専用のプログラム制御を用いることなく可能とし、これによりプログラムコードの縮減並びに電源立上げ時の起動時間の短縮を図ることができる、プログラムダウンロードの自動化システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために本発明は、ＣＰＵが用いるプログラムコードの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムダウンロードの自動化システムにおいて、前記不揮発性メモリから読み出されたプログラムコードのデータが前記揮発性メモリに複写されたか否かを示す複写情報を格納する複写管理メモリと、前記ＣＰＵが読み込むデータの前記複写情報を前記複写管理メモリから確認し、この確認した複写情報が複写済みを示す場合、前記揮発性メモリから該当のデータを読み出して前記ＣＰＵに送出し、前記確認した複写情報が未複写を示す場合、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出するメモリ制御部と、を有することを特徴とする。
【００１２】
この構成によれば、電源起動時にＣＰＵがプログラムコードのデータを読み込む際に、メモリ制御部が複写管理メモリを確認しながら行うので、従来のようなＣＰＵが不揮発性メモリから揮発性メモリへプログラムコードを複写するための専用のプログラムが不要となり、そのプログラムの実行も無くなる。従って、プログラムコードの縮減を図ることができる。また、２回目以降のＣＰＵのデータの読み込みでは揮発性メモリからデータを読み込むのでアクセス時間が大幅に短縮される。従って、電源立上げ時の起動時間の短縮を図ることができる。
【００１３】
また、本発明において、前記メモリ制御部は、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出した後、前記複写管理メモリにおける揮発性メモリへの未複写の複写状態を示す該当複写情報を複写済みとすることを特徴とする。
【００１４】
この構成によれば、揮発性メモリへのデータ複写後に、当該複写状態を示す複写情報を適正に複写管理メモリに記憶することができる。
【００１５】
また、本発明において、前記複写管理メモリの複写情報が複写済みの際に前記メモリ制御部により前記揮発性メモリから読み出されるデータにエラーがあることを検出する、前記メモリ制御部に接続されたエラー検出手段を備え、前記メモリ制御部は、前記エラー検出手段で前記データに複数ビットのエラーがあると検出された場合、前記エラー検出データに対応するデータを前記不揮発性メモリから読み出し、この読み出しデータを前記揮発性メモリに複写すると共に前記ＣＰＵへ送出することを特徴とする。
【００１６】
この構成によれば、ＥＣＣチェックでは、通常データの７２ビット当たり１ビットまではエラーを修正できるが、２ビット以上エラーがあれば修正不可能である。しかし、本発明のＥＣＣチェックでは、２ビット以上エラーがあっても、それに対応するデータを不揮発性メモリから読み出し、これをＣＰＵへ送出すると共に揮発性メモリへ複写するようにしたので、結果的に２ビットエラーを修正することができる。
【００１７】
また、本発明において、前記ＣＰＵ、前記揮発性メモリ、前記複写管理メモリ、前記メモリ制御部は、１つの半導体パッケージに収容されていることを特徴とする請求項１〜３の何れか１つに記載のプログラムダウンロードの自動化システム。
【００１８】
この構成によれば、ＣＰＵ、揮発性メモリ、複写管理メモリ、メモリ制御部の各要素が内部バスで接続されるのでアクセス速度を高速化して、データ転送を高速に行うことができる。
【００１９】
また、本発明は、ＣＰＵが用いるプログラムの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムダウンロードの自動化システムにおいて、前記揮発性メモリは、前記不揮発性メモリから読み出されたプログラムコードのデータを格納する揮発性メモリ領域と、この揮発性メモリ領域から読み出されるデータにエラーがあることを検出するエラー検出領域と、前記不揮発性メモリから読み出されたプログラムコードのデータが前記揮発性メモリ領域に複写されたか否かを示す複写情報を格納する複写管理領域とを有し、前記ＣＰＵが読み込むデータの前記複写情報を前記複写管理領域で確認し、この確認した複写情報が複写済みを示す場合、前記揮発性メモリ領域から読み出されるデータのエラー検出を行い、このエラー検出で複数ビットのエラーがあった場合又は前記複写管理領域での複写情報が未複写である場合に、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリ領域に複写すると共に前記ＣＰＵへ送出するメモリ制御部と、を有することを特徴とする。
【００２０】
この構成によれば、ＣＰＵへの送出データが揮発性メモリへの複写済みか否かをチェックする動作と、複写済みの際に揮発性メモリからリードしたデータをＥＣＣチェックする動作を１つの揮発性メモリの１回のリードアクセス動作により行えるので、効率の良いデータ読み出し制御を行うことができる。
【００２１】
また、本発明は、ＣＰＵが用いるプログラムの格納メモリとして不揮発性メモリを有し、前記ＣＰＵが実行する前記プログラムコードを、電源起動時に前記不揮発性メモリから揮発性メモリに複写するプログラムコードを前記ＣＰＵが用いて動作を行うプログラムダウンロードの自動化システムにおいて、前記揮発性メモリの格納データが前記電源起動時に複数ビットのエラーとなるように設定しておき、前記ＣＰＵが読み込むデータを前記揮発性メモリから読み出す際に、この読み出しデータにエラーがなければ前記揮発性メモリからそのデータを読み出して前記ＣＰＵに送出し、前記読み出しデータに複数ビットのエラーが有る場合、前記不揮発性メモリから該当のデータを読み出し、前記揮発性メモリに複写すると共に前記ＣＰＵへ送出するメモリ制御部、を有することを特徴とする。
【００２２】
この構成によれば、電源起動時に、メモリ制御部が揮発性メモリの格納データが必ず２ビット以上のエラーとなるように制御するので、１回目では揮発性メモリのデータが必ず２ビット以上エラーとなる。従って、メモリ制御部２１がＣＰＵ１２へのデータを読み込んだ際にＥＣＣチェックで必ず２ビットエラーが検出されるので、不揮発性メモリから対応するデータを読み込んで揮発性メモリに複写する。従って、２度目以降にＣＰＵが必要なデータをメモリ制御部が揮発性メモリから読み込む場合、ＥＣＣチェックはＯＫとなってエラーの無いデータを読み出すことができる。このため、本発明の他の構成で必要であった複写管理メモリ又は複写管理領域が不要となるので、その分小型化を図ることができる。
【００２３】
また、本発明において、前記ＣＰＵ、前記揮発性メモリ、前記メモリ制御部は、１つの半導体パッケージに収容されていることを特徴とする。
【００２４】
この構成によれば、ＣＰＵ、揮発性メモリ、メモリ制御部の各要素が内部バスで接続されるのでアクセス速度を高速化して、データ転送を高速に行うことができる。
【発明の効果】
【００２５】
本発明によれば、ＲＯＭからＲＡＭへのプログラムコードの複写を専用のプログラム制御を用いることなく可能とし、これによりプログラムコードの縮減並びに電源立上げ時の起動時間の短縮を図ることができるプログラムダウンロードの自動化システムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態に係るプログラムダウンロードの自動化システムの構成を示すブロック図である。
【図２】複写管理メモリのビット構成を示す図である。
【図３】本実施形態に係るプログラムダウンロードの自動化システムの複写情報が未複写の際の動作を説明するためのタイムチャートである。
【図４】本実施形態に係るプログラムダウンロードの自動化システムの複写情報が複写済みの際の動作を説明するためのタイムチャートである。
【図５】本実施形態の応用例１に係るプログラムダウンロードの自動化システムの構成を示すブロック図である。
【図６】本実施形態の応用例１の不揮発性メモリのビット構成並びにＥＣＣチェック及び複写管理の状態を示す図である。
【図７】本実施形態の応用例１のＥＣＣエラー時の自動化システムの動作を説明するためのタイムチャートである。
【図８】本実施形態の応用例２に係るプログラムダウンロードの自動化システムの構成を示すブロック図である。
【図９】従来のプログラムダウンロードの自動化システムの構成を示すブロック図である。
【図１０】従来のプログラムダウンロードの自動化システムの動作を説明するためのタイムチャートである。
【発明を実施するための形態】
【００２７】
以下、添付図面を参照して本発明を実施するための実施の形態（以下、単に本実施形態という）について詳細に説明する。
（実施形態の構成）
図１は、本実施形態に係るプログラムダウンロードの自動化システムの構成を示すブロック図である。本実施形態に係るプログラムダウンロードの自動化システム（以降、単に自動化システムともいう）は、内部バス１０で接続されたＣＰＵ１２及びメモリ制御部２１と、メモリ制御部２１に接続されたＲＡＭ１３及び複写管理メモリ２２とが、１つの半導体パッケージとしてのＡＳＩＣ２５に収容され、このＡＳＩＣ２５の外部に配置されたシリアルＩ／Ｆを持つＲＯＭ１７がメモリ制御部２１に接続されて構成されている。
【００２８】
ＣＰＵ１２は、自動化システム（不図示）の制御を司り、ＲＡＭ１３は、プログラムやＣＰＵ１２の制御に必要なデータを格納する揮発性メモリである。ＲＯＭ１７は、ＣＰＵ１２を制御するためのプログラムコードを格納するシリアルＩ／Ｆ方式の不揮発性メモリである。
【００２９】
複写管理メモリ２２は、メモリ制御部２１の制御でＲＯＭ１７からリードされたプログラムコードがＲＡＭ１３に複写されたか否かを管理するものであり、図２に示すビット構成となっている。このビット構成は、下から上に向かう列方向が０，１，２,…,ｎと増加するｎアドレスで、且つ右から左へ向かう行方向が０，１，２，３,…,２８，２９，３０，３１と順にビット数が増加する３２ビットの複写情報の格納領域（複写情報領域という）を備え、各複写情報領域にプログラムコードの複写時に「１」、未複写時に「０」となる複写情報が格納されている。
【００３０】
メモリ制御部２１は、複写管理メモリ２２の複写情報領域に格納された複写情報を確認して読込対象のプログラムコードが無い場合、そのプログラムコードをＲＯＭ１７から読み込み、これを内部バス１０を介してＣＰＵ１２へ送出すると共にＲＡＭ１３に書き込んで複写し、この後、複写管理メモリ２２の該当の複写情報領域に複写情報「１」を記憶する制御を行う。一方、プログラムコードが有る場合、ＲＡＭ１３からそのプログラムコードをリードして内部バス１０を介してＣＰＵ１２へ送出する。
【００３１】
つまり、ＣＰＵ１２は、必要なプログラムコードをリードするためのアドレスをメモリ制御部２１に送り、メモリ制御部２１はそのアドレスに応じた複写管理メモリ２２の複写情報領域に「０」か「１」が立っているか確認する。「１」がたっていればＲＡＭ１３からプログラムコードをリードしてＣＰＵ１２へ送る。「０」が立っていればそのアドレスのプログラムコードをＲＯＭ１７からリードしてＲＡＭ１３及びＣＰＵ１２へ送った後、複写管理メモリ２２の該当複写情報領域に「１」を立てる。
（実施形態の動作）
以下、図１に示す本実施形態に係るプログラムダウンロードの自動化システム１の動作について、図３、図４のタイムチャートを参照しながら詳細に説明する。
【００３２】
まず、図３のタイムチャートを用いて、複写管理メモリ２２の複写情報領域に未複写時の情報「０」が格納されている場合の動作について説明する。なお、（Ｒ）はリード、（Ｗ）はライトを表す。
【００３３】
自動化システムの電源投入時の起動時に、まず、ＣＰＵ１２が、図３に示す時刻ｔ１〜ｔ２において（ａ）に示すアドレスＡｐ１（Ｒ）をリードしている。これによりメモリ制御部２１は、（ｃ）に示すように複写管理メモリ２２からアドレスＡｃ１（Ｒ）のプログラムコードのデータがＲＡＭ１３内にあるか否かを確認するために複写情報のリードを行い、同時にアドレスＡｃ１のデータが格納されるように割り当てられているＲＡＭ１３の記憶領域からデータＤｒ１（Ｒ）をリードする。
【００３４】
この際、複写管理メモリ２２からリードした複写情報からアドレスＡｃ１のデータＤｃ１がＲＡＭ１３には複写されていないと判断、つまり時刻ｔ２〜ｔ３の（ｄ）に示すように未複写と判断されると、ＲＡＭ１３からリードしたデータＤｒ１を破棄する。この場合、その破棄データに相当するデータＤｒ１を、時刻ｔ３〜ｔ５の（ｇ）に示すようにＲＯＭ１７からリードする。
【００３５】
メモリ制御部２１は、そのリードしたデータＤｒ１を、時刻ｔ５〜ｔ６の（ｂ）に示すようにＣＰＵ１２へ送出すると同時に、時刻ｔ４〜ｔ５の（ｅ）に示すようにＲＡＭ１３のライト用の該当アドレスＡｒ１（Ｗ）を指定し、時刻ｔ５〜ｔ６の（ｆ）に示すようにＲＡＭ１３に複写する。この複写時に、時刻ｔ４〜ｔ５の（ｃ）に示すように複写管理メモリ２２のアドレスＡｃ１（Ｗ）においてＲＡＭ１３にデータＤｒ１を複写したことを示す「１」が立てられる。
【００３６】
次に、図４のタイムチャートを用いて、複写管理メモリ２２の複写情報領域に複写済みの情報「１」が格納されている場合の動作について説明する。
【００３７】
自動化システムの電源投入時の起動時に、まず、ＣＰＵ１２が、図４に示す時刻ｔ１〜ｔ２において（ａ）に示すアドレスＡｐ１（Ｒ）をリードしている。これによりメモリ制御部２１は、（ｃ）に示すように複写管理メモリ２２からアドレスＡｃ１（Ｒ）のデータがＲＡＭ１３内にあるか否かを確認するために複写情報のリードを行い、同時に（ｆ）に示すようにアドレスＡｃ１のデータが格納されるように割り当てられているＲＡＭ１３の記憶領域からデータＤｒ１（Ｒ）をリードする。
【００３８】
この際、複写管理メモリ２２からリードした複写情報からアドレスＡｃ１のデータＤｃ１がＲＡＭ１３に複写済みであると判断、つまり時刻ｔ２〜ｔ３の（ｄ）に示すように複写済みと判断されると、ＲＡＭ１３からリードしたデータＤｒ１を（ｂ）に示すようにＣＰＵ１２へ送出する。この際、ＲＯＭ１７へのアクセスは実行されない。
（実施形態の効果）
以上説明のように本実施形態に係るプログラムダウンロードの自動化システムによれば、ＣＰＵ１２が用いるプログラムの格納メモリとしてＲＯＭ１７を有し、電源起動時にＲＯＭ１７からＲＡＭ１３に複写されたプログラムコードを用いてＣＰＵ１２が動作を行う。本実施形態の特徴は、ＲＯＭ１７から読み出されたプログラムコードのデータがＲＡＭ１３に複写されたか否かを示す複写情報を格納する複写管理メモリ２２と、ＣＰＵ１２が読み込むデータの複写情報を複写管理メモリ２２で確認し、この確認した複写情報が複写済みを示す場合、ＲＡＭ１３から該当のデータを読み出してＣＰＵ１２に送出し、その確認した複写情報が未複写を示す場合、ＲＯＭ１７から該当のデータを読み出し、ＲＡＭ１３に複写すると共にＣＰＵ１２へ送出するメモリ制御部２１とを有することにある。
【００３９】
この構成によれば、電源起動時にＣＰＵ１２がプログラムコードのデータを読み込む際に、メモリ制御部２１が複写管理メモリ２２を確認しながら行うので、従来のようなＣＰＵ１２がＲＯＭ１７からＲＡＭ１３へプログラムコードを複写するための専用のプログラムが不要となり、そのプログラムの実行も無くなる。従って、プログラムコードの縮減を図ることができる。
【００４０】
また、本実施形態では２回目以降のＣＰＵ１２のデータの読み込みではＲＡＭ１３からデータを読み込むのでアクセス時間が大幅に短縮される。従って、電源立上げ時の起動時間の短縮を図ることができる。
【００４１】
また、上記のメモリ制御部２１は、ＲＯＭ１７から該当のデータを読み出し、ＲＡＭ１３に複写すると共にＣＰＵ１２へ送出した後、複写管理メモリ２２におけるＲＡＭ１３への複写状態を示す該当複写情報を複写済みとするようにした。
【００４２】
これによって、ＲＡＭ１３へのデータ複写後に、当該複写状態を示す複写情報を適正に複写管理メモリ２２に記憶することができる。
（実施形態の応用例１）
また、本実施形態の応用例１として、図１に示したプログラムダウンロードの自動化システムを、図５に示すように、ＡＳＩＣ２５内において、メモリ制御部２１に内部バス１０にエラー検出手段としてのＥＣＣ(Error Check Correct)２７を追加して接続した構成とする。
【００４３】
ＥＣＣ２７は、ＣＰＵ１２がプログラムコードのデータをＲＡＭ１３から読み込む際に、そのデータにエラーがないか否かをチェック（ＥＣＣチェック）する。通常ＥＣＣではデータ７２ビット当り１ビットまではエラーを修正できるが、２ビット以上エラーがあれば修正不可能となっている。本応用例１のＥＣＣ２７では、２ビット以上、即ち、３ビット又は４ビット等の複数ビットのエラーの修復が可能である。
【００４４】
ここで、図６に示すように、ＲＡＭ１３のビット構成は各アドレス「００００」…「００１Ｃ」…毎のデータが３２ビット（ｂｉｔ）となっており、ＥＣＣ２７のＥＣＣコードＥＣＣ０は、アドレス「００００」と「０００８」とのデータ６４ビットから生成された８ビットとなっている。複写管理メモリ２２の複写管理０は、アドレス「００００」と「０００８」とのデータをＲＯＭ１７からＲＡＭ１３へ複写したか否かを表す２ビットの情報である。
【００４５】
このような構成の自動化システムの動作は、図７に示す時刻ｔ１〜ｔ２において（ａ）に示すアドレスＡｐ１（Ｒ）をリードする際、時刻ｔ２〜ｔ３の（ｅ）に示すように、そのデータＡＰ１（Ｒ）に対応する複写情報Ｄｃ１（Ｒ）が「１」であった場合、（ｃ）に示すようにＲＡＭ１３からデータＡＰ１（Ｒ）に対応するデータＤｒ１（Ｒ）をリードする。この際、（ｄ）に示すように、そのデータＤｅ１（Ｒ）がＥＣＣチェックにより２ビットエラーと判定された場合、時刻ｔ３〜ｔ４の（ｆ）に示すように再度それに対応するデータをＲＯＭ１７からリードし、このリードデータを、時刻ｔ４〜ｔ５の（ｂ）及び（ｃ）に示すようにＣＰＵ１２へ送出すると共にＲＡＭ１３へ複写する。この際、（ｄ）に示すようにＥＣＣチェックの状態はエラー無しとなる。
【００４６】
このようにＲＡＭ１３のデータに２ビットエラーがあっても、それに対応するデータをＲＯＭ１７からリードしてＲＡＭ１３に複写するので、結果的に２ビットエラーを修正することができる。
（実施形態の応用例２）
更に、本実施形態の応用例２として、図１に示したプログラムダウンロードの自動化システムを、図８に示すように、複写管理メモリ２２を無くし、上記のＲＡＭ１３に代え、ＲＡＭ領域１３ａ、ＥＣＣ領域１３ｂ及び複写管理メモリ２２としての複写管理領域１３ｃから成るＲＡＭ１３−１を用いて構成した。但し、ＲＡＭ領域１３ａ、ＥＣＣ領域１３ｂ及び複写管理領域１３ｃはＲＡＭ１３−１内に一体に構成されているが、各々の関係は上記の図６に示した構成と同じである。
【００４７】
この構成のＲＡＭ１３−１においても、上記応用例１と略同様の動作を行うが次の点で異なる。即ち、メモリ制御部２１がＣＰＵ１２へ送出するデータが複写管理領域１３ｃの複写情報から複写済みか否かを確認し、複写済みであればＲＡＭ領域１３ａからＣＰＵ１２へ送出するデータをリードし、このデータのエラーをＥＣＣ領域１３ｂのＥＣＣチェックによって確認する。従って、ＣＰＵ１２への送出データがＲＡＭ１３への複写済みか否かをチェックする動作と、複写済みの際にＲＡＭ１３からリードしたデータをＥＣＣチェックする動作を１つのＲＡＭ１３−１内で行えるので、効率の良いデータ読み出し制御を行うことができる。
【００４８】
この他、上記応用例１又は２において、電源投入の初期化時に、メモリ制御部２１がＲＡＭ１３の格納データが必ず２ビット以上のエラーとなるように設定するようにしてもよい。この場合、ＲＡＭ１３のデータが必ず２ビット以上エラーとなっているので、１回目ではメモリ制御部２１がＣＰＵ１２へのデータを読み込んだ際にＥＣＣチェックで２ビットエラーが必ず検出されるため、ＲＯＭ１７から対応するデータを読み込んでＲＡＭ１３に複写する。
【００４９】
従って、２度目以降にＣＰＵ１２が必要なデータをメモリ制御部２１がＲＡＭ１３から読み込む場合、ＥＣＣチェックはＯＫとなってエラーの無いデータをリードすることができる。このため、複写管理メモリ２２又は複写管理領域１３ｃでの複写情報による複写済みかいなかの判断は不要となる。つまり、複写管理メモリ２２又は複写管理領域１３ｃが不要となるので、上記応用例１又は２よりも、その分小型化を図ることができる。
【００５０】
上記の本実施形態において、ＡＳＩＣ２５は１つの半導体パッケージであれば市販のマイコンであってもよい。また、ＥＣＣ領域１３ｂを６４ビットに対して８ビットとしたがビット数が異なっていても良く、ＥＣＣチェック演算を行うデータが３２ビット離れたものでなくても良い。
【００５１】
更に、複写管理メモリ２２又は複写管理領域１３ｃのビットは３２ビットに対して１ビットとしたが、管理単位ビットを変えても良い。例えば、Ｉｎｓｔｒｕｃｔｉｏｎ  Ｃａｃｈｅを持つシステム等で２５６ビット単位でＲＯＭ１７をリードする場合、２５６ビットに対して複写管理ビットを１ビット割り当てる等を行うようにしてもよい。
【００５２】
ＲＯＭ１７は、シリアルＩ／ＦでなくてもパラレルＩ／Ｆでもよい。パラレルＩ／Ｆであっても、ＲＯＭ１７が８ビットバス、ＲＡＭ１３が３２ビットバスの場合や、ＲＯＭ１７のＩ／ＦよりＲＡＭ１３のＩ／Ｆが速い場合など、ＲＯＭ１７のデータをＲＡＭ１３に複写して使用することがあるので、本発明の構成方法を用いれば同様の効果が得られる。
【００５３】
以上、本発明の好ましい実施形態について詳述したが、本発明の技術的範囲予測は上記実施形態に記載の範囲予測には限定されないことは言うまでもない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。またその様な変更または改良を加えた形態も本発明の技術的範囲予測に含まれ得ることが、特許請求の範囲予測の記載から明らかである。
【符号の説明】
【００５４】
１０・・内部バス、１２・・ＣＰＵ、１３・・ＲＡＭ、１７・・ＲＯＭ、２１・・メモリ制御部、２２・・複写管理メモリ、２２・・ＡＳＩＣ、２７・・ＥＣＣ、１３−１・・ＲＡＭ、１３ａ・・ＲＡＭ領域、１３ｂ・・ＥＣＣ領域、１３ｃ・・複写管理領域。
【図１】
2013037520.tif 000003
【図２】
2013037520.tif 000004
【図３】
2013037520.tif 000005
【図４】
2013037520.tif 000006
【図５】
2013037520.tif 000007
【図６】
2013037520.tif 000008
【図７】
2013037520.tif 000009
【図８】
2013037520.tif 000010
【図９】
2013037520.tif 000011
【図１０】
2013037520.tif 000012