Exécution des instructions machine



Documents pareils
Fonctionnement et performance des processeurs

Tout savoir sur le matériel informatique

Conception de circuits numériques et architecture des ordinateurs

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

Architecture des Ordinateurs. Partie II:

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

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

Systèmes et traitement parallèles

Matériel & Logiciels (Hardware & Software)

Cours 3 : L'ordinateur

Initiation au HPC - Généralités

Architecture des ordinateurs

Structure de base d un ordinateur

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Chapitre 4 : Les mémoires

Programmation assembleur : aperçu

GESTION DE LA MEMOIRE

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

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Compilation (INF 564)

Leçon 1 : Les principaux composants d un ordinateur

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Concept de machine virtuelle

Tests de performance du matériel

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Architecture des calculateurs

Une version javascript sera disponible directement dans le cours prochainement.

Architecture des ordinateurs

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

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

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

Partie 7 : Gestion de la mémoire

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)

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

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

Alchin Couderc Flambard TBSEID 2

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

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

CM2 L architecture MIPS32

Structure et fonctionnement d'un ordinateur : hardware

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

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Conception de circuits numériques et architecture des ordinateurs

ASR1 TD7 : Un microprocesseur RISC 16 bits

Présentation d HyperV

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

Éléments d'architecture des ordinateurs

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Module : Virtualisation à l aide du rôle Hyper-V

3. Structure des ordinateurs. 3.1 L' Unité Centrale (UC) ou processeur (Central Processing Unit CPU)

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

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

VD Négoce. Description de l'installation, et procédures d'intervention

ARCHITECTURE ET FONCTIONNEMENT

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

NOTIONS DE RESEAUX INFORMATIQUES

Boîte à outils OfficeScan

Jeu d instructions NIOS II

L informatique en solo

Eléments d architecture des machines parallèles et distribuées

Les avantages de la virtualisation sont multiples. On peut citer:

WinReporter Guide de démarrage rapide. Version 4

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

Worry-FreeTM. Business Security Éditions Standard et Advanced. Administrator s Guide. Configuration minimale requise

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

Ajouter de la mémoire à son ordinateur

vbladecenter S! tout-en-un en version SAN ou NAS

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Printer Administration Utility 4.2

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

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

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

Acquisition de matériels informatiques

Travaux pratiques : configuration et vérification des listes de contrôle d'accès IPv6 Topologie

Configuration système requise pour les grandes et moyennes entreprises

en version SAN ou NAS

Guide d'utilisation du Serveur USB

Laplink PCmover Express La façon la plus facile de transférer vers un nouveau PC Windows

1. Installation standard sur un serveur dédié

Fonctions pour la France

Introduction...6. Assembleur, philosophieet atouts...8. Avantages et inconvénients de l assembleur...9. Que programmer en Assembleur?.

HP 600PD TWR i G 4.0G 39 PC

Communications performantes par passage de message entre machines virtuelles co-hébergées

Le bus USB. I) Introduction : II) Architecture du bus USB :

IV- Comment fonctionne un ordinateur?

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Architecture matérielle des systèmes informatiques

Qu est ce qu un un serveur?

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

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

Guide de prise en main Symantec Protection Center 2.1

Département informatique de l université d Angers

MANUEL D'INSTALLATION

Transcription:

Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr] adresse (donnée, instruction suivante) j addr goto addr Eduardo Sanchez 2

Le processeur MIPS possède 32 registres Les opérations arithmétiques et logiques se font toujours entre registres Les seules instructions qui utilisent la mémoire comme opérande sont lw (load) et sw (store) La façon de donner l'adresse d'un opérande est appelée le mode d'adressage. Le processeur MIPS connaît cinq modes d'adressage: registre immédiat direct ou absolu indirect déplacement ou relatif Eduardo Sanchez 3 Exemples des modes d'adressage: registre: add $s0,$s1,$s2 s0=s1+s2 immédiat: add $s0,$s1,123 s0=s1+123 direct ou absolu: add $s0,$s1,(1234) s0=s1+mem[1234] indirect: add $s0,$s1,($s2) déplacement ou relatif: add $s0,$s1,123($s2) s0=s1+mem[s2] s0=s1+mem[s2+123] Eduardo Sanchez 4

