Logiciel de Base. II. Le Langage Machine

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

Download "Logiciel de Base. II. Le Langage Machine"

Transcription

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

2 MIPS R2 MIPS : Microprocessor with Interlocked Pipeline Stages Issu d un projet de l université de Stanford Architecture MIPS-I (1985) Machine 32 bits registres et mots de 32 bits little endian ou big endian par configuration les instructions sont codées sur un mot et s exécutent (pour la plupart) en 1 cycle ==> machine RISC Architecture load/store machine à registres adressables où seules 2 «instructions» (load et store) accèdent à la mémoire le mot du MIPS est suffisamment large (et le codage suffisamment bien fait) pour pouvoir spécifier 3 registres dans une instruction 2

3 Les registres (1/2) 32 registres généraux, mais convention de programmation $ ($zero) vaut toujours (donc 31 registres généraux!) $1 ($at - assembler temporary) est réservé à l assembleur $2 ($v) et $3 ($v1) sont destinés à contenir les résultats des fonctions $4 à $7 ($a à $a3) sont destinés au passage des paramètres $8 à $15, $24 et $25 ($t à $t9) : temporaires non sauvegardés par les appels de procédures $16 à $23, ($s à $s7) : temporaires sauvegardés $26 et $27 ($k et $k1) sont réservés au noyau du SE (Kernel) $28 ($gp) : pointeur sur les données globales (Global Pointer) $29 ($sp) : pointeur de pile (Stack Pointer) $3 ($fp) : pointeur sur l environnement d une fonction (Frame Pointer) $31 ($ra) est utilisé à l appel d une fonction pour sauvegarder l adresse de retour (Return Address) Les conventions de programmation sont destinées au programmeur (et surtout au compilateur) et ne sont pas une contrainte du matériel Elles permettent d utiliser des procédures compilées séparément 3

4 registres spécialisés Les registres (2/2) le compteur ordinal (PC - Program Counter, IP - Instruction pointer) deux registres Hi (High) et Lo (Low) utilisés (implicitement) par les instructions de multiplication et division entre entiers des registres de contrôle regroupés dans le coprocesseur (jusqu à 32 pour les versions supérieures). Signalons :» $12 : le registre d état (status) (contient le masque d interruptions, le mode du processeur, )» $13 : le registre cause de l exception (cause)» $14 : le registre contenant l adresse de l instruction qui a causé l exception (EPC - Exception PC)» $8 : le registre contenant l adresse mémoire qui a causé une violation de protection mémoire (BadVAddr - Bad Virtual Address) Les registres du coprocesseur flottants (coprocesseur 1)» 32 registres de 32 bits ($f à $f31) utilisés comme 16 registres simples précision (on n utilise que les 16 registres de no. pairs), et 16 registres double précision (par jeu de 2 registres)» 1 flag code condition pour les instructions de comparaison des flottants 4

5 Formats des instructions Format I : utilisé pour des instructions qui manipulent des constantes, load et store (le déplacement est une constante), et les instructions de branchement qui utilisent un déplacement par rapport au compteur ordinal Format J : utilisé pour les instructions j et jal (voir plus loin) Format R : utilisé pour toutes les autres instructions 5

6 Format R (1/2) op (6) rs(5) rt(5) rd(5) shamt(5) funct(6) Que représente chacun des champs d une instruction? op est l opcode : est une partie du code de l instruction (toutes les instructions CPU au format R ont op = - pas vrai pour les instructions des coprocesseurs) funct : combiné avec op spécifie exactement l opération Pourquoi op et funct ne forment-ils pas un seul champ de 12 bits? 6

7 Format R (2/2) op (6) rs(5) rt(5) rd(5) shamt(5) funct(6) Que représentent les champs d une instruction? (suite)... rs (Source Register) : utilisé généralement pour spécifier le registre contenant le premier opérande source rt (Target Register) : utilisé généralement pour spécifier le registre contenant le deuxième opérande source (le nom prête à confusion! ) rd (Destination Register) : utilisé généralement pour spécifier le registre qui contiendra le résultat de l opération shamt (shift amount) : spécifie le nombre de décalages pour les instructions de décalage (= pour les autres instructions) généralement signifie : «il y a des exceptions» par ex. mult et div rangent le résultat dans HIGH et LOW et donc le champ rd n est pas significatif (doit être mis à ) 7

8 Format R - exemple (1/2) add $8, $9, $1 # $8 $9 + $1 Abus de notation ( normalement : RG[8] RG[9] + RG[1]) Utilisé àchaque fois qu il n y a pas d ambiguïté op = (lu dans la table des codes des instructions) funct = 32 (lu dans table des codes des instructions) rs = 9 (1er opérande source) rt = 1 (2ème opérande source) rd = 8 (destination) shamt = (ce n est pas une instruction de décalage) 8

9 Format R - exemple (2/2) add $8, $9, $1 # $8 $9 + $1 Représentation décimale par champs Représentation binaire par champs Langage Machine : - en binaire : en hexadécimal : 12A42 - en décimal :

10 Format I (1/2) Et les instructions avec des opérandes qui sont des constantes? Un champ de 5 bits ne permet de représenter que 32 constantes ( à 31, ou -16 à + 15) : on conçoit raisonnablement des opérandes constantes plus grandes Idéalement le MIPS devrait avoir un seul format d instructions (pour la simplicité du décodage) solution de compromis Définir un deuxième format qui est partiellement «compatible» avec le (conforme au) format R les instructions ayant un opérande constante, ce format utilisera au plus 2 registres 1

11 op (5) Format I (2/2) rs (5) rt (5) Immediate (16) Seul un champ n est pas conforme au format R et le champ op est au même endroit Que représente chacun des champs? op : comme pour le format R mais comme il n y a pas de champ funct, spécifie complètement l opération Pourquoi dans le format R, op et funct ne forment-ils pas un seul champ de 12 bits? rs : spécifie le seul registre opérande source (quand il y en a un) rt : spécifie généralement le registre qui «contiendra» le résultat (est ce pour cela qu on l appelle Target Register?) immediate : constante sur 16 bits (représentation des nombres en complément à 2, extension de signe avant l opération même pour les opérations non signées) 11

12 Format I - exemple (1/2) addi $21, $22, -5 # $21 $22 + (-5) op = 8 (lu dans la table des codes des instructions) rs = 22 (registre contenant l opérande) rt = 21 (registre contenant le résultat) immediate = -5 (décimal par défaut) 12

13 Format I - exemple (2/2) addi $21, $22, -5 # $21 $22 + (-5) Représentation décimale par champs Représentation binaire par champs Langage Machine - en hexadécimal : 22D5FFCE - en décimal : Problème : Et les constantes qui ne tiennent pas sur 16 bits? Voir instructions lui et ori plus loin 13

14 Format J (1/3) Utilisé dans les instructions j et jal qui modifient PC en lui affectant une adresse absolue (PC adresse cible) L adresse cible devrait pouvoir être n importe quelle adresse mémoire Donc n importe quelle constante sur 32 bits On ne peut pas avoir un code opération sur 6 bits et une adresse cible sur 32 bits dans un seul mot de 32 bits Solution de compromis 14

15 Format J (2/3) Op (6) Ex : j 1 target address (26 bits) Que représente chacun des champs d une instruction? op : même signification (et même localisation) que dans les formats R et I, spécifie complètement l opération target address : adresse mémoire (les autres champs qui restent sont combinés pour spécifier une adresse «la plus large possible») Comment fabrique-t-on l adresse sur 32 bits? 15

16 Format J (3/3) Le champ «target address» spécifie 26 des 32 bits Comme les instructions sont des mots de 32 bits, on peut supposer (imposer) qu elles soient alignées à des frontières de mots les 2 bits de poids faibles sont donc toujours à on peut donc spécifier 28 des 32 bits de l adresse Où trouver les 4 bits restants? MIPS a choisi de prendre les 4 bits de poids forts du registre PC New PC = PC[31..28] & (target address) & (où & est la concaténation de chaîne de bits) on ne peut donc pas aller n importe où en mémoire! («pages» de 256M octets) mais c est suffisant 99,99% du temps : les programmes ne sont pas si longs! (mais il faut bien positionner le début du programme) si on veut absolument spécifier les 32 bits de l adresse, il est possible de charger l adresse dans un registre et d utiliser les instructions jr et jalr (voir plus loin) 16

17 Langage Machine : l exemple du MIPS R2 Les registres les 3 formats d instructions R I op (6) rs(5) rt(5) rd(5) shamt(5) funct(6) op (5) rs (5) rt (5) Immediate (16) J Op (6) target address (26 bits) Les modes d adressage Le répertoire des instructions 17

