Chapitre 2 Architecture externe de MICROPROCESSEUR 32 BITS MIPS r3000 Dr R. BOUDOUR

Documents pareils
Rappels d architecture

CM2 L architecture MIPS32

Compilation (INF 564)

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

Exécution des instructions machine

Cours Informatique 1. Monsieur SADOUNI Salheddine

Conception de circuits numériques et architecture des ordinateurs

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

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

Architecture matérielle des systèmes informatiques

Fonctionnement et performance des processeurs

Cours 3 : L'ordinateur

Licence Sciences et Technologies Examen janvier 2010

Architecture des Ordinateurs. Partie II:

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Architecture des ordinateurs

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

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

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

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

Représentation des Nombres

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Programmation C. Apprendre à développer des programmes simples dans le langage C

Éléments d'architecture des ordinateurs

Configuration système requise pour les grandes et moyennes entreprises

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

CONFIGURATION DE L AUTOMATE SIEMENS

Structure et fonctionnement d'un ordinateur : hardware

Matériel & Logiciels (Hardware & Software)

Configuration système requise. pour les grandes et moyennes entreprises

Tout savoir sur le matériel informatique

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

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

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

IV- Comment fonctionne un ordinateur?

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

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

DESSIN ASSISTÉ PAR ORDINATEUR D.A.O. EN LYCÉE PROFESSIONNEL

Éléments de programmation et introduction à Java

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Programmation assembleur : aperçu

VMWare Infrastructure 3

Installation du transfert de fichier sécurisé sur le serveur orphanet

Cours Informatique Master STEP

Annexe : La Programmation Informatique

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Sanity Check. bgcolor mgcolor fgcolor

TP1. Outils Java Eléments de correction

Introduction au langage C

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

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Une version javascript sera disponible directement dans le cours prochainement.

Programmation parallèle et distribuée

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Structure d un programme

Exigences système Edition & Imprimeries de labeur

SYSTÈME DE GESTION DE FICHIERS

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES

INTRODUCTION À L INFORMATIQUE

Concept de machine virtuelle

Enregistreur de données d humidité et de température

Samsung Data Migration v2.6 Guide d'introduction et d'installation

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

IP Remote Controller

CH.3 SYSTÈMES D'EXPLOITATION

ANNEXE 1 RECOMMANDATIONS DEONTOLOGIQUES APPLICABLES AUX SERVICES SMS+ / MMS+

Exigences système Edition & Imprimeries de labeur

Systèmes et traitement parallèles

Initiation au HPC - Généralités

Dessin assisté par ordinateur en lycée professionnel

Conservation des documents numériques

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Présentation du langage et premières fonctions

AUTORITE DE REGULATION DES COMMUNICATIONS ELECTRONIQUES ET DE LA POSTE (ARCEP)

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

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

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Programmation parallèle et distribuée

Jeu d instructions NIOS II

Conventions d écriture et outils de mise au point

Introduction à NetCDF

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

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

La VOIP :Les protocoles H.323 et SIP

Chapitre 1 : Introduction aux bases de données

Fiche Technique. Cisco Security Agent

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Leçon 1 : Les principaux composants d un ordinateur

Transcription:

Architecture des ordinateurs Chapitre 2 Architecture externe de MICROPROCESSEUR 32 BITS MIPS r3000 Dr R. BOUDOUR

Plan 2 Architecture externe du microprocesseur 32 bits MIPS R3000 : Les registres visibles du logiciel. L'adressage et la structuration de l'espace adressable. Le langage d'assemblage du processeur MIPS R3000

Introduction (1) 3 Les composants d un ordinateur

Introduction (2) 4 Définition d un ordinateur L'ordinateur est une machine électronique, qui traite l'information dans un processeur (CPU pour Central Processing Unit) selon un programme qui est enregistré en mémoire. Le programme est constitué d'instructions (qui ne sont généralement pas modifiables) et de données, qui sont modifiables. Les données fournies en entrée par un organe d'entrée (par exemple de type clavier) sont traitées par l'unité centrale en fonction du programme pour délivrer les résultats en sortie, via un organe de sortie (par exemple un écran).

Introduction (3) 5 Définition de l architecture d un ordinateur L'architecture d'un système à microprocesseur représente l organisation de ses différentes unités et de leurs interconnexions. Le choix d'une architecture est toujours le résultat d'un compromis : entre performances et coûts entre efficacité et facilité de construction entre performances d'ensemble et facilité de programmation etc. L architecture logicielle est la spécification d un processeur. Elle décrit les unités fonctionnelles (UAL, Unités de calcul flottant etc.), les registres visibles, les types de données manipulées et les opérations que le processeur effectue sur ces données. Cette spécification est décrite par le jeu d instructions. C est la machine que voit un compilateur, ou un programmeur en langage machine.

