Introduction. Architecture générale. Chapitre 1. Langage d'assemblage 05/03/2015 UAL. Mémoire. Circuits de contrôle. Registres (CP, RI, etc)

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

Download "Introduction. Architecture générale. Chapitre 1. Langage d'assemblage 05/03/2015 UAL. Mémoire. Circuits de contrôle. Registres (CP, RI, etc)"

Transcription

1 Chapitre 1 Introduction Langage d'assemblage Architecture générale Circuits de contrôle Registres (CP, RI, etc) UAL Mémoire Bus d adresses Bus de données 1

2 Le (Motorola) ~68000 composants (transistors) (Intel Core i5 > 1 milliard de transistor) Processeur CISC (1979) Grand jeu d'instructions; opérandes dans les registres et/ou en mémoire 14 modes d'adressage, taille d'instruction varie selon le mode Registres de données et d'adresses, séparés. Adresses sur 24bits 16M octets adressables Données sur 16bits 64 broches ALU de 16bits 18 registres 2 modes: superviseur et utilisateur. 1 seul registre Le 68000: les registres 8 registres de données D7..D0 7 registres d adresse A6..A0 3 registres spéciaux PC (compteur ordinal 32 bits) SR (registre d'état 16 bits, l'octet de poids faible est appelé CCR: Condition Code Register) USP (pointeur de pile utilisateur 32 bits) (A7) SSP (pointeur de pile superviseur 32 bits) (A7) 2

3 Le 68000: les registres (2) Utilisation du Mac 512-K Sega Megadrive Texas instr TI-92 Atari ST Calcul des règles de pilotage A320 3

4 Les CPUs vendues Catégories de puce Embarqués 4 bits 2000 Embarqués 8 bits 4700 Embarqués 16 bits Embarqués 32 bits Unités vendues (millions*) DSP 600 En 2004: 14 milliards de processeurs pour l embarqué (microprocesseur, microcontrôleur, DSP, etc.) 260 millions de processeurs PC. Moins de 2% (5%) des processeurs vendu sont pour les PC, 98% (95%) pour l embarqué Prix moyen d un processeur 6$ (2004) alors qu un processeur PC coute 300$. Le marché du processeur PC est de très faible volume mais très lucratif Desktop 32/64 bits 150 *(vielle source: D. Tannenhouse (directeur de recherche Intel) RTSS 99, 12/99. Les CPU utilisées dans l embarqué Famille 32 bits ARM 151 Motorola 68K 94 MIPS 57 Hitachi SuperH 33 x86 29 PowerPC 10 Intel i960 8 SPARC 3 AMD 29K 2 Unités vendues (millions*) *source: T. R Halfhill. Embedded market Breaks New Ground Microprocessor Report Jan

5 Quelques instructions (exemples Motorola 68000) Copie de données (MOVE) Opérations arithmétiques (ADD, SUB, MULS, DIVS) Branchements inconditionnels (BRA) Branchements conditionnels (BEQ) Introduction Adresses et constantes Exemple d'adresse: 124 Exemple de constante: #124 Introduction 5

6 Exemple MOVE MOVE.L 124, 132 Mettre dans la case numéro 132 une valeur identique à celle qui se trouve dans la case numéro 124. Introduction Exemple MOVE MOVE.L 124, 132 Copier à l'adresse 132 la valeur se trouvant à l'adresse 124 Introduction 6

7 Exemple MOVE MOVE.L #124, 132 Mettre la valeur 124 dans la case numéro 132 (ayant pour adresse 132) Introduction Exemple ADD ADD.L #124, 132 Aller chercher la valeur se trouvant trouvant à 132 Ajouter 124 à cette valeur Ranger le résultat à 132 Introduction 7

8 Exemple BRA SUITE: ADD.L #1,132 ; instruction 1 BRA SUITE ; instruction 2 ADD.L #1,132 ; instruction 3 L'instruction 3 n'est pas exécutée Introduction Noter la présentation du programme. Utiliser les tabulations pour aligner. Exemple BEQ SUITE: MOVE.L #2,120 ; instruction 1 SUB.L #2,120 ; instruction 2 BEQ SUITE ; instruction 3 ADD.L #1,132 ; instruction 4 L'instruction 4 n'est pas exécutée Introduction BEQ: Branchement si égal 0 (si la valeur précédemment produite vaut 0) 8

9 Exemple BEQ SUITE: MOVE.L #3,120 ; instruction 1 SUB.L #2,120 ; instruction 2 BEQ SUITE ; instruction 3 ADD.L #1,132 ; instruction 4 L'instruction 4 est exécutée Introduction Un ";" indique un commentaire jusqu'à la fin de la ligne Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L #1,D1 BNE BCLE Introduction RTS 9

10 Exemple de programme Introduction DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L BNE RTS #1,D1 BCLE On définit toutes les variables dans une zone DATA Les variables apparaissent généralement au début du programme. Exemple de programme Introduction DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L BNE RTS #1,D1 BCLE Définition d'une variable de type entier (long) 32 bits (int) La valeur d'initialisation est ici exprimée en décimal 10

11 Exemple de programme Introduction DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L BNE RTS #1,D1 BCLE Définition d'une variable de type (Byte) octet (8 bits) (char) La valeur d'initialisation est ici exprimée en hexadécimal ($) Exemple de programme Introduction DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L BNE RTS #1,D1 BCLE Définition d'un tableau de 12 octets (char []) 11

12 Exemple de programme Introduction DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L BNE RTS #1,D1 BCLE Les instructions suivent généralement les données dans une zone CODE Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE L'instruction MOVE permet de copier une donnée. 12

13 Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE Un MOVE permet de copier des valeurs 8, 16 ou 32 bits (Byte, Word, Long). Un suffixe précise le cas choisi. Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE Les instructions arithmétiques (ADD, SUB, ) ont seulement deux paramètres. 13

14 Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE Un # indique qu'il s'agit d'une constante Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE Le SUB précédent a produit une valeur qui a été rangée dans le registre D1. Si cette valeur est non nulle (BNE), on va poursuivre l'exécution à l'étiquette BCLE 14

15 Exemple de programme DATA X: DC.L 5 Y: DC.B $A TAB: DS.B 12 CODE MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 Introduction SUB.L BNE RTS #1,D1 BCLE L'instruction RTS marque la fin du programme principal. Cette instruction permet aussi de marquer la fin d'une fonction. Exemple de fonction DATA X: DC.L 5 Y: DC.B $A CODE JSR FONCT1 RTS FONCT1: MOVE.L X,D1 MOVE.B Y,D0 BCLE: ADD.L D0,D0 SUB.L #1,D1 Introduction BNE BCLE RTS Ce nouveau programme est équivalent au précédent. Le programme principal commence juste après l'instruction CODE. On y appelle une fonction FONCT1 15

16 REPRESENTATION DE L INFORMATION Codage des entiers et flottants Entiers: Signe + Valeur absolue Complément à 1 Complément à 2 Flottant: Mantisse ± 1.xxxxx 2exp sgn exposant mantisse 23 bits Base 10: *

17 Caractères Code ASCII (8 bits) American Standard Code for Information Interchange 'A' : 'B' : 'a' : 'b' : Un code est attribué à chaque caractère Représentation de l'information Caractères Code ASCII standard bit n 7 à 0 Code ASCII étendu (non standard) "é" en ASCII français : $7B "é" en ASCII PC : $82 "é" en ASCII Macintosh : $8E "é" en ASCII Unix : $E9 Représentation de l'information 17

18 Caractères Représentation de l'information LE Code ASCII Caractères Représentation de l'information UN code ASCII étendu 18

19 Caractères Ne jamais introduire un code ASCII dans un programme Utiliser directement le caractère MOVE.B # 'A', 120 MOVE.B # 65, 120 Représentation de l'information GESTION DES DONNÉES 19

20 Structuration de la mémoire Les octets peuvent être regroupés 1 octet (valeur 8 bits, octet) 2 octets (valeur 16 bits, mot) 4 octets (valeur 32 bits, mot long) 3.1 La Mémoire Accès à la mémoire MOVE.B : accès valeur 8 bits MOVE.W : accès valeur 16 bits MOVE.L : accès valeur 32 bits 3.1 La Mémoire 20

21 Adresse des mots 3.1 La Mémoire L'adresse d'un mot (ou mot long) est l'adresse de l'octet qui a la plus faible valeur Exemple: n 0 n 1 n 2 n 3 n 4 adresse n 5 du mot? n 6 n 7 Quelle est l'adresse d'un mot (long) si : l'adresse du mot (long) suivant est $1010 l'adresse du mot (long) précédent est $1010 il est le dernier mot (long) d'un bloc de 16 octets commençant à l'adresse $ La Mémoire 21

22 Stockage des valeurs dans la mémoire Little Endian et Big Endian Ces termes proviennent d'un roman satyrique écrit au 18e siècle par Jonathan Swift: les voyages de Gulliver. Le monde se divisait en deux groupes: Ceux qui mangeaient les œufs en commençant par le gros bout (big end) Ceux qui mangeaient les œufs en commençant par le petit bout (little end) 3.1 La Mémoire Stockage des valeurs dans la mémoire Little Endian et Big Endian Ces termes proviennent d'un roman satyrique écrit au 18e siècle par Jonathan Swift: les voyages de Gulliver. Le monde se divisait en deux groupes: Ceux qui mangeaient les œufs en commençant par le gros bout Ceux qui mangeaient les œufs en commençant par le petit bout 3.1 La Mémoire 22

23 Stockage des valeurs dans la mémoire Sur certains processeurs (Motorola, RISC, ) on utilise le mode «big-endian». On commence par ranger le gros bout ("big end", poids forts ) en mémoire à l'adresse la plus faible. Sur d'autres processeurs (Pentium, ) on utilise le mode «little-endian». On commence par ranger le petit bout ("little-end", poids faibles) en mémoire à l'adresse la plus faible 3.1 La Mémoire Avantages "big-endian" "littleendian" Le mode «big-endian» est plus logique pour l'utilisateur. En «little-endian» on trouve les poids faibles aux adresses les plus faibles Ce mode est plus logique pour le processeur. Exemple: $89ABCDEF 3.1 La Mémoire 23

24 Exercices «big-endian» (cas Motorola) Valeur 16 bits $AB2F à l'adresse $1000 Valeur 32 bits $FE125DA1 à $1002 Valeur 32 bits $C3 à $1001 Valeur 8 bits $12 à l'@$ La Mémoire Schéma (Motorola 68000) 8 registres de données Unité de calcul 8 registres d'adresses Reg SR Registre PC 3.2 Le processeur 24

25 Unité de calcul Addition, Soustraction Multiplication, Division Négation Et, Ou, Ou exclusif Non Le processeur Registres Mémoire interne du processeur Le processeur dispose de quelques mots longs de mémoire pour ranger les résultats des calculs intermédiaires 16 mots longs 32 bits 3.2 Le processeur 25

26 Registres de données (D0, D1,, D7) 8 registres 32 bits Peuvent être vus comme des registres 8, 16 ou 32 bits. Les zones modifiables sont: bits 0..7 bits (opération.b) (opération.w) 3.2 Le processeur bits (opération.l) Exercice registre de données MOVE.L #$AABBCCDD,D3 MOVE.B #$99,D3 MOVE.W #$88,D3 Trouver la valeur de D3 Les bits ou les bits peuvent rester inchangés 3.2 Le processeur 26

27 Registres d'adresses (A0, A1,.., A7) 8 registres 32 bits Ils sont toujours utilisés comme des registres 32 bits (une adresse s'exprime toujours sur 32 bits) Les opérations de type MOVE.B sont interdites 3.2 Le processeur Le registre compteur ordinal (PC) Contient l'adresse de l'instruction courante Ce registre est automatiquement incrémenté après l'exécution d'une instruction (exécution séquentielle) Certaines instructions provoquent des modifications de PC (BRA) 3.2 Le processeur 27