18 Modes d adressage (1/4) Le MIPS a 5 modes d adressage 1. Direct registre (register) op rs rt rd Registre rs Ex : add $2, $3, $4 add $v, $v1 $a 2. Immédiat (immediate) op rs rt immediate Ex : addi $2, $2, -5 ori $v, $t, 1 nombres signés sur 16 bits ( binaire complément à 2) 18

19 Modes d adressage (2/4) 3. Basé op rs rt immediate Mémoire Registre rs + lw $2, 2($3) # $2 M[$3+2] (Load Word) nombre signé sur 16 bits n importe lequel des registres généraux ($ compris) 19

20 Modes d adressage (3/4) 4. Relatif PC (PC-relative) op rs rt immediate Mémoire PC + Ex : beq $2, $3, -2 # si $2=$3 alors PC PC + (-2)*4 le déplacement est en nombre de mots 2

21 Modes d adressage (4/4) 5. Pseudo direct Mémoire op target address Mémoire PC & Sur 28 bits Ex : j 1 # PC PC[31..28] & (1 * 4) l adresse est non signée concaténation ajout de deux en poids Indirect direct mémoire? avec basé (exercice) 21

22 Les Instructions du MIPS R2 instructions de transfert instructions arithmétiques et logiques instructions de comparaison et branchement instructions d appel de procédure instructions du coprocesseur flottants instructions d appel système l instruction nop (no operation) 22

23 Instructions de transfert (1/2) Transfert reg. généraux - mémoire : Load et Store lw, sw : Load Word, Store Word - lw $2, 2($3) # $2 M[$3+2] (Format I) = xc4 - sw $ra, -4($sp) # M[$sp-4] $ra (Format I) ($ra = $31 et $sp = $29) = xfffc 23

24 Instructions de transfert (2/2) Octets et 1/2 mots lb, sb (byte) lbu (load byte unsigned) lh, sh (half word) lhu (load half unsigned) Dans le cas d un «load» on charge les poids faibles du registre MAIS le reste du registre (poids forts) est également touché : lbu et lhu mettent les poids forts à lb et lh font l extension de signe (mettent le «bit de signe» de l octet ou du 1/2 mot dans les poids forts) 24

25 Chargement d une constante Load Upper Immediate (lui Rt, immediate) on ne peut spécifier qu une constante sur 16 bits la constante est chargée dans les 16 bits de poids forts du registre Rt les bits de poids faibles de Rt sont mis à Combiné avec ori, permet de charger une constante de 32 bits dans un registre comment réaliser $2 x1fc4a6? en deux instructions à l aide de lui et ori lui $2, x1f ori $2, $2, xc4a6 On ne peut pas utiliser l addition à la place de ori addi fait toujours l extension de signe avant l addition xc4a6 devient FFFFC4A6! 25

26 Load et store «non alignées»(1/5) lw et sw doivent spécifier des adresses multiples de 4 (frontières de mots) simplifie le matériel d accès à la mémoire dans le cas de «non alignement» : il y a une erreur à l exécution signalée par le mécanisme d exception (voir plus loin) MIPS offre la possibilité d accéder à un mot rangé de part et d autre d une frontière de mots (mais en 2 instructions) instructions load et store «non alignées» : lwl (Load Word Left), lwr (Load Word Right), swl (Store Word Left), swr (Store Word Right) 26

27 Bonus Load et store «non alignées» (2/5) Load Word Left (lwl) Mémoire big-endian A B C D $ D $24 après lwl $24, 1($) l autre partie du registre reste inchangée 27

28 Bonus Load et store «non alignées» (3/5) Load Word Right (lwr) Mémoire big-endian lwr $24, 4($) A B C A B C 4 D $24 avant $24 après l autre partie du registre reste inchangée lwl et lwr s utilisent conjointement 28

29 Bonus Load et store «non alignées» (4/5) Store Word Left (swl) Mémoire big-endian avant A B C D après swl $24, A B 29

30 Bonus Load et store «non alignées» (5/5) Store Word Right (swr) Mémoire big-endian avant A B C D après swr $24, C D swl et swr s utilisent conjointement 3

31 Autres inst. de transfert (1/2) Load et store des registres des coprocesseurs 4 coprocesseurs ( : contrôle, 1: flottants, ) instructions lwcz (z =, 1, 2, 3) instructions swcz (z =, 1, 2, 3) Transfert entre High/Low et les registres généraux move from High : mfhi Rd move from Low : mflo Rd move to High : mthi Rd move to Low : mtlo Rd 31

32 Autres inst. de transfert (2/2) Transfert entre registres généraux et registres des coprocesseurs Move From Coprocessor : mfcz Rt, Rd (z =, 1, 2, 3) Move To Coprocessor : mtcz Rt, Rd (z =, 1, 2, 3) les instructions mfc et mtc sont privilégiées Il n y a pas d instruction de transfert entre registres généraux! $3 $4 se fait par add $3, $4, $ 32

33 Inst. arithmétiques (1/5) add Rd, Rs, Rt addu Rd, Rs, Rt # add unsigned ex : addu $2, $3, $ addu est l addition non signée : pour MIPS sans test de débordement de capacité! 33 33

34 Inst. arithmétiques (2/5) addi Rt, Rs, imm addiu Rt, Rs, imm # add immediate # add immediate unsigned ex : addiu $2, $3, xffff xffff Il y a extension de signe de l opérande «imm» avant addition sans test de débordement (cas addiu) ou avec test de débordement (cas addi) 34

35 Inst. arithmétiques (3/5) sub Rd, Rs, Rt subu Rd, Rs, Rt # opérandes signés # unsigned : opérandes non signés ex : subu $2, $3, $4 # $2 $3 - $4 (sans test de débordement) x23 = 35 Il n y a pas de variante avec opérande immédiat pour sub Pourquoi? addi et addiu suffisent! une «pseudo instruction» existe en langage d assemblage et est traduite par l assembleur 35

36 Inst. arithmétiques (4/5) mult Rs, Rt multu Rs, Rt # multiply unsigned ex : mult $2, $3 # Hi,Lo $2 * $3 (opérandes non signées) x18=24 Il n y a pas de variante avec opérande immédiate pour mult comment multiplier par une constante? La transférer d abord dans un registre! une «pseudo instruction» existe en langage d assemblage et est traduite par l assembleur (en utilisant $1) ex : mult $2, x12 est traduite par addi $at, $, x12 mult $2, $at Le résultat étant sur 64 bits, il ne peut pas y avoir de débordement! 36

37 Inst. arithmétiques (5/5) div Rs, Rt divu Rs, Rt # divide unsigned ex : div $2, $3 # Lo quotient ($2 / $3); High reste ($2 / $3) Il n y a pas de débordement En cas de division par zéro, le résultat n est pas défini x1a=26 37

38 Instructions logiques and Rd, Rs, Rt andi Rs, Rt, immediate # and immediate ex : and $2, $3, $4 # $2 $3 & $4 (Et bit à bit - Et logique sur vecteur) x24 = 36 Dans le cas andi l opérande sur 16 bits est étendu sur 32 bits en mettant des dans les poids forts (the immediate operand is zero extended) Autres instructions logiques : Ou (or Rd, Rs, Rt et ori Rs, Rt, immediate) Ou exclusif (xor Rd, Rs, Rt et xori Rs, Rt, immediate) Non Ou (nor Rd, Rs, Rt) 38

39 Inst. de décalage (1/2) Déplacer (décaler), d un nombre de bits donné, tous les bits d un mot vers «la droite» ou vers «la gauche» ex: décalage à droite de 8 bits ex: décalage à gauche de 8 bits logique arithmétique Décalage arithmétique (à droite) : on copie le bit de poids forts (division par une puissance de 2) 39

40 Inst. de décalage (2/2) Nombre de bits à décaler dans l instruction : sll (Shift Left Logical) srl (Shif Right Logical) sra (Shift Right Arithmetic) ex : sra Rd, Rt, sa Rt Rd Nombre de bits à décaler dans un registre : sa sllv (Shift Left Logical Variable) srlv (Shif Right Logical Variable) srav (Shift Right Arithmetic Variable) ex : sra Rd, Rt, Rs x3 = Rs Rt Rd x4 = 4 4

41 Instructions de branchement (1/2) Saut relatif conditionnel beq Rs, Rt, offset # Branch on EQual bne Rs, Rt, offset # Branch on Not Equal Ex : beq $2, $3, -2 # si $2=$3 alors PC PC + (-2)*4 Où pointe PC? Sur l instruction en cours d interprétation? Sur l instruction suivante? Pour le MIPS : instruction suivante Comment réaliser un saut relatif inconditionnel? Prendre Rs = Rt (ex : Beq $, $, offset) Autres instructions de saut relatif : bgtz (>), bgez (>= ), bltz (< ), blez (<=) Déplacement en nb d instructions, mémoire adressée par octets (ici z signifie zéro et non numéro de coprocesseur comme dans mfcz, mtcz...) 41

42 Instructions de branchement (2/2) Saut absolu inconditionnel j target jr Rs # Jump # Jump Register (PC Rs) j 1 # PC PC[31..28] & (1 * 4) l adresse est non signée concaténation ajout de deux en poids faibles 42

43 Instructions de comparaison Comparaison signée slt Rd, Rs, Rt # Set on Less Than slti Rt, Rs, immediate # slt Immediate Ex : slt $2, $3, $4 # si $3 < $4 alors $2 1 sinon $2 Comparaison non signée sltu Rd, Rs, Rt # Set on Less Than Unsigned sltiu Rt, Rs, immediate # slt immediate unsigned Ex : sltiu $2, $3, -1 # si $3 < xff9c alors $2 1 sinon $2 La comparaison est faite en considérant les opérandes comme des entiers non signés. Pour sltiu il y a extension de signe de l opérande sur 16 bits avant la comparaison (xff9c ==> xffffff9c) 43

44 MIPS et codes conditions le CPU (partie sur les entiers) du MIPS n a pas de code condition des registres généraux sont positionnés à des valeurs particulières lors des instructions de comparaisons (ex. slt - Set on Less Than ) les instructions de branchement réalisent en même temps les comparaisons et les branchements les débordements sont directement signalés par des exceptions la partie coprocesseur flottants a un code condition 44

45 Inst. d appel de procédure (1/2) Branchements vs. appels de procédure BR BR appel Retour à l appelant branchement = modification du compteur ordinal appel de procédure = sauvegarde adresse de retour + branchement (l appel de procédure doit sauvegarder la valeur du compteur ordinal pour pouvoir retourner à l instruction qui suit l appel) du point de vue de la partie du programme où s effectue l appel de procédure, l appel est considéré comme une instruction qui prend «un certain temps» et qui a un «effet complexe» sur l état de la machine 45

46 Inst. d appel de procédure (2/2) Appel avec saut absolu inconditionnel jal target jalr Rs jalr Rd, Rs # Jump And Link ($ra PC ; PC target) # JAL Register ($ra PC ; PC Rs) # Rd PC ; PC Rs Comment retourner à l appelant? jr $ra (à condition de ne pas avoir modifié $ra!) Appel avec saut relatif conditionnel bltzal Rs, offset # branch on less than zero and link bgezal Rs, offset # branch on greater than or equal zero and link «link» signifie garder une liaison avec l appelant calcul d adresse de branch. : (voir inst. branch. Relatif) appel impossible au delà de 32 K instructions 46

47 Inst. coprocesseur flottants (1/2) Instructions de «Format R» cop1 (6) fmt(5) ft(5) fs(5) fd(5) funct(6) Que représentent les champs d une instruction? cop1 = x11 (instructions coprocesseur 1) fmt : format ( : simple précision, 1 : double précision) fs : le «registre flottants» contenant le premier opérande ft : le «registre flottants» contenant le deuxième opérande fd : le «registre flottants» qui contiendra le résultat de l opération funct : spécifie l opération Ex : add.s $f, $f2, $f4 # $f $f2 + $f x add.d $f, $f2, $f4 # $f,$f1 $f2,$f3 + $f4,$f x

48 Inst. coprocesseur flottants (2/2) Autres instructions (voir doc Assemblers, Linkers, and the SPIM Simulator ) load, store (lwc1, stwc1) soustraction valeur absolue comparaison (positionnent un code condition) test du code condition et branchement multiplication, division conversion arrondis (floor, ceil, round, truncate, )... Architecture MIPS32 48

49 Instructions relatives aux exceptions Architecture MIPS-I Appel système «sans paramètre dans l inst.» : syscall Appel système «avec paramètre dans l inst.» : break <code> <code> (16 bits) Restauration du registre d état : rfe (Return From Exception) xxxx xd xc x1 1 Instruction privilégiée (ne peut être exécutée qu en mode «superviseur») -- cf partie O.S. x2 49

50 L instruction NOP No OPeration (instruction qui ne fait rien!) en fait une pseudo instruction réalisée par sll $,$, A quoi peut servir NOP? attente active sans trop modifier l état du processeur remplir les «délais» des instructions de branchement différé et chargement différé dans certaines implantations pipelinées du jeu d instructions 5

51 Utilisation de NOP Une tâche (une durée incompressible) 4,5 cycles 2 cycles Etant donnée une tâche à réaliser : celle-ci a une durée incompressible en fonction de la technologie période d horloge courte ==> beaucoup de cycles pour la tâche période d horloge longue ==> peu de cycles pour la tâche Le temps d exécution (la durée) d une instruction est donné par la formule D = C * T où C est le nombre de cycles d horloge par instruction T est la durée du cycle (période d horloge) 51

52 Implantation pipelinée On ne peut pas accélérer l exécution d une instruction Peut on accélérer l exécution d un programme (suite d instructions)? oui par implantation pipelinée on divise le cycle «fetch decode exécute» en plusieurs unités fonctionnelles qui peuvent «travailler» en même temps pour le compte de plusieurs instructions Interprétation des instructions du MIPS en 5 étapes Instruction fetch (lecture instruction) IF ID EX MEM WB Instruction Decode (décodage, lecture des opérandes) Execute Accès à la mémoire Ecriture des registres 52

53 Chargement différé (1/2) temps $5 prêt Microprocessor with Interlocked Pipeline Stages IF ID EX MEM WB IF ID EX MEM WB lw $5, 24($8) add $2, $3, $7 IF ID EX MEM WB add $2, $5, $6 $5 nécessaire le résultat du load ne peut pas être utilisé dans les 3 instructions suivantes le nombre d instructions qui doivent séparer le load et l utilisation du résultat est le délai de chargement (load delay) comment programmer une telle machine? dès qu on s aperçoit qu on a besoin d un résultat non prêt : bloquer tout le pipeline laisser la gestion des délais de chargement au programmeur (compilateur) qui insère des instructions utiles ou des NOP on parle de chargement différé (delayed loads) Il y a également des branchements différés (delayed branchs) des optimisations permettent de réduire les délais de blocage 53

54 Chargement différé (2/2) temps IF ID EX MEM WB valeur $5 prête lw $5, 24($8) IF ID EX MEM WB IF ID EX MEM WB add $2, $3, $7 add $2, $5, $6 $5 nécessaire Délai de chargement de 1 54

55 Fin du chapitre II 55

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

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

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

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

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

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

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

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en dé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

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

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

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

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

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

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

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

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

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

Architecture : Circuits numériques et éléments d architecture

Architecture : Circuits numériques et éléments d architecture Ecole Nationale Supérieure d Informatique et de Mathématiques Appliquées Architecture : Circuits numériques et éléments d architecture 1 ère année Année scolaire 2014 2015 Consignes Les exercices de ce

Plus en dé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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

Présentation du cours

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

Plus en détail

IFT2880 Organisation des ordinateurs et systèmes

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

Plus en détail

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

PIC : COURS ASSEMBLEUR

PIC : COURS ASSEMBLEUR PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en dé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

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

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

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à

Plus en détail

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

Fonctionnement et performance des processeurs

Fonctionnement et performance des processeurs Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul

Plus en détail

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2 C Embarque Contraintes, particularités 1. Généralités... 2 2. Gestion de la mémoire... 2 a. Type des variables et constantes.... 2 b. Variables locales ou globales... 3 3. Interruptions... 5 4. Imposer

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

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

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en dé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

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

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

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

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

gestion des processus La gestion des processus

gestion des processus La gestion des processus 1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en

Plus en détail

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants

Plus en détail

Résumé Génération de code Le code intermédiaire

Résumé Génération de code Le code intermédiaire Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux

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

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO Architecture des Ordinateurs Première partie Cécile Germain Daniel Etiemble Licence d Informatique - IUP Miage - FIIFO Table des matières 1 Introduction 3 2 Les composantes de l ordinateur 7 2.1 Le modèle

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Luc De Mey Ces notes de cours sont disponibles à l adresse : www.courstechinfo.be/math_info.pdf Dernière révision : 6 mai 2013 Table des matières 1 Systèmes de

Plus en détail

LOGICIEL DC4D MONITOR

LOGICIEL DC4D MONITOR THQtronic LOGICIEL DC4D MONITOR La communication entre PC et DC4D ne peut se faire qu à l aide du câble de liaison USB-TTL de FTDI référence TTL-232R-5V-AJ vendu en option. DC4D Monitor est la même application

Plus en détail

