2 research outputs found

    Fault Detection Methodology for Caches in Reliable Modern VLSI Microprocessors based on Instruction Set Architectures

    Get PDF
    Η παρούσα διδακτορική διατριβή εισάγει μία χαμηλού κόστους μεθοδολογία για την ανίχνευση ελαττωμάτων σε μικρές ενσωματωμένες κρυφές μνήμες που βασίζεται σε σύγχρονες Αρχιτεκτονικές Συνόλου Εντολών και εφαρμόζεται με λογισμικό αυτοδοκιμής. Η προτεινόμενη μεθοδολογία εφαρμόζει αλγορίθμους 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

    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
    corecore