Logiciel de Base. II. Le Langage Machine

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Processeur MIPS32. Architecture externe A) INTRODUCTION

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

Plus en détail

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

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

Plus en détail

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

Architecture externe et jeu d instructions

Architecture externe et jeu d instructions Processeur MIPS R3000. Architecture externe et jeu d instructions MIPS R3000 jeu d instructions page - 1 A) Introduction Ce document décrit l architecture externe ainsi que le jeu d instructions du processeur

Plus en détail

Cours architectures des ordinateurs

Cours architectures des ordinateurs Université KASDI MERBAH Ouargla Faculté des Nouvelles Technologies de l Information et de la Communication Département d Informatique et Technologie de l information Cours architectures des ordinateurs

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

Introduction à l assembleur ARM: variables et accès mémoire. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

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

Plus en détail

Jeu d instruction et Pipeline NSY 104

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

Plus en détail

Présentation de l architecture de la machine MIPS 2000

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

Plus en détail

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

Conception et exploitation des processeurs

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

Plus en détail

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

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

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

Questions à choix multiples Page 1 de 9

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

Plus en détail

Processeur MIPS R3000. Langage d assemblage

Processeur MIPS R3000. Langage d assemblage Processeur MIPS R3000. Langage d assemblage Version 1.4 (septembre 2001) MIPS R3000 langage d assemblage page - 1 A) INTRODUCTION Ce document décrit le langage d assemblage du processeur MIPS R3000, ainsi

Plus en détail

ARCHITECTURE DES ORDINATEURS Corrigé - Examen Juin H Tous documents autorisés

ARCHITECTURE DES ORDINATEURS Corrigé - Examen Juin H Tous documents autorisés ARCHITECTURE DES ORDINATEURS Corrigé - Examen Juin 2007 3 H Tous documents autorisés NOMBRES FLOTTANTS On représente sur 32 bits des nombres flottants avec les conventions suivantes : Exposant e sur 8

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

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XSPIM : un simulateur graphique du MIPS R2000 Jacques Farré email : Jacques.Farre@unice.fr

Plus en détail

III. Traduction des langages de «haut niveau»

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

Plus en détail

Jeu d instructions et modes d adressage MIPS

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

Plus en détail

Processeur MIPS32. Architecture externe

Processeur MIPS32. Architecture externe Processeur MIPS32 Architecture externe Version 2.4 (Octobre 29) Alain Greiner MIPS32 Architecture Externe - octobre 31, 29 page - 1 A) INTRODUCTION Ce document présente une version légèrement simplifiée

Plus en détail

Processeur MIPS R3000. Architecture externe

Processeur MIPS R3000. Architecture externe UNVESTE PEE ET MAE CUE Processeur MPS 3000. Architecture externe Version 2.2 (Septembre 1999) MPS 3000 Architecture externe - 9 octobre 2003 page - 1 UNVESTE PEE ET MAE CUE A) NTODUCTON Ce document présente

Plus en détail

Université Pierre et Marie Curie UFR 22 LICENCE D' INFORMATIQUE. Année 2000/2001. Module ARCHITECTURE. Processeur MIPS R3000 Architecture externe

Université Pierre et Marie Curie UFR 22 LICENCE D' INFORMATIQUE. Année 2000/2001. Module ARCHITECTURE. Processeur MIPS R3000 Architecture externe Université Pierre et Marie Curie UF 22 LCENCE D' NFOMATQUE Année 2000/2001 Module ACHTECTUE Processeur MPS 3000 Architecture externe UNVESTE PEE ET MAE CUE UNVESTE PEE ET MAE CUE A) NTODUCTON Processeur

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

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

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

Plus en détail

Systèmes à processeurs

Systèmes à processeurs Systèmes à processeurs II2 - Cours : Systèmes à processeurs J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2012-2013 1/31

Plus en détail

LE LANGAGE C ADAPTÉ AU MICROCONTRÔLEURS

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

Plus en détail

Examen 2. Q1 (3 points) : Quel mot ou concept relié aux ordinateurs correspond à la définition suivante :

Examen 2. Q1 (3 points) : Quel mot ou concept relié aux ordinateurs correspond à la définition suivante : GI-1001, 24 avril 2012 Nom/Matricule : Examen 2 Cet examen vaut 40% de la note totale du cours. Les questions seront corrigées sur un total de 40 points. La valeur de chaque question est indiquée avec

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

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

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

Jeux d instructions. Les jeux d instructions

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

Plus en détail

Cours 1 Microprocesseurs

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

Plus en détail

DS Architecture des Ordinateurs

DS Architecture des Ordinateurs 3IF - Architecture des ordinateurs - DS 2015 page 1/9 NOM, Prénom : DS Architecture des Ordinateurs 21/05/2015 Durée 1h30. Répondez sur le sujet. REMPLISSEZ VOTRE NOM TOUT DE SUITE. Tous documents autorisés,

Plus en détail

Instructions MIPS R3000

Instructions MIPS R3000 Instructions MIPS Instructions MIPS R3000 Instructions Load/Store Arith - Logique Jump - Branch Floating Point Management Special Registres R0 - R31 PC HI LO 3 formats d'instruction tous sur 32 bits 6

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

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

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

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

Plus en détail

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

Des instructions élémentaires. Le langage machine. Technologie liée à l assembleur. Code d opération et opérandes Le langage machine 1 / 49 De l assembleur au langage machine Le langage machine 4 / 49 Des instructions élémentaires Définition (Langage machine/code machine) Le langage machine Chapitre 4 Description

Plus en détail

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne

La famille x86. Eduardo Sanchez Laboratoire de Systèmes Logiques. Ecole Polytechnique Fédérale de Lausanne La famille x86 Laboratoire de Systèmes Logiques Désavantages de l architecture x86 Très vieille architecture: basée sur le 8080 (commercialisé en 1974, 6 000 transistors et 8 registres) Le premier 8086

Plus en détail

Conception et exploitation des processeurs

Conception et exploitation des processeurs Chargés de cours : Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 au VHDL aux langages d'assemblage pour les ISA x86 et MIPS Conventions pour les appels

Plus en détail

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

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

Plus en détail

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

ARCHITECTURE DES ORDINATEURS Corrigé EXAMEN Novembre 2004

ARCHITECTURE DES ORDINATEURS Corrigé EXAMEN Novembre 2004 ARCHITECTURE DES ORDINATEURS Corrigé EXAMEN Novembre 2004 PARTIE 1 : REPRESENTATION DES NOMBRES Q1) Représenter les nombres décimaux suivants sous forme de quatre chiffres hexadécimaux, en représentation

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

Plan du cours. 1 Histoire de l ordinateur. 3 Représentation interne des informations. 4 Circuits logiques. 5 Mémoires. 6 Unité centrale de traitement

Plan du cours. 1 Histoire de l ordinateur. 3 Représentation interne des informations. 4 Circuits logiques. 5 Mémoires. 6 Unité centrale de traitement Plan du cours 1 Histoire de l ordinateur 2 Présentation générale 3 Représentation interne des informations 4 Circuits logiques 5 Mémoires 6 Unité centrale de traitement 7 Assembleur 8 Introduction au langage

Plus en détail

TP 1 : Utilisation d un simulateur de système d exploitation

TP 1 : Utilisation d un simulateur de système d exploitation TP 1 : Utilisation d un simulateur de système d exploitation NFP136 : Valeur d Accueil et de Reconversion en Informatique 2 2014/2015 Supports : Tous les supports pour ce tp sont disponibles sur à l adresse

Plus en détail

CHAPITRE 3 : Types de base, Opérateurs et Expressions

CHAPITRE 3 : Types de base, Opérateurs et Expressions CHAPITRE 3 : Types de base, Opérateurs et Expressions 1. Types simples Un type définit l'ensemble des valeurs que peut prendre une variable, le nombre d'octets à réserver en mémoire et les opérateurs que

Plus en détail

Cours Assembleur 8086

Cours Assembleur 8086 Cours Assembleur 8086 Pierre-Nicolas Clauss Laboratoire Lorrain de Recherche en Informatique et ses Applications 12 mars 2008 pierre-nicolas.clauss@loria.fr (LORIA) Cours Assembleur 8086 12 mars 2008 1

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

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

Trouver kernel32.dll

Trouver kernel32.dll Trouver kernel32.dll Jerome Athias http://www.athias.fr Du fait que parler directement au kernel n est pas une option, une solution alternative est nécessaire. La seule autre manière de parler au noyau

Plus en détail

II - Généralités sur les microprocesseurs

II - Généralités sur les microprocesseurs II - Généralités sur les microprocesseurs 2.1 Rôle des microprocesseurs Remplacement des logiques câblées La logique câblée est étudiée et réalisée une fois pour toutes sur un schéma donné: les fonctions

Plus en détail

TD Architecture de référence nollinge@cmi.univ-mrs.fr année 2004/2005

TD Architecture de référence nollinge@cmi.univ-mrs.fr année 2004/2005 TD Architecture de référence nollinge@cmi.univ-mrs.fr année 2004/2005 Le présent document décrit l architecture de référence utilisée en TD. Cette architecture simplifiée s inspire d architectures réelles.

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