Prentice Hall, 2011 (ISBN 0-13-610804-0)

Prentice Hall, 2011 (ISBN 0-13-610804-0) Prentice Hall, 2011 (ISBN 0-13-610804-0) Introduction à l architecture des ordinateurs Georges-André Silber Centre de recherche en informatique École nationale supérieure des mines de Paris octobre 2010

Plus en détail

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

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

Plus en détail

Conventions d écriture et outils de mise au point

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

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

td3a correction session7az

td3a correction session7az td3a correction session7az August 19, 2015 1 Séance 7 : PIG et JSON et streaming avec les données vélib (correction avec Azure) Plan Récupération des données Connexion au cluster et import des données

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

Chapitre 10 Arithmétique réelle

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

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

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

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Architecture de l ordinateur

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

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Description du logiciel Modbus RTU

Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 1 de 57 Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 2 de 57 Sommaire Description

Plus en détail

Calcul scientifique précis et efficace sur le processeur CELL

Calcul scientifique précis et efficace sur le processeur CELL Université P. et M. Curie Master spécialité informatique Calcul scientifique précis et efficace sur le processeur CELL NGUYEN Hong Diep Rapport de stage recherche de master 2 effectué au laboratoire LIP6

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

Conversion d un entier. Méthode par soustraction

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

Plus en détail

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

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

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

Chapitre VI- La validation de la composition.

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

Plus en détail

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Logiciel de base. Première année ENSIMAG

Logiciel de base. Première année ENSIMAG Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert

Plus en détail

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013 Systèmes temps réel et systèmes embarqués Architecture des ordinateurs Loïc Cuvillon Ecole Nationale Supérieure de Physique de Strasbourg 20 novembre 2013 Loïc Cuvillon (ENSPS) Systèmes temps réel et systèmes

Plus en détail

Le langage C. Introduction, guide de reference

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

Plus en détail

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP 2 Réseaux. Adresses IP, routage et sous-réseaux TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP

Plus en détail

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin

Informatique Industrielle Année 2004-2005. Architecture des ordinateurs Note de cours T.Dumartin Informatique Industrielle Année 2004-2005 Architecture des ordinateurs Note de cours T.Dumartin 1 GENERALITES 5 1.1 INTRODUCTION 5 1.2 QU ENTEND-T-ON PAR ARCHITECTURE? 5 1.3 QU EST CE QU UN MICROPROCESSEUR?

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur

Plus en détail

GNS 3 Travaux pratiques

GNS 3 Travaux pratiques GNS 3 Travaux pratiques Sommaire Spécifications du laboratoire... 3 Configuration des hôtes virtuels... 3 Préparation des PC (Clouds) dans GNS3... 8 Préparation et configuration des routeurs... 9 Activation

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT Les portes logiques Nous avons jusqu ici utilisé des boutons poussoirs et une lampe pour illustrer le fonctionnement des opérateurs logiques. En électronique digitale, les opérations logiques sont effectuées

Plus en détail

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Architecture ordinateur. Organisation mémoire et Entrées/Sorties Architecture ordinateur Organisation mémoire et Entrées/Sorties 243 Plages mémoire et E/S Dans une architecture à bus partagé, seule une partie des adresses active le contrôleur mémoire. Il reste des adresses

Plus en détail

Enregistreur sans papier avec écran TFT et carte Compact Flash. B 70.6580.2.0 Description des interfaces 07.07/00472200

Enregistreur sans papier avec écran TFT et carte Compact Flash. B 70.6580.2.0 Description des interfaces 07.07/00472200 nt Enregistreur sans papier avec écran TFT et carte Compact Flash B 70.6580.2.0 Description des interfaces 07.07/00472200 Sommaire 1 Introduction 5 1.1 Avant-propos... 5 1.2 Conventions typographiques...

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Organisation des Ordinateurs

Organisation des Ordinateurs Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les

Plus en détail

Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005

Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 Les vulnérabilités du noyau LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 27 Septembre 2003 Table des matières 1 Introduction 3 2 Fonctionnement du noyau 4 2.1 Les modes de fonctionnements............................

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

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

Jeux de caracte res et encodage (par Michel Michaud 2014)

Jeux de caracte res et encodage (par Michel Michaud 2014) Jeux de caracte res et encodage (par Michel Michaud 2014) Les ordinateurs ne traitent que des données numériques. En fait, les codages électriques qu'ils conservent en mémoire centrale ne représentent

Plus en détail