JP2006127361A - Icカード用icチップ、icカード及びicカード用プログラム - Google Patents

Icカード用icチップ、icカード及びicカード用プログラム Download PDF

Info

Publication number
JP2006127361A
JP2006127361A JP2004317791A JP2004317791A JP2006127361A JP 2006127361 A JP2006127361 A JP 2006127361A JP 2004317791 A JP2004317791 A JP 2004317791A JP 2004317791 A JP2004317791 A JP 2004317791A JP 2006127361 A JP2006127361 A JP 2006127361A
Authority
JP
Japan
Prior art keywords
card
priority
chip
execution
procedure
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.)
Pending
Application number
JP2004317791A
Other languages
English (en)
Inventor
Hiroaki Ishii
宏明 石井
Teruaki Jo
輝明 城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2004317791A priority Critical patent/JP2006127361A/ja
Publication of JP2006127361A publication Critical patent/JP2006127361A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数の処理を効率的に実行して処理の円滑化及び迅速化を図るとともに、応答制限時間の超過を防止するなど、レスポンス応答性の向上を図ることが可能なICカード用ICチップ、ICカード及びICカード用プログラムを提供する。
【解決手段】ICカードのCPUに、リーダライタターミナルから複数の命令を受信した場合に、実行している処理を中断する処理中断手順(S150)と、リーダライタターミナルから受信したコマンドに対応するタスク(APP)の優先度、中断手順において中断された処理の優先度に基づいて、いずれの処理を実行するかを選択する実行処理選択手順(S120)と、処理中断手順において中断した処理を選択した場合に、この中断した処理を再開する処理再開手順(S130)とを実行させる。
【選択図】図4

Description

