Chapitre VI. Programmation de l Ordinateur de Base
|
|
- Aurélien Brunelle
- il y a 6 ans
- Total affichages :
Transcription
1 Chapitre VI Programmation de l Ordinateur de Base
2 Le langage machine Le langage machine Les programmes pour un ordinateur peuvent être écrits dans multiples langages. Les langages de programmation peuvent se diviser en quatre catégories: 1 Le code binaire. Il s agit d une séquence d instructions et d opérandes représentés sous forme binaire, reflétant le contenu exact de la mémoire de l ordinateur. 2 Le code octal ou hexadécimal. Ceci est une transcription équivalente du code binaire en une représentation hexadécimale ou octale. 3 Code symbolique. Ici, chaque instruction est représentée par un ou plusieurs symboles codes. Un compilateur est alors nécessaire pour transcrire chaque instruction en une instruction codée en binaire à être exécutée par l ordinateur. 4 Langages de programmation à un niveau plus élevé. Dans ces langages, chaque instruction peut être transcrite par le compilateur en une séquence de plusieurs instructions codées en binaire. Le C, le Java, le Fortran en sont des exemples.
3 Le langage machine Example 1 (Addition de deux nombres). Voici un programme qui additionne deux nombres écrits dans les quatre types de langages de programmation. Programme binaire Programme hexadécimal Programme symbolique Programme Fortran
4 Le langage machine Dans ce chapitre, nous allons utiliser les mêmes 25 instructions que celles de l ordinateur de base du Chapitre 5. Ces instructions sont récapitulées dans la Table 5-2 de votre manuel (page 133) et sont aussi redéfinies dans la Table 6-1 du manuel (page 175), où: le symbole m est utilisé pour dénoter l adresse effective, le symbole M est utilisé pour se référer au mot de la mémoire qui se trouve à l adresse effective m.
5 Le langage machine Table 1: Instructions de l ordinateur
6 Le langage machine Langage machine. Un programme en langage machine est représenté en forme binaire, octale, ou hexadécimale (de la première ou de la deuxième catégorie). Aucune transcription (compilateur) n est nécessaire pour exécuter un programme en langage machine. Langage assembleur. Un programme écrit en langage assembleur est un programme symbolique (de la catégorie 3). Le compilateur qui transcrit du langage assembleur en code binaire est appelé un assembleur.
7 Le langage machine Example 2 (Addition de deux nombres). Programme symbolique Programme en assembleur Les programmes en assembleur sont plus pratiques à utiliser que les programmes symboliques ordinaires, car ils permettent à l utilisateur de: représenter une adresse hexadécimale avec une adresse symbolique, et représenter un opérande hexadécimal avec un opérande décimal.
8 Langage assembleur Langage assembleur Pratiquement chaque microprocesseur/ordinateur possède son propre langage assembleur. Les règles de l écriture en langage assembleur sont documentées et publiées dans les manuels de chaque microprocesseur. Ici, nous utiliserons un langage assembleur qui est particulier à l ordinateur de base décrit dans le chapitre 5. Dans ce qui suit, nous allons formuler les règles de ce langage assembleur.
9 Langage assembleur Règles du langage assembleur Règles du langage assembleur Chaque ligne d un programme en assembleur est arrangée en 3 colonnes, appelées champs: [étiquette,] instruction [/commentaire] 1 Le champ étiquette peut être vide, ou peut spécifier une adresse symbolique. 2 Le champ instruction spécifie une instruction machine, ou une pseudo-instruction. 3 Le champ commentaire peut être vide, ou peut contenir un commentaire. Une adresse symbolique, dans le champ étiquette, consiste en une lettre suivie d un, deux ou aucuns caractères alphanumériques. Le champ instruction peut spécifier: 1 Une instruction référencée à la mémoire (MRI) 2 Une instruction référencée à un registre, ou une instruction d entrée/sortie (non-mri) 3 Une pseudo-instruction avec ou sans opérande
10 Langage assembleur Règles du langage assembleur Une instruction référencée à la mémoire consiste en deux ou trois symboles séparés par des espaces: opcode-symbole adresse-symbolique [I] L opcode-symbole est un symbole de trois lettres qui définit une opération MRI de la Table 1. Le second code est une adresse symbolique. Le troisième symbole est optionnel. Si présent, c est la lettre I. La présence de I dans une MRI dénote une instruction à adressage indirect, tandis que son absence dénote une instruction à adressage direct. Une instruction non-mri est désignée par l un des symboles de 3 lettres de la Table 1 et représente une instruction référencée à un registre, ou bien une instruction d entrée/sortie. Example 3. Voici des exemples de symboles qui peuvent être placés dans le champ instruction. CLA non-mri ADD OPR adressage direct MRI ADD PTR I adressage indirecte MRI
11 Langage assembleur Règles du langage assembleur Une pseudo-instruction n est pas une instruction machine, et donc elle n est pas transcrite en une instruction codée par l assembleur. Une pseudo-instruction est plutôt une instruction qui donne à l assembleur de l information sur une instruction particulière dans le programme. Nous supposerons que l assembleur défini dans ce chapitre supporte les quatre pseudo-instructions qui se trouvent dans la Table 2. Table 2: Définitions de pseudo-instructions Symbole ORG N END DEC N HEX N Information pour l assembleur Le nombre hexadécimal N est la location mémoire de l opérande ou de l instruction qui se trouve à la prochaine ligne Dénote la fin du programme symbolique N est un nombre décimal signé à être converti en binaire N est un nombre hexadécimal signé à être converti en binaire
12 Langage assembleur Règles du langage assembleur ORG (origin): informe l assembleur que l instruction ou l opérande dans la ligne qui suit est placé à la location mémoire spécifiée par le nombre hexadécimal écrit à droite de ORG. Il est possible d utiliser ORG plus d une fois dans un programme pour spécifier plus d un segment en mémoire. Le symbole END informe l assembleur que le programme est terminé. DEC N et HEX N spécifient la base de N.
13 Langage assembleur Règles du langage assembleur Example 4 (Soustraction de deux nombres). Table 3: Programme en langage assembleur pour faire la soustraction de deux nombres
14 Langage assembleur Transcription en binaire Transcription en binaire Pour qu un programme soit exécuté par n importe quel ordinateur, il doit être converti en code machine qui soit propre à cet ordinateur par un compilateur approprié. Un assembleur est un compilateur qui transcrit chaque instruction écrite en assembleur en son équivalent binaire.
15 Langage assembleur Transcription en binaire Example 5. La transcription du programme écrit en assembleur de la soustraction de deux nombres (présenté dans l exemple précédent) en son équivalent en code machine est montrée dans la table suivante. Table 4: Transcription en code machine du programme de soustraction de deux nombres
16 Langage assembleur Passes de compilation Passes de compilation La compilation d un programme écrit en assembleur vers un code machine par l assembleur s accomplit en deux passages (parcours du programme). Pendant le premier passage: une location mémoire (adresse) est assignée à chaque instruction et opérande (ORG et END n ont pas d assignations mémoire, car ce sont des pseudo-instructions). une table de symboles d adresses définissant les adresses en hexadécimal de chaque adresse symbolique est construite. Par exemple, la table des symboles d adresses du programme de l exemple précédent est montrée ci-dessous: Symbole d Adresses Adresse Hexadécimale MIN 106 SUB 107 DIF 108 Aucun code d instruction n est créé lors du premier passage.
17 Langage assembleur Passes de compilation Lors du second passage du programme en assembleur: la table des symboles d adresses formée au premier passage est utilisée pour déterminer la valeur de l adresse de chaque instruction. un code complet est créé pour chaque instruction. Example 6. L instruction LDA SUB est transcrite lors du second passage en code binaire en: examinant l opcode hexadécimal de l opération LDA de la table Table 1 2, déterminant la valeur hexadécimale de l étiquette SUB à partir de la table des symboles d adresses formée lors du premier passag 107, et remettant le bit 15 du code de l instruction à 0, puisque l instruction est une adresse directe MRI (la lettre I n est pas présente) Le code complet de l instruction en hexadécimal est alors formé en assemblant les segments ci-dessus 2107
18 Boucles de programme Boucles de programme Considérez le programme Fortran suivant, qui fait l addition de 100 entiers, et range le résultat dans un mot de la mémoire. DIMENSION A(100) INTEGER SUM, A SUM = 0 DO 3 J=1, SUM = SUM + A(J) Il est possible d écrire un programme assembleur qui fait la même chose. Le programme est montré dans la Table 5. Les entiers qu il faut ajouter sont ranges dans des locations mémoire consécutives, à partir de l adresse (150) 16 (ligne (19) 10 du code). Les initialisations de variables sont faites aux lignes (13) 10 jusqu à (17) 10 du code. La partie boucle du programme se trouve entre aux lignes (7) 10 jusqu à (10) 10 du code.
19 Boucles de programme Table 5: Programme en assembleur pour ajouter 100 nombres
20 Programmation des opérations logiques et arithmétiques Programmation des opérations logiques et arithmétiques Les opérations qui ne sont pas incluses dans l ensemble des instructions machine doivent être implémentées par un programme. Les opérations qui peuvent être effectuées par une unique instruction machine sont dites implémentées en matériel. Les opérations qui sont faites par un programme (un ensemble d instructions) sont dites implémentées en logiciel. L implémentation en matériel est plus coûteuse que l implémentation en logiciel, mais l exécution des opérations est plus rapide.
21 Programmation des opérations logiques et arithmétiques Programme de multiplication Programme de multiplication L ordinateur qui a été conçu au chapitre 5 ne contient pas d instructions pour effectuer une multiplication. Par conséquent, une implémentation logicielle est nécessaire pour donner à l ordinateur la capacité de multiplier deux nombres. Pour simplifier l implémentation logicielle de l opération de multiplication de l ordinateur de base, on suppose que les deux opérandes sont non signés, et qu ils n ont pas plus de 8 bits significatifs, de façon à ce que le produit ne dépasse pas la capacité de 16 bits significatifs. Le schéma de la Figure 1 montre la procédure suivie pour l implémentation logicielle de l opération de multiplication. Le programme en assembleur de la multiplication est montré dans la Table 6.
22 Programmation des opérations logiques et arithmétiques Programme de multiplication Figure 1: Schéma du programme de multiplication
23 Programmation des opérations logiques et arithmétiques Programme de multiplication Table 6: Programme de multiplication de deux nombres positifs
24 Programmation des opérations logiques et arithmétiques Addition en précision double Addition en précision double Pour augmenter la précision de l addition, les opérandes peuvent être rangés dans deux mots de mémoire ou plus, au lieu de seulement un. Un nombre rangé dans deux mots de la mémoire est dit avoir une précision double. Lorsque des opérandes en précision double sont utilisés pour effectuer certaines opérations, ils doivent être traités d une manière spéciale. Un programme en assembleur qui additionne deux nombres en précision double est montré dans la Table 7.
25 Programmation des opérations logiques et arithmétiques Addition en précision double Table 7: Programme pour additionner deux nombres en précision double
26 Programmation des opérations logiques et arithmétiques Opérations logiques Opérations logiques Une opération logique peut aussi être implémentée en logiciel si elle n est pas supportée directement par l ALU. Par exemple, l ALU de l ordinateur de base ne possède pas d implémentation matérielle de l opération OU, mais supporte matériellement les opérations ET et NON. Puisque (x y) peut s exprimer aussi comme (x y ), l opération OU peut être implémentée en logiciel. Un programme symbolique qui fait cela est montré ci-dessous. LDA A Charger le premier opérande A CMA Complémenter pour obtenir A STA TMP Ranger A dans une location temporaire LDA B Charger le deuxième opérande B CMA Complémenter pour obtenir B AND TMP Ajouter à A pour obtenir (x y ) CMA Complémenter pour obtenir (x y)
27 Programmation des opérations logiques et arithmétiques Opérations de décalage Opérations de décalage L ordinateur de base possède une implémentation matérielle de décalage circulaire. Une opération de décalage à droite peut être réalisée en logiciel par les instructions suivantes: CLE CIR Une opération de décalage à gauche peut être réalisée en logiciel par les instructions suivantes: CLE CIL
28 Programmation des opérations logiques et arithmétiques Opérations de décalage Une opération de décalage à droite arithmétique peut être réalisée en logiciel par les instructions suivantes: CLE /Mettre E à 0 SPA /Sauter l instruction suivante si AC > 0; E reste 0 CME /AC < 0; mettre E à 1 CIR /Décalage circulaire de E et AC Example 7 (Décalage arithmétique à gauche). Ecrivez un programme en assembleur qui implémente une opération de décalage arithmétique à gauche.
29 Sous-routines Sous-routines Appeler une sous-routine dans un programme se fait en utilisant l instruction BSA. Pour illustrer comment utiliser l instruction BSA dans ce contexte, une sous-routine qui multiplie le contenu de AC par 16 (en décalant AC de 4 bits vers la gauche) est montré dans la Table 8. La sous-routine est appelée deux fois dans le programme. Une fois à la ligne (101) 16 et une autre fois a la ligne (104) 16. Lorsque la première instruction BSA est exécutée pour appeler la sous-routine SH4, l unité de contrôle range l adresse de retour 102 à l adresse définie symboliquement par SH4 (c est à dire = (109) 16 ). L unité de contrôle place aussi la valeur SH4+1 (= (10A) 16 ) dans le compteur de programme PC pour commencer l exécution de la sous-routine. La dernière instruction de la sous-routine, à la location (10F ) 16 (appelée l instruction de retour de la sous-routine) exécute un embranchement inconditionnel indirect vers la location (102) 16. BSA est appelée l instruction d appel de la sous-routine.
30 Sous-routines Table 8: Programme pour montrer l utilisation de sous-routines
31 Programmation pour les entrées/sorties Programmation pour les entrées/sorties La Table 9(a) montre les instructions nécessaires pour entrer un caractère, l afficher, et ensuite le ranger en mémoire. La Table 9(b) montre les instructions nécessaires pour afficher un caractère qui est initialement rangé en mémoire. Table 9: Programmes pour l entrée/sortie d un caractère
32 Programmation pour les entrées/sorties Manipulation de caractères Manipulation de caractères Le programme de la Table 10 montre une sous-routine appelée IN2 qui entre deux caractères de 8 bits chacun, et les assemble en un mot de 16 bits. Table 10: Sous-routine pour entrer et assembler deux caractères
33 Programmation pour les entrées/sorties Manipulation de caractères Le programme de la Table 11 utilise la sous-routine IN2 pour entrer une chaîne de caractères du clavier, assembler deux caractères en un mot, et ranger le tout dans un tampon qui débute à l adresse (500) 16 de la mémoire. Table 11: Programme pour ranger des caractères d entrée dans un tampon
34 Programmation pour les entrées/sorties Interruptions de programme Interruptions de programme Le système d interruptions permet au programme de se dérouler jusqu à ce qu un appareil d entrée/sortie lève son drapeau. Lorsqu un appareil est mis à 1, l ordinateur termine l exécution de l instruction en cours puis se focalise sur l interruption, en: 1 Rangeant l adresse de retour à la location 0 de la mémoire 2 Exécuter l instruction à la location 1, qui est un embranchement inconditionnel vers l adresse de base de la routine de service. La routine de service doit contenir des instructions pour effectuer les taches suivantes: 1 Sauvegarder le contenu des registres du processeur (AC et E de cet ordinateur de base) 2 Vérifier quel drapeau d entrée/sortie est levé 3 S occuper de l appareil dont le drapeau est levé 4 Restaurer le contenu des registres du processeur 5 Réactiver le système d interruption 6 Retourner au programme interrompu
35 Programmation pour les entrées/sorties Interruptions de programme Un exemple de programme qui s occupe d une interruption est montré dans la Table 12. La location 0 est réservée pour l adresse de retour. La location 1 contient un embranchement inconditionnel direct vers la routine de service SRV. Le programme principal débute à la location (100) 16 de la mémoire. La routine de service débute à la location (200) 16 de la mémoire. Le programme principal contient une instruction ION au tout début, pour activer le système d interruptions. Le circuit d interruption est éteint dans le matériel par la micro-operation RT 2 : IEN 0 juste avant l exécution de la routine de service des interruptions. Il est donc important de réactiver le système d interruptions juste avant la fin de la routine de service. Ceci se fait dans le logiciel en incluant l instruction ION.
36 Programmation pour les entrées/sorties Interruptions de programme Table 12: Programme pour s occuper d une interruption
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é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étailUSTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :
USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.
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é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étailDé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é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é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é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étailLes 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é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é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étailRappels 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é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é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é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é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étailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
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é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é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é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é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é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é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é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étailCours 1 : Qu est-ce que la programmation?
1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
Plus en détailV- 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é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é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étailPlan du cours 2014-2015. Cours théoriques. 29 septembre 2014
numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:.@ulg.ac.be Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour
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é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étailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
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é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é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é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 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étailAlgorithme. 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é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étailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailCQP 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étailGPA770 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é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étailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailProgrammation 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é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é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é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 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é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étailPrésentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailTP 1 : 1 Calculs en binaire, octal et hexadécimal
Univ. Lille 1 - Licence Informatique 2ème année 2013-14 Objectifs du TP Ce TP a pour but Codage de l'information TP 1 : 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats
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étailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
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étailChapitre 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étailTravaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES
TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME
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é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étailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
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étailOrganisation des Ordinateurs
Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les
Plus en détailLangage Fortran (Base)
Langage Fortran (Base) Anne Fouilloux Patrick Corde anne.fouilloux@ecmwf.int Patrick.Corde@idris.fr 26 mai 2015 26 mai 2015 1 / 266 Table des matières I 1 Introduction Historique bibliographie documentation
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étailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en dé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é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étailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailLe codage informatique
Outils de Bureautique Le codage informatique (exemple : du binaire au traitement de texte) PLAN 3) Le codage binaire 4) Représentation physique des bits 5) Le bit est un peu court... 6) Codage de texte
Plus en détailManuel 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é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étailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailLangage 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étailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
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étailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
Plus en détailDescription pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.
Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données. 1. Installation de JADE 2. Restauration de la base initiale 3. Configuration propre
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étailMathématiques appliquées à l informatique
Mathématiques appliquées à l informatique Luc De Mey Ces notes de cours sont disponibles à l adresse : www.courstechinfo.be/math_info.pdf Dernière révision : 6 mai 2013 Table des matières 1 Systèmes de
Plus en détailUEO11 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étailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
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étailJeux 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étailLe langage C. Introduction, guide de reference
Le langage C Introduction, guide de reference Ce document est une présentation du langage de programmation C, de sa syntaxe et de ses spécificités. Il est destiné essentiellement à servir de mémo-guide
Plus en dé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étailEnregistreur sans papier. Interface LON. B 95.5010.2.1 Description des interfaces 10.99/00370156
Enregistreur sans papier Interface LON B 95.5010.2.1 Description des interfaces 10.99/00370156 Sommaire 1 Introduction 3 1.1 Préambule... 3 1.2 Conventions typographiques... 4 1.2.1 Avertissement... 4
Plus en détailJ AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE
RANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE Un message numérique est une suite de nombres que l on considérera dans un premier temps comme indépendants.ils sont codés le plus souvent
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailLangage Fortran. Support de cours
COURS FORTRAN 1 Langage Fortran Support de cours Patrick Corde Anne Fouilloux Messagerie : Prenom.Nom@idris.fr Liste des transparents 2 1 Introduction................ 8 1.1 Historique................ 9
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é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étailGénie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string
Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.
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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détail