JP2022014963A - キャッシュ制御装置及びキャッシュシステムの制御方法 - Google Patents
キャッシュ制御装置及びキャッシュシステムの制御方法 Download PDFInfo
- Publication number
- JP2022014963A JP2022014963A JP2020117507A JP2020117507A JP2022014963A JP 2022014963 A JP2022014963 A JP 2022014963A JP 2020117507 A JP2020117507 A JP 2020117507A JP 2020117507 A JP2020117507 A JP 2020117507A JP 2022014963 A JP2022014963 A JP 2022014963A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- tag
- store
- cache
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
11 L1キャッシュ
12 L2キャッシュ
21 タグ部
22 制御部
23 データ部
24 エラーチェック部
Claims (4)
- インデッグス毎にデータを格納するデータ部と、
前記インデックス毎に、タグと、前記データが訂正不可エラーを有するか否かを示すフラグと、を格納するタグ部と、
前記タグ部に読み出しアクセスしてタグヒットを検出する際に、前記フラグを参照することにより前記タグヒットに対応する前記データに訂正不可エラーが存在するか否かを判定する制御部と、
を含み、前記制御部は、前記タグ部への前記読み出しアクセスと前記タグ部への他のアクセス動作とを同時に実行するように処理をスケジューリングする、キャッシュ制御装置。 - 前記フラグは、前記データ部へのデータ登録単位分のデータ全体に対して1ビットのフラグである、請求項1記載のキャッシュ制御装置。
- 前記フラグは、前記データ部へのデータ登録単位分のデータに含まれる複数の部分の各々に対して1ビットのフラグである、請求項1記載のキャッシュ制御装置。
- インデッグス毎にデータを格納するデータ部と、前記インデックス毎に、タグと、前記データが訂正不可エラーを有するか否かを示すフラグと、を格納するタグ部とを有するキャッシュシステムにおいて、
前記タグ部に読み出しアクセスしてタグヒットを検出する際に、前記フラグを参照することにより前記タグヒットに対応する前記データに訂正不可エラーが存在するか否かを判定し、
前記タグ部への前記読み出しアクセスと前記タグ部への他のアクセス動作とを同時に実行するように処理をスケジューリングする、
各段階を含むキャッシュシステムの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020117507A JP2022014963A (ja) | 2020-07-08 | 2020-07-08 | キャッシュ制御装置及びキャッシュシステムの制御方法 |
US17/229,904 US11625331B2 (en) | 2020-07-08 | 2021-04-14 | Cache control apparatus and cache system control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020117507A JP2022014963A (ja) | 2020-07-08 | 2020-07-08 | キャッシュ制御装置及びキャッシュシステムの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022014963A true JP2022014963A (ja) | 2022-01-21 |
Family
ID=79172555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020117507A Pending JP2022014963A (ja) | 2020-07-08 | 2020-07-08 | キャッシュ制御装置及びキャッシュシステムの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11625331B2 (ja) |
JP (1) | JP2022014963A (ja) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7124236B1 (en) * | 2002-11-26 | 2006-10-17 | Advanced Micro Devices, Inc. | Microprocessor including bank-pipelined cache with asynchronous data blocks |
US7409600B2 (en) * | 2004-07-12 | 2008-08-05 | International Business Machines Corporation | Self-healing cache system |
US7430145B2 (en) * | 2005-09-16 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | System and method for avoiding attempts to access a defective portion of memory |
WO2007097019A1 (ja) * | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
JP2008065370A (ja) | 2006-09-04 | 2008-03-21 | Toshiba Corp | スーパースカラープロセッサ及びキャッシュメモリのアクセス方法 |
JP5010271B2 (ja) | 2006-12-27 | 2012-08-29 | 富士通株式会社 | エラー訂正コード生成方法、およびメモリ制御装置 |
US8856587B2 (en) * | 2011-05-31 | 2014-10-07 | Freescale Semiconductor, Inc. | Control of interrupt generation for cache |
JP5590022B2 (ja) | 2011-12-28 | 2014-09-17 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
JP5800058B2 (ja) | 2014-05-26 | 2015-10-28 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
US11068344B2 (en) * | 2019-03-13 | 2021-07-20 | Infineon Technologies Ag | Candidate bit detection and utilization for error correction |
-
2020
- 2020-07-08 JP JP2020117507A patent/JP2022014963A/ja active Pending
-
2021
- 2021-04-14 US US17/229,904 patent/US11625331B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220012179A1 (en) | 2022-01-13 |
US11625331B2 (en) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7043679B1 (en) | Piggybacking of ECC corrections behind loads | |
EP2159709B1 (en) | Error correcting method and computing element | |
US7840874B2 (en) | Speculative cache tag evaluation | |
US7263600B2 (en) | System and method for validating a memory file that links speculative results of load operations to register values | |
US7415597B2 (en) | Processor with dependence mechanism to predict whether a load is dependent on older store | |
US7089400B1 (en) | Data speculation based on stack-relative addressing patterns | |
US6971041B2 (en) | Cache entry error-correcting code (ECC) based at least on cache entry data and memory address | |
US9524162B2 (en) | Apparatus and method for memory copy at a processor | |
JP2007188379A (ja) | エラー訂正方法 | |
JP2002163105A (ja) | データ依存関係検出装置 | |
US20030182536A1 (en) | Instruction issuing device and instruction issuing method | |
US9348681B2 (en) | Apparatus and method for detecting fault of processor | |
US8683179B2 (en) | Method and apparatus for performing store-to-load forwarding from an interlocking store using an enhanced load/store unit in a processor | |
CN107688544B (zh) | 一种对寄存器别名表恢复方法 | |
JP5091481B2 (ja) | リプレイ機構を備えた読み出し/書き込みユニット | |
JP2023526788A (ja) | マスターシャドウ物理レジスタファイルを利用するための方法及びシステム | |
US6934903B1 (en) | Using microcode to correct ECC errors in a processor | |
US7478203B2 (en) | Technique for eliminating dead stores in a processor | |
US6715060B1 (en) | Utilizing a scoreboard with multi-bit registers to indicate a progression status of an instruction that retrieves data | |
US7321964B2 (en) | Store-to-load forwarding buffer using indexed lookup | |
US7937569B1 (en) | System and method for scheduling operations using speculative data operands | |
JP2011257966A (ja) | キャッシュ装置及び情報処理装置 | |
JP2022014963A (ja) | キャッシュ制御装置及びキャッシュシステムの制御方法 | |
WO2016043271A1 (ja) | プロセッサおよびプロセッサシステム | |
US11210101B2 (en) | Arithmetic processing device and control method implemented by arithmetic processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230407 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20241210 |