SWARM is a software model of the basic ARM processor in C++. Rather than a simple emulator, SWARM attempts to simulate the behaviour of the ARM's datapath. It also provides a model of the memory/cache/registers hierarchy for algorithm analysis.
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.