L’architecture du processeur Xtensa de Tensilica

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Architecture de machines Le microprocesseur
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
GEF 243B Programmation informatique appliquée
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Plan du cours : 2ème Partie
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Objectif de l’exposé.
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
People want to do X, but computers can only do Y. This leads to a problem. My job is to explain how this problem can be solved.
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Auto Apprentissage Le DSP
2.Les différentes architectures (Louis)
Système d’exploitation : Assembleur
Chapitre 8 : L’architecture de base des ordinateurs
Pourquoi MIPS Assembler ?
Cours #9 Conception et réalisation de processeurs à usage général
Mémoire cache ou antémémoire
Expressions et assignations
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Architecture des Ordinateurs
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
LES SYSTEMES AUTOMATISES
©Frédéric Bastien 2006 Université de Montréal 1 LISATek LISATek pour concevoir des processeurs.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Pipeline – opérations multicycles Nous avons vu jusquà maintenant comment faire un.
Systèmes Superscalaires et VLIW
Architecture et technologie des ordinateurs II
ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.
Expressions et affectations
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Lycée ELKHAWARIZMI De SAFI
Processeurs et chemins des données
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs sous-RISC et application aux réseaux Quand.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Langages de description architecturale.
Le processeur Xtensa de Tensilica: paramétrage et extensibilité
Cours de Structure et Technologie des composants d’ordinateurs
Conception de processeurs – partie 1
Processeurs configurables et traitement numérique des signaux
INF8505: processeurs embarqués configurables
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
Cours Architecture des Systèmes Informatiques
Un survol du language C.
Les systèmes mono-puce
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Compilateurs à cibles multiples et processeurs configurables
Architectures des ordinateurs
Les Machines RAM.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles.
Architecture et technologie des ordinateurs II
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Évolution des (micro)processeurs et des systèmes embarqués
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel ASIP Design and Synthesis for Non Linear Filtering in.
Micro contrôleurs M. Boutemeur
Architecture et technologie des ordinateurs II
Patricia Renault UPMC 2005/2006
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Architecture et technologie des ordinateurs II
Chapitre 4 La représentation des nombres.
Chapitre 3 L’accès aux données.
Chapitre 4b La représentation des nombres.
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
CHAPITRE 10 Les sous-programmes 1. Sous-programme Suite d’instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts.
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Transcription de la présentation:

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

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

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

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

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 (www.semicon.toshiba.co.jp): 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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