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

L’architecture du processeur Xtensa de Tensilica

Présentations similaires


Présentation au sujet: "L’architecture du processeur Xtensa de Tensilica"— Transcription de la présentation:

1 L’architecture du processeur Xtensa de Tensilica
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

2 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

3 Processeurs configurables – pourquoi? (rappel) (1)
Les processeurs sont au cœur de la plupart des applications embarquées à cause de la facilité relative de décrire un système en logiciel. La conception et la vérification d’un processeur sont des tâches complexes. Les processeurs traditionnels sont fixes: ils sont à prendre ou à laisser. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

4 Processeurs configurables – pourquoi? (rappel) (2)
Pour une application avec des contraintes de performance, de surface et de consommation de puissance exigeantes, on a besoin d’un ASIP (Application Specific Instruction-set Processor) Pour concevoir le ASIP, on aimerait pouvoir particulariser un processeur existant: processeur paramétrable: a une configuration de base, et on peut activer ou particulariser certaines caractéristiques comme des multiplicateurs, unités à point flottant, caches, nombre de registres, largeur de bus, etc. processeur extensible: a une configuration de base, et on peut modifier son jeu d’instructions, lui ajouter des blocs fonctionnels, des interfaces, etc. on a besoin d’outils de design (compilateur, assembleur, débogueur, simulateur, profileur) qui s’adaptent au paramètres choisis et aux extensions apportées. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

5 Pourquoi parler de l’architecture du Xtensa en INF8505? (1)
Il est pertinent d’étudier en détails une architecture de processeur configurables disponible sur le marché: Pour mieux comprendre les enjeux lors de la conception d’un processeur configurable Pour nous inspirer pour nos propres architectures Plusieurs compagnies offrent des processeurs configurables et outils: Altera (altera.com) « the pioneer of programmable logic solutions »: Nios II ARC (arc.com) « the world leader in configurable processor technology »: ARC 600, 700, etc. Derivation Systems (derivation.com) « a leading developer of formal verification systems »: LavaCORE Gaisler Research (gaisler.com) : LEON Target (retarget.com) « one of the pioneers of configurable processor technology » : outils Chess, Bridge, Darts, Checkers, Go, Risk. Tensilica (tensilica.com) « the leader and major innovator in configurable processor technology »: Xtensa Toshiba Semiconductor ( MeP Xilinx (xilinx.com) « the worldwide leader of programmable logic solutions »: MicroBlaze INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

6 Pourquoi parler de l’architecture du Xtensa en INF8505? (2)
À Polytechnique nous avons accès aux outils de Tensilica. Dans les labos de INF8505, on utilise le Xtensa. On pourrait dire que le Xtensa est le plus populaire; il y a aussi des différences importantes avec les produits de Xilinx et d’Altera. Le Xtensa est intéressant parce qu’il offre les trois caractéristiques d’un processeur configurable: processeur paramétrable: a une configuration de base, et on peut activer ou particulariser certaines caractéristiques comme des multiplicateurs, unités à point flottant, caches, nombre de registres, largeur de bus, etc. processeur extensible: a une configuration de base, et on peut modifier son jeu d’instructions, lui ajouter des blocs fonctionnels, des interfaces, etc. on a besoin d’outils de design (compilateur, assembleur, débogueur, simulateur, profileur) qui s’adaptent au paramètres choisis et aux extensions apportées. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

7 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

8 Xtensa LX2, vue d’ensemble
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel tensilica.com

9 L’Xtensa suit une architectures RISC: caractéristiques fondamentales
Jeu d’instructions registre-registre (références à la mémoire avec chargement et sauvegarde seulement). Instructions à trois opérandes (2 sources et une destination). Grand bloc de registres à usage général. Pipeline menant à un débit de une instruction par cycle. Taille des instructions variable: 24 ou 16 bits (fixe à 32 bits habituellement pour RISC) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

10 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

11 Bloc des registres du Xtensa
Nombre fixe de 16 donc les instructions nécessitent 12 bits pour spécifier les trois opérandes Largeur fixe de 32 bits Utilisation de fenêtrage: un total de 32 ou 64 registres peuvent exister dans le processeur Un registre spécial distinct est utilisé pour spécifier les décalages – SAR (Shift Amount Register) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

12 Fenêtrage du bloc des registres (1)
Un nombre fixe de registres physiques existent. Une procédure n’a accès qu’à un sous ensemble de registres contigus. Lors d’un appel de procédure, la fenêtre de registres est décalée partiellement de façon à chevaucher la fenêtre précédente. Les registres partagés sont utilisés pour passer des paramètres et retourner des résultats. Si un grand nombre d’appels fait déborder la fenêtre, une exception est lancée et les registres sont alors sauvegardés sur la pile lors d’un appel de procédure. S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

13 Fenêtrage du bloc des registres (2)
Le décalage de la fenêtre d’un appel à l’autre est spécifié par les 2 bits les plus significatifs de l’adresse: 0, 4, 8 ou 12 positions. Les appels de fonctions peuvent donc se faire uniquement à l’intérieur d’un espace de 1 Go (230). S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

14 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

15 Espace mémoire Architecture Harvard (mémoires des instructions et des données séparées). Options configurables: Mémoires locales Largeurs des bus aux mémoires INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

16 Boutisme (Endianness) (1)
On peut configurer le processeur en mode petit-boutiste (little endian) ou gros-boutiste (big-endian) S. Leibson, « Designing SOCs with configured cores », © Elsevier, 2006 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

17 Boutisme (Endianness) (2)
Exemple avec les nombres: le français s’écrit de gauche à droite, et les nombres sont écrits en mode petit-boutiste: les chiffres de poids forts sont écrits en premier l’arabe s’écrit de droite à gauche, et les nombres sont écrits en mode grand-boutiste: les chiffres de poids forts sont écrits en dernier et le résultat est le même! Exemple avec les dates: 2008/01/21: mode petit-boutiste 21/01/2008: mode grand-boutiste INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

18 Boutisme (Endianness) (3)
Le boutisme a surtout un impact concernant la lecture et l’écriture de la mémoire, en passant par exemple d’un registre de 32 bits à une mémoire à 8 bits. Différents formats de fichiers observent un boutisme différent: GIF, TGA: petit-boutistes JPEG, photoshop: grand-boutistes INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

19 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

20 Catégories d’instructions
Chargement de et entreposage vers la mémoire Branchements Déplacements entre registres (option conditionnelle) Opérations logiques et arithmétiques: add, sub, neg, abs, and, or, xor (combinaison avec décalages) Décalages INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

21 Modes d’adressage Valeurs immédiates Directe (registre)
Indirecte (registre) avec index Pas de post- ou pré- incrémentation ou décrémentation Opérations combinées (e.g. addition avec décalage) INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

22 Sommaire des instructions
chargements et signés ou non (8, 16) ou de 32 bits entreposages branchements instructions combinées: comparaison et branchement déplacements entre registres option conditionnelle arithmétique de base addition et décalage combinés logique de base décalages utilisation d’un registre spécial autres Tensilica inc., Xtensa ISA Reference Manual, © 2006

23 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

24 Encodage des instructions (1)
Les processeurs RISC ont habituellement une taille fixe d’instructions (par exemple 32 bits). Xtensa offre des instructions encodées sur 24 et certaines sur 16 bits (option de configuration). L’avantage est une réduction de la taille d’un programme (par au moins 25%, intéressant pour une application embarquée). Les instructions sur 16 bits sont les plus simples, load, store, add, etc. Le désavantage est que les instructions ne sont pas en général alignées avec les mots en mémoire, donc il est nécessaire d’effectuer un réalignement. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

25 Encodage des instructions (2)
4 bits Tensilica inc., Xtensa architecture and performance © 2005 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

26 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

27 Tensilica inc., Xtensa ISA Reference Manual, © 2006
Pipeline Pipeline à 5 niveaux montré ici; 7 niveaux possibles INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Tensilica inc., Xtensa ISA Reference Manual, © 2006

28 Survol de la présentation
Introduction Vue d’ensemble et caractéristiques fondamentales Registres Mémoire et données Sommaire des instructions Encodage des instructions Pipeline Conclusion INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel

29 Xtensa LX2, vue d’ensemble
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel tensilica.com


Télécharger ppt "L’architecture du processeur Xtensa de Tensilica"

Présentations similaires


Annonces Google