1. Introduction
The ability to accurately, quickly and easily predict properties of computer systems is useful for computer architects, designers, software developers and users. Simulators provide a window into the inner workings of the computer that helps promote understanding and enable the accurate evaluation of ideas and theories. Because simulators are not subject to the same constraints as a real implementation, they are easier to create, modify and observe.