JP2004334593A - メモリブリッジ装置 - Google Patents
メモリブリッジ装置 Download PDFInfo
- Publication number
- JP2004334593A JP2004334593A JP2003130625A JP2003130625A JP2004334593A JP 2004334593 A JP2004334593 A JP 2004334593A JP 2003130625 A JP2003130625 A JP 2003130625A JP 2003130625 A JP2003130625 A JP 2003130625A JP 2004334593 A JP2004334593 A JP 2004334593A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- instruction
- command
- bridge device
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】コマンドシーケンスをハードウェアと分離して保持することで、ハードウェア改訂のコストを低減するメモリブリッジ装置を提供する。
【解決手段】CPU1は、直結した中央メモリ制御部2に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部2は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置3〜5を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置3〜5は、中央メモリ制御部2からアクセス要求を受けたら接続された記憶装置(SDRAM、ROM1、ROM2、SDメモリカード)に応じたアクセスを実行し、応答を中央メモリ制御部2に返す。中央メモリ制御部2は、この応答を元にCPU1に対して応答する。
【選択図】 図1
【解決手段】CPU1は、直結した中央メモリ制御部2に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部2は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置3〜5を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置3〜5は、中央メモリ制御部2からアクセス要求を受けたら接続された記憶装置(SDRAM、ROM1、ROM2、SDメモリカード)に応じたアクセスを実行し、応答を中央メモリ制御部2に返す。中央メモリ制御部2は、この応答を元にCPU1に対して応答する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、メモリブリッジ装置に関し、特に周辺機器制御システムにおいてハードウェア改訂のコストを低減するためのメモリブリッジ装置に関する。
【0002】
【従来の技術】
従来のメモリブリッジ装置は、CPUもしくは他の装置からのメモリ空間へのアクセスを特定の記憶装置へのアクセスに変換する。記憶装置としてはSDメモリカードをはじめとする各種メモリカードデバイスが普及をはじめている。SDメモリカードの記憶内容へのアクセスは、一般的なROM/RAMとは異なり、コマンドの送信により通常512バイトのセクタ単位でデータをアクセスする。このためSDメモリカードのメモリブリッジ装置はメモリ空間へのアクセス要求をSDカードのコマンドシーケンスに変換する。
【0003】
また先行技術として以下のような従来技術がある。
小型メモリカードの小型であるといったメリットを十分に活用しつつ、各種情報機器と小型メモリカードとを接続することができるコンパクトなメモリカードブリッジがある(特許文献1参照)。
【0004】
【特許文献1】
特開2002−73522号公報
【0005】
【発明が解決しようとする課題】
しかし、上記に示す従来技術において、コマンドシーケンスへの変換は、ハードウェアにて行われているが、コマンドシーケンスに不具合があった場合やカードインタフェースのバージョンが変わった場合にはハードウェアごと改訂する必要があり、一般にハードウェアの改訂は大きなコストがかかる。
【0006】
本発明は係る問題に鑑みてなされたものであり、コマンドシーケンスをハードウェアと分離して保持することで、ハードウェア改訂のコストを低減するメモリブリッジ装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のメモリブリッジ装置は、メモリ空間へのアクセスを記憶部へのアクセスに変換するメモリブリッジ装置において、メモリアクセス要求を処理する要求処理手段と、第1の記憶装置のアクセスに使用する命令を読み取る命令読み取り手段と、命令読み取り手段によって読み取った命令を格納する格納手段と、格納手段によって、格納した命令を変更することができる変更手段と、第1の記憶装置とのインターフェースであるインターフェース制御手段とを有することを特徴とする。
【0008】
請求項2記載の発明は、請求項1記載のメモリブリッジ装置であって、第1の記憶装置は、SDメモリカードであることを特徴とする。
【0009】
請求項3記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、ソフトウェアでアクセス可能なRAMであることを特徴とする。
【0010】
請求項4記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、物理的に着脱可能なROMであることを特徴とする。
【0011】
請求項5記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、ソフトウェアにて書き換え可能なフラッシュROMであることを特徴とする。
【0012】
請求項6記載の発明は、請求項1記載のメモリブリッジ装置であって、インターフェース制御手段は、SDメモリカードに発行するコマンドをセットするコマンドレジスタと、コマンドの発行結果やインターフェース制御手段の状態を保持する状態レジスタと、各種制御を行う制御レジスタを有することを特徴とする。
【0013】
請求項7記載の発明は、請求項3記載のメモリブリッジ装置であって、RAMは、RAM空間内に第1の記憶装置のアクセスに使用する命令を配置することができ、変更手段によって格納手段によって格納した命令を変更することできることを特徴とする。
【0014】
【発明の実施の形態】
図1は、メモリアクセス制御を実行するための構成を示したブロック図である。
メモリアクセス制御は、CPU1、中央メモリ制御部2、メモリブリッジ装置3〜5、ブートセレクタ6、SDRAM7、ROM8〜9、SDメモリカード10、外部スイッチ11から構成されている。
【0015】
CPU1は、直結した中央メモリ制御部2に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部2は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置3〜5を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置3〜5は、中央メモリ制御部2からアクセス要求を受けたら接続された記憶装置(SDRAM、ROM1、ROM2、SDメモリカード)に応じたアクセスを実行し、応答を中央メモリ制御部2に返す。中央メモリ制御部2は、この応答を元にCPU1に対して応答する。以上によりメモリ空間にマップされた複数の記憶装置へのアクセスを行う。
【0016】
図2は、コンピュータシステムのメモリマップ例を示した図である。
図2は、MIPSプロセッサを使用し、SDメモリカードが空間の一部にマッピングされたメモリマップである。最下位にはRAM空間を持ち、各種I/O空間を挟んで上位側にはSDカード空間およびROM空間を持つ。ROM空間内にSD命令空間を持つ。SD命令空間には、本発明のメモリブリッジ装置がSDメモリカードにアクセスするためのコマンドシーケンスを生成するための命令群が格納されている。
【0017】
リセットベクタは0x1FC00000番地であり、システムの電源投入時、プロセッサはリセットベクタから命令のフェッチを開始し、システムをブートする。本実施形態では、ブートモードを「ROMブートモード」と「SDブートモード」の2モードを持つ。図1に示したブートセレクタ6により電源投入時にモードが決定する。ブート選択は外部スイッチ(DIPスイッチ等)で行う。電源投入時に決定されたブートモードにより図2のようにメモリマップが変わり、SDメモリ空間とROM1空間がスワップする。「ROMブートモード」では、ROM1に格納されたプログラムからブートし、「SDブートモード」ではSDメモリカードに格納されたプログラムからブートする。ROM1とSD空間は、図2のようにそれぞれブートしないときは別の空間(0x1A800000〜)でアクセスが可能である。
【0018】
図3は、メモリブリッジ装置5の構成を示したブロック図である。
メモリブリッジ装置5は、メモリアクセス要求処理部20とデータバッファ21、命令読み取り部22、SDコマンドシーケンサ23、SDカードインタフェース制御部24から構成されている。
また、命令読み取り部22は、実行フラグレジスタ25と命令アドレスレジスタ26、命令バッファ27から構成されている。なお、命令バッファ27は初期化用28、ライト用29、リード用30から構成されている。
【0019】
SDコマンドシーケンサ23は、初期化シーケンサ31、ライトシーケンサ32、リードシーケンサ33から構成されている。SDカードインタフェース制御部24は、状態レジスタ34、制御レジスタ35、コマンドレジスタ36から構成されている。
【0020】
メモリブリッジ装置5の機能は、接続されているSDメモリカード10の初期化機能と中央メモリ制御部2からの要求をSDカード10のリード・ライトアクセスに変換する機能およびSDメモリカード10のコマンドシーケンス制御に必要な命令を外部記憶装置から読み出す機能という主な3つの機能を有する。
【0021】
次にメモリブリッジ装置5の処理動作を説明する。
SDカード10の初期化は、電源投入時にSDメモリカード10が装着されていれば自動的に実行する。初期化シーケンスは、SDコマンドシーケンサ23の初期化シーケンサ31が制御を行う。SDメモリカード10の初期化のコマンド群は命令読み取り部22の命令バッファのうち、初期化用の部分を読み出してSDインタフェース制御部24にコマンドを発行する。
【0022】
メモリアクセス要求発生時は、中央メモリ制御部2からの要求受付・応答を行うメモリアクセス要求処理部20にてライトアクセスについてはデータバッファ21に格納し、SDコマンドシーケンサ23のライトシーケンサ32を駆動する。リードアクセスについてはSDコマンドシーケンサ23のリードシーケンサ33を駆動し、結果SDメモリカード10からの読み出しデータが格納されるデータバッファ21を読み出して中央メモリ制御部2に応答する。
【0023】
SDコマンドシーケンサ23は、SDカード10のリード・ライトアクセスシーケンス実行に際して、命令読み取り部22の命令バッファ27に格納されたリード用・ライト用の命令シーケンスを読み出し、これに応じてSDインタフェース制御部24にコマンド出力する。SDインターフェース制御部24は、SDカード10に発行するSDコマンドをセットするコマンドレジスタを有する。また、SDコマンドの発行結果やSDカードインタフェース制御部24の状態を保持する状態レジスト34と各種制御を行う制御レジスタ35を有する。SDコマンドシーケンサ23は、SDカードインタフェース制御部24の各レジスタにアクセスして、その応答や状態を状態レジスタ34から読み出し分岐制御等を行うことでシーケンス制御を行う。
【0024】
図4は、SDコマンドシーケンサが使用する命令フォーマットを示した図である。
一つの命令フォーマットは、命令番号(先頭からの通し番号で0から開始)1バイト、命令1バイト、可変長のオペランドフィールドよりなる。オペランドの数と長さは命令により決まる。命令の一覧を図5に示す。レジスタライト命令は、レジスタ番号とライトデータおよびライトマスクをオペランドとしてSDカードインタフェース制御部24のレジスタ書き込みを行う。ライトマスクにより書き込まない部分の保護を行う。レジスタ番号とレジスタの対応を図6に示す。レジスタリード命令はレジスタ番号とリード期待値、リードマスク、期待値一致時の分岐先(命令番号)、期待値不一致時の分岐先(命令番号)を指定する。SDカードインタフェース制御部24のレジスタ読み出しを行い、かつリードマスクをかけた後の値と期待値比較した上で処理分岐する。ウェイト命令はオペランドで指定したクロック数分待機して次の命令番号に進む。応答待ち命令は、SDコマンドを発行した後のカードからの応答を待ち、次の命令番号に進む。停止命令は以上発生時用で処理を直ちに停止する。
【0025】
図7は、SDカード10の初期化処理の処理動作を示したフローチャートである。
制御レジスタライト データ=1(ステップS100)、ここでは、制御レジスタ35にデータ=1を書き込む。次に状態レジスタリード(ステップS101)、ここでは、状態レジスタを読み込む。メモリ空間アドレスが0x10か否かの判断を行う(ステップS102)。メモリ空間アドレスが0x10以外の場合(ステップS102/NO)、処理動作を停止する(ステップS103)。メモリ空間アドレスが0x10の場合(ステップS102/YES)、次に256クロック待ち(ステップS104)、次に制御レジスタ35にデータ=0x140を書き込み(ステップS105)、256クロック待つ(ステップS106)。
【0026】
次に制御レジスタ35にデータ=0x318 を書き込む(ステップS107)。次に、コマンドレジスタ36にデータ=0x0000を書き込み(ステップS108)、応答を待つ(ステップS109)。次に状態レジスタ34を読み出し(ステップS110)、メモリ空間アドレスが0x00か否かの判断を行う(ステップS111)。メモリ空間アドレスが0x00以外の場合(ステップS111/NO)は、処理動作を停止する(ステップS112)。メモリ空間アドレスが0x00である場合(ステップS111/YES)、コマンドレジスタ36にデータ=0x0037を書き込む(ステップS113)。
【0027】
SDコマンドシーケンサ制御用の命令の読み取りは、命令読み取り部22が最初のSDカード10へのアクセスに先立ち、外部記憶装置からSDカード10のアクセスに使用する命令を読み取り、命令バッファ27に格納する。読み取りは、実行フラグレジスタ25が許可状態の時に行われ、命令アドレスレジスタ26に格納されたアドレスから命令群を読み出す。
【0028】
初期状態は、実行フラグレジスタ25が許可状態であり、命令アドレスレジスタ26の初期値がメモリマップ上のSD命令空間に設定されており、電源投入後直ちにSD命令空間より命令が読み込まれる。命令が読み込まれると実行フラグレジスタ25は禁止状態になる。
【0029】
一度命令を読み込んだ後も、ソフトウェアにて命令アドレスレジスタ26を設定し、実行フラグレジスタ25を許可状態にすることで再び任意のアドレスから命令群を読み取ることができる。命令アドレスレジスタ26に設定するアドレスは、図2のアドレスマップ上のRAM・ROM空間内の任意の位置に設定する。
【0030】
ソフトウェアにてRAM空間に命令群を配置することも可能であり、システム稼動状態でSDメモリカード10へのアクセスシーケンスを変更することが可能である。
また、着脱可能なROM空間に命令群を配置しておくことも可能である。命令読み取り部22がデフォルトで読み込むアドレス(命令アドレスレジスタ26のデフォルト値)をこのROM空間にしておき、アクセスシーケンスを変更する場合は、新しいアクセスシーケンスに対応した命令を格納したROMと交換することができる。この場合、アクセスシーケンスの変更にソフトウェアが介在する必要がないので、新しいアクセスシーケンスでSDカードからブートすることが可能である(ブートしないとソフトウェアが動作しないのでソフトウェアはブートデバイスの制御はできない)。
【0031】
さらに、命令を書き換え可能なフラッシュROM空間上に配置することも可能である。命令読み取り部22がデフォルトでフラッシュROM空間から命令を読み出すようにし、アクセスシーケンスを変更する場合は、ソフトウェアによりROMを書き換えた上で再度命令を読み取らせることができる。新しいアクセスシーケンスでSDカード10からブートした場合は、一端ROMブートモードでブートした上で、命令用のフラッシュROM空間を書き換えた上でSDブートモードで再起動することで可能になる。
【0032】
【発明の効果】
以上の説明から明らかなように、本願発明のメモリブリッジ装置は、コマンドシーケンスを命令形式で別の記憶装置に配置し、記憶装置をRAMとすることでソフトウェアにより命令を変更できるので、コマンドシーケンス変更によるハードウェア改訂が不要になる。
また、着脱可能なROMにすることで、コマンドシーケンスの変更をROMの交換にとどめることができ、かつコマンドシーケンス変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
さらに、書き換え可能なフラッシュROMにすることで、ROMの交換無しにコマンドシーケンスを変更でき、かつコマンドシーケンスの変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
【図面の簡単な説明】
【図1】本発明の実施形態におけるメモリアクセス制御を実行するための構成を示したブロック図である。
【図2】本発明の実施形態におけるシステムメモリマップを示した図である。
【図3】本発明の実施形態におけるメモリブリッジ装置の構成を示したブロック図である。
【図4】本発明の実施形態における命令フォーマットを示した図である。
【図5】本発明の実施形態における命令一覧を示した図である。
【図6】本発明の実施形態におけるレジスタ一覧を示した図である。
【図7】本発明の実施形態におけるSDカードの初期化処理の処理動作を示したフローチャートである。
【図8】本発明の実施形態における図7に示すフローチャートに対応した命令シーケンスを示した図である。
【符号の説明】
1 CPU
2 中央メモリ制御部
3 メモリブリッジ装置1
4 メモリブリッジ装置2
5 メモリブリッジ装置3
6 ブートセレクタ
7 SDRAM
8 ROM1
9 ROM2
10 SDメモリカード
11 外部スイッチ
【発明の属する技術分野】
本発明は、メモリブリッジ装置に関し、特に周辺機器制御システムにおいてハードウェア改訂のコストを低減するためのメモリブリッジ装置に関する。
【0002】
【従来の技術】
従来のメモリブリッジ装置は、CPUもしくは他の装置からのメモリ空間へのアクセスを特定の記憶装置へのアクセスに変換する。記憶装置としてはSDメモリカードをはじめとする各種メモリカードデバイスが普及をはじめている。SDメモリカードの記憶内容へのアクセスは、一般的なROM/RAMとは異なり、コマンドの送信により通常512バイトのセクタ単位でデータをアクセスする。このためSDメモリカードのメモリブリッジ装置はメモリ空間へのアクセス要求をSDカードのコマンドシーケンスに変換する。
【0003】
また先行技術として以下のような従来技術がある。
小型メモリカードの小型であるといったメリットを十分に活用しつつ、各種情報機器と小型メモリカードとを接続することができるコンパクトなメモリカードブリッジがある(特許文献1参照)。
【0004】
【特許文献1】
特開2002−73522号公報
【0005】
【発明が解決しようとする課題】
しかし、上記に示す従来技術において、コマンドシーケンスへの変換は、ハードウェアにて行われているが、コマンドシーケンスに不具合があった場合やカードインタフェースのバージョンが変わった場合にはハードウェアごと改訂する必要があり、一般にハードウェアの改訂は大きなコストがかかる。
【0006】
本発明は係る問題に鑑みてなされたものであり、コマンドシーケンスをハードウェアと分離して保持することで、ハードウェア改訂のコストを低減するメモリブリッジ装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のメモリブリッジ装置は、メモリ空間へのアクセスを記憶部へのアクセスに変換するメモリブリッジ装置において、メモリアクセス要求を処理する要求処理手段と、第1の記憶装置のアクセスに使用する命令を読み取る命令読み取り手段と、命令読み取り手段によって読み取った命令を格納する格納手段と、格納手段によって、格納した命令を変更することができる変更手段と、第1の記憶装置とのインターフェースであるインターフェース制御手段とを有することを特徴とする。
【0008】
請求項2記載の発明は、請求項1記載のメモリブリッジ装置であって、第1の記憶装置は、SDメモリカードであることを特徴とする。
【0009】
請求項3記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、ソフトウェアでアクセス可能なRAMであることを特徴とする。
【0010】
請求項4記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、物理的に着脱可能なROMであることを特徴とする。
【0011】
請求項5記載の発明は、請求項1記載のメモリブリッジ装置であって、格納手段は、ソフトウェアにて書き換え可能なフラッシュROMであることを特徴とする。
【0012】
請求項6記載の発明は、請求項1記載のメモリブリッジ装置であって、インターフェース制御手段は、SDメモリカードに発行するコマンドをセットするコマンドレジスタと、コマンドの発行結果やインターフェース制御手段の状態を保持する状態レジスタと、各種制御を行う制御レジスタを有することを特徴とする。
【0013】
請求項7記載の発明は、請求項3記載のメモリブリッジ装置であって、RAMは、RAM空間内に第1の記憶装置のアクセスに使用する命令を配置することができ、変更手段によって格納手段によって格納した命令を変更することできることを特徴とする。
【0014】
【発明の実施の形態】
図1は、メモリアクセス制御を実行するための構成を示したブロック図である。
メモリアクセス制御は、CPU1、中央メモリ制御部2、メモリブリッジ装置3〜5、ブートセレクタ6、SDRAM7、ROM8〜9、SDメモリカード10、外部スイッチ11から構成されている。
【0015】
CPU1は、直結した中央メモリ制御部2に対して命令・データのメモリアクセス要求を行う。中央メモリ制御部2は、要求アドレスを内部アドレスデコーダにより該当するメモリデバイスに振り分け、該当するメモリブリッジ装置3〜5を複数の中から選択し、アクセス要求を行う。メモリブリッジ装置3〜5は、中央メモリ制御部2からアクセス要求を受けたら接続された記憶装置(SDRAM、ROM1、ROM2、SDメモリカード)に応じたアクセスを実行し、応答を中央メモリ制御部2に返す。中央メモリ制御部2は、この応答を元にCPU1に対して応答する。以上によりメモリ空間にマップされた複数の記憶装置へのアクセスを行う。
【0016】
図2は、コンピュータシステムのメモリマップ例を示した図である。
図2は、MIPSプロセッサを使用し、SDメモリカードが空間の一部にマッピングされたメモリマップである。最下位にはRAM空間を持ち、各種I/O空間を挟んで上位側にはSDカード空間およびROM空間を持つ。ROM空間内にSD命令空間を持つ。SD命令空間には、本発明のメモリブリッジ装置がSDメモリカードにアクセスするためのコマンドシーケンスを生成するための命令群が格納されている。
【0017】
リセットベクタは0x1FC00000番地であり、システムの電源投入時、プロセッサはリセットベクタから命令のフェッチを開始し、システムをブートする。本実施形態では、ブートモードを「ROMブートモード」と「SDブートモード」の2モードを持つ。図1に示したブートセレクタ6により電源投入時にモードが決定する。ブート選択は外部スイッチ(DIPスイッチ等)で行う。電源投入時に決定されたブートモードにより図2のようにメモリマップが変わり、SDメモリ空間とROM1空間がスワップする。「ROMブートモード」では、ROM1に格納されたプログラムからブートし、「SDブートモード」ではSDメモリカードに格納されたプログラムからブートする。ROM1とSD空間は、図2のようにそれぞれブートしないときは別の空間(0x1A800000〜)でアクセスが可能である。
【0018】
図3は、メモリブリッジ装置5の構成を示したブロック図である。
メモリブリッジ装置5は、メモリアクセス要求処理部20とデータバッファ21、命令読み取り部22、SDコマンドシーケンサ23、SDカードインタフェース制御部24から構成されている。
また、命令読み取り部22は、実行フラグレジスタ25と命令アドレスレジスタ26、命令バッファ27から構成されている。なお、命令バッファ27は初期化用28、ライト用29、リード用30から構成されている。
【0019】
SDコマンドシーケンサ23は、初期化シーケンサ31、ライトシーケンサ32、リードシーケンサ33から構成されている。SDカードインタフェース制御部24は、状態レジスタ34、制御レジスタ35、コマンドレジスタ36から構成されている。
【0020】
メモリブリッジ装置5の機能は、接続されているSDメモリカード10の初期化機能と中央メモリ制御部2からの要求をSDカード10のリード・ライトアクセスに変換する機能およびSDメモリカード10のコマンドシーケンス制御に必要な命令を外部記憶装置から読み出す機能という主な3つの機能を有する。
【0021】
次にメモリブリッジ装置5の処理動作を説明する。
SDカード10の初期化は、電源投入時にSDメモリカード10が装着されていれば自動的に実行する。初期化シーケンスは、SDコマンドシーケンサ23の初期化シーケンサ31が制御を行う。SDメモリカード10の初期化のコマンド群は命令読み取り部22の命令バッファのうち、初期化用の部分を読み出してSDインタフェース制御部24にコマンドを発行する。
【0022】
メモリアクセス要求発生時は、中央メモリ制御部2からの要求受付・応答を行うメモリアクセス要求処理部20にてライトアクセスについてはデータバッファ21に格納し、SDコマンドシーケンサ23のライトシーケンサ32を駆動する。リードアクセスについてはSDコマンドシーケンサ23のリードシーケンサ33を駆動し、結果SDメモリカード10からの読み出しデータが格納されるデータバッファ21を読み出して中央メモリ制御部2に応答する。
【0023】
SDコマンドシーケンサ23は、SDカード10のリード・ライトアクセスシーケンス実行に際して、命令読み取り部22の命令バッファ27に格納されたリード用・ライト用の命令シーケンスを読み出し、これに応じてSDインタフェース制御部24にコマンド出力する。SDインターフェース制御部24は、SDカード10に発行するSDコマンドをセットするコマンドレジスタを有する。また、SDコマンドの発行結果やSDカードインタフェース制御部24の状態を保持する状態レジスト34と各種制御を行う制御レジスタ35を有する。SDコマンドシーケンサ23は、SDカードインタフェース制御部24の各レジスタにアクセスして、その応答や状態を状態レジスタ34から読み出し分岐制御等を行うことでシーケンス制御を行う。
【0024】
図4は、SDコマンドシーケンサが使用する命令フォーマットを示した図である。
一つの命令フォーマットは、命令番号(先頭からの通し番号で0から開始)1バイト、命令1バイト、可変長のオペランドフィールドよりなる。オペランドの数と長さは命令により決まる。命令の一覧を図5に示す。レジスタライト命令は、レジスタ番号とライトデータおよびライトマスクをオペランドとしてSDカードインタフェース制御部24のレジスタ書き込みを行う。ライトマスクにより書き込まない部分の保護を行う。レジスタ番号とレジスタの対応を図6に示す。レジスタリード命令はレジスタ番号とリード期待値、リードマスク、期待値一致時の分岐先(命令番号)、期待値不一致時の分岐先(命令番号)を指定する。SDカードインタフェース制御部24のレジスタ読み出しを行い、かつリードマスクをかけた後の値と期待値比較した上で処理分岐する。ウェイト命令はオペランドで指定したクロック数分待機して次の命令番号に進む。応答待ち命令は、SDコマンドを発行した後のカードからの応答を待ち、次の命令番号に進む。停止命令は以上発生時用で処理を直ちに停止する。
【0025】
図7は、SDカード10の初期化処理の処理動作を示したフローチャートである。
制御レジスタライト データ=1(ステップS100)、ここでは、制御レジスタ35にデータ=1を書き込む。次に状態レジスタリード(ステップS101)、ここでは、状態レジスタを読み込む。メモリ空間アドレスが0x10か否かの判断を行う(ステップS102)。メモリ空間アドレスが0x10以外の場合(ステップS102/NO)、処理動作を停止する(ステップS103)。メモリ空間アドレスが0x10の場合(ステップS102/YES)、次に256クロック待ち(ステップS104)、次に制御レジスタ35にデータ=0x140を書き込み(ステップS105)、256クロック待つ(ステップS106)。
【0026】
次に制御レジスタ35にデータ=0x318 を書き込む(ステップS107)。次に、コマンドレジスタ36にデータ=0x0000を書き込み(ステップS108)、応答を待つ(ステップS109)。次に状態レジスタ34を読み出し(ステップS110)、メモリ空間アドレスが0x00か否かの判断を行う(ステップS111)。メモリ空間アドレスが0x00以外の場合(ステップS111/NO)は、処理動作を停止する(ステップS112)。メモリ空間アドレスが0x00である場合(ステップS111/YES)、コマンドレジスタ36にデータ=0x0037を書き込む(ステップS113)。
【0027】
SDコマンドシーケンサ制御用の命令の読み取りは、命令読み取り部22が最初のSDカード10へのアクセスに先立ち、外部記憶装置からSDカード10のアクセスに使用する命令を読み取り、命令バッファ27に格納する。読み取りは、実行フラグレジスタ25が許可状態の時に行われ、命令アドレスレジスタ26に格納されたアドレスから命令群を読み出す。
【0028】
初期状態は、実行フラグレジスタ25が許可状態であり、命令アドレスレジスタ26の初期値がメモリマップ上のSD命令空間に設定されており、電源投入後直ちにSD命令空間より命令が読み込まれる。命令が読み込まれると実行フラグレジスタ25は禁止状態になる。
【0029】
一度命令を読み込んだ後も、ソフトウェアにて命令アドレスレジスタ26を設定し、実行フラグレジスタ25を許可状態にすることで再び任意のアドレスから命令群を読み取ることができる。命令アドレスレジスタ26に設定するアドレスは、図2のアドレスマップ上のRAM・ROM空間内の任意の位置に設定する。
【0030】
ソフトウェアにてRAM空間に命令群を配置することも可能であり、システム稼動状態でSDメモリカード10へのアクセスシーケンスを変更することが可能である。
また、着脱可能なROM空間に命令群を配置しておくことも可能である。命令読み取り部22がデフォルトで読み込むアドレス(命令アドレスレジスタ26のデフォルト値)をこのROM空間にしておき、アクセスシーケンスを変更する場合は、新しいアクセスシーケンスに対応した命令を格納したROMと交換することができる。この場合、アクセスシーケンスの変更にソフトウェアが介在する必要がないので、新しいアクセスシーケンスでSDカードからブートすることが可能である(ブートしないとソフトウェアが動作しないのでソフトウェアはブートデバイスの制御はできない)。
【0031】
さらに、命令を書き換え可能なフラッシュROM空間上に配置することも可能である。命令読み取り部22がデフォルトでフラッシュROM空間から命令を読み出すようにし、アクセスシーケンスを変更する場合は、ソフトウェアによりROMを書き換えた上で再度命令を読み取らせることができる。新しいアクセスシーケンスでSDカード10からブートした場合は、一端ROMブートモードでブートした上で、命令用のフラッシュROM空間を書き換えた上でSDブートモードで再起動することで可能になる。
【0032】
【発明の効果】
以上の説明から明らかなように、本願発明のメモリブリッジ装置は、コマンドシーケンスを命令形式で別の記憶装置に配置し、記憶装置をRAMとすることでソフトウェアにより命令を変更できるので、コマンドシーケンス変更によるハードウェア改訂が不要になる。
また、着脱可能なROMにすることで、コマンドシーケンスの変更をROMの交換にとどめることができ、かつコマンドシーケンス変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
さらに、書き換え可能なフラッシュROMにすることで、ROMの交換無しにコマンドシーケンスを変更でき、かつコマンドシーケンスの変更にソフトウェアが介在しないので新規コマンドシーケンスを使用して記憶装置からブートすることが可能である。
【図面の簡単な説明】
【図1】本発明の実施形態におけるメモリアクセス制御を実行するための構成を示したブロック図である。
【図2】本発明の実施形態におけるシステムメモリマップを示した図である。
【図3】本発明の実施形態におけるメモリブリッジ装置の構成を示したブロック図である。
【図4】本発明の実施形態における命令フォーマットを示した図である。
【図5】本発明の実施形態における命令一覧を示した図である。
【図6】本発明の実施形態におけるレジスタ一覧を示した図である。
【図7】本発明の実施形態におけるSDカードの初期化処理の処理動作を示したフローチャートである。
【図8】本発明の実施形態における図7に示すフローチャートに対応した命令シーケンスを示した図である。
【符号の説明】
1 CPU
2 中央メモリ制御部
3 メモリブリッジ装置1
4 メモリブリッジ装置2
5 メモリブリッジ装置3
6 ブートセレクタ
7 SDRAM
8 ROM1
9 ROM2
10 SDメモリカード
11 外部スイッチ
Claims (7)
- メモリ空間へのアクセスを記憶部へのアクセスに変換するメモリブリッジ装置において、
メモリアクセス要求を処理する要求処理手段と、
第1の記憶装置のアクセスに使用する命令を読み取る命令読み取り手段と、
前記命令読み取り手段によって読み取った前記命令を格納する格納手段と、
前記格納手段によって、格納した前記命令を変更することができる変更手段と、
前記第1の記憶装置とのインターフェースであるインターフェース制御手段とを有することを特徴とするメモリブリッジ装置。 - 前記第1の記憶装置は、SDメモリカードであることを特徴とする請求項1記載のメモリブリッジ装置。
- 前記格納手段は、ソフトウェアでアクセス可能なRAMであることを特徴とする請求項1記載のメモリブリッジ装置。
- 前記格納手段は、物理的に着脱可能なROMであることを特徴とする請求項1記載のメモリブリッジ装置。
- 前記格納手段は、ソフトウェアにて書き換え可能なフラッシュROMであることを特徴とする請求項1記載のメモリブリッジ装置。
- 前記インターフェース制御手段は、前記SDメモリカードに発行するコマンドをセットするコマンドレジスタと、前記コマンドの発行結果や前記インターフェース制御手段の状態を保持する状態レジスタと、各種制御を行う制御レジスタを有することを特徴とする請求項1記載のメモリブリッジ装置。
- 前記RAMは、前記RAM空間内に前記第1の記憶装置のアクセスに使用する前記命令を配置することができ、前記変更手段によって前記格納手段によって格納した前記命令を変更することできることを特徴とする請求項3記載のメモリブリッジ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130625A JP2004334593A (ja) | 2003-05-08 | 2003-05-08 | メモリブリッジ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003130625A JP2004334593A (ja) | 2003-05-08 | 2003-05-08 | メモリブリッジ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004334593A true JP2004334593A (ja) | 2004-11-25 |
Family
ID=33506086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003130625A Withdrawn JP2004334593A (ja) | 2003-05-08 | 2003-05-08 | メモリブリッジ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004334593A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172129A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム |
JP2012212454A (ja) * | 2006-01-17 | 2012-11-01 | Nokia Corp | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス |
CN103309828A (zh) * | 2013-05-31 | 2013-09-18 | 杭州晟元芯片技术有限公司 | 一种sd卡从控制器及控制方法 |
-
2003
- 2003-05-08 JP JP2003130625A patent/JP2004334593A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172129A (ja) * | 2005-12-20 | 2007-07-05 | Sony Corp | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム |
JP2012212454A (ja) * | 2006-01-17 | 2012-11-01 | Nokia Corp | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス |
JP2014220011A (ja) * | 2006-01-17 | 2014-11-20 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス |
CN103309828A (zh) * | 2013-05-31 | 2013-09-18 | 杭州晟元芯片技术有限公司 | 一种sd卡从控制器及控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7886141B2 (en) | Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems | |
CN105027080B (zh) | 用于多重启动装置的启动顺序 | |
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2007206885A (ja) | コンピュータシステム及びシステム起動方法 | |
EP0797800A1 (en) | System for providing bios to host computer | |
JPH07234781A (ja) | コンピュータブート用両エンディアンファームウェアシステム | |
US20100169546A1 (en) | Flash memory access circuit | |
JPH11219299A (ja) | マイクロコンピュータ | |
CN105190551B (zh) | 具有存储器区域交换机制的双引导系统 | |
JP5578811B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2004334593A (ja) | メモリブリッジ装置 | |
CN114047952B (zh) | 用于单片机的处理器、方法、单片机和存储介质 | |
JPH0651981A (ja) | データ処理装置 | |
JP4791792B2 (ja) | デジタルシグナルプロセッサシステムおよびそのブート方法。 | |
WO2002093390A1 (fr) | Processeur de donnees et procede pour mettre a jour une table de donnees | |
CN115004154A (zh) | Simd处理器中的指令级上下文切换 | |
JP2003029975A (ja) | Os立上げ方法、os立上げシステム及びos立上げのためのプログラム | |
JP2008015725A (ja) | 情報処理装置およびプログラム起動方法 | |
WO2007049423A1 (ja) | コンピュータシステム、及びそれにおける基本プログラムの起動方法 | |
JP2009093270A (ja) | コンピュータシステム及びその起動方法 | |
US20050216704A1 (en) | Device and method for managing a microprocessor instruction set | |
JP2000105701A (ja) | データ処理装置 | |
GB2304209A (en) | Starting up a processor system | |
JP2004287618A (ja) | オペレーティングシステム起動制御方法、およびその方法をコンピュータに実行させるプログラム、ならびにオペレーティングシステム起動制御装置 | |
JP3442972B2 (ja) | 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |