La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les systèmes mono-puce

Présentations similaires


Présentation au sujet: "Les systèmes mono-puce"— Transcription de la présentation:

1 Les systèmes mono-puce
Steven Derrien IRISA, équipe R2D2

2 Plan de la présentation
Introduction au SoC Technologies Méthodologies de conception La consommation électrique Les systèmes d’interconnexion Thèmes de recherches émergents Conclusion Journées pédagogiques Vannes

3 Système mono-puce : kesako ?
Système mono-puce = System on a Chip (SoC) Système éléctronique complet intégré dans une puce Circuit STM8000 (STMicro) Décodeur multi-standards pour lecteurs DVD (audio+vidéo) Intègre processeurs, RAM, coprocesseurs dédiés, etc. Circuit mixte = numérique + analogique Journées pédagogiques Vannes

4 Système mono-puce : pourquoi ?
Journées pédagogiques Vannes

5 Journées pédagogiques 2006 - Vannes

6 Lexique : parlez-vous le SoC ?
SoC = System on a Chip DSP = Digital Signal Processor NoC = Network on a chip IP = Cœur de propriété intellectuelle ASIC : Application Specific Integrated Circuit RTL = Register To Logic MCU = micro-contrôleur DRAM = RAM dynamique (dense, accès lents) SRAM = RAM statique (rapide, chère) CNA/CAN : convertisseur analogique/numérique Journées pédagogiques Vannes

7 DSP : Digital Signal Processors
Processeurs orientés vers le traitement de signal Conçu pour des traitements « flot de données » Essentiellement en arithmétique entière Unités de calcul fonctionnant en parallèle Traitements à base de MAC : Multiply ACcumulate : Adressage circulaire, boucles sans pénalités Algorithmes type : filtres numérique RIF/RII, FFT, DCT, etc. Dans les SoC on intègre des « cœurs » de DSP Il faut les intégrer au reste su système Fabricants : Texas Instrument, STMicro, Motorola Journées pédagogiques Vannes

8 Cœurs IP (Intellectual Property)
IP = « bloc » matériel préconçu qui peut être intégré dans un circuit Cœur pour PCIe (IP) => $ Journées pédagogiques Vannes

9 Journées pédagogiques 2006 - Vannes
Lexique : suite… MCU : Micro contrôleurs Processeurs orientés vers le « contrôle » À l’origine des processeurs très simples (PIC, 8051) Aujourd’hui essentiellement des RISC 16/32 bits NoC : Network on a Chip Micro réseau intégré On va en parler plus en détail … RTL : Register to Logic Niveau de description d’un circuit = blocs combinatoires connectés par des registres Journées pédagogiques Vannes

10 Les systèmes mono-puce
Les technologies …

11 Journées pédagogiques 2006 - Vannes
Les ASICs Approche « full custom » Conception au niveau transistor Permet des circuits mixtes analogique/numérique Effort de conception très important Surface réduite, performance très importantes Approche « standard cell» Utilise des librairies de cellules primitives Portes AND, OR, registres, SRAM, etc. Effort de conception réduit, performances souvent proches du full-custom Journées pédagogiques Vannes

12 Flot de conception ASIC
Journées pédagogiques Vannes

13 Coût de conception d’un ASIC
De plus en plus élevés, à la fois en production et en conception En 2001, moins de 10% des design d’ ASIC avaient des volumes justifiant l’utilisation d’une techno 0.13 micron Technologie 0.8 0.35 0.18 0.13 NRE: $40k $100k $350k $1,000k Délai 42 days 49 days 56 days 76 days Marché $3.5B $6B $12B $18B Source: DAC’01 panel on embedded programmable logic Journées pédagogiques Vannes

14 La logique programmable : les FPGA
Matrice de blocs logiques reliés par un réseau d’interconnexion programmable Fonctions logiques Blocs logiques élémentaires Circuit placé-routé Fichier de configuration (bitstream) Journées pédagogiques Vannes

15 Journées pédagogiques 2006 - Vannes
La technologie FPGA en 2006 Jusqu’à cellules logiques élémentaires Cellule = Look-up-Table + registre Blocs mémoire configurables Blocs de 18kbits, au total jusqu’à 1Mo Structures dédiées pour les traitements arithmétique 512 multiplieurs 18x18 bits embarqués Processeurs embarqués Jusqu’à 4 PowerPC en « dur » Soft-Core : processeurs utilisant les cellules logique Liaisons séries haut débit Jusqu’à 10 Gbits MAC Ethernet intégrée Reconfigurable dynamiquement Technologie encore immature Journées pédagogiques Vannes

16 Exemple : FPGA Xilinx Virtex4
Cellule logique ROM programmable permettant d’émuler des fonction combinatoires de 1 à 4 entrées registres Journées pédagogiques Vannes

17 Flot de conception FPGA
Placement routage bitstream Journées pédagogiques Vannes

18 Journées pédagogiques 2006 - Vannes
FPGA versus ASIC Surface silicium d’un FPGA Entre 3% et 5% du budget silicium utile Consommation électrique ~3 et 10 fois supérieure en mode fonctionnement ~100 fois supérieure en mode veille Performances (fclk) ~3 et 10 fois plus lents Intérêt des FPGA ? Time to market Petit/Moyen volume (< unités) Journées pédagogiques Vannes

19 Les systèmes mono-puces
Les méthodologies de conception

20 Productivity GAP évolution comparée du temps de conception d’un circuit et du nombre de portes disponible Design productivity gap 10,000 100,000 1,000 10,000 100 1000 Capacité des circuits intégrés Gap Transistors par puce (en millions) 10 100 Productivité (K)Transistors par Homme-Mois. 1 10 0.1 1 productivité 0.01 0.1 0.001 0.01 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 Journées pédagogiques Vannes

21 Ou va l’effort de conception ?
Source : IBS 2002 Journées pédagogiques Vannes

22 Exemple d’application : MPEG
7% 44% 2% 3% 8% zigzag scan - DCT Q Flux d’images IQ VLC Informations de profilage IDCT Flux compréssé + DCT : transformée en cosinus IDCT : DCT inverse Q : Quantification IQ : Quantification inverse VLC : Variable length coding Motion Estimation Journées pédagogiques Vannes

23 Définition d’une architecture
Timer UART IDE DRAM DSP DSP Bus ADC Video input Bridge Bus CPU1 Cache SRAM application specific hardware Cache MCU CPU2 Journées pédagogiques Vannes

24 Mise en œuvre - Partitionnement logiciel/matériel + IDCT Q Bus IQ DCT
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 Journées pédagogiques Vannes

25 Journées pédagogiques 2006 - Vannes
Mise en œuvre Gestion des communications et du stockage des données 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 Journées pédagogiques Vannes

26 Journées pédagogiques 2006 - Vannes
Remarques Architecture parallèle et hétérogène Un air de déjà vu …. Il y a deux sous problèmes Définition de l’architecture Mise en œuvre sur l’architecture Ils ne sont pas indépendants Le choix de l’architecture impose des contraintes sur la mise en œuvre et ses caractéristiques. On va devoir explorer l’espace des solutions… Quelle est l’étape qui doit bénéficier du plus gros effort de conception? Journées pédagogiques Vannes

27 Conception basée plate-forme
Notion de généricité et de réutilisation Plate-forme orientée vers un domaine d’application Traitement de paquets, multimédia,vidéo … Base d’utilisation la + large possible Permet la différenciation des produits Concrètement ? Assemblage de plusieurs CPU ISA/microarchitecture génériques Bus d’interconnexion standardisé OS temps réels et pilotes « génériques » Journées pédagogiques Vannes

28 Conception basée plate-forme
Architecture finale Approche « plate-forme » Approche descendante Journées pédagogiques Vannes

29 Exemple d’outil : SOPCBuilder
Permet de concevoir rapidement un modèle de plate-forme pour FPGA (Altera) 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 Journées pédagogiques Vannes

30 Exemple d’outil : SOPCBuilder
Journées pédagogiques Vannes

31 Les systèmes mono-puces
Les langages de conception matériels

32 Journées pédagogiques 2006 - Vannes
VHDL Langages de description de matériel On décrit un circuit, on ne « programme » pas Initialement prévu pour modéliser et simuler des circuits Moteur de simulation (événements discrets) Extension pour la gestion de modules analogique (VHDL-AMS) Utilisé pour la synthèse logique de circuits Produire une représentation au niveau « porte logique » Sémantique trop « générale » pour cette utilisation Sous-ensemble synthétisable (également appelé RTL). En pratique : essentiellement des circuits synchrones Problème d’apprentissage, beaucoup de « savoir- faire » Il faut 3-4 ans pour devenir un « bon « concepteur de circuit Journées pédagogiques Vannes

