Skip to content

This cache simulator is used in order to simulate substitutions in cache using replacement policies (FIFO and LRU) and write back into the cache (using the write-allocate policy).

License

Notifications You must be signed in to change notification settings

levindoneto/Cache-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cache Simulator

Author: Levindo Gabriel Taschetto Neto.

The cache simulator is used to simulate substitutions using replacement policies (FIFO and LRU) and write back with write allocate policy. The words (blocks/lines) have 1B.

Specification file content (input)

  • Block size (unsigned power 2)
  • Total of blocks (unsigned power 2)
  • Associativity (unsigned power 2), this is the number of blocks per set
  • Replacement policy("LRU" or "FIFO")

Output file

  • Number of access
  • Number of write hits
  • Number of write misses
  • Number of read hits
  • Number of read misses

Cache Structure

Cache is a struct that contains four information:

  • Data_Cache
  • Upper (used as a tag in the set)
  • T_Access (used in the LRU algorithm)
  • T_Load (used in the LRU algorithm)

These informations are modeled as a dynamic array 2-D which contains the following positions:

  • Set (number_of_lines / associativity)
  • Line (associativity)

To access a data in the cache, the only thing that is necessary is the set, which is the information about "index" in an address. To access the line is used an "upper" information. The upper is used only for comparisons to know which line (block) should be accessed because the set doesn't have any particular order.

How to use

make all
./243685 "Tests/Cache_Descriptions/cachedescriptionfile.format" "Tests/Trace_Files/inputfile.format" "outputfile.format"

License

MIT License. Click here for more information about this license.

About

This cache simulator is used in order to simulate substitutions in cache using replacement policies (FIFO and LRU) and write back into the cache (using the write-allocate policy).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published