240 likes | 485 Views
Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe. Daniel MENARD Groupe Signal/Architecture LASTI Juin 2001. Plan. 1. Présentation du problème Problématique Méthodes existantes - Nos objectifs
E N D
Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe Daniel MENARD Groupe Signal/Architecture LASTI Juin 2001 Daniel MENARD - LASTI - ENSSAT
Plan • 1. Présentation du problème • Problématique • Méthodes existantes - Nos objectifs • 2. Architecture des PTS et génération de code • Architecture des PTS et influence sur la précision • Génération de code et influence sur le codage des données et la précision • 3. Notre approche • Vue générale • Outil de détermination du RSBQ Daniel MENARD - LASTI - ENSSAT
PARTIE 1 Présentation du problème Daniel MENARD - LASTI - ENSSAT
Du besoin … au produit Critères de qualité: RSB... Simulation Passage en virgule Fixe Partitionnement Temps d’exécution Prix - Consommation « Time to Market » Flexibilité Besoin Spécifications Conception de l'algorithme TNS Simulation virgule flottante Partitionnement Implantation Matérielle Implantation Logicielle Daniel MENARD - LASTI - ENSSAT
Codage en virgule fixe • Codage des données en virgule fixe : • Objectifs du codage : • Respecter l’intégrité de l’algorithme en garantissant l’absence de débordement : • Maximiser la précision (Rapport Signal à Bruit de Quantification : RSBQ) S bm-1 bm-1 b1 b0 b-1 b-2 b-n+2 b-n+1 b-n b = m+ n+ 1 bits format: (b,m,n) Partie entière : m bits Partie fractionnaire : n bits Daniel MENARD - LASTI - ENSSAT
Problématique Précision Algorithme virgule flottante Architecture virgule fixe Méthodologie Intégrité de l’algorithme Conception logicielle (DSP) Optimiser le « mapping » de l’algorithme sur une architecture figée Conception matérielle (ASIC-FPGA) Optimiser la largeur des données Minimiser la surface du circuit Minimiser le temps d’exécution et la taille du code Maximiser la précision Daniel MENARD - LASTI - ENSSAT
Les différentes phases • Détermination du domaine de définition • méthode analytique : • garantie l’absence de débordements - estimation conservatrice • méthode statistique : • estimation plus précise mais dépendante du signal d’entrée • Codage et Optimisation des données • Calcul du RSBQ: • méthode statistique : • simulation en virgule fixe • méthode analytique : • détermination de l’expression analytique du bruit Daniel MENARD - LASTI - ENSSAT
Méthodes existantes - Nos objectifs • Méthodes existantes : • FRIDGE / CoCentric Fixed Point Designer (Synopsys) • Autoscaler for C (Université de SEOUL) : • Transformation du code C-ANSI virgule flottante en un code C-ANSI virgule fixe • Nos objectifs : • Implantation d’algorithmes spécifiés en virgule flottante au sein de processeurs programmables virgule fixe sous contrainte de RSBQ • prise en compte de l’architecture du processeur pour optimiser le codage des données • optimisation du temps d’exécution du code (minimisation des recadrages) sous contrainte du RSBQ minimal Daniel MENARD - LASTI - ENSSAT
PARTIE 2 Architecture des PTS et génération de code Daniel MENARD - LASTI - ENSSAT
Architecture des PTS (1) • Largeur naturelle du processeur (bnat) • DSP: largeur fixe : 16 ou 24 bits • possibilité de coder les données en double précision : be = 2.bnat • Cœur de DSP et ASIP : paramétrable • CD2450 (Clakspur) : 16 à 24 bits; EPICS (philips) : 12, 16, 18, 20, 24 bits; PalmCore (VLSI / DSP Group): 16, 20, 24 bits • Largeur des données au sein de l’unité de traitement : • double précision • bits de garde au niveau de l’accumulateur • précision réduite: • multiplieur réduit (bmult < 2.bnat) : Z893xx (Zilog): bmult = 24 bits bs be Unité de traitement. Daniel MENARD - LASTI - ENSSAT
Architecture des PTS (2) • instructions SIMD simple précision • TigerSharc (A.D.) : traitement de données sur 8, 16, 32 ou 64 bits • C64x (T.I.) : traitement de données sur 8, 16, 32, 40 ou 48 bits • Capacités de recadrage • registres à décalage en sortie du multiplieur • décalages spécialisés (C50 : -6, 0, 1, 4) • registre à décalage en barillet • Loi de quantification : • troncature • arrondi conventionnel (C54x) • arrondi convergent (DSP56000, ADSP21xx) Daniel MENARD - LASTI - ENSSAT
Expérimentations filtre FIR et IIR TigerSharc(S2): (16,32,32) TigerSharc(S2-d): (16,32,32,d) TigerSharc(S4): (16,16,16) TigerSharc(S4-d): (16,16,16,d) C54x (16,32,40) 1 C50x (16,32,32,d) DSP16x(16,32,36,d) C64x (d) C64x (d) C64x C64x C64x: (16,32,32) C64x (BG)2: (16,32,40) C64x (d): (16,32,32,d) C64x(S2)3: (16,16,16) C64x(S2d): (16,16,16,d) 1 Processeur (Nb bits en entrée du multiplieur, Nb bits en sortie du multiplieur, Nb bits en sortie de l ’additionneur, d: recadrage en sortie du multiplieur) 2 BG: présence de bits de garde 3 Processeur(Sx) instruction SIMD composée de x opérations en parallèle • Mesure du RSBQ pour différents processeurs Daniel MENARD - LASTI - ENSSAT
Génération de code • Partie frontale : transformation du code source en une représentation intermédiaire • Partie finale : génération d’un code cible à partir de la représentation intermédiaire : • Sélection d’instructions • Allocation et assignation de registres • Ordonnancement • Optimisations dépendantes de l’architecture Daniel MENARD - LASTI - ENSSAT
Influence de la génération de code • Sélection d’instructions: • le choix de l’instruction est lié à la taille des données • la largeur des données est fixée avant la sélection d ’instructions • Allocation et assignation de registres: • spilling : renvoi de données intermédiaires en mémoire • le RSBQ réel ne peut être connu qu’après génération de code • Ordonnancement: • le coût d’un recadrage est lié à la phase d’ordonnancement • la minimisation des recadrages est réalisée au cours de l’ordonnancement. Daniel MENARD - LASTI - ENSSAT
PARTIE 3 Une nouvelle approche ... Daniel MENARD - LASTI - ENSSAT
Vers une nouvelle approche Code C DSP Détermination domaine définition RSBQcontrainte Front End Détermination du codage Représentation Intermédiaire RSBQmesuré Sélection d’instructions Mesure RSBQ Modèle de l’architecture Allocations de registres Optimisation du codage Ordonnancement Code assembleur Daniel MENARD - LASTI - ENSSAT
Méthode de détermination du RSBQ (1) • Principe : modélisation du bruit en sortie de l’algorithme par une somme de sources de bruit filtrées ... Hj(z) bhj(n) xj(n) Hj(z) + y(n) bej(n) Hj(z) bej’(n) bg1(n) Hb1(z) bg1’(n) bgi(n) Hbi(z) bgi’(n) ... Daniel MENARD - LASTI - ENSSAT
Méthode de détermination du RSBQ (2) • Algorithmes cibles : • structures linéaires récursives et non récursives • structures non linéaires et non récursives : propagation des moments du bruit au sein du GFD. • Modèle de bruit des opérateurs : • Addition: • Multiplication: Daniel MENARD - LASTI - ENSSAT
Méthode de détermination du RSBQ (3) 2-j+1 2-j 2-j-1 2-n+2 2-n+1 2_n b1 b-1 bj-1 bj bj+1 bn-2 bn-1 bn Bits tronqués k bits Bits restants b-k bits p(b) 2-k p(b) i 2-n 2k-1 -2k-1 -1 0 1 2-k i 2-n 0 12 3 2k -1 • Modèle du bruit généré lors d’un changement de format • Troncature • Arrondi Daniel MENARD - LASTI - ENSSAT
Outil de détermination du RSBQ • Transformation du code en un GFD Signal • Génération du GFD • Recherche des informations nécessaires au GFD Signal • GFD Signal • Opérateurs arithmétiques classiques (, ) • Informations requises • format des données (bx, mx, nx, sx) • structure temporelle de l’algorithme • loi de quantification pour les recadrages Code C, VHDL, assembleur Génération GFD Signal Front End Représentation intermédiaire GFD Signal Méthode Analytique Back End RSBQ Daniel MENARD - LASTI - ENSSAT
Outil de détermination du RSBQ (back end) • Transformation T1 • Insertion des sources de bruit générées • Substitution du modèle de bruit des variables et des opérateurs GFD Signal T1 • Transformation T3 • Calcul de la réponse impulsionnelle des Hi(z) • Calcul du bruit global GFD Bruit Modèles de bruit T2 GFD Hi(z) • Transformation T2 • Détection et démantèlement des circuits du GFDbruit • Détermination des équations récurrentes par parcours des arbres • Élimination de certaines variables intermédiaires • Détermination de la fonction de transfert globale T3 Pbruit Daniel MENARD - LASTI - ENSSAT
Partie 4 Perspectives de travail Daniel MENARD - LASTI - ENSSAT
Perspectives de travail • Outil de détermination du RSBQ : • Développement des front-end • Extension de la méthode à la conception d’ASIC avec GAUT • Détermination et optimisation du codage • Choix d’un compilateur • Développement de l’outil • Applications : systèmes de radiocommunication 3G (UMTS) Daniel MENARD - LASTI - ENSSAT