33 VHDL : exemple (niveau RTL)
Filtrage numérique non récursif Entity FIR is port ( clk : in std_logic; rst : in std_logic; Xin : in std_logic_vector(15 downto 0); Yout : out std_logic_vector(15 downto 0)); End FIR; Architecture RTL of FIR is type TCoef is array (0 to 7) of integer; constant C : TCoef := (-75,133,-387,626,-865,1345,-2234,4234,16); signal x : is array (0 to 15) of std_logic_vector(15 downto 0); Begin P_FIR : process (clk) variable tmp : std_logic_vector(47 downto 0); begin if rising_edge(clk) then sum := 0; for i in 0 to 7 loop sum := sum + int2slv(c(i),16)*(x(i)+x(15-i)); end loop; -- i yout <= tmp(31 downto 16); x <= x(14 downto 0) & Xin; end if; End process; End RTL; Définition de l’interface du composant Processus décrivant les opérations effectuées à chaque front d’horloge L’affectation des variable est « séquentielle » L’affectation des signaux est « parallèle » Journées pédagogiques Vannes

34 Journées pédagogiques 2006 - Vannes
VHDL : limites Niveau de modélisation trop fin Difficile d’explorer l’espace de conception en RTL Vitesse de simulation très lente Rédhibitoire pour de la co-simulation (soft+hard) Simuler le démarrage d’un OS = 10 heures Autres critères ? VHDL offre peu d’interopérabilité Les spécifications « système » sont souvent en C Banc de tests difficiles à intégrer… Langage difficile à maîtriser Journées pédagogiques Vannes

35 Journées pédagogiques 2006 - Vannes
System-C : Langage de description « système » Standard « ouvert », pas besoin de simulateur Basé sur des classes C++ Processus, type de données spécifiques Interaction avec le système plus facile Orienté simulation de systèmes Plus rapide que VHDL ? Langage pas/peu orienté synthèse logique Encore peu utilisé par les concepteurs de circuits Journées pédagogiques Vannes

36 Journées pédagogiques 2006 - Vannes
SystemC : modèle TLM TLM : Transaction Level Modeling Modèle = ensemble de tâches communicantes Permet d’explorer différents schéma d’allocation Abstraction fonctionnelle des communications Essentiellement utile pour modéliser des « bus » Pas d’information temporelle associée au modèle Pas de prise en compte de la congestion Exemple int paquet[]={1,2,3,4}; bus->burst_write(0x1200,paquet,4); Journées pédagogiques Vannes

37 Journées pédagogiques 2006 - Vannes
SystemC : niveau CABA CABA : Cycle Accurate Bit Accurate Modèle d’exécution + précis Simulateur de jeux d’instruction pour les processeurs (précis au niveau cycle). Modèle comportementaux des mémoire (latence, etc.), du système d’interconnexion. Modèle comportementaux/RTL des co-processeurs matériels spécialisés. Estimation relativement précise Exploration de l’espace de conception se fait entre les niveau TLM et CABA Journées pédagogiques Vannes

38 Les systèmes mono-puce
La consommation électrique

39 Pourquoi s’y intéresser ?
Pour les dispositifs mobiles Maximiser l’autonomie Diminuer la taille de la batterie Fiabiliser les circuits Éviter les « hotspot » dans un circuit intégré 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… Journées pédagogiques Vannes

40 Tendance technologiques
Journées pédagogiques Vannes

41 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 Journées pédagogiques Vannes

42 La puissance dynamique
Causée par les commutations successives 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) De la tension d’alimentation (Vdd) Journées pédagogiques Vannes

43 Journées pédagogiques 2006 - Vannes
La Puissance statique Causée par les courants de fuites La valeur de la puissance dissipée dépend : Des tensions de seuil et d’alimentation (Vth,Vdd) De la technologie CMOS utilisée (k) De la température absolue (T) Journées pédagogiques Vannes

44 Journées pédagogiques 2006 - Vannes
Comment réduire Pdyn Domaine de recherche actif depuis 10 ans … Réduire le taux de commutation des transistors Encodage/arithmétique spécifique (gray, etc.) Input gating et clock gating : gèl des entrées d’un bloc quand c’est possible Limiter les glitch (régimes transitoires) Réduire la fréquence (fclk) Ne doit pas se faire au détriment de la surface Réduire la tension Vdd Journées pédagogiques Vannes

