Programmation Parallèle sur CPU et GPU (GPU=Graphics Processing Unit)

Dimension: px
Commencer à balayer dès la page:

Download "Programmation Parallèle sur CPU et GPU (GPU=Graphics Processing Unit)"

Transcription

1 Programmation Parallèle sur CPU et GPU (GPU=Graphics Processing Unit)

2 Plan du cours 2 Motivations pour le parallélisme et les GPUs single core multi-core many-core CPU Architecture Modèle de programmation en mémoire partagé OpenMP GPU (Graphics Processing Unit) Architecture Modèle de programmation many-core CUDA

3 Objectifs 3 Acquérir les bases pour éviter les erreurs de bases dans vos propres codes poursuivre en auto-formation au besoin échanger avec des spécialistes savoir comparer deux solutions matérielles savoir adapter le matériel aux besoins

4 Motivations applicatives 4 Toujours plus de performance... plus rapide : de x10 à x100 ou plus!! résoudre des problèmes plus gros plus de précisions rendre possible de nouvelles applications, nouveaux algorithmes réduire la consommation etc.

5 Motivations applicatives 5 Exemples : Simu électromag, en un point : intégration 4D Code initial en (mauvais) MatLab : 20min Code optimisé / CPU : 0.5s!! Simu sur GPU via MatLab : a life changer! utilisation de CUDA en 3A-voie B (simu) 3A-voie A (instrumentation) : Embarqué traitement/reconstruction efficace des données... Free-form optics

6 Code optimisé et consommation énergétique 6 Exemple sur un smartphone : cons o nombre d'opérations (+,*,etc.)

7 Comment augmenter les performances? 7 Améliorer les algorithmes (voir autres cours) Augmenter la puissance de calcul? Comment? Comment exploiter cette puissance?

8 Loi de Moore... 8 Le nombre de transistors qui peut être intégré facilement dans un microprocesseur double tout les deux ans

