説明

ICカード用LSIおよびメモリデータ転送方法

【課題】LSIの処理速度の向上および消費電力の削減を図るために、CPUの外部バスに接続されたメモリ間でのデータ転送における処理速度の向上を図る。
【解決手段】ROM13に格納されているプログラムにより、ハードウェア部15にあるレジスタ領域29の読み出しメモリ先頭アドレス設定レジスタ31、書き込みメモリ先頭アドレス設定レジスタ32、転送データバイト数設定レジスタ33に各値を設定し、プログラムがデータ転送開始信号34をイネーブルにすると、ハードウェア部15はレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとに、外部バス21に接続された各メモリを制御し、メモリ間でのデータ転送を所定の処理クロック数で処理することから、処理速度の向上を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードに使用されるLSIにおいて、CPU(マイクロプロセッサ)の外部バスに接続されたメモリ間でのデータ転送を行うICカード用LSIおよびメモリデータ転送方法に関するものである。
【背景技術】
【0002】
ICカードに使用されるLSIは図4に示すように、CPU(マイクロプロセッサ)12、アプリケーションやICカードの制御プログラムが格納されているROM13、プログラム動作中に一時的にデータを格納しておくSRAM14、ハードウェア部15、通信用データが格納されるバッファRAM16、電気的に書き換えが可能であり、電源を切っても記憶された内容が消えない不揮発性メモリ17、非接触通信を行うRF回路部18があり、LSI11を構成している。
【0003】
図5は、バス構成図である。CPU12には、内部にROM13とSRAM14がROMバス19及びSRAMバス20で接続されている。また外部バス21には、ハードウェア部15、バッファRAM16、不揮発性メモリ17が接続されている。ICカードの動作は、ROM13に格納されているプログラムがCPU12により実行されることで行われ、ハードウェア部15のレジスタやSRAM14、バッファRAM16、不揮発性メモリ17へアクセスすることになる。またプログラムによっては、各メモリ間でのデータ転送を行う場合もある。
【0004】
図6は外部バスにバッファRAM16と不揮発性メモリ17としてFeRAM22を接続した場合における、バッファRAM16とFeRAM22間のデータ転送の実現方法を示したものである。外部バス21に接続されたバッファRAM16とFeRAM22でのデータ転送を行う場合、例えばバッファRAM16からFeRAM22へのデータ転送においては、CPU12から外部メモリ制御信号23をハードウェア部15のメモリ制御部24へ出力し、メモリ制御部内のバッファRAM制御部25においてバッファRAM16の読み出し処理を行うための制御信号26を生成し、バッファRAM16へ出力する。バッファRAM16の処理が終わると、バッファRAM16はACK信号27をハードウェア部15のメモリ制御部24へ出力し、メモリ制御部24は、その信号をCPU12へ返すことで、バッファRAM16の読み出し処理は終了する。次に同様にしてFeRAMへの書き込み処理を行うことで、バッファRAM16からFeRAM22へのデータ転送が行われる。FeRAM22からバッファRAM16へのデータ転送に関しても、同じである。
【特許文献1】特開2000−151753号公報(第一頁、従来の技術)
【発明の開示】
【発明が解決しようとする課題】
【0005】
非接触ICカードの用途の一つとして電子乗車券がある。電子乗車券に使用される場合、改札機を通る際の処理速度及び通信距離が大きな課題となってくる。
【0006】
LSIの内部処理において、外部バスに接続されている各メモリ間でのデータ転送を、CPUを介して実行する方法では、まずデータ転送元のメモリに対して読み出し処理を行い、その処理が完了後、データ転送先のメモリに対して書き込み処理を行う必要があり、処理時間が長くなる。またCPUはデータ転送中動作し続けることになるので、消費電力も抑えることができず、通信距離に影響を及ぼすという課題がある。
【0007】
したがって、本発明の目的は、上記問題を解決するものであり、外部バスに接続されたメモリ間のデータ転送を高速に行うことができ、かつデータ転送時における消費電力を抑えることができるICカード用LSIおよびメモリデータ転送方法を提供することである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1記載のICカード用LSIは、アンテナと接続され非接触通信を行うRF回路と、命令を実行するCPU(マイクロプロセッサ)と、CPUから実行されるプログラムを格納しているROMと、プログラムの実行中のデータを一時的に格納するSRAMと、RF回路の通信用データが格納されるバッファRAMと、所定のデータが格納される不揮発性メモリと、バッファRAMおよび不揮発性メモリが接続されたCPUの外部バスと、外部バスに接続されたメモリの制御を行うハードウェアとを備え、ハードウェアのレジスタ領域に、外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、各レジスタに基づいて外部バスに接続されたメモリ間でのデータ転送をCPUを介さずに実施するメモリユーティリティ部をハードウェアに備えている。
【0009】
請求項2記載のICカード用LSIは、請求項1記載のICカード用LSIにおいて、不揮発性メモリはFeRAMである。
【0010】
請求項3記載のICカード用LSIは、請求項1記載のICカード用LSIにおいて、不揮発性メモリはフラッシュメモリである。
【0011】
請求項4記載のICカード用LSIは、請求項1記載のICカード用LSIにおいて、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送において、データ1バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備える。
【0012】
請求項5記載のICカード用LSIは、請求項4記載のICカード用LSIにおいて、ハードウェアのレジスタ領域に、データ転送における処理クロック数の選択用のレジスタを更に備える。
【0013】
請求項6記載のICカード用LSIは、請求項1記載のICカード用LSIにおいて、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備える。
【0014】
請求項7記載のICカード用LSIは、請求項6記載のICカード用LSIにおいて、ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備える。
【0015】
請求項8記載のICカード用LSIは、請求項1記載のICカード用LSIにおいて、データ転送中はCPUを低消費電力モードに設定する制御部を更に備える。
【0016】
請求項9記載のメモリデータ転送方法は、請求項1記載のICカード用LSIを用いて、外部バスに接続されたメモリ間でデータの転送を行うメモリデータ転送方法であって、ROMに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始する。
【発明の効果】
【0017】
本発明の請求項1記載のICカード用LSIによれば、ハードウェアのレジスタ領域に、外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、各レジスタに基づいて外部バスに接続されたメモリ間でのデータ転送をCPUを介さずに実施するメモリユーティリティ部をハードウェアに備えているので、外部バスに接続されたメモリ間でのデータ転送を、CPUを介さずにハードウェアで実現することができる。これにより、LSIの内部処理を高速化し、またメモリ間のデータ転送時をハードウェアにより実現したことから、データ転送中にCPUで消費される電力を抑えることができ、LSI全体の消費電力を低減することを可能としたLSIを実現するものである。
【0018】
請求項2では、請求項1記載のICカード用LSIにおいて、不揮発性メモリはFeRAMであることが好ましい。請求項3では、請求項1記載のICカード用LSIにおいて、不揮発性メモリはフラッシュメモリであることが好ましい。これにより電気的に書き換え可能であり、電源を切っても記憶された内容が消えない。
【0019】
請求項4では、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送において、データ1バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備えるので、データ1バイトを転送する場合に必要なクロック数を、処理内容に応じて選択することができるため、処理速度向上または消費電力の抑制を実現することができる。
【0020】
請求項5では、ハードウェアのレジスタ領域に、データ転送における処理クロック数の選択用のレジスタを更に備えるので、データ1バイトを転送する場合に必要なクロック数を別途レジスタに設定できる。
【0021】
請求項6では、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備えるので、データの整合性を保つということから、メモリ間のデータ転送と並行してパリティ計算を行うことができる。このため、データ転送とパリティコード計算という処理の処理時間の短縮を図ることができる。
【0022】
請求項7では、ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備えるので、LSIの処理内容に応じて、データ転送のみもしくは、データ転送+パリティコード計算という処理の使い分けを可能とする。
【0023】
請求項8では、データ転送中はCPUを低消費電力モードに設定する制御部を更に備えるので、データ転送中はCPUを低消費電力モードに設定することで、データ転送中にCPUで消費される電力を抑えることができる。
【0024】
本発明の請求項9記載のメモリデータ転送方法によれば、ROMに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始するので、外部バスに接続されたメモリ間でのデータ転送を、CPUを介さずにハードウェアで実現することができ、請求項1と同様の効果が得られる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施形態について、図1〜図3に基づいて説明する。
【0026】
図1は、本実施形態における外部バスに接続されたメモリ間でのデータ転送実施方法を示す構成図である。
【0027】
このICカード用LSIは、アンテナと接続され非接触通信を行うRF回路18(図5参照)と、命令を実行するCPU12と、CPU12から実行されるプログラムを格納しているROM13と、プログラムの実行中のデータを一時的に格納するSRAM14と、RF回路18の通信用データが格納されるバッファRAM16と、セキュリティデータ等の所定のデータが格納される不揮発性メモリと、バッファRAM16および不揮発性メモリ17(図5参照)が接続されたCPU12の外部バス21と、外部バス21に接続されたメモリ16,17の制御を行うハードウェア部15とを備えている。
【0028】
上記不揮発性メモリ17としてFeRAM22を接続した場合について説明する。
【0029】
図1において、ハードウェア部15には、レジスタ領域29、外部バス21に接続されたメモリ16,22間のデータ転送や、メモリデータのパリティコード生成を行うメモリユーティリティ部30、外部バス21に接続されたメモリの制御を行うメモリ制御部24がある。レジスタ領域29には、外部バス21に接続されたメモリ16,22間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備えている。メモリユーティリティ部30は、各レジスタに基づいて外部バス21に接続されたメモリ16,22間でのデータ転送をCPU12を介さずに実施する。
【0030】
上記構成のLSI11の動作について説明する。外部バス21に接続されたバッファRAM16からFeRAM22へのデータ転送を行う場合、まずROM13に格納されたプログラムがハードウェア部15にあるレジスタ領域29の読み出しメモリ先頭レジスタ31、書き込みメモリ先頭レジスタ32、転送データバイト数設定レジスタ33に、各値を設定する。その後、CPU12のポートに接続されているデータ転送開始信号34をイネーブル状態にすることで、外部バス21に接続されたメモリ16,22間でのデータ転送が開始される。
【0031】
次に、ハードウェア部15の詳細な動作について、FeRAM22からバッファRAM16へのデータ転送を例に説明する。まず、ROM13に格納されているプログラムはハードウェア部15のレジスタ領域29にある読み出しメモリ先頭アドレス設定レジスタ31に転送元となるFeRAM22の該当する領域の先頭アドレスを設定する。同様に、書き込みメモリ先頭アドレス設定レジスタ32には、転送先となるバッファRAM16のデータを格納する先頭アドレスを設定する。次に転送したいデータのバイト数を転送データバイト数設定レジスタ33に設定する。各レジスタへの設定が終わると、プログラムはCPU12のポートにあるデータ転送開始信号34をイネーブル状態にすることで、ハードウェア部15における処理が開始される。ハードウェア部15のメモリユーティリティ部30にあるメモリユーティリティ制御回路35は、CPU12からのデータ転送開始信号34を検知すると、レジスタ領域29の各レジスタに設定された値を読み出し、データ転送をはじめとするメモリユーティリティ動作を制御する制御信号を生成する。メモリユーティリティ部30のメモリユーティリティメモリ制御回路36は、メモリユーティリティ制御回路35から制御信号を受け取り、メモリユーティリティ動作におけるバッファRAM16やFeRAM22の制御信号37を生成し、メモリ制御部24へ出力する。メモリ制御部24にあるバッファRAM制御回路25やFeRAM制御回路28は、CPU12からの外部メモリ制御信号23、メモリユーティリティ部30からのメモリユーティリティメモリ制御信号37を受け取り、データ転送開始信号34がイネーブル状態にあるときは、メモリユーティリティメモリ制御信号37を元に、ディスイネーブル状態の場合は、CPU12からの外部メモリ制御信号23を元に、外部バス21に接続されたメモリを制御するためのメモリ制御信号26を生成する。
【0032】
図2は、本実施形態におけるデータ転送のタイミングチャートであり、FeRAM22のデータ1Byte読み出し、バッファRAM16へのデータ書き込みを4CLKサイクルで実現している。FWF ADR+1,2…は読み出しメモリアドレス、Data[0],[1]…はFeRAM出力信号、FWT ADR+1,2…は書き込みメモリアドレスを示す。上記メモリ制御信号26にはバッファRAMのメモリ制御信号とFeRAMのメモリ制御信号がある。図2にあるFeRAM制御信号、バッファRAMの制御信号がこれに当たる。FeRAM制御信号がLowになるとFeRAMのデータ読み出しを行いFeRAM出力信号が確定し、外部データバスにその信号が出力される。そのタイミングでバッファRAMの制御信号をLowにすることで、バッファRAMには外部データバスに出力されているデータつまりFeRAMからの出力信号を書き込む。このように一方のメモリからデータの読み出しを行い、そのデータが外部データバスに出力されている状態のときにもう一方のメモリに書き込みを行うことで処理時間の短縮が図れる。メモリ16,22間でのデータ転送処理が終了すると、メモリユーティリティ制御回路35は、データ転送終了信号39をCPU12へと出力することで、データ転送処理を終了する。このように、CPU12を介さずに外部バス21に接続されたメモリ間でのデータ転送を行うことでLSI11の処理速度向上を実現している。
【0033】
LSIでは、処理速度を向上させるためにクロック数をあげると消費電力も増加し、処理速度を低下させるためにクロック数を抑えると消費電力も減少する。実際にLSIを使用する際、LSIの動作場面によっては、処理速度を向上させたい場合と処理速度よりも消費電力を抑えたい場合が存在する。従来の技術では、外部バス21に接続されているメモリ間のデータ転送を、CPU12で行っていた。つまりデータ転送を行う際、メモリの制御信号をCPU12が出力し、ハードウェアはその出力された制御信号に従って、メモリへアクセスし、データの読み出し・書き込み処理を行っていた。CPU12主導で外部バス21に接続されたメモリ16,22間のデータ転送を行っていたため、データ転送における処理クロック数を可変にすることは容易ではなかった。
【0034】
一方で本発明の実施形態では、CPU12の外部バス21に接続されたメモリ16,22間でのデータ転送をCPU12を介すことなくハードウェア部15にあるメモリユーティリティ部30で実現しているため、メモリユーティリティ部30のメモリユーティリティメモリ制御回路36で、メモリの制御信号を生成している。そのため、処理クロック数に併せて、メモリの制御信号を作成することが容易にできるようになっているため、データ転送処理における処理クロック数を可変にすることが実現できる。またデータ転送処理における処理クロック数を可変にすることで、LSIの動作場面に応じて、処理速度の向上または消費電力の抑制という2つの課題に対応することができる。実際には、データ転送処理における処理クロック数を4CLK/Byteもしくは8CLK/Byteの2択とし、データ転送を高速に行いたい場合は、4CLK/Byteで行うことで処理速度向上を実現し、データ転送における消費電力を抑えたい場合には、8CLK/Byteで行うことにより、メモリへの集中アクセスを無くし、消費電力を抑えることが可能となる。
【0035】
データ転送処理における処理クロック数の設定方法としては、ハードウェア部15にあるレジスタ領域29にデータ転送処理における処理クロック数設定用レジスタであるメモリユーティリティ制御レジスタ38を備えている。プログラムがデータ転送処理を行う前に、このメモリユーティリティ制御レジスタ38の該当ビットに、処理クロック数を設定することになる。
【0036】
詳細な設定方法について説明する。プログラムは、CPU12のポートにあるデータ転送開始信号34をイネーブル状態にする前に、レジスタ領域29のメモリユーティリティ制御レジスタ38の該当ビットに処理クロック数を設定する。例えば、該当ビットがHレベルであれば4CLK/Byte、Lレベルであれば8CLK/Byteというようにする。メモリユーティリティ部30のメモリユーティリティ制御回路35は、データ転送開始信号34がイネーブル状態になると、メモリユーティリティ制御レジスタ38に設定された値を読み込み、データ転送の処理クロック設定に該当するビットのH/Lにより処理クロック数を決定する。次に、メモリユーティリティ制御回路35は、この処理クロック数の情報をメモリユーティリティメモリ制御回路36に出力し、メモリユーティリティメモリ制御回路36では、処理クロック数に応じて、メモリユーティリティメモリ制御信号37を生成することになる。このようにデータ転送をハードウェアで実現し、処理クロック設定用のレジスタを設けることで、データ転送処理における処理クロック数を可変にすることを容易に実現することができる。
【0037】
また別の機能として、データのパリティコードを計算する処理をデータ転送と並列に行うことでLSIの処理時間の短縮を図っている。従来は、CPU12の外部バス21に接続されたメモリ間でのデータ転送を終了後にパリティコードを計算する処理を行っていた。例えば、FeRAM22からバッファRAM16へデータ転送を行った後、再度バッファRAM16のデータを読み出し、その読み出したデータのパリティコードを計算するといった流れとなる。このようにデータ転送とパリティコードの計算という処理を分けて行うことで、LSIの処理時間が長くなってしまう。
【0038】
しかし本発明の実施形態では、このデータ転送とパリティコードの計算処理を並列に行うことを可能とした。本発明の実施形態では、データ転送をメモリユーティリティ部30で行い、またパリティコードの計算も同じくメモリユーティリティ部30で行っているため、データ転送とパリティコード計算の各処理の制御を容易に行うことができ、データ転送とパリティコード計算の並列処理の制御も容易に実現することができた。このようにデータ転送とパリティコード計算の並列処理を行うことで、従来データ転送終了後、データのパリティコードを計算していたフローに対し、データ転送+パリティコード計算という一連の処理時間を短縮することが可能である。図3はデータ転送とパリティコード計算を並列化した場合の処理時間短縮を表した図となっている。すなわち、図3(a)はデータ転送後、パリティコード計算処理を行う場合、(b)はデータ転送と同時にパリティコード計算処理を行う場合である。
【0039】
データ転送とパリティコードの並列処理は、ハードウェア部15のレジスタ領域29にあるメモリユーティリティ制御レジスタ38で制御され、並列処理を行うかどうかを選択することが可能である。プログラムは、CPU12のポートにあるデータ転送開始信号34をイネーブル状態にする前に、レジスタ領域29のメモリユーティリティ制御レジスタ38の該当ビットに、パリティコードの並列処理化のON/OFFを設定する。例えば、該当ビットがHレベルであればデータ転送とパリティコード計算の並列処理、Lレベルであればデータ転送のみという具合である。
【0040】
制御内容について説明する。データ転送開始信号34がイネーブル状態になると、メモリユーティリティ制御回路35がメモリユーティリティ制御レジスタ38の値を読み出し、該当ビットがHレベルになっているかを確認する。Hレベルになっていれば、パリティコード生成制御信号40をイネーブル状態にし、メモリユーティリティ部30のパリティコード生成回路41に出力する。パリティコード生成回路41では、パリティコード生成制御信号40を受けて、イネーブル状態であればパリティコードが生成され、ディスイネーブル状態であれば、パリティコードの生成は行わない構成となっている。計算されたパリティコードは、レジスタ領域29にあるパリティコード格納レジスタ42に格納され、この値をROM13に格納されているプログラムが参照することになる。このように、パリティコードの並列処理化を行うかどうかをレジスタの値にて選択可能とすることで、LSIの処理内容に応じて、データ転送のみもしくは、データ転送+パリティコード計算という処理の使い分けを可能とし、データ転送+パリティコード計算という処理においては、処理時間の短縮を容易に行うことが可能となる。
【0041】
データ転送処理における消費電力を抑えるという対策として、処理クロック数とは別にCPU12を低消費電力モードに設定するという機能を備えている。従来、CPU12の外部バス21に接続されたメモリ間のデータ転送処理は、CPU12主導で行われていたため、データ転送中は、CPU12は通常モードで動作していたため、CPU12で消費される電力を抑えることはできなかった。
【0042】
しかし本発明の実施形態においては、外部バス21に接続されたメモリ間のデータ転送は、ハードウェア部15のメモリユーティリティ部30で行われるため、CPU12は、データ転送処理に関わらない。そのため、データ転送処理を実行中はCPU12を低消費電力モードに設定することで、データ転送中にCPU12で消費される電力を抑えることができ、データ転送処理中のLSI全体の消費電力も抑えることが可能となった。データ転送終了後は、メモリユーティリティ制御回路35からデータ転送終了信号39が出力されるので、その信号を受けてCPU12は通常モードへと移行することとなる。
【0043】
なお、メモリユーティリティ制御レジスタ38、パリティコード格納レジスタ42、パリティコード生成回路41はなくてもよい。
【産業上の利用可能性】
【0044】
本発明にかかるICカード用LSIおよびメモリデータ転送方法は、LSIの処理速度の向上を図り、また消費電力を削減する構造となっていることから、改札機での高速処理や通信距離の確保が課題となる電子乗車券用のLSIとして有効である。
【図面の簡単な説明】
【0045】
【図1】本発明の実施形態における外部バスに接続されたメモリ間でのデータ転送方法を行う構成図である。
【図2】本発明の実施形態におけるデータ転送タイミングチャートである。
【図3】本発明の実施形態におけるデータ転送+パリティコード並列処理時間を示す説明図である。
【図4】LSI全体図である。
【図5】従来例のバス構成図である。
【図6】従来例における外部バスに接続されたメモリ間でのデータ転送方法を行う構成図である。
【符号の説明】
【0046】
11 LSI
12 CPU
13 ROM
14 SRAM
15 ハードウェア部
16 バッファRAM
17 不揮発性メモリ
18 RF回路
19 RAMバス
20 ROMバス
21 外部バス
22 FeRAM
23 外部メモリ制御信号
24 メモリ制御部
25 バッファRAM制御回路
26 メモリ制御回路
27 ACK信号
28 FeRAM制御回路
29 レジスタ領域
30 メモリユーティリティ部
31 読み出しメモリ先頭アドレス設定レジスタ
32 書き込みメモリ先頭アドレス設定レジスタ
33 転送データバイト数設定レジスタ
34 データ転送開始信号
35 メモリユーティリティ制御回路
36 メモリユーティリティメモリ制御回路
37 メモリユーティリティメモリ制御信号
38 メモリユーティリティ制御レジスタ
39 データ転送終了信号
40 パリティコード生成制御信号
41 パリティコード生成回路
42 パリティコード格納レジスタ

