(57)【要約】【課題】  システムの起動時間を短縮する。【解決手段】  外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御する際に、外部の不揮発性のメモリデバイスと揮発性のメモリデバイスとをそれぞれ同時に独立して制御し、システム起動時に同一のアドレスバスとデータバスを介して不揮発性のメモリデバイスからデータを読み出すと同時にそのデータを揮発性のメモリデバイスに書き込むように制御する。【選択図】      図４
2006146817.tif 000002
【特許請求の範囲】
【請求項１】
外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御するメモリ制御システムであって、
不揮発性のメモリデバイスと揮発性のメモリデバイスとを接続する接続手段と、
前記不揮発性のメモリデバイスと揮発性のメモリデバイスとをそれぞれ同時に独立して制御するメモリ制御手段とを有し、
前記メモリ制御手段は、システム起動時に前記接続手段を介して前記不揮発性のメモリデバイスからデータを読み出すと同時に前記接続手段を介して当該データを前記揮発性のメモリデバイスに書き込むように制御することを特徴とするメモリ制御システム。
【請求項２】
前記揮発性のメモリデバイスはシンクロナスＤＲＡＭであり、
前記メモリ制御手段は、該シンクロナスＤＲＡＭに対して所定の制御コマンドが必要な場合に、該シンクロナスＤＲＡＭに対してのみ制御コマンドを発行することを特徴とする請求項１記載のメモリ制御システム。
【請求項３】
前記揮発性のメモリデバイスはシンクロナスＤＲＡＭであり、
前記メモリ制御手段は、前記不揮発性のメモリデバイスと揮発性のメモリデバイスとに対して同一のオフセットアドレスによりメモリ領域を順次アクセスすることを特徴とする請求項１記載のメモリ制御システム。
【請求項４】
前記メモリ制御手段は、前記不揮発性のメモリデバイスから前記揮発性のメモリデバイスへ書き込むデータのサイズ及びメモリデバイスの構成に関する情報を記憶する記憶手段を含み、前記記憶手段に記憶した当該情報に基づいてデータのアクセスを制御することを特徴とする請求項１記載のメモリ制御システム。
【請求項５】
前記不揮発性のメモリデバイスから前記揮発性のメモリデバイスへ書き込むデータのサイズ及びメモリデバイスの構成に関する情報は、外部より入力されることを特徴とする請求項１記載のメモリ制御システム。
【請求項６】
前記メモリ制御手段は、前記不揮発性のメモリデバイスから前記揮発性のメモリデバイスへ所望のデータを全て書き込んだ後に、前記不揮発性のメモリデバイスへのアクセスを禁止することを特徴とする請求項１記載のメモリ制御システム。
【請求項７】
前記メモリ制御手段は、前記不揮発性のメモリデバイスから前記揮発性のメモリデバイスへ所望のデータを全て書き込んだ後に、前記揮発性のメモリデバイスへのアクセスは読み出しのみ可能とすることを特徴とする請求項１記載のメモリ制御システム。
【請求項８】
前記メモリ制御手段は、前記不揮発性のメモリデバイスから前記揮発性のメモリデバイスへデータを書き込んだメモリ領域を記憶しておき、再度同一のメモリ領域に対する読み出し要求があった場合に、前記揮発性のメモリデバイスに対してのみ読み出しを行うことを特徴とする請求項１記載のメモリ制御システム。
【請求項９】
前記メモリ制御手段は、前記不揮発性のメモリデバイスからデータを読み出す際に、該読み出しデータを含む既定長の周辺アドレスのデータに対しても前記不揮発性メモリデバイスから読み出して前記揮発性メモリデバイスへ書き込むことを特徴とする請求項８記載のメモリ制御システム。
【請求項１０】
キャッシュメモリを有し、前記キャッシュメモリのデータがミスヒットした際に、前記キャッシュメモリから読み出す１ライン分のデータと前記不揮発性のメモリデバイスから読み出して前記揮発性のメモリデバイスへ書き込む既定長のデータが一致することを特徴とする請求項９記載のメモリ制御システム。
【請求項１１】
外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御するメモリ制御装置であって、
不揮発性のメモリデバイスと揮発性のメモリデバイスとを接続する接続手段と、
前記不揮発性のメモリデバイスと揮発性のメモリデバイスとをそれぞれ同時に独立して制御するメモリ制御手段とを有し、
前記メモリ制御手段は、システム起動時に前記接続手段を介して前記不揮発性のメモリデバイスからデータを読み出すと同時に前記接続手段を介して当該データを前記揮発性のメモリデバイスに書き込むように制御することを特徴とするメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御する技術に関する。
【背景技術】
【０００２】
図１に示すように、一般的なメモリ制御システムを構成するＬＳＩ１００は、主としてシステムバス１５０に接続されたＣＰＵ１１０、ＲＯＭコントローラ（ＲＯＭＣ）１２０、ＤＲＡＭコントローラ（ＤＲＡＭＣ）１３０、ＤＭＡコントローラ（ＤＭＡＣ）１４０から構成されている。また、ＲＯＭＣ１２０とＤＲＡＭＣ１３０は、独立した外部端子を経由してＲＯＭデバイス等の不揮発性メモリ２００とＤＲＡＭデバイス等の揮発性メモリ３００にそれぞれ接続されている（例えば、特許文献１参照）。
【０００３】
尚、ＲＯＭ２００へのアクセスは、制御信号としてのアドレスバス１２１、データバス１２２、ＲＯＭデバイス制御信号１２３によって行われ、ＤＲＡＭ３００へのアクセスは、制御信号としてのアドレスバス１３１、データバス１３２、ＤＲＡＭデバイス制御信号１３３によって行われる。
【０００４】
上述の構成において、命令フェッチ時には、ＣＰＵ１１０の命令コードを格納しているＲＯＭ２００から連続して命令コードの読み出しが行われ、またデータ処理時にはＣＰＵ１１０が命令コードを実行する際に作業用領域として使用されるＤＲＡＭ３００に対して読み出し或いは書き込み（リード／ライト）が実施される。
【０００５】
また、デバイスの特性として、ＤＲＡＭ３００のアクセス速度はＲＯＭ２００に対して非常に高速である反面、揮発性メモリであるため、初期状態として命令コードを保持しておくことができない。
【０００６】
更に、ＲＯＭ２００やＤＲＡＭ３００等の外部メモリに対するアクセスのレイテンシーはシステムの処理速度に大きく依存するため、低速なＲＯＭ２００よりも高速なＤＲＡＭ３００の方が多く使用される。そして、高速処理を実施するために、常にアクセス速度の速いＤＲＡＭ３００から命令フェッチを行えるように、システム起動時に、ＲＯＭ２００からＤＲＡＭ３００へ命令コードを一旦複製する必要があった。
【０００７】
図２は、システム起動時にＲＯＭ２００からＤＲＡＭ３００へ命令コードが複製された際のメモリマップを示す図である。また図３は、ＲＯＭ２００からＤＲＡＭ３００へ命令コードを複製する際のタイミングチャートを示す図である。
【０００８】
まず、初期リセットでＲＯＭ２００の初期化コードがＣＰＵ１１０によって実行され、その後、ＤＭＡＣ１４０によってＲＯＭ２００内の命令コード（１Ｍ）がＤＲＡＭ３００の所定の領域にＤＭＡ転送され、命令コードの複製が行われる。
【特許文献１】特開2002-197863号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述のように、従来の技術では、システム起動時にＲＯＭ２００からＤＲＡＭ３００へ命令コードを複製する際に、システム内のＣＰＵ１１０又はＤＭＡコントローラ１４０が内部のシステムバス１５０を経由して一旦ＲＯＭ２００から命令コードを読み出した後、ＤＲＡＭ３００へ書き込む必要があった。
【００１０】
このため、複製に要する時間がそのままシステムの起動時間に影響し、システムの起動時間に多大の時間を必要としていた。
【００１１】
本発明は、上記課題を解決するためになされたもので、システムの起動時間を短縮することを目的とする。
【００１２】
また、外部端子を共有することでシステムの外部端子を削減することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御するメモリ制御システムであって、不揮発性のメモリデバイスと揮発性のメモリデバイスとを接続する接続手段と、前記不揮発性のメモリデバイスと揮発性のメモリデバイスとをそれぞれ同時に独立して制御するメモリ制御手段とを有し、前記メモリ制御手段は、システム起動時に前記接続手段を介して前記不揮発性のメモリデバイスからデータを読み出すと同時に前記接続手段を介して当該データを前記揮発性のメモリデバイスに書き込むように制御することを特徴とする。
【００１４】
また、本発明は、外部に接続された不揮発性のメモリデバイスと揮発性のメモリデバイスへのアクセスを制御するメモリ制御装置であって、不揮発性のメモリデバイスと揮発性のメモリデバイスとを接続する接続手段と、前記不揮発性のメモリデバイスと揮発性のメモリデバイスとをそれぞれ同時に独立して制御するメモリ制御手段とを有し、前記メモリ制御手段は、システム起動時に前記接続手段を介して前記不揮発性のメモリデバイスからデータを読み出すと同時に前記接続手段を介して当該データを前記揮発性のメモリデバイスに書き込むように制御することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、システムの起動時間を短縮することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【実施例１】
【００１７】
図４は、実施例１によるメモリ制御システムの構成の一例を示す図である。図４に示すように、ＬＳＩ１００は、主としてシステムバス１５０に接続されたＣＰＵ１１０、外部ＲＯＭデバイス２００及び外部ＤＲＡＭデバイス３００をそれぞれ制御するメモリコントローラ（ＭＥＭＣ）１６０から構成されている。このＭＥＭＣ１６０は共通の外部端子を経由した同一のアドレスバス１６１により外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス３００と接続されている。また同様に、ＭＥＭＣ１６０は共通の外部端子を経由した同一のデータバス１６２により外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス３００と接続されている。
【００１８】
更に、ＭＥＭＣ１６０は独立した外部端子を経由して外部ＲＯＭデバイス２００を制御するＲＯＭデバイス制御信号１６３を有する。また同様に、外部ＤＲＡＭデバイス３００を制御するＤＲＡＭデバイス制御信号１６４を有する。これらの制御信号１６３，１６４は、一般的なＲＯＭデバイス及びＤＲＡＭデバイスを制御するために必要な最低限の信号を有しており、ＣＰＵ１１０からのメモリアクセスに応じてそれぞれ独立して外部ＲＯＭデバイス２００或いは外部ＤＲＡＭデバイス３００を制御することが可能である。
【００１９】
図５は、ＬＳＩ１００と外部ＲＯＭデバイス２００及び外部ＤＲＡＭデバイス３００との具体的な接続形態を示す図である。ここで、外部ＲＯＭデバイス２００は１６ＭビットのページＲＯＭ（１Ｍワード×１６ビット）であり、２０ビット幅で構成されるアドレスバス１６１がそのまま２０ビットの物理アドレスとして供給される。一方、外部ＤＲＡＭデバイス３００は６４ＭビットＤＲＡＭ（４Ｍワード×１６ビット）であり、カラムアドレス１２ビット、ロウアドレス１０ビットで構成されており、アドレスバス１６１の下位１２ビットのみが物理アドレスとして供給される。またデータバス１６２は１６ビット幅で構成されており、外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス３００に共に接続されている。
【００２０】
ＲＯＭデバイス制御信号１６３はＣＳ＃、ＲＤ＃信号からなり独立して外部ＲＯＭデバイス２００と接続されている。また同様に、ＤＲＡＭデバイス制御信号１６４はＲＡＳ＃，ＬＣＡＳ＃、ＵＣＡＳ＃、ＷＥ＃、ＯＥ＃信号からなり独立して外部ＤＲＡＭデバイス３００と接続されている。
【００２１】
尚、当然の事ながら、実施例１の接続形態は、アドレスバス幅やデータバス幅など外部ＲＯＭデバイス２００及び外部ＤＲＡＭデバイス３００の構成を含めて、この接続に限定されるものではない。
【００２２】
図６は、実施例１によるメモリマップの一例を示す図である。図６に示すように、外部ＲＯＭデバイス２００はメモリマップの０ｘＦ０００＿００００番地から０ｘＦＦＦＦ＿ＦＦＦＦ番地にマッピングされており、また外部ＤＲＡＭデバイス３００はメモリマップの０ｘ００００＿００００番地から０ｘ３ＦＦＦ＿ＦＦＦＦ番地にマッピングされている。
【００２３】
ここで説明を容易にするために、実施例１の外部ＲＯＭデバイス２００は、システムを初期化する初期化コードが０ｘＦ０００＿００００番地から０ｘＦ０００＿ＦＦＦＦ番地までの６４ＫＢに、実際にシステムを制御する命令コードが０ｘＦ００１＿００００番地から０ｘＦ０１０＿ＦＦＦＦ番地までの１ＭＢにそれぞれ書き込まれているものとする。更に、外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ複製する命令コードは前述した実際にシステムを制御する命令コードの１ＭＢだけであり、この命令コードは絶対アドレスに非依存なメモリアロケータブルな内容で記述されているものとする。
【００２４】
次に、実施例１による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＤＲＡＭ３００へ複製する動作について説明する。
【００２５】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、ＣＰＵ１１０のリセットベクタは外部ＲＯＭデバイス２００の先頭アドレス０ｘＦ０００＿００００番地を指し示しており、命令コードも予めリセットベクタが指し示すアドレスから順番に外部ＲＯＭデバイス２００に書き込まれているものとする。
【００２６】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＲＯＭデバイス２００にアクセスし、メモリマップの０ｘＦ０００＿００００番地からシステムを初期化するための初期化コードを順次フェッチする。この初期化コードのフェッチ後、ＣＰＵ１１０はその初期化コードの内容に従ってシステムの初期化を実施する。ここで、外部ＤＲＡＭデバイス３００に対しても外部ＲＯＭデバイス２００にアクセスするためのアドレスと、外部ＲＯＭデバイス２００から読み出されたデータが同時にドライブされるが、ＤＲＡＭデバイス制御信号１６４によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【００２７】
システムの初期化が完了すると、ＣＰＵ１１０は、ＭＥＭＣ１６０に対して外部ＲＯＭデバイス２００に書き込まれている命令コードを外部ＤＲＡＭデバイス３００へ複製するように要求する。この時点では、ＣＰＵ１１０の動作は全て外部ＲＯＭデバイス２００からフェッチした命令コードの内容に従って実施されている。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【００２８】
まず、ＣＰＵ１１０は外部ＲＯＭデバイス２００に書き込まれている命令コードの最初のアドレス０ｘＦ００１＿００００番地を転送元アドレス、外部ＤＲＡＭデバイス３００へ書き込むための最初のアドレス０ｘ００００＿００００番地を転送先アドレス、複製する命令コードの総バイト数（１ＭＢ）を転送長としてＭＥＭＣ１６０に設定する。
【００２９】
但し、命令コードの複製は外部ＤＲＡＭデバイス３００のカラムアドレスと外部ＲＯＭデバイス２００のアドレスのカラムアドレスに相当する下位１２ビットが等しくなる必要があるため、予め転送アドレスの下位１２ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位１２ビットのみが有効になるものとする。
【００３０】
これらの設定値は、予め命令コードと一緒に外部ＲＯＭデバイス２００に書き込まれており、ＣＰＵ１１０が外部ＲＯＭデバイス２００から読み出すことによりＭＥＭＣ１６０に設定することが可能である。
【００３１】
上述した各設定が完了すると、ＣＰＵ１１０がＭＥＭＣ１６０に対して開始を指示することで、ＣＰＵ１１０とは独立して外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ命令コードを複製することが可能となる。
【００３２】
ここで、図７を用いて外部ＲＯＭデバイス２００のアドレス０ｘＦ００１＿１２３４番地の命令コードを外部ＤＲＡＭデバイス３００のアドレス０ｘ００００＿１２３４番地へ複製する動作について説明する。
【００３３】
図７は、実施例１による命令コードを複製する際のタイミングチャートを示す図である。まず、ＭＥＭＣ１６０は時刻Ｔ２で外部ＤＲＡＭデバイス３００に対するロウアドレス０ｘ００１をアドレスバス１６１にドライブし、時刻Ｔ３でＲＡＳ＃をアサートすることによりこのロウアドレスを有効にする。この時、アドレスバス１６１の下位１０ビットのみが有効である。その後、時刻Ｔ４から外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス３００に対して同一のアドレス０ｘ１１２３４をアドレスバス１６１上にドライブする。
【００３４】
図５に示す通り、外部ＲＯＭデバイス２００に対してはアドレスバス１６１の２０ビット全てが有効となるが、外部ＤＲＡＭデバイス３００に対してはカラムアドレスに相当する下位１２ビットのみが有効となる。従って、この場合の外部ＤＲＡＭデバイス３００に対するカラムアドレスは０ｘ２３４である。
【００３５】
次に、時刻Ｔ６でＣＳ＃とＲＤ＃をアサートすることにより外部ＲＯＭデバイス２００に対してアドレス０ｘ１１２３４からの読み出し要求を行う。規定時間後、外部ＲＯＭデバイス２００はデータバス１６２上にリードデータをドライブする。このとき、ＭＥＭＣ１６０は同時に時刻Ｔ８で外部ＤＲＡＭデバイス３００に対してもＵＣＡＳ＃、ＬＣＡＳ＃、ＷＥ＃をアサートすることによりアドレス０ｘ０１２３４への書き込み要求を行う。これにより、データバス１６２上にドライブされた命令コードは、直接外部ＤＲＡＭデバイス３００に書き込まれる。以降、転送元アドレスと転送先アドレスをインクリメントして同様に命令コードの読み出しと書き込みを繰り返す。
【００３６】
ＤＭＡ転送が完了すると、ＭＥＭＣ１６０はＣＰＵ１１０に対してＤＭＡ転送の完了を通知する。このＤＭＡ転送の完了通知を受けると、ＣＰＵ１１０は外部ＤＲＡＭデバイス３００へ複製した命令コードの最初のアドレス０ｘ００００＿００００番地に分岐する。これにより、ＣＰＵ１１０は順次外部ＤＲＡＭデバイス３００からの命令コードをフェッチする。これ以降、ＣＰＵ１１０は外部ＤＲＡＭデバイス３００に対してのみ命令コードをフェッチすることで、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【００３７】
以上説明したように、実施例１によれば、外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ命令コードを複製する際に、アドレスバス１６１とデータバス１６２を共有することで、内部システムバス１５０を経由することなく、外部データバス１６２上でデータを直接複製することが可能となる。従って、複製に要する時間を大幅に短縮することが可能である。
【００３８】
また、内部システムバス１５０を使用しないため、ＣＰＵ１１０は内部システムバス１５０を経由した別のオンチップのスレーブにアクセスすることが可能であり、命令コードの複製と並列して各コントローラの初期化を実行することも可能である。
【００３９】
ここで、ＭＥＭＣ１６０は外部ＲＯＭデバイス２００及び外部ＤＲＡＭデバイス３００に独立してアクセス可能であるため、命令コードの複製の際にＣＰＵ１１０が外部ＲＯＭデバイス２００や外部ＤＲＡＭデバイス３００のそれぞれに対してアクセス可能であることは言うまでもない。
【００４０】
更に、アドレスバス１６１とデータバス１６２を共有することで、ＬＳＩの外部端子を大幅に削減することが可能である。
【実施例２】
【００４１】
次に、図面を参照しながら本発明に係る実施例２について詳細に説明する。実施例１では、外部ＤＲＡＭデバイス３００を例に説明したが、実施例２ではシンクロナスＤＲＡＭ（ＳＤＲＡＭ）が接続されている場合について説明する。
【００４２】
図８は、実施例２によるメモリ制御システムの構成の一例を示す図である。図８に示すように、ＬＳＩ１００は、主としてシステムバス１５０に接続されたＣＰＵ１１０、外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００をそれぞれ制御するメモリコントローラ（ＭＥＭＣ）１６０から構成されている。このＭＥＭＣ１６０は共通の外部端子を経由した同一のアドレスバス１６１により外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００と接続されている。また同様に、ＭＥＭＣ１６０は共通の外部端子を経由した同一のデータバス１６２により外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００と接続されている。
【００４３】
更に、ＭＥＭＣ１６０は独立した外部端子を経由して外部ＲＯＭデバイス２００を制御するＲＯＭデバイス制御信号１６３を有する。また同様に、外部ＳＤＲＡＭデバイス４００を制御するＳＤＲＡＭデバイス制御信号１６５を有する。これらの制御信号１６３，１６５は一般的なＲＯＭデバイス及びＳＤＲＡＭデバイスを制御するために必要な最低限の信号を有しており、ＣＰＵ１１０からのメモリアクセスに応じてそれぞれ独立して外部ＲＯＭデバイス２００或いは外部ＳＤＲＡＭデバイス４００を制御することが可能である。
【００４４】
図９は、ＬＳＩ１００と外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００との具体的な接続形態を示す図である。ここで、外部ＲＯＭデバイス２００は１６ＭビットのページＲＯＭ（１Ｍワード×１６ビット）であり、２０ビット幅で構成されるアドレスバス１６１がそのまま２０ビットの物理アドレスとして供給される。一方、外部ＳＤＲＡＭデバイス４００は６４ＭビットＳＤＲＡＭ（４Ｍワード×１６ビット）であり、カラムアドレス１２ビット、ロウアドレス１０ビットで構成されており、アドレスバス１６１の下位１２ビットのみが物理アドレスとして供給される。またデータバス１６２は１６ビット幅で構成されており、外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００に共に接続されている。
【００４５】
ＲＯＭデバイス制御信号１６３はＣＳ＃、ＲＤ＃信号からなり独立して外部ＲＯＭデバイス２００と接続されている。また同様に、ＳＤＲＡＭデバイス制御信号１６５はＣＬＫ、ＣＫＥ、ＳＤＣＳ＃、ＲＡＳ＃，ＣＡＳ＃、ＬＤＱＭ、ＵＤＱＭ、ＷＥ＃信号からなり独立して外部ＳＤＲＡＭデバイス４００と接続されている。
【００４６】
尚、当然の事ながら、実施例２の接続形態は、アドレスバス幅やデータバス幅など外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００の構成を含め、この接続に限定されるものではない。
【００４７】
また、実施例２によるメモリマップは実施例１で用いた図６と同様であり、その説明は省略する。
【００４８】
次に、実施例２による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＳＤＲＡＭ４００へ複製する動作について説明する。
【００４９】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、ＣＰＵ１１０のリセットベクタは外部ＲＯＭデバイス２００の先頭アドレス０ｘＦ０００＿００００番地を指し示しており、命令コードも予めリセットベクタが指し示すアドレスから順番に外部ＲＯＭデバイス２００に書き込まれているものとする。
【００５０】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＲＯＭデバイス２００にアクセスし、メモリマップの０ｘＦ０００＿００００番地からシステムを初期化するための初期化コードを順次フェッチする。この初期化コードのフェッチ後、ＣＰＵ１１０はその初期化コードの内容に従ってシステムの初期化を実施する。ここで、外部ＳＤＲＡＭデバイス４００に対しても外部ＲＯＭデバイス２００にアクセスするためのアドレスと、外部ＲＯＭデバイス２００から読み出されたデータが同時にドライブされるが、ＳＤＲＡＭデバイス制御信号１６５によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【００５１】
システムの初期化が完了すると、ＣＰＵ１１０は、ＭＥＭＣ１６０に対して外部ＲＯＭデバイス２００に書き込まれている命令コードを外部ＳＤＲＡＭデバイス４００へ複製するように要求する。この時点では、ＣＰＵ１１０の動作は全て外部ＲＯＭデバイス２００からフェッチした命令コードの内容に従って実施されている。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【００５２】
まず、ＣＰＵ１１０は外部ＲＯＭデバイス２００に書き込まれている命令コードの最初のアドレス０ｘＦ００１＿００００番地を転送元アドレス、外部ＳＤＲＡＭデバイス４００へ書き込むための最初のアドレス０ｘ００００＿００００番地を転送先アドレス、複製する命令コードの総バイト数（１ＭＢ）を転送長としてＭＥＭＣ１６０に設定する。
【００５３】
但し、命令コードの複製は外部ＳＤＲＡＭデバイス４００のカラムアドレスと外部ＲＯＭデバイス２００のアドレスのカラムアドレスに相当する下位１２ビットが等しくなる必要があるため、予め転送アドレスの下位１２ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位１２ビットのみが有効になるものとする。
【００５４】
これらの設定値は、予め命令コードと一緒に外部ＲＯＭデバイス２００に書き込まれており、ＣＰＵ１１０が外部ＲＯＭデバイス２００から読み出すことによりＭＥＭＣ１６０に設定することが可能である。
【００５５】
上述した各設定が完了すると、ＣＰＵ１１０がＭＥＭＣ１６０に対して開始を指示することで、ＣＰＵ１１０とは独立して外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製することが可能となる。
【００５６】
ここで、図１０を用いて外部ＲＯＭデバイス２００のアドレス０ｘＦ００１＿１２３４番地の命令コードを外部ＳＤＲＡＭデバイス４００のアドレス０ｘ００００＿１２３４番地へ複製する動作について説明する。
【００５７】
図１０は、実施例２による命令コードを複製する際のタイミングチャートを示す図である。まず、ＭＥＭＣ１６０は時刻Ｔ２でＲＡＳ＃、ＣＡＳ＃、ＷＥ＃により外部ＳＤＲＡＭデバイス４００に対するアクティブコマンドを発行する。この時、アドレスバス１６１の下位１０ビットのみが有効であるため、ロウアドレスは０ｘ００１である。その後、ＭＥＭＣ１６０は時刻Ｔ４から外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００に対して同一のアドレス０ｘ１１２３４をアドレスバス１６１上にドライブする。
【００５８】
図９に示す通り、外部ＲＯＭデバイス２００に対してはアドレスバス１６１の２０ビット全てが有効となるが、外部ＳＤＲＡＭデバイス４００に対してはカラムアドレスに相当する下位１２ビットのみが有効となる。従って、この場合の外部ＳＤＲＡＭデバイス４００に対するカラムアドレスは０ｘ２３４である。
【００５９】
次に、時刻Ｔ６からＣＳ＃とＲＤ＃をアサートすることにより外部ＲＯＭデバイス２００に対してアドレス０ｘ１１２３４からの読み出し要求を行う。規定時間後、外部ＲＯＭデバイス２００はデータバス１６２上にリードデータをドライブする。この時、ＭＥＭＣ１６０は同時に時刻Ｔ９で外部ＳＤＲＡＭデバイス４００に対してもＲＡＳ＃、ＣＡＳ＃、ＷＥ＃によりライトコマンドを発行することによりアドレス０ｘ０１２３４への書き込み要求を行う。これにより、データバス１６２上にドライブされた命令コードは、直接外部ＳＤＲＡＭデバイス４００に書き込まれる。以降、転送元アドレスと転送先アドレスをインクリメントして同様に命令コードの読み出しと書き込みを繰り返す。
【００６０】
また、実施例２では、連続したメモリ領域に対して順次命令コードを複製しているため、次回からはページミスするまでアクティブコマンドを発行する必要がなく、ライトコマンドのみで良い。
【００６１】
更に、ＳＤＲＡＭデバイス制御信号１６５のみを有効にすることで外部ＳＤＲＡＭデバイス４００に対して必要となるプリチャージコマンドやリフレッシュコマンドを発行することが可能である。その際、外部ＲＯＭデバイス２００に対しても外部ＳＤＲＡＭデバイス４００にアクセスするためのアドレスが同時にドライブされるが、ＲＯＭデバイス制御信号１６３によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【００６２】
ＤＭＡ転送が完了すると、ＭＥＭＣ１６０はＣＰＵ１１０に対してＤＭＡ転送の完了を通知する。このＤＭＡ転送の完了通知を受けると、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００へ複製した命令コードの最初のアドレス０ｘ００００＿００００番地に分岐する。これにより、ＣＰＵ１１０は順次外部ＳＤＲＡＭデバイス４００からの命令コードをフェッチする。これ以降、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００に対してのみ命令コードをフェッチし、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【００６３】
また、実施例２は、ダブルデータレート（ＤＤＲ）のＳＤＲＡＭに対しても同様に適用できることは言うまでもない。
【００６４】
以上説明したように、実施例２によれば、外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製する際に、アドレスバス１６１とデータバス１６２を共有することで、内部システムバス１５０を経由することなく、外部データバス１６２上でデータを直接複製することが可能となる。従って、複製に要する時間を大幅に短縮することが可能である。
【００６５】
また、内部システムバス１５０を使用しないため、ＣＰＵ１１０は内部システムバス１５０を経由した別のオンチップのスレーブにアクセスすることが可能であり、命令コードの複製と並列して各コントローラの初期化を実行することも可能である。
【００６６】
ここで、ＭＥＭＣ１６０は外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００に独立してアクセス可能であるため、命令コードの複製の際にＣＰＵ１１０が外部ＲＯＭデバイス２００や外部ＳＤＲＡＭデバイス４００のそれぞれに対してアクセス可能であることは言うまでもない。
【００６７】
更に、アドレスバス１６１とデータバス１６２を共有することで、ＬＳＩの外部端子を大幅に削減することも可能である。
【実施例３】
【００６８】
次に、図面を参照しながら本発明に係る実施例３について詳細に説明する。尚、実施例３の主な構成及び具体的な接続形態は実施例２と同様であり、その説明は省略する。
【００６９】
図１１は、実施例３によるメモリマップの一例を示す図である。図１１に示すように、外部ＲＯＭデバイス２００はメモリマップの０ｘＦ０００＿００００番地から０ｘＦＦＦＦ＿ＦＦＦＦ番地にマッピングされており、また外部ＳＤＲＡＭデバイス４００はメモリマップの０ｘ００００＿００００番地から０ｘ３ＦＦＦ＿ＦＦＦＦ番地にマッピングされている。
【００７０】
ここで説明を容易にするために、実施例３の外部ＲＯＭデバイス２００は、システムを初期化する初期化コードが０ｘＦ０００＿００００番地から０ｘＦ０００＿ＦＦＦＦ番地までの６４ＫＢに、実際にシステムを制御する命令コードが０ｘＦ００１＿００００番地から０ｘＦ０１０＿ＦＦＦＦ番地までの１ＭＢにそれぞれ書き込まれているものとする。更に、外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ複製する命令コードは前述した実際にシステムを制御する命令コードの１ＭＢだけであり、この命令コードは絶対アドレスに非依存なメモリアロケータブルな内容で記述されているものとする。
【００７１】
尚、実施例３では、複製元の外部ＲＯＭデバイス２００のアドレスと複製先の外部ＳＤＲＡＭデバイス４００のアドレスのオフセット値が同一であり、実際にそれぞれアクセスする物理アドレスの値が等しくなっている点が重要である。
【００７２】
次に、実施例３による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＳＤＲＡＭ４００へ複製する動作について説明する。
【００７３】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。その際に、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、ＣＰＵ１１０のリセットベクタは外部ＲＯＭデバイス２００の先頭アドレス０ｘＦ０００＿００００番地を指し示しており、命令コードも予めリセットベクタが指し示すアドレスから順番に外部ＲＯＭデバイス２００に書き込まれているものとする。
【００７４】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＲＯＭデバイス２００にアクセスし、メモリマップの０ｘＦ０００＿００００番地からシステムを初期化するための初期化コードを順次フェッチする。この初期化コードのフェッチ後、ＣＰＵ１１０はその初期化コードの内容に従ってシステムの初期化を実施する。ここで、外部ＳＤＲＡＭデバイス４００に対しても外部ＲＯＭデバイス２００にアクセスするためのアドレスと、外部ＲＯＭデバイス２００から読み出されたデータが同時にドライブされるが、ＳＤＲＡＭデバイス制御信号１６５によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【００７５】
システムの初期化が完了すると、ＣＰＵ１１０は、ＭＥＭＣ１６０に対して外部ＲＯＭデバイス２００に書き込まれている命令コードを外部ＳＤＲＡＭデバイス４００へ複製するように要求する。この時点では、ＣＰＵ１１０の動作は全て外部ＲＯＭデバイス２００からフェッチした命令コードの内容に従って実施されている。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【００７６】
まず、ＣＰＵ１１０は命令コードを複製するための外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００のアドレスのオフセット値を設定する。上述した通り、実施例３では外部ＲＯＭデバイス２００のアドレスと外部ＳＤＲＡＭデバイス４００のアドレスのオフセット値は等しいため、例えば本設定におけるアドレスのオフセット値は０ｘ１００００となる。次に、ＣＰＵ１１０は複製する命令コードの総バイト数（１ＭＢ）を転送長としてＭＥＭＣ１６０に設定する。
【００７７】
これらの設定値は、予め命令コードと一緒に外部ＲＯＭデバイス２００に書き込まれており、ＣＰＵ１１０が外部ＲＯＭデバイス２００から読み出すことによりＭＥＭＣ１６０に設定することが可能である。
【００７８】
上述した各設定が完了すると、ＣＰＵ１１０がＭＥＭＣ１６０に対して開始を指示することで、ＣＰＵ１１０とは独立して外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製することが可能となる。
【００７９】
ここで、図１２を用いて外部ＲＯＭデバイス２００のアドレス０ｘＦ００１＿１２３４番地の命令コードを外部ＳＤＲＡＭデバイス４００のアドレス０ｘ０００１＿１２３４番地へ複製する動作について説明する。
【００８０】
図１２は、実施例３による命令コードを複製する際のタイミングチャートを示す図である。まず、ＭＥＭＣ１６０は時刻Ｔ２でＲＡＳ＃、ＣＡＳ＃、ＷＥ＃により外部ＳＤＲＡＭデバイス４００に対するアクティブコマンドを発行する。この時、アドレスバス１６１の下位１０ビットのみが有効であるため、ロウアドレスは０ｘ０１１である。その後、ＭＥＭＣ１６０は時刻Ｔ４から外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００に対して同一のアドレス０ｘ１１２３４をアドレスバス１６１上にドライブする。
【００８１】
図９に示す通り、外部ＲＯＭデバイス２００に対してはアドレスバス１６１の２０ビット全てが有効となるが、外部ＳＤＲＡＭデバイス４００に対してはカラムアドレスに相当する下位１２ビットのみが有効となる。従って、この場合の外部ＳＤＲＡＭデバイス４００に対するカラムアドレスは０ｘ２３４である。
【００８２】
次に、時刻Ｔ６からＣＳ＃とＲＤ＃をアサートすることにより外部ＲＯＭデバイス２００に対してアドレス０ｘ１１２３４からの読み出し要求を行う。規定時間後、外部ＲＯＭデバイス２００はデータバス１６２上にリードデータをドライブする。この時、ＭＥＭＣ１６０は同時に時刻Ｔ９で外部ＳＤＲＡＭデバイス４００に対してもＲＡＳ＃、ＣＡＳ＃、ＷＥ＃によりライトコマンドを発行することによりアドレス０ｘ１１２３４への書き込み要求を行う。これにより、データバス１６２上にドライブされた命令コードは、直接外部ＳＤＲＡＭデバイス４００に書き込まれる。以降、転送元アドレスと転送先アドレスをインクリメントして同様に命令コードの読み出しと書き込みを繰り返す。
【００８３】
また、実施例３では、連続したメモリ領域に対して順次命令コードを複製しているため、次回からはページミスするまでアクティブコマンドを発行する必要がなく、ライトコマンドのみで良い。
【００８４】
更に、ＳＤＲＡＭデバイス制御信号１６５のみを有効にすることで外部ＳＤＲＡＭデバイス４００に対して必要となるプリチャージコマンドやリフレッシュコマンドを発行することが可能である。その際、外部ＲＯＭデバイス２００に対しても外部ＳＤＲＡＭデバイス４００にアクセスするためのアドレスが同時にドライブされるが、ＲＯＭデバイス制御信号１６３によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【００８５】
ＤＭＡ転送が完了すると、ＭＥＭＣ１６０はＣＰＵ１１０に対してＤＭＡ転送の完了を通知する。このＤＭＡ転送の完了通知を受けると、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００へ複製した命令コードの最初のアドレス０ｘ０００１＿００００番地に分岐する。これにより、ＣＰＵ１１０は順次外部ＳＤＲＡＭデバイス４００からの命令コードをフェッチする。これ以降、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００に対してのみ命令コードをフェッチし、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【００８６】
図１３は、外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００とのアドレスのオフセットが異なる場合のアドレス生成の概念図である。アドレスのオフセットが異なる場合は、外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス４００へアクセスするための開始アドレスを双方に対して持つ必要がある。
【００８７】
また、実施例３では、命令コードの複製は外部ＳＤＲＡＭデバイス４００のカラムアドレスと外部ＲＯＭデバイス２００のアドレスのカラムアドレスに相当する下位１２ビットが等しくなる必要があるため、予め転送アドレスの下位１２ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位１２ビットのみが有効になる必要がある。
【００８８】
図１３は、外部ＲＯＭデバイス２００に対する転送元のアドレスの下位１２ビットが有効になる場合を示しており、更にそれぞれの上位ビットも異なるため外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス４００のそれぞれに対してアクセス用アドレスを計算する必要がある。
【００８９】
一方、図１４は、ＭＥＭＣ１６０内のアドレス生成の概念図である。図１４から明らかなように、実施例３によれば、外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００とのアドレスのオフセットが等しいため、ＭＥＭＣ１６０はアドレスのオフセット値と現在の転送長により外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００の物理アドレスを生成することが可能となる。
【００９０】
また、外部ＳＤＲＡＭデバイス４００のカラムアドレスと外部ＲＯＭデバイス２００の上位ビットが等しくなるため、実際のアドレス生成回路を容易に構成することが可能となる。
【実施例４】
【００９１】
次に、図面を参照しながら本発明に係る実施例４について詳細に説明する。尚、実施例４の主な構成及び具体的な接続形態は実施例２と同様であり、その説明は省略する。
【００９２】
図１５は、実施例４によるメモリマップの一例を示す図である。図１５に示すように、外部ＲＯＭデバイス２００はメモリマップの０ｘＦ０００＿００００番地から０ｘＦＦＦＦ＿ＦＦＦＦ番地にマッピングされており、また外部ＳＤＲＡＭデバイス４００はメモリマップの０ｘ００００＿００００番地から０ｘ３ＦＦＦ＿ＦＦＦＦ番地にマッピングされている。
【００９３】
ここで説明を容易にするために、実施例４の外部ＲＯＭデバイス２００の命令コードは０ｘＦ０００＿００００番地から０ｘＦ００Ｆ＿ＦＦＦＦ番地までの１ＭＢに書き込まれているものとする。更にこの命令コードは絶対アドレスに非依存なメモリアロケータブルな内容で記述されているものとする。
【００９４】
次に、実施例４による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＳＤＲＡＭ４００へ複製する動作について説明する。
【００９５】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、その命令コードは予め外部ＲＯＭデバイス２００に書き込まれており、ＣＰＵ１１０のリセットベクタは外部ＳＤＲＡＭデバイス４００の先頭アドレス０ｘ００００＿００００番地を指し示しているものとする。
【００９６】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＳＤＲＡＭデバイス４００にアクセスする。一方、ＭＥＭＣ１６０はリセットが解除されると、ＣＰＵ１１０とは無関係に外部ＲＯＭデバイス２００に書き込まれた命令コードを外部ＳＤＲＡＭデバイス４００へ複製する。ここで、ＣＰＵ１１０の外部ＳＤＲＡＭへのアクセスは、ＭＥＭＣ１６０による命令コードの複製が完了するまでウエイトされる。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【００９７】
まず、ＭＥＭＣ１６０は予め規定された初期化データ領域から外部ＲＯＭデバイス２００に書き込まれた命令コードの最初のアドレス０ｘＦ０００＿００００番地、外部ＳＤＲＡＭデバイス４００へ書き込むための最初のアドレス０ｘ００００＿００００番地、複製する命令コードの総バイト数（１ＭＢ）を読み出し、それぞれ転送元アドレス、転送先アドレス、転送長として設定する。
【００９８】
但し、命令コードの複製は外部ＳＤＲＡＭデバイス４００のカラムアドレスと外部ＲＯＭデバイス２００のアドレスのカラムアドレスに相当する下位１２ビットが等しくなる必要があるため、予め転送アドレスの下位１２ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位１２ビットのみが有効になるものとする。
【００９９】
次に、ＭＥＭＣ１６０は外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００への命令コードの複製を開始する。ＭＥＭＣ１６０による複製の動作は図１０に示す実施例２と同じである。
【０１００】
ＤＭＡ転送が完了すると、ＭＥＭＣ１６０はウエイトさせていたＣＰＵ１１０の外部ＳＤＲＡＭデバイス４００へのアクセスを許可することで、ＣＰＵ１１０は順次外部ＳＤＲＡＭデバイス４００からの命令コードをフェッチする。これ以降、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００に対してのみ命令コードをフェッチし、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【０１０１】
以上説明したように、実施例４によれば、外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製する際に、ＣＰＵ１１０を使用することなく、外部データバス１６２上でデータを直接複製することが可能となる。従って、複製に要する時間を大幅に短縮することが可能である。
【０１０２】
更に、アドレスバス１６１とデータバス１６２を共有することで、ＬＳＩの外部端子を大幅に削減することも可能である。
【実施例５】
【０１０３】
次に、図面を参照しながら本発明に係る実施例５について詳細に説明する。実施例５では、図８を用いて説明した実施例２のＭＥＭＣ１６０に、命令コードの複製に必要な情報を外部から入力するように構成したものである。
【０１０４】
図１６は、実施例５によるメモリ制御システムの構成の一例を示す図である。ここでは、実施例２で用いた図８に示す構成と相違する構成について説明する。図１６に示すように、実施例５では外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００の構成と命令コード複製の際に必要な情報を外部から得るためのメモリ構成信号１６６がＭＥＭＣ１６０に入力されている。このメモリ構成信号１６６は、一旦システムの構成が決定してメモリの構成が決まると固定値を入力して良い。
【０１０５】
図１７は、実施例５によるメモリマップの一例を示す図である。図１７に示すように、外部ＲＯＭデバイス２００はメモリマップの０ｘＦ０００＿００００番地から０ｘＦＦＦＦ＿ＦＦＦＦ番地にマッピングされており、また外部ＳＤＲＡＭデバイス４００はメモリマップの０ｘ００００＿００００番地から０ｘ３ＦＦＦ＿ＦＦＦＦ番地にマッピングされている。
【０１０６】
ここで説明を容易にするために、外部ＲＯＭデバイス２００の命令コードは０ｘＦ０００＿００００番地から０ｘＦ００Ｆ＿ＦＦＦＦ番地までの１ＭＢに書き込まれているものとする。更に、この命令コードは絶対アドレスに非依存なメモリアロケータブルな内容で記述されているものとする。
【０１０７】
次に、実施例５による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＳＤＲＡＭ４００へ複製する動作について説明する。
【０１０８】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、その命令コードは予め外部ＲＯＭデバイス２００に書き込まれており、ＣＰＵ１１０のリセットベクタは外部ＳＤＲＡＭデバイス４００の先頭アドレス０ｘ００００＿００００番地を指し示しているものとする。
【０１０９】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＳＤＲＡＭデバイス４００にアクセスする。一方、ＭＥＭＣ１６０はリセットが解除されると、ＣＰＵ１１０とは無関係に外部ＲＯＭデバイス２００に書き込まれた命令コードを外部ＳＤＲＡＭデバイス４００へ複製する。ここで、ＣＰＵ１１０の外部ＳＤＲＡＭへのアクセスは、ＭＥＭＣ１６０による命令コードの複製が完了するまでウエイトされる。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【０１１０】
まず、図１８に示すように、４０ビットで構成されそれぞれのビットが予め外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００の構成と命令コード複製の際に必要なデータを規定しているメモリ構成信号１６６がＭＥＭＣ１６０に入力されると、ＭＥＭＣ１６０は、このメモリ構成信号１６６により外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイスの構成を認識して自分自身を初期化する。そして、このメモリ構成信号１６６により外部ＲＯＭデバイス２００に書き込まれた命令コードの最初のアドレス０ｘＦ０００＿００００番地、外部ＳＤＲＡＭデバイス４００へ書き込むための最初のアドレス０ｘ００００＿００００番地、複製する命令コードの総バイト数（１ＭＢ）を認識し、それぞれ転送元アドレス、転送先アドレス、転送長として設定する。
【０１１１】
但し、命令コードの複製は外部ＳＤＲＡＭデバイス４００のカラムアドレスと外部ＲＯＭデバイス２００のアドレスのカラムアドレスに相当する下位１２ビットが等しくなる必要があるため、予め転送アドレスの下位１２ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位１２ビットのみが有効になるものとする。
【０１１２】
次に、ＭＥＭＣ１６０は外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００への命令コードの複製を開始する。ＭＥＭＣ１６０による複製の動作は図１０に示す実施例２と同じである。
【０１１３】
ＤＭＡ転送が完了すると、ＭＥＭＣ１６０はウエイトさせていたＣＰＵ１１０の外部ＳＤＲＡＭデバイス４００へのアクセスを許可することで、ＣＰＵ１１０は順次外部ＳＤＲＡＭデバイス４００からの命令コードをフェッチする。これ以降、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００に対してのみ命令コードをフェッチし、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【０１１４】
以上説明したように、実施例５によれば、外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製する際に、ＣＰＵ１１０を使用することなく、外部データバス１６２上でデータを直接複製することが可能となる。従って、複製に要する時間を大幅に短縮することが可能である。
【０１１５】
更に、アドレスバス１６１とデータバス１６２を共有することで、ＬＳＩの外部端子を大幅に削減することも可能である。
【実施例６】
【０１１６】
次に、本発明に係る実施例６について説明する。尚、実施例６の主な構成及び具体的な接続形態は実施例２と同様であり、その説明は省略する。
【０１１７】
実施例６では、ＭＥＭＣ１６０内の制御ビットを設定することで、外部ＲＯＭデバイス２００から外部ＳＤＲＡＭデバイス４００へ命令コードを複製した後、ＣＰＵ１１０が外部ＳＤＲＡＭデバイス４００に対してのみアクセス可能となり、仮にＣＰＵ１１０が外部ＲＯＭデバイス２００へアクセスした場合にはＣＰＵ１１０に対してエラー応答を返す。これにより、プログラムのデバッグなど不必要な外部ＲＯＭデバイス２００へのアクセスを容易に検出することが可能となる。
【実施例７】
【０１１８】
次に、図面を参照しながら本発明に係る実施例７について詳細に説明する。尚、実施例７の主な構成及び具体的な接続形態は実施例２と同様であり、その説明は省略する。
【０１１９】
実施例７では、ＭＥＭＣ１６０が図１９に示すＤＲＡＭプロテクト・レジスタを有するものである。このレジスタは、ビット毎に２５６ＫＢ単位でＤＲＡＭ領域を書き込み不可に設定することが可能である。
【０１２０】
例えば、外部ＲＯＭデバイス２００のアドレス０ｘＦ００１＿００００番地から外部ＳＤＲＡＭデバイス４００のアドレス０ｘ００００＿００００番地へ１ＭＢの命令コードを複製した後に、ＤＲＡＭプロテクト・レジスタに０ｘ００００＿０００Ｆ番地を書き込むことでＤＲＡＭ領域の０ｘ００００＿００００番地から０ｘ０００Ｆ＿ＦＦＦＦ番地までの１ＭＢ領域を書き込み不可に設定することが可能である。
【０１２１】
従って、ＣＰＵ１１０は外部ＳＤＲＡＭデバイス４００の０ｘ００００＿００００番地から０ｘ０００Ｆ＿ＦＦＦＦ番地までの領域に対しては常に読み出しのみ可能であり、仮にＣＰＵ１１０が本領域に対してライトアクセスした場合はＣＰＵ１００に対してエラー応答を返す。これにより、システムが予期しない動作を行うことによって外部ＳＤＲＡＭデバイス４００上の命令コードが更新され、更に予期しない動作が起こることを防ぐことが可能となる。
【実施例８】
【０１２２】
次に、図面を参照しながら本発明に係る実施例８について詳細に説明する。尚、実施例８の主な構成及び具体的な接続形態は実施例１或いは実施例２と同様であり、その説明は省略する。
【０１２３】
また、実施例８によるメモリマップは実施例１で用いた図６と同様であり、その説明も省略する。
【０１２４】
次に、実施例８による構成において、システム起動時に外部ＲＯＭ２００の命令コードを外部ＤＲＡＭ３００へ複製する動作について説明する。
【０１２５】
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、ＣＰＵ１１０は内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるＲＯＭデバイスのみであるため、ＣＰＵ１１０のリセットベクタは外部ＲＯＭデバイス２００の先頭アドレス０ｘＦ０００＿００００番地を指し示しており、命令コードも予めリセットベクタが指し示すアドレスから順番に外部ＲＯＭデバイス２００に書き込まれているものとする。
【０１２６】
従って、リセット解除後、ＣＰＵ１１０はシステムバス１５０とＭＥＭＣ１６０を経由して外部ＲＯＭデバイス２００にアクセスし、メモリマップの０ｘＦ０００＿００００番地からシステムを初期化するための初期化コードを順次フェッチする。この初期化コードのフェッチ後、ＣＰＵ１１０はその初期化コードの内容に従ってシステムの初期化を実施する。ここで、外部ＤＲＡＭデバイス３００に対しても外部ＲＯＭデバイス２００にアクセスするためのアドレスと、外部ＲＯＭデバイス２００から読み出されたデータが同時にドライブされるが、ＤＲＡＭデバイス制御信号１６４によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【０１２７】
システムの初期化が完了すると、ＣＰＵ１１０は、ＭＥＭＣ１６０に対して外部ＲＯＭデバイス２００に書き込まれている命令コードを外部ＤＲＡＭデバイス３００へ複製するための設定を行う。この時点では、ＣＰＵ１１０の動作は全て外部ＲＯＭデバイス２００からフェッチした命令コードの内容に従って実施されている。以下、ＭＥＭＣ１６０により命令コードを複製する手順を示す。
【０１２８】
尚、実施例８では、ＭＥＭＣ１６０は、図２０に示すように、命令コードサイズ、複製元開始アドレス、複製先開始アドレス、命令コード複製タグを設定するためのレジスタを所有するものとする。また、各レジスタはＣＰＵ１１０によって設定される。
【０１２９】
まず、命令コードサイズは外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００に複製する命令コードのサイズを示し、１ＭＢが設定される。また、複製元開始アドレスは複製元の外部ＲＯＭデバイス２００上の開始アドレスを示し、０ｘＦ００１＿００００番地が設定される。更に、複製先開始アドレスは複製先の外部ＤＲＡＭデバイス３００上の開始アドレスを示し、０ｘ００００＿００００番地が設定される。そして、命令コード複製タグはビット毎に任意のサイズのメモリ領域が割り当てられており、外部ＲＯＭデバイス２００への１回のアクセスで、この任意のサイズのメモリ領域が一度に全て外部ＤＲＡＭデバイス３００へ複製されて対応するタグビットがセットされる。
【０１３０】
図２０に示す例では、複製元開始アドレスから８ワード（１６バイト）毎のメモリ領域が割り当てられており、例えばＣＰＵ１１０が０ｘＦ００１＿００００番地の命令コードをフェッチすると、０ｘＦ００１＿００００番地から０ｘＦ００１＿０００Ｆ番地までの８ワード（１６バイト）の命令コードが一度に外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ複製されて対応する命令コード複製タグの０ｘ００００番地のビットがセットされる。ここで、命令コード複製タグとメモリ領域の対応は構成するシステムに依存し、特にこの組み合わせに限定されない。
【０１３１】
上述した設定が完了した後に、ＣＰＵ１１０が０ｘＦ００１＿００００番地から０ｘＦ０１０＿ＦＦＦＦ番地の命令コードをフェッチすると、ＭＥＭＣ１６０はアクセスされた命令コードを含む８ワード（１６バイト）をＣＰＵ１１０とは独立に外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ命令コードを複製する。このとき、８ワードのうち所望の命令コードを複製するときには、同時に命令コードを外部バスから読み出してシステムバス１５０を経由してＣＰＵ１１０へ戻す。また、所望の命令コード以外の複製中はＣＰＵ１１０のアクセスはウエイトさせられる。更に命令コードの複製が完了すると、ＭＥＭＣ１６０は対応する命令コード複製タグのビットをセットする。
【０１３２】
ここで、図２１を用いてＣＰＵ１１０が外部ＲＯＭデバイス２００のアドレス０ｘＦ００１＿１２３４番地をアクセスした場合に、ＭＥＭＣ１６０によって行われる複製の動作について説明する。ＣＰＵ１１０が外部ＲＯＭデバイス２００の０ｘＦ００１＿１２３４番地をアクセスすることによりＭＥＭＣ１６０は０ｘＦ００１＿１２３０番地から０ｘＦ００１＿１２３Ｆ番地の８ワード（１６バイト）を一度に外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ複製する。また、２回目の０ｘＦ００１＿１２３４番地の複製でＭＥＭＣ１６０は同時に命令コードを外部データバス１６２から読み出してＣＰＵ１１０にシステムバス１５０を経由して戻す。
【０１３３】
図２１は、実施例８による命令コードを複製する際のタイミングチャートを示す図である。まず、ＭＥＭＣ１６０は時刻Ｔ０でＲＡＳ＃、ＣＡＳ＃、ＷＥ＃により外部ＤＲＡＭデバイス３００に対するアクティブコマンドを発行する。このとき、アドレスバス１６１の下位１０ビットのみが有効であるため、ロウアドレスは０ｘ００１である。次に、ＭＥＭＣ１６０は時刻Ｔ１で外部ＲＯＭデバイス２００と外部ＤＲＡＭデバイス３００に対して同一のアドレス０ｘ１１２３０をアドレスバス１６１上にドライブする。
【０１３４】
図５に示す通り、外部ＲＯＭデバイス２００に対してはアドレスバス１６１の２０ビット全てが有効となるが、外部ＤＲＡＭデバイス３００に対してはカラムアドレスに相当する下位１２ビットのみが有効となる。従って、この場合の外部ＤＲＡＭデバイス３００に対するカラムアドレスは０ｘ２３０である。
【０１３５】
次に、時刻Ｔ３でＣＳ＃とＲＤ＃をアサートすることにより外部ＲＯＭデバイス２００に対してアドレス０ｘ１１２３０からの読み出し要求を行う。規定時間後、外部ＲＯＭデバイス２００はデータバス１６２上にリードデータをドライブする。このとき、ＭＥＭＣ１６０は同時に時刻Ｔ５で外部ＤＲＡＭデバイス３００に対してもＲＡＳ＃、ＣＡＳ＃、ＷＥ＃によりライトコマンドを発行することによりアドレス０ｘ０１２３０への書き込み要求を行う。これにより、データバス１６２上にドライブされた命令コードは、直接外部ＤＲＡＭデバイス３００に書き込まれる。以降、同様にして命令コードの読み出しと書き込みを繰り返す。
【０１３６】
また、連続したメモリ領域に対して順次命令コードを複製するため、次回からはページミスするまでアクティブコマンドを発行する必要はなくライトコマンドのみで良い。更にＤＲＡＭデバイス制御信号１６４のみを有効にすることで外部ＤＲＡＭデバイス３００に対して必要となるプリチャージコマンドやリフレッシュコマンドを発行することが可能である。
【０１３７】
尚、外部ＲＯＭデバイス２００に対しても外部ＤＲＡＭデバイス３００にアクセスするためのアドレスが同時にドライブされるがＲＯＭデバイス制御信号１６３によるアクセス許可が実行されていないため何ら影響を及ぼさない。
【０１３８】
一旦、複製が完了して命令コード複製タグのビットがセットされると、次回からＣＰＵ１１０がこのメモリ領域へのアクセスを実行すると、ＭＥＭＣ１６０は外部ＤＲＡＭデバイス３００へのアクセスのみを実行する。例えば、ＣＰＵ１１０が再度０ｘＦ００１＿１２３４番地の命令コードをフェッチした場合には、ＭＥＭＣ１６０は命令コード複製タグの対応するビットの値を確認し、「１」がセットされていれば外部ＲＯＭデバイス２００にはアクセスしないで直接外部ＤＲＡＭデバイス３００にのみアクセスする。
【０１３９】
これにより、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【０１４０】
以上説明したように、実施例８によれば、外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ命令コードを複製する際に、アドレスバス１６１とデータバス１６２を共有することで内部システムバス１５０を経由することなく、外部データバス１６２上でデータを直接複製することが可能となる。従って、複製に要する時間を大幅に短縮することが可能である。
【０１４１】
また、命令コードの複製と同時に命令コードのフェッチが行えるため、命令コード複製中のオーバヘッドを最小限に抑えることが可能である。
【０１４２】
更に、アドレスバス１６１とデータバス１６２を共有することで、ＬＳＩの外部端子を大幅に削減することが可能である。
【実施例９】
【０１４３】
次に、図面を参照しながら本発明に係る実施例９について詳細に説明する。実施例９では、ＬＳＩ１００内部にキャッシュ（ＣＡＳＨＥ）を有するものである。
【０１４４】
図２２は、実施例９によるメモリ制御システムの構成の一例を示す図である。具体的な接続例及びＭＥＭＣ１６０における命令コード複製タグとメモリ領域の対応は実施例８と同様である。
【０１４５】
図２２において、１７０はキャッシュであり、外部ＲＯＭデバイス２００の命令コードを外部ＤＲＡＭデバイス３００に複製する際に、内部のシステムバス１５０を介してその命令コードを記憶しておく高速小容量メモリである。
【０１４６】
尚、実施例９では、キャッシュ１７０は、プログラムなどＣＰＵ１１０の命令コードを格納する命令キャッシュとして説明する。また、命令キャッシュとは分離されて、ＣＰＵ１１０が処理するデータを格納するデータキャッシュを有するものとする。
【０１４７】
ここで、外部ＲＯＭデバイス２００の命令コードがキャッシュ１７０に複製されると、ＣＰＵ１１０はキャッシュヒットする限り、複製された命令コード（例えば命令コード１とする）を使用する。その後、キャッシュ１７０に複製された命令コード１に対してキャッシュミスした場合、同様に命令コード２がキャッシュ１７０にラインフィルされて外部ＲＯＭ２００から外部ＤＲＡＭ３００へ複製される。この時、命令コード１は命令コード２によって上書きされる。
【０１４８】
例えば、キャッシュ１７０の１ライン分のサイズが８ワード（１６バイト）とすると、アドレス０ｘＦ００１＿１２３４番地に対してミスヒットした場合には、キャッシュ１７０は０ｘＦ００１＿１２３０番地から０ｘＦ００１＿１２３Ｆ番地までの８ワード（１６バイト）のデータを読み出してキャッシュフィルする。この時、ＭＥＭＣ１６０は同時に図２１に示すタイミングで外部ＲＯＭデバイス２００から外部ＤＲＡＭデバイス３００へ命令コードを複製する。ＭＥＭＣ１６０は、この複製と同時に、８ワード（１６バイト）全ての命令コードをデータバス１６２から取り込み、キャッシュ１７０へ戻す。そして、命令コードの複製が完了すると、ＭＥＭＣ１６０は対応する命令コード複製タグのビットをセットする。
【０１４９】
更に、再度上述の命令コード１に対してキャッシュミスした場合、命令コード１は外部ＤＲＡＭデバイス３００からキャッシュ１７０にラインフィルされて複製は行われない。
【０１５０】
例えば、キャッシュ１７０が再度０ｘＦ００１＿１２３４番地に対してミスヒットした場合には、ＭＥＭＣ１６０は命令コード複製タグの対応するビットの値を確認し、「１」がセットされていれば外部ＲＯＭデバイス２００にはアクセスしないで直接外部ＤＲＡＭデバイス３００に対してのみアクセスし、０ｘＦ００１＿１２３０番地から０ｘＦ００１＿１２３Ｆ番地までの８ワード（１６バイト）のデータを読み出す。
【０１５１】
これにより、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
【０１５２】
以上説明したように、実施例９によれば、ＲＯＭデバイスからＤＲＡＭデバイスへ命令コードを複製する際に、ＲＯＭデバイス及びＤＲＡＭデバイスのアドレス／データバス用の外部端子を共有し、両デバイスに対して同一のアドレスを発行し、内部のシステムバスを経由することなく、ＲＯＭデバイスから読み出したデータを同時にＤＲＡＭデバイスへ書き込むことでＲＯＭデバイスからＤＲＡＭデバイスへ命令コードを高速に複製することが可能となる。
【０１５３】
更に、複製したメモリ領域を記憶しておくことで、次回からの同一メモリ領域へのアクセスをＤＲＡＭデバイスに対してのみ実施することが可能となり、システムの起動時間及び起動後の命令コードアクセスを高速化することが可能である。
【０１５４】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１５５】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１５６】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１５７】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１５８】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１５９】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１６０】
【図１】一般的なメモリ制御システムの構成を示す図である。
【図２】システム起動時にＲＯＭ２００からＤＲＡＭ３００へ命令コードが複製された際のメモリマップを示す図である。
【図３】ＲＯＭ２００からＤＲＡＭ３００へ命令コードを複製する際のタイミングチャートを示す図である。
【図４】実施例１によるメモリ制御システムの構成の一例を示す図である。
【図５】ＬＳＩ１００と外部ＲＯＭデバイス２００及び外部ＤＲＡＭデバイス３００との具体的な接続形態を示す図である。
【図６】実施例１によるメモリマップの一例を示す図である。
【図７】実施例１による命令コードを複製する際のタイミングチャートを示す図である。
【図８】実施例２によるメモリ制御システムの構成の一例を示す図である。
【図９】ＬＳＩ１００と外部ＲＯＭデバイス２００及び外部ＳＤＲＡＭデバイス４００との具体的な接続形態を示す図である。
【図１０】実施例２による命令コードを複製する際のタイミングチャートを示す図である。
【図１１】実施例３によるメモリマップの一例を示す図である。
【図１２】実施例３による命令コードを複製する際のタイミングチャートを示す図である。
【図１３】外部ＲＯＭデバイス２００と外部ＳＤＲＡＭデバイス４００とのアドレスのオフセットが異なる場合のアドレス生成の概念図である。
【図１４】ＭＥＭＣ１６０内のアドレス生成の概念図である。
【図１５】実施例４によるメモリマップの一例を示す図である。
【図１６】実施例５によるメモリ制御システムの構成の一例を示す図である。
【図１７】実施例５によるメモリマップの一例を示す図である。
【図１８】メモリ構成信号１６６の構成の一例を示す図である。
【図１９】実施例７によるＤＲＡＭプロテクト・レジスタを示す図である。
【図２０】実施例８によるＭＥＭＣ１６０の内部レジスタを示す図である。
【図２１】実施例８による命令コードを複製する際のタイミングチャートを示す図である。
【図２２】実施例９によるメモリ制御システムの構成の一例を示す図である。
【符号の説明】
【０１６１】
１００  ＬＳＩ
１１０  ＣＰＵ
１２０  ＲＯＭコントローラ（ＲＯＭＣ）
１３０  ＤＲＡＭコントローラ（ＤＲＡＭＣ）
１４０  ＤＭＡコントローラ（ＤＭＡＣ）
１５０  システムバス
１６０  メモリコントローラ（ＭＥＭＣ）
１６１  アドレスバス
１６２  データバス
１６３  ＲＯＭデバイス制御信号
１６４  ＤＲＡＭデバイス制御信号
１６５  ＳＤＲＡＭデバイス制御信号
１６６  メモリ構成信号
１７０  キャッシュ（ＣＡＳＨＥ）
２００  外部ＲＯＭデバイス
３００  外部ＤＲＡＭデバイス
４００  外部ＳＤＲＡＭデバイス
【図１】
2006146817.tif 000003
【図２】
2006146817.tif 000004
【図３】
2006146817.tif 000005
【図４】
2006146817.tif 000006
【図５】
2006146817.tif 000007
【図６】
2006146817.tif 000008
【図７】
2006146817.tif 000009
【図８】
2006146817.tif 000010
【図９】
2006146817.tif 000011
【図１０】
2006146817.tif 000012
【図１１】
2006146817.tif 000013
【図１２】
2006146817.tif 000014
【図１３】
2006146817.tif 000015
【図１４】
2006146817.tif 000016
【図１５】
2006146817.tif 000017
【図１６】
2006146817.tif 000018
【図１７】
2006146817.tif 000019
【図１８】
2006146817.tif 000020
【図１９】
2006146817.tif 000021
【図２０】
2006146817.tif 000022
【図２１】
2006146817.tif 000023
【図２２】
2006146817.tif 000024