9 Motivations pour le multi-cores 9 Finesse de gravure 32nm en 2010, 22nm en 2012, 14nm en 2014, demain : 10nm plus de transistors par circuit Leviers pour augmenter les performances avec un seul processeur : augmenter la fréquence? difficile, consommation++, chaleur++ augmenter la complexité des processeurs opérations spécialisées, logique (ex. prédiction de branchement), cache, etc. x2 logic x1.4 performance (Pollack's rule)!! vidéo!!

10 Motivations pour le multi-cores 10 Leviers pour augmenter les performances (cont.) multiplier le nombre d'unités de calcul : parallélisme au niveau des instructions out-of-order execution, pipelining difficile (beaucoup de logique) et limité parallélisme au niveau des données (SIMD) une seule instruction appliquée sur plusieurs registres unités vectorielles : SSE, AVX, NEON, Cell SPE, (GPU) efficace pour certaines applications, mais relativement difficile à exploiter et reste limité un seul coeur parallélisme au niveau des threads mettre plusieurs processeurs cote-à-cote sur un même chip multi-core, many-core (>100) multi-processor : plusieurs chip sur une même carte mère

11 Motivations pour le multi-cores 11 Plusieurs processeurs par circuits, plusieurs circuits par carte réels gains théoriques: 2 «petits» processeurs x1.8 perf 1 processeur 2 fois plus gros x1.4 perf consommation et dissipation de chaleur réduite N processeurs légèrement plus lents consomment autant qu'un seul rapide activation individuelle des processeurs accès mémoires plusieurs CPU peuvent accéder en même temps à la mémoire permet d'augmenter la bande passante même sans en réduire la latence simplicité plus simple de concevoir et fabriquer pleins de «petits» CPU simples, qu'un seul gros et complexe améliore également la robustesse et absence de pannes/bugs

12 Motivations pour le multi-cores 12 multi-core everywhere CPU GPU super-calculateur systèmes embarqués smart-phones serveur carte graphique (GPU : coeurs) co-processeur dédié (GPU ou centaine de CPUs) embarqué (ex. Jetson) (4 cœurs CPU cœurs GPU) [ supercalculateur en 2000]

13 mais Programmer est difficile... Programmer parallèle est encore plus difficile! trouver des tâches pouvant être exécuter en même temps coordination entre les tâches, éviter les surcoûts...

14 Architecture des CPUs

15 CPU Hiérarchie mémoire 15 RAM (NUMA) x1000 bigger ; ~400 cycles Cache - L2 x100 bigger (900x900 floats) ; cycles Cache - L1 x100 bigger (90x90 floats) ; 1-4 cycles regs small (8x8 floats) ; 1 cycle ALU

16 CPU - Parallélisme 16 3 niveaux de parallélisme : 1 parallélisme au niveau des instructions 2 SIMD Single Instruction Multiple Data 3 multi/many-cores multi-threading mécanismes complémentaires

17 CPU Parallélisme 1/3 17 parallélisme au niveau des instructions pipelining une opération = une unité de calcul (ex : addition) opération décomposée en plusieurs sous-taches une sous-unité par sous-tache 1 cycle par sous-tache plusieurs opérations peuvent s'enchainer sur une même unité requière des instructions non dépendantes! a = a * b; c = c * d; e = e * f; g = g * h; 1op = 4 mini ops = 4 cycles [démo] 4 ops in 7 cycles! time

18 CPU Parallélisme 1/3 In-order / Out-of-order 18 In-order processors instruction fetch attendre que les opérandes soient prêtes dépendances avec les opérations précédentes ou temps d'accès mémoire/caches exécuter l'instruction par l'unité respective Out-of-orders processors instruction fetch mettre l'instruction dans une file d'attente dès que les opérandes d'une des instructions de la file d'attente sont prêtes, exécuter l'instruction par l'unité respective couplée à la prédiction de branchement... réduit les temps où le processeur est en attente simplifie le travail du développeur/compilateur :) requière des instructions non dépendantes

19 CPU Parallélisme 2/3 19 SIMD Single Instruction Multiple Data Principe : exécuter la même opération sur plusieurs données en même temps Jeux d'instructions vectoriels, ex : SSE (x86) : registres 128 bits (4 float, 2 double, 4 int) AVX (x86) : registres 256 bits (8 float, 4 double, 8 int) NEON (ARM) : registres 128 bits (4 float, 4 int) * reg0 reg1 reg2

20 CPU Parallélisme 2/3 SIMD 20 Mise en oeuvre pratique, 3 possibilités : vectorisation explicite via des fonctions «intrinsics» (pour les experts) utiliser des bibliothèques tierces et optimisées believe in your compiler! Nombreuses limitations : réaliser des opérations intra-registres est difficile et très couteux les données doivent être stockées séquentiellement en mémoire (voir slide suivant)

21 CPU Parallélisme 2/3 SIMD 21 mémoire fastslower (aligned) (not aligned) don't be silly!

22 CPU Parallélisme 2/3 SIMD 22 Exemple de stockage pour des points 3D: Array of Structure (AoS) struct Vec3 { float x, y, z; } ; Vec3 points[100] ; not SIMD friendly Structure of Arrays (SoA) struct Points { float x[100]; float y[100]; float z[100]; }; Points points; [démo]

23 CPU Parallélisme 3/3 23 multi/many-cores Principe : chaque cœur exécute son propre flot d'instruction (=thread) thread = «processus léger» un thread par cœur à la fois assignation et ordonnancement par l'os les threads communiquent via la mémoire partagée mise en œuvre, ex : bibliothèques tierces via le compilateur et OpenMP (instrumentation du code) hyper-threading assigner deux threads sur un même cœur exécution alternée au niveau des instructions permet un meilleur taux d'utilisation des unitées parfois contre-productifs! PC shared memory CPU1 CPU2... CPUn

24 Peak performance 24 Example : Intel i7 Quad 2.6GHz (x86_64,avx,fma) pipelining/ooo 2 * (mul + add) / cycle (cas idéal) AVX x 8 ops simple précision à la fois multi-threading x 4 fréquence x 2.6G peak performance: GFlops

25 26 Programmation multi-thread avec mémoire partagé - OpenMP

26 Programmation multi-threads 27 Très nombreuses approches, différents paradigmes exemples de modèles : Google's «map-reduce» divide and conquer Nvidia's data parallelism big homogeneous array Erlang's fonctional programming side-effect free OpenMP intégré au compilateur instrumentation manuelle du code en C/C++ via : #pragma omp... + ensembles de fonctions... fournit différents outils et paradigmes flexibilité

27 OpenMP premier exemple 28 Exécuter un même bloc par plusieurs threads : #pragma omp parallel { // on récupère le numéro du thread // (entre 0 et nombre_total_de_thread-1) int i = omp_get_thread_num(); } cout << "Thread #" << i << " says hello!\n"; et premières difficultés! ici tous les threads accèdent de manière concurrentielle à la même ressource (la sortie standard) solution : autoriser un seul thread à la fois section critique via #pragma omp critical [démo]

28 OpenMP 2ème exemple 29 Paralléliser une boucle #pragma omp parallel for for(int i=0 ; i<m ; ++i) {... } les m itérations de la boucles sont réparties entre les N threads une itération est exécutée une seule fois et par un seul thread un thread traite une seule itération à la fois nombreuses stratégie d'affectation ex. : statique ou dynamique Exercice : comment calculer le produit scalaire en un vecteur B et tous les éléments d'un tableau ex, conversion d'une image RGB en Luminance, projection de m points sur un plan, etc. quelles taches peuvent être effectuées en parallèle? [démo]

29 OpenMP 3ème exemple 30 Exercice : comment calculer la somme des éléments d'un tableau en parallèle? quelles taches peuvent être effectuées en parallèle? Race condition race condition (résultat différent en fonction de l'ordre d'exécution) correct behavior (critical section ou atomic)

30 Atomic operations 31 Principe opération ou ensemble d'opérations s'exécutant sans pouvant être interrompues pour le reste du système : comme si son exécution était instantanée nécessitent des mécanismes de synchronisation misent en œuvre au niveau du matériel Exemples Read-Write Fetch-and-add x = x + a ; Test-and-set int test_and_set (int *val){ int old = *val; *val = 1; return old; } Compare-and-swap

31 Comment paralléliser son code et ses algorithmes? Dépend de nombreux facteurs Nature du problème Dimensions du problème Matériel visé Pas de solution universelle Pas de solution automatique (compilateur) Acquérir de l'expérience étudier des cas «simples» retrouver des motifs connus au sein d'applications complexes

32 Défis Trouver et exploiter la concurrence 1 - identifier les taches indépendantes approche hiérarchique 2 - regrouper les taches trouver la bonne granularité regarder le problème sous un autre angle Computational thinking (J. Wing) nombreuses façons de découper un même problème en taches Identifier et gérer les dépendances Dépend du découpage! Coordination entre les tâches (avoid races and deadlocks) éviter les attentes

33 Défis Autres facteurs de performance : Contrôler les surcouts limiter les échanges de données limiter les calculs supplémentaires Équilibrer la charge de chaque unité Saturation des ressources (bande-passante mémoire) Avant toute optimisation : avoir un code qui fonctionne! identifier les taches couteuses! (on peut avoir des surprises) penser à la complexité algorithmique!

34 Qques motifs de parallélisation Map & Reduce «Map» appliquer la même fonction à chacun des éléments d'un tableau parallélisme évident : chaque élément peut être traité par un thread différent surjection de l'ensemble des M éléments l'ensemble des N threads scheduling static 1 thread un bloc de M/N éléments ou 1 thread les éléments d'indices i*n scheduling dynamic dès qu'un thread est libre, l'associer au premier élément non traité «Reduce» ou «Reduction» réduire un tableau (ou sous-tableau) à une seule valeur Exemples : somme, produit, min, max, etc. (moyenne, calcul intégral,etc.) Si faible nombre de threads N : découper le problème en N sous problèmes puis réduire les N valeurs en 1 de manière séquentielle. généralisation à une approche hiérarchique

35 Exemple : sampling et histogramme Approche séquentielle CDF 2D Random Number Generator Main Thread Destination Image for i=1..m { (x,y) = cdf.inverse(random(),random()); img(x,y) += incr; }

36 ... Exemple : sampling et histogramme Multi-threading naif CDF 2D Read-only Random Number Generator #1 #2 Destination Image Read-only mais variable d'état interne RW critical section (bad) #T Read-write critical section (bad) #pragma omp parallel for for i=1..m { (x,y) = cdf.inverse(random(),random()); img(x,y) += incr; }

37 Exemple : sampling et histogramme Multi-threading V1 CDF 2D RNG[1] RNG[2] #1 #2 Destination Image RNG[T] 1 RNG/thread #T Read-write ou atomic (~OK) #pragma omp parallel for for i=1..m { (x,y)=cdf.inverse(rng[tid].val(),rng[tid].val()); #pragma omp atomic img(x,y) += incr; }

38 Exemple : sampling et histogramme Multi-threading V2 Img[1] CDF 2D RNG[1] #1 Img[2] Destination Image RNG[2] #2 RNG[T] #T Seconde passe parallel for 1 RNG/thread Img[T] O ( N 2 T T ) O ( M /T ), M N 2 Cout mémoire : N 2 T

39 Exemple : sampling et histogramme Multi-threading optimisé : CDF Y RNG[1] #1 cpt[1] Découper l'image par thread nombreuses variantes ex : remplir ligne par ligne meilleure cohérence des caches :) nombre d'échantillons par ligne variable scheduling dynamic RNG[2] #2 cpt[2] cpt CDF X Passe 3 : remplir ligne par ligne, 1 thread par ligne RNG[T] #T cpt[t] RNG[1] #1 Passe 1 : générer le nombre de samples par ligne (et par thread) O ( M /T ) Cout mémoire : Passe 2 : sommer les compteurs O (( N T )/T ) N T N 2 RNG[2] RNG[T] #2 #T Destination Image O ( M /T )

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

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

Segmentation d'images à l'aide d'agents sociaux : applications GPU Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche

Plus en détail

Systèmes et traitement parallèles

Systèmes et traitement parallèles Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications

Plus en détail

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

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?)

. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?) Plan du cours Vision mate riel: architecture cartes graphiques NVIDIA INF 560 Calcul Paralle le et Distribue Cours 3 Vision logiciel: l abstraction logique de l architecture propose e par le langage CUDA

Plus en détail

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle 1 CEA R & D for Nuclear Energy 5 000 people Nuclear systems

Plus en détail

Exécution des instructions machine

Exécution des instructions machine 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]

Plus en détail

Calcul scientifique précis et efficace sur le processeur CELL

Calcul scientifique précis et efficace sur le processeur CELL Université P. et M. Curie Master spécialité informatique Calcul scientifique précis et efficace sur le processeur CELL NGUYEN Hong Diep Rapport de stage recherche de master 2 effectué au laboratoire LIP6

Plus en détail

Quantification d incertitude et Tendances en HPC

Quantification d incertitude et Tendances en HPC Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification

Plus en détail

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

Eléments d architecture des machines parallèles et distribuées M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

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

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

Plus en détail

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

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rapport 2014 et demande pour 2015 Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rappel sur Méso-NH : Modélisation à moyenne échelle de l atmosphère

Plus en détail

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

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI. Facultés Universitaires Notre-Dame de la Paix, Namur Institut d Informatique Année académique 2003-2004 Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Drupal : Optimisation des performances