Format I: transfert de données et branchements LW $t0,32($s3) opcode registre source registre destination adresse de la mémoire Format J: saut J addr opcode adresse de la mémoire Format R: opérations arithmétiques ADD $t1,$t2,$t0 opcode 0 0 0 0 0 0 registre source registre source 2 registre destination shift amount fonction 0 0 0 0 0 0 1 0 0 0 0 Eduardo Sanchez 5 JE 4 4 8 CALLF MOV PUSH ADD SHL TEST cond d/ w reg reg w v/ w displ offset r-m postbyte constant displ w postbyte immediat JE PC+displacement 8 16 16 6 2 8 5 3 PUSH SI 4 3 1 16 6 2 8 7 1 8 8 SHL BX,1 8 segment number MOV BX,[DI+45] ADD AX,#6765 TEST DX,#42 CALLF Le format de l'architecture x86 est complètement différent: codage des instructions: 1 à 17 bytes l'opcode peut contenir un bit qui indique si l opérande a 8 ou 32 bits (bit w) le bit d indique la direction du transfert: registre memoire certains opcodes contiennent le type d adressage et le registre utilisé quelques instructions utilisent un post-byte qui indique le type d adressage Eduardo Sanchez 6

Repertoire d'instructions Instructions arithmétiques et logiques Eduardo Sanchez 7 Instructions de comparaison Eduardo Sanchez 8

Instructions de saut conditionnel Eduardo Sanchez 9 Instructions de saut inconditionnel Eduardo Sanchez 10

Instructions d'accès à la mémoire Eduardo Sanchez 11 Registres Eduardo Sanchez 12

Exécution temporelle des instructions Toute instruction d'un processeur est exécutée en trois phases: fetch: lecture de l'instruction en mémoire, à l'adresse donnée par le PC. L'instruction est stockée dans le registre IR decode: identification de l'instruction execute: exécution des opérations nécessaires à l'instruction En général, l'exécution de chaque phase de l'instruction demande au moins un cycle d'horloge. La phase execute peut demander plus d'un cycle, en fonction de la complexité de l'instruction: si une instruction de déplacement peut se faire en un seul cycle, une instruction de division a besoin de plusieurs dizaines de cycles Eduardo Sanchez 13 Les vitesses d'horloge des processeurs actuels vont de plusieurs mégahertz (MHz) à plusieurs gigahertz (GHz) pour les plus récents Il n'y a pas beaucoup de sens à comparer les performances de deux processeurs en comparant seulement les vitesses d'horloge. En effet, pour des familles différentes, la quantité de travail effectuée en un cycle peut être très différente. Il est plus réaliste de mesurer la performance en comparant les temps d'exécution pour un même programme. Les programmes utilisés pour effectuer ces mesures sont appelés benchmarks L'ensemble de benchmarks le plus utilisé commercialement est le SPEC (Standard Performance Evaluation Corporation) Eduardo Sanchez 14

Une augmentation de performance sans augmentation de la vitesse d'horloge est obtenue grâce au pipeline Dans un processeur sans pipeline, l'exécution d'une instruction ne commence pas avant la fin d'exécution de l'instruction précédente i i+1 t t+1 t+2 t+3 t+4 t+5 FE DE EX FE DE EX Eduardo Sanchez 15 Dans un processeur à pipeline, à la fin de chaque phase démarre l'exécution d'une nouvelle instruction i i+1 i+2 i+3 t t+1 t+2 t+3 t+4 t+5 FE DE EX FE DE EX FE DE EX FE DE EX Eduardo Sanchez 16

