89,685 research outputs found

    Multiple Translations for Disseminating Social Issues: Mag Design Experimentations

    No full text
    This contribution considers some didactic experimentations in the area of independent magazine design, realized by our master’s degree students in communication design within the studio course “Magazzino sociale.” The main goal was to invite students to analyse, to interpret, to re-elaborate (textually and visually) social issues concerning education, welfare, human rights, environment and health. The intention was dual: to build a critical point of view on how we produce content on social issues, but also to identify opportunities for changing the current order of things. Textuality, intertextuality, and translatability were the basic theoretical references for the development of the projects

    Synthesis time reconfigurable floating point unit for transprecision computing

    No full text
    This paper presents the design and the implementation of a fully combinatorial floating point unit (FPU). The FPU can be reconfigured at implementation time in order to use an arbitrary number of bits for the mantissa and exponent, and it can be synthesized in order to support all IEEE-754 compliant FP formats but also non-standard FP formats, exploring the trade-off between precision (mantissa field), dynamic range (exponent field) and physical resources. This work is inspired by the consideration that, in modern low power embedded systems, the execution of floating point operations represents a significant contribution to energy consumption (up to 50% of the energy consumed by the CPU). In this scenario, the adoption of multiple FP formats, with a tunable number of bits for the mantissa and the exponent fields, is very interesting for reducing energy consumption and, simplifying the circuit, area and propagation delay. Adopting multiple FP formats on the same platform complies with the concept of transprecision computing, since it allows fine-grained control of approximation while meeting the required constraints on the precision of output results. The designed FPU has been tested in order to evaluate the correctness of all supported operations, and implemented on a Kintex-7 FPGA. Experimental results are provided, illustrating the impact and the benefits derived by the use of non-standard precision formats at circuit level

    Quality aware approximate memory in RISC-V Linux Kernel

    No full text
    Improving power consumption and performance of error tolerant applications is the target of the design paradigm known as approximate computing. The memory subsystem is one of the units of a computational architecture where approximations can be introduced, leveraging on the resilience of an application to maintain an acceptable output quality even if its input data are subject to imprecision and errors.This paper proposes and implements the management, in the Linux kernel, of multiple approximate memory banks. Applications can then allocate approximate memory for their data structures selecting between different levels of approximation, depending on the requirements on output quality. This allows to design an architecture where approximate physical memory, instead of being composed of a unit intercepting a single point in the energy-quality tradeoff curve, can be split into multiple banks trading off levels of approximation and energy savings.We finally show a case study in the results, where we explore the allocation of different data structures of a signal processing application, depending on sensitivity to errors and desired output quality

    Approximate memory support for Linux early allocators in ARM architectures

    No full text
    Approximate computing is a new paradigm for energy efficient design, based on the idea of designing digital systems that trade off computational accuracy for energy consumption. The paradigm can be applied to different units (i.e. internal units of the CPU, floating point coprocessors, memories). Considering the memory subsystem, approximate memories are physical memories where circuit-level or architecture-level techniques are implemented in order to reduce energy at the expense of errors occurring in bit cells. Supporting approximate memories at operating system level is required for managing them efficiently and for allowing user level applications to use it directly, but its implementation is subject to specific requirements and constraints, sometimes architecture dependent. In this paper we describe the introduction of approximate memory support on ARM architectures, which are widely adopted in low power embedded systems. While Linux support for approximate memory has already been introduced for main allocators, porting it to ARM architectures required the introduction of its specific support in the Linux early allocators, that are a fundamental function of the Linux kernel startup phase, before instantiation of the main allocators

    AppropinQuo: a platform emulator for exploring the approximate memory design space

    No full text
    In this work we present AppropinQuo, a flexible and configurable emulator for embedded platforms with approximate memory. The emulator includes models of the effects of approximate memory circuits and architectures, that depend on the internal structure and organization of the cells. The ability to emulate a complete platform, including CPU, peripherals and hardware-software interactions, is particularly important since it allows to execute the application as on the real board, reproducing the effects of errors on output. In fact, output quality is related not only to error rate but it also depends on the application, implementation and its data representation.AppropinQuo allows to run actual applications and operating system as on the physical platform, to analyze the behavior and to expose the effects of specific approximate memory circuits and architectures on output quality. By exploring the design space regarding approximate memories, a complete characterization of the application is possible, as a step toward the determination of the trade-off between saved energy and output quality (energy quality tradeoff)
    corecore