(57)【要約】【課題】処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能なＩＣカード用ＩＣチップ、ＩＣカード及びＩＣカード用プログラムを提供する。【解決手段】プログラムＡを実行する第１処理手順（Ｓ１００〜Ｓ１４０，Ｓ２００）と、プログラムＢを実行する第２処理手順（Ｓ１５０）とを備え、ＩＣカードのＣＰＵにプログラムＡ及びプログラムＢを実行させるためのＩＣカード用プログラムであって、第１処理手順は、ＩＣチップの周辺回路を起動する手順（Ｓ１１０）と、周辺回路を起動した場合に、プログラムＡの実行を中断する手順（Ｓ１２０，Ｓ１３０，Ｓ１４０）と、周辺回路からの処理完了割り込み（Ｓ１６０）があった場合に、プログラムＡの実行を再開する手順（Ｓ１８０，Ｓ１９０）とを有し、周辺回路の動作と並行して第２処理手順を実行することを特徴とする。【選択図】図２
2006127360.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、前記ＣＰＵに接続されている周辺回路とを備えるＩＣカード用ＩＣチップにおいて、
前記ＣＰＵは、前記周辺回路の起動を含む第１の処理を実行する第１の処理実行手段と、前記第１の処理実行手段によって前記周辺回路が起動された場合に、前記周辺回路の動作と並行して第２の処理を実行する第２の処理実行手段とを有すること、
を特徴とするＩＣカード用ＩＣチップ。
【請求項２】
請求項１に記載のＩＣカード用ＩＣチップにおいて、
前記ＣＰＵは、前記第１の処理実行手段によって周辺回路が起動された場合に、前記第１の処理の実行を中断する第１処理中断手段と、前記第１の処理実行手段によって起動された周辺回路からの処理完了割り込み、又は、タイマ割り込みがあった場合に、前記第１処理中断手段によって中断されている第１の処理の実行を再開する第１処理再開手段とを有すること、
を特徴とするＩＣカード用ＩＣチップ。
【請求項３】
請求項１又は請求項２に記載のＩＣカード用ＩＣチップにおいて、
前記周辺回路として、書き換え可能な不揮発性メモリ、通信デバイス又はコプロセッサを備えること、
を特徴とするＩＣカード用ＩＣチップ。
【請求項４】
請求項１から請求項３までのいずれか１項に記載のＩＣカード用ＩＣチップにおいて、
前記ＣＰＵは、前記第１の処理実行手段によって周辺回路が起動された場合に、前記第１の処理とは異なる他の実行すべき処理を優先度に基づいて選択する選択手段を有し、
前記第２の処理実行手段は、前記第１の処理実行手段によって起動された周辺回路の動作と並行して、前記選択手段によって選択された処理を実行すること、
を特徴とするＩＣカード用ＩＣチップ。
【請求項５】
請求項１から請求項４までのいずれか１項に記載のＩＣカード用ＩＣチップにおいて、
前記ＣＰＵは、前記第１の処理実行手段によって起動される周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手段と、前記予測消費電力取得手段によって取得された予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手段とを有し、
前記第１処理実行手段は、前記電力判定手段が肯と判定した場合に、前記周辺回路を起動すること、
を特徴とするＩＣカード用ＩＣチップ。
【請求項６】
請求項１から請求項５までのいずれか１項に記載のＩＣカード用ＩＣチップと、
ＩＣカード基体と
を備えるＩＣカード。
【請求項７】
第１の処理を実行する第１の処理実行手順と、第２の処理を実行する第２の処理実行手順とを備え、ＩＣカード用ＩＣチップのＣＰＵに前記第１及び第２の処理を含む複数の処理を実行させるためのＩＣカード用プログラムであって、
前記第１の処理実行手順は、周辺回路を起動する周辺回路起動手順を有し、
前記第２の処理実行手順は、前記周辺回路起動手順において起動した前記周辺回路の動作と並行して実行されること、
を特徴とするＩＣカード用プログラム。
【請求項８】
請求項７に記載のＩＣカード用プログラムにおいて、
前記周辺回路起動手順において周辺回路を起動した場合に、前記第１の処理実行手順における第１の処理の実行を中断する第１処理中断手順と、
前記周辺回路起動手順において起動した周辺回路からの処理完了割り込み、又は、タイマ割り込みがあった場合に、前記第１処理中断手順において中断した第１の処理の実行を再開する第１処理再開手順とを備えること、
を特徴とするＩＣカードプログラム。
【請求項９】
請求項７又は請求項８に記載のＩＣカード用プログラムにおいて、
前記周辺回路起動手順は、前記ＩＣカード用ＩＣチップに設けられている書き換え可能な不揮発性メモリ、通信デバイス又はコプロセッサを起動すること、
を特徴とするＩＣカード用プログラム。
【請求項１０】
請求項７から請求項９までのいずれか１項に記載のＩＣカード用プログラムにおいて、
前記周辺回路起動手順において周辺回路を起動した場合に、前記第１の処理とは異なる他の実行すべき処理を優先度に基づいて選択する処理選択手順を備え、
前記第２の処理実行手順は、前記周辺回路起動手順において起動した前記周辺回路の動作と並行して前記処理選択手順で選択した処理を実行すること、
を特徴とするＩＣカード用プログラム。
【請求項１１】
請求項７から請求項１０までのいずれか１項に記載のＩＣカード用プログラムにおいて、
前記第１の処理実行手順において起動する周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手順と、
前記予測消費電力取得手順において取得した予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手順とを備え、
前記周辺回路起動手順は、前記判定手順において肯と判定した場合に、実行されること、
を特徴とするＩＣカード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードに搭載するためのＩＣカード用ＩＣチップ、ＩＣカード及びＩＣカード用ＩＣチップのＣＰＵに実行させるＩＣカード用プログラムに関するものである。
【背景技術】
【０００２】
ＩＣカード用ＩＣチップ（以下、「ＩＣカードチップ」という。）には、ＣＰＵとメモリのほかに、データ通信を行うＵＡＲＴなどの通信デバイス、ＥＥＰＲＯＭなどのデータを保存する書換え可能メモリ、暗号演算を行うコプロセッサといった周辺回路が搭載されている（例えば、特許文献１参照）。
ＩＣカードは、ゲート端末、ＡＴＭなどのリーダライタターミナルからコマンドを受信し、このコマンドに対応するプログラムを実行し、その処理結果をレスポンスとして外部端末へ送信する。このデータの送受信を行う場合には、図５に示すように、ＵＡＲＴが動作する一方、ＣＰＵは待機状態にあり、ＵＡＲＴにおけるデータの送受信が完了するとＣＰＵが起動する。また、他の周辺回路についても同様であり、ＣＰＵは、周辺回路が起動してから動作が完了するまでの間、処理を行わず、待機状態又は停止状態となっていた。
【特許文献１】特開平５−３４２４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
つまり、ＩＣカードチップに搭載される周辺回路が動作する間、ＣＰＵは、周辺回路の動作完了を待ってから次の処理を行うなど、直列的に複数の処理を行うため、リーダライタターミナルからコマンドを受信してから応答するまで時間が遅くなってしまう問題があった。特に、書換え可能メモリの書換え処理や、ＵＡＲＴのデータ送受信処理、コプロセッサの暗号演算処理には、多くの時間がかかるため、ＩＣカードの応答速度低下の要因となっていた。
【０００４】
本発明の課題は、処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能なＩＣカード用ＩＣチップ、ＩＣカード及びＩＣカード用プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施例に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、ＣＰＵ（１７）と、前記ＣＰＵに接続されている周辺回路（１３１、１６、１８）とを備えるＩＣカード用ＩＣチップ（１１）において、前記ＣＰＵは、前記周辺回路の起動を含む第１の処理を実行する第１の処理実行手段（１７，Ｓ１００〜Ｓ１４０）と、前記第１の処理実行手段によって前記周辺回路が起動された場合に、前記周辺回路の動作と並行して第２の処理を実行する第２の処理実行手段（１７，Ｓ１５０）とを有すること、を特徴とするＩＣカード用ＩＣチップ（１１）である。
【０００６】
請求項２の発明は、請求項１に記載のＩＣカード用ＩＣチップにおいて、前記ＣＰＵは、前記第１の処理実行手段によって周辺回路が起動された場合に、前記第１の処理の実行を中断する第１処理中断手段（１７，Ｓ１２０〜Ｓ１４０）と、前記第１の処理実行手段によって起動された周辺回路からの処理完了割り込み（Ｓ１６０）、又は、タイマ割り込みがあった場合に、前記第１処理中断手段によって中断されている第１の処理の実行を再開する第１処理再開手段（１７，Ｓ１８０，Ｓ１９０）とを有すること、を特徴とするＩＣカード用ＩＣチップ（１１）である。
【０００７】
請求項３の発明は、請求項１又は請求項２に記載のＩＣカード用ＩＣチップにおいて、前記周辺回路として、書き換え可能な不揮発性メモリ（１６）、通信デバイス（１３１）又はコプロセッサ（１８）を備えること、を特徴とするＩＣカード用ＩＣチップ（１１）である。
【０００８】
請求項４の発明は、請求項１から請求項３までのいずれか１項に記載のＩＣカード用ＩＣチップにおいて、前記ＣＰＵは、前記第１の処理実行手段によって周辺回路が起動された場合に、前記第１の処理とは異なる他の実行すべき処理を優先度に基づいて選択する選択手段（１７，Ｓ１３０）を有し、前記第２の処理実行手段は、前記第１の処理実行手段によって起動された周辺回路の動作と並行して、前記選択手段によって選択された処理を実行すること、を特徴とするＩＣカード用ＩＣチップ（１１）である。
【０００９】
請求項５の発明は、請求項１から請求項４までのいずれか１項に記載のＩＣカード用ＩＣチップにおいて、前記ＣＰＵは、前記第１の処理実行手段によって起動される周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手段と、前記予測消費電力取得手段によって取得された予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手段とを有し、前記第１処理実行手段は、前記電力判定手段が肯と判定した場合に、前記周辺回路を起動すること、を特徴とするＩＣカード用ＩＣチップ（１１）である。
【００１０】
請求項６の発明は、請求項１から請求項５までのいずれか１項に記載のＩＣカード用ＩＣチップ（１１）と、ＩＣカード基体とを備えるＩＣカード（１０）である。
【００１１】
請求項７の発明は、第１の処理を実行する第１の処理実行手順（Ｓ１００〜Ｓ１４０，Ｓ２００）と、第２の処理を実行する第２の処理実行手順（Ｓ１５０）とを備え、ＩＣカード用ＩＣチップのＣＰＵに前記第１及び第２の処理を含む複数の処理を実行させるためのＩＣカード用プログラムであって、前記第１の処理実行手順は、周辺回路を起動する周辺回路起動手順（Ｓ１１０）を有し、前記第２の処理実行手順は、前記周辺回路起動手順において起動した前記周辺回路の動作と並行して実行されること、を特徴とするＩＣカード用プログラムである。
【００１２】
請求項８の発明は、請求項７に記載のＩＣカード用プログラムにおいて、前記周辺回路起動手順において周辺回路を起動した場合に、前記第１の処理実行手順における第１の処理の実行を中断する第１処理中断手順（Ｓ１２０〜Ｓ１４０）と、前記周辺回路起動手順において起動した周辺回路からの処理完了割り込み（Ｓ１６０）、又は、タイマ割り込みがあった場合に、前記第１処理中断手順において中断した第１の処理の実行を再開する第１処理再開手順（Ｓ１８０，Ｓ１９０）とを備えること、を特徴とするＩＣカードプログラムである。
【００１３】
請求項９の発明は、請求項７又は請求項８に記載のＩＣカード用プログラムにおいて、前記周辺回路起動手順は、前記ＩＣカード用ＩＣチップに設けられている書き換え可能な不揮発性メモリ（１６）、通信デバイス（１３１）又はコプロセッサ（１８）を起動すること、を特徴とするＩＣカード用プログラムである。
【００１４】
請求項１０の発明は、請求項７から請求項９までのいずれか１項に記載のＩＣカード用プログラムにおいて、前記周辺回路起動手順において周辺回路を起動した場合に、前記第１の処理とは異なる他の実行すべき処理を優先度に基づいて選択する処理選択手順（Ｓ１３０）を備え、前記第２の処理実行手順は、前記周辺回路起動手順において起動した前記周辺回路の動作と並行して前記処理選択手順で選択した処理を実行すること、を特徴とするＩＣカード用プログラムである。
【００１５】
請求項１１の発明は、請求項７から請求項１０までのいずれか１項に記載のＩＣカード用プログラムにおいて、前記第１の処理実行手順において起動する周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手順と、前記予測消費電力取得手順において取得した予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手順とを備え、前記周辺回路起動手順は、前記判定手順において肯と判定した場合に、実行されること、を特徴とするＩＣカード用プログラムである。
【発明の効果】
【００１６】
本発明によるＩＣカード用ＩＣチップ、ＩＣカード及びＩＣカード用プログラムによれば、以下の効果を得ることが可能となる。
（１）周辺回路の動作と並行して第２の処理を実行することによって、処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能となる。
（２）特に、不揮発性メモリの書き換え、通信デバイスによる送受信、コプロセッサによる演算は、比較的時間がかかるため、より一層レスポンス応答性を向上することが可能となる。
（３）優先度に基づいて、処理を選択して実行することによって、実行すべき処理が複数ある場合に処理の効率化を図り、より一層レスポンス応答性を向上することが可能となる。
（４）予測消費電力に基づいて、周辺回路を起動すべきかを判定することによって、消費電力が最大許容消費電力を超えることを防止することが可能となる。特に、複数の周辺回路が並行して動作する場合であっても、最大許容消費電力を超えることを防止することが可能となる。
【発明を実施するための最良の形態】
【００１７】
本発明は、処理の効率化及び迅速化を図り、レスポンス応答性を向上するという目的を、第１の処理を実行する第１の処理実行手順と、第２の処理を実行する第２の処理実行手順を備え、ＩＣカード用のＩＣチップのＣＰＵに第１及び第２の処理を含む複数の処理を実行させるためのＩＣカード用プログラムであって、第１の処理実行手順は、ＩＣチップの周辺回路を起動する周辺回路起動手順と、周辺回路起動手順において周辺回路を起動した場合に、第１の処理の実行を中断する第１処理中断手順と、周辺回路からの処理完了割り込み、又は、タイマ割り込みがあった場合に、第１の処理の実行を再開する第１処理再開手順とを有し、周辺回路起動手順において起動した周辺回路の動作と並行して第２の処理実行手順を実行することを特徴とすることによって実現する。
【実施例】
【００１８】
以下、図面などを参照して、本発明の実施例をあげて、さらに詳しく説明する。
図１は、本発明によるＩＣカード用ＩＣチップ、ＩＣカードの構成を示すブロック図である。
図１に示すように、ＩＣカード１０は、リーダライタ（以下、「Ｒ／Ｗ」という。）を備える情報処理装置であるリーダライタターミナル３０と通信することが可能であって、リーダライタターミナル３０からコマンド（命令）を受信し、このコマンドに応じて処理を行い、処理結果をレスポンス（応答）としてリーダライタターミナル３０へ返信する携帯型の情報処理装置である。ＩＣカード１０は、一般的なＩＣカードであってもよく、ＳＩＭカード、ＵＩＭカードやＵＳＩＭカードであってもよく、形状などのカード規格に限定されない。
【００１９】
ＩＣカード１０は、ＩＣチップ１１と、ＩＣチップ１１に接続されているＩ／Ｏ部１２とを備えている。Ｉ／Ｏ部１２は、外部との通信信号の入出力を行い、リーダライタターミナル３０との通信を媒介する。Ｉ／Ｏ部１２は、例えば、ＩＣカード１０が接触式の通信を行う場合には、リーダライタターミナル３０との接触式通信における接点となる接触端子、ＩＣカード１０が非接触式の通信を行う場合には、電磁波の送受信を行うアンテナなどである。なお、ＩＣカード１０は、接触式ＩＣカード、非接触式ＩＣカード、接触／非接触式ＩＣカードのいずれであってもよく、その通信方式は、限定されない。
【００２０】
ＩＣチップ１１は、ＣＰＵ１７と、インターフェイス１３、ＲＡＭ１４、ＲＯＭ１５、ＥＥＰＲＯＭ１６、コプロセッサ１８、クロック１９、ＲＮＧ２０、タイマ２１などのＣＰＵ１７の周辺回路とを備え、システムバス２２で相互に接続されている。
インターフェイス１３は、通信に係るデータ変換を行う通信デバイスであるＵＡＲＴ１３１（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）、変復調回路などを備え、Ｉ／Ｏ部１２から入力した信号の復調、データ変換、ＣＰＵ１７から出力されたデータをＩ／Ｏ部１２から出力するためのデータ変換、変調を行うなど、ＣＰＵ１７とリーダライタターミナル３０との通信を媒介するインターフェイス回路である。
【００２１】
ＲＡＭ１４、ＲＯＭ１５、ＥＥＰＲＯＭ１６は、ＣＰＵ１７が実行するプログラム、プログラムの実行に必要なデータを記憶するためのメモリである。ＲＡＭ１４は、揮発性メモリであり、ＣＰＵ１７が処理を行う作業領域として使用される。ＲＯＭ１５は、不揮発性の読み出し専用メモリであって、オペレーティングシステム（以下、ＯＳとする）などの基本ソフトウェアを格納している。ＥＥＰＲＯＭ１６は、随時書き換え可能な不揮発性メモリであり、アプリケーションプログラムなどのプログラム、ＩＣカードユーザに関する個人情報等のデータを格納している。また、ＥＥＰＲＯＭ１６は、ＲＡＭ１４と同様にＣＰＵ１７の作業領域として使用されることもある。なお、ＩＣカード１０は、ＥＥＰＲＯＭ１６の代わりに、ＦＲＡＭ、フラッシュメモリなどの他の書き換え可能な不揮発性メモリを備えていてもよい。
【００２２】
コプロセッサ１８は、ＣＰＵ１７の性能を強化するために特定分野に特化した補助プロセッサであって、ＣＰＵ１７からの命令に応じて暗号演算などの演算処理を行う。
クロック１９は、リーダライタターミナル３０から供給されるクロック信号に基づいて、内部の動作基準クロック信号を生成し、ＣＰＵ１７、コプロセッサに供給する回路である。
ＲＮＧ（Ｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒ）２０は、乱数発生器である。
タイマ２１は、経過時間を計測するタイマなどを備え、ＣＰＵ１７によって設定された時間が経過した場合に、ＣＰＵ１７に割り込み信号を送信し、タイマ割り込みを発生する。
なお、ＵＡＲＴ１３１、ＥＥＰＲＯＭ１６、コプロセッサ１８は、ＣＰＵ１７からの命令に従って行った処理が完了した場合に、割り込み信号をＣＰＵ１７に送信し、処理完了割り込みを行う割り込み発生部を備えている（図示しない。）。
【００２３】
ＣＰＵ１７は、このＩＣカード１０を統括制御する中央処理装置である。ＣＰＵ１７は、リーダライタターミナル３０からの命令に従って、メモリの作業領域を使用し、ＲＯＭ１５、ＥＥＰＲＯＭ１６に格納されているプログラムを実行し、逐次処理を行う。また、ＣＰＵ１７は、ＵＡＲＴ１３１、ＥＥＰＲＯＭ１６、コプロセッサ１８又はタイマ２１からの割り込みがあった場合に、各周辺回路の割り込みに応じた割り込みハンドラを実行する。なお、ＣＰＵ１７の動作及び機能の詳細は、図２を用いて後述する。
【００２４】
図２は、本発明によるＩＣカード用ＩＣチップ及びＩＣカードの動作、ＩＣカード用プログラムを示すフローチャートである。以下、ＣＰＵ１７の処理を中心に説明する。
図２に示すように、ＣＰＵ１７は、ステップ１００（以下、「ステップ」を「Ｓ」という。）において、ＩＣカード１０は、コマンドをリーダライタターミナル３０から受信し、このコマンドに対応するプログラムＡを実行する。
プログラムＡには、書き換えモジュール（ＥＥＰＲＯＭ１６の書き換えを行うサブルーチン）の呼び出しが含まれ、ＣＰＵ１７は、ＥＥＰＲＯＭ１６に書き込み対象となるデータを渡し、ＥＥＰＲＯＭ１６に対して書き込みを命令し、ＥＥＰＲＯＭ１６を起動する（Ｓ１１０）。
【００２５】
ＣＰＵ１７は、書き込み命令後に、現在実行中のプログラムＡのプログラムアドレス（以下、「ＰＣ」（プログラムカウンタ）という。）をメモリに保存する（Ｓ１２０）。
ＣＰＵ１７は、スケジューリングを行い、プログラムＡ以外の実行すべき複数のタスクのうち、優先度の高いタスク（プログラムＢ）を選択し（Ｓ１３０）、そのＰＣを次に実行するプログラムのプログラムアドレスとしてセットする（Ｓ１４０）。
ＣＰＵ１７は、プログラムＢを実行し、ＥＥＰＲＯＭ１６の動作と並行して別処理を行う（Ｓ１５０）。なお、ＣＰＵ１７がプログラムＢを実行することによって行う処理は、例えば、メモリチェック、ガーベイジコレクション、デフラグ処理、ウィルスチェックなどのメモリ管理、周辺回路動作チェックなど、処理を効率化するためのシステム内部処理である。
【００２６】
ＥＥＰＲＯＭ１６は、書き換え処理が完了した場合に割り込み信号をＣＰＵ１７に送信し、処理完了割り込みを発生させる（Ｓ１６０）。
ＣＰＵ１７は、ＥＥＰＲＯＭ１６からの割り込みに対応する割り込みハンドラを実行し、現在のＰＣをメモリに保存する（Ｓ１７０）。ＣＰＵ１７は、スケジューリングを行い、次に実行する優先度の高いタスク（プログラムＡ）を選択し（Ｓ１８０）、Ｓ１２０においてメモリに保存したプログラムＡのＰＣをセットし（Ｓ１９０）、ＥＥＰＲＯＭ１６からの処理結果を受けてプログラムＡの実行を再開する。なお、Ｓ１８０において、ＣＰＵ１７は、実行を中断しているプログラムＡよりも優先度の高いタスクがある場合には、そのプログラムを実行するなど、優先度に応じて処理を行い、プログラムＡが最も高い優先度となった場合に、プログラムＡの実行を再開する。また、プログラムＡに書き換えモジュールの呼び出しが複数回含まれている場合には、同様の処理（Ｓ１１０〜Ｓ１９０）を繰り返す。
ＣＰＵ１７は、プログラムＡの処理結果をレスポンスとしてリーダライタターミナル３０へ送信し、処理を終了する（Ｓ２００）。
【００２７】
なお、プログラムＡに、送信モジュール（リーダライタターミナル３０へ送信を行うサブルーチン）の呼び出しが含まれる場合には、同様に、ＣＰＵ１７は、ＵＡＲＴ１３１を起動し、ＵＡＲＴ１３１の動作と並行して、プログラムＡとは異なる他のプログラム（プログラムＢなど）を選択して実行し、別処理を行う。また、プログラムＡに暗号演算モジュールの呼び出しが含まれる場合も同様に、ＣＰＵ１７は、コプロセッサ１８を起動し、コプロセッサ１８の動作と並行して別処理を行う。
【００２８】
このように本実施例によれば、図３に示すように、ＣＰＵ１７は、ＥＥＰＲＯＭ１６、ＵＡＲＴ１３１、コプロセッサ１８などの周辺回路の動作と並行して、プログラムＢを実行するため、従来（図５参照。）に比べて、複数のタスクの実行における処理時間を短縮することができ、全体の処理効率が向上し、ＩＣカード１０のレスポンス応答性を向上することが可能となった。特に、ＥＥＰＲＯＭ１６の書き換え、ＵＡＲＴ１３１による送受信、コプロセッサ１８による演算は、比較的時間がかかるため、これらの動作と並行してプログラムＢを実行することによって、より一層レスポンス応答性を向上することが可能となった。
【００２９】
例えば、多くのＩＣカードのＩＣチップ１１では、ＥＥＰＲＯＭ１６の書き換えに約２ｍｓの時間を要する。従って、ＣＰＵ１７が外部クロック３．５７ＭＨｚで動作しているとき、ＣＰＵ１７は、その２ｍｓの間に、約７０００クロック分のプログラムを実行することが可能となる。また、ＵＡＲＴ１３１においては、通信速度が９６００ｂｐｓのとき、１バイトのデータを送信／受信する間に４４６４クロック（約１．２ｍｓ）を消費し、ＣＰＵ１７はその間にプログラムＢを実行することができる。例えば、ＵＡＲＴ１３１が５バイトのデータを受信する間に、ＣＰＵ１７は、４４６４×５クロック分（２２３２０クロック分）の処理を実行することが可能である。
また、ＣＰＵ１７は、周辺回路の動作と並行して実行するタスクを各タスクの優先度に基づいて選択するため、応答時間内に確実に応答し、レスポンス応答性を向上することが可能となった。同様に、ＣＰＵ１７は、完了割り込みがあった場合に実行するタスクを優先度に基づいて選択するため、レスポンス応答性を向上することが可能となった。
【００３０】
（変形例）
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ＣＰＵ１７がスケジューリングを行い、次に実行するプログラムを選択する方法は、優先度による選択に限定されず、例えば、ＥＥＰＲＯＭ１６を起動した場合には、プログラムＢ、ＵＡＲＴ１３１を起動した場合には、プログラムＣなど、予め設定されているプログラムを実行してもよい。同様に、ＥＥＰＲＯＭ１６から完了割り込みがあった場合には、このＥＥＰＲＯＭ１６の起動モジュールを呼び出したプログラムＡなど、完了割り込みがあった場合に所定のプログラムを実行してもよい。ＣＰＵ１７がどのような順でプログラムを実行するかは、任意に設定することができ、限定されない。
【００３１】
本発明によるＩＣカード用チップであるＩＣチップ１１は、ＩＣカード１０に搭載されているが、ＩＣカード機能用として携帯電話機などに搭載されていてもよく、搭載対象は、これに限定されない。
【００３２】
ＣＰＵ１７が並列して処理（プログラムＢの実行）を行うのは、ＥＥＰＲＯＭ１６、ＵＡＲＴ１３１、コプロセッサ１８の動作中に限定されず、ＲＮＧ２０など、ＩＣチップ１１のＣＰＵ１７とは別デバイスであって、独立して動作する周辺回路の動作中であれば、ＣＰＵ１７は、並列して処理を行うことが可能である。但し、ＣＰＵ１７が並列して処理を行う時間を確保するため、周辺回路の処理完了までの動作期間がある程度以上長期間であることが望ましい。
【００３３】
また、ＣＰＵ１７が、独立した割込み発生部を持たない周辺回路を起動した場合には、ＣＰＵ１７がタイマ２１に、割り込み時間を設定し、タイマ割り込みを発生させてもよい。この場合には、設定する割り込み時間は、起動した周辺回路の動作時間を想定したものであることが望ましい。周辺回路における処理が終了した場合に割り込みを発生させることができれば、割り込み方法は、周辺回路による割り込みに限定されない。
【００３４】
ＣＰＵ１７が周辺回路の動作に並行して行う処理（プログラムＢの処理）として、周辺回路の動作チェック、メモリチェックなどのシステム内部処理を例示したがこれに限定されず、ベリファイ（データ整合性比較）などの外部から要求される処理を行ってもよい。
例えば、ＣＰＵ１７は、ＵＡＲＴ１３１が動作して１バイトずつデータを受信するのと並行して、１バイトずつデータ整合性比較を行ってもよい。ＵＡＲＴ１３１が全データを受信した後に、ＣＰＵ１７がデータ整合性比較を行っていた従来に比べ、処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能となる。
【００３５】
ＣＰＵ１７は、一の周辺回路の動作に並行して処理を行うが、二以上の周辺回路の動作に並行して処理を行ってもよい。つまり、プログラムＢに周辺回路を起動するモジュールの呼び出しが含まれる場合には、ＣＰＵ１７は、この周辺回路を起動した後に、別のタスクを実行してもよい。
例えば、図４に示すように、ＣＰＵは、プログラムＢにおいてコプロセッサ１８を起動した場合に、並行してプログラムＣを実行してもよい。この場合には、複数の周辺回路（ＥＥＰＲＯＭ１６、コプロセッサ１８）が同時に動作し、ＣＰＵ１７は、複数の周辺回路のうちのいずれかから処理完了割り込みがあったときに、割り込みがあった周辺回路に対応するハンドラを実行する。
複数の周辺回路が並行して動作することによってより一層処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能となる。
【００３６】
また、現状においては、ＣＰＵ１７は、レスポンスの送信後に、次のコマンドを受信し、処理を行うシングルタスク方式で処理を行っているが、例えば、複数のコマンドがリーダライタターミナル３０から送信された場合など、外部から要求される処理が複数ある場合には、一の処理について周辺回路が動作している場合に、ＣＰＵ１７は、これに並行して他の処理を行ってもよい。レスポンス応答性を著しく向上することが可能となる。
【００３７】
プログラムＡが周辺回路を起動する周辺回路モジュールを呼び出した場合に、ＣＰＵ１７は、起動対象となる周辺回路の消費電力値をＩＣチップ１１の動作クロック、動作電圧などに基づいて算出し、現状の消費電力値に加算し、その値がチップ許容最大電力値を超えないことを確認し、周辺回路の起動（図２のＳ１１０参照。）を行ってもよい。なお、算出した値が許容最大電力を超える場合には、タスク（周辺回路モジュール）の終了処理を行い、プログラムＡを待機状態とし、他の周辺回路の処理完了割り込みなど、消費電力の低下要因が発生した場合に、改めて消費電力値を算出する。
複数の周辺回路が並行して動作する場合であっても、チップ許容最大消費電力量を超えることを防止することが可能となる。
【図面の簡単な説明】
【００３８】
【図１】本発明によるＩＣカード用ＩＣチップ、ＩＣカードの構成を示すブロック図である。（実施例１）
【図２】本発明によるＩＣカード用ＩＣチップ及びＩＣカードの動作、ＩＣカード用プログラムを示すフローチャートである。（実施例１）
【図３】本発明によるＩＣカード用ＩＣチップ、ＩＣカードの処理の流れ及び処理時間を示す図である。（実施例１）
【図４】本発明によるＩＣカード用ＩＣチップ、ＩＣカードの処理の流れ及び処理時間を示す図である。（変形例）
【図５】従来のＩＣカードの処理の流れ及び処理時間を示す図である。
【符号の説明】
【００３９】
１０  ＩＣカード
１１  ＩＣチップ
１２  Ｉ／Ｏ部
１３  インターフェイス
１４  ＲＡＭ
１５  ＲＯＭ
１６  ＥＥＰＲＯＭ
１７  ＣＰＵ
１８  コプロセッサ
１９  クロック
２０  ＲＮＧ
２１  タイマ
３０  リーダライタターミナル
１３１  ＵＡＲＴ
【図１】
2006127360.tif 000003
【図２】
2006127360.tif 000004
【図３】
2006127360.tif 000005
【図４】
2006127360.tif 000006
【図５】
2006127360.tif 000007