(57)【要約】【課題】任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にするマイクロコンピュータを提供する。【解決手段】マイクロコンピュータは、リセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化されるシリアルペリフェラルインタフェース回路（１０）を備え、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路はシリアルフラッシュメモリ（２１）から転送制御プログラム（ＴＰＧＭ）を内部ＲＡＭ（３）に転送し、中央処理装置は前記内部ＲＡＭに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラム（ＵＰＧＭ）を外部メモリ（２０）に転送し、中央処理装置が前記外部メモリに転送されたユーザプログラムを実行可能にするものである。【選択図】図３
2008176518.tif 000002
【特許請求の範囲】
【請求項１】
外部のシリアルフラッシュメモリが接続されるシリアルペリフェラルインタフェース回路と、外部メモリ空間に配置された外部メモリを制御するメモリコントローラと、内部ＲＡＭと、中央処理装置とを有し、
前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化され、
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部ＲＡＭに転送し、前記中央処理装置は前記内部ＲＡＭに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムを前記外部メモリに転送し、前記外部メモリに転送されたユーザプログラムを実行する、マイクロコンピュータ。
【請求項２】
シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は前記外部メモリ空間に配置されたパラレルフラッシュメモリが保有するユーザプログラムを実行する、請求項１記載のマイクロコンピュータ。
【請求項３】
前記中央処理装置は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記内部ＲＡＭのアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記外部メモリ空間のアドレスを発行する、請求項１記載のマイクロコンピュータ。
【請求項４】
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき前記内部ＲＡＭに対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリから転送制御プログラムが前記内部ＲＡＭに転送完了されるまでウェイトされる、請求項３記載のマイクロコンピュータ。
【請求項５】
前記ウェイトを制御するバスアービタを有する、請求項４記載のマイクロコンピュータ。
【請求項６】
前記ウェイトの指示と解除の指示は、シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路が行う、請求項５記載のマイクロコンピュータ。
【請求項７】
前記シリアルペリフェラルインタフェース回路は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示する、請求項６記載のマイクロコンピュータ。
【請求項８】
リセット動作時にシリアルペリフェラルインタフェース回路を介して外部のシリアルフラッシュメモリに格納されているブートプログラムを内部ＲＡＭに転送し、内部ＲＡＭに転送されたブートプログラムを中央処理装置が実行することにより前記シリアルフラッシュメモリに格納されているユーザプログラムを外部ＲＡＭに転送して、中央処理装置が外部ＲＡＭに格納されたユーザプログラムを実行可能にするシリアルフラッシュブートモードを有するマイクロコンピュータであって、
前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化され、
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部ＲＡＭに転送する、マイクロコンピュータ。
【請求項９】
シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は直接外部メモリ空間に配置されたメモリが保有するユーザプログラムを実行する、請求項８記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルフラッシュメモリを用いたブート動作を可能にするマイクロコンピュータに関する。
【背景技術】
【０００２】
リセット指示の解除に応答してマイクロコンピュータがプログラムの実行を開始するようなシステム起動の動作をブート動作というが、オンチップフラッシュメモリのオンボード書換え動作に用いるプログラムをマイクロコンピュータにロードするのにシリアルインタフェースを用いる技術がある。例えば、特許文献1には、シリアルインタフェースによる入力データをＣＰＵ制御を介さずハードウェア的に内部ＲＡＭに転送するＤＭＡを用いて、外部装置からシリアルインタフェースを介してオンチップフラッシュメモリの書き換えを制御するプログラムを内部ＲＡＭに転送する。オンボード書き換えモード信号がイネーブルにされた状態では、ＣＰＵがリセットベクタの格納アドレスを出力したとき、リセットベクタの代わりに、そのプログラムが格納されたＲＡＭのアドレスを出力する。これによりＣＰＵは、リセット解除の直後に、内部ＲＡＭに格納された書き換え制御プログラムを実行できるようになる。
【０００３】
【特許文献１】特開平２００２−２８７９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者はユーザプログラムを外部のシリアルフラッシュメモリからロードすることについて検討した。ユーザプログラムが外部のパラレルフラッシュメモリに格納されていれば、リセット指示の解除に応答して発行される命例フェッチサイクルで直接パラレルフラッシュメモリから命令をフェッチして実行することができる。しかしながら、シリアルフラッシュメモリは入力データ端子と出力データ端子を各々１個づつ備えるだけであるから、必要なビット数のアドレス入力や命令出力に時間を要する。直接アクセスして命令を実行する用途にはシリアルフラッシュメモリは適していない。特許文献1に記載の技術を流用しても任意のプログラムサイズのユーザプログラムをシリアルフラッシュメモリから所要のメモリにロードする動作を効率的に行うことはできない。シリアルインタフェースによる入力データをＣＰＵ制御の介在無くハードウェア的に内部ＲＡＭに転送する構成では転送動作に融通性はまったく無い。オンチップフラッシュメモリに対する書換え制御プログラムのような規模の小さなプログラムの転送に用途が限定される。
【０００５】
本発明の目的は、任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にするマイクロコンピュータを提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
すなわち、マイクロコンピュータは、リセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される前記シリアルペリフェラルインタフェース回路を備え、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路はシリアルフラッシュメモリから転送制御プログラムを内部ＲＡＭに転送し、中央処理装置は前記内部ＲＡＭに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムを外部メモリに転送し、中央処理装置が前記外部メモリに転送されたユーザプログラムを実行可能にするものである。
【０００９】
これによれば、初期化されたシリアルペリフェラルインタフェース回路は転送制御プログラムだけを内部ＲＡＭに転送すればよく、ユーザプログラムの転送はその転送制御プログラムを中央処理装置が実行して行えばよいから、任意サイズのユーザプログラムを効率的に外部メモリに転送することができる。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１１】
すなわち、任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にすることができる。
【発明を実施するための最良の形態】
【００１２】
１．代表的な実施の形態（representative forms of embodiments of the inventions）
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１３】
〔１〕本発明の代表的な実施の形態に係るマイクロコンピュータ（１）は、外部のシリアルフラッシュメモリ（２１）が接続されるシリアルペリフェラルインタフェース回路（１０）と、外部メモリ空間に配置された外部メモリ（２０）を制御するメモリコントローラ（１１）と、内部ＲＡＭ（３）と、中央処理装置（２）とを有する。前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される。シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムＴＰＧＭを前記内部ＲＡＭに転送し、前記中央処理装置は前記内部ＲＡＭに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムＵＰＧＭを前記外部メモリに転送し、前記外部メモリに転送されたユーザプログラムを実行する。これによれば、初期化されたシリアルペリフェラルインタフェース回路は転送制御プログラムだけを内部ＲＡＭ転送すればよく、ユーザプログラムの転送はその転送制御プログラムを中央処理装置が実行して行えばよいから、任意サイズのユーザプログラムを効率的に外部メモリに転送することができる。
【００１４】
一つの具体的な形態として、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は前記外部メモリ空間に配置されたパラレルフラッシュメモリ（２２）が保有するユーザプログラムを実行する。パラレルフラッシュメモリにユーザプログラムを配置する利用形態にも対応することができる。
【００１５】
別の具体的な形態として、前記中央処理装置は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記内部ＲＡＭのアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記外部メモリ空間のアドレスを発行する。ユーザプログラムをシリアルフラッシュメモリに置くかパラレルフラッシュメモリに置くかによって相違される中央処理装置による命令の実行開始アドレスを容易に制御することができる。
【００１６】
更に具体的な形態として、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき前記内部ＲＡＭに対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリから転送制御プログラムが前記内部ＲＡＭに転送完了されるまでウェイトされる。シリアルフラッシュブートモードが指定されているか否かに拘わらず、リセット解除後に始める中央処理装置の命令アドレスの発行タイミングを変更しなくても済む。
【００１７】
更に具体的な形態として、前記ウェイトを制御するのにバスアービタ（１２）を利用すればよい。バスアービタは、例えばスプリットトランザクションバスのイニシエータコンポーネントからのリクエストパケットとターゲットコンポーネントからのレスポンスパケットの夫々について競合を調停するパケットルータのような回路である。
【００１８】
更に具体的な形態として、前記ウェイトの指示と解除の指示は、シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路が行えばよい。
【００１９】
更に具体的な形態として、前記シリアルペリフェラルインタフェース回路は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示する。中央処理装置による前記転送制御プログラムの実行開始タイミングを容易に生成することができる。
【００２０】
〔２〕別の観点によるマイクロコンピュータは、リセット動作時にシリアルペリフェラルインタフェース回路を介して外部のシリアルフラッシュメモリに格納されているブートプログラムを内部ＲＡＭに転送し、内部ＲＡＭに転送されたブートプログラムを中央処理装置が実行することにより前記シリアルフラッシュメモリに格納されているユーザプログラムを外部ＲＡＭに転送して、中央処理装置が外部ＲＡＭに格納されたユーザプログラムを実行可能にするシリアルフラッシュブートモードを有する。前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される。シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部ＲＡＭに転送する。
【００２１】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００２２】
図１には本発明に係るマイクロコンピュータの一例が示される。同図に示されるマイクロコンピュータ１は、特に制限されないが、相補型ＭＯＳ集積回路製造技術により、単結晶シリコンのような１個の半導体基板に形成される。マイクロコンピュータ（ＭＣＵ）１は、中央処理装置（ＣＰＵ）２、内部ＲＡＭ（ＩＬＲＡＭ）３及びキャッシュメモリ（ＣＡＣＨＥ）４などによってＣＰＵコア５を形成し、ＣＰＵコア５の内部はバス６で接続される。ＣＰＵコア５はバス７に接続され、バス７には、シリアルペリフェラルインタフェース回路（ＳＰＩ）１０、メモリコントローラ（ＭＣＮＴ）１１、バスアービタ（ＢＡＲＢ）１２、その他の周辺回路（ＰＲＰＨ）１３などが接続される。システムコントローラ（ＳＹＳＣＮＴ）１４はリセット信号ＲＥＳ、シリアルフラッシュブートイネーブル信号ＳＰＩＢＥＮを入力して、内部リセット信号ｒｅｓをＭＣＵ１の夫々の回路に供給し、内部シリアルフラッシュブートイネーブル信号ｓｐｉｂｅｎをシリアルペリフェラルインタフェース回路１０及び中央処理装置２に供給する。
【００２３】
中央処理装置２は命令制御部と実行部を有する。命令制御部は命令実行順序を制御すると共に命令フェッチとフェッチした命令のデコードを行なう。命令制御部は命令フェッチアドレスを演算する命令アドレス演算器を有する。実行部は命令デコード結果に従ってオペランドアドレスの演算及びオペランドに対するデータ演算を行って命令を実行する。
【００２４】
キャッシュメモリ４は例えばキャッシュ対象のアドレス領域に対する命令キャッシュとデータキャッシュに兼用される。内部ＲＡＭ３は高速の内部ワーク領域等に利用され、例えばＳＲＡＭ（Static RAM）によって構成される。
【００２５】
メモリコントローラ１１はＣＰＵ２等からのアクセス要求に応答してパラレルインタフェースを有するフラッシュメモリ及びＤＤＲ（Double Data Rate）２−ＳＤＲＡＭ(Synchronous DRAM)に対するメモリ制御を行う回路である。シリアルペリフェラルインタフェース回路１０はコマンドやデータの入力と出力をシリアルに行うことができる周辺デバイスを接続してインタフェースする回路であり、ここではシリアルフラッシュメモリ２１が接続されるものとする。メモリコントローラ１１にパラレルインタフェース形式のフラッシュメモリを接続し、マイクロコンピュータが初期化されたとき中央処理装置２が実行するプログラムを当該パラレルフラッシュメモリに格納してもよい。或いは、シリアルペリフェラルインタフェース回路１０に接続したシリアルフラッシュメモリ２１に格納してもよい。図１では、メモリコントローラ１１にはパラレルインタフェース形式のフラッシュメモリを接続していない。その動作プログラムはシリアルフラッシュメモリ２１が提供するものとする。メモリコントローラ１１には代表的にＤＤＲ２−ＳＤＲＡＭ２０が接続されている。
【００２６】
特に制限されないが、バス６，７はパケット交換方式のスプリットトランザクションバスとされる。このバスには、転送要求内容を含むリクエストパケットと、応答内容を含むレスポンスパケットがやり取りされる。リクエストパケットを発行してレスポンスパケットを受け取る回路をイニシエータコンポーネント、リクエストパケットを受け取ってレスポンスパケットを返す回路をターゲットコンポーネントと称し、そのバスに接続する回路はバスマスタであるのかバススレーブであるかに応じてそのバスとのインタフェース部分に前記イニシエータコンポーネント又はターゲットコンポーネントを有する。ここではバスアービタ１２は、イニシエータコンポーネントから発行されるリクエストパケットとターゲットコンポーネントから発行されるレスポンスパケットに関する競合を調停するパケットルータとして機能される。バスアービタ１２はディスエーブル信号ＴｘＤＥＮのアクティブ状態においてシリアルペリフェラルインタフェース回路１０から内部ＲＡＭ３へのデータ転送のみ許可し、それ以外の回路からのリクエストパケットによる要求に対してはウェイトする。
【００２７】
シリアルペリフェラルインタフェース回路１０にはシリアルフラッシュメモリ（ＳＦＬＡＳＨ）２１が外部に接続される。シリアルフラッシュメモリ２１はデータ入力端子、データ出力端子、シリアルクロック端子及びチップセレクト端子等を有し、メモリコマンド、アクセスアドレス及びライトデータをデータ入力端子からシリアル入力し、リードデータをデータ出力端子からシリアル出力する。シリアル入出力はシリアルクロック端子からのシリアルクロックに同期され、チップ選択端子を用いてチップ選択される。メモリアレイは電荷蓄積領域を有するスタックドゲート構造或いはスプリットゲート構造の不揮発性メモリセルを備え、電気的に書換え可能にされる。
【００２８】
シリアルペリフェラルインタフェース回路１０は、図２に例示されるように、ＣＰＵインタフェース３０を介してバス７に接続され、送信ＦＩＦＯバッファ（ＴｘＦＩＦＯ）３１、送信シフトレジスタ（ＴｘＳＲＥＧ）３２、受信ＦＩＦＯバッファ（ＲｘＦＩＦＯ）３３、受信シフトレジスタ（ＲｘＳＲＥＧ）３４、ステートマシン（ＳＴＭ）３５、及びタイミングジェネレータ（ＴＭＧ）３６を有する。ＣＰＵインタフェース３０にはシリアルペリフェラルインタフェース回路１０用のイニシエータコンポーネントとターゲットコンポーネントを有する。
【００２９】
ステートマシン３５はバス７からリクエストパケットとして与えられるコマンド及びステータスに従って制御状態を遷移させる。タイミングジェネレータ３６はその制御状態に従ってチップセレクト端子ＣＳ及びシリアルクロック端子ＳＣＫ等に外部インタフェースタイミング信号を出力すると共に、内部タイミング信号を生成する。送信ＦＩＦＯバッファ３１はバス７からリクエストパケットとして与えられるメモリコマンド及びアクセスアドレス、更に必要な場合には書込みデータを、順次入力して保持する。送信ＦＩＦＯバッファ３１に保持された情報は内部タイミング信号で規定されるタイミングに従って送信シフトレジスタ３２でビットシリアルに変換され、変換されたシリアル情報はデータ出力端子ＤｏｕｔからシリアルクロックＳＣＫに同期してシリアルフラッシュメモリ２１に供給される。受信シフトレジスタ３４はシリアルクロックに同期してシリアルフラッシュメモリ２１からデータ入力端子Ｄｉｎに供給されたリードデータをパラレルデータに変換し、変換されたパラレルデータは受信ＦＩＦＯバッファ３３に保持される。受信ＦＩＦＯバッファ３３に保持されたリードデータはレスポンスパケットとしてバス７に出力される。
【００３０】
ステートマシン３５はリクエストパケットとして与えられるコマンド及びステータス等を保持する制御レジスタを有し、リセット信号ＲＥＳによるリセット指示に応答してそれら制御レジスタが初期化される。その制御レジスタの初期状値により、シリアルペリフェラルインタフェース回路１０はシリアルフラッシュブートモードに対応可能な状態にされる。以下、シリアルフラッシュブートモードについて詳述する。
【００３１】
外部リセット信号ＲＥＳによりリセットが指示されると、システムコントローラ１４は内部リセット信号ｒｅｓを活性化してマイクロコンピュータ１の内部回路の状態を初期化する。この初期化により、シリアルペリフェラルインタフェース回路１０の制御レジスタはシリアルフラッシュブートモードに対応可能にされる。外部リセット信号ＲＥＳによるリセット指示が解除されたとき、シリアルフラッシュブートイネーブル信号ＳＰＩＢＥＮが活性化されている場合には内部シリアルフラッシュブートイネーブル信号ｓｐｉｂｅｎが活性化される。これによりシリアルペリフェラルインタフェース回路１０はシリアルフラッシュブートモードによる動作を自立的に開始する。
【００３２】
図３にはシリアルフラッシュブートモードによる動作の概略が例示される。リセット指示が解除されたとき、内部シリアルフラッシュブートイネーブル信号ｓｐｉｂｅｎが活性にされていることを条件に、シリアルペリフェラルインタフェース回路１０は初期化された制御レジスタの内容に従って、シリアルフラッシュメモリ２１の第1領域から転送制御プログラムＴＰＧＭを読み出す指示を与え（経路Ａ１）、読み出した転送制御プログラムＴＰＧＭと共にこれを内部ＲＡＭ３に転送する転送要求を含むリクエストパケットをバス７に発行し、これによって転送制御プログラムＴＰＧＭが内部ＲＡＭ３に転送される（経路Ａ２）。シリアルフラッシュメモリ２１における第1領域のアドレス、内部ＲＡＭ３の転送先アドレス、及び転送語数等は初期化された制御レジスタの内容によって特定される。この動作中、シリアルペリフェラルインタフェース回路１０はディスエーブル信号ＴｘＤＥＮによりバスアービタ１２にシリアルペリフェラルインタフェース回路１０から内部ＲＡＭ３へのデータ転送要求以外をウェイトさせる指示を与えている。したがって、リセット指示の解除に同期して中央処理装置２がプログラム領域の先頭番地に対する命令フェッチの要求を発行してもその要求はバスアービタ１２によりウェイト状態にされている。特に、中央処理装置２はリセット指示が解除されたとき内部シリアルフラッシュブートイネーブル信号ｓｐｉｂｅｎが活性にされている場合には、通常のプログラム領域の先頭番地に対して所定のオフセットアドレスを加算して、これを命令フェッチアドレスとする。ここでは、オフセットアドレスが加算された命令フェッチアドレスは内部ＲＡＭ３のアドレスとされる。
【００３３】
前記転送語数のデータ転送が完了すると、シリアルペリフェラルインタフェース回路１０はディスエーブル信号ＴｘＤＥＮを非活性とする。これにより、中央処理装置２から発行されていた命令フェッチ要求に対するウェイトが解除され、中央処理装置は命令フェッチ可能な状態になり、中央処理装置２は内部ＲＡＭ３に格納された転送制御プログラムをフェッチして実行する（経路Ｂ１）。すなわち、中央処理装置２はシリアルペリフェラルインタフェース回路１０の前記制御レジスタを制御して、シリアルフラッシュメモリ２１の第２領域からユーザプログラムＵＰＧＭを読み出す指示を与え、読み出したユーザプログラムＵＰＧＭと、このユーザプログラムＵＰＧＭをＤＤＲ２−ＳＤＲＡＭ２０に転送する転送要求を含むリクエストパケットをバス７に発行する。ユーザプログラムＵＰＧＭはＤＤＲ２−ＳＤＲＡＭ２０に各に格納される（経路Ｂ２）。シリアルフラッシュメモリ２１における第２領域のアドレス、ＤＤＲ２−ＳＤＲＡＭ２０の転送先アドレス、及び転送語数等は転送制御プログラムによって規定される。
【００３４】
転送制御プログラムの最後において中央処理装置２はシステムコントローラ１４における内部シリアルフラッシュブートイネーブル信号ｓｐｉｂｅｎの出力ラッチをクリアし、且つ、プログラムの実行をＤＤＲ２−ＳＤＲＡＭ２０のプログラム領域先頭番地に分岐させる。これにより中央処理装置２はＤＤＲ２−ＳＤＲＡＭ２０のプログラム領域に格納されたユーザプログラムから命令をフェッチして実行することができる（経路Ｃ１）。
【００３５】
図４にはシリアルフラッシュブートモードによる動作のタイミングチャートが示される。マイクロコンピュータ１にリセットが指示されるとシリアルペリフェラルインタフェース回路１０の制御レジスタが初期され（Ｓ１）、信号ＴｘＤＥＮを活性化してシリアルペリフェラルインタフェース回路から内部ＲＡＭ３へのデータ転送以外のバスアクセスをバスアービタ１２に抑制させる（Ｓ２）。そのバスアクセスの抑制はシリアルペリフェラルインタフェース回路１０が信号ＴｘＤＥＮを非活性にするまで（Ｓ６）継続される。中央処理装置２にとって時刻ｔ０からｔ１まではバスアクセス抑制期間になる。リセット指示が解除され、このとき信号ＳＰＩＢＥＮが活性状態にされている場合（Ｓ３）、シリアルペリフェラルインタフェース回路１０は初期状態の前記制御レジスタの値を用いてシリアルフラッシュメモリ２１をアクセスし（Ｓ４）、転送制御プログラムＴＰＧＭを内部ＲＡＭ３に書き込みアクセスする（Ｓ５）。転送制御プログラムＴＰＧＭの転送を完了すると、信号ＴｘＤＥＮは非活性にされ、バスアクセス抑制期間が解除される（Ｓ７）。これにより内部ＲＡＭ３から転送制御プログラムが出力され（Ｓ８）、中央処理装置２がその転送制御プログラムをフェッチして実行する（Ｓ９）。これにより、中央処理装置２はシリアルフラッシュメモリ２１が保有するユーザプログラムＵＰＧＭをバス７に供給させ（Ｓ１０）、そのユーザプログラムＵＰＧＭをＤＤＲ２−ＳＤＲＡＭ２０に格納させる（Ｓ１１）。ユーザプログラムの転送完了後、中央処理装置２はＤＤＲ２−ＳＤＲＡＭ２０のユーザプログラムの実行に分岐する（Ｓ１２）。
【００３６】
図５には中央処理装置２が実行すべきユーザプログラムをパラレルフラッシュメモリ２２の格納したときのプログラム実行動作が例示される。パラレルフラッシュメモリ２２はＤＤＲ２−ＳＤＲＡＭ２０と共にメモリコントローラ１１に接続される。このパラレルフラッシュメモリ２２は通常のプログラム領域にマッピングされている。リセット指示が解除されたとき、シリアルフラッシュブートイネーブル信号ＳＰＩＢＥＮは非活性にされる。これにより中央処理装置２は通常のプログラム領域の先頭アドレス、即ち、パラレルフラッシュメモリ２２から命令をフェッチしてユーザプログラムの実行を開始することができる（経路Ｄ１）。
【００３７】
以上説明したマイクロコンピュータによれば以下の作用効果を得ることができる。
【００３８】
初期化されたシリアルペリフェラルインタフェース回路１０は転送制御プログラムＴＰＧＭだけを内部ＲＡＭ３転送すればよく、ユーザプログラムＵＰＧＭの転送はその転送制御プログラムＴＰＧＭを中央処理装置２０が実行して行えばよいから、任意サイズのユーザプログラムＵＰＧＭを効率的にＤＤＲ２−ＳＤＲＡＭ２０に転送することができる。シリアルペリフェラルインタフェース回路１０の制御レジスタに対する初期値で任意サイズのユーザプログラムＵＰＧＭを全てＤＤＲ２−ＳＤＲＡＭ２０に転送するには、初期値を可変にしなければならず、そのための構成が複雑化し、初期化手順も複雑になる。
【００３９】
シリアルフラッシュブートモードがディスエーブル（信号ＳＰＩＢＥＮが非活性）にされてリセット指示が解除されたとき、中央処理装置２は前記外部メモリ空間に配置されたパラレルフラッシュメモリ２２が保有するユーザプログラムを実行することができるから、パラレルフラッシュメモリ２２にユーザプログラムを配置する利用形態にも対応することができる。
【００４０】
中央処理装置２は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして通常の開始アドレスにオフセットを加算した前記内部ＲＡＭ３のアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして通常の開始アドレスを発行し、そのアドレスにはパラレルフラッシュメモリ２２を配置しておく。ユーザプログラムをシリアルフラッシュメモリ２１に置くかパラレルフラッシュメモリ２２に置くかによって相違される中央処理装置２による命令の実行開始アドレスを容易に制御することができる。
【００４１】
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき内部ＲＡＭ３に対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリ２１から転送制御プログラムＴＰＧＭが前記内部ＲＡＭ３に転送完了されるまでウェイトされるようにしたから、シリアルフラッシュブートモードが指定されているか否かに拘わらず、リセット解除後に始める中央処理装置２の命令アドレスの発行タイミングを変更しなくても済む。
【００４２】
シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路１０が前記ウェイトの指示と解除の指示を行うから、その制御が簡単になる。前記シリアルペリフェラルインタフェース回路１０は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示するから、中央処理装置２による前記転送制御プログラムＴＰＧＭの実行開始タイミングを容易に生成することができる。
【００４３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４４】
例えば、バスはスプリットトランザクションバスに限定されず、排他的に一つの回路モジュールにバス権を獲得させる形式のバスであってもよい。内部ＲＡＭはＣＰＵコアに含まれるＲＡＭであることに限定されない。特に図示はしていないがメモリマネージメントユニットを備えた仮想記憶をサポートするマイクロコンピュータであってもよい。マイクロコンピュータはＤＭＡＣ等のその他のバスマスタモジュールを搭載してもよい。この場合、ＣＰＵが転送制御プログラムを実行することによりＤＭＡＣに転送制御条件を設定し、その転送制御条件に従ってＤＭＡＣにシリアルフラッシュメモリから外部ＲＡＭにユーザプログラムを転送させるようにしてもよい。外部ＲＡＭはＤＤＲ２−ＳＤＲＡＭに限定されず、その他のメモリであってよい。
【図面の簡単な説明】
【００４５】
【図１】本発明に係るマイクロコンピュータを例示するブロック図である。
【図２】シリアルペリフェラルインタフェースを例示するブロック図である。
【図３】シリアルフラッシュブートモードによる動作の概略を例示する動作説明図である。
【図４】シリアルフラッシュブートモードによる動作のタイミングチャートである。
【図５】ＣＰＵが実行すべきユーザプログラムをパラレルフラッシュメモリに格納したときのプログラム実行動作を例示する動作説明図である。
【符号の説明】
【００４６】
１  マイクロコンピュータ（ＭＣＵ）
２  中央処理装置（ＣＰＵ）
３  内部ＲＡＭ（ＩＬＲＡＭ）
４  キャッシュメモリ（ＣＡＣＨＥ）
５  ＣＰＵコア
６，７  バス
１０  シリアルペリフェラルインタフェース回路（ＳＰＩ）
１１  メモリコントローラ（ＭＣＮＴ）
１２  バスアービタ（ＢＡＲＢ）
１３  その他の周辺回路（ＰＲＰＨ）
ＲＥＳ  セット信号
ＳＰＩＢＥＮ  シリアルフラッシュブートイネーブル信号
ｒｅｓ  内部リセット信号
ｓｐｉｂｅｎ  内部シリアルフラッシュブートイネーブル信号
２０  ＤＤＲ２−ＳＤＲＡＭ２０
２１  シリアルフラッシュメモリ（ＳＦＬＡＳＨ）
２２  パラレルフラッシュメモリ（ＰＦＬＡＳＨ）
３０  ＣＰＵインタフェース（ＣＰＵＩＦ）
３１  送信ＦＩＦＯバッファ（ＴｘＦＩＦＯ）
３２  送信シフトレジスタ（ＴｘＳＲＥＧ）
３３  受信ＦＩＦＯバッファ（ＲｘＦＩＦＯ）
３４  受信シフトレジスタ（ＲｘＳＲＥＧ）
３５  ステートマシン（ＳＴＭ）
３６  タイミングジェネレータ（ＴＭＧ）
【図１】
2008176518.tif 000003
【図２】
2008176518.tif 000004
【図３】
2008176518.tif 000005
【図４】
2008176518.tif 000006
【図５】
2008176518.tif 000007