Le pipeline peut être vu comme un premier pas vers le parallélisme. Toutefois, le vrai parallélisme est atteint seulement avec plus d'une unité de traitement Les processeurs superscalaires peuvent chercher plusieurs instructions à la fois, exécutées en parallèle par plusieurs unités de traitement Dans les systèmes multiprocesseurs, plusieurs séquences d'instructions sont exécutées en parallèle sur différents ensembles de données: c'est les architectures MIMD (multiple-instruction stream, multiple-data stream) appelées ainsi par opposition aux traditionnelles SISD (single-instruction stream, single-data stream) Un autre type de parallélisme est obtenu avec l'architecture SIMD (single-instruction stream, multiple-data stream), où plusieurs unités de traitement exécutent en parallèle la même séquence d'instructions, mais chacune sur son propre ensemble de données Eduardo Sanchez 17 Processeurs actuels (10.08) IBM Power6 Sun UltraSPARC T2+ Fujitsu SPARC64 VII Architecture 2x2x64-bit 8x8x64-bit Fréquence (GHz) 5 1.4 Superscalaire 7 16 Pipeline 13 8int/12fp Désordre (instr) limited 0 Technologie (nm-metal) 65-10 65 Taille (mm 2 ) 341 342 Transistors (M) 790 503 Consommation (W) 100 95 Cache (L1-L2-L3 I/D) 2x64K/64K-2x4M-32M 8x8K/16K-4M-NA SPECint/fp2006[cores] 15.8/20.1[1] NA SPECint/fp2006rate[cores] 1837/1822[64] 142/111[16] 4x2x64-bit 2.52 4 15 64 65-11 400 600 135 4x64K/64K-6M-NA 10.5/25[64] 2088/1861[256] Eduardo Sanchez 18

Intel 6-core Xeon X7460 AMD 4-core Opteron 8360SE Itanium 9150M Architecture 6x1x32/64-bit 4x1x32/64-bit 2x2x64-bit Fréquence (GHz) 2.67 2.5 1.67 Superscalaire 1 complex + 3 simple 3 6 Pipeline 14 12int/17fp 8 Désordre (instr) 96 72 0 Technologie (nm-metal) 45 65-11 90-7 Taille (mm 2 ) 503 283 596 Transistors (M) 1900 463 1720 Consommation (W) 130 105 104 Cache (L1-L2-L3 I/D) 6x32K/32K-3x3M-16M 4x64K/64K-4x512K-2M 2x16K/16K-1M/256K-12M SPECint/fp2006[cores] 22.0/22.3[24] 14.4/18.5[8] NA SPECint/fp2006rate[cores] 274/142[24] 170/156[16] 2893/NA[256] Eduardo Sanchez 19 Systèmes embarqués Eduardo Sanchez 20

Eduardo Sanchez 21 Eduardo Sanchez 22

Communication La communication entre le processeur et les dispositifs d'entrée/ sortie se fait normalement par le biais d'un dispositif appelé un contrôleur Le contrôleur réalise la conversion des messages entre le processeur et le périphérique, afin de respecter les formats propres à chaque dispositif périphérique contrôleur CPU bus mémoire Eduardo Sanchez 23 La communication entre le processeur et le contrôleur se fait de la même manière qu'avec la mémoire: une instruction similaire au STORE envoie une chaîne de bits au contrôleur et une instruction similaire au LOAD envoie une chaîne de bits au processeur Chaque contrôleur possède un ensemble d'adresses réservées, appelées ports Certains contrôleurs peuvent accéder directement à la mémoire, sans passer par le processeur: ce type d'accès est appelé DMA (Direct Memory Access) Par exemple, pour lire un secteur d'un disque, le processeur peut envoyer une demande au contrôleur, qui se charge de la tâche pendant que le processeur exécute d'autres opérations Eduardo Sanchez 24

La communication avec un périphérique est en général à double sens. Un processeur, par exemple, produit des données beaucoup plus rapidement qu'une imprimante n'est capable de les traiter: afin de ne pas perdre des données, il est donc important pour le processeur de connaître l'état de l'imprimante avant chaque envoi Le dialogue entre le périphérique et le processeur, via le contrôleur, utilise un mot de status, généré par le périphérique et stocké dans le contrôleur Eduardo Sanchez 25 La vitesse de transmission de l'information est mesurée en bits par seconde (bps) Il y a deux grands types de trajectoires de communication: la parallèle et la sérielle. Dans la communication parallèle, plusieurs bits sont transférés en même temps, chacun sur une ligne séparée Dans la communication sérielle, on transfère un seul bit à la fois. Cette technique est plus lente, mais demande une implémentation plus simple (donc, moins chère) Un exemple bien connu de communication sérielle est l'utilisation des modems (modulateur-démodulateur) pour transférer de l'information via des lignes téléphoniques. Les chaînes de bits sont d'abord transformées en tonalités pour être transférées par la ligne téléphonique et, ensuite, à leur destination, ces tonalités sont de nouveau transformées en chaînes de bits Eduardo Sanchez 26