EN 210 : Conception d un processeur avec jeu d instructions élémentaires. Solution d intégration en électronique numérique

Documents pareils
Exécution des instructions machine

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Rappels d architecture

Fonctionnement et performance des processeurs

Architecture des Ordinateurs. Partie II:

Systèmes et traitement parallèles

Compilation (INF 564)

ASR1 TD7 : Un microprocesseur RISC 16 bits

Initiation au HPC - Généralités

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

IV- Comment fonctionne un ordinateur?

Architecture des calculateurs

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Tout savoir sur le matériel informatique

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Architecture des ordinateurs

Sanity Check. bgcolor mgcolor fgcolor

Architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs

Conception de Systèmes de Communications Numériques

Architecture matérielle des systèmes informatiques

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Vers du matériel libre

Une méthode de conception de systèmes sur puce

Conception de circuits numériques et architecture des ordinateurs

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Quoi de neuf en LabVIEW FPGA 2010?

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

CM2 L architecture MIPS32

Chapitre 4 : Les mémoires

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

IFT1215 Introduction aux systèmes informatiques

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

Les liaisons SPI et I2C

Représentation des Nombres

QUESTION 1 {2 points}

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Conception et Intégration de Systèmes Critiques

Cours Informatique 1. Monsieur SADOUNI Salheddine

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Matériel & Logiciels (Hardware & Software)

ELP 304 : Électronique Numérique. Cours 1 Introduction

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs Introduction à l informatique

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Conférence sur les microcontroleurs.

Intel Corporation Nicolas Biguet Business Development Manager Intel France

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Informatique Générale

Introduction à la microinformatique et à la programmation OO

Tests de performance du matériel

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

EVault Endpoint Protection en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité

Séminaire RGE REIMS 17 février 2011

Cours 1 : La compilation

La mémoire. Un ordinateur. L'octet. Le bit

Microprocesseur + Logiciel

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Éléments d'architecture des ordinateurs

Organisation des Ordinateurs

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

LA RECONNAISSANCE VOCALE INTEGREE

Limitations of the Playstation 3 for High Performance Cluster Computing

Pré-requis techniques

Calcul scientifique précis et efficace sur le processeur CELL

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

MAC-TC: programmation d un plate forme DSP-FPGA

Machines virtuelles Cours 1 : Introduction

Thème 3 Conception et vérification d architectures de systèmes sur puce

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août Présentée et soutenue publiquement par.

Le socle de sécurité nouvelle génération Consolider, virtualiser et simplifier les architectures sécurisées

Nouvelles stratégies et technologies de sauvegarde

Partie 7 : Gestion de la mémoire

UE Programmation Impérative Licence 2ème Année

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Traitement de données

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Objet : demande d emploi

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Parallélisme et Répartition

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Pour obtenir le grade de. Arrêté ministériel : 7 août Sylvain Genevès

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Microprocesseurs spatiaux Contraintes et perspectives

Licence Sciences et Technologies Examen janvier 2010

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Cours 3 : L'ordinateur

Transcription:

EN 2 : Conception d un processeur avec jeu d instructions élémentaires Contexte et projet D. Dallet, C. Leroux & C. Jego camille.leroux@enseirb-matmeca.fr D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 1 / 36 Solution d intégration en électronique numérique Machine programmable DSP µc Circuit reconfigurable généraux multimédias FPGA CPLD PLA ASIC Application Specific Integrated Circuits VLIW RISC ASIP (Application Specific Instruction set Processor) Custom Semi- Custom Flexibilité DSP µc Circuits sur mesure Circuits précaractérisés Circuits prédiffusés Full Custom Standard cell Gate array Sea of gates D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 2 / 36

Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 3 / 36 Caractéristiques d un processeur universel GPP : General Purpose Processor Format de 32 ou 64 bits Adapté aux langages évolués Bonnes performances en calcul numérique Instructions spécifiques (MMX, SSE, ) Évolution multicoeurs Intel pentium Motorola Power PC Digital Alpha Chip Nombreuses fonctionnalités Augmentation de la consommation de puissance Gestion matérielle de la mémoire virtuelle Nécessaire pour les OS avancés Fonctionnalités dynamiques qui compliquent l aspect temps réel Cache de Sun SPARC PXA250 (RISC) D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 4 / 36

Architecture de base : + à usage universel configurant les opérations de l unité opérative globale contenant le programme (séquencement des opérations) et les PC IR D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 5 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 6 / 36

Organisation de l unité opérative 3 phases clés LOAD : charger le registre avec la valeur qui se trouve en mémoire PC IR +1 11 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 7 / 36 Organisation de l unité opérative 3 phases clés EXECUTE : passer le contenu de certains registres à travers l, puis stocker le résultat dans un registre PC IR 11 +1 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 7 / 36

