UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II
Scuola Politecnica e delle Scienze di Base
Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione
Dottorato di Ricerca in Information Technology and Electrical Engineering
TESI
Semplificazione Hardware dell’Aritmetica Floating-Point:
Tecniche di Segmentazione della Mantissa e Valutazione su
Sistemi Biomedici e Multimediali
Anno Accademico 2018/2019
2 Sommario
Nei dispositivi elettronici moderni che consumano poca energia, come i sensori per la medic-
ina o le schede che elaborano i dati sul campo, la gestione dell’energia è un problema quotid-
iano. Molti algoritmi utilizzano i calcoli con numeri decimali perché permettono di lavorare
con numeri molto grandi e molto piccoli senza perdere la scala. Tuttavia, le operazioni con
questi numeri sono molto impegnative per il hardware: occupano molto spazio sul circuito e
consumano rapidamente la batteria.
L’idea di base di questo lavoro è semplice: per molte applicazioni pratiche, come il fil-
traggio dei segnali del cervello o la regolazione della luminosità delle immagini, non è neces-
saria una precisione assoluta. Il segnale iniziale è già influenzato dal rumore dell’ambiente, o
il risultato finale deve essere valutato dall’occhio umano, che non nota piccole imprecisioni.
In questo studio analizziamo come sia possibile semplificare i moltiplicatori con numeri
decimali per renderli più piccoli, veloci ed efficienti. Ci concentriamo sulla parte più comp-
lessa del circuito, ovvero la moltiplicazione della parte decimale. Presentiamo due metodi:
il primo riduce e compensa la parte decimale in modo fisso, mentre il secondo permette di
modificare la precisione in base al lavoro da svolgere, attraverso il software.
I test condotti su tecnologie a 28 nanometri dimostrano che è possibile risparmiare quasi
la metà dell’energia elettrica e dello spazio sul silicio, mantenendo un livello di errore
trascurabile per gli scopi pratici esaminati. 3
4 Contents
Sommario 3
1 Introduzione e Obiettivi 11
1.1 Il problema del consumo energetico nei microchip . . . . . . . . . . . . . . 11
1.2 Fare a meno della precisione perfetta: l’Approximate Computing . . . . . . 11
1.3 Perché intervenire sul Floating-Point . . . . . . . . . . . . . . . . . . . . . 12
1.4 Struttura della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 L’Aritmetica Floating-Point Hardware 13
2.1 Come sono fatti i numeri in virgola mobile . . . . . . . . . . . . . . . . . . 13
2.2 I passaggi della moltiplicazione . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 L’ostacolo principale: la matrice dei prodotti parziali . . . . . . . . . . . . 14
3 Come Misurare l’Errore 15
3.1 Indicatori matematici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1 Mean Error Distance (MED) e NMED . . . . . . . . . . . . . . . . 15
3.1.2 Mean Relative Error Distance (MRED) . . . . . . . . . . . . . . . 15
3.1.3 Mean Error (ME) e il problema dell’offset . . . . . . . . . . . . . . 16
4 Moltiplicatori a Segmentazione Statica (SSM) 17
4.1 Funzionamento della segmentazione . . . . . . . . . . . . . . . . . . . . . 17
4.2 Modellazione e correzione dell’errore . . . . . . . . . . . . . . . . . . . . 17
5 Moltiplicatori Configurabili (CFPM) 19
5.1 Adattare la precisione al contesto . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Architettura a blocchi programmabili . . . . . . . . . . . . . . . . . . . . . 19
6 Sperimentazione e Casi di Studio 21
6.1 Prestazioni su tecnologia CMOS a 28 nm . . . . . . . . . . . . . . . . . . 21
6.2 Caso di studio 1: Elaborazione di immagini HDR . . . . . . . . . . . . . . 21
6.3 Caso di studio 2: Rilevazione di impulsi neurali (Spike Detection) . . . . . 22
5
6 CONTENTS
7 Conclusioni 23
Bibliografia 25
List of Figures 7
8 LIST OF FIGURES
List of Tables
6.1 Confronto delle prestazioni hardware ed errore a 28 nm (formato Singola
Precisione). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9
10 LIST OF TABLES
Chapter 1
Introduzione e Obiettivi
1.1 Il problema del consumo energetico nei microchip
Negli ultimi quindici anni la progettazione dei circuiti integrati è cambiata radicalmente. Per
lungo tempo è bastato rimpicciolire i transistor per ottenere chip più veloci e meno assetati
di energia. Oggi questo meccanismo si è quasi inceppato: rimpicciolire ulteriormente i
componenti porta a dispersioni di corrente imponenti e a problemi di smaltimento del calore.
Non possiamo più permetterci di far funzionare tutti i blocchi del chip alla massima potenza
contemporaneamente.
Questo limite si fa sentire in modo acuto nei dispositivi che vivono di batteria o che
recuperano energia dall’ambiente. Pensiamo alle protesi neurali o alle interfacce cervello-
macchina (Brain-Machine BMI): si tratta di sistemi che devono rimanere impiantati
Interfaces,
per anni, elaborare segnali elettrici complessi in tempo reale e, so
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Calcolo numerico
-
Calcolo numerico - Appunti completi + esercizi
-
Appunti del corso completo di Calcolo numerico
-
Calcolo differenziale