2 research outputs found

    T茅cnicas h铆bridas de tolerancia a fallos en microprocesadores

    Get PDF
    Este trabajo de tesis doctoral presenta tres nuevas t茅cnicas de detecci贸n de errores de control de flujo en microprocesadores. Estas t茅cnicas han sido implementadas de manera no intrusiva en un m贸dulo hardware externo y se han combinado con t茅cnicas de software para obtener una elevada capacidad de detecci贸n de errores. Se ha utilizado la interfaz de traza como medio de observaci贸n de la ejecuci贸n permitiendo la detecci贸n de errores de flujo de una manera no intrusiva y sin penalizaci贸n en las prestaciones. La primera t茅cnica propuesta ha sido denominada Predicci贸n del Contador de Programa. Est谩 t茅cnica est谩 basada en el c谩lculo del contador de programa a partir del c贸digo de instrucci贸n actual y el valor previo del contador de programa. Esta t茅cnica es capaz de detectar el subconjunto de errores que afectan al contador de programa de una manera muy eficiente y con un coste en t茅rminos de recursos necesarios para su implementaci贸n muy reducido. Adicionalmente, es importante destacar que la t茅cnica Predicci贸n del Contador de Programa es complementaria a las otras dos t茅cnicas descritas en la tesis, Monitorizaci贸n de firmas y Monitorizaci贸n dual, y es necesaria para que 茅stas dos alcancen elevadas tasas de detecci贸n de errores de control de flujo. La t茅cnica de Monitorizaci贸n de Firmas realiza el c谩lculo de una firma online con el objetivo de verificar la ejecuci贸n de un bloque de instrucciones. Cada bloque tiene asignada una firma de referencia que es calculada en tiempo de compilaci贸n. La firma de referencia y la calculada en tiempo de ejecuci贸n son comparadas al final de la ejecuci贸n de cada bloque. Una de las mejoras que presenta esta t茅cnica respecto a t茅cnicas basadas en el c谩lculo de firmas propuestas por otros autores es que consigue reducir el tama帽o de la memoria necesaria para almacenar las firmas de referencia utilizando una tabla denominada CFC-ST. Se han propuesto dos m茅todos de almacenamiento y acceso a la tabla CFC-ST, un m茅todo est谩tico y un m茅todo din谩mico. En ambos casos el impacto sobre el rendimiento del sistema es reducido al conseguir reducir el tama帽o de la tabla necesaria para almacenar las firmas de referencia. La tercera t茅cnica desarrollada en esta tesis doctoral es la t茅cnica de Monitorizaci贸n Dual. Esta t茅cnica monitoriza la ejecuci贸n utilizando dos puntos de observaci贸n diferentes, la interfaz de traza y el bus de memoria. Gracias a estos dos puntos de observaci贸n se obtiene informaci贸n de la ejecuci贸n en diferentes etapas del pipeline del microprocesador. En concreto se realiza la comparaci贸n del contador de programa y el c贸digo de instrucci贸n obtenidos en la etapa de b煤squeda con el valor de los mismos justo despu茅s de la etapa de ejecuci贸n. Uno de los puntos a destacar de las t茅cnicas Monitorizaci贸n Dual y Predicci贸n del Contador de Programa es que pueden ser implementadas sin necesidad de almacenar informaci贸n de la ejecuci贸n calculada en tiempo de compilaci贸n, reduciendo de una manera considerable el impacto sobre el rendimiento del sistema, ya que el n煤mero de recursos necesarios para su implementaci贸n es muy reducido. Se han realizado extensas campa帽as de inyecci贸n de fallos utilizando la herramienta AMUSE, lo cual nos ha permitido evaluar la efectividad de las tres t茅cnicas propuestas en esta tesis doctoral. Los resultados obtenidos en cada una de las campa帽as de inyecci贸n demuestran que las t茅cnicas presentadas en esta tesis detectan de una manera eficiente aquellos errores que afectan al flujo de programa alcanzando una buena soluci贸n de compromiso entre la cobertura a fallos y el impacto sobre el rendimiento del sistema.Programa Oficial de Doctorado en Ingenier铆a El茅ctrica, Electr贸nica y Autom谩ticaPresidente: Mar铆a Luisa L贸pez Vallejo.- Secretario: Enrique San Mill谩n Heredia.- Vocal: Eduardo de la Torre Arnan

    Hardware Error Detection Using AN-Codes

    Get PDF
    Due to the continuously decreasing feature sizes and the increasing complexity of integrated circuits, commercial off-the-shelf (COTS) hardware is becoming less and less reliable. However, dedicated reliable hardware is expensive and usually slower than commodity hardware. Thus, economic pressure will most likely result in the usage of unreliable COTS hardware in safety-critical systems. The usage of unreliable, COTS hardware in safety-critical systems results in the need for software-implemented solutions for handling execution errors caused by this unreliable hardware. In this thesis, we provide techniques for detecting hardware errors that disturb the execution of a program. The detection provided facilitates handling of these errors, for example, by retry or graceful degradation. We realize the error detection by transforming unsafe programs that are not guaranteed to detect execution errors into safe programs that detect execution errors with a high probability. Therefore, we use arithmetic AN-, ANB-, ANBD-, and ANBDmem-codes. These codes detect errors that modify data during storage or transport and errors that disturb computations as well. Furthermore, the error detection provided is independent of the hardware used. We present the following novel encoding approaches: - Software Encoded Processing (SEP) that transforms an unsafe binary into a safe execution at runtime by applying an ANB-code, and - Compiler Encoded Processing (CEP) that applies encoding at compile time and provides different levels of safety by using different arithmetic codes. In contrast to existing encoding solutions, SEP and CEP allow to encode applications whose data and control flow is not completely predictable at compile time. For encoding, SEP and CEP use our set of encoded operations also presented in this thesis. To the best of our knowledge, we are the first ones that present the encoding of a complete RISC instruction set including boolean and bitwise logical operations, casts, unaligned loads and stores, shifts and arithmetic operations. Our evaluations show that encoding with SEP and CEP significantly reduces the amount of erroneous output caused by hardware errors. Furthermore, our evaluations show that, in contrast to replication-based approaches for detecting errors, arithmetic encoding facilitates the detection of permanent hardware errors. This increased reliability does not come for free. However, unexpectedly the runtime costs for the different arithmetic codes supported by CEP compared to redundancy increase only linearly, while the gained safety increases exponentially
    corecore