(57)【要約】【課題】利便性及び汎用性が高く、処理の迅速化を図ることが可能なＩＣカード、オペレーティングシステム及びアプリケーションプログラムを提供する。【解決手段】アプリケーションプログラムを記憶するＮＶＭ６３と、このアプリケーションプログラムを実行するアプリケーション実行部５１とを備えるＩＣカード１であって、アプリケーション実行部５１によって実行されているアプリケーションプログラムに処理速度変更指示があった場合に、処理速度変更指示に応じてアプリケーション実行部５１の処理速度をアプリケーションプログラムの一又は複数の処理単位で変更する処理速度制御部５２を備えることを特徴とする。【選択図】図１
2004213180.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、
前記アプリケーションプログラム記憶手段に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段とを備えるＩＣカードであって、
前記アプリケーションプログラム実行手段によって実行されているアプリケーションプログラムに処理速度変更指示があった場合に、前記処理速度変更指示に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段を備えること、
を特徴とするＩＣカード。
【請求項２】
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、
前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段とを備えるＩＣカードであって、
外部装置から処理速度変更要求を受信した場合に、前記処理速度変更要求に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段を備えること、
を特徴とするＩＣカード。
【請求項３】
請求項１又は請求項２に記載のＩＣカードにおいて、
前記アプリケーションプログラム実行手段は、アプリケーションプログラムに応じて演算を行う演算手段を備え、
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて前記演算手段の処理速度を変更すること、
を特徴とするＩＣカード。
【請求項４】
請求項１から請求項３までのいずれか１項に記載のＩＣカードにおいて、
前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて、前記アプリケーションプログラムの一又は複数の処理単位で処理速度を変更すること、
を特徴とするＩＣカード。
【請求項５】
請求項１から請求項４までのいずれか１項に記載のＩＣカードにおいて、
前記処理速度変更指示又は前記処理速度変更要求は、既存の他の意味を有する命令又は要求であって、前記既存の他の意味を消す引数が指定されていること、
を特徴とするＩＣカード。
【請求項６】
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるＩＣカードのＣＰＵに実行させるオペレーティングシステムであって、
前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムから所定の呼び出しがあった場合に、この呼び出しに応じて前記ＣＰＵの処理速度を変更する処理速度変更手順を備えること、
を特徴とするオペレーティングシステム。
【請求項７】
アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段を備えるＩＣカードのＣＰＵに実行させるオペレーティングシステムであって、
外部装置から処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記ＣＰＵの処理速度を変更する処理速度変更手順を備えること、
を特徴とするオペレーティングシステム。
【請求項８】
ＩＣカードのＣＰＵに実行させるアプリケーションプログラムであって、
前記ＣＰＵの処理速度を変更する処理速度変更手順を備えること、
を特徴とするアプリケーションプログラム。
【請求項９】
請求項８に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、オペレーティングシステムが提供する独自のインターフェイスを利用すること、
を特徴とするアプリケーションプログラム。
【請求項１０】
請求項８に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、前記ＣＰＵに既存の他の処理を実行させる命令であって、前記既存の他の処理が無意味となる引数が指定されている場合に実行されること、
を特徴とするアプリケーションプログラム。
【請求項１１】
ＩＣカードのＣＰＵに実行させるアプリケーションプログラムであって、
独自の機能をオペレーティングシステムから呼び出す呼び出し手順を備え、
前記呼び出し手順は、他の汎用性のある機能を呼び出す命令であって、前記他の機能が無意味となる引数が指定されている場合に実行されること、
を特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のアプリケーションを搭載可能なＩＣカード、このＩＣカードのＣＰＵに実行させるオペレーティングシステム及びアプリケーションプログラムに関するものである。
【０００２】
【従来の技術】
近年、ＩＣカードに搭載されるＩＣチップの高性能化に伴い、複数のアプリケーションを実行することができる利便性の高いマルチアプリケーションＩＣカードが実用化されている。このようなＩＣカードは、アプリケーション毎に専用の外部装置から電源を得るとともに、処理情報のやりとりを行いながら、目的の処理を実行する。ＩＣカードは、外部装置との接続後に通信路の確立のために設定されるクロックに同期して通信及び処理を行っていた。
【０００３】
ＩＣカードに搭載されている複数のアプリケーションは、その用途毎に、必要とする仕様が異なり、例えば、あるアプリケーションでは、処理速度は遅くても消費電力を小さく抑えることが優先するが、別のアプリケーションでは、消費電力が大きくても処理速度を速くすることが優先する場合がある。
【０００４】
特に、ＲＳＡ、ＤＥＳ等のデータの暗号化、復号を行う処理は、計算量が多いため、ソフトウェア上で計算を行うと、ＩＣカードの処理速度が遅くなる。この場合には、専用のハードウェアとしてＩＣカード内のコプロセッサを使用すれば、処理速度を速くすることが可能であるが消費電力が増大する。
従って、処理速度の速さを優先したアプリケーションを搭載したＩＣカードは、据え置き型等の消費電力が制限されていない外部装置においては、使用可能であるが、消費電流の推奨負荷ピーク値が定められている電池を電源とする携帯電話等、消費電力に制限のある外部装置において使用できず、汎用性に欠けるという問題があった。
この問題を解決するために、外部装置の種別に応じて、処理速度の基準となる内部クロックの周波数を変更する従来のＩＣカードがある。
【０００５】
【特許文献１】
特開２００１−２０９７６４（第２−３頁、第１図）
【０００６】
【発明が解決しようとする課題】
しかし、従来のＩＣカードでは、アプリケーションに含まれる複数の処理において、消費電力が最大となる処理に合わせてすべての処理における処理速度を一律に調整するため、処理の遅延を招くおそれがある。つまり、ＩＣカードが、消費電力に制限がある外部装置に接続され、アプリケーションに、暗号化及び復号の処理が含まれる場合には、内部クロックの周波数を低く設定しなければならず、この低い周波数に同期して、アプリケーションに含まれる他の処理を行わなければならないという問題があった。
【０００７】
本発明の課題は、利便性及び汎用性が高く、処理の迅速化を図ることが可能なＩＣカード、オペレーティングシステム及びアプリケーションプログラムを提供することである。
【０００８】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段（６３、６３−２）と、前記アプリケーションプログラム記憶手段に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段（５１）とを備えるＩＣカードであって、前記アプリケーションプログラム実行手段によって実行されているアプリケーションプログラムに処理速度変更指示があった場合に、前記処理速度変更指示に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段（５２、５２−２）を備えること、を特徴とするＩＣカード（１、１−２）である。
【０００９】
請求項２の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段（６３）と、前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段（５１）とを備えるＩＣカードであって、外部装置（２−１、２−２）から処理速度変更要求を受信した場合に、前記処理速度変更要求に応じて前記アプリケーションプログラム実行手段の処理速度を変更する処理速度変更手段（５２−３）を備えること、を特徴とするＩＣカード（１−３）である。
【００１０】
請求項３の発明は、請求項１又は請求項２に記載のＩＣカードにおいて、前記アプリケーションプログラム実行手段（５１）は、アプリケーションプログラムに応じて演算を行う演算手段（５１１）を備え、前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて前記演算手段の処理速度を変更すること、を特徴とするＩＣカード（１、１−２、１−３）である。
【００１１】
請求項４の発明は、請求項１から請求項３までのいずれか１項に記載のＩＣカードにおいて、前記処理速度変更手段は、前記処理速度変更指示又は前記処理速度変更要求に応じて、前記アプリケーションプログラムの一又は複数の処理単位で処理速度を変更すること、を特徴とするＩＣカード（１、１−２、１−３）である。
【００１２】
請求項５の発明は、請求項１から請求項４までのいずれか１項に記載のＩＣカードにおいて、前記処理速度変更指示又は前記処理速度変更要求は、既存の他の意味を有する命令又は要求であって、前記既存の他の意味を消す引数が指定されていること、を特徴とするＩＣカード（１−２）である。
【００１３】
請求項６の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段（６３）を備えるＩＣカード（１、１−２）のＣＰＵ（５０、５０−２）に実行させるオペレーティングシステムであって、前記アプリケーションプログラム記憶手段によって記憶されているアプリケーションプログラム（ＡＰ−１、ＡＰ−２）から所定の呼び出しがあった場合に、この呼び出しに応じて前記ＣＰＵの処理速度を変更する処理速度変更手順（Ｓ１４０、＃１、＃３、＃５）を備えること、を特徴とするオペレーティングシステム（ＯＳ−１、ＯＳ−２）である。
【００１４】
請求項７の発明は、アプリケーションプログラムを記憶するアプリケーションプログラム記憶手段（６３）を備えるＩＣカード（１−３）のＣＰＵ（５０−３）に実行させるオペレーティングシステムであって、外部装置（２−１、２−２）から処理速度変更要求を受信した場合に、この処理速度変更要求に応じて前記ＣＰＵの処理速度を変更する処理速度変更手順（Ｓ２３０）を備えること、を特徴とするオペレーティングシステム（ＯＳ−３）である。
【００１５】
請求項８の発明は、ＩＣカード（１、１−２）のＣＰＵ（５０、５０−２）に実行させるアプリケーションプログラムであって、前記ＣＰＵの処理速度を変更する処理速度変更手順（Ｓ１４０、＃１、＃３、＃５）を備えること、を特徴とするアプリケーションプログラム（ＡＰ−１、ＡＰ−２）である。
【００１６】
請求項９の発明は、請求項８に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、オペレーティングシステムが提供する独自のインターフェイスを利用すること、
を特徴とするアプリケーションプログラムである。
【００１７】
請求項１０の発明は、請求項８に記載のアプリケーションプログラムにおいて、
前記処理速度変更手順は、前記ＣＰＵに既存の他の処理を実行させる命令であって、前記既存の他の処理が無意味となる引数が指定されている場合に実行されること、を特徴とするアプリケーションプログラム（ＡＰ−２）である。
【００１８】
請求項１１の発明は、ＩＣカード（１−２）のＣＰＵ（５０−２）に実行させるアプリケーションプログラムであって、独自の機能をオペレーティングシステムから呼び出す呼び出し手順（＃１、＃３、＃５）を備え、前記呼び出し手順は、他の汎用性のある機能を呼び出す命令であって、前記他の機能が無意味となる引数が指定されている場合に実行されること、を特徴とするアプリケーションプログラム（ＡＰ−２）である。
【００１９】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
（第１実施形態）
図１は、本発明によるＩＣカードの第１実施形態を示すブロック図である。
図１に示すように、ＩＣカード１は、カード内部に設けられているアンテナ１０と、カード表面に設けられている接触端子２０とを備え、外部装置２−１のＲ／Ｗから送信された電磁波を搬送波として、アンテナ１０を介して電力及びクロックの授受を非接触状態で行う非接触式通信機能及び接触端子２０がＡＴＭ等の外部装置２−２のリーダライタ（以下、「リーダライタ」を「Ｒ／Ｗ」という。）の端子と接触した状態でデータ、電力及びクロックの授受を行う接触式通信機能を備える接触／非接触型ＩＣカードである。また、ＩＣカード１は、アンテナ１０及び接触端子２０に接続されている接触／非接触式共用のＩＣチップ３０を備え、複数のアプリケーションを搭載可能ないわゆるマルチアプリケーションＩＣカードである。
外部装置２−１は、入退室管理装置等、ＩＣカード１と非接触式で通信を行うＲ／Ｗを備える情報処理装置であり、外部装置２−２は、ＡＴＭ等、ＩＣカード１と接触式で通信を行うＲ／Ｗを備える情報処理装置である。
【００２０】
アンテナ１０は、導体が電気的に接触しないように複数回巻かれ、ＩＣチップ３０のインターフェイス部４０（以下、「インターフェイス」を「Ｉ／Ｆ」という。）に接続されている巻線コイル等であって、交流電磁波及び交流電力の相互変換を行う。
接触端子２０は、外部装置２−２のＲ／Ｗの端子と接触して電気的導通を行う複数の端子を備え、ＩＣチップ３０のＩ／Ｆ部４０に接続され、電源電圧、外部クロック等の供給を受け、情報の授受を行う、ＩＣチップ３０及び外部装置２−２間における接触式での通信を媒介する接触式通信手段である。
【００２１】
ＩＣチップ３０は、ＣＰＵ５０と、ＣＰＵ５０に接続されているＩ／Ｆ部４０、コプロセッサ７１、ＲＡＭ６１、ＲＯＭ６２及びＮＶＭ（Ｎｏｎ  Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）６３等を備えている。
Ｉ／Ｆ部４０は、アンテナ２０を介して入力する交流電力から、クロック成分、つまり、ＲＡＭ６１等の周辺回路間で同期をとるためのテンポである外部クロック（基本クロック）を抽出するためのクロックパルス生成回路等を含む基本クロック生成部４１と、基本クロック生成部４１に接続されているクロック生成部４２とを備えている。また、Ｉ／Ｆ部４０は、アンテナ２０を介して交流電力から電源電圧となる電力成分を抽出するための整流回路等と、ＣＰＵ５０へ入力するデータ成分を抽出するための復調回路等と、交流電力に対してＣＰＵ５０から出力されるデータに応じた負荷変調等を行い、アンテナ２０へ出力する変調回路等とを備えている（図示しない）。
【００２２】
クロック生成部４２は、基本クロック生成部４１又は接触端子２０から入力する基本クロック（外部クロック）から複数のクロックを生成し、いずれか一のクロックを内部クロックとしてＣＰＵ５０へ入力する。
図２は、クロック生成部４２を示すブロック図である。
図２に示すように、クロック生成部４２は、基本クロック生成部４１から入力される基本クロックを８倍（以下、基本クロックのＸ倍の周波数のクロックを「Ｘ逓倍クロック」という。）の周波数に高める逓倍回路４２１と、逓倍回路４２１から入力される８逓倍クロックを１／２の周波数に低減する分周回路４２２と、分周回路４２２から入力される４逓倍クロックを１／２の周波数に低減する分周回路４２３と、選択器４２４とを備えている。
【００２３】
選択器４２４は、基本クロック生成部４１、逓倍回路４２１、分周回路４２２，４２３及びＣＰＵ５０等に接続され、ＣＰＵ５０から入力される選択信号に基づき、接続を切り替え、逓倍回路４２１等によって入力される４種類のクロック（基本クロック、８逓倍クロック、４逓倍クロック及び２逓倍クロック）のうち、いずれか一のクロックを内部クロックとしてＣＰＵ５０へ入力する。なお、ＩＣカード１の初期状態において、選択器４２４は、基本クロックをＣＰＵ５０へ入力する。
【００２４】
図１に示すように、ＲＡＭ６１、ＲＯＭ６２及びＮＶＭ６３は、プログラム、データ等のＣＰＵ５０の処理に必要な情報を記憶するための記憶手段である。ＲＡＭ６１は、揮発性メモリであり、ＣＰＵ５０が処理を行う作業領域として使用される。ＲＯＭ６２は、不揮発性の読み出し専用メモリであって、オペレーティングシステム（以下、ＩＣカード１に記憶されているオペレーティングシステムを「ＯＳ−１」という。）等のプログラム及びパラメータ等のプログラムの実行に必要なデータを記憶している。オペレーティングシステムとは、基本ソフトウェアであって、ＣＰＵ５０が実行することによって、ＣＰＵ５０、周辺機器等のハードウェアを制御し、アプリケーションプログラムがこれを利用できるようにするプログラム及びプログラムの実行に必要なデータである。
ＮＶＭ６３は、ＥＥＰＲＯＭ、フラッシュメモリ、ＦＲＡＭ等の随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリア等として使用され、複数のアプリケーションを記憶することが可能である。
【００２５】
ＣＰＵ５０は、ＲＯＭ６２、ＮＶＭ６３等のメモリに記憶されているＯＳ−１等のプログラムを実行することによって、ＩＣカード１を統括制御し、アプリケーション実行部５１、処理速度制御部５２等を実現する。
アプリケーション実行部５１は、ＮＶＭ６３に記憶されているアプリケーションプログラムを実行するアプリケーションプログラム実行手段であり、アプリケーションプログラムの実行に係る算術演算、論理演算等の演算を行う演算部５１１を備えている。演算部５１１は、選択器４２４からＣＰＵ５０へ提供される内部クロックに同期して処理を行う。
【００２６】
処理速度制御部５２は、アプリケーション実行部５１が実行しているアプリケーションプログラムに処理速度変更指示があった場合に、選択器４２４へクロック識別情報を含む選択信号を送信して選択器４２４を制御し、ＣＰＵ５０へ入力する内部クロックを切り替えることによって、演算部５１１の処理速度を変更する等、ＣＰＵ５０の処理速度の制御を行う。処理速度変更指示とは、処理速度を変更する命令であって、本実施形態においては、ＣＰＵ５０に入力するクロックを変更する命令であり、変更後にＣＰＵ５０へ入力すべき内部クロックを示すクロック識別情報を含んでいる。クロック識別情報は、クロック生成部４２がＣＰＵ５０へ入力可能な４種類のクロックから一のクロックを識別するための情報である。命令とは、ＣＰＵ５０に動作をさせるための指示であって、関数を含む。コプロセッサ７１は、ＣＰＵ５０を補完し、性能を強化するプロセッサであって、データの暗号化、復号等の計算量の多い処理を専用に行う演算手段である。
【００２７】
図３は、本発明によるオペレーティングシステム及びアプリケーションプログラムの第１実施形態を説明するための図であって、図３（ａ）は、ＲＯＭ６２に記憶されているＯＳ−１のアプリケーションプログラムインターフェイス（以下、「ＡＰＩ」という。）を説明するための図である。
図３（ａ）に示すように、ＯＳ−１のＡＰＩは、引数「Ｌｖ」（レベル）に対応するクロックを示すクロック識別情報を含む選択信号を選択器４２４に送信する、つまり、処理速度制御部５２をＣＰＵ５０に実現させるＯＳ−１の機能を呼び出す「ＤＮＰ．ｕｔｉｌ．ｓｅｔＣｌｏｃｋ（ＢＹＴＥ  Ｌｖ）」という命令（以下、この命令を「命令ＤＵＳ」という。）を含んでいる。命令ＤＵＳは、ＣＰＵ５０の処理速度の変更を指示する処理速度変更指示である。
【００２８】
命令ＤＵＳの引数の値（Ｌｖで指定できる値）は、ＤＥＦＡＵＬＴ、ＨＩＧＨ、ＭＩＤＤＬＥ及びＬＯＷの４種類の値であり、ラベルとして、それぞれＩ／Ｆ部４０がＣＰＵ５０へ提供できる４種類のクロック（基本クロック、８逓倍クロック、４逓倍クロック及び２逓倍クロック）に対応するクロック識別情報である。ＤＥＦＡＵＬＴは、基本クロック（外部クロック）に、ＨＩＧＨ、ＭＩＤＤＬＥ及びＬＯＷは、Ｉ／Ｆ部４０が基本クロックから生成した複数のクロックのうち、それぞれ周波数の高い順で、８逓倍クロック、４逓倍クロック及び２逓倍クロックにそれぞれ対応している。
なお、この対応関係は、命令ＤＵＳで指定できる４種類の引数に、ＩＦ部４０が提供できる４種類のクロックをそれぞれ関連づけてＲＯＭ６２、ＮＶＭ６３等のメモリに記憶していてもよく、記憶せずに、ＣＰＵ５０がＯＳ−１を実行することによって、関連づけを動的に行ってもよい。また、いずれのクロックをいずれの引数の値に関連づけるかは、任意であって限定されない。
【００２９】
図３（ｂ）は、本発明によるアプリケーションプログラムの一部を示す図である。本発明によるアプリケーションプログラムは、ＩＣカード１のＮＶＭ６３に記憶され、Ｊａｖａ言語で記述されているＡＰ−１である。なお、「ｈｅａｖｙＦｕｎｃｔｉｏｎ（）」とは、ＲＳＡの暗号化、復号等のＣＰＵ５０に高い負荷がかかる処理を行わせる命令（以下、この命令を「命令ＨＦ」という。）である。
図３（ｂ）に示すように、ＡＰ−１は、命令ＨＦの前に引数「ＨＩＧＨ」が指定されている命令ＤＵＳ、命令ＨＦの後に引数「ＤＥＦＡＵＬＴ」が指定されている命令ＤＵＳを含んでいる。従って、ＣＰＵ５０は、命令ＨＦの処理を８逓倍クロックに同期して行い、その後の処理を基本クロックに同期して行う。
従って、処理速度制御部５２は、処理速度変更指示である命令ＤＵＳに応じて、一又は複数の処理単位で処理速度を変更することが可能である。処理単位とは、ＡＰ−１の命令単位等、ハードウェア資源を使う処理における実行の最小単位（タスク）である。
【００３０】
図４は、第１実施形態における、本発明によるＩＣカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
ステップ１００（以下、「ステップ」を「Ｓ」という。）において、ＩＣカード１は、外部装置２−１（外部装置２−２でもよい。）に接続され、電力、クロックの供給を受け、ＡＰ−１を選択している状態にある。
Ｓ１１０において、ＩＣカード１は、外部装置２−１からコマンドを受信する。アプリケーション実行部５１は、選択されているＡＰ−１に含まれる、このコマンドに対応するプログラム（以下、「コマンド処理プログラム」という。）の実行を開始する（Ｓ１２０）。処理速度制御部５２は、コマンド処理プログラムに命令ＤＵＳが含まれる場合には、選択器４２４へ選択信号を送信し、処理速度を変更する（Ｓ１３０，Ｓ１４０）。演算部５１１は、変更された処理速度でその後の処理を行い（Ｓ１５０）、コマンド処理プログラムの実行が終了するまで同様の処理を繰り返す（Ｓ１３０からＳ１６０まで）。ＩＣカード１は、この処理結果をレスポンスとして外部装置２−１へ送信し（Ｓ１７０）、次のコマンドを受信するまで待機状態となり、外部装置２−１との接続が切断されるまで同様の処理（Ｓ１１０からＳ１７０まで）を繰り返す。
【００３１】
第１実施形態によれば、ＡＰ−１に含まれる命令ＤＵＳに従って、一又は複数の処理単位でＩ／Ｆ部４０がＣＰＵ５０へ提供するクロックを変更するため、予めＡＰ−１において処理内容に応じて処理単位でＣＰＵ５０の処理速度を設定することによって、効率的に処理の迅速化を図ることが可能となった。
図５は、アプリケーションプログラムの実行における処理の経過時間（横軸）と、ＩＣカードの消費電流（縦軸）との関係を示すグラフであって、図５（ａ）は、従来のＩＣカードにおける消費電流を示し、図５（ｂ）は、ＩＣカード１における消費電流を示している。
つまり、図５（ａ）に示すように、従来のＩＣカードでは、消費電流の推奨負荷ピーク値が定められている電池を電源とする携帯電話等、消費電力に制限のある外部装置２−２において使用することができない。一方、ＩＣカード１は、図５（ｂ）に示すように、消費電流（消費電力）が大きい処理（ｐ４）については、処理速度を低速に、消費電流（消費電力）が小さい処理（ｐ１、ｐ２、ｐ３）については処理速度を高速として処理を行う等、消費電力に応じて処理単位でＣＰＵ５０の処理速度を変更することによって、消費電力に制限のある外部装置２−１，２−２において使用でき、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図ることが可能となった。
また、ＡＰＩにおいて、命令ＤＵＳの引数（ＤＥＦＡＵＬＴ、ＨＩＧＨ、ＭＩＤＤＬＥ、ＬＯＷ）の示す意味（８逓倍等）は、個々のカードで任意であるため、複数のクロックを生成でき、ＯＳ−１を搭載していれば、生成するクロックの種類、数は、限定されず、ＡＰ−１をより多くのＩＣカードで使用することができ、汎用性を向上することが可能となった。
【００３２】
（第２実施形態）
図６は、本発明によるＩＣカードの第２実施形態を示すブロック図である。
なお、前述した実施形態と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図６に示すように、ＩＣカード１−２は、ＣＰＵ５０−２、ＲＯＭ６２−２、ＮＶＭ６３−２等を備えている。
ＣＰＵ５０−２は、ＲＯＭ６２−２、ＮＶＭ６３−２に記憶されているプログラムを実行することによって、処理速度制御部５２−２を実現する。
ＲＯＭ６２−２は、オペレーティングシステムであるＯＳ−２を記憶し、ＮＶＭ６３−２は、アプリケーションプログラムであるＡＰ−２を記憶している。
【００３３】
図７は、本発明によるオペレーティングシステム及びアプリケーションプログラムの第２実施形態を説明するための図であって、アプリケーションプログラムの一部を示している。なお、本発明によるＯＳ及びアプリケーションプログラムは、ＯＳ−２及びＡＰ−２である。
図７に示すように、ＡＰ−２は、引数「ｓｒｃ」で示されるアドレスにあるデータ列を引数「ｌｅｎ」で示される容量分、引数「ｄｓｔ」で示されるアドレスへコピーする機能をＣＰＵ５０−２に実現させる、ＪａｖａＯＳ等（「ＪＡＶＡ」は、登録商標）の従来の一般的なＯＳ（ＩＣカード）においても実行可能な汎用性のある「ｓｔａｎｄａｒｄ．ａｒｒａｙＣｏｐｙ（ＲＥＦＥＲＥＮＣＥ  ｓｒｃ，ＲＥＦＥＲＥＮＣＥ  ｄｓｔ，ｓｈｏｒｔ  ｌｅｎ）」という命令（以下、この命令を「命令ＳＡＣ」という。）を含んでいる。
【００３４】
ＯＳ−２は、引数「ｌｅｎ」に、命令ＳＡＣのデータ列をコピーするという既存の意味を消す引数（既存の処理が無意味となる引数）「０」が指定され、ＡＰ−２から呼び出しがあった場合には、８逓倍クロックを示すクロック識別情報を含む選択信号を選択器４２４へ送信する独自の機能を備え、処理速度制御部５２−２をＣＰＵ５０−２に実現させる。意味を消す（無意味）とは、命令に応じた処理において、処理対象のデータ（引数「ｄｓｔ」又は「ｓｒｃ」で示されるアドレスのデータ）の内容が変わらない等、実質的な処理が行われないことである。
なお、従来のＯＳがＡＰ−２から呼び出しを受けた場合には、コピーするデータ列の容量がゼロであるため、この命令に応じた処理を行わない、又は、行った場合であっても処理前後において、処理対象のデータ（ｄｓｔ又はｓｒｃで示されるアドレスのデータ）の内容が変わらず、処理結果が、エラーとなることもない。
【００３５】
また、ＡＰ−２は、命令ＳＡＣ同様に情報のコピーをＣＰＵ５０−２に実現させる、汎用性のある命令であって、処理前の状態においてデータ列のバックアップを取らないという点で命令ＳＡＣと異なる「ｓｔａｎｄａｒｄ．ａｒｒａｙＣｏｐｙＮｏｎａｔｏｍｉｃ（ＲＥＦＥＲＥＮＣＥ  ｓｒｃ，ＲＥＦＥＲＥＮＣＥｄｓｔ，ｓｈｏｒｔ  ｌｅｎ）」という命令（以下、この命令を「命令ＳＡＣＮ」という。）を含んでいる。
ＯＳ−２は、引数「ｌｅｎ」に、命令ＳＡＣＮのデータ列をコピーするという本来の意味を消す引数（既存の処理が無意味となる引数）「０」が指定されて、ＡＰ−２から呼び出しがあった場合には、基本クロックを示すクロック識別情報を含む選択信号を選択器４２４へ送信する独自の機能を備え、処理速度制御部５２−２をＣＰＵ５０−２に実現させる。
【００３６】
ＡＰ−２は、命令ＨＦの前に引数「ｌｅｎ」に「０」が指定されている命令ＳＡＣ、命令ＨＦの後に引数「ｌｅｎ」に「０」が指定されている命令ＳＡＣＮを含んでいる。
このＡＰ−２のプログラムの実行手順について説明する。先ず、処理速度制御部５２−２は、ＣＰＵ５０−２へ提供するクロックを８逓倍クロックへ変更し（＃１）、次に、演算部５１１が８逓倍クロックに同期して演算を行う等、アプリケーション実行部５１は、命令ＨＦに対応する処理を８逓倍クロックに同期して行い（＃２）、処理速度制御部５２−２は、クロックを基本クロックへ変更する（＃３）。
【００３７】
第２実施形態によれば、第１実施形態の効果に加え、汎用性の高い既存の命令である命令ＳＡＣ及び命令ＳＡＣＮにおいて本来の意味を消す引数を指定することによって、ＯＳ−２の独自の機能の呼び出しを行うため、この独自の機能を備えていない従来のＯＳを備えるＩＣカード上でＡＰ−２を実行することが可能であり、ＡＰ−２の汎用性を向上することが可能となった。
【００３８】
（第３実施形態）
図８は、本発明によるＩＣカードの第３実施形態を示すブロック図である。
図８に示すように、ＩＣカード１−３は、ＣＰＵ５０−３、ＲＯＭ６２−３等を備えている。
ＲＯＭ６２−３は、オペレーティングシステムであるＯＳ−３を記憶している。
ＣＰＵ５０−３は、アプリケーション実行部５１の処理速度の変更を要求する、クロック識別情報を含む処理速度変更要求を外部装置２−１、２−２から受信した場合に、この要求に応じてクロック識別情報を含む選択信号を選択器４２４へ送信する処理速度制御部５２−３を備えている。本実施形態において、処理速度変更要求は、ＤＵＳコマンドであって、第１実施形態において命令ＤＵＳがＯＳ−１から呼び出す機能と同様の機能をＯＳ−３から呼び出すコマンドである。ＣＰＵ５０−３は、ＯＳ−３のＤＵＳコマンドに対応するコマンド処理プログラムを実行することによって、処理速度制御部５２−３を実現する。また、ＤＵＳコマンドは、クロック識別情報等、命令ＤＵＳと同様に引数（Ｌｖ）が指定される。
【００３９】
図９は、第３実施形態における、本発明によるＩＣカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
Ｓ２００において、ＩＣカード１−３は、外部装置２−１（外部装置２−２でもよい。）に接続され、電力、クロックの供給を受けている状態にある。
Ｓ２１０において、ＩＣカード１−３は、外部装置２−１からコマンドを受信する（Ｓ２１０）。受信したコマンドがＤＵＳコマンドである場合には、処理速度制御部５２−３は、処理速度を変更し（Ｓ２２０，Ｓ２３０）、その他のコマンドである場合には、受信したコマンドに対応するコマンド処理プログラムを実行する（Ｓ２２０，Ｓ２４０）。ＩＣカード１−３は、この処理結果をレスポンスとして外部装置２−１へ送信し（Ｓ２５０）、次のコマンドを受信するまで待機状態となり、外部装置２−１との接続が切断されるまで同様の処理（Ｓ２２０からＳ２５０まで）を繰り返す。
なお、処理速度の変更（Ｓ２２０）後に、認証コマンド等のその他のコマンドを受信した場合（Ｓ２１０）に、演算部５１１は、認証コマンドに対応するコマンド処理プログラムの実行に係る演算を変更後のクロックに同期して行う（Ｓ２４０）。
【００４０】
第３実施形態によれば、第１実施形態と同様の効果に加え、例えば、携帯電話等の消費電力のピーク値に制限がある外部装置２−１，２−２が、ＤＵＳコマンドによって処理速度を低速に変更して消費電力を抑える等、外部装置２−１，２−２側から消費電力及び処理速度をコマンド毎、つまり、ジョブ（一又は複数の処理単位）毎に調整することができ、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図ることが可能となった。
【００４１】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ＩＣカード１は、外部装置２−１，２−２とアンテナ１０又は接触端子２０を介して通信を行う接触／非接触式共用のＩＣチップ３０を備えているが、これに限られず、非接触型ＩＣチップでもよく、接触型ＩＣチップであってもよい。また、ＩＣカード１は、静電結合方式により外部装置と通信を行うアンテナ及びＩ／Ｆ部を備えていてもよく、通信方法は、限定されない。
【００４２】
各実施形態において、Ｉ／Ｆ部４０は、基本クロック、２逓倍クロック、４逓倍クロック及び８逓倍クロックの４種類のクロックを生成するが、１／２倍、３倍、５．５倍、１０倍等、基本クロックの他の倍数の周波数を有するクロックを生成してもよく、２種類のクロック、５種類以上のクロックを生成してもよく、複数の種類のクロックを生成することができれば、その周波数、種類の数は、限定されない。
【００４３】
また、外部装置２−１，２−２から供給される外部クロックに基づいて、Ｉ／Ｆ部４０がＣＰＵ５０，５０−２，５０−３に提供する複数の種類のクロックを生成する代わりに、ＣＰＵ５０，５０−２，５０−３等のＩＣカード内部で外部クロックの干渉を受けない独自の基本クロックを生成し、基本クロックを逓倍等することによって、複数の種類のクロックを生成してもよい。
【００４４】
更に、クロック生成部４２は、基本クロックの周波数を８倍した後に１／２倍、１／２倍して、周波数を調整し、４種類の周波数を有するクロックを生成しているが、これに限られず、例えば、基本クロックの周波数が高い場合には、１／２倍、１／２倍して複数のクロックを生成してもよく、周波数の異なる複数の種類のクロックを生成する方法は、限定されない。
【００４５】
各実施形態において、処理速度制御部５２は、ＣＰＵ５０，５０−２，５０−３へ提供するクロックを変更することによって、アプリケーション実行部５１（演算部５１１）の処理速度を変更しているが、同様に、コプロセッサ７１を使用してアプリケーションプログラムを実行する場合（コプロセッサ７１がアプリケーションプログラム実行手段を備える場合）には、コプロセッサ７１に提供するクロックを変更することによって、アプリケーションプログラム実行手段の処理速度を変更してもよい。
【００４６】
また、処理速度制御部５２は、クロック生成部４２から、ＣＰＵ５０及びコプロセッサ７１にそれぞれ異なる周波数のクロックを供給してもよい。より詳細に処理速度を変更することが可能となり、処理の効率化、処理速度の迅速化、最大消費電力の抑制を図ることが可能となる。
【００４７】
各実施形態において、命令ＤＵＳ、命令ＳＡＣ、命令ＳＡＣＮ、ＤＵＳコマンドは、命令又は要求後の処理について処理速度を切り替える命令又は要求であるが、命令又は要求において、クロック及び変更後のクロックに同期して行う処理を指定してもよく、命令又は要求において、変更後のクロックを示唆する情報と、いずれの処理について変更後のクロックに同期して処理を行うかを示す情報とを含んでいれば、命令又は要求の規定の内容は、限定されない。
【００４８】
各実施形態において、ＩＣカード１，１−２，１−３は、ＡＰ−１、ＡＰ−２等のアプリケーションプログラムをＮＶＭ６３，６３−２に記憶するが、ＲＯＭ６２，６２−２，６２−３に記憶していてもよく、ＲＡＭ６１に記憶していてもよい。アプリケーションプログラムを実行可能なように記憶していれば、記憶方法は、限定されない。ＯＳについても同様である。
【００４９】
第２実施形態において、引数「ｌｅｎ」に「０」が指定されている命令ＳＡＣ及び命令ＳＡＣＮを処理速度変更指示として例示したが、命令ＳＡＣ又は命令ＳＡＣＮの引数「ｓｒｃ」及び「ｄｓｔ」が同一の場合に、処理速度変更指示としてもよく、また、他の既存の処理をＣＰＵ５０−２に実行させる命令であってもよく、その命令において、既存の処理が無意味となる引数が指定された場合に、処理速度変更指示とする規定であれば、命令の種類及び引数の意味づけは、限定されない。
【００５０】
また、アプリケーションプログラム内における他の命令との関連において、既存の処理が無意味となる引数が指定されている命令を処理速度変更指示としてもよい。例えば、図１０に示すように、ＡＰ−３は、引数「ｌｅｎ」に「５」が指定されている命令ＳＡＣが２度繰り返し記述されている（＃４，＃５）。この２回目の命令ＳＡＣ（＃５）を処理速度変更指示としてもよい。従来のＯＳがＡＰ−３から呼び出しを受けた場合には、引数「ｇＳｒｃ」で示されるアドレスにあるデータ列を５バイト分、引数「ｇＤｓｔ」で示されるアドレスへコピーする処理を２度繰り返しＣＰＵ５０−２に実行させる。従って、１回目の命令ＳＡＣ（＃４）と同一の引数が指定されている２回目の命令ＳＡＣ（＃５）にかかる処理は、無意味なものとなる。
【００５１】
第２実施形態において、ＡＰ−２は、命令ＳＡＣ、命令ＳＡＣＮを含んでいるが、ＯＳ−２が他の独自の機能を備える場合には、クロックを変更する以外の他の独自の機能又は汎用性のある機能をＯＳ−２から呼び出す命令であって、汎用性のある機能が無意味となる引数が指定されている場合に、他の独自の機能の呼び出しを行う命令を含んでいてもよい。
命令が呼び出す独自の機能の内容については、限定されず、ＡＰＩに任意に規定することが可能である。なお、独自の機能とは、従来のＯＳが備えていない、汎用性のない機能である。
様々な独自の機能をＯＳから呼び出す命令を含むＡＰ−２は、従来のＯＳを搭載している従来のＩＣカードに記憶され、実行することが可能であるため、汎用性が高いとともに、ＯＳ−２を搭載しているＩＣカード１−２においては、様々な機能を発揮することができ、利便性を向上することが可能となる。
【００５２】
第３実施形態において、処理速度制御部５２−３は、第２実施形態における命令ＳＡＣ、命令ＳＡＣＮがＯＳ−２から呼び出す機能と同様の機能を呼び出すコマンドであって、既存の処理が無意味となる引数が指定されている場合に処理速度変更要求となる、汎用性のあるＳＡＣコマンド、ＳＡＣＮコマンドを受信した場合に、アプリケーション実行部５１の処理速度を変更してもよい。
外部装置から従来のＩＣカードにＳＡＣ、ＳＡＣＮコマンドを送信した場合には、ＩＣカードにおいて、実質的な処理が行われないとともに、エラーとならず、また、ＩＣカード１−３にＳＡＣコマンド、ＳＡＣＮコマンドを送信した場合には、処理速度変更要求となり、第３実施形態と同様の効果に加え、外部装置の汎用性の向上を図ることが可能である。
【００５３】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
（１）アプリケーションプログラムに処理速度変更指示があった場合に、アプリケーションプログラム実行手段（演算手段、ＣＰＵ）の処理速度を変更するため、アプリケーションプログラムに含まれる処理内容に応じて処理速度を変更し、消費電力及び処理速度を調整することによって、ＩＣカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にＩＣカードにおける処理の迅速化を図る。
（２）外部装置から受信した処理速度変更要求に基づいて、アプリケーションプログラム実行手段（演算手段、ＣＰＵ）の処理速度を変更するため、外部装置側から消費電力及び処理速度を要求内容に応じて調整することによって、ＩＣカード及び外部装置の汎用性及び利便性の向上を図るとともに、効率的にＩＣカードにおける処理の迅速化を図る。
（３）また、処理単位で処理速度を変更するため、詳細に消費電力及び処理速度を調整することによって、消費電力に制限のある外部装置において使用可能とする等、汎用性及び利便性の向上を図るとともに、効率的に処理の迅速化を図る。
（４）アプリケーションプログラムが、既存の他の意味を有する命令（既存の他の処理を実行させる命令）であって、既存の他の意味を消す引数（既存の他の処理が無意味となる引数）が指定されている処理速度変更指示を含み、この処理速度変更指示に基づいて処理速度の変更を行うため、処理速度変更指示に対応するオペレーティングシステムを記憶するＩＣカードのみならず、従来のオペレーティングシステムを記憶するＩＣカードでもこのアプリケーションプログラムを利用することができ、汎用性の向上を図る。
（５）同様に、他の意味を有する要求であって、他の意味を消す引数が指定されている処理速度変更要求に基づいて処理速度の変更を行うため、外部装置は、処理速度変更要求に対応するオペレーティングシステム（アプリケーションプログラム）を備えるＩＣカードのみならず、従来のオペレーティングシステム（アプリケーションプログラム）を記憶するＩＣカードにおいても、この要求を行うことができ、汎用性の向上を図る。
（６）汎用性のある機能を呼び出す命令の引数にこの機能が無意味となる引数が指定されている場合に、独自の機能をオペレーティングシステムから呼び出すため、この命令を含むアプリケーションプログラムを、従来のＯＳを搭載しているＩＣカードで使用可能とするとともに、独自の機能を備えるＯＳを搭載しているＩＣカードにおいては、独自の機能を発揮させ、汎用性及び利便性の向上を図る。
【図面の簡単な説明】
【図１】本発明によるＩＣカードの第１実施形態を示すブロック図である。
【図２】クロック生成部４２を示すブロック図である。
【図３】本発明によるオペレーティングシステム及びアプリケーションプログラムの第１実施形態を説明するための図である。
【図４】第１実施形態における、本発明によるＩＣカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
【図５】アプリケーションプログラムの実行における処理の経過時間と、ＩＣカードの消費電流との関係を示すグラフである。
【図６】本発明によるＩＣカードの第２実施形態を示すブロック図である。
【図７】本発明によるオペレーティングシステム及びアプリケーションプログラムの第２実施形態を説明するための図である。
【図８】本発明によるＩＣカードの第３実施形態を示すブロック図である。
【図９】第３実施形態における、本発明によるＩＣカードの動作、オペレーティングシステム及びアプリケーションプログラムを示すフローチャートである。
【図１０】本発明によるオペレーティングシステム及びアプリケーションプログラムの変形形態を説明するための図である。
【符号の説明】
１，１−２，１−３  ＩＣカード
２−１，２−２  外部装置
１０  アンテナ
２０  接触端子
３０，３０−２，３０−３  ＩＣチップ
４０  インターフェイス部
４１  基本クロック生成部
４２  クロック生成部
５０  ＣＰＵ
５１  アプリケーション実行部
５２  処理速度制御部
６１  ＲＡＭ
６２，６２−２，６２−３  ＲＯＭ
６３，６３−２  ＮＶＭ
７１  コプロセッサ
４２４  選択器
５１１  演算部
【図１】
2004213180.tif 000003
【図２】
2004213180.tif 000004
【図３】
2004213180.tif 000005
【図４】
2004213180.tif 000006
【図５】
2004213180.tif 000007
【図６】
2004213180.tif 000008
【図７】
2004213180.tif 000009
【図８】
2004213180.tif 000010
【図９】
2004213180.tif 000011
【図１０】
2004213180.tif 000012