ARCHITECTURE DES MICROPROCESSEURS
|
|
- Ségolène Pelletier
- il y a 6 ans
- Total affichages :
Transcription
1 ES IN (Python) IN (C), IN & MO (OS, Unix) Couches logicielles Architecture Micro-architecture Logique/Arithmétique Circuit logique Circuit analogique Dispositif Physique ARCHITECTURE DES MICROPROCESSEURS (INTRODUCTION) ES / CM ES/CM8 DERRIÈRE VOTRE PROGRAMME C swap(int v[],int k) { int temp; temp=v[k]; v[k]=v[k+]; v[k+]=temp; } compilation C langage de l embarqué, du calcul intensif et des systèmes d exploitation! IN instruction élémentaire exécutée en une (ou quelques) période(s) d horloge swap: sll $ $ add $ $4 $ lw $ ($) lw $ 4($) sw $ ($) sw $ 4($) jr $ langage assembleur (variante lisible du langage machine) processus langage machine exécution programme s exécutant sur une machine dépend du type de machine visée Ici, jeu d instruction MIPS bits (origine de la révolution RISC)
2 ES/CM8 BESOIN DE PLUS DE REGISTRES (que dans la calculette primitive) pour supporter des algorithmes courants Registre load CK R load d q dff d q dff d q dff d q dff load= : chargement nouvelle load= : maintien ancienne CK CK CK CK chaque registre portera typiquement une variable de calcul on veut pouvoir en combiner au choix à chaque période d horloge pour cela, il faut pouvoir récupérer le contenu de n importe quel couple de registres parmi de multiples accessibles, faire une opération sur les deux opérandes ainsi récupérés, et ranger le résultat dans n importe quel registre! registres regroupés en banc pour répondre à ce besoin ES/CM8 numéro de registre! sw sw sw sw sw sw load d_in R d_out d_out 4 Décodeur d (PC4) SR = Select Read SR = Select Read = Select Write Exemple avec 8 registres bits! kt CK SR SR data in data out data out un seul load à décodeur 4 load load load4 load load load load R R R4 R R R R BANC DE REGISTRES 4 SR 4 SR multiplexeurs numériques 8 vers
3 ES/CM8 SR SR BANC DE REGISTRES () lu lu d_out d_out d_in décodeur Les registres ont aussi des «"petits noms"», selon certaines spécificités : t, s, ra, a, v, sp R souvent remplacé par la constante numérique et appelé registre zéro : - utile pour particulariser certaines opérations - permet de n écrire sur aucun registre avec = 4 load load load load4 load load load d_in inutilisé Ci-après, banc de registres avec registres bits (MIPS I) R R R R4 R R R d_out 4 SR d_out 4 SR multiplexeurs numériques 8 vers ES/CM8 SO LU a b a b LU = CHEMIN DE DONNÉES POUR PROCESSEUR SO : Select Operation +/ " r r SR SR lu lu SO > = = Unité Logique & Arithmétique Instruction = { SR, SR, SO, } : les signaux de commande du CD
4 ES/CM8 DONNÉES EN MÉMOIRE Banc de registres trop exigu pour des s nombreuses ici de largeur Adresse Exemple de contenu (ligne par ligne / mot par mot) bits (MIPS I) ex. : la chaîne «"ES"» débute à l = (n de ligne) " 4 " 4 car on compte en octets ainsi, chaque caractère d une chaîne a une propre caractère S caractère E caractère caractère NUL situé à l? entier entier - (si signé) réel / en format flottant 4 bits (cf. PC/Exo) chaîne «"ES"» en code ASCII entier? de S! pointeur du langage C... en langage C, toute chaîne est «"terminée"» par un NUL NUL remplit aussi les octets restants sur la ligne (alignement) ES/CM8 tableau de bits de contenance n octets, chacun avec une propre : son numéro, sur n bits espaces adressables pour n puissance de : n=! 4 gigaoctets (désormais bien étroit) n=4! exaoctets (gigantesque) MÉMOIRE de largeur l, donc comportant n /l lignes (mots) chacune accessible en lecture (RW = ) R : read ou en ure (RW = ) W : write sur présentation de son comparé aux registres, stockage bien + dense (CM9) mais séquencement + complexe (possible lenteur d accès) accueillant des s de taille variable, selon leur type, multiple de l sauf exception il faut sauter du bon nombre d octets pour passer à la suivante d un tableau... accueillant aussi des s de s ou encore des instructions (mémoire dédiée ici) MI MD l= RW de s n= l= MIPS I : n = l = instruction 8
5 ES/CM8 CHEMIN DE DONNÉES ÉTENDU 9 Pas d échange de s direct entre mémoire et : architecture dite load-store Adresses mémoire élaborées par l : ce sont les pointeurs du langage C R/W Entrée din pour usage ultérieur spécifique L instruction { SR, SR, SO, } se complexifie : R/W et commandes des MUX en plus SR SR lu lu din SO > = de s Bus multiplexés ES/CM8 CODAGE DES INSTRUCTIONS Redondance entre SO, R/W et les commandes des MUX ; cas inutilisés! on code chaque instruction pour gagner en concision, en lui attribuant un numéro propre : le code opératoire sur bits en MIPS SR, SR et restent en clair car indépendants/orthogonaux sur bits chacun car registres en MIPS I instruction structurée en champs successifs instruction codée # décodage «"live"» nécessaire! à la charge de l UC (unité de commande) code opératoire sur bits RI op rs rt rd r = reg. SR SR lu lu din Exemple ultérieur SO > = de s R/W
6 ES/CM8 Registre Program d Counter d instruction (PC) UC PARTIELLE instruction vers UC RI op rs rt rd r = reg. SR SR lu lu > = de s depuis UC ES/CM8 Registre d d instruction décompte en instructions ici en octets ("4) là instruction RI op rs rt rd Program Counter (PC) état de l UC g UC lu lu f UC CHARGEMENT INSTRUCTION SUIVANTE Mécanisme atomique pour exécuter une suite prédéterminée d opérations - indépendante des s UC : chaîne d états liés par des transitions inconditionnelles Comportement implanté avec une mémoire (g UC ) adressée par un compteur (f UC ) L présentée à la mémoire est incrémentée de 4 à chaque période d horloge pour désigner l instruction suivante, située 4 octets plus loin, car largeur d instruction = bits
7 ES/CM8 types : Opérations sur les s : addition, soustraction, multiplication opérations logiques décalages (tournant ou pas), copie INSTRUCTIONS Transferts de s : de registre vers mémoire (ure, store) de mémoire vers registre (lecture, load) Gestion de séquencement : sauts (jump) et branchements (branch) sous-programme : appel & retour (call & return) R I J fait intervenir les registres seulement accès indirect aux s exploite pointeur sur mémoire de s procède par saut (jump) exploite pointeur sur mémoire environ instructions au total, d où bits alloués au code opératoire! passage en revue de - exemples caractéristiques pour chaque type examen de leur réalisation sur CD + UC, voire de leur raison d être apprécier l économie de moyens ES/CM8 4 LE PREMIER MICROPROCESSEUR Intel 44 novembre 9 Federico Faggin Ted Hoff Stan Mazor kt, pmos µm, 4kHz, registres entiers 4 bits, s bits, 4 instructions 8 bits # MIPS I, où tout est sur bits
8 ES/CM8 R ES/CM8 compteur de programme : PC INSTRUCTION ARITHMÉTIQUE R opérandes de l instruction add instruction RI op rs rt rd r = reg. lu=s lu=s =t add $t,$s,$s t$$s+$s t, s, s : noms de registres = Unité Logique & Arithmétique > = de s
9 ES/CM8 compteur de programme : PC instruction RI op rs rt rd r = reg. lu lu=s =t AVEC VALEUR IMMÉDIATE addi $t,$s, t$$s+ correspond à une ligne C t. q. k=j+; Incrément logé dans l instruction même, au lieu d être chargé dans un registre > = de s R ES/CM8 code opératoire de addi, à décoder par l UC, pour savoir comment exploiter le reste de l instruction et piloter le CD RI op rs rt rd r = reg. ZOOM SUR ADDI registre n : s registre n 8 : t entier lu lu=s addi $t,$s, =t la véritable instruction, sur bits représentation en langage assembleur de l instruction d addition immédiate > = de s 8
10 ES/CM8 9 I La mémoire de s (MD) entre en jeu. Ci-après, la MD héberge un tableau d entiers data, à partir d une certaine, chargée dans le registre s. L élément data[] se trouve donc à l $s+ pointeur du langage C = " (4 octets) ES/CM8 compteur de programme : PC CHARGEMENT DE DONNÉE I instruction RI op rs rt rd r = reg. lu lu=s =t l $s+! le registre t reçoit la valeur de data[] lw $t,$s+ «"load word"» t reçoit le contenu de la mémoire à > = de s R (R/W=)
11 ES/CM8 compteur de programme : PC instruction RI op rs rt rd r = reg. lu=t lu=s STOCKAGE DE DONNÉE sw $t,$s+ «"store word"» $t est stocké/ en mémoire à l $s+! data[] reçoit la valeur contenue dans le registre t > = de s I W (R/W=) ES/CM8 J Jusqu ici, la prochaine instruction exécutée était la suivante en mémoire (f UC : compteur). Mais, casser parfois cette routine va s avérer d un grand intérêt. Idée : utiliser des instructions dédiées pour altérer le fonctionnement du compteur.
12 ES/CM8 if then IF THEN ELSE Le if : du Python est un if then en C else if then else Besoin d un branchement (branch) qui, selon le résultat du test if, saute vers then ou poursuit avec l instruction suivante, débutant ainsi else J ex. avec else supposée de longueur 8 : beq $s, $s, +9 (branch if equal) Si $s=$s, sauter 9 instructions plus loin, sinon avancer à la suivante (comme d habitude). t A l exécution, selon le résultat du test if, on exécute soit then soit else en mémoire after En mémoire, ces segments de code sont installés les uns derrière les autres : les segments else et then doivent donc pouvoir être sautés. Une fois else exécuté, besoin d un saut (jump) systématique par dessus then pour atteindre after j BeginAfter (jump) BeginAfter = symbolique, aussi appelée étiquette, de la première instruction du segment after. ES/CM8 compteur de programme : PC instruction There RI op rs rt rd r = reg. lu lu j There saut à l «"There"» de la mémoire C est au vu du code opératoire de j que l UC dirige There vers le PC SAUT jump > = de s J 4
13 ES/CM8 compteur de programme : PC instruction RI op rs rt rd r = reg. +9 lu=s lu=s BRANCHEMENT «"repère"» relatif à l instruction courante beq $s,$s,+9 branch if equal O_o le CD pilote l UC? Branchements vers l arrière utiles également, pour les boucles while > = de s J ES/CM8 n=fact(k); int fact(int i) { } Déclaration d une fonction en C return_add SOUS-PROGRAMMES Appel Retour Quelque part en mémoire jal add_fact jal : jump and link - saute vers add_fact et mémorise return_add dans le registre ra jr $ra : jump register - saute vers l contenue dans le registre ra add_fact appel retour Quelque part ailleurs en mémoire jr $ra J Sousprogramme «"fact"»
14 ES/CM8 compteur de programme : PC RESTE DE L UC Outre charger l instruction, il faut la décoder puis l exécuter instruction RI op rs rt rd lu lu Unité de commande > = de s R/W ES/CM8 petit segment de code L instruction lw (load word) de chargement de s apparaît la plus longue : étapes successives irréductibles : lecture/décodage de l instruction lecture du registre portant l de base du tableau où se trouve la en mémoire calcul de l de la, à partir de son indice, passé en, et de la base récupération de la en provenance de la mémoire ure dans un registre tentant de pipeliner ces étapes en étages : CK lw $t,($t) bne $t,$s,exit add $s,$s,$s MI Reg MI? Reg MI MD Reg Reg MD? Reg MD Reg PIPE-LINE MI Reg MD Banc de registres : lecture de s Reg Banc de registres : ure Mais : comment utiliser $t alors qu il n est pas encore calculé? quid de charger une instruction sans savoir si c est la bonne? 8 instruction exécutée! à l UC de gérer
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é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é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é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é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étailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
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étailJeu d instructions NIOS II
Jeu d instructions NIOS II 1 Formats d instructions Le processeur NIOS II a un jeu d instructions de type RISC. Il possède 32 registres de 32 bits, notés r0 à r31, avec r0 0. Les instructions sont de longueur
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é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étailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
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étailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
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é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étailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détailLa 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é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é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é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é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é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étailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
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étailFonctionnement 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étailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
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é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é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é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étailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
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étailMesure 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é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étail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailArchitecture : Circuits numériques et éléments d architecture
Ecole Nationale Supérieure d Informatique et de Mathématiques Appliquées Architecture : Circuits numériques et éléments d architecture 1 ère année Année scolaire 2014 2015 Consignes Les exercices de ce
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é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étailMicroprocesseur + Logiciel
Microprocesseur + Logiciel Robot EVALBOT MOHAMED AKIL BUREAU 5253 UNITE IGI 1001 PROGRAMMATION DES MICROPROCESSEURS Présentation [IGI1001] CONTEXTE SCIENTIFIQUE... 4 1. OBJECTIFS DE L UNITE... 6 2. OBJECTIFS
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étailArchitecture des ordinateurs Introduction à l informatique
Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailCompression Compression par dictionnaires
Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une
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étailISO/CEI 11172-3 NORME INTERNATIONALE
NORME INTERNATIONALE ISO/CEI 11172-3 Première édition 1993-08-01 Technologies de l information - Codage de l image animée et du son associé pour les supports de stockage numérique jusqu à environ Ii5 Mbit/s
Plus en détailArchitecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)
Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à
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é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étailGestion mémoire et Représentation intermédiaire
Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,
Plus en détailIntroduction à l informatique en BCPST
Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de
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étailAssembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96
Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.
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é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étailPIC : COURS ASSEMBLEUR
PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire
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étailProgrammation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
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é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étailJ AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE
RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailProgrammation assembleur : aperçu
Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal
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étailTraduction 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étailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
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é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é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étailArchitecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO
Architecture des Ordinateurs Première partie Cécile Germain Daniel Etiemble Licence d Informatique - IUP Miage - FIIFO Table des matières 1 Introduction 3 2 Les composantes de l ordinateur 7 2.1 Le modèle
Plus en détailChapitre 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étailCalcul Formel et Numérique, Partie I
Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations
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étailCorrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
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étailSGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA
SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
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é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étailTransmissions série et parallèle
1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en
Plus en détailGrandes 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étailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
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étailPrésentation du langage et premières fonctions
1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailEnseignement secondaire technique
Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailIFT1215 Introduction aux systèmes informatiques
Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d
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é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étail2 Comment fonctionne un ordinateur, dans les grandes lignes
Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)
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étailCQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que
CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants
Plus en détailTP 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