Gem5
The gem5 simulator is an open source discrete-event computer architecture simulator. It combines system-level and microarchitectural simulation, allowing users to analyze and test a multiplicity of hardware configurations, architectures, and software environments, without access or development of any hardware.