@article {10.3844/jcssp.2023.836.846, article_type = {journal}, title = {DDRSHARP: A Fast and Extensible DRAM Simulator}, author = {Gebrehiwot, Tesfamichael Gebregziabher and Andargie, Fitsum Assamnew and Ismail, Mohammed}, volume = {19}, number = {7}, year = {2023}, month = {Jun}, pages = {836-846}, doi = {10.3844/jcssp.2023.836.846}, url = {https://thescipub.com/abstract/jcssp.2023.836.846}, abstract = {Dynamic Random-Access Memory (DRAM) is a crucial component of modern computing systems and there exist a variety of DRAM standards. The variance in DRAM architecture calls for an extensible simulator to accommodate current and future DRAM standards. Moreover, as every researcher may not be an expert in programming, choosing an easier programming language to construct a simulator would reduce the efforts of a researcher who seeks to reuse/modify existing code to meet the demands of his/her work. Performance bottleneck is another challenge of cycle-accurate simulators; some researchers even suggest statistical modeling to achieve higher speed by sacrificing accuracy. We present DDRSHARP, a cycle-accurate DRAM simulator written entirely in C#. It provides simplified configuration and evaluation of different DRAM standards. It includes both the performance and power/energy models of DRAM. In order to improve the performance of DDRSHARP, we skipped infeasible iterations on queued requests, minimized the number of branch instructions, saved repetitive calculations for later use, and minimized code execution paths. Since our simulator is constructed using C# and the garbage collector consumes a big amount of CPU time, we worked on minimizing heap allocation of immutable objects such as strings. Our approach has enabled more than 1.8 times speedup in performance compared to contemporary simulators.}, journal = {Journal of Computer Science}, publisher = {Science Publications} }