RT Dissertation/Thesis T1 Técnicas híbridas de tolerancia a fallos en microprocesadores A1 Parra Avellaneda, Luis Isaías AB Este trabajo de tesis doctoral presenta tres nuevas técnicas dedetección de errores de control de flujo en microprocesadores. Estastécnicas han sido implementadas de manera no intrusiva en un módulohardware externo y se han combinado con técnicas de software paraobtener una elevada capacidad de detección de errores. Se ha utilizado lainterfaz de traza como medio de observación de la ejecución permitiendola detección de errores de flujo de una manera no intrusiva y sin penalizaciónen las prestaciones.La primera técnica propuesta ha sido denominada Predicción delContador de Programa. Está técnica está basada en el cálculo delcontador de programa a partir del código de instrucción actual y el valorprevio del contador de programa. Esta técnica es capaz de detectar elsubconjunto de errores que afectan al contador de programa de unamanera muy eficiente y con un coste en términos de recursos necesariospara su implementación muy reducido. Adicionalmente, es importantedestacar que la técnica Predicción del Contador de Programa escomplementaria a las otras dos técnicas descritas en la tesis, Monitorizaciónde firmas y Monitorización dual, y es necesaria para que éstas dos alcancenelevadas tasas de detección de errores de control de flujo.La técnica de Monitorización de Firmas realiza el cálculo de una firmaonline con el objetivo de verificar la ejecución de un bloque deinstrucciones. Cada bloque tiene asignada una firma de referencia que escalculada en tiempo de compilación. La firma de referencia y la calculadaen tiempo de ejecución son comparadas al final de la ejecución de cadabloque. Una de las mejoras que presenta esta técnica respecto a técnicasbasadas en el cálculo de firmas propuestas por otros autores es queconsigue reducir el tamaño de la memoria necesaria para almacenar lasfirmas de referencia utilizando una tabla denominada CFC-ST. Se hanpropuesto dos métodos de almacenamiento y acceso a la tabla CFC-ST, unmé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 latabla necesaria para almacenar las firmas de referencia.La tercera técnica desarrollada en esta tesis doctoral es la técnica deMonitorización Dual. Esta técnica monitoriza la ejecución utilizando dospuntos 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 laejecución en diferentes etapas del pipeline del microprocesador. Enconcreto se realiza la comparación del contador de programa y el códigode instrucción obtenidos en la etapa de búsqueda con el valor de los mismosjusto después de la etapa de ejecución.Uno de los puntos a destacar de las técnicas Monitorización Dual yPredicción del Contador de Programa es que pueden ser implementadassin necesidad de almacenar información de la ejecución calculada entiempo de compilación, reduciendo de una manera considerable elimpacto sobre el rendimiento del sistema, ya que el número de recursosnecesarios para su implementación es muy reducido.Se han realizado extensas campañas de inyección de fallos utilizando laherramienta AMUSE, lo cual nos ha permitido evaluar la efectividad de lastres técnicas propuestas en esta tesis doctoral. Los resultados obtenidos encada una de las campañas de inyección demuestran que las técnicaspresentadas en esta tesis detectan de una manera eficiente aquellos erroresque afectan al flujo de programa alcanzando una buena solución decompromiso entre la cobertura a fallos y el impacto sobre el rendimientodel sistema. YR 2017 FD 2017-07 LK https://hdl.handle.net/10016/26531 UL https://hdl.handle.net/10016/26531 LA spa DS e-Archivo RD 19 may. 2024