Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]
|
|
- Lionel Larivière
- il y a 8 ans
- Total affichages :
Transcription
1 Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996]
2 Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après, le gain est dû à de nouvelles idées architecturales.
3 1. La performance des processeurs Comment dire qu un ordinateur est plus rapide qu un autre? Que donneriez-vous comme mesure de performance d un ordinateur?
4 1. La performance des processeurs Comment dire qu un ordinateur est plus rapide qu un autre? L utilisateur est intéressé par la réduction du temps de réponse Temps écoulé entre le début et la fin d un événement (ou temps d exécution) Le responsable système est intéressé par l augmentation du débit : la nombre de travaux effectués en un temps donné
5 a. Temps de réponse Dire d un ordinateur (X) est n fois plus rapide qu un autre (Y) sur une tâche signifie : Temps d' exécution Temps d' exécution Y = Comme la performance est l inverse du temps d exécution : X n Temps d' exécution Temps d' exécution Y n = = X Performance Performance X Y
6 b. Débit Dire que le débit de X est k=1,3 fois supérieur à celui de Y signifie : Debit NbTacheParSeconde X x = k = DébitY NbTacheParSecondeY La différence entre les deux est La mesure d une tâche (latence) La mesure de plusieurs tâches (débit) Dans les 2 cas il faut mesurer le temps
7 2. Mesurer la performance Mesurer le temps de réponse d une application sur un PC prends en compte : Le temps nécessaire pour terminer la tâche Le temps d accès disque Les accès mémoire (principale) Les activités d E/S Le surcoût de l OS Temps UC = uniquement le temps de travail de l UC Temps UC utilisateur Temps UC Système
8 a. Présenter les résultats Principe de base : la reproductibilité Donner la liste de tout ce dont un autre expérimentateur a besoin pour retrouver les résultats.
9 Exemple Machine A Machine B Machine C Programme 1(s) Programme 2(s) Temps Total (s) Quelle est la machine la plus performante?
10 b. Temps d exécution total Comparer la performance de 2 machines pour une série d applications tests par moyenne arithmétique (n est le nombre de programmes) : 1. n n i = 1 Temps i Si la performance est exprimée comme un débit, alors la mesure utilisée est la moyenne harmonique : n i = 1 n 1 Débit i
11 Exemple (suite) Machine A Machine B Machine C Total Moyenne Arith. 500,
12 c. Temps d exécution pondéré La moyenne arithmétique suppose une répartition identique des travaux. Les programmes 1 et 2 s exécutent-ils vraiment de manière égale dans la charge de travail? Sinon, on peut affecter un poids w i à chaque programme pour indiquer sa fréquence. (avec Σ w i =1) n i = 1 Poids i Temps i
13 Exemple (suite) Machine A Machine B Machine C W(1) W(2) W(3) Programme 1 1,00 10,00 20,00 0,50 0,909 0,999 Programme ,00 100,00 20,00 0,50 0,091 0,001 Moyenne Arith. 500, W(1) Moyenne Arith. W(2) Moyenne Arith. 91,82 2,00 18,18 10, Bien mesurer et maîtriser les fréquences d apparition des événements W(3)
14 3. Rendre rapide le cas courant Le principe le plus répandu dans la conception des ordinateurs est de rendre rapide les cas les plus fréquents au détriment des cas rares. 1. Déterminer quel est le cas fréquent 2. Quel est le gain potentiel Ce gain peut être calculé par la loi d Amdahl
15 a. Loi d Amdahl Si seule une portion d une application peut être améliorée (en performance), alors elle définit l accélération comme le gain max en vitesse d une tâche utilisant cette amélioration : Accélération = ComportementAmélioré ComportementD' origine Exemple : Si l amélioration n affecte que 12% de la tâche, la meilleure accélération possible sera : 1 1 0,12 = 1,136 fois plus rapide
16 Loi d Amdahl Acc = (1 Fraction améliorée ) 1 + Fraction Accélération améliorée améliorée Elle sert de guide pour calculer l impact d un dispositif d amélioration. Elle sert à répartir proportionnellement les ressources aux endroits où le temps est utilisé.
17 Loi d Amdahl Portion de code non parallélisable La loi d'amdahl a été initialement proposée pour chiffrer le gain de performance des architectures parallèles
18 b. Exemple Considérons un dispositif d amélioration dix fois plus rapide que la machine de base, mais que l on ne peut utiliser que 40% du temps. Quelle est l accélération totale obtenue en intégrant ce dispositif?
19 Exemple Considérons un dispositif d amélioration dix fois plus rapide que la machine de base, mais que l on ne peut utiliser que 40% du temps. Quelle est l accélération totale obtenue en intégrant ce dispositif? Fraction améliorée = 0,4 Accélération améliorée = 10 Acc = 1/(0,6+(0,4/10)) =1/(0,64) = 1,56
20 4. Performance UC
21 a. Temps de cycle Les processeurs sont construits à partir d une horloge fonctionnant à une certaine fréquence. Ces événements discrétisés sont appelés impulsions d horloge ou cycle d horloge. On caractérise la période d horloge Soit par sa durée : 2ns Soit par sa fréquence: 500MHz Le temps UC d un programme peut donc être exprimé par : TempsD ' exécutionuc = NombreDeCyclesUC TempsDeCycle
22 b. CPI A partir du nombre de cycles et du nombre d instructions (NI), on peut calculer le nombre moyen de cycles d horloge par instruction (CPI): CPI Donc = NombreDeCyclesUCPourUn Pr NI ogramme TempsUC = NI CPI TempsDeCycle
23 CPI (suite) En développant, on obtient : Instructions Pr ogramme CycleD' hor log e Instruction Secondes CycleD' hor log e Seconde ogramme La performance de l UC dépend de trois facteurs Le temps de cycle (ou fréquence) Le nombre de cycles par instruction Le nombre d instructions. TempsUC Améliorer l un d eux de 10% conduit à une amélioration globale de 10%. = Pr =
24 CPI (suite) Mais aucune ne peut être modifiée indépendamment des autres Fréquence d horloge Technologie et architecture matérielle CPI Architecture du Jeu Nb d instructions d instruction ISA + efficacité des compilateurs
25 2e calcul de CPI NombreDeCyclesUC = n i = 1 CPI i NI i TempsUC n = i = 1 ( CPIi NIi ) tempscycle CPI = n i = 1 ( CPI i NIi ) NombreInstructions
26 Mesure des composantes Temps de cycle : Circuit existant : mesure Circuit en cours : estimation Nombre d instructions : Nécessite un compilateur, puis Circuit existant : mesure Circuit en cours : ISS, long (10 à 1000 fois + lent) Insertion de code d instrumentation dans le binaire (compteurs) (2 fois plus lent) CPI = information dynamique difficile à estimer Accès mémoire Effet du pipeline
27 Localité des références Les programmes ont tendance à réutiliser des données et des instructions qu ils ont utilisées récemment. Un programme passe 90% de son temps sur 10% des instructions. Donc on peut prédire avec une précision raisonnable les données ou instructions qu un programme utilisera dans un futur proche.
28 Localité spatiale et temporelle Les objets accédés récemment ont beaucoup de chances d être accédés à nouveau dans un futur proche. Des objets dont les adresses sont proches ont beaucoup de chances d être accédés dans un temps rapproché.
29 Utilisation de la localité Les caches Cette petite mémoire contient les données et instructions récemment accédées. On y place les informations accédées récemment : localité spatiale Et les éléments mémoires dont les adresses sont proches : localité spatiale L élément demandé par l UC est dans le cache : Succès cache (HIT), accès en 1 cycle Sinon c est un défaut de cache (MISS), suspension de l UC pour le temps de lecture en mémoire principale.
30 Extension de l équation de performances Prise en compte du nombre de cycles d attente des accès mémoire, appelés cycle de suspension mémoire. avec TempsExecu tionuc = ( cyclesuc + CyclesSuspension) TempsCycle CyclesSuspension = NbEchecs PénalitésEchec = NI EchecsParInstruction PénalitésEchec = NI AccèsMemParInstr TauxEchec PénalitésEchec
31 Mesures des composantes L avantage de la dernière formulation du calcul de cycles de suspension mémoire est que les composantes peuvent être facilement mesurées. NI, déjà vu Accès mémoire par instruction, idem TauxEchec, par des simulateurs de cache (NbMISS/NbAcces)
32 Autres mesures de performances MIPS Millions d instructions par seconde (G)MOPS Millions d opérations par seconde MIPS MOPS = = NI Temps d'exécution FréquenceHor log e 6 CPI NOp = Temps d' exécution (G)MFLOPS Millions d opérations flottantes par seconde MFLOPS N opérations flottantes = Temps 6 d'exécution 10
33 Illusions Les MIPS sont une mesure précise pour comparer les performances des ordinateurs. NI TempsExecution = MIPS Le nombre de MIPS dépend du jeu d instructions Il dépend des programmes de test (benchmark) Et il peut varier en sens inverse de la performance! Exemple des machine à coprocesseur matériel de calcul flottant. Pour un programme flottant, l utilisation du copro donne un temps d exécution plus court mais un MIPS plus faible. 10 6
34 Amélioration des performances L'amélioration des performances d'une machine (d'un processeur) consiste principalement à réduire le temps nécessaire à l'exécution des instructions. Améliorations par : Augmentation de la fréquence d'horloge Simplifier le décodage et l'exécution des instructions (RISC) Exécuter plusieurs instructions «en même temps» par : Parallélisme temporel (pipeline) Parallélisme spatial (superscalaire, VLIW) Prédiction de branchements Exécution spéculative
35 V. Mesure de temps d exécution A la recherche du temps perdu
36 Mesures 1. Mesures externes 2. Mesures internes 3. Problèmes de mesures 4. Temps d attente
37 Echelles de temps Microscopique : Integer Add FP Mul FP divide Macroscopique Disk access Screen refresh Keystroke Interrupt handler 1ns 1us 1ms 1s
38 1) Critères d utilisation des méthodes de mesure Résolution Représente l unité de temps minimale mesurable Précision Représente l erreur de mesure La précision est d autant plus importante que le taux d utilisation du processeur est important Granularité Représente la granularité de l élément logiciel mesuré (processus, procédure, boucle, instruction) Difficulté Représente la difficulté de mise en œuvre de la méthode de mesure
39 1) Mesures externes - linux a) Stop-watch Une horloge extérieure (temps extérieur) c) date Identique à stop-watch avec une horloge CPU Date > output Program >> output Date > output b) time ou times Cette méthode contrairement aux précédentes prend en compte les preemption, les I/Os et les autres évènements qui prennent la main sur le programme time program u 0.040s 0: ,1% Ces méthodes sont : Simples à utiliser Pas de modification du code Précision de l ordre de 0,5s Résolution de l ordre de 0,01s
40 1) Mesures externes d) prof/gprof Permet d identifier les portions critiques d une application Ralentie l exécution et altère donc la mesure Utilisation : gcc p o program program.c // -pg pour gprof program prof program
41 Comparatif Méthode Résolution Précision Granularité Difficulté Stop-watch 1s 0,5s Programme Simple Date 1s 0,5s Programme Simple Time 0,01s 0,1s Programme Simple Prof 10ms 20ms Routine Moyen
42 2) Mesures internes en C a) time, retourne le temps écoulé (secondes) depuis le 1er janvier 1970, minuit : type time_t Convertissable en données plus pratiques (man ctime) struct tm{ Int tm_sec; Int tm_min; } Int tm_hour, mday, mon, year, wday, yday, isdst; Précision en secondes! b) gettimeofday, mesure de temps beaucoup plus fine, de l ordre de la microseconde
43 c) clock #include <time.h> Clock_t start, finish; Double total; Start = clock(); // code Finish = clock(); Total = (double)(finish-start)/(double)clk_tck; On obtient la résolution de l horloge système par Sysconf(_SC_CLK_TCK); // unistd.h
44 c) Mesure du nombre de cycles CPU Intel x86 : ReaD TimeStamp Counter inline unsigned lon long int rdtsc(){ unsigned lon long int x; asm volatile (.byte 0x0f, 0x31 : -A (x)); return x; }
45 c) Mesure du nombre de cycles CPU Fonction inline : Principe identique à une macro du préprocesseur Le compilateur ne génère pas de symbôle associé mais intègre le code de la fonction dans l appelant Variable volatile : Précise au compilateur que la valeur de la variable peut changer à n importe quel moment sans action explicite du code (registres mappés mémoire, variable modifiée par intérruptions, application multi-thread) Utilisé surtoût en contexte embarqué
46 Exemple 1 : Registres périphériques Exemple d un registre 8-bit mappé à l adresse 0x1234. Le code doit tester s il passe à non-zéro UINT *ptr = (UINT *) 0x1234; // wait until non-zero While (*ptr==0) // do treatment Le compilateur génère mov ptr, #0x1234 mov loop : bz loop // infinite loop En déclarant ptr volatile (UINT volatile *ptr), sa valeur est relue mov ptr, #0x1234 loop : mov bz loop
47 Exemple 2 : routine d interruption } } Teste de fin de message (ETX) sur un port série int etx_rcvd = FALSE; void main(){ while (!etx_rcvd){ // wait } // unused code interrupt void rx_isr(void){ if (ETX == rx_char) etx_rcvd = TRUE; Problème : le compilateur ne voit pas le changement possible de etx_rcvd par l ISR, la boucle d attente est donc considérée comme toujours vraie. Le code après la boucle est simplement supprimé du code compilé!!
48 Exemple 3 : préemption et variables partagées Le compilateur n a pas de vision des changements de contexte, Les variables globales partagées (même par mutex) peuvent donc changer inopinément Donc elles doivent être déclarées volatile! int cntr; void task1(){ cntr = 0; while (cntr==0){ sleep(1); } } void task2(){ cntr++; sleep(10); }
49 d) Timer matériels Lecture d un timer matériel externe avant et après la portions de code à mesurer
50 3) Problèmes de mesures Comparaison entre systèmes différents difficile : Noyau, type de processeur, caches Normalisation par rapport à un temps de référence : boucle vide Temps d exécution variable Pas de maîtrise sur la portion réellement mesurée Utilisateur, système Changement de contexte, IRQ La mesure ajoute elle-même un biais Autres possibilités Modification du noyau (fonctions hook)
51 4) Temps d attente Plusieurs options sont possibles pour mettre un programme en attente un certains temps : Lire le temps et boucler jusqu au temps voulu Pour éviter de consommer du temps CPU pour rien, il faut utiliser la fonction sleep, pour une attente en secondes. La précision du temps réellement écoulé est mauvaise. usleep Attente en microsecondes nanosleep int nanosleep(const struct timespec *req, struct timespec *rem); struct timespec{time_t tv_sec; long tv_nsec;}; La fonction peut terminer plus tôt (signal), elle retourne alors -1 et écrit le temps restant dans rem On peut donc relancer l attente jusqu au temps voulu
52 Plus
53 Mesures de performances Benchmarks Codes spécialisés dans le test d architectures Applications réelles Logiciels de traitement de textes, tableurs, audio, etc. Problème : la portabilité Applications modifiées Ciblent les performances Noyaux Extraire une partie d un programme réel Isole les caractéristiques de la machine Jeux Programmes simples (dizaine de lignes de code) Facilement portable (tri rapide, puzzle, etc.)
54 System Performances and Evaluation Cooperative - SPEC 1. Options de compilations prédéfinies 2. Même compilateur et même options pour tous les programmes test 3. Les assertions sont interdites 4. Aucun nom de (sous-)programme dans les options de compilation 5. Aucun retour en arrière 6. Les options de changement de taille des éléments sont interdites
55 Les besoins Serveurs Services de calculs et stockage à grande échelle Capacité de stockage importante Disponibilité, fiabilité, extensibilité Les ordinateurs personnels Premier marché aujourd hui Grandes performances Applications multimédia Applications réseaux Les architectures embarquées Faible consommation Performances temps réel Contraintes dures Contraintes molles Moindre coût
56 Matériel vs Compilateur Qui doit prendre la responsabilité de la gestion de la performance entre L architecture matérielle Le compilateur Le compilateur peut-il profiter au mieux de l architecture sous-jacente?
Le traitement du temps
Programmation Système Mesure Horloges Sommeil Mise en forme Fabrice Harrouet École Nationale d Ingénieurs de Brest harrouet@enib.fr http://www.enib.fr/~harrouet/ enib, F.H... 1/30 Intérêt Cadencer les
Plus en détailArchitecture 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étailExé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étail1 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étailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailRappels 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étailExé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étailMatériel & Logiciels (Hardware & Software)
CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique
Plus en détailTHEME 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étailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailINITIATION 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étailArchitecture 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étailLeç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étailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailPerformances et optimisations
Performances et optimisations Outils pour le calcul scientifique à haute performance École doctorale sciences pour l ingénieur juin 2001 Philippe MARQUET phm@lifl.fr Laboratoire d informatique fondamentale
Plus en détailVers 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étailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailTests 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étailInitiation 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étail03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Plus en détailTout 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étailHié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étailGé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étailSur 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étailTemps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011
Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller
Plus en détailArchitecture 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étailCompilation (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étailConception 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étailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailOn 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étailIntroduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007
Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des
Plus en détailELP 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Éléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Plus en détailMODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ
MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailCM2 L architecture MIPS32
CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS
Plus en détailPartie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com
Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel
Plus en détailArchitecture 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étailArchitecture ordinateur. Organisation mémoire et Entrées/Sorties
Architecture ordinateur Organisation mémoire et Entrées/Sorties 243 Plages mémoire et E/S Dans une architecture à bus partagé, seule une partie des adresses active le contrôleur mémoire. Il reste des adresses
Plus en détailStructure 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étailCours 3 : L'ordinateur
Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailCours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailModélisation des interfaces matériel/logiciel
Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET
Plus en détailUne 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étailDE 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étailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailUn ordinateur, c est quoi?
B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits
Plus en détailAlgorithmique 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étailReproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"
Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application" Katarzyna Porada and David Parello and Bernard Goossens Univ. Perpignan Via Domitia,
Plus en détailUE 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étailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailArchitecture matérielle des systèmes informatiques
Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailStructure d un programme
Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé
Plus en détailas 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étailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailDU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION
145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu
Plus en détailInformatique 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étailTAI049 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étail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailSRS DAY: Problématique liée à la virtualisation
SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
Plus en détailAssembleur. 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étailMachines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
Plus en détailGCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1
sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1 Pourquoi aller vers les processeurs standard? Considérations
Plus en détailProcessus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Plus en détailBase de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)
Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel
Plus en détailTechniques de stockage. Techniques de stockage, P. Rigaux p.1/43
Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation
Plus en détailCours 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étailIntroduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr
Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailSystèmes de transmission
Systèmes de transmission Conception d une transmission série FABRE Maxime 2012 Introduction La transmission de données désigne le transport de quelque sorte d'information que ce soit, d'un endroit à un
Plus en détail<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étailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailBases 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étailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailLimitations 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étailHétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds
Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds Mardi Laurent Lefèvre LIP Inria/ENS Lyon Jean-Marc Pierson, Georges Da Costa, Patricia Stolf IRIT Toulouse Hétérogénéité
Plus en détailAtelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques
Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation
Plus en détailUn ordinateur, c est quoi?
Un ordinateur, c est quoi? Les composants matériels... 16 Les logiciels... 21 L anatomie d un ordinateur de bureau... 23 L anatomie d un ordinateur portable... 31 Chapitre 1 Un ordinateur, c est quoi?
Plus en détail1. 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étailI00 Éléments d architecture
I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,
Plus en détailCaches web. Olivier Aubert 1/35
Caches web Olivier Aubert 1/35 Liens http://mqdoc.lasat.com/online/courses/caching/ (prise en compte des caches dans la conception de sites) http://mqdoc.lasat.com/online/courses/proxyserver http://www.web-caching.com/mnot_tutorial/
Plus en détailContributions à l expérimentation sur les systèmes distribués de grande taille
Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte
Plus en détailLa conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)
La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailFiche technique CPU 315SN/PN (315-4PN33)
Fiche technique CPU 315SN/PN (315-4PN33) Données techniques N de commande 315-4PN33 Information générale Note - Caractéristiques SPEED-Bus - Données techniques de l'alimentation Alimentation (valeur nominale)
Plus en détailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailEvaluation des performances de programmes parallèles haut niveau à base de squelettes
Evaluation des performances de programmes parallèles haut niveau à base de squelettes Enhancing the Performance Predictability of Grid Applications with Patterns and Process Algebras A. Benoit, M. Cole,
Plus en détailCours 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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailLa programmation des PIC en C. Les fonctions, les interruptions.
La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure
Plus en détail