Des instructions élémentaires. Le langage machine. Technologie liée à l assembleur. Code d opération et opérandes

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

Download "Des instructions élémentaires. Le langage machine. Technologie liée à l assembleur. Code d opération et opérandes"

Transcription

1 Le langage machine 1 / 49 De l assembleur au langage machine Le langage machine 4 / 49 Des instructions élémentaires Définition (Langage machine/code machine) Le langage machine Chapitre 4 Description de groupes de modifications des valeurs internes des composants internes de processeurs sous forme de codes numériques. J.-C. Dubacq IUT de Villetaneuse Université Paris 13 Définition (Langage assembleur) Langage de programmation qui permet de décrire les instructions élémentaires qui manipulent dans le processeur les registres, l accès à la mémoire et ses autres composants. S Définition (Assembleur) Chapitre 4 A De l assembleur au langage machine Le langage machine 5 / 49 Technologie liée à l assembleur Un programme qui prend un code source écrit en langage assembleur et le transforme en code machine, souvent spécifique à un processeur particulier. Les principes du langage machine Le langage machine 7 / 49 Code d opération et opérandes Définition (Jeu d instructions) Une spécification de caractéristiques communes à plusieurs processeurs et d un code machine commun. Une instruction (code machine) s appelle aussi opcode. Une instruction (assembleur) s appelle une mnémonique. Il existe des désassembleurs. Exemple (Mnémonique et opcode) L instruction pour processeur x86/ia (hexa : B0 61) est la traduction directe de la mnémonique MOV AL, #61h qui a pour effet de mettre la valeur 0x61 dans le registre AL du processeur. La structure d une instruction élémentaire est presque toujours la même. On trouve d abord un code d opération et de zéro à plusieurs opérandes. Le code d opération désigne la nature de l instruction, les opérandes sont les valeurs sur lesquelles l opération agit. On trouve quatre grandes catégories d opérations : instructions arithmétiques et logiques, instructions de déplacement de données, instructions de sauts et branchements, instructions de gestion des déroutements. Chaque opérande est une valeur, qui est utilisée selon son mode d adressage. Le code d opération fixe la longueur des opérandes, la longueur des instructions varie.

2 Les principes du langage machine Le langage machine 8 / 49 Modes d adressage Les principes du langage machine Le langage machine 9 / 49 La scission RISC/CISC Chapitre 4 B Au début, certaines utilisations de valeurs n étaient pas considérées comme de l adressage. Vision moderne : en fait, une plus grande variété de comportements. L adressage pouvait être déterminée opérande par opérande ou au niveau du code d opération. On distingue souvent plusieurs types d adressage : ceux pour les opérandes qui sont sensés désigner des instructions, et ceux dont les opérandes sont des données quelconques. On a essentiellement les adressages implicites, immédiats, par registre, directs, indirects, indexé... mais aussi d autres. Tous les modes d adressages n ont pas la même longueur, certains nécessite des arguments optionnels. On obtenait une grande variabilité de longueur d instructions, et certaines instructions nécessitaient donc plusieurs cycles pour être décodées. Les principes du langage machine Le langage machine 10 / 49 Adressage pour le code et étiquettes Constatation en 1975 : majorité des instructions et adressages non utilisés par les compilateurs, donc complexité inutile des processeurs. Principe : circuits plus simples, donc plus rapides, donc si parfois plus d instructions, ce n était pas grave. Fin des années 80, on voit émerger des processeurs utilisant un jeu d instruction moins riche, plus élémentaire. Technologie RISC : Reduced Instruction Set Computer (opposé à CISC : Complex...). Exemple : les processeurs d IBM, Sun, Motorola. Utilise typiquement très peu d adressages (demi-douzaine) mais plus de registres. Instructions s exécutent en un cycle, taille fixe. Compilateurs efficaces plus faciles à écrire. Les principes du langage machine Le langage machine 11 / 49 D un langage de haut niveau au langage machine Les instructions utilisent principalement quatre modes d adressage : absolu : LONG JUMP xxx {PC xxx}. relatif : JUMP xxx {PC PC+xxx}. indirect : JUMP R1 {PC PC+R1}. séquentiel : NOP {PC PC+1}. Quand on écrit PC+xxx c est souvent en fait PC+xxx longueur d instruction Il n est pas commode en écrivant de l assembleur de voir dans un déplacement à quel endroit est l instruction que l on vise : on leur donne donc des étiquettes. Le programme d assemblage transforme les références à ces étiquettes en nombres, en utilisant le plus souvent un adressage non-absolu. Syntaxe fréquente : toto: ADD R1,R2,R3 Langage C Code source.c cpp/gcc -E Expansion C sans macros cc/gcc -S Compilation Assembleur.s Bibliothèque statique.a Bibliothèque partagée.so as/gcc -c Assemblage Exécutable ld Édition de liens dynamic loading Code objet.o ld.so Liaison dynamique Code en mémoire

