p88110: A Graphical Simulator for Computer Architecture and Organization Courses

Studying fundamental computer architecture and organization topics requires a significant amount of practical work if students are to acquire a good grasp of the theoretical concepts presented in classroom lectures or textbooks. The use of simulators is commonly adopted in order to reach this objective. However, as most of the available educational simulators focus on specific topics, different laboratory assignments usually require the use of different simulators. This paper presents a graphical and interactive reduced instruction set computer (RISC) processor and memory simulator that allows active learning of some theoretical concepts covered in computer architecture and organization courses. The simulator can be configured to present different processor views, from a simple serial one, without caches or pipelines, to a more realistic one with caches and superscalar execution. This approach allows a set of increasingly complex code-based laboratory assignments to be developed using a single simulator, covering topics ranging from assembly language programming to the analysis of the different kind of cache misses, pipeline hazards or branch prediction hits and misses produced during a program execution. The simulator has been included in a an automatic assessment system that helps the students to complete the assignments and helps teachers to evaluate the correctness of the students' solutions in different environments, such as high-enrollment courses or distance education. Since 1996, both the simulator and the automatic assessment system have been successfully used by more than 5000 students in computer architecture and organization courses at the Technical University of Madrid (UPM), Spain.

[1]  Juan Zamorano,et al.  A framework for lab work management in mass courses. Application to Low Level Input/Output without hardware , 2007, Comput. Educ..

[2]  M. Isabel García Clemente,et al.  Teaching computer architecture with a new superscalar processor emulator , 1999, ITiCSE '99.

[3]  C.A.P.S. Martins,et al.  DCMSIM: didactic cache memory simulator , 2003, 33rd Annual Frontiers in Education, 2003. FIE 2003..

[4]  Mohamed Khalifa,et al.  Web-based learning: effects on learning process and outcome , 2002, IEEE Trans. Educ..

[5]  Herbert Grünbacher,et al.  WinDLX and MIPSim pipeline simulators for teaching computer architecture , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[6]  Jovan Djordjevic,et al.  WASP: A Web-Based Simulator for an Educational Pipelined Processor , 2007 .

[7]  Francisco Rosales,et al.  Computer-Assisted Assembly Language Programming Laboratory , 2007 .

[8]  M. Isabel García Clemente,et al.  The em88110: emulating a superscalar processor , 1997, SGCS.

[9]  Michael Allen,et al.  Organization of the Motorola 88110 superscalar RISC microprocessor , 1992, IEEE Micro.

[10]  Tarek M. Taha,et al.  PSATSim: an interactive graphical superscalar architecture simulator for power and performance analysis , 2006, WCAE '06.

[11]  Marjan Gusev,et al.  Visual simulator for ILP dynamic OOO processor , 2004, WCAE '04.

[12]  Lauri Malmi,et al.  Experiences in automatic assessment on mass courses and issues for designing virtual courses , 2002, ITiCSE '02.

[13]  Francisco Rosales,et al.  Automatic management of laboratory work in mass computer engineering courses , 2005, IEEE Transactions on Education.

[14]  Pete Sanderson,et al.  MARS: an education-oriented MIPS assembly language simulator , 2006, SIGCSE '06.

[15]  George B. Adams,et al.  An interactive, visual simulator for the DLX pipeline , 1997, WCAE-3 '97.

[16]  Ana Pont,et al.  Spim-Cache: A Pedagogical Tool for Teaching Cache Memories Through Code-Based Exercises , 2007, IEEE Transactions on Education.

[17]  Aleksandar Milenkovic,et al.  Flexible web-based educational system for teaching computer architecture and organization , 2005, IEEE Transactions on Education.