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

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

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

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

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

Plus en détail

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

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

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

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

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

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

Les processeurs. Les entrées-sorties

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

Plus en détail

Architecture des ordinateurs 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

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

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

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

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

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

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

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

Plus en détail

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

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

Chap. I : Architecture de base d un ordinateur

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

Plus en détail

DSP ORIENTÉ APPLICATIONS INDUSTRIELLES

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

Plus en détail

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

Conception et exploitation des processeurs

Conception et exploitation des processeurs Chargé de cours : Frédéric Pétrot Équipe pédagogique : Stéphane Mancini, Luc Michel, Olivier Muller, Christophe Rippert, Sebastien Viardot Année universitaire 2012-2013 Structure du cours C1 C2 C3 C4 aux

Plus en détail

Compilation. Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP. Sandrine Blazy (d après le cours de François Pottier)

Compilation. Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP. Sandrine Blazy (d après le cours de François Pottier) Compilation Cours n 3: Architecture du compilateur Sélection d instructions: de PP à UPP Sandrine Blazy (d après le cours de François Pottier) - 2 e année 10 novembre 2008 S.Blazy (ENSIIE) Compilation

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

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

INSTRUCTIONS MICROCONTRÔLEURS PIC MICROCHIP

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

Plus en détail

EXERCICES D'ARCHITECTURE DES ORDINATEURS

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

Plus en détail

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

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

Plus en détail

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

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

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

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

Plus en détail

Architecture et Système

Architecture et Système Architecture et Système Stefan Schwoon Cours L3, 2014/15, ENS Cachan Rappels Quelques éléments qu on a pu construire à partir des transistors (et une horloge): fonctions arithmétiques et logiques multiplexeur,

Plus en détail

LES INSTRUCTIONS DU 8051

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

Plus en détail

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

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

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Architecture des ordinateurs

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

Plus en détail

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

Langage machine des objets VIOLET Lowcost

Langage machine des objets VIOLET Lowcost Langage machine des objets VIOLET Lowcost RevA 19/01/2005 Création du document Sylvain Huet RevB 15/12/2005 Retouches SH AMBERMIND, sarl au capital de 7.500 - Rcs Paris B 450 043 641 72 rue de Miromesnil,

Plus en détail

Télécom 2A, Examen d'architecture Cours de F. Pétrot, 3 heures, tout documents autorisés.

Télécom 2A, Examen d'architecture Cours de F. Pétrot, 3 heures, tout documents autorisés. Télécom, Examen d'architecture Cours de F. Pétrot, 3 heures, tout documents autorisés. 1 Exercice 1 : Multiprocesseur (2pts) Soit un système constitué de 2 processeurs avec des caches de données sans gestion

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

Bus de terrain. Thèmes abordés 25.03.2015

Bus de terrain. Thèmes abordés 25.03.2015 Bus de terrain Un protocole répandu et facile à implémenter 1 Thèmes abordés Présentation Historique caractéristique de MODBUS MODBUS Implantation dans le marché Exemples d appareils, exemples de logiciels

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

Implantation d une machine virtuelle en C

Implantation d une machine virtuelle en C Implantation d une machine virtuelle en C Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2012/2013 Semaine 3 Interprète de bytecode Interprète de bytecode :

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

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

LE BIOS : QU EST-CE QUE C EST?

LE BIOS : QU EST-CE QUE C EST? LE BIOS : QU EST-CE QUE C EST? Mewtow 29 octobre 2015 Table des matières 1 Introduction 5 2 Rappels sur le mode réel des processeurs x86 7 2.1 Mémoire en mode réel............................... 7 2.1.1

Plus en détail

Comment concevoir un ordinateur? Quelques questions à considérer

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

Plus en détail

Introduction aux systèmes informatiques Structure d un ordinateur

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

Plus en détail

Exemple: le processeur MIPS

Exemple: le processeur MIPS Exécution des instructions machine 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] adresse (donnée, instruction

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

A) Le Logiciel : le Software

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

Plus en détail

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

Projet 1 ENS Lyon L3IF

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

Plus en détail

Une introduction à l'assembleur

Une introduction à l'assembleur Une introduction à l'assembleur 1. Introduction générale L'assembleur permet de contrôler directement la CPU. Cela permet d'avoir une total maîtrise du système et surtout permet de faire des programmes

Plus en détail

Design, améliorations, et implémentations

Design, améliorations, et implémentations CPU et Mémoire Design, améliorations, et implémentations Techniques et caractéristiques modernes qui permettent de donner aux ordinateurs actuels toute leur puissance 1 Architectures CPU Design de l architecture

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

Plan : Master IM2P2 - Calcul Scientifique