Introduction (4) 6 Le jeu d instructions est l ensemble des opérations élémentaires qu un processeur peut accomplir. Le type de jeu d instructions d un processeur détermine son architecture. Deux types d architectures : RISC (Reduced Instruction Set Computer) exemples : PowerPC, MIPS, Sparc,ARM, CISC (Complex Instruction Set Computer) exemples : 80x86, Pentium, 680x0, vax, CISC 1985 RISC Année Axe du temps

Introduction (5) 7 Chaque architecture possède ses avantages et ses inconvénients Pour le RISC, la complexité est envoyée au niveau du compilateur Pour le CISC, le décodage est plus pénalisant Les architectures CISC et RISC utilisent les mêmes technologies, ont de plus en plus tendance à se rapprocher. Certains processeurs par exemple, traduisent les instructions CISC en instructions RISC avant exécution. Les instructions CISC sont traduites en micro-instructions RISC traitées par le cœur du processeur. Cela permet d assurer la compatibilité des nouveaux processeurs avec tous les logiciels développés antérieurement, ce qui est indispensable si on veut pouvoir vendre un nouveau processeur.

Introduction (6) 8 L architecture RISC permet : de réduire la complexité du processeur en utilisant des instructions simples. Les compilateurs RISC comportent des programmes qui traient des instructions complexes ce qui n est pas le cas dans les compilateurs CISC qui traient directement des opérations complexes. Dans l architecture RISC, le niveau microcode est supprimé, la taille des instructions est fixe, Chaque instruction est exécutée en un cycle machine. l adressage indirect est interdit.

Introduction (7) 9 MIPS I MIPS II R2000 (R2000A) R3000 (R3000A) 32 bits RISC, 12 à 33 Mhz 32 bits RISC, 20 à 40 Mhz (sony playstation) R6000 64 bits RISC MIPS III R4000(R4400) 32 bits RISC, 50 à 250 Mhz (Nintendo 64) R4200 (R4300i) R4600 (R4700) MIPS IV R5000 (64 bits RISC) R8000 R10000 (R12000, R12000A, R14000, R14000A, R16000, R16000A, R18000) etc. MIPS R4000

Introduction (8) 10 MIPS (Acronyme de Microprocessor without Interlocked Pipeline Stages) : Microprocesseur sans verouillage de pipeline MIPS est developpé par MIPS Computer Systems (MIPS Technologies actuellement). Initialement utilisée dans des stations de travail, des serveurs et des systèmes tolérants aux fautes, la famille de processeurs MIPS couvre également un large spectre d'applications. Le succès des processeurs MIPS est également dû : au marché des systèmes embarqués (consoles de jeux, Personal Digital Assistant). etc. La croissance de ce secteur et les enjeux économiques qu'il représente laissent augurer un avenir florissant pour MIPS.

MIPS R3000 11 Annoncé en 1988 par la société MIPS Computer Systems, le MIPS R3000 fut le premier processeur à vocation industrielle. Il succède au MIPS R2000, dérivé des travaux de l'université de Stanford (1985). L'une des principales caractéristiques de ce processeur est sa simplicité. En effet, la force des processeurs MIPS réside dans la relation très étroite entre l'architecture du processeur et le compilateur associé. Il opère à une fréquence de 20, 25 et 33.33 Mhz

MIPS R3000 12 Le processeur possède deux modes de fonctionnement : le mode utilisateur (ou user) pour exécuter les applications, le mode noyau (kernel) ou superviseur pour exécuter le système. Ces 2 modes sont nécessaires à l exécution sûre de plusieurs processus (programme en cours d exécution) sur un même processeur.

Registres visibles du logiciel (1) 13 Les registres du MIPS R3000 visibles du logiciel, c-à-d. qui sont manipulés par les instructions implicitement ou explicitement, ont tous une taille de 32 bits. Registres généraux de MIPS R3000

Registres visibles du logiciel (2) 14 Registres non protégés (0 i 31) : 32 registres généraux Ces registres sont directement adressés par les instructions, et permettent de stocker des résultats de calculs intermédiaires. Le registre R0 est un registre particulier : - la lecture fournit la valeur constante "0x00000000" - l écriture ne modifie pas son contenu. Le registre R31 implicitement est utilisé par les instructions d'appel de procédures (instructions BGEZAL, BLTZAL, JAL) pour sauvegarder l'adresse de retour.

Registres visibles du logiciel (3) 15 PC Registre compteur de programme (Program Counter) Ce registre contient l'adresse de l'instruction en cours d'exécution. Sa valeur est modifiée par toutes les instructions. IR, Instruction Register (Registre instruction) Ce registre contient l instruction en cours d exécution. Il n est pas directement accessible. HI et LO Registres pour la multiplication ou la division Ces deux registres 32 bits sont utilisés pour stocker le résultat d'une multiplication sur 64 bits ou d'une division euclidienne, quotient dans lo et le reste dans hi.

Registres visibles du logiciel (4) 16 Remarque : Des instructions de comparaison permettent de calculer un booléen qui est stocké dans l un quelconque des registres généraux. La valeur de ce booléen peut ultérieurement être testée par les instructions de branchement conditionnel.

