(57)【要約】      （修正有）【課題】構造が簡単で消費電力のピークを低減したアクセス制御装置を提供する。【解決手段】データメモリ（ＤＭＥＭ）へのアクセスの権利を定義する複数の属性（ＡＴｉ）を保存する手段と、所定の数の属性を保存する本発明に係るキャッシュメモリ（ＣＭＥＭ、ＣＭＣ）と、キャッシュメモリ内に属性がない場合は属性を保存手段（ＤＭＥＭ、ＡＴＭＥＭ）内で検索する同期属性検索回路（ＡＳＣ２）とを備えたデータメモリへのアクセスを制御するアクセス制御装置。【選択図】図３
2005071380.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが、ソースデータと、前記ソースデータに関連するタグとを有するデータを保存する複数のワードラインを含むメモリアレイを備えた高速読み出しキャッシュメモリにおいて、
前記キャッシュメモリはさらに、
基準タグを受け取ると、同時に前記キャッシュメモリ内に存在する全てのタグを前記基準タグと比較し、前記基準タグと同一のタグが存在する場合、前記同一のタグに関連する前記ソースデータを選択し、出力部に送出する、アドレス復号器を介さずに前記キャッシュメモリの読み出しを行うハードワイヤード論理非同期回路を有するキャッシュメモリ管理回路を備えたことを特徴とする高速読み出しキャッシュメモリ。
【請求項２】
前記キャッシュメモリには、古いデータと新しいデータがあり、古いデータはより新しいデータよりも以前にメモリから読み出されたデータであり、より新しいデータは、より古いデータよりもより最近に読み出されたデータであり、より新しいデータは、前記キャッシュメモリにより古いデータよりも以前に保存された場合があり、
前記キャッシュメモリ管理回路は、最も古いデータを前記キャッシュメモリから排除して新しいデータと古いデータをスタックとして所定の順番に従って前記キャッシュメモリ内のデータを保存することにより前記キャッシュメモリを更新する更新回路を備えたことを特徴とする請求項１に記載の高速読み出しキャッシュメモリ。
【請求項３】
前記更新回路は、新しいデータをスタックの上部に保存し、前記キャッシュメモリに既に存在するデータはスタックの下部に移動させ、スタックが満杯の場合はスタックの下部のデータをスタックから排除することを特徴とする請求項２に記載のキャッシュメモリ。
【請求項４】
前記更新回路は、前記キャッシュメモリから読み出されたデータをスタックの上部に配置し、前記キャッシュメモリ内に前記読み出されたデータより上部に既に存在したデータはスタックの下部に移動させ、スタックが満杯の場合はスタックの最下部のデータをスタックから排除することを特徴とする請求項３に記載のキャッシュメモリ。
【請求項５】
前記論理非同期回路は、同時に前記キャッシュメモリ内に存在する複数のタグを前記基準タグと比較する、複数の比較器と、前記基準タグと同一のタグが存在する場合に前記同一のタグに関連する前記ソースデータを選択し、出力部に送出する、複数の多重化器を備えたことを特徴とする請求項１から請求項４までの何れかに記載の高速読み出しキャッシュメモリ。
【請求項６】
更に、複数の属性を保存する保存手段に電気的に接続する接続手段を有し、各属性は、データメモリの所定の保護されたメモリ領域に関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義し、前記接続手段は、前記キャッシュメモリが属性をソースデータとして保存し、保護されたメモリ領域のアドレスが、前記ソースデータと関連付けられたタグとして、前記属性と関連付けられていることを特徴とする請求項１から請求項５までの何れかに記載の高速読み出しキャッシュメモリ。
【請求項７】
前記メモリアレイは、所定の時間間隔でリフレッシュ信号を受信する複数の論理ラッチを有することを特徴とする請求項１から請求項７までの何れかに記載の高速読み出しキャッシュメモリ。
【請求項８】
読み出し／書き込みアクセスコマンドを受け取ると、保護されたメモリ領域を有したデータメモリへのアクセスを制御するアクセス制御装置において、前記アクセス制御装置は、
それぞれが所定の保護されたメモリ領域と関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義する、複数の属性を保存する保存手段と、
アクセスコマンドが前記データメモリへ送出された際に、前記アクセスコマンドが示す保護されたメモリ領域に対応する属性を読み出す手段と、
所定の数の属性を保存するキャッシュメモリとを備え、
前記キャッシュメモリは、
それぞれが属性と、前記属性に関連する保護されたメモリ領域のアドレスとを保存するワードラインと、
アクセスコマンドが前記データメモリに送出されると、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する属性を前記キャッシュメモリ内で検索し、前記属性が存在する場合、前記属性を送出する、アドレス復号器を介さずに前記キャッシュメモリ内の属性の検索を行う非同期属性検索回路を有するキャッシュメモリを管理するキャッシュメモリ管理回路を有し、前記アクセス制御装置はさらに、
前記属性が前記キャッシュメモリ内にない場合に、前記保存手段内で属性を検索する同期属性検索回路を備えたことを特徴とするアクセス制御装置。
【請求項９】
前記キャッシュメモリ管理回路は、前記同期属性検索回路により前記保存手段から読み出された属性を前記キャッシュメモリに保存することを特徴とする請求項８に記載のアクセス制御装置。
【請求項１０】
前記キャッシュメモリ管理回路は、各属性とともに、前記属性が関連する前記データメモリの保護された領域のアドレスを前記キャッシュメモリに保存することを特徴とする請求項９に記載のアクセス制御装置。
【請求項１１】
前記非同期属性検索回路は、前記キャッシュメモリに前記属性とともに保存された前記保護されたメモリ領域のアドレスが、前記データメモリに送出された前記アクセスコマンドが示す前記保護されたメモリ領域のアドレスと一致する場合に、属性を送出することを特徴とする請求項１０に記載のアクセス制御装置。
【請求項１２】
前記非同期属性検索回路は、同時に前記キャッシュメモリ内に保存された複数の保護されたメモリ領域のアドレスと前記データメモリに送出された前記アクセスコマンドが示す保護されたメモリ領域のアドレスとを比較する複数の比較器を有することを特徴とする請求項１１に記載のアクセス制御装置。
【請求項１３】
前記キャッシュメモリの前記メモリアレイは、前記キャッシュメモリのメモリセルを構成する複数の論理ラッチを有することを特徴とする請求項８から請求項１２までの何れかに記載のアクセス制御装置。
【請求項１４】
前記キャッシュメモリは、前記保存手段に保存された属性の数より少ない所定の数の属性を保存し、前記キャッシュメモリ管理回路は、前記キャッシュメモリのデータをスタックとして管理して、前記キャッシュメモリから最後に読み出された属性はスタックの上部に、スタックに既に存在する属性はスタックの下部に移動させて前記キャッシュメモリを更新するキャッシュメモリ更新回路を有することを特徴とする請求項８から請求項１３までの何れかに記載のアクセス制御装置。
【請求項１５】
前記キャッシュメモリ更新回路は、前記同期属性検索回路により前記保存手段から読み出された新しい属性はスタックの上部に保存し、スタックに既に存在するその他の属性はスタックの下部に移動することを特徴とする請求項１４に記載のアクセス制御装置。
【請求項１６】
前記保存手段は、前記データメモリの専用領域により構成され、前記同期属性検索回路は、アクセスコマンドが前記データメモリに送出された際に、
前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合は前記アクセスコマンドを遮断し、
前記遮断されたアクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を前記データメモリの前記専用領域から読み出し、
その後に前記アクセスコマンドを前記データメモリに送出することを特徴とする請求項８から請求項１５までの何れかに記載のアクセス制御装置。
【請求項１７】
アクセスコマンドは少なくとも１つのアクセス信号と１つのアクセスアドレスとを有し、前記同期属性検索回路は、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合、
前記アクセス信号および前記アクセスアドレスが前記データメモリへ送られることを回避し、
前記データメモリが前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を送出するように、前記属性に専用の前記専用領域に対応するアクセスアドレスおよび読み出しアクセス信号を前記データメモリに送出することを特徴とする請求項１６に記載のアクセス制御装置。
【請求項１８】
前記同期属性検索回路、前記キャッシュメモリ管理回路、および前記データメモリは、それぞれ周期のずれたクロック信号と同期していることを特徴とする請求項１６から請求項１７までの何れかに記載のアクセス制御装置。
【請求項１９】
属性が前記データメモリ内で検索されている間、前記同期属性検索回路は待機信号を、前記アクセス信号を送出する信号送出装置に送出することを特徴とする請求項１６から請求項１８までの何れかに記載のアクセス制御装置
【請求項２０】
前記信号送出装置は、前記待機信号が存在する間、アクセスコマンドを保持するようにプログラムされた中央演算処理装置であることを特徴とする請求項１９に記載のアクセス制御装置。
【請求項２１】
更に、前記データメモリに送出された前記アクセスコマンドの性質と、前記属性の値に応じて、前記データメモリへのアクセスを認証または拒否する信号を送出する制御回路を備えたことを特徴とする請求項８から請求項２０までの何れかに記載のアクセス制御装置。
【請求項２２】
読み出し／書き込みアクセスコマンドを受け取ると、それぞれがデータメモリ内の所定の保護されたメモリ領域と関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義する、保存手段に保存された複数の属性と、キャッシュメモリに保存された、前記保存手段に保存された属性の数より少ない所定の数の属性とを使用して、保護されたメモリ領域を有したデータメモリへのアクセスを制御するアクセス制御方法において、前記方法は、アクセスコマンドが前記データメモリに送出された際に属性を検索する属性検索ステップを有し、さらに前記属性検索ステップは、
アドレス復号器を介さずに、前記キャッシュメモリ内で前記アクセスコマンドが示す保護されたメモリ領域に対応する属性を検索し、前記属性が前記キャッシュメモリ内に存在する場合は、前記属性を読み出す非同期キャッシュメモリ検索ステップと、
前記属性が前記キャッシュメモリ内に存在しない場合は、前記属性を前記保存手段内で検索する非同期保存手段検索ステップとを有することを特徴とするアクセス制御方法。
【請求項２３】
更に、前記キャッシュメモリに発見されず、前記保存手段から読み出され属性を前記キャッシュメモリに保存するステップを有することを特徴とする請求項２２に記載のアクセス制御方法。
【請求項２４】
更に、各属性とともに、前記属性が関連する前記データメモリの保護された領域のアドレスを前記キャッシュメモリに保存するステップを有することを特徴とする請求項２３に記載のアクセス制御方法。
【請求項２５】
前記非同期キャッシュメモリ検索ステップは、同時に前記キャッシュメモリ内に保存された複数の保護されたメモリ領域のアドレスと前記データメモリに送出された前記アクセスコマンドが示す保護されたメモリ領域のアドレスとを比較する複数の比較ステップを有することを特徴とする請求項２４に記載のアクセス制御方法。
【請求項２６】
更に、前記キャッシュメモリのデータをスタックとして管理して、前記キャッシュメモリから最後に読み出された属性はスタックの上部に、スタックに既に存在する属性はスタックの下部に移動させて前記キャッシュメモリを更新するキャッシュメモリ更新ステップを有することを特徴とする請求項２２から請求項２５までの何れかに記載のアクセス制御方法。
【請求項２７】
前記キャッシュメモリ更新ステップは、前記保存手段から読み出された新しい属性をスタックの上部に保存し、スタックに既に存在するその他の属性はスタックの下部に移動することを特徴とする請求項２６に記載のアクセス制御方法。
【請求項２８】
前記保存手段は、前記データメモリの専用領域により構成され、前記属性検索ステップは更に、
前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合は前記アクセスコマンドを遮断するステップと、
前記遮断されたアクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を前記データメモリの前記専用領域から読み出すステップと、
前記アクセスコマンドを前記データメモリに送出するステップとを有することを特徴とする請求項２２から請求項２７までの何れかに記載のアクセス制御方法。
【請求項２９】
アクセスコマンドは少なくとも１つのアクセス信号と１つのアクセスアドレスとを有し、前記属性検索ステップは更に、
前記アクセス信号および前記アクセスアドレスが前記データメモリへ送られることを回避するステップと、
前記データメモリが前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を送出するように、前記属性に専用の前記専用領域に対応するアクセスアドレスおよび読み出しアクセス信号を前記データメモリに送出するステップとを有することを特徴とする請求項２８に記載のアクセス制御方法。
【請求項３０】
更に、それぞれ周期のずれた第１クロック信号と、第２クロック信号と、第３クロック信号とを生成するクロック信号生成ステップと、
前記第１クロック信号の立ち上がり端が現れると、前記キャッシュメモリ内で属性を検索するステップを有し、
（１）  前記キャッシュメモリ内に前記属性が発見された場合、前記第２クロック信号の立ち上がり端が現れた時に、前記データメモリに前記アクセスコマンドを送出するステップと、
（２）  前記キャッシュメモリ内に前記属性が発見されなかった場合、
前記第２クロック信号の立ち上がり端が現れた時に、読み出しアドレスと読み出し信号を前記データメモリに送出するステップと、
前記第３クロック信号の立ち上がり端が現れた時に、前記データメモリから前記属性を読み出すステップと、
前記第１クロック信号の２番目の立ち上がり端が現れた時に、前記属性を前記キャッシュメモリに保存するステップと、
前記第２クロック信号の２番目の立ち上がり端が現れた時に、前記アクセスコマンドを前記データメモリに送出するステップとを有することを特徴とする請求項２８または請求項２９の何れかに記載のアクセス制御方法。
【請求項３１】
更に、属性が前記データメモリ内で検索されている間、前記アクセス信号を送出する信号送出装置に待機信号を送出するステップを有することを特徴とする請求項２２から請求項３０までの何れかに記載のアクセス制御方法。
【請求項３２】
前記信号送出装置は、前記待機信号が存在する間、アクセスコマンドを保持するようにプログラムされた中央演算処理装置であることを特徴とする請求項３１に記載のアクセス制御方法。
【請求項３３】
更に、前記データメモリに送出された前記アクセスコマンドの性質と、前記属性の値に応じて、前記データメモリへのアクセスを認証または拒否する信号を送出する制御ステップを有することを特徴とする請求項２２から請求項３２までの何れかに記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データメモリの保護されたメモリ領域への認証を定義する属性を使用してデータメモリへのアクセスを制御する方法および装置に関する。
【背景技術】
【０００２】
各種の用途で、データメモリはしばしば、プログラムコードを含めて、書き込み、読み出し、または実行を制限された情報を有している。したがって、そのような情報へのアクセスは制御される必要がある。
【０００３】
アクセス制御は、特に、スマートカードの集積回路で、暗証コード、ＩＤ番号、暗号化キーなどの秘密情報を有したメモリに提供されている。秘密情報に対するアクセス制御の一例として、オペレーティングシステムの制御下で、ユーザプログラムによる読み出しができない状態で、セッションが開いた際に、マイクロプロセッサにより情報を読み出すことを許可するアクセス制御がある。これを「読み出し制限アクセス」と呼ぶ。情報に対するもう一つのアクセス制御の例として、各種のプログラムにより読み出すことは許可するが、再び書き込むことを不可とするアクセス制御がある。これを「書き込み制限アクセス」と呼ぶ。
【０００４】
アクセス制御を確実に行うため、データは認証アクセス制御の種類、すなわち認証レベルを同一とするデータごとにグループ化され、グループごとに対応する所定のメモリ領域内に記憶される。このメモリ領域は、それぞれに認められたアクセス認証に対応する情報に関連付けられている。アクセス認証に対応する情報はバイナリワードの形式で符号化されており、これを「属性」と呼ぶ。属性の総数は、それぞれが特定の認証レベルを有する保護されたメモリ領域の数に応じて異なる。
【０００５】
ＣＰＵ（マイクロプロセッサ中央演算処理装置）とデータメモリＤＭＥＭとを有する集積回路に実装される従来のアクセス制御装置の構成の概要を図１７に示す。ＣＰＵおよびデータメモリＤＭＥＭは、データバスＤＴＢとアドレスバスＡＤＢにより接続されている。ＣＰＵは読み出しアクセスコマンドＣＭＤまたは読み出し／書き込みアクセスコマンドをデータメモリＤＭＥＭに送信する。データメモリＤＭＥＭは複数のセクタにより構成されており、それぞれのセクタが属性により決定される保護レベルを有するメモリ領域を形成している。これらのメモリ領域は、例えば、それぞれが複数のバイナリワード、すなわちバイナリワードＷ０からＷｎを有するページＰｉを構成する。より詳細には、読み出しアクセスコマンドＣＭＤは、データメモリＤＭＥＭの読み出しのみが許可されたメモリ領域に、読み出し／書き込みアクセスコマンドは、データメモリＤＭＥＭの読み出しおよび書き込みが許可されたメモリ領域に送出される。
【０００６】
従来のアクセス制御装置は主に、回路ＭＡＣ（メモリアクセスコントローラ）と、それぞれがデータメモリＤＭＥＭの保護されたメモリ領域の１つであるＰｉに対応する、複数の属性ＡＴｉを有する属性メモリＡＴＭＥＭとから構成される。
【０００７】
ＣＰＵがコマンドＣＭＤをデータメモリＤＭＥＭへ送信する場合、例えば、読み出しコマンドをデータメモリから読み出されるバイナリワードのアドレスＡＤｒｗとともに送信したとすると、属性メモリＡＴＭＥＭは、回路ＭＡＣに、バイナリワードを読み出す必要のあるページＰｉに対応する属性ＡＴｉを与える。回路ＭＡＣは、コマンドＣＭＤとその属性の内容に応じて、このアクセスを認証するか否かを判断する。回路ＭＡＣが、例えば、割込信号の形式で禁止信号ＩＴを送信すると、禁止信号ＩＴは割込復号器ＩＴＤＥＣに送られ、割込復号器ＩＴＤＥＣは割込ベクタＩＴＶをＣＰＵに送信する。
【０００８】
回路ＭＡＣは、例えば、ＣＰＵのオペレーティングモード（「ユーザ」モード、「オペレーティングシステム」モード、「テスト」モード、その他）など、その他の情報を考慮して、アクセス認証を判断することもできる。
【０００９】
上述のアクセス制御装置は、データメモリへのアクセスと同時に属性が読み出され、アクセスが遮断される場合は、データメモリへのアクセスを実行中のクロックサイクル時、あるいはその次のクロックサイクル時に割込信号が送信されるため、ＣＰＵの処理が迅速で、かつユーザに対して透明性があるという長所がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
その一方で、上述のアクセス制御装置は以下に記載する様々な欠点も有している。
【００１１】
第１に、属性メモリＡＴＭＥＭは、シリコンの表面部の領域を相当部分占有する。属性メモリは、実際、データメモリ、例えば、ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）メモリアレイまたはフラッシュ（ＦＬＡＳＨ）メモリアレイ（電気的に消去およびプログラム可能）、ＲＯＭメモリアレイ（読み出し専用）、ＲＡＭメモリアレイ（読み出しおよび書き込みアクセスが可能で、集積回路をリセットするごとに初期化される揮発性メモリアレイ）、などのメモリアレイと同じ種類のメモリアレイを有している。このメモリアレイへのアクセスは、アドレス復号器、センス増幅器、チャージポンプ（例えば、電気的に消去およびプログラム可能なメモリアレイ用）、などの制御回路を必要とする。さらに、これらの各種の制御回路、メモリアレイ自体は、複雑で、扱いが面倒である。
【００１２】
第２に、データメモリＤＭＥＭからのデータの読み出しと、属性メモリＡＴＭＥＭからの属性の読み出しが同時に行われるため、それぞれのメモリのセンス増幅器と復号器が同時に作動することから、電力消費のピークが大幅に増大する。
【００１３】
アクセス制御装置のもう一つの例の概要を図１８に示す。このアクセス制御装置では、属性はデータメモリ自体に保存され、各種の保護されたページの間、すなわち、ページＰｉに対応する属性ＡＴｉごとに分散される。ページＰｉのバイナリワードＷ０からＷｎが読み出されると、同じページに保存されている、対応する属性ＡＴｉが同時に読み出され、回路ＭＡＣに送信される。
【００１４】
この解決手段は、専用の属性メモリの装備を回避することができるが、複雑なカラム復号器と、データを読み出している間に平行して属性を読み出すためのセンス増幅器を追加する必要があり、センス増幅器がすべて同時に作動する時、電力消費のピークが継続してしまうという欠点がある。
【００１５】
したがって、本発明は、従来のアクセス制御装置を完成することを目的とする。
【００１６】
この目的を達成するため、本発明の高速読み出しキャッシュメモリは、それぞれが、ソースデータと、前記ソースデータに関連するタグとを有するデータを保存する複数のワードラインを含むメモリアレイを備えた高速読み出しキャッシュメモリにおいて、前記キャッシュメモリはさらに、基準タグを受け取ると、同時に前記キャッシュメモリ内に存在する全てのタグを前記基準タグと比較し、前記基準タグと同一のタグが存在する場合、前記同一のタグに関連する前記ソースデータを選択し、出力部に送出する、アドレス復号器を介さずに前記キャッシュメモリの読み出しを行うハードワイヤード論理非同期回路を有するキャッシュメモリ管理回路を備えた構成を有している。
【００１７】
また、本発明の高速読み出しキャッシュメモリは、前記キャッシュメモリには、古いデータと新しいデータがあり、古いデータはより新しいデータよりも以前にメモリから読み出されたデータであり、より新しいデータは、より古いデータよりもより最近に読み出されたデータであり、より新しいデータは、前記キャッシュメモリにより古いデータよりも以前に保存された場合があり、前記キャッシュメモリ管理回路は、最も古いデータを前記キャッシュメモリから排除して新しいデータと古いデータをスタックとして所定の順番に従って前記キャッシュメモリ内のデータを保存することにより前記キャッシュメモリを更新する更新回路を備えた構成を有している。
【００１８】
また、本発明の高速読み出しキャッシュメモリは、前記更新回路は、新しいデータをスタックの上部に保存し、前記キャッシュメモリに既に存在するデータはスタックの下部に移動させ、スタックが満杯の場合はスタックの下部のデータをスタックから排除する構成を有している。
【００１９】
また、本発明の高速読み出しキャッシュメモリは、前記更新回路は、前記キャッシュメモリから読み出されたデータをスタックの上部に配置し、前記キャッシュメモリ内に前記読み出されたデータより上部に既に存在したデータはスタックの下部に移動させ、スタックが満杯の場合はスタックの最下部のデータをスタックから排除することを特徴とする構成を有している。
【００２０】
また、本発明の高速読み出しキャッシュメモリは、前記論理非同期回路は、同時に前記キャッシュメモリ内に存在する複数のタグを前記基準タグと比較する、複数の比較器と、前記基準タグと同一のタグが存在する場合に前記同一のタグに関連する前記ソースデータを選択し、出力部に送出する、複数の多重化器を備えた構成を有している。
【００２１】
また、本発明の高速読み出しキャッシュメモリは、更に、複数の属性を保存する手段に電気的に接続する接続手段を有し、各属性は、データメモリの所定の保護されたメモリ領域に関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義し、前記接続手段は、前記キャッシュメモリが属性をソースデータとして保存し、保護されたメモリ領域のアドレスが、前記ソースデータと関連付けられたタグとして、前記属性と関連付けられていることを特徴とする構成を有している。
【００２２】
また、本発明の高速読み出しキャッシュメモリは、前記メモリアレイは、所定の時間間隔でリフレッシュ信号を受信する複数の論理ラッチを有する構成を有している。
【００２３】
本発明のアクセス制御装置は、読み出し／書き込みアクセスコマンドを受け取ると、保護されたメモリ領域を有したデータメモリへのアクセスを制御するアクセス制御装置において、前記アクセス制御装置は、それぞれが所定の保護されたメモリ領域と関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義する、複数の属性を保存する保存手段と、アクセスコマンドが前記データメモリへ送出された際に、前記アクセスコマンドが示す保護されたメモリ領域に対応する属性を読み出す手段と、所定の数の属性を保存するキャッシュメモリとを備え、前記キャッシュメモリは、それぞれが属性と、前記属性に関連する保護されたメモリ領域のアドレスとを保存するワードラインと、アクセスコマンドが前記データメモリに送出されると、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する属性を前記キャッシュメモリ内で検索し、前記属性が存在する場合、前記属性を送出する、アドレス復号器を介さずに前記キャッシュメモリ内の属性の検索を行う非同期属性検索回路を有するキャッシュメモリを管理するキャッシュメモリ管理回路を有し、前記アクセス制御装置はさらに、前記属性が前記キャッシュメモリ内にない場合に、前記保存手段内で属性を検索する同期属性検索回路を備えたことを特徴とする構成を有している。
【００２４】
また、本発明のアクセス制御装置は、前記キャッシュメモリ管理回路は、前記同期属性検索回路により前記保存手段から読み出された属性を前記キャッシュメモリに保存することを特徴とする構成を有している。
【００２５】
また、本発明のアクセス制御装置は、前記キャッシュメモリ管理回路は、各属性とともに、前記属性が関連する前記データメモリの保護された領域のアドレスを前記キャッシュメモリに保存することを特徴とする構成を有している。
【００２６】
また、本発明のアクセス制御装置は、前記非同期属性検索回路は、前記キャッシュメモリに前記属性とともに保存された前記保護されたメモリ領域のアドレスが、前記データメモリに送出された前記アクセスコマンドが示す前記保護されたメモリ領域のアドレスと一致する場合に、属性を送出することを特徴とする構成を有している。
【００２７】
また、本発明のアクセス制御装置は、前記非同期属性検索回路は、同時に前記キャッシュメモリ内に保存された複数の保護されたメモリ領域のアドレスと前記データメモリに送出された前記アクセスコマンドが示す保護されたメモリ領域のアドレスとを比較する複数の比較器を有することを特徴とする構成を有している。
【００２８】
また、本発明のアクセス制御装置は、前記キャッシュメモリの前記メモリアレイは、前記キャッシュメモリのメモリセルを構成する複数の論理ラッチを有することを特徴とする構成を有している。
【００２９】
また、本発明のアクセス制御装置は、前記キャッシュメモリは、前記保存手段に保存された属性の数より少ない所定の数の属性を保存し、前記キャッシュメモリ管理回路は、前記キャッシュメモリのデータをスタックとして管理して、前記キャッシュメモリから最後に読み出された属性はスタックの上部に、スタックに既に存在する属性はスタックの下部に移動させて前記キャッシュメモリを更新するキャッシュメモリ更新回路を有する構成を有している。
【００３０】
また、本発明のアクセス制御装置は、前記キャッシュメモリ更新回路は、前記同期属性検索回路により前記保存手段から読み出された新しい属性はスタックの上部に保存し、スタックに既に存在するその他の属性はスタックの下部に移動することを特徴とする構成を有している。
【００３１】
また、本発明のアクセス制御装置は、前記保存手段は、前記データメモリの専用領域により構成され、前記同期属性検索回路は、アクセスコマンドが前記データメモリに送出された際に、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合は前記アクセスコマンドを遮断し、前記遮断されたアクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を前記データメモリの前記専用領域から読み出し、その後に前記アクセスコマンドを前記データメモリに送出することを特徴とする構成を有している。
【００３２】
また、本発明のアクセス制御装置は、アクセスコマンドは少なくとも１つのアクセス信号と１つのアクセスアドレスとを有し、前記同期属性検索回路は、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合、前記アクセス信号および前記アクセスアドレスが前記データメモリへ送られることを回避し、前記データメモリが前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を送出するように、前記属性に専用の前記専用領域に対応するアクセスアドレスおよび読み出しアクセス信号を前記データメモリに送出することを特徴とする構成を有している。
【００３３】
また、本発明のアクセス制御装置は、前記同期属性検索回路、前記キャッシュメモリ管理回路、および前記データメモリは、それぞれ周期のずれたクロック信号と同期していることを特徴とする構成を有している
また、本発明のアクセス制御装置は、属性が前記データメモリ内で検索されている間、前記同期属性検索回路は待機信号を、前記アクセス信号を送出する信号送出装置に送出することを特徴とする構成を有している
また、本発明のアクセス制御装置は、前記信号送出装置は、前記待機信号が存在する間、アクセスコマンドを保持するようにプログラムされた中央演算処理装置であることを特徴とする構成を有している。
【００３４】
また、本発明のアクセス制御装置は、更に、前記データメモリに送出された前記アクセスコマンドの性質と、前記属性の値に応じて、前記データメモリへのアクセスを認証または拒否する信号を送出する制御回路を備えたことを特徴とする構成を有している。
【００３５】
本発明のアクセス制御方法は、読み出し／書き込みアクセスコマンドを受け取ると、それぞれがデータメモリ内の所定の保護されたメモリ領域と関連付けられており、前記所定の保護されたメモリ領域へのアクセスの認証を定義する、保存手段に保存された複数の属性と、キャッシュメモリに保存された、前記保存手段に保存された属性の数より少ない所定の数の属性とを使用して、保護されたメモリ領域を有したデータメモリへのアクセスを制御するアクセス制御方法において、前記方法は、アクセスコマンドが前記データメモリに送出された際に属性を検索する属性検索ステップを有し、さらに前記属性検索ステップは、
アドレス復号器を介さずに、前記キャッシュメモリ内で前記アクセスコマンドが示す保護されたメモリ領域に対応する属性を検索し、前記属性が前記キャッシュメモリ内に存在する場合は、前記属性を読み出す非同期キャッシュメモリ検索ステップと、前記属性が前記キャッシュメモリ内に存在しない場合は、前記属性を前記保存手段内で検索する非同期保存手段検索ステップとを有することを特徴とする構成を有している。
【００３６】
また、本発明のアクセス制御方法は、更に、前記キャッシュメモリに発見されず、前記保存手段から読み出され属性を前記キャッシュメモリに保存するステップを有することを特徴とする構成を有している。
【００３７】
また、本発明のアクセス制御方法は、更に、各属性とともに、前記属性が関連する前記データメモリの保護された領域のアドレスを前記キャッシュメモリに保存するステップを有することを特徴とする構成を有している。
【００３８】
また、本発明のアクセス制御方法は、前記非同期キャッシュメモリ検索ステップは、同時に前記キャッシュメモリ内に保存された複数の保護されたメモリ領域のアドレスと前記データメモリに送出された前記アクセスコマンドが示す保護されたメモリ領域のアドレスとを比較する複数の比較ステップを有することを特徴とする構成を有している。
【００３９】
また、本発明のアクセス制御方法は、更に、前記キャッシュメモリのデータをスタックとして管理して、前記キャッシュメモリから最後に読み出された属性はスタックの上部に、スタックに既に存在する属性はスタックの下部に移動させて前記キャッシュメモリを更新するキャッシュメモリ更新ステップを有することを特徴とする構成を有している。
【００４０】
また、本発明のアクセス制御方法は、前記キャッシュメモリ更新ステップは、前記保存手段から読み出された新しい属性をスタックの上部に保存し、スタックに既に存在するその他の属性はスタックの下部に移動することを特徴とする構成を有している。
【００４１】
また、本発明のアクセス制御方法は、前記保存手段は、前記データメモリの専用領域により構成され、前記属性検索ステップは更に、前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性が前記キャッシュメモリ内に存在しない場合は前記アクセスコマンドを遮断するステップと、前記遮断されたアクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を前記データメモリの前記専用領域から読み出すステップと、前記アクセスコマンドを前記データメモリに送出するステップとを有することを特徴とする構成を有している。
【００４２】
また、本発明のアクセス制御方法は、アクセスコマンドは少なくとも１つのアクセス信号と１つのアクセスアドレスとを有し、前記属性検索ステップは更に、前記アクセス信号および前記アクセスアドレスが前記データメモリへ送られることを回避するステップと、前記データメモリが前記アクセスコマンドが示す前記保護されたメモリ領域に対応する前記属性を送出するように、前記属性に専用の前記専用領域に対応するアクセスアドレスおよび読み出しアクセス信号を前記データメモリに送出するステップとを有することを特徴とする構成を有している。
【００４３】
また、本発明のアクセス制御方法は、更に、それぞれ周期のずれた第１クロック信号と、第２クロック信号と、第３クロック信号とを生成するクロック信号生成ステップと、前記第１クロック信号の立ち上がり端が現れると、前記キャッシュメモリ内で属性を検索するステップを有し、（１）前記キャッシュメモリ内に前記属性が発見された場合、前記第２クロック信号の立ち上がり端が現れた時に、前記データメモリに前記アクセスコマンドを送出するステップと、（２）前記キャッシュメモリ内に前記属性が発見されなかった場合、前記第２クロック信号の立ち上がり端が現れた時に、読み出しアドレスと読み出し信号を前記データメモリに送出するステップと、前記第３クロック信号の立ち上がり端が現れた時に、前記データメモリから前記属性を読み出すステップと、前記第１クロック信号の２番目の立ち上がり端が現れた時に、前記属性を前記キャッシュメモリに保存するステップと、前記第２クロック信号の２番目の立ち上がり端が現れた時に、前記アクセスコマンドを前記データメモリに送出するステップとを有することを特徴とする構成を有している。
【００４４】
また、本発明のアクセス制御方法は、更に、属性が前記データメモリ内で検索されている間、前記アクセス信号を送出する信号送出装置に待機信号を送出するステップを有することを特徴とする構成を有している。
【００４５】
また、本発明のアクセス制御方法は、前記信号送出装置は、前記待機信号が存在する間、アクセスコマンドを保持するようにプログラムされた中央演算処理装置であることを特徴とする構成を有している。
【００４６】
また、本発明のアクセス制御方法は、更に、前記データメモリに送出された前記アクセスコマンドの性質と、前記属性の値に応じて、前記データメモリへのアクセスを認証または拒否する信号を送出する制御ステップを有することを特徴とする構成を有している。
【発明の効果】
【００４７】
以上に説明したように、本発明によれば、構造が簡単で消費電力のピークを低減したアクセス制御装置を提供することができる。
【発明を実施するための最良の形態】
【００４８】
以下、本発明の実施の形態について、図面を用いて説明する。
（本発明に係る第１の実施の形態のアクセス制御装置）
まず、本発明に係る第１の実施の形態のアクセス制御装置の構成について図１を参照して説明する。
【００４９】
図１に示すように、本実施の形態のアクセス制御装置は、ＣＰＵ（マイクロプロセッサ中央演算処理装置）とデータメモリＤＭＥＭとを有している。ＣＰＵは、クロック信号生成器ＣＫＧＥＮにより生成されるクロック信号ＣＫ０に合わせて動作する。ＣＰＵは、データメモリＤＭＥＭに読み出し／書き込みを行うアドレスＡＤｒｗ、データメモリＤＭＥＭを選択する信号ＳＥＬ、および読み出し／書き込み信号ＲＷとを含むアクセスコマンドをデータメモリＤＭＥＭに送る。ここで、信号ＲＷは読み出し動作の場合は１、書き込み動作の場合は０とする。さらに、ＣＰＵは、アドレスＡＤｒｗを出力する出力部ＡＤＯＵＴと、データメモリＤＭＥＭの入力部ＤＴＩＮに連結され、データＤＴ１を出力する出力部ＤＴＯＵＴを有する。
【００５０】
アクセス制御装置は、本発明に係る同期属性検索回路ＡＳＣ１と、ＣＰＵがアクセスコマンドをデータメモリＤＭＥＭに送信する際に、属性ＡＴを受信する従来の制御回路ＭＡＣとを有する。アクセスが認証されない場合、制御回路ＭＡＣは、例えば、割込信号ＩＴなどの禁止信号を割込復号器ＩＴＤＥＣに送る。割込復号器ＩＴＤＥＣは、ＣＰＵに、割込ベクタＩＴＶおよび／またはハードウェアリセット信号ＲＥＳＴを送る。ここで、割込ベクタＩＴＶとは、禁止処理を実行するプログラムのアドレス、またはソフトウェアハードリセットサブプログラムなどのサブプログラムのアドレスへのジャンプを実行するサブプログラムのアドレスを含む。
【００５１】
本発明の第１の態様によると、メモリの保護されたページへのアクセス権を定義する属性は、データメモリＤＭＥＭの専用のメモリ領域ＤＺに保存される。
【００５２】
図２を参照して、８ビットでアドレス指定されるメモリを有するデータメモリＤＭＥＭの一例について説明する。図２で、メモリのアドレスはＡＤｒｗで示されている。データメモリＤＭＥＭは、メモリアレイＭＡと、ワードライン復号器ＲＤＥＣと、カラム復号器ＣＤＥＣ、読み出し回路ＳＣＴ、および書き込み回路ＰＬＣＴとを有している。メモリアレイＭＡは、例えば、フラッシュ（ＦＬＡＳＨ）型メモリアレイ、またはＥＥＰＲＯＭ（electrically erasable programmable read-only memory）型メモリアレイでもよい。
【００５３】
ワードライン復号器ＲＤＥＣは、アドレスＡＤｒｗの４個の最上位ビットＭＳＢ（ＡＤｒｗ）を受け取る。カラム復号器ＣＤＥＣは、アドレスＡＤｒｗの４個の最下位ビットＬＳＢ（ＡＤｒｗ）を受け取る。ここで、アドレスＡＤｒｗの４個の最上位ビットＭＳＢ（ＡＤｒｗ）、アドレスＡＤｒｗの４個の最下位ビットＬＳＢ（ＡＤｒｗ）とは、それぞれ、８ビットからなるアドレスＡＤｒｗの上位４ビット、下位４ビットを指すものとする。書き込み回路ＰＬＣＴは、プログラミングラッチ（図示されていない）と、ＣＰＵにより送られるデータＤＴ２を受け取るデータメモリＤＭＥＭの入力部ＤＴＩＮを構成する入力部とを備えている。読み出し回路ＳＣＴは、センス増幅器（図示されていない）と、メモリアレイＭＡで読み出されたデータＤＴ１を送り出すデータメモリＤＭＥＭの出力部ＤＴＯＵＴを構成する出力部とを備えている。読み出し回路ＳＣＴと書き込み回路ＰＬＣＴは、メモリアレイＭＡとカラム復号器ＣＤＥＣを介して連結されており、読み出し／書き込み信号、ここでは後述するＲＷＦを受信する。
【００５４】
ここで、メモリアレイＭＡは、それぞれが所定の保護レベルを有する１６個のページＰ０からＰ１５を備えている。各ページは、複数のバイナリワード、例えば１６個の８ビットからなるバイナリワードＷ０からＷ１５、を受け取るようになっている。ページＰ０からＰ１４は作業データを受け取る。ページＰ１５は属性を保存するために予約されており、データメモリＤＭＥＭの専用メモリ領域ＤＺを形成する。ここで、作業データとは、例えば、変数、数学的なキー、秘密データ、プログラムコードなどをいう。ページＰ１５は１６個のバイナリワードを保存する容量を有するため、すべてのページがアクセス制御を要すると仮定した場合、それぞれがページＰ０からＰ１４の一つずつに対応する１５個の８ビットからなる属性ＡＴ０からＡＴ１４を受け取ることができる。このため、アドレスＡＤｒｗの最上位ビットＭＳＢ（ＡＤｒｗ）はページのアドレス、すなわちワードラインアドレスを構成し、最下位ビットＬＳＢ（ＡＤｒｗ）はページのワードのアドレス、すなわちカラムアドレスを構成する。
【００５５】
各属性は、ページＰ１５のカラムに、各属性に対応するページの等級に対応する等級ごとに保存されることが好ましい。表１に、バイナリワードＷｉのアドレスＡＤｒｗと、バイナリワードが位置するページＰｉに対応する属性のアドレスとの関係を示す。表から明らかなように、４個の属性のアドレスの最上位ビットは常にページＰ１５のラインアドレスであるＦと等しく、４個の属性のアドレスの最下位ビットは、該当するバイナリワードのアドレスの最上位ビット、すなわち、属性に対応するページＰｉのラインアドレスと等しくなる。
【表１】
2005071380.tif 000003
（注１）十六進数表記
再び図１を参照して、同期属性検索回路ＡＳＣ１がＣＰＵとデータメモリＤＭＥＭの間に配置された本発明の第２の態様に係る例について説明する。同期属性検索回路ＡＳＣ１は、ＣＰＵから送り出された信号ＳＥＬ、ＲＷ、およびＡＤｒｗを、フィルタリングし、信号ＳＥＬ、ＲＷ、およびＡＤｒｗの代わりに表２に示すフィルタリングされた信号を出力する。
【表２】
2005071380.tif 000004
また、同期属性検索回路ＡＳＣ１は信号ＷＡＩＴを送り出す。信号ＷＡＩＴの作動値は、例えば１でもよい。信号ＷＡＩＴが送出されると、後述する属性検索段階で信号ＳＥＬ、ＲＷ、およびＡＤｒｗは凍結される。信号ＳＥＬ、ＲＷ、およびＡＤｒｗを凍結するには、様々な技術的な手法が可能である。例えば、図１に点線で示されるように、クロック信号ＣＫ０が非反転入力時で、信号ＷＡＩＴが反転入力時にクロック信号ＣＫ０をＣＰＵへＡＮＤゲートを介して印加してもよい。こうしてＷＡＩＴ＝１で、信号ＳＥＬ、ＲＷ、およびＡＤｒｗが凍結されるとＣＰＵはブロックされる。しかしながら、用途においてより柔軟でより多くの長所のある実施の形態の代替の態様では、クロック信号ＣＫ０を必要とせずに、信号ＷＡＩＴを考慮してＣＰＵがブロックされるように、ＣＰＵをプログラムすることが好ましい。特に、ＣＰＵは、クロック信号ＣＫ０の立ち上がり端とＷＡＩＴ＝１の状態との組み合わせを考慮して、信号ＳＥＬ、ＲＷ、およびＡＤｒｗを等価に再生する要求を構成するようにプログラムしてもよい。この場合、ＣＰＵは継続してクロック信号ＣＫ０を受信し、信号ＷＡＩＴの値が１の間、回路ＭＡＣは割込信号により送られる割込信号ＩＴを処理することができる。
【００５６】
同期属性検索回路ＡＳＣ１は、３つの内部状態を有するステートマシンである。フィルタリングされた値と信号ＷＡＩＴの値は、表３に示すように、同期属性検索回路ＡＳＣ１の内部状態に応じて異なる。内部状態がＩＤＬ、すなわちアイドル状態の場合、フィルタリングされた信号ＳＥＬＦは、データメモリＤＭＥＭの非選択値のままで、ここでは０となる。内部状態がＡＳＥＡＲＣＨ、すなわち属性検索状態の場合、信号ＷＡＩＴの値は１となる。内部状態がＡＭＡ、すなわち認証メモリアクセス状態の場合、同期属性検索回路ＡＳＣ１はＣＰＵから送られたコマンドに対して透過的となり、アドレスＡＤＦにはアドレスＡＤｒｗをコピーし、信号ＲＷＦ、ＳＥＬＦにはそれぞれ信号ＲＷ、ＳＥＬをコピーし、ＷＡＩＴの値は０となる。
【００５７】
ＣＰＵ、同期属性検索回路ＡＳＣ１、およびデータメモリＤＭＥＭを同期するため、クロック信号生成器ＣＫＧＥＮはクロック信号ＣＫ０とは別に２つのクロック信号ＣＫ１、ＣＫ２を生成する。図１に示されるように、クロック信号ＣＫ１、ＣＫ２は、クロック信号ＣＫ０と同じ周期Ｔを有するが、それぞれの周期はずれている。すなわち、クロック信号ＣＫ０、ＣＫ１、ＣＫ２は、それぞれの立ち上がり端が同一ではなく、実質的にずれている。ここでは、クロック信号ＣＫ１はクロック信号ＣＫ０に対して遅延ｄＴを有し、クロック信号ＣＫ２はクロック信号ＣＫ１に対して遅延ｄＴを有する。遅延の合計２ｄＴは、以下の関係式に従って決定される。
【００５８】
Ｔａｃｃ＜Ｔ―２ｄＴ
ＴａｃｃはデータメモリＤＭＥＭへのアクセス時間、すなわち、データメモリが読み出しアクセスコマンドまたは書き込みアクセスコマンドを実行する際に要する時間である。
【００５９】
同期属性検索回路ＡＳＣ１はクロック信号ＣＫ１に合わせて動作し、データメモリＤＭＥＭはクロック信号ＣＫ２に合わせて動作する。ここで、ＣＰＵ、同期属性検索回路ＡＳＣ１、およびデータメモリＤＭＥＭはこれらのクロック信号の立ち上がり端に対して敏感であるものとする。
【表３】
2005071380.tif 000005
（注２）デフォルト値。ＳＥＬ＝０であるため重要ではない。
（注３）以下に記載する属性のアドレス。
【００６０】
データメモリＤＭＥＭの読み出し動作はについて説明する。データメモリＤＭＥＭの動作は、以下のステップから構成される。
第１クロックサイクル
クロック信号ＣＫ０の立ち上がり端が現れると、ＣＰＵは信号ＳＥＬの値を１（データメモリＤＭＥＭを選択）に、信号ＲＷの値を１（メモリの読み出し）に設定し、ワードＷｉを読み出すアドレスＡＤｒｗを送出する。これらの異なる信号は、デフォルトでＩＤＬ、すなわちアイドル状態である同期属性検索回路ＡＳＣ１によりブロックされる。
【００６１】
クロック信号ＣＫ１の立ち上がり端が現れると、選択信号ＳＥＬの値、すなわち１により、同期属性検索回路ＡＳＣ１は、ＡＳＥＡＲＣＨ、すなわち属性検索状態に切り替わる。同期属性検索回路ＡＳＣ１は、信号ＳＥＬＦの値を１に、信号ＲＷＦの値を１に設定し、アドレスＡＤＦをデータメモリＤＭＥＭに送り出す。このアドレスＡＤＦは、アドレスＡＤｒｗにより指定される保護されたメモリ領域に対応する属性のアドレスである。
【００６２】
ＡＤＦ＝Ｆ／／ＭＳＢ（ＡＤｒｗ）
ここで「Ｆ」は、属性（データメモリのページＰ１５）に専用の領域のアドレスを意味し、「／／」は、結合を表す記号であり、ＭＳＢ（ＡＤｒｗ）は、ワードＷｉ（表１を参照）にアクセスするコマンドが指しているページのアドレスを意味する。
【００６３】
また、同期属性検索回路ＡＳＣ１は、信号ＷＡＩＴの値を１に設定し、信号ＳＥＬ、ＲＷ、およびＡＤｒｗを次のクロックサイクルで凍結する。
【００６４】
クロック信号ＣＫ２の立ち上がり端が現れると、アクセス時間Ｔａｃｃが経過した後、データメモリＤＭＥＭは読み出し可能になり、検索された属性ＡＴ（ＭＳＢ（ＡＤｒｗ））を回路ＭＡＣに送り出す。また、回路ＭＡＣは、アドレスＡＤｒｗを受け取る。アドレスＡＤｒｗが示すデータの読み出しアクセスが許可されていない場合、回路ＭＡＣは禁止信号ＩＴ、ここでは割込信号を送出することができる。
第２クロックサイクル
次に、クロック信号ＣＫ０の立ち上がり端が現れると、回路ＭＡＣにより前のクロックサイクル時に割込信号が送出されたか否かに応じて以下に記載する二つの状態のいずれかが発生する。
【００６５】
第一の状態は、割込信号が送出された場合で、マイクロプロセッサは割込サブプログラムに切替え、信号ＷＡＩＴの値が１であるにも関わらず、信号ＳＥＬ、ＲＷ、およびＡＤｒｗを解除し、データメモリへのアクセスを中立にする。例えば、ＣＰＵはそのプログラムカウンタを、ＣＰＵのソフトウェアリセットを行わせる優先度の高い割込管理サブプログラムが常駐するプログラムメモリ（図示されていない）に配置されたプログラムアドレスに設定する。もう一つの手法として、ハードウェアリセット信号ＲＥＳＥＴを回路ＭＡＣにより直接ＣＰＵに送出することもできる。
【００６６】
第二の状態は、割込信号は送出されない場合で、信号ＷＡＩＴの値が１であるため、マイクロプロセッサは信号ＳＥＬ、ＲＷ、およびＡＤｒｗを保持する。
【００６７】
クロック信号ＣＫ１の２番目の立ち上がり端が現れると、同期属性検索回路ＡＳＣ１は、ＡＭＡ、すなわち認証メモリアクセス状態に切り替わる。アドレスＡＤＦにはアドレスＡＤｒｗをコピーし、信号ＲＷＦ、ＳＥＬＦにはそれぞれ信号ＲＷ、ＳＥＬをコピーし、ＷＡＩＴの値は０となる。
【００６８】
クロック信号ＣＫ２の２番目の立ち上がり端が現れると、アクセス時間Ｔａｃｃが経過した後、データメモリＤＭＥＭは読み出し可能になり、アドレスＡＤｒｗが示すワードＷｉが送出され
第３クロックサイクル
さらに、クロック信号ＣＫ０の立ち上がり端が現れると、データが前のクロックサイクル時に割込サブプログラムに送られていなければ、ＣＰＵはこのデータを使用することができる。
【００６９】
クロック信号ＣＫ１の３番目の立ち上がり端が現れると、同期属性検索回路ＡＳＣ１は、ＩＤＬ、すなわちアイドル状態に戻る。
【００７０】
データメモリＤＭＥＭの待機動作について説明する。データメモリＤＭＥＭの動作は、ＣＰＵがデータＤＴ２をデータメモリＤＭＥＭの入力部ＤＴＩＮに送出し、信号ＲＷの値が１ではなく０となる点を除いて、読み出し動作と同様である。属性の検索サイクル（第１クロックサイクルで、同期属性検索回路ＡＳＣ１がＡＳＥＡＲＣＨ状態）の終了時、送り出されたデータをデータメモリＤＭＥＭに書き込む必要のない場合、上述のようにデータの書き込みは回避され、メモリがデータを保存する時間になる前、２番目のクロックサイクルの開始時に信号ＳＥＬ、ＲＷ、およびＡＤｒｗは解除される。
【００７１】
上述の態様に代えて、本実施の形態の別の態様では、回路ＭＡＣにより同期属性検索回路ＡＳＣ１に送出され、同期属性検索回路ＡＳＣ１を認証メモリアクセス状態の代わりに、アイドル状態に戻す、禁止信号ＩＳＲ（「アイドル状態要求信号」）を追加することもできる。同期属性検索回路ＡＳＣ１は、データメモリＤＭＥＭへのアクセスを遮断し、ＣＰＵがデータメモリＤＭＥＭへアクセスできないようにする。この本発明の実施の形態の態様に係るブロック手法は、上述の種類の割込ブロック手法と組み合わせることができる。さらに、この種類のブロック手法は、データメモリへのアクセスを要求する装置がプログラム可能な装置でない場合、または割込信号を受信することができない場合（例えば、遠隔に位置するＣＰＵが外部の接続端子を介してデータメモリへのアクセスを要求している場合など）に適用することもできる。
【００７２】
アクセスを禁止する動作の回避については、当業者には様々な方法が想到可能である。
【００７３】
以上説明したように、本発明に係る属性を保存する装置は、データメモリ内にメモリ領域を予約する、あるいはデータメモリに追加のメモリ領域を確保する（一定のデータ保存容量を確保する）だけでよく、属性メモリ、各種復号器およびセンス増幅器の一式を必要としないため、装置により占有されるシリコンの表面部領域の量は明らかに減少する。
【００７４】
さらに、属性およびデータは別々の時点で読み出されるため、ピークの電力消費が減少することは明かである。
【００７５】
上述の本実施の形態の変形態様では、データメモリ内で属性を検索するステップが追加され、追加された検索ステップは１クロックサイクルを要するため、データメモリへのアクセス時間が遅くなる。
【００７６】
クロックサイクルの損失はＣＰＵの動作をわずかに遅くするだけであるが、データメモリから読み出されるデータ処理の動作に複数のクロックサイクルを要する可能性がある。しかしながら、本発明の目的は、装置を複雑にすることなく、属性の検索に要する時間を最適化することにある。
（本発明に係る第２の実施の形態のアクセス制御装置）
まず、本発明に係る第２の実施の形態のアクセス制御装置は、ＣＰＵがデータメモリに対して連続して複数のアクセスを行う際に、連続してアクセスされるメモリ領域は一般的に同一のメモリ領域であり、したがって、同一の属性を有しているという考察に基づく。
【００７７】
したがって、本発明の１つの着想は、少なくとも、データメモリから最後に読み出された属性をキャッシュメモリに保存し、新しいアクセスコマンドがＣＰＵにより送られた際に、データメモリ内で対応する属性を検索する前に、キャッシュメモリ内でその属性を検索することにある。
【００７８】
ここで、記載を簡略化するために、「検索」とは、検索された要素が発見された場合、その要素の読み出し（キャッシュメモリの場合に限定されず、データメモリの場合も含む）も含むものとする。
【００７９】
したがって、上述のキャッシュメモリは、少なくとも１つの属性を保存する。一般的に上述のキャッシュメモリが保存する属性の数は、データメモリに存在する属性の数より少ないため、占有するシリコンの表面領域の量が従来の属性メモリの場合よりも減少する。
【００８０】
上述のキャッシュメモリがデータメモリ内の属性を検索するために要するクロックサイクルの間に属性を保存することを可能にするためには、キャッシュメモリ内の属性の検索は迅速に行われる必要がある。本発明によると、この検索は、クロック信号ＣＫ０の立ち上がり端が現れる時点、すなわちＣＰＵがアクセスコマンドを送出する時点と、クロック信号ＣＫ１が現れる時点、すなわち回路ＡＳＣ１がＡＳＥＡＲＣＨ状態に切り替わる時点との間に非同期に実行される。このため、クロック信号ＣＫ１の立ち上がり端が現れる前に属性が発見された場合、回路ＡＳＣ１は、ＡＳＥＡＲＣＨ状態に切り替わる必要はない。回路ＡＳＣ１は直接透過的な状態であるＡＭＡ状態に切り替わることができる。
【００８１】
このため、本発明は、キャッシュメモリを迅速に非同期で読み出すことができない、従来の復号回路を備えていないキャッシュメモリにも提供することができる。上述のキャッシュメモリは、例えば、論理ラッチ（フリップフロップ回路、Ｄラッチ、など）を使用して生成されたメモリを備え、キャッシュメモリ内の属性の検索は、ハードワイヤード非同期回路により実行される。
【００８２】
本発明のもう１つの着想は、キャッシュメモリからアドレス復号をせずに迅速に読み出すことを可能として、キャッシュメモリに、それぞれの属性を、その属性が関連する保護されたメモリ領域のアドレスとともに保存することにある。このようにして、アクセスコマンドが示す保護されたメモリ領域のアドレスがキャッシュメモリ内にあるか否かを判断することにより属性の検索を実行し、保護されたメモリ領域のアドレスに関連付けられた属性を選択することにより属性の読み出しを実行する。
【００８３】
（実施の形態の１つの例）
図３を参照して、本発明に係る第２の実施の形態のアクセス制御装置について説明する。本実施の形態のアクセス制御装置は、第１の実施の形態のアクセス制御装置と同様に、ＣＰＵ、データメモリＤＭＥＭ、割込復号器ＩＴＤＥＣ、およびクロック信号生成器ＣＫＧＥＮとを有している。クロック信号生成器ＣＫＧＥＮは、クロック信号ＣＫ０、ＣＫ１、ＣＫ２を生成する。ここで、データメモリＤＭＥＭは、図２に示した構造を備えており、８ビットのデータ（ワードＷ０からＷ１５、または属性ＡＴ０からＡＴ１４）を有し、８ビットのアドレス（アドレスＡＤｒｗ）でアドレス指定されている（表１を参照）。
【００８４】
さらに、本実施の形態のアクセス制御装置は回路ＭＡＣと同期属性検索回路ＡＳＣ２とを備えている。同期属性検索回路ＡＳＣ１と同様に、同期属性検索回路ＡＳＣ２はＣＰＵとデータメモリＤＭＥＭの間に配置されている。
【００８５】
さらに、アクセス制御装置は、メモリアレイＣＭＥＭとキャッメモリを管理する回路ＣＭＣを有するキャッシュメモリを備えている。
【００８６】
キャッシュメモリのメモリアレイＣＭＥＭは、例えばＤラッチなどの論理ラッチから構成され、クロック信号ＣＫ０の立ち上がり端に合わせて更新される。メモリアレイＣＭＥＭの構造の一例について以下に詳細に説明する。
【００８７】
図４に、メモリアレイＣＭＥＭの内部構成一例を示す。メモリアレイＣＭＥＭは、８個の、それぞれが１３ビットのワードラインＣＷＬ０、ＣＷＬ１、・・・ＣＷＬｊ、・・・ＣＷＬ７を有する。各ワードラインＣＷＬｊは、８ビットの属性ＡＴ（ＣＷＬｊ）と、属性に関連するメモリページの４ビットのアドレスＭＳＢ（ＣＷＬｊ）と、ワードラインが使用されているか否かを示す１ビットのインジケータフラグＩＦｊとを受信することができる。例えば、メモリアレイＣＭＥＭは満杯ではなく、それぞれがデータメモリのページＰ２、Ｐ５に対応する２つの属性ＡＴ２、ＡＴ５と、これらの属性が対応するメモリページのアドレスＭＳＢ２、ＭＳＢ５のみを有しているとする。キャッシュメモリは以下に説明するように、最後に記憶したデータが先に取り出される構造のスタックとして管理される。すなわち、上記の２つの属性を受け取るワードラインはメモリアレイＣＭＥＭの上部、すなわち、スタックの最上部を構成するワードラインＣＷＬ０と、ＣＷＬ０に続くＣＷＬ１となる。ワードラインＣＷＬ０、ＣＷＬ１のインジケータフラグＩＦｊの値は１を、その他のワードラインの値は０をとる。
【００８８】
図３に示すように、キャッシュメモリを管理する回路ＣＭＣは、データメモリＤＭＥＭの出力部ＤＴＯＵＴとＣＰＵの４線の出力部ＡＤＯＵＴとに接続され、それぞれから属性ＡＴ（ＭＳＢ（ＡＤＲｗ））と、アドレスＡＤｒｗの最上位ビットＭＳＢ（ＡＤｒｗ）を受け取る１２ビットのデータ入力部ＡＴＩＮを有している。さらに、回路ＣＭＣは、属性ＡＴを回路ＭＡＣに送出する８ビットの出力部ＡＴＯＵＴと、キャッシュメモリに属性が記憶されているか否かを示す信号ＩＳＩＮＣを回路ＡＳＣ２に送出する出力部とを有している。信号ＩＳＩＮＣは、デフォルト値が０で、キャッシュメモリに属性が記憶されている場合は値が１となる。
【００８９】
回路ＣＭＣは以下のタスクを実行する。
１．信号ＳＥＬの値が１のとき、アドレスを復号せずに、キャッシュメモリ内の属性を非同期検索し、必要に応じて、検索した属性を読み出し、出力部ＡＴＯＵＴに送出し、信号ＩＳＩＮＣを非同期に更新する。信号ＩＳＩＮＣの値は属性が発見された場合は「１」を、属性が発見されなかった場合は「０」をとる。
２．信号ＳＥＬの値が１のとき、クロック信号ＣＫ０の立ち上がり端が現れると、キャッシュメモリを更新する。
キャッシュメモリの更新は以下の手順で行われる。
１．信号ＩＳＩＮＣの値が０のとき（キャッシュメモリに属性が発見されておらず、回路ＣＭＣによりデータメモリが読み出された場合）、スタックの上部にデータメモリから送られた新しい属性ＡＴ（ＭＳＢ（ＡＤｒｗ））を保存し、対応するメモリ領域のアドレスＭＳＢ（ＡＤｒｗ）を保存した後、すでに保存されている属性をスタックの下部に移す。
２．信号ＩＳＩＮＣの値が１のとき（キャッシュメモリに属性が発見された場合）、キャッシュメモリから読み出された属性をスタックの上部に移動させ、スタックの上部と、キャッシュメモリから読み出された属性の元の位置の間に存在する属性をスタックの下部へ移す。
【００９０】
こうして、最後に使用された属性は、キャッシュメモリに属性が既に存在しているか否かに関わらず、常にスタックの上部に保存され、新しい属性が保存された時にスタックの上部部分から移動させられた属性は古い属性としてスタックの下方に保存される。このため、キャッシュメモリは最後に使用された属性を常に上部に有する。
【００９１】
回路ＡＳＣ２はステートマシンであり、その一例を図５に示す。図５に示される回路ＡＳＣ２は、論理ブロックＬＢと、クロック信号ＣＫ１により駆動する論理ラッチ１０を有している。論理ブロックＬＢは、１つの状態から他の状態へ移行し、論理ラッチ１０はクロック信号ＣＫ１に合わせて論理ブロックＬＢの状態の移行との同期を実行する。
【００９２】
論理ブロックＬＢは、ステートマシンの内部状態ＳＴを表す２ビットのコードからなる状態信号ＳＴを出力する出力部を有している。論理ブロックＬＢの出力部は論理ラッチ１０のＤ入力部と連結している。論理ラッチ１０は、例えば、並列して配置された２つのＤラッチから構成されているものとする。論理ラッチ１０は、論理ブロックＬＢから出力される状態信号ＳＴを入力するＤ入力部と、クロック信号ＣＫ１を入力するクロック信号入力部と、ＣＰＵからリセット信号ＲＳＴを入力するリセット信号入力部と、クロック信号ＣＫ１の立ち上がり端ごとに状態信号ＳＴをコピーして同期済み状態信号ＳＴｓｙｎｃを論理ブロックＬＢの入力部に出力するＱ出力部を有している。
【００９３】
さらに、論理ブロックＬＢは、ＣＰＵから送出されるアクセスコマンド信号ＳＥＬ、ＲＷ、ＡＤｒｗを入力する入力部と、回路ＣＭＣから送出される信号ＩＳＩＮＣを受け取る入力部と、フィルタリングされた信号ＳＥＬＦ、ＲＷＦ、ＡＤＲおよび信号ＷＡＩＴを出力する出力部とを有している。さらに、論理ブロックＬＢは、オプションとして図に点線で示されるように、回路ＭＡＣから送出される禁止信号ＩＳＲを受け取る入力部を備えても良い。
【００９４】
回路ＡＳＣ２が有する３つの内部状態を図６に示す。これらの内部状態は、回路ＡＳＣ１のものと同様に、ＩＤＬ、すなわちアイドル状態、ＡＳＥＡＲＣＨ、すなわち属性検索状態、およびＡＭＡ、すなわち認証メモリアクセス状態からなる。回路ＡＳＣ２は、回路ＡＳＣ１とは、それぞれの状態に移行する場合の条件が異なっている。本実施の形態では、回路ＡＳＣ２がそれぞれの状態に移行する場合の条件は以下に説明するように、信号ＩＳＩＮＣにも対応している。
【００９５】
信号ＳＥＬが０のままである間、回路ＡＳＣ２はＩＤＬ状態にとどまる。ＳＥＬの値が１で、ＩＳＩＮＣの値が０の場合、回路ＡＳＣ２はＩＤＬ状態からＡＳＥＡＲＣＨ状態に移行する。ＳＥＬの値が１で、ＩＳＩＮＣの値が１の場合、回路ＡＳＣ２はＩＤＬ状態からＡＭＡ状態に移行する。クロック信号ＣＫ０の立ち上がり端が現れると、ＡＳＥＡＲＣＨ状態からＡＭＡ状態に自動的に移行する。ＡＳＥＡＲＣＨ状態から、またはＡＭＡ状態からＩＤＬ状態への移行はＳＥＬの値が０の場合に行われる。
【００９６】
オプションとして、信号ＩＳＲの値が１に変化した場合にＡＳＥＡＲＣＨ状態からＩＤＬ状態へ優先的に移行するようにしてもよい。信号ＩＳＲは、データメモリのデータが書き込まれたり、読み出されたりしないように、回路ＡＳＣ２を強制的にＩＤＬ状態に戻す。この場合、ＳＥＬの値が１で、かつＩＳＩＮＣの値が１になったときに回路ＡＳＣ２がＡＭＡ状態に切り替わることのないように、信号ＩＳＲの値が１の間、回路ＡＳＣ２は強制的にＩＤＬ状態にとどまるものとする。
【００９７】
以上説明したように、回路ＡＳＣ２は主として、クロック信号ＣＫ１の立ち上がり端時に、信号ＩＳＩＮＣの値が１の場合、回路ＡＳＣ２はＩＤＬ状態から、ＣＰＵにより送出されたコマンドに透過的に対応するＡＭＡ状態に直接切り替わることができる点において回路ＡＳＣ１と異なる。信号ＩＳＩＮＣの値が１とは、回路ＣＭＣがキャッシュメモリのメモリアレイ内に検索した属性を発見したため、ＡＳＥＡＲＣＨ状態に切り替わって属性を検索する必要のなくなった場合を意味する。この場合、ＣＰＵから送出されたコマンドは、次のクロックサイクル時ではなく、最初のクロックサイクルの間に実行されることになる。
【００９８】
回路ＡＳＣ２の動作について、属性がキャッシュメモリ内に発見されず、データメモリを検索する必要のある場合の、データメモリの読み出しコマンドの実行を示す図７Ａから図７Ｍまでのタイミング図を参照してより詳細に説明する。
【００９９】
図７Ａ、７Ｂ、７Ｃはそれぞれ、信号ＣＫ０、ＣＫ１、ＣＫ２を表している。図７Ｄは、ＣＰＵにより送出される信号ＳＥＬを表している。図７Ｅは、ＣＰＵにより送出される信号ＲＷを表している。図７Ｆは、ＣＰＵにより送出されるアドレスＡＤｒｗを表している。図７Ｇは、回路ＣＭＣにより送出される信号ＩＳＩＮＣを表している。図７Ｈは、回路ＡＳＣ２により送出される信号ＷＡＩＴを表している。図７Ｉは、回路ＡＳＣ２の内部状態を表している。図７Ｊは、回路ＡＳＣ２により送出されるフィルタリングされた信号ＳＥＬＦを表している。図７Ｋは、回路ＡＳＣ２により送出されるフィルタリングされた信号ＲＷＦを表している。図７Ｌは、回路ＡＳＣ２により送出されるフィルタリングされた信号ＡＤＦを表している。図７Ｍは、データメモリＤＭＥＭで読み出されたデータＤＴ１を表している。
第一クロックサイクル
クロック信号ＣＫ０の立ち上がり端に対応する時点ｔ０で、ＣＰＵは信号ＲＷおよびＳＥＬの値を１に設定し、データメモリＤＭＥＭから読み出すワードＷｉのアドレスＡＤｒｗを送り出す。信号ＳＥＬの値は１となり、回路ＣＭＣは作動して、メモリアレイＣＭＥＭ内でアドレスＡＤｒｗが示すワードＷｉを含むページに対応する属性を検索する。このために、回路ＣＭＣは、キャッシュメモリのワードラインＣＷＬｊに存在するページのアドレスＭＳＢ（ＣＷＬｊ）をアドレスＡＤｒｗの最上位ビットＭＳＢ（ＡＤｒｗ）と比較する。ここで、時点ｔ０の後の信号ＩＳＩＮＣの値はデフォルト値である０のままで代わらない。これは、比較した結果、同一のものはなく、検索している属性はキャッシュメモリに発見されなかったことを意味する。
【０１００】
クロック信号ＣＫ１の立ち上がり端に対応する時点ｔ１で、信号ＳＥＬの値は１で、信号ＩＳＩＮＣの値は０であるため、回路ＡＳＣ２はＡＳＥＡＲＣＨ状態に切り替わる。回路ＡＳＣ２は、信号ＷＡＩＴ、ＳＥＬＦ、およびＲＷＦの値を１に設定し、データメモリＤＭＥＭに、検索している属性のアドレスに対応するアドレスＡＤＦ、すなわちＡＤＦ＝Ｆ／／ＭＳＢ（ＡＤｒｗ）を送出する。
【０１０１】
クロック信号ＣＫ２の立ち上がり端に対応する時点ｔ２で、データメモリＤＭＥＭは作動し、アクセス時間Ｔａｃｃ（簡略化のために図示されていない）が経過した後、検索している属性と等しいデータＤＴ１、すなわちＤＴ１＝ＡＴ（ＭＳＢ（ＡＤｒｗ））を送出する。
第二クロックサイクル
次のクロック信号ＣＫ０の立ち上がり端に対応する時点ｔ３で、信号ＩＳＩＮＣの値が０であるため、キャッシュメモリは自動的に更新される。データメモリＤＭＥＭから送られた属性ＡＴ（ＭＳＢ（ＡＤｒｗ））は、回路ＭＡＣに送出され、同時に、対応するメモリ領域のアドレスＭＳＢ（ＡＤｒｗ）とともにスタックの上部に保存される。
【０１０２】
キャッシュメモリが更新された後も、信号ＳＥＬの値はまだ１であるため、回路ＣＭＣは再び、キャッシュメモリのメモリアレイＣＭＥＭ内でアドレスＡＤｒｗに対応する属性を検索する。この属性は、キャッシュメモリに保存されたばかりであるため、今回はキャッシュメモリ内に発見され、回路ＣＭＣの論理信号の非同期伝搬時間により決定される、時点ｔ３のほぼ直後である時点ｔ３’で信号ＩＳＩＮＣの値は１になる。
【０１０３】
２番目のクロック信号ＣＫ１の立ち上がり端に対応する時点ｔ４で、回路ＭＡＣが禁止信号ＩＳＲの値を１に設定していなければ、回路ＡＳＣ２は透過的なＡＭＡ状態に切り替わる。アドレスＡＤＦには読み出すワードのＡＤｒｗをコピーし、信号ＳＥＬＦには信号ＳＥＬをコピーする。ここでは、信号ＳＥＬＦの値は１のままである。信号ＷＡＩＴの値は０に戻り、信号ＲＷＦには信号ＲＷをコピーする。ここでは、信号ＲＷＦの値は１（ＣＰＵによる読み出しアクセス要求）のままである。
【０１０４】
２番目のクロック信号ＣＫ２の立ち上がり端に対応する時点ｔ５で、データメモリＤＭＥＭは作動し、アクセス時間Ｔａｃｃ（簡略化のために図示されていない）が経過した後、ＣＰＵにより読み出しアクセスが要求されているワードＷｉと等しいデータＤＴ１を送出する。
第三クロックサイクル
３番目のクロック信号ＣＫ０の立ち上がり端に対応する時点ｔ６で、ＣＰＵは信号ＳＥＬの値を０に戻す。ここで、ＣＰＵはワードＷｉを処理することができる。３番目のクロック信号ＣＫ１の立ち上がり端に対応する時点ｔ７で、回路ＡＳＣ２はＩＤＬ状態に戻る。
【０１０５】
しかしながら、時点ｔ６で、ＣＰＵは再びデータメモリＤＭＥＭへ再びアクセスすることをもできる。この場合、ＣＰＵは信号ＳＥＬの値を１のままにする。回路ＡＳＣ２は時点ｔ７でＩＤＬ状態に戻らず、キャッシュメモリに対応する属性が存在するか否かに応じて、ＡＳＥＡＲＣＨ状態またはＡＭＡ状態に移行する。
【０１０６】
上述のように、本発明は、データメモリに対して連続して複数のアクセスを行う場合、連続してアクセスされるメモリ領域は同一のメモリ領域である場合が多く、したがって、検索される属性は、ほとんどの場合、キャッシュメモリに発見されることが多いという事実に基づいている。このため、キャッシュメモリが空で、少しずつデータを充足する必要があるために、最初のコマンドがデータメモリに送られる場合を除いて、前述のような属性をデータメモリＤＭＥＭで検索するシーケンスが誘発されることは希である。
【０１０７】
複数の属性を受信することができるキャッシュメモリを提供すれば、対象とする複数の連続したメモリ領域へアクセスを行う複数の連続したシーケンスキャッシュエリア内で迅速に実現可能であることは言うまでもない。キャッシュメモリのサイズは、キャッシュメモリにより占有される表面の領域と、アクセスコマンドを実行する速度との間の好ましい妥協、キャッシュメモリ内に関連する属性を発見する可能性と反比例するアクセスコマンドを実行する平均速度、に応じて選択することができる。
【０１０８】
メモリアレイＣＭＥＭおよびキャッシュメモリＣＭＥＭを管理する回路ＣＭＣの一例を詳細に説明する。
【０１０９】
キャッシュメモリのメモリアレイのワードラインＣＷＬｊの構造について図８を参照して説明する。ここで、属性ＡＴ（ＣＷＬｊ）、属性ＡＴ（ＣＷＬｊ）に関連するメモリページの４個の最上位アドレスビットＭＳＢ（ＣＷＬｊ）、およびインジケータフラグＩＦｊがキャッシュメモリに保存されるものとする。
【０１１０】
ワードラインＣＷＬｊは、それぞれが１ビットの情報を受け取る１３個のＤ型ラッチ１５―０から１５−１２を有している。ラッチ１５−０はインジケータフラグＩＦｊ、ラッチ１５−１から１５−４は４ビットのアドレスＭＳＢ（ＣＷＬｊ）、ラッチ１５−５から１５−１２は属性ＡＴ（ＣＷＬｊ）を受け取る。
【０１１１】
ワードラインＣＷＬｊは、それぞれが配線でラッチ１５―０から１５−１２の一つのＤ入力部に連結された１３ビットの入力部ＩＮｊと、それぞれが配線でラッチ１５―０から１５−１２の一つのＱ出力部に連結された１３ビットの出力部ＯＵＴｊとを有している。ラッチ１５―０から１５−１２はそれぞれ、クロック信号ＣＫ０を受け取るクロック信号入力部を有し、クロック信号ＣＫ０の立ち上がり端時、そのＤ入力部に入力されたビットをコピーしてそのＱ出力部から出力する。要素ＩＦｊ、ＭＳＢ（ＡＤｒｗ）、ＡＴ（ＭＳＢ（ＡＤｒｗ））が結合されて形成された１３ビットのワードが、ワードラインＣＷＬｊの入力部ＩＮｊに入力されると、このワードは、クロック信号ＣＫ０の立ち上がり端時にワードラインにより保存される。ワードラインＣＷＬｊに保存されたワードを形成する要素は、ＭＳＢ（ＣＷＬｊ）およびＡＴ（ＣＷＬｊ）と呼ばれ、入力されるＭＳＢ（ＡＤｒｗ）およびＡＴ（（ＭＳＢ（ＡＤｒｗ））とは区別される。
【０１１２】
ラッチ１５―０から１５−１２はそれぞれ、ＣＰＵから送出されるリセット信号ＲＳＴを入力するリセット信号入力部を有している。このため、ＣＰＵがリセット信号ＲＳＴの値を１に設定すると、キャッシュメモリの内容は空になり、同期属性検索回路ＡＳＣ２もリセットされる（図５を参照）。
【０１１３】
図９を参照して、回路ＣＭＣの一般的な構造について説明する。図９では、キャッシュメモリのワードラインＣＷＬｊ（ＣＷＬ０、ＣＷＬ１、・・・ＣＷＬ７）は、それぞれが入力部ＩＮｊ（ＩＮ０からＩＮ７）および出力部ＯＵＴｊ（ＯＵＴ０からＯＵＴ７）を有するブロックで示されている。
【０１１４】
回路ＣＭＣは、キャッシュメモリ内の属性を検索する非同期属性検索回路ＡＡＲと、キャッシュメモリを更新する回路ＲＭＵＸとを有している。
【０１１５】
回路ＡＡＲは、ＣＰＵにより送出される信号ＳＥＬを入力する入力部Ｓｊ（Ｓ０、Ｓ１、・・・Ｓ７）と、回路ＣＭＣの入力部ＡＴＩＮに接続した入力部ＡＴＩＮ’とを有している。既に説明したように、入力部ＡＴＩＮは１２ビットのデータを受け取るようになっており、データメモリＤＭＥＭとＣＰＵの出力部ＡＤＯＵＴと接続している。入力部ＡＴＩＮ’は、回路ＡＡＲがデータメモリの専用領域（ページＰ１５）から読み出された新しい属性ＡＴ（ＭＳＢ（ＡＤｒｗ））と、この新しい属性ＡＴ（ＭＳＢ（ＡＤｒｗ））に関連する、メモリページのアドレスＭＳＢ（ＡＤｒｗ）とを受け取ることを可能にする。アドレスＭＳＢ（ＡＤｒｗ）は、ＣＰＵから送出される４個の最上位ビットにより形成される。
【０１１６】
回路ＡＡＲの各入力部Ｓｊは、キャッシュメモリの等級が同一のワードラインＣＷＬｊの出力部ＯＵＴｊ（ＯＵＴ１、ＯＵＴ１、・・・ＯＵＴ７）に接続している。回路ＡＡＲは、既に説明した信号ＩＳＩＮＣ、および属性がキャッシュメモリに発見された場合に、その属性が発見されたワードラインの等級（ここでは０から７）を示す信号ＲＡＮＫを出力する出力部を有している。
【０１１７】
回路ＡＡＲは、属性検出回路ＡＤＣを有している。属性検出回路ＡＤＣの一例を図１０に示す。
【０１１８】
図１０に示す属性検出回路ＡＤＣは、キャッシュメモリのワードラインＣＷＬｊに保存されたアドレスＭＳＢ（ＣＷＬｊ）と、入力部ＡＴＩＮ’に入力されたアドレスＭＳＢ（ＡＤｒｗ）を比較する第１の群の比較器ＣＭＰ０ｊ（ＣＭＰ００、ＣＭＰ０１、・・・ＣＭＰ０７）を有している。各比較器ＣＭＰ０ｊは、該当する等級のワードラインＣＷＬｊに保存されたアドレスＭＳＢ（ＣＷＬｊ）を入力する入力部と、アドレスＭＳＢ（ＡＤｒｗ）を入力する入力部とを有している。キャッシュメモリに存在するアドレスの一つがアクセスコマンドが示す保存されたメモリ領域のアドレスに対応する場合、該当する比較器の出力の値は１に変わる。
【０１１９】
さらに、属性検出回路ＡＤＣは、インジケータフラグＩＦｊ（ＩＦ０、ＩＦ１、・・・ＩＦ７）をテストする第２の群の比較器ＣＭＰ１ｊ（ＣＭＰ１０、ＣＭＰ１１、・・・ＣＭＰ１７）を有している。各比較器ＣＭＰ１ｊは、インジケータフラグＩＦｊを入力する入力部と、論理値１を入力する入力部を有している。キャッシュメモリに存在するインジケータフラグの１つの値が１と等しい場合、該当する比較器の出力の値は１に変わる。
【０１２０】
等級が同一の比較器ＣＭＰ０ｊ、ＣＭＰ１ｊは、ＡＮＤゲートＡＧｊ（ＡＧ０、ＡＧ１、・・・ＡＧ７）により接続されており、ＡＮＤゲートＡＧｊは、信号ＩＳＩＮｊ（ＩＳＩＮ０、ＩＳＩＮ１、・・・ＩＳＩＮ７）を出力する。アクセスコマンドが示す保護されたメモリ領域のアドレスに対応する等級と同一の等級のワードラインにアドレスが存在し、インジケータフラグＩＦｊの値が１の場合、ＩＳＩＮｊ信号の値は１に変わる。
【０１２１】
論理ゲートＡＧ０、ＡＧ１、・・・ＡＧ７から送出されるそれぞれの信号ＩＳＩＮ０、ＩＳＩＮ１、・・・ＩＳＩＮ７は、ＯＲゲート２０の入力部に送られる。多重化器２１はＯＲゲートからの出力を入力する入力部と、論理値０を入力する入力部と、信号ＳＥＬを入力する入力部と、信号ＩＳＩＮＣを出力する出力部とを有している。信号ＳＥＬの値が０の場合、多重化器２１は論理値０を選択して信号ＩＳＩＮＣとして出力するようになっている。信号ＳＥＬの値が１の場合、多重化器２１はＯＲゲート２０の出力を選択して信号ＩＳＩＮＣとして出力するようになっている。
【０１２２】
さらに、回路ＡＡＲは、属性選択回路ＡＳＥＬＣを有している。属性選択回路ＡＳＥＬＣの一例を図１１に示す。
【０１２３】
図１１に示す回路ＡＳＥＬＣは、多段式に配置された多重化器の群２５−ｊ（２５−０から２５−７）を有している。等級ｊの多重化器２５−ｊは、次段の多重化器２５―（ｊ＋１）の出力を入力する第１入力部と、キャッシュメモリの同一の等級ｊのワードラインＣＷＬｊの属性ＡＴ（ＣＷＬｊ）を入力する第２入力部と、同一の等級ｊの信号ＩＳＩＮｊを入力するコマンド入力部と、
前段の多重化器２５―（ｊ−１）の入力部に接続された出力部を有している。
【０１２４】
最後の多重化器、ここでは多重化器２５−７は、第１入力部から論理値０を入力する。最初の多重化器、ここでは多重化器２５−０の出力部は、多重化器２６の入力部に接続されている。多重化器２６は、多重化器２５−０の出力部に接続された入力部と、信号ＳＥＬを入力する入力部と、論理値０を入力する入力部と出力部とを有している。
【０１２５】
信号ＳＥＬの値が１の場合、多重化器２６は、ワードラインＣＷＬｊ内から多重化器群２５−ｊにより選択された属性を出力する。ワードラインから選択された属性の等級は、信号ＩＳＩＮ０からＩＳＩＮ７のいずれかの、値が１である信号ＩＳＩＮｊで呼ばれる。信号ＳＥＬの値が０の場合、多重化器２６から出力される値は０となる。検索した属性がキャッシュメモリに存在しない場合、全ての信号ＩＳＩＮ０からＩＳＩＮ７の値は０となるため、信号ＳＥＬの値が１に変わった時に多重化器２６から出力される値は０のまま変わらない。
【０１２６】
さらに、回路ＡＡＲは、ＲＡＮＫＧＥＮ回路を有している。ＲＡＮＫＧＥＮ回路の一例を図１２に示す。ＲＡＮＫＧＥＮ回路は、選択された属性の等級を示す信号ＲＡＮＫを出力する。回路ＲＭＵＸは信号ＲＡＮＫに基づいて、スタックの上部に配置する必要のある属性を決定する。図１２に示す回路ＲＡＮＫＧＥＮは、多段式に配置された多重化器の群３０−ｊ（３０−０から３０−７）を有している。等級ｊの多重化器３０−ｊは、次段の多重化器３０―（ｊ＋１）の出力を入力する第１入力部と、多重化器３０−ｊの等級ｊと等しい二進数ｊ（ここでは０から７のいずれか二進数）を入力する第２入力部と、同一の等級ｊの信号ＩＳＩＮｊを入力するコマンド入力部と、前段の多重化器３０―（ｊ−１）の入力部に接続された出力部を有している。
【０１２７】
最後の多重化器、ここでは多重化器３０−７は、第１入力部から−１と等しい二進数を入力する。最初の多重化器、ここでは多重化器３０−０の出力部は、多重化器３１の入力部に接続されている。多重化器３１は、多重化器３０―０の出力部に接続された入力部と、信号ＳＥＬを入力する入力部と−１と等しい二進数を入力する入力部と出力部とを有している。
【０１２８】
信号ＳＥＬの値が１の場合、多重化器３１は信号ＲＡＮＫを出力する。ＲＡＮＫ信号は、信号ＩＳＩＮ０からＩＳＩＮ７のいずれかの、値が１である信号ＩＳＩＮｊの等級ｊと等しい。検索した属性がキャッシュメモリに存在しない場合、全ての信号ＩＳＩＮ０からＩＳＩＮ７の値は０となるため、信号ＲＡＮＫの値は−１と等しくなる。
【０１２９】
再び図９を参照して、回路ＲＭＵＸについて説明する。図９に示すように回路ＲＭＵＸは、入力部ＲＩｊ（ＲＩ０からＲＩ７）および出力部ＲＯＪ（ＲＯ０からＲＯ７）を有している。各入力部ＲＩｊは、キャッシュメモリ内の等級が同一のワードラインＣＷＬｊの出力部ＯＵＴｊ（ＯＵＴ０からＯＵＴ７）に接続している。各出力部ＲＯｊは、キャッシュメモリの等級が同一のワードラインＣＷＬｊの入力部ＩＮｊ（ＩＮ０からＩＮ７）に接続している。回路ＲＭＵＸは、入力部ＡＴＩＮ”と、信号ＲＡＮＫを入力する入力部と、信号ＩＳＩＮＣを入力する入力部と、信号ＳＥＬを入力する入力部とを有している。入力部ＡＴＩＮ”は、回路ＣＭＣの入力部ＡＴＩＮと接続して、新しい属性ＡＴ（ＭＳＢ（ＡＤｒｗ））と、この新しい属性（ＭＳＢ（ＡＤｒｗ））が関連するメモリページのアドレスＭＳＢ（ＡＤｒｗ）とを入力するようになっている。
【０１３０】
回路ＲＭＵＸは、信号ＩＳＩＮＣの値に応じてキャッシュメモリを更新する。クロック信号ＣＫ０が立ち上がり端時、ワードラインＣＷＬｊを形成するラッチがリフレッシュされるときに、キャッシュメモリは更新される。回路ＲＭＵＸは、ワードラインＣＷＬｊの入力部と出力部を適当な方法で相互に接続することに制限される。
【０１３１】
回路ＲＭＵＸは、論理回路を生成するためのＲＴＬ（「レジスタトランスファーレベル」）コードを使用したハードワイヤード論理で作られている。このコードは、例えば以下の更新シーケンスを有している。
Update sequence No. 1: 
If SEL=1 and INSINC=0:
(1)  RO0=ATIN”
(2)  IF0=1
(3)  For J ranging from 1 to 7
(4)  While IFj=1
(5)  ROj=RIj-1
第１行目は、出力部ＲＯ０が入力部ＡＴＩＮ”と接続されることにより、第１のワードラインＣＷＬ０（スタックの上部）に外部属性ＡＴ（ＭＳＢ（ＡＤｒｗ））および属性ＡＴ（ＭＳＢ（ＡＤｒｗ））に関連するメモリページのアドレス（ＭＳＢ（ＡＤｒｗ））が保存されることを意味する。第２行目は、ラインＣＷＬ０のインジケータフラグＩＦ０の値が１に設定されたことを意味する。第５行目は、その他の使用する全てのワードライン（ＩＦｊ＝１）が下方に移され、それぞれの等級ｊの出力部が等級ｊ−１の対応する入力部に接続されたことを意味する。
Update sequence No. 2: 
If SEL=1, INSINC=0, RANK>0 (i.e. RANK ≠ -1 and RANK ≠ 0):
(1)  For j = RANK
(2)  RO0 = RIj
(3)  For j ranging from 0 to RANK -1
(4)  ROj+1=RIj
第２行目は、出力部ＲＯ０が等級ｊ＝ＲＡＮＫの入力部ＲＩｊに接続されることにより、等級ｊのワードラインに発見された属性がスタックの上部、すなわちワードラインＣＷＬ０に戻されたことを意味する。第４行目は、スタックの上部と属性が発見されたワードラインの間にあるすべてのワードラインが下方に移されることを意味する。
【０１３２】
回路ＲＭＵＸによりキャッシュメモリを更新する例について図１３Ａ、１３Ｂ、１４Ａ、１４Ｂ、１５Ａ、および１５Ｂを参照して説明する。
【０１３３】
例１：キャッシュメモリに部分的に空きがある場合の更新
図１３Ａは、アドレスＭＳＢ３の保護されたページに対応する属性ＡＴ３をキャッシュメモリ内で検索時、クロック信号ＣＫ０の立ち上がり端が現れた時のキャッシュメモリの内容を示す。アドレスＭＳＢ３はキャッシュメモリ内に発見されず、信号ＩＳＩＮＣの値は０のままとなる。
【０１３４】
図１３Ｂは、ＡＳＣ２がデータメモリ内、アドレスＦ／／ＭＳＢ３から、属性ＡＴ３を読み出した後、クロック信号ＣＫ０の次の立ち上がり端が現れた時のキャッシュメモリの内容を示す。属性ＡＴ３は、保護されたページのアドレスＭＳＢ３とともに第１のワードラインＣＷＬ０に保存されている。キャッシュメモリに存在するその他の属性は下方に移動している。
【０１３５】
例２：キャッシュメモリが満杯である場合の更新
図１４Ａは、アドレスＭＳＢ３の保護されたページに対応する属性ＡＴ３を再びキャッシュメモリ内で検索時、クロック信号ＣＫ０の立ち上がり端が現れた時のキャッシュメモリの内容を示す。アドレスＭＳＢ３はキャッシュメモリ内のワードラインＣＷＬ４（等級４）に発見され、属性ＡＴ３は、キャッシュメモリを管理する回路により回路ＭＡＣに送出される。信号ＩＳＩＮＣの値は１に変わる。
【０１３６】
図１４Ｂは、クロック信号ＣＫ０の次の立ち上がり端が現れた時のキャッシュメモリの内容を示す。信号ＩＳＩＮＣの値が１であるため、キャッシュメモリは再編される。属性ＡＴ３は、対応する保護されたページのアドレスＭＳＢ３とともに第１のワードラインＣＷＬ０に保存される。１からＲＡＮＫ―１までの等級ｊのワードライン、すなわちワードラインＣＷＬ０からＣＷＬ３に存在する属性は直ちに一つずつ下方に移動する。
【０１３７】
例３：キャッシュメモリが満杯である場合の更新
図１５Ａは、アドレスＭＳＢ８の保護されたページに対応する属性ＡＴ８をキャッシュメモリ内で検索時、クロック信号ＣＫ０の立ち上がり端が現れた時のキャッシュメモリの内容を示す。アドレスＭＳＢ８はキャッシュメモリ内に発見されず、信号ＩＳＩＮＣの値は０のままとなる。
【０１３８】
図１５Ｂは、ＡＳＣ２がデータメモリ内、アドレスＦ／／ＭＳＢ８から、属性ＡＴ８を読み出した後、クロック信号ＣＫ０の次の立ち上がり端が現れた時のキャッシュメモリの内容を示す。属性ＡＴ８は、保護されたページのアドレスＭＳＢ８とともに第１のワードラインＣＷＬ０に保存されている。キャッシュメモリに存在するその他の属性は一つ下方の等級のラインに移動している。図１５Ａに示される、更新が行われる前にキャッシュラインの最下位のワードラインＣＷＬ７に存在していた属性ＡＴ０は排除され、最下位から二番目のワードラインに存在していた属性ＡＴ１により交替される。
【０１３９】
以上説明したように、本発明に係るキャッシュメモリは、キャッシュメモリに保存された時間ではなく、最後に使用された時間を考慮して、最も古い属性を排除することができるため、データメモリに保存されている属性を全て保存することはない。
【０１４０】
キャッシュメモリ内で属性を検索する時間は、信号ＩＳＩＮ０、ＩＳＩＮ１、・・・ＩＳＩＮ７の一つの信号ＩＳＩＮｊの値を１に設定するための回路ＡＤＣ内の論理信号の伝搬時間と、値が１である信号ＩＳＩＮｊにより表される属性を選択するための回路ＡＳＥＬＣ内の伝搬時間とによってのみ決定されため、データメモリ内で属性を検索する場合と比較して大幅に短縮される。さらに、値を比較して検索する動作、および属性を検索して読み出す動作は、アドレス復号器またはセンス増幅器を必要としない。論理ゲートを切り替える際に消費される電流は極わずかであるため、電力消費も極わて少ない。
【０１４１】
さらに、回路ＣＭＣにより占有されるシリコンの表面領域は、ＥＥＰＲＯＭ型、フラッシュ型、ＲＯＭ型などのメモリアレイを有する属性メモリの復号器およびセンス増幅器により占有される表面領域より明らかに少ない。
【０１４２】
このように、上述のキャッシュメモリを提供することにより、属性メモリを取り除き、データメモリの専用領域に属性を配置することによる長所が失われることはない。
【０１４３】
さらに、アクセスコマンドの実行速度以外に優先的に装置を改善する目的がある場合は、キャッシュメモリを１つのワードラインに簡略化することもできる。
（本発明に係る第３の実施の形態のアクセス制御装置）
本発明に係るキャッシュメモリを、データメモリから独立して属性を保存する属性メモリを備えたアクセス制御装置に実装することもできる。キャッシュメモリを実装する目的は、属性メモリに保存された属性を読み出す間に発生する消費電力のピークを減少することにある。
【０１４４】
図１６を参照して、本実施の形態のアクセス制御装置を説明する。本実施の形態のアクセス制御装置は、前述の実施の形態のアクセス制御装置と同様に、データメモリＤＭＥＭと、ＣＰＵと、回路ＭＡＣと、メモリアレイＣＭＥＭと管理回路ＣＭＣを有したキャッシュメモリとを備えている。さらに、本実施の形態のアクセス制御装置は、ＡＳＣ３として図示される本発明に係る同期属性検索回路を備えている。
【０１４５】
さらに、本実施の形態のアクセス制御装置は、属性を保存する属性メモリＡＴＭＥＭを備えている。このため、検索する属性がキャッシュメモリにない場合、同期属性検索回路ＡＳＣ３は属性を、データメモリＤＭＥＭ内ではなく、属性メモリＡＴＭＥＭ内で検索する。このため、同期属性検索回路ＡＳＣ３は、属性メモリＡＴＭＥＭに選択信号ＳＥＬ２、読み出し信号ＲＥＡＤ、およびＣＰＵから受け取ったアドレスＡＤｒｗを使用して算出した属性アドレスＡＤＡＴを送出する。属性メモリＡＴＭＥＭ内で属性を読み出している間、同期属性検索回路ＡＳＣ３よりデータメモリＤＭＥＭへ出力されるフィルタリングされた信号ＡＤＦ、ＳＥＬＦ、ＲＷＦはそれぞれのデフォルト値に保たれる。
（本発明に係るその他の実施の形態のアクセス制御装置）
本発明に係る実施の形態のアクセス制御装置には、様々な変形態様がある。
【０１４６】
本発明に係るアクセス制御装置に関連する基本的な信号については上述した通りである。しかしながら先に述べたように、回路ＭＡＣはその上述した信号以外の情報、例えばＣＰＵの動作モード（「ユーザ」モード、「動作システム」モード、「テスト」モードなど）などを考慮してアクセス認証を決定することもできる。この情報は、ＣＰＵから送出される信号、または回路ＭＡＣがアクセス可能なＣＰＵの内部フラグの形式で回路ＭＡＣとやりとりされる。
【０１４７】
さらに、属性検索回路およびキャッシュメモリを管理する回路をそれぞれ別個の回路として説明したが、属性検索回路およびキャッシュメモリを管理する回路は、これらの二つの回路の機能を統合した、単一の属性を管理する回路に統合してもよい。さらに、回路ＭＡＣの機能も上述の回路に統合してもよい。
【０１４８】
保護されたメモリ領域は、データメモリの複数ページの代わりに、複数のページ、または複数のページの部分から構成されるセクタであってもよい。保護されたページを属性アドレスに変換することは、上述の実施の形態より複雑な場合があるため、ＣＰＵにより送出されるアドレスと対応する属性のアドレスとの変換テーブルを使用することもできる。
【０１４９】
さらに、データメモリに送出されるアクセスコマンドは必ずしも、ＣＰＵ、マイクロプロセッサ中央演算装置などから送出される必要はない。ハードワイヤード論理シーケンサなどの種類の構成要素から送出されるコマンド、または集積回路の入出力端子により受信される外部コマンドなどであってもよい。
【０１５０】
以上、本発明に係る３つの実施の形態のアクセス制御装置について説明した。第１の実施の形態のアクセス制御装置は、データメモリに保存された属性と、データメモリ内の属性を検索する同期回路とを有している。第２の実施の形態のアクセス制御装置は、本発明に係るキャッシュメモリと、キャッシュメモリ内の属性を検出する非同期検出回路とを有している。第３の実施の形態のアクセス制御装置は、本発明に係るキャッシュメモリと、キャッシュメモリ内の属性を検出する非同期回路と、データメモリとは異なる属性メモリと、属性メモリ内の属性を検出する同期回路とを有している。
【０１５１】
第３の実施の形態のアクセス制御装置は、キャッシュメモリと属性メモリとを備えているため、構造の簡素化という意味では最適化されていない。しかしながら、第３の実施の形態のアクセス制御装置は、データメモリを多数のユーザに公開することが可能であり、例えば、multi-application memoryなど、実質的に多くの保護されたメモリ領域を有するという長所がある。この場合、特定のユーザから送信されるアクセス要求に対して、メモリを他のユーザがアクセスしている間に、キャッシュメモリ内の属性を検索することができる。したがって、第３の実施の形態のアクセス制御装置におけるキャッシュメモリの長所は、属性を読み出す際の電流消費の減少にあり、メモリが常にアクセスコマンドにより処理されている場合においては大幅な電流消費の削減を可能にする。
【０１５２】
最後に、本発明に係るキャッシュメモリの変形態様およびその他の用途について説明する。
【０１５３】
本発明の範囲を逸脱せずに様々な変形態様が可能である。キャッシュメモリは、全ての属性を保存することができて、メモリアクセスがデータメモリ、または属性メモリから属性を読み出す必要のある場合に、その更新がなされる構成であってもよい。あるいはキャッシュメモリは全ての属性を保存することができて、集積回路がオンになった時にその更新がなされる構成であってもよい。
【０１５４】
そのようなキャッシュメモリは、電力消費および読み出し速度において優れた長所がある。さらに、キャッシュメモリが全ての属性を保存している場合、更新時または更新後にキャッシュメモリから排除される属性がないため、前述の実施の形態のように、最後に使用した属性をキャッシュメモリの上部に配置するなどの再編を周期的に行う必要がない。
【０１５５】
さらに、属性に対応するアドレスを検出することにより、キャッシュメモリを非同期に読み出す原理を、上述に記載した以外の用途に使用することができる。一般的に、本発明に係るキャッシュメモリは、ソースデータ（上述の実施の形態における属性）とソースデータに付けられたタグ（上述の実施の形態における保護された領域のアドレス）を有している。キャッシュメモリ内でソースデータを検出することは、複数のタグを、検索するソースデータに付けられた基準タグと比較して、メモリから基準タグと一致したタグを有するソースデータを抽出することにより実行することができる。
【０１５６】
本明細書および特許請求の範囲で、「同期属性検索回路」とは、その内部機能がクロック信号に合わせて内部動作する属性検索回路（ここではクロック信号ＣＫ１に合わせて動作するステートマシン）を言い、「非同期属性検索回路」とは、その内部機能がクロック信号とは独立して、回路を構成する構成要素内の電気的信号または論理的信号の伝搬速度の影響を受けて動作する属性検索回路を言う。
【図面の簡単な説明】
【０１５７】
【図１】本発明の第１の実施の形態に係るアクセス制御装置のブロック図。
【図２】図１に示すアクセス制御装置により制御されるデータメモリの構成を示す図。
【図３】本発明の第２の実施の形態に係るアクセス制御装置のブロック図。
【図４】図３に示すアクセス制御装置が有する、本発明に係るキャッシュメモリの内部構成を示す図。
【図５】図３に示すアクセス制御装置が有する属性検索回路のブロック図。
【図６】属性検索回路の動作を示す状態図。
【図７】図３に示すアクセス制御装置の動作を示す論理信号のタイミング図。
【図８】本発明に係るキャッシュメモリのワードラインの構成を示す図。
【図９】キャッシュメモリを管理する回路のブロック図。
【図１０】図９に示す管理回路が有する属性検出回路の論理図。
【図１１】図９に示す管理回路が有する属性検出回路の論理図。
【図１２】図９に示す管理回路が有する等級生成回路の論理図。
【図１３】キャッシュメモリの更新を示す図。
【図１４】キャッシュメモリの更新を示す図。
【図１５】キャッシュメモリの更新を示す図。
【図１６】本発明の第３の実施の形態に係るアクセス制御装置のブロック図。
【図１７】データメモリへのアクセスを制御する従来のアクセス制御装置のブロック図。
【図１８】データメモリへのアクセスを制御する従来のアクセス制御装置のブロック図。
【符号の説明】
【０１５８】
１５ｊ  論理ラッチ
２５−ｊ  多重化器
ＡＡＲ  非同期属性検索回路、論理非同期回路
ＡＤｒｗ  アドレス
ＡＳＣ１  同期属性検索回路
ＡＳＣ２  同期属性検索回路
ＡＳＣ３  同期属性検索回路
ＡＴｉ  属性
ＡＴ（ＣＷＬｊ）  ソースデータ、属性
ＡＴＭＥＭ  属性メモリ
ＡＴＯＵＴ  出力部
ＣＤＥＣ  カラム復号器
ＣＫ０  第１クロック信号、リフレッシュ信号
ＣＫ１  第２クロック信号
ＣＫ２  第３クロック信号
ＣＭＣ  キャッシュメモリ管理回路
ＣＭＥＭ  メモリアレイ
ＣＭＰ０ｊ  比較器
ＣＭＰ１ｊ  比較器
ＣＰＵ  中央演算処理装置
ＣＷＬｊ  ワードライン
ＤＭＥＭ  データメモリ
ＤＺ  専用メモリ領域ＤＺ
ＩＳＲ  アイドル状態要求信号
ＩＴ  禁止信号
ＩＴＶ  割込ベクタ
ＭＡ  メモリアレイ
ＭＡＣ  メモリアクセスコントローラ
ＭＳＢ（ＡＤｒｗ）  基準タグ、コマンドが示すメモリ領域のアドレス
ＭＳＢ（ＣＷＬｊ）  タグ、メモリ領域のアドレス
Ｐｉ  保護されたメモリ領域、ページ
Ｐ１５  専用メモリ領域
ＲＤＥＣ  ワードライン復号器
ＲＭＵＸ  更新回路
ＲＥＳＥＴ  リセット信号
ＲＷ  読み出し／書き込み信号
ＳＥＬ  データメモリを選択する信号
ＷＡＩＴ  待機信号
【図１】
2005071380.tif 000006
【図２】
2005071380.tif 000007
【図３】
2005071380.tif 000008
【図４】
2005071380.tif 000009
【図５】
2005071380.tif 000010
【図６】
2005071380.tif 000011
【図７】
2005071380.tif 000012
【図８】
2005071380.tif 000013
【図９】
2005071380.tif 000014
【図１０】
2005071380.tif 000015
【図１１】
2005071380.tif 000016
【図１２】
2005071380.tif 000017
【図１３】
2005071380.tif 000018
【図１４】
2005071380.tif 000019
【図１５】
2005071380.tif 000020
【図１６】
2005071380.tif 000021
【図１７】
2005071380.tif 000022
【図１８】
2005071380.tif 000023