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.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 objec- tives, 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