Un Ordinateur, comment ça marche en vrai?



Documents pareils
Rappels d architecture

Architecture des ordinateurs

Compilation (INF 564)

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Exécution des instructions machine

CM2 L architecture MIPS32

Fonctionnement et performance des processeurs

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

IV- Comment fonctionne un ordinateur?

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

Conception de circuits numériques et architecture des ordinateurs

Architecture des Ordinateurs. Partie II:

IFT1215 Introduction aux systèmes informatiques

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

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

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

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

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

Concept de machine virtuelle

Exécutif temps réel Pierre-Yves Duval (cppm)

Prentice Hall, 2011 (ISBN )

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

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

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

CH.3 SYSTÈMES D'EXPLOITATION

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

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

Systèmes et traitement parallèles

Initiation au HPC - Généralités

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

ASR1 TD7 : Un microprocesseur RISC 16 bits

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Architecture des calculateurs

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Chapitre 4 : Les mémoires

Informatique Générale

Structure et fonctionnement d'un ordinateur : hardware

Tout savoir sur le matériel informatique

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

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Architecture des ordinateurs

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)

Introduction à la microinformatique et à la programmation OO

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Leçon 1 : Les principaux composants d un ordinateur

Cours Informatique 1. Monsieur SADOUNI Salheddine

Structure de base d un ordinateur

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Éléments d'architecture des ordinateurs

Traduction des Langages : Le Compilateur Micro Java

Jeu d instructions NIOS II

Linux embarqué: une alternative à Windows CE?

Matériel & Logiciels (Hardware & Software)

Architecture matérielle des systèmes informatiques

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

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Architecture des ordinateurs Introduction à l informatique

Ordinateurs, Structure et Applications

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

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

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

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

PIC : COURS ASSEMBLEUR

Architecture des ordinateurs

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

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Informatique Industrielle

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

Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009

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

Exigences système Edition & Imprimeries de labeur

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

Exigences système Edition & Imprimeries de labeur

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

GPA770 Microélectronique appliquée Exercices série A

Sébastien Geiger IPHC Strasbourg

Partie théorique (20 points) :

Conception de circuits numériques et architecture des ordinateurs

GESTION DE LA MEMOIRE

Systèmes d exploitation

Programmation assembleur : aperçu

Cours A7 : Temps Réel

Manuel de System Monitor

Microprocesseur + Logiciel

Windows 7, Configuration

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Sélection du contrôleur

Sanity Check. bgcolor mgcolor fgcolor

FOG : Free Open-Source Ghost. Solution libre de clonage et de déploiement de systèmes d'exploitation.

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

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

Chapitre 2 : Abstraction et Virtualisation

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

Partie 7 : Gestion de la mémoire

Module M1 Elément 2 : Informatique 1 (I1)

Temps Réel. Jérôme Pouiller Septembre 2011

VMWare. Vmware: machine virtuelle Un véritable pc avec : VmWare

Transcription:

Un Ordinateur, comment ça marche en vrai? Décembre 2006

Plan Introduction Hard Électronique Microprocesseur Ordinateurs Soft OS Conclusion 2

Couches Langages de Haut niveau Traduction - Compilation Assemblage Traduction - Assemblage OS Interprétation partielle (OS) On peut avoir, en théorie, une séparation hard/soft à n'importe quel niveau. Pico-Java Couche jeu d'instructions Microprogramme ou exécution directe Couche MicroArchitecture Matériel Couche Logique Numérique 3

Introduction Plus, plus vite, mieux, moins cher Incomparable aux industries classiques Loi de Moore (loi de Rock) Loi de Kryder (disques) Loi de Metcalfe (valeur des réseaux) Lieux communs Restera encore quelques années Histoire (Wikipedia, commentcamarche.net) 4

Loi de Moore 5

Introduction Base Fée électricité Binaire Simple physiquement (présence ou pas...) Codage mathématique Hexadécimal human readable Compatible binaire 2006 bin hex 111 1101 0110 7 D 6 6

Plan Introduction Hard Électronique Niveau 0 Microprocesseur Ordinateurs Soft OS Conclusion 7

Électronique Transistor MOS = Interrupteur commandé Lorsqu'une tension adéquate est à la grille (gate), le courant passe Metal Oxide Semiconducteur Mise en place de portes logiques 8

Exemple : NAND 9

Fonctions mathématiques Algèbre de Boole: + : ou. : et X : non / inverse Tableaux de Karnaugh. Découverte de la fonction mathématique Câblage Exemple : additionneur 10

11

Additionneur binaire Demi Complet 1 Bit Complet 4 bits 12

