JP2004530962A - キャッシュメモリおよびアドレス指定方法 - Google Patents
キャッシュメモリおよびアドレス指定方法 Download PDFInfo
- Publication number
- JP2004530962A JP2004530962A JP2002556374A JP2002556374A JP2004530962A JP 2004530962 A JP2004530962 A JP 2004530962A JP 2002556374 A JP2002556374 A JP 2002556374A JP 2002556374 A JP2002556374 A JP 2002556374A JP 2004530962 A JP2004530962 A JP 2004530962A
- Authority
- JP
- Japan
- Prior art keywords
- address
- cache memory
- tag
- encoded
- index
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000013519 translation Methods 0.000 claims abstract description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
アドレスがタグ、インデックスおよびオフセットに分割されるキャッシュメモリにおいて、アドレスのそれぞれのタグ部分と、符合化されたタグアドレスとの間で、両方向の明確な変換を実行する手段がハードウェアの形態で提供される。さらに、キャッシュメモリのアドレスのインデックスフィールドは、インデックスフィールドを符合化されたインデックスフィールドにマップし、かつ両方向の明確である別のマッピング手順によって符号化され得る。適切な設計のハードウェアユニットもまた、この目的のために用いられる。
【選択図】図1
【選択図】図1
Description
【背景技術】
【0001】
本発明は、セキュリティコントローラにおいて用いられるキャッシュメモリに関する。
【0002】
キャッシュメモリは、通常、比較的小さいが、低速の外部メモリにプロセッサがアクセスする待ち時間を低減するために用いられる高速バッファメモリである。キャッシュメモリは、外部メモリの選択されたアドレス領域を有効に覆い、かつ一次的に改変されたデータ、および、このデータと関連するデータを位置指定するための情報の両方を含む。Alan Jay Smithによる文献「Cache Memories」in Computing Surveys、Vol.14、No.3(1982年9月、473〜530ページ)は、キャッシュメモリについての概要を提供する。ハードウェアによってインプリメントされたキャッシュメモリは、通常、任意のウェイのセットアソシアティブメモリアレイ(N−way set−associative memory arrays)として特徴付けられ得る。N=1によって与えられる極端なケースは、ダイレクトマップメモリを表し、N=Mは、完全連想キャッシュメモリを表し、ここで、Mは、メモリ内の入力の総数である。
【0003】
通常、データは、メモリ入力ごとに2bバイトのブロックで格納される。N=2nウェイを有するセットアソシアティブキャッシュメモリの通常のケースでは、データ項目のpビット幅アドレスは、通常、インデックスのためのnビット、オフセットのためのbビット、およびタグのための残りのp−n−bビットに分割される。これは、添付の図に示される。
【0004】
例えば、読み出しまたは書き込みプロセスにおいて、キャッシュメモリ内のデータ項目にアクセスされる場合、セットを直接的にアドレス指定するためにインデックスフィールドが用いられる。タグフィールドは、セット内でこのブロックを一意的に識別するためにそれぞれのブロックと共に格納される。ブロックの連想検索において、アドレスのタグフィールドは、関連するブロックを位置指定するために、選択されたセットのタグフィールドと比較される。ブロック内のデータ項目をアドレス指定するために、オフセット入力が用いられる。
【0005】
DE 199 57 810 A1号において、キャッシュメモリデバイスのための分散マッピング法が記載される。この方法では、タグアドレスに加算される有意ビットが、タグマッピングテーブル手段によってタグアドレスを異なったメモリ領域に割り当てるために用いられる。このようにして、タグアドレス自体の拡張を必要とせずに、内容がキャッシュメモリに転送され得る異なったメモリ領域を選択することが可能である。
【0006】
この種類のキャッシュメモリは、セキュリティコントローラにおいて、容易に識別可能な規則的な構造を示す。従って、バス線およびレジスタに加えて、これらのキャッシュメモリは、例えば、ニードル攻撃等による、セキュリティ関連のデータを無断で精密に調査する好適な物理的対象となる。外部メモリにおいて、セキュリティが重要な意味をもつデータが、通常、難解な暗号によって保護される。このコードは、例えば、ハードウェアでインプリメントされ得る。ハードウェアでインプリメントされるという解決策であっても、関連するアルゴリズムを用いる困難な符合化および復号化プロセスは、さらにメモリの動作に長い待ち時間をもたらし、これは、メモリそれ自体の待ち時間に加算され、かつ支配的なファクタになり得る。この種類の符号化は、通常、1つまたは多くとも非常に少ないクロックサイクルでアクセスすることを可能にするキャッシュメモリのためには適切でない。したがって、キャッシュメモリは、他の保護が提供されない限り、このタイプのセキュリティコントローラのセキュリティ設計における弱点になる。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、セキュリティコントローラにおけるキャッシュメモリに有効かつ実用的保護をする設備を規定することである。
【0008】
本目的は、請求項1の特徴を有するキャッシュメモリ、および請求項3の特徴を有するキャッシュメモリをアドレス指定する方法によって達成される。実施形態は、それぞれの従属請求項から明らかである。
【課題を解決するための手段】
【0009】
本発明によるキャッシュメモリにおいて、手段は、アドレスのそれぞれのタグ部分と、符合化されたタグアドレスとの間で、両方向の明確な変換を実行するために提供される。これらの手段は、好適には、ハードウェアの形態で存在する。本発明によるアドレス指定方法は、キャッシュアドレスと、符合化されたタグアドレスとの間で、両方向の明確な変換を行い、これは、好適には、専用ハードウェアを用いて実行される。
【0010】
本発明による解決策は、アクセス時間を増加することなく、または、多くてもわずかにしか増加させずに、キャッシュメモリにおけるデータ項目およびこれらの項目のアドレスのセキュリティレベルを向上するために用いられ得る手段および手段の手順を示す。導入部で記載されたように、セットアソシアティブキャッシュメモリにおいて、データは、インデックスフィールドおよびタグフィールドを用いて格納および取り出しされる。本発明により、両方向の明確に(1対1マッピング)マッピングが、アドレスのタグフィールドを符合化されたタグフィールドおよび逆方向にマップするために用いられる。その後、ブロックが、符合化されたタグフィールドと共にキャッシュメモリに格納される。データブロックのアドレス情報は、これらの手段によって有効に保護される。両方向の明確なマッピングは、ここで、専用ハードウェアユニットによって実行される。好適な実施形態において、これは、変換が1つのクロックサイクル内、すなわち、オンザフライで実行され得るように設計され、これは、キャッシュメモリアクセス時間が増加しないことを意味する。
【0011】
本発明のさらなる実施形態において、キャッシュメモリアドレスのインデックスフィールドは、さらに、インデックスフィールドを符合化されたインデックスフィールド上にマップし、かつ両方向の明確な別のマッピング手順を用いて符合化され得る。さらに、適切な設計のハードウェアユニットが用いられる。これは、いわゆるセットスクランブリングを実行する。ここで、キャッシュメモリにおいて管理されるべきブロックがトリビアルな方法では見出され得ないセットで格納される。符合化のこの特別な形態は、好適には、データに位置決めされない状態でアクセスされ得、従って、データがブロックの範囲を超えて拡張するようにプロセッサアーキテクチャが設計されない場合にインプリメントされる。
【0012】
本発明によるキャッシュメモリの実施形態は、特に、セキュリティコントローラ内のキャッシュメモリにおいて好適である。
【図面の簡単な説明】
【0013】
【図1】図1は、インデックスのためのnビット、オフセットのためのbビットおよびタグのための残りのp−n−bビットに分割されるデータ項目のpビット幅アドレスである。
【0001】
本発明は、セキュリティコントローラにおいて用いられるキャッシュメモリに関する。
【0002】
キャッシュメモリは、通常、比較的小さいが、低速の外部メモリにプロセッサがアクセスする待ち時間を低減するために用いられる高速バッファメモリである。キャッシュメモリは、外部メモリの選択されたアドレス領域を有効に覆い、かつ一次的に改変されたデータ、および、このデータと関連するデータを位置指定するための情報の両方を含む。Alan Jay Smithによる文献「Cache Memories」in Computing Surveys、Vol.14、No.3(1982年9月、473〜530ページ)は、キャッシュメモリについての概要を提供する。ハードウェアによってインプリメントされたキャッシュメモリは、通常、任意のウェイのセットアソシアティブメモリアレイ(N−way set−associative memory arrays)として特徴付けられ得る。N=1によって与えられる極端なケースは、ダイレクトマップメモリを表し、N=Mは、完全連想キャッシュメモリを表し、ここで、Mは、メモリ内の入力の総数である。
【0003】
通常、データは、メモリ入力ごとに2bバイトのブロックで格納される。N=2nウェイを有するセットアソシアティブキャッシュメモリの通常のケースでは、データ項目のpビット幅アドレスは、通常、インデックスのためのnビット、オフセットのためのbビット、およびタグのための残りのp−n−bビットに分割される。これは、添付の図に示される。
【0004】
例えば、読み出しまたは書き込みプロセスにおいて、キャッシュメモリ内のデータ項目にアクセスされる場合、セットを直接的にアドレス指定するためにインデックスフィールドが用いられる。タグフィールドは、セット内でこのブロックを一意的に識別するためにそれぞれのブロックと共に格納される。ブロックの連想検索において、アドレスのタグフィールドは、関連するブロックを位置指定するために、選択されたセットのタグフィールドと比較される。ブロック内のデータ項目をアドレス指定するために、オフセット入力が用いられる。
【0005】
DE 199 57 810 A1号において、キャッシュメモリデバイスのための分散マッピング法が記載される。この方法では、タグアドレスに加算される有意ビットが、タグマッピングテーブル手段によってタグアドレスを異なったメモリ領域に割り当てるために用いられる。このようにして、タグアドレス自体の拡張を必要とせずに、内容がキャッシュメモリに転送され得る異なったメモリ領域を選択することが可能である。
【0006】
この種類のキャッシュメモリは、セキュリティコントローラにおいて、容易に識別可能な規則的な構造を示す。従って、バス線およびレジスタに加えて、これらのキャッシュメモリは、例えば、ニードル攻撃等による、セキュリティ関連のデータを無断で精密に調査する好適な物理的対象となる。外部メモリにおいて、セキュリティが重要な意味をもつデータが、通常、難解な暗号によって保護される。このコードは、例えば、ハードウェアでインプリメントされ得る。ハードウェアでインプリメントされるという解決策であっても、関連するアルゴリズムを用いる困難な符合化および復号化プロセスは、さらにメモリの動作に長い待ち時間をもたらし、これは、メモリそれ自体の待ち時間に加算され、かつ支配的なファクタになり得る。この種類の符号化は、通常、1つまたは多くとも非常に少ないクロックサイクルでアクセスすることを可能にするキャッシュメモリのためには適切でない。したがって、キャッシュメモリは、他の保護が提供されない限り、このタイプのセキュリティコントローラのセキュリティ設計における弱点になる。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、セキュリティコントローラにおけるキャッシュメモリに有効かつ実用的保護をする設備を規定することである。
【0008】
本目的は、請求項1の特徴を有するキャッシュメモリ、および請求項3の特徴を有するキャッシュメモリをアドレス指定する方法によって達成される。実施形態は、それぞれの従属請求項から明らかである。
【課題を解決するための手段】
【0009】
本発明によるキャッシュメモリにおいて、手段は、アドレスのそれぞれのタグ部分と、符合化されたタグアドレスとの間で、両方向の明確な変換を実行するために提供される。これらの手段は、好適には、ハードウェアの形態で存在する。本発明によるアドレス指定方法は、キャッシュアドレスと、符合化されたタグアドレスとの間で、両方向の明確な変換を行い、これは、好適には、専用ハードウェアを用いて実行される。
【0010】
本発明による解決策は、アクセス時間を増加することなく、または、多くてもわずかにしか増加させずに、キャッシュメモリにおけるデータ項目およびこれらの項目のアドレスのセキュリティレベルを向上するために用いられ得る手段および手段の手順を示す。導入部で記載されたように、セットアソシアティブキャッシュメモリにおいて、データは、インデックスフィールドおよびタグフィールドを用いて格納および取り出しされる。本発明により、両方向の明確に(1対1マッピング)マッピングが、アドレスのタグフィールドを符合化されたタグフィールドおよび逆方向にマップするために用いられる。その後、ブロックが、符合化されたタグフィールドと共にキャッシュメモリに格納される。データブロックのアドレス情報は、これらの手段によって有効に保護される。両方向の明確なマッピングは、ここで、専用ハードウェアユニットによって実行される。好適な実施形態において、これは、変換が1つのクロックサイクル内、すなわち、オンザフライで実行され得るように設計され、これは、キャッシュメモリアクセス時間が増加しないことを意味する。
【0011】
本発明のさらなる実施形態において、キャッシュメモリアドレスのインデックスフィールドは、さらに、インデックスフィールドを符合化されたインデックスフィールド上にマップし、かつ両方向の明確な別のマッピング手順を用いて符合化され得る。さらに、適切な設計のハードウェアユニットが用いられる。これは、いわゆるセットスクランブリングを実行する。ここで、キャッシュメモリにおいて管理されるべきブロックがトリビアルな方法では見出され得ないセットで格納される。符合化のこの特別な形態は、好適には、データに位置決めされない状態でアクセスされ得、従って、データがブロックの範囲を超えて拡張するようにプロセッサアーキテクチャが設計されない場合にインプリメントされる。
【0012】
本発明によるキャッシュメモリの実施形態は、特に、セキュリティコントローラ内のキャッシュメモリにおいて好適である。
【図面の簡単な説明】
【0013】
【図1】図1は、インデックスのためのnビット、オフセットのためのbビットおよびタグのための残りのp−n−bビットに分割されるデータ項目のpビット幅アドレスである。
Claims (4)
- アドレスがタグとインデックスとオフセットとに分割されるキャッシュメモリであって、該アドレスの該それぞれのタグ部分と、符合化されたタグアドレスとの間で、両方向の明確な変換を実行する手段が提供されることを特徴とする、キャッシュメモリ。
- 前記提供された手段は、前記アドレスのそれぞれのインデックス部分と、符合化されたインデックスアドレスとの間で、両方向の明確な変換をさらに実行する、請求項1に記載のキャッシュメモリ。
- キャッシュアドレスのタグ部分と、符合化されたタグアドレスとの間で、両方向の明確な変換が実行される、キャッシュメモリをアドレス指定する方法。
- キャッシュアドレスのインデックス部分と、符合化されたインデックスアドレスとの間で、両方向の明確な変換がさらに実行される、請求項3に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10101552A DE10101552A1 (de) | 2001-01-15 | 2001-01-15 | Cache-Speicher und Verfahren zur Adressierung |
PCT/DE2001/004821 WO2002056184A1 (de) | 2001-01-15 | 2001-12-20 | Cache-speicher und verfahren zur adressierung |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004530962A true JP2004530962A (ja) | 2004-10-07 |
Family
ID=7670595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002556374A Withdrawn JP2004530962A (ja) | 2001-01-15 | 2001-12-20 | キャッシュメモリおよびアドレス指定方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040015644A1 (ja) |
EP (1) | EP1352328A1 (ja) |
JP (1) | JP2004530962A (ja) |
CN (1) | CN1486463A (ja) |
DE (1) | DE10101552A1 (ja) |
WO (1) | WO2002056184A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012509039A (ja) * | 2008-11-17 | 2012-04-12 | イントリンシツク・イー・デー・ベー・ベー | 分散puf |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10158393A1 (de) | 2001-11-28 | 2003-06-12 | Infineon Technologies Ag | Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage |
DE10258767A1 (de) * | 2002-12-16 | 2004-07-15 | Infineon Technologies Ag | Verfahren zum Betrieb eines Cache-Speichers |
US20070020639A1 (en) * | 2005-07-20 | 2007-01-25 | Affymetrix, Inc. | Isothermal locus specific amplification |
EP1752878B1 (en) * | 2005-08-11 | 2007-10-03 | Research In Motion Limited | System and method for obscuring hand-held device data traffic information |
US7543122B2 (en) | 2005-08-11 | 2009-06-02 | Research In Motion Limited | System and method for obscuring hand-held device data traffic information |
US8819348B2 (en) | 2006-07-12 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Address masking between users |
CN101123471B (zh) * | 2006-08-09 | 2011-03-16 | 中兴通讯股份有限公司 | 可变带宽通信寻址数据处理方法 |
CN104899159B (zh) * | 2014-03-06 | 2019-07-23 | 华为技术有限公司 | 高速缓冲存储器Cache地址的映射处理方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5314A (en) * | 1847-10-02 | pease | ||
US5379393A (en) * | 1992-05-14 | 1995-01-03 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Cache memory system for vector processing |
FR2723223B1 (fr) * | 1994-07-29 | 1996-08-30 | Sgs Thomson Microelectronics | Procede de brouillage numerique et application a un circuit programmable |
US5649143A (en) * | 1995-06-02 | 1997-07-15 | Sun Microsystems, Inc. | Apparatus and method for providing a cache indexing scheme less susceptible to cache collisions |
TW417048B (en) * | 1999-03-03 | 2001-01-01 | Via Tech Inc | Mapping method of distributed cache memory |
-
2001
- 2001-01-15 DE DE10101552A patent/DE10101552A1/de not_active Withdrawn
- 2001-12-20 EP EP01984723A patent/EP1352328A1/de not_active Ceased
- 2001-12-20 CN CNA018220215A patent/CN1486463A/zh active Pending
- 2001-12-20 JP JP2002556374A patent/JP2004530962A/ja not_active Withdrawn
- 2001-12-20 WO PCT/DE2001/004821 patent/WO2002056184A1/de not_active Application Discontinuation
-
2003
- 2003-07-15 US US10/619,979 patent/US20040015644A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012509039A (ja) * | 2008-11-17 | 2012-04-12 | イントリンシツク・イー・デー・ベー・ベー | 分散puf |
Also Published As
Publication number | Publication date |
---|---|
CN1486463A (zh) | 2004-03-31 |
EP1352328A1 (de) | 2003-10-15 |
WO2002056184A1 (de) | 2002-07-18 |
US20040015644A1 (en) | 2004-01-22 |
DE10101552A1 (de) | 2002-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7089398B2 (en) | Address translation using a page size tag | |
JP5628404B2 (ja) | キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ | |
US6230248B1 (en) | Method and apparatus for pre-validating regions in a virtual addressing scheme | |
CN105283855B (zh) | 一种寻址方法及装置 | |
JP6739148B2 (ja) | コンピューティングシステムにおける動的なメモリアドレス再マッピング | |
KR20080041707A (ko) | Tlb 록 표시자 | |
JPS60221851A (ja) | メモリ・アクセス・コントローラを具えるデータ処理装置 | |
JPH08235072A (ja) | セットアソシアティブ方式メモリの動的分画化方法及び装置 | |
CN110235101A (zh) | 可变转换后备缓冲器(tlb)编索引 | |
CN107533513B (zh) | 突发转换后备缓冲器 | |
JP2004530962A (ja) | キャッシュメモリおよびアドレス指定方法 | |
CN114860627A (zh) | 基于地址信息动态生成页表的方法 | |
US20070266199A1 (en) | Virtual Address Cache and Method for Sharing Data Stored in a Virtual Address Cache | |
JP4047281B2 (ja) | キャッシュメモリをメインメモリに同期させる方法 | |
US20140013054A1 (en) | Storing data structures in cache | |
EP0425771A2 (en) | An efficient mechanism for providing fine grain storage protection intervals | |
JP2008511882A (ja) | 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法 | |
CN114925002A (zh) | 电子装置、电子设备和地址转换方法 | |
CN104636268B (zh) | 一种可重构缓存产品与方法 | |
CN118708503A (zh) | 一种基于哈希映射的低条目数一致性目录及其使用方法 | |
US9274794B2 (en) | Processor and instruction processing method in processor | |
JPH02171944A (ja) | バッファ記憶装置 | |
CN118012347A (zh) | 一种访问内存的方法、系统、高速缓存系统和存储介质 | |
JP2797961B2 (ja) | 検索システム | |
JPH02114346A (ja) | Tlbエントリ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20040825 |