Modes d adressage - Rappel 17 Un mode d'adressage spécifie la façon dont est calculée l'adresse mémoire effective d'un opérande à partir de valeurs contenues dans des registres et de constantes contenues dans l'instruction. Il montre comment localiser une donnée, en d autres termes montre la manière d accéder à la mémoire

Adressage des octets - Rappel 18 Un mot contient plusieurs octets : l ordonnancement des octets dans le même mot se fait de deux manières : adresse Exemple 0x5678 Type ordonancement xx00 5 6 7 8 Grand boutiste xx00 8 7 6 5 Petit boutiste 13/10/2011 06:38:41

Adressage mémoire (1) 19 Adresses octet Toutes les adresses émises par le processeur sont des adresses octets, ce qui signifie que la mémoire est vue comme un tableau d'octets, qui contient aussi bien les données que les instructions. Les adresses sont codées sur 32 bits. Les instructions sont codées sur 32 bits. Les échanges de données avec la mémoire se font : par mot (4 octets consécutifs), demi mot (2 octets consécutifs), ou par octet. 13/10/2011 06:38:41

Adressage mémoire (2) 20 L'adresse d'un mot de donnée ou d'une instruction doit être un multiple de 4. L'adresse d'un demi-mot doit être multiple de 2. (on dit que les adresses doivent être "alignées"). Le processeur part en exception (interruption) si une instruction calcule une adresse qui ne respecte pas cette contrainte (non alignée). 13/10/2011 06:38:41

Adressage mémoire (3) 21 Calcul d adresse Il n existe qu un seul mode d adressage, le mode indirect registre consistant à effectuer la somme entre le contenu d'un registre général Ri, défini dans l'instruction, et d'un déplacement qui est une valeur immédiate signée, sur 16 bits, contenue également dans l'instruction : adresse effective = Ri + Déplacement 13/10/2011 06:38:41

Adressage mémoire (4) 22 Mémoire virtuelle Pour des raisons de simplicité, cette version du processeur R3000 ne possède pas de mémoire virtuelle, c'est-à-dire que le processeur ne contient aucun mécanisme matériel de traduction des adresses logiques en adresses physiques. Les adresses calculées par le logiciel sont donc transmises au système mémoire sans modifications. On suppose que la mémoire répond en un cycle. 13/10/2011 06:38:41

Adressage mémoire (5) 23 Segmentation L espace mémoire est découpé en 2 segments identifiés par le bit de poids fort de l adresse : adr 31 = 0 segment utilisateur (user) adr 31 = 1 segment système (kernel) Quand le processeur est en mode superviseur, les 2 segments sont accessibles. Quand le processeur est en mode utilisateur, seul le segment utilisateur est accessible. Le processeur part en exception si une instruction essaie d'accéder à la mémoire avec une adresse correspondant au segment système alors que le processeur est en mode utilisateur. 13/10/2011 06:38:41

Vue du programmeur d un ordinateur 24 Nous nous intéressons à ce niveau pour MIPS R3000 Un ordinateur est perçu comme un objet structuré : un ensemble de niveaux superposés 13/10/2011 06:38:41

Langages machine 25 Le langage machine est le langage directement interprétable par le processeur. Le langage est défini par un ensemble d instructions que le processeur exécute directement. Chaque instruction correspond à un nombre (codé selon le cas sur un ensemble de bits, : le format de l instruction) et se décompose en : - une partie codant l opération à exécuter appelé opcode ou code Opération - et une partie pour les opérandes Chaque processeur possède son propre langage machine. Le langage d assemblage est le langage de programmation. C est une version lisible par un humain du langage machine, obtenu en remplaçant les valeurs entières du langage machine par des mnémoniques (instruction du langage d assemblage). Pour un même langage machine, il peut exister différents langages d assemblage : variation sur la syntaxe. Assembleur : programme qui transforme du langage assembleur en langage machine. 13/10/2011 06:38:41

Du langage d assemblage à l exécution 26 13/10/2011 06:38:41

Jeux d instructions? 27 13/10/2011 06:38:41

Jeux d instructions MIPS 28 Le processeur MIPS R3000 possède 57 instructions qui se répartissent en 4 classes : 33 instructions arithmétiques/logiques entre registres 12 instructions de branchement 7 instructions de lecture/écriture mémoire 5 instructions systèmes Toutes les instructions ont une longueur de 32 bits et possèdent un des trois formats suivants : 13/10/2011 06:38:41

Jeux d instructions MIPS 29 Le format J n est utilisé que pour les branchements à longue distance (inconditionnels, sauts). Le format I est utilisé par les instructions de lecture/écriture mémoire, par les instructions utilisant un opérande immédiat, ainsi que par les branchements courte distance (conditionnels). Le format R est utilisé par les instructions nécessitant 2 registres sources (désignés par RS et RT) et un registre résultat désigné par RD. 13/10/2011 06:38:41