45 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 ? Journées pédagogiques Vannes

46 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 Journées pédagogiques Vannes

47 Journées pédagogiques 2006 - Vannes
Compromis Pstat/Pdyn Globalement on a un compromis entre La rapidité de commutation du transistor La consommation du circuit Peut-on s’accommoder de transistors + lents ? Oui, si on utilise + de pipeline dans les processeurs On conserve la même fréquence de fonctionnement avec un Vdd réduit. Oui, en exploitant du parallélisme Deux processeurs cadencés à f/2 consomment 1,5 fois moins de puissance statique. Journées pédagogiques Vannes

48 Journées pédagogiques 2006 - Vannes
Compromis Pstat/Pdyn Puissance dynamique dominante Puissance statique dominante Source : C. Piguet Journées pédagogiques Vannes

49 Lien entre logiciel et consommation ?
Efficacité du code code + rapide = f processeur ↓ = Vdd ↓ Taille du code et des données code + gros = mémoire de code ↑= Cequ ↑ Idem données Nombre d’accès à la mémoire Les accès bus sont coûteux en énergie Importance de la hiérarchie mémoire Journées pédagogiques Vannes

50 Tendances technologiques
Puissance statique source : ITRS Puissance dynamique À l’avenir, faible consommation = peu de transistors, mais très bien utilisés… Journées pédagogiques Vannes

51 Les systèmes mono-puce
Systèmes d’interconnexion

52 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) On retrouve la même chose dans un SoC Adresses UC Vidéo Audio Mémoire Disquette Données Journées pédagogiques Vannes

53 Journées pédagogiques 2006 - Vannes
Les bus « on-chip » Conçus pour les SoC Toutes les transactions se font en interne Moins de contraintes extérieures (connecteurs,etc.) Plusieurs standards existent Les principaux standards 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) Caractéristiques Protocoles complexes, avec plusieurs maîtres Bus orienté haute performances (transferts « en rafale ») Protocole simplifié si la performance n’est pas une contrainte Journées pédagogiques Vannes

54 Connexions point à point
Utilisé pour relier des blocs qui effectuent des traitements de type flot de données. Utilisation de mémoires tampons (FIFO) matérielles Synchronisation par les données beaucoup + simple Exemple : MPEG zigzag scan Q IDCT DCT IQ VLC Flux compréssé Journées pédagogiques Vannes

55 Interconnexions Crossbar
Très utilisé dans les routeurs haute performance Très coûteux en ressources s I M I I S I Arbitre s Journées pédagogiques Vannes

56 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) Journées pédagogiques Vannes

57 Journées pédagogiques 2006 - Vannes
Aujourd’hui s interface Emetteur Récepteur I Master I Arbiter Master I M I I S I Slave Master I 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 Journées pédagogiques Vannes

58 Journées pédagogiques 2006 - Vannes
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. Journées pédagogiques Vannes

59 Journées pédagogiques 2006 - Vannes
Solution : Networks on Chip (NoC) NoC = réseau sur puce, micro réseau, etc. Communications entre IP sont gérées par un réseau Réseau multi saut : routeurs connectés en Point à Point Routeurs retransmettent les paquets de données Un routeur est un bloc IP du système comme les autre cross-bar switch Stockage des paquets Réseau sur puce arbitre router node Blocs IP fonctionnels Source : Phillips Journées pédagogiques Vannes

60 Coût des interconnexions
Les solutions extrêmes ne sont pas intéressantes pour des communications globales Bon compromis = PàP + Multiplexage temporel high utilization, few wires high frequency, pipelining & repeater insertion possible Congestion BP partagée Coût Souplesse Interférences Délais de propagation Sur utilisation de la surface Point à point dédié Temps partagé Source : Phillips Journées pédagogiques Vannes

61 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 Journées pédagogiques Vannes

62 Les systèmes mono-puce
À surveiller …

63 Journées pédagogiques 2006 - Vannes
La variabilité Cas d’un transistor en techno 130nm 1.4 Fréquence ~30% Courant De fuite ~5-10X 1.3 30% 1.2 Fréquence maximum ~1000 échantillons 1.1 1.0 5X 0.9 1 2 3 4 5 Courants de fuite Journées pédagogiques Vannes

64 Journées pédagogiques 2006 - Vannes
Conclusions ? Journées pédagogiques Vannes


Télécharger ppt "Les systèmes mono-puce"

Présentations similaires


Annonces Google