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
Application number
JP2001239688A
Other languages
English (en)
Inventor
Masahito Horiguchi
雅人 堀口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001239688A priority Critical patent/JP2003050742A/ja
Publication of JP2003050742A publication Critical patent/JP2003050742A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 暗号復号化データを大規模集積回路内だけで
処理することができ、かつ大規模集積回路の内部と外部
との間でデータの転送速度が大きく異なることにより発
生する性能低下を引き起こさない。 【解決手段】 暗号化復号処理装置1では、プロセッサ
〜2からのアクセス要求に応じてそれぞれデータ
領域20〜20に記憶されているダーティ状態のラ
インを退避する際に、他のデータ領域20〜20
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
〜20のインバリッドのラインのアドレスに書き
込む(退避する)。すなわち、この場合に、当該ダーテ
ィ状態のラインを、内部バス4および外部バス5を介し
て、外部メモリ6に書き込む処理を行わない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置に関
し、特に複数のプロセッサを備え、外部記憶手段に格納
されているデータに所定の情報処理を施す情報処理装置
及び情報処理方法、プログラム格納媒体並びにプログラ
ムに関する。
【0002】
【従来の技術】暗号化によって保護されたデータを復号
化する時には、その復号化されたデータを外部から観測
されないようにするために、CPUのキャッシュ内での
み復号化データを処理することが行われていたが、キャ
ッシュコヒーレンシは、ソフトウェアによって明示的に
処理する必要があり、非常に煩雑であることが多かっ
た。
【0003】また、近年の実装技術及びデバイス製造技
術の進歩により、大規模集積回路上に共有バス結合型マ
ルチプロセッサを構築することが実現可能となった。マ
ルチプロセッサでは、メモリアクセスの高速化と、プロ
セッサ相互間での通信の混雑の緩和を図ることが高速処
理を図る上で重要である。これを実現するために、通
常、マルチプロセッサでは、複数のプロセッサとそれぞ
れに対応するプライベートキャッシュメモリとを1チッ
プ内に組み込み、各プロセッサがプライベートキャッシ
ュメモリを介して内部バスに接続されている。また、主
記憶装置は、当該内部バスおよび外部バスを介して、当
該チップの外部に設けられている。以下この主記憶装置
を外部記憶装置という。
【0004】これをオンチップマルチプロセッサと呼ぶ
が、このシステムにおいては、内部のバスは同一大規模
集積回路上に構築するので、その動作周波数をCPUと
同程度にすることが可能である。
【0005】このようなマルチプロセッサでは、外部記
憶装置に記憶されているデータが複数のプライベートキ
ャッシュメモリ上にコピーされるため、プロセッサがプ
ライベートキャッシュメモリに記憶されているデータを
書き換えた場合には、外部憶装置とプライベートキャッ
シュメモリとの間や、複数のプライベートキャッシュメ
モリ相互間でデータの不一致が生じる。このようなデー
タの不一致が生じると、例えば、外部記憶装置上の同じ
アドレスのデータが複数のプライベートキャッシュメモ
リにコピーされている場合には、一のプライベートキャ
ッシュメモリに記憶されているデータが書き換えられた
後に、他のプライベートキャッシュメモリに記憶されて
いる同じアドレスのデータが読み出されてしまうと、当
該読み出されたデータは書き換えられていないため、プ
ロセッサにおいて正確な処理を行うことができない。こ
のような問題を解決するために、多くのマルチプロセッ
サでは、プライベートキャッシュメモリが内部バスを監
視(Snoop) することで、データの不一致に起因する誤っ
た処理がプロセッサで行われることを回避するスヌーピ
ングキャッシュプロトコルを採用している。
【0006】以下、ライトバック方式を採用したスヌー
ピングキャッシュプロトコルについて説明する。スヌー
ピングキャッシュプロトコルを採用したマルチプロセッ
サでは、プライベートキャッシュメモリに記憶されてい
る各ラインは、インバリッド(Invalid) 状態、クリーン
(Crean)状態、クリーンシェアード(Crean Shared)
状態、ダーティ(Dirty) 状態、ダーティシェアード(D
irty Shared)状態のうちの一の状態を有している。
【0007】ここで、インバリッド状態は、当該ライン
の内容が無効である状態である。クリーン状態は、外部
記憶装置と同一の値を持つ状態である。また、クリーン
シェアード状態は、複数のキャッシュに共有され、外部
記憶装置の値と同じ値を持つ状態である。また、ダーテ
ィ状態は、当該ラインのデータが外部記憶装置からプラ
イベートキャッシュメモリに読み出された後に書き換え
られ、当該ラインの内容が外部記憶装置の内容と一致し
ていない状態である。ダーティ状態のラインは、最終的
には、後述するリプレースメント処理が施される必要が
ある。ダーティシェアード状態は、複数のキャッシュに
共有され、外部メモリと異なる値を持つ状態である。
【0008】このようなマルチプロセッサでは、一のプ
ロセッサが、あるアドレスにアクセス要求を出したと
き、当該アドレスのラインが当該アクセス要求を出した
プロセッサに対応するプライベートキャッシュメモリに
存在しない場合に、当該アドレスのラインのコピーが外
部記憶装置から読み出されて、当該対応するプライベー
トキャッシュメモリに書き込まれる。そして、当該書き
込まれたラインは、プライベートキャッシュメモリにお
いて、シェアード状態となる。プライベートキャッシュ
メモリに記憶されているシェアード状態のラインは、外
部記憶装置に記憶されているラインと内容が同じである
ため、当該ラインに対しての読み出しは内部バスおよび
外部バスを介した通信を伴わないで行われる。
【0009】次に、シェアード状態のラインに対してデ
ータの書き込みが行われると、当該ラインはダーティ状
態になる。このとき、内部バス上には、当該ラインのア
ドレスと無効化信号とが流され、内部バスを監視してい
る他のプライベートキャッシュメモリは、同じアドレス
のラインを記憶している場合には、当該ラインを無効化
してインバリッド状態にする。
【0010】ところで、上述したように、プロセッサか
らアクセス要求を出されたアドレスのラインが、当該プ
ロセッサに対応するプライベートキャッシュメモリに存
在しない場合には、当該アドレスのラインが外部記憶装
置からプライベートキャッシュメモリに読み込まれる。
このとき、プライベートキャッシュメモリにインバリッ
ド状態のラインが存在する場合には、当該インバリッド
状態のラインの記憶領域に、外部記憶装置から読み出さ
れたラインが書き込まれるが、インバリッド状態のライ
ンが存在しない場合には、プライベートキャッシュメモ
リから外部記憶装置にラインを退避して、プロセッサか
らアクセス要求があったラインを読み込んで記憶する記
憶領域をプライベートキャッシュメモリ内に生成する必
要がある。
【0011】ここで、プライベートキャッシュメモリか
ら外部記憶装置に退避するラインは、例えばLRU(Lea
st Recently Used) 方式などを用いて決定されるが、こ
の場合に、ダーティ状態のラインが退避を行うラインと
して決定されると、以下に示すリプレースメント処理を
行う必要がある。すなわち、リプレースメント処理で
は、プライベートキャッシュメモリに記憶されたダーテ
ィ状態のラインが外部記憶装置に退避され(書き込ま
れ)、その後、プロセッサからアクセス要求が出された
アドレスのラインのコピーが、外部記憶装置からプライ
ベートキャッシュメモリに出力され、当該コピーが前記
退避されたラインが記憶されていた領域に書き込まれ
る。
【0012】
【発明が解決しようとする課題】ところで、前記オンチ
ップマイクロプロセッサを用いたシステムでは、前述し
たように、内部のバスは同一大規模集積回路上に構築す
るので、その動作周波数をCPUと同程度にすることが
可能であるが、外部バスとの格差はますます広がるの
で、外部記憶装置への参照が多くなるほど性能低下を引
き起こす。
【0013】今後このタイプのオンチップマルチプロセ
ッサを用いて、例えば暗号の復号化処理を行う場合に
は、暗号復号化処理の特徴と、性能向上のためには大規
模回路内のプライベートキャッシュ等を可能な限り大規
模集積回路内で効率的に利用する必要がある。
【0014】本発明は前記実情に鑑みてなされたもので
あり、暗号復号化データを大規模集積回路内だけで処理
することができ、かつ大規模集積回路の内部と外部との
間でデータの転送速度が大きく異なることにより発生す
る性能低下を引き起こさず、さらに大規模集積回路内の
小容量、高速キャッシュ及びメモリを効率的に利用する
ことのできる情報処理装置及び情報処理方法、プログラ
ム格納媒体及びプログラムの提供を目的とする。
【0015】
【課題を解決するための手段】本発明に係る情報処理装
置は、前記課題を解決するために、外部記憶手段に格納
されている暗号データに復号化処理を施す情報処理装置
において、複数のプロセッサと、前記複数のプロセッサ
にそれぞれ対応して設けられ、対応するプロセッサに暗
号データを供給する複数の内部記憶手段と、前記プロセ
ッサからアクセス要求があった暗号データを外部記憶手
段から読み出して前記アクセス要求を出したプロセッサ
に対応する内部記憶手段に書き込むと共に、前記プロセ
ッサにより復号化された復号化データを当該内部記憶手
段から退避する必要があるときに、当該退避する必要が
ある復号化データを、当該対応する内部記憶手段を除く
他の内部記憶手段に退避する制御手段とを備える。
【0016】本発明に係る情報処理方法は、前記課題を
解決するために、外部記憶手段に格納されている暗号デ
ータに復号化処理を施すための情報処理方法において、
複数のプロセッサの内の一からアクセス要求があった暗
号データを外部記憶手段から読み出す読み出し工程と、
前記読み出し工程により読み出された暗号データを前記
アクセス要求を出したプロセッサに対応する内部記憶手
段に書き込む書き込み工程と、前記プロセッサにより復
号化された復号化データを当該内部記憶手段から退避す
る必要があるときに、当該退避する必要がある復号化デ
ータを、当該対応する内部記憶手段を除く他の内部記憶
手段に退避する退避工程とを備える。
【0017】本発明に係るプログラム格納媒体は、前記
課題を解決するために、外部記憶手段に格納されている
暗号データに復号化処理を施すための情報処理プログラ
ムを格納しているプログラム格納媒体であって、複数の
プロセッサの内の一からアクセス要求があった暗号デー
タを外部記憶手段から読み出す読み出し工程と、前記読
み出し工程により読み出された暗号データを前記アクセ
ス要求を出したプロセッサに対応する内部記憶手段に書
き込む書き込み工程と、前記プロセッサにより復号化さ
れた復号化データを当該内部記憶手段から退避する必要
があるときに、当該退避する必要がある復号化データ
を、当該対応する内部記憶手段を除く他の内部記憶手段
に退避する退避工程とを備える情報処理プログラムを格
納している。
【0018】本発明に係るプログラムは、前記課題を解
決するために、外部記憶手段に格納されている暗号デー
タに復号化処理を施すための情報処理をマルチプロセッ
サに実行させるためのプログラムであって、複数のプロ
セッサの内の一からアクセス要求があった暗号データを
外部記憶手段から読み出す読み出し工程と、前記読み出
し工程により読み出された暗号データを前記アクセス要
求を出したプロセッサに対応する内部記憶手段に書き込
む書き込み工程と、前記プロセッサにより復号化された
復号化データを当該内部記憶手段から退避する必要があ
るときに、当該退避する必要がある復号化データを、当
該対応する内部記憶手段を除く他の内部記憶手段に退避
する退避工程とを備える。
【0019】
【発明の実施の形態】以下、本発明のいくつかの実施の
形態について図面を参照しながら説明する。先ず、第1
の実施の形態は、外部記憶手段である外部メモリに格納
されている暗号化データを読み出し、その暗号化データ
に復号化処理を施して復号化データを生成する暗号復号
化処理装置である。
【0020】図1に示すように、暗号復号化処理装置1
は、4つのプロセッサ2,2,2,2と、これ
ら4つのプロセッサ2,2,2,2にそれぞれ
対応して設けられる4つのプライベートキャッシュメモ
リ3,3,3,3と、共有キャッシュメモリ3
0と、内部バス4と、外部バス5及び外部メモリ6とを
備えている。
【0021】ここで、4つのプロセッサ2,2,2
,2と、4つのプライベートキャッシュメモリ
,3,3,3と、共有キャッシュメモリ30
と、内部バス4は、1チップの半導体集積回路10内に
組み込まれている。
【0022】すなわち、暗号復号化処理装置1の半導体
集積回路10は、内部バス4を介して4つのプライベー
トキャッシュメモリ3,3,3,3を相互に接
続し、4つのプライベートキャッシュメモリ3
,3,3にそれぞれプロセッサ2,2,2
,2を接続したバス結合型をしている。さらに、内
部バス4には、共有キャッシュメモリ30が接続されて
いる。そして、この1チップの半導体集積回路10に
は、外部バス5を介して外部メモリ6が接続されてい
る。
【0023】プロセッサ2〜2は、ロード/ストア
命令の実行時に、それぞれに接続されたプライベートキ
ャッシュメモリ3〜3にアクセスを行うため、例え
ばRISC(Reduced Instruction Set Computer)アーキ
テクチャが採用されている。プロセッサ2〜2は、
演算制御命令、ロード/ストア命令の他に、テストアン
ドセット(Test And Set)命令やスワップ(Swap)命令など
のマルチプロセッサ独自の命令を実行する。
【0024】プライベートキャッシュメモリ3は、記
憶領域として、データ領域20およびタグ領域21
を有する。また、プライベートキャッシュメモリ3
は、制御手段としてのコントローラ22を有してい
る。データ領域20は、プロセッサ2によってアク
セスされるデータをライン単位で記憶する。タグ領域2
は、データ領域20の各ラインについて、当該ラ
インの外部メモリ6上でのアドレスと、当該ラインの状
態を示す状態データとを記憶している。
【0025】ここで、ラインの状態、すなわちラインス
テイタスには、前述したように、インバリッド(Invali
d) 状態、クリーン(Crean)状態、クリーンシェアード
(Crean Shared)状態、ダーティ(Dirty) 状態、ダー
ティシェアード(Dirty Shared)状態がある。次に、コ
ントローラ22について説明する。コントローラ22
は、スヌープキャッシュメモリプロトコルを採用して
おり、必要に応じてタグ領域21に記憶されている状
態データを書き換える機能と、他のコントローラ22
〜22 からの退避要求信号に応答する機能と、プロセ
ッサ2からアクセス要求があったデータをプロセッサ
に出力する機能とを有する。
【0026】先ず、コントローラ22における状態デ
ータを書き換える機能は以下のようにして行われる。す
なわち、コントローラ22は、内部バス4を監視して
おり、他のプライベートキャッシュメモリ3〜3
データ領域20〜20に記憶されているラインのう
ち、データ領域20に記憶されているラインと同じア
ドレスを持つラインに書き込みが生じたことを検出する
と、当該アドレスを記憶しているタグ領域21の状態
データを、シェアードからインバリッドに書き換える。
【0027】また、コントローラ22は、対応する状
態データがシェアードを示すラインに、プロセッサ2
から書き込みがあった場合には、当該ラインの状態デー
タを、シェアードからダーティに書き換える。なお、コ
ントローラ22は、外部メモリ6からデータ領域20
にラインが読み出されたときに、当該ラインに対応す
る状態データをシェアードに設定する。
【0028】次に、コントローラ22における他のコ
ントローラ22〜22からの退避要求信号に応答す
る機能は以下のようにして行われる。すなわち、コント
ローラ22は、退避要求信号を入力すると、タグ領域
21の状態データを参照してインバリッドを示すもの
があるか否かを判断し、インバリッドを示すものがある
と判断した場合には、インバリッドのラインが存在する
ことを示す退避要求応答信号を内部バス4に出力する。
【0029】一方、コントローラ22は、インバリッ
ドのラインが存在しないと判断した場合には、インバリ
ッドのラインが存在しないことを示す退避要求応答信号
を内部バス4に出力する。
【0030】次に、共有キャッシュメモリ30について
説明する。共有キャッシュメモリ30は、図1に示すよ
うに、データ領域31、タグ領域32および制御手段と
してのコントローラ33を有する。データ領域31は、
プライベートキャッシュメモリ3〜3のデータ領域
20〜20から退避されたダーティ状態のラインを
記憶する。なお、共有キャッシュ30のデータ領域31
は、外部メモリ6からプライベートキャッシュ3〜3
にラインを読み込む際の2次キャッシュメモリとして
は機能しない。すなわち、外部メモリ6から共有キャッ
シュ30へのラインの読み込みは行われない。タグ領域
32は、データ領域31に記憶されている各ラインにつ
いて、当該ラインの外部メモリ6上でのアドレスと、当
該ラインの状態データとを記憶している。
【0031】コントローラ33は、プライベートキャッ
シュメモリ3〜3のデータ領域20〜20のダ
ーティのラインを退避する必要があるときに、コントロ
ーラ22〜22から内部バス4を介して退避要求信
号を入力する。
【0032】そして、コントローラ33は、データ領域
31に空き領域、すなわちリプレーススペースが存在す
るか否かを判断し、存在すると判断した場合には、コン
トローラ22〜22に退避要求応答信号を出力す
る。また、コントローラ33は、データ領域31にリプ
レーススペースが存在しないと判断したときには、例え
ばLRU方式などを用いてデータ領域31に記憶されて
いるラインのうち一のラインを選択し、この選択したラ
インを外部バス5を介して外部メモリ6に退避する。こ
れにより、データ領域31には空き領域が確保される。
【0033】次に、コントローラ22におけるプロセ
ッサ2からのアクセス要求に応答する機能について説
明する。図2は、コントローラ22におけるプロセッ
サ2 からのアクセス要求に応答する処理を説明するた
めのフローチャートである。
【0034】ステップS1:コントローラ22は、プ
ロセッサ2からアクセス要求があったか否かを判断
し、アクセス要求があったと判断した場合にはステップ
S2の処理を実行し、そうでない場合にはステップS1
の処理を繰り返す。
【0035】ステップS2:コントローラ22は、プ
ロセッサ2からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域20に記憶されている
か否かを、タグ領域21に記憶されているアドレスを
検索して判断する。そして、コントローラ22は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域20に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域20
記憶されていると判断した場合にはステップS8の処理
を実行する。
【0036】ステップS8:コントローラ22は、プ
ロセッサ2からのアクセス要求が示すアドレスのデー
タをデータ領域20から読み出してプロセッサ2
出力する。
【0037】ステップS3:コントローラ22は、外
部メモリ6からデータ領域20にラインを読み込むに
あたって、データ領域20に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ22は、データ領域20
に、タグ領域21に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
【0038】ステップS4:コントローラ22は、内
部バス4を介して、コントローラ22 〜22に、
退避要求信号を出力する。コントローラ22〜22
は、退避要求信号を入力すると、タグ領域21〜21
の状態データを参照してインバリッドを示すものがあ
るか否かを判断し、インバリッドを示すものがあると判
断した場合には、インバリッドを示すラインが存在する
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ22に出力する。一方、コントローラ22
〜22は、インバリッドを示すものが存在しないと判
断した場合には、インバリッドを示すラインが存在しな
いことを示す退避要求応答信号を内部バス4を介してコ
ントローラ22に出力する。
【0039】ステップS5:コントローラ22は、コ
ントローラ22〜22から入力した退避要求応答信
号に基づいて、図3に示すキャッシュリプレースメント
処理を実行する。
【0040】すなわち、ステップS11にて他のプロセ
ッサのプライベートキャッシュメモリのデータ領域20
〜20にインバリッドのラインが存在するか否かを
判断し、インバリッドのラインが存在すると判断した場
合にはステップS12の処理を実行し、インバリッドの
ラインが存在しないと判断した場合にはステップS13
以下の処理を実行する。
【0041】ステップS12:コントローラ22は、
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ22 〜22のプ
ライベートキャッシュメモリ3〜3に、内部バス4
を介して、データ領域20に記憶されている退避を行
う対象となるダーティエントリを出力する。当該退避を
行う対象となるエントリは、データ領域20〜20
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域20〜20のインバリッドのラ
インに書き込まれる。従って、当該ラインの書き込みは
高速に行われる。
【0042】このとき、データ領域20に記憶されて
いるラインのうち、退避の対象となるエントリは、例え
ば、FIFO(First In First Out)方式あるいはLRU
(LeastRecently Used) 方式などを用いて決定される。
ここでは、LRU方式によりダーティエントリとされて
いる。また、コントローラ22は、データ領域20
〜20に複数のインバリッドのラインが存在する場合
には、予め決められた規則に基づいて、一のインバリッ
ドのラインを選択する。
【0043】ステップS13:コントローラ22は、
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域、すなわちリプレーススペースが存在するか
否かを判断し、存在すると判断した場合には、退避要求
応答信号を出力する。これによりステップS14に進む
ことになる。また、コントローラ33は、データ領域3
1に空き領域が存在しないと判断した場合には、ステッ
プS15に進む。
【0044】ステップS14:データ領域20に記憶
されている退避を行う対象となるラインを、共有キャッ
シュメモリ30に出力する。当該退避を行う対象となる
ラインは、共有キャッシュメモリ30の当該ラインのア
ドレスに対応する記憶領域に書き込まれる。
【0045】ステップS15:コントローラ33は、L
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
【0046】ステップS16:ステップS15にて確保
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、コントローラ22は内部バス4を介し
て、データ領域20に記憶されている退避を行う対象
となるラインを出力する。すると、当該退避を行う対象
となるラインは、共有キャッシュメモリ30の前記空き
領域に退避される。
【0047】以上でステップS5のキャッシュリプレー
スメント処理の実行が終了し、次に、図2のステップS
6に戻る。 ステップS6:コントローラ22によって、プロセッ
サ2のアクセス要求が示す外部メモリ6上のアドレス
からラインが読み出され、当該読み出されたラインが外
部バス5および内部バス4を介してプライベートキャッ
シュメモリ3に入力される。そして、ステップS6あ
るいはS12の処理が行われた場合には、入力したライ
ンが、データ領域20 内の前述した退避が行われた
ラインのアドレスに書き込まれる。また、プライベート
キャッシュメモリ3 にインバリッドのラインが存在
した場合(ステップS3からステップ6に処理が移った
場合)には、入力したラインが、データ領域20のイ
ンバリッドのラインのアドレスに書き込まれる。また、
コントローラ22は、タグ領域21における当該書
き込みを行ったラインに対応する状態データをシェアー
ドに設定する。
【0048】ステップS7:コントローラ22は、ス
テップS6において、データ領域20に書き込んだラ
イン内のプロセッサ2から要求があったデータを読み
出して、プロセッサ2に出力する。
【0049】以上、コントローラ22について説明し
たが、コントローラ22〜22は、コントローラ2
と同じ機能を有する。
【0050】外部メモリ6は、プロセッサ2〜2
よってアクセスされる暗号化データを記憶している。な
お、外部メモリ6は、半導体集積回路10の外部に位置
することから、プロセッサ2とプライベートキャッシ
ュメモリ3〜3との間のデータ転送速度に比べて、
外部メモリ6とプライベートキャッシュメモリ3〜3
との間のデータ転送速度は低速であるが、プライベー
トキャッシュメモリ3 〜3に比べて大きな記憶容量
を有している。
【0051】以下、図1に示す暗号復号化処理装置1の
動作について説明する。暗号復号処理装置1の動作は、
主に、図2を用いて上述したコントローラ22〜22
の処理に特徴を有している。
【0052】先ず、プロセッサ2からアクセス要求が
発生し、プライベートキャッシュメモリ3のデータ領
域20に記憶されているダーティ状態のラインを退避
する必要があるときに、プライベートキャッシュメモリ
のデータ領域20に、インバリッドのラインが存
在する場合の暗号復号化処理装置1の動作を図2、図3
を参照しながら説明する。先ず、プロセッサ2からア
クセス要求が発生し(ステップS1)、コントローラ2
において、当該アクセス要求があったラインがデー
タ領域20に記憶されいるか否かが、タグ領域21
に記憶されているアドレスを参照して判断され、当該ラ
インがデータ領域20に記憶されていないと判断され
る(ステップS2)。
【0053】次に、コントローラ22において、プロ
セッサ2からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域20に読み込むにあ
たって、データ領域20に記憶されているラインを退
避する必要があるか否かを判断し、ラインを退避する必
要があると判断する(ステップS3)。次に、コントロ
ーラ22から、内部バス4を介して、コントローラ2
〜22に、退避要求信号が出力される(ステップ
S4)。そして、コントローラ22において、入力し
た退避要求信号に基づいて、タグ領域21の状態デー
タが参照され、インバリッドを示すラインがあると判断
され、インバリッドを示すラインが存在することを示す
退避要求応答信号が内部バス4を介してコントローラ2
に出力される。
【0054】次に、コントローラ22が、コントロー
ラ22から入力した退避要求応答信号に基づいて、デ
ータ領域20にインバリッドのラインが存在すると判
断する(ステップS11)。
【0055】次に、プライベートキャッシュメモリ3
からプライベートキャッシュメモリ3に、内部バス4
を介して、データ領域20に記憶されている退避を行
う対象となるラインが出力され、データ領域20内の
インバリッドのラインに書き込まれる(ステップS1
2)。当該書き込みは、内部バス4を介して高速に行わ
れる。すなわち、外部バス5を介した、外部メモリ6へ
のラインの退避は行われない。
【0056】次に、プロセッサ2からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ3の既
に退避が行われたラインのアドレスに書き込まれる(ス
テップS6)。
【0057】次に、データ領域20に書き込まれたラ
イン内のプロセッサ2から要求があったデータが読み
出されてプロセッサ2に出力される(ステップS
7)。
【0058】そして、プロセッサ2では、外部メモリ
6から読み出されて供給された暗号化データに復号化処
理を施して暗号復号化データを生成する。この暗号復号
化データは、プライベートキャッシュメモリにダーティ
ラインとして戻される。しかし、このダーティライン
は、外部メモリ6に退避されることがない。
【0059】以上説明したように、暗号化復号処理装置
1では、プロセッサ2〜2からのアクセス要求に応
じてそれぞれデータ領域20〜20に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域20〜20にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域20〜20のインバリッドのライ
ンのアドレスに書き込む(退避する)。すなわち、この
場合に、当該ダーティ状態のラインを、内部バス4およ
び外部バス5を介して、外部メモリ6に書き込む処理を
行わない。したがって、暗号復号化処理装置1によれ
ば、外部メモリ6への参照を減らすことができるので、
低速な外部バス5を介したデータ転送の数を削減でき、
処理の高速化を図ることができる。
【0060】また、この暗号復号化処理装置1によれ
ば、暗号復号化データを外部メモリ6に退避させること
がなく、半導体集積回路10内だけで復号化処理を完了
することができるので、第三者によって復号化データが
観測される危険性を回避できる。
【0061】次に、プロセッサ2からアクセス要求が
発生し、プライベートキャッシュメモリ3のデータ領
域20に記憶されているダーティ状態のラインを退避
する必要があり、他のプライベートキャッシュメモリに
インバリットエントリが存在せず、共有キャッシュメモ
リ30に空き領域が存在する場合の暗号復号化処理装置
1の動作を図2及び図3を参照しながら説明する。
【0062】先ず、プロセッサ2からアクセス要求が
発生し(図2に示すステップS1)、コントローラ22
において、当該アクセス要求があったラインがデータ
領域20に記憶されいるか否かが、タグ領域21
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域20に記憶されていないと判断される
(図2に示すステップS2)。
【0063】次に、コントローラ22において、プロ
セッサ2からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域20にラインを読み
込むにあたって、データ領域20に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ22から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
【0064】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0065】そして、前記退避要求信号は、共有キャッ
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。共有キャッ
シュメモリのデータ領域31に空き領域があることを判
断すると、コントローラ33は退避要求応答信号をプラ
イベートキャッシュメモリ3のコントローラ22
返す。
【0066】次に、コントローラ22において、退避
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域20から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S14)。
【0067】次に、プロセッサ2からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ3の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ2に出力される。
【0068】以上説明したように、暗号化復号処理装置
1では、プロセッサ2〜2からのアクセス要求に応
じてそれぞれデータ領域20〜20に記憶されてい
るダーティ状態のラインを退避する際に、他のプライベ
ートキャッシュメモリにインバリッド状態のラインが存
在しない場合には、当該ダーティ状態のラインを共有キ
ャッシュメモリ30に書き込むことができる。次に、プ
ロセッサ2からアクセス要求が発生し、プライベート
キャッシュメモリ3のデータ領域20に記憶されて
いるダーティ状態のラインを退避する必要があり、他の
プライベートキャッシュメモリにインバリットエントリ
が存在せず、共有キャッシュメモリ30にも空き領域が
存在しない場合の暗号復号化処理装置1の動作を図2及
び図3を参照しながら説明する。
【0069】先ず、プロセッサ2からアクセス要求が
発生し(図2に示すステップS1)、コントローラ22
において、当該アクセス要求があったラインがデータ
領域20に記憶されいるか否かが、タグ領域21
記憶されているアドレスを検索して判断され、当該ライ
ンがデータ領域20に記憶されていないと判断される
(図2に示すステップS2)。
【0070】次に、コントローラ22において、プロ
セッサ2からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域20にラインを読み
込むにあたって、データ領域20に記憶されているラ
インを退避する必要があるか否かを判断され、ラインを
退避する必要があると判断される(図2に示すステップ
S3)。次に、コントローラ22から、内部バス4を
介して、退避要求信号が出力される(図2に示すステッ
プS4)。
【0071】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図3のステップS11にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0072】そして、前記退避要求信号は、共有キャッ
シュメモリ30に出力され、共有キャッシュメモリ30
のコントローラ33は、共有キャッシュメモリのデータ
領域31に空き領域があるか否かをタグ領域32のアド
レスを調べて判断する(ステップS13)。
【0073】共有キャッシュメモリのデータ領域31に
空き領域がないことを判断すると、コントローラ33は
LRU方式のアルゴリズムを用いてデータ領域31に記
憶されているラインのうち一のラインを選択し、この選
択したラインを外部バス5を介して外部メモリ6に退避
する。これにより、データ領域31には空き領域が確保
される。そして、コントローラ33は、退避要求応答信
号をコントローラ22 に返す。
【0074】次に、コントローラ22において、退避
要求応答信号が入力されたことが検出されると、退避を
行うダーティ状態のラインが、データ領域20から共
有キャッシュメモリ30に内部バス4を介して出力さ
れ、当該ダーティ状態のラインがデータ領域31内の空
き領域に書き込まれる、すなわち退避される(ステップ
S16)。
【0075】次に、プロセッサ2からのアクセス要求
が示す外部メモリ6上のアドレスからラインが読み出さ
れ、当該読み出されたラインが、外部バス5および内部
バス4を介してプライベートキャッシュメモリ3の退
避が行われたラインのアドレスに書き込まれる(図2に
示すステップS6)。そして、ステップS7にて読み出
されたラインがプロセッサ2に出力される。
【0076】以上説明したように、暗号復号化処理装置
1では、プロセッサ2〜2からのアクセス要求に応
じてそれぞれデータ領域20〜20に記憶されてい
るダーティ状態のラインを退避する際に、他のデータ領
域20〜20にインバリッドのラインが存在する場
合には、当該ダーティ状態のラインを内部バス4を介し
て他のデータ領域20〜20のインバリッドのライ
ンのアドレスに書き込む(退避する)。また、他のプラ
イベートキャッシュメモリにインバリッド状態のライン
が存在しない場合には、当該ダーティ状態のラインを共
有キャッシュメモリ30に書き込むことができる。すな
わち、ダーティ状態のラインを、内部バス4および外部
バス5を介して、外部メモリ6に書き込む処理を行わな
い。すなわち、暗号復号化処理装置1によれば、外部メ
モリ6への参照を減らすことができるので、低速な外部
バス5を介したデータ転送の数を削減でき、処理の高速
化を図ることができる。
【0077】また、この暗号化復号処理装置1では、暗
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリを最大限に活
用して、半導体集積回路10内だけでこの復号化処理を
完了することができる。外部メモリ6に復号化データを
書き戻すときには復号化データが第三者によって観測さ
れる危険性があるが、半導体集積回路10内だけで復号
化処理を完了することができるので、その危険性は回避
できる。
【0078】次に、第2の実施の形態について説明す
る。この第2の実施の形態も暗号復号化処理装置であ
る。構成は図1に示したものと同一であるが、この暗号
復号化処理装置は、暗号化データを格納するために予め
決められたアドレス空間を有する外部メモリ6を確保し
ている。このような外部メモリ6を確保することによっ
てこのアドレス空間に対するキャッシュライン属性とし
てP(Persistent)ビットがセットされる。
【0079】図4にはPビットがセットされている、キ
ャッシュメモリのエントリのステイタスを示す。先ず、
Pビットの有無が記述されている。ラインステータス
(LINESTATUS)としては、前述したインバリッド(Inval
id) 状態、クリーン(Crean)状態、クリーンシェアー
ド(Crean Shared)状態、ダーティ(Dirty) 状態、ダ
ーティシェアード(Dirty Shared)状態が記述される。
【0080】これら、Pビットの有無、及びラインステ
ータスは、各プライベートキャッシュメモリ3
,3,3の各タグ領域21,21,2
,21に記憶される。
【0081】そして、外部メモリ6から読み出したPビ
ットがセットされている、4つのプライベートキャッシ
ュメモリ3,3,3,3のいずれかのキャッシ
ュラインは、セットされていないキャッシュラインに対
して、より高い優先度を持つことができる。
【0082】次に、一のプロセッサ(プロセッサ2
が外部メモリ6からデータをセットするときに、プライ
ベートキャッシュメモリ(プライベートキャッシュメモ
リ3 )に既にP-ビットデータがセットされていると
きの暗号復号化処理装置1の動作について図2のフロー
チャートを参照して説明する。
【0083】ステップS1:コントローラ22は、プ
ロセッサ2からアクセス要求があったと判断した場合
にはステップS2の処理を実行し、そうでない場合には
ステップS1の処理を繰り返す。
【0084】ステップS2:コントローラ22は、プ
ロセッサ2からのアクセス要求が示すアドレスのデー
タを含むラインが、データ領域20に記憶されている
か否かを、タグ領域21に記憶されているアドレスを
検索して判断する。そして、コントローラ22は、当
該アクセス要求が示すアドレスのデータを含むラインが
データ領域20に記憶されていないと判断した場合に
はステップS3の処理を実行し、当該アクセス要求が示
すアドレスのデータを含むラインがデータ領域20
記憶されていると判断した場合にはステップS8の処理
を実行する。
【0085】ステップS8:コントローラ22は、プ
ロセッサ2からのアクセス要求が示すアドレスのデー
タをデータ領域20から読み出してプロセッサ2
出力する。
【0086】ステップS3:コントローラ22は、外
部メモリ6からデータ領域20にラインを読み込むに
あたって、データ領域20に記憶されているラインを
退避する必要があるか否かを判断し、必要であると判断
した場合にはステップS4の処理を実行し、必要でない
と判断した場合にはステップS6の処理を実行する。具
体的には、コントローラ22は、データ領域20
に、タグ領域21に記憶されている対応する状態デ
ータがインバリッドを示すラインが存在するか否かを判
断し、存在すると判断した場合にはラインの退避は必要
でないと判断し、存在しないと判断した場合にはライン
の退避が必要であると判断する。
【0087】ステップS4:コントローラ22は、内
部バス4を介して、コントローラ22、22及び2
に、退避要求信号を出力する。コントローラ2
、22及び22は、退避要求信号を入力する
と、タグ領域21、21及び21の状態データを
参照してインバリッドを示すものがあるか否かを判断
し、インバリッドを示すものがあると判断した場合に
は、インバリッドを示すラインが存在することを示す退
避要求応答信号を内部バス4を介してコントローラ22
に出力する。一方、コントローラ22、22及び
22は、インバリッドを示すものが存在しないと判断
した場合には、インバリッドを示すラインが存在しない
ことを示す退避要求応答信号を内部バス4を介してコン
トローラ22に出力する。
【0088】ステップS5:コントローラ22は、コ
ントローラ22、22又は22 から入力した退避
要求応答信号に基づいて、図5に示すキャッシュリプレ
ースメント処理を実行する。
【0089】すなわち、ステップS21にて他のプロセ
ッサのプライベートキャッシュメモリ3、3又は3
のデータ領域20、20又は20にインバリッ
ドのラインが存在するか否かを判断し、インバリッドの
ラインが存在すると判断した場合にはステップS22の
処理を実行し、インバリッドのラインが存在しないと判
断した場合にはステップS23以下の処理を実行する。
【0090】ステップS22:コントローラ22は、
インバリッドのラインが存在することを示した退避要求
応答信号を出力したコントローラ22、22又は2
のプライベートキャッシュメモリ3、3又は3
に、内部バス4を介して、データ領域20に記憶さ
れている退避を行う対象となるP-ビットのダーティエ
ントリ(P-Dirty)を出力する。当該退避を行う対象と
なるエントリは、データ領域20、20又は20
におけるインバリッドのラインに書き込まれる。すなわ
ち、退避を行う対象となるラインが、外部バス5を介し
て外部メモリ6に書き込まれるのではなく、内部バス4
を介してデータ領域20、20又は20のインバ
リッドのラインに書き込まれる。従って、当該ラインの
書き込みは高速に行われる。
【0091】ステップS23:コントローラ22は、
他のプロセッサ2、2又は2のプライベートキャ
ッシュメモリ3、3又は3にあってP-ビットの
エントリがセットされていないラインを確認する。
【0092】ステップS24:次に、コントローラ22
は、他のプライベートキャッシュメモリ中のP-ビッ
トがセットされていないラインはダーティエントリであ
るか否かを判断する。ここで、ダーティであれば(YE
S)、ステップS25の処理を行うが、ダーティでなけ
れば(NO)、すなわちクリーンであればステップS2
8の処理を行う。
【0093】ステップS25:コントローラ22は、
内部バス4を介して、共有キャッシュメモリ30のコン
トローラ33に、退避要求信号を出力する。その退避要
求信号を受けた、コントローラ33は、データ領域31
に空き領域が存在するか否かを判断し、存在すると判断
した場合には、退避要求応答信号を出力する。これによ
りステップS27に進むことになる。また、コントロー
ラ33は、データ領域31に空き領域が存在しないと判
断した場合には、ステップS26に進む。
【0094】ステップS26:コントローラ33は、L
RU方式のアルゴリズムを用いてデータ領域31に記憶
されているラインのうち一のラインを選択し、この選択
したラインを外部バス5を介して外部メモリ6に退避す
る。これにより、データ領域31には空き領域が確保さ
れる。
【0095】ステップS27:ステップS26にて確保
された共有キャッシュメモリ30のデータ領域31中の
空き領域に、前記ダーティエントリのあるプライベート
キャッシュメモリのコントローラ22は内部バス4を
介して、データ領域20に記憶されている退避を行う
対象となるダーティエントリを出力する。すると、当該
退避を行う対象となるダーティエントリは、共有キャッ
シュメモリ30の前記空き領域に退避される。
【0096】ステップS28:P-ダーティエントリを
他のプライベートキャッシュメモリへコピーする。
【0097】以上でステップS5のキャッシュリプレー
スメント処理の実行が終了し、次にステップS6に戻
る。
【0098】ステップS6:コントローラ22によっ
て、プロセッサ2のアクセス要求が示す外部メモリ6
上のアドレスからラインが読み出され、当該読み出され
たラインが外部バス5および内部バス4を介してプライ
ベートキャッシュメモリ3に入力される。そして、ス
テップS6の処理が行われた場合には、入力したライン
が、データ領域20内の前述した退避が行われたライ
ンのアドレスに書き込まれる。また、プライベートキャ
ッシュメモリ3にインバリッドのラインが存在した場
合(ステップS22)には、入力したラインが、データ
領域20のインバリッドのラインのアドレスに書き込
まれる。また、コントローラ22は、タグ領域21
における当該書き込みを行ったラインに対応する状態デ
ータをシェアードに設定する。
【0099】ステップS7:コントローラ22は、ス
テップS6において、データ領域20に書き込んだラ
イン内のプロセッサ2から要求があったデータを読み
出して、プロセッサ2に出力する。以下、この第2の
実施の形態の暗号復号化処理装置1の動作について説明
する。先ず、プロセッサ2からアクセス要求が発生
し、プライベートキャッシュメモリ3のデータ領域2
に記憶されているPダーティ状態のラインを退避す
る必要があるときに、プライベートキャッシュメモリ3
のデータ領域20に、クリーンのラインが存在する
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。始めに、プロセッサ2からアクセ
ス要求が発生し(ステップS1)、コントローラ22
において、当該アクセス要求があったラインがデータ領
域20に記憶されいるか否かが、タグ領域21に記
憶されているアドレスを参照して判断され、当該ライン
がデータ領域20に記憶されていないと判断される
(ステップS2)。
【0100】次に、コントローラ22において、プロ
セッサ2からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域20に読み込むにあ
たって、データ領域20に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ22から、内部バス4を介
して、コントローラ22、22及び22に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ22、22及び22において、入力した
退避要求信号に基づいて、タグ領域21、21及び
21の状態データが参照され、インバリッドを示すラ
インが無い判断され、インバリッドを示すラインが存在
しないことを示す退避要求応答信号が内部バス4を介し
てコントローラ22に出力される。
【0101】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0102】次に、コントローラ22は、他のプロセ
ッサ2、2又は2のプライベートキャッシュメモ
リ3、3又は3にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
のプライベートキャッシュメモリ3のラインを見
つけだす。
【0103】このプライベートキャッシュメモリ3
ラインのエントリは、ダーティではなく(ステップS2
4にてNO)クリーンであり、ステップS28に進ん
で、コントローラ22とコントローラ22は、デー
タ領域20のP-Dirtyをデータ領域20にコピーす
る。クリーンラインの場合には、キャッシュのデータは
メモリもしくは他のキャッシュ、共有キャッシュに存在
するので、ただ単に上書きすればよい。
【0104】次に、プロセッサ2からアクセス要求が
発生し、プライベートキャッシュメモリ3のデータ領
域20に記憶されているPダーティ状態のラインを退
避する必要があるときに、プライベートキャッシュメモ
リ3のデータ領域20に、クリーンのラインが存在
せず、さらに共有メモリ30にも空き領域が存在しない
場合の暗号復号化処理装置1の動作を図2、図5を参照
しながら説明する。
【0105】始めに、プロセッサ2からアクセス要求
が発生し(ステップS1)、コントローラ22におい
て、当該アクセス要求があったラインがデータ領域20
に記憶されいるか否かが、タグ領域21に記憶され
ているアドレスを参照して判断され、当該ラインがデー
タ領域20に記憶されていないと判断される(ステッ
プS2)。
【0106】次に、コントローラ22において、プロ
セッサ2からアクセス要求があったデータを含むライ
ンを外部メモリ6からデータ領域20に読み込むにあ
たって、データ領域20に記憶されているPビットラ
インを退避する必要があるか否かを判断し、Pビットラ
インを退避する必要があると判断する(ステップS
3)。次に、コントローラ22から、内部バス4を介
して、コントローラ22、22及び22に、退避
要求信号が出力される(ステップS4)。そして、コン
トローラ22、22及び22において、入力した
退避要求信号に基づいて、タグ領域21、21及び
21の状態データが参照され、インバリッドを示すラ
インが無いと判断され、インバリッドを示すラインが存
在しないことを示す退避要求応答信号が内部バス4を介
してコントローラ22に出力される。
【0107】そして、ステップS5のキャッシュリプレ
ースメント処理が実行され、図5のステップS21にて
他のプライベートキャッシュメモリにインバリッドエン
トリが存在しないことを判断する。
【0108】次に、コントローラ22は、他のプロセ
ッサ2、2又は2のプライベートキャッシュメモ
リ3、3又は3にあってP-ビットのエントリが
セットされていないライン、例えばここではプロセッサ
のプライベートキャッシュメモリ3のラインを見
つけだす。
【0109】このプライベートキャッシュメモリ3
ラインのエントリは、ダーティである(ステップS24
にてYES)ので、ステップS25に進む。
【0110】コントローラ22は、内部バス4を介し
て、共有キャッシュメモリ30のコントローラ33に、
退避要求信号を出力する。その退避要求信号を受けた、
コントローラ33は、データ領域31に空き領域が存在
するか否かを判断する。ここでは、空き領域が存在して
いないので、ステップS26に進む。
【0111】ステップS26にて、コントローラ33
は、LRU方式のアルゴリズムを用いてデータ領域31
に記憶されているラインのうち一のラインを選択し、こ
の選択したラインを外部バス5を介して外部メモリ6に
退避する。これにより、データ領域31には空き領域が
確保される。
【0112】ステップS26にて確保された共有キャッ
シュメモリ30のデータ領域31中の空き領域に、前記
ダーティエントリのあるプライベートキャッシュメモリ
のコントローラ22は内部バス4を介して、データ領
域20に記憶されている退避を行う対象となるダーテ
ィエントリを出力する。すると、当該退避を行う対象と
なるダーティエントリは、共有キャッシュメモリ30の
前記空き領域に退避される。
【0113】そして、P-ダーティエントリを他のプラ
イベートキャッシュメモリへコピーする。
【0114】以上説明したように、この第2の実施の形
態の、暗号復号化処理装置1では、プロセッサ2〜2
からのアクセス要求に応じてそれぞれデータ領域20
〜20に記憶されているPビットダーティ状態のラ
インを退避する際に、他のデータ領域20〜20
インバリッドのラインが存在する場合には、当該ダーテ
ィ状態のラインを内部バス4を介して他のデータ領域2
〜20のインバリッドのラインのアドレスに書き
込む(退避する)。また、他のプライベートキャッシュ
メモリにインバリッド状態のラインが存在しない場合に
は、当該Pビットダーティ状態のラインを他のプライベ
ートキャッシュメモリのクリーン状態のラインに書き込
む。また、他のプライベートキャッシュメモリにあるの
がダーティ状態のラインであるときには、共有キャッシ
ュメモリ30から外部メモリ6にLRUアルゴリズムに
基づいて一のラインを退避し、その空いた領域に他のプ
ライベートキャッシュメモリのダーティラインを退避し
てから、他のプライベートキャッシュメモリの空き領域
に外部メモリ6から暗号化データを読み出す。したがっ
て、この第2の実施の形態の暗号復号化処理装置1によ
れば、外部メモリ6への参照を減らすことができるの
で、低速な外部バス5を介したデータ転送の数を削減で
き、処理の高速化を図ることができる。
【0115】また、この暗号化復号処理装置1では、暗
号復号化データを扱う場合に、外部メモリ6に該当デー
タを書き戻すことなく、キャッシュメモリと、共用キャ
ッシュメモリを最大限に活用して、半導体集積回路10
内だけでこの復号化処理を完了することができる。外部
メモリ6に復号化データを書き戻すときには復号化デー
タが第三者によって観測される危険性があるが、半導体
集積回路10内だけで復号化処理を完了することができ
るので、その危険性は回避できる。
【0116】なお、本発明は、前記二つの実施の形態に
のみ限定されるものではなく、共有キャッシュメモリを
持たない図6に示す例、インバリッドラインを使用しな
い例、内部メモリと共有キャッシュメモリを用いる例と
いうように種々の変形が考えられる。図6に示す共有キ
ャッシュメモリを持たない例は、図1の構成から共有キ
ャッシュメモリを除いた構成であり、インバリットライ
ンを使用するシステムに適する。また、Pビットを用い
るときには、他のプライベートキャッシュメモリにダー
ティラインを退避することができる。
【0117】さらに本発明は、今後ますます増えてくる
であろう、著作権保護機構付きのデータを処理する際に
も本発明は適用できる。
【0118】
【発明の効果】本発明によれば、暗号復号化データを大
規模集積回路内だけで処理することができ、かつ大規模
集積回路の内部と外部との間でデータの転送速度が大き
く異なることにより発生する性能低下を引き起こさず、
さらに大規模集積回路内の小容量、高速キャッシュ及び
メモリを効率的に利用することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態となる、暗号復号化
処理装置の構成を示す図である。
【図2】前記暗号復号化処理装置の動作を概略的に説明
するためのフローチャートである。
【図3】前記暗号復号化処理装置のキャッシュリプレー
スメント処理を説明するためのフローチャートである。
【図4】本発明の第2の実施の形態となる、暗号復号化
処理装置にて用いられるPビットがセットされている、
キャッシュメモリのエントリのステイタスを示す図であ
る。
【図5】前記第2の実施の形態となる、暗号復号化処理
装置のキャッシュリプレースメント処理を説明するため
のフローチャートである。
【図6】暗号復号化処理装置の他の変形例の構成を示す
図である。
【符号の説明】
1 暗号復号化処理装置、2〜2 プロセッサ、3
〜3 プライベートキャッシュメモリ、4 内部
バス、5 外部バス、6 外部メモリ、20〜20
データ領域、21〜21 タグ領域、22〜2
コントローラ、30 共有キャッシュメモリ、3
1 データ領域、32 タグ領域、33コントローラ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 553 G06F 12/08 553Z 559 559Z

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 外部記憶手段に格納されている暗号デー
    タに復号化処理を施す情報処理装置において、 複数のプロセッサと、 前記複数のプロセッサにそれぞれ対応して設けられ、対
    応するプロセッサに暗号データを供給する複数の内部記
    憶手段と、 前記プロセッサからアクセス要求があった暗号データを
    外部記憶手段から読み出して前記アクセス要求を出した
    プロセッサに対応する内部記憶手段に書き込むと共に、
    前記プロセッサにより復号化された復号化データを当該
    内部記憶手段から退避する必要があるときに、当該退避
    する必要がある復号化データを、当該対応する内部記憶
    手段を除く他の内部記憶手段に退避する制御手段とを備
    えることを特徴とする情報処理装置。
  2. 【請求項2】 前記制御手段は、前記アクセス要求を出
    したプロセッサに対応する内部記憶手段を除く前記内部
    記憶手段内の記憶内容が無効である記憶領域に、前記退
    避する必要がある復号化データを退避することを特徴と
    する請求項1記載の情報処理装置。
  3. 【請求項3】 前記外部記憶手段には予め決められたア
    ドレス空間の特別領域が設定され、この特別領域に対応
    して前記内部記憶手段にセットされるラインは、セット
    されないラインに対して高い優先度を持つことを特徴と
    する請求項1記載の情報処理装置。
  4. 【請求項4】 前記制御手段は、前記アクセス要求を出
    したプロセッサに対応する内部記憶手段を除く他の前記
    内部記憶手段内に記憶内容が無効である記憶領域が存在
    しない場合に、前記退避する必要がある復号化データ
    を、他の前記内部記憶手段中の前記特別領域よりも優先
    度の低いラインに退避することを特徴とする請求項3記
    載の情報処理装置。
  5. 【請求項5】 前記複数の内部記憶手段がそれぞれ接続
    される内部バス手段と前記外部記憶手段が接続される外
    部バス手段との間に、前記複数のプロセッサ、前記内部
    記憶手段、前記制御手段及び内部バス手段とともに集積
    回路を構成する共有記憶手段を備えることを特徴とする
    請求項1記載の情報処理装置。
  6. 【請求項6】 前記制御手段は、前記複数の内部記憶手
    段に前記復号化データを退避できないときには、前記共
    有記憶手段に退避することを特徴とする請求項5記載の
    情報処理装置。
  7. 【請求項7】 前記外部記憶手段には予め決められたア
    ドレス空間の特別領域が設定され、この特別領域に対応
    して前記内部記憶手段にセットされるラインは、セット
    されないラインに対して高い優先度を持つことを特徴と
    する請求項6記載の情報処理装置。
  8. 【請求項8】 前記制御手段は、前記アクセス要求を出
    したプロセッサに対応する内部記憶手段を除く他の前記
    内部記憶手段内に記憶内容が無効である記憶領域が存在
    しないときには、前記退避する必要がある復号化データ
    を、他の前記内部記憶手段中の前記特別領域よりも優先
    度の低いラインに、前記共有記憶手段を用いて退避する
    ことを特徴とする請求項7記載の情報処理装置。
  9. 【請求項9】 外部記憶手段に格納されている暗号デー
    タに復号化処理を施すための情報処理方法において、 複数のプロセッサの内の一からアクセス要求があった暗
    号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
    アクセス要求を出したプロセッサに対応する内部記憶手
    段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
    内部記憶手段から退避する必要があるときに、当該退避
    する必要がある復号化データを、当該対応する内部記憶
    手段を除く他の内部記憶手段に退避する退避工程とを備
    えることを特徴とする情報処理方法。
  10. 【請求項10】 前記退避工程は、前記アクセス要求を
    出したプロセッサに対応する内部記憶手段を除く前記内
    部記憶手段内の記憶内容が無効である記憶領域に、前記
    退避する必要がある復号化データを退避することを特徴
    とする請求項9記載の情報処理方法。
  11. 【請求項11】 前記退避工程は、前記アクセス要求を
    出したプロセッサに対応する内部記憶手段を除く他の前
    記内部記憶手段内に記憶内容が無効である記憶領域が存
    在しない場合に、前記退避する必要がある復号化データ
    を、他の前記内部記憶手段中の優先度の低いラインに退
    避することを特徴とする請求項10記載の情報処理方
    法。
  12. 【請求項12】 前記退避工程は、前記複数の内部記憶
    手段に前記復号化データを退避できないときには、共有
    記憶手段に退避することを特徴とする請求項11記載の
    情報処理方法。
  13. 【請求項13】 前記退避工程は、前記アクセス要求を
    出したプロセッサに対応する内部記憶手段を除く他の前
    記内部記憶手段内に記憶内容が無効である記憶領域が存
    在しないときには、前記退避する必要がある復号化デー
    タを、他の前記内部記憶手段中の優先度の低いライン
    に、前記共有記憶手段を用いて退避することを特徴とす
    る請求項12記載の情報処理方法。
  14. 【請求項14】 外部記憶手段に格納されている暗号デ
    ータに復号化処理を施すための情報処理プログラムを格
    納しているプログラム格納媒体であって、 複数のプロセッサの内の一からアクセス要求があった暗
    号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
    アクセス要求を出したプロセッサに対応する内部記憶手
    段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
    内部記憶手段から退避する必要があるときに、当該退避
    する必要がある復号化データを、当該対応する内部記憶
    手段を除く他の内部記憶手段に退避する退避工程とを備
    える情報処理プログラムを格納していることを特徴とす
    るプログラム格納媒体。
  15. 【請求項15】 外部記憶手段に格納されている暗号デ
    ータに復号化処理を施すための情報処理をマルチプロセ
    ッサに実行させるためのプログラムであって、 複数のプロセッサの内の一からアクセス要求があった暗
    号データを外部記憶手段から読み出す読み出し工程と、 前記読み出し工程により読み出された暗号データを前記
    アクセス要求を出したプロセッサに対応する内部記憶手
    段に書き込む書き込み工程と、 前記プロセッサにより復号化された復号化データを当該
    内部記憶手段から退避する必要があるときに、当該退避
    する必要がある復号化データを、当該対応する内部記憶
    手段を除く他の内部記憶手段に退避する退避工程とを備
    えることを特徴とするプログラム。
JP2001239688A 2001-08-07 2001-08-07 情報処理装置及び情報処理方法、プログラム格納媒体並びにプログラム Withdrawn JP2003050742A (ja)

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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Cited By (13)

* Cited by examiner, † Cited by third party
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