28 Le registre statut (SR) Status Register Décrit le mode de fonctionnement et l'état du processeur kt 0 S 0 0 I2I1I X N Z V C Octet superviseur Octet utilisateur 3.2 Le processeur CCR Octet utilisateur SR (CCR) C (retenue, carry) V (dépassement, overflow) Z (zéro) N (négatif) X (extension) Renseigne sur l'état du processeur après l'exécution d'une instruction arithmétique ou logique 3.2 Le processeur 28

29 Exercice CCR MOVE.B #$FF,D2 ADD.B #1,D2 MOVE.B #127,D2 ADD.B #1,D2 Trouver la valeur de N, Z, V, C 3.2 Le processeur Exercice CCR MOVE.B #$FF,D2 ADD.B #1,D2 MOVE.B #127,D2 ADD.B #1,D2 N = 1 Z = 0 V = 0 C = Le processeur 29

30 Exercice CCR MOVE.B #$FF,D2 ADD.B #1,D2 MOVE.B #127,D2 ADD.B #1,D2 N = 0 Z = 1 V = 0 C = Le processeur Exercice CCR MOVE.B #$FF,D2 ADD.B #1,D2 MOVE.B #127,D2 ADD.B #1,D2 N = 0 Z = 0 V = 0 C = Le processeur 30

