(57)【要約】【課題】  複数のプロセスで同一メモリを使用する場合、書き込みを行ったプロセスではない他プロセスによってメモリに保持されている内容の読み出しが可能であり、機密性が低下する。【解決手段】  何れのプロセス０１がメモリに書き込みを行ったかを状態保持部１１に記憶し、メモリの内容を読み出そうとしているプロセスにより書き込みが行われたデータであるか、否かにより、メモリに保持されているデータにマスク機構１２によって演算を施すことで機密性を高める。【選択図】      図１
2005032020.tif 000002
【特許請求の範囲】
【請求項１】
アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、
一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、
前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構と
を備えた記憶装置。
【請求項２】
書き込みアドレスの書き込み状態を保持している状態保持部の値にかかわらず、記憶装置外部からの強制許可信号により前記マスク機構を制御可能とする、前記状態保持部と前記マスク機構の間に前記強制許可信号により制御される演算器を設けた
請求項１に記載の記憶装置。
【請求項３】
前記状態保持部の一括状態変更信号の入力に、記憶装置外部からの複数の一括状態変更信号を演算する信号の演算器を設けて、前記状態保持部の保持値を変更可能に構成した
請求項１に記載の記憶装置。
【請求項４】
状態保持部は、
第１の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第１の状態保持部と、
第２の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第２の状態保持部と、
前記第１，第２の状態保持部の出力を演算する演算器と
を備え、前記マスク機構では前記保持データバスからの出力を前記演算器の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御する
請求項１に記載の記憶装置。
【請求項５】
前記マスク機構は、
前記保持データバスからの出力を前記状態保持部の出力より演算を実行する第１の演算器群と、
前記保持データバスからの出力を前記状態保持部の出力により前記第１の演算器群とは異なる演算を実行する第２の演算器群と、
前記第１の演算器群の出力と前記第２の演算器群の出力を「許可状態」と「不許可状態」を指定する演算器選択信号に応じて選択して読み出しデータとして出力するセレクタと
を備えた請求項１に記載の記憶装置。
【請求項６】
前記データ保持部への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構を備え、前記アクセスアドレス一致検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成した
請求項１に記載の記憶装置。
【請求項７】
前記データ保持部への特定アクセスパターンを検出する特定シーケンス検出機構を備え、前記特定シーケンス検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成した
請求項１に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおける複数のプロセス間での機密性を持った記憶装置に関する。
【背景技術】
【０００２】
従来の記憶装置では、（特許文献１）に見られるように、書き換え可能な読み出し専用記憶装置に関して読み出しを制限している。
【特許文献１】特表平８−５０３０９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の記憶装置では読み出し専用記憶装置に関するものであり、記憶領域への書き込みを行ったことによる読み出し許可を与えるだけでは、複数のプロセスにより共有される読み出し書き込み可能な記憶装置の記憶内容の機密性を保つことが出来ない。
【０００４】
本発明は、リセット前の処理により保存された情報をリセット後の処理により読み出すことができない、リセット前の処理の機密性を高めることが可能な記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１記載の記憶装置は、アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構とを備えたことを特徴とする。
【０００６】
本発明の請求項２記載の記憶装置は、請求項１において、書き込みアドレスの書き込み状態を保持している状態保持部の値を記憶装置外部からの強制許可信号により一括して変更可能に、前記状態保持部と前記マスク機構の間に前記強制許可信号により制御される演算器を設けたことを特徴とする。
【０００７】
本発明の請求項３記載の記憶装置は、請求項１において、前記状態保持部の一括状態変更信号の入力に、記憶装置外部からの複数の一括状態変更信号を演算する信号の演算器を設けて、前記状態保持部の保持値を変更可能に構成したことを特徴とする。
【０００８】
本発明の請求項４記載の記憶装置は、請求項１において、前記状態保持部は、第１の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第１の状態保持部と、第２の一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する第２の状態保持部と、前記第１，第２の状態保持部の出力を演算する演算器とを備え、前記マスク機構では前記保持データバスからの出力を前記演算器の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御することを特徴とする。
【０００９】
本発明の請求項５記載の記憶装置は、請求項１において、前記マスク機構は、前記保持データバスからの出力を前記状態保持部の出力により演算を実行する第１の演算器群と、前記保持データバスからの出力を前記状態保持部の出力により前記第１の演算器群とは異なる演算を実行する第２の演算器群と、前記第１の演算器群の出力と前記第２の演算器群の出力を「許可状態」と「不許可状態」を指定する演算器選択信号に応じて選択して読み出しデータとして出力するセレクタとを備えたことを特徴とする。
【００１０】
本発明の請求項６記載の記憶装置は、請求項１において、前記データ保持部への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構を備え、前記アクセスアドレス一致検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成したことを特徴とする。
【００１１】
本発明の請求項７記載の記憶装置は、請求項１において、前記データ保持部への特定アクセスパターンを検出する特定シーケンス検出機構を備え、前記特定シーケンス検出機構の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成したことを特徴とする。
【発明の効果】
【００１２】
以上のように本発明の記憶装置によると、アクセスアドレスバスによって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保存されている値を保持データバスへ出力し、書き込み制御信号を有効にすることにより書き込みデータバスの値が前記アクセスアドレスバスで示されるアドレスの記憶領域に保存するデータ保持部と、一括状態変更信号を有効にすることで前記書き込み制御信号の有効、無効にかかわらず記憶領域に保持している値が「不許可状態」へ変化し、前記書き込み制御信号が有効である場合に前記アクセスアドレスバスによって与えられた値をアドレスとしてそのアドレスに対応した記憶領域に保持している値が「許可状態」へと変化する状態保持部と、前記保持データバスからの出力を前記状態保持部の出力により演算を実行して前記保持データバスに読み出された出力の機密性を制御するマスク機構とを備えているので、リセット前の処理により保存された情報をリセット後の処理により読み出すことは不可能であるため、リセット前の処理の機密性を高めることが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を各実施の形態に基づいて説明する。
【００１４】
（実施の形態１）
図１〜図６は本発明の（実施の形態１）を示す。
【００１５】
図１は（実施の形態１）の記憶装置を示す。
【００１６】
なお、図１にはこの記憶装置１を制御する処理装置０１も同時に示している。
【００１７】
処理装置０１はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス１３、書き込み制御信号１４、アクセスアドレスバス１５、一括状態変更信号１６および読み出しデータバス１７を用いて、記憶装置１に対して情報を保存、読み出しを行う。制御装置０１はリセット時に一括状態信号１６を有効にする。
【００１８】
記憶装置１は、データ保持部１０、状態保持部１１およびマスク機構１２から構成される。マスク機構１２は論理積演算器群１２１から構成されている。
【００１９】
記憶装置１は、前記書き込みデータバス１３、書き込み制御信号１４、アクセスアドレスバス１５、一括状態変更信号１６を入力に持ち、また、読み出しデータバス１７を出力として持つ。
【００２０】
データ保持部１０は、書き込みデータバス１３、書き込み制御信号１４およびアクセスアドレスバス１５を入力に持ち、保持データバス１８を出力として持つ。
【００２１】
状態保持部１１は、一括状態変更信号１６、書き込み制御信号１４およびアクセスアドレスバス１５を入力に持ち、状態信号１９を出力として持つ。
【００２２】
マスク機構１２は、データ保持部１０の出力である保持データバス１８と状態保持部１１の出力である状態信号１９とを入力に持ち、読み出しデータバス１７を出力としてもつ。
【００２３】
論理積演算器群１２１は、マスク機構１２に入力される保持データバス１８と状態信号１９とを入力に持ち、読み出しデータバス１７に出力する。
【００２４】
データ保持部１０は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス１５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス１８へ出力する。また、データ保持部１０は書き込み制御信号１４を有効にすることにより書き込みデータバス１３の値が、アクセスアドレスバス１５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【００２５】
状態保持部１１は読み出し書き込み可能な記憶装置であり、データ保持部１０の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部１１は一括状態変更信号１６を有効にすることで、書き込み制御信号１４の有効、無効にかかわらず、一括して、状態保持部１１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号１４が有効である場合、アクセスアドレスバス１５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。
【００２６】
以下、状態保持部１１内の記憶領域に保持している値が「０」であることを不許可状態、また「１」であることを許可状態と呼ぶ。
【００２７】
マスク機構１２は、構成要素である論理積演算器群１２１により保持データバス１８の各ビットと状態信号１９との論理積演算が実施され、その演算結果を読み出しデータバス１７へ出力する。
【００２８】
図１の記憶装置を用いて、図２の処理シーケンスを実行した場合の動作を説明する。
【００２９】
図２は、前記処理装置０１により２０で示す処理Ａ、処理装置０１がリセット状態となるリセットシーケンス２１、２２で示す処理Ｂが順に実行されることを示している。
【００３０】
２０で示す処理Ａは、その処理内容が処理Ａ−０、アドレス０４へのライトである２００、処理Ａ−１、アドレス０４へのリードである２０１、処理Ａ−２を順に実行することを示している。
【００３１】
２２で示す処理Ｂは、その処理内容が処理Ｂ−０、アドレス０４へのリードである２２０、処理Ｂ−１、アドレス０４へのライトである２２１、処理Ｂ−２、アドレス０４のリードである２２２を順に実行することを示している。
【００３２】
処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１および処理Ｂ−２は、記憶装置１に対してアクセスを伴わない処理装置０１の処理を示している。
【００３３】
処理装置０１が起動直後である時のデータ保持部１０および状態保持部１１の内部状態を図３に示す。
【００３４】
データ保持部１０に保持されている値はすべて不定であり、また、状態保持部１１内に保持されている値は不許可状態である。
【００３５】
処理Ａである２０の処理過程の１つであるアドレス０４へのライトである２００の実行完了後のデータ保持部１０および状態保持部１１の内部状態を、図４に示す。
【００３６】
アドレス０４へのライトである２００の実行完了により、データ保持部１０のアドレス０４に対応する記憶領域に書き込みデータバス１３の値が保持されると同時に、状態保持部１１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【００３７】
処理Ａである２０の処理過程の１つであるアドレス０４へのリードである２０１の実行について説明する。
【００３８】
アドレス０４へのリードである２０１を実行時、データ保持部１０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである２００の実行により書き込まれた値が保持されているため、保持データバス１８にはアドレス０４へのライトである２００の実行により書き込まれた値が出力される。
【００３９】
また、状態保持部１１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１９には「１」が出力される。
【００４０】
よって、論理積演算器群１２１により読み出しデータバス１７には論理積演算結果として保持データバス１８と同一値が出力されることとなり、アドレス０４へのライトである２００の実行により書き込まれた値を読み出すことが可能である。
【００４１】
次に、リセットシーケンス２１の実行完了後のデータ保持部１０および状態保持部１１の内部状態を図５に示す。
【００４２】
リセットシーケンス２１では、処理装置０１によって一括状態信号１６が有効となることにより、記憶装置１においては、データ保持部１０には変化がないが、状態保持部１１の保持している値がすべて不許可状態「０」へと変化する。
【００４３】
次に、処理Ｂである２２の処理過程の１つであるアドレス０４へのリードである２２０の実行について説明する。
【００４４】
アドレス０４へのリードである２２０を実行時、データ保持部１０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである２００の実行により書き込まれた値が保持されているため、保持データバス１８にはアドレス０４へのライトである２００の実行により書き込まれた値が出力される。
【００４５】
しかしながら、リセットシーケンス２１の実行により、状態保持部１１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号１９には「０」が出力される。
【００４６】
よって、論理積演算器群１２１により読み出しデータバス１７には論理積演算結果として保持データバス１８と異なる値が出力されることとなり、アドレス０４へのライトである２００の実行により書き込まれた値を読み出すことは不可能となる。
【００４７】
次に、処理Ｂである２２の処理過程の１つであるアドレス０４へのライトである２２１の実行完了後のデータ保持部１０および状態保持部１１の内部状態を図６に示す。
【００４８】
アドレス０４へのライトである２２１の実行完了によりデータ保持部１０のアドレス０４に対応する記憶領域に書き込みデータバス１３の値が保持されると、これと同時に、状態保持部１１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【００４９】
これにより、データ保持部１０のアドレス０４に対応する記憶領域に保持される値は、処理Ａである２０の処理過程の１つであるアドレス０４へのライトである２００の実行により保持されていた値が破壊され、処理Ｂである２２の処理過程の１つであるアドレス０４へのライトである２２１の実行による値が保持されることになる。
【００５０】
次に、処理Ｂである２２の処理過程の１つであるアドレス０４へのリードである２２２の実行について説明する。
【００５１】
アドレス０４へのリードである２２２を実行時、データ保持部１０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである２２１の実行により書き込まれた値が保持されているため、保持データバス１８にはアドレス０４へのライトである２２１の実行により書き込まれた値が出力される。
【００５２】
また、状態保持部１１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１９には「１」が出力される。
【００５３】
よって、論理積演算器群１２１により読み出しデータバス１７には論理積演算結果として保持データバス１８と同一値が出力されることとなり、アドレス０４へのライトである２２１の実行により書き込まれた値を読み出すことが可能である。
【００５４】
以上のように本実施の形態による記憶装置では、リセット前の処理により保存された情報をリセット後の処理により読み出すことは不可能であるため、リセット前の処理の機密性を高めることが可能となる。
【００５５】
（実施の形態２）
図７〜図１３は本発明の（実施の形態２）を示す。
【００５６】
図７は（実施の形態２）の記憶装置を示す。
【００５７】
なお、図７にはこの記憶装置を制御する処理装置０３も同時に示している。また、（実施の形態２）では書き込みアドレスの書き込み状態を保持している状態保持部３１の値にかかわらず、記憶装置外部からの強制許可信号３９１によりマスク機構３２を制御可能とするために、例えば図７では、論理和演算器３９３が設けられている点が（実施の形態１）とは異なっている。
【００５８】
処理装置０３はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス３３、書き込み制御信号３４、アクセスアドレスバス３５、一括状態変更信号３６および読み出しデータバス３７を用いて記憶装置３に対して情報を保存、読み出しを行う。制御装置０３はリセット時に一括状態信号３６を有効にし、また、スーパーバイザモードで処理を実行時には強制許可信号３９１を有効にする。
【００５９】
記憶装置３は、データ保持部３０、状態保持部３１、マスク機構３２および論理和演算器３９３から構成される。マスク機構３２は論理積演算器群３２１から構成されている。
【００６０】
記憶装置３は、書き込みデータバス３３、書き込み制御信号３４、アクセスアドレスバス３５、一括状態変更信号３６および強制許可信号３９１を入力に持ち、また、読み出しデータバス３７を出力として持つ。
【００６１】
データ保持部３０は、書き込みデータバス３３、書き込み制御信号３４およびアクセスアドレスバス３５を入力に持ち、保持データバス３８を出力として持つ。
【００６２】
状態保持部３１は、一括状態変更信号３６、書き込み制御信号３４およびアクセスアドレスバス３５を入力に持ち、状態信号３９０を出力として持つ。
【００６３】
論理和演算器３９３は状態信号３９０と強制許可信号３９１を入力とし、マスク制御信号３９２を出力する。
【００６４】
マスク機構３２は、データ保持部３０の出力である保持データバス３８と論理和演算器の出力であるマスク信号３９２とを入力に持ち、読み出しデータバス３７を出力としてもつ。
【００６５】
論理積演算器群３２１は、マスク機構３２に入力される保持データバス３８とマスク信号３９２とを入力に持ち、読み出しデータバス３７に出力する。
【００６６】
データ保持部３０は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス３５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス３８へ出力する。また、書き込み制御信号３４を有効にすることにより書き込みデータバス３３の値が、アクセスアドレスバス３５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【００６７】
状態保持部３１は読み出し書き込み可能な記憶装置であり、データ保持部３０の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部３１は一括状態変更信号３６を有効にすることで、書き込み制御信号３４の有効、無効にかかわらず、一括して、状態保持部３１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号３４が有効である場合、アクセスアドレスバス３５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部３１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【００６８】
論理和演算器３９３は、状態信号３９０と強制許可信号３９１を入力として、論理和演算を実行しその出力をマスク制御信号３９２を出力する。
【００６９】
マスク機構３２は構成要素である論理積演算器群３２１により保持データバス３８の各ビットとマスク信号３９２との論理積演算が実施され、その演算結果を読み出しデータバス３７へ出力する。
【００７０】
図７の記憶装置を用いて、図８の処理シーケンスを実行した場合の動作を説明する。
【００７１】
図８は、処理装置０３により４０で示す処理Ａ、リセットシーケンス４１、処理Ｂである４２、リセットシーケンスである４３、スーパーバイザリード４４が順に実行されることを示している。
【００７２】
また、４０で示す処理Ａは、その処理内容が処理Ａ−０、アドレス０４へのライトである４００、処理Ａ−１、アドレス０４へのリードである４０１、処理Ａ−２を順に実行することを示している。
【００７３】
リセットシーケンス４１，４３では、処理装置０３がリセット状態となる事を示している。
【００７４】
４２で示す処理Ｂは、その処理内容が処理Ｂ−０、アドレス０４へのリードである４２０、処理Ｂ−１、アドレス０４へのライトである４２１、処理Ｂ−２、アドレス０４のリードである４２２を順に実行することを示している。
【００７５】
スーパーバイザリード４４では、処理装置０３はスーパーバイザモードでアドレス０４へリードを実行することを示している。
【００７６】
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１および処理Ｂ−２は、記憶装置３に対してアクセスを伴わない処理装置０３の処理を示している。
【００７７】
処理装置０３が起動直後である時のデータ保持部３０および状態保持部３１の内部状態を図９に示す。
【００７８】
データ保持部３０に保持されている値はすべて不定であり、また、状態保持部３１内に保持されている値は不許可状態である。
【００７９】
次に、処理Ａである４０の処理過程の１つであるアドレス０４へのライトである４００の実行完了後のデータ保持部３０および状態保持部３１の内部状態を図１０に示す。
【００８０】
アドレス０４へのライトである４００の実行完了によりデータ保持部３０のアドレス０４に対応する記憶領域に書き込みデータバス３３の値が保持されると同時に、状態保持部３１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【００８１】
次に、処理Ａである４０の処理過程の１つであるアドレス０４へのリードである４０１の実行について説明する。
【００８２】
アドレス０４へのリードである４０１を実行時、データ保持部３０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである４００の実行により書き込まれた値が保持されているため、保持データバス３８にはアドレス０４へのライトである４００の実行により書き込まれた値が出力される。
【００８３】
また、状態保持部３１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されており、またユーザモードでの処理であることから強制許可信号３９１は無効を示す「０」である。これにより、マスク制御信号３９２には「１」が出力される。
【００８４】
よって、論理積演算器群３２１により読み出しデータバス３７には論理積演算結果として保持データバス３８と同一値が出力されることとなり、アドレス０４へのライトである４００の実行により書き込まれた値を読み出すことが可能である。
【００８５】
次に、リセットシーケンスである４１実行完了後のデータ保持部３０および状態保持部３１の内部状態を図１１に示す。
【００８６】
リセットシーケンスでは処理装置０３によって一括状態信号３６が有効となることにより、記憶装置３においては、データ保持部３０には変化がないが、状態保持部３１の保持している値がすべて不許可状態「０」へと変化する。
【００８７】
次に、処理Ｂである４２の処理過程の１つであるアドレス０４へのリードである４２０の実行について説明する。
【００８８】
アドレス０４へのリードである４２０を実行時、データ保持部３０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである４００の実行により書き込まれた値が保持されているため、保持データバス３８にはアドレス０４へのライトである４００の実行により書き込まれた値が出力される。
【００８９】
しかしながら、リセットシーケンス４１の実行により、状態保持部３１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されており、またユーザモードでの処理であることから強制許可信号３９１は無効を示す「０」である。よって、マスク制御信号３９２には「０」が出力される。
【００９０】
よって、論理積演算器群３２１により読み出しデータバス３７には論理積演算結果として保持データバス３８と異なる値が出力されることとなり、アドレス０４へのライトである４００の実行により書き込まれた値を読み出すことは不可能となる。
【００９１】
次に、処理Ｂである４２の処理過程の１つであるアドレス０４へのライトである４２１の実行完了後のデータ保持部３０および状態保持部３１の内部状態を図１２に示す。
【００９２】
アドレス０４へのライトである４２１の実行完了によりデータ保持部３０のアドレス０４に対応する記憶領域に書き込みデータバス３３の値が保持されると同時に、状態保持部３１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【００９３】
これにより、データ保持部３０のアドレス０４に対応する記憶領域に保持される値は、処理Ａである４０の処理過程の１つであるアドレス０４へのライトである４００の実行により保持されていた値が破壊され、処理Ｂである４２の処理過程の１つであるアドレス０４へのライトである４２１の実行による値が保持されることになる。
【００９４】
次に、処理Ｂである４２の処理過程の１つであるアドレス０４へのリードである４２２の実行について説明する。
【００９５】
アドレス０４へのリードである４２２を実行時、データ保持部３０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである４２１の実行により書き込まれた値が保持されているため、保持データバス３８にはアドレス０４へのライトである４２１の実行により書き込まれた値が出力される。
【００９６】
また、状態保持部３１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、マスク制御信号３９２には「１」が出力される。
【００９７】
よって、論理積演算器群３２１により読み出しデータバス３７には論理積演算結果として保持データバス３８と同一値が出力されることとなり、アドレス０４へのライトである４２１の実行により書き込まれた値を読み出すことが可能である。
【００９８】
次に、リセットシーケンス４３の実行完了後のデータ保持部３０および状態保持部３１の内部状態を図１３に示す。
【００９９】
リセットシーケンスでは処理装置０３によって一括状態信号３６が有効となることにより、記憶装置３においては、データ保持部３０には変化がないが、状態保持部３１の保持している値がすべて不許可状態「０」へと変化する。
【０１００】
次に、スーパーバイザリード４４実行時の動作について説明する。
【０１０１】
スーパーバイザモードでの実行であるので、処理装置０３により記憶装置３に対して強制許可信号３９１は有効を示す「１」となる。
【０１０２】
これにより、状態保持部３１に保持されている値にかかわらず、マスク制御信号３９２は許可を示す「１」を出力する。
【０１０３】
したがって、すべてのアドレスに対してデータ保持部３０に保持されているデータがマスク機構３２により読み出しデータバス３７に出力される。
【０１０４】
以上のように本実施の形態による記憶装置では、通常プロセスはリセット前の処理により保存された情報をリセット後に読み出すことが不可能であることから、リセット前の処理の機密性を高めることが可能であり、また、スーパーバイザプロセスはリセット前の処理により保存された情報をリセット後にも読み出すことが可能であり、管理性を向上させることが可能である。これにより、機密性と管理性の両立が可能となる。
【０１０５】
（実施の形態３）
図１４〜図２１は本発明の（実施の形態３）を示す。
【０１０６】
なお、図１４には記憶装置を制御する処理装置０５も同時に示している。また、（実施の形態３）では状態保持部５１の保持値を変更可能にするために、例えば図１４では、論理和演算器５６３が設けられている点が（実施の形態１）とは異なっている。さらに詳しくは、状態保持部５１の一括状態変更信号５６の入力に、記憶装置外部からの複数の一括状態変更信号５６１，５６２を演算する論理和演算器５６３が設けられている。
【０１０７】
処理装置０５はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス５３、書き込み制御信号５４、アクセスアドレスバス５５、第１の一括状態変更信号５６１、第２の一括状態変更信号５６２および読み出しデータバス５７を用いて記憶装置５に対して情報を保存、読み出しを行う。制御装置０５がリセット時に第１の一括状態変更信号５６１には第１の一括状態変更信号５６１が有効であることを示す「１」が出力され、また、プロセス切り替えシーケンス実行時に第２の一括状態変更信号５６２には第２の一括状態変更信号５６２が有効であることを示す「１」が出力される。
【０１０８】
記憶装置５は、データ保持部５０、状態保持部５１、マスク機構５２および論理和演算器５６３から構成される。マスク機構５２は論理積演算器群５２１から構成されている。
【０１０９】
記憶装置５は、書き込みデータバス５３、書き込み制御信号５４、アクセスアドレスバス５５、第１の一括状態変更信号５６１、第２の一括状態変更信号５６２を入力に持ち、また、読み出しデータバス５７を出力として持つ。
【０１１０】
データ保持部５０は、書き込みデータバス５３、書き込み制御信号５４およびアクセスアドレスバス５５を入力に持ち、保持データバス５８を出力として持つ。
【０１１１】
状態保持部５１は、一括状態変更信号５６、書き込み制御信号５４およびアクセスアドレスバス５５を入力に持ち、状態信号５９を出力として持つ。
【０１１２】
マスク機構５２は、データ保持部５０の出力である保持データバス５８と状態保持部５１の出力である状態信号５９とを入力に持ち、読み出しデータバス５７を出力としてもつ。
【０１１３】
論理積演算器群５２１は、マスク機構５２に入力される保持データバス５８と状態信号５９とを入力に持ち、読み出しデータバス５７に出力する。
【０１１４】
論理和演算器５６３は、第１，第２の一括状態変更信号５６１，５６２を入力にもち、一括状態変更信号５６を出力に持つ。
【０１１５】
データ保持部５０は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス５５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス５８へ出力する。また、書き込み制御信号５４を有効にすることにより書き込みデータバス５３の値が、アクセスアドレスバス５５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【０１１６】
状態保持部５１は読み出し書き込み可能な記憶装置であり、データ保持部５０の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部５１は一括状態変更信号５６を有効にすることで、書き込み制御信号５４の有効、無効にかかわらず、一括して、状態保持部５１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号５４が有効である場合、アクセスアドレスバス５５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部５１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【０１１７】
マスク機構５２は、構成要素である論理積演算器群５２１により保持データバス５８の各ビットと状態信号５９との論理積演算が実施され、その演算結果を読み出しデータバス５７へ出力する。
【０１１８】
論理和演算器５６３は、その入力である第１の一括状態変更信号５６１と第２の一括状態変更信号５６２の論理和演算を実施し、演算結果を一括状態変更信号５６へ出力する。
【０１１９】
図１４の記憶装置を用いて、図１５の処理シーケンスを実行した場合の動作を説明する。
【０１２０】
図１５は処理装置０５により、６０で示される処理Ａ、リセットシーケンス６１、６２で示される処理Ｂ、プロセス切り替えシーケンス６３、６４で示される処理Ｃが順に実行されることを示している。
【０１２１】
また、６０で示される処理Ａは、その処理内容が処理Ａ−０、アドレス０４へのライトである６００、処理Ａ−１、アドレス０４へのリードである６０１、処理Ａ−２を順に実行することを示している。
【０１２２】
リセットシーケンス６１では、処理装置０５がリセット状態となる事を示している。
【０１２３】
６２で示される処理Ｂは、その処理内容が処理Ｂ−０、アドレス０４へのリードである６２０、処理Ｂ−１、アドレス０４へのライトである６２１、処理Ｂ−２、アドレス０４のリードである６２２を順に実行することを示している。
【０１２４】
プロセス切り替えシーケンス６３では、処理装置０５がプロセス切り替えシーケンスとなる事を示している。
【０１２５】
６４で示される処理Ｃは、その処理内容が処理Ｃ−０、アドレス０４へのリードである６４０、処理Ｃ−１、アドレス０４へのライトである６４１、処理Ｃ−２、アドレス０４のリードである６４２を順に実行することを示している。
【０１２６】
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１、処理Ｂ−２、処理Ｃ−０、処理Ｃ−１および処理Ｃ−２は記憶装置５に対してアクセスを伴わない処理装置０５の処理を示している。
【０１２７】
処理装置０５が起動直後である時のデータ保持部５０および状態保持部５１の内部状態を図１６に示す。
【０１２８】
データ保持部５０に保持されている値はすべて不定であり、また、状態保持部５１内に保持されている値は不許可状態である。
【０１２９】
次に、６０で示す処理Ａの処理過程の１つであるアドレス０４へのライトである６００の実行完了後のデータ保持部５０および状態保持部５１の内部状態を図１７に示す。
【０１３０】
アドレス０４へのライトである６００の実行完了によりデータ保持部５０のアドレス０４に対応する記憶領域に書き込みデータバス５３の値が保持されると同時に、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０１３１】
次に、６０で示す処理Ａの処理過程の１つであるアドレス０４へのリードである６０１の実行について説明する。
【０１３２】
アドレス０４へのリードである６０１を実行時、データ保持部５０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである６００の実行により書き込まれた値が保持されているため、保持データバス５８にはアドレス０４へのライトである６００の実行により書き込まれた値が出力される。
【０１３３】
また、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号５９には「１」が出力される。
【０１３４】
よって、論理積演算器群５２１により読み出しデータバス５７には論理積演算結果として保持データバス５８と同一値が出力されることとなり、アドレス０４へのライトである６００の実行により書き込まれた値を読み出すことが可能である。
【０１３５】
次に、リセットシーケンス６１の実行完了後のデータ保持部５０および状態保持部５１の内部状態を図１８に示す。
【０１３６】
リセットシーケンスでは処理装置０５によって第１の一括状態変更信号５６１が有効となることで、状態変更信号５６が有効となり、記憶装置５においては、データ保持部５０には変化がないが、状態保持部５１の保持している値がすべて不許可状態「０」へと変化する。
【０１３７】
次に、処理Ｂである６２の処理過程の１つであるアドレス０４へのリードである６２０の実行について説明する。
【０１３８】
アドレス０４へのリードである６２０を実行時、データ保持部５０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである６００の実行により書き込まれた値が保持されているため、保持データバス５８にはアドレス０４へのライトである６００の実行により書き込まれた値が出力される。
【０１３９】
しかしながら、リセットシーケンス６１の実行により、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号５９には「０」が出力される。
【０１４０】
よって、論理積演算器群５２１により読み出しデータバス５７には論理積演算結果として保持データバス５８と異なる値が出力されることとなり、アドレス０４へのライトである６００の実行により書き込まれた値を読み出すことは不可能となる。
【０１４１】
次に、処理Ｂである６２の処理過程の１つであるアドレス０４へのライトである６２１の実行完了後のデータ保持部５０および状態保持部５１の内部状態を図１９に示す。
【０１４２】
アドレス０４へのライトである６２１の実行完了によりデータ保持部５０のアドレス０４に対応する記憶領域に書き込みデータバス５３の値が保持されると同時に、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０１４３】
これにより、データ保持部５０のアドレス０４に対応する記憶領域に保持される値は、処理Ａである６０の処理過程の１つであるアドレス０４へのライトである６００の実行により保持されていた値が破壊され、処理Ｂである６２の処理過程の１つであるアドレス０４へのライトである６２１の実行による値が保持されることになる。
【０１４４】
次に、６２で示す処理Ｂの処理過程の１つであるアドレス０４へのリードである６２２の実行について説明する。
【０１４５】
アドレス０４へのリードである６２２を実行時、データ保持部５０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである６２１の実行により書き込まれた値が保持されているため、保持データバス５８にはアドレス０４へのライトである６２１の実行により書き込まれた値が出力される。
【０１４６】
また、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号５９には「１」が出力される。
【０１４７】
よって、論理積演算器群５２１により読み出しデータバス５７には論理積演算結果として保持データバス５８と同一値が出力されることとなり、アドレス０４へのライトである６２１の実行により書き込まれた値を読み出すことが可能である。
【０１４８】
次に、プロセス切り替えシーケンスである６３の実行完了後のデータ保持部５０および状態保持部５１の内部状態を図２０に示す。
【０１４９】
プロセス切り替えシーケンスでは処理装置０５によって第２の一括状態変更信号５６２が有効となることで、状態変更信号５６が有効となり、記憶装置においては、データ保持部５０には変化がないが、状態保持部５１の保持している値がすべて不許可状態「０」へと変化する。
【０１５０】
次に、６４で示す処理Ｃの処理過程の１つであるアドレス０４へのリードである６４０の実行について説明する。
【０１５１】
アドレス０４へのリードである６４０を実行時、データ保持部５０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである６２１の実行により書き込まれた値が保持されているため、保持データバス５８にはアドレス０４へのライトである６２１の実行により書き込まれた値が出力される。
【０１５２】
しかしながら、プロセス切り替えシーケンス６３の実行により、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号５９には「０」が出力される。
【０１５３】
よって、論理積演算器群５２１により読み出しデータバス５７には論理積演算結果として保持データバス５８と異なる値が出力されることとなり、アドレス０４へのライトである６２１の実行により書き込まれた値を読み出すことは不可能となる。
【０１５４】
次に、６４で示す処理Ｃの処理過程の１つであるアドレス０４へのライトである６４１の実行完了後のデータ保持部５０および状態保持部５１の内部状態を図２１に示す。
【０１５５】
アドレス０４へのライトである６４１の実行完了によりデータ保持部５０のアドレス０４に対応する記憶領域に書き込みデータバス５３の値が保持されると同時に、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０１５６】
これにより、データ保持部５０のアドレス０４に対応する記憶領域に保持される値は、６２で示す処理Ｂの処理過程の１つであるアドレス０４へのライトである６２１の実行により保持されていた値が破壊され、処理Ｃである６４の処理過程の１つであるアドレス０４へのライトである６４１の実行による値が保持されることになる。
【０１５７】
次に、６４で示す処理Ｃの処理過程の１つであるアドレス０４へのリードである６４２の実行について説明する。
【０１５８】
アドレス０４へのリードである６４２を実行時、データ保持部５０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである６４１の実行により書き込まれた値が保持されているため、保持データバス５８にはアドレス０４へのライトである６４１の実行により書き込まれた値が出力される。
【０１５９】
また、状態保持部５１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号５９には「１」が出力される。
【０１６０】
よって、論理積演算器群５２１により読み出しデータバス５７には論理積演算結果として保持データバス５８と同一値が出力されることとなり、アドレス０４へのライトである６４１の実行により書き込まれた値を読み出すことが可能である。
【０１６１】
このように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能であり、リセットやプロセス切り替えなど複数要因による機密性確保が必要な複数のイベントに対応できる。これにより機密性を高めることが可能となる。
【０１６２】
（実施の形態４）
図２２〜図２８は本発明の（実施の形態４）を示す。
【０１６３】
なお、図２２には記憶装置を制御する処理装置０７も同時に示している。また、（実施の形態４）では状態保持部５１の保持値を変更可能にするために、状態保持部７１の内部に第１状態保持部７１１と第２状態保持部７１２および論理和演算器７１５が設けられている点が（実施の形態１）とは異なっている。
【０１６４】
処理装置０７はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス７３、書き込み制御信号７４、アクセスアドレスバス７５、第１ブロック一括状態変更信号７６１、第２ブロック一括状態変更信号７６２および読み出しデータバス７７を用いて記憶装置７に対して情報を保存、読み出しを行う。制御装置０７はリセット時に第２ブロック一括状態信号７６２を有効にする。
【０１６５】
記憶装置７は、データ保持部７０、状態保持部７１およびマスク機構７２から構成される。マスク機構７２は論理積演算器群７２１から構成されている。
【０１６６】
記憶装置７は、書き込みデータバス７３、書き込み制御信号７４、アクセスアドレスバス７５、第１ブロック一括状態変更信号７６１、第２ブロック一括状態変更信号７６２を入力に持ち、また、読み出しデータバス７７を出力として持つ。
【０１６７】
データ保持部７０は、書き込みデータバス７３、書き込み制御信号７４およびアクセスアドレスバス７５を入力に持ち、保持データバス７８を出力として持つ。
【０１６８】
状態保持部７１は、第１ブロック一括状態変更信号７６１、第２ブロック一括状態信号７６２、書き込み制御信号７４およびアクセスアドレスバス７５を入力に持ち、第１状態保持部７１１、第２状態保持部７１２、第１状態信号７１３、第２状態信号７１４、論理和演算器７１５から構成され、状態信号７９を出力として持つ。
【０１６９】
マスク機構７２は、データ保持部７０の出力である保持データバス７８と状態保持部７１の出力である状態信号７９とを入力に持ち、読み出しデータバス７７を出力としてもつ。
【０１７０】
論理積演算器群７２１は、マスク機構７２に入力される保持データバス７８と状態信号７９とを入力に持ち、読み出しデータバス７７に出力する。
【０１７１】
データ保持部７０は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス７５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス７８へ出力する。また、書き込み制御信号７４を有効にすることにより書き込みデータバス７３の値が、アクセスアドレスバス７５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。本構成例では説明のため、データ保持部７０の記憶領域数はアドレス００からアドレス０７までの８つとする。
【０１７２】
状態保持部７１は読み出し書き込み可能な記憶装置であり、データ保持部７０の記憶領域と同数の１ビット幅の記憶領域群を第１状態保持部７１１と第２状態保持部７１２を合わせて実現している。また、第１状態保持部７１１は第１ブロック一括状態変更信号７６１を有効にすることで、書き込み制御信号７４の有効、無効にかかわらず、一括して、第１状態保持部７１１内の記憶領域に保持している値が「０」へと変化する。同様に第２状態保持部７１２は第２ブロック一括状態変更信号７６２を有効にすることで、書き込み制御信号７４の有効、無効にかかわらず、一括して、第２状態保持部７１２内の記憶領域に保持している値が「０」へと変化する。
【０１７３】
また、書き込み制御信号７４が有効である場合、アクセスアドレスバス７５によって与えられた値をアドレスとして、第１状態保持部７１１もしくは第２状態保持部７１２のどちらかのアクセスアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部１１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【０１７４】
本構成例では説明のため、第１状態保持部７１１はアドレス００からアドレス０３までの記憶領域の状態の保持を担当し、第２状態保持部７１２はアドレス０４からアドレス０７までの記憶領域の状態の保持を担当するものとする。
【０１７５】
また、第１状態保持部７１１からはアクセスアドレス７５によって与えられた値が担当するアドレスであった場合、そのアドレスに対する状態信号を第１状態信号７１３に出力し、担当するアドレスでなかった場合は０を出力する。
【０１７６】
同様に第２状態保持部７１２からはアクセスアドレス７５によって与えられた値が担当するアドレスであった場合、そのアドレスに対する状態信号を第２状態信号７１４に出力し、担当するアドレスでなかった場合は０を出力する。
【０１７７】
論理和演算器７１５は第１状態信号７１３と第２状態信号７１４の論理和演算結果を状態信号７９として出力する。
【０１７８】
マスク機構７２は構成要素である論理積演算器群７２１により保持データバス７８の各ビットと状態信号７９との論理積演算が実施され、その演算結果を読み出しデータバス７７へ出力する。
【０１７９】
図２２記憶装置を用いて、図２３の処理シーケンスを実行した場合の動作を説明する。
【０１８０】
図２３は処理装置０７により、処理Ａである８０、リセットシーケンスである８１、処理Ｂである８２が順に実行されることを示している。
【０１８１】
また、処理Ａである８０はその処理内容が処理Ａ−０、アドレス０４へのライトである８００、処理Ａ−１、アドレス０４へのリードである８０１、処理Ａ−２、アドレス００へのライトである８０２、処理Ａ−３、アドレス００へのリードである８０３、処理Ａ−４を順に実行することを示している。
【０１８２】
８１のリセットシーケンスでは処理装置がリセット状態となる事を示している。
【０１８３】
処理Ｂである８２はその処理内容が処理Ｂ−０、アドレス０４へのリードである８２０、処理Ｂ−１、アドレス０４へのライトである８２１、処理Ｂ−２、アドレス０４のリードである８２２、処理Ｂ−３、アドレス００のリードである８２３を順に実行することを示している。
【０１８４】
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ａ−３、処理Ａ−４、処理Ｂ−０、処理Ｂ−１、処理Ｂ−２および処理Ｂ−３は記憶装置７に対してアクセスを伴わない処理装置０７の処理を示している。
【０１８５】
処理装置０７が起動直後である時のデータ保持部７０および状態保持部７１の内部状態を図２４に示す。
【０１８６】
データ保持部７０に保持されている値はすべて不定であり、また、状態保持部７１内に保持されている値は不許可状態である。
【０１８７】
次に、処理Ａである８０の処理過程の１つであるアドレス０４へのライトである８００の実行完了後のデータ保持部７０および状態保持部７１の内部状態を図２５に示す。
【０１８８】
アドレス０４へのライトである８００の実行完了によりデータ保持部７０のアドレス０４に対応する記憶領域に書き込みデータバス７３の値が保持されると同時に、状態保持部７１のアドレス０４に対応する記憶領域は第２状態保持部７１２であり、第２状態保持部７１２内のアドレス０４に対応する記憶領域には許可状態「１」を保持する。
【０１８９】
次に、処理Ａである８０の処理過程の１つであるアドレス０４へのリードである８０１の実行について説明する。
【０１９０】
アドレス０４へのリードである８０１を実行時、データ保持部７０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである８００の実行により書き込まれた値が保持されているため、保持データバス７８にはアドレス０４へのライトである８００の実行により書き込まれた値が出力される。
【０１９１】
また、状態保持部７１内のアドレス０４に対応する記憶領域である第２状態保持部７１２に保持される値は許可状態「１」が保持されているので、論理和演算器７１５を経て、状態信号７９には「１」が出力される。
【０１９２】
よって、論理積演算器群７２１により読み出しデータバス７７には論理積演算結果として保持データバス７８と同一値が出力されることとなり、アドレス０４へのライトである８００の実行により書き込まれた値を読み出すことが可能である。
【０１９３】
次に、処理Ａである８０の処理過程の１つであるアドレス００へのライトである８０２の実行完了後のデータ保持部７０および状態保持部７１の内部状態を図２６に示す。
【０１９４】
アドレス００へのライトである８０２の実行完了によりデータ保持部７０のアドレス００に対応する記憶領域に書き込みデータバス７３の値が保持されると同時に、状態保持部７１のアドレス００に対応する記憶領域は第１状態保持部７１１であり、第１状態保持部７１１内のアドレス００に対応する記憶領域には許可状態「１」を保持する。
【０１９５】
次に、処理Ａである８０の処理過程の１つであるアドレス００へのリードである８０３の実行について説明する。
【０１９６】
アドレス００へのリードである８０３を実行時、データ保持部７０のアドレス００に対応する記憶領域にはアドレス００へのライトである８０２の実行により書き込まれた値が保持されているため、保持データバス７８にはアドレス００へのライトである８０２の実行により書き込まれた値が出力される。
【０１９７】
また、状態保持部７１内のアドレス００に対応する記憶領域である第１状態保持部７１１に保持される値は許可状態「１」が保持されているので、論理和演算器７１５を経て、状態信号７９には「１」が出力される。
【０１９８】
よって、論理積演算器群７２１により読み出しデータバス７７には論理積演算結果として保持データバス７８と同一値が出力されることとなり、アドレス００へのライトである８０２の実行により書き込まれた値を読み出すことが可能である。
【０１９９】
次に、リセットシーケンスである８１実行完了後のデータ保持部７０および状態保持部７１の内部状態を図２７に示す。
【０２００】
リセットシーケンスでは処理装置０７によって第２ブロック一括状態変更信号７６２が有効となることにより、記憶装置７においては、データ保持部７０には変化がないが、第２状態保持部７１２の保持している値がすべて不許可状態「０」へと変化する。つまり、状態保持部７１としてはアドレス０４からアドレス０７までの状態が不許可を示す「０」へと変化する。
【０２０１】
次に、処理Ｂである８２の処理過程の１つであるアドレス０４へのリードである８２０の実行について説明する。
【０２０２】
アドレス０４へのリードである８２０を実行時、データ保持部７０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである８００の実行により書き込まれた値が保持されているため、保持データバス７８にはアドレス０４へのライトである８００の実行により書き込まれた値が出力される。
【０２０３】
しかしながら、リセットシーケンスである８１の実行により、状態保持部７１のアドレス０４に対応する第２状態保持部７１２内の記憶領域に保持される値は不許可状態「０」が保持されているので、第２状態信号７１４を経由して、状態信号７９には「０」が出力される。
【０２０４】
よって、論理積演算器群７２１により読み出しデータバス７７には論理積演算結果として保持データバス７８と異なる値が出力されることとなり、アドレス０４へのライトである８００の実行により書き込まれた値を読み出すことは不可能となる。
【０２０５】
次に、処理Ｂである２２の処理過程の１つであるアドレス０４へのライトである８２１の実行完了後のデータ保持部７０および状態保持部７１の内部状態を図２８に示す。
【０２０６】
アドレス０４へのライトである８２１の実行完了によりデータ保持部７０のアドレス０４に対応する記憶領域に書き込みデータバス７３の値が保持されると同時に、状態保持部７１のアドレス０４に対応する記憶領域は第２状態保持部７１２であり、第２状態保持部７１２内のアドレス０４に対応する記憶領域には許可状態「１」を保持する。
【０２０７】
これにより、データ保持部７０のアドレス０４に対応する記憶領域に保持される値は、処理Ａである８０の処理過程の１つであるアドレス０４へのライトである８００の実行により保持されていた値が破壊され、処理Ｂである８２の処理過程の１つであるアドレス０４へのライトである８２１の実行による値が保持されることになる。
【０２０８】
次に、処理Ｂである８２の処理過程の１つであるアドレス０４へのリードである８２２の実行について説明する。
【０２０９】
アドレス０４へのリードである８２２を実行時、データ保持部７０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである８２１の実行により書き込まれた値が保持されているため、保持データバス７８にはアドレス０４へのライトである８２１の実行により書き込まれた値が出力される。
【０２１０】
また、状態保持部７１内のアドレス０４に対応する記憶領域である第２状態保持部７１２に保持される値は許可状態「１」が保持されているので、論理和演算器７１５を経て、状態信号７９には「１」が出力される。
【０２１１】
よって、論理積演算器群７２１により読み出しデータバス７７には論理積演算結果として保持データバス７８と同一値が出力されることとなり、アドレス０４へのライトである８２１の実行により書き込まれた値を読み出すことが可能である。
【０２１２】
次に、処理Ｂである８２の処理過程の１つであるアドレス００へのリードである８２３の実行について説明する。リセットシーケンス８１を実行後ではあるが、リセットシーケンスでは第２状態保持部７１２内の情報のみが不許可を示す「０」となるため、リセットシーケンスにより第１状態保持部７１１は変化していない。
【０２１３】
アドレス００へのリードである８２２を実行時、データ保持部７０のアドレス００に対応する記憶領域にはアドレス００へのライトである８０２の実行により書き込まれた値が保持されているため、保持データバス７８にはアドレス００へのライトである８０２の実行により書き込まれた値が出力される。
【０２１４】
また、状態保持部７１内のアドレス００に対応する記憶領域である第１状態保持部７１１に保持される値は許可状態「１」が保持されているので、論理和演算器７１５を経て、状態信号７９には「１」が出力される。
【０２１５】
よって、論理積演算器群７２１により読み出しデータバス７７には論理積演算結果として保持データバス７８と同一値が出力されることとなり、アドレス００へのライトである８０２の実行により書き込まれた値、つまり、リセットシーケンス以前処理により書き込まれた値を読み出すことが可能である。
【０２１６】
以上のように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能な領域と可能な領域の両方を提供できる。これにより機密性の確保とデータ受け渡し領域としての柔軟性を両立させることが可能となる。
【０２１７】
この（実施の形態４）の状態保持部７１では、第１，第２の状態保持部７１１，７１２の２つを有していたが、３以上の保持部の出力を演算器７１５などで演算する構成であっても同様に実施できる。
【０２１８】
この（実施の形態４）は（実施の形態１）だけではなく、（実施の形態２）（実施の形態３）においても同様に実施できる。
【０２１９】
（実施の形態５）
図２９〜図３３は本発明の（実施の形態５）を示す。
【０２２０】
なお、図２９には記憶装置を制御する処理装置０９も同時に示している。また、（実施の形態５）ではマスク機構９２が、第１の演算器群と第２の演算器群とで構成されている点が（実施の形態１）とは異なっている。
【０２２１】
処理装置０９はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス９３、書き込み制御信号９４、アクセスアドレスバス９５、一括状態変更信号９６および読み出しデータバスを用いて記憶装置９に対して情報を保存、読み出しを行う。制御装置０９はリセット時に一括状態信号９６を有効にする。
【０２２２】
記憶装置９はデータ保持部９０、状態保持部９１およびマスク機構９２から構成される。
【０２２３】
マスク機構９２は、論理積演算器群９２１、否定論理積演算器群９２２、演算器選択機構９２３、セレクタ９２４から構成されている。
【０２２４】
記憶装置９は、書き込みデータバス９３、書き込み制御信号９４、アクセスアドレスバス９５、一括状態変更信号９６を入力に持ち、また、読み出しデータバス９７を出力として持つ。
【０２２５】
データ保持部９０は、書き込みデータバス９３、書き込み制御信号９４およびアクセスアドレスバス９５を入力に持ち、保持データバス９８を出力として持つ。
【０２２６】
状態保持部９１は、一括状態変更信号９６、書き込み制御信号９４およびアクセスアドレスバス９５を入力に持ち、状態信号９９を出力として持つ。
【０２２７】
マスク機構９２はデータ保持部９０の出力である保持データバス９８と状態保持部９１の出力である状態信号９９とを入力に持ち、読み出しデータバス９７を出力としてもつ。
【０２２８】
論理積演算器群９２１は、マスク機構９２に入力される保持データバス９８と状態信号９９とを入力に持ち、セレクタ９２４に出力する。
【０２２９】
否定論理積演算器群９２２は、マスク機構９２に入力される保持データバス９８と状態信号９９とを入力に持ち、セレクタ９２４に出力する。
【０２３０】
演算器選択機構９２３はランダムな値を演算器選択信号９２５としてセレクタ９２４に出力する。
【０２３１】
セレクタ９２４は、論理積演算器群９２１の出力と、否定論理積演算器群９２２の出力と、演算器選択信号９２５を入力に持ち、演算器選択信号９２５が「０」の時は論理積演算器群９２１の出力を、演算器選択信号９２５が「１」の時は否定論理積演算器群９２２の出力を選択し、読み出しデータバス９７へ出力する。
【０２３２】
データ保持部９０は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス９５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス９８へ出力する。また、書き込み制御信号９４を有効にすることにより書き込みデータバス９３の値が、アクセスアドレスバス９５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【０２３３】
状態保持部９１は読み出し書き込み可能な記憶装置であり、データ保持部９０の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部９１は一括状態変更信号９６を有効にすることで、書き込み制御信号９４の有効、無効にかかわらず、一括して、状態保持部９１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号９４が有効である場合、アクセスアドレスバス９５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部９１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【０２３４】
マスク機構９２は、構成要素である論理積演算器群９２１と否定論理積演算器群９２２により保持データバス９８の各ビットと状態信号９９との演算が実施され、その演算結果を演算器選択機構９２３の出力である演算器選択信号９２５を制御信号としてセレクタ９２４により読み出しデータバス９７へ出力する。
【０２３５】
図２９の記憶装置を用いて、図３０の処理シーケンスを実行した場合の動作を説明する。
【０２３６】
図３０は処理装置９により、処理Ａである１００、リセットシーケンスである１０１、処理Ｂである１０２が順に実行されることを示している。
【０２３７】
また、処理Ａである１００はその処理内容が処理Ａ−０、アドレス０４へのライトである１０００、処理Ａ−１、アドレス０４へのリードである１００１、処理Ａ−２を順に実行することを示している。
【０２３８】
１０１のリセットシーケンスでは処理装置がリセット状態となる事を示している。
【０２３９】
処理Ｂである１０２はその処理内容が処理Ｂ−０、アドレス０４へのリードである１０２０、処理Ｂ−１、アドレス０４へのリードである１０２１を順に実行することを示している。
【０２４０】
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１、および処理Ｂ−２は記憶装置９に対してアクセスを伴わない処理装置０９の処理を示している。
【０２４１】
処理装置０９が起動直後である時のデータ保持部９０および状態保持部９１の内部状態を図３０に示す。
【０２４２】
データ保持部９０に保持されている値はすべて不定であり、また、状態保持部９１内に保持されている値は不許可状態である。
【０２４３】
次に、処理Ａである１００の処理過程の１つであるアドレス０４へのライトである１０００の実行完了後のデータ保持部９０および状態保持部９１の内部状態を図３１に示す。
【０２４４】
アドレス０４へのライトである１０００の実行完了によりデータ保持部９０のアドレス０４に対応する記憶領域に書き込みデータバス９３の値が保持されると同時に、状態保持部９１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０２４５】
次に、処理Ａである１００の処理過程の１つであるアドレス０４へのリードである１００１の実行について説明する。
【０２４６】
アドレス０４へのリードである１００１を実行時、データ保持部９０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１０００の実行により書き込まれた値が保持されているため、保持データバス９８にはアドレス０４へのライトである１０００の実行により書き込まれた値が出力される。
【０２４７】
また、状態保持部９１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号９９には「１」が出力される。
【０２４８】
よって、論理積演算器群９２１および否定論理積演算器群９２２のどちらの出力にも保持データバス１８と同一値が出力されることとなり、アドレス０４へのライトである２００の実行により書き込まれた値を読み出すことが可能である。
【０２４９】
次に、リセットシーケンスである１０１実行完了後のデータ保持部９０および状態保持部９１の内部状態を図３３に示す。
【０２５０】
リセットシーケンスでは処理装置０９によって一括状態信号９６が有効となることにより、記憶装置９においては、データ保持部９０には変化がないが、状態保持部９１の保持している値がすべて不許可状態「０」へと変化する。
【０２５１】
次に、処理Ｂである１０２の処理過程の１つであるアドレス０４へのリードである１０２０の実行について説明する。
【０２５２】
アドレス０４へのリードである１０２０を実行時、データ保持部９０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１０００の実行により書き込まれた値が保持されているため、保持データバス９８にはアドレス０４へのライトである１０００の実行により書き込まれた値が出力される。
【０２５３】
しかしながら、リセットシーケンスである１０１の実行により、状態保持部９１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号９９には「０」が出力される。
【０２５４】
ここで、演算器選択機構９２３により出力されている演算器選択信号９２５により論理積演算器群９２１もしくは、否定論理積演算器群９２２の出力が選択される。演算器選択信号９２５がいかなる値であっても、論理積演算結果として保持データバス９８と異なる値が読み出しデータバス９７へ出力されることとなり、アドレス０４へのライトである１０００の実行により書き込まれた値を読み出すことは不可能となる。たとえば、演算器選択信号９２５に「０」がランダムな値として出力されていたとし、論理積演算器群９２１の出力がセレクタにより選択されるため、読み出しデータバス９７には「０」を連結したデータが出力されることになる。
【０２５５】
次に、処理Ｂである１０２の処理過程の１つであるアドレス０４へのリードである１０２１の実行について説明する。ここでは、演算器選択信号９２５にランダムな値として「１」が出力されているとする。アドレス０４へのリードである１０２１を実行時、データ保持部９０のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１０００の実行により書き込まれた値が保持されているため、保持データバス９８にはアドレス０４へのライトである１０００の実行により書き込まれた値が出力される。
【０２５６】
しかしながら、リセットシーケンスである１０１の実行により、状態保持部９１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号９９には「０」が出力される。
【０２５７】
ここで、演算器選択機構９２３により出力されている演算器選択信号９２５が「１」であることにより否定論理積演算器群９２２の出力が選択される。否定論理積演算器群９２２の出力がセレクタにより選択されるため、読み出しデータバス９７には「１」を連結したデータが出力されることになる。
【０２５８】
以上のように本実施の形態による記憶装置では、前処理により保存された情報をリセット後の処理により読み出すことは不可能である。また、許可されていない読み出しデータを複数生成できることで、読み出されたデータからの内部回路構造解析をより困難なものにすることが出来る。
【０２５９】
この（実施の形態５）のマスク機構９２を構成する演算器群９２１，９２２の数は２つであったが、３以上であっても同様に実施できる。
【０２６０】
この（実施の形態５）は（実施の形態１）だけではなく、（実施の形態２）（実施の形態３）（実施の形態４）においても同様に実施できる。
【０２６１】
（実施の形態６）
図３４〜図３９は本発明の（実施の形態６）を示す。
【０２６２】
なお、図３４には記憶装置を制御する処理装置００１１も同時に示している。また、（実施の形態６）ではデータ保持部１１００への特定のアクセスアドレスを検出するアクセスアドレス一致検出機構１１１０を備え、前記アクセスアドレス一致検出機構１１１０の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部の内容を変更可能に構成している点が（実施の形態１）とは異なっている。
【０２６３】
処理装置００１１はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス１１０３、書き込み制御信号１１０４、アクセスアドレスバス１１０５、および読み出しデータバス１１０７を用いて記憶装置１１に対して情報を保存、読み出しを行う。
【０２６４】
記憶装置１１は、データ保持部１１００、状態保持部１１０１、アクセスアドレス一致検出機構１１１０およびマスク機構１１０２から構成される。マスク機構１１０２は論理積演算器群１１０２１から構成されている。
【０２６５】
記憶装置１１は、書き込みデータバス１１０３、書き込み制御信号１１０４、アクセスアドレスバス１１０５を入力に持ち、また、読み出しデータバス１１０７を出力として持つ。
【０２６６】
データ保持部１１００は、書き込みデータバス１１０３、書き込み制御信号１１０４およびアクセスアドレスバス１１０５を入力に持ち、保持データバス１１０８を出力として持つ。
【０２６７】
状態保持部１１０１は、一括状態変更信号１１０６、書き込み制御信号１１０４およびアクセスアドレスバス１１０５を入力に持ち、状態信号１１０９を出力として持つ。
【０２６８】
マスク機構１１０２は、データ保持部１１００の出力である保持データバス１１０８と状態保持部１１０１の出力である状態信号１１０９とを入力に持ち、読み出しデータバス１１０７を出力としてもつ。
【０２６９】
論理積演算器群１１０２１は、マスク機構１１０２に入力される保持データバス１１０８と状態信号１１０９とを入力に持ち、読み出しデータバス１１０７に出力する。
【０２７０】
アクセスアドレス一致検出機構１１１０は、アクセスアドレスバス１１０５を入力に持ち、一括状態変更信号１１０６を出力にもつ。
【０２７１】
データ保持部１１００は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス１１０５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス１１０８へ出力する。また、書き込み制御信号１１０４を有効にすることにより書き込みデータバス１１０３の値が、アクセスアドレスバス１１０５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【０２７２】
状態保持部１１０１は読み出し書き込み可能な記憶装置であり、データ保持部１１００の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部１１０１は一括状態変更信号１１０６を有効にすることで、書き込み制御信号１１０４の有効、無効にかかわらず、一括して、状態保持部１１０１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号１１０４が有効である場合、アクセスアドレスバス１１０５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部１１０１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【０２７３】
マスク機構１１０２は、構成要素である論理積演算器群１１０２１により保持データバス１１０８の各ビットと状態信号１１０９との論理積演算が実施され、その演算結果を読み出しデータバス１１０７へ出力する。
【０２７４】
アクセスアドレス一致検出機構１１１０は、アクセスアドレスバス１１０５の値があらかじめ決められた値と一致する場合、出力である一括状態変更信号１１０６に有効をあらわす値を出力し、アクセスアドレスバス１１０５の値があらかじめ決められた値ではない場合は一括状態変更信号１１０６に無効を出力する。ここではあらかじめ決められた値を「０７」とする。
【０２７５】
図３４の記憶装置を用いて、図３５の処理シーケンスを実行した場合の動作を説明する。
【０２７６】
図３４は処理装置００１１により、処理Ａである１２０、処理Ｂである１２２が順に実行されることを示している。
【０２７７】
また、処理Ａである１２０はその処理内容が処理Ａ−０、アドレス０４へのライトである１２００、処理Ａ−１、アドレス０４へのリードである１２０１、処理Ａ−２、特定アドレス（０７）へのアクセスである１２０２を順に実行することを示している。
【０２７８】
処理Ｂである１２２はその処理内容が処理Ｂ−０、アドレス０４へのリードである１２２０、処理Ｂ−１、アドレス０４へのライトである１２２１、処理Ｂ−２、アドレス０４のリードである１２２２を順に実行することを示している。
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１および処理Ｂ−２は記憶装置１１に対してアクセスを伴わない処理装置００１１の処理を示している。
【０２７９】
処理装置００１１が起動直後である時のデータ保持部１１００および状態保持部１１０１の内部状態を図３６に示す。
【０２８０】
データ保持部１１００に保持されている値はすべて不定であり、また、状態保持部１１０１内に保持されている値は不許可状態である。
【０２８１】
次に、処理Ａである１２０の処理過程の１つであるアドレス０４へのライトである１２００の実行完了後のデータ保持部１１００および状態保持部１１０１の内部状態を図３６に示す。
【０２８２】
アドレス０４へのライトである１２００の実行完了によりデータ保持部１１００のアドレス０４に対応する記憶領域に書き込みデータバス１１０３の値が保持されると同時に、状態保持部１１０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０２８３】
次に、処理Ａである１２０の処理過程の１つであるアドレス０４へのリードである１２０１の実行について説明する。
【０２８４】
アドレス０４へのリードである１２０１を実行時、データ保持部１１００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１２００の実行により書き込まれた値が保持されているため、保持データバス１１０８にはアドレス０４へのライトである１２００の実行により書き込まれた値が出力される。
【０２８５】
また、状態保持部１１０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１１０９には「１」が出力される。
【０２８６】
よって、論理積演算器群１１０２１により読み出しデータバス１１０７には論理積演算結果として保持データバス１１０８と同一値が出力されることとなり、アドレス０４へのライトである１２００の実行により書き込まれた値を読み出すことが可能である。
【０２８７】
次に、処理Ａである１２０の処理過程の１つである特定アドレス（０７）へのリードである１２０２の実行について説明する。
【０２８８】
実行完了後のデータ保持部１１００および状態保持部１１０１の内部状態を図３８に示す。
【０２８９】
アクセスアドレスバスの値が０７となることから、アクセスアドレス一致検出機構により１１０６一括状態信号１１０６が有効となることにより、記憶装置１１においては、データ保持部１１００には変化がないが、状態保持部１１０１の保持している値がすべて不許可状態「０」へと変化する。
【０２９０】
次に、処理Ｂである１２２の処理過程の１つであるアドレス０４へのリードである１２２０の実行について説明する。
【０２９１】
アドレス０４へのリードである１２２０を実行時、データ保持部１１００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１２００の実行により書き込まれた値が保持されているため、保持データバス１１０８にはアドレス０４へのライトである１２００の実行により書き込まれた値が出力される。
【０２９２】
しかしながら、特定アドレスへのアクセスである１２０２の実行により、状態保持部１１０１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号１１０９には「０」が出力される。
【０２９３】
よって、論理積演算器群１１０２１により読み出しデータバス１１０７には論理積演算結果として保持データバス１１０８と異なる値が出力されることとなり、アドレス０４へのライトである１２００の実行により書き込まれた値を読み出すことは不可能となる。
【０２９４】
次に、処理Ｂである１２２の処理過程の１つであるアドレス０４へのライトである１２２１の実行完了後のデータ保持部１１００および状態保持部１１の内部状態を図３９に示す。
【０２９５】
アドレス０４へのライトである１２２１の実行完了によりデータ保持部１１００のアドレス０４に対応する記憶領域に書き込みデータバス１１０３の値が保持されると同時に、状態保持部１１０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０２９６】
これにより、データ保持部１１００のアドレス０４に対応する記憶領域に保持される値は、処理Ａである１２０の処理過程の１つであるアドレス０４へのライトである１２００の実行により保持されていた値が破壊され、処理Ｂである２２の処理過程の１つであるアドレス０４へのライトである１２２１の実行による値が保持されることになる。
【０２９７】
次に、処理Ｂである１２２の処理過程の１つであるアドレス０４へのリードである１２２２の実行について説明する。
【０２９８】
アドレス０４へのリードである１２２２を実行時、データ保持部１１００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１２２１の実行により書き込まれた値が保持されているため、保持データバス１１０８にはアドレス０４へのライトである１２２１の実行により書き込まれた値が出力される。
【０２９９】
また、状態保持部１１０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１９には「１」が出力される。
【０３００】
よって、論理積演算器群１１０２１により読み出しデータバス１１０７には論理積演算結果として保持データバス１１０８と同一値が出力されることとなり、アドレス０４へのライトである１２２１の実行により書き込まれた値を読み出すことが可能である。
【０３０１】
以上のように本実施の形態による記憶装置では、リセット信号など外部からのなんらかの一括状態変更信号を必要とすることなく、前処理により保存された情報を後処理により読み出すことを不可能とすることができる。
【０３０２】
この（実施の形態６）は（実施の形態１）だけではなく、（実施の形態２）（実施の形態３）（実施の形態４）（実施の形態５）においても同様に実施できる。
【０３０３】
（実施の形態７）
図４０〜図４５は本発明の（実施の形態７）を示す。
【０３０４】
なお、図４０には記憶装置を制御する処理装置００１３も同時に示している。また、（実施の形態７）ではデータ保持部１３００への特定アクセスパターンを検出する特定シーケンス検出機構１３１０を備え、特定シーケンス検出機構１３１０の信号により一括して書き込みアドレスの書き込み状態を保持する状態保持部１３０１の内容を変更可能に構成している点が（実施の形態１）とは異なっている。
【０３０５】
処理装置００１３はその内部で複数の処理を行い、情報の保持、読み出しが必要になれば、書き込みデータバス１３０３、書き込み制御信号１３０４、アクセスアドレスバス１３０５、および読み出しデータバス１３０７を用いて記憶装置１３に対して情報を保存、読み出しを行う。
【０３０６】
記憶装置１３は、データ保持部１３００、状態保持部１３０１、特定シーケンス検出機構１３１０およびマスク機構１３０２から構成される。マスク機構１３０２は論理積演算器群１３０２１から構成されている。
【０３０７】
記憶装置１３は、書き込みデータバス１３０３、書き込み制御信号１３０４、アクセスアドレスバス１３０５を入力に持ち、また、読み出しデータバス１３０７を出力として持つ。
【０３０８】
データ保持部１３００は書き込みデータバス１３０３、書き込み制御信号１３０４およびアクセスアドレスバス１３０５を入力に持ち、保持データバス１３０８を出力として持つ。
【０３０９】
状態保持部１３０１は、一括状態変更信号１３０６、書き込み制御信号１３０４およびアクセスアドレスバス１３０５を入力に持ち、状態信号１３０９を出力として持つ。
【０３１０】
マスク機構１３０２は、データ保持部１３００の出力である保持データバス１３０８と状態保持部１３０１の出力である状態信号１３０９とを入力に持ち、読み出しデータバス１３０７を出力としてもつ。
【０３１１】
論理積演算器群１３０２１はマスク機構１３０２に入力される保持データバス１３０８と状態信号１３０９とを入力に持ち、読み出しデータバス１３０７に出力する。
【０３１２】
特定シーケンス検出機構１３１０は、アクセスアドレスバス１３０５を入力に持ち、一括状態変更信号１３０６を出力にもつ。
【０３１３】
データ保持部１３００は読み出し書き込み可能な記憶装置であり、アクセスアドレスバス１３０５によって与えられた値をアドレスとして、そのアドレスに対応した複数ビット幅の記憶領域に保存されている値を保持データバス１３０８へ出力する。また、書き込み制御信号１３０４を有効にすることにより書き込みデータバス１３０３の値が、アクセスアドレスバス１３０５で示される値に対応するアドレスの複数ビット幅の記憶領域に保存される。
【０３１４】
状態保持部１３０１は読み出し書き込み可能な記憶装置であり、データ保持部１３００の記憶領域と同数の１ビット幅の記憶領域群からなる。また、状態保持部１３０１は一括状態変更信号１３０６を有効にすることで、書き込み制御信号１３０４の有効、無効にかかわらず、一括して、状態保持部１３０１内の記憶領域に保持している値が「０」へと変化する。また、書き込み制御信号１３０４が有効である場合、アクセスアドレスバス１３０５によって与えられた値をアドレスとして、そのアドレスに対応した記憶領域に保持している値は「１」へと変化する。以下、状態保持部１３０１内の記憶領域に保持している値が「０」であることを不許可状態、また、「１」であることを許可状態と呼ぶ。
【０３１５】
マスク機構１３０２は構成要素である論理積演算器群１３０２１により保持データバス１３０８の各ビットと状態信号１３０９との論理積演算が実施され、その演算結果を読み出しデータバス１３０７へ出力する。
【０３１６】
特定シーケンス検出機構１３１０は書き込み制御信号１３０４１、読み出し制御信号１３０４２から記憶装置１３への書き込み、読み込み順序とがあらかじめ決められた順序と一致する場合、出力である一括状態変更信号１３０６に有効をあらわす値を出力し、記憶装置１３への書き込み、読み込み順序とがあらかじめ決められた順序と一致しない場合は一括状態変更信号１３０６に無効を出力する。以下、あらかじめ決められた記憶装置１３への書き込み、読み込み順序のことを特定シーケンスと呼ぶ。
【０３１７】
図４０の記憶装置を用いて、図４１の処理シーケンスを実行した場合の動作を説明する。
【０３１８】
図４１は処理装置００１３により、処理Ａである１４０、処理Ｂである１４２が順に実行されることを示している。
【０３１９】
また、処理Ａである１４０はその処理内容が処理Ａ−０、アドレス０４へのライトである１４００、処理Ａ−１、アドレス０４へのリードである１４０１、処理Ａ−２、特定シーケンスの実施である１４０２を順に実行することを示している。
【０３２０】
処理Ｂである１４２はその処理内容が処理Ｂ−０、アドレス０４へのリードである１４２０、処理Ｂ−１、アドレス０４へのライトである１４２１、処理Ｂ−２、アドレス０４のリードである１４２２を順に実行することを示している。
また、処理Ａ−０、処理Ａ−１、処理Ａ−２、処理Ｂ−０、処理Ｂ−１および処理Ｂ−２は記憶装置１３に対してアクセスを伴わない処理装置００１３の処理を示している。
【０３２１】
処理装置００１３が起動直後である時のデータ保持部１３００および状態保持部１３０１の内部状態を図４２に示す。
【０３２２】
データ保持部１３００に保持されている値はすべて不定であり、また、状態保持部１３０１内に保持されている値は不許可状態である。
【０３２３】
次に、処理Ａである１４０の処理過程の１つであるアドレス０４へのライトである１４００の実行完了後のデータ保持部１３００および状態保持部１３０１の内部状態を図４３に示す。
【０３２４】
アドレス０４へのライトである１４００の実行完了によりデータ保持部１３００のアドレス０４に対応する記憶領域に書き込みデータバス１３０３の値が保持されると同時に、状態保持部１３０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０３２５】
次に、処理Ａである１４０の処理過程の１つであるアドレス０４へのリードである１４０１の実行について説明する。
【０３２６】
アドレス０４へのリードである１４０１を実行時、データ保持部１３００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１４００の実行により書き込まれた値が保持されているため、保持データバス１３０８にはアドレス０４へのライトである１４００の実行により書き込まれた値が出力される。
【０３２７】
また、状態保持部１３０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１３０９には「１」が出力される。
【０３２８】
よって、論理積演算器群１３０２１により読み出しデータバス１３０７には論理積演算結果として保持データバス１３０８と同一値が出力されることとなり、アドレス０４へのライトである１４００の実行により書き込まれた値を読み出すことが可能である。
【０３２９】
次に、処理Ａである１４０の処理過程の１つである特定シーケンスの実施である１４０２の実行について説明する。
【０３３０】
実行完了後のデータ保持部１３００および状態保持部１３０１の内部状態を図４４に示す。
【０３３１】
特定シーケンスの実施により、特定シーケンス検出機構により１３０６一括状態信号１３０６が有効となることにより、記憶装置１３においては、データ保持部１３００には変化がないが、状態保持部１３０１の保持している値がすべて不許可状態「０」へと変化する。
【０３３２】
次に、処理Ｂである１４２の処理過程の１つであるアドレス０４へのリードである１４２０の実行について説明する。
【０３３３】
アドレス０４へのリードである１４２０を実行時、データ保持部１３００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１４００の実行により書き込まれた値が保持されているため、保持データバス１３０８にはアドレス０４へのライトである１４００の実行により書き込まれた値が出力される。
【０３３４】
しかしながら、特定シーケンスの実施である１４０２の実行により、状態保持部１３０１のアドレス０４に対応する記憶領域に保持される値は不許可状態「０」が保持されているので、状態信号１３０９には「０」が出力される。
【０３３５】
よって、論理積演算器群１３０２１により読み出しデータバス１３０７には論理積演算結果として保持データバス１３０８と異なる値が出力されることとなり、アドレス０４へのライトである１４００の実行により書き込まれた値を読み出すことは不可能となる。
【０３３６】
次に、処理Ｂである１４２の処理過程の１つであるアドレス０４へのライトである１４２１の実行完了後のデータ保持部１３００および状態保持部１３の内部状態を図４５に示す。
【０３３７】
アドレス０４へのライトである１４２１の実行完了によりデータ保持部１３００のアドレス０４に対応する記憶領域に書き込みデータバス１３０３の値が保持されると同時に、状態保持部１３０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」を保持する。
【０３３８】
これにより、データ保持部１３００のアドレス０４に対応する記憶領域に保持される値は、処理Ａである１４０の処理過程の１つであるアドレス０４へのライトである１４００の実行により保持されていた値が破壊され、処理Ｂである１４２の処理過程の１つであるアドレス０４へのライトである１４２１の実行による値が保持されることになる。
【０３３９】
次に、処理Ｂである１４２の処理過程の１つであるアドレス０４へのリードである１４２２の実行について説明する。
【０３４０】
アドレス０４へのリードである１４２２を実行時、データ保持部１３００のアドレス０４に対応する記憶領域にはアドレス０４へのライトである１４２１の実行により書き込まれた値が保持されているため、保持データバス１３０８にはアドレス０４へのライトである１４２１の実行により書き込まれた値が出力される。
【０３４１】
また、状態保持部１３０１のアドレス０４に対応する記憶領域に保持される値は許可状態「１」が保持されているので、状態信号１３０９には「１」が出力される。
【０３４２】
よって、論理積演算器群１３０２１により読み出しデータバス１３０７には論理積演算結果として保持データバス１３０８と同一値が出力されることとなり、アドレス０４へのライトである１４２１の実行により書き込まれた値を読み出すことが可能である。
【０３４３】
以上のように本実施の形態による記憶装置では、リセット信号など外部からのなんらかの一括状態変更信号を必要せず、また、特定アドレスを無駄にすることなく、前処理により保存された情報を後処理により読み出すことを不可能とすることができる。
【０３４４】
この（実施の形態７）は（実施の形態１）だけではなく、（実施の形態２）（実施の形態３）（実施の形態４）（実施の形態５）においても同様に実施できる。
【図面の簡単な説明】
【０３４５】
【図１】本発明の（実施の形態１）における記憶装置の構成図
【図２】同実施の形態の処理装置０１の処理フローチャート
【図３】同実施の形態において図２の処理を実行中のデータ保持部１０および状態保持部１１の状態図
【図４】同実施の形態において図２の処理を実行中のデータ保持部１０および状態保持部１１の状態図
【図５】同実施の形態において図２の処理を実行中のデータ保持部１０および状態保持部１１の状態図
【図６】同実施の形態において図２の処理を実行中のデータ保持部１０および状態保持部１１の状態図
【図７】本発明の（実施の形態２）における記憶装置の構成図
【図８】同実施の形態の処理装置０３の処理フローチャート
【図９】本発明の（実施の形態２）において図８の処理を実行中のデータ保持部３０および状態保持部３１の状態図
【図１０】同実施の形態において図８の処理を実行中のデータ保持部３０および状態保持部３１の状態図
【図１１】同実施の形態において図８の処理を実行中のデータ保持部３０および状態保持部３１の状態図
【図１２】同実施の形態において図８の処理を実行中のデータ保持部３０および状態保持部３１の状態図
【図１３】同実施の形態において図８の処理を実行中のデータ保持部３０および状態保持部３１の状態図
【図１４】本発明の（実施の形態３）における記憶装置の構成図
【図１５】同実施の形態の処理装置０５の処理フローチャート
【図１６】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図１７】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図１８】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図１９】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図２０】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図２１】同実施の形態において図１５の処理を実行中のデータ保持部５０および状態保持部５１の状態図
【図２２】本発明の（実施の形態４）における記憶装置の構成図
【図２３】同実施の形態の処理装置０７の処理フローチャート
【図２４】同実施の形態において図２３の処理を実行中のデータ保持部７０および状態保持部７１の状態図
【図２５】同実施の形態において図２３の処理を実行中のデータ保持部７０および状態保持部７１の状態図
【図２６】本発明の（実施の形態４）において図２３の処理を実行中のデータ保持部７０および状態保持部７１の状態図
【図２７】同実施の形態において図２３の処理を実行中のデータ保持部７０および状態保持部７１の状態図
【図２８】同実施の形態において図２３の処理を実行中のデータ保持部７０および状態保持部７１の状態図
【図２９】本発明の（実施の形態５）における記憶装置の構成図
【図３０】同実施の形態の処理装置０９の処理フローチャート
【図３１】同実施の形態において図３０の処理を実行中のデータ保持部９０および状態保持部９１の状態図
【図３２】同実施の形態において図３０の処理を実行中のデータ保持部９０および状態保持部９１の状態図
【図３３】同実施の形態において図３０の処理を実行中のデータ保持部９０および状態保持部９１の状態図
【図３４】本発明の（実施の形態６）における記憶装置の構成図
【図３５】同実施の形態の処理装置００１１の処理フローチャート
【図３６】同実施の形態において図３５の処理を実行中のデータ保持部１１００および状態保持部１１０１の状態図
【図３７】同実施の形態において図３５の処理を実行中のデータ保持部１１００および状態保持部１１０１の状態図
【図３８】本発明の（実施の形態６）において図３５の処理を実行中のデータ保持部１１００および状態保持部１１０１の状態図
【図３９】同実施の形態において図３５の処理を実行中のデータ保持部１１００および状態保持部１１０１の状態図
【図４０】本発明の（実施の形態７）における記憶装置の構成図
【図４１】同実施の形態の処理装置００１３の処理フローチャート
【図４２】同実施の形態において図４１の処理を実行中のデータ保持部１３００および状態保持部１３０１の状態図
【図４３】同実施の形態において図４１の処理を実行中のデータ保持部１３００および状態保持部１３０１の状態図
【図４４】同実施の形態において図４１の処理を実行中のデータ保持部１３００および状態保持部１３０１の状態図
【図４５】同実施の形態において図４１の処理を実行中のデータ保持部１３００および状態保持部１３０１の状態図
【符号の説明】
【０３４６】
０１    処理装置
１    記憶装置
１０    データ保持部
１１    状態保持部
１２    マスク機構
１３    書き込みデータバス
１４    書き込み制御信号
１５    アクセスアドレスバス
１６    一括状態変更信号
１７    読み出しデータバス
１８    保持データバス
１９    状態信号
１２１    論理積演算器群
２０    処理Ａ
２１    リセット処理
２２    処理Ｂ
０３    処理装置
３    記憶装置
３０    データ保持部
３１    状態保持部
３２    マスク機構
３３    書き込みデータバス
３４    書き込み制御信号
３５    アクセスアドレスバス
３６    一括状態変更信号
３７    読み出しデータバス
３８    保持データバス
３９０    状態信号
３９１    強制許可信号
３９２    マスク制御信号
３９３    論理和演算器
３２１    論理積演算器群
０５    処理装置
５    記憶装置
５０    データ保持部
５１    状態保持部
５２    マスク機構
５３    書き込みデータバス
５４    書き込み制御信号
５５    アクセスアドレスバス
５６    一括状態変更信号
５７    読み出しデータバス
５８    保持データバス
５９    状態信号
５２１    論理積演算器群
５６１    第１の一括状態変更信号
５６２    第２の一括状態変更信号
５６３    論理和演算器
６０    処理Ａ
６１    リセット処理
６２    処理Ｂ
６３    プロセス切り替え処理
６４    処理Ｃ
０７    処理装置
７    記憶装置
７０    データ保持部
７１    状態保持部
７２    マスク機構
７３    書き込みデータバス
７４    書き込み制御信号
７５    アクセスアドレスバス
７７    読み出しデータバス
７８    保持データバス
７９    状態信号
７１１    第１状態保持部
７１２    第２状態保持部
７１３    第１状態信号
７１４    第２状態信号
７１５    論理和演算器
７２１    論理積演算器群
７６１    第１ブロック一括状態変更信号
７６２    第２ブロック一括状態変更信号
８０    処理Ａ
８１    リセット処理
８２    処理Ｂ
０９    処理装置
９    記憶装置
９０    データ保持部
９１    状態保持部
９２    マスク機構
９３    書き込みデータバス
９４    書き込み制御信号
９５    アクセスアドレスバス
９６    一括状態変更信号
９７    読み出しデータバス
９８    保持データバス
９９    状態信号
９２１    論理積演算器群
９２２    否定論理積演算器群
９２３    演算器選択機構
９２４    セレクタ
９２５    演算器選択信号
１００    処理Ａ
１０１    リセット処理
１０２    処理Ｂ
００１１    処理装置
１１    記憶装置
１１００    データ保持部
１１０１    状態保持部
１１０２    マスク機構
１１０３    書き込みデータバス
１１０４    書き込み制御信号
１１０５    アクセスアドレスバス
１１０６    一括状態変更信号
１１０７    読み出しデータバス
１１０８    保持データバス
１１０９    状態信号
１１１０    アクセスアドレス一致検出機構
１１０２１    論理積演算器群
１２０    処理Ａ
１２２    処理Ｂ
００１３    処理装置
１３    記憶装置
１３００    データ保持部
１３０１    状態保持部
１３０２    マスク機構
１３０３    書き込みデータバス
１３０５    アクセスアドレスバス
１３０６    一括状態変更信号
１３０７    読み出しデータバス
１３０８    保持データバス
１３０９    状態信号
１３１０    特定シーケンス検出機構
１３０２１    論理積演算器群
１３０４１    書き込み制御信号
１３０４２    読み出し制御信号
１４０    処理Ａ
１４２    処理Ｂ
【図１】
2005032020.tif 000003
【図２】
2005032020.tif 000004
【図３】
2005032020.tif 000005
【図４】
2005032020.tif 000006
【図５】
2005032020.tif 000007
【図６】
2005032020.tif 000008
【図７】
2005032020.tif 000009
【図８】
2005032020.tif 000010
【図９】
2005032020.tif 000011
【図１０】
2005032020.tif 000012
【図１１】
2005032020.tif 000013
【図１２】
2005032020.tif 000014
【図１３】
2005032020.tif 000015
【図１４】
2005032020.tif 000016
【図１５】
2005032020.tif 000017
【図１６】
2005032020.tif 000018
【図１７】
2005032020.tif 000019
【図１８】
2005032020.tif 000020
【図１９】
2005032020.tif 000021
【図２０】
2005032020.tif 000022
【図２１】
2005032020.tif 000023
【図２２】
2005032020.tif 000024
【図２３】
2005032020.tif 000025
【図２４】
2005032020.tif 000026
【図２５】
2005032020.tif 000027
【図２６】
2005032020.tif 000028
【図２７】
2005032020.tif 000029
【図２８】
2005032020.tif 000030
【図２９】
2005032020.tif 000031
【図３０】
2005032020.tif 000032
【図３１】
2005032020.tif 000033
【図３２】
2005032020.tif 000034
【図３３】
2005032020.tif 000035
【図３４】
2005032020.tif 000036
【図３５】
2005032020.tif 000037
【図３６】
2005032020.tif 000038
【図３７】
2005032020.tif 000039
【図３８】
2005032020.tif 000040
【図３９】
2005032020.tif 000041
【図４０】
2005032020.tif 000042
【図４１】
2005032020.tif 000043
【図４２】
2005032020.tif 000044
【図４３】
2005032020.tif 000045
【図４４】
2005032020.tif 000046
【図４５】
2005032020.tif 000047