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

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge

Introduction. Les performances d une machine sont liées au: 1. nombre d instructions. 2. temps de cycle horloge Introduction Les performances d une machine sont liées au: 1. nombre d instructions 2. temps de cycle horloge 3. nombre de cycle horloge par instructions. C est: le compilateur et l architecture du jeu

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

Instructions assembleur

Instructions assembleur Instructions assembleur 0001011011110110 0001011101101101 10001001 Instruction vue par le programmeur assembleur ou instruction élémentaire cible d'un compilateur Réalise une modification de l'état interne

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

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

Les processeurs. Les entrées-sorties

Les processeurs. Les entrées-sorties Les entrées-sorties La problématique des entrées sorties est la suivante : - Le processeur va vite, plus vite que des éléments mécaniques tel que l on trouve dans une imprimante, une souris, un clavier.

Plus en détail

Architecture des Ordinateurs IFIP - Cycle Apprentissage. Cécile Germain-Renaud

Architecture des Ordinateurs IFIP - Cycle Apprentissage. Cécile Germain-Renaud Architecture des Ordinateurs IFIP - Cycle Apprentissage Cécile Germain-Renaud 2 Chapitre 1 Introduction 1.1 Le modèle de Von Neumann L ordinateur est une machine électronique, qui traite l information

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr

Assembleur x86. Eric Cariou. Université de Pau et des Pays de l'adour Département Informatique. Eric.Cariou@univ-pau.fr Assembleur x86 Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Niveaux de programmation Du plus bas niveau (1) au plus abstrait (6) 1) Impulsions

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

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001

Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 Examen d Architecture des Ordinateurs Majeure 1 Polytechnique Lundi 10 Décembre 2001 L examen dure 3 heures. Le sujet comporte 7 pages dont 3 pages de rappels sur le LC-2 et la microprogrammation. Tous

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

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

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

Informatique? Numérique? L informatique est la science du traitement de l information.

Informatique? Numérique? L informatique est la science du traitement de l information. Informatique? Numérique? L informatique est la science du traitement de l information. L information est traitée par un ordinateur sous forme numérique : ce sont des valeurs discrètes. Cela signifie que,

Plus en détail

Architecture des ordinateurs TD 1

Architecture des ordinateurs TD 1 Architecture des ordinateurs TD 1 ENSIMAG 1 re année April 29, 2008 Imprimer pour chaque étudiant le listing des instructions (page 36 de la doc, ou page 2 du chapitre 7). Pas la peine de tout imprimer.

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 Corrigé Examen Décembre 2011 3H Tous documents autorisés Les questions sont indépendantes

ARCHITECTURE DES ORDINATEURS Corrigé Examen Décembre 2011 3H Tous documents autorisés Les questions sont indépendantes On utilise le jeu d instructions ARM. ARCHITECTURE DES ORDINATEURS Corrigé Examen Décembre 2011 3H Tous documents autorisés Les questions sont indépendantes PROGRAMMATION ASSEMBLEUR PREMIERE PARTIE Soit

Plus en détail

Contrôle Architecture des microprocesseurs Durée 2 heures

Contrôle Architecture des microprocesseurs Durée 2 heures Contrôle Architecture des microprocesseurs Durée 2 heures Tous les documents personnels (cours, TD, TP) sont autorisés. La machine à calculer est autorisée. La qualité de la présentation sera prise en

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

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

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

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

A) Le Logiciel : le Software

A) Le Logiciel : le Software A) Le Logiciel : le Software 1) Mise en route d'une machine : RESET Un microprocesseur ne peut exécuter qu'une suite d'instructions qu'il doit aller extraire de sa mémoire. Cette suite d'instructions est

Plus en détail

Licence Fondamentale SMI (semestre 3)

Licence Fondamentale SMI (semestre 3) Cours Programmation I (chapitres 1&2) Licence Fondamentale SMI (semestre 3) Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2014/2015 2014/2015 Pr. Ben Mamoun 1 Plan du cours (1) 1. Introduction

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

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

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

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

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

Cours 2 Microprocesseurs

Cours 2 Microprocesseurs 4//2 Cours 2 Microprocesseurs Jalil Boukhobza LC 26 boukhobza@univ-brest.fr Chemin de données Font l objet de ce cours: Les portes logiques et circuits combinatoires Le traitement de quelques opérations

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

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

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs GTR 1999-2000 Emmanuel Viennet IUT de Villetaneuse Département GTR viennet@lipn.univ-paris13.fr Licence Copyright c 1995-2001 par Emmanuel Viennet. Ce document peut être librement

Plus en détail

Cours 6 : Principes de la représentation des nombres en

Cours 6 : Principes de la représentation des nombres en Cours 6 : Principes de la représentation des nombres en mémoire 2013/2014 Introduction Représentation des données en mémoire naturels signés Nous décrivons les principes de la représentation des nombres

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Architectures Logicielles et Matérielles Travaux Dirigés Circuits

