(57)【要約】 【目的】  ＣＰＵにより様々なソフトを効率よく利用可能なプロセッサユニットの提供を課題とする。【構成】  ＣＰＵと、該ＣＰＵが実行するプログラムを格納する主メモリとが共通バスを介して接続するプロセッサユニットであって、前記ＣＰＵと外部の着脱自在に接続されたメモリカードとの間に介在して該メモリーカードをアクセスするためのメモリカード制御部と、前記共通バスに接続して、前記ＣＰＵのシステムリセットを契機に、前記メモリカード制御部を介して前記メモリカードの所定アドレスからＣＰＵの起動用プログラムを読み出してこれを前記主メモリの起動用プログラム記憶エリアに展開するローダユニットとを備える。【選択図】  図１
2007316871.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、該ＣＰＵが実行するプログラムを格納する主メモリとが共通バスを介して接続するプロセッサユニットであって、
前記ＣＰＵと外部の着脱自在に接続されたメモリカードとの間に介在して該メモリーカードをアクセスするためのメモリカード制御部と、
前記共通バスに接続して、前記ＣＰＵのシステムリセットを契機に、前記メモリカード制御部を介して前記メモリカードの所定アドレスからＣＰＵの起動用プログラムを読み出してこれを前記主メモリの起動用プログラム記憶エリアに展開するローダユニットとを備えることを特徴とするプロセッサユニット。
【請求項２】
ローダユニットはＦＰＧＡやＰＬＤ等のハードウェア論理回路により構成されることを特徴とする請求項１記載のプロセッサユニット。
【請求項３】
メモリカードはコンパクトフラッシュ（登録商標）又はＰＣカードであることを特徴とする請求項１記載のプロセッサユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセッサユニットに関し、更に詳しくは、ＣＰＵと、該ＣＰＵが実行するプログラムを格納する主メモリとが共通バスを介して接続するプロセッサユニットに関する。
【背景技術】
【０００２】
今日、携帯電話などの様々な電子機器がプロセッサユニット（組込プロセッサ等）の制御下で動作するが、システムが一旦固定されると、基板上に固定された主メモリのサイズや、該主メモリに対するアクセスの制限から機能（プログラム）の変更や拡張、或いは当初予定されていなかったログ情報の収集等が必ずしも容易では無い。
【０００３】
この点、従来は、主制御部１２と、外部の着脱自在なメモリカード４との間に介在して、主制御部１２がシステムリセットされている間に、メモリカード４からシステム起動用プログラムを読み出して自己の記憶部２５に記憶するアクセス制御装置１１を備え、主制御部１２のリセット解除後に、該主制御部１２が記憶部２５から起動用プログラムを読み出して起動し、その後、メモリカード４の各種プログラムを実行する電子機器が知られている（特許文献１）。これにより、システムを大型化せずに、起動用プログラムを含む各種プログラムを容易に変更できる。
【特許文献１】特開２００５−１２２５３２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、主制御部１２の起動用プログラムを外部の別途に設けた記憶部２５に記憶する方式であると、本来の主記憶部１３以外にも余分な記憶部２５が必要であると共に、主制御部１２が外部の記憶部２５を使用して起動するための工夫（ＣＰＵに対するメモリ空間の設定／変更等）が必要となる。
【０００５】
本発明は上記従来技術の問題点に鑑みなされたもので、その目的とする所は、外部に別段の起動プログラム格納用メモリを設けること無く、ＣＰＵにより様々なソフトを効率よく利用可能なプロセッサユニットを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によるプロセッサユニットは、ＣＰＵと、該ＣＰＵが実行するプログラムを格納する主メモリとが共通バスを介して接続するプロセッサユニットであって、前記ＣＰＵと外部の着脱自在に接続されたメモリカードとの間に介在して該メモリーカードをアクセスするためのメモリカード制御部と、前記共通バスに接続して、前記ＣＰＵのシステムリセットを契機に、前記メモリカード制御部を介して前記メモリカードの所定アドレスからＣＰＵの起動用プログラムを読み出してこれを前記主メモリの起動用プログラム記憶エリアに展開するローダユニットとを備えるものである。
【０００７】
本発明によれば、メモリカードから読み出したＣＰＵの起動用プログラムを主メモリの起動用プログラム記憶エリアに展開して実行する構成により、余分なメモリを必要としないばかりか、ＣＰＵと主メモリとからなる既存のシステムに別段の変更を加えなくても、システムを正常に立ち上げ可能であり、その後は、外部メモリカード上の様々なソフトウェアを有効に利用できる。また、このメモリカードを取り外して、外部のパソコン等によりプログラムの更新やログ解析も簡単に行える。また、メモリカードを替えることで容量
拡張にも容易に対応できる。
【０００８】
本発明の第２の態様においては、ローダユニットはＦＰＧＡやＰＬＤ等のハードウェア論理回路により構成される。従って、各種メモリカードをアクセス可能なハードウェアローダユニットを柔軟かつ効率よく構成できる。
【０００９】
本発明の第３の態様においては、メモリカードはコンパクトフラッシュ（登録商標）又はＰＣ−ＡＴＡカードである。
【発明の効果】
【００１０】
以上述べた如く本発明によれば、システムの共通バスに比較的簡単なローダユニットを接続することで、外部メモリカード及び該メモリカード上の様々なソフトを利用可能となり、プロセッサユニットの機能向上及び拡張性向上に寄与するところが極めて大きい。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面に従って本発明に好適なる実施の形態を詳細に説明する。なお、全図を通して同一符号は同一又は相当部分を示すものとする。図１は実施の形態によるプロセッサユニットのブロック図であり、１０は様々な電子機器に搭載されて各所要の機能を実現するためのプロセッサユニット（ＰＵ）であり、コネクタ２１を介してコンパクトフラッシュ（登録商標）やＰＣカード等からなる外部のメモリカード２２を着脱自在に備えている。
【００１２】
ＰＵ１０において、１１はＰＵ１１の主制御・処理を行うＣＰＵ、１２はＣＰＵ１１が使用する主メモリ（ＭＭ）、１３はＣＰＵ１１とメモリカード２２との間に介在してメモリカード２２のアクセス制御を行うメモリカード制御部、１４はＰＵ１４の共通バス、３０は、共通バス１４に接続し、かつ本システム（ＣＰＵ１１）のシステムリセット時に起動されて、メモリカード２２からＣＰＵ１１の起動用プログラムを読み込んで主メモリ１２の起動用プログラム記憶領域に展開するローダユニットである。このＣＰＵ１１は、本システムのシステムリセット後、動作再開されたときに、主メモリ１２の所定アドレス（例えば、起動用プログラム記憶領域の最初のアドレス）の命令をフェッチして実行に移す。
【００１３】
ローダユニット３０にシステムリセット信号が入力すると、ＣＰＵ１１へのウェイト信号を付勢してＣＰＵ１１の動作を停止（ｗａｉｔ）させると共に、メモリカード制御部１３に対して図２のセクタリード処理を実行することにより、メモリカード２２の所定アドレスからＣＰＵ１１の起動用プログラムを読み出してこれを主メモリ１２の起動用プログラム格納領域に展開する。こうして、起動用プログラムの展開を終了すると、ウェイト信号を消勢してＣＰＵ１１を動作可能にする。これにより、ＣＰＵ１は、起動用プログラム格納領域の先頭のコマンドから実行開始すると共に、必要なら、メモリカード制御部１３を介して主メモリ１２の所定アドレスから更に上位の起動用プログラムを読み出して主メモリ１２に展開し、順次実行する。こうして、ＣＰＵ１１が起動完了すると、メモリカード２２から各種アプリケーションプログラム読出して実行したり、メモリカード２２にログデータを書込可能となる。
【００１４】
図２はメモリカード２２のアクセス（セクタリード）方法のフローチャートで、コンパクトフラッシュ（登録商標）によるメモリカードへの適用例を示している。ステップＳ１１ではシリンダのローレジスタ及びハイレジスタにシリンダアドレスをセットする。ステップＳ１２ではドライブヘッドレジスタにヘッド番号をセットする。ステップＳ１３ではセクタ番号レジスタにセクタ番号をセットする。ステップＳ１４ではセクタカウントレジスタにリードセクタ数（ここでは「０１ｈ」を例に記載）をセットする。ここで、ｈはヘ
キサデシマル表記を表す。
【００１５】
ステップＳ１５ではコマンドレジスタにセクタリードコマンド「２０ｈ」をセットする。ステップＳ１６ではステータスレジスタをリードする。ステップＳ１７ではＤＲＥＱビットがセットされ「５８ｈ」か否かを判別し、ＮＯの場合はステップＳ１６に戻る。こうして、やがてＹＥＳになると、ステップＳ１８ではデータレジスタを２５６回（５１２バイト分）リードする。ステップＳ１９ではステータスレジスタをリードする。ステップＳ２０ではＤＲＥＱビットがリセットされ「５０ｈ」か否かを判別し、ＮＯの場合は」ステップＳ１９に戻る。こうして、やがてＹＥＳになると、この処理を抜け、次のコマンド入力待ちとなる。
【００１６】
ローダユニット３０は、メモリカード制御部１３にセクタリードコマンドを出力してセクタデータを読み込むと共に、得られたデータを主メモリ１２の起動用プログラム記憶エリアに順次格納する。
【００１７】
図３は実施の形態によるローダユニットのブロック図である。このローダユニット３０は、基本的にはハードウェアで構成されるが、システムリセットの入力を契機に付勢されて、メモリカード２２から起動用プログラムを読み出して主メモリ１２に展開すると言う、幾分複雑な機能を効率よく実現するため、最小限のコマンドを実行可能な汎用プロセッサの構成からなっている。このような回路は、好ましくは、ＰＬＤ（Programable Logic Device）又はＦＰＧＡ（Field Programmable Gate Array）により構成され、図３には汎用プロセッサとしての機能ブロック図を示す。
【００１８】
このローダユニット３０は、プログラムコードのフェッチサイクルとエグゼキュートサイクルとを有するマイクロプロセッサユニット（ＭＰＵ）４０と、該ＭＰＵ４０に内部のバス線（アドレスバスＡＢ，データバスＤＡ，コントロールバスＣＢ）を介して接続するＲＯＭやＥＥＰＲＯＭからなるプログラムメモリ（ＰＭＥＭ）６０とを備える。
【００１９】
ＭＰＵ４０において、４１はプログラム命令のフェッチアドレスを制御するプログラムカウンタ（ＰＣＴＲ）、４２はＰＣＴＲ４１の割込アドレスを保持（プッシュ／ポップ）するメモリスタック（ＳＴＣＫ）、４３はＰＣＴＲ４１へのセットアドレス（ジャンプアドレス）を選択するデータマルチプレクサ（ＭＵＸ）、４４はＰＭＥＭ６０からフェッチされた命令コード（オペコード，オペランドコード等）を保持する命令レジスタ（ＩＲＥＧ）、４５はＩＲＥＧ４４のオペランドデータを転送するためのオペランドバス（ＯＰＬＢ）、４６はＩＲＥＧ４４のオペコード部分（アドレス修飾子を含む）をデコードして対応する一連の制御信号ＣＴを生成する命令デコーダ（ＩＤＥＣ）、４７は簡単な論理判定と演算を行う論理・演算回路部（ＡＬＵ）、４８はＡＬＵ４７と協動する汎用のレジスタ（ＷＲＥＧ）、４９はＡＬＵ４７に入力するデータを選択するためのデータマルチプレクサ（ＭＵＸ）、５０は命令コードやオペランドデータの記憶アドレス（間接アドレスＩＡＤ）を保持するアドレスレジスタ（ＡＤＲ）、５１はオペランドバス４５のオペランドアドレス（直接アドレスＤＡＤ）やＡＤＲ５０の間接アドレスＩＡＤを選択してアドレスバスＡＢに出力するためのデータマルチプレクサ（ＭＵＸ）、５２はＭＰＵ４０の内部バスとＰＵ１０の共通バス１４との間を接続するバスインタフェース（ＢＩＦ）である。ここで、ＡＢはＭＰＵ４０のアドレスバス、ＤＢはデータバス、ＣＢはＩＤＥＣ４６の出力の各種制御信号線が束ねられたコントロール（制御）バスである。
【００２０】
命令デコーダ４６の出力の制御信号ＣＴには、フェッチ／エグゼキュートのマシンサイクルを表すフェッチ信号ＦＥＣＨ／エグゼキュート信号ＥＸＥと、各種レジスタやＰＣＴＲ４１等にデータをセットするためのセット信号ＳＴと、レジスタやＰＣＴＲ４１等の出力データをバスやターゲット回路に出力するための出力付勢信号ＯＥと、データマルチプ
レクサ等における入力データを選択するための選択信号ＳＬと、メモリへのデータ書込制御信号ＷＲと、メモリからのデータ読出制御信号ＲＤと、ＢＩＦ５２を介して外部に出力するＩ／Ｏコマンド信号Ｉ／ＯＣＯＭ等が含まれる。
【００２１】
また、ＰＭＥＭ６０には図２のセクタリードを実行して主メモリ１２に展開するためのプログラムが予め記憶されており、該プログラムを順に実行することで、メモリカード２２から読み出したデータを主メモリ１２の所定アドレスに展開する。
【００２２】
なお、上記実施の形態では、メモリカード２２に対するメモリカード制御部１３を介した幾分高度な制御機能を効率よく実現すべく、ローダユニット３０をプロセッサ構成のハードウェア回路で実現したが、これに限らない。他にも、より通常のハードワエア構成に近いシーケンサロジックによりローダユニット３０を構成できる。一例のシーケンサロジックは、一連のコマンドを記憶したメモリと、該メモリのアクセスアドレスを生成するカウンタと、該カウンタのカウント値を、前記メモリの一部の読み出し出力と、外部の所定の条件とに基づき＋１（又は−１）制御するシーケンサ回路部（ゲート回路部）と、前記メモリの読み出し出力をメモリカード制御部１３等に加えるロジック回路部等により構成できる。
【００２３】
また、上記本発明に好適なる実施の形態を述べたが、本発明思想を逸脱しない範囲内で各部の構成、制御、処理及びこれらの組合せの様々な変更が行えることは言うまでも無い。
【図面の簡単な説明】
【００２４】
【図１】実施の形態によるプロセッサユニットのブロック図である。
【図２】メモリカードアクセス方法のフローチャートである。
【図３】実施の形態によるローダユニットのブロック図である。
【符号の説明】
【００２５】
１０  プロセッサユニット
１１  ＣＰＵ
１２  主メモリ（ＭＭ）
１３  メモリカード制御部
１４  共通バス
２１  コネクタ
２２  メモリカード
３０  ローダユニット
【図１】
2007316871.tif 000003
【図２】
2007316871.tif 000004
【図３】
2007316871.tif 000005