3 Les principes du langage machine Le langage machine 12 / 49 Pseudo-opérations et pseudo-instructions Les principes du langage machine Le langage machine 13 / 49 Micro-programmation Mnémoniques : correspondent en général à un opcode. Pseudo-opérations : facilités offertes par l assembleur, systèmes de macros définies par l utilisateur, remplacées par plusieurs mnémoniques au moment de l assemblage. Certaines équivalences sont définies par défaut, ce sont des pseudo-instructions. Elles sont toujours très limitées. Exemple (Pseudo-instruction) Définition (Micro-programme) L assembleur est parfois en fait interprétée dans un langage encore plus basique, qui transforme les instructions en signaux pour l unité de contrôle. L interprète peut être changé une fois le processeur commercialisé. Les raisons qui ont poussé à faire des micro-programmes : Possibilité de corriger les bugs Chapitre 4 C En MIPS/R2000, l instruction li ne peut mettre une valeur 2 16 dans un registre (32 bits). Mais on peut mettre une valeur sur 16 bits dans la moitié haute d un registre (lui), puis faire un OR de cette valeur avec une autre valeur (poids faible : ori). La pseudo-instruction li devient selon la valeur de l argument une ou deux instructions natives (li=petite, lui puis ori=grande). Les principes du langage machine Le langage machine 14 / 49 L architecture de jeu d instruction Pour les processeurs plus complexes, la possibilité d optimiser a posteriori la gestion interne du processeur Pour certains processeurs, ajouter la possibilité de comprendre plusieurs jeux d instruction (traduire entre un jeu d instruction et un autre). Les principes du langage machine Le langage machine 15 / 49 Exemples de formats (1/2) Organisation des processeurs en familles de processeurs similaires ; Exemple (Format d instructions pour x86) Compatibilité arrière conservée (backward compatibility) ; parfois comportements très anecdotiques pour ça. Grâce à la micro-programmation, compatibilité avant possible (forward compatibility). Description des opcodes en RTL (Register Transfer Language). Possibilité d émulation d un processeur par un autre (par exemple, processeur Crusoé). Également spécification du nombre, de la taille des registres. Registres généraux donne la «taille» du processeur. Technologie CISC. Longueur de mot d instruction variable. Modes d adressage variés.

