6 research outputs found
Introduction to Programming Using Mobile Phones and MIT App Inventor
At the beginning of each year, we ask our new
undergraduate students in Computer Engineering if they have
ever developed a computer program. Surprisingly, the most
frequent answer is no. The few students who have attended
a Computer Science training module usually have some basic
programming notions; however, most of our students coming
straight from high school have never programmed. This lack
of basic programming skills represents a major drawback when
taking programming-related courses. This is especially true for
the course on Computer Organization, taught during the first
semester of the first year, as one of its main objectives is to
explain the processor architecture, and therefore a great part of
it revolves around programming in assembly language.
To tackle this lack of basic programming skills, a workshop
on mobile application programming using MIT App Inventor
is offered to freshmen. This workshop is highly welcomed and
positively received by the students, and we believe that it has
contributed to improving their performance on courses related to
programming, and in particular, on the Computer Organization
course
Utilizando ARMSim y QtARMSim para la docencia de Arquitectura de Computadores
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 computador 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 tabletas), 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 software 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 se optó por desarrollar y liberar un simulador propio de ARM, ARMSim, y una interfaz
gráfica para dicho simulador, QtARMSim.
El motor de simulación, ARMSim, y su interfaz, QtARMSim, han sido utilizados durante el curso 2014–15. Las críticas
recibidas, tanto por los estudiantes como por los profesores de laboratorio, han sido muy positivas.Many of the training objectives of the Introduction to Computer Architecture modules focus on those aspects that conform the vision that an assembly language programmer has about a computer. As a rule, in order to define those objectives a concrete computer architecture is used following the following criteria: simplicity
and ability to motivate students.
ARM architecture is an ideal candidate for the didactics of Computer Architecture. On the one hand, being based on RISC architecture (Reduced Instruction Set Computer) it is rather simple. On the other, it is widely spread contemporary architecture (especially in mobile phones, smartphones and tablets), something that motivates students.
In order to carry out ARM practice it would be convenient to have a simulator or a development tool on an ARM machine. Given the fact that this module is taught during the first academic years, it would also be convenient that the application selected was easy to use and flexible enough. Besides, it would be a good idea that it used freeware in order to be adapted if necessary, besides being free of charge
and cross-platform-based so the students may install it in their own computers.
After assessing several options, an ARM simulator (ARMSim) as well as a graphic interface for the latter (QtARMSim) were finally developed.
The simulation engine, ARMSim, as well as its interface, QtARMSim, were used during the 2014/2015 academic year. The feedback received from both the students and lab lecturers have been remarkably positive
Performance–energy trade‑ofs of deep learning convolution algorithms on ARM processors
In this work, we assess the performance and energy efciency of high-performance
codes for the convolution operator, based on the direct, explicit/implicit lowering and Winograd algorithms used for deep learning (DL) inference on a series of
ARM-based processor architectures. Specifcally, we evaluate the NVIDIA Denver2
and Carmel processors, as well as the ARM Cortex-A57 and Cortex-A78AE CPUs
as part of a recent set of NVIDIA Jetson platforms. The performance–energy evaluation is carried out using the ResNet-50 v1.5 convolutional neural network (CNN)
on varying confgurations of convolution algorithms, number of threads/cores, and
operating frequencies on the tested processor cores. The results demonstrate that the
best throughput is obtained on all platforms with the Winograd convolution operator
running on all the cores at their highest frequency. However, if the goal is to reduce
the energy footprint, there is no rule of thumb for the optimal confguration.Funding for open access charge: CRUE-Universitat Jaume
Introducción a la arquitectura de computadores con QtARMSim y Arduino
Codi d’assignatura EI1004 / MT100
Improving data fusion in personal positioning systems for outdoor environments
A fault detection and correction methodology for personal positioning systems for outdoor environments is presented. We demonstrate its successful use in a system consisting of a global positioning system receiver and an inertial measurement unit. Localization is based on the dead reckoning algorithm. In order to obtain more reliable information from data fusion, which is carried out with Kalman filtering, the proposed methodology involves: (1) evaluation of the information provided by the sensors and (2) adaptability of the filtering. By carefully analyzing these factors we accomplish fault detection in different sources of information and in filtering. This allows us to apply corrections whenever the system requires it. Hence, our methodology consists of two stages. In the first stage, the evaluation is conducted. We apply the principles of causal diagnosis using possibility theory by defining states for normal behavior and for fault states. When a fault occurs, corrective measures are applied according to empirical knowledge. In the second stage, the consistency test of the filtering is performed. If this is inconsistent, principles of adaptive Kalman filtering are applied, which means the process and measurement noise matrices are tuned. Our results indicate a reasonable improvement of the trajectory obtained. At the same time, we can achieve consistent filtering, to obtain a more robust system and reliable information