Architecture des ordinateurs

Documents pareils
Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Matériel & Logiciels (Hardware & Software)

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

Systèmes et traitement parallèles

Cours Informatique 1. Monsieur SADOUNI Salheddine

Exécution des instructions machine

Cours 3 : L'ordinateur

Rappels d architecture

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

Compilation (INF 564)

Architecture des Ordinateurs. Partie II:

Machines virtuelles Cours 1 : Introduction

Évaluation et implémentation des langages

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Concept de machine virtuelle

Structure et fonctionnement d'un ordinateur : hardware

Exigences système Commercial & Digital Printing

Cours 1 : La compilation

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

I.1- DÉFINITIONS ET NOTIONS DE BASE

Éléments d'architecture des ordinateurs

Introduction à l Informatique licence 1 ère année Notes de Cours

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

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

Premiers pas sur l ordinateur Support d initiation

Fonctionnement et performance des processeurs

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

Tout savoir sur le matériel informatique

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

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

Exigences système Commercial & Digital Printing

CM2 L architecture MIPS32

Version janvier Manuel d'utilisation. Adaptateur Ethernet rapide 10/100 USB 2.0

Ergonomie des Interfaces Homme-Machine

Chapitre 4 : Les mémoires

ASR1 TD7 : Un microprocesseur RISC 16 bits

Structure de base d un ordinateur

Systèmes d'exploitation des ordinateurs

Logiciel Libre Cours 3 Fondements: Génie Logiciel

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

Annexe : La Programmation Informatique

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

Plan du cours. Historique du langage Nouveautés de Java 7

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

Génération de code binaire pour application multimedia : une approche au vol

Algorithmique I. Algorithmique I p.1/??

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Vérifier la qualité de vos applications logicielle de manière continue

Environnements de développement (intégrés)

INTRODUCTION À L INFORMATIQUE

Architecture des ordinateurs Introduction à l informatique

Bases de données avancées Introduction

Initiation au binaire

Récupérer un fichier effacé par erreur avec le logiciel Restoration

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

Linux embarqué: une alternative à Windows CE?

Chapitre I Notions de base et outils de travail

Architecture des ordinateurs

TRANSFERER UNE PHOTO SUR CLE USB

CUOMO PC Route d Oron Lausanne 021/

Manuel d'installation de GESLAB Client Lourd

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

Programmation Orientée Objet

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

Initiation au HPC - Généralités

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

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

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

Exigences système Edition & Imprimeries de labeur

Architecture des ordinateurs

Qu est ce qu un un serveur?

IFT1215 Introduction aux systèmes informatiques

Unix/Linux I. 1 ere année DUT. Université marne la vallée

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

Mode d emploi pour lire des livres numériques

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

GESTION DE L'ORDINATEUR

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

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

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

Accès instantané aux mots et aux locutions Le dictionnaire électronique offre une traduction rapide d'un mot ou d'une locution

Acquisition de matériels informatiques

Manuel d utilisation Logiciel (Communications Utility)

CH.3 SYSTÈMES D'EXPLOITATION

Windows Server Chapitre 1: Découvrir Windows Server 2008

Initiation à JAVA et à la programmation objet.

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Candidate forte de dix (10) ans d expérience avec Oracle Forms & Reports, dont la dernière version utilisée est 11g.

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

Projet de Veille Technologique

Diagrammes de Package, de déploiement et de composants UML

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

UE C avancé cours 1: introduction et révisions

Guide d'installation rapide TFM-560X YO.13

Vers du matériel libre

Permis de conduire info

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Transcription:

Architecture des ordinateurs Hélène Collavizza http://www.polytech.unice.fr/~helen/archi 2006/2007 SI 1 1. 1

J'ai un problème! Introduction 0001011011110110 0001011101101101... SI Intel inside 1. 2

J'ai un problème!!! Analyse, Conception, Algorithmique programme Java, C, C++, code binaire exécutable Programmation Assembleur RAM =? CPU =? RAM CPU Architecture périphériques hardware TDO Électronique numérique 1. 3

Vous avez dit Architecture IBM 360 (1964) Structure d'un ordinateur que le "programmeur en langage machine" doit connaître pour écrire un programme correct (indépendamment du temps) pour cet ordinateur. Glossaire Intel 2002 www.polytech.unice.fr/~helen/glossaireintel.html The architecture of a processor refers to the instruction set, registers, and memory-resident data structures that are public to a programmer and are maintained and enhanced from one generation of architecture to the next. The micro-architecture of a processor refers to implementation of a processor architecture in silicon. Within a family of processors, the micro-architecture typically changes from one processor generation to the next, while implementing the same public processor architecture. 1. 4

Programme de haut niveau Informatique = traitement automatique de données Exécuter un programme Acquérir des données Socker des données Faire des calculs sur les données Emettre des données 1. 5

Où sont les programmes? Programmes système Ex: ls en linux, clic-clic sur «Poste de travail» en windows,... Programmes «utilitaires» Ex: mozilla, word, warcraft, excel, gcc, Outils de développement qui permettent eux-mêmes d exécuter des programmes (ex: VisualBasic, eclipse, interpréteur scheme,...) Programmes utilisateur 1. 6

