Évolution des (micro)processeurs et des systèmes embarqués Introduction Évolution des (micro)processeurs et des systèmes embarqués INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
« The processor is the NAND gate of the future » La porte NON-ET: est la porte logique de base; permet de construire n’importe quelle fonction logique; est petite par rapport au reste du système; a un faible coût; est rapide; et, est facile à utiliser. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Survol de la présentation Systèmes embarqués avant la venue des microprocesseurs Systèmes embarqués après la venue des microprocesseurs Trois aspects de l’évolution des processeurs Évolution des systèmes embarqués Comment poursuivre l’amélioration des performances INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Exercice: conception d’un système embarqué Dessinez un diagramme de bloc pour un voltmètre numérique Une seule entrée: le signal dont il faut mesurer la tension Une seule sortie: la tension représentée sur des affichages à 7 segments INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués avant la venue des microprocesseurs (1) On parlait alors de systèmes électroniques. Le système consistait de différentes composantes analogiques et numériques reliées par des connexions point à point. Absence de logiciel et de micrologiciel (firmware). Exemple (sur la prochaine diapo): voltmètre numérique HP3440A, 1963. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués avant la venue des microprocesseurs (2) S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués avant la venue des microprocesseurs (3) On observe: absence de processeur absence de bus pas d’intégration, composantes discrètes: compteurs décade bascules S-R les composantes analogiques et numériques sont sur un pied d’égalité INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Le premier microprocesseur commercialisé: Intel 4004 sur le marché en novembre 1971 boîtier de 16 pattes horloge de 740 KHz architecture Harvard, mais bus de données et d’adresse multiplexés 46 instructions 16 registres de 4 bits pile à 3 niveaux source: wikipedia.org INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués après la venue des microprocesseurs (1) S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués après la venue des microprocesseurs (2) On observe: processeur, RAM, ROM bus de communication le processeur peut accéder à toutes les ressources très grande réduction dans la bande passante totale (par rapport aux communications point à point) claire séparation entre les composantes numériques et analogiques l’architecture est suffisamment générale pour correspondre à une vaste gamme d’applications INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Systèmes embarqués après la venue des microprocesseurs (3) L’architecture (matérielle) peut (doit?) être fixée tôt dans le design. La fonctionnalité du système est décrite en logiciel, qui est facile (ha!) à changer pendant le développement et même l’opération du système. Une mise à jour du système consiste à charger un nouveau logiciel. L’équipe de design a donc plus de temps pour faire la conception; les équipes ‘matérielle’ et ‘logicielle’ peuvent travailler en parallèle (ha!). On maximise la flexibilité et le potentiel de réutilisation du système et de ses composantes. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des microprocesseurs: trois aspects intéressants La fréquence d’horloge a une incidence directe sur la vitesse d’exécution des programmes (pas le seul critère, mais le plus facile à attaquer) course entre les grand manufacturiers Le nombre de broches du boîtier relié de près au nombre et à la largeur des bus correspond à la largeur de bande des communications avec le reste du système influencé par la taille du processeur: besoin de plusieurs points d’alimentation pour une grande puce Le nombre de transistors plus de transistors par puce (1.7×109 en 2007) permettent des architectures plus complexes (plus d’opérations, pipelinage, plus de mémoire, etc.) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Microprocesseurs grand marché: fréquence d’horloge (1) S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Microprocesseurs grand marché: fréquence d’horloge (2) H. Sutter, « The Free Lunch Is Over », Dr. Dobb’s Journal, 2005, mise à jour 2009. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Microprocesseurs: nombre de broches S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Microprocesseurs: nombre de transistors et loi de Moore Wikipedia.org, cc by-sa 3.0 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Comment cette progression fulgurante a pu avoir lieu Améliorations continues au processus de lithographie ont permis de construire des transistors plus petits plus de transistors par puce charge capacitive réduite transistors plus rapides moins de puissance par transistor (mais … fuites de courant sous 350 nm) Microprocesseurs vendus à très, très grande échelle justifient un effort de design considérable architectures très complexes les transistors sur les chemins critiques peuvent être conçus à la main, un à la foi INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Résolution du processus de fabrication cheveux humain: ~50000 nm S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Microprocesseurs: puissance totale dissipée (aouch) La puissance dissipée est proportionnelle: à la fréquence d’horloge au nombre de transistors au carré de la tension d’alimentation Comment composer avec l’augmentation de la puissance dissipée (approche naïve): exploiter le refroidissement par convection; air forcé; dissipateurs thermiques; air forcé dédié au processeur, intégré au dissipateur thermique; système de refroidissement avec liquide; Ces approches sont incompatibles avec un système sur puce (SoC) … F. Pollack, Micro-32, 1999, dans S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des processeurs et impact sur les concepteurs Les concepteurs de systèmes informatiques ont pu se fier à ces améliorations continues depuis 40 ans: horloge plus rapide; plus de transistors; et, canaux de communication plus larges. Cependant, bien que la taille des transistors continue de diminuer, leur latence et consommation de puissance (par transistor) ne diminue plus de façon proportionnelle. Pour continuer à améliorer la performance, il faut des approches différentes et novatrices. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
L’influence du prix du processeur 1968: 1$ achète 1 100 transistor 2007: 1$ achète 1 106 transistors Si un transistor coûte cher, alors: un processeur coûte cher; alors, l’utilisation d’un processeur coûte cher; alors on exploite alors les modes multitâches (multitasking); et: l’exploitation multitâche nécessite un processeur très rapide. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (1) conception au niveau de la planchette microprocesseur, RAM, ROM, périphériques ‘glue logic’: puces numériques utilitaires (multiplexeurs, décodeurs, PROMs, PALs, etc.) S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (2) conception au niveau de la planchette microprocesseur, RAM, ROM, périphériques ‘glue logic’: puces numériques utilitaires remplacées par ASICs ou FPGAs de complexité insuffisante pour intégrer un processeur S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (3) ère SoC: système intégré sur une puce architecture globale est identique aux architectures sur planchettes le microprocesseur est décrit par un schéma électrique (bas niveau) et ne ne peut pas être modifié S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (4) (toujours) un seul processeur plus rapide, périphériques lents mise en place d’une hiérarchie de bus le microprocesseur est décrit par un schéma électrique (bas niveau) ou par code HDL (haut niveau), donc on peut l’adapter à la tâche S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (5) v. 2005, ex. téléphone cellulaire système hétérogène: un processeur de ‘contrôle’ pour l’interface avec l’utilisateur et les communications réseau un processeur de ‘données’ spécialisé pour le traitement de la voix chaque processeur a son bus dédié, en plus d’un bus plus lent pour les périphériques la fréquence d’horloge de chaque processeur est minimisée pour réduire la consommation de puissance S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Évolution des systèmes embarqués (6) La prochaine étape? Intégration d’un grand nombre de processeurs. Particularisation de chaque processeur pour une tâche donné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
Améliorer la performance d’un processeur Une horloge plus rapide Plus de parallélisme par ‘force brute’: au niveau des instructions (en exécuter plusieurs en même temps); exploiter des processus légers (multithreading); coût élevé en transistors et en puissance. Mais … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Améliorer la performance d’un processeur exemple: évolution des DEC Alpha Kumar, R., et al.; "Heterogeneous chip multiprocessors," Computer , vol.38, no.11, pp. 32-38, Nov. 2005. © IEEE voir aussi: http://en.wikipedia.org/wiki/DEC_Alpha INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Options traditionnelles pour un système embarqué Exploiter le parallélisme de façon explicite: accélérateurs matériels et co-processeurs garder un processeur ‘normal’ pour le contrôle et la cohésion entre les blocs spécialisés Choisir des architectures existantes bien adaptées à l’application microcontrôleur vs processeur DSP présence d’opérations vectorisées, pipelines contrôlables, blocs de registres spécialisés, etc. coût de licence élevé coût de développement élevé INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
L’Eldorado … Pouvoir maintenir une très grande famille de processeurs avec des caractéristiques variées à un prix comparable à celui d’un processeur unique. Avoir des outils de design, compilation, simulation et débogage très performants pour ces processeurs. Trois options: processeurs paramétrables; processeurs extensibles; et, outils sur mesure de développement de processeurs. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
L’Eldorado, option #1: Processeurs paramétrables Processeurs d’une même famille et partageant un squelette d’architecture commun Certaines caractéristiques peuvent être activées ou non, e.g.: multiplicateurs; unités à point flottant; caches, etc. Certaines caractéristiques peuvent être élargies ou multipliées: largeur du chemin de données; nombre de pipelines; nombre et largeur des bus d’interface; nombre de registres, etc. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
L’Eldorado, option #2: Processeurs extensibles Processeurs auxquels on peut ajouter des extensions spécifiques à des applications: instructions additionnelles; bloc de registres additionnels; interfaces mémoires spécialisées, etc. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
L’Eldorado, option #3: Outils de conception de processeurs sur mesure Cadre de développement (framework) pour supporter le développement de processeurs: sans point de départ; ou, à partir de configurations de base. Génération automatisée d’outils de développement: compilateur; simulateur; débogueur, etc. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
Conclusion: Processeurs configurables … Les trois options ne sont pas mutuellement exclusives … processeurs paramétrables; processeurs extensibles; et, outils sur mesure de développement de processeurs Un processeur configurable pourra donc exploiter une ou plusieurs de ces options. On parlera aussi d’ASIP: Application Specific Instruction Set Processor INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel
« The processor is the NAND gate of the future » La porte NON-ET: est la porte logique de base; permet de construire n’importe quelle fonction logique; est petite par rapport au reste du système; a un faible coût; est rapide; et, est facile à utiliser. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel