polito.it
Politecnico di Torino (logo)

Development of Methods for the reliability analysis of RISC-V architectures

Giorgio Cora

Development of Methods for the reliability analysis of RISC-V architectures.

Rel. Luca Sterpone. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2023

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview
Abstract:

Il concetto di esplorazione spaziale è diventato sempre più popolare negli ultimi anni e molte aziende che si avvicinano a questo settore richiedono componenti hardware e software affidabili ed efficienti, anche quando operano in ambienti ad alto rischio. SoC e FPGA rappresentano una soluzione interessante che consentono prestazioni estremamente elevate combinate ad un elevato grado di riconfiguarbilità e potenza computazionale. Un altro grande passo avanti è stato compiuto grazie all'introduzione dell'ISA RISC-V. Essendo basato su una licenza open-source e su un'architettura RISC, è diventato rapidamente un processore leader in migliaia di settori. Implementare un processore veloce ed efficiente su una FPGA non è sufficiente per soddisfare i requisiti degli ambienti spaziali: è necessario garantire affidabilità dove cui campi elettromagnetici e radiazioni possono influenzare il comportamento di ogni tipo di dispositivo elettronico, specialmente quelli programmabili. Particolare attenzione deve essere rivolta a SEE e SEU: queste anomalie possono influenzare la memoria di configurazione, modificando così l'architettura interna della FPGA e il suo routing, causando conseguenze catastrofiche che non possono essere tollerate in un ambiente critico per la sicurezza. Questo è il punto di partenza della mia tesi, in cui analizzo come si comporta una specifica e relativamente nuova architettura RISC-V, il NEORV32, quando la scheda FPGA PYNQ-Z2 su cui è mappata è soggetta a bit-flip nella memoria di configurazione; inoltre è stata condotta un'analisi su quale dei suoi moduli principali, ovvero l'unità aritmetica e logica (ALU), il registro dati(RF), l'unità bus e quella di controllo (CU), sia la più influenzata dalle anomalie e richieda più interventi per renderla affidabile. A questo scopo, è stata eseguita una campagna di fault injection esaustiva su specifiche porzioni della FPGA in cui è stato mappato il NEORV32. Per eseguire queste operazioni è stata sviluppata una nuova piattaforma basata sul linguaggio di programmazione Python. Questi esperimenti sono stati eseguiti utilizzando uno strumento specifico disponibile per la nostra scheda Pynq-Z2. Ogni volta che veniva iniettata un'anomalia, veniva eseguito un programma di benchmark specifico, adattato alla nostra architettura, e il suo output veniva catturato per essere analizzato. Veniva quindi effettuata la correzione dell'anomalia e, se tutto risultava corretto, il sistema proseguiva con l'iniezione successiva; altrimenti la scheda veniva riprogrammata. I risultati sono stati classificati in diverse categorie basandosi sul tipo di risposta fornita dal benchmark. Diversi report venivano generati in base al modulo in cui è stata eseguita l'iniezione, consentendo di comprendere quale parte della CPU è meno affidabile. Come previsto, l'ALU e la CU erano le più sensibili; tuttavia, le unità RF e Bus hanno portato a risultati interessanti, evidenziando che il loro impatto sull'intero sistema non può essere ignorato né sottovalutato. Con questa tesi è stata proposta una nuova metodologia per l'analisi dell'affidabilità dei moderni processori RISC-V, consentendo di analizzare in modo più approfondito la loro struttura interna. Più si conosce il comportamento dei singoli moduli, più adeguate possono essere le azioni intraprese per migliorarne l'affidabilità. Siccome esistono diverse soluzioni hardware e software utilizzabili per la mitigazione, possedere una metodologia per selezionare quale di queste sia più incisiva è fondamentale.

Relatori: Luca Sterpone
Anno accademico: 2023/24
Tipo di pubblicazione: Elettronica
Numero di pagine: 81
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-29 - INGEGNERIA ELETTRONICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/28538
Modifica (riservato agli operatori) Modifica (riservato agli operatori)