Organisation de l unité opérative 3 phases clés STORE : stocker la valeur du registre (résultat) dans un emplacement mémoire PC IR +1 11 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 7 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 8 / 36

Organisation de l unité de contrôle 5 cycles d instruction FETCH INSTRUCTION : lire l instruction suivante dans la mémoire pour la charger dans le registre IR PC IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 9 / 36 Organisation de l unité de contrôle 5 cycles d instruction DECODE : déterminer le type de l instruction qui a été chargée dans IR PC IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 9 / 36

Organisation de l unité de contrôle 5 cycles d instruction FETCH OPERANDS : transférer les de la mémoire vers les registres de l unité opérative PC IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 9 / 36 Organisation de l unité de contrôle 5 cycles d instruction EXECUTE : faire passer le contenu de certain registres à travers l PC IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 9 / 36

Organisation de l unité de contrôle 5 cycles d instruction STORE : stocker la valeur du registre(résultat) dans un emplacement mémoire PC IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 9 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur / 36

Organisatin de la mémoire : deux types HARVARD Accès simultané aux programme et ( inst. et oprd chevauchées) de programme Harvard de PRINCETON (Von Neumann) Peu de fil de connexion Implémentation simple (programme et ) Princeton (Von Neumann) Le modèle d architecture de Von Neumann est le modèle le plus utilisé actuellement D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 11 / 36 Organisation de la mémoire : architecture HARVARD Déclinaison de base Déclinaison 1 Déclinaison 1 programme programme/ programme Déclinaison 1 Déclinaison 1 programme programme D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 12 / 36

Organisation de la mémoire cache Accélérer l accès aux mémoires (programme et ) La mémoire cache est intégrée au processeur (au sein de la même puce) Petite taille (< 1MB) Accès très rapide Retient une copie d une petite partie de la mémoire Accès réussi ou manqué! Haute technologie (rapide et plutôt chère), généralement sur la même puce Cache Technologie moins rapide et moins chère, généralement séparée sur une autre puce D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 13 / 36 Cycles d instruction PC0 inst. clk Decode oprends. Exec. Store results PC 0 IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 14 / 36

Cycles d instruction PC0 inst. clk PC1 inst. Decode Decode oprends. oprends. Exec. Exec. Store results Store results +1 clk PC 1 IR R0 R1 0 1 2 load R0, M[500] Inc R1, R0 store [M501], R1 500 501 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 14 / 36 Cycles d instruction PC0 inst. clk Decode oprends. Exec. Store results PC1 inst. Decode oprends. Exec. Store results clk PC2 inst. clk Decode oprends. Exec. Store results PC 1 IR 0 load R0, M[500] 1 Inc R1, R0 2 store [M501], R1 500 501 11 R0 R1 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 14 / 36

Bus de communication BUS adresses contrôle Périphérique Périphérique Adresses : sélection du périphérique et d une donnée en son sein Données : valeur de la donnée à échanger Contrôle : lire / écrire / haute impédance. Le processeur est le maître du bus Il est le seul à écrire sur les bus adresse et contrôle. Le périphérique obtempère sur le bus Lecture : il fournit la donnée demandée. Écriture : il récupère la donnée fournie par le processeur. Haute impédance : il se déconnecte du bus. D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 15 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 16 / 36

Considérations architecturales s N-bits Chemin de (, registres, bus, interface mémoire) Systèmes embarqués : 8, 16 ou 32 bits DSPs : 16 ou 32 bits s universels : 32 ou 64 bits Taille du registre PC : détermine la taille de l espace d adressage Fréquence d horloge temps de propagation à travers le chemin critique de la partie opérative l accès mémoire est souvent plus lent Les performances peuvent être améliorées à travers : Organisation pipeline : découpage de l exécution d une instruction en plusieurs étapes superposables plusieurs s : parallélisation pour le cycle d Execute (architectures superscalaires et VLIW) Complexité du jeu d instructions architectures CISC architectures RISC D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 17 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 18 / 36

Principe du pipeline Exemple d illustration : Construction d une voiture en 6 sous-tâches D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 19 / 36 Principe du pipeline Exemple d illustration : Construction d une voiture en 6 sous-tâches D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 19 / 36

Organisation pipeline dans un processeur Exécution des instructions sans pipeline Exécution des instructions avec pipeline D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 20 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 21 / 36