Cours de «concepts avancés de compilation» Travaux pratiques. Séance du 17 décembre Auteurs : B. Monsuez, F. Védrine

Cours de «concepts avancés de compilation» Travaux pratiques. Séance du 17 décembre Auteurs : B. Monsuez, F. Védrine Cours de «concepts avancés de compilation» Travaux pratiques Séance du 17 décembre 2007 Auteurs : B. Monsuez, F. Védrine L exemple suivant nous servira d exemple de référence pour le TD. Nous présentons

Plus en détail

Le matériel : architecture des ordinateurs

Le matériel : architecture des ordinateurs Chapitre 6 Le matériel : architecture des ordinateurs Von Neumann rédige en 1945 un texte d une dizaine de pages dans lequel il décrit les plans d une nouvelle machine, l EDVAC (Electronic Discrete Variable

Plus en détail

Un Ordinateur, comment ça marche en vrai?

Un Ordinateur, comment ça marche en vrai? Un Ordinateur, comment ça marche en vrai? Décembre 2006 Plan Introduction Hard Électronique Microprocesseur Ordinateurs Soft OS Conclusion 2 Couches Langages de Haut niveau Traduction - Compilation Assemblage

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

Architecture des ordinateurs Architecture des ordinateurs (X31I050) Frédéric Goualard Laboratoire d'informatique de Nantes-Atlantique, UMR CNRS 6241 Bureau 112, bât. 11 Frederic.Goualard@univ-nantes.fr Architecture des ordinateurs

Plus en détail

Fiche 1 : Le langage machine

Fiche 1 : Le langage machine ² Polytech Marseille/Dépt Informatique A3 2016/2017² ² TD Interface Matériel Logiciel² Fiche 1 : Le langage machine Léon Mugwaneza 1/ Sur la représentation des nombres entiers Entiers positifs : notation

Plus en détail

SOLUTIONNAIRE DE L EXAMEN INTRA

SOLUTIONNAIRE DE L EXAMEN INTRA Université du Québec enabitibi-témiscamingue SOLUTIONNAIRE DE L EXAMEN INTRA COURS: MICROPROCESSEURS I SIGLE: SESSION: CENTRE: INF-3215 HIVER 2002 - CONTRÔLE PÉRIODIQUE ROUYN-NORANDA 1) 1,00 2) 2,00 3)

Plus en détail

Projet de Machines Virtuelles

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

Plus en détail

ARCHITECTURE DES MICROPROCESSEURS

ARCHITECTURE DES MICROPROCESSEURS ES IN (Python) IN (C), IN & MO (OS, Unix) Couches logicielles Architecture Micro-architecture Logique/Arithmétique Circuit logique Circuit analogique Dispositif Physique ARCHITECTURE DES MICROPROCESSEURS

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Chap. X : Ordonnancement