31 Exercice CCR MOVE.B #$FF,D2 ADD.B #1,D2 MOVE.B #127,D2 ADD.B #1,D2 N = 1 Z = 0 V = 1 C = Le processeur Les instructions de branchement BEQ (branchement si = 0) EQual BNE (branchement si!= 0) Not Equal BGT (branchement si > 0) Greater Than BGE (branchement si >=0) Greater or Equal BLT (branchement si < 0) Less Than BLE (branchement si <= 0) Less or Equal 3.2 Le processeur 31

32 Solution exercices BEQ : Z BNE : BGT : BGE : BLT : BLE : Z N. V. Z + N. V. Z N. V + N. V N. V + N. V Z + N. V + N. V 3.2 Le processeur MODES D ADRESSAGE 32

33 Catégories Adressage registre direct Adressage registre indirect Adressage absolu Adressage immédiat Adresse relatif à PC Adressage implicite Modes d'adressage Adressage direct registre de données Notation: Dn Taille: B, W, L Exemple: MOVE.L D2,D3 Transfert du contenu de D2 vers D3 Modes d'adressage 33

34 Adressage direct registre d'adresse Notation: An Taille: L Exemple: MOVE.L A2,A3 Transfert du contenu de A2 vers A3. Ne pas utiliser les tailles B et W Modes d'adressage Adressage registre indirect Notation: (An) Taille: B, W, L Exemple: MOVE.L (A1),D3 Copie du contenu de la mémoire à l adresse A1 vers D3 Modes d'adressage 34

35 Adressage registre indirect Comment initialiser An? DATA TAB: DS.B 10 CODE LEA Modes d'adressage TAB,A2 ; copie de la valeur de TAB ;dans le registre d adresse A2 ;(Load Effective Address) MOVE.B #2,(A2);placer l octet de valeur 2 à ;l adresse pointée par A2 et ;donc le premier octet du tableau RTS Adressage registre indirect avec post-incrémentation Notation: (An)+ Taille: B, W, L Exemple: MOVE.L (A1)+,D3 Adressage indirect en utilisant la valeur de An puis incrémentation de An de 1 si.b de 2 si.w de 4 si.l Modes d'adressage 35

36 Adressage registre indirect avec pré-décrémentation Notation: -(An) Taille: B, W, L Exemple: MOVE.L -(A1),D3 Décrémentation de An puis adressage indirect en utilisant la nouvelle valeur de An de 1 si.b de 2 si.w de 4 si.l Modes d'adressage Adressage registre indirect avec déplacement Notation: d(an) Taille: B, W, L Exemple: MOVE.L 4(A1),D3 Adressage indirect en utilisant l'adresse (An + d) Le registre An n'est pas modifié Modes d'adressage 36

37 Adressage absolu long Notation: adresse Taille: B, W, L Exemple: MOVE.L 4,D3 Écrire le contenu de la mémoire à l adresse 4 dans le registre D3 L'adresse 32 bits est spécifiée en décimal ou en hexadécimal On évite les adresses 16 bits (absolu court) Modes d'adressage Adressage relatif à PC Notation: d(pc) Taille: Exemple: BRA 2(PC) BRA suite suite: La valeur contenue dans PC est utilisée pour calculer l'adresse effective Ne pas utiliser cette forme.utiliser les étiquettes (cas BRA) Modes d'adressage 37

38 Adressage immédiat Notation: #valeur Taille: B, W, L Exemple: MOVE.L #2,D4 Mettre la valeur 2 dans le registre D4 Modes d'adressage INSTRUCTIONS ET DONNÉES 38

39 Structure d'un programme Zones de données (DATA) Zones d'instructions (CODE) Exemple: DATA ; définition des données CODE ; définition des instructions Instructions et données Définition des données DC.B initialisation d'un octet ou d'une chaîne DC.W initialisation d'un mot DC.L initialisation d'un mot long DS.B réservation d'un tableau d'octets DS.W réservation d'un tableau de mots DS.L réservation d'un tableau de mots longs Données 39

40 Instruction DC (Define Constant) Données Permet d'effectuer des réservations de mémoire avec initialisation (octet, mot, mot-long ou chaîne) Exemples: DC.B 4 DC.B DC.W 5 DC.L 8 "AB" Instruction DC (Define Constant) Données Permet d'effectuer des réservations de mémoire avec initialisation (octet, mot, mot-long ou chaîne) Exemples: DC.B 4 DC.B DC.W 5 DC.L 8 "AB" n 0 4 n 1 'A' n 2 'B' n 3 0 n 4 0 n 5 5 n 6 0 n 7 0 n 8 0 n

41 Instruction DS (Define Storage) Données Permet d'effectuer des réservations de mémoire sans initialisation (tableaux d'octets, de mots, ou de mots longs) Exemples: DS.B 4 DS.W 5 DS.L 6 Problème de l'accès aux données Pour accéder à une donnée il faut son adresse Les étiquettes permettent de définir des repères dans les zones de données. Elles sont utilisables en tant qu'adresses. Données Les étiquettes permettent aussi de définir des repères dans les zones d'instructions 41

42 Liste des instructions principales MOVE, LEA CMP, BEQ, BNE, BGT, BGE, BLT, BLE BRA, JMP ADD, SUB, MULS, DIVS, NEG AND, OR, EOR, NOT LSL, LSR, ASL, ASR, ROL, ROR JSR, RTS Instructions Instruction MOVE Syntaxe: MOVE <ea1>,<ea2> Rôle: copier la donnée se trouvant à l'adresse spécifiée par <ea1> à l'adresse spécifiée par <ea2> Notes <ea1>: An interdit en mode.b Notes <ea2>: #valeur et d(pc) interdits Exemple: Instructions MOVE.W #3,(A2)+ 42

43 Instruction LEA (forme simplifiée) Instructions Syntaxe: LEA étiquette,an Rôle: permet d'obtenir une adresse dans un registre d'adresse (par exemple l'adresse correspondant à une étiquette) Exemple: LEA X1,A3 MOVE.L (A3),D0 Problème de l'accès aux données (exercice 1) Instructions DATA X1: DC.L 3 DC.L 4 CODE ; comment accéder au ; deuxième mot long? RTS 43

44 Problème de l'accès aux données (exercice 2) Instructions DATA X1: DC.W 3 DC.L 4 DC.L 5 CODE ; comment accéder au ; deuxième mot long? RTS Problème de l'accès aux données (exercice 3) Instructions DATA X1: DS.L 2 DC.L 4 DC.L 5 CODE ; comment accéder au ; troisième mot long? RTS 44

45 Instruction CMP Instructions Syntaxe: CMP <ea1>,<ea2> Rôle: calcul de <ea2> - <ea1> sans modifier <ea2> Indicateurs: N, Z, V et C modifiés Formes possibles: CMP <ea1>,dn CMP <ea1>,an CMP #data,<ea2> Instruction BRA Syntaxe: BRA étiquette Rôle: désigne la prochaine instruction qui sera exécutée Indicateurs: non modifiés Exemple: BRA SUITE ADD.L #1,D0 SUITE: ADD.L #1,D1 Instructions 45

46 Instruction Bxx (BEQ, BNE, BGT, BGE, BLT, BLE) Instructions Syntaxe: Bxx étiquette Rôle: branchement conditionnel Indicateurs: non modifiés Exemple: MOVE.L #1,D1 CMP.L #1,D1 BEQ SUITE ADD.L #1,D3 SUITE: ADD.L #1,D4 ADD non exécuté INSTRUCTIONS ARITHMÉTIQUES 46

47 Liste des instructions ADD (ADDA, ADDI, ADDQ, ADDX) Address, Immediate, Quick, X(carry) SUB (SUBA, SUBI, SUBQ, SUBX) MULS (MULU) Unsigned DIVS (DIVU) NEG (NEGX) Instructions arithmétiques Addition (ADD) Syntaxe: ADD <ea1>,<ea2> Rôle: calcul de <ea1> + <ea2> et rangement du résultat à <ea2> Formes possibles: ADD <ea1>,dn ADD Dn,<ea2> ADD <ea1>,an ADD #data,<ea2> Instructions arithmétiques 47

48 Soustraction (SUB) Syntaxe: SUB <ea1>,<ea2> Rôle: calcul de <ea2> - <ea1> et rangement du résultat à <ea2> Formes possibles: SUB <ea1>,dn SUB Dn,<ea2> SUB <ea1>,an SUB #data,<ea2> Instructions arithmétiques Multiplication signée (MULS) Syntaxe: MULS <ea1>,dn Rôle: multiplication <ea1> (16 bits) par Dn (16 bits) et rangement du résultat dans Dn (32 bits) Exercice: multiplier D2 par X avec X défini de la façon suivante: DATA X: DC.W 3 Instructions arithmétiques 48

49 Multiplication signée (MULS) DATA X: DC.W 3 CODE MOVE.W #2,D2 LEA X,A1 MULS(A1), D2 ;ou MULS X, D2 résultat 6 RTS Division signée (DIVS) Syntaxe: DIVS <ea1>,dn Rôle: division de Dn (32bits) par <ea1> (16 bits). Rangement du quotient dans les bits 0 à 15 de Dn. Rangement du reste dans les bits 16 à 31 de Dn Exercice: diviser D0 par 2, mettre le quotient dans D1, mettre le reste dans D2 Instructions arithmétiques 49

50 Division signée (DIVS) DATA X: DC.W 2 CODE MOVE.L #7,D0 ; 7/2 LEA X,A1 DIVS(A1), D0 MOVE.W D0, D1 MOVE.L D0, 2(A1) MOVE.W 2(A1), D2 Négation (NEG) Syntaxe: NEG <ea> Rôle: calcul de 0 - <ea> et rangement du résultat à <ea> Exemple: NEG D3 Instructions arithmétiques 50

51 INSTRUCTIONS LOGIQUES Liste des instructions AND (ANDI) OR (ORI) EOR (EORI) NOT NEG (NEGX) LSL, LSR, ASL, ASR, ROR, ROL (ROXL, ROXR) Instructions logiques et décalages 51

52 ET logique (AND) Syntaxe: AND <ea1>,<ea2> Rôle: calcul de <ea1> & <ea2> (bit à bit) et rangement du résultat dans <ea2> Formes possibles: Instructions logiques AND <ea1>,dn AND Dn,<ea2> AND #data,<ea2> OU logique (OR) Syntaxe: OR <ea1>,<ea2> Rôle: calcul de <ea1> <ea2> (bit à bit) et rangement du résultat dans <ea2> Formes possibles: Instructions logiques OR <ea1>,dn OR Dn,<ea2> OR #data,<ea2> 52

53 OU exclusif (EOR) Syntaxe: EOR <ea1>,<ea2> Rôle: calcul de <ea1> xor <ea2> (bit à bit) et rangement du résultat dans <ea2> Formes possibles: EOR Dn,<ea2> EOR #data,<ea2> Instructions logiques Inversion bit à bit (NOT) Syntaxe: NOT <ea> Rôle: calcul de ~<ea> et rangement du résultat à <ea> Exemple: NOT.L D2 Instructions logiques 53

54 Exercices Mettre à 0 les bits 8 à 31 de D2 sans changer les autres bits Mettre le bit n 5 de D2 à 0 sans changer les autres bits Mettre le bit n 5 de D2 à 1 sans changer les autres bits Extraire le quotient d'une division sous forme 32 bits signée Instructions logiques Décalage arithmétique vers la droite (ASR) Syntaxe: ASR <ea1>,<ea2> Rôle: calcul de <ea2> >> <ea1> et rangement du résultat à <ea2> (on décale <ea2> de <ea1> positions vers la droite en gardant le bit de signe inchangé) Formes possibles: ASR Dm,Dn Instructions logiques ASR #data,dn ; 1 <=data <= 8 ASR <ea> ; décalage d 1 bit 54

55 Décalage arithmétique vers la gauche (ASL) Syntaxe: ASL <ea1>,<ea2> Rôle: calcul de <ea2> << <ea1> et rangement du résultat à <ea2> (on décale <ea2> de <ea1> positions vers la gauche en remplaçant par 0 les bits décalés) Formes possibles: Instructions logiques ASL Dm,Dn ASL #data,dn ; 1 <=data <= 8 ASL <ea> ; décalage d 1 bit Schémas ASR, ASL ASL C X 0 ASR C X Instructions de décalage 55

56 Décalages logiques (LSR et LSL) Syntaxe: LSx <ea1>,<ea2> Rôle: décalage de <ea2> de <ea1> positions. Les bits décalés sont remplacés par 0. Formes possibles: LSx Dm,Dn LSx <ea> Instructions logiques LSx #data,dn ; 1 <=data <= 8 Schémas LSR, LSL LSL C X 0 LSR 0 C X Instructions de décalage 56

57 Rotations (ROR et ROL) Syntaxe: ROx <ea1>,<ea2> Rôle: décalage de <ea2> de <ea1> positions. Les bits forts poids sont échangés avec les bits faibles poids Formes possibles: ROx Dm,Dn ROx <ea> Instructions logiques ROx #data,dn ; 1 <=data <= 8 Schémas ROR, ROL ROL C ROR C Instructions de décalage 57

58 Exercices Extraire le quotient et le reste d'une division Instructions logiques 58

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

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Jeu d instructions 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

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

CM2 L architecture MIPS32

CM2 L architecture MIPS32 CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS

Plus en détail

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

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

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

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

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

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

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 opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

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

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

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

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

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

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

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

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

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

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

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

Plus en détail

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

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

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

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

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

Plus en détail

Architecture de l ordinateur

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

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

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

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

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

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

Plus en détail

Sujets de Travaux Dirigés et de Travaux Pratiques Pascal Ballet, Philippe Le Parc et François Monin

Sujets de Travaux Dirigés et de Travaux Pratiques Pascal Ballet, Philippe Le Parc et François Monin Université de Bretagne Occidentale - UFR Sciences - Département d Informatique Licence 1 ère année (S1), Parcours 1 Introduction à l Informatique Sujets de Travaux Dirigés et de Travaux Pratiques Pascal

Plus en détail

Conversion d un entier. Méthode par soustraction

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

Plus en détail

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

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

Plus en détail

Fonctionnement et performance des processeurs

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

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Logiciel de base. Première année ENSIMAG

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

Plus en détail

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

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

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

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

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

Plus en détail

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

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

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

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

Plus en détail

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

Programmation en langage C

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

Plus en détail

V- Manipulations de nombres en binaire

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

Plus en détail

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

Les fonctions logiques

Les fonctions logiques 1 Les fonctions logiques Le fonctionnement des ordinateurs tout comme d autres appareils électroniques repose sur l emploi des circuits électroniques de logique binaire ou électronique numérique. Dans

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

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

ET LO GICIEL D UN S YS T EME IN FORMATIQUE C HAPIT RE 0 : ENVIRONNEMENT MATE RI EL ET LO GICIEL D UN S YS T EME IN FORMATIQUE Objectifs : 1. Présenter l ensemble des ressources physiques et logicielles d un système informatique. 2. Comprendre la

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

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

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

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Plus en détail

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

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

Plus en détail

Architecture des ordinateurs Introduction à l informatique

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

Plus en détail

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289

Langage C. Patrick Corde. Patrick.Corde@idris.fr. 22 juin 2015. Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Langage C Patrick Corde Patrick.Corde@idris.fr 22 juin 2015 Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin 2015 1 / 289 Table des matières I 1 Présentation du langage C Historique Intérêts

Plus en détail

Architecture Matérielle et Logicielle (LIF6) Cahier d'exercices, automne 2014

Architecture Matérielle et Logicielle (LIF6) Cahier d'exercices, automne 2014 Architecture Matérielle et Logicielle (LIF6) Cahier d'exercices, automne 2014 Table des matières 1 Vue d'ensemble de l'ordinateur 4 11 Taille du bus, volume de mémoire centrale 4 12 Petits calculs autour

Plus en détail

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba SUPPORT DE COURS

Plus en détail

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

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

Plus en détail

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales

Plus en détail

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel

Plus en détail

LOGICIEL DC4D MONITOR

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

Plus en détail

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

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

Plus en détail

Architecture des ordinateurs

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

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com

Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com Manuel de référence du langage Exemples Les aventures de Docteur R. www.irai.com 1. Eléments communs... 7 1.1. Les variables... 7 1.1.1. Les variables booléennes... 7 1.1.2. Les variables numériques...

Plus en détail

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT Vous venez de télécharger un manuel numérique sur votre poste. Afin de vous faciliter son exploitation, nous avons listé ci dessous les manipulations à faire

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Conventions d écriture et outils de mise au point

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

Plus en détail

QUESTION 1 {2 points}

QUESTION 1 {2 points} ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

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

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

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Système binaire. Algèbre booléenne

Système binaire. Algèbre booléenne Algèbre booléenne Système binaire Système digital qui emploie des signaux à deux valeurs uniques En général, les digits employés sont 0 et 1, qu'on appelle bits (binary digits) Avantages: on peut utiliser

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

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

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

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Chapitre 10 Arithmétique réelle

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

Plus en détail

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

Architecture matérielle des systèmes informatiques

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

Plus en détail