Mémoires Bascules D et RS 13

Mémoire 4x3 14

Plan Introduction Hard Électronique Microprocesseur Niveau 1 2 Ordinateurs Soft OS Conclusion 15

Plan Hard Microprocesseur Niveau 1 2 Généralités Chemin de données Opérandes Micro programme ISA Pipeline SuperScalaire MMX et multimédia 16

Microprocesseur CPU Central Processing Unit Cerveau, calculs centraux Fonctionne très rapidement n Ghz => 1/n ns de cycle IPC Instruction Per Cycle Dialogue Mémoire Principale E/S 17

Chemin de données Schéma simple d'une ALU 1. Données (1, 2, 3...) 2. Instructions ( add...) Deux chemins différents Deux Mémoires différentes ALU : Opérations arithmétiques de base (+) Opérations logiques de base ( &&,, test) Décalages 18

Opérandes Opérandes en Mémoire: (schéma suit) Pile (Instructions directes) Accumulateur (une opérande) Registre Mémoire (une opérande directe mém.) Registre Registre (toutes sont dans les registres) Registre, Immédiat et Mémoire Registre Immédiat (limité en taille utile pour x +12) 19

20

Cycle d'instruction Exemple de Cycle Charger l'instruction depuis le registre Instruction Modifier le compteur pour pointer sur l'instruction suivante Décoder, l'instruction Localiser en mémoire les opérandes Charger les opérandes Exécuter / Stocker Revenir au début 21

Bilan Architecture 3 bus 22

MicroProgramme (Couche 1) Historique CISC 1 instruction plusieurs actions séquentielles Utilisation de commandes de haut niveau, complexes Boucles et branchements Call/Return Adressage de tableaux, de décimaux... Microprogramme 23

Microprogramme Mémoire spécifique (Portes, Mémoires) 1.Connect Register 1 to the "A" side of the ALU 2.Connect Register 7 to the "B" side of the ALU 3.Set the ALU to perform two's-complement addition 4.Set the ALU's carry input to zero 5.Store the result value in Register 8 6.Update the "condition codes" with the ALU status flags ("Negative", "Zero", "Overflow", and "Carry") 7.Microjump to MicroPC nnn for the next microinstruction Formats d'instructions divers IPC très variable Invisible 24

Micro-Programmation 25

RISC / CISC : TROLL CISC RISC Parfois très complexe Code plus court Instructions de taille variable Code plus long Pipeline complexe Pipeline Pas plus rapide Orthogonalité! 1 Instruction = 1cycle Format instructions identique Compilateurs... 26

Bilan 27

ISA Registres : $0, $1, $2 $31 (tous des registres de 32 bits); $0 =0; Les Instructions de l architecture MIPS L instruction ADD ADD $a, $b, $c # $a < = $b + $c L instruction SUB SUB $a, $b, $c # $a < = $b $c L instruction Rangement/Chargement LW (load Word) # Cherche Un mot en mémoire => accès mémoire. LW $a, IMM ($b) #mode relatif ADDI : Additionner une valeur immédiate mais elle va être encoder comme instruction de type chargement/dechargement. ADDi $a, $b,imm # $a < = $b + IMM 28

ISA LUI : LOAD UPPER IMMEDIATE LUI $a, IMM # $a < = IMM * 2^16 Branchement BEQ $a, $b, IMM # Si $a == $b alors PC <= PC + (IMM * 4) BNE $a, $b, IMM # Si $a!= $b alors PC <= PC + IMM * 4 SLT : Set Least Then SLT $a, $b, $c # Si $b <$c alors $a <= 1 sinon $a <= 0 Instruction de Contrôle non conditionnel J : Jump to J etiq # prend étiquette et saute a cette étiquette JAL : Jump and Link JALR : jump and link to registry 29

Pipelines Plusieurs étapes de différentes instructions en parallèle Lit Décode Exécute Accès Mémoire Rangement IPC augmente 30

Conséquences Multiples opérateurs Accès multiple aux registres Cache Instruction et Données séparées Plus simple avec Instruction de taille fixe 31

DLX 32

Limitations Dépendance de données Dépendance de noms Dépendance de contrôle Flottants, entier, nombre d'instructions différents 33

Dépendances de données Données LAE, vraie dépendance EAE, EAL, antidépendance Principe de l'ordonnancement dyn. Rajouter des instructions intermédiaires Tomasulo (Suppression des EAE et EAL) 34

Dépendances Noms Noms de registres identiques Renommage des registres Contrôle Prédicteurs de branchements Spéculation 35

SuperScalaire Plusieurs opérations en même temps Pipeline SuperScalaire SparcII 36

