(57)【要約】【課題】ＬＳＩの処理速度の向上および消費電力の削減を図るために、ＣＰＵの外部バスに接続されたメモリ間でのデータ転送における処理速度の向上を図る。【解決手段】ＲＯＭ13に格納されているプログラムにより、ハードウェア部15にあるレジスタ領域29の読み出しメモリ先頭アドレス設定レジスタ31、書き込みメモリ先頭アドレス設定レジスタ32、転送データバイト数設定レジスタ33に各値を設定し、プログラムがデータ転送開始信号３４をイネーブルにすると、ハードウェア部１５はレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとに、外部バス21に接続された各メモリを制御し、メモリ間でのデータ転送を所定の処理クロック数で処理することから、処理速度の向上を図ることができる。【選択図】図１
2007193745.tif 000002
【特許請求の範囲】
【請求項１】
アンテナと接続され非接触通信を行うＲＦ回路と、命令を実行するＣＰＵと、前記ＣＰＵから実行されるプログラムを格納しているＲＯＭと、プログラムの実行中のデータを一時的に格納するＳＲＡＭと、前記ＲＦ回路の通信用データが格納されるバッファＲＡＭと、所定のデータが格納される不揮発性メモリと、前記バッファＲＡＭおよび前記不揮発性メモリが接続された前記ＣＰＵの外部バスと、前記外部バスに接続されたメモリの制御を行うハードウェアとを備え、
前記ハードウェアのレジスタ領域に、前記外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、前記各レジスタに基づいて前記外部バスに接続されたメモリ間でのデータ転送を前記ＣＰＵを介さずに実施するメモリユーティリティ部を前記ハードウェアに備えていることを特徴とするＩＣカード用ＬＳＩ。
【請求項２】
前記不揮発性メモリはＦｅＲＡＭである請求項１記載のＩＣカード用ＬＳＩ。
【請求項３】
前記不揮発性メモリはフラッシュメモリである請求項１記載のＩＣカード用ＬＳＩ。
【請求項４】
前記メモリユーティリティ部は、前記外部バスに接続されたメモリ間でのデータ転送において、データ１バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備える請求項１記載のＩＣカード用ＬＳＩ。
【請求項５】
前記ハードウェアのレジスタ領域に、前記データ転送における処理クロック数の選択用のレジスタを更に備える請求項４記載のＩＣカード用ＬＳＩ。
【請求項６】
前記メモリユーティリティ部は、前記外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備える請求項１記載のＩＣカード用ＬＳＩ。
【請求項７】
前記ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備える請求項６記載のＩＣカード用ＬＳＩ。
【請求項８】
データ転送中は前記ＣＰＵを低消費電力モードに設定する制御部を更に備える請求項１記載のＩＣカード用ＬＳＩ。
【請求項９】
請求項１記載のＩＣカード用ＬＳＩを用いて、前記外部バスに接続されたメモリ間でデータの転送を行うメモリデータ転送方法であって、
前記ＲＯＭに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、前記プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始することを特徴とするメモリデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードに使用されるＬＳＩにおいて、ＣＰＵ(マイクロプロセッサ)の外部バスに接続されたメモリ間でのデータ転送を行うＩＣカード用ＬＳＩおよびメモリデータ転送方法に関するものである。
【背景技術】
【０００２】
ＩＣカードに使用されるＬＳＩは図４に示すように、ＣＰＵ(マイクロプロセッサ)１２、アプリケーションやＩＣカードの制御プログラムが格納されているＲＯＭ１３、プログラム動作中に一時的にデータを格納しておくＳＲＡＭ１４、ハードウェア部１５、通信用データが格納されるバッファＲＡＭ１６、電気的に書き換えが可能であり、電源を切っても記憶された内容が消えない不揮発性メモリ１７、非接触通信を行うＲＦ回路部１８があり、ＬＳＩ１１を構成している。
【０００３】
図５は、バス構成図である。ＣＰＵ１２には、内部にＲＯＭ１３とＳＲＡＭ１４がＲＯＭバス１９及びＳＲＡＭバス２０で接続されている。また外部バス２１には、ハードウェア部１５、バッファＲＡＭ１６、不揮発性メモリ１７が接続されている。ＩＣカードの動作は、ＲＯＭ１３に格納されているプログラムがＣＰＵ１２により実行されることで行われ、ハードウェア部１５のレジスタやＳＲＡＭ１４、バッファＲＡＭ１６、不揮発性メモリ１７へアクセスすることになる。またプログラムによっては、各メモリ間でのデータ転送を行う場合もある。
【０００４】
図６は外部バスにバッファＲＡＭ１６と不揮発性メモリ１７としてＦｅＲＡＭ２２を接続した場合における、バッファＲＡＭ１６とＦｅＲＡＭ２２間のデータ転送の実現方法を示したものである。外部バス２１に接続されたバッファＲＡＭ１６とＦｅＲＡＭ２２でのデータ転送を行う場合、例えばバッファＲＡＭ１６からＦｅＲＡＭ２２へのデータ転送においては、ＣＰＵ１２から外部メモリ制御信号２３をハードウェア部１５のメモリ制御部２４へ出力し、メモリ制御部内のバッファＲＡＭ制御部２５においてバッファＲＡＭ１６の読み出し処理を行うための制御信号２６を生成し、バッファＲＡＭ１６へ出力する。バッファＲＡＭ１６の処理が終わると、バッファＲＡＭ１６はＡＣＫ信号２７をハードウェア部１５のメモリ制御部２４へ出力し、メモリ制御部２４は、その信号をＣＰＵ１２へ返すことで、バッファＲＡＭ１６の読み出し処理は終了する。次に同様にしてＦｅＲＡＭへの書き込み処理を行うことで、バッファＲＡＭ１６からＦｅＲＡＭ２２へのデータ転送が行われる。ＦｅＲＡＭ２２からバッファＲＡＭ１６へのデータ転送に関しても、同じである。
【特許文献１】特開２０００−１５１７５３号公報(第一頁、従来の技術)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非接触ＩＣカードの用途の一つとして電子乗車券がある。電子乗車券に使用される場合、改札機を通る際の処理速度及び通信距離が大きな課題となってくる。
【０００６】
ＬＳＩの内部処理において、外部バスに接続されている各メモリ間でのデータ転送を、ＣＰＵを介して実行する方法では、まずデータ転送元のメモリに対して読み出し処理を行い、その処理が完了後、データ転送先のメモリに対して書き込み処理を行う必要があり、処理時間が長くなる。またＣＰＵはデータ転送中動作し続けることになるので、消費電力も抑えることができず、通信距離に影響を及ぼすという課題がある。
【０００７】
したがって、本発明の目的は、上記問題を解決するものであり、外部バスに接続されたメモリ間のデータ転送を高速に行うことができ、かつデータ転送時における消費電力を抑えることができるＩＣカード用ＬＳＩおよびメモリデータ転送方法を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１記載のＩＣカード用ＬＳＩは、アンテナと接続され非接触通信を行うＲＦ回路と、命令を実行するＣＰＵ（マイクロプロセッサ）と、ＣＰＵから実行されるプログラムを格納しているＲＯＭと、プログラムの実行中のデータを一時的に格納するＳＲＡＭと、ＲＦ回路の通信用データが格納されるバッファＲＡＭと、所定のデータが格納される不揮発性メモリと、バッファＲＡＭおよび不揮発性メモリが接続されたＣＰＵの外部バスと、外部バスに接続されたメモリの制御を行うハードウェアとを備え、ハードウェアのレジスタ領域に、外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、各レジスタに基づいて外部バスに接続されたメモリ間でのデータ転送をＣＰＵを介さずに実施するメモリユーティリティ部をハードウェアに備えている。
【０００９】
請求項２記載のＩＣカード用ＬＳＩは、請求項１記載のＩＣカード用ＬＳＩにおいて、不揮発性メモリはＦｅＲＡＭである。
【００１０】
請求項３記載のＩＣカード用ＬＳＩは、請求項１記載のＩＣカード用ＬＳＩにおいて、不揮発性メモリはフラッシュメモリである。
【００１１】
請求項４記載のＩＣカード用ＬＳＩは、請求項１記載のＩＣカード用ＬＳＩにおいて、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送において、データ１バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備える。
【００１２】
請求項５記載のＩＣカード用ＬＳＩは、請求項４記載のＩＣカード用ＬＳＩにおいて、ハードウェアのレジスタ領域に、データ転送における処理クロック数の選択用のレジスタを更に備える。
【００１３】
請求項６記載のＩＣカード用ＬＳＩは、請求項１記載のＩＣカード用ＬＳＩにおいて、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備える。
【００１４】
請求項７記載のＩＣカード用ＬＳＩは、請求項６記載のＩＣカード用ＬＳＩにおいて、ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備える。
【００１５】
請求項８記載のＩＣカード用ＬＳＩは、請求項１記載のＩＣカード用ＬＳＩにおいて、データ転送中はＣＰＵを低消費電力モードに設定する制御部を更に備える。
【００１６】
請求項９記載のメモリデータ転送方法は、請求項１記載のＩＣカード用ＬＳＩを用いて、外部バスに接続されたメモリ間でデータの転送を行うメモリデータ転送方法であって、ＲＯＭに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始する。
【発明の効果】
【００１７】
本発明の請求項１記載のＩＣカード用ＬＳＩによれば、ハードウェアのレジスタ領域に、外部バスに接続されたメモリ間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備え、各レジスタに基づいて外部バスに接続されたメモリ間でのデータ転送をＣＰＵを介さずに実施するメモリユーティリティ部をハードウェアに備えているので、外部バスに接続されたメモリ間でのデータ転送を、ＣＰＵを介さずにハードウェアで実現することができる。これにより、ＬＳＩの内部処理を高速化し、またメモリ間のデータ転送時をハードウェアにより実現したことから、データ転送中にＣＰＵで消費される電力を抑えることができ、ＬＳＩ全体の消費電力を低減することを可能としたＬＳＩを実現するものである。
【００１８】
請求項２では、請求項１記載のＩＣカード用ＬＳＩにおいて、不揮発性メモリはＦｅＲＡＭであることが好ましい。請求項３では、請求項１記載のＩＣカード用ＬＳＩにおいて、不揮発性メモリはフラッシュメモリであることが好ましい。これにより電気的に書き換え可能であり、電源を切っても記憶された内容が消えない。
【００１９】
請求項４では、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送において、データ１バイトを転送するのに必要な処理クロック数を選択可能とする制御部を備えるので、データ１バイトを転送する場合に必要なクロック数を、処理内容に応じて選択することができるため、処理速度向上または消費電力の抑制を実現することができる。
【００２０】
請求項５では、ハードウェアのレジスタ領域に、データ転送における処理クロック数の選択用のレジスタを更に備えるので、データ１バイトを転送する場合に必要なクロック数を別途レジスタに設定できる。
【００２１】
請求項６では、メモリユーティリティ部は、外部バスに接続されたメモリ間でのデータ転送と並列に読み出しデータのパリティコードを計算する制御部を備えるので、データの整合性を保つということから、メモリ間のデータ転送と並行してパリティ計算を行うことができる。このため、データ転送とパリティコード計算という処理の処理時間の短縮を図ることができる。
【００２２】
請求項７では、ハードウェアのレジスタ領域に、データ転送とパリティコード計算を並列に行うかどうかを選択するパリティコード計算並列処理選択用のレジスタを更に備えるので、ＬＳＩの処理内容に応じて、データ転送のみもしくは、データ転送＋パリティコード計算という処理の使い分けを可能とする。
【００２３】
請求項８では、データ転送中はＣＰＵを低消費電力モードに設定する制御部を更に備えるので、データ転送中はＣＰＵを低消費電力モードに設定することで、データ転送中にＣＰＵで消費される電力を抑えることができる。
【００２４】
本発明の請求項９記載のメモリデータ転送方法によれば、ＲＯＭに格納されたプログラムが、読み出しメモリ先頭アドレス、書き込みメモリ先頭アドレスおよび転送データバイト数をハードウェアにあるレジスタにセットし、プログラムがデータ転送開始信号をイネーブルにすると、ハードウェアはレジスタにセットされたメモリ先頭アドレス及びデータバイト数をもとにメモリ間のデータ転送を開始するので、外部バスに接続されたメモリ間でのデータ転送を、ＣＰＵを介さずにハードウェアで実現することができ、請求項１と同様の効果が得られる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態について、図１〜図３に基づいて説明する。
【００２６】
図１は、本実施形態における外部バスに接続されたメモリ間でのデータ転送実施方法を示す構成図である。
【００２７】
このＩＣカード用ＬＳＩは、アンテナと接続され非接触通信を行うＲＦ回路１８（図５参照）と、命令を実行するＣＰＵ１２と、ＣＰＵ１２から実行されるプログラムを格納しているＲＯＭ１３と、プログラムの実行中のデータを一時的に格納するＳＲＡＭ１４と、ＲＦ回路１８の通信用データが格納されるバッファＲＡＭ１６と、セキュリティデータ等の所定のデータが格納される不揮発性メモリと、バッファＲＡＭ１６および不揮発性メモリ１７（図５参照）が接続されたＣＰＵ１２の外部バス２１と、外部バス２１に接続されたメモリ１６，１７の制御を行うハードウェア部１５とを備えている。
【００２８】
上記不揮発性メモリ１７としてＦｅＲＡＭ２２を接続した場合について説明する。
【００２９】
図１において、ハードウェア部１５には、レジスタ領域２９、外部バス２１に接続されたメモリ１６，２２間のデータ転送や、メモリデータのパリティコード生成を行うメモリユーティリティ部３０、外部バス２１に接続されたメモリの制御を行うメモリ制御部２４がある。レジスタ領域２９には、外部バス２１に接続されたメモリ１６，２２間でのデータ転送における読み出しメモリ先頭アドレス設定レジスタ、書き込みメモリ先頭アドレス設定レジスタ、転送データバイト数設定レジスタの各レジスタを備えている。メモリユーティリティ部３０は、各レジスタに基づいて外部バス２１に接続されたメモリ１６，２２間でのデータ転送をＣＰＵ１２を介さずに実施する。
【００３０】
上記構成のＬＳＩ１１の動作について説明する。外部バス２１に接続されたバッファＲＡＭ１６からＦｅＲＡＭ２２へのデータ転送を行う場合、まずＲＯＭ１３に格納されたプログラムがハードウェア部１５にあるレジスタ領域２９の読み出しメモリ先頭レジスタ３１、書き込みメモリ先頭レジスタ３２、転送データバイト数設定レジスタ３３に、各値を設定する。その後、ＣＰＵ１２のポートに接続されているデータ転送開始信号３４をイネーブル状態にすることで、外部バス２１に接続されたメモリ１６，２２間でのデータ転送が開始される。
【００３１】
次に、ハードウェア部１５の詳細な動作について、ＦｅＲＡＭ２２からバッファＲＡＭ１６へのデータ転送を例に説明する。まず、ＲＯＭ１３に格納されているプログラムはハードウェア部１５のレジスタ領域２９にある読み出しメモリ先頭アドレス設定レジスタ３１に転送元となるＦｅＲＡＭ２２の該当する領域の先頭アドレスを設定する。同様に、書き込みメモリ先頭アドレス設定レジスタ３２には、転送先となるバッファＲＡＭ１６のデータを格納する先頭アドレスを設定する。次に転送したいデータのバイト数を転送データバイト数設定レジスタ３３に設定する。各レジスタへの設定が終わると、プログラムはＣＰＵ１２のポートにあるデータ転送開始信号３４をイネーブル状態にすることで、ハードウェア部１５における処理が開始される。ハードウェア部１５のメモリユーティリティ部３０にあるメモリユーティリティ制御回路３５は、ＣＰＵ１２からのデータ転送開始信号３４を検知すると、レジスタ領域２９の各レジスタに設定された値を読み出し、データ転送をはじめとするメモリユーティリティ動作を制御する制御信号を生成する。メモリユーティリティ部３０のメモリユーティリティメモリ制御回路３６は、メモリユーティリティ制御回路３５から制御信号を受け取り、メモリユーティリティ動作におけるバッファＲＡＭ１６やＦｅＲＡＭ２２の制御信号３７を生成し、メモリ制御部２４へ出力する。メモリ制御部２４にあるバッファＲＡＭ制御回路２５やＦｅＲＡＭ制御回路２８は、ＣＰＵ１２からの外部メモリ制御信号２３、メモリユーティリティ部３０からのメモリユーティリティメモリ制御信号３７を受け取り、データ転送開始信号３４がイネーブル状態にあるときは、メモリユーティリティメモリ制御信号３７を元に、ディスイネーブル状態の場合は、ＣＰＵ１２からの外部メモリ制御信号２３を元に、外部バス２１に接続されたメモリを制御するためのメモリ制御信号２６を生成する。
【００３２】
図２は、本実施形態におけるデータ転送のタイミングチャートであり、ＦｅＲＡＭ２２のデータ１Ｂｙｔｅ読み出し、バッファＲＡＭ１６へのデータ書き込みを４ＣＬＫサイクルで実現している。ＦＷＦ  ＡＤＲ＋１，２…は読み出しメモリアドレス、Ｄａｔａ［０］，［１］…はＦｅＲＡＭ出力信号、ＦＷＴ  ＡＤＲ＋１，２…は書き込みメモリアドレスを示す。上記メモリ制御信号２６にはバッファＲＡＭのメモリ制御信号とＦｅＲＡＭのメモリ制御信号がある。図2にあるＦｅＲＡＭ制御信号、バッファＲＡＭの制御信号がこれに当たる。ＦｅＲＡＭ制御信号がＬｏｗになるとＦｅＲＡＭのデータ読み出しを行いＦｅＲＡＭ出力信号が確定し、外部データバスにその信号が出力される。そのタイミングでバッファＲＡＭの制御信号をＬｏｗにすることで、バッファＲＡＭには外部データバスに出力されているデータつまりＦｅＲＡＭからの出力信号を書き込む。このように一方のメモリからデータの読み出しを行い、そのデータが外部データバスに出力されている状態のときにもう一方のメモリに書き込みを行うことで処理時間の短縮が図れる。メモリ１６，２２間でのデータ転送処理が終了すると、メモリユーティリティ制御回路３５は、データ転送終了信号３９をＣＰＵ１２へと出力することで、データ転送処理を終了する。このように、ＣＰＵ１２を介さずに外部バス２１に接続されたメモリ間でのデータ転送を行うことでＬＳＩ１１の処理速度向上を実現している。
【００３３】
ＬＳＩでは、処理速度を向上させるためにクロック数をあげると消費電力も増加し、処理速度を低下させるためにクロック数を抑えると消費電力も減少する。実際にＬＳＩを使用する際、ＬＳＩの動作場面によっては、処理速度を向上させたい場合と処理速度よりも消費電力を抑えたい場合が存在する。従来の技術では、外部バス２１に接続されているメモリ間のデータ転送を、ＣＰＵ１２で行っていた。つまりデータ転送を行う際、メモリの制御信号をＣＰＵ１２が出力し、ハードウェアはその出力された制御信号に従って、メモリへアクセスし、データの読み出し・書き込み処理を行っていた。ＣＰＵ１２主導で外部バス２１に接続されたメモリ１６，２２間のデータ転送を行っていたため、データ転送における処理クロック数を可変にすることは容易ではなかった。
【００３４】
一方で本発明の実施形態では、ＣＰＵ１２の外部バス２１に接続されたメモリ１６，２２間でのデータ転送をＣＰＵ１２を介すことなくハードウェア部１５にあるメモリユーティリティ部３０で実現しているため、メモリユーティリティ部３０のメモリユーティリティメモリ制御回路３６で、メモリの制御信号を生成している。そのため、処理クロック数に併せて、メモリの制御信号を作成することが容易にできるようになっているため、データ転送処理における処理クロック数を可変にすることが実現できる。またデータ転送処理における処理クロック数を可変にすることで、ＬＳＩの動作場面に応じて、処理速度の向上または消費電力の抑制という２つの課題に対応することができる。実際には、データ転送処理における処理クロック数を４ＣＬＫ/Ｂｙｔｅもしくは８ＣＬＫ/Ｂｙｔｅの２択とし、データ転送を高速に行いたい場合は、４ＣＬＫ/Ｂｙｔｅで行うことで処理速度向上を実現し、データ転送における消費電力を抑えたい場合には、８ＣＬＫ/Ｂｙｔｅで行うことにより、メモリへの集中アクセスを無くし、消費電力を抑えることが可能となる。
【００３５】
データ転送処理における処理クロック数の設定方法としては、ハードウェア部１５にあるレジスタ領域２９にデータ転送処理における処理クロック数設定用レジスタであるメモリユーティリティ制御レジスタ３８を備えている。プログラムがデータ転送処理を行う前に、このメモリユーティリティ制御レジスタ３８の該当ビットに、処理クロック数を設定することになる。
【００３６】
詳細な設定方法について説明する。プログラムは、ＣＰＵ１２のポートにあるデータ転送開始信号３４をイネーブル状態にする前に、レジスタ領域２９のメモリユーティリティ制御レジスタ３８の該当ビットに処理クロック数を設定する。例えば、該当ビットがＨレベルであれば４ＣＬＫ/Ｂｙｔｅ、Ｌレベルであれば８ＣＬＫ/Ｂｙｔｅというようにする。メモリユーティリティ部３０のメモリユーティリティ制御回路３５は、データ転送開始信号３４がイネーブル状態になると、メモリユーティリティ制御レジスタ３８に設定された値を読み込み、データ転送の処理クロック設定に該当するビットのＨ/Ｌにより処理クロック数を決定する。次に、メモリユーティリティ制御回路３５は、この処理クロック数の情報をメモリユーティリティメモリ制御回路３６に出力し、メモリユーティリティメモリ制御回路３６では、処理クロック数に応じて、メモリユーティリティメモリ制御信号３７を生成することになる。このようにデータ転送をハードウェアで実現し、処理クロック設定用のレジスタを設けることで、データ転送処理における処理クロック数を可変にすることを容易に実現することができる。
【００３７】
また別の機能として、データのパリティコードを計算する処理をデータ転送と並列に行うことでＬＳＩの処理時間の短縮を図っている。従来は、ＣＰＵ１２の外部バス２１に接続されたメモリ間でのデータ転送を終了後にパリティコードを計算する処理を行っていた。例えば、ＦｅＲＡＭ２２からバッファＲＡＭ１６へデータ転送を行った後、再度バッファＲＡＭ１６のデータを読み出し、その読み出したデータのパリティコードを計算するといった流れとなる。このようにデータ転送とパリティコードの計算という処理を分けて行うことで、ＬＳＩの処理時間が長くなってしまう。
【００３８】
しかし本発明の実施形態では、このデータ転送とパリティコードの計算処理を並列に行うことを可能とした。本発明の実施形態では、データ転送をメモリユーティリティ部３０で行い、またパリティコードの計算も同じくメモリユーティリティ部３０で行っているため、データ転送とパリティコード計算の各処理の制御を容易に行うことができ、データ転送とパリティコード計算の並列処理の制御も容易に実現することができた。このようにデータ転送とパリティコード計算の並列処理を行うことで、従来データ転送終了後、データのパリティコードを計算していたフローに対し、データ転送＋パリティコード計算という一連の処理時間を短縮することが可能である。図３はデータ転送とパリティコード計算を並列化した場合の処理時間短縮を表した図となっている。すなわち、図３（ａ）はデータ転送後、パリティコード計算処理を行う場合、（ｂ）はデータ転送と同時にパリティコード計算処理を行う場合である。
【００３９】
データ転送とパリティコードの並列処理は、ハードウェア部１５のレジスタ領域２９にあるメモリユーティリティ制御レジスタ３８で制御され、並列処理を行うかどうかを選択することが可能である。プログラムは、ＣＰＵ１２のポートにあるデータ転送開始信号３４をイネーブル状態にする前に、レジスタ領域２９のメモリユーティリティ制御レジスタ３８の該当ビットに、パリティコードの並列処理化のＯＮ/ＯＦＦを設定する。例えば、該当ビットがＨレベルであればデータ転送とパリティコード計算の並列処理、Ｌレベルであればデータ転送のみという具合である。
【００４０】
制御内容について説明する。データ転送開始信号３４がイネーブル状態になると、メモリユーティリティ制御回路３５がメモリユーティリティ制御レジスタ３８の値を読み出し、該当ビットがＨレベルになっているかを確認する。Ｈレベルになっていれば、パリティコード生成制御信号４０をイネーブル状態にし、メモリユーティリティ部３０のパリティコード生成回路４１に出力する。パリティコード生成回路４１では、パリティコード生成制御信号４０を受けて、イネーブル状態であればパリティコードが生成され、ディスイネーブル状態であれば、パリティコードの生成は行わない構成となっている。計算されたパリティコードは、レジスタ領域２９にあるパリティコード格納レジスタ４２に格納され、この値をＲＯＭ１３に格納されているプログラムが参照することになる。このように、パリティコードの並列処理化を行うかどうかをレジスタの値にて選択可能とすることで、ＬＳＩの処理内容に応じて、データ転送のみもしくは、データ転送＋パリティコード計算という処理の使い分けを可能とし、データ転送＋パリティコード計算という処理においては、処理時間の短縮を容易に行うことが可能となる。
【００４１】
データ転送処理における消費電力を抑えるという対策として、処理クロック数とは別にＣＰＵ１２を低消費電力モードに設定するという機能を備えている。従来、ＣＰＵ１２の外部バス２１に接続されたメモリ間のデータ転送処理は、ＣＰＵ１２主導で行われていたため、データ転送中は、ＣＰＵ１２は通常モードで動作していたため、ＣＰＵ１２で消費される電力を抑えることはできなかった。
【００４２】
しかし本発明の実施形態においては、外部バス２１に接続されたメモリ間のデータ転送は、ハードウェア部１５のメモリユーティリティ部３０で行われるため、ＣＰＵ１２は、データ転送処理に関わらない。そのため、データ転送処理を実行中はＣＰＵ１２を低消費電力モードに設定することで、データ転送中にＣＰＵ１２で消費される電力を抑えることができ、データ転送処理中のＬＳＩ全体の消費電力も抑えることが可能となった。データ転送終了後は、メモリユーティリティ制御回路３５からデータ転送終了信号３９が出力されるので、その信号を受けてＣＰＵ１２は通常モードへと移行することとなる。
【００４３】
なお、メモリユーティリティ制御レジスタ３８、パリティコード格納レジスタ４２、パリティコード生成回路４１はなくてもよい。
【産業上の利用可能性】
【００４４】
本発明にかかるＩＣカード用ＬＳＩおよびメモリデータ転送方法は、ＬＳＩの処理速度の向上を図り、また消費電力を削減する構造となっていることから、改札機での高速処理や通信距離の確保が課題となる電子乗車券用のＬＳＩとして有効である。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態における外部バスに接続されたメモリ間でのデータ転送方法を行う構成図である。
【図２】本発明の実施形態におけるデータ転送タイミングチャートである。
【図３】本発明の実施形態におけるデータ転送＋パリティコード並列処理時間を示す説明図である。
【図４】ＬＳＩ全体図である。
【図５】従来例のバス構成図である。
【図６】従来例における外部バスに接続されたメモリ間でのデータ転送方法を行う構成図である。
【符号の説明】
【００４６】
１１  ＬＳＩ
１２  ＣＰＵ
１３  ＲＯＭ
１４  ＳＲＡＭ
１５  ハードウェア部
１６  バッファＲＡＭ
１７  不揮発性メモリ
１８  ＲＦ回路
１９  ＲＡＭバス
２０  ＲＯＭバス
２１  外部バス
２２  ＦｅＲＡＭ
２３  外部メモリ制御信号
２４  メモリ制御部
２５  バッファＲＡＭ制御回路
２６  メモリ制御回路
２７  ＡＣＫ信号
２８  ＦｅＲＡＭ制御回路
２９  レジスタ領域
３０  メモリユーティリティ部
３１  読み出しメモリ先頭アドレス設定レジスタ
３２  書き込みメモリ先頭アドレス設定レジスタ
３３  転送データバイト数設定レジスタ
３４  データ転送開始信号
３５  メモリユーティリティ制御回路
３６  メモリユーティリティメモリ制御回路
３７  メモリユーティリティメモリ制御信号
３８  メモリユーティリティ制御レジスタ
３９  データ転送終了信号
４０  パリティコード生成制御信号
４１  パリティコード生成回路
４２  パリティコード格納レジスタ
【図１】
2007193745.tif 000003
【図２】
2007193745.tif 000004
【図３】
2007193745.tif 000005
【図４】
2007193745.tif 000006
【図５】
2007193745.tif 000007
【図６】
2007193745.tif 000008