1 / 23

Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe

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

kelii
Download Presentation

Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. PARTIE 1 Présentation du problème Daniel MENARD - LASTI - ENSSAT

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. PARTIE 2 Architecture des PTS et génération de code Daniel MENARD - LASTI - ENSSAT

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. PARTIE 3 Une nouvelle approche ... Daniel MENARD - LASTI - ENSSAT

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. Partie 4 Perspectives de travail Daniel MENARD - LASTI - ENSSAT

  23. 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

More Related