【手続補正書】
【提出日】平成17年6月17日(2005.6.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
主プログラム（Ｐ１）と二次プログラム（Ｐ２）とを含む主メモリ（６）と、
第一の作業メモリ（５１）と、
第二の作業メモリ（５２）と、
前記作業メモリ（５１，５２）の少なくとも１つからの命令を実行するプロセッサ（１）と、
前記プロセッサ（１）を第１と第２の作業メモリ（５１，５２）と主メモリ（６）に接続する第１の接続手段（３）と、
前記プロセッサ（１）へ割り込みを供給する、ランダム又は擬似ランダム信号発生器（２）に結合された割り込み発生器手段（４）とを有し、
第１の接続手段（３）は更に、前記プロセッサ（１）を予測不可能にする切替手段へプロセッサ（１）を接続し、前記切替手段は、プロセッサ（１）と切替手段間に設けられた第２の接続手段（５３３）を通して、２つの作業メモリの内容を保持しながら、２の作業メモリ（５１，５２）の１つから他の作業メモリへ、プログラムが実行されながら、予測不可能に飛び移るために割り込み発生器手段（４）から発生された信号を受信し、前記切替手段は、
各メモリ（５１，５２，６）に結合されたアドレス及びアクセスレジスタ（Ａ１、Ａ２、Ａ３、Ｄ１、Ｄ２、Ｄ３）と、
少なくとも主メモリ（６）のプログラムの動作コンテキストを記憶する手段（５４、５５）と、
少なくとも一方の作業メモリと各メモリ（５１、５２、６）に結合されかつ前記切替回路（５３）によって制御されるアクセスレジスタ（Ａ２、Ａ３、Ｄ１、Ｄ２、Ｄ３）とを使用可能にする切替回路（５３）とを含む、予測不可能な集積回路。
【請求項２】
前記第１の接続手段（３）はバスであり、前記切替手段は主プログラム（Ｐ１）の動作コンテキストを記憶する第一のレジスタブロック（５４）と、二次プログラム（Ｐ２）の動作コンテキストを記憶する第二のレジスタブロック（５５）を含むことを特徴とする請求項１に記載の予測不可能な集積回路。
【請求項３】
動作コンテキストが、それぞれ第一のブロック（５４）についてはＰＣ１、第二のブロック（５５）についてはＰＣ２であるプログラムカウンタと、それぞれ命令復号レジスタ（Ｄ１、Ｄ２）と、マシンサイクルなどの動作パラメータを格納する他のレジスタ（Ｔ１．１、Ｔ１．２）とそれぞれ（Ｔ２．１、Ｔ２．２）とによって構成されることを特徴とする請求項１または請求項２に記載の予測不可能な集積回路。
【請求項４】
プログラムの実行を等時クロックに対してランダムとするバス（３）に接続された手段（Ｒ１、Ｒ２、Ｒ３）をさらに含むことを特徴とする請求項２または請求項３に記載の予測不可能な集積回路。
【請求項５】
作業メモリ（５１、５２）と、各作業メモリ（５１、５２）にそれぞれ結合されかつ、主メモリ中のプログラムの動作コンテキストおよび二次プログラムの動作コンテキストをそれぞれ記憶する記憶レジスタブロック（５４、５５）を切り替えかつ使用可能にする回路（５３）をロードすることによって、主プログラム（Ｐ１）が切替手段を使用可能にするかまたは抑止することができることを特徴とする請求項２から請求項４のいずれか一項に記載の予測不可能な集積回路。
【請求項６】
切替回路（５３）が第１の段階の間に二つの作業メモリ（５１、５２）の使用を可能にするデータをロードされ、第２の段階で二つの作業メモリのうちの二者択一的な一つの使用を可能にするデータをロードされることを特徴とする請求項１から請求項５のいずれか一項に記載の予測不可能な集積回路。
【請求項７】
主プログラムによって利用される際に、第一の作業メモリ（５１）およびそのアクセスレジスタ（Ａ２、Ｄ２）の代わりに第二の作業メモリ（５２）およびそのアクセスレジスタ（Ａ３、Ｄ３）が使用されることを特徴とする請求項１から請求項６のいずれか一項に記載の予測不可能な集積回路。
【請求項８】
ランダムとする手段が、二次プログラム（Ｐ２）にランダムに飛び移ることによって、プロセッサ中のプログラムの実行を脱同期させるためにランダム割込みを、割込み回路（４）を介してトリガする乱数発生器（２）を含むことを特徴とする請求項４に記載の予測不可能な集積回路。
【請求項９】
ランダムとする手段が、時間カウント後に、二次プログラムから主プログラムに復帰するために割込みをトリガする、プロセッサ（１）から独立した時間カウントシステム（Ｒ３）を含むことを特徴とする請求項５または請求項８に記載の予測不可能な集積回路。
【請求項１０】
作業メモリを切り替える手段（５３、５４、５５、Ａ２、Ａ３、Ｄ２、Ｄ３）が、プロセッサ（１）およびそのプログラムか、ランダム割込みシステム（２、４）か、タイマ（Ｒ３）か、またはこれら三つの指定された要素のうちの少なくとも二つの要素の任意の組合せによって制御されることを特徴とする請求項５か請求項８か請求項９に記載の予測不可能な集積回路。
【請求項１１】
作業メモリを切り替える手段（５３、５４、５５、Ａ２、Ａ３、Ｄ２、Ｄ３）が、主プログラムのシーケンスを実行するプロセッサ（１）によってロードされることによって使用可能になることを特徴とする請求項１から請求項１０のいずれか一項に記載の予測不可能な集積回路。
【請求項１２】
第二のプログラム（Ｐ２）が主メモリ（６）中の主プログラム（Ｐ１）の作業領域と同じ作業領域を使用することを特徴とする請求項１から請求項１１のいずれか一項に記載の予測不可能な集積回路。
【請求項１３】
第二のプログラム（Ｐ２）が主プログラム（Ｐ１）の作業領域より小さい作業領域を使用することを特徴とする請求項１から請求項１１のいずれか一項に記載の予測不可能な集積回路。
【請求項１４】
切替手段が、プロセッサ（１）からの命令の実行サイクル中にメモリ（５１、５２、５４、５５、Ａ２、Ａ３、Ｄ２、Ｄ３）およびそれに関連するコンテキストの置換を実行することを特徴とする請求項１から請求項１３のいずれか一項に記載の予測不可能な集積回路。
【請求項１５】
二次プログラム（Ｐ２）が主プログラム（Ｐ１）の一般動作コンテキストを修正せず、それにより前記コンテキストを回復する必要なしに主プログラム（Ｐ１）の復帰を可能にすることを特徴とする請求項１から請求項１４のいずれか一項に記載の予測不可能な集積回路。
【請求項１６】
主プログラム（Ｐ１）のコンテキストの回復が二次プログラム（Ｐ２）の実行の時間か、制御権を主プログラム（Ｐ１）に戻す前に切替手段（５３）によりなされる切り替えのいずれかに依存することを特徴とする請求項１５に記載の予測不可能な集積回路。
【請求項１７】
二次プログラム（Ｐ２）が、二次プログラムを構成する主プログラム（ＰＣ１）の部分の開始アドレスをランダムに決定することによる、主プログラム（Ｐ１）の前記部分であることを特徴とする請求項１５または請求項１６に記載の予測不可能な集積回路。
【請求項１８】
主プログラム（Ｐ１）のメモリを二次プログラム（Ｐ２）のメモリ領域で置換する手段をさらに含むことを特徴とする請求項１から請求項１６のいずれか一項に記載の予測不可能な集積回路。
【請求項１９】
主プログラム（Ｐ１）が第一の作業メモリ（５１）および／または第二の作業メモリ（５２）を交互にまたは同時に使用することができることを特徴とする請求項１から請求項１８のいずれか一項に記載の予測不可能な集積回路。
【請求項２０】
切替回路（５３）へデータをロードすることにより相関解除割込みのマスクまたはマスク解除が可能になることを特徴とする請求項５に記載の予測不可能な集積回路。