INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.

Slides:



Advertisements
Présentations similaires
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Advertisements

Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Exercice Notre programme s'exécute en 10 secondes sur A, qui dispose d'une horloge à 100Mhz. Nous tentons d'aider un concepteur à construire une machine.
Introduction Par définition, dans un modèle à cycle unique, le cycle d’horloge doit avoir la même durée pour toutes les instructions. Le cycle d’horloge.
Les ondes électromagnétiques
Exercices sur la conception de processeurs
Cours #6 Conception d’unités de contrôle
Cours #12: Exercices de révision
Cours #8 Flot de conception d’un circuit numérique
Informatique temps réel et réseaux de terrain – ELEC365
Équations différentielles.
Performance financière
Chapitre 8: La relativité restreinte
Électricité et magnétisme (203-NYB) Chapitre 4: Le potentiel électrique Le champ électrique donne la force agissant sur une unité de charge en un point.
Cours #4 Éléments à mémoire et circuits séquentiels synchrones de base
Quelques illustrations micro- économiques quant aux articles « Perte dinfluence pour les jumelles de Bretton Woods »
Rappel... Caractérisation des matrices inversibles: Matrices bloc.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.
Cours #7 Vérification d’un modèle VHDL
(notes, section 1.3) Implémentation des systèmes numériques Quatre considérations d’implémentation Taille du système Précision des calculs Aujourd’hui.
18/09/07 MATHÉMATIQUES FINANCIÈRES I Cinquième cours.
La théorie de la communication de C. Shannon
Modélisation VHDL d’un chemin des données
Représentation binaire de nombres entiers et opérations arithmétiques de base Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois La technique du pipeline.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse de machines.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Augmenter le débit d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Description d’un circuit.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
Le temps de propagation des signaux dans un circuit
Le plan d'étude d'une grandeur
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vue d’ensemble des systèmes.
Chemin critique et fréquence maximale d’horloge
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Le problème du déphasage.
INF8505: processeurs embarqués configurables
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Arithmétique entière.
1 1.Le Marketing Mix a été défini en 1960 par Jerome:  Mc Arthur  Mc Carthy  Mc Kinsey 2.Le Marketing interactif s’est installé dans les économies où:
Concepts intermédiaires de VHDL
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Synthèse et implémentation d’un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Simulation d’un modèle.
Rappel - analyse et synthèse de fonctions combinatoires
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
RAPPORTS ET TAUX C’est quoi la différence ? Comment les comparer ?
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse détaillée du.
L’étude du mouvement.
Électricité et magnétisme (203-NYB) Chapitre 2: Le champ électrique
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Chemin des données d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
Les différentes formes de financement
Journal mathématiques.
Introduction aux solutions Microsoft pour le HPC.
Implémentation de la division sur FPGA
VHDL pour circuits séquentiels
Introduction.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
Architecture et technologie des ordinateurs II
La gestion des stocks (Modèle de Wilson).
LE CADENCIER DES VENTES
Les bascules et registres
Multiplexeurs A.Lebrun.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
La technique du pipeline
Transcription de la présentation:

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits numériques Partie 2: latence, débit et surface - introduction

INF3500 : Conception et implémentation de systèmes numériques Quatre considérations pour l’implémentation d’un système numérique 2 Précision des calculs Puissance consommée Taille du système Taux de traitement

INF3500 : Conception et implémentation de systèmes numériques La « vitesse d’horloge », etc. La vitesse est le taux de déplacement d’un objet dans l’espace par unité de temps. Pour une horloge, il vaut mieux parler de sa fréquence ou de sa période d’horloge Pour un système numérique, il vaut mieux parler de sa latence de calcul et de son débit d’information (ou taux de traitement). Par « haute performance » d’un système numérique, on veut souvent dire haut débit, et parfois faible latence. 3

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la latence et le débit Considérons une cafétéria avec 5 stations. Supposons: – il y a un seul client dans la ligne à la fois – chaque client passe par chaque station – un client ne peut pas prendre son cabaret tant que le client précédent n’a pas fini à la caisse Période = 75 s; fréquence = 13.3 mHz Latence: 1 cycle = 75 secondes pour servir un client Débit: 1 client / 75 s × 3600 s/h = 48 clients par heure 4 cabarets 5 s boissons 10 s plat principal 30 s bar à salade 15 s caisse 15 s

INF3500 : Conception et implémentation de systèmes numériques Latence et débit La latence de calcul est le temps nécessaire pour produire un résultat. – C’est le temps entre le moment où une donnée est disponible et le moment où le résultat qui dépend de cette donnée est disponible à son tour. – Courte latence = meilleure performance. – La latence est souvent exprimée en nombre de cycles d’horloges. – Une fréquence d’horloge plus élevée correspond à une latence plus courte. – Le parallélisme n’a pas d’influence sur la latence. Le débit d’information est le nombre de résultats produits par unité de temps. – On suppose qu’une quantité suffisante de données est disponible à l’entrée du système pour le garder toujours actif. – Grand débit = meilleure performance. – Le débit est exprimé en nombre de résultats par seconde. – Une fréquence d’horloge plus élevée correspond à un débit plus grand. – Le parallélisme augmente le débit. cabarets 5 s boissons 10 s plat principal 30 s bar à salade 15 s caisse 15 s 5

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la latence et le débit Considérons une cafétéria avec 5 stations. Supposons: – Il peut y avoir un client à chaque station, mais pas plus d’un client par station. Période = 30 s; fréquence = 33.3 mHz Latence 5 cycles = 150 secondes pour servir un client Débit 1 client / 30 s × 3600 s/h = 120 clients par heure 6 cabarets 5 s boissons 10 s plat principal 30 s bar à salade 15 s caisse 15 s

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la latence Certains processeurs ne traitent pas un flux important de données, mais traitent plutôt des données ponctuelles à intervalles irréguliers. Dans un tel cas, il est plus important de réduire la latence que d’augmenter le débit. Exemples: – communications bidirectionnelles; – transactions financières en bourse; – recherche web. Stratégies: – Réduire le délai sur le chemin critique. – Réorganiser l’ordre dans lequel les calculs sont faits. – Paralléliser les calculs sur plusieurs unités. – Éviter le pipeline. Somme <= A + B + C + D; Somme <= (A + B) + (C + D); 7

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la surface Partage de ressources L’ordre des opérations peut minimiser la surface utilisée. Voir l’exemple: – Le chemin critique est le même pour les deux exemples, mais la version de droite n’utilise qu’un seul additionneur. Utiliser des stratégies contraires à celles utilisées pour maximiser le débit: éliminer le parallélisme. Au lieu d’instancier plusieurs composantes identiques pour effectuer des calculs, on en n’utilise qu’une seule et on en contrôle l’accès à l’aide d’une unité de contrôle qui implémente une machine à états. process (D1, D2, D3, S) begin if S = '1' then D5 <= D1 + D2; else D5 <= D1 + D3; end if; end process; process (D1, D2, D3, S) variable t : type-des-Di; begin if S = '1' then t := D3; else t := D2; end if; D5 <= D1 + t; end process; 8

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la surface Partage de ressources 9

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la surface Étaler les calculs dans le temps Les FPGA offrent une grande quantité de structures de calculs. On les exploite en général en utilisant le parallélisme au maximum pour maximiser le débit. Parfois par contre on doit minimiser la surface utilisée. On doit alors réutiliser une même structure de calcul pour plusieurs opérations. Exemple: calcul de la somme des différences absolues entre les éléments de deux vecteurs. 10

INF3500 : Conception et implémentation de systèmes numériques Impact de l’architecture sur la surface Étaler les calculs dans le temps Les FPGA offrent une grande quantité de structures de calculs. On les exploite en général en utilisant le parallélisme au maximum pour maximiser le débit. Parfois par contre on doit minimiser la surface utilisée. On doit alors réutiliser une même structure de calcul pour plusieurs opérations. Exemple: CORDIC 11

INF3500 : Conception et implémentation de systèmes numériques Favoriser la surface ou le débit lors de la synthèse Un synthétiseur peut parfois faire le meilleur choix indépendamment de la description du design. 12

INF3500 : Conception et implémentation de systèmes numériques En conclusion … En règle générale, plus une décision de design est prise à un haut niveau d’abstraction et plus son impact sera grand sur la latence, le débit et la surface d’un système. Une bonne décision prise à un bas niveau d’abstraction ne peut pas en général compenser pour une mauvaise décision prise à un haut niveau d’abstraction. 13 choix de l’algorithme choix de l’implémentation de l’algorithme (p. ex. parallèle ou sérielle) choix de la précision des calculs choix des circuits