-
Notifications
You must be signed in to change notification settings - Fork 0
License
cateyes99/CPU-Cache-Simulator
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
* Aim - This simulator 'cachesim' is used to simulate the Leve 1 cache inside CPU package. * The contents in the tar file include: - README file The README file is myself :). - Source code files: - cachesim.h Contains the macro definitions and definitions of the struct data types. CacheLine: The struct for the cache line Cache : The struct for the simulating cache, contain all the information & data for the cache SimResult: After the end of the simulation, all the information about the simulation will be put here - cachesim.c It's the source code program for the simulator. The function 'CacheSim( )' is the main body function in which everything happens. - makefile The file to compile the source code files and produce an executable file called as 'cachesim'. - ExpReport.txt contains the assumptions about the behaviour of the cache and the report about the experiments that I have done for the 2 issues of the cache's perfomance. - ExpMaterial.txt contains the raw experiment data. * How to run the simulator and the information it produces - This simulator's name is 'cachesim', which accepts the dinero format data from STANDARD INPUT STREAM (keyboard) and stops when meeting a 'EOF'. To run the simmulator, type the command in the command line in the way, like: gunzip -c traces/spec92/008.espresso.din.gz | cachesim 16 32 4 B A 5 200 the meaning of parameters for cachesim is: The cache's size : 16 Kilo Bytes The cache line's size : 32 Bytes The associativity of the cache is: 4-way The policy for Write Hit is : B - 'Write Back' The policy for Write Miss is : A - 'Write Allocate' The latency of cache access is : 5 nano-seconds The latency of memory access is : 200 nano-seconds - The information produced by the simulator 'cachesim' Take the above for example, it produces such information: # Cache size: 16 KB # Line size: 32 Bytes # Associativity: 4 # Number of entries in the cache: 128 # Write Hit Policy: WRITE BACK # Write Miss Policy: WRITE ALLOCATE # Cache latency: 5 ns # Memory latency: 200 ns Type Accesses Misses % Transfer Bytes Average time(ns) READ: 1402312 1126 0.080 26352 52704 8.762 WRITE: 330960 1655 0.500 41687 83374 30.217 TOTAL: 1733272 2781 0.160 68039 136078 12.859 The data of Acceses mean how many times the data access to the cache or memory. The data of Misses mean how many times the data are not in the cache. The data of '%' mean miss ratio which is get by (Misses / Accesses). The data of Transfer mean how many times the data are transferred from or to the memory. The data of Bytes mean how many bytes are transferred fromm or to the memory. Note, there is a RELATIONSHIP between the data of 'Transfer' and 'Bytes', which is the value of 'Bytes' is 2 times as much as its correspondant data of 'Transfer'. Average time is for every operation how much time it cost averagely, which is the time spent by all the operation divided by the number of 'Accesses'. There are 2 different operations considered by the simulator, that are READ and WRITE instructions. The total number is the sum of the 2 types.
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published