Drupal : Optimisation des performances Drupal : Optimisation des performances Qui? Guillaume Plessis Expert, Steady bean Mainteneur du projet Dotdeb Co-auteur «Performances PHP» Frédéric Marand Fondateur d OSInet Mainteneur Drupal Audit, conseil

Plus en détail

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

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Fonctionnement et performance des processeurs

Fonctionnement et performance des processeurs Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

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

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés Potentiels de la technologie FPGA dans la conception des systèmes Avantages des FPGAs pour la conception de systèmes optimisés Gérard FLORENCE Lotfi Guedria Agenda 1. Le CETIC en quelques mots 2. Générateur

Plus en détail

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E5649 2.53 GHz

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E5649 2.53 GHz Choix d'un serveur Vous êtes responsable informatique d'une entreprise. Vous devez faire un choix pour l'achat d'un nouveau serveur. Votre prestataire informatique vous propose les choix ci-dessous Vous

Plus en détail

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

Plus en détail

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

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

BeSpoon et l homme Connecté

BeSpoon et l homme Connecté BeSpoon et l homme Connecté Paris 25 et 26 Mars BeSpoon est une société «Fabless» qui a développé en collaboration avec le CEA-Leti un composant IR-UWB (Impulse Radio Ultra Wide Band) dédié à la localisation