4 Les principes du langage machine Le langage machine 16 / 49 Exemples de formats (2/2) Les instructions de déplacement Le langage machine 18 / 49 Manipulation de données Exemple (Format d instructions pour MIPS/R2000) Type Type R op rs rt rd imm5 funct add, sub... 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Type I op rs rt imm ori, lw... 6 bits 5 bits 5 bits 16 bits Type J op target address j, jal... 6 bits 26 bits De la mémoire vers les registres et inversement. Sens mémoire vers registres : load. Sens registres vers mémoire : store. Aussi chargement de constantes en mémoire : set. Exemples (et RTL) : Load r1, 14 : R 1 MEM[14];PC PC +1 ; Save r2, 28 : MEM[28] R 2 ;PC PC +1 ; Save r1, (r2) : MEM[R 2 ] R 1 ;PC PC +1 Chapitre 4 D Technologie RISC (longueur de mot d instruction fixe). Type R : beaucoup de registres, petites constantes (pour décalages), funct sert à compléter op. Type I : Une constante sur 16 bits. Type J : une grande constante sur 26 bits divisée par 4. Les instructions de déplacement Le langage machine 19 / 49 Les modes d adressage pour les données move Registres set load Mémoire store set (CISC) Constantes Les instructions arithmétiques et logiques Le langage machine 21 / 49 Instructions de calcul Registre move r1 r2 {r1 r2} Immédiat set r1 value {r1 value} Implicite reset r1 {r1 0} Indirect+déc. load r1 r2 off {r1 MEM[r2+off]} Index (absolu) load r1 r2 val {r1 MEM[val+r2 X]} Index+base load r1 r2 r3 {r1 MEM[r2+r3 X]} Indirect load r1 r2 {r1 MEM[r2]} Direct load r1 value {r1 MEM[value]} Relatif load r1 off {r1 MEM[PC+off]} Autoincrémenté load r1 r2 {r1 MEM[r2]} ou décrémenté {r2 r2±1} Possibilité d une double indirection sur certains processeurs : {r1 MEM[MEM[xxx]]}. En RISC, le code op détermine l adressage (or/ori) ; sinon quelques bits pour chaque opérande. Temps de traitement variable. Opérations logiques : OR, AND, XOR, NOT. Opérations arithmétiques en entiers, et en flottants. Aussi décalages, rotations... Codage C2 ou NAT pour entiers, IEEE754 pour flottants. Utilisation d un coprocesseur pour flottants (durée variable). Gestion de la taille des opérandes par le code op. En RISC : uniquement avec immédiats et registres ; En CISC : aussi avec écriture ou lecture en mémoire ; Exemples : Add r1,r2,r3 : R 1 R 2 +R 3 ;PC PC +1; ORI r1,r6,129 : R 1 (R 6 )OR(0x81);PC PC +1;

5 Les instructions de saut et de branchement Le langage machine 23 / 49 Les sauts Les instructions de saut et de branchement Le langage machine 24 / 49 Les branchements Chapitre 4 E Les sauts permettent un déroulement non séquentiel des instructions Les premiers langages comprenaient un saut à chaque instruction Le saut absolu pose des difficultés techniques (longueur de constante, code relocalisable). Le saut relatif et le déplacement séquentiel sont très majoritaires. Le saut indirect permet de sauvegarder un point d y code et d y revenir plus tard. C est une fonctionnalité indispensable pour faire du code moderne (sauf cas de code réinscriptible). Saut relatif ou absolu : codé par étiquette, donc invisible depuis l assembleur. Le saut s appelle aussi GOTO. Les instructions de saut et de branchement Le langage machine 25 / 49 Le code spaghetti Permet de faire des programmes au déroulement non linéaire. Caractéristiques essentielle de la programmation Instruction avec deux adresses de prochaine instruction : condition réalisée ou non. En général : adressage relatif et séquentiel. Saut conditionnel Si (condition) est vraie, aller (quelque part), sinon continuer La condition est souvent rudimentaire : tester si un registre est nul, comparer si deux registres sont différents, regarder les drapeaux d état du processeur (dernière opération : erreur? débordement?) Les déroutements Le langage machine 27 / 49 Appels systèmes Exemple (Code spaghetti BASIC) 10 i = 0 20 i = i PRINT i; " au carré = "; i * i 40 IF i >= 10 THEN GOTO GOTO PRINT "Fini." 70 END Les constructions avec GOTO peuvent vite devenir illisibles. La faiblesse des structures de contrôle en assembleur rend son usage nécessaire. Boucles = pseudo-opérations. Le nom des étiquettes rend les codes plus lisibles. Niveaux de fonctionnement différents dans les processeurs modernes (ring) avec des limitations pour les niveaux plus bas. Exécution de certaines fonctions nécessitent d être le système d exploitation. Mécanisme d exception par la command syscall (ou trap ou int, selon le jeu d instruction). Code assembleur de petite taille pilotée par une table d interruptions à adresse fixe. Ce code fait des branchements pour exécuter des procédures plus grosses dans le système d exploitation. Puis le code revient à l endroit appelant.

