(57)【要約】  本発明は、中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する方法に関する。このプロセッサシステム（１０４）は、少なくとも、プログラムカウンタ構造（１０２）と、中断制御機構（１０８）と、メモリ（１１０）とを含む。中断制御機構（１０８）は、中断要求（１０６）に応答して、中断要求（１０６）に属するアドレス（１１２）をプログラムカウンタ構造（１０２）へ供給するように構成されている。プログラムカウンタ構造（１０２）は、メモリインタフェース（１１４）を介してメモリ（１１０）にアドレス（３５２）を出力するように構成されている。この方法（４００）は、読み込みのステップと、比較のステップと、供給のステップとを有している。読み込みのステップでは、アドレス（３５２）がメモリインタフェース（１１４）から読み込まれる。比較のステップ（４０６）では、このアドレス（３５２）が、中断要求（１０６）に割り当てられている目標アドレス（１２０）と比較され、これによって比較結果（１２６）が得られる。供給のステップでは、この比較結果（１２６）を用いて、一致信号（１２４）が供給される。後者は、中断要求の処理の監視のためにも使用可能である。従って、これは例えば、この中断要求の優先度の遵守の監視のために、又は、中断要求に属する中断ルーチン（割り込みサービスルーチン）の正しい処理の監視の一部としても使用可能である。
2018525712.tif 000002
【特許請求の範囲】
【請求項１】
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する方法（４００）であって、
前記プロセッサシステム（１０４）は、少なくとも、プログラムカウンタ構造（１０２）と、中断制御機構（１０８）と、メモリ（１１０）とを含んでおり、
前記中断制御機構（１０８）は、前記中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、メモリインタフェース（１１４）を介して前記メモリ（１１０）に対してアドレスを出力するように構成されており、
前記方法（４００）は、
前記メモリインタフェース（１１４）からアドレス（３５２）を読み込むステップ（４０２）と、
比較結果（１２６）を得るために、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と前記アドレス（３５２）とを比較するステップ（４０６）と、
前記比較結果（１２６）を用いて、一致信号（１２４）を供給するステップ（４０８）と、
を有している、
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する方法（４００）。
【請求項２】
前記一致信号（１２４）を用いて、前記中断要求の前記処理の開始の成功を伝達するステップを有している、請求項１に記載の方法（４００）。
【請求項３】
前記プログラムカウンタ構造（１０２）は、前記アドレス（３５２）に論理的に後続する後続アドレスを前記メモリインタフェース（１１４）に供給するように構成されており、
前記読み込みステップ（４０２）では、さらに、前記後続アドレスが読み込まれ、前記比較ステップ（４０４）では、前記比較結果（１２６）を得るために、前記目標アドレス（１２０）に論理的に後続する後続目標アドレスと前記後続アドレスとを比較する、請求項１又は２に記載の方法（４００）。
【請求項４】
中断要求（１０６）の処理を監視する方法であって、
請求項１乃至３のいずれか一項に記載の、プログラムカウンタ構造（１０２）を保護する方法のステップ（４０２，４０６，４０８）を実施するステップと、
前記一致信号（１２４）を用いて、前記中断要求（１０６）の前記処理を監視するステップと、
を有している、
中断要求（１０６）の処理を監視する方法。
【請求項５】
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する装置（１００）であって、
前記プロセッサシステム（１０４）は、少なくとも、プログラムカウンタ構造（１０２）と、中断制御機構（１０８）と、メモリ（１１０）とを含んでおり、
前記中断制御機構（１０８）は、前記中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、前記メモリ（１１０）に対するメモリインタフェース（１１４）へ、アドレス（３５２）を出力するように構成されており、
前記装置（１００）は、
前記メモリインタフェース（１１４）からアドレス（３５２）を読み込むインタフェース（１１６）と、
比較結果（１２６）を得るために、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と前記アドレス（３５２）とを比較する比較機構（１１８）と、
前記比較結果（１２６）を用いて、一致信号（１２４）を供給する出力機構（１２２）と、
を備えていることを特徴とする、
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する装置（１００）。
【請求項６】
プロセッサシステム（１０４）であって、
前記プロセッサシステム（１０４）は、少なくとも、中断制御機構（１０８）と、プログラムカウンタ構造（１０２）と、メモリ（１１０）と、請求項５に記載された、前記プログラムカウンタ構造（１０２）を保護する装置（１００）とを含んでおり、
前記中断制御機構（１０８）は、中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、前記メモリ（１１０）に対するメモリインタフェース（１１４）へ、アドレス（３５２）を出力するように構成されており、
前記装置（１００）は、
前記メモリインタフェース（１１４）から前記アドレス（３５２）を読み込み、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と当該アドレス（３５２）とを比較し、当該比較の比較結果（１２６）を用いて、一致信号（１２４）を供給するように構成されている、
プロセッサシステム（１０４）。
【請求項７】
前記プログラムカウンタ構造（１０２）は、プロセッサコア（３００）の一部であり、当該プロセッサコア（３００）は、前記プログラムカウンタ構造（１０２）の他に、少なくとも電子計算機構（３１８）を含んでいる、請求項６に記載のプロセッサシステム（１０４）。
【請求項８】
集積回路として実現されている、請求項７に記載のプロセッサシステム（１０４）。
【請求項９】
請求項１乃至４のいずれか一項に記載の方法を実施するために構成されている、
コンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムが格納されている、
機械可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立請求項の上位概念に記載されている装置又は方法に基づく。本発明の構成要件は、コンピュータプログラムでもある。
【背景技術】
【０００２】
プロセッサはしばしば、外部の、いわゆる中断要求（ｉｎｔｅｒｒｕｐｔ  ｒｅｑｕｅｓｔｓ（割り込み要求），ＩＲＱ）によって通常のプログラムフローを中断するのを許可し、これによって他の、重要な、場合によっては時間的に重大でもあるタスクが優先的に処理される。ここでは、中断優先度の遵守、及び、中断要求に属する中断ルーチン（Ｉｎｔｅｒｒｕｐｔ-Ｓｅｒｖｉｃｅ-Ｒｏｕｔｉｎｅ（割り込みサービスルーチン），ＩＳＲ）の処理の成功が重要である。
【０００３】
国際公開第２０１３１３６１１４号（ＷＯ２０１３１３６１１４Ａ１）は、発生している割り込みの監視、又は、割り込みコントローラ（ＩＣＯ）による割り込みの正しい処理の監視を可能にするシステムを記載している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３１３６１１４号
【発明の概要】
【課題を解決するための手段】
【０００５】
発明の開示
これを背景にして、本願に提示されているアプローチによって、中断要求の際にプロセッサシステムのプログラムカウンタ構造を保護する方法、中断要求の処理を監視する方法、さらに、これらの方法を使用する装置、最後に、独立請求項に記載されている対応するコンピュータプログラムが提示される。従属請求項に記載されている措置によって、独立請求項に記載されている装置の有利な発展形態及び改善が可能である。
【０００６】
特に、安全に関して重大な用途に対しては、中断要求の処理におけるエラーを識別するのは重要である。
【０００７】
中断要求に応答して、プロセッサによって処理されるアドレスで、エラーが存在しているのか否かが識別される。ここで、エラーの無いことが、基準アドレスとの比較によって示されるものとするとよい。なぜなら、中断ルーチンのアドレス、いわゆる割り込みベクトル又は中断ルーチン自体が格納されている記憶場所が既知だからである。
【０００８】
中断要求の際にプロセッサシステムのプログラムカウンタ構造を保護する方法が提示される。このプロセッサシステムは、少なくとも、プログラムカウンタ構造と、中断制御機構と、メモリとを含んでいる。この中断制御機構は、この中断要求に応答して、この中断要求に属するアドレスをプログラムカウンタ構造へ供給するように構成されており、このプログラムカウンタ構造は、メモリインタフェースを介してメモリに対してアドレスを出力するように構成されており、この方法は、
メモリインタフェースからアドレスを読み込むステップと、
比較結果を得るために、中断要求に割り当てられている目標アドレスとこのアドレスとを比較するステップと、
この比較結果を用いて、一致信号を供給するステップと、
を有している。
【０００９】
上述したアドレスは、割り込みベクトル、中断ルーチンの開始アドレス又は中断ルーチン自体も格納されているアドレスであるものとするとよい。前者は、典型的には、割り込みベクトルテーブルの使用の際に必要であり、従って、このアドレスは、割り込みベクトルテーブルの範囲内に位置している。以下では、中断ルーチンのアドレスも、割り込みベクトルのアドレス自体も使用可能な場合であっても、単にアドレスとする。重要なのはそれぞれ、検査のために使用される、メモリに加えられるアドレスである。
【００１０】
このようにして、中断ルーチンの最初の命令を実行する前又は実行時に、既にアドレスが、メモリインタフェースから読み込まれ、比較のステップにおいて比較されるものとするとよい。
【００１１】
伝達のステップにおいて、中断要求の処理の開始が成功したことが、一致信号を用いて伝達されるものとするとよい。これは、プログラムカウンタ構造を保護するために用いられる。なぜなら、中断要求に属する中断ルーチンの正しい開始が検査可能だからである。これはさらに、中断要求の処理の監視にも使用可能である。従って、これは例えば、この中断要求の優先度の遵守の監視のために、又は、中断要求に属する中断ルーチン（割り込みサービスルーチン）の正しい処理の監視の一部としても、使用可能である。
【００１２】
プログラムカウンタ構造は、アドレスに論理的に後続する後続アドレスをメモリインタフェースに供給するように構成されているものとするとよい。読み込みのステップでは、次に、付加的にこの後続アドレスが読み込まれてもよく、又は、この後続アドレスのみが読み込まれてもよい。次に、比較のステップにおいて、この後続アドレスが、目標アドレスに論理的に後続する後続目標アドレスと比較されるものとするとよく、これによって、比較結果が得られる。後続アドレスは、中断要求に全く関連していない情報が格納されているメモリ内の記憶場所を示すことがある。後続目標アドレスが、単に、目標アドレス上でのプログラムカウンタ構造の論理演算の使用によって得られるものとするとよい。従って、後続目標アドレスは、目標アドレスと同じように、常に既知であり、装置内に格納可能である。アドレスに従って、プログラムカウンタ構造によって処理された後続アドレスを検査することによって、プログラムカウンタ構造を、より確実に監視することができる。プログラムカウンタは、この場合に、むしろ、さらに確実に監視されてもよい。なぜなら、後続アドレスの作成のために必要な構造／モジュールも保護されるからである。
【００１３】
目標アドレス又は後続目標アドレスは、監視部によって読み込まれ、検証されるものとするとよい。目標アドレスも、後続目標アドレスも既知である。例えば、目標アドレスは、中断ルーチンのアドレスが格納されている、割り込みベクトルテーブルからのアドレスであるものとするとよい。後続目標アドレスは、例えば、増分によって作成され、また、通常動作において、場合によってはそうでなくとも作成される目標アドレス＋１であるものとするとよい。
【００１４】
中断要求の処理を監視する方法は、
プログラムカウンタ構造を保護する上述した方法のステップを実施するステップと、
一致信号を用いて、中断要求の処理を監視するステップと、
を有している。
【００１５】
これは、中断要求の処理の監視の一部としてのプログラムカウンタ構造の監視を可能にする。従って、これは例えば、この中断要求の優先度の遵守の監視のために、又は、中断要求に属する中断ルーチンの正しい処理の監視の一部としても、使用可能である。
【００１６】
この方法は、例えば、ソフトウェアによって又はハードウェアによって又はソフトウェアとハードウェアとの混合形態によって、例えば、制御機器内に実装されているものとするとよい。
【００１７】
さらに、中断要求の際にプロセッサシステムのプログラムカウンタ構造を保護する装置が提示される。このプロセッサシステムは、少なくとも、プログラムカウンタ構造と、中断制御機構と、メモリとを含んでおり、この中断制御機構は、この中断要求に応答して、この中断要求に属するアドレスをプログラムカウンタ構造へ供給するように構成されており、このプログラムカウンタ構造は、メモリインタフェースを介してメモリに対してアドレスを出力するように構成されており、この装置は、
メモリインタフェースからアドレスを読み込むインタフェースと、
比較結果を得るために、中断要求に属する目標アドレスとこのアドレスとを比較する比較機構と、
この比較結果を用いて、一致信号を供給する出力機構と、
を備えていることを特徴とする。
【００１８】
装置とは、ここでは、センサ信号を処理し、これに関連して制御信号及び／又はデータ信号を出力する電気的な機器であると理解されてよい。この装置は、ハードウェアの形式で及び／又はソフトウェアの形式で構成され得るインタフェースを有しているものとするとよい。ハードウェアの形式で構成されている場合には、このインタフェースは例えば、装置の種々の機能を含んでいるいわゆるシステムＡＳＩＣの一部であるものとするとよい。しかし、インタフェースが固有の集積回路であっても、又は、少なくとも部分的に、離散した構成要素から成っていてもよい。ソフトウェアの形式で構成されている場合には、インタフェースは、例えばマイクロコントローラ上に、別のソフトウェアモジュールの隣に設けられているソフトウェアモジュールであるものとするとよい。
【００１９】
さらに、少なくとも、中断制御機構と、プログラムカウンタ構造と、メモリと、本願に提示されたアプローチに対応する、プログラムカウンタ構造を保護する装置とを有しているプロセッサシステムが提示される。この中断制御機構は、中断要求に応答して、この中断要求に属するアドレスをプログラムカウンタ構造へ供給するように構成されており、このプログラムカウンタ構造は、メモリに対するメモリインタフェースへ、アドレスを出力するように構成されており、この装置は、メモリインタフェースからアドレスを読み込むように構成されており、中断要求に割り当てられている目標アドレスとアドレスとを比較するように構成されており、さらに、この比較の比較結果を用いて、一致信号を供給するように構成されている。
【００２０】
プログラムカウンタ構造は、プロセッサコアの一部であるものとするとよく、このプロセッサコアは、プログラムカウンタ構造の他に、電子計算機構及び／又はさらなる別のモジュールを含んでいる。しかし、監視モジュールは、プロセッサ自体に関連しておらず、基本的には、既知のプロセッサアーキテクチャと関連しても使用可能である。後者は例えば、メモリアドレスを単に読み込むことによって行うことができ、この際に、プロセッサが変更される必要はない。
【００２１】
プロセッサシステムは、集積回路として実現されているものとするとよい。この場合に、これは、プログラミング可能な集積回路、いわゆるプログラミング可能なＩＣであるものとするとよい。
【００２２】
プログラムコードを有するコンピュータプログラム製品又はコンピュータプログラムも有利であり、これは、機械可読の担体又は記録媒体、例えば半導体メモリ、ハードディスクストレージ又は光学的なメモリに格納されているものとするとよく、特に、このプログラム製品又はプログラムがコンピュータ又は装置上で実行されるときに、上述した実施形態のうちの１つに従ったこの方法のステップの実施、実装及び／又は駆動制御のために使用される。
【００２３】
本発明の実施例を図示し、以降の説明において詳細に説明する。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施例に即した保護装置のブロック回路図。
【図２】本発明の実施例に即した保護装置の図。
【図３ａ】本発明の実施例に即したプロセッサシステムの図。
【図３ｂ】本発明の実施例に即したプロセッサシステムの図。
【図４】本発明の実施例に即した保護方法のフローチャート。
【図５】本発明の実施例に即した中断ルーチンの保護の際のフローチャート。
【発明を実施するための形態】
【００２５】
本発明の有利な実施例の以降の説明では、異なる図面に示され、類似の作用を有する要素には、同一又は類似の参照符号が使用されている。これらの要素の繰り返しの説明は、省略されている。
【００２６】
図１は、本発明の実施例に即した、中断要求１０６の際にプロセッサシステム１０４のプログラムカウンタ構造１０２を保護する装置１００のブロック回路図を示している。ここでは、プロセッサシステム１０４は少なくとも、プログラムカウンタ構造１０２と、中断制御機構１０８と、メモリ１１０とを含んでいる。割り込みコントローラとも称される中断制御機構１０８は、中断要求１０６に応答して、一般的に割り込み要求と称される中断要求１０６に属するアドレス１１２をプログラムカウンタ構造１０２へ供給するように構成されている。プログラムカウンタ構造１０２は、メモリインタフェース１１４を介してメモリ１１０に対して、このアドレス１１２又は後続アドレスを出力するように構成されている。
【００２７】
装置１００は、アドレス１１２又は後続アドレスをメモリインタフェース１１４から読み込むインタフェース１１６と、このアドレス１１２又は後続アドレスを、この中断要求１０６に割り当てられている目標アドレス１２０と比較する比較機構１１８と、出力機構１２２とを有している。この出力機構１２２は、比較機構１１８によって供給された、目標アドレス１２０と読み込まれたアドレス１１２又は後続アドレスとの間の比較結果１２６を用いて、一致信号１２４を供給するように構成されている。
【００２８】
アドレス１１２又は後続アドレスを目標アドレス１２０と比較することによって、プログラムカウンタ構造１０２が検査されるものとするとよい。なぜなら、アドレス１１２又は後続アドレスが、プログラムカウンタ構造１０２の種々のサブシステムによって正しく伝達されている場合には、プログラムカウンタ構造１０２が規定どおりに機能していることを想定することができるからである。
【００２９】
一般的に、提示された方法は、中断機構を設けるプログラミング可能なＩＣ１０４の中断操作の監視及び保護にも適している。
【００３０】
図２は、本発明の実施例に対応する、保護装置１００の図を示している。ある実施例では、読み込まれたアドレスと、全ての理論的に有効な、中断要求に属する目標アドレス又は後続目標アドレスとの、持続的な並行する比較が実行可能である。
【００３１】
別の実施例では、目標アドレス１２０と実際に加えられるアドレス１１２との比較の開始は、事前に中断要求が発生している場合にのみ行われる。対応する比較定数２０４を選択するために、それと共に、同時に実行される比較の数を低減するために、付加的に同一の信号及び／又は別の信号が使用されるものとするとよい。これは、電流消費に関して有利な実装であり得る。
【００３２】
単に例示的に、図２は後者の実施例を示しており、ここでは、装置１００は、目標アドレス１２０を作成する機構２００を有している。この作成機構２００内で、目標アドレス１２０が選択される。これは、中断要求の識別情報２０２を用いて行われる。これは同様に、マルチプレクサ２０６を制御する。このために、作成機構２００は、比較定数のためのメモリ２０４を有している。ある実施形態では、メモリ２０４は固定配線されている。目標アドレス１２０は、比較機構１１８に対して供給される。
【００３３】
さらに、装置１００は、別のマルチプレクサ２０８を有している。この別のマルチプレクサ２０８は、入力信号として、アドレス１１２、エラー値２１０を有しており、さらに、制御のためにトリガ信号２１２を有している。トリガ信号２１２は、例えば、アドレス１１２が本当に検査されるべき場合に、プログラムカウンタ構造１０２によって供給されるものとするとよい。トリガ信号２１２が別のマルチプレクサ２０８の入力を解除する場合に、これによって、検査されるべきアドレス１１２が比較機構１１８に対して供給される。そうでない場合には、エラー値２１０が供給され、このエラー値２１０は比較機構１１８において、確実に、誤った比較結果を生起させる。即ち、この実施例では、検査されるべきアドレス１１２が重要であり、さらに中断要求にも適合する場合にのみ、肯定的な比較結果が与えられるものとするとよい。
【００３４】
この際に、比較ロジック１００のエネルギー効率の良い実施では、例えば図１に示されたコンセプトの実装のために、識別情報２０２が使用されるものとするとよい。これは、対応する比較定数２０４を選択するために、最後に受け取られた中断要求を識別する。この比較定数２０４は、各中断要求に対する目標アドレス又は後続目標アドレスの理論値を表している。例えば、プログラムカウンタモジュール内の有限状態機械によって作成されたトリガ信号２１２が、検査を開始させるために使用され得る。エラー値２１０は、アドレスを表しており、このアドレスは、理論的に可能な目標アドレス又は後続目標アドレスのセットの一部ではなく、例えばゼロである。
【００３５】
図３ａは、本発明の実施例に即したプロセッサシステム１０４の図を示している。このプロセッサシステム１０４は、実質的に、図１のプロセッサシステムに相当する。ここではプログラムカウンタ１０２は、プロセッサ３００の一部であり、特に、制御機構３５０の一部である。この制御機構３５０はプログラムカウンタ１０２の他に、少なくとも有限オートマン３０２を有している。
【００３６】
割り込みコントローラとも称される中断制御機構１０８、メモリ１１０及び保護装置１００は、プロセッサコア３００外に配置されている。この実施例では、この装置は、アドレス比較を実行するように構成されている。
【００３７】
外部モジュール３０８は、中断要求１０６を中断制御機構１０８へ供給し、任意選択的に、中断制御機構１０８から受信確認３０７と処理信号３１９も受信するように構成されている。中断制御機構１０８は、開始信号３１０とアドレス１１２とを有限オートマン３０２に供給し、中断コード３１２をプロセッサ３００から受信するように構成されている。プログラムカウンタ１０２は、信号を有限オートマン３０２から受信し、アドレス３５２をメモリ１１０及び装置１００へ供給するように構成されている。このアドレス３５２は例えば、割り込みベクトルの意味でのアドレスベクトル又はこれが格納されているアドレスであってもよい。装置１００は、このアドレス３５２を目標アドレスと比較し、この比較に関連して一致信号１２４を中断要求監視ユニット３２４へ供給するように構成されている。中断要求監視ユニット３２４は、一致信号１２４の他に、中断制御機構１０８から、中断要求モニタリング信号３５４及び処理モニタリング信号３５６を受信するように構成されている。
【００３８】
図３ａには、制御機構３５０を有するプロセッサ３００及び制御機構３５０の一部としてのプログラムカウンタ１０２の図が示されている。
【００３９】
中断コード３１２は、同じ性質でなくてもよい処理モニタリング信号３５６及び処理信号３１９を生成するために、中断制御ユニット１０８によって使用されるものとするとよい。
【００４０】
中断コード３１２はここでは、例えば中断要求の処理の監視のために中断ルーチンの処理の成功を確認するために使用されるものとするとよい。中断コード３１２は、ここではハードウェアによって、例えばプログラムカウンタ１０２によって作成されてもよく、又は、選択的に、ソフトウェアベースで、例えば、中断ルーチンの終端のポートを介した対応するデータの出力を介して作成されてもよい。
【００４１】
外部モジュールに伝達される受信確認３０７及び処理信号３１９は、基本的には任意選択的であり、監視ユニットに供給される対応する信号のように同じ性質でなくてもよい。例えば、処理信号３１９を、中断コード信号３１２をベースに作成してもよいが、中断コード３１２が直に使用されてもよい。
【００４２】
比較又は検査に使用可能な、あり得るアドレス、目標アドレス又は後続目標アドレスは、明示されていない。
【００４３】
アドレス比較１００は必ずしも、プロセッサの内部信号を頼りにしているのではないので、これは基本的には、既存のプロセッサの監視の拡張のためにも使用可能である。
【００４４】
プログラムカウンタ１０２がどのように実装されているのかは、記載されたアプローチにとっては重要でない。プログラムカウンタの、監視可能な構造の割り当て分のみが、プログラムカウンタの実装に応じて変えられ得る。従って、以降で、図３ｂに基づいて示される構成は、単に例示的なものであると理解されたい。
【００４５】
図３ｂは、本発明の実施例に即した、プロセッサシステム１０４の単に例示的な図を示している。このプロセッサシステム１０４は実質的に、図３ａのプロセッサシステムに対応している。ここでも、プログラムカウンタ構造１０２は、プロセッサコア３００の一部である。プログラムカウンタ構造１０２は少なくとも加算器構造３０４と、マルチプレクサ３０５と、プログラムカウンタレジスタ３０６とから成る。
【００４６】
中断制御機構１０８、メモリ１１０及び保護装置１００は、プロセッサコア３００外に配置されている。
【００４７】
中断要求１０６が要求作成モジュール３０８から中断制御機構１０８に送信されると、この中断要求１０６は、中断制御機構１０８によって区分けされ、その優先度に対応して処理される。中断のトリガ時には、中断制御機構１０８は開始信号３１０を有限オートマン３０２に送信し、任意選択的に、受信確認３０７も作成モジュール３０８に送信する。さらに、中断制御機構１０８から、アドレスが、有限オートマン３０２に出力される。この有限オートマン３０２は、このアドレスを次に、プログラムカウンタレジスタ３０６に供給する。中断の処理の開始時に、マルチプレクサ３０５によって、有限オートマン３０２によって制御されて、アドレス１１２が選択されて、対応するアドレスがプログラムカウンタレジスタ３０６内に記入される。これによってプログラムカウンタレジスタ３０６によって、メモリ１１０のアドレス３５２が駆動制御される。メモリ１１０内のアドレス３５２には、例えば、割り込みベクトル、中断ルーチンの最初の命令のアドレス、又は、ルーチン自体も格納されているものとするとよい。
【００４８】
メモリ１１０とプログラムカウンタ３０６との間で、アドレス３５２は保護装置１００によってタップされる。
【００４９】
中断要求の処理は、アドレス３５２において、例えば、ルーチン自体の最初の命令に飛ぶことによって、又は、既に直接的に、ルーチンの実行によって始まる。中断ルーチンの終了時又は終了後に、最終的に、中断コード３１２によって、処理の成功が、中断制御機構に伝達される。このコードに基づいて、次に、中断ルーチンの処理の成功が、監視ユニット３２４に、及び、任意選択的に作成モジュール３０８にも、伝達される。
【００５０】
計算ユニット３１８は、演算装置を含んでいてよく、さらに類似の、典型的にはプロセッサにおいて使用されるモジュールを含んでいるものとするとよい。
【００５１】
ある実施例では、プログラムカウンタレジスタ３０６内にあるこのアドレス１１２が再度、加算器構造３０４に供給される。このアドレス１１２に基づいて、後続アドレスが作成される。アドレス１１２は、後続アドレスを作成するために、例えば＋１だけ増分される。上述した、＋１だけの増分は、例示的に選択されたに過ぎない。後続アドレスは、次に再び、プログラムカウンタレジスタ３０６内に書き込まれ、次に、メモリ１１０に加えられる。
【００５２】
メモリ１１０とプログラムカウンタ３０６との間で、これによって、後続アドレスが、保護装置１００によってタップされる。保護装置１００内では次に、一致信号１２４が、さらに、後続目標アドレスと後続アドレスの比較を用いて求められる。
【００５３】
本願で提示されたアプローチでは、プロセッサ３００の重大な部分が、監視される構造に加えられ、これによって、中断要求の監視の適用範囲が大きくなる。ここでは、プロセッサ３００への中断要求１０６の正しい転送に対して付加的に、中断要求１０６の処理の一部が、プロセッサ３００によって検査される。
【００５４】
従って、有限オートマン３０２並びに加算器構造３０４、マルチプレクサ３０５及びプログラムカウンタレジスタ３０６が監視される。
【００５５】
中断要求モニタリング信号３５４、処理モニタリング信号３５６及び一致信号１２４は、中断要求監視ユニット３２４において評価されるものとするとよく、これによって、中断要求の処理が監視される。ここでは、優先度、種々の要求の処理の順番、及び、要求の処理の際の正しいシーケンス自体が監視可能である。
【００５６】
換言すれば、図３ｂには、プログラムカウンタモジュール１０２の部分の付加的な監視を伴う中断監視のためのコンセプトの簡略化された図が示されている。
【００５７】
従って、比較的少ないハードウェアコストで、重複及び照合無しに、例えば一時的な、不変の、優先度エラー等が、割り込みの処理の際に発生しているか否かを監視することができる。
【００５８】
制御機構の一部として、典型的には、プログラムフローと種々の命令タイプの処理とを制御する有限オートマン３０２が設けられている。この有限オートマン３０２は、ここで特に、中断要求１０６が存在する場合の正しいフローに対する責任を負う。中断要求１０６が存在している場合には、中断が行われるであろう次の可能な時点で、中断要求１０６に属するアドレス１１２が、例えば割り込みベクトルテーブルのアドレス領域において作成され、この箇所に加えられたデータが読まれる。このデータは同様に、例えば、割り込みベクトル、中断ルーチン自体が格納されているアドレスであるものとするとよい。割り込みベクトルテーブルは、ここでは、種々の形式で、メモリ、例えばＲＯＭ又はＲＡＭによって格納されているものとするとよい。
【００５９】
理論的にこの中断に属している目標アドレスとの比較による、割り込みベクトルテーブルのアドレス領域内のアドレス１１２のリクエストの検査は、次のことのために使用される。即ち、通常のプログラムフローの元来の中断、それと共に、プログラムカウンタ１０２内の有限オートマン３０２の一部、並びに、正しいアドレスの作成及びメモリ１１０への印加、ひいては中断要求１０６に適した中断ルーチンの開始を検査するために使用される。
【００６０】
本願で提示されたアプローチは、さらに、これを超える保護を表している。割り込みベクトルテーブルが、プログラムカウンタ１０２によってアドレッシングされた、例えばクロック制御されるメモリ１１０内に存在している場合には、典型的には、パイプラインを有するプロセッサ３００の場合と同様に、これに続く後続アドレスが付加的にメモリに加えられてもよく、又は、これに続く後続アドレスのみがメモリに加えられてもよい。このようにして、付加的に、プログラムカウンタレジスタの増分に使用された、プログラムカウンタ１０２内の加算器構造３０４が検査可能であり、さらに、プログラムカウンタレジスタ３０６自体が、正しい、相違するデータでの２回の上書きの成功によって検査され、さらに、プログラムカウンタレジスタ３０６の増分が行われたことに基づいて、プログラムフローを制御する有限オートマン３０２の別の部分が検査され、及び、プログラムカウンタレジスタ３０６の入力を選択するマルチプレクサ３０５が検査される。マルチプレクサは、先ずは、アドレス１１２への正しい切り換えによって検査され、次に、加算器出口又は後続アドレスへの正しい切り換えによって検査される。
【００６１】
後続アドレスは、実施の範囲では、例えばプログラムカウンタのリニア又はグレイのようにカウント形式に関連せずに、論理的に後続するアドレスを表している。後者は、提案されたコンセプトへの影響を有していない。なぜなら、各対応する目標アドレスは、常に既知だからである。
【００６２】
図４は、本発明の実施例に即した、中断要求の際にプロセッサシステムのプログラムカウンタ構造を保護する方法４００のフローチャートを示している。この方法は、例えば図１〜３に示されている装置上で実施可能である。このプロセッサシステムは、少なくとも、プログラムカウンタ構造と、中断制御機構と、メモリとを有している。中断制御機構は、中断要求に応答して、中断要求に属するアドレスをプログラムカウンタ構造へ供給するように構成されている。プログラムカウンタ構造は、メモリインタフェースを介してメモリに対してアドレスを出力するように構成されている。この方法４００は、読み込みのステップ４０２と、比較のステップ４０６と、供給のステップ４０８とを有している。読み込みのステップ４０２では、アドレスがメモリインタフェースから読み込まれる。比較のステップ４０６では、このアドレスが、中断要求に割り当てられている目標アドレスと比較され、これによって比較結果が得られる。供給のステップ４０８では、この比較結果を用いて、一致信号が供給される。
【００６３】
換言すれば、中断要求の発生時におけるプログラムカウンタ構造の監視が提示される。これはさらに、プログラムカウンタ構造の保護を伴った中断要求の処理の監視にも使用され得る。
【００６４】
図５は、本発明の実施例に即した中断ルーチンの保護の際の、信号５００、５０２、５０４の時間的経過の図を例示的な実施手法として示している。第１の信号５００は、クロック信号である。例示的に、立ち上がり信号エッジを伴うパルシングが、順次連続する６つのクロックパルスに対して示されている。信号５０４は、プログラムカウンタレジスタ３０６の内容を表している。クロックパルス２において、アドレスｎ及びｎ−１での命令の読み込みの後に処理され得る中断要求５０２が位置していることが想定されると、クロックパルス３において既に、プログラムカウンタレジスタが、例えば割り込みベクトル３１６のアドレス１２２で書き込まれる。割り込みベクトルのこのアドレスは、この実施例では、メモリに加えられ、アドレス比較１００によって検査されるアドレスでもある。これによって、対応する中断ルーチンの開始の成功が監視可能である。
【００６５】
クロックパルス４においても後続アドレス３２２がメモリに加えられるようにプログラムカウンタモジュールが設計されている場合、これが付加的に検査されてもよく、又は、これだけが検査されてもよく、それと共に、プログラムカウンタ構造の大部分が監視される。
【００６６】
最後にクロックパルス５において、割り込みベクトル３１６ひいては監視ルーチンの最初の命令のアドレスが、プログラムカウンタレジスタ内に記入され、メモリに加えられ、ルーチンの処理自体で開始される。
【００６７】
換言すれば、図５は、中断ルーチンの開始の際のフローを明確にするための例示的なタイミングダイヤグラムを示している。中断要求１０６の発生時には、その処理がプロセッサによって開始される。次に、アドレス１２２及び３２２が加えられる。これらのアドレスは、中断検査のために利用可能である。
【００６８】
実施例が、「及び／又は」による結合を第１の特徴と第２の特徴との間に含んでいる場合、これは次のように読まれるべきである。即ち、この実施例が、ある実施形態では、第１の特徴も第２の特徴も有しており、別の実施形態では、第１の特徴だけ又は第２の特徴だけを有していると読まれるべきである。
【図１】
2018525712.tif 000003
【図２】
2018525712.tif 000004
【図３Ａ】
2018525712.tif 000005
【図３Ｂ】
2018525712.tif 000006
【図４】
2018525712.tif 000007
【図５】
2018525712.tif 000008
【手続補正書】
【提出日】平成30年4月16日(2018.4.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する方法（４００）であって、
前記プロセッサシステム（１０４）は、少なくとも、プログラムカウンタ構造（１０２）と、中断制御機構（１０８）と、メモリ（１１０）とを含んでおり、
前記中断制御機構（１０８）は、前記中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、メモリインタフェース（１１４）を介して前記メモリ（１１０）に対してアドレスを出力するように構成されており、
前記方法（４００）は、
前記メモリインタフェース（１１４）からアドレス（３５２）を読み込むステップ（４０２）と、
比較結果（１２６）を得るために、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と前記アドレス（３５２）とを比較するステップ（４０６）と、
前記比較結果（１２６）を用いて、一致信号（１２４）を供給するステップ（４０８）と、
を有している、
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する方法（４００）。
【請求項２】
前記一致信号（１２４）を用いて、前記中断要求の前記処理の開始の成功を伝達するステップを有している、請求項１に記載の方法（４００）。
【請求項３】
前記プログラムカウンタ構造（１０２）は、前記アドレス（３５２）に論理的に後続する後続アドレスを前記メモリインタフェース（１１４）に供給するように構成されており、
前記読み込みステップ（４０２）では、さらに、前記後続アドレスが読み込まれ、前記比較ステップ（４０６）では、前記比較結果（１２６）を得るために、前記目標アドレス（１２０）に論理的に後続する後続目標アドレスと前記後続アドレスとを比較する、請求項１又は２に記載の方法（４００）。
【請求項４】
中断要求（１０６）の処理を監視する方法であって、
請求項１乃至３のいずれか一項に記載の、プログラムカウンタ構造（１０２）を保護する方法のステップ（４０２，４０６，４０８）を実施するステップと、
前記一致信号（１２４）を用いて、前記中断要求（１０６）の前記処理を監視するステップと、
を有している、
中断要求（１０６）の処理を監視する方法。
【請求項５】
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する装置（１００）であって、
前記プロセッサシステム（１０４）は、少なくとも、プログラムカウンタ構造（１０２）と、中断制御機構（１０８）と、メモリ（１１０）とを含んでおり、
前記中断制御機構（１０８）は、前記中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、前記メモリ（１１０）に対するメモリインタフェース（１１４）へ、アドレス（３５２）を出力するように構成されており、
前記装置（１００）は、
前記メモリインタフェース（１１４）からアドレス（３５２）を読み込むインタフェース（１１６）と、
比較結果（１２６）を得るために、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と前記アドレス（３５２）とを比較する比較機構（１１８）と、
前記比較結果（１２６）を用いて、一致信号（１２４）を供給する出力機構（１２２）と、
を備えていることを特徴とする、
中断要求（１０６）の際にプロセッサシステム（１０４）のプログラムカウンタ構造（１０２）を保護する装置（１００）。
【請求項６】
プロセッサシステム（１０４）であって、
前記プロセッサシステム（１０４）は、少なくとも、中断制御機構（１０８）と、プログラムカウンタ構造（１０２）と、メモリ（１１０）と、請求項５に記載された、前記プログラムカウンタ構造（１０２）を保護する装置（１００）とを含んでおり、
前記中断制御機構（１０８）は、中断要求（１０６）に応答して、前記中断要求（１０６）に属するアドレス（１１２）を前記プログラムカウンタ構造（１０２）へ供給するように構成されており、
前記プログラムカウンタ構造（１０２）は、前記メモリ（１１０）に対するメモリインタフェース（１１４）へ、アドレス（３５２）を出力するように構成されており、
前記装置（１００）は、
前記メモリインタフェース（１１４）から前記アドレス（３５２）を読み込み、前記中断要求（１０６）に割り当てられている目標アドレス（１２０）と当該アドレス（３５２）とを比較し、当該比較の比較結果（１２６）を用いて、一致信号（１２４）を供給するように構成されている、
プロセッサシステム（１０４）。
【請求項７】
前記プログラムカウンタ構造（１０２）は、プロセッサコア（３００）の一部であり、当該プロセッサコア（３００）は、前記プログラムカウンタ構造（１０２）の他に、少なくとも電子計算機構（３１８）を含んでいる、請求項６に記載のプロセッサシステム（１０４）。
【請求項８】
集積回路として実現されている、請求項７に記載のプロセッサシステム（１０４）。
【請求項９】
コンピュータ又は装置上で実行されるときに、請求項１乃至４のいずれか一項に記載の方法を実施するために構成されている、
コンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムが格納されている、
機械可読記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
この際に、比較ロジック１１８のエネルギー効率の良い実施では、例えば図１に示されたコンセプトの実装のために、識別情報２０２が使用されるものとするとよい。これは、対応する比較定数２０４を選択するために、最後に受け取られた中断要求を識別する。この比較定数２０４は、各中断要求に対する目標アドレス又は後続目標アドレスの理論値を表している。例えば、プログラムカウンタモジュール内の有限状態機械によって作成されたトリガ信号２１２が、検査を開始させるために使用され得る。エラー値２１０は、アドレスを表しており、このアドレスは、理論的に可能な目標アドレス又は後続目標アドレスのセットの一部ではなく、例えばゼロである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
中断コード３１２は、同じ性質でなくてもよい処理モニタリング信号３５６及び処理信号３１９を生成するために、中断制御機構１０８によって使用されるものとするとよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
アドレス比較１１８は必ずしも、プロセッサの内部信号を頼りにしているのではないので、これは基本的には、既存のプロセッサの監視の拡張のためにも使用可能である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
最後にクロックパルス５において、割り込みベクトル３１６ひいては中断ルーチンの最初の命令のアドレスが、プログラムカウンタレジスタ内に記入され、メモリに加えられ、ルーチンの処理自体で開始される。
【国際調査報告】
2018525712.tif 000009
2018525712.tif 000010
2018525712.tif 000011
2018525712.tif 000012