(57)【要約】【課題】  システムオンチップの完全性検証の方法及びシステムを提供する。【解決手段】  システムオンチップ（ＳＯＣ）の完全性をチェックする方法及びシステムについて記載する。ＳＯＣは、制御装置及び１つ以上のレジスタを含んでよい。第１の時点でレジスタからレジスタ値が取得されて、第１のレジスタ値セットが生成されてよい。第１の時点の後の第２の時点でＳＯＣのプロセスが実行される。第２の時点の後の第３の時点でレジスタからレジスタ値が再度取得されて、第２のレジスタ値セットが生成されてよい。第１のレジスタ値セットと第２のレジスタ値セットとが比較されてよい。比較結果に基づいて、ＳＯＣの動作モードが調節されてよい。ＳＯＣの完全性検証のシステム及び方法は、ＡＳＩＬアプリケーションなどの安全性及び／又は監視アプリケーションにおいて使用されてよい。例えば、本システム及び方法は、一部自律型又は完全自律型（自動運転）自動車システムにおいて使用可能である。【選択図】図１
2018077835.tif 000002
【特許請求の範囲】
【請求項１】
制御装置及び１つ以上のレジスタを有するシステムオンチップ（ＳＯＣ）の完全性をチェックする方法であって、
第１の時点において前記１つ以上のレジスタから１つ以上のレジスタ値を取得して第１のレジスタ値セットを生成するステップと、
前記第１の時点の後の第２の時点において前記ＳＯＣの１つ以上のプロセスを前記制御装置によって実行するステップと、
前記第２の時点の後の第３の時点において前記１つ以上のレジスタから前記１つ以上のレジスタ値を取得して第２のレジスタ値セットを生成するステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとを比較するステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較の結果に基づいて前記ＳＯＣの動作モードを調節するステップと、
を含む方法。
【請求項２】
前記第１のレジスタ値セット、前記第２のレジスタ値セット、及び前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果に基づいてデータベースを生成するステップ
を更に含む、請求項１に記載の方法。
【請求項３】
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果に基づいて、前記１つ以上のレジスタの前記１つ以上のレジスタ値を、対応する１つ以上の所定値に自動的に戻すステップ
を更に含む、請求項１に記載の方法。
【請求項４】
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果と、前記動作モードの前記調節 とに基づいてレポートを生成するステップと、
前記レポートを、前記ＳＯＣ、又は前記ＳＯＣと通信している１つ以上の周辺装置に供給するステップと、
を更に含む、請求項１に記載の方法。
【請求項５】
前記１つ以上のレジスタは特殊機能レジスタである、請求項１に記載の方法。
【請求項６】
前記１つ以上のレジスタ値は、前記ＳＯＣと通信している１つ以上の周辺装置に関連付けられている、請求項１に記載の方法。
【請求項７】
前記ＳＯＣの前記動作モードを調節する前記ステップは、
前記ＳＯＣの前記動作モードをセーフモードに設定すること、又は
前記ＳＯＣをリセットすること
を含む、請求項１に記載の方法。
【請求項８】
前記第１の時点は、前記ＳＯＣの１つ以上の起動動作の実行前であり、前記第３の時点は、前記１つ以上の起動動作の実行後である、請求項１に記載の方法。
【請求項９】
前記第１の時点は、１つ以上の起動動作の実行前であり、前記第３の時点は、前記ＳＯＣの前記１つ以上の起動動作の実行後であり、且つ、前記ＳＯＣの通常動作中である、請求項１に記載の方法。
【請求項１０】
システムオンチップ（ＳＯＣ）であって、
１つ以上のレジスタ値を記憶するように構成された１つ以上のレジスタと、
制御装置であって、
第１の時点において前記１つ以上のレジスタから前記１つ以上のレジスタ値を取得して第１のレジスタ値セットを生成するステップと、
前記第１の時点の後の第２の時点において前記ＳＯＣの１つ以上のプロセスを実行するステップと、
前記第２の時点の後の第３の時点において前記１つ以上のレジスタから前記１つ以上のレジスタ値を取得して第２のレジスタ値セットを生成するステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとを比較するステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較の結果に基づいて前記ＳＯＣの動作モードを調節するステップと、を実施するように構成された前記制御装置と、
を含むＳＯＣ。
【請求項１１】
前記制御装置は更に、
前記第１のレジスタ値セット、前記第２のレジスタ値セット、及び前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果に基づいてデータベースを生成するステップ
を実施するように構成されている、請求項１０に記載のＳＯＣ。
【請求項１２】
前記制御装置は更に、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果に基づいて、前記１つ以上のレジスタの前記１つ以上のレジスタ値を、対応する１つ以上の所定値に自動的に戻すステップ
を実施するように構成されている、請求項１０に記載のＳＯＣ。
【請求項１３】
前記制御装置は更に、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果と、前記動作モードの前記調節とに基づいてレポートを生成するステップと、
前記レポートを、前記ＳＯＣと通信している１つ以上の周辺装置に供給するステップと、
を実施するように構成されている、請求項１０に記載のＳＯＣ。
【請求項１４】
前記１つ以上のレジスタは特殊機能レジスタである、請求項１０に記載のＳＯＣ。
【請求項１５】
前記１つ以上のレジスタ値は、前記ＳＯＣと通信している１つ以上の周辺装置に関連付けられている、請求項１０に記載のＳＯＣ。
【請求項１６】
前記ＳＯＣの前記動作モードを調節する前記ステップは、
前記ＳＯＣの前記動作モードをセーフモードに設定すること、又は
前記ＳＯＣをリセットすること
を含む、請求項１０に記載のＳＯＣ。
【請求項１７】
前記第１の時点は、前記ＳＯＣの１つ以上の起動動作の実行前であり、前記第３の時点は、前記１つ以上の起動動作の実行後である、請求項１０に記載のＳＯＣ。
【請求項１８】
前記第１の時点は、１つ以上の起動動作の実行前であり、前記第３の時点は、前記ＳＯＣの前記１つ以上の起動動作の実行後であり、且つ、前記ＳＯＣの通常動作中である、請求項１０に記載のＳＯＣ。
【請求項１９】
システムオンチップ（ＳＯＣ）及び評価装置を含む完全性チェックシステムであって、
前記システムオンチップ（ＳＯＣ）は、
１つ以上のレジスタ値を記憶するように構成された１つ以上のレジスタと、
制御装置であって、
第１の時点において前記１つ以上のレジスタから前記１つ以上のレジスタ値を取得して第１のレジスタ値セットを生成するステップと、
前記第１の時点の後の第２の時点において前記ＳＯＣの１つ以上のプロセスを実行するステップと、
前記第２の時点の後の第３の時点において前記１つ以上のレジスタから前記１つ以上のレジスタ値を取得して第２のレジスタ値セットを生成するステップと、を実施するように構成された前記制御装置と、を含み、
前記評価装置は、
前記ＳＯＣから前記第１及び前記第２のレジスタ値セットを受け取るステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとを比較するステップと、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較の結果に基づいて前記ＳＯＣの動作モードを調節することを前記ＳＯＣに指示するステップと、を実施するように構成されている、
完全性チェックシステム。
【請求項２０】
前記評価装置は更に、
前記第１のレジスタ値セットと前記第２のレジスタ値セットとの前記比較結果と、前記動作モードの前記調節とに基づいてレポートを生成するステップと、
前記レポートを、前記ＳＯＣと通信している１つ以上の周辺装置に供給するステップと、
を実施するように構成されている、請求項１９に記載の完全性チェックシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書に記載の実施形態は、全般的には、起動時及び／又は実行時の完全性検証を含む、システムの完全性検証の方法及び装置に関する。
【０００２】
添付図面は、本明細書に組み込まれて、本明細書の一部を成し、本開示の実施形態を図解しており、本明細書と併せて参照されることにより、実施形態の原理を説明すること、並びに当業者による実施形態の作成及び使用を可能にすることに一層役立つ。
【図面の簡単な説明】
【０００３】
【図１】本開示の一例示的実施形態によるシステムオンチップ（ＳＯＣ）を示す。
【図２】本開示の例示的実施形態によるＳＯＣ完全性検証システムを示す。
【図３】本開示の一例示的実施形態によるＳＯＣ完全性検証システムの動作例を示す。
【図４】本開示の一例示的実施形態によるＳＯＣ完全性検証システムの動作例を示す。
【図５】本開示の一例示的実施形態による完全性検証方法のフローチャートを示す。
【図６】本開示の一例示的実施形態によるコンピュータシステムの一例を示す。
【発明を実施するための形態】
【０００４】
本開示の例示的実施形態について、添付図面を参照しながら説明する。各要素の初出図面を、典型的には、その対応する参照符号の左端の桁で示す。
【０００５】
以下の説明では、本開示の実施形態が十分に理解されるように、様々な具体的詳細を記載する。しかしながら、これらの具体的詳細がない場合でも、構造、システム、及び方法を含むそれらの実施形態が実施可能であることは、当業者であれば明らかだろう。本明細書で用いられる記述や表現は、当業者が自らの仕事の本質を他の当業者に最も効果的に伝達する為に使用する一般的な手段である。一方、よく知られている方法、手順、構成要素、及び回路については、本開示の実施形態が不必要に曖昧になることのないように、詳細には説明していない。
【０００６】
概要を述べると、マイクロコントローラなどのシステムオンチップ（ＳＯＣ）の起動時（立ち上げ時とも呼ばれる）、且つアプリケーションソフトウェアの実行前に、起動ソフトウェアが実行される。起動ソフトウェアは、概して、関連付けられたシステムのハードウェア、例えば、マイクロコントローラに接続された１つ以上の周辺装置などに関連する。起動ソフトウェアの実行中にマイクロコントローラの状態が変化すると、これが原因で、後に実行されるアプリケーションソフトウェアに悪影響が及ぶ可能性がある。マイクロコントローラの状態変化としては、例えば、マイクロコントローラの制御レジスタ及び状態レジスタの変化があってよい。
【０００７】
マイクロコントローラの状態の検証は、直接影響フラグ又は直接影響レジスタを照合して行うことが可能である。１つ以上の例示的実施形態では、１つ以上のレジスタ、例えば、特殊機能レジスタ（ＳＦＲ）をチェックすることにより、間接的影響を検証することが可能であり、一部又は全ての実施形態では、全てのＳＦＲがチェックされる。例えば、ＳＦＲをチェックして、各ＳＦＲがそれぞれの対応する期待値に戻っているかどうかを検証することにより、後に実行されるアプリケーションソフトウェアに関するアプリケーション問題を軽減するか、且つ／又は防ぐことが可能である。動作時には、ＳＦＲは、ＳＯＣ（例えば、マイクロコントローラ）と接続された（且つ、これによって制御される）１つ以上の周辺装置に関連付けられることが可能である。ＳＦＲは、関連付けられた周辺装置を構成する為に使用可能である。例えば、ＳＯＣと対応する周辺装置との間の通信のデータレートを指定するように、ＳＦＲを構成することが可能である。ＳＦＲの検証は、１つ以上のメモリ組み込み自己テスト（ＭＢＩＳＴ）及び／又はロジック組み込み自己テスト（ＬＢＩＳＴ）に追加して、又はこれらの代替として行われてよい。更に、ＳＦＲの完全性を用いて、例えば、自動車安全性要求レベル（ＡＳＩＬ）アプリケーションの検証をサポートすることが可能である。
【０００８】
図１は、本開示の一例示的実施形態によるシステムオンチップ（ＳＯＣ）１００を示す。ＳＯＣ１００は、制御装置１１５と、１つ以上のメモリユニット１３５と、１つ以上のレジスタ１２０．１から１２０．Ｍとを含んでよい。ＳＯＣ１００は、１つ以上の周辺装置１３０．１から１３０．Ｎに接続されてよい。一例示的実施形態では、ＳＯＣ１００はマイクロコントローラであるが、これに限定されない。メモリ１３５は、データ及び／又は命令を記憶する、任意のよく知られた揮発性及び／又は不揮発性メモリであってよく、例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、磁気記憶媒体、光ディスク、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）などであってよい。メモリは、非リムーバブル、リムーバブル、又は非リムーバブルとリムーバブルの組み合わせであってよい。図示されていないが、１つ以上の例示的実施形態では、ＳＯＣ１００は、周辺装置１３０．１から１３０．Ｎに加えて、又はこれらの代替として、１つ以上の（内蔵）周辺装置をＳＯＣ１００内に含んでよい。
【０００９】
一例示的実施形態では、レジスタ１２０のうちの１つ以上が特殊機能レジスタ（ＳＦＲ）である。レジスタ１２０のうちの１つ以上が、周辺装置１３０のうちの対応する周辺装置１３０に関連付けられてよく、レジスタ１２０は、対応する周辺装置１３０の１つ以上のパラメータを指定するように構成されてよい。例えば、レジスタ１２０．１のレジスタ値は、ＳＯＣ１００と周辺装置１３０との間のデータレートを指定してよい。別の例では、レジスタ１２０．１のレジスタ値は、例えば、周辺装置名、シリアル番号、ハードウェアのバージョン、ソフトウェアのバージョン、ファームウェアのバージョン、及び／又は他の１つ以上の、当業者であれば理解されるだろうパラメータを指定してよい。ＳＯＣ１００が１つ以上の内蔵周辺装置を含む一例示的実施形態では、ＳＯＣ１００は、各内蔵周辺装置に関連付けられた１つ以上の対応するレジスタ１２０を含んでよい。
【００１０】
一例示的実施形態では、制御装置１１５は、ＳＯＣ１００の完全性をチェックする為の１つ以上の完全性検証動作を実施するように構成されてよい。一例示的実施形態では、制御装置１１５は、その、ＳＯＣ１００の完全性をチェックする為の１つ以上の完全性検証動作を実施するように構成されたプロセッサ回路を含んでよい。
【００１１】
制御装置１１５は、ＳＯＣ１００の起動時及び／又は実行時に完全性検証動作を実施するように構成されてよい。例えば、制御装置１１５は、ＳＯＣ１００の起動時（立ち上げ時とも呼ばれる）、且つアプリケーションソフトウェアの実行前に、ＳＯＣ１００の完全性をチェックすることが可能である。一例示的実施形態では、制御装置１１５は、起動ソフトウェアが実行された後で、且つ、ソフトウェアアプリケーションの実行前に、ＳＯＣ１００の完全性をチェックするように構成されてよい。動作時には、制御装置１１５は、起動ソフトウェアの実行時の（その実行の結果として起こる）ＳＯＣ１００の状態変化を特定するように構成されてよい。ＳＯＣ１００の状態変化としては、例えば、ＳＯＣ１００の制御レジスタ及び状態レジスタの変化があってよい。ＳＯＣ１００の状態変化を特定することにより、ＳＯＣ１００の状態変化に起因して起こりうる、後で実行されるアプリケーションソフトウェアへの悪影響を低減するか、且つ／又は無くすことが可能である。
【００１２】
一例示的実施形態では、制御装置１１５は、レジスタ１２０．１から１２０．Ｎのうちの１つ以上から、対応するレジスタ値を取得するように構成されてよい。制御装置１１５は、レジスタ１２０からレジスタ値を読み取って、そのレジスタ値をＳＯＣ１００の１つ以上のメモリ１３５に記憶させることが可能である。実施形態によっては、制御装置１１５は、１つ以上の内蔵メモリを含んでおり、メモリ１３５に加えて、又はメモリ１３５の代替として、その１つ以上の内蔵メモリにレジスタ値を記憶させるように構成されてよい。
【００１３】
一例示的態様では、制御装置１１５は、１つ以上の起動アプリケーションを含む、ＳＯＣ１００の１つ以上の起動動作の実行前にレジスタ値を取得してよい。この例では、これらのレジスタ値は、実行前レジスタ値と呼ばれてよい。本開示では、アプリケーションは、対応する制御装置１１５によって実行された場合に、対応するアプリケーションの１つ以上の機能を実施するように制御装置１１５を制御する、１つ以上の命令を有するコンピュータプログラムを含んでよい。
【００１４】
一例示的実施形態では、制御装置１１５は、取得されたレジスタ値のうちの１つ以上に基づいて、１つ以上のレジスタ値セットを生成するように構成されてよい。これらのレジスタ値セットは、メモリ１３５、及び／又は制御装置１１５の１つ以上の内蔵メモリに記憶されてよい。
【００１５】
レジスタ値の取得後（又は取得された値からレジスタ値セットが生成された後）に、制御装置１１５は、ＳＯＣ１００の１つ以上のプロセスを実行してよく、これには、ＳＯＣ１００の１つ以上の起動動作（例えば、起動ソフトウェアの実行）が含まれてよい。制御装置１１５は、対応する起動機能を実施する命令が「ハードコーディング」されてよく、或いは、制御装置１１５は、制御装置１１５の内蔵メモリ、及び／又はメモリ１３５に記憶されていて、制御装置１１５によって実行された場合に対応する起動機能を実施する命令を取り出すために、制御装置１１５の内蔵メモリ、及び／又はメモリ１３５にアクセスするように構成されてよい。
【００１６】
又、制御装置１１５は、レジスタ１２０．１から１２０．Ｎのうちの１つ以上から対応するレジスタ値を再度取得するように構成されてもよい。制御装置１１５は、レジスタ１２０からレジスタ値を読み取って、このレジスタ値を、ＳＯＣ１００の１つ以上のメモリ１３５、及び／又は制御装置１１５の内蔵メモリに記憶させてよい。一例示的態様では、制御装置１１５は、１つ以上の起動アプリケーションを含む、ＳＯＣ１００の１つ以上の起動動作の実行後にレジスタ値を取得してよい。この例では、これらのレジスタ値は、実行後レジスタ値と呼ばれてよい。
【００１７】
一例示的実施形態では、制御装置１１５は、実行後レジスタ値に基づいて、１つ以上の追加レジスタ値セットを生成するように構成されてよい。これらのレジスタ値セットは、メモリ１３５、及び／又は制御装置１１５の１つ以上の内蔵メモリに記憶されてよい。この例では、このレジスタ値セットは、実行後レジスタ値セットと呼ばれてよい。
【００１８】
一例示的実施形態では、制御装置１１５は、実行前レジスタ値／レジスタ値セットと実行後レジスタ値／レジスタ値セットとを比較するように構成されてよい。例えば、制御装置１１５は、実行前レジスタ値／レジスタ値セットと実行後レジスタ値／レジスタ値セットとを比較するように構成されてよい。制御装置１１５は、この比較結果に基づいて、実行前と実行後のレジスタ値／レジスタ値セットの間に相違があるかどうかを判定するように構成されてよい。
【００１９】
一例示的実施形態では、制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットの間の相違を分析して、制御装置１１５が１つ以上のアクションを実施すべきかどうかを判定するように構成されてよい。これらのアクションは、例えば、ＳＯＣ１００の動作モードを変更すること（例えば、セーフモードに切り替えること）、ＳＯＣ１００のリセットを実施すること（例えば、パワーオンリセット）、１つ以上のレジスタ１２０を所定値（例えば、デフォルト値）に戻すこと、ＳＯＣ１００の動作に影響を及ぼしかねない相違であるという警告を生成すること、及び／又は当業者であれば理解されるだろう１つ以上の他のアクションなどであってよい。
【００２０】
制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットに基づく１つ以上のデータベースと、それらの値／値セットの間に相違があるかどうかの判定とを生成すること、或いは生成するようにＳＯＣ１００を制御することを行うように構成されてよい。データベースは、例えば、レジスタ名、レジスタアドレス（例えば、０ｘｆ０００００００）、実行前レジスタ値、実行後レジスタ値、実行前と実行後の値の間に相違があるかどうかを示す１つ以上のインジケータ／フラグ、制御装置１１５、及び／又はＳＯＣ１００の１人以上のユーザによる分析、制御装置１１５、及び／又はＳＯＣ１００の１人以上のユーザによって実施されたアクション又は実施されるべきアクション、及び／又は、当業者であれば理解されるだろう他の１つ以上のパラメータ及び／又は情報を含んでよい。データベースは、１つ以上のメモリユニット、例えば、メモリ１３５に記憶されてよい。
【００２１】
一例示的実施形態では、制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットの比較結果に基づいてレポートを生成するように構成されてよい。このレポートは、実行前と実行後のレジスタ値／レジスタ値セットの分析結果、及び／又は制御装置１１５によって実施されたアクション又は実施されるべきアクションを含んでよい。制御装置１１５は、生成されたレポートをＳＯＣ１００の１つ以上の構成要素に供給すること、又は供給するようにＳＯＣ１００を制御すること、レポートを１つ以上の外部機器（例えば、周辺装置１３０）に供給すること、レポートを１つ以上の通信ネットワークを介して送信すること、レポートを１つ以上のディスプレイに表示するようにＳＯＣ１００を制御すること、及び／又は、生成されたレポートに関する他の１つ以上の、当業者であれば理解されるだろうアクションを実施することを行うように構成されてよい。
【００２２】
一例示的実施形態では、制御装置１１５は、実行前と実行後の値の間に相違があることを示す通知を生成すること、又は通知を生成するようにＳＯＣ１００及び／又は１つ以上の外部構成要素を制御することを行うように構成されてよい。通知としては、その相違を他の１つ以上の構成要素に通知する為の、それらの構成要素に対する信号、可聴信号、可視信号、又は別の、当業者であれば理解されるだろう通知があってよい。一例示的実施形態では、制御装置１１５は、ＳＯＣ１００のアプリケーションソフトウェア及び／又は１つ以上の外部構成要素のアプリケーションソフトウェアに対して、実行前と実行後の値の間の１つ以上の相違に基づく通知を行うこと（及び／又は、通知を行うようにＳＯＣ１００及び／又は１つ以上の外部構成要素を制御すること）を行うように構成されてよい。
【００２３】
図２は、本開示の一例示的実施形態によるシステムオンチップ（ＳＯＣ）完全性検証システム２００を示す。ＳＯＣ完全性検証システム２００は、図１を参照して説明した例示的実施形態と同様の、１つ以上の周辺装置１３０に接続されるように構成されてよいＳＯＣ１００を含んでよい。一例示的実施形態では、評価装置２０５が、例えば、処理装置（例えば、プロセッサ）又はコンピュータ（例えば、図６を参照して説明されるコンピュータシステム６００）として実施され、これらに限定されない。
【００２４】
一例示的実施形態では、ＳＯＣ完全性検証システム２００は、ＳＯＣ１００に（無線及び／又は有線）接続された評価装置２０５を含む。評価装置２０５は、制御装置２１０、及び制御装置２１０に接続されたメモリ２２０を含んでよい。メモリ２２０は、データ及び／又は命令を記憶する、任意のよく知られた揮発性及び／又は不揮発性メモリであってよく、例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、磁気記憶媒体、光ディスク、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）などであってよい。メモリは、非リムーバブル、リムーバブル、又は非リムーバブルとリムーバブルの組み合わせであってよい。
【００２５】
一例示的実施形態では、制御装置２１０は、ＳＯＣ１００の完全性をチェックする為に１つ以上の完全性検証動作を実施するように構成されてよい。一例示的実施形態では、制御装置２１０は、ＳＯＣ１００の完全性をチェックする為に１つ以上の完全性検証動作を実施するように構成されたプロセッサ回路を含んでよい。
【００２６】
図１を参照して既に説明したように、制御装置１１５は、レジスタ１２０．１から１２０．Ｎのうちの１つ以上から、対応するレジスタ値を取得するように構成されてよい。制御装置１１５は、レジスタ１２０からレジスタ値を読み取って、そのレジスタ値をＳＯＣ１００の１つ以上のメモリ１３５、及び／又は制御装置１１５の１つ以上の内蔵メモリに記憶させることが可能である。一例示的態様では、制御装置１１５は、１つ以上の起動アプリケーションを含む、ＳＯＣ１００の１つ以上の起動動作の実行前にレジスタ値（例えば、実行前レジスタ値）を取得してよい。制御装置１１５は、取得されたレジスタ値のうちの１つ以上に基づいて、１つ以上のレジスタ値セットを生成してよい。
【００２７】
レジスタ値の取得後（又は取得された値からレジスタ値セットが生成された後）に、制御装置１１５は、ＳＯＣ１００の１つ以上のプロセスを実行してよく、これには、ＳＯＣ１００の１つ以上の起動動作（例えば、起動ソフトウェアの実行）が含まれてよい。制御装置１１５は、レジスタ１２０．１から１２０．Ｎのうちの１つ以上から、対応するレジスタ値（例えば、実行後レジスタ値）を再度取得（及び記憶）してよい。制御装置１１５は、取得されたレジスタ値のうちの１つ以上（例えば、実行後レジスタ値セット）に基づいて、１つ以上の追加レジスタ値セットを生成（及び記憶）するように構成されてよい。一例示的実施形態では、評価装置２０５の制御装置２１０は、レジスタ値の取得、及び／又はＳＯＣ１００の１つ以上のプロセスの実行を行うように制御装置１１５を制御するように構成される。
【００２８】
一例示的実施形態では、制御装置１１５は、実行前と実行後のレジスタ値及び／又はレジスタ値セットを評価装置２０５に供給するように構成されてよい。一例示的実施形態では、評価装置２０５は、ＳＯＣ１００から値／値セットの取得／読み取りを行うことが可能である。評価装置２０５は、値又は値セットを、メモリ２２０、及び／又は制御装置２１０の１つ以上の内蔵メモリに記憶させてよい。一例示的実施形態では、ＳＯＣ１００と評価装置２０５との間の接続は、シリアル接続、ユニバーサルシリアルバス（ＵＳＢ）接続、赤外線接続、光ファイバ接続、ファイヤワイヤ（ＩＥＥＥ１３９４）、ｅＳＡＴＡ接続、有線及び／又は無線ネットワーク接続（例えば、ＷＬＡＮ、ＬＡＮ、イーサネット）、及び／又は当業者であれば理解されるだろう別の接続タイプである。
【００２９】
一例示的実施形態では、制御装置２１０は、実行前レジスタ値と実行後レジスタ値とを比較するように構成されてよい。例えば、制御装置２１０は、実行前レジスタ値セットと実行後レジスタ値セットとを比較するように構成されてよい。制御装置２１０は、この比較結果に基づいて、実行前と実行後のレジスタ値／レジスタ値セットの間に相違があるかどうかを判定するように構成されてよい。
【００３０】
一例示的実施形態では、制御装置２１０は、実行前と実行後のレジスタ値／レジスタ値セットの間の相違を分析し、制御装置１１５及び／又は制御装置２１０が１つ以上のアクションを実施すべきかどうかを判定するように構成されてよい。これらのアクションは、例えば、ＳＯＣ１００の動作モードを変更すること（例えば、セーフモードに切り替えること）、ＳＯＣ１００のリセットを実施すること（例えば、パワーオンリセット）、１つ以上のレジスタ１２０を所定値（例えば、デフォルト値）に戻すこと、ＳＯＣ１００の動作に影響を及ぼしかねない相違であるという警告を生成すること、及び／又は当業者であれば理解されるだろう１つ以上の他のアクションなどであってよい。
【００３１】
制御装置２１０は、実行前と実行後のレジスタ値／レジスタ値セットに基づく１つ以上のデータベースと、それらの値／値セットの間に相違があるかどうかの判定とを生成すること、或いは生成するようにＳＯＣ１００（例えば、制御装置１１５）を制御することを行うように構成されてよい。上述のように、このデータベースは、例えば、レジスタ名、レジスタアドレス（例えば、０ｘｆ０００００００）、実行前レジスタ値、実行後レジスタ値、実行前と実行後の値の間に相違があるかどうかを示す１つ以上のインジケータ／フラグ、制御装置２１０、制御装置１１５、及び／又はＳＯＣ１００の１人以上のユーザによる分析、制御装置２１０、制御装置１１５、及び／又はＳＯＣ１００のユーザによって実施されたアクション又は実施されるべきアクション、及び／又は、当業者であれば理解されるだろう他の１つ以上のパラメータ及び／又は情報を含んでよい。このデータベースは、１つ以上のメモリユニット、例えば、メモリ２２０及び／又はメモリ１３５に記憶されてよい。
【００３２】
一例示的実施形態では、制御装置２１０は、実行前と実行後のレジスタ値／レジスタ値セットの比較結果に基づいてレポートを生成するように構成されてよい。このレポートは、実行前と実行後のレジスタ値／レジスタ値セットの分析結果、及び／又は、制御装置２１０及び／又は制御装置１１５によって実施されたアクション又は実施されるべきアクションを含んでよい。制御装置２１０は、生成されたレポートをＳＯＣ１００の１つ以上の構成要素に供給すること、又は供給するようにＳＯＣ１００を制御すること、レポートを１つ以上の外部機器（例えば、周辺装置１３０）に供給すること、レポートを１つ以上の通信ネットワークを介して送信すること、レポートを１つ以上のディスプレイに表示すること、レポートを１つ以上のディスプレイに表示するようにＳＯＣ１００を制御すること、及び／又は、生成されたレポートに関する他の１つ以上の、当業者であれば理解され得るアクションを実施することを行うように構成されてよい。
【００３３】
一例示的実施形態では、制御装置２１０は、実行前と実行後の値の間に相違があることを示す通知を生成すること、又は通知を生成するようにＳＯＣ１００及び／又は１つ以上の外部構成要素を制御することを行うように構成されてよい。通知としては、その相違を他の１つ以上の構成要素に通知する為の、それらの構成要素に対する信号、可聴信号、可視信号、又は別の、当業者であれば理解され得る通知があってよい。
【００３４】
一例示的実施形態では、制御装置２１０及び制御装置１１５は、協調的に動作して１つ以上の完全性検証動作を実施してよい。この例では、制御装置１１５によって実施される機能及び動作の任意の組み合わせが制御装置２１０によって実施されてよく、制御装置２１０によって実施される機能及び動作の任意の組み合わせが制御装置１１５によって実施されてよい。例えば、制御装置１１５は、値の取得、値の記憶、値の比較、値の分析、データベースの生成、通知、及び／又はレポートのうちの一部分を実施してよく、制御装置２１０は、それらの動作のうちの制御装置１１５によって実施されない残りの部分を実施する。
【００３５】
図３は、本開示の一例示的実施形態によるＳＯＣ完全性検証システムの動作例３００を示す。図１及び図２を参照しながら、動作３００について説明する。
【００３６】
一例示的実施形態では、１つ以上のレジスタ（例えば、レジスタ１２０）が識別可能である（例えば、名前、アドレス、及び／又は他の識別情報）。それらのレジスタの識別情報は、レジスタからレジスタ値を読み取るように構成された１つ以上のソフトウェアアプリケーションとともに使用されてよい。例えば、アプリケーションプログラミングインタフェース（ＡＰＩ）を使用して、１つ以上のレジスタからレジスタ値を取得するように構成された１つ以上のソフトウェアアプリケーション（例えば「ＰｒｉｎｔＲｅｇｓ（）」命令）を作成することが可能である。読み取り動作（例えば、「ＰｒｉｎｔＲｅｇｓ（）」命令）はＳＯＣ１００に実装されてよく、制御装置１１５は、レジスタ１２０からレジスタ値を読み取る命令を実行するように構成されてよい。動作時には、ＳＯＣ１００の制御装置は、ＳＯＣ１００の１つ以上の起動動作（例えば、「Ｓｔａｒｔ−ｕｐ  Ｅｘｅｃ（）」命令）の実行前にレジスタ値を取得するように構成されてよい。
【００３７】
制御装置１１５は、実行前のレジスタ値／レジスタ値セットの取得後に、１つ以上の起動動作（例えば、「Ｓｔａｒｔ−ｕｐ  Ｅｘｅｃ（）」命令）を実行してよい。起動動作が実行された後（実施形態によっては、それらの動作が完了した後）、制御装置１１５は、再度、レジスタからレジスタ値を読み取ってよい（例えば、「ＰｒｉｎｔＲｅｇｓ（）」命令）。
【００３８】
その後、実行前と実行後のレジスタ値／レジスタ値セットの比較及び分析が行われてよい。一例示的実施形態では、制御装置１１５は、実行前のレジスタ値と実行後のレジスタ値とを比較するように構成されてよい。制御装置１１５は、この比較結果に基づいて、実行前と実行後のレジスタ値／レジスタ値セットの間に相違があるかどうかを判定するように構成されてよい。
【００３９】
一例示的実施形態では、制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットの間の相違を分析して、制御装置１１５が１つ以上のアクションを実施すべきかどうかを判定するように構成されてよい。
【００４０】
一例示的実施形態では、実行前と実行後のレジスタ値／レジスタ値セットの比較結果に基づいてレポートが生成されてよい。例えば、制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットの比較結果に基づいてレポートを生成するように構成されてよい。このレポートは、実行前と実行後のレジスタ値／レジスタ値セットの分析結果、及び／又は制御装置１１５によって実施されたアクション又は実施されるべきアクションを含んでよい。制御装置１１５は、生成されたレポートをＳＯＣ１００の１つ以上の構成要素に供給すること、又は供給するようにＳＯＣ１００を制御すること、レポートを１つ以上の外部機器（例えば、周辺装置１３０）に供給すること、レポートを１つ以上の通信ネットワークを介して送信すること、レポートを１つ以上のディスプレイに表示するようにＳＯＣ１００を制御すること、及び／又は、生成されたレポートに関する他の１つ以上の、当業者であれば理解されるだろうアクションを実施することを行うように構成されてよい。
【００４１】
実行前と実行後のレジスタ値／レジスタ値セット、対応する分析結果、相違の判定結果、及び／又は他の情報が、ＳＯＣ１００、及び／又は１つ以上の外部機器に記憶されてよい。例えば、制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セット、対応する分析結果、及びそれらの値／値セットの間に相違があるかどうかの判定を、例えば、メモリ１３５に記憶させるように構成されてよい。制御装置１１５は、実行前と実行後のレジスタ値／レジスタ値セットに基づく１つ以上のデータベースと、それらの値／値セットの間に相違があるかどうかの判定とを生成すること、或いは生成するようにＳＯＣ１００を制御することを行うように構成されてよい。
【００４２】
追加又は代替として、実行前と実行後のレジスタ値／レジスタ値セットの比較、分析、相違の判定、レポートの生成、通知、及び／又は他の動作が、図２に示されている評価装置２０５のような外部機器によって実施されてよい。これらの外部動作について、図４を参照しながら詳細に説明する。
【００４３】
図４は、本開示の一例示的実施形態によるＳＯＣ完全性検証システムの動作例４００を示す。動作４００は、図３に示された動作３００とよく似ているが、評価装置２０５などの外部構成要素によって実施される動作を含む。
【００４４】
例えば、上述のように、１つ以上のレジスタ（例えば、レジスタ１２０）が識別可能であり、識別情報は、レジスタからレジスタ値を読み取るように構成された１つ以上のソフトウェアアプリケーションとともに使用されてよい。読み取り動作（例えば、「ＰｒｉｎｔＲｅｇｓ（）」命令）はＳＯＣ１００に実装されてよく、制御装置１１５は、レジスタ１２０からレジスタ値を読み取る命令を実行するように構成されてよい。動作時には、ＳＯＣ１００の制御装置は、ＳＯＣ１００の１つ以上の起動動作（例えば、「Ｓｔａｒｔ−ｕｐ  Ｅｘｅｃ（）」命令）の実行前にレジスタ値を取得するように構成されてよい。
【００４５】
制御装置１１５は、実行前のレジスタ値／レジスタ値セットの取得後に、１つ以上の起動動作（例えば、「Ｓｔａｒｔ−ｕｐ  Ｅｘｅｃ（）」命令）を実行してよい。起動動作が実行された後（実施形態によっては、それらの動作が完了した後）、制御装置１１５は、再度、レジスタからレジスタ値を読み取ってよい（例えば、「ＰｒｉｎｔＲｅｇｓ（）」命令）。
【００４６】
その後、実行前と実行後のレジスタ値／レジスタ値セットが評価装置２０５に供給されてよく、或いは評価装置２０５によってＳＯＣ１００から取得されてよい。
【００４７】
一例示的実施形態では、評価装置２０５は、ＳＯＣ１００からの値／値セットの受け取り、及び／又は取得／読み取りを行ってよい。評価装置２０５は、値又は値セットを、メモリ２２０、及び／又は制御装置２１０の１つ以上の内蔵メモリに記憶させてよい。
【００４８】
その後、実行前と実行後のレジスタ値／レジスタ値セットの比較が行われる。この比較結果に基づいて、実行前と実行後のレジスタ値／レジスタ値セットの間に相違があるかどうかが判定されてよい。一例示的実施形態では、評価装置２０５の制御装置２１０は、実行前レジスタ値と実行後レジスタ値とを比較するように構成されてよい。制御装置２１０は、この比較結果に基づいて、実行前と実行後のレジスタ値／レジスタ値セットの間に相違があるかどうかを判定するように構成されてよい。
【００４９】
実行前と実行後のレジスタ値／レジスタ値セットの分析、及び／又は相違の判定結果の分析が行われてよい。評価装置２０５は、その分析結果に基づいて、１つ以上のアクション（例えば、動作モードの調節、ＳＯＣ１００のリセットなど）を実施すべきかどうかを判定してよい。一例示的実施形態では、制御装置２１０は、実行前と実行後のレジスタ値／レジスタ値セットの相違を分析して、制御装置１１５及び／又は制御装置２１０が１つ以上のアクションを実施すべきかどうかを判定するように構成されてよい。
【００５０】
一例示的動作では、１つ以上のデータベースが生成されてよい。例えば、制御装置２１０は、実行前と実行後のレジスタ値／レジスタ値セットに基づく１つ以上のデータベースと、それらの値／値セットの間に相違があるかどうかの判定とを生成すること、或いは生成するようにＳＯＣ１００（例えば、制御装置１１５）を制御することを行うように構成されてよい。非限定的な一例では、データベースは、値の表、スプレッドシート（例えば、ＸＬＳ文書）、又は他の、当業者であれば理解されるだろうデータ構造であってよい。
【００５１】
上述のように、データベースは、例えば、レジスタ名、レジスタアドレス（例えば、０ｘｆ０００００００）、実行前レジスタ値、実行後レジスタ値、実行前と実行後の値の間に相違があるかどうかを示す１つ以上のインジケータ／フラグ、制御装置２１０、制御装置１１５、及び／又はＳＯＣ１００の１人以上のユーザによる分析、制御装置２１０、制御装置１１５、及び／又はＳＯＣ１００の１人以上のユーザによって実施されたアクション又は実施されるべきアクション、及び／又は、当業者であれば理解され得る他の１つ以上のパラメータ及び／又は情報を含んでよい。データベースは、１つ以上のメモリユニット、例えば、メモリ２２０及び／又はメモリ１３５に記憶されてよい。
【００５２】
引き続き図４を参照すると、実行前のレジスタ値／レジスタ値セット、実行後のレジスタ値／レジスタ値セット、相違の判定結果、実行前と実行後のレジスタ値／レジスタ値セットの分析結果、ＳＯＣ１００及び／又は評価装置２０５によって実施されたアクション又は実施されるべきアクション、及び／又は他の、当業者であれば理解されるだろう情報に基づいて、レポートが生成されてよい。
【００５３】
一例示的実施形態では、制御装置２１０は、レポートを生成するように構成されてよい。制御装置２１０は、レポートをＳＯＣ１００の１つ以上の構成要素に供給すること、レポートを１つ以上の外部機器（例えば、周辺装置１３０）に供給すること、レポートを１つ以上の通信ネットワークを介して送信すること、レポートを１つ以上のディスプレイに表示すること、レポートを１つ以上のディスプレイに表示するようにＳＯＣ１００を制御すること、及び／又は、生成されたレポートに関する他の１つ以上の、当業者であれば理解されるだろうアクションを実施することを行うように構成されてよい。
【００５４】
一例示的実施形態では、制御装置２１０は、実行前と実行後の値の間に相違があることを示す通知を生成すること、又は通知を生成するようにＳＯＣ１００及び／又は１つ以上の外部構成要素を制御することを行うように構成されてよい。通知としては、その相違を他の１つ以上の構成要素に通知する為の、それらの構成要素に対する信号、可聴信号、可視信号、又は別の、当業者であれば理解されるだろう通知があってよい。
【００５５】
図５は、本開示の一例示的実施形態による完全性検証方法のフローチャート５００を示す。このフローチャートについては、図１から図４を引き続き参照しながら説明する。本方法の各ステップは、以下で説明される順序に限定されず、様々なステップが様々な順序で実施されてよい。更に、本方法の２つ以上のステップが、互いに同時に実施されてよい。
【００５６】
フローチャート５００の方法はステップ５０５から始まり、ステップ５１０に進み、そこでは、１つ以上のレジスタから１つ以上のレジスタ値の取得／読み取りが行われて、第１のレジスタ値セットが生成される。一例示的実施形態では、ＳＯＣ１００（例えば、制御装置１１５）は、レジスタ１２０のうちの１つ以上からレジスタ値の取得／読み取りを行うように構成される。一例示的実施形態では、評価装置２０５は、レジスタ１２０からレジスタ値の取得／読み取りを行うようにＳＯＣ１００を制御するように構成される。一例示的実施形態では、ＳＯＣ１００は、取得されたレジスタ値に基づいて第１のレジスタ値セットを生成するように構成されてよい。値及び／又は値セットは、例えば、メモリ１３５及び／又はメモリ２２０に記憶されてよい。
【００５７】
ステップ５１０の後、フローチャート５００はステップ５１５に進み、そこでは、１つ以上のプロセス、例えば、１つ以上の起動プロセスが実行される。一例示的実施形態では、ＳＯＣ１００の制御装置１１５は、１つ以上のプロセスを実行すること、又は実行するようにＳＯＣ１００の他の１つ以上の構成要素を制御することを行うように構成され、これらのプロセスは、ＳＯＣ１００の１つ以上の起動動作を含んでよい。
【００５８】
ステップ５１５の後、フローチャート５００はステップ５２０に進み、そこでは、１つ以上のレジスタから１つ以上のレジスタ値の取得／読み取りが再度行われて、第２のレジスタ値セットが生成される。一例示的実施形態では、ＳＯＣ１００（例えば、制御装置１１５）は、レジスタ１２０のうちの１つ以上からレジスタ値の取得／読み取りを行うように構成される。一例示的実施形態では、評価装置２０５は、レジスタ１２０からレジスタ値の取得／読み取りを行うようにＳＯＣ１００を制御するように構成される。一例示的実施形態では、ＳＯＣ１００は、取得されたレジスタ値に基づいて第２のレジスタ値セットを生成するように構成されてよい。値及び／又は値セットは、例えば、メモリ１３５及び／又はメモリ２２０に記憶されてよい。
【００５９】
ステップ５２０の後、フローチャート５００はステップ５２５に進み、そこでは、第１のレジスタ値セットと第２のレジスタ値セットとが比較されて、第１のレジスタ値セットと第２のレジスタ値セットとの間で１つ以上のレジスタ値同士の間に相違があるかどうかが判定される。一例示的実施形態では、ＳＯＣ１００の制御装置１１５、及び／又は評価装置２０５の制御装置２１０は、第１のレジスタ値セットと第２のレジスタ値セットとを比較するように構成される。
【００６０】
１つ以上の値に相違がある場合（ステップ５２５の「はい」）、フローチャート５００はステップ５３０に進む。そうでない場合（ステップ５２５の「いいえ」）、フローチャート５００はステップ５４０に進み、そこでフローチャートは終了する。
【００６１】
ステップ５３０では、第１のレジスタ値セットと第２のレジスタ値セットとの間の相違が分析される。この分析結果に基づき、相違に応じて１つ以上のアクションを実施すべきかどうかが判定される。一例示的実施形態では、ＳＯＣ１００の制御装置１１５、及び／又は評価装置２０５の制御装置２１０は、第１のレジスタ値セットと第２のレジスタ値セットとの間の相違を分析するように構成される。制御装置１１５及び／又は制御装置２１０は、分析結果に基づいて、１つ以上のアクションを実施すべきかどうかを判定する。一例示的実施形態では、ＳＯＣ１００のユーザは、相違を分析して、１つ以上のアクションを実施すべきかどうかを判定するように構成されてよい。例えば、ユーザは、相違に基づいて生成されたレポートを分析して、１つ以上のアクションを実施すべきかどうかを判定してよい。
【００６２】
１つ以上のアクションを実施すべきである場合（ステップ５３０の「はい」）、フローチャート５００はステップ５３５に進む。そうでない場合（ステップ５３０の「いいえ」）、フローチャート５００はステップ５４０に進み、そこでフローチャートは終了する。
【００６３】
ステップ５３５では、第１のレジスタ値セットと第２のレジスタ値セットとの間の相違の分析結果に応じて、１つ以上のアクションが実施される。これらのアクションは、例えば、ＳＯＣ１００の動作モードを変更／調節すること（例えば、セーフモードに切り替えること）、ＳＯＣ１００のリセットを実施すること（例えば、パワーオンリセット）、１つ以上のレジスタ１２０を所定値（例えば、デフォルト値）に戻すこと、ＳＯＣ１００の動作に影響を及ぼしかねない相違であるという警告を生成すること、及び／又は当業者であれば理解されるだろう１つ以上の他のアクションなどであってよい。一例示的実施形態では、ＳＯＣ１００の制御装置１１５、及び／又は評価装置２０５の制御装置２１０は、これらのアクションを実施すること、又はこれらのアクションを実施するようにＳＯＣ１００を制御することを行うように構成される。
【００６４】
ステップ５３５の後、フローチャート５００はステップ５４０に進み、そこでフローチャートは終了する。フローチャート５００は、１回以上繰り返されてよい。例えば、フローチャート５００は、ＳＯＣ１００の実行時の間ずっと実施されてよい。非限定的な例として、この完全性検証方法は、実行時の間に、１つ以上の外部構成要素からの要求に応じて、且つ／又は、外部構成要素がＳＯＣ１００に接続されたこと、及び／又は外部構成要素がＳＯＣ１００から切り離されたことに応じて、且つ／又は、ユーザの要求に応じて、且つ／又は、特定のタイミングで、且つ／又は定期的に、実施されてよい。
【００６５】
コンピュータシステム例
本明細書に記載の様々な例示的実施形態が、例えば、１つ以上のコンピュータシステム、例えば、図６に示されるコンピュータシステム６００を使用して実施されてよい。コンピュータシステム６００は、本明細書に記載の機能を実施することが可能なコンピュータであってよい。一例示的実施形態では、評価装置２０５は、コンピュータシステム６００として実施される。
【００６６】
コンピュータシステム６００は、１つ以上のプロセッサ（中央処理装置（ＣＰＵ）とも呼ばれる）、例えば、プロセッサ６０４を含む。プロセッサ６０４は、通信インフラストラクチャ又はバス６０６と接続される。
【００６７】
１つ以上のプロセッサ６０４は、それぞれがグラフィックス処理装置（ＧＰＵ）であってよい。一実施形態では、ＧＰＵは、電子機器上で数学的集約型アプリケーションを高速処理するように設計された専用電子回路であるプロセッサである。ＧＰＵは、コンピュータグラフィックスアプリケーション、画像、及び映像に共通する数学的集約型データのような大規模データブロックの並列処理に関して効率的である高度並列構造を有してよい。
【００６８】
コンピュータシステム６００は又、モニタ、キーボード、ポインティングデバイスなどのようなユーザ入出力装置６０３を含んでよく、これらは、ユーザ入出力インタフェース６０２を介して通信インフラストラクチャ６０６と通信する。
【００６９】
コンピュータシステム６００は、ランダムアクセスメモリ（ＲＡＭ）などの主メモリ又は一次メモリ６０８を含んでよい。主メモリ６０８は、１以上のレベルのキャッシュを含んでよい。主メモリ６０８は、制御ロジック（即ち、コンピュータソフトウェア）及び／又はデータを記憶している。
【００７０】
コンピュータシステム６００は又、１つ以上の二次記憶装置又はメモリ６１０を含んでよい。二次メモリ６１０は、例えば、ハードディスクドライブ６１２及び／又はリムーバブル記憶装置又はドライブ６１４を含んでよい。リムーバブル記憶ドライブ６１４は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光記憶装置、テープバックアップ装置、及び／又は他の任意の記憶装置／ドライブであってよい。
【００７１】
リムーバブル記憶ドライブ６１４は、リムーバブル記憶ユニット６１８と対話してよい。リムーバブル記憶ユニット６１８は、コンピュータソフトウェア（制御ロジック）及び／又はデータを記憶しているコンピュータで使用可能な、又はコンピュータ可読な記憶装置を含む。リムーバブル記憶ユニット６１８は、フロッピーディスク、磁気テープ、コンパクトディスク、ＤＶＤ、光記憶ディスク、及び／又は他の任意のコンピュータデータ記憶装置であってよい。リムーバブル記憶ドライブ６１４は、リムーバブル記憶ユニット６１８に対する読み出し及び／又は書き込みを、よく知られた方式で行う。
【００７２】
一例示的実施形態によれば、二次メモリ６１０は、コンピュータプログラム及び／又は他の命令及び／又はデータがコンピュータシステム６００によってアクセスされることを可能にする他の手段又は他の方式を含んでよい。そのような手段又は他の方式として、例えば、リムーバブル記憶ユニット６２２及びインタフェース６２０があってよい。リムーバブル記憶ユニット６２２及びインタフェース６２０の例として、プログラムカートリッジ及びカートリッジインタフェース（例えば、ビデオゲーム装置で見られるもの）、リムーバブルメモリチップ（例えば、ＥＰＲＯＭ又はＰＲＯＭ）及び対応ソケット、メモリスティック及びＵＳＢポート、メモリカード及び対応メモリカードスロット、及び／又は他の任意のリムーバブル記憶ユニット及び対応インタフェースがあってよい。
【００７３】
コンピュータシステム６００は更に、通信インタフェース又はネットワークインタフェース６２４を含んでよい。通信インタフェース６２４は、コンピュータシステム６００が、リモート機器、リモートネットワーク、リモートエンティティなどの任意の組み合わせ（個別に、且つまとめて参照符号６２８で参照される）と通信及び対話することを可能にする。例えば、通信インタフェース６２４は、コンピュータシステム６００が通信路６２６を介してリモート機器６２８と通信することを可能にしてよく、通信路６２６は、有線及び／又は無線であってよく、ＬＡＮ、ＷＡＮ、インターネットなどの任意の組み合わせを含んでよい。通信路６２６を介して、コンピュータシステム６００との間で制御ロジック及び／又はデータのやりとりの伝送が行われてよい。
【００７４】
一例示的実施形態では、制御ロジック（ソフトウェア）が記憶されている、有形の、コンピュータで使用可能な、又はコンピュータ可読な媒体を含む、有形の装置又は製造物が、本明細書では、コンピュータプログラム製品又はプログラム記憶装置とも呼ばれている。これは、コンピュータシステム６００、主メモリ６０８、二次メモリ６１０、及びリムーバブル記憶ユニット６１８及び６２２、並びにこれらの任意の組み合わせを実施する有形製造物を含み、これらに限定されない。そのような制御ロジックは、１つ以上のデータ処理装置（例えば、コンピュータシステム６００）で実行された場合には、本明細書に記載の動作をそのようなデータ処理装置に行わせる。
【００７５】
本開示に含まれる教示に基づけば、図６に示されたもの以外のデータ処理装置、コンピュータシステム、及び／又はコンピュータアーキテクチャを使用して本発明を作成及び使用する方法が、当業者であれば明らかだろう。具体的には、各実施形態は、本明細書に記載されたもの以外のソフトウェア、ハードウェア、及び／又はオペレーティングシステムの実施態様でも動作可能である。
【００７６】
結論
上述の特定実施形態の説明は、本開示の一般的性質を十分に明らかにするものである為、当業者であれば、必要以上の実験をしなくても、且つ、本開示の一般概念から逸脱することなく、そのような特定実施形態に対し、様々な用途に向けた修正及び／又は適応を容易に行うことが可能である。従って、そのような適応及び修正は、本明細書において示された教示及び手引に基づく、本開示の実施形態の等価物の意味および範囲に含まれるものとする。本明細書における言い回し又は術語は限定ではなく説明を目的としており、従って、本明細書の術語又は言い回しは、当業者が教示及び手引に照らして解釈すべきであることを理解されたい。
【００７７】
本明細書における「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「一例示的実施形態」などへの言及は、記載された実施形態が特定の特徴、構造、又は特性を含んでよいが、全ての実施形態がそれらの特定の特徴、構造、又は特性を必ずしも含まなくてよいことを示している。更に、そのような言い回しは、必ずしも同じ実施形態に言及しているわけではない。更に、特定の特徴、構造、又は特性が一実施形態に関連して記載されている場合、これは、明示的に記載されているかどうかにかかわらず、当業者の知識の範囲において、そのような特徴、構造、又は特性が他の実施形態との関連でも作用することを意味する。
【００７８】
本明細書に記載の例示的実施形態は、限定ではなく例示を目的として提示されている。別の例示的実施形態も可能であり、これらの例示的実施形態に対して修正が施されてよい。従って、本明細書は、本開示の限定を意図するものではない。もっと正確に言えば、本開示の範囲は、後述の特許請求の範囲及びそれらの等価物に従う形でのみ規定される。
【００７９】
各実施形態は、ハードウェア（例えば、回路）、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせの形で実施されてよい。各実施形態は、１つ以上のプロセッサによる読み取り及び実行が可能な、機械可読媒体に記憶された命令として実施されてもよい。機械可読媒体は、機械（例えば、コンピューティング装置）によって可読な形態の情報を記憶又は伝送する任意の機構を含んでよい。例えば、機械可読媒体は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置、電気、光、音響、又は他の形式の伝搬信号（例えば、搬送波、赤外信号、デジタル信号など）などを含んでよい。更に、本明細書では、ファームウェア、ソフトウェア、ルーチン、命令が、特定のアクションを実施するものとして記述されている場合がある。しかしながら、そのような記述は便宜的なものに過ぎないこと、並びに、そのようなアクションは、実際には、ファームウェア、ソフトウェア、ルーチン、命令などを実行するコンピューティング装置、プロセッサ、コントローラ、又は他の装置によってもたらされるものであることを理解されたい。更に、実施態様のいずれの変形形態も、汎用コンピュータによって実施可能である。
【００８０】
本説明の便宜上、「プロセッサ回路」という用語は、回路、プロセッサ、ロジック、又はこれらの組み合わせとして理解されたい。例えば、回路は、アナログ回路、デジタル回路、状態機械ロジック、他の構造的電子ハードウェア、又はこれらの組み合わせなどであってよい。プロセッサは、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）などのハードウェアプロセッサであってよい。プロセッサは、本明細書に記載の実施形態に従って、対応する機能を実施する命令により「ハードコーディング」されてよい。或いは、プロセッサは、内蔵メモリ及び／又は外部メモリに記憶されている命令を取り出す為にそれらのメモリにアクセスしてよく、これらの命令は、プロセッサによって実行された場合に、プロセッサに関連付けられた対応する機能、及び／又は、プロセッサが含まれている構成要素の動作に関連する１つ以上の機能及び／又は動作を実施する。
【００８１】
本明細書に記載の例示的実施形態のうちの１つ以上において、プロセッサ回路は、データ及び／又は命令を記憶するメモリを含んでよい。メモリは、任意のよく知られた揮発性及び／又は不揮発性メモリであってよく、例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、磁気記憶媒体、光ディスク、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）などであってよい。メモリは、非リムーバブル、リムーバブル、又は非リムーバブルとリムーバブルの組み合わせであってよい。
【符号の説明】
【００８２】
１００  システムオンチップ（ＳＯＣ）
１１５  制御装置
１２０．１〜１２０．Ｍ  レジスタ
１３０．１〜１３０．Ｎ  周辺装置
１３５  メモリユニット
２００  ＳＯＣ完全性検証システム
２０５  評価装置
２１０  制御装置
２２０  メモリ
６００  コンピュータシステム
６０２  ユーザ入出力インタフェース
６０３  ユーザ入出力装置
６０４  プロセッサ
６０６  通信インフラストラクチャ
６０８  主メモリ
６１０  二次メモリ
６１２  ハードディスクドライブ
６１４  リムーバブル記憶ドライブ
６１８  リムーバブル記憶ユニット
６２０  インタフェース
６２２  リムーバブル記憶ユニット
６２４  通信インタフェース
６２６  通信路
６２８  リモート機器
【図１】
2018077835.tif 000003
【図２】
2018077835.tif 000004
【図３】
2018077835.tif 000005
【図４】
2018077835.tif 000006
【図５】
2018077835.tif 000007
【図６】
2018077835.tif 000008
【外国語明細書】
2018077835000001.pdf
2018077835000002.pdf
2018077835000003.pdf
2018077835000004.pdf