6 Les déroutements Le langage machine 28 / 49 Interruptions La machine VLTN Le langage machine 30 / 49 L assembleur VLTN Chapitre 4 F Lorsque certains événements matériels se produisent le processeur reçoit un signal d interruption. Le processeur a une mémoire interne d un masque d interruption (liste de signaux à ignorer) et une table d interruption (à adresse fixe, le code qui doit s occuper). Changement de contexte : Lorsqu une interruption est reçue qui ne doit pas être ignorée, l état du processeur est sauvegardé et la routine adéquate exécutée à la place. Fin d interruption : à la fin de la routine, la sauvegarde de l état est remise en place pour reprendre le travail précédent. Certaines interruptions sont elles-mêmes interruptibles. Coopération étroite entre processeur et système d exploitation. Interruptions plus récentes utilisent une écriture dans une zone mémoire précise comme «signal». Très utilisées pour les entrées-sorties. La machine VLTN Le langage machine 31 / 49 Mémoire et Instructions Machine rudimentaire pour l étude pédagogique. Inspiré de l IBM 650. Stocke des valeurs de 6 chiffres en base registre de calcul ACCU. 1 registre d instruction INST. 1 registre PT d indexation sur 6 chiffres. 1 registres PC compteur de programme sur 2 chiffres. 2 drapeaux NUL et ERR (ACCU nul et dernier calcul avec débordement). Mémoire adressable : 100 adresses (sur 2 chiffres en base 10). Codage machine : DCB (décimal codé binaire). La machine VLTN Le langage machine 32 / 49 Exécution Une instruction est codée par six chiffres XX YY ZZ : XX est le code d opération. YY est l argument. ZZ est l adresse de prochaine instruction. Les entrées sont des nombres, consommés au fur et à mesure Les sorties sont des nombres, écrits au fur et à mesure Pas de séparation code/données : tout emplacement peut être l un ou l autre. Mnémonique en quatre lettres (ou moins). VLTN peut être exécuté par un simulateur. Un programme complet décrira la mémoire initiale et la série d entrées. mémoire initiale : dans un fichier : 10: décrit qu à la case 10 de la mémoire, il y a l instruction ADD (ou bien le nombre ) ACCU vaut , ERR est FAUX, NUL est VRAI, PC vaut 00. Le simulateur donne les sorties et le code de fin. Entrées/sorties Simulateur version VLTN Enseignement Simulateur VLTN

7 Les instructions Le langage machine 34 / 49 Instructions : Manipulations Les instructions Le langage machine 35 / 49 Instructions : Arithmétique Chapitre 4 G Instructions de manipulation de données OP MNEM Nom Effet 01 TSTN Test NUL Si NUL, PC YY, sinon PC ZZ 02 TSTE Test ERR Si ERR, PC YY, sinon PC ZZ 10 SET Set ACCU YY PC ZZ 21 LOAD Load ACCU MEM[YY] PC ZZ 31 STOR Store MEM[YY] ACCU PC ZZ 80 GOTO Goto PC ZZ À chaque cycle où ACCU est modifié, ERR est mis à VRAI si débordement, FAUX sinon. NUL est mis à VRAI si ACCU est nul. Résultat tronqué si ERR (ex : = ). Les instructions Le langage machine 36 / 49 Instructions : Logique Instructions arithmétiques OP MNEM Nom Effet 40 ADD Add ACCU ACCU+MEM[YY] PC ZZ 41 ADDI Add Imm ACCU ACCU+YY PC ZZ 42 ADDM Add Imm mid ACCU ACCU+YY*100 PC ZZ 43 ADDH Add Imm high ACCU ACCU+YY*10000 PC ZZ 44 SUB Sub ACCU ACCU-MEM[YY] PC ZZ 45 SUBI Sub Imm ACCU ACCU-YY PC ZZ 46 SUBM Sub Imm mid ACCU ACCU-YY*100 PC ZZ 47 SUBH Sub Imm high ACCU ACCU-YY*10000 PC ZZ Les opérations se font en base 10 (tout est codé en binaire en interne, mais on a programmé la table d addition en base 10). Quand A B déborde (négatif), on obtient A B. Les instructions Le langage machine 37 / 49 Instructions : Entrées/Sorties et affectations partielles Instructions logiques OP MNEM Nom Effet 50 SHFL Shift left ACCU ACCU«YY PC ZZ 51 SHFR Shift right ACCU ACCU»YY PC ZZ 52 ROTL Rotate left ACCU ACCU rot YY PC ZZ 53 ISOL Isolate ACCU ACCU isol YY PC ZZ Usuellement, on a aussi les opérations AND, OR, XOR et NOT. Pour un ordinateur qui utilise un codage décimal, ça n a pas tellement de sens. «et» sont les décalages, rot la rotation à gauche, isol AB prend le A e chiffre et le met en B e position (le reste à zéro). Instructions d entrées/sorties, affectations partielles OP MNEM Nom Effet 11 SETH Set High High(ACCU) YY PC ZZ 12 SETM Set Middle Mid(ACCU) YY PC ZZ 13 SETL Set Low Low(ACCU) YY PC ZZ 90 READ Read input MEM[YY] input PC ZZ 91 WRIT Write output output MEM[YY] PC ZZ 00 EJECT Eject (fin) Code de fin: YYZZ Le code de fin est conventionnellement 0000 pour un programme qui finit normalement, le reste au choix du programmeur (par ex., un programme avec pas assez de données s arrêterait avec 0001). Si aucune entrée n est disponible, READ met ERR à 1 et renvoie un nombre aléatoire. Sinon, ERR est mis à 0.

