6 research outputs found

    Introduction to Programming Using Mobile Phones and MIT App Inventor

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Improving data fusion in personal positioning systems for outdoor environments

    No full text
    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
    corecore