Plus en détail

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

Exécutif temps réel Pierre-Yves Duval (cppm) Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

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

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

Plus en détail

HP 600PD TWR i34130 500G 4.0G 39 PC

HP 600PD TWR i34130 500G 4.0G 39 PC HP 600PD TWR i34130 500G 4.0G 39 PC Réf : 2880117 EAN :888182161739 Réf. Fabricant :E4Z60ET#ABF Poids brut: 12 Kg Spécifications principales Description du produit Facteur de forme Localisation Processeur

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

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

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES

Plus en détail

Performances de la programmation multi-thread

Performances de la programmation multi-thread UFR Sciences et techniques de Franche-Comté Projet semestriel 2ème année de Master Informatique Performances de la programmation multi-thread Auteur(s) : Beuque Eric Moutenet Cyril Tuteur(s) : Philippe

Plus en détail

Les technologies du Big Data

Les technologies du Big Data Les technologies du Big Data PRÉSENTÉ AU 40 E CONGRÈS DE L ASSOCIATION DES ÉCONOMISTES QUÉBÉCOIS PAR TOM LANDRY, CONSEILLER SENIOR LE 20 MAI 2015 WWW.CRIM.CA TECHNOLOGIES: DES DONNÉES JUSQU'À L UTILISATEUR

Plus en détail

Les environnements de calcul distribué

Les environnements de calcul distribué 2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32 Calcul haute performance (HPC) High-performance computing (HPC) : utilisation

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

<Insert Picture Here> Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Vers du matériel libre

Vers du matériel libre Février 2011 La liberté du logiciel n est qu une partie du problème. Winmodems Modem traditionnel Bon fonctionnement Plus cher Electronique propriétaire Blob sur DSP intégré au modem Bien reçu par les

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

Plus en détail

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

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août 2006. Présentée et soutenue publiquement par. THÈSE Pour obtenir le grade de DOCTEUR DE L UNIVERSITÉ DE GRENOBLE Spécialité : Informatique Arrêté ministériel : 7 août 2006 Présentée et soutenue publiquement par Fabien GAUD le 02 Décembre 2010 ÉTUDE

Plus en détail

Sanity Check. bgcolor mgcolor fgcolor

Sanity Check. bgcolor mgcolor fgcolor Sanity Check bgcolor mgcolor fgcolor 0 1 2 3 4 5 6 7 8 9 10 Compilation pour cibles hétérogènes: automatisation des analyses, transformations et décisions nécessaires, François Irigoin et Ronan Keryell

Plus en détail

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par :

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par : UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES Laboratoire d Informatique Fondamentale d Orléans THÈSE présentée par : Hélène COULLON

Plus en détail

Programmation d Applications Concurrentes et Distribuées (INF431)

Programmation d Applications Concurrentes et Distribuées (INF431) Programmation d Applications Concurrentes et Distribuées (INF431) Julien Cervelle Albert Cohen Eric Goubault Francesco Zappa Nardelli François Pottier Samuel Mimram Benjamin Werner 1er janvier 2015 2 Table

Plus en détail

Infrastructures Parallèles de Calcul

Infrastructures Parallèles de Calcul Infrastructures Parallèles de Calcul Clusters Grids Clouds Stéphane Genaud 11/02/2011 Stéphane Genaud () 11/02/2011 1 / 8 Clusters - Grids - Clouds Clusters : assemblage de PCs + interconnexion rapide

Plus en détail

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Retour d expérience RATP Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Les intervenants Alexis Bourgeois Chef de projet MOE (front web)

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

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

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Projet d'infrastructure de stockage mutualisée