8 Les instructions Le langage machine 38 / 49 Instructions : Indirections Les instructions Le langage machine 39 / 49 Exemple de programme Instructions d indirections OP MNEM Nom Effet 14 SAVE Save PT ACCU PC ZZ 15 COPY Copy ACCU PT PC ZZ 16 SWAP Swap PT ACCU ACCU PT PC ZZ 17 SETP Set PT PT YY PC ZZ 22 LDIX Load Index ACCU MEM[PT+YY] PC ZZ 32 STIX Store Index MEM[PT+YY] ACCU PC ZZ 81 LINK Jump and link ACCU PC PC ZZ 82 RET Return PC ACCU+YY Exemple (Somme de 2 nombres) // Fichier somme2.vltn 00: // READ : // READ : // LOAD : // ADD : // STOR : // WRIT : // EJECT 0000 Chapitre 4 H Si ACCU+YY ou PT+YY>100, on enlève 100 : +99 comme -1. Présentation Le langage machine 41 / 49 Structure d un programme Méthodes de programmation Le langage machine 43 / 49 Programmation : Un test On écrit sur chaque ligne _label: INST operande ligne Si ligne est omis, c est la ligne suivante ; Une étiquette est soit un nombre, soit un nom précédé de _. Si _label est omis, c est 1 de plus que la ligne précédente. Le nom est en minuscules pour le code, en majuscules sinon Les données commencent traditionnellement à l adresse 50. On met des commentaires sur la fin de la ligne derrière un // L étiquette _main correspond à l adresse 00. Exemple (Somme de 2 nombres) 00: READ : READ : LOAD : ADD : STOR : WRIT : EJECT 0000 Exemple (Somme de 2 nombres) _main: READ _A READ _B LOAD _A ADD _B STOR _C WRIT _C _end: EJECT 0000 Si (_A>_B) alors finsi LOAD _B SUB _A TSTE suite _:... fin _suite:... fin

9 Méthodes de programmation Le langage machine 44 / 49 Alternatives Méthodes de programmation Le langage machine 45 / 49 Alternative complexe (case, switch) Chapitre 4 I Si (_A>_B) alors Sinon finsi blocc LOAD _B SUB _A TSTE _vrai _faux _vrai: fin GOTO _suite _faux: fin _suite: blocc finblocc Méthodes de programmation Le langage machine 46 / 49 Boucle : le plus simple Selon (_A): Si (_A=1): Si (_A=2): Sinon blocc finsi blocd _un: LOAD _A SUBI 01 TSTN _un _nonun fin _suite _nonun: LOAD _A SUBI 02 _deux: TSTN _deux _defaut fin _suite _defaut:blocc finblocc _suite: blocd finblocd Méthodes de programmation Le langage machine 47 / 49 Boucle avec test initial Faire tant que (_A<5) Faire jusqu à (_A>=5) Set 05 STOR _B _boucle: fin LOAD _A SUB _B TSTE _boucle _suite _suite: fin Tant que (_A<5), faire fintantque Jusqu à (_A>=5), faire fintantque Set 05 STOR _B _boucle:load _A SUB _B _cbcl: TSTE _cbcl _suite fin _boucle _suite: fin

10 Méthodes de programmation Le langage machine 48 / 49 Répéter plusieurs fois Méthodes de programmation Le langage machine 49 / 49 Boucle classique Chapitre 4 J Répéter 8 fois finrépéter Set 08 STOR _B _boucle: fin LOAD _B SUBI 01 STOR _B TSTN _suite _boucle _suite: fin Pour A de 3 à 8 finpour Set 08 STOR _B Set 03 STOR _A _boucle: fin LOAD _A ADDI 01 STOR _A SUB _B TSTN _suite _boucle _suite: fin

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

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

DU 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é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

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 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é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

IV- Comment fonctionne un ordinateur?

IV- 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étail

Représentation des Nombres

Repré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étail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture 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étail

CM2 L architecture MIPS32

CM2 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étail

Licence 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

Jeu d instructions NIOS II

Jeu 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étail

Structure d un programme

Structure 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étail

Assembleur 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 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étail

Licence Sciences et Technologies Examen janvier 2010

Licence 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étail

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

MICROINFORMATIQUE 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étail

Programmation assembleur : aperçu

Programmation 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é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

Microprocesseur + Logiciel

Microprocesseur + 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étail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / 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é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

Cours d algorithmique pour la classe de 2nde

Cours 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étail

Informatique Générale

Informatique 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étail

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

Représentation d un entier en base b

Repré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étail

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

Programmation 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étail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours 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étail

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

GPA770 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étail

1/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/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é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

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

TP 1. Prise en main du langage Python

TP 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étail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 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étail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE 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étail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

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

PIC : COURS ASSEMBLEUR

PIC : 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

V- Manipulations de nombres en binaire

V- 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é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

Chapitre 10 Arithmétique réelle

Chapitre 10 Arithmétique réelle Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 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étail

Algorithmique et Programmation, IMA

Algorithmique 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étail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

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 É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é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

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, 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é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

Introduction à 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 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é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

Partie 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 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étail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO 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étail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» Corrigé Cours de Mr JULES v3.3 Classe de Quatrième Contrat 1 Page 1 sur 13 CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» «Correction en rouge et italique.» I. Les nombres décimaux relatifs.

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

Présentation du langage et premières fonctions

Pré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étail

IFT2880 Organisation des ordinateurs et systèmes

IFT2880 Organisation des ordinateurs et systèmes Représentation des nombres flottants Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4

Plus en détail

Introduction à l informatique en BCPST

Introduction à 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étail

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

Le 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étail

DM 1 : Montre Autoquartz ETA

DM 1 : Montre Autoquartz ETA Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION 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étail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 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é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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE 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étail

IFT1215 Introduction aux systèmes informatiques

IFT1215 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étail

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet Curriculum Name Guide du participant CCENT 3 Section 9.3 Dépannage de l adressage IP de la couche 3 Cette section consacrée au dépannage vous permettra d étudier les conditions nécessaires à l obtention

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Programmer 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) 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étail

Gestion mémoire et Représentation intermédiaire

Gestion 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étail

Architecture de l ordinateur

Architecture de l ordinateur Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION 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étail

Présentation du cours

Présentation du cours Thibault HILAIRE thibault.hilaire@lip6.fr François PECHEUX francois.pecheux@lip6.fr Informatique générale 1 (Python) Introduction Présentation du cours AGRAL-MTX-GM 2014-2015 20h de cours, 40h de TP/projets

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir

Plus en détail

Programmation en langage C

Programmation 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étail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table 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étail

Cours 1 : Qu est-ce que la programmation?

Cours 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étail

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Compléments de documentation Scilab : affichage de texte et formatage de nombres Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture 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étail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

6 - 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 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étail

Le langage C. Introduction, guide de reference

Le langage C. Introduction, guide de reference Le langage C Introduction, guide de reference Ce document est une présentation du langage de programmation C, de sa syntaxe et de ses spécificités. Il est destiné essentiellement à servir de mémo-guide

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

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

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Architecture 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étail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail