Project(C program)
The main objective of this project is for you to learn about cache memories, their organization, and the impact of their design on program performance measured in terms of the memory subsystem. In this part, you will code a C program (cache.c), behaviorally simulating a single level cache. Your program will model a data cache with the following parameters
• S: the number of sets in the cache
• A: the associativity (or the number of entries in each set).
• B: the block size in bytes
• R: Replacement policy (R = 1 LRU, R=2 FIFO).
• W: Write policy (W = 1)
• -v Verbose
Your program will support the command line switches to create a cache of the specified parameters. For example,
loki> ./cache –S 512 –A 2 –B 32 –R 1 –W 1 -v
should create 8KB 2-way associative cache, with LRU replacement policy and print the cache (because of verbose switch).
Input: The input to your cache is a file containing memory trace of a C executable produced using the valgrind utility. For example, the following command should produce the trace for the program “ls”.
linux> valgrind --log-fd=1 --tool=lackey -v --trace-mem=yes ls -l
The memory trace file output by valgrind has the following format:
I 0400d7d4,8
M 08,4
L 04f6b868,8
S 7ff0005c8,8
…
Each line is of the form:
[space]operation[space]address,size
The operation I: is an instruction load, L: a data load, S: a data store, and M: a data modify (i.e., a data load followed by a data store). There is never a space before an “I” and there is always a space before each “M”, “L”, and “S”. The address field specifies a 64-bit hex memory address and the size field specifies the number of bytes accessed by the operation.
Output: The program should print the cache in whatever format you choose when it is given a command line as described above.
The program should output the number of hits, misses and the number of evictions when it is given a valgrind trace with a –t switch as follows. Below, [login to view URL] is the trace file obtained using valgrind on some executable example.
linux> ./cache -S 16 -A 1 -B 4 –t [login to view URL]
hits:4 misses:5 evictions:3
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on client side, using c++ under Windows environment. I used c++ to make many great projects, for example, I made the tools which can convert java files into c++ scripts, of course garbage collection included, this job is very similar to a compiler, and is very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
Hi there!
I read the project details, and I'm sure that i can deliver this project in a Day or two. I already worked with Cache Simulators in java and C#, and doing it in C++ is one my expertise. Please consider my request. Thanks
Best,
Maher
Hi!
Im an electrical and electronic masters student studying in UWE. I have the experience of coding in C/C++/Assembly/Arduino/PIC C/MikroC/MATLAB for more than three years. I also have the knowledge and experience of ELECTRICAL AND ELECTRONICS circuit analysis and design. I also have experience in embedded systems using microcontrollers like PIC, ATMEL, ARDUINO and most of the other types. I have made different kinds of devices varying from radios to drones and more. I am very keen to work on implementation projects
I also have studied Artificial intelligence. Im very thorough with subjects like Neural networks, Fuzzy systems, Genetic algorithms and Expert Systems.
I have done BCS (British computer society) diploma level. I have the knowledge on PHP/HTML5/mySQL for website development. I have completed many freelancer assignments successfully. If you are interested in hiring me, please send me a message.
I have made a lot of reports in the recent past. I have good experience in using Microsoft office softwares like Word, Excel and Powerpoint. I can write reports of any length without mistakes.
Thank you!
Hello,
I hope you doing very well!
I have gone through the description and would like to provide a quality solution using my 5+ years of professional experience in required skills. (.NET/ASP.NET - MVC, EF, SQL, C#).
Awaiting for your positive response so we can have final talk and start project immediately :)
I think I can do this project within about 3 days.
I've read the book CSAPP and done labs of that book. The description here seems like one version of the cache lab of this book(another version is to optimize matrix operation).
Hi there!
I'm a student in college with computer science as major, so i know what I'm talking about. I have done Exactly similar assignments for my lab in college in C++ language, so i could assure you that i can do this work for you with utmost quality and in minimum time. you can trust me completely for this assignment.
I know about all the Operating system and its Functionality(Including CACHE management) so i have in depth knowledge about these topics. I can also explain you about the working of this CACHE management program if you wish to know.
AND also the BID price is Debatable, We can discuss more about it on chat
NOTE:- . just contact me anytime and we can discuss more about this on chat. I'M AVAILABLE ALL THE TIME, JUST CONTACT ME AND I'LL BE THERE TO HELP YOU OUT.
Our team has years of experience in low level programing using C. With degrees in Electronic Engineering we have deep understanding of the underlying hardware layer. One member of the team actually is specialized in hardware optimization techniques using C for experimental simulation.