En Java : c est la JVM qui exécute le programme, le processeur lui exécute la JVM. Compilation Javac JoliProgramme.java Le processeur exécute /usr/java/jdk1.5.0/bin/javac java JoliProgramme Exécution de JoliProgramme par la JVM Le processeur exécute /usr/java/jdk1.5.0/bin/java En C ou C++ : programme source «vacances.c» compilation code binaire avec adresses symboliques code objet «vacances.o» édition de lien code exécutable «vacances.exe» code binaire avec adresses réelles + assemblages de modules Exécution du programme vacances en invoquant «vacances.exe» sous l interpréteur de commande 1. 7

Lors de l exécution d un programme, son code binaire est chargé en mémoire centrale et est traité par l'unité centrale. C est la façon de traiter ce code que nous allons étudier. 1. 8

calculs stockage interne Un exemple : Le tutorial d'intel ordonnancement des tâches interprétation des instructions cache des données (copie partielle de la mémoire centrale) cache des instructions (copie partielle de la mémoire centrale) gestion des transferts entre les unités http://www.intel.com/education/mpworks/ 1. 9

Objectifs de ce cours d'architecture Comprendre comment un programme de haut niveau s exécute sur un assemblage de composants électroniques Comment est codé un programme? Comment sont exécutées les instructions? Le parallélisme : exécution pipeline Lien avec l'électronique numérique : que se passe-t-il sur chaque top d'horloge? Tour d'horizon d'architectures Prendre conscience du coût des accès mémoire : principe des caches mémoire 1. 10

Comment? Etude des principes généraux : lien avec les familles de processeurs les plus courantes Application : PROCSI, le processeur de l'si Un exemple simple mais réaliste de CPU et de jeu d'instruction On connait tous les détails et on pourrait le concevoir et le simuler avec Altera Une version simple, puis une version pipeline Vous devrez comprendre en détail le fonctionnement de PROCSI et en déduire le fonctionnement d'architectures similaires A compléter page 8 Détails dans le document PROCSI page 8 1. 11

Plan 1. Chemin de données ce que contient le CPU 2. Instructions machine ce qu'exécute le CPU 3. Cycle d'exécution des instructions le pipeline 4. Partie contrôle ordonnancer les calculs 5. Hiérarchie mémoire la mémoire centrale s'accelère 6. Tour d'horizon d'architectures actuelles le CPU accelère QUIZZ ½h en TD la 1 ère semaine (non noté) QUIZZ ½h en amphi en fin de parcours (pas de document) Contrôle final : exercices sur table (documents) Cours d'assembleur ARM pendant 6 semaines 1. 12

Historique Lié à : Evolution des composants électroniques (tubes à vide, transistors, LSI, VLSI) Evolution du logiciel (écriture des compilateurs) Evolution de l'architecture (principe du pipeline) Tendances : vitesse taille des composants donc distance donc vitesse organisation avec pipeline, parallélisme, prédiction d exécution -> le CPU est toujours occupé taille puce taille mémoire Difficulté : équilibre entre les différents compossants ex: technique du cache car la vitesse CPU augmente beaucoup plus vite que celle des accès mémoire 1. 13

Calculettes Historique (évolution architecturale) < 1946 1949 ENIAC 1 ère machine programmable (Univ. Pensylvannie, 30m, programmable à la main) Machine programmable, modèle Von Neumann (programme stocké) Machines à accumulateurs 1956 Machines à registres généraux (Pegassus, IBM 701) 1963 Machines à pile (B5000) 1964 IBM 360 "Architecture des ordinateurs" adressage par octet inst. registre / mémoire Control Data CDC 6600 inst. registre/registre pipeline 1. 14

1970 architectures orientées logiciel micro-processeurs Intel 4004, 8008 1978 VAX DEC architecture orthogonale instruction mémoire / mémoire 1 architecture 1 système d'exploitation 1980 IBM PC 8086, 8088 architecture ouverte Motorola Macintosh 68000 Projets architectures RISC IBM 801 MIPS Stanford RISC Berkeley 1986 Commercialisation architectures RISC SPARC SUN, 88000, DECstation 3200 1993 Architectures superscalaires + traitement parallèle de flots de données (vidéo, son, ) + organisation mémoire Intel Pentium, PowerPC, Ultra SPARC 1. 15

2000 toujours plus de parallèlisme, exécution dans le désordre, prédiction des branchements, DSP (Digital Signal Processor), multi-processeur Pentium 4 : multi-threading 2015 http://www.intel.com/technology/architecture/platform2015/ Processeurs dédiés (téléphonie mobile, reconnaissance et synthèse de la parole, bio-médical,...), parallélisme de haut niveau, des mémoires plus grandes économies d'énergies! 1. 16

Bibliographie "Computation Structures" S. A. Ward, R. H. Halsted MIT Press, McGraw-Hill Company http://6004.lcs.mit.edu/ "Computer Organization & Architecture, Designing for Performance" W. Stallings Prentice-Hall International Organisation et architecture de l'ordinateur W. Stallings Pearson Education France "Computer Organization & Design, The hardware / software interface" D. A. Patterson, J. L. Hennessy Morgan Kaufmann Publishers "Logic and Computer Design fundamentals" M. M. Mano, C. R. Kime Prentice-Hall International 1. 17