2 research outputs found
Fault Detection Methodology for Caches in Reliable Modern VLSI Microprocessors based on Instruction Set Architectures
Η παρούσα διδακτορική διατριβή εισάγει μία χαμηλού κόστους μεθοδολογία για την
ανίχνευση ελαττωμάτων σε μικρές ενσωματωμένες κρυφές μνήμες που βασίζεται σε
σύγχρονες Αρχιτεκτονικές Συνόλου Εντολών και εφαρμόζεται με λογισμικό
αυτοδοκιμής. Η προτεινόμενη μεθοδολογία εφαρμόζει αλγορίθμους March μέσω
λογισμικού για την ανίχνευση τόσο ελαττωμάτων αποθήκευσης όταν εφαρμόζεται σε
κρυφές μνήμες που περιέχουν μόνο στατικές μνήμες τυχαίας προσπέλασης όπως για
παράδειγμα κρυφές μνήμες επιπέδου 1, όσο και ελαττωμάτων σύγκρισης όταν
εφαρμόζεται σε κρυφές μνήμες που περιέχουν εκτός από SRAM μνήμες και μνήμες
διευθυνσιοδοτούμενες μέσω περιεχομένου, όπως για παράδειγμα πλήρως
συσχετιστικές κρυφές μνήμες αναζήτησης μετάφρασης. Η προτεινόμενη μεθοδολογία
εφαρμόζεται και στις τρεις οργανώσεις συσχετιστικότητας κρυφής μνήμης και είναι
ανεξάρτητη της πολιτικής εγγραφής στο επόμενο επίπεδο της ιεραρχίας. Η
μεθοδολογία αξιοποιεί υπάρχοντες ισχυρούς μηχανισμούς των μοντέρνων ISAs
χρησιμοποιώντας ειδικές εντολές, που ονομάζονται στην παρούσα διατριβή Εντολές
Άμεσης Προσπέλασης Κρυφής Μνήμης (Direct Cache Access Instructions - DCAs).
Επιπλέον, η προτεινόμενη μεθοδολογία εκμεταλλεύεται τους έμφυτους μηχανισμούς
καταγραφής απόδοσης και τους μηχανισμούς χειρισμού παγίδων που είναι διαθέσιμοι
στους σύγχρονους επεξεργαστές. Επιπρόσθετα, η προτεινόμενη μεθοδολογία
εφαρμόζει την λειτουργία σύγκρισης των αλγορίθμων March όταν αυτή απαιτείται
(για μνήμες CAM) και επαληθεύει το αποτέλεσμα του ελέγχου μέσω σύντομης
απόκρισης, ώστε να είναι συμβατή με τις απαιτήσεις του ελέγχου εντός
λειτουργίας. Τέλος, στη διατριβή προτείνεται μία βελτιστοποίηση της
μεθοδολογίας για πολυνηματικές, πολυπύρηνες αρχιτεκτονικές.The present PhD thesis introduces a low cost fault detection methodology for
small embedded cache memories that is based on modern Instruction Set
Architectures and is applied with Software-Based Self-Test (SBST) routines. The
proposed methodology applies March tests through software to detect both
storage faults when applied to caches that comprise Static Random Access
Memories (SRAM) only, e.g. L1 caches, and comparison faults when applied to
caches that apart from SRAM memories comprise Content Addressable Memories
(CAM) too, e.g. Translation Lookaside Buffers (TLBs). The proposed methodology
can be applied to all three cache associativity organizations: direct mapped,
set-associative and full-associative and it does not depend on the cache write
policy. The methodology leverages existing powerful mechanisms of modern ISAs
by utilizing instructions that we call in this PhD thesis Direct Cache Access
(DCA) instructions. Moreover, our methodology exploits the native performance
monitoring hardware and the trap handling mechanisms which are available in
modern microprocessors. Moreover, the proposed Methodology applies March
compare operations when needed (for CAM arrays) and verifies the test result
with a compact response to comply with periodic on-line testing needs. Finally,
a multithreaded optimization of the proposed methodology that targets
multithreaded, multicore architectures is also presented in this thesi
Técnicas híbridas de tolerancia a fallos en microprocesadores
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