EO_508

SIEMENS PUBBLIREDAZIONALE L’adozione di processori basati su core RISC-V è in forte crescita, unitamente all’intero ecosistema di supporto al loro sviluppo. È stato, ad esempio, recentemente definito un nuovo standard relativo al tracing del processore. Que- sta nuova tecnologia per il tracciamento dell’esecuzione dei sistemi RISC-V garantisce agli sviluppatori l’accesso a informazioni fondamentali, nonché capacità orientate alle analisi forensi, consentendo quindi una migliore gestione del rischio connesso alla realizzazione di sistemi embedded basati su core RISC-V. Le tecniche tradizionalmente utilizzate per studiare il com- portamento dei programmi all’interno di un sistema com- plesso comportano tipicamente dei temporanei arresti del core, per consentire il debugging del software (debugging di tipo “run-stop”). Ben diverso valore ha, invece, la capacità di effettuare un’osservazione non-intrusiva del comporta- mento del programma, mentre esso viene eseguito alla sua reale velocità. Il nuovo standard, denominato Efficient Trace for RISC-V, consente in effetti di disporre di un’ampia visibilità sull’e- secuzione del program- ma, a piena velocità. Le istruzioni eseguite dal processore vengono in- fatti catturate e com- presse direttamente sul chip e successivamente Tracing ad alta efficienza per i core RISC-V Peter Shields Product Manager Siemens EDA trasmesse a un software installato sul sistema host, che provvede a ricostruire a posteriori la sequenza di esecuzio- ne del programma (Figura 1). L’osservazione del compor- tamento a velocità reale rende possibili l’analisi di tipo fo- rense, la profilazione del codice, la ricerca di bug randomici, nonché la prevenzione dei cosiddetti Heisenbugs (quei bug che tendono a scomparire nel momento in cui li si analizza). Le maggiori capacità di tracing del processore, tuttavia, generano anche peculiari nuove sfide, al crescere delle di- mensioni e della complessità dei progetti SoC. La soluzione a tali sfide passa attraverso unmiglioramento delle funzio- nalità di codifica (compressione) e decodifica. Anziché ten- tare di catturare ogni singola istruzione possibile, strategia che porterebbe alla generazione di enormi volumi di dati, lo standard Efficient Trace for RISC-V impiega una tecnica di branch trace del processore, in base alla quale vengono catturati solo alcuni rami (o alcuni delta) del codice del pro- gramma. Il branch trace consente di ottenere elevatissimi livelli di compressione dei dati, rendendo possibile il tra- cing simultaneo di più core, oppure il salvataggio di una più estesa profondità storica all’interno del buffer di tracing, avente dimensioni prefissate. Lo standard Efficient Trace for RISC-V, rispetto alle prece- denti tecniche di codifica, richiede un numero significati- vamente inferiore di bit per istruzione (Figura 2), il che lo rende adatto sia agli odierni progetti di soluzioni SoC sia a quelli del prossimo futuro. Efficient Trace for RISC-V con- sente di effettuare il tracing di intervalli temporali più estesi, di farlo più velocemente e di tracciare più core simul- taneamente, il tutto utilizzando una larghezza di banda in- feriore. Infine, è opportuno sottolineare che questo nuovo standardnon solo è già completamente definito,ma ne sono già commercialmente disponibili diverse implementazioni. https://eda.sw.siemens.com/ Fig. 1 - Il tracing del processore consente di monitorare l’esecuzione del programma di una CPU in tempo reale Fig. 2 - Lo standard Efficient RISC-V Trace richiede il minimo numero di bit per istruzione ELETTRONICA OGGI 508 - MARZO 2023 21

RkJQdWJsaXNoZXIy Mzg4NjYz