JP2003050742A - 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム - Google Patents
情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラムInfo
- Publication number
- JP2003050742A JP2003050742A JP2001239688A JP2001239688A JP2003050742A JP 2003050742 A JP2003050742 A JP 2003050742A JP 2001239688 A JP2001239688 A JP 2001239688A JP 2001239688 A JP2001239688 A JP 2001239688A JP 2003050742 A JP2003050742 A JP 2003050742A
- Authority
- JP
- Japan
- Prior art keywords
- storage means
- internal storage
- line
- data
- saved
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 暗号復号化データを大規模集積回路内だけで
処理することができ、かつ大規模集積回路の内部と外部
との間でデータの転送速度が大きく異なることにより発
生する性能低下を引き起こさない。 【解決手段】 暗号化復号処理装置1では、プロセッサ
21〜24からのアクセス要求に応じてそれぞれデータ
領域201〜204に記憶されているダーティ状態のラ
インを退避する際に、他のデータ領域201〜204に
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
01〜204のインバリッドのラインのアドレスに書き
込む(退避する)。すなわち、この場合に、当該ダーテ
ィ状態のラインを、内部バス4および外部バス5を介し
て、外部メモリ6に書き込む処理を行わない。
処理することができ、かつ大規模集積回路の内部と外部
との間でデータの転送速度が大きく異なることにより発
生する性能低下を引き起こさない。 【解決手段】 暗号化復号処理装置1では、プロセッサ
21〜24からのアクセス要求に応じてそれぞれデータ
領域201〜204に記憶されているダーティ状態のラ
インを退避する際に、他のデータ領域201〜204に
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
01〜204のインバリッドのラインのアドレスに書き
込む(退避する)。すなわち、この場合に、当該ダーテ
ィ状態のラインを、内部バス4および外部バス5を介し
て、外部メモリ6に書き込む処理を行わない。
Description
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特に複数のプロセッサを備え、外部記憶手段に格納
されているデータに所定の情報処理を施す情報処理装置
及び情報処理方法、プログラム格納媒体並びにプログラ
ムに関する。
し、特に複数のプロセッサを備え、外部記憶手段に格納
されているデータに所定の情報処理を施す情報処理装置
及び情報処理方法、プログラム格納媒体並びにプログラ
ムに関する。
【0002】
【従来の技術】暗号化によって保護されたデータを復号
化する時には、その復号化されたデータを外部から観測
されないようにするために、CPUのキャッシュ内での
み復号化データを処理することが行われていたが、キャ
ッシュコヒーレンシは、ソフトウェアによって明示的に
処理する必要があり、非常に煩雑であることが多かっ
た。
化する時には、その復号化されたデータを外部から観測
されないようにするために、CPUのキャッシュ内での
み復号化データを処理することが行われていたが、キャ
ッシュコヒーレンシは、ソフトウェアによって明示的に
処理する必要があり、非常に煩雑であることが多かっ
た。
【0003】また、近年の実装技術及びデバイス製造技
術の進歩により、大規模集積回路上に共有バス結合型マ
ルチプロセッサを構築することが実現可能となった。マ
ルチプロセッサでは、メモリアクセスの高速化と、プロ
セッサ相互間での通信の混雑の緩和を図ることが高速処
理を図る上で重要である。これを実現するために、通
常、マルチプロセッサでは、複数のプロセッサとそれぞ
れに対応するプライベートキャッシュメモリとを1チッ
プ内に組み込み、各プロセッサがプライベートキャッシ
ュメモリを介して内部バスに接続されている。また、主
記憶装置は、当該内部バスおよび外部バスを介して、当
該チップの外部に設けられている。以下この主記憶装置
を外部記憶装置という。
術の進歩により、大規模集積回路上に共有バス結合型マ
ルチプロセッサを構築することが実現可能となった。マ
ルチプロセッサでは、メモリアクセスの高速化と、プロ
セッサ相互間での通信の混雑の緩和を図ることが高速処
理を図る上で重要である。これを実現するために、通
常、マルチプロセッサでは、複数のプロセッサとそれぞ
れに対応するプライベートキャッシュメモリとを1チッ
プ内に組み込み、各プロセッサがプライベートキャッシ
ュメモリを介して内部バスに接続されている。また、主
記憶装置は、当該内部バスおよび外部バスを介して、当
該チップの外部に設けられている。以下この主記憶装置
を外部記憶装置という。
【0004】これをオンチップマルチプロセッサと呼ぶ
が、このシステムにおいては、内部のバスは同一大規模
集積回路上に構築するので、その動作周波数をCPUと
同程度にすることが可能である。
が、このシステムにおいては、内部のバスは同一大規模
集積回路上に構築するので、その動作周波数をCPUと
同程度にすることが可能である。
【0005】このようなマルチプロセッサでは、外部記
憶装置に記憶されているデータが複数のプライベートキ
ャッシュメモリ上にコピーされるため、プロセッサがプ
ライベートキャッシュメモリに記憶されているデータを
書き換えた場合には、外部憶装置とプライベートキャッ
シュメモリとの間や、複数のプライベートキャッシュメ
モリ相互間でデータの不一致が生じる。このようなデー
タの不一致が生じると、例えば、外部記憶装置上の同じ
アドレスのデータが複数のプライベートキャッシュメモ
リにコピーされている場合には、一のプライベートキャ
ッシュメモリに記憶されているデータが書き換えられた
後に、他のプライベートキャッシュメモリに記憶されて
いる同じアドレスのデータが読み出されてしまうと、当
該読み出されたデータは書き換えられていないため、プ
ロセッサにおいて正確な処理を行うことができない。こ
のような問題を解決するために、多くのマルチプロセッ
サでは、プライベートキャッシュメモリが内部バスを監
視(Snoop) することで、データの不一致に起因する誤っ
た処理がプロセッサで行われることを回避するスヌーピ
ングキャッシュプロトコルを採用している。
憶装置に記憶されているデータが複数のプライベートキ
ャッシュメモリ上にコピーされるため、プロセッサがプ
ライベートキャッシュメモリに記憶されているデータを
書き換えた場合には、外部憶装置とプライベートキャッ
シュメモリとの間や、複数のプライベートキャッシュメ
モリ相互間でデータの不一致が生じる。このようなデー
タの不一致が生じると、例えば、外部記憶装置上の同じ
アドレスのデータが複数のプライベートキャッシュメモ
リにコピーされている場合には、一のプライベートキャ
ッシュメモリに記憶されているデータが書き換えられた
後に、他のプライベートキャッシュメモリに記憶されて
いる同じアドレスのデータが読み出されてしまうと、当
該読み出されたデータは書き換えられていないため、プ
ロセッサにおいて正確な処理を行うことができない。こ
のような問題を解決するために、多くのマルチプロセッ
サでは、プライベートキャッシュメモリが内部バスを監
視(Snoop) することで、データの不一致に起因する誤っ
た処理がプロセッサで行われることを回避するスヌーピ
ングキャッシュプロトコルを採用している。
【0006】以下、ライトバック方式を採用したスヌー
ピングキャッシュプロトコルについて説明する。スヌー
ピングキャッシュプロトコルを採用したマルチプロセッ
サでは、プライベートキャッシュメモリに記憶されてい
る各ラインは、インバリッド(Invalid) 状態、クリーン
(Crean)状態、クリーンシェアード(Crean Shared)
状態、ダーティ(Dirty) 状態、ダーティシェアード(D
irty Shared)状態のうちの一の状態を有している。
ピングキャッシュプロトコルについて説明する。スヌー
ピングキャッシュプロトコルを採用したマルチプロセッ
サでは、プライベートキャッシュメモリに記憶されてい
る各ラインは、インバリッド(Invalid) 状態、クリーン
(Crean)状態、クリーンシェアード(Crean Shared)
状態、ダーティ(Dirty) 状態、ダーティシェアード(D
irty Shared)状態のうちの一の状態を有している。
【0007】ここで、インバリッド状態は、当該ライン
の内容が無効である状態である。クリーン状態は、外部
記憶装置と同一の値を持つ状態である。また、クリーン
シェアード状態は、複数のキャッシュに共有され、外部
記憶装置の値と同じ値を持つ状態である。また、ダーテ
ィ状態は、当該ラインのデータが外部記憶装置からプラ
イベートキャッシュメモリに読み出された後に書き換え
られ、当該ラインの内容が外部記憶装置の内容と一致し
ていない状態である。ダーティ状態のラインは、最終的
には、後述するリプレースメント処理が施される必要が
ある。ダーティシェアード状態は、複数のキャッシュに
共有され、外部メモリと異なる値を持つ状態である。
の内容が無効である状態である。クリーン状態は、外部
記憶装置と同一の値を持つ状態である。また、クリーン
シェアード状態は、複数のキャッシュに共有され、外部
記憶装置の値と同じ値を持つ状態である。また、ダーテ
ィ状態は、当該ラインのデータが外部記憶装置からプラ
イベートキャッシュメモリに読み出された後に書き換え
られ、当該ラインの内容が外部記憶装置の内容と一致し
ていない状態である。ダーティ状態のラインは、最終的
には、後述するリプレースメント処理が施される必要が
ある。ダーティシェアード状態は、複数のキャッシュに
共有され、外部メモリと異なる値を持つ状態である。
【0008】このようなマルチプロセッサでは、一のプ
ロセッサが、あるアドレスにアクセス要求を出したと
き、当該アドレスのラインが当該アクセス要求を出した
プロセッサに対応するプライベートキャッシュメモリに
存在しない場合に、当該アドレスのラインのコピーが外
部記憶装置から読み出されて、当該対応するプライベー
トキャッシュメモリに書き込まれる。そして、当該書き
込まれたラインは、プライベートキャッシュメモリにお
いて、シェアード状態となる。プライベートキャッシュ
メモリに記憶されているシェアード状態のラインは、外
部記憶装置に記憶されているラインと内容が同じである
ため、当該ラインに対しての読み出しは内部バスおよび
外部バスを介した通信を伴わないで行われる。
ロセッサが、あるアドレスにアクセス要求を出したと
き、当該アドレスのラインが当該アクセス要求を出した
プロセッサに対応するプライベートキャッシュメモリに
存在しない場合に、当該アドレスのラインのコピーが外
部記憶装置から読み出されて、当該対応するプライベー
トキャッシュメモリに書き込まれる。そして、当該書き
込まれたラインは、プライベートキャッシュメモリにお
いて、シェアード状態となる。プライベートキャッシュ
メモリに記憶されているシェアード状態のラインは、外
部記憶装置に記憶されているラインと内容が同じである
ため、当該ラインに対しての読み出しは内部バスおよび
外部バスを介した通信を伴わないで行われる。
【0009】次に、シェアード状態のラインに対してデ
ータの書き込みが行われると、当該ラインはダーティ状
態になる。このとき、内部バス上には、当該ラインのア
ドレスと無効化信号とが流され、内部バスを監視してい
る他のプライベートキャッシュメモリは、同じアドレス
のラインを記憶している場合には、当該ラインを無効化
してインバリッド状態にする。
ータの書き込みが行われると、当該ラインはダーティ状
態になる。このとき、内部バス上には、当該ラインのア
ドレスと無効化信号とが流され、内部バスを監視してい
る他のプライベートキャッシュメモリは、同じアドレス
のラインを記憶している場合には、当該ラインを無効化
してインバリッド状態にする。
【0010】ところで、上述したように、プロセッサか
らアクセス要求を出されたアドレスのラインが、当該プ
ロセッサに対応するプライベートキャッシュメモリに存
在しない場合には、当該アドレスのラインが外部記憶装
置からプライベートキャッシュメモリに読み込まれる。
このとき、プライベートキャッシュメモリにインバリッ
ド状態のラインが存在する場合には、当該インバリッド
状態のラインの記憶領域に、外部記憶装置から読み出さ
れたラインが書き込まれるが、インバリッド状態のライ
ンが存在しない場合には、プライベートキャッシュメモ
リから外部記憶装置にラインを退避して、プロセッサか
らアクセス要求があったラインを読み込んで記憶する記
憶領域をプライベートキャッシュメモリ内に生成する必
要がある。
らアクセス要求を出されたアドレスのラインが、当該プ
ロセッサに対応するプライベートキャッシュメモリに存
在しない場合には、当該アドレスのラインが外部記憶装
置からプライベートキャッシュメモリに読み込まれる。
このとき、プライベートキャッシュメモリにインバリッ
ド状態のラインが存在する場合には、当該インバリッド
状態のラインの記憶領域に、外部記憶装置から読み出さ
れたラインが書き込まれるが、インバリッド状態のライ
ンが存在しない場合には、プライベートキャッシュメモ
リから外部記憶装置にラインを退避して、プロセッサか
らアクセス要求があったラインを読み込んで記憶する記
憶領域をプライベートキャッシュメモリ内に生成する必
要がある。
【0011】ここで、プライベートキャッシュメモリか
ら外部記憶装置に退避するラインは、例えばLRU(Lea
st Recently Used) 方式などを用いて決定されるが、こ
の場合に、ダーティ状態のラインが退避を行うラインと
して決定されると、以下に示すリプレースメント処理を
行う必要がある。すなわち、リプレースメント処理で
は、プライベートキャッシュメモリに記憶されたダーテ
ィ状態のラインが外部記憶装置に退避され(書き込ま
れ)、その後、プロセッサからアクセス要求が出された
アドレスのラインのコピーが、外部記憶装置からプライ
ベートキャッシュメモリに出力され、当該コピーが前記
退避されたラインが記憶されていた領域に書き込まれ
る。
ら外部記憶装置に退避するラインは、例えばLRU(Lea
st Recently Used) 方式などを用いて決定されるが、こ
の場合に、ダーティ状態のラインが退避を行うラインと
して決定されると、以下に示すリプレースメント処理を
行う必要がある。すなわち、リプレースメント処理で
は、プライベートキャッシュメモリに記憶されたダーテ
ィ状態のラインが外部記憶装置に退避され(書き込ま
れ)、その後、プロセッサからアクセス要求が出された
アドレスのラインのコピーが、外部記憶装置からプライ
ベートキャッシュメモリに出力され、当該コピーが前記
退避されたラインが記憶されていた領域に書き込まれ
る。
【0012】
【発明が解決しようとする課題】ところで、前記オンチ
ップマイクロプロセッサを用いたシステムでは、前述し
たように、内部のバスは同一大規模集積回路上に構築す
るので、その動作周波数をCPUと同程度にすることが
可能であるが、外部バスとの格差はますます広がるの
で、外部記憶装置への参照が多くなるほど性能低下を引
き起こす。
ップマイクロプロセッサを用いたシステムでは、前述し
たように、内部のバスは同一大規模集積回路上に構築す
るので、その動作周波数をCPUと同程度にすることが
可能であるが、外部バスとの格差はますます広がるの
で、外部記憶装置への参照が多くなるほど性能低下を引
き起こす。
【0013】今後このタイプのオンチップマルチプロセ
ッサを用いて、例えば暗号の復号化処理を行う場合に
は、暗号復号化処理の特徴と、性能向上のためには大規
模回路内のプライベートキャッシュ等を可能な限り大規
模集積回路内で効率的に利用する必要がある。
ッサを用いて、例えば暗号の復号化処理を行う場合に
は、暗号復号化処理の特徴と、性能向上のためには大規
模回路内のプライベートキャッシュ等を可能な限り大規
模集積回路内で効率的に利用する必要がある。
【0014】本発明は前記実情に鑑みてなされたもので
あり、暗号復号化データを大規模集積回路内だけで処理
することができ、かつ大規模集積回路の内部と外部との
間でデータの転送速度が大きく異なることにより発生す
る性能低下を引き起こさず、さらに大規模集積回路内の
小容量、高速キャッシュ及びメモリを効率的に利用する
ことのできる情報処理装置及び情報処理方法、プログラ
ム格納媒体及びプログラムの提供を目的とする。
あり、暗号復号化データを大規模集積回路内だけで処理
することができ、かつ大規模集積回路の内部と外部との
間でデータの転送速度が大きく異なることにより発生す
る性能低下を引き起こさず、さらに大規模集積回路内の
小容量、高速キャッシュ及びメモリを効率的に利用する
ことのできる情報処理装置及び情報処理方法、プログラ
ム格納媒体及びプログラムの提供を目的とする。
【0015】
【課題を解決するための手段】本発明に係る情報処理装
置は、前記課題を解決するために、外部記憶手段に格納
されている暗号データに復号化処理を施す情報処理装置
において、複数のプロセッサと、前記複数のプロセッサ
にそれぞれ対応して設けられ、対応するプロセッサに暗
号データを供給する複数の内部記憶手段と、前記プロセ
ッサからアクセス要求があった暗号データを外部記憶手
段から読み出して前記アクセス要求を出したプロセッサ
に対応する内部記憶手段に書き込むと共に、前記プロセ
ッサにより復号化された復号化データを当該内部記憶手
段から退避する必要があるときに、当該退避する必要が
ある復号化データを、当該対応する内部記憶手段を除く
他の内部記憶手段に退避する制御手段とを備える。
置は、前記課題を解決するために、外部記憶手段に格納
されている暗号データに復号化処理を施す情報処理装置
において、複数のプロセッサと、前記複数のプロセッサ
にそれぞれ対応して設けられ、対応するプロセッサに暗
号データを供給する複数の内部記憶手段と、前記プロセ
ッサからアクセス要求があった暗号データを外部記憶手
段から読み出して前記アクセス要求を出したプロセッサ
に対応する内部記憶手段に書き込むと共に、前記プロセ
ッサにより復号化された復号化データを当該内部記憶手
段から退避する必要があるときに、当該退避する必要が
ある復号化データを、当該対応する内部記憶手段を除く
他の内部記憶手段に退避する制御手段とを備える。
【0016】本発明に係る情報処理方法は、前記課題を
解決するために、外部記憶手段に格納されている暗号デ
ータに復号化処理を施すための情報処理方法において、
複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、
前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、前記プロセッサにより復
号化された復号化データを当該内部記憶手段から退避す
る必要があるときに、当該退避する必要がある復号化デ
ータを、当該対応する内部記憶手段を除く他の内部記憶
手段に退避する退避工程とを備える。
解決するために、外部記憶手段に格納されている暗号デ
ータに復号化処理を施すための情報処理方法において、
複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、
前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、前記プロセッサにより復
号化された復号化データを当該内部記憶手段から退避す
る必要があるときに、当該退避する必要がある復号化デ
ータを、当該対応する内部記憶手段を除く他の内部記憶
手段に退避する退避工程とを備える。
【0017】本発明に係るプログラム格納媒体は、前記
課題を解決するために、外部記憶手段に格納されている
暗号データに復号化処理を施すための情報処理プログラ
ムを格納しているプログラム格納媒体であって、複数の
プロセッサの内の一からアクセス要求があった暗号デー
タを外部記憶手段から読み出す読み出し工程と、前記読
み出し工程により読み出された暗号データを前記アクセ
ス要求を出したプロセッサに対応する内部記憶手段に書
き込む書き込み工程と、前記プロセッサにより復号化さ
れた復号化データを当該内部記憶手段から退避する必要
があるときに、当該退避する必要がある復号化データ
を、当該対応する内部記憶手段を除く他の内部記憶手段
に退避する退避工程とを備える情報処理プログラムを格
納している。
課題を解決するために、外部記憶手段に格納されている
暗号データに復号化処理を施すための情報処理プログラ
ムを格納しているプログラム格納媒体であって、複数の
プロセッサの内の一からアクセス要求があった暗号デー
タを外部記憶手段から読み出す読み出し工程と、前記読
み出し工程により読み出された暗号データを前記アクセ
ス要求を出したプロセッサに対応する内部記憶手段に書
き込む書き込み工程と、前記プロセッサにより復号化さ
れた復号化データを当該内部記憶手段から退避する必要
があるときに、当該退避する必要がある復号化データ
を、当該対応する内部記憶手段を除く他の内部記憶手段
に退避する退避工程とを備える情報処理プログラムを格
納している。
【0018】本発明に係るプログラムは、前記課題を解
決するために、外部記憶手段に格納されている暗号デー
タに復号化処理を施すための情報処理をマルチプロセッ
サに実行させるためのプログラムであって、複数のプロ
セッサの内の一からアクセス要求があった暗号データを
外部記憶手段から読み出す読み出し工程と、前記読み出
し工程により読み出された暗号データを前記アクセス要
求を出したプロセッサに対応する内部記憶手段に書き込
む書き込み工程と、前記プロセッサにより復号化された
復号化データを当該内部記憶手段から退避する必要があ
るときに、当該退避する必要がある復号化データを、当
該対応する内部記憶手段を除く他の内部記憶手段に退避
する退避工程とを備える。
決するために、外部記憶手段に格納されている暗号デー
タに復号化処理を施すための情報処理をマルチプロセッ
サに実行させるためのプログラムであって、複数のプロ
セッサの内の一からアクセス要求があった暗号データを
外部記憶手段から読み出す読み出し工程と、前記読み出
し工程により読み出された暗号データを前記アクセス要
求を出したプロセッサに対応する内部記憶手段に書き込
む書き込み工程と、前記プロセッサにより復号化された
復号化データを当該内部記憶手段から退避する必要があ
るときに、当該退避する必要がある復号化データを、当
該対応する内部記憶手段を除く他の内部記憶手段に退避
する退避工程とを備える。
【0019】
【発明の実施の形態】以下、本発明のいくつかの実施の
形態について図面を参照しながら説明する。先ず、第1
の実施の形態は、外部記憶手段である外部メモリに格納
されている暗号化データを読み出し、その暗号化データ
に復号化処理を施して復号化データを生成する暗号復号
化処理装置である。
形態について図面を参照しながら説明する。先ず、第1
の実施の形態は、外部記憶手段である外部メモリに格納
されている暗号化データを読み出し、その暗号化データ
に復号化処理を施して復号化データを生成する暗号復号
化処理装置である。
【0020】図1に示すように、暗号復号化処理装置1
は、4つのプロセッサ21,22,23,24と、これ
ら4つのプロセッサ21,22,23,24にそれぞれ
対応して設けられる4つのプライベートキャッシュメモ
リ31,32,33,34と、共有キャッシュメモリ3
0と、内部バス4と、外部バス5及び外部メモリ6とを
備えている。
は、4つのプロセッサ21,22,23,24と、これ
ら4つのプロセッサ21,22,23,24にそれぞれ
対応して設けられる4つのプライベートキャッシュメモ
リ31,32,33,34と、共有キャッシュメモリ3
0と、内部バス4と、外部バス5及び外部メモリ6とを
備えている。
【0021】ここで、4つのプロセッサ21,22,2
3,24と、4つのプライベートキャッシュメモリ
31,32,33,34と、共有キャッシュメモリ30
と、内部バス4は、1チップの半導体集積回路10内に
組み込まれている。
3,24と、4つのプライベートキャッシュメモリ
31,32,33,34と、共有キャッシュメモリ30
と、内部バス4は、1チップの半導体集積回路10内に
組み込まれている。
【0022】すなわち、暗号復号化処理装置1の半導体
集積回路10は、内部バス4を介して4つのプライベー
トキャッシュメモリ31,32,33,34を相互に接
続し、4つのプライベートキャッシュメモリ31,
32,33,34にそれぞれプロセッサ21,22,2
3,24を接続したバス結合型をしている。さらに、内
部バス4には、共有キャッシュメモリ30が接続されて
いる。そして、この1チップの半導体集積回路10に
は、外部バス5を介して外部メモリ6が接続されてい
る。
集積回路10は、内部バス4を介して4つのプライベー
トキャッシュメモリ31,32,33,34を相互に接
続し、4つのプライベートキャッシュメモリ31,
32,33,34にそれぞれプロセッサ21,22,2
3,24を接続したバス結合型をしている。さらに、内
部バス4には、共有キャッシュメモリ30が接続されて
いる。そして、この1チップの半導体集積回路10に
は、外部バス5を介して外部メモリ6が接続されてい
る。
【0023】プロセッサ21〜24は、ロード/ストア
命令の実行時に、それぞれに接続されたプライベートキ
ャッシュメモリ31〜34にアクセスを行うため、例え
ばRISC(Reduced Instruction Set Computer)アーキ
テクチャが採用されている。プロセッサ21〜24は、
演算制御命令、ロード/ストア命令の他に、テストアン
ドセット(Test And Set)命令やスワップ(Swap)命令など
のマルチプロセッサ独自の命令を実行する。
命令の実行時に、それぞれに接続されたプライベートキ
ャッシュメモリ31〜34にアクセスを行うため、例え
ばRISC(Reduced Instruction Set Computer)アーキ
テクチャが採用されている。プロセッサ21〜24は、
演算制御命令、ロード/ストア命令の他に、テストアン
ドセット(Test And Set)命令やスワップ(Swap)命令など
のマルチプロセッサ独自の命令を実行する。
【0024】プライベートキャッシュメモリ31は、記
憶領域として、データ領域201およびタグ領域211
を有する。また、プライベートキャッシュメモリ3
1は、制御手段としてのコントローラ221を有してい
る。データ領域201は、プロセッサ21によってアク
セスされるデータをライン単位で記憶する。タグ領域2
1 1は、データ領域201の各ラインについて、当該ラ
インの外部メモリ6上でのアドレスと、当該ラインの状
態を示す状態データとを記憶している。
憶領域として、データ領域201およびタグ領域211
を有する。また、プライベートキャッシュメモリ3
1は、制御手段としてのコントローラ221を有してい
る。データ領域201は、プロセッサ21によってアク
セスされるデータをライン単位で記憶する。タグ領域2
1 1は、データ領域201の各ラインについて、当該ラ
インの外部メモリ6上でのアドレスと、当該ラインの状
態を示す状態データとを記憶している。
【0025】ここで、ラインの状態、すなわちラインス
テイタスには、前述したように、インバリッド(Invali
d) 状態、クリーン(Crean)状態、クリーンシェアード
(Crean Shared)状態、ダーティ(Dirty) 状態、ダー
ティシェアード(Dirty Shared)状態がある。次に、コ
ントローラ221について説明する。コントローラ22
1は、スヌープキャッシュメモリプロトコルを採用して
おり、必要に応じてタグ領域211に記憶されている状
態データを書き換える機能と、他のコントローラ222
〜22 4からの退避要求信号に応答する機能と、プロセ
ッサ21からアクセス要求があったデータをプロセッサ
21に出力する機能とを有する。
テイタスには、前述したように、インバリッド(Invali
d) 状態、クリーン(Crean)状態、クリーンシェアード
(Crean Shared)状態、ダーティ(Dirty) 状態、ダー
ティシェアード(Dirty Shared)状態がある。次に、コ
ントローラ221について説明する。コントローラ22
1は、スヌープキャッシュメモリプロトコルを採用して
おり、必要に応じてタグ領域211に記憶されている状
態データを書き換える機能と、他のコントローラ222
〜22 4からの退避要求信号に応答する機能と、プロセ
ッサ21からアクセス要求があったデータをプロセッサ
21に出力する機能とを有する。
【0026】先ず、コントローラ221における状態デ
ータを書き換える機能は以下のようにして行われる。す
なわち、コントローラ221は、内部バス4を監視して
おり、他のプライベートキャッシュメモリ32〜34の
データ領域202〜204に記憶されているラインのう
ち、データ領域201に記憶されているラインと同じア
ドレスを持つラインに書き込みが生じたことを検出する
と、当該アドレスを記憶しているタグ領域211の状態
データを、シェアードからインバリッドに書き換える。
ータを書き換える機能は以下のようにして行われる。す
なわち、コントローラ221は、内部バス4を監視して
おり、他のプライベートキャッシュメモリ32〜34の
データ領域202〜204に記憶されているラインのう
ち、データ領域201に記憶されているラインと同じア
ドレスを持つラインに書き込みが生じたことを検出する
と、当該アドレスを記憶しているタグ領域211の状態
データを、シェアードからインバリッドに書き換える。
【0027】また、コントローラ221は、対応する状
態データがシェアードを示すラインに、プロセッサ21
から書き込みがあった場合には、当該ラインの状態デー
タを、シェアードからダーティに書き換える。なお、コ
ントローラ221は、外部メモリ6からデータ領域20
1にラインが読み出されたときに、当該ラインに対応す
る状態データをシェアードに設定する。
態データがシェアードを示すラインに、プロセッサ21
から書き込みがあった場合には、当該ラインの状態デー
タを、シェアードからダーティに書き換える。なお、コ
ントローラ221は、外部メモリ6からデータ領域20
1にラインが読み出されたときに、当該ラインに対応す
る状態データをシェアードに設定する。
【0028】次に、コントローラ221における他のコ
ントローラ222〜224からの退避要求信号に応答す
る機能は以下のようにして行われる。すなわち、コント
ローラ221は、退避要求信号を入力すると、タグ領域
211の状態データを参照してインバリッドを示すもの
があるか否かを判断し、インバリッドを示すものがある
と判断した場合には、インバリッドのラインが存在する
ことを示す退避要求応答信号を内部バス4に出力する。
ントローラ222〜224からの退避要求信号に応答す
る機能は以下のようにして行われる。すなわち、コント
ローラ221は、退避要求信号を入力すると、タグ領域
211の状態データを参照してインバリッドを示すもの
があるか否かを判断し、インバリッドを示すものがある
と判断した場合には、インバリッドのラインが存在する
ことを示す退避要求応答信号を内部バス4に出力する。
【0029】一方、コントローラ221は、インバリッ
ドのラインが存在しないと判断した場合には、インバリ
ッドのラインが存在しないことを示す退避要求応答信号
を内部バス4に出力する。
ドのラインが存在しないと判断した場合には、インバリ
ッドのラインが存在しないことを示す退避要求応答信号
を内部バス4に出力する。
【0030】次に、共有キャッシュメモリ30について
説明する。共有キャッシュメモリ30は、図1に示すよ
うに、データ領域31、タグ領域32および制御手段と
してのコントローラ33を有する。データ領域31は、
プライベートキャッシュメモリ31〜34のデータ領域
201〜204から退避されたダーティ状態のラインを
記憶する。なお、共有キャッシュ30のデータ領域31
は、外部メモリ6からプライベートキャッシュ31〜3
4にラインを読み込む際の2次キャッシュメモリとして
は機能しない。すなわち、外部メモリ6から共有キャッ
シュ30へのラインの読み込みは行われない。タグ領域
32は、データ領域31に記憶されている各ラインにつ
いて、当該ラインの外部メモリ6上でのアドレスと、当
該ラインの状態データとを記憶している。
説明する。共有キャッシュメモリ30は、図1に示すよ
うに、データ領域31、タグ領域32および制御手段と
してのコントローラ33を有する。データ領域31は、
プライベートキャッシュメモリ31〜34のデータ領域
201〜204から退避されたダーティ状態のラインを
記憶する。なお、共有キャッシュ30のデータ領域31
は、外部メモリ6からプライベートキャッシュ31〜3
4にラインを読み込む際の2次キャッシュメモリとして
は機能しない。すなわち、外部メモリ6から共有キャッ
シュ30へのラインの読み込みは行われない。タグ領域
32は、データ領域31に記憶されている各ラインにつ
いて、当該ラインの外部メモリ6上でのアドレスと、当
該ラインの状態データとを記憶している。
【0031】コントローラ33は、プライベートキャッ
シュメモリ31〜34のデータ領域201〜204のダ
ーティのラインを退避する必要があるときに、コントロ
ーラ221〜224から内部バス4を介して退避要求信
号を入力する。
シュメモリ31〜34のデータ領域201〜204のダ
ーティのラインを退避する必要があるときに、コントロ
ーラ221〜224から内部バス4を介して退避要求信
号を入力する。
【0032】そして、コントローラ33は、データ領域
31に空き領域、すなわちリプレーススペースが存在す
るか否かを判断し、存在すると判断した場合には、コン
トローラ221〜224に退避要求応答信号を出力す
る。また、コントローラ33は、データ領域31にリプ
レーススペースが存在しないと判断したときには、例え
ばLRU方式などを用いてデータ領域31に記憶されて
いるラインのうち一のラインを選択し、この選択したラ
インを外部バス5を介して外部メモリ6に退避する。こ
れにより、データ領域31には空き領域が確保される。
31に空き領域、すなわちリプレーススペースが存在す
るか否かを判断し、存在すると判断した場合には、コン
トローラ221〜224に退避要求応答信号を出力す
る。また、コントローラ33は、データ領域31にリプ
レーススペースが存在しないと判断したときには、例え
ばLRU方式などを用いてデータ領域31に記憶されて
いるラインのうち一のラインを選択し、この選択したラ
インを外部バス5を介して外部メモリ6に退避する。こ
れにより、データ領域31には空き領域が確保される。
【0033】次に、コントローラ221におけるプロセ
ッサ21からのアクセス要求に応答する機能について説
明する。図2は、コントローラ221におけるプロセッ
サ2 1からのアクセス要求に応答する処理を説明するた
めのフローチャートである。
ッサ21からのアクセス要求に応答する機能について説
明する。図2は、コントローラ221におけるプロセッ
サ2 1からのアクセス要求に応答する処理を説明するた
めのフローチャートである。
【0034】ステップS1:コントローラ221は、プ
ロセッサ21からアクセス要求があったか否かを判断
し、アクセス要求があったと判断した場合にはステップ
S2の処理を実行し、そうでない場合にはステップS1
の処理を繰り返す。
ロセッサ21からアクセス要求があったか否かを判断
し、アクセス要求があったと判断した場合にはステップ
S2の処理を実行し、そうでない場合にはステップS1
の処理を繰り返す。
【0035】ステップS2:コントローラ221は、プ
ロセッサ21からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域201に記憶されている
か否かを、タグ領域211に記憶されているアドレスを
検索して判断する。そして、コントローラ221は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域201に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域201に
記憶されていると判断した場合にはステップS8の処理
を実行する。
ロセッサ21からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域201に記憶されている
か否かを、タグ領域211に記憶されているアドレスを
検索して判断する。そして、コントローラ221は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域201に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域201に
記憶されていると判断した場合にはステップS8の処理
を実行する。
【0036】ステップS8:コントローラ221は、プ
ロセッサ21からのアクセス要求が示すアドレスのデー
タをデータ領域201から読み出してプロセッサ21に
出力する。
ロセッサ21からのアクセス要求が示すアドレスのデー
タをデータ領域201から読み出してプロセッサ21に
出力する。
【0037】ステップS3:コントローラ221は、外
部メモリ6からデータ領域201にラインを読み込むに
あたって、データ領域201に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ221は、データ領域20
1に、タグ領域211に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
部メモリ6からデータ領域201にラインを読み込むに
あたって、データ領域201に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ221は、データ領域20
1に、タグ領域211に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
【0038】ステップS4:コントローラ221は、内
部バス4を介して、コントローラ222 〜224に、
退避要求信号を出力する。コントローラ222〜224
は、退避要求信号を入力すると、タグ領域212〜21
4の状態データを参照してインバリッドを示すものがあ
るか否かを判断し、インバリッドを示すものがあると判
断した場合には、インバリッドを示すラインが存在する
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ221に出力する。一方、コントローラ222
〜224は、インバリッドを示すものが存在しないと判
断した場合には、インバリッドを示すラインが存在しな
いことを示す退避要求応答信号を内部バス4を介してコ
ントローラ221に出力する。
部バス4を介して、コントローラ222 〜224に、
退避要求信号を出力する。コントローラ222〜224
は、退避要求信号を入力すると、タグ領域212〜21
4の状態データを参照してインバリッドを示すものがあ
るか否かを判断し、インバリッドを示すものがあると判
断した場合には、インバリッドを示すラインが存在する
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ221に出力する。一方、コントローラ222
〜224は、インバリッドを示すものが存在しないと判
断した場合には、インバリッドを示すラインが存在しな
いことを示す退避要求応答信号を内部バス4を介してコ
ントローラ221に出力する。
【0039】ステップS5:コントローラ221は、コ
ントローラ222〜224から入力した退避要求応答信
号に基づいて、図3に示すキャッシュリプレースメント
処理を実行する。
ントローラ222〜224から入力した退避要求応答信
号に基づいて、図3に示すキャッシュリプレースメント
処理を実行する。
【0040】すなわち、ステップS11にて他のプロセ
ッサのプライベートキャッシュメモリのデータ領域20
2〜204にインバリッドのラインが存在するか否かを
判断し、インバリッドのラインが存在すると判断した場
合にはステップS12の処理を実行し、インバリッドの
ラインが存在しないと判断した場合にはステップS13
以下の処理を実行する。
ッサのプライベートキャッシュメモリのデータ領域20
2〜204にインバリッドのラインが存在するか否かを
判断し、インバリッドのラインが存在すると判断した場
合にはステップS12の処理を実行し、インバリッドの
ラインが存在しないと判断した場合にはステップS13
以下の処理を実行する。
【0041】ステップS12:コントローラ221は、
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ222 〜224のプ
ライベートキャッシュメモリ32〜34に、内部バス4
を介して、データ領域201に記憶されている退避を行
う対象となるダーティエントリを出力する。当該退避を
行う対象となるエントリは、データ領域202〜204
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域202〜204のインバリッドのラ
インに書き込まれる。従って、当該ラインの書き込みは
高速に行われる。
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ222 〜224のプ
ライベートキャッシュメモリ32〜34に、内部バス4
を介して、データ領域201に記憶されている退避を行
う対象となるダーティエントリを出力する。当該退避を
行う対象となるエントリは、データ領域202〜204
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域202〜204のインバリッドのラ
インに書き込まれる。従って、当該ラインの書き込みは
高速に行われる。
【0042】このとき、データ領域201に記憶されて
いるラインのうち、退避の対象となるエントリは、例え
ば、FIFO(First In First Out)方式あるいはLRU
(LeastRecently Used) 方式などを用いて決定される。
ここでは、LRU方式によりダーティエントリとされて
いる。また、コントローラ221は、データ領域20 2
〜204に複数のインバリッドのラインが存在する場合
には、予め決められた規則に基づいて、一のインバリッ
ドのラインを選択する。
いるラインのうち、退避の対象となるエントリは、例え
ば、FIFO(First In First Out)方式あるいはLRU
(LeastRecently Used) 方式などを用いて決定される。
ここでは、LRU方式によりダーティエントリとされて
いる。また、コントローラ221は、データ領域20 2
〜204に複数のインバリッドのラインが存在する場合
には、予め決められた規則に基づいて、一のインバリッ
ドのラインを選択する。
【0043】ステップS13:コントローラ221は、
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域、すなわちリプレーススペースが存在するか
否かを判断し、存在すると判断した場合には、退避要求
応答信号を出力する。これによりステップS14に進む
ことになる。また、コントローラ33は、データ領域3
1に空き領域が存在しないと判断した場合には、ステッ
プS15に進む。
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域、すなわちリプレーススペースが存在するか
否かを判断し、存在すると判断した場合には、退避要求
応答信号を出力する。これによりステップS14に進む
ことになる。また、コントローラ33は、データ領域3
1に空き領域が存在しないと判断した場合には、ステッ
プS15に進む。
【0044】ステップS14:データ領域201に記憶
されている退避を行う対象となるラインを、共有キャッ
シュメモリ30に出力する。当該退避を行う対象となる
ラインは、共有キャッシュメモリ30の当該ラインのア
ドレスに対応する記憶領域に書き込まれる。
されている退避を行う対象となるラインを、共有キャッ
シュメモリ30に出力する。当該退避を行う対象となる
ラインは、共有キャッシュメモリ30の当該ラインのア
ドレスに対応する記憶領域に書き込まれる。
【0045】ステップS15:コントローラ33は、L
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
【0046】ステップS16:ステップS15にて確保
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、コントローラ221は内部バス4を介し
て、データ領域201に記憶されている退避を行う対象
となるラインを出力する。すると、当該退避を行う対象
となるラインは、共有キャッシュメモリ30の前記空き
領域に退避される。
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、コントローラ221は内部バス4を介し
て、データ領域201に記憶されている退避を行う対象
となるラインを出力する。すると、当該退避を行う対象
となるラインは、共有キャッシュメモリ30の前記空き
領域に退避される。
【0047】以上でステップS5のキャッシュリプレー
スメント処理の実行が終了し、次に、図2のステップS
6に戻る。 ステップS6:コントローラ221によって、プロセッ
サ21のアクセス要求が示す外部メモリ6上のアドレス
からラインが読み出され、当該読み出されたラインが外
部バス5および内部バス4を介してプライベートキャッ
シュメモリ31に入力される。そして、ステップS6あ
るいはS12の処理が行われた場合には、入力したライ
ンが、データ領域201 内の前述した退避が行われた
ラインのアドレスに書き込まれる。また、プライベート
キャッシュメモリ31 にインバリッドのラインが存在
した場合(ステップS3からステップ6に処理が移った
場合)には、入力したラインが、データ領域201のイ
ンバリッドのラインのアドレスに書き込まれる。また、
コントローラ221は、タグ領域211における当該書
き込みを行ったラインに対応する状態データをシェアー
ドに設定する。
スメント処理の実行が終了し、次に、図2のステップS
6に戻る。 ステップS6:コントローラ221によって、プロセッ
サ21のアクセス要求が示す外部メモリ6上のアドレス
からラインが読み出され、当該読み出されたラインが外
部バス5および内部バス4を介してプライベートキャッ
シュメモリ31に入力される。そして、ステップS6あ
るいはS12の処理が行われた場合には、入力したライ
ンが、データ領域201 内の前述した退避が行われた
ラインのアドレスに書き込まれる。また、プライベート
キャッシュメモリ31 にインバリッドのラインが存在
した場合(ステップS3からステップ6に処理が移った
場合)には、入力したラインが、データ領域201のイ
ンバリッドのラインのアドレスに書き込まれる。また、
コントローラ221は、タグ領域211における当該書
き込みを行ったラインに対応する状態データをシェアー
ドに設定する。
【0048】ステップS7:コントローラ221は、ス
テップS6において、データ領域201に書き込んだラ
イン内のプロセッサ21から要求があったデータを読み
出して、プロセッサ21に出力する。
テップS6において、データ領域201に書き込んだラ
イン内のプロセッサ21から要求があったデータを読み
出して、プロセッサ21に出力する。
【0049】以上、コントローラ221について説明し
たが、コントローラ222〜224は、コントローラ2
21と同じ機能を有する。
たが、コントローラ222〜224は、コントローラ2
21と同じ機能を有する。
【0050】外部メモリ6は、プロセッサ21〜24に
よってアクセスされる暗号化データを記憶している。な
お、外部メモリ6は、半導体集積回路10の外部に位置
することから、プロセッサ21とプライベートキャッシ
ュメモリ31〜34との間のデータ転送速度に比べて、
外部メモリ6とプライベートキャッシュメモリ31〜3
4との間のデータ転送速度は低速であるが、プライベー
トキャッシュメモリ3 1〜34に比べて大きな記憶容量
を有している。
よってアクセスされる暗号化データを記憶している。な
お、外部メモリ6は、半導体集積回路10の外部に位置
することから、プロセッサ21とプライベートキャッシ
ュメモリ31〜34との間のデータ転送速度に比べて、
外部メモリ6とプライベートキャッシュメモリ31〜3
4との間のデータ転送速度は低速であるが、プライベー
トキャッシュメモリ3 1〜34に比べて大きな記憶容量
を有している。
【0051】以下、図1に示す暗号復号化処理装置1の
動作について説明する。暗号復号処理装置1の動作は、
主に、図2を用いて上述したコントローラ221〜22
4の処理に特徴を有している。
動作について説明する。暗号復号処理装置1の動作は、
主に、図2を用いて上述したコントローラ221〜22
4の処理に特徴を有している。
【0052】先ず、プロセッサ21からアクセス要求が
発生し、プライベートキャッシュメモリ31のデータ領
域201に記憶されているダーティ状態のラインを退避
する必要があるときに、プライベートキャッシュメモリ
34のデータ領域204に、インバリッドのラインが存
在する場合の暗号復号化処理装置1の動作を図2、図3
を参照しながら説明する。先ず、プロセッサ21からア
クセス要求が発生し(ステップS1)、コントローラ2
21において、当該アクセス要求があったラインがデー
タ領域201に記憶されいるか否かが、タグ領域211
に記憶されているアドレスを参照して判断され、当該ラ
インがデータ領域201に記憶されていないと判断され
る(ステップS2)。
発生し、プライベートキャッシュメモリ31のデータ領
域201に記憶されているダーティ状態のラインを退避
する必要があるときに、プライベートキャッシュメモリ
34のデータ領域204に、インバリッドのラインが存
在する場合の暗号復号化処理装置1の動作を図2、図3
を参照しながら説明する。先ず、プロセッサ21からア
クセス要求が発生し(ステップS1)、コントローラ2
21において、当該アクセス要求があったラインがデー
タ領域201に記憶されいるか否かが、タグ領域211
に記憶されているアドレスを参照して判断され、当該ラ
インがデータ領域201に記憶されていないと判断され
る(ステップS2)。
【0053】次に、コントローラ221において、プロ
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201に読み込むにあ
たって、データ領域201に記憶されているラインを退
避する必要があるか否かを判断し、ラインを退避する必
要があると判断する(ステップS3)。次に、コントロ
ーラ221から、内部バス4を介して、コントローラ2
22〜224に、退避要求信号が出力される(ステップ
S4)。そして、コントローラ223において、入力し
た退避要求信号に基づいて、タグ領域214の状態デー
タが参照され、インバリッドを示すラインがあると判断
され、インバリッドを示すラインが存在することを示す
退避要求応答信号が内部バス4を介してコントローラ2
21に出力される。
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201に読み込むにあ
たって、データ領域201に記憶されているラインを退
避する必要があるか否かを判断し、ラインを退避する必
要があると判断する(ステップS3)。次に、コントロ
ーラ221から、内部バス4を介して、コントローラ2
22〜224に、退避要求信号が出力される(ステップ
S4)。そして、コントローラ223において、入力し
た退避要求信号に基づいて、タグ領域214の状態デー
タが参照され、インバリッドを示すラインがあると判断
され、インバリッドを示すラインが存在することを示す
退避要求応答信号が内部バス4を介してコントローラ2
21に出力される。
【0054】次に、コントローラ221が、コントロー
ラ224から入力した退避要求応答信号に基づいて、デ
ータ領域204にインバリッドのラインが存在すると判
断する(ステップS11)。
ラ224から入力した退避要求応答信号に基づいて、デ
ータ領域204にインバリッドのラインが存在すると判
断する(ステップS11)。
【0055】次に、プライベートキャッシュメモリ31
からプライベートキャッシュメモリ34に、内部バス4
を介して、データ領域201に記憶されている退避を行
う対象となるラインが出力され、データ領域204内の
インバリッドのラインに書き込まれる(ステップS1
2)。当該書き込みは、内部バス4を介して高速に行わ
れる。すなわち、外部バス5を介した、外部メモリ6へ
のラインの退避は行われない。
からプライベートキャッシュメモリ34に、内部バス4
を介して、データ領域201に記憶されている退避を行
う対象となるラインが出力され、データ領域204内の
インバリッドのラインに書き込まれる(ステップS1
2)。当該書き込みは、内部バス4を介して高速に行わ
れる。すなわち、外部バス5を介した、外部メモリ6へ
のラインの退避は行われない。
【0056】次に、プロセッサ21からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の既
に退避が行われたラインのアドレスに書き込まれる(ス
テップS6)。
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の既
に退避が行われたラインのアドレスに書き込まれる(ス
テップS6)。
【0057】次に、データ領域201に書き込まれたラ
イン内のプロセッサ21から要求があったデータが読み
出されてプロセッサ21に出力される(ステップS
7)。
イン内のプロセッサ21から要求があったデータが読み
出されてプロセッサ21に出力される(ステップS
7)。
【0058】そして、プロセッサ21では、外部メモリ
6から読み出されて供給された暗号化データに復号化処
理を施して暗号復号化データを生成する。この暗号復号
化データは、プライベートキャッシュメモリにダーティ
ラインとして戻される。しかし、このダーティライン
は、外部メモリ6に退避されることがない。
6から読み出されて供給された暗号化データに復号化処
理を施して暗号復号化データを生成する。この暗号復号
化データは、プライベートキャッシュメモリにダーティ
ラインとして戻される。しかし、このダーティライン
は、外部メモリ6に退避されることがない。
【0059】以上説明したように、暗号化復号処理装置
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域201〜204にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域201〜204のインバリッドのライ
ンのアドレスに書き込む(退避する)。すなわち、この
場合に、当該ダーティ状態のラインを、内部バス4およ
び外部バス5を介して、外部メモリ6に書き込む処理を
行わない。したがって、暗号復号化処理装置1によれ
ば、外部メモリ6への参照を減らすことができるので、
低速な外部バス5を介したデータ転送の数を削減でき、
処理の高速化を図ることができる。
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域201〜204にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域201〜204のインバリッドのライ
ンのアドレスに書き込む(退避する)。すなわち、この
場合に、当該ダーティ状態のラインを、内部バス4およ
び外部バス5を介して、外部メモリ6に書き込む処理を
行わない。したがって、暗号復号化処理装置1によれ
ば、外部メモリ6への参照を減らすことができるので、
低速な外部バス5を介したデータ転送の数を削減でき、
処理の高速化を図ることができる。
【0060】また、この暗号復号化処理装置1によれ
ば、暗号復号化データを外部メモリ6に退避させること
がなく、半導体集積回路10内だけで復号化処理を完了
することができるので、第三者によって復号化データが
観測される危険性を回避できる。
ば、暗号復号化データを外部メモリ6に退避させること
がなく、半導体集積回路10内だけで復号化処理を完了
することができるので、第三者によって復号化データが
観測される危険性を回避できる。
【0061】次に、プロセッサ21からアクセス要求が
発生し、プライベートキャッシュメモリ31のデータ領
域201に記憶されているダーティ状態のラインを退避
する必要があり、他のプライベートキャッシュメモリに
インバリットエントリが存在せず、共有キャッシュメモ
リ30に空き領域が存在する場合の暗号復号化処理装置
1の動作を図2及び図3を参照しながら説明する。
発生し、プライベートキャッシュメモリ31のデータ領
域201に記憶されているダーティ状態のラインを退避
する必要があり、他のプライベートキャッシュメモリに
インバリットエントリが存在せず、共有キャッシュメモ
リ30に空き領域が存在する場合の暗号復号化処理装置
1の動作を図2及び図3を参照しながら説明する。
【0062】先ず、プロセッサ21からアクセス要求が
発生し(図2に示すステップS1)、コントローラ22
1において、当該アクセス要求があったラインがデータ
領域201に記憶されいるか否かが、タグ領域211に
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域201に記憶されていないと判断される
(図2に示すステップS2)。
発生し(図2に示すステップS1)、コントローラ22
1において、当該アクセス要求があったラインがデータ
領域201に記憶されいるか否かが、タグ領域211に
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域201に記憶されていないと判断される
(図2に示すステップS2)。
【0063】次に、コントローラ221において、プロ
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201にラインを読み
込むにあたって、データ領域201に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ221から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201にラインを読み
込むにあたって、データ領域201に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ221から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
【0064】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0065】そして、前記退避要求信号は、共有キャッ
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。共有キャッ
シュメモリのデータ領域31に空き領域があることを判
断すると、コントローラ33は退避要求応答信号をプラ
イベートキャッシュメモリ31のコントローラ221に
返す。
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。共有キャッ
シュメモリのデータ領域31に空き領域があることを判
断すると、コントローラ33は退避要求応答信号をプラ
イベートキャッシュメモリ31のコントローラ221に
返す。
【0066】次に、コントローラ221において、退避
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域201から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S14)。
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域201から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S14)。
【0067】次に、プロセッサ21からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ21に出力される。
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ21に出力される。
【0068】以上説明したように、暗号化復号処理装置
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のプライベ
ートキャッシュメモリにインバリッド状態のラインが存
在しない場合には、当該ダーティ状態のラインを共有キ
ャッシュメモリ30に書き込むことができる。次に、プ
ロセッサ21からアクセス要求が発生し、プライベート
キャッシュメモリ31のデータ領域201に記憶されて
いるダーティ状態のラインを退避する必要があり、他の
プライベートキャッシュメモリにインバリットエントリ
が存在せず、共有キャッシュメモリ30にも空き領域が
存在しない場合の暗号復号化処理装置1の動作を図2及
び図3を参照しながら説明する。
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のプライベ
ートキャッシュメモリにインバリッド状態のラインが存
在しない場合には、当該ダーティ状態のラインを共有キ
ャッシュメモリ30に書き込むことができる。次に、プ
ロセッサ21からアクセス要求が発生し、プライベート
キャッシュメモリ31のデータ領域201に記憶されて
いるダーティ状態のラインを退避する必要があり、他の
プライベートキャッシュメモリにインバリットエントリ
が存在せず、共有キャッシュメモリ30にも空き領域が
存在しない場合の暗号復号化処理装置1の動作を図2及
び図3を参照しながら説明する。
【0069】先ず、プロセッサ21からアクセス要求が
発生し(図2に示すステップS1)、コントローラ22
1において、当該アクセス要求があったラインがデータ
領域201に記憶されいるか否かが、タグ領域211に
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域201に記憶されていないと判断される
(図2に示すステップS2)。
発生し(図2に示すステップS1)、コントローラ22
1において、当該アクセス要求があったラインがデータ
領域201に記憶されいるか否かが、タグ領域211に
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域201に記憶されていないと判断される
(図2に示すステップS2)。
【0070】次に、コントローラ221において、プロ
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201にラインを読み
込むにあたって、データ領域201に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ221から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
セッサ21からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域201にラインを読み
込むにあたって、データ領域201に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ221から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
【0071】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0072】そして、前記退避要求信号は、共有キャッ
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。
【0073】共有キャッシュメモリのデータ領域31に
空き領域がないことを判断すると、コントローラ33は
LRU方式のアルゴリズムを用いてデータ領域31に記
憶されているラインのうち一のラインを選択し、この選
択したラインを外部バス5を介して外部メモリ6に退避
する。これにより、データ領域31には空き領域が確保
される。そして、コントローラ33は、退避要求応答信
号をコントローラ22 1に返す。
空き領域がないことを判断すると、コントローラ33は
LRU方式のアルゴリズムを用いてデータ領域31に記
憶されているラインのうち一のラインを選択し、この選
択したラインを外部バス5を介して外部メモリ6に退避
する。これにより、データ領域31には空き領域が確保
される。そして、コントローラ33は、退避要求応答信
号をコントローラ22 1に返す。
【0074】次に、コントローラ221において、退避
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域201から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S16)。
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域201から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S16)。
【0075】次に、プロセッサ21からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ21に出力される。
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ31の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ21に出力される。
【0076】以上説明したように、暗号復号化処理装置
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域201〜204にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域201〜204のインバリッドのライ
ンのアドレスに書き込む(退避する)。また、他のプラ
イベートキャッシュメモリにインバリッド状態のライン
が存在しない場合には、当該ダーティ状態のラインを共
有キャッシュメモリ30に書き込むことができる。すな
わち、ダーティ状態のラインを、内部バス4および外部
バス5を介して、外部メモリ6に書き込む処理を行わな
い。すなわち、暗号復号化処理装置1によれば、外部メ
モリ6への参照を減らすことができるので、低速な外部
バス5を介したデータ転送の数を削減でき、処理の高速
化を図ることができる。
1では、プロセッサ21〜24からのアクセス要求に応
じてそれぞれデータ領域201〜204に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域201〜204にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域201〜204のインバリッドのライ
ンのアドレスに書き込む(退避する)。また、他のプラ
イベートキャッシュメモリにインバリッド状態のライン
が存在しない場合には、当該ダーティ状態のラインを共
有キャッシュメモリ30に書き込むことができる。すな
わち、ダーティ状態のラインを、内部バス4および外部
バス5を介して、外部メモリ6に書き込む処理を行わな
い。すなわち、暗号復号化処理装置1によれば、外部メ
モリ6への参照を減らすことができるので、低速な外部
バス5を介したデータ転送の数を削減でき、処理の高速
化を図ることができる。
【0077】また、この暗号化復号処理装置1では、暗
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリを最大限に活
用して、半導体集積回路10内だけでこの復号化処理を
完了することができる。外部メモリ6に復号化データを
書き戻すときには復号化データが第三者によって観測さ
れる危険性があるが、半導体集積回路10内だけで復号
化処理を完了することができるので、その危険性は回避
できる。
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリを最大限に活
用して、半導体集積回路10内だけでこの復号化処理を
完了することができる。外部メモリ6に復号化データを
書き戻すときには復号化データが第三者によって観測さ
れる危険性があるが、半導体集積回路10内だけで復号
化処理を完了することができるので、その危険性は回避
できる。
【0078】次に、第2の実施の形態について説明す
る。この第2の実施の形態も暗号復号化処理装置であ
る。構成は図1に示したものと同一であるが、この暗号
復号化処理装置は、暗号化データを格納するために予め
決められたアドレス空間を有する外部メモリ6を確保し
ている。このような外部メモリ6を確保することによっ
てこのアドレス空間に対するキャッシュライン属性とし
てP(Persistent)ビットがセットされる。
る。この第2の実施の形態も暗号復号化処理装置であ
る。構成は図1に示したものと同一であるが、この暗号
復号化処理装置は、暗号化データを格納するために予め
決められたアドレス空間を有する外部メモリ6を確保し
ている。このような外部メモリ6を確保することによっ
てこのアドレス空間に対するキャッシュライン属性とし
てP(Persistent)ビットがセットされる。
【0079】図4にはPビットがセットされている、キ
ャッシュメモリのエントリのステイタスを示す。先ず、
Pビットの有無が記述されている。ラインステータス
(LINESTATUS)としては、前述したインバリッド(Inval
id) 状態、クリーン(Crean)状態、クリーンシェアー
ド(Crean Shared)状態、ダーティ(Dirty) 状態、ダ
ーティシェアード(Dirty Shared)状態が記述される。
ャッシュメモリのエントリのステイタスを示す。先ず、
Pビットの有無が記述されている。ラインステータス
(LINESTATUS)としては、前述したインバリッド(Inval
id) 状態、クリーン(Crean)状態、クリーンシェアー
ド(Crean Shared)状態、ダーティ(Dirty) 状態、ダ
ーティシェアード(Dirty Shared)状態が記述される。
【0080】これら、Pビットの有無、及びラインステ
ータスは、各プライベートキャッシュメモリ31,
32,33,34の各タグ領域211,212,2
13,214に記憶される。
ータスは、各プライベートキャッシュメモリ31,
32,33,34の各タグ領域211,212,2
13,214に記憶される。
【0081】そして、外部メモリ6から読み出したPビ
ットがセットされている、4つのプライベートキャッシ
ュメモリ31,32,33,34のいずれかのキャッシ
ュラインは、セットされていないキャッシュラインに対
して、より高い優先度を持つことができる。
ットがセットされている、4つのプライベートキャッシ
ュメモリ31,32,33,34のいずれかのキャッシ
ュラインは、セットされていないキャッシュラインに対
して、より高い優先度を持つことができる。
【0082】次に、一のプロセッサ(プロセッサ22)
が外部メモリ6からデータをセットするときに、プライ
ベートキャッシュメモリ(プライベートキャッシュメモ
リ3 2)に既にP-ビットデータがセットされていると
きの暗号復号化処理装置1の動作について図2のフロー
チャートを参照して説明する。
が外部メモリ6からデータをセットするときに、プライ
ベートキャッシュメモリ(プライベートキャッシュメモ
リ3 2)に既にP-ビットデータがセットされていると
きの暗号復号化処理装置1の動作について図2のフロー
チャートを参照して説明する。
【0083】ステップS1:コントローラ222は、プ
ロセッサ22からアクセス要求があったと判断した場合
にはステップS2の処理を実行し、そうでない場合には
ステップS1の処理を繰り返す。
ロセッサ22からアクセス要求があったと判断した場合
にはステップS2の処理を実行し、そうでない場合には
ステップS1の処理を繰り返す。
【0084】ステップS2:コントローラ222は、プ
ロセッサ22からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域202に記憶されている
か否かを、タグ領域212に記憶されているアドレスを
検索して判断する。そして、コントローラ222は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域202に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域202に
記憶されていると判断した場合にはステップS8の処理
を実行する。
ロセッサ22からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域202に記憶されている
か否かを、タグ領域212に記憶されているアドレスを
検索して判断する。そして、コントローラ222は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域202に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域202に
記憶されていると判断した場合にはステップS8の処理
を実行する。
【0085】ステップS8:コントローラ222は、プ
ロセッサ22からのアクセス要求が示すアドレスのデー
タをデータ領域202から読み出してプロセッサ22に
出力する。
ロセッサ22からのアクセス要求が示すアドレスのデー
タをデータ領域202から読み出してプロセッサ22に
出力する。
【0086】ステップS3:コントローラ222は、外
部メモリ6からデータ領域202にラインを読み込むに
あたって、データ領域202に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ222は、データ領域20
2に、タグ領域212に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
部メモリ6からデータ領域202にラインを読み込むに
あたって、データ領域202に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ222は、データ領域20
2に、タグ領域212に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
【0087】ステップS4:コントローラ222は、内
部バス4を介して、コントローラ221、223及び2
24に、退避要求信号を出力する。コントローラ2
21、223及び224は、退避要求信号を入力する
と、タグ領域211、213及び214の状態データを
参照してインバリッドを示すものがあるか否かを判断
し、インバリッドを示すものがあると判断した場合に
は、インバリッドを示すラインが存在することを示す退
避要求応答信号を内部バス4を介してコントローラ22
2に出力する。一方、コントローラ221、223及び
224は、インバリッドを示すものが存在しないと判断
した場合には、インバリッドを示すラインが存在しない
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ222に出力する。
部バス4を介して、コントローラ221、223及び2
24に、退避要求信号を出力する。コントローラ2
21、223及び224は、退避要求信号を入力する
と、タグ領域211、213及び214の状態データを
参照してインバリッドを示すものがあるか否かを判断
し、インバリッドを示すものがあると判断した場合に
は、インバリッドを示すラインが存在することを示す退
避要求応答信号を内部バス4を介してコントローラ22
2に出力する。一方、コントローラ221、223及び
224は、インバリッドを示すものが存在しないと判断
した場合には、インバリッドを示すラインが存在しない
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ222に出力する。
【0088】ステップS5:コントローラ222は、コ
ントローラ221、223又は22 4から入力した退避
要求応答信号に基づいて、図5に示すキャッシュリプレ
ースメント処理を実行する。
ントローラ221、223又は22 4から入力した退避
要求応答信号に基づいて、図5に示すキャッシュリプレ
ースメント処理を実行する。
【0089】すなわち、ステップS21にて他のプロセ
ッサのプライベートキャッシュメモリ31、33又は3
4のデータ領域201、203又は204にインバリッ
ドのラインが存在するか否かを判断し、インバリッドの
ラインが存在すると判断した場合にはステップS22の
処理を実行し、インバリッドのラインが存在しないと判
断した場合にはステップS23以下の処理を実行する。
ッサのプライベートキャッシュメモリ31、33又は3
4のデータ領域201、203又は204にインバリッ
ドのラインが存在するか否かを判断し、インバリッドの
ラインが存在すると判断した場合にはステップS22の
処理を実行し、インバリッドのラインが存在しないと判
断した場合にはステップS23以下の処理を実行する。
【0090】ステップS22:コントローラ222は、
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ221、223又は2
24のプライベートキャッシュメモリ31、33又は3
4に、内部バス4を介して、データ領域202に記憶さ
れている退避を行う対象となるP-ビットのダーティエ
ントリ(P-Dirty)を出力する。当該退避を行う対象と
なるエントリは、データ領域201、203又は204
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域201、203又は204のインバ
リッドのラインに書き込まれる。従って、当該ラインの
書き込みは高速に行われる。
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ221、223又は2
24のプライベートキャッシュメモリ31、33又は3
4に、内部バス4を介して、データ領域202に記憶さ
れている退避を行う対象となるP-ビットのダーティエ
ントリ(P-Dirty)を出力する。当該退避を行う対象と
なるエントリは、データ領域201、203又は204
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域201、203又は204のインバ
リッドのラインに書き込まれる。従って、当該ラインの
書き込みは高速に行われる。
【0091】ステップS23:コントローラ222は、
他のプロセッサ21、23又は24のプライベートキャ
ッシュメモリ31、33又は34にあってP-ビットの
エントリがセットされていないラインを確認する。
他のプロセッサ21、23又は24のプライベートキャ
ッシュメモリ31、33又は34にあってP-ビットの
エントリがセットされていないラインを確認する。
【0092】ステップS24:次に、コントローラ22
2は、他のプライベートキャッシュメモリ中のP-ビッ
トがセットされていないラインはダーティエントリであ
るか否かを判断する。ここで、ダーティであれば(YE
S)、ステップS25の処理を行うが、ダーティでなけ
れば(NO)、すなわちクリーンであればステップS2
8の処理を行う。
2は、他のプライベートキャッシュメモリ中のP-ビッ
トがセットされていないラインはダーティエントリであ
るか否かを判断する。ここで、ダーティであれば(YE
S)、ステップS25の処理を行うが、ダーティでなけ
れば(NO)、すなわちクリーンであればステップS2
8の処理を行う。
【0093】ステップS25:コントローラ222は、
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域が存在するか否かを判断し、存在すると判断
した場合には、退避要求応答信号を出力する。これによ
りステップS27に進むことになる。また、コントロー
ラ33は、データ領域31に空き領域が存在しないと判
断した場合には、ステップS26に進む。
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域が存在するか否かを判断し、存在すると判断
した場合には、退避要求応答信号を出力する。これによ
りステップS27に進むことになる。また、コントロー
ラ33は、データ領域31に空き領域が存在しないと判
断した場合には、ステップS26に進む。
【0094】ステップS26:コントローラ33は、L
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
【0095】ステップS27:ステップS26にて確保
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、前記ダーティエントリのあるプライベート
キャッシュメモリのコントローラ22iは内部バス4を
介して、データ領域20iに記憶されている退避を行う
対象となるダーティエントリを出力する。すると、当該
退避を行う対象となるダーティエントリは、共有キャッ
シュメモリ30の前記空き領域に退避される。
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、前記ダーティエントリのあるプライベート
キャッシュメモリのコントローラ22iは内部バス4を
介して、データ領域20iに記憶されている退避を行う
対象となるダーティエントリを出力する。すると、当該
退避を行う対象となるダーティエントリは、共有キャッ
シュメモリ30の前記空き領域に退避される。
【0096】ステップS28:P-ダーティエントリを
他のプライベートキャッシュメモリへコピーする。
他のプライベートキャッシュメモリへコピーする。
【0097】以上でステップS5のキャッシュリプレー
スメント処理の実行が終了し、次にステップS6に戻
る。
スメント処理の実行が終了し、次にステップS6に戻
る。
【0098】ステップS6:コントローラ222によっ
て、プロセッサ22のアクセス要求が示す外部メモリ6
上のアドレスからラインが読み出され、当該読み出され
たラインが外部バス5および内部バス4を介してプライ
ベートキャッシュメモリ32に入力される。そして、ス
テップS6の処理が行われた場合には、入力したライン
が、データ領域202内の前述した退避が行われたライ
ンのアドレスに書き込まれる。また、プライベートキャ
ッシュメモリ32にインバリッドのラインが存在した場
合(ステップS22)には、入力したラインが、データ
領域202のインバリッドのラインのアドレスに書き込
まれる。また、コントローラ222は、タグ領域212
における当該書き込みを行ったラインに対応する状態デ
ータをシェアードに設定する。
て、プロセッサ22のアクセス要求が示す外部メモリ6
上のアドレスからラインが読み出され、当該読み出され
たラインが外部バス5および内部バス4を介してプライ
ベートキャッシュメモリ32に入力される。そして、ス
テップS6の処理が行われた場合には、入力したライン
が、データ領域202内の前述した退避が行われたライ
ンのアドレスに書き込まれる。また、プライベートキャ
ッシュメモリ32にインバリッドのラインが存在した場
合(ステップS22)には、入力したラインが、データ
領域202のインバリッドのラインのアドレスに書き込
まれる。また、コントローラ222は、タグ領域212
における当該書き込みを行ったラインに対応する状態デ
ータをシェアードに設定する。
【0099】ステップS7:コントローラ222は、ス
テップS6において、データ領域202に書き込んだラ
イン内のプロセッサ22から要求があったデータを読み
出して、プロセッサ22に出力する。以下、この第2の
実施の形態の暗号復号化処理装置1の動作について説明
する。先ず、プロセッサ22からアクセス要求が発生
し、プライベートキャッシュメモリ32のデータ領域2
02に記憶されているPダーティ状態のラインを退避す
る必要があるときに、プライベートキャッシュメモリ3
3のデータ領域203に、クリーンのラインが存在する
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。始めに、プロセッサ22からアクセ
ス要求が発生し(ステップS1)、コントローラ222
において、当該アクセス要求があったラインがデータ領
域202に記憶されいるか否かが、タグ領域212に記
憶されているアドレスを参照して判断され、当該ライン
がデータ領域202に記憶されていないと判断される
(ステップS2)。
テップS6において、データ領域202に書き込んだラ
イン内のプロセッサ22から要求があったデータを読み
出して、プロセッサ22に出力する。以下、この第2の
実施の形態の暗号復号化処理装置1の動作について説明
する。先ず、プロセッサ22からアクセス要求が発生
し、プライベートキャッシュメモリ32のデータ領域2
02に記憶されているPダーティ状態のラインを退避す
る必要があるときに、プライベートキャッシュメモリ3
3のデータ領域203に、クリーンのラインが存在する
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。始めに、プロセッサ22からアクセ
ス要求が発生し(ステップS1)、コントローラ222
において、当該アクセス要求があったラインがデータ領
域202に記憶されいるか否かが、タグ領域212に記
憶されているアドレスを参照して判断され、当該ライン
がデータ領域202に記憶されていないと判断される
(ステップS2)。
【0100】次に、コントローラ222において、プロ
セッサ22からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域202に読み込むにあ
たって、データ領域202に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ222から、内部バス4を介
して、コントローラ221、223及び224に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ221、223及び224において、入力した
退避要求信号に基づいて、タグ領域211、213及び
214の状態データが参照され、インバリッドを示すラ
インが無い判断され、インバリッドを示すラインが存在
しないことを示す退避要求応答信号が内部バス4を介し
てコントローラ222に出力される。
セッサ22からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域202に読み込むにあ
たって、データ領域202に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ222から、内部バス4を介
して、コントローラ221、223及び224に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ221、223及び224において、入力した
退避要求信号に基づいて、タグ領域211、213及び
214の状態データが参照され、インバリッドを示すラ
インが無い判断され、インバリッドを示すラインが存在
しないことを示す退避要求応答信号が内部バス4を介し
てコントローラ222に出力される。
【0101】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0102】次に、コントローラ222は、他のプロセ
ッサ21、23又は24のプライベートキャッシュメモ
リ31、33又は34にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
23のプライベートキャッシュメモリ33のラインを見
つけだす。
ッサ21、23又は24のプライベートキャッシュメモ
リ31、33又は34にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
23のプライベートキャッシュメモリ33のラインを見
つけだす。
【0103】このプライベートキャッシュメモリ33の
ラインのエントリは、ダーティではなく(ステップS2
4にてNO)クリーンであり、ステップS28に進ん
で、コントローラ222とコントローラ223は、デー
タ領域202のP-Dirtyをデータ領域203にコピーす
る。クリーンラインの場合には、キャッシュのデータは
メモリもしくは他のキャッシュ、共有キャッシュに存在
するので、ただ単に上書きすればよい。
ラインのエントリは、ダーティではなく(ステップS2
4にてNO)クリーンであり、ステップS28に進ん
で、コントローラ222とコントローラ223は、デー
タ領域202のP-Dirtyをデータ領域203にコピーす
る。クリーンラインの場合には、キャッシュのデータは
メモリもしくは他のキャッシュ、共有キャッシュに存在
するので、ただ単に上書きすればよい。
【0104】次に、プロセッサ22からアクセス要求が
発生し、プライベートキャッシュメモリ32のデータ領
域202に記憶されているPダーティ状態のラインを退
避する必要があるときに、プライベートキャッシュメモ
リ33のデータ領域203に、クリーンのラインが存在
せず、さらに共有メモリ30にも空き領域が存在しない
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。
発生し、プライベートキャッシュメモリ32のデータ領
域202に記憶されているPダーティ状態のラインを退
避する必要があるときに、プライベートキャッシュメモ
リ33のデータ領域203に、クリーンのラインが存在
せず、さらに共有メモリ30にも空き領域が存在しない
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。
【0105】始めに、プロセッサ22からアクセス要求
が発生し(ステップS1)、コントローラ222におい
て、当該アクセス要求があったラインがデータ領域20
2に記憶されいるか否かが、タグ領域212に記憶され
ているアドレスを参照して判断され、当該ラインがデー
タ領域202に記憶されていないと判断される(ステッ
プS2)。
が発生し(ステップS1)、コントローラ222におい
て、当該アクセス要求があったラインがデータ領域20
2に記憶されいるか否かが、タグ領域212に記憶され
ているアドレスを参照して判断され、当該ラインがデー
タ領域202に記憶されていないと判断される(ステッ
プS2)。
【0106】次に、コントローラ222において、プロ
セッサ22からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域202に読み込むにあ
たって、データ領域202に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ222から、内部バス4を介
して、コントローラ221、223及び224に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ221、223及び224において、入力した
退避要求信号に基づいて、タグ領域211、213及び
214の状態データが参照され、インバリッドを示すラ
インが無いと判断され、インバリッドを示すラインが存
在しないことを示す退避要求応答信号が内部バス4を介
してコントローラ222に出力される。
セッサ22からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域202に読み込むにあ
たって、データ領域202に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ222から、内部バス4を介
して、コントローラ221、223及び224に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ221、223及び224において、入力した
退避要求信号に基づいて、タグ領域211、213及び
214の状態データが参照され、インバリッドを示すラ
インが無いと判断され、インバリッドを示すラインが存
在しないことを示す退避要求応答信号が内部バス4を介
してコントローラ222に出力される。
【0107】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0108】次に、コントローラ222は、他のプロセ
ッサ21、23又は24のプライベートキャッシュメモ
リ31、33又は34にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
23のプライベートキャッシュメモリ33のラインを見
つけだす。
ッサ21、23又は24のプライベートキャッシュメモ
リ31、33又は34にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
23のプライベートキャッシュメモリ33のラインを見
つけだす。
【0109】このプライベートキャッシュメモリ33の
ラインのエントリは、ダーティである(ステップS24
にてYES)ので、ステップS25に進む。
ラインのエントリは、ダーティである(ステップS24
にてYES)ので、ステップS25に進む。
【0110】コントローラ222は、内部バス4を介し
て、共有キャッシュメモリ30のコントローラ33に、
退避要求信号を出力する。その退避要求信号を受けた、
コントローラ33は、データ領域31に空き領域が存在
するか否かを判断する。ここでは、空き領域が存在して
いないので、ステップS26に進む。
て、共有キャッシュメモリ30のコントローラ33に、
退避要求信号を出力する。その退避要求信号を受けた、
コントローラ33は、データ領域31に空き領域が存在
するか否かを判断する。ここでは、空き領域が存在して
いないので、ステップS26に進む。
【0111】ステップS26にて、コントローラ33
は、LRU方式のアルゴリズムを用いてデータ領域31
に記憶されているラインのうち一のラインを選択し、こ
の選択したラインを外部バス5を介して外部メモリ6に
退避する。これにより、データ領域31には空き領域が
確保される。
は、LRU方式のアルゴリズムを用いてデータ領域31
に記憶されているラインのうち一のラインを選択し、こ
の選択したラインを外部バス5を介して外部メモリ6に
退避する。これにより、データ領域31には空き領域が
確保される。
【0112】ステップS26にて確保された共有キャッ
シュメモリ30のデータ領域31中の空き領域に、前記
ダーティエントリのあるプライベートキャッシュメモリ
のコントローラ223は内部バス4を介して、データ領
域203に記憶されている退避を行う対象となるダーテ
ィエントリを出力する。すると、当該退避を行う対象と
なるダーティエントリは、共有キャッシュメモリ30の
前記空き領域に退避される。
シュメモリ30のデータ領域31中の空き領域に、前記
ダーティエントリのあるプライベートキャッシュメモリ
のコントローラ223は内部バス4を介して、データ領
域203に記憶されている退避を行う対象となるダーテ
ィエントリを出力する。すると、当該退避を行う対象と
なるダーティエントリは、共有キャッシュメモリ30の
前記空き領域に退避される。
【0113】そして、P-ダーティエントリを他のプラ
イベートキャッシュメモリへコピーする。
イベートキャッシュメモリへコピーする。
【0114】以上説明したように、この第2の実施の形
態の、暗号復号化処理装置1では、プロセッサ21〜2
4からのアクセス要求に応じてそれぞれデータ領域20
1〜204に記憶されているPビットダーティ状態のラ
インを退避する際に、他のデータ領域201〜204に
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
01〜204のインバリッドのラインのアドレスに書き
込む(退避する)。また、他のプライベートキャッシュ
メモリにインバリッド状態のラインが存在しない場合に
は、当該Pビットダーティ状態のラインを他のプライベ
ートキャッシュメモリのクリーン状態のラインに書き込
む。また、他のプライベートキャッシュメモリにあるの
がダーティ状態のラインであるときには、共有キャッシ
ュメモリ30から外部メモリ6にLRUアルゴリズムに
基づいて一のラインを退避し、その空いた領域に他のプ
ライベートキャッシュメモリのダーティラインを退避し
てから、他のプライベートキャッシュメモリの空き領域
に外部メモリ6から暗号化データを読み出す。したがっ
て、この第2の実施の形態の暗号復号化処理装置1によ
れば、外部メモリ6への参照を減らすことができるの
で、低速な外部バス5を介したデータ転送の数を削減で
き、処理の高速化を図ることができる。
態の、暗号復号化処理装置1では、プロセッサ21〜2
4からのアクセス要求に応じてそれぞれデータ領域20
1〜204に記憶されているPビットダーティ状態のラ
インを退避する際に、他のデータ領域201〜204に
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
01〜204のインバリッドのラインのアドレスに書き
込む(退避する)。また、他のプライベートキャッシュ
メモリにインバリッド状態のラインが存在しない場合に
は、当該Pビットダーティ状態のラインを他のプライベ
ートキャッシュメモリのクリーン状態のラインに書き込
む。また、他のプライベートキャッシュメモリにあるの
がダーティ状態のラインであるときには、共有キャッシ
ュメモリ30から外部メモリ6にLRUアルゴリズムに
基づいて一のラインを退避し、その空いた領域に他のプ
ライベートキャッシュメモリのダーティラインを退避し
てから、他のプライベートキャッシュメモリの空き領域
に外部メモリ6から暗号化データを読み出す。したがっ
て、この第2の実施の形態の暗号復号化処理装置1によ
れば、外部メモリ6への参照を減らすことができるの
で、低速な外部バス5を介したデータ転送の数を削減で
き、処理の高速化を図ることができる。
【0115】また、この暗号化復号処理装置1では、暗
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリと、共用キャ
ッシュメモリを最大限に活用して、半導体集積回路10
内だけでこの復号化処理を完了することができる。外部
メモリ6に復号化データを書き戻すときには復号化デー
タが第三者によって観測される危険性があるが、半導体
集積回路10内だけで復号化処理を完了することができ
るので、その危険性は回避できる。
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリと、共用キャ
ッシュメモリを最大限に活用して、半導体集積回路10
内だけでこの復号化処理を完了することができる。外部
メモリ6に復号化データを書き戻すときには復号化デー
タが第三者によって観測される危険性があるが、半導体
集積回路10内だけで復号化処理を完了することができ
るので、その危険性は回避できる。
【0116】なお、本発明は、前記二つの実施の形態に
のみ限定されるものではなく、共有キャッシュメモリを
持たない図6に示す例、インバリッドラインを使用しな
い例、内部メモリと共有キャッシュメモリを用いる例と
いうように種々の変形が考えられる。図6に示す共有キ
ャッシュメモリを持たない例は、図1の構成から共有キ
ャッシュメモリを除いた構成であり、インバリットライ
ンを使用するシステムに適する。また、Pビットを用い
るときには、他のプライベートキャッシュメモリにダー
ティラインを退避することができる。
のみ限定されるものではなく、共有キャッシュメモリを
持たない図6に示す例、インバリッドラインを使用しな
い例、内部メモリと共有キャッシュメモリを用いる例と
いうように種々の変形が考えられる。図6に示す共有キ
ャッシュメモリを持たない例は、図1の構成から共有キ
ャッシュメモリを除いた構成であり、インバリットライ
ンを使用するシステムに適する。また、Pビットを用い
るときには、他のプライベートキャッシュメモリにダー
ティラインを退避することができる。
【0117】さらに本発明は、今後ますます増えてくる
であろう、著作権保護機構付きのデータを処理する際に
も本発明は適用できる。
であろう、著作権保護機構付きのデータを処理する際に
も本発明は適用できる。
【0118】
【発明の効果】本発明によれば、暗号復号化データを大
規模集積回路内だけで処理することができ、かつ大規模
集積回路の内部と外部との間でデータの転送速度が大き
く異なることにより発生する性能低下を引き起こさず、
さらに大規模集積回路内の小容量、高速キャッシュ及び
メモリを効率的に利用することができる。
規模集積回路内だけで処理することができ、かつ大規模
集積回路の内部と外部との間でデータの転送速度が大き
く異なることにより発生する性能低下を引き起こさず、
さらに大規模集積回路内の小容量、高速キャッシュ及び
メモリを効率的に利用することができる。
【図1】本発明の第1の実施の形態となる、暗号復号化
処理装置の構成を示す図である。
処理装置の構成を示す図である。
【図2】前記暗号復号化処理装置の動作を概略的に説明
するためのフローチャートである。
するためのフローチャートである。
【図3】前記暗号復号化処理装置のキャッシュリプレー
スメント処理を説明するためのフローチャートである。
スメント処理を説明するためのフローチャートである。
【図4】本発明の第2の実施の形態となる、暗号復号化
処理装置にて用いられるPビットがセットされている、
キャッシュメモリのエントリのステイタスを示す図であ
る。
処理装置にて用いられるPビットがセットされている、
キャッシュメモリのエントリのステイタスを示す図であ
る。
【図5】前記第2の実施の形態となる、暗号復号化処理
装置のキャッシュリプレースメント処理を説明するため
のフローチャートである。
装置のキャッシュリプレースメント処理を説明するため
のフローチャートである。
【図6】暗号復号化処理装置の他の変形例の構成を示す
図である。
図である。
1 暗号復号化処理装置、21〜24 プロセッサ、3
1〜34 プライベートキャッシュメモリ、4 内部
バス、5 外部バス、6 外部メモリ、201〜204
データ領域、211〜214 タグ領域、221〜2
24 コントローラ、30 共有キャッシュメモリ、3
1 データ領域、32 タグ領域、33コントローラ
1〜34 プライベートキャッシュメモリ、4 内部
バス、5 外部バス、6 外部メモリ、201〜204
データ領域、211〜214 タグ領域、221〜2
24 コントローラ、30 共有キャッシュメモリ、3
1 データ領域、32 タグ領域、33コントローラ
─────────────────────────────────────────────────────
フロントページの続き
(51)Int.Cl.7 識別記号 FI テーマコート゛(参考)
G06F 12/08 553 G06F 12/08 553Z
559 559Z
Claims (15)
- 【請求項1】 外部記憶手段に格納されている暗号デー
タに復号化処理を施す情報処理装置において、 複数のプロセッサと、 前記複数のプロセッサにそれぞれ対応して設けられ、対
応するプロセッサに暗号データを供給する複数の内部記
憶手段と、 前記プロセッサからアクセス要求があった暗号データを
外部記憶手段から読み出して前記アクセス要求を出した
プロセッサに対応する内部記憶手段に書き込むと共に、
前記プロセッサにより復号化された復号化データを当該
内部記憶手段から退避する必要があるときに、当該退避
する必要がある復号化データを、当該対応する内部記憶
手段を除く他の内部記憶手段に退避する制御手段とを備
えることを特徴とする情報処理装置。 - 【請求項2】 前記制御手段は、前記アクセス要求を出
したプロセッサに対応する内部記憶手段を除く前記内部
記憶手段内の記憶内容が無効である記憶領域に、前記退
避する必要がある復号化データを退避することを特徴と
する請求項1記載の情報処理装置。 - 【請求項3】 前記外部記憶手段には予め決められたア
ドレス空間の特別領域が設定され、この特別領域に対応
して前記内部記憶手段にセットされるラインは、セット
されないラインに対して高い優先度を持つことを特徴と
する請求項1記載の情報処理装置。 - 【請求項4】 前記制御手段は、前記アクセス要求を出
したプロセッサに対応する内部記憶手段を除く他の前記
内部記憶手段内に記憶内容が無効である記憶領域が存在
しない場合に、前記退避する必要がある復号化データ
を、他の前記内部記憶手段中の前記特別領域よりも優先
度の低いラインに退避することを特徴とする請求項3記
載の情報処理装置。 - 【請求項5】 前記複数の内部記憶手段がそれぞれ接続
される内部バス手段と前記外部記憶手段が接続される外
部バス手段との間に、前記複数のプロセッサ、前記内部
記憶手段、前記制御手段及び内部バス手段とともに集積
回路を構成する共有記憶手段を備えることを特徴とする
請求項1記載の情報処理装置。 - 【請求項6】 前記制御手段は、前記複数の内部記憶手
段に前記復号化データを退避できないときには、前記共
有記憶手段に退避することを特徴とする請求項5記載の
情報処理装置。 - 【請求項7】 前記外部記憶手段には予め決められたア
ドレス空間の特別領域が設定され、この特別領域に対応
して前記内部記憶手段にセットされるラインは、セット
されないラインに対して高い優先度を持つことを特徴と
する請求項6記載の情報処理装置。 - 【請求項8】 前記制御手段は、前記アクセス要求を出
したプロセッサに対応する内部記憶手段を除く他の前記
内部記憶手段内に記憶内容が無効である記憶領域が存在
しないときには、前記退避する必要がある復号化データ
を、他の前記内部記憶手段中の前記特別領域よりも優先
度の低いラインに、前記共有記憶手段を用いて退避する
ことを特徴とする請求項7記載の情報処理装置。 - 【請求項9】 外部記憶手段に格納されている暗号デー
タに復号化処理を施すための情報処理方法において、 複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
内部記憶手段から退避する必要があるときに、当該退避
する必要がある復号化データを、当該対応する内部記憶
手段を除く他の内部記憶手段に退避する退避工程とを備
えることを特徴とする情報処理方法。 - 【請求項10】 前記退避工程は、前記アクセス要求を
出したプロセッサに対応する内部記憶手段を除く前記内
部記憶手段内の記憶内容が無効である記憶領域に、前記
退避する必要がある復号化データを退避することを特徴
とする請求項9記載の情報処理方法。 - 【請求項11】 前記退避工程は、前記アクセス要求を
出したプロセッサに対応する内部記憶手段を除く他の前
記内部記憶手段内に記憶内容が無効である記憶領域が存
在しない場合に、前記退避する必要がある復号化データ
を、他の前記内部記憶手段中の優先度の低いラインに退
避することを特徴とする請求項10記載の情報処理方
法。 - 【請求項12】 前記退避工程は、前記複数の内部記憶
手段に前記復号化データを退避できないときには、共有
記憶手段に退避することを特徴とする請求項11記載の
情報処理方法。 - 【請求項13】 前記退避工程は、前記アクセス要求を
出したプロセッサに対応する内部記憶手段を除く他の前
記内部記憶手段内に記憶内容が無効である記憶領域が存
在しないときには、前記退避する必要がある復号化デー
タを、他の前記内部記憶手段中の優先度の低いライン
に、前記共有記憶手段を用いて退避することを特徴とす
る請求項12記載の情報処理方法。 - 【請求項14】 外部記憶手段に格納されている暗号デ
ータに復号化処理を施すための情報処理プログラムを格
納しているプログラム格納媒体であって、 複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
内部記憶手段から退避する必要があるときに、当該退避
する必要がある復号化データを、当該対応する内部記憶
手段を除く他の内部記憶手段に退避する退避工程とを備
える情報処理プログラムを格納していることを特徴とす
るプログラム格納媒体。 - 【請求項15】 外部記憶手段に格納されている暗号デ
ータに復号化処理を施すための情報処理をマルチプロセ
ッサに実行させるためのプログラムであって、 複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
内部記憶手段から退避する必要があるときに、当該退避
する必要がある復号化データを、当該対応する内部記憶
手段を除く他の内部記憶手段に退避する退避工程とを備
えることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001239688A JP2003050742A (ja) | 2001-08-07 | 2001-08-07 | 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001239688A JP2003050742A (ja) | 2001-08-07 | 2001-08-07 | 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003050742A true JP2003050742A (ja) | 2003-02-21 |
Family
ID=19070394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001239688A Withdrawn JP2003050742A (ja) | 2001-08-07 | 2001-08-07 | 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003050742A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008068797A1 (ja) * | 2006-11-30 | 2008-06-12 | Fujitsu Limited | キャッシュシステム |
JP2009064308A (ja) * | 2007-09-07 | 2009-03-26 | Fujitsu Ltd | キャッシュシステム |
JP2009528597A (ja) * | 2006-02-24 | 2009-08-06 | クゥアルコム・インコーポレイテッド | バスのアドレスチャネル上における協調的書き込み |
US8108563B2 (en) | 2006-02-24 | 2012-01-31 | Qualcomm Incorporated | Auxiliary writes over address channel |
JP2017027324A (ja) * | 2015-07-22 | 2017-02-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
-
2001
- 2001-08-07 JP JP2001239688A patent/JP2003050742A/ja not_active Withdrawn
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108563B2 (en) | 2006-02-24 | 2012-01-31 | Qualcomm Incorporated | Auxiliary writes over address channel |
US8675679B2 (en) | 2006-02-24 | 2014-03-18 | Qualcomm Incorporated | Cooperative writes over the address channel of a bus |
JP2009528597A (ja) * | 2006-02-24 | 2009-08-06 | クゥアルコム・インコーポレイテッド | バスのアドレスチャネル上における協調的書き込み |
US8521914B2 (en) | 2006-02-24 | 2013-08-27 | Qualcomm Incorporated | Auxiliary writes over address channel |
US8107492B2 (en) | 2006-02-24 | 2012-01-31 | Qualcomm Incorporated | Cooperative writes over the address channel of a bus |
GB2459047B (en) * | 2006-11-30 | 2011-08-17 | Fujitsu Ltd | Cache system |
WO2008068797A1 (ja) * | 2006-11-30 | 2008-06-12 | Fujitsu Limited | キャッシュシステム |
JP4448550B2 (ja) * | 2006-11-30 | 2010-04-14 | 富士通株式会社 | キャッシュシステム |
JPWO2008068797A1 (ja) * | 2006-11-30 | 2010-03-11 | 富士通株式会社 | キャッシュシステム |
US8392660B2 (en) | 2006-11-30 | 2013-03-05 | Fujitsu Limited | Cache system including a plurality of processing units |
GB2459047A (en) * | 2006-11-30 | 2009-10-14 | Fujitsu Ltd | Cache system |
JP2009064308A (ja) * | 2007-09-07 | 2009-03-26 | Fujitsu Ltd | キャッシュシステム |
JP2017027324A (ja) * | 2015-07-22 | 2017-02-02 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US5829032A (en) | Multiprocessor system | |
CN101593161B (zh) | 确保微处理器的快取存储器层级数据一致性的装置与方法 | |
JP4447580B2 (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
US20110173393A1 (en) | Cache memory, memory system, and control method therefor | |
US8918591B2 (en) | Data processing system having selective invalidation of snoop requests and method therefor | |
JP2010191638A (ja) | キャッシュ装置 | |
US7089362B2 (en) | Cache memory eviction policy for combining write transactions | |
JPH10154100A (ja) | 情報処理システム及び装置及びその制御方法 | |
JPWO2008155844A1 (ja) | 情報処理装置およびキャッシュ制御方法 | |
JPH11306081A (ja) | キャッシュフラッシュ装置 | |
JP3236287B2 (ja) | マルチプロセッサシステム | |
KR20030024895A (ko) | 캐시 코히어런트 멀티-프로세서 시스템에서 순서화된입출력 트랜잭션을 파이프라이닝하기 위한 방법 및 장치 | |
JP4434534B2 (ja) | プロセッサ・システム | |
US20070083718A1 (en) | Cache memory and control method thereof | |
JP2004030527A (ja) | 記憶制御装置、および記憶制御方法 | |
JP2003050742A (ja) | 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム | |
US6839806B2 (en) | Cache system with a cache tag memory and a cache tag buffer | |
US20230393988A1 (en) | Arithmetic processing device and arithmetic processing method | |
US6678800B1 (en) | Cache apparatus and control method having writable modified state | |
US7234028B2 (en) | Power/performance optimized cache using memory write prevention through write snarfing | |
US20150067246A1 (en) | Coherence processing employing black box duplicate tags | |
US6826654B2 (en) | Cache invalidation bus for a highly scalable shared cache memory hierarchy | |
JP2005346582A (ja) | システムlsi及び画像処理装置 | |
US9454482B2 (en) | Duplicate tag structure employing single-port tag RAM and dual-port state RAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081007 |