[en] Most of the learning objectives of introductory courses to Computer Architecture focus on those aspects that are related to the vision an assembly language programmer has of a computer. Generally, a particular computer architecture is used to define these objectives, which is usually selected with the double objective of being as simple as possible and to motivate the students. The ARM architecture is an ideal candidate as a vehicle architecture in teaching computer architecture. On the one hand, as it is based on RISC, it is relatively simple architecture. On the other, it is a widespread and current architecture (especially on mobile devices, smartphones and tablets), which motivates the students. To perform practices on ARM, it is convenient to have access either to a simulator or a development tool on an ARM machine. Since this matter is taught on the first years, the selected application should be simple to use and flexible enough. On the other hand, it ought to be free, as in freedom, to be able to adapt it if necessary, multiplatform and free, as in free beer, to facilitate that any student could install it on his own computer. After evaluating different alternatives, we finally opted for developing and releasing our own ARM simulator, ARMSim, and a GUI for this simulator, QtARMSim. The ARMSim simulator and its interface, QtARMSim, have been used during the first semester of 2014/15. The feedback received by students and laboratory teachers has been very positive.

[es] Muchos de los objetivos formativos de las asignaturas de introducción a la Arquitectura de Computadores se centran en aquellos aspectos que conforman la visión que un programador en lenguaje ensamblador tiene de un computador. Por regla general, para definir dichos objetivos se suele utilizar una arquitectura de computadores concreta, que normalmente se selecciona con el doble criterio de que sea lo más sencilla posible y, a la vez, motive al estudiantado. La arquitectura ARM es una candidata idónea como vehículo conductor en la docencia de arquitectura de computadores. Por un lado, al estar basada en la arquitectura RISC (Reduced Instruction Set Computer), es relativamente sencilla. Por otro, se trata de una arquitectura actual y ampliamente difundida (especialmente en dispositivos móviles, smartphones y tablets), lo que motiva al estudiantado. Para poder realizar prácticas sobre ARM es conveniente disponer de un simulador o de una herramienta de desarrollo sobre una máquina ARM. Puesto que dicha materia se explica en los primeros cursos, conviene que la aplicación seleccionada sea sencilla de utilizar y lo suficientemente flexible. Por otro lado, conviene que sea libre, para poder adaptarla en caso necesario, y también multiplataforma y gratuita, para facilitar que el estudiante que lo desee pueda instalarla en su propio equipo. Tras evaluar distintas opciones, finalmente optamos por desarrollar y liberar nuestro propio simulador de ARM, ARMSim, y una interfaz gráfica para dicho simulador, QtARMSim. El simulador ARMSim y su interfaz, QtARMSim, han sido utilizados durante el primer semestre del curso 2014/15. Las críticas recibidas, tanto por los estudiantes como por los profesores de laboratorio, han sido muy positivas.