Implantation d
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

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


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Implantation dalgorithmes 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

Daniel MENARD - LASTI - ENSSAT


Implantation dalgorithmes sp cifi s en virgule flottante dans les processeurs programmables virgule fixe

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

    PARTIE 1

    Présentation du problème

    Daniel MENARD - LASTI - ENSSAT


    Du besoin au produit

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

    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

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

    PARTIE 2

    Architecture des PTS et génération de code

    Daniel MENARD - LASTI - ENSSAT


    Architecture des pts 1

    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

    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

    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

    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

    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

    PARTIE 3

    Une nouvelle approche ...

    Daniel MENARD - LASTI - ENSSAT


    Vers une nouvelle approche

    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

    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

    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

    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

    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

    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

    Partie 4

    Perspectives de travail

    Daniel MENARD - LASTI - ENSSAT


    Perspectives de travail

    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


  • Login