EP0770955A1
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Cache memory
Assignee: STMicroelectronics Ltd
•
Filing: 1996-10-23
•
Granted: —
•
Expires: 2016-10-23
Abstract
Abstract A cache memory comprises a CAM (510,512) and a data RAM (518), the CAM has an associate input (500,501) and a write input (900), the associate input being connected to selection circuitry (116) to select write data or associate data so that an associate operation can be effected in parallel with a write operation using the same data to control validation of the write input.
Inventors
- 👤 Peter Cumming
- 👤 Richard Grisenthwaite
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-11-06 02:03
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F12/00; G06F12/02; G06F12/08; G06F12/0802
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
78 words
A method of loading entries into a cache memory comprising a content addressable (CAM) portion having a plurality of lines coupled to a respective line of a data memory portion, which method is characterised by effecting in parallel an associate operation and a write operation with the same address data and using the result of the associate operation to control validation of the write operation and thereby prevent a single address having two entries in the same cache.
Claim 2
Dependent Claim
75 words
A method according to claim 1 including selectively controlling validity of one or more lines in the cache, invalidating one line of the cache, writing data including an address to said one line at the same time as an associate operation is carried out using the same address, and controlling re-validation of said one line in dependence on the result of the associate operation, thereby validating said line only if no cache hit is found.
Claim 3
Dependent Claim
37 words
A method according to claim 1 or claim 2 in which in response to a cache hit in one CAM line, data stored in that line of the data memory portion is modified by said write operation.
Claim 4
Independent Claim
55 words
A method according to any one of claims 1 to 3 in which an associate input of said CAM is connected to selection circuitry arranged to receive both write data and associate data, said method including operating said selection circuitry when a write operation is effected to select said write data for the associate input.
Claim 5
Independent Claim
117 words
A method of operating a branch target buffer, comprising a cache memory with a CAM portion having a plurality of lines coupled to a respective line of a data memory portion, to prevent a single branch instruction being stored as a multiple entry in said buffer, which method comprises selectively controlling validity of one or more lines in the cache, invalidating one line of the cache, writing data including an address to said one line at the same time as an associate operation is carried out using the same address, and controlling re-validation of said one line in dependence on the result of the associate operation, thereby validating said line only if no cache hit is found.
Claim 6
Dependent Claim
33 words
A method according to claim 5 in which in response to a cache hit in CAM line, data stored in that line of the data memory portion is modified by said write operation.
Claim 7
Dependent Claim
92 words
A method according to claim 6 in which said CAM is used to store address data relating to a plurality of branch instructions and said data memory portion is used to store for each branch instruction in the cache, a target address for the branch instruction together with a prediction of whether the branch will be taken when the instruction is executed by a processor, said write operation effecting a modification of at least one of said target address or prediction in the event of a cache hit during said write operation.
Claim 8
Dependent Claim
46 words
A method according to claim 7 in which said data memory portion also holds a prediction strength value in addition to said prediction, and said write operation is effective to modify said prediction strength value in the event of a cache hit during the write operation.
Claim 9
Dependent Claim
127 words
A cache memory comprising a content addressable memory (CAM) portion having a plurality of lines coupled to a respective line of a data memory portion, said CAM portion having an associate input for inputting data to effect an associate operation and a write input for inputting data to effect a write operation, said associate input being connected to input selection circuitry to select either write data or associate data for connection to said associate input whereby an associate operation may be effected in parallel with a write operation using common address data, said memory further comprising line validation circuitry operable in response to a result of an associate operation to prevent data related to said common address being held in more than one line of said cache.
Claim 10
Dependent Claim
65 words
A branch target buffer including a cache memory as claimed in claim 9, said CAM portion holding address data relating to a plurality of branch instructions and said data memory portion holding for each branch instruction in the cache, a target address for the branch instruction together with a prediction of whether the branch will be taken when the instruction is executed by a processor.
Claim 11
Dependent Claim
40 words
A branch target buffer according to claim 10 in which said cache includes data modification circuitry operable in response to a write operation to modify data stored for a branch instruction located by a cache hit during a write operation.
Claim 12
Dependent Claim
67 words
A branch target buffer according to claim 11 in which said data memory portion includes storage circuitry for storing a prediction strength value in addition to said prediction for any branch instruction held in said cache, and said storage circuitry is responsive to said data modification circuitry to modify said prediction strength value in response to a write operation relating to a branch instruction in said buffer.
Claim 13
Dependent Claim
53 words
A computer system comprising a memory for holding a plurality of instructions, a processor for executing a plurality of instructions sequentially and a branch target buffer according to any one of claims 10 to 12 for predicting a target address for a branch instruction fetched from said memory for execution by said processor.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.