本発明は、ICカードに搭載するためのICカード用ICチップ、ICカード及びICカード用ICチップのCPUに実行させるICカード用プログラムに関するものである。
従来のICカードのOSは、リーダライタターミナルから1つのコマンドを受信し、そのレスポンスを応答するまでの間(コマンド処理中)は、他のコマンドを割込んで受信して処理することができなかった。つまり、複数のコマンド処理を行う場合には、1つのコマンドについての処理結果をレスポンスとして送信してから次のコマンドを受信してコマンド処理を行っていた。
一方、複数のアプリケーションの搭載、アプリケーションの追加搭載及び削除が可能である、いわゆるマルチアプリケーションICカードが開発、利用されている。
また、ICチップと、この一つのICチップに接続された接触インターフェイスと、非接触インターフェイスを備え、一つのICチップを複数のインターフェイスで共有する、いわゆるデュアルインターフェイスのICカードが登場し、電話用アプリケーション、ゲート用アプリケーションなどの複数のアプリケーションを搭載したデュアルインターフェイスのICカードも登場している(例えば、特許文献1参照。)。
更に、全二重に対応したインターフェイスを備え、同時に送信及び受信を行うことができるハードウェアを備える接触式ICカードも登場している。
特開2003−223618号公報
しかし、全二重に対応したインターフェイスを備えるマルチアプリケーションICカードであっても、ICカードのオペレーティングシステム(以下、「OS」という。)は、リーダライタターミナルから1つのコマンドを受信した場合には、そのレスポンスを送信した後に次のコマンドを受信するため、たとえ時間的に緊急度の高いコマンドであっても、現在行っている処理が終了した後に行うといった排他制御となるため、結果そのコマンドに対する応答が遅れ、応答時間が応答制限時間を超過してしまう可能性があった。
従って、電話用アプリケーション、ゲート用アプリケーションなどの複数のアプリケーションを搭載し、携帯電話に装着するデュアルインターフェイスのICカードについて、電話アプリケーションを実行している場合に、ゲートを通過できないという問題があった。
この問題を所持者の意思によってデュアルインターフェイスのICカードの通信方式を選択することによって解決する非接触/接触両用ICカード制御装置がある(前述の特許文献1参照。)。
しかし、いずれのインターフェイスを使用するかをユーザが切り替えなくてはならないため、ユーザに負担がかかるおそれがあった。また、選択された通信方式への切り替えをICカード自体が行うものではないため、カード単体では、上記問題を解決することができないおそれがあった。
本発明の課題は、複数の処理を効率的に実行して処理の円滑化及び迅速化を図るとともに、応答制限時間の超過を防止するなど、レスポンス応答性の向上を図ることが可能なICカード用ICチップ、ICカード及びICカード用プログラムを提供することである。
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施例に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項1の発明は、複数の処理のうちのいずれを実行するかを、各処理の優先度に基づいて選択する実行処理選択手段(17,17−2、S120)と、前記実行処理選択手段によって選択された処理を実行する処理実行手段(17,17−2、S130)とを備えるICカード用ICチップ(11,11−2)である。
請求項2の発明は、請求項1に記載のICカード用ICチップにおいて、各処理の優先度を記憶する実行処理優先度記憶手段(14,16)を備え、前記実行処理選択手段は、前記処理優先度記憶手段によって記憶されている処理の優先度に基づいて選択を行うこと、を特徴とするICカード用ICチップ(11,11−2)である。
請求項3の発明は、請求項1又は請求項2に記載のICカード用ICチップにおいて、外部から命令を入力する命令入力手段(13)と、前記実行処理選択手段は、前記命令入力手段によって複数の命令が入力された場合に、各命令に対応する各処理の優先度に基づいて選択を行うこと、を特徴とするICカード用ICチップ(11,11−2)である。
請求項4の発明は、請求項3に記載のICカード用ICチップにおいて、外部から前記命令入力手段によって入力される命令に対応する処理の優先度を入力する優先度入力手段(13)を備え、前記実行処理選択手段は、前記優先度入力手段によって入力された前記優先度に基づいて選択を行うこと、を特徴とするICカード用ICチップ(11,11−2)である。
請求項5の発明は、請求項3又は請求項4に記載のICカード用ICチップにおいて、前記命令入力手段は、複数のインターフェイスを有し、前記実行処理選択手段は、複数のインターフェイスによってそれぞれ入力された命令に対応する複数の処理のうちのいずれを実行するかを選択すること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項6の発明は、請求項2から請求項5までのいずれか1項に記載のICカード用チップにおいて、前記実行処理優先度記憶手段は、前記命令入力手段によって入力された命令を解析する処理を、外部装置から受信する命令に対応した処理よりも高い優先度の処理として記憶すること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項7の発明は、請求項6に記載のICカード用チップにおいて、前記命令入力手段によって命令を入力した場合に、実行している処理を中断する処理中断手段(17,S160)と、前記処理手段は、前記処理中断手段によって処理が中断された場合に、前記命令入力手段によって入力された命令に対応する処理の優先度を解析し、前記実行処理選択手段は、前記処理実行手段によって解析された前記命令に対応する処理の優先度、前記中断手段によって中断された処理の優先度に基づいて、いずれの処理を実行するかを選択し、前記処理手段は、前記実行処理選択手段によって前記中断された処理が選択された場合に、この中断された処理を再開すること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項8の発明は、請求項2から請求項7までのいずれか1項に記載のICカード用チップにおいて、前記実行処理選択手段は、スリープモードへのモード変更処理を最低優先度の処理として、選択を行うこと、を特徴とするICカード用ICチップ(11,11−2)である。
請求項9の発明は、請求項2から請求項8までのいずれか1項に記載のICカード用チップにおいて、前記処理手段は、前記実行処理優先度記憶手段に記憶されている各処理の優先度を、前記命令入力手段によって入力された命令に応じて書き換える書き換え手段(16,17)を備えること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項10の発明は、請求項1から請求項9までのいずれか1項に記載のICカード用チップにおいて、前記処理実行手段は、前記実行処理選択手段によって優先度が同一の複数の処理が選択された場合に、時分割で並行して前記複数の処理を実行すること、を特徴とするICカード用ICチップ(11−2)である。
請求項11の発明は、請求項1から請求項10までのいずれか1項に記載のICカード用ICチップにおいて、前記処理手段が周辺回路を起動する場合に、この周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手段(16,17,17−2)と、前記予測消費電力取得手段によって取得された予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手段(17)とを備え、前記処理手段は、前記電力判定手段が肯と判定した場合に、前記周辺回路を起動すること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項12の発明は、請求項1から請求項11までのいずれか1項に記載のICカード用ICチップにおいて、前記処理手段が一の処理を実行し、周辺回路が起動される場合に、この周辺回路が動作中であるか否かを判定する周辺回路動作状況判定手段(17,17−2)と、前記周辺回路動作状況判定手段によって肯と判定された場合に、前記処理手段が前記一の処理において周辺回路の起動待ちの状態であることを示す起動待ち情報を記憶する起動待ち情報記憶手段(15)とを備えること、を特徴とするICカード用ICチップ(11,11−2)である。
請求項13の発明は、複数の処理を時分割で並行して実行する処理手段(17−2)を備えるICカード用ICチップ(11−2)である。
請求項14の発明は、請求項1から請求項13までのいずれか1項に記載のICカード用ICチップ(11,11−2)と、ICカード基体とを備えるICカード(10,10−2)である。
請求項15の発明は、ICカード用ICチップ(11,11−2)のCPU(17,17−2)に実行させるICカード用プログラムであって、複数の処理のうちのいずれを実行するかを、各処理の優先度に基づいて選択する実行処理選択手順(S120)と、前記実行処理選択手順において選択した処理を実行する処理実行手順(S130)とを備えること、を特徴とするICカード用プログラムである。
請求項16の発明は、請求項15に記載のICカード用プログラムにおいて、前記実行処理選択手順は、外部装置から複数の命令を受信した場合(S110)に、各命令に対応する各処理の優先度に基づいて選択を行うこと、を特徴とするICカード用プログラムである。
請求項17の発明は、請求項15又は請求項16に記載のICカード用プログラムにおいて、前記実行処理選択手順は、予め記憶されている各処理の優先度、又は、外部装置から指定された各処理の優先度に基づいて選択を行うこと、を特徴とするICカード用プログラムである。
請求項18の発明は、請求項15から請求項17までのいずれか1項に記載のICカード用プログラムにおいて、前記実行処理選択手順は、複数のインターフェイスによってそれぞれ入力された命令に対応する複数の処理のうちのいずれを実行するかを選択すること、を特徴とするICカード用プログラムである。
請求項19の発明は、請求項15から請求項18までのいずれか1項に記載のICカード用プログラムにおいて、外部装置から命令を受信した場合に、実行している処理を中断する処理中断手順(S160)と、前記実行処理選択手順は、前記外部装置から受信した命令に対応する処理の優先度、前記中断手順において中断した処理の優先度に基づいて、いずれの処理を実行するかを選択し、前記処理手順は、前記実行処理選択手順において前記中断した処理を選択した場合に、この中断した処理を再開すること、を特徴とするICカード用プログラムである。
請求項20の発明は、請求項15から請求項19までのいずれか1項に記載のICカード用プログラムにおいて、前記実行処理選択手順は、スリープモードへのモード変更処理(S140)を最低優先度の処理として、選択を行うこと、を特徴とするICカード用プログラムである。
請求項21の発明は、請求項15から請求項20までのいずれか1項に記載のICカード用プログラムにおいて、前記処理実行手順は、前記実行処理選択手順において優先度が同一の複数の処理を選択した場合に、時分割で並行して前記複数の処理を実行すること、を特徴とするICカード用プログラムである。
請求項22の発明は、請求項15から請求項21までのいずれか1項に記載のICカード用プログラムにおいて、前記処理手順において周辺回路を起動する場合に、この周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手順と、前記予測消費電力取得手順において取得した予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手順とを備え、前記処理手順は、前記電力判定手順が肯と判定した場合に、前記周辺回路を起動すること、を特徴とするICカード用プログラムである。
請求項23の発明は、請求項15から請求項22までのいずれか1項に記載のICカード用プログラムにおいて、前記処理手順において一の処理を実行し、周辺回路を起動する場合に、この周辺回路が動作中であるか否かを判定する周辺回路動作状況判定手順と、前記周辺回路動作状況判定手順が肯と判定した場合に、前記処理手順が前記一の処理の実行において周辺回路の起動待ちの状態であることを示す起動待ち情報を記憶する起動待ち情報記憶手順とを備えること、を特徴とするICカード用プログラムである。
請求項24の発明は、ICカード用ICチップのCPUに実行させるICカード用プログラムであって、複数の処理を時分割で並行して実行する処理手順(S800〜S880)を備えること、を特徴とするICカード用プログラムである。
本発明によるICカード用ICチップ、ICカード及びICカード用プログラムによれば、以下の効果を得ることが可能となる。
(1)優先度に基づいて選択した処理を実行することによって、複数の処理を効率的に実行して処理の円滑化及び迅速化を図る。
(2)外部からの複数の命令に対応する複数の処理から、各処理の優先度に基づいて選択を行うことによって、応答制限時間の超過を防止するなど、レスポンス応答性の向上を図る。
(3)外部装置から受信する優先度に基づいて選択を行うことによって、外部装置が命令の優先度を指定することができ、処理の円滑化を図り、レスポンス応答性の向上を図る。
(4)接触インターフェイスから入力される命令に対応する処理よりも、応答期限の短い非接触インターフェイスからの命令に対応する処理の実行を優先するなど、処理の円滑化を図り、応答制限時間の超過を防止し、レスポンス応答性の向上を図る。
(5)外部装置から受信する命令を解析する処理を優先度の高い処理とすることによって、処理の円滑化を図る。
(6)外部装置から命令を受信した場合に、実行している処理を中断し、受信した命令に対応する処理、中断している処理から、優先度に基づいて、実行する処理を選択することによって、一の処理の処理中であっても、命令を受け付けることができ、後の命令の優先度が高い場合には、この処理を優先して実行するなど、レスポンス応答性の向上を図る。
(7)スリープモードへのモード変更処理を最低優先度の処理とすることによって、全ての処理が終了するタイミングでスリープモードへの移行ができ、省電力を図る。
(8)外部装置からの命令に応じて、記憶している優先度を書き換えることによって、優先度を随時、任意に設定することができ、一層の処理の効率化及び迅速化を図り、レスポンス応答性を向上する。
(9)時分割で並行して複数の処理を行うことによって、処理時間に応じた期間で応答し、レスポンス応答性を向上する。特に、優先度が同一の処理を並行して行うことによって、様々な処理の流れを設計することができ、一層の処理の効率化及び迅速化を図り、レスポンス応答性を向上する。
(10)予測消費電力に基づいて、周辺回路を起動すべきかを判定することによって、消費電力が最大許容消費電力を超えることを防止することが可能となる。特に、複数の周辺回路が並行して動作する場合であっても、最大許容消費電力を超えることを防止することが可能となる。
(11)周辺回路が起動中有であるかを判定し、否と判定した場合に起動待ち情報を記憶することによって、複数の処理が一の周辺回路を効率的に共用する。
本発明は、複数の処理を効率的に実行して処理の円滑化及び迅速化を図るとともに、応答制限時間の超過を防止するなど、レスポンス応答性の向上を図るという目的を、ICカードのCPUに、外部装置から複数の命令を受信した場合に、実行している処理を中断する処理中断手順と、前記外部装置から受信した命令に対応する処理の優先度、前記中断手順によって中断された処理の優先度に基づいて、いずれの処理を実行するかを選択する実行処理選択手順と、処理中断手順において中断された処理を選択した場合に、この中断された処理を再開する処理再開手順とを実行させることによって実現する。
以下、図面などを参照して、本発明の実施例をあげて、さらに詳しく説明する。
図1は、本発明によるICカード用ICチップ及びICカードの構成を示すブロック図である。
図1に示すように、ICカード10は、リーダライタ(以下、「R/W」という。)を備える情報処理装置であるリーダライタターミナル30と通信することが可能であって、リーダライタターミナル30からコマンド(命令)を受信し、このコマンドに応じて処理を行い、処理結果をレスポンス(応答)としてリーダライタターミナル30へ返信する携帯型の情報処理装置である。ICカード10は、一般的なICカードであってもよく、SIMカード、UIMカードやUSIMカードであってもよく、形状などのカード規格に限定されない。
ICカード10は、ICチップ11と、ICチップ11に接続されているI/O部12とを備えている。I/O部12は、外部との通信信号の入出力を行い、リーダライタターミナル30との通信を媒介する。I/O部12は、例えば、ICカード10が接触式の通信を行う場合には、リーダライタターミナル30との接触式通信における接点となる接触端子、ICカード10が非接触式の通信を行う場合には、電磁波の送受信を行うアンテナなどである。なお、ICカード10は、接触式ICカード、非接触式ICカード、接触/非接触式ICカードのいずれであってもよく、その通信方式は、限定されない。
ICチップ11は、CPU17と、インターフェイス13、RAM14、ROM15、EEPROM16、コプロセッサ18、クロック19、RNG20、タイマ21などのCPU17の周辺回路とを備え、システムバス22で相互に接続されている。
インターフェイス13は、通信に係るデータ変換を行う通信デバイスであるUART131(Universal Asynchronous Receiver Transmitter)、変復調回路などを備え、I/O部12から入力した信号の復調、データ変換、CPU17から出力されたデータをI/O部12から出力するためのデータ変換、変調を行うなど、CPU17とリーダライタターミナル30との通信を媒介するインターフェイス回路である。UART131は、リーダライタターミナル30からコマンドの受信を開始した場合に、割り込み信号をCPU17に送信し、I/O割り込みを行う割り込み発生部を備えている(図示しない。)。
RAM14、ROM15、EEPROM16は、CPU17が実行するプログラム、プログラムの実行に必要なデータを記憶するためのメモリである。RAM14は、揮発性メモリであり、CPU17が処理を行う作業領域として使用される。RAM14には、ICカードの起動時などの初期化時にタスク情報テーブル、実行タスク管理テーブルが展開される。
図2は、タスク情報テーブルを示す図である。
図2に示すように、タスク情報テーブルは、各タスク(COMMANDタスク、APP1〜APPn、SLEEPタスク)の優先度、各タスクを実行する場合に、CPU17のプログラムカウンタ(PC)、スタックポインタ(SP)にセットする値、データなどを関連づけている。タスクは、互いに相互干渉し合うことのないように制御される処理単位であって、APP1〜APPn(以下、まとめて「APP」という。)は、コマンドに対応した処理を行うタスクであって、コマンドによって要求される処理結果を導出する。タスク情報テーブルに登録されているタスクは、CPU17が実行可能なタスクを示している。優先度は、いずれのタスクの実行を優先させるかを示す指標であって、本実施例では、16レベルとしている。
各タスクの優先度、PC及びSPの初期値は、予め設定され、EEPROM16にタスク情報テーブル初期情報として記憶されている。APPの優先度は、応答制限時間の短いものは、優先度が高く、応答制限時間の長いものは、優先度が低くなるように設定してある。また、COMMANDタスクの優先度が最優先の「1」、SLEEPタスクの優先度が最低優先の「16」として設定されている。優先度のレベル数、各タスクの優先度の高低は、任意に設定することができ、タスクの内容に応じて設定することが望ましい。また、複数のタスクに同レベルの優先度を設定することも可能である。本実施例において、APP3〜APPnの複数のタスクは、同一の優先度「5」に設定されている。
図3は、実行タスク管理テーブルを示す図である。
図3に示すように、実行タスク管理テーブルは、現在実行しているタスク又は実行待ちのタスクと、その優先度とを関連づけたテーブルであって、現在実行しているタスク又は今後実行するタスクの優先度の高低を示している。COMMANDタスクは、ICカード10がコマンドを受信した場合に、この実行タスク管理テーブルに登録され、実行される。APPは、対応するコマンドを受信した場合に登録され、SLEEPタスクは、常に最低優先度「16」として、実行タスク管理テーブルに登録される。なお、実行タスク管理テーブルは、同じ優先度のレベルのタスクを複数登録することが可能であり、この場合には、先に登録されたタスクが優先される。また、実行タスク管理テーブルの「NULL」は、該当するタスクがないことを示している。
ROM15は、不揮発性の読み出し専用メモリであって、オペレーティングシステム(以下、OSとする)などの基本ソフトウェアを格納している。
EEPROM16は、随時書き換え可能な不揮発性メモリであり、APPの各タスクを形成するアプリケーションプログラムなどのプログラム、タスク情報テーブル初期情報(カード搭載タスク総数、各タスクの優先度、PC及びSPなど)などのデータを格納している。また、EEPROM16は、RAM14と同様にCPU17の作業領域として使用される。なお、ICカード10は、EEPROM16の代わりに、FRAM、フラッシュメモリなどの他の書き換え可能な不揮発性メモリを備えていてもよい。
ここでアプリケーションを追加する場合について説明する。
所定のコマンドによって、アプリケーションをICカード10にインストールし、EEPROM16に保存する。インストール完了後、タスク情報テーブル初期情報をEEPROM16に保存する。初期優先度はコマンドか、ICカード内部で持つ規定値によって決定される。ICカード10は、次のリセットで起動する際に、タスク情報テーブル初期情報に基づいて、タスク情報テーブルをRAM14に再構築する。
コプロセッサ18は、CPU17の性能を強化するために特定分野に特化した補助プロセッサであって、CPU17からの命令に応じて暗号演算などの演算処理を行う。
クロック19は、リーダライタターミナル30から供給されるクロック信号に基づいて、内部の動作基準クロック信号を生成し、CPU17、コプロセッサに供給する回路である。
RNG(Random Number Generator)20は、乱数発生器である。
タイマ21は、経過時間を計測するタイマなどを備え、CPU17によって設定された時間が経過した場合に、CPU17に割り込み信号を送信し、タイマ割り込みを発生する。
CPU17は、このICカード10を統括制御する中央処理装置である。CPU17は、リーダライタターミナル30から受信するコマンドに従って、メモリの作業領域を使用し、ROM15、EEPROM16に格納されているプログラムを実行し、処理結果をレスポンスとして返信する。また、CPU17は、UART131からのI/O割り込みがあった場合に、I/O割り込みハンドラを実行する。なお、CPU17の動作及び機能の詳細は、図2を用いて後述する。
図4〜図10は、本発明によるICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートである。以下、図4〜図10の順に、CPU17の処理を中心に説明する。
図4は、全体の処理の流れを示している。
図4に示すように、ステップ100(以下、「ステップ」を「S」という。)において、ICカード10は、リーダライタターミナル30から送信されたコマンドを受信し、処理を開始する。CPU17は、コマンド受信処理を行う(S110)。
CPU17は、受信完了後、COMMANDタスクを実行し(S120)、受信したコマンドを解析して判別し、実行すべきタスクを選択する。
CPU17は、選択したタスク(APP)を実行し(S130)、終了後、実行すべきタスクがSLEEPタスク以外にない場合には、SLEEPタスクを実行する(S140)。
CPU17は、S110〜S140までの処理中に、UART131からのI/O割り込みがあった場合(S150)には、I/O割り込みハンドラを実行して、タスク情報テーブルの実行タスク領域に現在のPC(プログラムカウンタ)の値とSP(スタックポインタ)の内容を保存して、処理を中断し(S160)、S110から同様の処理を繰り返す。なお、中断した処理は、実行すべきタスクのうちで最も優先度が高くなった場合に、中断箇所から再開される。
図5は、図4のS110において実行するコマンド受信処理を示している。
CPU17は、コマンドの受信が完了したことを確認後、COMMANDタスク起動処理を行い(S220)、コマンド受信処理を終了する(S230)。
図6は、図4のS120において実行するCOMMANDタスクを示している。
CPU17は、受信したコマンドを解析し(S310〜S330)、対応するタスク(APP)のタスク起動処理を行う(S340〜S360)。
CPU17は、タスク終了処理を行い(S370)、COMMANDタスクの実行を終了する(S380)。
図7は、図4のS130において実行するAPPタスクを示している。
CPU17は、セットされているPC、SPからタスク(APP)を実行し(S410)、タスク終了処理を行い(S420)、APPタスクの実行を終了する(S430)。
図8は、図4のS140において実行するSLEEPタスクを示している。
CPU17は、スリープモードへのモード切り替えを行い、ICチップ11をスリープ状態とし(S510)、SLEEPタスクの実行を終了する(S520)。
図9は、図5のS220、図6のS340〜S360において実行されるタスク起動処理を示している。
図9に示すように、CPU17は、タスク情報テーブルを参照して、タスクの優先度を確認し、実行タスク管理テーブルに起動の対象となるタスクを優先度に対応させて登録する(S610)。
CPU17は、実行タスク管理テーブルから、登録されている優先度の一番高い最優先タスクを検出する(S620)。この最優先タスクが、現在実行中の実行タスクである場合には、タスク起動処理を終了する。また、最優先タスクが実行タスクと異なる場合には、タスク情報テーブルの実行タスクの領域に現在のPCの値、SPの内容を保存する(S640)。
CPU17は、実行タスクを、最優先タスクとなっているタスクに設定し(S650)、タスク情報テーブルの実行タスクの領域に保存されているPC、SPをセットし(S670)、タスク起動処理を終了する(S670)。
図10は、図6のS370、図7のS420において実行されるタスク終了処理を示している。
図10に示すように、CPU17は、実行タスク管理テーブルから実行タスクを削除し(S710)、最優先タスクを検索し(S720)、タスク情報テーブルの実行タスクの領域に現在のPC、SPを保存する(S730)。
CPU17は、実行タスクを、最優先タスクとなっているタスクに設定し(S740)、タスク情報テーブルの実行タスクの領域に保存されているPC、SPをセットし(S750)、処理を終了する(S760)。
次に、具体例をあげて図4〜図10の処理を説明する。
CPU17がAPP2のタスクを実行しているとき、つまり、APP2について、APPタスク処理(図4のS130,図7)を実行しているときに、ICカード10は、リーダライタターミナル30からコマンドを受信し、I/O割り込みがUART131から発生したとする(S150)。なお、実行タスク管理テーブルは、優先度3にAPP2、優先度16にSLEEPのタスクが登録されている状態である。
CPU17は、I/O割り込みハンドラを実行して、実行中のAPP2について、現在のPC、SPをタスク情報テーブルに保存し、コマンド受信処理のPC、SPをセットし(図4のS160)、コマンド受信処理を起動する(図4のS110)。
CPU17は、コマンド受信処理を行い(図5)、コマンドの受信が完了後にCOMMANDタスクのタスク起動処理を実行する(図5のS210,S220)。CPU17は、COMMANDタスクのタスク起動処理において、起動対象となるCOMMANDタスクを優先度1として実行タスク管理テーブルに登録し(図9のS610)、最優先タスク及び実行タスクがCOMMANDタスクであるため、タスク起動処理を終了し(S660,S670)、受信処理を終了する(図5のS220)。
CPU17は、COMMANDタスクを実行し(図4のS120)、リーダライタターミナル30から送信されたコマンドを解析する(図6のS310〜S330)。ここで、リーダライタターミナル30から受信したコマンドは、APP1のタスクを実行させるコマンドであるとする。
CPU17は、解析結果から、APP1のタスク起動処理を実行する(図6のS340)。CPU17は、APP1を優先度3としてタスク情報テーブルに登録し(図9のS610)、最優先タスク及び実行タスクがCOMMANDタスクであるため、タスク起動処理を終了する(S660,S670)。また、CPU17は、タスク終了処理を実行する(図6のS370)。
CPU17は、実行タスク管理テーブルから実行タスクであるCOMMANDタスクを優先度1の欄から削除し(図10のS710)、実行タスク管理テーブルを検索し、最優先タスクとして優先度3のAPP1を検出する(図10のS720)。CPU17は、タスク情報テーブルの現在の実行タスクであるCOMMANDタスクの領域に現在のPC、SPを書き込み(S730)、実行タスクを、APP1と設定し(S740)、APP1のPC,SPをセットし(S750)、タスク終了処理を終了する(S760)。
CPU17は、COMMANDタスク処理を終了し(図6のS380)、APP1のAPPタスクを実行する(図4のS130)。CPU17は、セットされているAPP1を実行し(図7のS410)、タスク終了処理を行う(S420)。このタスク終了処理(図10)において、実行タスク管理テーブルからAPP1が削除され(S710)、実行タスクは、最優先タスクのAPP2となる(S740)。CPU17は、APP1と同様にAPP2のAPPタスクを実行し(図4のS130)、APP2を実行し、タスク終了処理を行う(図7のS410,S420)。なお、APP2は、S160においてタスク情報テーブルに保存した、中断箇所を示すPC、SPから再開される。このタスク終了処理において(図10)、実行タスクは、SLEEPタスクとなり(S740)、CPU17は、SLEEPタスクを実行し(図4のS140、図8)、ICチップ11はスリープ状態となる。
なお、新たにコマンドをリーダライタターミナル30から受信した場合には、I/O割り込みが発生し(S150)、処理を中断して同様の処理を繰り返す(S160以降)。
つまり、各タスクが終了地点に到達し、次に起動されるときには、各タスクのスタート地点から再開する。従って、各タスクにループ処理をするか、タスク終了処理において、現在のPCを保存する代わりに、初期値を保存する形であってもよい。
このように本実施例によれば、 ICカード10は、コマンドを受信した場合には、I/O割り込みを発生させ、COMMANDタスクを実行するため、リーダライタターミナル30から処理中であってもコマンドを受信し、処理を行うことが可能となった。
また、ICカード10は、コマンド受信処理と、COMMANDタスクとを切り分けて実行するため、コマンド判断(S310〜S330)を後回しにし、コマンドを確実に受信することが可能となった。
更に、ICカード10は、COMMANDタスクを最高優先に設定しているため、あるコマンド(APP2)を処理中であっても、コマンド判断(S310〜S330)を優先して行い、例えば、優先度の高いコマンド(APP1)を処理することが可能となった。また、ICカード10は、次にAPP1が終了した段階で、タスク終了処理によって中断したAPP2の処理を再開することが可能となった。例えば、ICカード10がデュアルインターフェイスICカードであって、接触インターフェイスを介して電話アプリケーションを実行している場合であっても、非接触インターフェイスで改札アプリを実行することが可能となった。
また、ICカード10は、SLEEPタスクを最低優先に設定しているため、全ての処理が終了するタイミングでCHIP SLEEP状態にすることが可能となった。更に、従来のICカードでは受信待ちのときにCHIP SLEEP状態になるが、裏で行う処理がある場合、その処理自体も停止してしまうという不都合を解決することが可能となった。複数のアプリケーションを起動して、全部終わった段階でスリープを行い、省電力を図ることが可能となった。
また、ICカード10は、アプリケーションのインストールとともに、タスク情報テーブル初期情報をEEPROM16に書き込むため、アプリケーションの追加は、その数や機能に制限なく行うことができ、従来からICカード10に搭載されているアプリケーションに影響を与えることなく、アプリケーションのインストールが可能となった。例えば、JavaCard(登録商標)などのマルチアプリケーションカードにアプリケーションを追加する場合には、タスク情報テーブルを更新することで、すでに搭載されているアプリケーションと同様の動作を行うことが可能となった。
更に、ICカード10は、周辺回路の動作と並行して実行するタスクを各タスクの優先度に基づいて選択するため、応答時間内に確実に応答し、レスポンス応答性を向上することが可能となった。
更にまた、ICカード10は、優先度に基づいて選択したタスクを実行することによって、複数のタスクを効率的に実行して処理の円滑化及び迅速化を図ることが可能となった。特に、リーダライタターミナル30から受信したコマンドに対応する複数のAPPから、各タスクの優先度に基づいて実行する選択を行うため、応答制限時間の超過を防止するなど、レスポンス応答性の向上を図ることが可能となった。
また、ICカード10は、リーダライタターミナル30からコマンドを受信した場合に、実行している処理を中断し、受信したコマンドに対応するAPP、中断している処理から、優先度に基づいて、実行する処理を選択するため、一の処理の処理中であっても、コマンドを受け付けることができ、後のコマンドの優先度が高い場合には、このコマンドに対応するAPPを優先して実行するなど、レスポンス応答性の向上を図ることが可能となった。
図11は、本発明によるICカード用ICチップ及びICカードの構成を示すブロック図である。
なお、前述した実施例と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図11に示すように、ICカード10−2は、CPU17−2、タイマ21などを有するICチップ11−2と、ICチップ11−2に接続されているI/O部12など、実施例1のICカード10と略同様の構成を備えている。
CPU17−2は、ICカード10−2の起動時に、所定の時間ごと、つまり、定期的にタイマ割り込みを発生させるように設定を行う。CPU17−2は、このタイマ割り込みがあった場合に、タイマ割り込みハンドラを実行する。CPU17−2の動作、機能の詳細については、図12及び図13を用いて後述する。
図12は、本発明によるICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートであり、図13は、本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。図12及び図13ともに、処理時間の長いタスクであるアプリケーションAと、処理時間の短いタスクであるアプリケーションBの実行の処理の流れを示している。以下、図4〜図10を適宜参照しながら説明する。
ICカード10は、リーダライタターミナル30から電力供給を受け、起動し、タイマ21が起動する。リーダライタターミナル30からアプリケーションAを起動するコマンドを受信し、CPU17−2は、アプリケーションAを実行する。
ICカード10は、アプリケーションAの実行中(S810A)に、アプリケーションBを起動するコマンドを受信した場合には(図4のS150)、COMMANDタスク(図6)を実行し、アプリケーションBを実行タスク管理テーブルに登録し(図9のS610)、アプリケーションBのタスク起動処理を行い(図6のS340)、実行タスク管理テーブルを更新する(図10のS740)。
定期的にタイマ21からタイマ割込みが発生し(図13の#10)、CPU17−2は、割り込みが発生するたびに、現在のPC,SPを実行タスク管理テーブルに登録し(S850)、実行タスク管理テーブルに登録されている実行中又は実行待ちのアプリケーション(APP)の中から、実行タスクを順繰りに切り替え(S860〜S880)、タスク(アプリケーションA又はアプリケーションB)を実行する(S810A,S810B)。
CPU17−2は、処理時間の短いアプリケーションBの処理が先に終了し、レスポンスをリーダライタターミナル30へ送信する(図13の#20)。CPU17−2は、アプリケーションBのタスク終了処理を実行し(図12のS820B)、実行タスク管理テーブルからアプリケーションBを削除する(図10のS720)などの処理を行い、アプリケーションBのAPPタスクを終了する(S830B)。CPU17−2は、I/O割り込みが発生し(図4のS150)、新たな実行待ちタスクが実行タスク管理テーブルに登録され、タイマ割り込みによって実行タスクの切り替えが行われるまで又はレスポンスをリーダライタターミナル30へ送信し、処理が終了するまで(図13の#30)、実行タスク管理テーブルに登録されている唯一のタスクであるアプリケーションAを実行する(S810A)。CPU17−2は、アプリケーションAの処理終了後にタスク終了処理を実行し(S820A)、アプリケーションAのAPPタスクを終了する(S830A)。
このように本実施例によれば、実施例1と略同様の効果に加え、ICカード10−2は、時分割で並行して複数のアプリケーションの処理を行うため、処理時間の長いアプリケーションAの実行中に、新たに処理時間の短いアプリケーションBの実行を要求するコマンドを受信した場合であっても、アプリケーションBについてのレスポンス応答の遅れを[実行タスク数×分割時間]に抑えることが可能となった。つまり、図13及び図14に示すように、従来のICカードよりも、後発のコマンドについての応答の迅速化を図り、応答制限時間の超過を防止し、複数の処理を効率的に処理し、処理の円滑化及び迅速化を図ることが可能となった。
(変形例)
以上説明した実施例に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、各実施例において、ICカード10,10−2は、リーダライタターミナル30から所定のコマンドを受信した場合に、このコマンドに応じて、タスクの優先度を書き換えてもよい。この処理の流れを以下に説明する。
リーダライタターミナル30側にアプリケーション優先度変更機能が搭載されており、ユーザの手動オペレーションによって、ICカード10,10−2に対して所定のコマンドを送信し、指定するアプリケーションの優先度を他のアプリケーションよりも高く設定する要求を行う。
CPU17,17−2は、RAM14に展開されているタスク情報テーブルにおいて、コマンドで指定されているアプリケーションの優先度を書き換えて変更する。CPU17,17−2がこのアプリケーションを実行中の場合には、実行タスク管理テーブルも更新する。
リーダライタターミナル30からこのアプリケーションの実行を要求するコマンドを受信した場合には、CPU17,17−2は、更新後の優先度に基づいて、このアプリケーションを実行する。
この更新後の優先度は、アプリケーションの処理完了後に、ICカード10,10−2への電力供給がなくなるなど、RAM14に記憶されているデータの消去とともに、消去され、次に起動する場合には、もとの値に戻される。
なお、更新後の優先度は、カード内部の処理によって自動的に行ってもよいし、リーダライタターミナル30からのコマンドにより優先度情報を元に戻してもよい。また、ICカード10,10−2は、RAM14のタスク情報テーブルに加え、EEPROM16に記憶されているタスク情報テーブル初期情報を書き換え、恒久的に優先度を書き換えても良い。更に、リーダライタターミナル30が優先度をコマンドのパラメータで指定し、ICカード10,10−2は、この指定された優先度に基づいて処理を行ってもよい。
ユーザからの要求など、リーダライタターミナル30からの指示で一時的又は恒久的にレスポンス応答を速めることができ、複数のアプリケーションが実行状態であっても、チケットやゲート通過などのレスポンス応答の制限時間超過不具合を防ぐことが可能となる。優先度を随時、任意に設定することができ、一層の処理の効率化及び迅速化を図り、レスポンス応答性を向上することが可能となる。
各実施例において、ICカード10,10−2は、UART131、EEPROM16、コプロセッサ18、RNG20、タイマ21などの周辺回路の排他制御を行ってもよい。
ICカード10,10−2は、図15に示すように、EEPROM16に周辺回路管理テーブルを記憶している。周辺回路管理テーブルは、各周辺回路と、その使用状況を示す使用状況フラグ、使用待ちアプリとを関連づけ、周辺回路使用状況を管理するためのテーブルである。使用待ちアプリは、周辺回路の使用を待っているタスクを示している。
図16は、周辺回路を起動する処理の流れを示すフローチャートである。以下、CPU17,17−2の処理を中心に説明する。
アプリケーションの実行によって、周辺回路を起動する周辺回路モジュールが呼び出された場合に、CPU17,17−2は、周辺回路管理テーブルを参照し(S910)、「未使用」であれば、使用状況フラグを「使用中」にし(S920)、EEPROM16への書き込み処理などの周辺回路処理を開始する(S930)。
周辺回路の処理完了後に周辺回路管理テーブルに使用待ちアプリがある場合には、NULLにし(S980)、そのアプリをタスク起動処理する(S990)。使用待ちアプリがない場合、使用状況フラグを「未使用」にする(S970)。
周辺回路モジュールが呼び出された場合に、CPU17,17−2は、周辺回路管理テーブルを参照し、「使用中」であれば、周辺回路管理テーブルに実行中のタスクが待ち状態であることを登録し(S960)、実行中のタスクについてタスク終了処理を実行する(S950,図10)。
複数のアプリケーションによる周辺回路の使用の競合を防止し、周辺回路の処理が完了した段階で、使用待ちアプリを再開することができ、複数の処理が一の周辺回路を効率的に共用することが可能となる。
各実施例において、ICカード10,10−2は、ICチップ11,11−2が正常に起動するための消費電力の最大値であるチップ許容最大電力値を超えないように、周辺回路の起動を制御してもよい。
ICカード10,10−2は、図17に示すように、RAM14又はEEPROM16に周辺回路消費電力管理テーブルを記憶している。周辺回路消費電力管理テーブルは、各周辺回路と、周辺回路の動作による消費電力値と、使用待ちアプリとを関連づけ、周辺回路の消費電力を管理するためのテーブルである。
図18は、周辺回路を起動する処理の流れを示すフローチャートである。以下、CPU17,17−2の処理を中心に説明する。
アプリケーションの実行によって、周辺回路を起動する周辺回路モジュールが呼び出された場合に、CPU17,17−2は、周辺回路消費電力管理テーブルを参照し、その周辺回路の消費電力値を現状消費電力値に加算し、予測消費電力値を算出する(S1110)。
CPU17,17−2は、この予測消費電力値がチップ許容最大電力値を超えない場合、EEPROM16への書き込みなど、その周辺回路処理を実行する(S1120,S1130)。
周辺回路処理終了後、CPU17,17−2は、現状消費電力値からその周辺回路の消費電力値を減算し(S1140)、周辺回路消費電力管理テーブルを参照し、使用待ちアプリがある場合には、使用待ちアプリをNULLにし(S1190)、このアプリケーションについてのタスク起動処理を実行し(S1200)、優先度の高いタスクを起動する。このタスクにおいて、周辺回路モジュールを呼び出した場合には、同様の処理を繰り返す(S1110〜S1200)。
予測消費電力値がチップ許容最大電力値を超える場合には、現状消費電力値からその周辺回路の消費電力値を減算し(S1150)、周辺回路消費電力管理テーブルに実行中のタスクが使用待ちであることを登録し(S1160)、タスク終了処理を実行する(S1170)。
なお、各周辺回路の消費電力値は、チップの動作クロックと動作電圧によって変動するため、基本値をROM15やEEPROM16に予め記憶しておき、ICカード10,10−2起動後に実際の各消費電力値を算出して、周辺回路消費電力管理テーブルを生成してもよい。
複数のアプリケーションによって周辺回路を同時に使用する場合であっても、予め定められているチップ許容最大消費電力値の超過を防止することができる。また使用待ちアプリ処理を再開する場合には、優先度の高いアプリから再開することができる。
各実施例において、本発明によるICカード用チップであるICチップ11,11−2は、ICカード10,10−2に搭載されているが、ICカード機能用として携帯電話機などに搭載されていてもよく、搭載対象は、これに限定されない。
実施例2において、実施例1のICカード10と同様に、ICカード10−2は、優先度の高いタスクから順に処理を行い、実行タスク管理テーブルに最高の優先度のタスクが複数登録されている場合に、この複数のタスクを時分割で実行するなど、優先度に基づいた処理、及び、複数のタスクの時分割による処理を併用して行ってもよい。また、タイマ割り込みが発生した場合に、最優先のタスクを実行タスク管理テーブルから抽出し、この最優先タスクが複数登録されている場合に、時分割で処理を行ってもよい。
優先度の設定、時分割の処理によって様々な処理の流れを設計することができ、処理の効率化及び迅速化、レスポンス応答性を向上することが可能となる。
本発明によるICカード用ICチップ、ICカードの構成を示すブロック図である。(実施例1) タスク情報テーブルを示す図である。 実行タスク管理テーブルを示す図である。 ICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートである。(全体の処理、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(コマンド受信処理、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(COMMANDタスク、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(APPタスク、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(SLEEPタスク、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(タスク起動処理、実施例1) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(タスク終了処理、実施例1) 本発明によるICカード用ICチップ、ICカードの構成を示すブロック図である。(実施例2) 本発明によるICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートである。(実施例2) 本発明によるICカード用ICチップ、ICカードの処理の流れ及び処理時間を示す図である。(実施例2) 従来のICカードの処理の流れ及び処理時間を示す図である。 周辺回路管理テーブルを示す図である。(変形例) 本発明によるICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートである。(変形例) 周辺回路消費電力管理テーブルを示す図である。(変形例) 本発明によるICカード用ICチップ及びICカードの動作、ICカード用プログラムを示すフローチャートである。(変形例)
符号の説明
10,10−2 ICカード
11,11−2 ICチップ
12 I/O部
13 インターフェイス
14 RAM
15 ROM
16 EEPROM
17,17−2 CPU
18 コプロセッサ
19 クロック
20 RNG
21 タイマ
30 リーダライタターミナル
131 UART

Claims (24)

  1. 複数の処理のうちのいずれを実行するかを、各処理の優先度に基づいて選択する実行処理選択手段と、
    前記実行処理選択手段によって選択された処理を実行する処理実行手段と
    を備えるICカード用ICチップ。
  2. 請求項1に記載のICカード用ICチップにおいて、
    各処理の優先度を記憶する実行処理優先度記憶手段を備え、
    前記実行処理選択手段は、前記処理優先度記憶手段によって記憶されている処理の優先度に基づいて選択を行うこと、
    を特徴とするICカード用ICチップ。
  3. 請求項1又は請求項2に記載のICカード用ICチップにおいて、
    外部から命令を入力する命令入力手段と、
    前記実行処理選択手段は、前記命令入力手段によって複数の命令が入力された場合に、各命令に対応する各処理の優先度に基づいて選択を行うこと、
    を特徴とするICカード用ICチップ。
  4. 請求項3に記載のICカード用ICチップにおいて、
    外部から前記命令入力手段によって入力される命令に対応する処理の優先度を入力する優先度入力手段を備え、
    前記実行処理選択手段は、前記優先度入力手段によって入力された前記優先度に基づいて選択を行うこと、
    を特徴とするICカード用ICチップ。
  5. 請求項3又は請求項4に記載のICカード用ICチップにおいて、
    前記命令入力手段は、複数のインターフェイスを有し、
    前記実行処理選択手段は、複数のインターフェイスによってそれぞれ入力された命令に対応する複数の処理のうちのいずれを実行するかを選択すること、
    を特徴とするICカード用ICチップ。
  6. 請求項2から請求項5までのいずれか1項に記載のICカード用チップにおいて、
    前記実行処理優先度記憶手段は、前記命令入力手段によって入力された命令を解析する処理を、外部装置から受信する命令に対応した処理よりも高い優先度の処理として記憶すること、
    を特徴とするICカード用ICチップ。
  7. 請求項6に記載のICカード用チップにおいて、
    前記命令入力手段によって命令を入力した場合に、実行している処理を中断する処理中断手段と、
    前記処理手段は、前記処理中断手段によって処理が中断された場合に、前記命令入力手段によって入力された命令に対応する処理の優先度を解析し、
    前記実行処理選択手段は、前記処理実行手段によって解析された前記命令に対応する処理の優先度、前記中断手段によって中断された処理の優先度に基づいて、いずれの処理を実行するかを選択し、
    前記処理手段は、前記実行処理選択手段によって前記中断された処理が選択された場合に、この中断された処理を再開すること、
    を特徴とするICカード用ICチップ。
  8. 請求項2から請求項7までのいずれか1項に記載のICカード用チップにおいて、
    前記実行処理選択手段は、スリープモードへのモード変更処理を最低優先度の処理として、選択を行うこと、
    を特徴とするICカード用ICチップ。
  9. 請求項2から請求項8までのいずれか1項に記載のICカード用チップにおいて、
    前記処理手段は、前記実行処理優先度記憶手段に記憶されている各処理の優先度を、前記命令入力手段によって入力された命令に応じて書き換える書き換え手段を備えること、
    を特徴とするICカード用ICチップ。
  10. 請求項1から請求項9までのいずれか1項に記載のICカード用チップにおいて、
    前記処理実行手段は、前記実行処理選択手段によって優先度が同一の複数の処理が選択された場合に、時分割で並行して前記複数の処理を実行すること、
    を特徴とするICカード用ICチップ。
  11. 請求項1から請求項10までのいずれか1項に記載のICカード用ICチップにおいて、
    前記処理手段が周辺回路を起動する場合に、この周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手段と、
    前記予測消費電力取得手段によって取得された予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手段とを備え、
    前記処理手段は、前記電力判定手段が肯と判定した場合に、前記周辺回路を起動すること、
    を特徴とするICカード用ICチップ。
  12. 請求項1から請求項11までのいずれか1項に記載のICカード用ICチップにおいて、
    前記処理手段が一の処理を実行し、周辺回路が起動される場合に、この周辺回路が動作中であるか否かを判定する周辺回路動作状況判定手段と、
    前記周辺回路動作状況判定手段によって肯と判定された場合に、前記処理手段が前記一の処理において周辺回路の起動待ちの状態であることを示す起動待ち情報を記憶する起動待ち情報記憶手段とを備えること、
    を特徴とするICカード用ICチップ。
  13. 複数の処理を時分割で並行して実行する処理手段を備えるICカード用ICチップ。
  14. 請求項1から請求項13までのいずれか1項に記載のICカード用ICチップと、
    ICカード基体と
    を備えるICカード。
  15. ICカード用ICチップのCPUに実行させるICカード用プログラムであって、
    複数の処理のうちのいずれを実行するかを、各処理の優先度に基づいて選択する実行処理選択手順と、
    前記実行処理選択手順において選択した処理を実行する処理実行手順とを備えること、
    を特徴とするICカード用プログラム。
  16. 請求項15に記載のICカード用プログラムにおいて、
    前記実行処理選択手順は、外部装置から複数の命令を受信した場合に、各命令に対応する各処理の優先度に基づいて選択を行うこと、
    を特徴とするICカード用プログラム。
  17. 請求項15又は請求項16に記載のICカード用プログラムにおいて、
    前記実行処理選択手順は、予め記憶されている各処理の優先度、又は、外部装置から指定された各処理の優先度に基づいて選択を行うこと、
    を特徴とするICカード用プログラム。
  18. 請求項15から請求項17までのいずれか1項に記載のICカード用プログラムにおいて、
    前記実行処理選択手順は、複数のインターフェイスによってそれぞれ入力された命令に対応する複数の処理のうちのいずれを実行するかを選択すること、
    を特徴とするICカード用プログラム。
  19. 請求項15から請求項18までのいずれか1項に記載のICカード用プログラムにおいて、
    外部装置から命令を受信した場合に、実行している処理を中断する処理中断手順と、
    前記実行処理選択手順は、前記外部装置から受信した命令に対応する処理の優先度、前記中断手順において中断した処理の優先度に基づいて、いずれの処理を実行するかを選択し、
    前記処理手順は、前記実行処理選択手順において前記中断した処理を選択した場合に、この中断した処理を再開すること、
    を特徴とするICカード用プログラム。
  20. 請求項15から請求項19までのいずれか1項に記載のICカード用プログラムにおいて、
    前記実行処理選択手順は、スリープモードへのモード変更処理を最低優先度の処理として、選択を行うこと、
    を特徴とするICカード用プログラム。
  21. 請求項15から請求項20までのいずれか1項に記載のICカード用プログラムにおいて、
    前記処理実行手順は、前記実行処理選択手順において優先度が同一の複数の処理を選択し場合に、時分割で並行して前記複数の処理を実行すること、
    を特徴とするICカード用プログラム。
  22. 請求項15から請求項21までのいずれか1項に記載のICカード用プログラムにおいて、
    前記処理手順において周辺回路を起動する場合に、この周辺回路の動作による消費電力の予測値である予測消費電力を取得する予測消費電力取得手順と、
    前記予測消費電力取得手順において取得した予測消費電力に基づいて、前記周辺回路を起動すべきか否かを判定する電力判定手順とを備え、
    前記処理手順は、前記電力判定手順が肯と判定した場合に、前記周辺回路を起動すること、
    を特徴とするICカード用プログラム。
  23. 請求項15から請求項22までのいずれか1項に記載のICカード用プログラムにおいて、
    前記処理手順において一の処理を実行し、周辺回路を起動する場合に、この周辺回路が動作中であるか否かを判定する周辺回路動作状況判定手順と、
    前記周辺回路動作状況判定手順が肯と判定した場合に、前記処理手順が前記一の処理の実行において周辺回路の起動待ちの状態であることを示す起動待ち情報を記憶する起動待ち情報記憶手順とを備えること、
    を特徴とするICカード用プログラム。
  24. ICカード用ICチップのCPUに実行させるICカード用プログラムであって、
    複数の処理を時分割で並行して実行する処理手順を備えること、
    を特徴とするICカード用プログラム。

JP2004317791A 2004-11-01 2004-11-01 Icカード用icチップ、icカード及びicカード用プログラム Pending JP2006127361A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004317791A JP2006127361A (ja) 2004-11-01 2004-11-01 Icカード用icチップ、icカード及びicカード用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004317791A JP2006127361A (ja) 2004-11-01 2004-11-01 Icカード用icチップ、icカード及びicカード用プログラム

Publications (1)

Publication Number Publication Date
JP2006127361A true JP2006127361A (ja) 2006-05-18

Family

ID=36722029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004317791A Pending JP2006127361A (ja) 2004-11-01 2004-11-01 Icカード用icチップ、icカード及びicカード用プログラム

Country Status (1)

Country Link
JP (1) JP2006127361A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757533B1 (ko) 2006-06-19 2007-09-11 주식회사 케이티프리텔 고속 통신 지원을 위한 스마트 카드
JP2008015976A (ja) * 2006-07-10 2008-01-24 Fuji Electric Retail Systems Co Ltd 通信装置
JP2008059423A (ja) * 2006-09-01 2008-03-13 Dainippon Printing Co Ltd Icカード、icカードアプリケーション実行方法、及びプログラム
JP2008090800A (ja) * 2006-10-05 2008-04-17 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体及びプログラム
JP2008102863A (ja) * 2006-10-20 2008-05-01 Dainippon Printing Co Ltd Icチップ、icカード、icカード用端末システム及びicチップ用プログラム
JP2009026139A (ja) * 2007-07-20 2009-02-05 Toshiba Corp 情報記憶媒体及びファイル再配置方法
JP2009157827A (ja) * 2007-12-27 2009-07-16 Toppan Printing Co Ltd Ic媒体、ic媒体制御プログラム、実行情報読出し方法
JP2010531003A (ja) * 2007-05-25 2010-09-16 ジエマルト・エス・アー 携帯電子機器を使用して物理チャネルからのアプリケーションコマンドを処理する方法および対応する機器およびシステム
JP2012038297A (ja) * 2010-07-13 2012-02-23 Dainippon Printing Co Ltd Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及び携帯端末
JP2012123807A (ja) * 2010-12-09 2012-06-28 Oberthur Technologies 携帯端末用小型回路カードに埋め込まれた保護された内部機能及びアプリケーションの実行制御方法及び実行制御装置
JP2013164686A (ja) * 2012-02-09 2013-08-22 Toshiba Corp Icカードおよび携帯可能電子装置
EP3852445A4 (en) * 2018-11-01 2021-12-01 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR WAKING UP AN APPLICATION PROCESSOR FOR A MOBILE TERMINAL DEVICE

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757533B1 (ko) 2006-06-19 2007-09-11 주식회사 케이티프리텔 고속 통신 지원을 위한 스마트 카드
JP2008015976A (ja) * 2006-07-10 2008-01-24 Fuji Electric Retail Systems Co Ltd 通信装置
JP2008059423A (ja) * 2006-09-01 2008-03-13 Dainippon Printing Co Ltd Icカード、icカードアプリケーション実行方法、及びプログラム
JP2008090800A (ja) * 2006-10-05 2008-04-17 Dainippon Printing Co Ltd Cpuを内蔵した情報記録媒体及びプログラム
JP2008102863A (ja) * 2006-10-20 2008-05-01 Dainippon Printing Co Ltd Icチップ、icカード、icカード用端末システム及びicチップ用プログラム
JP2010531003A (ja) * 2007-05-25 2010-09-16 ジエマルト・エス・アー 携帯電子機器を使用して物理チャネルからのアプリケーションコマンドを処理する方法および対応する機器およびシステム
JP2009026139A (ja) * 2007-07-20 2009-02-05 Toshiba Corp 情報記憶媒体及びファイル再配置方法
JP2009157827A (ja) * 2007-12-27 2009-07-16 Toppan Printing Co Ltd Ic媒体、ic媒体制御プログラム、実行情報読出し方法
JP2012038297A (ja) * 2010-07-13 2012-02-23 Dainippon Printing Co Ltd Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及び携帯端末
JP2012123807A (ja) * 2010-12-09 2012-06-28 Oberthur Technologies 携帯端末用小型回路カードに埋め込まれた保護された内部機能及びアプリケーションの実行制御方法及び実行制御装置
JP2013164686A (ja) * 2012-02-09 2013-08-22 Toshiba Corp Icカードおよび携帯可能電子装置
EP3852445A4 (en) * 2018-11-01 2021-12-01 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR WAKING UP AN APPLICATION PROCESSOR FOR A MOBILE TERMINAL DEVICE
JP2022504859A (ja) * 2018-11-01 2022-01-13 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 携帯端末に適用されるアプリケーションプロセッサのウェイクアップ方法および装置
JP7207838B2 (ja) 2018-11-01 2023-01-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 携帯端末に適用されるアプリケーションプロセッサのウェイクアップ方法、携帯端末、およびコンピュータプログラム
US11907041B2 (en) 2018-11-01 2024-02-20 Huawei Technologies Co., Ltd. Application processor wakeup method and apparatus applied to mobile terminal
EP4373170A1 (en) * 2018-11-01 2024-05-22 Huawei Technologies Co., Ltd. Application processor wakeup method and apparatus applied to mobile terminal

Similar Documents

Publication Publication Date Title
KR100746797B1 (ko) 프로세서 및 정보처리 방법
JP3790743B2 (ja) コンピュータ・システム
US8870062B2 (en) IC card and IC card system having suspend/resume functions
JP2006127361A (ja) Icカード用icチップ、icカード及びicカード用プログラム
EP3048511B1 (en) System on chip, method of managing power thereof, and electronic device
US8117474B2 (en) CPU clock control during cache memory stall
JP3958243B2 (ja) Icカードおよびそのos起動方法
JP2003150574A (ja) マイクロコンピュータ
JP4072503B2 (ja) 補助演算用コプロセッサ内蔵型icカード及びその制御方法
JP2002175183A (ja) 半導体集積回路
US8650387B2 (en) IC chip, information processing apparatus, software module control method, information processing system, information processing method, and program
US20040098722A1 (en) System, method, and computer program product for operating-system task management
JP4609113B2 (ja) プロセッサ
US6948086B2 (en) Computer system
JP3450071B2 (ja) Pcカード
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
JP2002358492A (ja) Icカード及びその擬似並列処理プログラム
KR101236393B1 (ko) 전자장치 및 그 제어방법
JPH02196390A (ja) Icカード
JP2006127360A (ja) Icカード用icチップ、icカード及びicカード用プログラム
JP2012048427A (ja) 情報処理装置、情報処理方法及びプログラム
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
CN109766170A (zh) 存储器、移动终端及其应用程序的动态重启方法
JP5066884B2 (ja) Cpuを内蔵した情報記録媒体及びプログラム
JP2017058857A (ja) Icカード、及び、icモジュール

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091204

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112