Une méthode de conception de systèmes sur puce



Documents pareils
Modélisation des interfaces matériel/logiciel

Thème 3 Conception et vérification d architectures de systèmes sur puce

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Vers du matériel libre

Conception de circuits numériques et architecture des ordinateurs

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Initiation au HPC - Généralités

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Métriques de performance pour les algorithmes et programmes parallèles

Exécution des instructions machine

Sanity Check. bgcolor mgcolor fgcolor

Architecture des ordinateurs

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août Présentée et soutenue publiquement par.

Architecture des calculateurs

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Leçon 1 : Les principaux composants d un ordinateur

Fonctionnement et performance des processeurs

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Architecture matérielle des systèmes informatiques

Pour obtenir le grade de. Arrêté ministériel : 7 août Sylvain Genevès

ELP 304 : Électronique Numérique. Cours 1 Introduction

Intel Corporation Nicolas Biguet Business Development Manager Intel France

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

. Plan du cours. . Architecture: Fermi ( ), Kepler (12-?)

La carte à puce. Jean-Philippe Babau

<Insert Picture Here> Solaris pour la base de donnés Oracle

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Limitations of the Playstation 3 for High Performance Cluster Computing

IV- Comment fonctionne un ordinateur?

Windows Server Chapitre 1: Découvrir Windows Server 2008

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Tout savoir sur le matériel informatique

Les liaisons SPI et I2C

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Rappels d architecture

Fiche technique CPU 315SN/PN (315-4PN33)

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Systèmes d exploitation

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Chapitre 4 : Les mémoires

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

Programmation C. Apprendre à développer des programmes simples dans le langage C

Systèmes et traitement parallèles

Fiche Technique. Cisco Security Agent

Introduction aux systèmes temps réel. Iulian Ober IRIT

Conception et Intégration de Systèmes Critiques

Traitement de données

Architecture des ordinateurs

GESTION DE LA MEMOIRE

Structure et fonctionnement d'un ordinateur : hardware

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Ordinateurs, Structure et Applications

Cours n 12. Technologies WAN 2nd partie

A. Elmrabti. To cite this version: HAL Id: tel

Pré-requis techniques

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Tests de performance du matériel

Éléments de programmation et introduction à Java

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Conception Systèmes numériques VHDL et synthèse automatique des circuits

Prise en compte des ressources dans les composants logiciels parallèles

Administration des ressources informatiques

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Cours Informatique 1. Monsieur SADOUNI Salheddine

Compilation (INF 564)

Contributions à l expérimentation sur les systèmes distribués de grande taille

Conception de Systèmes de Communications Numériques

Hardware dependant Software design

IRL : Simulation distribuée pour les systèmes embarqués

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Ordinateurs, Structure et Applications

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6

Parallélisme et Répartition

Introduction à la Programmation Parallèle: MPI

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX

CH.3 SYSTÈMES D'EXPLOITATION

CM2 L architecture MIPS32

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Mode d emploi pour lire des livres numériques

Fiche technique CPU 314SC/DPM (314-6CG13)

Conférence sur les microcontroleurs.

MAC-TC: programmation d un plate forme DSP-FPGA

Transcription:

École thématique ARCHI 05 Une méthode de conception de systèmes sur puce (de l intégration d applications) Frédéric PÉTROT Laboratoire TIMA Institut National Polytechnique de Grenoble Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 1

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 2

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 2

Systèmes sur puce vs systèmes informatiques Ressources limitées (coût, consommation) : taille mémoire faible petite taille de mots fréquence de fonctionnement (relativement) faible Se focaliser sur l efficacité : programmation à bas niveau (asm/c) systèmes d exploitation minimalistes architectures spécialisées coprocesseurs ad-hoc processeurs spécialisés : DSP, NP, GPU communications spécialisées Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 3

Systèmes sur puce vs systèmes informatiques Application(s) donnée du problème Environnement contraintes problème d optimisation multi-critères coût non formulable mathématiquement réalisation pouvant faire usage de matériel ad-hoc Spécialisation dans des domaines d application application à haut débit de données automates de contrôle langages spécifiques à un domaine (PN, ET, SL,...) contraintes spécifiques à un domaine Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 4

Systèmes sur puce vs systèmes informatiques Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 4

Systèmes sur puce vs systèmes informatiques Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 4

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 5

Architectures système Architectures cibles architecture matériel logiciel SIMD ++ VLIW ++ MIMD?? Cibles de l implantation : ordinateur + carte FPGA carte spécialisée DSP + coprocesseurs ad-hoc système uni ou multiprocesseur intégré sur puce Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 6

Architectures système : ILP vs TLP Instruction Level Parallelism : performance séquentielle super-scalaire simultaneous multithreading (SMT n tâches) Complexité effarante! bus très larges prédiction de branchement avancée renommage de registres exécution désordonnée caches non bloquants En 250 ps,... (temps e met pour traverser 5 cm de CU) coût + consommation inacceptable pour CE Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 7

Architectures système : ILP vs TLP Task Level Parallelism : performance parallèle processeurs plus «simples» utilisation de coprocesseurs naturelle bien adapté à certaines applications Mais : révolution culturelle pour programmer compilateurs (?) recouvrement calcul/communication explicite non adapté à certaines applications Parallélisme à gros grain semble inévitable Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 8

Tendance CMP : multiprocesseurs ± généralistes Gaming : Cell PS/3 (Sony/IBM/Toshiba) 8 processeurs spécialisés (APU), sans caches 1 PowerPC G4 SMT (2 threads) 234 millions de transistors, 4GHz Web Servers : Niagara (Sun) 8 Ultra-sparc like 4 threads d exécution matériels par processeur 1.2 GHz General purpose : BCM1480 (Broadcom) 4 Mips64 800-1200 MHz 64-bit PCI-X, Gigabit Ethernet MACs (GMII), SPI-4/HT Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 9

Tendance CMP : multiprocesseurs ± généralistes Intérêts : latence bien plus faible qu en multi-chip bande passante interne quasi-gratuite Problèmes : coût pour le consumer (surface + rendement) consommation programmation,... Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 9

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 10

Problématique Conception sur plate-forme : extension d un existant : processeurs/mémoires/interconnexions connus composants de communication/pilotes techniques de conception/validation éprouvées technologie cible identique généralement mêmes horloges Triplet :(système, nouvelle application, contraintes) Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 11

Principes : modèle des réseaux de Kahn Réseaux de Kahn : adaptés aux flux de données P width Propriétés théoriques : p depth width c pas de pertes de donnée ordre d émission = ordre de réception fonction indépendante des dates/durées d exécution Extensions pratiques : FIFO bornées FIFO potentiellement bi-synchrones en matériel C Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 12

Principes : architecture système asim0 Micro noyau multiprocesseur POSIX Processeur Processeur Processeur Processeur Contrôleur de bus Bus sur puce TIMER ITC RAM ROM Interface files Interface files Coprocesseur Coprocesseur Plate forme Asim0 de base Simulable au niveau cycle Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 13

Principes : architecture système asim1 ICacheDCache ICacheDCache ICacheDCache ICacheDCache Requests Responses TIMER ITC RAM ROM FIFO INTERFACE FIFO INTERFACE COPROCESSOR COPROCESSOR Plateforme Asim1 de base Simulable au niveau cycle Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 14

Principes : assignation des tâches T5 T4 T6 T1 T2 T3 T10 T11 T8 T7 T9 SH HS SS HH COPROCESSOR FIFO INTERFACE BCU on chip bus TIMER ITC RAM ROM FIFO INTERFACE FIFO INTERFACE FIFO INTERFACE COPROCESSOR COPROCESSOR COPROCESSOR Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 15

Principes : analyse Restrictions : communications système limitées aux files Mais : nature de la communication indépendante de la nature des tâches implantation de la communication très variées par le processeur à l aide d interruptions par le processeur en attente active par un DMA... passage du logiciel au matériel cohérent par construction limite l imagination du concepteur à des choses connues Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 16

Principes : analyse Restrictions : architecture limitée à des instances d asim0/asim1 Mais : concevoir une plate-forme implanter une application sur une plate-forme conception des composants définition du support de communication choix de modèles de communication abstraits développement/choix d un noyau... Réalité industrielle actuelle : Semiconductor houses / system houses / software houses Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 17

Principes : migration logiciel matériel Migration exploratoire : co-simulation tâche (hôte)/plate-forme asim0(cycle) exploration d architecture aisée Migration réelle : réécriture de la tâche pour la synthèse vérification de la fonction sur l hôte synthèse exécution par simulateur cycle Dans les 2 cas : changer la nature de la file création d une plate-forme étendue Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 18

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 19

Problème : Cohérence des caches Migration de tâches : T1 T2 DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 20

Problème : Cohérence des caches Migration de tâches : T1 T2 T3 DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 20

Problème : Cohérence des caches Migration de tâches : T1 T3 T2 DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 20

Problème : Cohérence des caches Cohérence des données partagées : T1 T2 DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 21

Problème : Cohérence des caches Cohérence des données partagées : T1 T2 DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 21

Cohérence : solution logicielle Solution simple : pas de migration de tâches! un noyau par processeur tâche ne s exécute que sur «son» processeur données locales à un processeur cachées ; données partagées entre processeurs non-cachées ; Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 22

