JP2016038829A - 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム - Google Patents

電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム Download PDF

Info

Publication number
JP2016038829A
JP2016038829A JP2014163414A JP2014163414A JP2016038829A JP 2016038829 A JP2016038829 A JP 2016038829A JP 2014163414 A JP2014163414 A JP 2014163414A JP 2014163414 A JP2014163414 A JP 2014163414A JP 2016038829 A JP2016038829 A JP 2016038829A
Authority
JP
Japan
Prior art keywords
processor module
processor
stopped
predetermined situation
module
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.)
Granted
Application number
JP2014163414A
Other languages
English (en)
Other versions
JP6398449B2 (ja
Inventor
柴田 直人
Naoto Shibata
直人 柴田
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 JP2014163414A priority Critical patent/JP6398449B2/ja
Publication of JP2016038829A publication Critical patent/JP2016038829A/ja
Application granted granted Critical
Publication of JP6398449B2 publication Critical patent/JP6398449B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】複数のプロセッサモジュールのうち、状況に応じて何れかのプロセッサモジュールを優先して動作させることが可能な電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラムを提供する。【解決手段】ICチップCは、プロセッサモジュール1,2のうち、所定の状況発生時に停止させるプロセッサモジュール(1または2)を予め設定し、当該所定の状況が発生したと判定された場合、上記設定されたプロセッサモジュールの動作を停止させ、当該停止されるプロセッサモジュール以外のプロセッサモジュールの動作を行わせる。【選択図】図1

Description

本発明は、複数のプロセッサモジュールを備える電子情報記録媒体の技術分野に関する。
従来、ICカードにおいて、レーザー光などを用いた故障利用攻撃などにより内部の機密情報が不正に漏洩してしまうことがあり、異常を検知するなどの対策が検討されている(例えば、特許文献1及び特許文献2参照)。一般に異常を検知するための処理は冗長であり、これを行うことで本来外部より要求されている処理よりも長い処理時間となってしまう。不正を検知するための専用の回路を用意することも可能ではあるが、例えば、実行中のプログラムコードに対しチェックコードを演算する場合、チェックコードの演算方式は固定的もしくは選択的となり、もしこれらの演算方式に致命的な欠陥が見つかった場合では対応が困難である。
ところで、内部にキャッシュメモリを備えるプロセッサモジュールが、スプリット方式のバスに複数接続され、各プロセッサモジュールがメモリを共有しているマルチプロセッサシステムが知られている(例えば、特許文献3参照)。
特許第5200664号 特許第4976854号 特許第3219422号
特許文献3に開示されたマルチプロセッサシステムのように、複数のプロセッサモジュールを含み、この中の一部のプロセッサモジュールを外部からの要求のための処理を行なうICカードが想定される。このようなICカードでは、プロセッサモジュールはそれぞれ独立して機能することが可能であるが、プロセッサモジュールに含まれるキャッシュメモリのメモリサイズは数kbyte程度に制限されている。このため、プログラムコードもしくはデータがキャッシュメモリ上に存在しない場合には、キャッシュミスとなり、バスを介してメモリからキャッシュメモリへのデータ転送(メモリ転送)が必要となる。インターロック方式のバスでは、このメモリ転送を行なう間、当該バスが一方のプロセッサモジュールに占有されることとなるが、他方のプロセッサモジュールもキャッシュミスが発生した場合にこのメモリ転送が終了するまで待たなくてはならない。一方、スプリット方式のバスであっても、所定間隔で分割された時間、当該バスが一方のプロセッサモジュールに占有されることとなる。このため、通信などの高速性が求められる処理などでは、これらの待ち時間が致命的な問題となる可能性がある。また異常を検知した場合は、通常処理を進めることで不正な状況が広がる可能性もある。
そこで、本発明は、上記問題等に鑑みてなされたものであり、複数のプロセッサモジュールのうち、状況に応じて何れかのプロセッサモジュールを優先して動作させることが可能な電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体であって、前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定する設定手段と、前記所定の状況が発生したか否かを判定する判定手段と、前記判定手段により前記所定の状況が発生したと判定された場合、前記設定手段により予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせる制御手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の電子情報記録媒体において、前記所定の状況は、割込みイベントであり、前記設定手段は、互いに異なる複数の前記割込みイベントごとに、当該割込みイベントの発生時に停止させる前記プロセッサモジュールを設定することを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の電子情報記録媒体において、前記所定の状況は、異常検知であり、前記異常検知された異常が問題となる異常でない場合、前記停止された前記プロセッサモジュール以外の前記プロセッサモジュールは、当該停止された前記プロセッサモジュールの動作を復帰させることを特徴とする。
請求項4に記載の発明は、請求項1に記載の電子情報記録媒体において、前記所定の状況は、前記プログラムコードまたはデータのキャッシュミスであり、前記制御手段は、前記判定手段により前記キャッシュミスが発生したと判定された場合、前記設定手段により予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作であって前記記憶手段から前記プログラムコードまたはデータを取得させる動作を行わせることを特徴とする。
請求項5に記載の発明は、プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体における前記プロセッサモジュールの動作制御方法であって、前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定するステップと、前記所定の状況が発生したか否かを判定するステップと、前記所定の状況が発生したと判定された場合、前記予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせるステップと、を含むことを特徴とする。
請求項6に記載の発明は、プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体におけるコンピュータに、前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定するステップと、前記所定の状況が発生したか否かを判定するステップと、前記所定の状況が発生したと判定された場合、前記予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせるステップと、を実行させることを特徴とする。
本発明によれば、複数のプロセッサモジュールのうち、状況に応じて何れかのプロセッサモジュールを優先して動作させることができる。
ICチップCの概要構成例を示す図である。 実施例1におけるスペシャルファンクションレジスタの構成例を示す図である。 プロセッサ制御回路7により行われる処理の一例を示すフローチャートである。 実施例2におけるスペシャルファンクションレジスタの構成例を示す図である。 実施例2におけるプロセッサモジュール2により行われる異常判定処理の一例を示すフローチャートである。 実施例3におけるプロセッサモジュール2により行われる異常判定処理の一例を示すフローチャートである。 実施例4におけるスペシャルファンクションレジスタの構成例を示す図である。 (A)は、プロセッサモジュール1にてキャッシュミスが発生しキャッシュ読込み動作を行なっている際に、優先順位が低く設定されたプロセッサモジュール2でもキャッシュミスが発生した場合の動作を示すタイミングチャートである。(B)は、優先順位が低く設定されたプロセッサモジュール2にてキャッシュミスが発生しキャッシュ読込み動作を行なっている際に、プロセッサモジュール1でもキャッシュミスが発生した場合の動作を示すタイミングチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ICチップに対して本発明を適用した場合の実施の形態である。
先ず、図1を参照して、本実施形態に係るICチップの概要構成について説明する。図1は、ICチップCの概要構成例を示す図である。ICチップCは、本発明の電子情報記録媒体の一例である。なお、ICチップCは、キャッシュカード、クレジットカード、社員カード等に搭載されて使用される。或いは、ICチップCは、スマートフォンや携帯電話機等の通信機器に組み込まれる。ICチップCは、通信機器の回路基板上に直接組み込んで構成するようにしてもよい。
ICチップCは、図1に示すように、プロセッサモジュール1、プロセッサモジュール2、RAM(Random Access Memory)3、ROM(Read Only Memory)4、NVM(Nonvolatile Memory)5、I/O回路6、及びプロセッサ制御回路7を備えて構成され、これらの構成要素は、バス8に接続されている。バス8は、アドレスバスとデータバスを備える。なお、図1に示すICチップCは、2つのプロセッサモジュールを備えるが、3つ以上のプロセッサモジュールを備えてもよい。RAM3、ROM4、及びNVM5は、プログラムコードまたはデータを記憶する記憶手段の一例である。例えば、ROM4、またはNVM5には、OS、アプリケーションプログラム(複数のプログラムコードから構成)、及び本発明の動作制御プログラムが記憶される。NVM5には、フラッシュメモリ、または「Electrically Erasable Programmable Read-Only Memory」が適用される。I/O回路6は、外部機器とのインターフェイスを担う。接触式のICチップCの場合、I/O回路6には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部機器との間で通信を行うための端子である。一方、非接触式のICチップCの場合、I/O回路6には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部機器の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICチップCが通信機器に組み込まれる場合、外部機器には通信機器の機能を担う制御部が該当する。更に、外部機器として、電圧センサー、温度センサー、光センサー等の異常検知センサーが挙げられる。なお、異常検知センサーは、ICチップCに搭載されてもよい。
プロセッサモジュール1,2は、それぞれ、CPUコア11,21、及びキャッシュ12,22等を備える。プロセッサモジュール1とプロセッサモジュール2とは同一の構成を有するが、役割に応じた異なる処理を実行する。例えば、プロセッサモジュール1は、外部機器からI/O回路6を介して入力されたコマンドに応じて処理(以下、「メイン処理」という)を行う。一方、プロセッサモジュール2は、例えば、メイン処理とは異なる冗長的なサブ処理(例えば、異常検知処理、及び異常判定処理)を行う。CPUコア11,21は、それぞれ、図示しないが、演算器、プログラムカウンタ、及びレジスタ等により構成される。CPUコア11は、メイン処理において、プログラムコードをキャッシュ12からレジスタにフェッチ(取得)して解釈(デコード)、及び実行する。一方、CPUコア21は、サブ処理において、プログラムコードをキャッシュ22からレジスタにフェッチ(取得)して解釈(デコード)、及び実行する。キャッシュ12,22は、それぞれ、図示しないが、キャッシュメモリ、及びキャッシュメモリ制御部等により構成される。キャッシュメモリ制御部は、CPUコア11,21の制御の下、RAM3、ROM4、またはNVM5からバス8を介して取得したプログラムコードまたはデータの一部をキャッシュメモリにキャッシュ(一時的に保持)する。また、キャッシュメモリ制御部は、例えばCPUコア11から要求されたプログラムコードもしくはデータがキャッシュメモリ上に存在しない場合(つまり、キャッシュミスが発生した場合)、バス8を介して、RAM3、ROM4、またはNVM5からキャッシュメモリへのデータ転送(メモリ転送)を行う。なお、キャッシュ12,22は、プログラムコードに利用されるものと、データに利用されるものが物理的に分離されていてもよい。また、キャッシュ12,22の一部を複数のプロセッサモジュールにて共有してもよい。
プロセッサ制御回路7は、本発明の設定手段、判定手段、及び制御手段を備え、プロセッサモジュール12,22のうち、所定の状況発生時に停止させるプロセッサモジュール(12または22)を予め設定し、当該所定の状況が発生したと判定された場合、上記設定されたプロセッサモジュールの動作を停止させ、当該停止されるプロセッサモジュール以外のプロセッサモジュールの動作を行わせる。これにより、複数のプロセッサモジュールのうち、状況に応じて何れかのプロセッサモジュールを優先して動作させることができる。なお、プロセッサ制御回路7は、例えば、ハードウェアにより構成されるが、プロセッサ制御回路7による処理は、ソフトウェアで構成されてもよく、この場合、プロセッサ制御回路7は、コンピュータとして本発明の動作制御プログラムに従って、本発明の設定手段、判定手段、及び制御手段として機能する。
次に、本発明のICチップCの動作例について、実施例1〜実施例4に分けて説明する。
(実施例1)
先ず、図2及び図3を参照して、実施例1の動作について説明する。なお、実施例1において、所定の状況は、割込みイベントである。また、実施例1では、プロセッサ制御回路7は、スペシャルファンクションレジスタを備える。図2は、実施例1におけるスペシャルファンクションレジスタの構成例を示す図である。図2の例では、スペシャルファンクションレジスタとして、モジュール動作表示レジスタ71、発生イベント設定レジスタ72、停止イベント設定レジスタ73、及びモジュール動作設定レジスタ74a〜74hを示している。なお、図2の例では、それぞれのレジスタは、b(ビット)1〜b8の8ビットで構成されているが、これに限定されない。
モジュール動作表示レジスタ71は、プロセッサモジュール1(PM1)とプロセッサモジュール2(PM2)の現在の動作状態(0:停止、1:動作)を示すレジスタである。図2の例では、このレジスタ71のb1がプロセッサモジュール1の動作状態を示し、このレジスタ71のb2がプロセッサモジュール2の動作状態を示す。また、モジュール動作表示レジスタ71のb1及びb2(“0”または“1”)は、それぞれ、プロセッサ制御回路7、またはプロセッサモジュール1,2によりスイッチ可能(言い換えれば、ソフト的に切替設定可能)になっている。これにより、プロセッサモジュール1,2は、それぞれ、動作状態が切り換えられる。
発生イベント設定レジスタ72は、発生した割込みイベントが設定(ハード的に設定)されるレジスタである。割込みイベントには、例えば、データ受信(I/O回路6を介したデータ(コマンド含む)受信)、データ送信(I/O回路6を介したデータ送信)、NVM更新、異常検知、ソフト割込み等、複数種類ある。なお、異常検知には、ハードウェア(例えば、異常検知センサー)による異常検知と、ソフトウェアによる異常検知とがある。図2の例では、発生した割込みイベントが、データ受信である場合、レジスタ72のb1が“0”から“1”に変更設定される。また、例えば発生した割込みイベントが、データ送信である場合、レジスタ72のb2が“0”から“1”に変更設定される。また、例えば発生した割込みイベントが、異常検知である場合、レジスタ72のb7が“0”から“1”に変更設定される。
停止イベント設定レジスタ73は、プロセッサモジュール1またはプロセッサモジュール2を停止させる割込みイベントが設定(ソフト的に設定)されるレジスタである。この設定は、例えばICカードの利用者からI/O回路6を介して入力される指示に従ってプロセッサ制御回路7により行われる。例えば、図2に示すように、レジスタ73のb1が“1”に設定されている場合、データ受信が発生したときにプロセッサモジュール1またはプロセッサモジュール2が停止されることになる。プロセッサモジュール1とプロセッサモジュール2のどちらが停止されるかは、モジュール動作設定レジスタ74a〜74hにて設定される。例えば、モジュール動作設定レジスタ74aは、データ受信に対応するレジスタであり、図2の例では、このレジスタ74aのb1は、“1”(プロセッサモジュール1が動作)に設定され、このレジスタ74aのb2は、“0”(プロセッサモジュール2が停止)に設定されている。この設定により、データ受信時に一定期間処理ができないことによる通信エラーの発生を防ぐことができる。このように、プロセッサ制御回路7は、互いに異なる複数の割込みイベントごとに、当該割込みイベントの発生時に停止させるプロセッサモジュールを設定することができる。
図3は、プロセッサ制御回路7により行われる処理の一例を示すフローチャートである。図3に示す処理は、所定周期で繰り返し実行される。図3に示す処理では、先ず、プロセッサ制御回路7は、割込みイベントが発生したか否かを判定する(ステップS1)。発生イベント設定レジスタ72における何れかのビットに“1”が設定されている場合、割込みイベントが発生したと判定される。例えば、発生イベント設定レジスタ72におけるb1に“1”が設定されている場合、割込みイベント“データ受信”が発生したと判定される。割込みイベントが発生したと判定された場合(ステップS1:YES)、ステップS2へ進む。一方、割込みイベントが発生していないと判定された場合(ステップS1:NO)、当該処理が終了する。
ステップS2では、プロセッサ制御回路7は、発生した割込みイベントが、プロセッサモジュールを停止させる割込みイベントであるか否かを判定する。停止イベント設定レジスタ73において、発生した割込みイベントに対応するビットに“1”が設定されている場合、発生した割込みイベントが、プロセッサモジュールを停止させる割込みイベントであると判定される。例えば、停止イベント設定レジスタ73におけるb1に“1”が設定されている場合、発生した割込みイベント“データ受信”が、プロセッサモジュールを停止させる割込みイベントであると判定される。発生した割込みイベントが、プロセッサモジュールを停止させる割込みイベントであると判定された場合(ステップS2:YES)、ステップS3へ進む。一方、プロセッサモジュールを停止させる割込みイベントでないと判定された場合(ステップS2:NO)、当該処理が終了する。
ステップS3では、プロセッサ制御回路7は、停止させるプロセッサモジュールを特定する。例えば、停止させる割込みイベントが“データ受信”である場合、データ受信に対応するモジュール動作設定レジスタ74aにおいて“1”が設定されているビットに対応するプロセッサモジュールを、停止させるプロセッサモジュールとして特定(図2の例では、プロセッサモジュール2が特定)する。
次いで、プロセッサ制御回路7は、ステップS3で特定されたプロセッサモジュールが動作中であるか否かを判定する(ステップS4)。モジュール動作表示レジスタ71において、上記特定されたプロセッサモジュールに対応するビットに“1”が設定されている場合、当該プロセッサモジュールが、動作中であると判定される。特定されたプロセッサモジュールが動作中であると判定された場合(ステップS4:YES)、ステップS5へ進む。一方、特定されたプロセッサモジュールが動作中でないと判定された場合(ステップS4:NO)、当該処理が終了する。
ステップS5では、プロセッサ制御回路7は、ステップS3で特定されたプロセッサモジュールの動作を停止させる。例えば、モジュール動作表示レジスタ71において、上記特定されたプロセッサモジュール(例えば、プロセッサモジュール2)に対応するビットを“1”から“0”に切り替えることでプロセッサモジュールが動作(例えば、サブ処理)を停止させる。
その後、プロセッサ制御回路7は、プロセッサモジュールの復帰処理を行う。この復帰処理では、プロセッサ制御回路7は、発生した割込みイベントに応じた処理(例えば、プロセッサモジュール1によるデータ受信に応じた処理(例えば、メイン処理))の終了を検知した場合、上記ステップS5で停止させたプロセッサモジュールの動作を復帰させる。例えば、モジュール動作表示レジスタ71において、上記停止されたプロセッサモジュール(例えば、プロセッサモジュール2)に対応するビットを“0”から“1”に切り替えることでプロセッサモジュールの動作を復帰させる。なお、発生した割込みイベントに応じた処理が終了すると、発生イベント設定レジスタ72における当該割込みイベントに対応するビットに“0”が設定されることになる。
以上説明したように、実施例1によれば、複数のプロセッサモジュール1,2のうち、割込みイベント発生(例えば、データ受信)に応じて何れかのプロセッサモジュールを優先して動作させることができる。従って、例えば外部機器との通信などの高速性が求められる処理において、迅速に応答を返すことができる。
(実施例2)
次に、図4及び図5を参照して、実施例2の動作について説明する。なお、実施例2において、所定の状況は、ハードウェアによる異常検知である。また、実施例2でも、プロセッサ制御回路7は、実施例1と同一のスペシャルファンクションレジスタを備える。図4は、実施例2におけるスペシャルファンクションレジスタの構成例を示す図である。なお、図4に示すように、実施例2は、実施例1と比べて、停止イベント設定レジスタ及びモジュール動作設定レジスタの設定内容が異なるが、その他の構成は実施例1と同様である。図4の例では、停止イベント設定レジスタ73のb7が“1”に設定されており、異常検知に対応するモジュール動作設定レジスタ74gのb1は、“0”(プロセッサモジュール1が停止)に設定され、このレジスタ74gのb2は、“1”(プロセッサモジュール2が動作)に設定されている。このような設定では、割込みイベントとして“異常検知”( ハードウェアによる異常検知)が発生すると、図3に示すステップS2で、発生した割込みイベントが、プロセッサモジュールを停止させる割込みイベントであると判定される。そして、図3に示すステップS3で、停止させるプロセッサモジュールとして、プロセッサモジュール1が特定され、このプロセッサモジュール1の動作が停止(つまり、異常停止)され、プロセッサモジュール2の動作が行われる。この動作において、プロセッサモジュール2は、異常判定処理を実行する。
図5は、実施例2におけるプロセッサモジュール2により行われる異常判定処理の一例を示すフローチャートである。図5に示す処理が開始されると、プロセッサモジュール2は、異常検知された異常の原因を確認し(ステップS11)、異常検知された異常が、問題となる異常(予め設定)であるか否かを判定する(ステップS12)。ここで、問題となる異常は、通常の運用時に発生し得ない異常であり、ICチップCを停止する必要がある異常である。例えば、問題となる異常として、高電圧検知異常、高温検知異常、低温検知異常、光検知異常などが挙げられる。高電圧検知異常は、電圧センサーにより閾値(所定電圧)以上の高電圧が検知された異常をいう。高温検知異常は、温度センサーにより閾値(所定温度)以上の高温度が検知された異常をいう。低温検知異常は、温度センサーにより閾値以下の低温度が検知された異常をいう。光検知異常は、光センサーにより閾値(所定ルクス)以上の光が検知された異常(例えば、レーザ攻撃による)をいう。一方、問題とならない異常は、電気的なノイズや接触部分の問題など、通常の運用時に発生し得る異常である。例えば、問題とならない異常として、電源に対するグリッジ異常、低電圧検知異常、高周波数検知異常などが挙げられる。
プロセッサモジュール2は、異常検知された異常が、問題となる異常であると判定した場合(ステップS12:YES)、全ての処理を停止する(ステップS13)。一方、プロセッサモジュール2は、異常検知された異常が、問題となる異常でないと判定した場合(ステップS12:NO)、異常検知カウンタを確認する(ステップS14)。ここで、異常検知カウンタは、問題とならない異常の検知回数をカウントするカウンタであり、例えばNVM5に設けられる。次いで、プロセッサモジュール2は、異常検知カウンタの値が、予め設定された上限値であるか否かを判定する(ステップS15)。そして、異常検知カウンタの値が上限値である場合(ステップS15:YES)、プロセッサモジュール2は、全ての処理を停止する(ステップS13)。一方、異常検知カウンタの値が上限値でない場合(ステップS15:NO)、プロセッサモジュール2は、異常検知カウンタを更新(つまり、異常検知カウンタの値を1インクリメント)する(ステップS16)。次いで、プロセッサモジュール2(つまり、停止されたプロセッサモジュール1以外のプロセッサモジュール2)は、停止されたプロセッサモジュール1の動作を復帰させる(ステップS17)。例えば、プロセッサモジュール2は、プロセッサ制御回路7に指令を与え、モジュール動作表示レジスタ71においてプロセッサモジュール1に対応するビットを“0”から“1”に切り替えることでプロセッサモジュール1の動作を復帰させる。
以上説明したように、実施例2によれば、複数のプロセッサモジュール1,2のうち、異常検知の割込みイベント発生に応じて何れかのプロセッサモジュールを優先して動作させることができる。従って、異常検知時にメイン処理を進めることで不正な状況が広がることを防止することができる。
(実施例3)
次に、図6を参照して、実施例3の動作について説明する。なお、実施例3において、所定の状況は、ソフトウェアによる異常検知である。また、実施例3でも、プロセッサ制御回路7は、実施例2と同一のスペシャルファンクションレジスタを備えてもよいが、発生イベント設定レジスタ72、停止イベント設定レジスタ73、及びモジュール動作設定レジスタ74a〜74hは使用されない。図6は、実施例3におけるプロセッサモジュール2により行われる異常判定処理の一例を示すフローチャートである。図6に示す異常検知処理は、例えばプロセッサモジュール2が異常検知プログラムにしたがって異常を検知(つまり、ソフトウェアによる異常検知が発生)した場合に開始される。なお、ソフトウェアによる異常検知方法として、CRC(Cyclic Redundancy Check)チェック、RAMの値チェック、NVMの値チェック、プログラム処理値チェックなどが挙げられる。CRCチェックでは、予め保持された値と、CRC演算により算出された値とが異なる場合に異常検知される。RAMの値チェックでは、RAM3に記憶された値と期待値とが異なる場合に異常検知される。NVMの値チェックでは、NVM5に記憶された値と期待値とが異なる場合に異常検知される。プログラム処理値チェックでは、プログラムの処理の流れから得られる値と期待値とが異なる場合に異常検知される。
図6に示す処理が開始されると、プロセッサモジュール2は、プロセッサモジュール1の動作を停止させる(ステップS21)。例えば、プロセッサモジュール2は、プロセッサ制御回路7に指令を与え、モジュール動作表示レジスタ71においてプロセッサモジュール1に対応するビットを“1”から“0”に切り替えることでプロセッサモジュール1の動作を停止させる。次いで、プロセッサモジュール2は、異常検知された異常の原因を確認し(ステップS22)、異常検知された異常が、問題となる異常(予め設定)であるか否かを判定する(ステップS23)。ここで、問題となる異常(つまり、通常の運用時に発生し得ない異常)として、例えば、RAMの値チェックによる異常、プログラム処理値チェックによる異常などが挙げられる。一方、問題とならない異常(つまり、通常の運用時に発生し得る異常)として、例えば、NVMの値チェックによる異常などが挙げられる。
プロセッサモジュール2は、異常検知された異常が、問題となる異常であると判定した場合(ステップS23:YES)、全ての処理を停止する(ステップS24)。一方、プロセッサモジュール2は、異常検知された異常が、問題となる異常でないと判定した場合(ステップS23:NO)、異常検知カウンタを確認する(ステップS25)。なお、ステップS26以降の処理は、ステップS15以降の処理と同様である。
以上説明したように、実施例3によれば、複数のプロセッサモジュール1,2のうち、ソフトウェアによる異常検知に応じて何れかのプロセッサモジュールを優先して動作させることができる。従って、異常検知時にメイン処理を進めることで不正な状況が広がることを防止することができる。
(実施例4)
次に、図7及び図8を参照して、実施例4の動作について説明する。なお、実施例4において、所定の状況は、プログラムコードまたはデータのキャッシュミスである。また、実施例4でも、プロセッサ制御回路7は、スペシャルファンクションレジスタを備える。図7は、実施例4におけるスペシャルファンクションレジスタの構成例を示す図である。図7の例では、スペシャルファンクションレジスタとして、優先イベント設定レジスタ75、及びモジュール優先順位設定レジスタ76,77を示している。なお、実施例4でも、プロセッサ制御回路7は、実施例1と同一のスペシャルファンクションレジスタを備えてもよいが、発生イベント設定レジスタ72、停止イベント設定レジスタ73、及びモジュール動作設定レジスタ74a〜74hは使用されない。
優先イベント設定レジスタ75は、プロセッサモジュール1またはプロセッサモジュール2に優先処理させる割込みイベントが設定(ソフト的に設定)されるレジスタである。この設定は、例えばICカードの利用者からI/O回路6を介して入力される指示に従ってプロセッサ制御回路7により行われる。例えば、図7に示すように、レジスタ75のb1が“1”に設定されている場合、優先処理させる割込みイベントはデータ受信となる。
モジュール優先順位設定レジスタ76は、優先イベント設定レジスタ75で設定された割込みイベントの発生時におけるプロセッサモジュール1の優先順位が設定されるレジスタであり、モジュール優先順位設定レジスタ77は、優先イベント設定レジスタ75で設定された割込みイベントの発生時におけるプロセッサモジュール2の優先順位が設定されるレジスタである。例えば、このようなレジスタにおける値の小さい方が優先順位が高い。優先順位の低いプロセッサモジュールは、キャッシュミスの発生時に停止させるプロセッサモジュールである。図7の例では、モジュール優先順位設定レジスタ76に設定された値“00”の方が、モジュール優先順位設定レジスタ77に設定された値“01”よりも小さいため、プロセッサモジュール2がキャッシュミスの発生時に停止される。なお、優先順位を設定する代わりに、キャッシュミスの発生時に停止させるプロセッサモジュールを設定するように構成してもよい。
実施例4におけるプロセッサ制御回路7は、キャッシュミスが発生したと判定した場合、モジュール優先順位設定レジスタ76で優先順位が低く設定された(つまり、キャッシュミスの発生時に停止させるとして設定された)プロセッサモジュールの動作を停止させ、当該停止されるプロセッサモジュール以外のプロセッサモジュールの動作であって、RAM3等からバス8を介してプログラムコードまたはデータを取得させるキャッシュ読込み動作(つまり、データ転送)を行わせる。これにより、バス競合時に優先順位が低く設定された方のプロセッサモジュールの動作を停止させ、他方のプロセッサモジュールの動作を優先させることができる。
図8(A)は、プロセッサモジュール1にてキャッシュミスが発生しキャッシュ読込み動作を行なっている際に、優先順位が低く設定されたプロセッサモジュール2でもキャッシュミス(データ受信の処理実行中にキャッシュミス)が発生した場合の動作を示すタイミングチャートである。図8(A)の例では、プロセッサモジュール1のCPUコア11と、プロセッサモジュール2のCPUコア21とが共に動作しているときに、まず、プロセッサモジュール1にてキャッシュミスが発生すると、CPUコア11は動作を停止し、キャッシュ12(キャッシュメモリ制御部)は、キャッシュ読込み(つまり、データ転送)動作を開始する。つまり、キャッシュ12によるキャッシュ読込み動作中、CPUコア11は動作を停止しているがキャッシュ12は動作しているので、プロセッサモジュール1としては動作中ということになる。そして、キャッシュ12によるキャッシュ読込み動作中に、プロセッサモジュール2でもキャッシュミスが発生すると、CPUコア21は動作を停止し、キャッシュ22(キャッシュメモリ制御部)はキャッシュ読込み動作を待機する。つまり、キャッシュ12によるキャッシュ読込み動作中、CPUコア21及びキャッシュ22はともに動作を停止するので、プロセッサモジュール2としては動作停止中になる(つまり、プロセッサモジュール2の動作を停止させる)。そして、キャッシュ12によるキャッシュ読込み動作が終了するとCPUコア11は動作を再開する。このとき、キャッシュ22は、キャッシュ読込み動作を開始する(つまり、プロセッサモジュール2の動作を復帰させる)。そして、キャッシュ22によるキャッシュ読込み動作が終了するとCPUコア21は動作を再開する。
一方、図8(B)は、優先順位が低く設定されたプロセッサモジュール2にてキャッシュミスが発生しキャッシュ読込み動作を行なっている際に、プロセッサモジュール1でもキャッシュミス(データ受信の処理実行中にキャッシュミス)が発生した場合の動作を示すタイミングチャートである。図8(B)の例では、プロセッサモジュール1のCPUコア11と、プロセッサモジュール2のCPUコア21とが共に動作しているときに、まず、プロセッサモジュール2にてキャッシュミスが発生すると、CPUコア21は動作を停止し、キャッシュ22(キャッシュメモリ制御部)は、キャッシュ読込み動作を開始する。そして、キャッシュ22によるキャッシュ読込み動作中に、プロセッサモジュール1でもキャッシュミスが発生すると、キャッシュ22はキャッシュ読込み動作を一時停止し(つまり、プロセッサモジュール2の動作を停止させる)、且つ、キャッシュ12はキャッシュ読込み動作を開始する。そして、キャッシュ12によるキャッシュ読込み動作が終了するとCPUコア11は動作を再開する。このとき、キャッシュ22は、キャッシュ読込み動作を再開する(つまり、プロセッサモジュール2の動作を復帰させる)。そして、キャッシュ22によるキャッシュ読込み動作が終了するとCPUコア21は動作を再開する。
以上説明したように、実施例4によれば、複数のプロセッサモジュール1,2のうち、キャッシュミスの発生に応じて何れかのプロセッサモジュールを優先して動作させることができる。従って、例えば外部機器との通信などの高速性が求められる処理において、迅速に応答を返すことができる。
なお、上記実施形態においては、電子情報記録媒体としてICチップCを例にとって説明したが、ICチップC以外の例えば組み込み型のマイクロコンピュータに対して本発明を適用してもよい。
1,2 プロセッサモジュール
3 RAM
4 ROM
5 NVM
6 I/O回路
7 プロセッサ制御回路
8 バス
11,21 CPUコア
12,22 キャッシュ
C ICチップ

Claims (6)

  1. プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体であって、
    前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定する設定手段と、
    前記所定の状況が発生したか否かを判定する判定手段と、
    前記判定手段により前記所定の状況が発生したと判定された場合、前記設定手段により予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせる制御手段と、
    を備えることを特徴とする電子情報記録媒体。
  2. 前記所定の状況は、割込みイベントであり、
    前記設定手段は、互いに異なる複数の前記割込みイベントごとに、当該割込みイベントの発生時に停止させる前記プロセッサモジュールを設定することを特徴とする請求項1に記載の電子情報記録媒体。
  3. 前記所定の状況は、異常検知であり、
    前記異常検知された異常が問題となる異常でない場合、前記停止された前記プロセッサモジュール以外の前記プロセッサモジュールは、当該停止された前記プロセッサモジュールの動作を復帰させることを特徴とする請求項1または2に記載の電子情報記録媒体。
  4. 前記所定の状況は、前記プログラムコードまたはデータのキャッシュミスであり、
    前記制御手段は、前記判定手段により前記キャッシュミスが発生したと判定された場合、前記設定手段により予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作であって前記記憶手段から前記プログラムコードまたはデータを取得させる動作を行わせることを特徴とする請求項1に記載の電子情報記録媒体。
  5. プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体における前記プロセッサモジュールの動作制御方法であって、
    前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定するステップと、
    前記所定の状況が発生したか否かを判定するステップと、
    前記所定の状況が発生したと判定された場合、前記予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせるステップと、
    を含むことを特徴とするプロセッサモジュールの動作制御方法。
  6. プログラムコードまたはデータを記憶する記憶手段と、前記記憶手段からバスを介して取得した前記プログラムコードまたはデータの一部をキャッシュする複数のプロセッサモジュールであって役割に応じた異なる処理を実行する複数のプロセッサモジュールとを備える電子情報記録媒体におけるコンピュータに、
    前記複数のプロセッサモジュールのうち、所定の状況発生時に停止させる前記プロセッサモジュールを予め設定するステップと、
    前記所定の状況が発生したか否かを判定するステップと、
    前記所定の状況が発生したと判定された場合、前記予め設定された前記プロセッサモジュールの動作を停止させ、当該停止される前記プロセッサモジュール以外の前記プロセッサモジュールの動作を行わせるステップと、
    を実行させることを特徴とするプロセッサモジュールの動作制御プログラム。
JP2014163414A 2014-08-11 2014-08-11 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム Active JP6398449B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014163414A JP6398449B2 (ja) 2014-08-11 2014-08-11 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014163414A JP6398449B2 (ja) 2014-08-11 2014-08-11 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム

Publications (2)

Publication Number Publication Date
JP2016038829A true JP2016038829A (ja) 2016-03-22
JP6398449B2 JP6398449B2 (ja) 2018-10-03

Family

ID=55529814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014163414A Active JP6398449B2 (ja) 2014-08-11 2014-08-11 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム

Country Status (1)

Country Link
JP (1) JP6398449B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03211656A (ja) * 1989-11-17 1991-09-17 Texas Instr Inc <Ti> マルチプロセッサシステム
JPH0424838A (ja) * 1990-05-21 1992-01-28 Fuji Xerox Co Ltd マルチプロセッサの障害管理方式
JPH04280346A (ja) * 1991-03-08 1992-10-06 Fujitsu Ltd 情報処理装置
JPH0962500A (ja) * 1995-08-29 1997-03-07 Nec Corp 動的パッチ方法および動的パッチシステム
JPH1079000A (ja) * 1996-09-03 1998-03-24 Hitachi Ltd プログラム書き込み可能なicカード
JP2001134546A (ja) * 1999-11-05 2001-05-18 Nec Corp マルチプロセッサシステムの障害処理方法
US20080237357A1 (en) * 2007-03-30 2008-10-02 Oberthur Technologies Microprocessor card
JP2009129101A (ja) * 2007-11-21 2009-06-11 Mitsubishi Electric Corp 情報処理装置の障害処理システム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03211656A (ja) * 1989-11-17 1991-09-17 Texas Instr Inc <Ti> マルチプロセッサシステム
JPH0424838A (ja) * 1990-05-21 1992-01-28 Fuji Xerox Co Ltd マルチプロセッサの障害管理方式
JPH04280346A (ja) * 1991-03-08 1992-10-06 Fujitsu Ltd 情報処理装置
JPH0962500A (ja) * 1995-08-29 1997-03-07 Nec Corp 動的パッチ方法および動的パッチシステム
JPH1079000A (ja) * 1996-09-03 1998-03-24 Hitachi Ltd プログラム書き込み可能なicカード
JP2001134546A (ja) * 1999-11-05 2001-05-18 Nec Corp マルチプロセッサシステムの障害処理方法
US20080237357A1 (en) * 2007-03-30 2008-10-02 Oberthur Technologies Microprocessor card
JP2009129101A (ja) * 2007-11-21 2009-06-11 Mitsubishi Electric Corp 情報処理装置の障害処理システム

Also Published As

Publication number Publication date
JP6398449B2 (ja) 2018-10-03

Similar Documents

Publication Publication Date Title
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
US20180101304A1 (en) Configuration control system and configuration control method
US20170289193A1 (en) Secure smart terminal and an information processing method
CA2701491A1 (en) Firmware image update and management
US10223117B2 (en) Execution flow protection in microcontrollers
JP2009501983A (ja) 長い摂動による故障の検出
CN114721493B (zh) 芯片启动方法、计算机设备及可读存储介质
CN113467981A (zh) 异常处理的方法和装置
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6398449B2 (ja) 電子情報記録媒体、プロセッサモジュールの動作制御方法、及びプロセッサモジュールの動作制御プログラム
US8819449B2 (en) Event counter in a system adapted to the JavaCard language
CN114760276B (zh) 下载数据的方法、装置和安全元件
KR102099739B1 (ko) 보안 엘리먼트를 관리하는 방법
JP5754287B2 (ja) Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム
CN108629185B (zh) 服务器可信平台度量控制系统及其运行方法
CN115576734A (zh) 一种多核异构日志存储方法和系统
CN114091037A (zh) 一种控制系统中的系统数据的防护方法及相关装置
JP7085918B2 (ja) 情報処理装置及び情報処理方法
JP6379852B2 (ja) 電子情報記録媒体、プロセッサモジュールの処理方法、及びプロセッサモジュールの処理プログラム
CN102541673A (zh) 一种cpu取指令异常的安全处理方法和电路
US9910794B2 (en) Processing data
JP4543505B2 (ja) マイクロコンピュータの制御方法及び異常監視装置
JP6493672B2 (ja) 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード
EP4095725A1 (en) Electronic device and security protection method
JP6326835B2 (ja) 情報処理装置、icカード、コマンド処理方法、及びコマンド処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180627

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180820

R150 Certificate of patent or registration of utility model

Ref document number: 6398449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150