Principe du parallélisme dans les processeurs Acronyme SISD Single Instruction, Single Data SIMD Single Instruction, Multiple Data MIMD Multiple Instruction, Multiple Data SISD Instruction ADD Données 1 A B SIMD Instruction ADD Données 1 Données 2 A1 B1 A2 B2 Instruction 1 ADD MIMD Instruction 2 MUL Données 1 Données 2 A1 B1 A2 B2 ALU1 ALU1 ALU2 ALU1 ALU2 R = A + B R1 = A1 + B1 R2 = A2 + B2 R1 = A1 + B1 R2 = A2 B2 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 22 / 36 Architecture superscalaire Superscalaire Opération scalaire : s exécute sur un ou deux nombres (à l opposé d une opération vectorielle ou matricielle) Lecture des instructions ( insts) en paquets Ordonnancement statique (compilation) ou dynamique (exécution) En cas d ordonnancement dynamique : nécessité d un bloc matériel supplémentaire (complexe) afin de détecter les instructions indépendantes D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 23 / 36

Architecture VLIW VLIW (Very Long Instruction Word) Longue instruction (128-24 bits) composée de plusieurs opérations indépendantes (au lieu d une) : Équivalente à une architecture superscalaire avec un ordonnancement statique De plus en plus répandue D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 24 / 36 Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 25 / 36

Evolution des processeurs universels (1/2) Tendance vers un langage machine de haut niveau comme le langage C instructions de plus en plus nombreuses instructions de plus en plus complexes difficulté pour décoder les instructions (tailles variables) augmentation de la complexité de la logique de contrôle limite l augmentation la fréquence d horloge contrôle très couteux donc peu de place pour le reste : taille des caches primaires, secondaires nombre de registres limité nombre d unités de calcul limité s à jeu d instructions étendu CISC (Complex Instruction Set Computer) D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 26 / 36 Evolution des processeurs universels (2/2) occurrence d apparition des instructions s à jeu d instructions étendu CISC (Complex instruction Set Computer) 23 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 27 / 36

Alternative : processeurs RISC Réduction du jeu d instructions aux instructions les plus couramment utilisées (instructions simples) décodage simple taille fixe latence d exécution tendant vers un temps de cycle pipeline aisé et contrôle simple architecture orthogonale (toute instruction peut utiliser tout registre) architecture de base compacte facilitant : augmentation du nombre de registres augmentation de la taille des caches augmentation du nombre des unités de calcul augmentation de la fréquence d horloge s à jeu d instructions réduit RISC (Reduced Instruction Set Computer) D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 28 / 36 Architecture RISC versus architecture CISC RISC CISC 25 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 29 / 36

Panorama des processeurs D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 30 / 36 Unités de mesure des performances de processeur avec d instructions MFLOPS MOPS MIPS MMACS MBPS Million Floating Point Operation Per Second Million Operation Per Second Million Instructions Per Second Million of MAC per Second Mega-Bytes Per Second Mesure le nombre d opérations arithmétiques à virgule flottante que le DSP à virgule flottante peut réaliser en une seconde Mesure le nombre total d opérations (calcul, accès DMA, transferts, etc.) que le DSP peut réaliser en une seconde Mesure le nombre de codes machine (instructions) que le DSP peut réaliser en une seconde Mesure le nombre d opérations MAC (Multiply+Accumulate) que le DSP peut réaliser en une seconde Mesure la bande passante d un bus particulier ou d un dispositif d D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 31 / 36

Plan 1 Architecture de base d un processeur universel 2 Considérations architecturales Principe du pipeline Principe du parallélisme architecture CISC /architecture RISC 3 Introduction au module EN216 D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 32 / 36 Présentation du processeur minimal 8 bits 8-bits à usage universel Basé sur un registre accumulateur appelé ACCU (8 bits) Quatre type d instructions Chaque instruction est codée sur 8 bits. Deux bits pour coder le type de l opération (code op) et 6 bits pour coder l opérande ou l adresse de l opérande dans la mémoire selon le type de l instruction. D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 33 / 36

Conception du processeur D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 34 / 36 Organisation du module Partie préliminaire (sur feuille) Compréhension du jeu d instructions Interprion du contenu de la mémoire Application sur un cas concret : PGCD de deux nombres entiers Définition du schéma bloc de l ensemble du processeur Partie opérative Partie mémorisation Partie contrôle Schéma bloc global Partie conception (sur machine) Description VHDL et validation fonctionnelle du : bloc de la partie opeérative, bloc de mémorisation, bloc de contrôle. Description VHDL et validation fonctionnelle du top level Partie implantation et prototypage (sur ordinateur et sur carte) Ajout d un bloc VHDL gérant les périphériques de la carte Synthèse logique, placement/routage et génération du fichier bitstream Chargement sur la carte et validation D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 35 / 36

Objectifs du module Conduire un projet de conception de ménière autonome et structurée de bout en bout Utiliser et assembler les fonctions élémentaires d électronique numérique Apprendre à respecter les règles régissant un circuit numérique synchrone Comprendre les principes de base de fonctionnement d un processeur avec jeu d instructions D. Dallet, C. Leroux & C. Jego (Bordeaux INP) EN2 - Conception processeur 36 / 36