Plan : Master IM2P2 - Calcul Scientifique Plan : Les systèmes HPC Typologie des systèmes : Machines Mémoire partagée Machines à Mémoire Distribuées Machine NUMA Exemples Architectures Processeurs HPC Processeurs scalaires, superscalaires, vectoriels

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

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 Retrouver tous les documents de Cours/TD/TP sur le site www.master-electronique.com

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

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

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

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

TD 3 : Représentation des réels et des caractères

TD 3 : Représentation des réels et des caractères ASR1 bis DUT Informatique 1A IUT A de Lille USTL 2007 2008 Architecture des ordinateurs Exercice 1 TD 3 : Représentation des réels et des caractères Représentation d une partie fractionnaire 1. Coder sur

Plus en détail

Les systèmes embarqués

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

Plus en détail

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.

CPU ou UCT. Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç. CPU ou UCT Processor (data processing) Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.par UCT, en ang. CPU (Central Processing Unit) CPU+mémoire

Plus en détail

Informatique générale - processeurs

Informatique générale - processeurs Université de Nice Sophia Antipolis Licence 1 Sciences Fondamentales Informatique Générale Processeurs Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres) Jacques.Farre@unice.fr http://deptinfo.unice.fr/~jf/infogene

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

Les processeurs traitement du signal (DSP)

Les processeurs traitement du signal (DSP) Les processeurs traitement du signal (DSP) Daniel Etiemble de@lri.fr 1 Les classes de processeurs Généralistes haute performance Pentiums, PowerPC, SPARC Logiciels d usage général OS important - UNIX,

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

Codage de l'information

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

Plus en détail

Les Microprocesseurs partie2

Les Microprocesseurs partie2 Université Constantine 2 Abdelhamid Mehri Faculté des NTIC Département MI Electronique des Composants & Systèmes Les Microprocesseurs partie2 Cours de L1 - TRONC COMMUN DOMAINE MATHEMATIQUES INFORMATIQUE

Plus en détail

Techniques de compilation

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

Plus en détail

Plan du module. Objectif du module. Architecture des Ordinateurs. Objectif: de la mécanique au fonctionnel. Intervenants. Acquérir un...

Plan du module. Objectif du module. Architecture des Ordinateurs. Objectif: de la mécanique au fonctionnel. Intervenants. Acquérir un... Mise à jour: Janvier 2012 Architecture des Ordinateurs [Archi/Lycée] 2 Nicolas Bredèche Maître de Conférences Université Paris-Sud bredeche@lri.fr Ressources bibliographiques utilisées pour ce cours :

Plus en détail

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

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

Plus en détail

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

Représentation des nombres. Damien Rohmer

Représentation des nombres. Damien Rohmer Représentation des nombres 2013 Damien Rohmer 000 Binaire / Octet Les nombres sont représentés en binaires: ex. pour des entiers 2 10 6 110 156 10011100 86751 10101001011011111 Un octet est un groupe de

Plus en détail

Tableaux (introduction) et types de base

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

Plus en détail

Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 1 / 25

Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel 1 / 25 Tests d intégrité d hyperviseurs de machines virtuelles à distance et assisté par le matériel Benoît Morgan, Éric Alata, Vincent Nicomette LAAS-CNRS, INSA Toulouse 14 juin 2014 Tests d intégrité d hyperviseurs

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

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

Chap. 2 - Structure d un ordinateur

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

Plus en détail

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

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

systèmes à processeur

systèmes à processeur Architecture t des systèmes à processeur Introduction Michel Starkier 1 Michel Starkier (MSR) - Institut REDS Cours: ARO1, ARO2, (NUM3), EMB, CSE, ASP Recherche : Systèmes embarqués reconfigurables Bureau

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

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

Analyse et programmation 1

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

Plus en détail

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Mémoires jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 120

Plus en détail

Licence Fondamentale SMI (semestre 3)

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

Plus en détail

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

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

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

Chap. I : Architecture de base d un ordinateur

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

Plus en détail

Shikata Deshita. Romain LESTEVEN

Shikata Deshita. Romain LESTEVEN Shikata Deshita Romain LESTEVEN 7 août 2015 TABLE DES MATIÈRES TABLE DES MATIÈRES Table des matières 1 Introduction 2 2 Encodage de shellcode 3 3 Shikata Ga Nai 4 3.1 Présentation.............................

Plus en détail

Architectures des systèmes informatiques

Architectures des systèmes informatiques Architectures des systèmes informatiques Support de cours LSI 2 D.Chillet Daniel.Chillet@enssat.fr http://r2d2.enssat.fr Architecture des systèmes informatiques - Année universitaire 2004-2005 1 Architecture

Plus en détail