【特許請求の範囲】
【請求項1】
アンテナと接続され非接触通信を行うRF回路と、命令を実行するCPUと、前記CPUから実行されるプログラムを格納しているROMと、プログラムの実行中のデータを一時的に格納するSRAMと、前記RF回路の通信用データが格納されるバッファRAMと、所定のデータが格納される不揮発性メモリと、前記バッファRAMおよび前記不揮発性メモリが接続された前記CPUの外部バスと、前記外部バスに接続されたメモリの制御を行うハードウェアとを備え、
前記ハードウェアのレジスタ領域に、前記外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、前記各レジスタに基づいて前記外部バスに接続されたメモリ間でのデータ転送を前記CPUを介さずに実施するメモリユーティリティ部を前記ハードウェアに備えていることを特徴とするICカード用LSI。
【請求項2】
前記不揮発性メモリはFeRAMである請求項1記載のICカード用LSI。
【請求項3】
前記不揮発性メモリはフラッシュメモリである請求項1記載のICカード用LSI。
【請求項4】
前記メモリユーティリティ部は、前記外部バスに接続されたメモリ間でのデータ転送において、データ1バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備える請求項1記載のICカード用LSI。
【請求項5】
前記ハードウェアのレジスタ領域に、前記データ転送における処理クロック数の選択用のレジスタを更に備える請求項4記載のICカード用LSI。
【請求項6】
前記メモリユーティリティ部は、前記外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備える請求項1記載のICカード用LSI。
【請求項7】
前記ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備える請求項6記載のICカード用LSI。
【請求項8】
データ転送中は前記CPUを低消費電力モードに設定する制御部を更に備える請求項1記載のICカード用LSI。
【請求項9】
請求項1記載のICカード用LSIを用いて、前記外部バスに接続されたメモリ間でデータの転送を行うメモリデータ転送方法であって、
前記ROMに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、前記プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始することを特徴とするメモリデータ転送方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate