Introduction générale

Slides:



Advertisements
Présentations similaires
Flow de conception (4h)-demo
Advertisements

Les systèmes mono-puce
INTRODUCTION.
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
Fonctionnement interne d'un routeur (kurose p ) Eugen Dedu IUT Belfort-Montbéliard, R&T1, France avril 2009.
François Médevielle - UPSTI -. Introduction  Découvrir les éléments constitutifs d’un « ordinateur »  Comprendre l’organisation fonctionnelle d’une.
Les systèmes embarqués. Chap 1 : Généralités Définition:  Un système embarqué est un système électronique et informatique, qui est dédié à ou spécialisé.
Les mémoires de l’ordinateur
Module S41 Chapitre 11  Configuration de Windows XP Professionnel pour l'informatique mobile.
Thème 2 – L’électricité dans un circuit
La technologie des mémoires
Architecture des ordinateurs, Environnement Numérique de Travail
Architecture Informatique
Thème 3 – La résistance au mouvement des charges
Architecture des microordinateurs
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
LAN Médias cch_ccnp.
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
Automates Programmables Industriels Automates Programmables
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
Informatique et Sciences du Numérique
Plan du cours Introduction : création de circuits
Routage S 3 - Questionnaire N°1
Chapitre 12 Surveillance des ressources et des performances
Proxy ARP ccnp_cch ccnp_cch.
RIP - Configuration des Extensions.
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
Routage S 3 - Questionnaire N°1
Réseaux pré-diffusés programmables par l’utilisateur: FPGA
Synthèse et implémentation de circuits arithmétiques sur FPGA
Le temps de propagation des signaux dans un circuit
« Structure d'un API » Les automates programmables A T Training On Line.
Architecture matérielle et logicielle des systèmes embarqués de moyenne complexité Elle est composée :  d’une unité de traitement centrale,  de.
Protocole AODV pour Iot
Evaluation de l'UE TICE 1 TRANSMISSION DES DONNEES INFORMATIQUES SABATIER Fabienne 1ère année de sciences du langage/sciences de l’éducation.
Carte mère AD77 infinity : assemblage d'un ordinateur de bureau
Le moniteur Le clavier L'unité centrale (l'ordinateur proprement dit) Qui sont des périphériques DEFINITIONS DE BASE.
À l’intérieur de l’ordinateur
Architecture de machines Le microprocesseur Cours
Cours de Structure et Technologie des composants d’ordinateurs
Informatique générale
Architecture des ordinateurs
Communications séries synchrones
Communications séries synchrones
Technologies SoPC (System On Programmable Chip)
ARCHITECTURE DES ORDINATEURS
MPR - Le concept de réseau - 06
L’ordinateur: comment ça marche ? Ou comment avoir des idées justes sur le sujet... PCI SV I - STU I Alain Mille UFR d’Informatique UCBL.
1 Décodage d’adresses et mémoires Introduction Définition, Caractéristiques des mémoires Classification des mémoires La mémoire centrale Caractéristiques.
Chapitre 7 : Les mémoires
1 PROJET D’INFORMATIQUE les composants de l'ordinateur Gammoudi Rayéne 7 B 2.
Les réseaux logiques programmables
INTRODUCTION Architecture et Technologie des Ordinateurs
Support de cours: WSN Préparé par : Samir GHOUALI Année Universitaire : 2018/2019.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Introduction Objectifs du cours Évaluation Références Matière du cours: - Techniques modernes.
ATELIER DE MAINTENANCE ET DE REPARATION DES EQUIPEMENTS INFORMATIQUE SURTAB ACADEMIE – JANVIER 2019 Jean Rony Fultidor Durée : 4 heures.
Introduction aux Technologies de Transmission 5eme Année - IGE Communication Multimédia Mrs Rerbal & Djelti.
Architecture d’un ordinateur
Le bus de terrain AS-i Bus AS-i (Actuator Sensor interface ) Fichiers
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
CONFIGURATION D’UN ROUTEUR Introduction et planification du cours  Configuration d’un routeur  Administration d’un routeur  Protocoles RIP et IGRP 
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Sommaire Les réseaux de capteurs sans fils Les réseaux de capteurs sans fils Communication dans Contiki Communication dans Contiki Réalisation Réalisation.
Contenu Systèmes de test parallèles Multithreading Synchronisation
Dridi Lobna 1 Couche Réseau II Réseau : Gestion de l’accès.
Introduction aux Circuits Reconfigurables et FPGA.
Transcription de la présentation:

Introduction générale M1Info-ASE

Plan Présentation générale Notions de bases de micro-électronique Introduction à la technologie CMOS La « loi de Moore » et ses conséquences La consommation dans les circuits VLSI Différents types de technologies Les ASICs (Application Specific Integrated Circuits) Les circuits FPGA et la logique programmable Les systèmes mono-puce (System on a Chip) Définition et exemples Flot de conception d’un systèmes mono-puce Interconnexions pour System on a Chip Les standard de bus orientés System on a Chip Les réseau sur puce (Network on a Chip) M1Info-ASE

Systèmes embarqués critiques Quelques exemples : Le système doit être correct par conception Les erreurs/bugs ont un coût extrêmement élevé (ex : Ariane 5) Automatisation/Formalisation de la conception pour garantir un minimum d’erreur. Le coût et le temps de conception sont des critères secondaires. (compat elect, perf, consommation) M1Info-ASE

Système embarqués Multimédia Quelques exemples Systèmes difficiles à concevoir rapidement ! Marché de +1010 $, produits avec une durée de vie très courte. Faible coût de production, faible consommation, besoin élevées en performances. La notion de « Time to market » est fondamentale ! (compat elect, perf, consommation) M1Info-ASE

Le Time to market La durée de conception est un facteur crucial M1Info-ASE

Quelles compétences pour les S.E ? Architectures des machine et systèmes d’exploitation Applications & Algorithmes pour (ex : multimédia) Méthodologies et outils d’aide à la conception M1Info-ASE

Notions de micro-électronique : La logique CMOS M1Info-ASE

Qu’est ce que la logique CMOS ? La majorité des circuits utilisent la technologie CMOS Transistor MOS = interrupteur contrôlé électriquement On utilise deux types de transistors MOS : nMOS et pMOS C C=0 C=1 B A M1Info-ASE

Inverseur CMOS A Y 1 0: Introduction Slide 9 M1Info-ASE

Porte NAND en CMOS A B Y 1 M1Info-ASE VDD =1 VDD =1 GND =0 GND =0 1 GND =0 GND =0 VDD =1 VDD =1 GND =0 GND =0 M1Info-ASE

Porte NOR en CMOS A B Y 1 Slide 11 M1Info-ASE

Types de mémoire RAM statique (SRAM) RAM Dynamique (DRAM) Stockage à l’aide de bascules Valeur stockée tant que la mémoire est sous tension RAM Dynamique (DRAM) Stockage à l’aide d’un capacitance Il faut rafraichir la mémoire régulièrement car sinon la valeur stockée est perdue (décharge du condensateur) word / row select 1 1 bit bit word / row select C bit M1Info-ASE

SRAM versus DRAM SRAM = mémoire rapide de capacité faible à moyenne Temps d’accès entre 0.5-25ns access time (éventuellement plus faible quand la mémoire est intégrée dans le composant) Coût en silicium plus important (6 transistor/bit), Consommation électrique élevée DRAM = mémoire lente de grande capacité Temps d’accès entre 80-250ns Faible coût en surface (1 transistor/bit), Consommation électrique relativement faible M1Info-ASE

Organisation d’une DRAM Row Select Line Row Decoder Bit (data) Line Column Selector / Latch / IO /RAS Row Address Column Address /CAS DATA M1Info-ASE

Column Selector / Latch / IO Lecture en DRAM Row Decoder Column Selector / Latch / IO /RAS Row Address 011 Column Address 010 /CAS DATA M1Info-ASE

Dessin de masque Les transistors et leurs connexion sont définies au travers d’un dessin de masque. C’est une « vue de dessus » des couches formant le circuit sur le silicium. Coupe verticale Dessin de masque 0: Introduction Slide 16 M1Info-ASE

Dessin de masque Six niveaux dans ce dessin de masque En pratique le nombre de couches métal peut-être beaucoup plus élevé 0: Introduction Slide 17 M1Info-ASE

Photolithography circuit Wafer Lumière masque lentille Circuit pattern M1Info-ASE

Evolution de la taille des transistors Caractéristiques d’un transistor = fonction de sa taille Le pas minimum du masque détermine la taille du transistor (et donc sa vitesse, sa consommation, et sa consommation en énergie électrique. On utilise souvent le paramètre f = distance entre la source et le drain pour un transistor. Défini par la largeur minimale d’une trace de polysilicon Evolutions technologiques Les amélioration de procédés photo lithographique permettent de diminuer la valeur de f de 30% tous les 2-3 ans ! On dispose donc, de + en + de transistors pour une surface de silicium donnée (et des transistors de + en + rapides) Slide 19 M1Info-ASE

La “Loi de Moore” Projection de Gordon Moore (PDG Intel) Le nombre de transistors dans un circuit double tous les 18 mois M1Info-ASE

Une illustration de la loi de Moore Le processeur Intel 4004 a été conçu en 9 month par 2 ingénieurs Dessin de masque réalisé sur une grande feuille de papier Le P4 a nécessité 500 ingénieurs pendant 4 ans La feuille de papier aurait eu la taille d’un terrain de football … Pentium4, 2001, 42.000.000 trans 80486, 1990 1.200.000 trans. 4004, 1971 2300 trans. [Intel02] M1Info-ASE

Le « design productivity gap » La productivité des concepteurs n’évolue pas assez vite On ne sait plus quoi faire des transistors disponibles 10,000 1,000 100 10 1 0.1 0.01 0.001 Transistors per Chip (in millions) 100,000 1000 (K)Transistors par Productivité Homme-Mois. 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 Capacité des circuits integrés productivité Gap M1Info-ASE

La consommation électrique des circuits Pourquoi s’y intéresser ? Importante pour les dispositifs mobiles Minimiser la consommation = maximiser l’autonomie Permet de diminuer la taille de la batterie Pour fiabiliser les circuits Éviter les hotspot (points chauds) dans un circuit intégré Pour réduire le coût des produits Systèmes d’alimentation Part important du coût d’un système électronique Coût de conditionnement Boîtiers, radiateurs, ventilateurs… M1Info-ASE

Tendance technologiques M1Info-ASE

Consommation en logique CMOS Circuits intégrés conçus en technologie CMOS Ces transistors dissipent de l’énergie Tout le temps (puissance statique) Quand ils changent d’état (puissance dynamique) Inverseur en logique CMOS M1Info-ASE

Puissances dynamique et statique Pstat provient des courants de fuites Toujours un courant qui traverse les transistors (bloqués ou non) Pdyn provoquée par les commutations des transistors On charge/décharge la capacité Cload La valeur de la puissance dissipée dépend : De la fréquence de changement d’état (a) De la capacité équivalente du transistor (Cload) Des tensions d’alimentation (Vdd) et de seuil (Vth) De la technologie utilisée (k) et de la température (T) M1Info-ASE

Comment réduire la consommation Pdyn Réduite la taille des transistors La capacitance (~Cload) des transistors diminue avec leur taille Par contre la contribution de Pstat augmente quand f diminue Réduire le taux de commutation (a) des transistors Encodage/arithmétique spécifique (gray, etc.) Input gating : gèl des entrées d’un bloc quand il est inutilisé clock gating : gèl de l’horloge quand un bloc est inactif Limiter les glitch (régimes transitoires) Réduire la fréquence (fclk) À condition de respecte des contraintes de performance ! Réduire la tension Vdd ou augmenter Vth On a alors un compromis performance/consommation M1Info-ASE

Choix des tensions Vth et Vdd Réduction de Vdd Diminue la consommation dynamique (facteur Vdd2) Augmente le délai de commutation des transistors. Un circuit alimenté en 1,4V fonctionne 2x plus lentement qu’un circuit en 2,5V, mais consomme 3x moins Comment tirer profit de ce compromis ? M1Info-ASE

Choix des tensions Vth et Vdd Exemple : Pour réaliser des traitement vidéo en temps réel (25 images/s) on utilise processeur P qui doit être cadencé à 600MHz. Le processeur est alimenté en 2.5V et consomme 10W En utilisant une mise en œuvre parallèle sur deux processeurs P1 et P2, il est possible de réduire la cadence à 300Mhz, et d’utiliser une alimentation en 1.4V. On consomme alors 2x(10/3)=6.6 W, soit un gain de 33% grâce à la réduction de Vdd ! Remarque L’approche atteint vite ses limites, car on ne peut descendre Vdd au dessous d’un certain seuil Remarque : dans le même temps on a augmenté le # transistors du circuit, et donc sa puissance statique ! M1Info-ASE

Choix des tensions Vth et Vdd Réduction de Vth (tension de seuil) Réduit le délai de commutation (seuil + faible) Augmente la puissance statique (exponentielle) Doit être fait conjointement avec Vdd M1Info-ASE

Tendances technologiques Puissance statique source : ITRS Puissance dynamique À l’avenir, faible consommation = peu de transistors, mais très bien utilisés… M1Info-ASE

Les technologies de circuits : ASIC et FPGA M1Info-ASE

Type de circuits VLSI = Very Large Scale Integrated Circuit ASIC = Application Specific Integrated Circuit Circuits VLSI CMOS Semi-Custom ASIC Full-Custom ASIC Standard-Cell Gate Arrays Logique programmable (FPGA) M1Info-ASE

Circuits Full Custom Le terme « full-custom » signifie que la conception du masque s’est faite (partiellement) manuellement Très coûteux en temps de conception Permet d’optimiser au maximum la surface et les performances du circuits. Approche valable seulement pour des gros volumes de productions. Micro processeurs Intel, GPU, etc. Assez peu utilisé dans l’embarqué Full Custom: * Designers can control the shape of all mask patterns. * Designers can specify the design up to the level of individual transistors. Mask layout of the Intel 486 microprocessor chip M1Info-ASE 34

Circuits Standard Cells On utilise des cellules (cell) issues d’une librairie Cellule = fonction logique +/- simple au masque prédéfini Toutes les cellules ont une hauteur fixe Elles sont organisées en ligne par un outil de placement Elles sont interconnectées par un outil de routage standard cell NAND2 Représentation du circuit au niveau portes logiques M1Info-ASE

Circuits Standard Cells Le routage se fait par des couches de métal On peut ainsi passer “par dessus” les cellules Il faut laisser un espace pour entre les lignes de cellules pour permettre de relier les cellules au couches métal M1Info-ASE

Aspects économiques Coûts NRE (Non-recurring Engineering) Conception du masque, mise en place de la chaîne de production du circuit, validation des 1er prototypes, etc. Coût constant ne dépendant pas du volume de production Coût unitaire (Unit Cost) Coût de production d’une unité une fois la production démarrée Total Cost Custom Std. Cell Gate Array FPGA Volume M1Info-ASE

Source: DAC’01 panel on embedded programmable logic Aspects économiques Coût de plus en plus élevés en conception et production En 2001, moins de 10% des design ASIC avaient des volumes justifiant l’utilisation d’un technologie 0.13u Technologie 0.8 0.35 0.18 0.13 NRE: $40k $100k $350k $1,000k Delay 42 days 49 days 56 days 76 days Marché $3.5B $6B $12B $18B Source: DAC’01 panel on embedded programmable logic M1Info-ASE

Logique programmable : les FPGA Adapté de Yong Wang Que contient un FPGA ? Des blocs logiques qui implémentent des fonctions combinatoires et/ou séquentielles. Un réseau d’interconnexion programmable pour relier les blocs logiques entre eux. Des blocs d’entrées/sorties programmables pour relier le circuit à l’extérieur. E/S Bloc logique matrices d’interconnexion M1Info-ASE

Bloc logique d’un FPGA Contient une LUT pour réaliser des fonctions logiques Look Up Table = mémoire tabulée stockant la fonction à réaliser Contient un Registre pour réaliser la logique séquentielle Souvent un peu de logique supplémentaire Ex : mécanismes pour le calcul de retenue (additionneurs) La tendance est d’avoir des blocs logiques de + en + gros Select Out A B C D LUT D Q Clock M1Info-ASE

Look-Up Tables (LUT) Yong Wang Une Look-up table à N-entrée peut réaliser n’importe quelle fonction booléenne à N entrées. On la remplit à partir de la table de vérité de la fonction LUT A B C D Z Réalisation à base de LUT A B Z C D Réalisation à base de portes Table de vérité M1Info-ASE

Réalisation matérielle d’une LUT Yong Wang Exemple: LUT à 3 entrées Utilise des multiplexeurs pour sélectionner le résultat Le contenu de la LUT est stocké dans la mémoire de configuration du FPGA NB : les tailles des LUT des FPGA récents varient entre 4 et 6 entrées X1 X2 0/1 0/1 0/1 0/1 F 0/1 0/1 0/1 Mémoire de configuration 0/1 X3 M1Info-ASE

Configuration d’un FPGA Yong Wang Quand configure-t-on le FGPA ? À chaque mise sous tension du circuit (config. stockée en RAM) Cela peut prendre jusqu’à plusieurs secondes ! Il faut donc la stocker dans des mémoire non volatiles ROM, FLASH, etc. À quoi sert la configuration d’un FPGA : Définit le contenu des LUT et le mode de fonctionnement des blocs logiques (par ex, utilisation ou non du registre). Définit la fonction de routage des matrices d’interconnexions Définit le mode de fonctionnement des blocs d’E/S (In/out, etc.) Remarques Tailles des configurations varient de quelque ko à plusieurs Mo M1Info-ASE

Un FPGA en 2008 Jusqu’à 300 000 bloc logiques dans un FPGA Bloc logique = Look-up-Table + flip-flop Blocs Mémoires configurables 18kbits Memory (4096x4,2048x8, etc.), jusqu’à 1,5Mo Opérateurs multiplieurs embarqués Jusqu’à 512 multiplieur 18x18 intégrés dans un puce Processeur embarqués Jusqu’à 4 PowerPC “en dur” sur le circuit Soft-Cores : CPU construits à partir de blocs logiques Liaison série haut débit (jqu’à 10 GBits) Circuit MAC Ethernet intégré à la puce Reconfiguration dynamique partielle Possibilité de reconfigurer une partie du circuit “à chaud” M1Info-ASE

Tendances – FPGA vs Standard Cell Surcoût matériel de la (re)configurabilité Seulement entre 3% et 5% de transistors ‘utiles’ Consommation électrique des FPGA ~3 et 10 fois plus importante en fonctionnement ~100 fois plus importante en mode veille Performances (fclk) des FPGA ~3 et 10 fois plus faibles que pour un ASIC Mais quel est donc l’intérêt des FPGA ? Le Time to market est bcp plus court que pour les ASICs Le prix en petit à moyen volume (jusqu’à 104 unités) M1Info-ASE

Tendances – FPGA vs Standard Cell Le coût NRE des circuits standard cell croît rapidement Les circuits FPGA s’améliorent très rapidement densité, rapidité, coût, consommation électrique FPGA (future) Std. Cell (future) FPGA (présent) Coût total Std. Cell (présent) Point de rupture Volume M1Info-ASE

Les systèmes mono-puces (system on a chip) M1Info-ASE

Notion de “System on a Chip” (SoC) System On A chip = système sur puce Contient : mémoire, CPU, matériel dédié, etc. Circuit STM8000 (STMicro) Décodeur/encodeur multistandards pour lecteur/enregistreur DVD Processeurs, contrôleur Vidéo, mémoires, CAN, CNA, etc. Design mixte = partie numérique + partie analogique Réseau d’interconnexion complexe M1Info-ASE

Flot de conception M1Info-ASE spécification système (fonctionnelles) Partitionnement logiciel/matériel 10 klignes de C/C++ 50Klignes C/C++ 500Kligne pour la description du circuit Spécification du hardware Co-simulation spécifications logicielles Simulation bas niveau Génération du hardware Compilation sur les CPUs du SoC Placement & routage Vérification &Validation Chargement, exécution & deboguage Production M1Info-ASE

Spécification fonctionnelles Encodage MPEG2 en HD à 50 images/secondes zigzag scan Q IDCT DCT Motion Estimation + IQ VLC - Flux d’images Flux compressé 7% 44% 2% 3% 8% Informations de profilage DCT : transformée en cosinus IDCT : DCT inverse Q : Quantification IQ : Quantification inverse VLC : Variable Length Coding M1Info-ASE

Spécification du hardware Exemple : coprocesseur dédié Vidéo input Timer UART SRAM2 DRAM IDE Système d’interconnexion SRAM1 CPU2 Cache CPU1 CPU3 (VLIW) CPU4 M1Info-ASE

Spécifications logicielles Used to connect blocs that perform data-flow processing Use hardware FIFO for buffered communications Synchronization by data (very simple) Example : MPEG Hardware IP CPU DSP FIFO Q DCT IQ FIFO FIFO Compressed stream CGRU VLC Tampon[] DSP Error est. zigzag scan … void task_idct() { } Tâche IDCT Motion Estimation M1Info-ASE

Spécification logicielles Encodage MPEG2 en HD à 50 images/secondes DCT RGB toYUV zigzag scan - Q 3% Flux d’images IQ 2% VLC (huffman) 8% Informations de profilage IDCT 7% Flux compressé + DCT : transformée en cosinus IDCT : DCT inverse Q : Quantification IQ : Quantification inverse VLC : Variable Length Coding 44% Motion Estimation M1Info-ASE

Ou va l’effort de conception ? Source : IBS 2002 M1Info-ASE

Exemple d’outil : SOPCBuilder Permet de concevoir rapidement un SoC pour FPGA Famille de processeurs NIOS, RISC 32 bits qui peut être dérivé en plusieurs configurations Ensemble de périphériques standards Timer, UART, DMA, etc. avec pilotes logiciels « Wizard » pour l’intégration d’accélérateurs matériels Génère un squelette d’interface matérielle et de pilote Systèmes d’exploitation temps-réel disponibles uCLinux, uC-OSII, etc. Support pour multiprocesseurs, etc. M1Info-ASE

Exemple d’outil : SOPCBuilder M1Info-ASE

Les interconnexions dans les systèmes mono-puce M1Info-ASE

Rappel : vue Structurelle d’un SoC Timer UART IDE 2 DRAM CPU3 CPU4 Bus Video input Pont Système d’interconnexion 3 CPU1 Cache SRAM Co-processeur dédié Cache CPU2 M1Info-ASE

Rappel : Interconnexion de type bus Système d’interconnexion à temps partagé Relier le processeur à la mémoire + périphériques Exemple : le bus ISA (circa 1980) Utilisé sur le 8086 (cf ARC2) On retrouve la même chose dans un SoC Adresses UC Vidéo Audio Mémoire Disquette Données M1Info-ASE

Notion de composants maîtres/esclaves Un maître (busmaster) peut initier des transactions Ex : Lancer une écriture/lecture vers la mémoire ou un périph. Exemple : processeur, périph. DMA (Direct Memory Access) Un esclave (slave) peut recevoir des transactions Répondre à une requête envoyée par un composant busmaster Exemple : composant mémoire, périphérique sans DMA. Il faut donc des mécanismes d’arbitrages matériels Car on peut avoir plusieurs busmaster capables d’accéder à certains composant esclaves (ex mémoire partagée) Mécanisme couteux en surface, diminue les performances M1Info-ASE

Les bus pour systèmes sur puce Caractéristiques spécifiques aux SoC Presque toutes les transactions sont interne au circuit Peu de contraintes extérieures (pb de connecteurs, etc.) Contiennent un nombre parfois élevé de busmaster Besoins en bande passante et en latence Les principaux standards industriels La norme AMBA (essentiellement autour des processeurs ARM) La norme CoreConnect définie par IBM pour ses PowerPC La norme STBus, définie par STMicro (usage +/- interne) La norme Avalon utilisée par Altera (SOPCBuilder) Remarques Normes très complexes (400 pages de doc pour CoreConnect) Compromis complexité/performances possibles M1Info-ASE

Avantage/Inconvénients des bus À chaque élément supplémentaire, on ajoute des parasites au niveau électriques La maitrise les délais de propagation de + en + difficile Le délai d’arbitrage augmente avec le # de busmaster Bande passante partagée entre les unités connectées  La latence d’accès est quasi nulle après arbitrage.  Le coût “silicium” d’un bus est très faible.  Les protocoles sont relativement proches les uns des autres.  Les concept sont simples et compris par les concepteurs M1Info-ASE

Autres approches : interconnexion crossbar Utilisé dans les routeurs réseau haute performances, et dans les super-ordinateurs Connexion directe programmable par transistor Ne passe pas à l’échelle, O(N) en délais, O(N2) pour le silicium I S Master I I Slave I Arbitre S Source : Phillips M1Info-ASE

Les interconnexions :besoins Passage à l’échelle Pour la bande passante/latence  la taille du système Flexible Plusieurs configurations, bandes passantes réglables Offre un connectivité entre chaque paire d’IPs Compositionnel Permet l’assemblage de sous-systèmes Efficace Coût (en silicium) Dissipation d’énergie Pérenne pour les futures technologies (l<45nm) Bruit, interférences, baisses de courant, « soft errors » Gestion de plusieurs domaines d’horloge (e.g. GALS) M1Info-ASE

Aujourd’hui s Emetteur I interface Master I Arbiter Master I M I I S I Slave Master I interface Récepteur I Arbiter s Point à point dédié Bus partagé Réseau cross-bar Passage à l’échelle Flexible Compositionnel Efficace De plus, ces solutions ne sont pas adaptées aux futures technologie sub-microniques (45nm et moins) Source : Phillips M1Info-ASE

Demain … Des centaines de blocs IP interconnectés en 2012 ? Taille des blocs ~ constante, mais leur nombre va augmenter Des schémas d’interconnexion dynamiques. Algorithmes dont les comportement dépendent des données Plus de 100 cycles horloge pour traverser le circuit Aller-retour = 200 cycles, sans arbitrage gagner de la BP → augmenter le grain de communication Les connexions directes ont des taux d’erreur élevés. Gestion des erreurs par le système d’interconnexion. M1Info-ASE

Solution : Networks on Chip (NoC) Qu’est ce qu’un Network on Chip Parfois également appelés Micro-networks (micro-réseaux) Gère les communications entre les blocs du SoC Le réseau est en fait constitué d’un ensemble de blocs de “routage” connectés selon un topologie point à point. Les blocs s’échangent des paquets de données. Ces éléments de routage peuvent forwarder (ou réémettre) des paquets de données, et se chargent de les acheminer vers leur destination. Une infrastructure de communication, similaire sur le principe à un réseau informatique, mais intégré au sein d’un circuit. Source : Phillips M1Info-ASE

Un exemple de réseau sur puce Processor Master Processor Master Processor Master Routing Node Routing Node Routing Node Global Memory Slave Processor Master Processor Master Processor Master Global I/O Slave Routing Node Routing Node Routing Node Global I/O Slave Processor Master Processor Master Processor Master cross-bar switch Routing Node Routing Node Routing Node Packet storage arbitre Source : Phillips Nœud de routage M1Info-ASE

Coût des interconnexions Les solutions extrêmes ne sont pas intéressantes pour des communications globales Bon compromis = PàP + Multiplexage temporel Bon taux d’utilisation, pas trop de connexions (fils) Fréquence élevée & insertion de répétiteurs possible Congestion BP partagée Coût Souplesse Interférences Délais de propagation Surutilisation de la surface Point à point dédié Temps partagé Source : Phillips M1Info-ASE

Probablement la solution à retenir Bilan … Intéressant, mais Encore trop coûteux Réseau routé Trop coûteux en surface Point à point dédié Probablement la solution à retenir Approche hybride routeurs + bus Performance trop faibles Bus partagé Source : Phillips M1Info-ASE

Plan du module ASE Eléments de base Le format JPEG Circuits synchrones et notion de pipeline Principes de l’Arithmétique en Virgule Fixe Le format JPEG Fonctionnement d’un encodeur JPEG L’Algorithme de Chen pour le calcul de DCT rapide Architectures des processeurs Processeurs RISC pipelinés Processeurs VLIW M1Info-ASE

Vue Structurelle d’un SoC Timer UART IDE DRAM CPU3 CPU4 Bus Video input Pont Système d’interconnexion CPU1 Cache SRAM Co-processeur dédié Cache CPU2 M1Info-ASE

Poubelle M1Info-ASE

Vue Structurelle d’un SoC zigzag scan Q IDCT DCT Motion Estimation + IQ VLC - Flux d’images Flux compressé Partitionnement logiciel/matériel = répartir les tâches de l’application sur les ressources de calcul du système et allouer les données aux différents composants mémoire coprocesseur dédié Vidéo input Timer UART SRAM2 DRAM IDE Système d’interconnexion SRAM1 CPU2 Cache CPU1 CPU3 (VLIW) CPU4 M1Info-ASE

Exemple d’application : MPEG zigzag scan Q IDCT DCT Motion Estimation + IQ VLC - Flux d’images Flux compressé 7% 44% 2% 3% 8% Informations de profilage DCT : transformée en cosinus IDCT : DCT inverse Q : Quantification IQ : Quantification inverse VLC : Variable Length Coding M1Info-ASE

Mise en œuvre Partitionnement logiciel/matériel = répartir les tâches de l’appli sur les ressources du système Timer UART IDE DRAM DSP DSP IDCT DSP SRAM Q Bus ADC Video input Bridge IQ DCT Bus CPU1 Cache SRAM application specific hardware Cache MCU Motion Estimation Contrôle VLC CPU2 - + zigzag scan M1Info-ASE

Mise en œuvre - Placement des données et Gestion des communications. + application specific hardware Bridge MCU ADC CPU1 Cache Video input Timer UART CPU2 SRAM DRAM DSP IDE DSP IDCT DSP Q Bus IQ DCT Bus Motion Estimation Contrôle VLC - + zigzag scan M1Info-ASE