[en] The input/output (I/O) and its management is often part of the introductory courses to computer architecture. The very nature of this topic and its diversity makes that the practice sessions often take place either on simple specific devices, or on simulators, which hide the complexity of actual I/O devices and subtracts their appealing. However, it is possible to use today existing and simple devices such as Arduino boards to introduce students to a more realistic and attractive vision of the I/O, while maintaining the ease of use of the required environments and systems, which we consider a priority on first degree courses. In our case, since currently we base our teaching on computer architecture on the ARM architecture, we have opted for the Arduino Due model, which has a microcontroller, ATSAM3X8E, which implements the Cortex-M3 version of the ARM Architecture. To carry out the laboratory sessions on I/O we have slightly modified the Arduino IDE in order to accept assembly source code. In addition, we have designed and built a small board with an RGB led and a switch, which allowed us to propose simple but colourful exercises. The built-in I/O included in the ARM controller of the Arduino DUE board have proved enough to explore other important aspects of I/O as well as to offer more complex examples to incentivate the students on the subject. The first experience with this environment has been satisfactory for both teachers and students, who also have fostered interest in continuing to work with Arduino cards in their own projects.

[es] La problemática de la entrada/salida y su gestión suele formar parte de las asignaturas de introducción a la arquitectura de computadores. La propia naturaleza del tema y su diversidad hace que las sesiones prácticas se lleven a cabo habitualmente, bien sobre dispositivos específicos sencillos, bien sobre simuladores, lo que las aleja de los dispositivos reales y les resta vistosidad. Sin embargo, es posible utilizar dispositivos actuales y sencillos, como las tarjetas Arduino, para presentar a los estudiantes una visión más real y atractiva de la entrada/salida, manteniendo a su vez la sencillez de uso de los entornos y sistemas empleados, lo que consideramos prioritario en los primeros cursos de grado. En nuestro caso, puesto que actualmente fundamentamos nuestra docencia en arquitectura de computadores sobre la arquitectura ARM, hemos optado por el modelo Arduino Due, que dispone de un microcontrolador, el ATSAM3X8E, que implementa la versión Cortex-M3 de la arquitectura ARM. Para poder realizar las prácticas de entrada/salida hemos modificado ligeramente el entorno Arduino para poder incluir programas en ensamblador, y hemos diseñado una pequeña tarjeta con un led RGB y un pulsador, lo que ha permitido proponer ejercicios sencillos pero vistosos. Los propios dispositivos del microcontrolador de la Arduino DUE han bastado para abarcar otros aspectos de la entrada/salida y presentar ejemplos de mayor complejidad para incentivar a los estudiantes. La primera experiencia con este entorno ha sido satisfactoria tanto para el profesorado de las asignaturas en las que se ha utilizado como para los estudiantes, en quienes además se ha fomentado el interés en continuar trabajando con las tarjetas Arduino en sus propios proyectos.