EASE: an extensible architecture simulation engine

Computer architecture and organization is a required course in any standard computer science and computer engineering degree program. Understanding the organization and the working principle of a computer is essential for learning and understanding the rest of the computer science courses. This requirement places great importance on teaching computer architecture and organization courses effectively. The course involves intricate details of the implementation and operation of the computer. Additionally, the subject is filled with a rich set of interesting theoretical concepts. Striking the right balance between teaching sufficient details of hardware components and their working principles, and important theoretical concepts useful for programming the computer is always a challenge. This paper proposes a simulator called EASE - an acronym for an Extensible Architecture Simulation Engine - specifically designed to teach the working principles as well as some important concepts. EASE has several unique characteristics that can be very useful for teaching purposes.