Cohérence : solution logicielle Solution simple : T2 T4 T1 T3 0 1 T5 T6 m VCI compliant on chip interconnect RAM BANK 0 RAM BANK 1 RAM BANK 2 RAM BANK n Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 22

Cohérence : solution logicielle Désignation d un processeur : pthread_attr_t attr =.procid = 3;... pthread_create(&tid, &attr, func, arg); Désignation d une mémoire : P segments locaux pour P processeurs ; N segments partagés ; utilisation dans une libc étendue. void *local_malloc(unsigned int n); void *_local_malloc(unsigned int lseg, unsigned int n); void *shared_malloc(unsigned int sseg, unsigned int n); Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 23

Cohérence : solution matérielle Directory based : complexité en O( m b p2 ) implantation matérielle et protocole invalidation (moins de trafic et de trashing, plus de latence) mémoire devient aussi un maître caches deviennent aussi des esclaves très complexe en write-back (et write-allocate) assez simple en write-through Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 24

Cohérence : analyse quantitative Hypothèses : les miss instructions sont négligés ; chaque processeur exécute une instruction RISC par cycle ; la latence moyenne sur un NoC VCI 32 bits est 40 cycles ; la politique d écriture est write-through avec tamponnage ; il y a 20% de lectures, et 10% de ces lectures sont partagées ; le taux de miss moyen est de 15%, et le hit prend 1 cycle. Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 25

Cohérence : analyse quantitative Cycles par instruction sans caches de données CPI = (0.8 1 + 0.2 41) = 9 Cycles par instruction avec la technique logicielle CPI = (0.8+0.2 (0.1 41+0.9 (0.85 1+0.15 41))) = 2.88 matériel inchangé Cohérence matérielle CPI = 2.88 pas de contraintes sur le programmeur tâches peuvent migrer sans vidanger les caches Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 25

Problème : Consistance mémoire T1 lock read write unlock T2 lock read write unlock DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL shared data lock Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 26

Problème : Consistance mémoire T1 lock read write unlock T2 lock read write unlock DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL shared data lock Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 26

Problème : Consistance mémoire T1 lock read write unlock T2 lock read write unlock DSP VCI compliant on chip interconnect RAM ROM COPROCESSOR PERIPHERAL shared data lock Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 26

Consistance mémoire initiateurs garantissent l ordre des écritures! attente de la réponse avant d émettre la requête suivante a priori très coûteux sauf si : 1. les sémaphores sont dans un coprocesseur ad-hoc ; 2. tout initiateur accédant à deux cibles différentes doit attendre la réponse de la première cible avant d émettre la deuxième requête conserve l efficacité des paquets lors des accès à une unique cible. Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 27

Plan de la présentation Généralités Systèmes sur puce vs Systèmes informatiques Architectures cibles Une méthode d intégration d applications Principes Problèmes Flot de conception et illustration Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 28

Flot : outils Méthode de conception illustré sur l exemple d un décodeur vidéo Étroitement liés pour aller de la fonctionnalité à l implantation DPN bibliothèque de fonctions pour les réseaux de Kahn bâtie au dessus des pthreads CASS simulation cycle optimisée de modèles C ASIM0 (PI-Bus)/1 (µ-réseau) modèles C (simulation) et VHDL (implantation) Micro-noyau POSIX (Mutek) UGH outil de synthèse d architecture produit du C et du VHDL Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 29

Flot : décodage Motion-JPEG Tables de Huffman Tables de quantification Taille d image Images JPEG DEMUX VLD ZZ Coéfficients continus Coéfficients alternatifs IQ LIBU IDCT Images décodées mjpeg = (asim0 avec des périphériques d entrée et de sortie, décodeur Motion-JPEG, fréquence de 33 MHz pour 25 images/sec) Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 30

Flot : implantation séquentielle Processeur Ecran Ramdac Interface files Contrôleur de bus Bus sur puce TIMER ITC RAM ROM Interface files Video in Camera un seul processeur, compilation séquentielle optimisée ajout de périphériques ad-hoc pour les E/S adaptation des E/S aux périphériques Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 31

Flot : implantation séquentielle Profil séquentiel du Motion-JPEG VLD ZZ + IQ IDCT others 23% 22% 46% 9% Nombre d octets échangés par image input DEMUX/ VLD ZZ+IQ IDCT LIBU DEMUX VLD ZZ+IQ IDCT LIBU output 3024/2691 65536 16384 Contraintes respectées conception achevée Simulation : 10 images/s facteur 2, 5 nécessaire Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 32

Flot : spécification(s) parallèle(s) TG WORD (data) DEMUX WORD BYTE (table) VLD BLOCK ZZ BLOCK IQ BLOCK IDCT BLOCK LINE BUILDER BYTES (pixel) RAMDAC BYTE (table) WORD (image size) BYTE (table) TG WORD (data) DEMUX WORD VLD ZZ IQ BLOCK BLOCK BLOCK IDCT BLOCK LINE BUILDER BYTES (pixel) RAMDAC ZZ2 BYTE (table) IQ2 IDCT2 WORD (image size) IDCT TG WORD (data) DEMUX WORD BYTE (table) VLD BLOCK ZZ + IQ BLOCK BLOCK BLOCK BLOCK LINE BUILDER BYTES (pixel) RAMDAC BYTE (table) IDCT WORD (image size) Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 33

Flot : implantation logicielle parallèle TG WORD (data) DEMUX WORD BYTE (table) VLD BLOCK ZZ BLOCK IQ BLOCK IDCT BLOCK LINE BUILDER BYTES (pixel) RAMDAC + Noyau SMP Mutek BYTE (table) WORD (image size) Processeur Processeur Processeur Ecran Ramdac Interface files Contrôleur de bus Bus sur puce TIMER ITC RAM ROM Interface files Video in Camera Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 34

Flot : implantation logicielle parallèle fps constraint sequential (2Kb cache) kpn (2Kb cache) 25 20 15 10 5 0 1 2 3 4 5 6 7 proc Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 35

Flot : implantation logicielle parallèle fps constraint sequential (32Kb cache) kpn (32Kb cache) 25 20 15 10 5 0 1 2 3 4 5 6 7 proc baisse de performance ( 1 2 sur uniprocessseur) parallélisme à gros grain tâches matérielles possibles Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 35

Flot : Coût de la cohérence 22 20 18 CPI non cachée CPI 1K CPI 4K 16 14 placements CPI 12 10 8 6 4 2 0 10 20 30 40 50 60 Latence Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 36

Flot : choix des accélérateurs Migration exploratoire : TG WORD (data) DEMUX WORD BYTE (table) VLD BLOCK ZZ BLOCK IQ BLOCK Pilote Pilote BLOCK LINE BUILDER BYTES (pixel) RAMDAC + Noyau SMP Mutek BYTE (table) WORD (image size) IDCT Processeur Processeur Processeur Enveloppe Interface files Contrôleur de bus Bus sur puce TIMER ITC RAM ROM Interface files Interface files Video in Video out Camera Ecran Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 37

Flot : choix des accélérateurs Migration exploratoire pour l IDCT : Images par seconde 50 30 10 logiciel IDCT exploratoire 1 2 3 4 5 Nombre de processeurs Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 38

Flot : choix des accélérateurs Migration exploratoire (pour un uniprocesseur) : Images par seconde 60 50 40 30 20 10 Contrainte (IDCT) 5 10 15 20 25 30 35 40 45 50 Latence entre 2 E/S Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 39

Flot : choix des accélérateurs Contraintes respectées pour : (IDCT, IQ), 1 processeur } (IDCT, VLD), 1 processeur si NW 50 (IDCT), 2 processeurs Technologie 0.35 µm Matériel aisément réalisable Processeur Mips R3000 avec 4Ko caches 6 mm 2 Bus PI-Bus (3-états), fréquence max 133 MHz Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 40

Flot : réalisation du matériel UGH MAPPING Cell Library Depends on the Synthesis and place & route tools Data Path C language Draft Subset Data Path VHDL Data Path Synthesis + Caracterization Timing Annotations VHDL FGS FSM UGH CGS CK UGH FGS VHDL CGS FSM CASS Simulation Model VCC Whitebox C Model Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 41

Flot : réalisation du matériel Particularités : guidé par l utilisateur : opérateurs + registres + interconnexions registres fréquence est une entrée : nécessite le chemin de données après synthèse RTL retiming d une machine à états chaînage optimisé d opérateurs pipeline wave-pipeline Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 42

Flot : réalisation du matériel Performance de UGH lignes UGH calcul des délais de C somme = UGH + Synopsys VLD 200 56.1s 126m41s = 4m40 + 122m01s IQ 100 0.9s 10m25s = 0m05 + 10m20s IDCT 600 11.2s 80m50s = 0m54 + 79m56s Taille des circuits en mm 2 IDCT VLD IQ 10.9 13.2 1.2 Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 43

Flot : choix des accélérateurs Migration réelle pour 3 groupes : Images par seconde 50 30 10 IDCT (IDCT IQ) (IDCT VLD) Choix : (IDCT, IQ) 1 2 3 4 5 Nombre de processeurs Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 44

Conclusion Intégration d applications : problème fortement multidisciplinaire architecture, micro-architecture, communication logiciel de bas niveau, noyau, pilotes programmation intrinsèquement parallèle problèmes ouverts spécifications, langages, domaines architectures vérification, validation compilation... Frédéric Pétrot/TIMA/INPG ARCHI O5 / Une méthode de conception de SoCs p. 45