Chap. X : Ordonnancement UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le compilateur sépare les différents objets apparaissant dans un programme dans des zones mémoires (code, données, librairies,

Plus en détail

1. Qui contrôle le bus d adresse? Le bus de données? Le bus de contrôle?

1. Qui contrôle le bus d adresse? Le bus de données? Le bus de contrôle? GIF-1001 Ordinateurs: Structure et Applications Solutions: Bus et addressage 1. Qui contrôle le bus d adresse? Le bus de données? Le bus de contrôle? Solution: Bus d adresse: CPU ou contrôleur de DMA avec

Plus en détail

Guide de l utilisateur

Guide de l utilisateur Ordinateurs, Structure et Applications Simulateur d ordinateur bas niveau Guide de l utilisateur 7décembre2014 Table des matières 1 Description du simulateur 2 2 Plateformes supportées 2 3 Procédure de

Plus en détail

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

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

Plus en détail

Implanter un algorigramme avec le logiciel EditAlgo

Implanter un algorigramme avec le logiciel EditAlgo Implanter un algorigramme avec le logiciel EditAlgo 1. Définir la fonction de l algorithme. Exemple a : On souhaite faire clignoter une diode à la période 2s. Exemple b : On souhaite compter les impulsions

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

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

Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur

Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur Chapitre 1 Introduction à l organisation des ordinateurs et à l assembleur Jean Privat Université du Québec à Montréal INF217 Organisation des ordinateurs et assembleur Automne 21 Jean Privat (UQAM) 1

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Architecture des ordinateurs : Codage binaire et hexadécimal Arithmétique des processeurs (J1IN4001)

Architecture des ordinateurs : Codage binaire et hexadécimal Arithmétique des processeurs (J1IN4001) Architecture des ordinateurs : Codage binaire et hexadécimal Arithmétique des processeurs (J1IN4001) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement

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

Architectures RISC et superscalaire. Pipe-Line synchrone

Architectures RISC et superscalaire. Pipe-Line synchrone Architectures RISC et superscalaire Pipe-Line synchrone version 1.0 Introduction Les processeurs RISC (Reduced Instruction Set Computer) sont apparus au début des années 80, grâce au développement des

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

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

Conception et exploitation des processeurs

Conception et exploitation des processeurs Structure du cours Chargé de cours : Frédéric Pétrot C1 C2 C3 C4 Présentation du projet CEP et rappels de VHDL Chaîne de compilation et assembleur MIPS Conventions pour les appels de fonctions Gestion

Plus en détail

MICROPROCESSEUR. Nous prendrons comme exemple les processeurs Intel (qui sont le plus souvent utilisés dans les machines actuelles).

MICROPROCESSEUR. Nous prendrons comme exemple les processeurs Intel (qui sont le plus souvent utilisés dans les machines actuelles). MICROPROCESSEUR Le cerveau d un ordinateur est le microprocesseur, parfois appelé CPU ou tout simplement processeur. Le processeur effectue les calculs nécessaires au fonctionnement de l ordinateur et

Plus en détail

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1

Gestion de la mémoire centrale Allocation de la mémoire physique. Joëlle Delacroix NSY103 1 Gestion de la mémoire centrale Allocation de la mémoire physique Joëlle Delacroix NSY13 1 Processeur Adressage de la mémoire centrale Données Adresse Commandes Cellule mémoire mémorisant 1 bit lec B u

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

La m emoire virtuelle 1

La m emoire virtuelle 1 La mémoire virtuelle 1 Gérer la mémoire d un processus Un processus a besoin de mémoire pour Le code exécutable, La pile, Eventuellement d autres données de grande taille. La quantité de mémoire nécessaire

Plus en détail

Unité 2: Représentation interne des informations. Unité 2: Représentation interne des informations

Unité 2: Représentation interne des informations. Unité 2: Représentation interne des informations Objectifs: À la fin de cette unité, - vous saurez comment les caractères et les nombres entiers positifs et négatifs sont représentés dans la mémoire d'un ordinateur. - vous saurez comment on effectue

Plus en détail

Programmation en Langage C (CP2, ENSA Oujda)

Programmation en Langage C (CP2, ENSA Oujda) Programmation en Langage C (CP2, ENSA Oujda) El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Septembre 2011

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

Ch1 : Eléments de base du langage C

Ch1 : Eléments de base du langage C Ch1 : Eléments de base du langage C Fathi Mguis Atelier de programmation 1 LFSI1/LARI1 A.U : 2014-2015 Plan 1 Généralités 2 Avantages 3 Structure d un programme en C 4 Les diverse phases d un programme

Plus en détail

ARCHITECTURE DES SYSTEMES (A MICROPROCESSEURS)

ARCHITECTURE DES SYSTEMES (A MICROPROCESSEURS) ARCHITECTURE DES SYSTEMES (A MICROPROCESSEURS) -1 Références bibliographiques Architecture des ordinateurs G.BLANCHET B.DUPOUY Masson Structure des ordinateurs ERNEST HIRSH SERGE WENDLIN Armand Colin Architecture

Plus en détail

Organisation de base d'une machine de von Neumann

Organisation de base d'une machine de von Neumann Organisation de base d'une machine de von Neumann Eduardo Sanchez EPFL Le logiciel variables int data = 0x123456; int result = 0; int mask = 1; int count = 0; int temp; while (count < 32) { temp = data

Plus en détail

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS

CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 56 CHAPITRE VI : SYSTEME DE GESTION DE FICHIERS 6.1 INTRODUCTION : Afin de fournir un accès efficace et pratique au disque, le SE impose un système de gestion de fichiers (SGF) pour permettre de stocker,

Plus en détail

Cours architectures des ordinateurs

Cours architectures des ordinateurs Université KASDI MERBAH Ouargla Faculté des Nouvelles Technologies de l Information et de la Communication Département d Informatique et Technologie de l information Cours architectures des ordinateurs

Plus en détail

Fascicule de Génie Electrique (Terminale S option SI)

Fascicule de Génie Electrique (Terminale S option SI) Le langage C Ressource Centre d intérêt CI10 : Traitement de Thématique I11 - Les systèmes numériques : Mise en œuvre d un microcontrôleur avec des composants logiciels réutilisables. 1 Les constantes

Plus en détail