INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs sous-RISC et application aux réseaux Quand un processeur RISC est trop gros 1
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pourquoi parler de processeurs sous-RISC en INF8505? En INF8505 on parle de processeurs configurables. On a vu plusieurs approches pour rendre un processeur plus complexe. Mais si on n’a pas besoin de toutes ces options, pourquoi se forcer à les prendre? Quand on conçoit un processeur de toutes pièces, il faut garder l’esprit ouvert … 2
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. Oui mais … quel genre de processeur? Est-ce qu’on suppose toujours un processeur RISC 32 bits???
MPSoC à multiples processeurs spécialisés INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 4 S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006
MPSoC à multiples processeurs spécialisés exemple multimédia INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 5 S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 Il y a beaucoup de processeurs …
Application réseau: tâches de base d’un routeur de paquets IP Validation de l’en-tête des paquets Version de protocole, taille de l’en-ête, vérification de l’intégrité (checksum – IPv4) Décrémentation du champs TTL (IPv4)/Hop Limit (IPv6) Pour contrôler la durée de vie des paquets; laisser tomber les paquets dont TTL = 0; nouveau calcul du checksum (IPv4) Déterminer le prochain saut du paquet: table de routage Fragmentation du paquet Si le MTU du port de sortie est plus petit que la taille du paquet INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 6 * Une référence: Medhi et Ramasamy, Network Routing, Morgan Kaufmann, 2007.
IPv4: en-tête de paquet INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 7 Wikipedia.org
IPv6: en-tête de paquet INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 8 Wikipedia.org
Parallélisme de la tâche, exemple: application de routage de paquets Une application de routage exhibe du parallélisme à deux niveaux: concurrence de processus: besoin de traiter plusieurs flux de paquets en parallèle; concurrence de données: plusieurs tâches distinctes peuvent être effectuées sur un paquet; concurrence de type de données: au niveau des bits: checksum, en-têtes de paquets de tailles irrégulières. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 9
Implémentation avec un processeur Pentium etc. Coût Consommation de puissance INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 10
Implémentation avec un processeur RISC configuré (e.g. Xtensa)? Jeux d’instructions à usage général. Traite des octets, mots, etc. En-tête de paquets ne correspondent pas nécessairement aux registres, ALUs, etc. Pas besoin de la plupart des instructions du jeu d’instructions. Suppose le modèle de base: compteur de programme et mémoire d’instructions. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 11
Implémentation avec un processeur sur mesure, décrit au niveau RTL? Très performant, mais peu flexible. Difficile à vérifier. Déconnexion avec le modèle décrit dans un langage de haut niveau. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 12
Proposition (Mihal et al.): TIPI Tiny Instruction-set Processor and Interconnect Composants à granularité plus fine qu’un processeur RISC Construire des plateformes programmables Outils de conception: capture de l’application méthodologie pour implémentation sur plateforme TIPI à multiprocesseurs INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 13
Spectre de granularité pour les processeurs INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, Circuits: calculs dans l’espaceLogiciel: calculs dans le temps TIPI: Tiny Instruction-set Processors and Interconnects
Exemple réseau (1) Tâche CheckIPHeader (Internet Protocol, v4) Opération checksum en complément à 1 sur 10 champs de 16 bits Pour processeur RISC configuré faudrait élargir le chemin de données, ajouter arithmétique en compl. à 1 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 15 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
Exemple réseau (2) Tâche DecIPTTL (Internet Protocol, v4) décrémentation du champs « time-to-live » et mise à jour du total de contrôle (checksum) besoin arithmétique en complément à 1 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 16 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
Communication entre processeurs handshaking complexe à travers réseau mais … solution de Tensilica était … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 17 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
rappel:Leibson & Kim / Xtensa … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 18 S. Leibson, J. Kim, « Configurable processors: a new era in chip design, » Computer July 2005.
Une solution: langage de description architecturale (ADL), e.g. LISA (1) Peut définir des instructions spécialisées (comme TIE de Xtensa) Peut décrire le reste de l’architecture aussi. Trois « outils »: formalisme pour décrire le jeu d’instructions formalisme pour contrôle par machines à états formalisme pour garder la cohérence entre le jeu d’instructions et la structure matérielle (registres, ALU, etc.) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 19
Une solution: langage de description architecturale (ADL), e.g. LISA (2) ADL encore un peu lourd pour TIPI INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 20 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
Abstraction TIPI Spécification du chemin de données. Chemin de contrôle (microcode) déduit de la description sans besoin de connexions explicites. Chaînage d’éléments TIPI possible INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 21 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
Solution TIPI pour le problème IPv4 Processeur TIPI construit à partir d’une librairie de composantes (blocs de registres, mux, mémoires, pipeline, ALU). Plusieurs ports non connectés: reliés implicitement à une unité de contrôle. Valeurs de ces ports déterminée par logiciel. adresses des blocs de registres et sélection des mux: selon l’instruction entrée du comparateur: opérande immédiate pas de compteur de programme ni mémoire d’instructions INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 22 A. Mihal, s. Weber, K. Keutzer, « Sub-RISC Processors », chap. 13 de « Customizable Embedded Processors », Morgan-Kaufman, 2007
rappel:Leibson & Kim / Xtensa … INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel 23 S. Leibson, J. Kim, « Configurable processors: a new era in chip design, » Computer July 2005.