Concevoir l’architecture d’un système embarqué: impact sur le(s) processeur(s) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Pourquoi parler de la conception d’un système embarqué en INF8505? Les systèmes embarqués (et SOC - System on Chip) relèvent de INF6501/8500. En INF8505 on parle de processeurs embarqués configurables. Il est pertinent (essentiel?) de placer la conception du processeur dans le contexte de la conception du système. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Survol de la présentation Buts de conception Flot de conception d’un ASIC et d’un SoC Définir l’architecture du SoC: approche ad hoc Architecture générale Architecture spécifique qui découle de l’application « Règles » et « conclusion » Définir l’architecture du SoC: approche systématique proposée Besoins en calculs Besoins en communications INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Quelques buts de design Rencontrer des spécifications aux besoins contradictoires puissance, débit, surface, précision des calculs Minimiser les coûts en personnel en matériaux Réduire les risques lors de la conception lors de la mise en service pendant la vie du système Mais la complexité grandissante des systèmes embarqués rend la tâche difficile … Puissance Surface Débit Précision INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 Flot de conception simplifié d’un ASIC (Application Specific Integrated Circuit) Description RTL: Register Transfer Logic possible seulement pour les systèmes modestes peut intégrer des blocs IP (Intellectual Property) existants Les vérifications fonctionnelle et temporelle doivent être intégrées au développement du code La synthèse et le placement et routage sont effectués par des outils automatisés. S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Flot de conception simplifié d’un SoC (System on Chip) Le flot de conception peut être divisé en plusieurs tâches. Chaque tâche est normalement effectuée par une équipe de spécialistes différents. Chaque tâche nécessite des outils particuliers. Comment définir l’architecture du SoC? S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Survol de la présentation Buts de conception Flot de conception d’un ASIC et d’un SoC Définir l’architecture du SoC: approche ad hoc Architecture générale Architecture spécifique qui découle de l’application « Règles » et « conclusion » Définir l’architecture du SoC: approche systématique proposée Besoins en calculs Besoins en communications INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Exercice Conception d’un téléphone cellulaire Définir les entrées et sorties Suggérer une architecture de système Montrer les communications entre les blocs du système INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Définir l’architecture du SoC: approche ad hoc Option 1 version 1: architecture indépendante de l’application, version la plus ‘vanille’ possible INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc La version ‘vanille’ de base est d’une simplicité élégante. Elle convient tant que le débit requis n’est pas trop élevé. Si le débit d’information est trop élevé … on peut ajouter un processeur … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc Option 1 version 2: architecture indépendante de l’application, version plus spécialisée (ASSP – Application Specific Standard Product) Deux processeurs Certains périphériques sont réservés à un seul processeur Accès mémoire non uniforme INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc La version à deux processeurs perd de sa généralité. Si le débit d’information devient trop élevé … on passe à l’option 2, concevoir un processeur sur mesure … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc Option 2 : architecture dictée par l’application, pas de processeur général. Exemple: démodulateur QAM. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc Option 2 : architecture dictée par l’application, pas de processeur général. Exemple: décodeur MPEG-4. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc Option 2 : quelques années plus tard, les fréquences d’horloge ayant augmenté … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche ad hoc « Règles » de l’approche ad hoc? 1. Si un processeur ne suffit pas, utiliser deux processeurs. 2. Si deux processeurs ne suffisent pas, concevoir un processeur spécifique. Les concepteurs de SoC ont hérité des principes de conception de systèmes à microprocesseurs: « Les processeurs coûtent cher, il faut éviter d’en utiliser beaucoup. » « Les processeurs sont fixes et doivent le rester. » « Il faut des fréquences d’horloges plus élevées pour régler nos problèmes. » INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Survol de la présentation Buts de conception Flot de conception d’un ASIC et d’un SoC Définir l’architecture du SoC: approche ad hoc Architecture générale Architecture spécifique qui découle de l’application « Règles » et « conclusion » Définir l’architecture du SoC: approche systématique proposée Besoins en calculs Besoins en communications INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Définir l’architecture du SoC: approche systématique proposée Supposons que les processeurs soient … flexibles; peu dispendieux; facilement intégrables; et, supportés par des outils de design adaptés et performants. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche systématique proposée Deux attributs principaux à considérer Quels sont les besoins en calculs? Quels sont les besoin en communications internes et externes (interfaces, entrées et sorties)? Besoin d’outils d’exploration architecturale de haut niveau Space CoDesign? INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche systématique proposée S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Définir l’architecture du SoC: approche systématique proposée Pour satisfaire les besoins en calculs A. Développer un processeur sur mesure (RTL) B. Utiliser plusieurs processeurs fixes C. Utiliser un/des processeur(s) configurable(s) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche systématique proposée Pour satisfaire les besoins communications: (1): bus INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche systématique proposée Pour satisfaire les besoins communications: (2): mémoire partagée INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Définir l’architecture du SoC: approche systématique proposée Pour satisfaire les besoins communications: (3): FIFOs INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
Survol de la présentation Buts de conception Flot de conception d’un ASIC et d’un SoC Définir l’architecture du SoC: approche ad hoc Architecture générale Architecture spécifique qui découle de l’application « Règles » et « conclusion » Définir l’architecture du SoC: approche systématique proposée Besoins en calculs Besoins en communications INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel