chArm System Emulator
Budget: $30 – $250 USD
This is an implementation project for processor simulators in C.
You will first write a standalone cache controller simulator csim and test it against a number of
memory traces. Correctness will be determined by matching the cache events generated by your simulator
against a reference. You will augment psim with csim to produce pcsim.
You will first implement a skeletal cache simulator that implements the control actions (the three-state finite-state machine cache controller) of a write-back cache with LRU replacement and write-allocate policies, for arbitrary numbers of sets, associativity values, and block sizes.
• You can assume that each cache read/write only accesses one single cache line.
• you will then implement functions to give you a fully functional cache simulator that implements both the
control and the data portions of the cache.
• You will Integrate the memory hierarchy simulator into the PIPE simulator. This should involve no more than updating the data memory routines to the corresponding cache routines and handling stalls resulting from cache misses.
I HAVE THE GITHUB REPO AND YOU HAVE TO EDIT MY CODEBASE AND PUSH CHANGES. NO NEED TO WRITE YOUR OWN FILES, I ALREADY HAVE FILES YOU WILL SIMPLY BE EDITTING ON.
You will first write a standalone cache controller simulator csim and test it against a number of
memory traces. Correctness will be determined by matching the cache events generated by your simulator
against a reference. You will augment psim with csim to produce pcsim.
You will first implement a skeletal cache simulator that implements the control actions (the three-state finite-state machine cache controller) of a write-back cache with LRU replacement and write-allocate policies, for arbitrary numbers of sets, associativity values, and block sizes.
• You can assume that each cache read/write only accesses one single cache line.
• you will then implement functions to give you a fully functional cache simulator that implements both the
control and the data portions of the cache.
• You will Integrate the memory hierarchy simulator into the PIPE simulator. This should involve no more than updating the data memory routines to the corresponding cache routines and handling stalls resulting from cache misses.
I HAVE THE GITHUB REPO AND YOU HAVE TO EDIT MY CODEBASE AND PUSH CHANGES. NO NEED TO WRITE YOUR OWN FILES, I ALREADY HAVE FILES YOU WILL SIMPLY BE EDITTING ON.