Skip to content

Commit

Permalink
Merge pull request #91 from FPGA-MAFIA/roman_branch
Browse files Browse the repository at this point in the history
fix d_cahce sheet
  • Loading branch information
roman012285 authored May 23, 2024
2 parents cce1fee + bea1aed commit 3cb0d80
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions docs/cache/cheat_sheet.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## A
- **Allocation** : The transaction(request) that enters the transaction queue (TQ)
- **Allocation** : The transaction(request) that enters the transaction queue (TQ). In our cache design allocate can also mean allocating a set (way allocation). Sometimes this allocation includes choosing a valid victim or allocating free way

## B

Expand All @@ -19,7 +19,7 @@
## G

## H
- **Hit** : Requested data is in the cache.
- **Hit** : Requested data is in the cache. In our design a Hit can have many meanings: it can be a CL hit which takes place on the pipe. It can be a "hit on existing tq entry" where a new request overlaps with tq that being processed.

## I

Expand All @@ -30,8 +30,8 @@
## L

## M
- **MB** : Merge buffer. Buffer that located inside the Transaction queue entry(TQ) used to merge CL of 128 width with shorter data like word, half word and bytes.
- **Modified** : Modified data is data that been changed inside the cache and has not been stored back into far memory(FM) causing the far memory(FM) to be not updated.
- **MB** : Merge buffer. Buffer that located inside the Transaction queue entry(TQ) used to merge CL of 128 width with shorter data like word, half word and bytes. The merge buffer merges the data from the fill (from the FM) and from the different writes (store) from the core.
- **Modified** : Modified data is data that been changed inside the cache and it's an indication that means this data eventually must be dirty evicted.
- **Miss(Read)** : Requested data is not in the cache
- **Miss(Write)** : Core refers to an address that its data not in the cache meaning that we have to fill it first.

Expand All @@ -44,13 +44,14 @@
## Q

## R
- **Re-issue** : Action taken when an instruction or a data request cannot be immediately completed due to a cache miss or some other delay, and must be attempted again later. In that situation the request temporary removed from pipeline for other requests.
- **Read modify write** : Process of modifying data by first reading it, update (modify) and write back. For example: If we want to update word in a cache line than we first read the cache line and merge it using merge buffer with the write data.
- **Re-issue** : Action taken when an instruction or a data request cannot be immediately completed due to a cache miss or some other delay, and must be attempted again later. In that situation We are "stalling" the request on the re-issue buffer until we finish handling the other requests that caused the backpressue. (Tq full, read miss).
- **Read modify write** : Process of modifying data by first reading it, update (modify) and write back. The read modified write takes place within the pipe for updating attributes in the tag array, and updating data in the cache array.

## S
- **Set** : A group of cache lines where data from any given block of main memory can be placed, according to the cache's set-associativity.
- **Set** : A group of cache lines where data from any given block of main memory can be placed, according to the cache's set-associativity. It's actually specific bit's within the address which are used to group the entire memory space into groups that can potentially be allocated next to each other (in the same "set").
## T
- **Tag** : A portion of the physical memory address used to indicate the memory chunk ID from the far memory(FM).
- **Tag** : A portion of the physical memory address used to indicate the memory chunk ID from the far memory(FM). To be more precise: the tag is the portion of the PA (physical address), but each cl has a unique set+tag. So the 'cl' Id is actually both. Different cl can have the same rag. Different cl can have the same set. If both set and tag are the same for 2 cl - it's actually the same cl.

- **Transaction queue (TQ)** : Mechanism used to manage and sequence the interactions (transactions) between the cache, the main memory and the core.
A buffer or list that holds pending memory operations (such as reads, writes) that need to be executed by the cache system. This queue helps organize the order in which memory transactions should be processed, optimizing the cache's performance and ensuring consistency and efficiency in data handling.

Expand Down

0 comments on commit 3cb0d80

Please sign in to comment.