Projet d'infrastructure de stockage mutualisée Projet d'infrastructure de stockage mutualisée (pour la communauté scientifique régionale) - CRRI antoine.mahul@clermont-universite.fr Journée de rencontre du réseau AuDACES - 17 juin 2014 1. Contexte

Plus en détail

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

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?

Plus en détail

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data. Big Data De la stratégie à la mise en oeuvre Description : La formation a pour objet de brosser sans concession le tableau du Big Data. Les participants repartiront de cette formation en ayant une vision

Plus en détail

Relever les défis des véhicules autonomes

Relever les défis des véhicules autonomes EMM 2014 12eme rencontre européenne de mécatronique Relever les défis des véhicules autonomes Mathias Perrollaz Ingénieur expert Inria Christian Laugier Directeur de recherche Inria E-Motion Team Annecy,

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5 Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet

Plus en détail

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

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

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

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES 1 DECOUVERTE DE LA VIRTUALISATION... 2 1.1 1.2 CONCEPTS, PRINCIPES...2 UTILISATION...2 1.2.1 Formation...2

Plus en détail

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)

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) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Analyse de performance, monitoring

Analyse de performance, monitoring Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

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

PACKZ System Requirements. Version: 2015-05-27. Version: 2015-05-27 Copyright 2015, PACKZ Software GmbH. 1 PACKZ System Requirements Version: 2015-05-27 Copyright 2015, PACKZ Software GmbH. All rights reserved.this manual may not be copied, photocopied, reproduced, translated, or converted to any electronic

Plus en détail

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

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Rapport de stage Master 2

Rapport de stage Master 2 Rapport de stage Master 2 Informatique Haute Performance et Simulation, 2 ème année Ecole Centrale Paris Accélération des méthodes statistiques sur GPU Auteur : CHAI Anchen. Responsables: Joel Falcou et

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Guide Mémoire NETRAM

Guide Mémoire NETRAM Guide Mémoire NETRAM Types de mémoires vives On distingue généralement deux grandes catégories de mémoires vives : Mémoires dynamiques (DRAM, Dynamic Random Access Module), peu coûteuses. Elles sont principalement

Plus en détail

Instrumentation de code Java

Instrumentation de code Java Instrumentation de code Java Mickaël Delahaye mickael.delahaye@etudiant.univ-rennes1.fr Étude bibliographique Master 2 Recherche Informatique 2007 Résumé Cette étude bibliographique présente un état de

Plus en détail

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

MAC-TC: programmation d un plate forme DSP-FPGA MAC-TC: programmation d un plate forme DSP-FPGA Tanguy Risset avec l aide de: Nicolas Fournel, Antoine Fraboulet, Claire Goursaud, Arnaud Tisserand - p. 1/17 Plan Partie 1: le système Lyrtech Introduction

Plus en détail

Prentice Hall, 2011 (ISBN 0-13-610804-0)

Prentice Hall, 2011 (ISBN 0-13-610804-0) Prentice Hall, 2011 (ISBN 0-13-610804-0) Introduction à l architecture des ordinateurs Georges-André Silber Centre de recherche en informatique École nationale supérieure des mines de Paris octobre 2010

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Linux embarqué: une alternative à Windows CE?

Linux embarqué: une alternative à Windows CE? embarqué: une alternative à Windows CE? : une alternative à Windows CE Présentation Mangrove Systems Distribution embarqué Perspective WinCe / Questions Mangrove systems Créé en 2001 Soutien Soutien Ministère

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

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

Une méthode de conception de systèmes sur puce École thématique ARCHI 05 Une méthode de conception de systèmes sur puce (de l intégration d applications) Frédéric PÉTROT Laboratoire TIMA Institut National Polytechnique de Grenoble Frédéric Pétrot/TIMA/INPG

Plus en détail

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

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

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Fonctionnalités d Acronis :

Fonctionnalités d Acronis : Sommaire Introduction... 2 Fonctionnalités d Acronis :... 2 Concepts de base d'acronis True Image Home... 3 Version d Acronis... 4 Configuration requise pour Acronis True Image Home 2015... 4 Systèmes

Plus en détail