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

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

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

Transcription

1 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 d instructions qui déterminent le nombre d instructions pour un programme donnée (point 1) la mise en oeuvre du processeur qui déterminent le temps de cycle horloge et le nombre de cycle horloge par instructions (points 2 et 3). 1

2 Objectifs de ce cours: Présentation d un processeur basé sur une architecture RISC (Reduced Instruction Set Computer): MIPS (Berkeley) (partie 1) Description d un sous ensemble du jeu d instructions (inst. reference mémoire, arithmétiques et logiques et de branchement) et de leurs mises en oeuvre (partie 2). 2

3 Architecture du jeu d instructions (partie 1) L ordinateur execute du binaire qui décrit le langage de la machine. Le langage assembleur est la représentation symbolique du langage machine: lecture plus facile car manipulation de symbole et pas de bits nommer les configurations de bits fréquement utilisées tels que les codes-op et les spécificateurs de registres utilisation d étiquettes afin d identifier et de nommer des mots mémoire particuliers qui détiennent des instructions ou des données La traduction du langage assembleur en langage machine est effectué par un assembleur 3

4 Le langage machine: #include <stdio.h> void main (int argc, char *argv[]) { int i; int somme =0; for (i=0;i<=100;i=i+1) somme=somme+i*i; printf("la somme de vaut ^d\n",somme); } La procédure écrite dans le langage de programmation C. main: boucle:.text.align 2.globl main subu $29, $sp,32 sw $31, 20($29) sd $4, 32($29) sw $0, 24($29) sw $0, 28($29) lw $14, 28($29) mul $15, $14, $14 lw $24, 24($29) addu $25, $24, $15 sw $25, 24($29) addu $8, $14, 1 sw $8, 28($29) ble $8, 100, boucle la $4, str lw $5, 24($29) jal printf move $2, $0 lw $31, 20($29) addu $29, $29, 32 jr $31 str:.data.align 0..asciiz "La somme de vaut %d\n" Le code en langage machine MIPS pour le programme C ci dessus. La meme procédure écrite en langage assembleur avec des étiquettes. Les commandes qui commencent par des points sont des directives d assemblage. Par exemple.text indique que les lignes qui contiennent des instructions et.data des données..align n indique que les éléments des lignes qui suivent doivent etre alignés sur une frontière 2 puissance n octets..global main déclare que <<main>> est un symbole global qui doit etre visible pour du code stocké dans d autres fichiers..ascciz enrigistre en mémoire une chaine de caractères à terminaison nulle. 4

5 Une hiérarchie de traduction Programme C Compilateur Programme en langage assembleur Assembleur Programme en langage machine chargeur Mémoire Une hierarchie de traduction: un prog écrit en langage de haut niveau est d abord compilé en programme écrit en langage assembleu puis assemblé en un programme écrit en langage machine. Le chargeur place ensuite le code machine en mémoire dans des emplacements mémoires appropriés afin qu il soit exécuté par le processeur. 5

6 Le processus de production d un fichier exécutable Fichier source Assembleur Fichier objet Fichier source Assembleur Fichier objet Editeur de liens Fichier exécutable Fichier source Assembleur Fichier objet Bibliothèque de programmes Un assembleur traduit un fichier écrit en langage assembleur en un fichier objet. Celui ci est assemblé avec d autres fichiers et la bibliothèques en un fichier exécutable. programme en langage de haut niveau Programme Compilateur Assembleur Editeur de liens Oridnateur programme en langage assembleur Le langage assembleur est soit écrit par un programmeur soit géré par le compilateur 6

7 Fichier objet: associe des adresses aux etiquettes externes appartenant au fichier source et enumere les refs non resolues entete du fichier objet segment texte segment donnees infos de relocalisation table des symboles infos de mise au point taille et position des zones suivantes identification de toutes les instructions contenant des adressages absolues description de la facon dont le prog a ete compile -> debugger 7

8 Chargeur: lecture de l entête du fichier executable pour définir la taille des segments de textes et données création d un nouvel espace d adressage pour le programme copie des instructions et données depuis la memoire secondaire copie sur la pile des arguments passés au programme initialisation des registres machine saut vers la procedure de démarrage (main en C) et copie des arguments du prog depuis la pile dans les registres 8

9 Editeurs de liens: 3 tâches fouiller dans les biliothéques de programmes pour trouver les procédures qui y sont référencées insertion dans le programme utilisateur détermine les emplacements mémoire qu occupera le code de chaque module et relocalise les instructions de ce code en ajustant les références absolues résout les références entre fichiers: mise en correspondances des symboles externes et des références non résolues création d un exécutable dans la structure est équivalente à un fichier objet sauf que toutes les reférences sont résolues et adressages sont relocalisés 9

10 Utilisation de la mémoire: segment de pile donnees dynamiques donnees statiques segement de donnees segment de texte 10

11 Instructions arithmétiques: ADD et SUB Exemple add a,b,c? additionner deux variables b et c et placer la somme dans a Rmq: dans l architecture MIPS les instructions arithmétiques ont toujours le même nombre d opérandes Principe RISC: la simplicité favorise la régularité. 11

12 Exple: Soit les 2 programmes C suivants: a=b+c; d=a-e; et f=(g+h)-(i+j); add a,b,c sub d,a,e add t0,g,h add t1,i,j sub f,t0,t1 Opérandes des instructions ne peuvent pas être des variables comme dans un langage de haut niveau proviennent d un emplacement limité: les registres (dans le cas d une archi RISC). 12

13 MIPS: 32 registres $0 à $31. Trop de registres augmenterait le temps de cycle horloge: le plus petit le plus rapide. Pour le deuxième programme C add $8,$17,$18? (f,g,h,i rangées dans $16 à $20) add $9,$19,$20 sub $16,$8,$9?$8 et $9 variables intermédiaires 13

14 les programmes possèdent plus de variables ou des structures complexes (par exple tableaux) que la machine posséde de registres compilateur conserve dans les registres les données les plus fréquements utilisées et le reste en mémoire instructions de chargement et de rangement en mémoire. On appelle vidage des registres l opération qui consiste à placer en mémoire les données les moins couramment utilisées. 14

15 Instructions de chargement-rangement: lw et sw Exemple: T tableau de 100 éléments. g, h et i sont situés dans les registres $17, $18,$19 et le tableau débute à l adresse Tstart. Traduire les deux expressions suivantes: g = h + T [i]; et T [i] = h + T [i] lw $8, Tstart($19) lw $8,Tstart($19) add $17,$18,$8 add $8,$18,$8 sw $8,Tstart($19) Remarque: ajout de l adresse de Tstart à l index i contenu dans $19 ce registre fait office de registre d index 15

16 Instruction de branchement: beq registre1, registre2, E, branch if equal (saut conditionnel) bne registre1, registre2, E, branch if not equal (saut conditionnel) j jump (saut inconditionnel) Utilisation dans le cadre des structures de contrôle: Exple 1: if (i==j) f=g+h; else f=g-h;? f,g,h,i,j $16 à $20 bne $19, $20, Else add $16,$17,$18 j exit Else: sub $16,$17,$18 Exit: 16

17 Exple 2: while (stock[i]==k) i=i+j;? tableau débute à Sstart et i,j,k $19 à $21 loop: EXIT: lw $8, Sstart($19) bne $8, $21, EXIT add $19,$19,$20 j loop Instruction slt (set on less than): slt registre1, registre2, registre3 [reg1] = 1 si [reg2] < [reg3] traitement des conditionnelles avec test d inégalité: pseudo-instruction blt (branch on less than) blt -> slt $1, $16, $17 bne $1, $0, Inf 17

18 Instruction jr (jump register) saut incoditionnel vers une adresse specifié dans un registre traitement des instructions d aiguillage. Exple (f à k de $16 à $21): switch(k) { Loop: lw $8, Tablesaut($21) case 0: f = i+j; break; jr $8 case 1: f=g+h; break; E0: add $16,$19,$20 case 2: f=g-h;break; j EXIT case 3: f=i-j; E1: add $16,$17,$18 } j EXIT E2: sub $16,$17,$18 j EXIT E3: sub $16,$19,$20 EXIT: 18

19 Traitement de procédure au niveau matériel: jal (jump and link) et jr: jal: conserve dans un registre ($31) l adresse de l instruction suivante. jr: branchement à l adresse de retour. Remarque 1: Nécessité d avoir un registre qui pointe sur l instruction courante: CP (compteur programme) Remarque 2: Une procédure pouvant en appeler une autre et anisi de suite la pile (LIFO) structure idéale pour vider les registres. 19

20 Soit une procédure A qui appelle une procédure B qui elle-même appelle une procédure C. $29: pointeur de pile et $24 valeur servant à ajuster le sommet: A:... jal B... B:... add $29,$29,$24 sw $31, 0($29) jal C lw $31, 0($29) sub $29,$29,$24... jr $31 C:... jr $31 Les paramétres d une procédure sont sauvegardés dans des registres ($4 à $7 pour MIPS). Les autres paramétres sont sauvegardés dans la pile. 20

21 $31 Après que B ait appelé C $31 $31 $31 juste avant que B n appelle C Après que A ait appelé B $29(pointeur de pile) Juste avant que B ne retourne $29 $29 $29 Mémoire sommet de pile bas de pile Bas de pile adresse retour de B adresse de retour de B adresse retour B sommet de pile bas de pile nouveau sommet de pile bas de pile Nouveau sommet de pile adresse retour B adresse retour B adresse de retour de C adresse retour B 21

22 Représentation des instructions au niveau du processeur Les instructions représentées en binaire définir des formats de traduction entre le langage assembleur et le langage machine Exple: add $8, $17, $ = 32bits Toutes les instructions ont la même taille mais suivent des formats différents. 22

23 Par exemple les instructions arithmétiques: op rs rt rd decval f onct op: opération correspond à l instruction rs: 1er registre source rt: 2eme registre source rd: registre destination decval: valeur du décalage (décalage logique) fonct: fonction détermine la variante de l opération décrite dans op 23

24 Les instructions de chargement-rangement nécessite des champs plus long pour adresser des données en mémoire format d instruction différents mais même taille d instructions (32 bits): op rs rt adresse Rmq: Les formats sont repérées à partir du contenu du premier champ ie le code-op. 24

25 A partir du codage des instructions MIPS suivantes: Instruction Format op rs rt rd decval fonct adresse add R 0 reg reg reg 0 32 n.a sub R 0 reg reg reg 0 34 n.a. lw I 35 reg reg n.a. n.a. n.a. adresse sw I 43 reg reg n.a. n.a. n.a. adresse Quel est le code du langage machine de T [i] = h + T [i] compilée en: lw $8, Tstart($19)? On suppose que T débute add $8, $18, $8? à l adresse 1200 sw $8,Tstart($19) 25

26 Table des codes op 26

27 Mode d adressage: Adressage par registre op rs rt rd... fonct registre Exemple: add $8, $7, $6 Adressage indexé op rs rt adresse registre Exemple: lw $8, Tstart($19) + mémoire Adressage immédiat op rs rt immédiat Adressage relatif à CP op rs rt adresse cp + 27

28 1) immédiat: un programme utilise de nombreuses fois les constantes. Charger les constantes depuis la mémoire prendrait trop de temps: il faut faire en sorte que les cas les plus fréquents soient les plus rapides instructions ayant un opérande constant. Exple: addi $29,$29,4 code machine Pour les constantes de tailles supérieures à 16 bits: instruction lui (load upper immediate). Exple quel est le code assembleur MIPS pour charger la constante 32 bits dans le registre $16 : lui $16, 61? correspond à la valeur décimales des 16bits de poids fort addi $16, $16, 2304? valeur des 16 bits de poids faible 28

29 2) branchements relatifs à CP: La description du code machine pour un branchement conditionnel laisse uniquement 16 bits pour l adresse de branchement. Exple: bne$8, $21, Exit: Exit = 32bits programme ne pourrait être plus long que 2 16 instructions ce qui trop petit de nos jours solution: se brancher à une distance Exit de CP (2 16 ) au plus. MIPS utilise l adressage relatifs pour les branchements conditionnels (description des boucles et des instructions if) et l adressage long (format j) pour les appels de procédures car celles-ci peuvent se trouver n importe où en mémoire 29

30 Conclusion 1er partie: Les ordinateurs actuels repose sur 2 grands principes: les instructions sont désignées par des nombres les programmes peuvent être lus ou modifiées exactement comme des nombres principe des programmes enregistrés. 30

31 Un jeu d instructions d une architecture RISC repose, entre autres, sur les principes suivants: le plus petit le plus rapide (MIPS n a que 32 registres) la simplicité favorise la régularité: taille unique à toutes les intructions, toujours trois opérandes dans trois registres dans les instructions arithmétiques, opérandes toujours dans les registres (architecture chargement-rangement), adressage simple, beaucoup de registres généraux et les champs correspondant aux registres sont à la même place dans chaque format d instruction faire en sorte que les cas les plus fréquents soient les plus rapides: adressage immédiat pour les constantes et l adressage relatifs pour les branchements conditionnels. 31

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

Jeu d instructions et modes d adressage MIPS

Jeu d instructions et modes d adressage MIPS Jeu d instructions et modes d adressage MIPS Vincent Risch, mai 2008, révision mai 2014 I.U.T., Aix-Marseille Université Jeu d instructions et modes d adressage MIPS p. 1 MIPS : Introduction Architecture

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

Compilation. Introduction & architecture MIPS. Sandrine Blazy (d après le cours de François Pottier) 20 octobre 2008

Compilation. Introduction & architecture MIPS. Sandrine Blazy (d après le cours de François Pottier) 20 octobre 2008 Compilation Introduction & architecture MIPS Sandrine Blazy (d après le cours de François Pottier) - 2 e année 20 octobre 2008 S.Blazy (www.ensiie.fr/ blazy) Compilation 20 octobre 2008 1 / 49 1 Introduction

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

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

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

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

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

Conception et exploitation des processeurs

Conception et exploitation des processeurs Chargé de cours : Frédéric Pétrot Équipe pédagogique : Alban Bourge, Stéphane Mancini, Claire Maiza, Luc Michel, Olivier Muller (resp.), Sebastien Viardot Année universitaire 2013-2014 Structure du cours

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

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

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 à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Introduction à l assembleur ARM: variables et accès mémoire GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Rappel: cycle d instructions Que fait le microprocesseur? 1.

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

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs (2 ème partie : assembleur 80x86) Vincent Vidal IUT Lens Architecture des ordinateurs p. 1 Organisation Durée : 8 semaines. Cours 1h, TP 3h Intervenants TP : Coste, Loukil,

Plus en détail

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement

Unité 9: Unité centrale de traitement. Unité 9: Unité centrale de traitement Objectifs : À la fin de cette unité, vous connaîtrez le fonctionnement de l'unité centrale de traitement d'un ordinateur. Pour y arriver, vous devrez atteindre les objectifs suivants : - décrire les différentes

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

III. Traduction des langages de «haut niveau»

III. Traduction des langages de «haut niveau» Introduction aux systèmes Informatiques: L interface Matériel Logiciel (A3-2015/2016) Léon Mugwaneza Polytech Marseille/Dépt. Informatique (bureau A118) leon.mugwaneza@univ-amu.fr III. Traduction des langages

Plus en détail

EXAMEN INTRA INF2500 Session A-2001 - Réponses. Pondération sur 100 points, possibilité de 22 points extra. Question 1 (5 pts):

EXAMEN INTRA INF2500 Session A-2001 - Réponses. Pondération sur 100 points, possibilité de 22 points extra. Question 1 (5 pts): EXAMEN INTRA INF2500 Session A-2001 - Réponses Pondération sur 100 points, possibilité de 22 points extra. Question 1 (5 pts): Vous voulez diminuer le trafic entre plusieurs ordinateurs connectés sur le

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

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

Tableau à une dimension. Exemple. Utilisation de constantes en assembleur

Tableau à une dimension. Exemple. Utilisation de constantes en assembleur Les tableaux en langage d assemblage Introduction Nous avons vu comment sont gérés les variables possédant des types élémentaires : entier signés ou non, caractères Un tableau!en langage de haut niveau:

Plus en détail

DUT Informatique Architecture des ordinateurs Année 2012/2013. - Aucun document autorisé - Calculatrices interdites - Durée : 2 heures -

DUT Informatique Architecture des ordinateurs Année 2012/2013. - Aucun document autorisé - Calculatrices interdites - Durée : 2 heures - DUT Informatique Architecture des ordinateurs Année 2012/2013 - Aucun document autorisé - Calculatrices interdites - Durée : 2 heures - NOM, prénom : Dans tous les exercices, vous pouvez utiliser les fonctions

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Plus en détail

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

Logiciel de Base. II. Le Langage Machine

Logiciel de Base. II. Le Langage Machine Logiciel de Base (A1-6/7) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr II. Le Langage Machine Exemple : le MIPS R2 (Architecture MIPS-I) MIPS R2 MIPS : Microprocessor with

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

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

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation.

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Sébastien COLLETTE et Gilles GEERAERTS 1 Introduction Ce document décrit

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

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS 1. PRÉSENTATION. Le langage C a fait son apparition en 1972 pour le développement du système d exploitation Unix. Il est devenu un standard de la norme ANSI en 1983.

Plus en détail

INITIATION A LA PROGRAMMATION EN C

INITIATION A LA PROGRAMMATION EN C INITIATION A LA PROGRAMMATION EN C OBJECTIF : ETRE CAPABLE DE CRÉER OU MODIFIER DE PETITS OUTILS DE TRAITEMENT D IMAGE Denis MARIANO-GOULART Service de médecine nucléaire. CHRU Lapeyronie. Montpellier.

Plus en détail

5.2. Introduction à la programmation en assembleur et en langage machine

5.2. Introduction à la programmation en assembleur et en langage machine 5. Couche conventionnelle. Introduction à la programmation en assembleur et en langage machine. Instructions - types, formats, champs; types d'adressage et utilisation des registres. Branchements, sauts

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

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Jeux d instructions. Les jeux d instructions

Jeux d instructions. Les jeux d instructions Jeux d instructions Daniel Etiemble de@lri.fr Les jeux d instructions Ensemble des instructions d un processeur Format d instructions Lié au modèle (n,m) Longueur fixe ou longueur variable Accès aux données

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

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

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

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation

Sommaire. Introduction à la compilation. Notion de compilation. Notion de compilation. Notion de compilation. Notion de compilation Introduction à la compilation A. DARGHAM Faculté des Sciences Oujda Sommaire Environnement d un compilateur Schéma global d un compilateur Caractéristiques d un bon compilateur Définition Un compilateur

Plus en détail

Assembleur MIPS. Chapitre 2. 2.1 Présentation de l architecture de la machine MIPS R2000. Sommaire. 2.1.1 Généralités sur les processeurs

Assembleur MIPS. Chapitre 2. 2.1 Présentation de l architecture de la machine MIPS R2000. Sommaire. 2.1.1 Généralités sur les processeurs Chapitre 2 Assembleur MIPS Sommaire 2.1 Présentation de l architecture de la machine MIPS R2000.............. 1 2.1.1 Généralités sur les processeurs.......................... 1 2.1.2 Le MIPS R2000...................................

Plus en détail

TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR

TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR 1 2 ème Année RENNES 2003-2004 TL N 1 Systèmes Informatiques RÉALISATION D'UN MICROPROCESSEUR 1. OBJECTIF Il s agit de concevoir un processeur simple, de le simuler et de l implanter dans un composant

Plus en détail

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles

Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles UNIVERSITE Joseph FOURIER, Grenoble Licence de Sciences et technologie - Parcours MIN, INF, BIN et MIN international Examen UE INF241 : Introduction aux Architectures Logicielles et Matérielles Première

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

Questions à choix multiples Page 1 de 9

Questions à choix multiples Page 1 de 9 INF4170 Architecture des ordinateurs Examen intra hiver 2015 Question #1 Quel dispositif contient un ordinateur embarqué? a) Le serveur malt de l'uqam b) Un smartphone c) Une console de jeux vidéo d) Un

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Jacques Berger Instructions MIPS. Légende : R[] = registre M[] = mémoire. add Add Addition de deux registres et place la somme dans un registre.

Jacques Berger Instructions MIPS. Légende : R[] = registre M[] = mémoire. add Add Addition de deux registres et place la somme dans un registre. Instructions MIPS Légende : R[] = registre M[] = mémoire add Add Addition de deux registres et place la somme dans un registre. x00 funct : 0x20 R[rd] = R[rs] + R[rt] add $t0,$s1,$s2 # t0 = s1 + s2 addi

Plus en détail

Architecture des Ordinateurs et Systèmes d Exploitation

Architecture des Ordinateurs et Systèmes d Exploitation Architecture des Ordinateurs et Systèmes d Exploitation Cours n 5 Le langage assembleur (2): Pile, Procédures. Les Interruptions 3ème année L assembleur 8086 : la pile = structure de «rangement» de données

Plus en détail

Jeu d instruction et Pipeline NSY 104

Jeu d instruction et Pipeline NSY 104 Jeu d instruction et Pipeline NSY 104 Les jeux d instructions Définitions Partie de l architecture avec laquelle le programmeur ou le concepteur de compilateur est en contact. Ensemble des instructions

Plus en détail

Pour cela, il a suffi d utiliser les appels système, quelques régistres et des sauts conditionnels très simples.

Pour cela, il a suffi d utiliser les appels système, quelques régistres et des sauts conditionnels très simples. Fonctions, pile, récursion et blocs d activation Les appels de fonctions et la récursion... On a vu comment écrire en assembleur une boucle qui calcule la factorielle d un entier lu sur la console, et

Plus en détail

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de:

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: C, seconde séance le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: false, c est 0 ( \0 aussi) test d égalité: == pour printf: %d entier, %f flottant, %c caractère,

Plus en détail

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.

Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers. Département Informatique L3 Mention Informatique Jean-Michel Richer Architecture des Ordinateurs jean-michel.richer@univ-angers.fr 2015/2016 Travaux Dirigés 1 Représentation de l information En informatique,

Plus en détail

Cours 1 Microprocesseurs

Cours 1 Microprocesseurs Cours 1 Microprocesseurs Jalil Boukhobza LC 206 boukhobza@univ-brest.fr 02 98 01 69 73 Jalil Boukhobza 1 But de ce cours Comprendre le fonctionnement de base d un microprocesseur séquentiel simple (non

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

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

Des instructions élémentaires. Le langage machine. Technologie liée à l assembleur. Code d opération et opérandes 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

Plus en détail

Projet Pratique de INF241 Parcours de Tableaux

Projet Pratique de INF241 Parcours de Tableaux Projet Pratique de INF241 Parcours de Tableaux L objectif de ce projet est de travailler sur les tableaux en langage d assemblage ARM. Vous devez réaliser votre projet en partie lors des séances encadrées

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

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Groupe Eyrolles, 2005, ISBN : 2-212-11635-7

Groupe Eyrolles, 2005, ISBN : 2-212-11635-7 Groupe Eyrolles, 2005, ISBN : 2-212-11635-7 Processeurs et jeux d instructions CHAPITRE 4 159 Introduction au langage assembleur Dans le cadre de notre démarche ascendante, nous allons maintenant aborder

Plus en détail

Outil de développement IAR Embedded Workbench IDE

Outil de développement IAR Embedded Workbench IDE Outil de développement IAR Embedded Workbench IDE Introduction L outil de développement intégrés «IAR Embedded Workbench» est un environnement de développement intégrés très puissant (IDE : Integrated

Plus en détail

Les processeurs à plusieurs niveaux de langage Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne

Les processeurs à plusieurs niveaux de langage Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne Les processeurs à plusieurs niveaux de langage Laboratoire de Systèmes Logiques Processeurs à plusieurs niveaux de langage Si l on veut avoir un processeur non spécialisé, capable d exécuter plusieurs

Plus en détail

Programmation assembleur sur l architecture x86

Programmation assembleur sur l architecture x86 Mini-projet système : développement d un noyau de système d exploitation Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Programmation assembleur sur l architecture x86

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

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Entrainement Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (entrainement) durée 1h20 Tous documents et calculatrices autorisés. Le sujet comporte 5 pages Le temps approximatif ainsi que le barème

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

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

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

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

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

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

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Cycle de vie d un programme

Cycle de vie d un programme Cycle de vie d un programme Ensimag 1A - Préparation au Projet C Année scolaire 2009 2010 Les objectifs de cette séance sont : de comprendre les différentes étapes de la chaîne de compilation d un programme

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

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Notions Générales. Séance 1. Année universitaire 2015/2016 Semestre 1

Notions Générales. Séance 1. Année universitaire 2015/2016 Semestre 1 Notions Générales Séance 1 Année universitaire 2015/2016 Semestre 1 1 Ordinateur et programmation L orientation universitaire, l inscription, la réservation d un billet d avion, sont des opérations de

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème.

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème. 1/30 Objectif de ce cours 2/30 Objectifs de ce cours Introduction au langage C - Cours 4 Girardot/Roelens Septembre 2013 Analyse de problème I décomposer un traitement complexe en traitements simples Concepts

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 XSPIM : un simulateur graphique du MIPS R2000 Jacques Farré email : Jacques.Farre@unice.fr

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

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

Plus en détail

Architecture des ordinateurs. Langage d assemblage. Processeur et Programmation D un point de vue de la programmation, le processeur offre

Architecture des ordinateurs. Langage d assemblage. Processeur et Programmation D un point de vue de la programmation, le processeur offre Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Langage d assemblage jtalbot@cmiuniv-mrsfr L3 Informatique - Université de Provence () Architecture des ordinateurs

Plus en détail

Premiers exemples de traitements

Premiers exemples de traitements #include #include Premiers exemples de traitements void main() float b(0.0); float c(0.0); float delta(0.0); cin >> b >> c; delta = b*b - 4*c; if (delta < 0.0) cout

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

Processeur MIPS32. Architecture externe A) INTRODUCTION

Processeur MIPS32. Architecture externe A) INTRODUCTION A) INTRODUCTION Processeur MIPS32 Architecture externe Ce document présente une version légèrement simplifiée de l'architecture externe du processeur MIPS32 (pour des raisons de simplicité, tous les mécanismes

Plus en détail

Introduction au langage C

Introduction au langage C Organisation du cours Introduction au langage C Premier cours Notions générales Aurélien Max aurelien.max@limsi.fr 12 séances de cours de 1h: mercredi 16-17h, salle A203 12 séances de TD de 1h: mercredi

Plus en détail

Pour ce cours, on utilisera comme machine cible le processeur MIPS 2000, un RISC pour lequel on dispose d un excellent émulateur, SPIM.

Pour ce cours, on utilisera comme machine cible le processeur MIPS 2000, un RISC pour lequel on dispose d un excellent émulateur, SPIM. Le processeur MIPS 2000 et SPIM Il y a plusieurs microprocesseurs, classés en deux grandes classes CISC : Intel RISC : MIPS, SPARC, etc Pour ce cours, on utilisera comme machine cible le processeur MIPS

Plus en détail

Paradigme de programmation Impératif

Paradigme de programmation Impératif Paradigme de programmation Impératif La programmation impérative est caractérisée par, la programmation avec un état et des commandes qui modifient l état : Programmation impérative Procédurale = Programmation

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

Code Machine Code Assembleur Processeurs RISC (Byte code).

Code Machine Code Assembleur Processeurs RISC (Byte code). Code Machine Code Assembleur Processeurs RISC (Byte code). Didier Rémy Octobre 2000 http://cristal.inria.fr/ remy/poly/compil/1/ http://w3.edu.polytechnique.fr/profs/informatique//didier.remy/compil/1/

Plus en détail

Situation physique de la mémoire. La mémoire centrale. La taille d un processeur. Les registres et la mémoire cache

Situation physique de la mémoire. La mémoire centrale. La taille d un processeur. Les registres et la mémoire cache La mémoire centrale 1 / 41 Rangement dans la mémoire La mémoire centrale 4 / 41 Situation physique de la mémoire Chapitre 5 A La mémoire centrale Chapitre 5 J-C Dubacq IUT de Villetaneuse Université Paris

Plus en détail

Présentation de l architecture de la machine MIPS 2000

Présentation de l architecture de la machine MIPS 2000 Introduction à l assembleur: plan Présentation de l architecture de la machine MIPS 2000 Registres, mémoire, directives Les instructions: accès à la mémoire opérations arithmétiques opérations logiques

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation

Langage C. Chapitre 2. 2.1 Le langage C, un langage non interprété. 2.1.1 L écriture du programme. 2.1.2 La compilation Chapitre 2 Langage C 2.1 Le langage C, un langage non interprété Le C est un langage de programmation comme il en existe beaucoup d autres (C++, Fortran, Python, Matlab, IDL, ADA...). Il existe deux grandes

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