Organisation Mise à niveau en Informatique Master 2 Ecomm Journée 1 : Information Codage des nombres, textes, images Journée 2 : Concepts et outils Fichiers, programmes, langages Journée 3 : Technologie Microprocesseur, mémoire, périphériques Journée 1 Codage des nombres entiers Base 2, complément à 2 Codage des textes ASCII, unicode, UTF8 Codage des images Matriciel, vectoriel Codage des sons Entiers Entiers non signés (i.e. entiers naturels) 0,1, 2, 3, codage en base 2 Entiers signés (i.e., entiers relatifs) -,-2, -1, 0, 1, 2, codage en complément à 2 1
Base 2 Base 2 32 43 Kg 16 8 4? 2 1 Les poids des bits sont des puissances de deux 2 0 = 1 2 1 = 2 2 2 = 2 x 2 = 4 2 3 = 2 x 2 x 2 = 8 2 4 = 2 x 2 x 2 x 2 = 16 etc. Base 2 Le poids d un bit dépend de sa position douze Base 10 Base 2 1 2 1 1 0 0 10 1 Poids 8 4 2 1 (représentés en base 10) Base 2 Représentation en base 2 de 17, 29, 127, 128? Représentation en base 10 de 10001, 1010, 1111? Plus grand entier représentable sur 3, 4, n bits? Nombre de bits pour représenter cent, mille, dix mille, un entier x? 2
Base 2 Un entier x < 2 k peut être représenté avec au plus k bits. 2 0 + 2 1 + 2 2 + + 2 k = 2 k+1-1 Il existe 2 n mots binaires de n bits. Principe Complément à 2 On dispose de 2 n mots binaires différents On en utilise la moitié pour les nombres positifs ou nul On utilise les autres pour les nombres négatifs On représente sur n bits les entiers compris entre -2 n-1 et +2 n-1-1 Nombre positif en complément à 2 Un nombre à représenter sur n bits doit être compris entre 0 et 2 n-1-1. Il est représenté en base deux. Exemple sur 4 bits : 3 0 0 1 1 5 0 1 0 1 9 pas représentable car supérieur à 2 3-1=7 Nombre négatif en complément à 2 Un nombre x à représenter sur n bits doit être compris entre -2 n-1 et -1. Il est représenté par la complémentation à 2 de la représentation en base deux de -x Trois étapes : on représente la valeur absolue en base 2 on complémente tous les bits on ajoute 1 3
Nombre négatif en complément à 2 Exemple de conversion de -4 sur 4 bits valeur absolue 0 1 0 0 Complément à 2 Donner les représentations de tous les nombre représentables en complément à 2 sur 4 bits. complémentation + = 1 0 1 1 1 1 1 0 0 Représentation de 99 et de -99 sur 8 bits? Nombres dont les représentations sur 8 bits sont 10010011 et 01111110? Représentation de textes Code ASCII American Standard Code for Information Interchange Codage sur 8 bits, jeu de caractères limité, nombreuses variantes (qui diffèrent par les 128 codes commençant par 1). Unicode Normalise plus de 120000 caractères et définit plusieurs codages possibles pour ces caractères (UTF-8, UTF-16 ) A é Unicode UTF8 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 4
Représentation des images Représentation matricielle Matricielle L image est représentée par une matrice de pixels image un pixel = trois mots binaires Vectorielle L image est décomposée en formes élémentaires qui sont paramétrées par des attributs (taille, position, couleur ) représentation Repr. matricielle avec palette Exemple image un mot binaire par pixel trois mots binaires par couleur Une image couleur de 256 x 256 pixels Représentation matricielle avec profondeur de couleur 8 bits. Nombre d octets nécessaires? palette Représentation matricielle avec une palette de 16 couleurs définie avec une profondeur de couleur de 8 bits. Même question. représentation 5
Représentation vectorielle Les formes géométriques et attributs sont représentés par une description en langage XML <rect width="300" height="120" x="0" y="20" fill="green" id="rect1306" /> Représentation vectorielle Le langage XML est lui-même représenté en unicode <rect width="300" height="120" x="0" y="20" fill="green" id="rect1306" /> Vectoriel versus matriciel Journée 2 Notion de fichier Types de fichier, explorateur, commandes Notion de programme Source, objet, interprétation, compilation, machine virtuelle Exemple d application complexe Tableur http://fr.wikipedia.org/wiki/image:bitmap_vs_svg.svg 6
Fichiers Un fichier est une unité informationnelle physiquement stockée dans une mémoire permanente Un fichier peut contenir un programme des données les deux Fichiers de données Ils contiennent des informations exploitables par des utilisateurs via des programmes d application images, son, vidéo, documents composites (pages web, mémoire, lettre ), données de configuration (pour application, système, compte utilisateur ) Fichiers de données L extension du nom permet parfois d identifier la nature du contenu.jpg,.png,.gif,.tiff : images matricielles.svg,.eps : images vectorielles.mp3,.wav,.mid : sons.divx,.avi,.mov,.mpeg : vidéo.pdf,.ps, : documents publiés.html : pages web Fichiers de programmes Fichier source contient un texte qui représente un programme (ou une partie de programme) à l aide d un langage de programmation. Exemples source java : extension.java source c : extension.c source php : extension.php 7
Fichiers de programmes Fichier exécutable contient un programme en langage machine, directement exécutable par le microprocesseur. Exemples exécutable Windows : extension.exe exécutable linux : pas d extension spécifique, mais reconnu par le SE. Fichiers de programmes Bibliothèque dynamique d exécution contient des parties de programme en langage machine, utilisables par différentes applications. Exemples Windows : extension.dll (dynamic link library) Linux : extension.so (shared object) Fichiers de programmes Fichiers en langage intermédiaire contient un programme en langage de bas niveau destiné à être exécuté par une machine virtuelle. Exemples Les programme java sont compilés sous la forme de fichiers.class exécutables par tout système disposant d une machine virtuelle java (Windows, Linux, Mac, téléphone ) Arborescence de fichiers Les fichiers sont répartis dans des dossiers Les dossiers sont organisés en arborescence Un explorateur de fichiers permet de déplacer, renommer, dupliquer, effacer des fichiers et des dossiers. 8
Commandes Windows En mode console, un SE dispose de commande de manipulation de fichiers. Notion de programme Un programme est une liste d instructions indiquant à un ordinateur ce qu il doit faire. Exemples de commandes à essayer : Windows : dir, del, copy, cd, mkdir Linux : ls, rm, cp, pwd,cd, mkdir Diverses stratégies d exécutions possibles: Compilation Interprétation Machine virtuelle Processus Un processus est l exécution d un programme. Compilation Le fichier source est traduit en langage machine par un programme appelé compilateur. programme agent d exécution Processus P Exécution P ou processus entrées sorties Source Compilation Exécutable entrées sorties 9
Interprétation Un programme appelé interpréteur exécute directement le fichier source. Machine virtuelle Le fichier source est traduit en langage intermédiaire, puis interprété. Source Interpréteur Exécution MV P PMV Exécution entrées sorties Source Traduction code intermédiaire entrées sorties Avantages / inconvénients Compilation Efficace, pas portable Interprétation Portable, pas efficace Machine virtuelle Portable Plus efficace que l interprétation Mise en pratique Éditer le source Bienvenue.java suivant class Bienvenue { public static void main(string args[]) { System.out.println("Bonjour"); } } 10
Mise en pratique Mise en pratique Compilation : javac Bienvenue.java Exécution : java Bienvenue «Bonjour» Bienvenue. java Compilation Bienvenue. class Bienvenue. class MV Exécution Expérimentation class Bienvenue { public static void main(string args[]) { int i=1; while(i <= 5) { System.out.println("Bonjour"); i = i + 1; } } } Expérimentation Modifier le programme : Afficher 10 fois «Bonjour» Afficher 5 fois «Bonjour» puis 5 fois «Au revoir» Remplacer System.out.println("Bonjour") par System.out.println(i) puis par System.out.println(i%2) 11
Expérimentation Deviner puis vérifier ce que fait : public static void main(string args[]) { int i=1; while(i <= 10) { if (i%2 == 0) System.out.println("Bonjour"); else System.out.println("Bonsoir"); i = i + 1; } } Application complexe Tableur : produit et exploite des feuilles de calculs qui comportent : des données (nombres, chaînes de caractères ) des programmes (formules de calcul) Applications Tableau de notes avec affichage du nombre de notes au moins égales à 10. Ajout d une colonne contenant l âge des candidats. Affichage du nombre de candidats majeurs ayant une note au moins égale à 10. Applications Affichage des tables de vérité des opérateurs logiques and or not 12
Journée 3 Eléments de base d un système à P Microprocesseur Mémoire centrale Contrôleurs / périphériques E/S Mémoire de masse Types de mémoires Dissection d un PC Mémoire centrale Système à P P DMA Mémoire de masse Contrôleurs E / S Périphériques E / S P : Rôles des composants Exécute des programmes en langage machines situés en mémoire centrale Rôles de composants Mémoire de masse : Stocke à long terme des programmes et des données (sous forme de fichiers) Mémoire centrale : mémoire de travail du P stocke temporairement des programmes et des données Contrôleur et périphériques E /S : Permettent à l ordinateur de communiquer avec le monde extérieur, incluant les utilisateurs 13
Notion de BUS BUS entre P et mémoire centrale Un bus est un ensemble de connexions permettant le transfert d informations au sein d un système numérique Bus de données On distingue : P Bus d adresses Mémoire centrale Bus d adresses Bus de données Bus de contrôle Bus de contrôle BUS entre P et mémoire centrale Le bus d adresse identifie l emplacement de la donnée à lire ou écrire dans la mémoire Le bus de donnée transporte la donnée à lire ou écrire Le bus de contrôle transmet les commandes : lire, écrire Caractéristiques d un bus Largeur du bus : Nombre de bits pouvant être transportés simultanément Fréquence du bus : Nombre de mots binaires pouvant transiter en une seconde Exemple Bus 32 bits, fréquence 100 MHz : 400 000 000 octets par seconde. 14
Organisation logique de la mémoire centrale Notation Hexadécimale adresse mémoire 0 1 2 3 10011111 11110000 11111000 00000001 cellule mémoire mot stocké en mémoire Hexadécimal = base 16 Base 2 : 2 chiffres : 1,2 Base 10 : 10 chiffres : 1..9 Base 16 : 16 chiffres : 1..9, A..F Les poids des chiffres sont des puissances de 16 1, 16, 256, 65536, Notation Hexadécimale Correspondance binaire / hexa 0011 1100 1110 3 C E Espace d adressage On appelle espace d adressage l ensemble des plages d adresses mémoire utilisables dans un système à P Exemple Pentium core 2 Extrem Intel : bus d adresses 36 bits donc espace d adressage du P : 2 36, soit 64 Go Limité en pratique par la mémoire installée! 15
Organisation physique de la mémoire centrale Association «parallèle» La mémoire physique disponible ne couvre généralement pas tout l espace d adressage du P. Cette mémoire est généralement répartie dans plusieurs boitiers. 1Go x 1bit 1Go x 1bit Adresses 1Go x 1bit 1Go x 1bit Données = 1Go x 8 bits Association «série» Types de mémoires Adresses A0..A29 A0..A29 1Go x 8bits CS 1Go x 8bits CS Mémoire morte ROM PROM, EPROM, EEPROM Mémoire vive A30 décodeur d adresses Données RAM statique RAM dynamique = 2Go x 8 bits 16
Microprocesseur Microprocesseur Horloge registres compteur de programme Interruptions P adresses données contrôle mémoire centrale, contrôleurs E / S Unité Arithmétique et logique Unité de contrôle PC bus : adresses données contrôle Langage machine Instructions du LM Un programme en LM est constitué d une suite de mots binaires représentant des instructions et des opérandes Le LM n est pas standardisé Les instructions disponibles et leur codage varient d un P à l autre instr op op instr instr op Compatibilité Les P compatibles ont en commun un sousensemble de leurs jeux d instructions 17
Exemples d instructions Exemples d instructions Transfert mémoire mémoire vers registre registre vers mémoire mémoire vers mémoire Opérations arithmétiques addition, soustraction, multiplication Opérations logiques et, ou, non Sauts inconditionnels conditionnels, basés sur le résultat d une comparaison de deux valeurs, ou sur la valeur d un registre. Exemples d instructions CISC versus RISC Appels de sous programmes Saut avec mémorisation dans une pile de l adresse de retour CISC = Complex Instruction Set Computer Beaucoup d instructions et de registres spécialisés RISQ = Reduced Instruction Set Computer Moins d instructions, mais plus générales et qui s exécutent plus rapidement 18
Mémoire de masse Disques durs Supports optiques DVD-R, CD-R, CD-RW, Mémoires flash Clés USB, cartes mémoires, Bande magnétique Caractéristiques des mémoires de masse Temps d accès Pénalisant dans le cas de fichiers fragmentés Vitesse de transfert Exprimée en octets / secondes (parfois en bits / s) Attention au débit de la connexion utilisée 19