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
|
|
- Sylvain Simoneau
- il y a 7 ans
- Total affichages :
Transcription
1 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 MIPS 9 Entrées / sorties Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
2 Ressources Sur la base des notes de cours de Christophe Fiorio, Jean- Marc Talbot. Computer organization and design : the hardware/software interface, David A. Patterson & John L. Hennessy, Morgan Kaufmann, 4th edition, Assemblers, Linkers, and the SPIM Simulator, James R. Larus. Documentation on the MIPS32 architecture, MIPS Technologies, Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
3 Les machines MIPS Le langage MIPS est l assembleur des processeurs MIPS (jeux d instructions : MIPS I à V, MIPS32, MIPS64) ; Introduit au début des années 1980 ; Développé par MIPS Technologies ; Processeur RISC ; Existe en 32 et 64 bits ; Souvent utilisé comme support dans le milieu académique ; Processeur des machines NEC, SGI (supercalculateurs), Sony PS,PS2, PSP, Nintendo (console), FreeBox, NeufBox (routeur) ; Nous allons nous intéresser à la norme du langage MIPS32. Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
4 A-t-on des machines MIPS sous la main? Code ass. MIPS Non Utilisation d une machine virtuelle : un programme qui simule de manière logicielle le fonctionnement d une machine réelle. Compilateur prog. en langage machine MIPS Interpreteur code machine local + exécution Il existe plusieurs logiciels qui sont des simulateurs de machine MIPS e.g., SPIM, MIPSter, MARS, OVPsim, GXemul. Nous utiliserons SPIM ( Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
5 Généralités MIPS Instructions de 32 bits, 3 types d instructions différentes ; Mémoire adressable de 2 32 octets ; CO et RI de 32 bits ; 32 registres de 32 bits ; Toujours une seule instruction par ligne ; # prefixe un commentaire ; Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
6 Exemple Le opérations arithmétiques MIPS OPA a,b,c # a := b OPA c avec OPA ={add, sub,...} f := (g + h) (i + j) add $t0,$t1,$t2 # $t0 := $t1+$t2 add $t3,$t4,$t5 # $t3 := $t4+$t5 sub $v0,$t0,$t3 # $v0 := $t0-$t3 Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
7 Registres MIPS Il existe 32 registres de 32 bits numérotés $0,..., $31 Nom Numéro Description $zero 0 Constante 0 $at 1 Réservé à l assembleur $v0,$v1 2-3 Évaluation d une expression et résultats d une fonction $a0,...,$a3 4-7 Arguments de sous-programmes $t0,...,$t Valeurs temporaires (non préservées) $s0,...,$s Valeurs temporaires (préservées) $t8,$t Valeurs temporaires (non préservées) $k0,$k Réservé pour les interruptions (i.e., système d exploitation) $gp 28 Pointeur global $sp 29 Pointeur de pile $fp 30 Pointeur de bloc $ra 31 Adresse de retour Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
8 Accès mémoire MIPS Il existe des instructions de transfert vers/de la mémoire centrale (e.g., lw et sw) ; La mémoire est vue comme un tableau où l adresse serait l indice du tableau ; Mot mémoire de 32 bits ; Mémoire adressable de 2 32 octets (4Go) 2 35 bits 2 30 (= ) mots de 32 bits ; Adresse sur 1 octet Les mots mémoires sont adressés par des multiples de 4 (i.e., le CO est incrémenté de 4 à chaque cycle). Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
9 Instructions MIPS Une instruction MIPS est codée en binaire par un mot de 32 bits ; Les 32 bits sont décomposés en champs, chaque partie ayant une signification particulière, codant ainsi soit l instruction, soit un opérande numérique, soit une adresse ; Avoir un nombre fixe d opérande est plus simple à gérer ; 3 types de format d instruction différentes : Instruction de type R (registre) ; Instruction de type I (transfert) ; Instruction de type J (saut) ; Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
10 Format des instructions MIPS (1/3) Instruction de type R (registre) Les 32 bits sont décomposés de la manière suivante : op rs rt rd decval fonction 6 bits 5 bits 5 bits 5 bits 5bits 6bits op : code opération correspondant à l instruction rs : premier registre opérateur source rt : deuxième registre opérateur source rd : registre opération destination (reçoit le résultat de l opération) decval : valeur du décalage fonction : variante de l opération décrite par op Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
11 Format des instructions MIPS (2/3) Instruction de type I (transfert) Les 32 bits sont décomposés de la manière suivante : op rs rt adresse 6 bits 5 bits 5 bits 16 bits op : code opération correspondant à l instruction rs : premier registre opérateur source rt : deuxième registre opérateur source adresse : adresse mémoire Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
12 Format des instructions MIPS (3/3) Instruction de type J (saut) Les 32 bits sont décomposés de la manière suivante : op adresse 6 bits 26 bits op : code opération correspondant à l instruction adresse : adresse mémoire Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
13 Exemples d instructions MIPS Exemple d instruction de type R add $8,$17,$18 en MIPS Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
14 Type d instructions : arithmétiques type instruction commentaire add Rd,Rs,Rt addition Rd Rs+Rt addu Rd,Rs,Rt addition - sans déb. Rd Rs+Rt addi Rd,Rs,Imm addition d un immédiat Rd Rs+Imm addiu Rd,Rs,Imm addition - sans déb. Rd Rs+Imm sub Rd,Rs,Rt soustraction Rd Rs-Rt mult Rs,Rt multiplication [hi,lo] Rs Rt multu Rs,Rt multiplication non signée [hi,lo] Rs Rt mul Rd,Rs1,Rs2 multiplication - sans déb. Rd Rs1 Rs2 arithmétiquesdiv Rs,Rt division lo Rs Rt ; hi Rs mod Rt div Rd,Rs1,Rs2 division Rd Rs1 Rs2 divu Rd,Rs1,Rs2 division non signée (sans déb.) Rd Rs1 Rs2 rem Rd,Rs1,Rs2 reste de la division Rd Rs1 Rs2 si Rs1 ou Rs2 est négatif abs Rd,Rs,Rt valeur absolue neg Rd,Rs opposé d une valeur Rd Rs rol Rd,Rs1,Rs2 rotation vers la gauche ror Rd,Rs1,Rs2 rotation vers la droite Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
15 Type d instructions : logiques type instruction commentaire and Rd,Rs,Rt et logique Rd Rs Rt andi Rd,Rs,Imm et logique immédiat Rd Rs Imm or Rd,Rs,Rt ou logique Rd Rs Rt ori Rd,Rs,Rt ou logique immédiat Rd Rs Imm nor Rd,Rs,Rt nor logique le non ou Rd Rs Imm logiques xor Rd,Rs,Rt xor logique Rd Rs Rt xori Rd,Rs,Imm xor logique immédiat Rd Rs Imm not Rd,Rs non logique Rd Rs ; négation bit à bit sll Rd,Rs,Sa décalage logique à gauche sllv Rd,Rt,Rs décalage logique à gauche rang du décalage défini par Rs srl Rd,Rs,Sa décalage logique à droite srlv Rd,Rt,Rs décalage logique à droite rang du décalage défini par Rs sra Rd,Rs,Sa décalage arithmétique à droite srav Rd,Rt,Rs décalage arithmétique à droite rang du décalage défini par Rs Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
16 Type d instructions : chargement et rangement mémoire type instruction commentaire lb Rt,@ chargement d octet Rt M[@] chargement et rangement lw Rt,@ chargement d un mot Rt (M[@],M[@+1]) ld Rt,@ chargement d un mot double (Rt,Rt+1) lwl Rt,@ chargt de la partie gauche (M[@],M[@+1],M[@+2], d un mot lwt Rt,@ chargt de la partie droite d un mot li Rd,Imm chargement d un immédiat Rd Imm lui Rt,Imm chargment d un immédiat Rt Imm dans l octet de poids fort la Rt,@ chargement d une adresse (utilisée avec un label) sb Rt,@ rangement d octet M[@] Rt sw Rt,@ rangement d un mot (M[@],M[@+1]) Rt sd Rt,@ rangement d un mot double (M[@],M[@+1],M[@+2],M[ (Rt,Rt+1) swl Rt,@ swt Rt,@ rangt de la partie gauche d un mot rangt de la partie droite d un mot Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
17 Type d instructions : transfert de données type instruction commentaire transfert move Rd,Rs transfert Rd Rs de données mfhi Rd transfert depuis hi Rd hi mflo Rd transfert depuis lo Rd lo mfc1.d Rd,Fs Transfert d un mot double depuis le coprocesseur 1 [Rd,Rd+1] [Fs,Fs+1] Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
18 Type d instructions : comparaison type instruction commentaire seq Rd,Rs1,Rs2 positionner si égal Rd=Rs1==Rs2?1:0; sne Rd,Rs1,Rs2 positionner si différent Rd=Rs1!=Rs2?1:0; sgt Rd,Rs1,Rs2 positionner si supérieur Rd=Rs1>=Rs2?1:0; comparaison sge Rd,Rs1,Rs2 positionner si supérieur ou égal Rd=Rs1>=Rs2?1:0; slt Rd,Rs1,Rs2 positionner si inférieur Rd=Rs1<=Rs2?1:0; sle Rd,Rs1,Rs2 positionner si inférieur ou égal Rd=Rs1<=Rs2?1:0; slti Rd,Rs,Imm positionner si inférieur à l immédiat Rd=Rs<=Imm?1:0; Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
19 Type d instructions : branchement conditionnel et saut type instruction commentaire branchement conditionnel et saut beq Rs,Rt,label branchement si égal if(rs==rt) goto label bne Rs,Rt,label branchement si différent if(rs!=rt) goto label bgt Rs,Rt,label branchement si supérieur if(rs>rt) goto label bge Rs,Rt,label branchement si supérieur ou égal if(rs>=rt) goto label blt Rs,Rt,label branchement si inférieur if(rs<rt) goto label ble Rs,Rt,label branchement si inférieur ou égal if(rs<=rt) goto label j label saut saut inconditionnel jal label saut avec lien saut incond. avec jr Rs saut par registre saut inconditionnel à l adresse stockée dans Rs Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
20 Type d instructions : exception et interruption type instruction commentaire exception et interruption rfe retour d exception restitue le registre État syscall appel système le registre $v0 contient le numéro de l appel système nop aucune opération ne rien faire! Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
21 Type d instructions : virgule flottante (1/2) instructions flottantes abs.s Fd,Fs valeur absolue flottante simple Fd Fs abs.d Fd,Fs valeur absolue flottante double Fd Fs add.s Fd,Fs,Ft addition flottante simple Rd Rs+Rt add.d Fd,Fs,Ft addition flottante double Rd Rs+Rt bc1t label branchement si drapeau flottant vrai branchement conditionnel à l adresse du label bc1f label branchement si drapeau flottant faux branchement conditionnel à l adresse du label c.eq.s Fs,Ft test si égalité simple drapeau flottant à 1 si Fs==Ft c.eq.d Fs,Ft test si égalité double drapeau flottant à 1 si Fs==Ft c.lt.s Fs,Ft test si inférieur simple drapeau flottant à 1 si Fs<Ft c.le.s Fs,Ft test si inférieur ou égal simple drapeau flottant à 1 si Fs<=Ft c.lt.d Fs,Ft test si inférieur double drapeau flottant à 1 si Fs<Ft c.le.d Fs,Ft test si inférieur ou égal double drapeau flottant à 1 si Fs<=Ft Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
22 Type d instructions : virgule flottante (2/2) instructions flottantes cvt.d.s Fd,Fs conversion simple en double simple Fs; Fd (double)fs cvt.s.d Fd,Fs conversion double en simple double Fs; Fd (simple)fs cvt.s.w Fd,Fs conversion entier en simple int Fs; Fd (simple)fs cvt.d.w Fd,Fs conversion entier en double int Fs; Fd (double)fs cvt.w.s Fd,Fs conversion simple en entier simple Fs; Fd (int)fs cvt.w.d Fd,Fs conversion double en entier double Fs; Fd:=(int)Fs mul.s Fd,Fs,Ft multiplication flottante simple Fd Fs Ft mul.d Fd,Fs,Ft multiplication flottante double Fd Fs Ft div.s Fd,Fs,Ft division flottante simple Fd Fs/Ft div.d Fd,Fs,Ft division flottante double Fd Fs/Ft neg.s Fd,Fs,Ft opposé d un nombre simple flottant Fd - Fs neg.d Fd,Fs,Ft opposé d un nombre simple flottant Fd - Fs l.s Fd,@ chargement flottant simple précision Fd M[@] l.d Fd,@ chargement flottant double précision Fd M[@] mov.s Fd,Fs transfert d un nombre flottant simple précision Fd Fs mov.d Fd,Fs transfert d un nombre flottant Fd Fs double précision Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
23 Exemple de branchement s mod Rt 1 ou Rs2 épend de Les instructions de test s appelle, en langage conditionnels : beq, bne, bgt, bge, blt, ble exercice : coder le programme suivant en la if i/=j then f :=f+h ; end if f :=f-i ; beq $19,$20,L1 #aller en L1 si i=j add $16,$16,$18 #f :=f+h L1 : sub $16,$16,$19 39/112 Christophe Fiorio, EPU Montpellier Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
24 Sous-programmes MIPS ne fournit pas d instruction permettant de définir des sous-programmes ou des macros. On doit utiliser des sauts/branchements qui modifient le CO : jal saute à une étiquette et garde un lien sur le lieu d exécution dans le registre $31 ; j saute sans sauvegarder l adresse de retour ; jr saute à une adresse stockée dans un registre. Lors de l appel de sous-programmes : On utilise les registres 4 à 7 pour le passage de paramètres ; $t0-$t9 sont sauvés par l appelant ; $s0-$s7 sont sauvés par l appelé. Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
25 Appels de sous-programmes imbriqués Utilisation d une pile (LIFO) pour le passage de paramètre et la sauvegarde de l adresse de retour. On utilise le registre $29 comme sommet de pile (registre SP) ; Il n y a pas d instruction PUSH et POP ; Équivalent de PUSH et POP en MIPS push : addi $29,$29,4 # sommet de pile ajusté sw $31,0($29) # sauvegarde de l adresse de retour jal procedure # saut à la procédure pop : lw $31,0($29) # restauration de $31 subi $29,$29,4 # ajustement du sommet de pile Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
26 Appels de sous-programmes : exemple [Talbot] (1/2) Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
27 Appels de sous-programmes : exemple [Talbot] (2/2) Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
28 Adressage des opérandes en MIPS Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
29 Exemple de boucle [Talbot] (1/2) Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
30 Exemple de boucle [Talbot] (2/2) Clement Jonquet (Polytech Montpellier) Architecture des ordinateurs IG / 238
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étailCompilation (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étailCM2 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étailJeu 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étailDU 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étailArchitecture 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étailArchitecture 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étailConception 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étailMICROINFORMATIQUE 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étailGestion mémoire et Représentation intermédiaire
Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,
Plus en détailAssembleur. 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étailProgrammation 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étailExé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étailInfo0101 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étailAssembleur 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étailASR1 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étail1. 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étailPIC : 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étailArchitecture : 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étailTD 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étailArchitecture 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étailAtelier 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étailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailCours 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étailMicroprocesseur + 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étailArchitecture 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étailRepré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étailStructure 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étailINITIATION 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étailLa 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étailDE 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étailIN 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étailSujets 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étailProgrammation 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étailLicence 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étailConversion 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étailIV- 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étailUE 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étailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailTraduction 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étailArchitecture 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étailLicence 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étailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailInformatique 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étailArchitecture 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étailSSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
Plus en détailRésumé Génération de code Le code intermédiaire
Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux
Plus en détail1 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étailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailIFT2880 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étailClaude 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étailMesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]
Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,
Plus en détailI00 Éléments d architecture
I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailCONFIGURATION DE L AUTOMATE SIEMENS
CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider
Plus en détailCréer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Plus en détailProgrammation 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étailLogiciel 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étailSystèmes et traitement parallèles
Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailLogiciel 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étailRappels 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étailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailAMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE
AMICUS 18 (2ème partie) Dans la première partie, nous avions présenté la platine Amicus 18 et nous avions réalisé quelques montages simples. Nous allons découvrir un peu mieux la programmation. Dans la
Plus en détailCours 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étailBases 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étailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailNOTICE DE PROGRAMMATION D AUTOMATES SIEMENS S7 300 S7 400
NOTICE DE PROGRAMMATION D AUTOMATES SIEMENS S7 3 S7 4 Ecrit par Alain Malvoisin Page 1/1 PROGRAMMATION Page 2/2 SOMMAIRE I. / LES VARIABLES DE L AUTOMATE...3 1.1 Types de variables...3 1.2 Adressage des
Plus en détailArchitecture 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étailUE 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étailConventions 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étailCours 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étailUne 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étailPlan 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étail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailArchitecture 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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailRepré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étailLa programmation des PIC en C. Les fonctions, les interruptions.
La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure
Plus en détailIntroduction à 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étailPartie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Plus en détailSUPPORT DE COURS. Langage C
Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailMéthodologie de la programmation
Chambre des Employés Privés Méthodologie de la programmation Nino Silverio Contenu de la formation les langages de programmation le langage Leria le développement d un programme la séquence d instructions,
Plus en détailIN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :
IN SYSTEM Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL V16 Objectif : En synthèse des manuels de référence de Sage Ligne 100, ce document vous présente les préconisations,
Plus en détailGCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1
sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1 Pourquoi aller vers les processeurs standard? Considérations
Plus en détailCodage 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étailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailLe langage VHDL. Eduardo Sanchez EPFL
Le langage VHDL Eduardo Sanchez EPFL Livres conseillés: John F. Wakerly Digital design (4th edition) Prentice Hall, 2005 Peter J. Ashenden The designer's guide to VHDL (3rd edition) Morgan Kaufmann, 2008
Plus en détailIFT1215 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étailPartie 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étailSélection du contrôleur
Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du
Plus en détail1/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étailINF 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