Multimédia MMX, MMX2, SSE, SSE2, SSE3, SSSE3 Nouveaux registres en sus de int et float Calculs parallélisés, vectoriels 1 instructions 2, 4, 8 calculs Vidéo 3D 37

Plan Introduction Hard Électronique Microprocesseur Niveau 1 2 Ordinateurs Soft OS Conclusion 38

Plan Hard Ordinateurs Mémoire Bus E/S ROM, BIOS, EFI 39

Localités Principe de la localité Mémoire Localité temporelle Boucle et répétition Une exécution a une forte probabilité de se répéter Localité spatiale Un accès mémoire rend probable l'accès aux zones contiguës 40

Caches Tailles, coûts et rapidité Travail sur le cache, Si absence de donnée, défaut de cache, copie et chargement depuis/vers la MP (RAM) Compliqué :p 41

Associativité Directe Cache 42

Associativité 2 Associatif n Associativité Cache 43

Améliorer les échecs du cache Taille du cache (T) Taille des lignes (T) Couramment qq dizaine octets Associativité à augmenter (T) Une règle empirique importante, appelé règle des 2:1, stipule qu un cache à correspondance directe de taille N a environ le même taux d échec qu un cache de taille N/2 à correspondance associative par ensemble de deux lignes. Limite physique 4 ou 8 associatif Tampon de fusion d'écriture, priorité aux lectures (P) Mot critique en premier (P) Cache des victimes (P) 44

Bus / CM Bus Mémoire CPU RAM Bus Système Bus E/S Connexion des périphériques sur la CM Chef d'orchestre Chipset NorthBridge / SouthBridge Partage des ressources IRQ, DMA, Interruptions 45

AMD 46

Intel P4E 47

Interruptions, Exceptions Les périphériques I/O (E/S) sont très lents. Interrogation au contrôleur (polling) Réponse par interruption Interruptions prioritaires Disques, Carte réseaux (DMA) Exceptions Défaut de page, violation mémoire Erreur arithmétique, programmation 48

Interruptions, Exceptions Masquable / non Arrêt de l'instruction / Redémarrage Synchrone / Asynchrone Sauvegarde du contexte / Restitution 49

50

BIOS, Démarrage ROM Programme de base qui coordonne les périphériques au démarrage Détection matérielle Sauvegarde de paramètre Boot Donne la main à l'os EFI 51

Introduction Hard Plan Électronique Microprocesseur Niveau 1 2 Ordinateurs Soft Compilation OS Conclusion 52

Compilation Écriture dans un langage noble C, C++, Pascal, Fortran, Goto++, Delphi Passage au compilateur linkeur Code Machine Code Assembleur Appels systèmes (mémoire, threads..) Dépend OS Machine 53

Operating System Gestion des Processus, threads Gestion des ressources: E/S virtuelles Mémoire Gestion des FS Interface entre les programmes et le matériel Noyau, périphériques TROLL Exemples TROLL 54

Processus Instanciation d'un programme Espace mémoire propre protégé, ressources allouées Parent, enfants, fork Table des processus (info) Passage par le noyau Partage des ressources par le noyau Ordonnancement 55

Threads «Sous processus» User Plusieurs thread dans un même espace mémoire Ordonnancement interne Ressources partagées Solutions noyau table des processus Plus lourd, cause des appels systèmes 56

Ordonnancements Ordonnancements par le noyau En f des ressources, des demandes, priorités Des E/S, de l'algo, de la tâche du système Pas trop souvent, mais équitable Communication Passage de messages Mutex, sémaphore Locks, exclusion mutuelle Barrières 57

Mémoire Pagination (table de pages, pages inversées) Protection de la mémoire Virtuelle Allocation aux processus Un seul espace de mémoire Défaut de pages mémoire 58

FS Disque physique Disque logique (Partitions) Volume physique (fichiers) Volume logique (arborescence) FS : Gestion de l'arborescence Noms de fichiers, de répertoire Types de fichiers En-têtes Attributs Enregistrements, accès, droits sur le disque 59

Drivers E/S Tous les périphériques (Interruptions, DMA) Indépendance du matériel Gestion des interruptions par un périphérique Blocs/Chars Pilotes Statique, dans le noyau (UNIX) Chargement dynamique (MS DOS) 60

Architecture du noyau Micro Kernel vs. Monolithique Kernel Un noyau qui a tout dedans Un noyau minimaliste tout est chargé Linux : kernel Monolithique (modulaire) Mach, L4 : micro kernel Windows est hybride 61

Jean-Baptiste Kempf 62

63