(57)【要約】マイクロプロセッサ制御システムをブートするためのシステムが開示され、プロセッサと周辺機器との間の基本インタフェースが、マイクロプロセッサを用いることなく、あるいは不揮発性コード記憶装置を必要とすることなく、アプリケーションおよびファイル用記憶装置からランダムアクセスメモリの中へコピーされる。
2004538571.tif 000002
【特許請求の範囲】
【請求項１】
インテリジェント・デバイスの動作を始動させるシステムにおいて、
データファイルであって、基本入出力システム（ＢＩＯＳ）用インタフェースを含む、前記データファイルのうちの１以上のデータファイルの読出しと書込みとを行うように構成されるアプリケーションおよびファイル用記憶装置と、
ランダムアクセスメモリ（ＲＡＭ）と、
前記記憶装置から前記ＲＡＭの中へ前記ＢＩＯＳの一部分をコピーするロード用論理回路と、
を備えることを特徴とするシステム。
【請求項２】
マイクロプロセッサを用いずに、前記アプリケーションおよびファイル用記憶装置から前記ＲＡＭの中へ前記ＢＩＯＳの一部分をコピーするように前記ロード用論理回路を構成することを特徴とする請求項１記載のシステム。
【請求項３】
前記アプリケーションおよびファイル用記憶装置がフラッシュメモリ素子であることを特徴とする請求項１記載のシステム。
【請求項４】
前記アプリケーションおよびファイル用記憶装置が磁気または光ディスク駆動装置であることを特徴とする請求項１記載のシステム。
【請求項５】
フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）の中に前記ロード用論理回路を含むことを特徴とする請求項１記載のシステム。
【請求項６】
プログラマブル論理素子の中に前記ロード用論理回路を含むことを特徴とする請求項１記載のシステム。
【請求項７】
前記回路が基板レベルの構成要素を備えることを特徴とする請求項１記載のシステム。
【請求項８】
前記ロード用論理回路が前記記憶装置の任意の位置にＢＩＯＳを記憶することを特徴とする請求項１記載のシステム。
【請求項９】
前記ロード用論理回路がＲＡＭ内の任意の位置へＢＩＯＳをコピーすることを特徴とする請求項１記載のシステム。
【請求項１０】
前記ロード用論理回路が、前記記憶装置の位置へのＢＩＯＳの上書きを防止する書込み保護メカニズムを備えることを特徴とする請求項１記載のシステム。
【請求項１１】
前記書込み保護メカニズムが、マイクロプロセッサの各書込みストローブ信号用の第１および第２の書込みストローブ信号を生成することを特徴とする請求項１０記載のシステム。
【請求項１２】
前記第１の書込みストローブ信号が、前記第２の書込みストローブ信号から或る期間だけ分離され、さらに、前記第１の書込みストローブ信号が、前記記憶装置にＢＩＯＳの位置を記録し、前記記憶装置に対してコマンドコードを記録し、次いで、前記第２の書込みストローブ信号が前記記憶装置の書込みを起動することを特徴とする請求項１１記載のシステム。
【請求項１３】
前記マイクロプロセッサが前記記憶装置内のＢＩＯＳの位置へ書込みを試みるとき、前記第２の書込みストローブ信号が生成されないため、ＢＩＯＳが上書きされないことを特徴とする請求項１２記載のシステム。
【請求項１４】
スマートデバイスの始動方法において、
マイクロプロセッサの動作をリセットするステップと、
前記マイクロプロセッサの動作を一時的に停止するステップと、
アプリケーションおよびファイル用記憶装置からＲＡＭの中へＢＩＯＳの一部分をコピーするステップと、
前記マイクロプロセッサの動作を始動させるステップと、
を有することを特徴とする方法。
【請求項１５】
前記記憶装置が複数のＢＩＯＳを備え、前記アプリケーションおよびファイル用記憶装置からどのＢＩＯＳをコピーしてＲＡＭの中へ入れることができるかをユーザが選択することを特徴とする請求項１４記載の方法。
【請求項１６】
マイクロプロセッサの動作を始動するステップ後、前記中央演算処理装置を用いて前記ＲＡＭからＢＩＯＳの一部分を読出すステップをさらに有することを特徴とする請求項１４記載の方法。
【請求項１７】
メモリ記憶装置からＲＡＭの中へＢＩＯＳをコピーするステップが状態マシンにより制御されることを特徴とする請求項１４記載の方法。
【請求項１８】
前記状態マシンがＡＳＩＣにおいて実現されることを特徴とする請求項１７記載の方法。
【請求項１９】
前記状態マシンがＦＰＧＡにおいて実現されることを特徴とする請求項１７記載の方法。
【請求項２０】
前記アプリケーションおよびファイル用記憶装置がフラッシュメモリ素子であることを特徴とする請求項１４記載の方法。
【請求項２１】
前記アプリケーションおよびファイル用記憶装置が磁気または光駆動装置であることを特徴とする請求項１４記載の方法。
【請求項２２】
オペレーティング・システムとハードウェアデバイス間にインタフェースを設ける方法において、
アプリケーションおよびファイル用記憶装置の中に前記インタフェースを記憶するステップと、
前記アプリケーションおよびファイル用記憶装置から前記インタフェースをマイクロプロセッサを用いずにＲＡＭの中へコピーするステップと、
を有することを特徴とする方法。
【請求項２３】
前記インタフェースがルーチンの基本入出力システム（ＢＩＯＳ）であることを特徴とする請求項２２記載の方法。
【請求項２４】
前記アプリケーションおよびファイル用記憶装置がＮＡＮＤフラッシュメモリ素子であることを特徴とする請求項２２記載の方法。
【請求項２５】
前記アプリケーションおよびファイル用記憶装置が磁気または光駆動装置であることを特徴とする請求項２２記載の方法。
【請求項２６】
前記インタフェースをコピーするステップが論理ロード用回路により制御されることを特徴とする請求項２２記載の方法。
【請求項２７】
前記回路が基板レベルの構成要素上に実現されることを特徴とする請求項２６記載の方法。
【請求項２８】
前記マイクロプロセッサを用いて前記アプリケーションおよびファイル用記憶装置からＲＡＭの中へ追加のインタフェース装置用コマンドをコピーするステップをさらに有することを特徴とする請求項２２記載の方法。
【請求項２９】
前記インタフェースをコピーするステップが、
前記アプリケーションおよびファイル用記憶装置と前記ＲＡＭとを起動するステップと、
アドレスカウンタが値を出力できるようにするステップと、
前記値をＲＡＭアドレスと相関づけるステップと、
データバスを介して前記アプリケーションおよびファイル用記憶装置からデータを前記ＲＡＭアドレスへ送るステップと、
前記アドレスカウンタを増分するステップと、
を有することを特徴とする請求項２２記載の方法。
【請求項３０】
前記インタフェースをコピーするステップが誤り訂正符号を利用するステップをさらに有することを特徴とする請求項２２記載の方法。
【請求項３１】
マイクロプロセッサ制御デバイスをブートするシステムにおいて、
複数のファイルを有するアプリケーションおよびファイル用記憶装置と、
ランダムアクセスメモリと、
マイクロプロセッサと、
対人用インタフェース装置と、
前記マイクロプロセッサと、前記アプリケーションおよびファイル用記憶装置と、対人用インタフェースとの間の通信用インタフェースであって、前記ファイル記憶装置のファイル内に常駐する前記インタフェースと、前記マイクロプロセッサを用いずに、前記インタフェースの一部分を前記ランダムアクセスメモリの中へコピーする手段と、
を有することを特徴とするシステム。
【請求項３２】
前記アプリケーションおよびファイル用記憶装置が不揮発性半導体メモリ素子を備えることを特徴とする請求項３１記載のシステム。
【請求項３３】
前記ファイル記憶装置が光または磁気ディスク駆動装置を備えることを特徴とする請求項３１記載のシステム。
【請求項３４】
前記ファイル記憶装置上の前記ファイルを上書きから保護する手段をさらに有することを特徴とする請求項３１記載のシステム。
【請求項３５】
前記ロード用論理回路が前記アプリケーションおよびファイル用記憶装置の基本入出力システム（ＢＩＯＳ）用インタフェースを上書きから保護する手段をさらに有することを特徴とする請求項１記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明の技術分野はマイクロプロセッサ制御デバイスであり、具体的には、デバイスの初期化すなわちブート処理である。
【０００２】
【従来の技術】
一般的なコンピューティング・プラットフォームは様々なハードウェアとソフトウェアとから成る構成要素から構成される。中央演算処理装置（ＣＰＵ）を含む主要プロセッサ（例えば、マイクロプロセッサなど）は、不揮発性コード記憶装置（ＣＳＤ）と、アプリケーションおよびファイル用不揮発性記憶装置（ＡＦＳＤ）と、ランダムアクセスメモリ（ＲＡＭ）およびその他の周辺機器と接続されている。種々のハードウェア構成要素の初期化に必要なハードウェアに依存するソフトウェアがコード記憶装置に記憶される。パーソナル・コンピュータ（ＰＣ）のアーキテクチャでは、このソフトウェアはＢＩＯＳ（基本入出力システム）として知られている。このＢＩＯＳにより、オペレーティング・システムとハードウェア間のインタフェースが与えられる。ＣＰＵによる初期化ソフトウェアの実行処理は“ブート”処理として知られている。ＣＰＵは、ＣＳＤから直接ブートを行うことができる。あるいは、より高いパフォーマンスを達成するために、ＲＡＭ内のＣＳＤの内容のコピーからブートすることができる。
【０００３】
本発明の従来の技術では、例示を目的としてＰＣの動作について説明を行うが、本発明は、さらに一般的には、任意のインテリジェント・デバイスの始動動作に関するものであり、ＰＣのアーキテクチャに限定されるものではない。
【０００４】
図１に見られるように、一般的な計算環境では、２つのタイプの不揮発性記憶装置が使用される。これらの不揮発性記憶装置は、コード用記憶装置およびアプリケーションおよびファイル用記憶装置として使用される。一般に、コード記憶装置（ＣＳＤ）４５はアプリケーションおよびファイル用記憶装置（ＡＦＳＤ）４０よりもずっと小さな容量を持つ記憶装置である。さらに、ＣＳＤは、通常、システムパワーのアップ後、あるいは、システムのリセット後にアクセスされるが、ＣＳＤの内容がコンピュータシステムにより更新されることは、オペレーティング・システムのアプリケーションやユーザにより頻繁に更新されるＡＦＳＤに比較すると非常にまれである。
【０００５】
従来、ＣＳＤ４５はシステムバスとの配線回路により実現され、ある特定のメモリ位置の中へ対応づけられる。システムパワーアップのリセットまたはシステムリセットの完了後、ＣＰＵ３０はＣＳＤ４５のこの専用位置にその初期化コードを探す。この初期化コードはシステムアーキテクチャまたはハードウェアに依存し、ＰＣアーキテクチャでは、この初期化コードはＢＩＯＳとして知られている。他のアーキテクチャではこの初期化コードは初期化ファームウェア、ブートファームウェアなどと呼ばれている。ＣＳＤの例として、ＥＰＲＯＭ、フラッシュＲＯＭおよびＯＴＰ  ＰＲＯＭが挙げられる。ＡＦＳＤは、オペレーティング・システム、アプリケーション・プログラムまたは一般的なファイルとユーザデータの記憶用として使用される。ＡＦＳＤは半導体メモリや磁気駆動装置あるいは光駆動装置などの不揮発性記憶装置である。
【０００６】
ＣＰＵがその命令を実行するために、ＢＩＯＳすなわちブートファームウェアは通常ＣＳＤ４５に記憶されている。従来、ＡＦＳＤ４０にブートコードが記憶されている場合、ＢＩＯＳすなわちブートファームウェアをシステムＲＡＭ５０内へコピーするために、基本ＢＩＯＳを構成する小さなセット命令をＣＳＤ４５に記憶しなければならない。本発明では、これらの初期化命令を記憶し、実行しなければならないというＣＳＤの要件が不要となる。
【０００７】
（発明の開示）
本発明のシステムでは、セット命令を実行するマイクロプロセッサを用いることなく、あるいは、システムアーキテクチャを変えることなく、スマートな論理インタフェース回路によりコンピュータシステムが制御され、アプリケーションおよびファイル記憶用装置（ＡＦＳＤ）とコード記憶装置（ＣＳＤ）との機能性の代用が図られる。回路構成によりＡＦＳＤからランダムアクセスメモリ（ＲＡＭ）の中へＢＩＯＳがロードされる。ＡＦＳＤとは半導体メモリや磁気駆動装置または光駆動装置などの不揮発性メモリ記憶装置である。マイクロプロセッサはその完了時に制御を引き継ぎ、システム初期化処理を完了する。したがって、ＢＩＯＳを記憶するＣＳＤが不要となる。この最初のロード用論理回路（ＬＬＣ）はブートコードの最初のロードを制御する。ＬＬＣはＡＦＳＤからＲＡＭの中へ少なくとも十分な量のプログラム命令をコピーし、次いで、このコピーによりマイクロプロセッサによる命令の読出し、ハードウェアとのインタフェースおよびシステムの処理の引き継ぎが可能となる。本発明の処理を例示するために使用されるＰＣの具体的な実施形態ではこれらの命令はＢＩＯＳとして知られているが、別のプラットフォームではファームウェアと呼ばれる場合もある。ＬＬＣによりコピーされるＢＩＯＳのサブセットは“ＢＩＯＳローダ”と呼ばれている。しかし、ＬＬＣはＰＣアーキテクチャにおける場合よりもずっと広い範囲のアプリケーションを持つものであり、ＰＣおよびその関連する用語は例示を目的として使用されているにすぎない。ＬＬＣには、デジタルカメラ、個人用オーディオプレイヤ、個人用情報機器などのような小型携帯用デバイス、および、通信用装置やネットワーク用装置などのような優れた組込みシステムの範囲にわたるコンピューティング・プラットフォームにおいて利用されるアプリケーションが含まれる。
【０００８】
デバイス電源のスイッチがオンになるか、ユーザがリセットボタンを押すと、システムのマイクロプロセッサによりシステム・メモリ内の指定位置で始動するＢＩＯＳすなわちファームウェアが実行される。マイクロプロセッサは、ＨＯＬＤまたはＨＡＬＴ信号を受け取った場合、ＡＤＤＲＥＳＳ、ＤＡＴＡおよび別の制御ラインの制御を解除する。本発明では、ＨＯＬＤは、ＲＥＳＥＴの直後または同時のいずれかに生成される。マイクロプロセッサがホールド状態に置かれた後、ＬＬＣは、プリセットされ、ＬＬＣのレジスタに記憶された複数のＢＩＯＳ記憶位置のうちの１つを選択する。ＢＩＯＳ記憶位置はＬＬＣにより設定され、異なるＢＩＯＳ記憶位置を必要とする場合がある種々のプロセッサ用として容易に再配置が可能である。さらに、複数のＢＩＯＳをＡＦＳＤに記憶し、ＬＬＣによりアクセスを行うことが可能であるため、ユーザは様々な目的に用いる各種ＢＩＯＳの選択が可能となり、様々な目的のための起動時に別様のシステム構成が可能となる。ＡＦＳＤが起動されると、ＢＩＯＳローダがＡＦＳＤからＲＡＭの中へコピーされる。その後、ＬＬＣはマイクロプロセッサのＨＯＬＤ／ＲＥＳＥＴを解除し、マイクロプロセッサによるＲＡＭからのＢＩＯＳローダの実行が可能となる。さらに、ブート処理の完了後、ロード用論理回路によりＡＦＳＤのＢＩＯＳすなわちブートコード部を保護するその書込み保護回路構成が起動される。これによって偶発的上書きや消去からＢＩＯＳすなわちブートコード部が保護されることになる。認証を受けたユーザにしかこの保護を無効にすることはできない。
【０００９】
したがって、マイクロプロセッサが、通常ＲＯＭチップに保存されているＢＩＯＳ命令にアクセスする必要がなくなるので、システムから専用のＲＯＭチップを省くことが可能となる。
【００１０】
上記処理では、マイクロプロセッサに対してＨＯＬＤまたはＨＡＬＴタイプの信号が発生し、マイクロプロセッサがＡＤＤＲＥＳＳとＤＡＴＡと制御ラインを３状態にすると仮定する。必要な信号が３状態になることができなかったり、マイクロプロセッサに対してＨＯＬＤやＨＡＬＴ機能が存在しなかったりした場合、３状態バッファを用いて、マイクロプロセッサが利用するシステムバスをコピー処理用として使用するバスから分離することができる。
【００１１】
【発明の実施の形態】
図２〜図６を参照しながら本発明のシステムのオペレーションを示す。図２のアプリケーションおよびファイル用不揮発性記憶装置（ＡＦＳＤ）１４０用のＮＡＮＤフラッシュメモリの一例を用いて、説明を目的として、本システムのオペレーションを例示するが、本発明には任意のタイプの不揮発性メモリが含まれる。この実施形態の好適例では、ＰＣアーキテクチャを用いて実現されるシステムが例示されているが、本発明のシステムには任意のインテリジェント・デバイスの起動も含まれる。システムには、音楽用プレーヤ／レコーダ、デジタルカメラ、個人用情報機器、携帯電話のような多くのタイプの個人的電子装置、および、通信用装置やネットワーク用装置などのような様々な他の優れた組込みシステムにおけるアプリケーションが含まれる。
【００１２】
図２に、システムの構成要素が例示されている。ロード用論理回路（ＬＬＣ）１２０は、信号ライン１２２によりリセット回路１１０のリセットボタン１０５およびシステム電源と接続されている。ＬＬＣ１２０は、内部カウンタ１２５を備えている。システムバス１１５は、ＬＬＣ１２０、ＣＰＵ１３０、ＡＦＳＤ１４０、揮発性ランダムアクセスメモリ（ＲＡＭ）１５０、周辺機器１６０、および、対人用インタフェース装置１７０と接続されている。周辺機器１６０は、プリンタまたは別の出力装置並びに追加の駆動装置や当業者には周知の他のいずれの周辺機器であってもよい。対人用インタフェース装置とは、キーボード、モニタ、マウス、マイクまたはスピーカのような当業者には周知のような装置である。制御信号ライン１３２はＬＬＣ１２０をＣＰＵ１３０と接続し、制御信号ライン１４２はＬＬＣ１２０をＡＦＳＤ１４０と接続する。この例示例では、制御信号ライン１４２はＮＡＮＤフラッシュメモリの制御入力部と接続される。追加の制御信号ライン１５２はＬＬＣ１２０とＲＡＭ１５０とを接続する。ＲＡＭ１５０は、ＢＩＯＳ２００とＢＩＯＳローダ２００ａの記憶用として割り当てられたメモリの一部であるＢＩＯＳ部分を含む。ＲＡＭ１５０内のＢＩＯＳとＢＩＯＳローダはＡＦＳＤ１４０内のＢＩＯＳとＢＩＯＳローダのコピーである。
【００１３】
図３にさらに詳細にＡＦＳＤ１４０を示す。ＡＦＳＤ１４０を用いて、文書、画像あるいは図面および音楽ファイル並びに実行可能なシステムファイルのようなユーザファイルが記憶される。このアプリケーションおよびファイル用記憶装置もＢＩＯＳ２００と、ＢＩＯＳ２００のＢＩＯＳローダ２００ａとの記憶に利用される。ＡＦＳＤ１４０の残り部分はファイル記憶部２１０を含む。ＢＩＯＳ２００だけが、多数のファイルを記憶できるほど十分に大きな容量を持つ比較的小さな部分のＡＦＳＤ１４０を利用する。例えば、ＡＦＳＤ１４０は４メガバイトから数ギガバイトの任意の範囲の容量を持つことも可能である。
【００１４】
図４は図２に例示のシステム構成要素のオペレーションを示す。システムリセットは、リセットボタン１０５によるか、リセット回路１１０のシステム電源をトリガするシステム電源の導入または中断のいずれかによりステップ３１０でトリガされる。リセットボタンを押すか、電源のスイッチをオンにするかのいずれかによりロード用論理回路（ＬＬＣ）１２０のトリガが行われる。別のルーチンによってＬＬＣ１２０をトリガしてデバイスのリセットを行うことも可能である。ＬＬＣ１２０は、基板レベルの構成要素上の、または、フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）やプログラマブル論理素子（ＰＬＤ）のような特定用途向け集積回路（ＡＳＩＣ）上のいずれかの論理回路を通じて基本的初期化処理の動作を制御する有限の状態マシンを備える。基本的初期化動作の制御はＣＰＵのようなマイクロプロセッサを介するものではない。
【００１５】
ＬＬＣ１２０は、システムリセット信号を受け取った後、ＲＥＳＥＴ／ＨＯＬＤ処理を開始し、ステップ３２０で制御信号ライン１３２を介してＣＰＵ１３０のオペレーションを一時的に停止させる。ＣＰＵ１３０のオペレーションが一時的に停止された後、ＬＬＣ１２０はステップ３２５でＡＦＳＤ１４０内のＢＩＯＳ２００の位置を保存する。次いで、ＬＬＣ１２０が始動し、ステップ３３０でシステムバス１１５を介してデータを送信するための制御ライン１４２を介してＡＦＳＤ１４０の準備を行う。ＬＬＣ１２０は、ステップ３３０でＲＡＭ１５０を準備して、制御ライン１５２を介してデータを受信する。カウンタ１２５はステップ３３０でそのプリセットされた初期値に初期化される。
【００１６】
次に、ＬＬＣ１２０は、ステップ３４０でシステムバス１１５を介してＡＦＳＤ１４０から揮発性ＲＡＭ１５０の中へＢＩＯＳローダ２００ａをコピーする。ステップ３４０でＡＦＳＤ１４０からＲＡＭ１５０へのデータの各コピーが行われたた後、カウンタ１２５が増分される。ＢＩＯＳローダ２００ａとは、ＣＰＵがブートオペレーションを始動することができる十分な量のＢＩＯＳ２００のことである。したがって、ＢＩＯＳローダ２００ａは、ＡＦＳＤ１４０とＲＡＭ１５０との交信と、ＡＦＳＤ１４０とＲＡＭ１５０とを介する制御とを行うことができるほど十分な量でなければならない。この量は、１ページ未満から１０ページまでの任意の範囲に及ぶものにすることができ、ＰＣアーキテクチャについて論じる場合、好ましくは１ページだけすなわちＢＩＯＳ２００の５１２バイトであることが望ましい。しかし、この量は組込みシステムでは数１０キロバイトのオーダーになる場合もある。ＢＩＯＳローダ２００ａが５１２バイト以上である場合、誤り訂正符号を利用することができる。それに対して、ＢＩＯＳローダ２００ａが１ページ（またはそれ未満）から構成される場合、誤り訂正符号は不要となる。なぜなら、第１ページの完全性は、製造中および検査中に、記憶領域の事前選択に起因して通常保証されているからである。さらに大きなメモリセグメントの完全性が保証されるアプリケーションでは、誤り訂正なしでさらに大きなサイズのデータのコピーを行うことが可能となる。さらに、誤り訂正符号の直接組込みが可能であり、それによって、コピー処理中の完全性を決定することが可能となり、これによりさらに多量の誤りのないデータのコピーが可能となる。ＡＦＳＤ１４０は半導体メモリ、磁気ディスク、光ディスクまたはテープ駆動装置のような任意のタイプの不揮発性記憶装置であってもよい。
【００１７】
好ましい実施形態では、ＡＦＳＤ１４０はＮＡＮＤフラッシュメモリ（ＮＦＭ）であり、ＮＦＭの制御信号についての簡単な説明を以下行う。ＮＦＭには、８ビットデータバスと７つの制御信号、すなわちＣＬＥ（コマンドラッチ可能）、ＡＬＥ（アドレスラッチ可能）、ＣＥ（チップ可能）、ＷＥ（書込み可能）、ＲＥ（読出し可能）、ＲＢ（レディ＿ビジー）、ＷＰ（書込み保護）が含まれる。データバスはシステムバス１１５と接続され、制御信号は制御ライン１４２を介して送信される。
【００１８】
ＮＦＭにアクセスするためには、他のいずれかの信号がアクティブ可能とならないうちにＣＥ信号が活動状態にある必要がある。次いで、ＣＯＭＭＡＮＤがＮＦＭの中へ書込まれ、ＡＤＤＲＥＳＳが必要な場合、その後にＡＤＤＲＥＳＳが後続する。システムバス１１５の一部として例示されているように、データバスを介してＣＯＭＭＡＮＤコードとＡＤＤＲＥＳＳとが示されている。ＲＢ（レディ＿ビジー）信号は、いくつかのコマンドまたはアドレスの書込み後、ビジー状態を指示する。ＲＢがレディ状態を指示した後、後続処理が実行される。
【００１９】
ＣＬＥが活動状態にあり、かつ、ＡＬＥが不活動状態にあれば、データバスの内容にはコマンドが含まれる。ＣＬＥとＡＬＥとが共に不活動状態にあれば、データバス内の内容にはデータが含まれる。ＣＬＥが不活動状態にあり、かつ、ＡＬＥが活動状態にあれば、データバスの内容はアドレスである。アドレスの書込みにはＮＦＭのサイズに相応するＷＥ信号の複数サイクルを必要とする。データバス内の内容はＷＥ信号の立下り区間時にＮＦＭの中へ記憶される。
【００２０】
ＮＦＭからデータを読出すために、ＲＥが活動状態にセットされる前にＣＬＥとＡＬＥが不活動状態にセットされる。ＲＥがアクティブなとき、ＮＦＭからの内容がデータバスへ示される。
【００２１】
図３に示すように、ＡＦＳＤ１４０を用いてＢＩＯＳ２００が記憶されるだけでなく、種々のユーザファイルもファイル記憶部２１０に記憶される。ＡＦＳＤ１４０へ読出し可能（ＲＥ）信号を送信し、次いで制御信号ライン１４２と１５２を介してＲＡＭ１５０へそれぞれ書込み（ＷＲ）信号を送信することにより、データのコピーが行われる。同時に、ＬＬＣ１２０内のアドレスカウンタ１２５が起動される。アドレスカウンタはプリセット値からカウントを開始し、クロック毎に増分を続ける。クロック信号は低い部分と高い部分とを持つ。低い部分はＡＦＳＤ１４０のＲＥ信号用として使用され、ＡＦＳＤ１４０からシステムバス１１５へのデータ転送を可能にし、同時にＲＡＭ１５０のＷＲ信号用としても用いられる。クロック（クロックの立上がり区間）の低から高への推移中、システムバス１１５のデータがＲＡＭ１５０の中へコピーされ、アドレスカウンタが増分される。本例の５１２バイトのＢＩＯＳローダに対応する０１ＦＦｈにアドレスカウンタが達するまでデータのこのコピーは続く。ＢＩＯＳローダがコピーされた後、ＡＦＳＤ１４０のＣＥ信号とＲＡＭ１５０のＣＳ信号とを不活動状態にセットすることによりＡＦＳＤ１４０とＲＡＭ１５０とは使用禁止となる。
【００２２】
ＲＡＭ１５０の中へのＢＩＯＳローダのコピーの完了時に、ＬＬＣ１２０はステップ３５０でＣＰＵのホールドを解除する。したがって、ＣＰＵを必要とせずに前述の活動のすべてが実行された。
【００２３】
次にＣＰＵが再びアクティブになったとき、ＢＩＯＳ２００がＣＰＵにより上書きできないという点が重要である。図５と関連して後に説明するような上記上書きが起り得ない旨の書込み保護ジェネレータによる保証は、ステップ３５５でＬＬＣ１２０により可能となる。
【００２４】
最後に、ＢＩＯＳローダはＡＦＳＤ１４０に一旦記憶され、ＲＡＭ１５０内に配置されて、ステップ３６０でＣＰＵはＢＩＯＳローダを実行し、次にＲＡＭ１５０の中へＢＩＯＳ２００の残りの部分をコピーすることができる。
【００２５】
図５は図２の論理回路（ＬＬＣ）１２０の詳細なブロック図である。ＬＬＣ１２０には、リセット回路（ＲＣ）１２１、ＡＦＳＤコードアドレス・セレクタ（ＡＣＡＳ）１２２ａ、ＲＡＭロードアドレス・セレクタ（ＲＬＡＳ）１２２ｂ、ＢＩＯＳ２００記憶ブロック用アドレスレジスタ（ＡＲ）１２３、ＡＦＳＤおよびＲＡＭ制御回路１２４ａとＲＡＭアドレスカウンタ１２４ｂとを含むシーケンサ１２４、ＡＦＳＤ１４０内のＢＩＯＳブートブロック用書込み保護ジェネレータ（ＷＰＧ）１２８が含まれる。
【００２６】
図２に示すように、リセット回路１２１は、リセット回路１１０のリセットボタン１０５またはシステム電源から制御ライン１２２を介してリセット信号を受け取る。制御ライン１２２を介してリセット信号を受け取った後、リセット回路１２１は、使用するタイプのマイクロプロセッサに応じて制御ライン１３２を介して信号を発生し、送信する。ＲＣ１２１は、マイクロプロセッサ１３０を３状態にする信号と、そのデータバスと、アドレスバスと、いくつかの必要な制御信号とを送信する。ＲＣ１２１により信号が解除された後、ＣＰＵ１３０は指定アドレスで実行を開始する。マイクロプロセッサ１３０がそのバスを３状態にする能力を持っていない場合、ＣＰＵ１３０の動作を一時的に停止するために３状態バッファを使用することができ、一方、ＬＬＣ１２０により初期化順序付けの制御が行われる。
【００２７】
ＡＦＳＤ１４０に記憶されたＢＩＯＳは、ＡＣＡＳレジスタ１２２ａを用いて複数の選択可能な位置のうちの１つに配置することが可能である。ＢＩＯＳの選択された記憶位置は、ＲＣ１２１により生成されるリセット中ＡＲ１２３の中へラッチされる。このラッチされた値１２３ｌｖは、シーケンサ１２４によりＢＩＯＳローダ２００ａの開始アドレス用として使用され、また、ＷＰＧ１２８によりＢＩＯＳが配置されているブロック値用として使用される。ＲＡＭ内でのＢＩＯＳの位置は、ＲＡＭロードアドレス・セレクタ（ＲＬＡＳ）１２２ｂを介してハードウェアにより選択が可能である。
【００２８】
シーケンサ１２４とは順次状態マシンであり、この順次状態マシンの始動により、ＡＲ１２３により特定されたアドレス１２３ｌｖから、ＡＦＳＤ１４０からＲＡＭ１５０内へのＢＩＯＳローダ２００ａのコピーが開始される。このシーケンサ１２４にはＡＦＳＤおよびＲＡＭ制御装置１２４ａとＲＡＭアドレスカウンタ１２４ｂとが含まれる。ＲＡＭアドレスカウンタ１２４ｂの出力信号はロード処理中ＲＡＭ１５０に対するアドレスとして使用される。ＲＡＭアドレスカウンタ１２４ｂの出力信号はロード処理の完了時に３状態にされる。コピー終了時に、ＣＰＵ１３０は信号ライン１３２を介して解除される。
【００２９】
図６は、図５の書込み保護ジェネレータ１２８の詳細なブロック図である。ＷＰＧ１２８はコマンド／制御デコーダ４２０、ページアドレス・レジスタ４３０、コマンドコード・レジスタ４４０、書込みストローブ・ジェネレータ４５０、および、ブートコード・ブロックアドレス・コンパレータ４７２とコマンドコード・コンパレータ４７４とを含む比較論理回路４７０を備える。
【００３０】
ＷＰＧ１２８は、ブートコード・ブロック内のデータを保護する。すなわち、上記ブロックで、ＢＩＯＳ２００がＡＦＳＤ１４０に配置されているため、図３でわかるように、いずれのファイルまたはアプリケーションもＢＩＯＳ２００が配置されているブロックに書込まれなくなる。ＡＦＳＤのブートコード・ブロックの書込みまたは消去が試みられた場合、このジェネレータは、ＡＦＳＤ１４０に対する書込み可能ストローブを不能にし、その動作を無効にし、書込み動作または消去動作が実行されなくなる。
【００３１】
コマンド／制御デコーダ（ＣＣＤ）４２０は、システムバス１１５を介してＡＦＳＤ１４０に対するすべての必要な制御信号を生成する回路である。ＣＣＤ４２０は、ＣＰＵ１３０からシステムバス１１５を介して制御信号を受け取り、ＣＰＵからの信号を復号化し、制御ライン１４２を介してＡＦＳＤ１４０へ複合化信号を送信する。
【００３２】
ページアドレス・レジスタ４３０は、ＡＦＳＤ１４０用のアドレス情報を保持する。図１のＣＰＵ１３０がＡＦＳＤ１４０へ指定アドレスを送ると、この指定アドレスはこのページアドレス・レジスタ４３０の中へラッチされる。ＣＰＵ１３０がＡＦＳＤ１４０へコマンドを送ると、このコマンドはコマンドコード・レジスタ４４０の中へラッチされる。
【００３３】
書込みストローブ・ジェネレータ４５０は、ＡＦＳＤ１４０のメモリセルへの書込みを制御する。ＣＰＵ１３０がＡＦＳＤ１４０に対して書込みを行うとき、その書込みは、コマンド、アドレスあるいはデータの如何にかかわらず、１回のＣＰＵ書込み動作で２つの書込み信号“ＷＲ＿１”と“ＷＲ＿２”とが生成される。ＷＲ＿１がまず生成され、次いでＷＲ＿２がすぐその後に生成される。ＷＲ＿１は、アドレスとコマンドコードとをそれぞれページレジスタおよびコマンドコード・レジスタの中へラッチし、ブートコード・ブロック比較用として使用する。ＷＲ＿２はＡＦＳＤ１４０へのＷＲＩＴＥ  ＥＮＡＢＬＥ信号として使用される。
【００３４】
ブートコード・ブロックアドレス・コンパレータ４７２は、ページアドレス・レジスタ４３０とブートコード・ブロックアドレス１２３ｌｖとの比較を行う。その結果が同一であれば、コマンドコード・コンパレータ４７４が作動可能となる。
【００３５】
コマンドコード・コンパレータ４７４は、“ＰＲＯＧＲＡＭ”、“ＥＲＡＳＥ”またはＡＦＳＤ１４０の内容を修正する別のコマンドを用いてコマンドコード・レジスタの内容をチェックする。コマンドコード・レジスタの内容が“ＰＲＯＧＲＡＭ”または“ＥＲＡＳＥ”であれば、ＷＲ＿２が使用禁止になり、それによってプログラムまたは消去動作が阻止されることになる。したがって、ＡＦＳＤ１４０内のＢＩＯＳ２００はいずれの修正からも保護される。
【００３６】
このシステムは多くの点で従来の設計よりも優れた利点がある。ＢＩＯＳは、アプリケーションやファイルの記憶用として使用される記憶装置に記憶され、さらに重要な点として、ＢＩＯＳの一部が、専用ＲＯＭに配置されているマイクロプロセッサ実行コマンドを用いずに、ＡＦＳＤからＲＡＭの中へコピーされるという点が挙げられる。したがって、一般にＰＣにおいてＢＩＯＳを格納するためのＲＯＭのような専用チップを省くことが可能となり、この結果、極めて大きなコストの節減、基板サイズのさらなる小型化およびインタフェース構造の単純化という結果が得られる。加えて、ＢＩＯＳがＡＦＳＤに記憶されている場合、さらに容易にＢＩＯＳの変更が可能となる。
【００３７】
本発明の例示の実施例について図示し、説明したが、その他の改変、変更および変形を行うことが可能であり、本発明が関係する技術の当業者にはこれらの改変、変更および変形が思い浮かぶであろうことは明らかである。
【００３８】
したがって、本発明は、図示され、説明された実施形態に限定されるものではないと考えるべきであり、本発明の本質的特徴を構成する特徴を組み入れたものとしてのこのような改変例および他の実施形態は、本発明と均等なものであり、本発明の真の精神と範囲に属するものであると考えるべきである。
【図面の簡単な説明】
【図１】
従来方式のＢＩＯＳ用コード記憶装置を用いる従来技術のＰＣシステムである。
【図２】
システムの構成要素を示すブロック図である。
【図３】
図２のアプリケーションおよびファイル記憶用装置を示す図である。
【図４】
システムのオペレーションを示すフローチャートである。
【図５】
図２のロード用論理回路１２０の詳細なブロック図である。
【図６】
図５の書込み保護ジェネレータ１２８の詳細なブロック図である。
【図１】
2004538571.tif 000003
【図２】
2004538571.tif 000004
【図３】
2004538571.tif 000005
【図４】
2004538571.tif 000006
【図５】
2004538571.tif 000007
【図６】
2004538571.tif 000008
【国際公開パンフレット】
2004538571.tif 000009
2004538571.tif 000010
2004538571.tif 000011
2004538571.tif 000012
2004538571.tif 000013
2004538571.tif 000014
2004538571.tif 000015
2004538571.tif 000016
2004538571.tif 000017
2004538571.tif 000018
2004538571.tif 000019
2004538571.tif 000020
2004538571.tif 000021
2004538571.tif 000022
2004538571.tif 000023
2004538571.tif 000024
2004538571.tif 000025
2004538571.tif 000026
2004538571.tif 000027
2004538571.tif 000028
2004538571.tif 000029
2004538571.tif 000030
2004538571.tif 000031
2004538571.tif 000032
2004538571.tif 000033
2004538571.tif 000034
【国際公開パンフレット（コレクトバージョン）】
2004538571.tif 000035
2004538571.tif 000036
【国際調査報告】
2004538571.tif 000037
2004538571.tif 000038
2004538571.tif 000039