Architectures Logicielles et Matérielles Travaux Dirigés Circuits UNIVERSITE Joseph FOURIER, Grenoble U.F.R. d Informatique et Maths. Appliquées Architectures Logicielles et Matérielles Travaux Dirigés Circuits Rappel : dessins des portes logiques. Déroulement envisagé

Plus en détail

Analyse et programmation 1

Analyse et programmation 1 Analyse et programmation Aperçu du fonctionnement de l ordinateur Fonctionnement de l ordinateur Codage de l information Bus d échange d information CPU Exécution d un programme par la CPU Gestion des

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

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

Le langage Java - Syntaxe

Le langage Java - Syntaxe Le langage Java - Syntaxe LES BASES: litéraux, types, expressions, instructions LE LANGAGE JAVA - SYNTAXE LES COMMENTAIRES LES IDENTIFICATEURS LISTES DES MOTS RÉSERVÉS: LES LITÉRAUX BOOLÉENS LA DÉCLARATION

Plus en détail

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013

xkcd Le langage Python La GUI tkinter Christian Nguyen Département d informatique Université de Toulon et du Var 2012-2013 La GUI tkinter Département d informatique Université de Toulon et du Var 2012-2013 Présentation Python est né en 1990, son concepteur est De Guido Van Rossum(Pays Bas). Il présente les caractéristiques

Plus en détail

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

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

Plus en détail

De l ordinateur au processus : rôle d un système

De l ordinateur au processus : rôle d un système De l ordinateur au processus : rôle d un système Introduction aux systèmes d exploitation Gaël Thomas Présentation du cours Contexte du cours : Introduire notre objet d étude : les systèmes d exploitation

Plus en détail

Introduction aux systèmes informatiques Structure d un ordinateur

Introduction aux systèmes informatiques Structure d un ordinateur Introduction aux systèmes informatiques Structure d un ordinateur Michel Salomon IUT de Belfort-Montbéliard Département d informatique Michel Salomon Intro. aux sys. info. 1 / 36 Qu est-ce qu un système

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XI. Générateurs de générateurs de code Jacques Farré email : Jacques.Farre@unice.fr 1 Introduction

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

EXERCICES D'ARCHITECTURE DES ORDINATEURS

EXERCICES D'ARCHITECTURE DES ORDINATEURS EXERCICES D'ARCHITECTURE DES ORDINATEURS CHAPITRES 1&2 1. CONVERSION DANS D AUTRES BASES Écrire 10110110 2 en décimal. Écrire 3456 en binaire, puis en hexadécimal. Convertir 1011 1100 0000 1000 1100 en

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

IUT de Colmar - Département RT 1ière année. Numération

IUT de Colmar - Département RT 1ière année. Numération IUT de Colmar - Département RT 1ière année. Numération 1 Laurent MURA. SOMMAIRE 1. Les différents systèmes 2. Les différentes conversions 3. Quelques systèmes de codage 4. L arithmétique binaire 2 IUT

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

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

Le PIC16F877. F. Senny Université de Liège Faculté des Sciences Appliquées

Le PIC16F877. F. Senny Université de Liège Faculté des Sciences Appliquées Le PIC16F877 Introduction aux microcontrôleurs et à leur assembleur Illustration par le PIC16F877 F. Senny Université de Liège Faculté des Sciences Appliquées Plan Qu est-ce qu un micro-contrôleur? Architecture

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

Table des matières. Remerciements

Table des matières. Remerciements Table des matières Remerciements xviii 1 Du transistor à la porte logique 1 1.1 Rappels : dipôles électriques et loi d Ohm........ 1 1.2 Circuits série, circuits parallèles............. 2 1.3 Le transistor

Plus en détail

1 Le vocabulaire de l informatique

1 Le vocabulaire de l informatique 1 Le vocabulaire de l informatique I Les systèmes informatiques Les ordinateurs sont omniprésents dans notre environnement quotidien. Conçus pour traiter de manière générale des informations, ils ne se

Plus en détail

DSP architecture et applications

DSP architecture et applications Haute Ecole d Ingénierie et de Gestion du Canton du Vaud DSP architecture et applications Chapitre 3 GÉNÉRATEURS D ADRESSES Création de buffers linéaires et circulaires Gestion des pages mémoires ADSP-29X

Plus en détail

Epidémiologie, l urne de Pólya, partie II

Epidémiologie, l urne de Pólya, partie II Epidémiologie, l urne de Pólya, partie II Se mettre par groupe de deux. Traiter la fiche dans l ordre. Un compte de rendu de TP devra être rendu avec les réponses écrites aux questions, les recherches

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets)

RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets) RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets) Consignes générales : 1) Chaque algorithme est bien identifié. 2) Les mots clés doivent être utilisés selon la même syntaxe que ci-dessous.

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

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

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 1 : Processeur et unité centrale de traitement Sylvain Martel - INF6500 2 Instructions Pipeline Type d instructions RISC CISC (Hybride)

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

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP

INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP Documentation interne ELE D. MENESPLIER 2000 ADDLW Add Literal and W C,DC,Z 1 cycle Description: Le contenu du registre W est additionné avec les 8 bits de la

Plus en détail

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques

Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les ordinateurs dispositifs électroniques fonctionnant sur la principe de création, transmission et conversion d impulses électriques Les informations traitées par l ordinateur (nombres, instructions,

Plus en détail

Introduction à la Programmation Sylvain Tisserant

Introduction à la Programmation Sylvain Tisserant INFO 1 Introduction à la Programmation Sylvain Tisserant Mes coordonnées Enseignant-Chercheur Professeur au département IRM depuis sa création (ES2I, ESIL, Polytech Marseille) Directeur du département

Plus en détail

LES INSTRUCTIONS DU 8051

LES INSTRUCTIONS DU 8051 LES INSTRUCTIONS DU 8051 Comme les microprocesseurs plus classiques le 8051 possède des instructions que l'on peut classer en: - Instructions de transfert de données - arithmétiques et logiques - de saut

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

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

Systèmes Informatiques TD 3: langage C opérations élémentaires

Systèmes Informatiques TD 3: langage C opérations élémentaires Systèmes Informatiques TD 3: langage C opérations élémentaires P. Bakowski bako@ieee.org Opérateurs logiques/arithmétiques Le langage C offre une liste importante d opérateurs logiques et arithmétiques.

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

Algorithmique et programmation : introduction

Algorithmique et programmation : introduction PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours, Semaine 0 avril mai 2013 Algorithmique et programmation : introduction Résumé Ce document décrit le module «Algorithmique et Programmation 1». Il introduit

Plus en détail

DSP ORIENTÉ APPLICATIONS INDUSTRIELLES

DSP ORIENTÉ APPLICATIONS INDUSTRIELLES DSP et temps réel Chapitre 4_8 DSP ORIENTÉ APPLICATIONS INDUSTRIELLES 4. Set d instructions 5. Directives assembleur 6. Architecture mémoire 7. Editeur de lien 8. Création d un fichier de commande M. Correvon

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Chap. 2 - Structure d un ordinateur

Chap. 2 - Structure d un ordinateur Architecture des ordinateurs Michèle Courant S2-27 octobre 2004 Chap. 2 - Structure d un ordinateur 2.1 Processeur ou unité centrale (CPU) 2.1.1 Organisation du CPU 2.1.2 Exécution d une instruction 2.1.3

Plus en détail

Projet de Machines Virtuelles

Projet de Machines Virtuelles Projet de Machines Virtuelles Gabriel Kerneis Vendredi 11 mars 2011 1 Introduction Le but de ce sujet est d implémenter la MARS (Memory Array Redcode Simulator), une machine virtuelle utilisée dans le

Plus en détail

Filière ITTI - Auxerre TC1 Modélisation des informations (partie 1)

Filière ITTI - Auxerre TC1 Modélisation des informations (partie 1) Filière ITTI - Auxerre TC1 Modélisation des informations (partie 1) Marie-Noëlle Terrasse Département IEM, Université de Bourgogne 12 novembre 2004 On appelle données simples les informations représentées

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

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

Introduction à l arithmétique sur ordinateur

Introduction à l arithmétique sur ordinateur Organisation des ordinateurs et assembleur Arithmétique sur ordinateur Chapitre 4 Introduction à l arithmétique sur ordinateur Lorsqu'on pense aux opérations arithmétiques, on utilise les connaissances

Plus en détail

DEMARCHE ET MISE EN ŒUVRE

DEMARCHE ET MISE EN ŒUVRE Chapitre I : CONVENTIONS D ECRITURE 15 CHAPITRE I DEMARCHE ET MISE EN ŒUVRE Le développement de fonctions mathématiques peut répondre à plusieurs critères ou objectifs tels que la vitesse d exécution,

Plus en détail

Méthodologie de programmation en assembleur. Philippe Preux

Méthodologie de programmation en assembleur. Philippe Preux Méthodologie de programmation en assembleur Philippe Preux 24 novembre 1997 Table des matières 1 Introduction 3 2 Méthodologie 4 2.1 Méthodologie............................................. 4 2.2 Aperçu

Plus en détail

Codage de l'information

Codage de l'information Organisation des ordinateurs et assembleur Codage de l information Chapitre 3 Codage de l'information Les cellules de mémoire ne contiennent pas vraiment des valeurs décimales : elles contiennent en fait

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

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

Les systèmes embarqués

Les systèmes embarqués Unité IFS (Interface) Les systèmes embarqués Architecture des systèmes à processeur Etienne Messerli Le 17 février 2015 p 1 Ordinateur Système UNIVERSEL de traitement de l'information "binaire" Utilisé

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

Représentation de l information en binaire

Représentation de l information en binaire Représentation de l information en binaire Les ordinateurs sont capables d effectuer de nombreuses opérations sur de nombreux types de contenus (images, vidéos, textes, sons,...). Cependant, quel que soit

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

Comment concevoir un ordinateur? Quelques questions à considérer

Comment concevoir un ordinateur? Quelques questions à considérer Comment concevoir un ordinateur? Quelques questions à considérer Unité d entrée Unité de traitement Unité de sortie Comment coder les données Entiers, réels, caractères Comment restituer les résultats

Plus en détail