introduction V11 tirage
Transcription
introduction V11 tirage
CONSEILS • Installer un environnement de travail CodeBlocks ou autre sur votre machine, INTRODUCTION à L’INFORMATIQUE • Relire votre cours avant les séances de TD et de TP, • Préparer vos TD et TP et au minimum lire l’énoncé à l’avance; Être efficace durant les séances de TD/TP, • Prendre des notes lors des explications en TD et en TP, CONCEPTS GENERAUX • Refaire les exercices ou vous avez eu des difficultés, • N’hésitez pas a demander de l’aide aux enseignants de cours ou de TD ou de TP. S1 CYCLE PREPARATOIRE • Travailler régulièrement. C. CLAPIER [email protected] 10/09/2012 C. CLAPIER 2 OBJECTIFS du COURS Déroulement du module : • 6 séances de cours (10h) Christian CLAPIER [email protected] • 5 séances de TD (5*2h = 10h) • 8 séances de TP (8 * 3h15 = 26h) • Un examen sur machine et un examen écrit Les principaux objectifs du cours sont : • Expliquer comment on passe d’un problème humain à sa réalisation informatique Évaluation du module : • Comptes-rendus et interrogations écrites 15% • Donner une compétence de base en modélisation de solutions à des problèmes (Algorithmique) et en réalisation informatique (Programmation en langage C) • Examen machine 35% • Examen écrit 50% Intervenants TD et TP : G1 ou G2 : Adrien Rémy et Frédéric VOISIN G1 ou G2 : Yassine MRABET et Frédéric VOISIN G3 : Sarah FDILIALAOUI G4 : Christian CLAPIER 10/09/2012 C. CLAPIER • Préparer aux enseignements en informatique du réseau Polytech 3 10/09/2012 C. CLAPIER 4 Familles d’ORDINATEURS BUT DE L’INFORMATIQUE L’informatique permet l’automatisation du traitement de l’information par un ordinateur. L’informatique est présente dans quasiment tous les domaines. L’informatique permet de traiter des données, ce traitement est défini par un programme écrit dans un langage plus ou moins évolué et auquel un utilisateur peut fournir des paramètres. Les données traitées peuvent être des nombres, des fichiers textes, des fichiers de données, du son, des images, des vidéos, des signaux électronique après transformation en numérique, …. 10/09/2012 C. CLAPIER 5 Ordinateur central (mainframe) Au montage d’un ordinateur on fixe la carte mère en premier puis on connecte sur elle tous les éléments électroniques : processeur, mémoire, carte graphique, carte d’extension PCI, mais aussi les disques durs, lecteur de CD/DVD, clavier, souris, enceinte... Tablette Assistant personnel (PDA) Super-ordinateur (supercomputer) Ordinateur de bureau (workstation) 10/09/2012 CARTE MERE d’UN PC C’est une carte électronique qui possède une multitude de connecteurs différents : • socket pour processeur, • slot pour la RAM, • prise ATA ou SATA pour disque dur et lecteurs CD/DVD, • prise USB, audio, FireWire... Ces connecteurs sont plus ou moins nombreux et exploitent des technologies plus ou moins avancées selon le modèle et le segment de gamme de la carte mère. Téléphone portable clusters de machines C. CLAPIER Ordinateur portable (notebook) Ordinateur de poche (pocket computer) 6 CARTE MERE d’UN PC Microprocesseur Carte vidéo Carte d’extension (Bus PCI) Barrette mémoire vive Disque dur jusqu’à qq Téra octets 10/09/2012 Graveur de DVD C. CLAPIER 8 Périphériques externes Carte Usb et Firewire interface USB-Bluetooth 10/09/2012 C. CLAPIER 9 MEMOIRE MEMOIRE L'informatique tion et automatique d'information automatique,, est L'informatique,, contraction d'informa la science du traitement de l'information. Apparue au milieu du 20è 20ème siè siècle, elle a connu une évolution extrêmement rapide. A sa motivation initiale qui était de faciliter et d'accé d'accélérer le calcul, se sont ajouté ajoutées de nombreuses fonctionnalité fonctionnalités, comme l'automatisation, le contrôle et la commande de processus, la communication ou le partage de l'information. Un systè système informatique s’ s’appuie sur deux modes de réalisation distincts, distincts, le maté matériel et le logiciel : • Le maté matériel (hardware) correspond à l’aspect concret du systè système : unité unité centrale, mé mémoire, organes d’ d’entré entréeses-sorties, etc. • Le logiciel (software) correspond à un ensemble d’instructions, appelé appelé programme, qui sont contenues dans les diffé différentes mé mémoires du systè système et qui dé définissent les actions effectué effectuées par le maté matériel. 10/09/2012 C. CLAPIER 11 Architecture de von Neumann Unité de de Unité Contrôle Contrôle Unité Unité Arithmétique Arithmétique etLogique LogiqueUAL UAL et ENTREES/SORTIES L’architecture dite « architecture de Von Neumann » est un modè modèle pour un ordinateur qui utilise une structure de stockage unique pour conserver à la fois les instructions et les donné données requises ou gé générées par le calcul. De telles machines sont aussi connues sous le nom d’ordinateurs à programme stocké stocké en mé mémoire. 10/09/2012 C. CLAPIER 12 L’unité d’information élémentaire : le BIT Les informations traitées par un ordinateur peuvent être de différents types (caractères, texte, nombres entiers signés ou non, nombres flottants, tableaux, structures, etc.) mais elles sont toujours représentées et manipulées par l’ordinateur sous forme binaire. Toute information sera traitée comme une suite de 0 et de 1. L’unité d’information est le chiffre binaire (0 ou 1), que l’on appelle bit (pour binary digit, chiffre binaire). 10/09/2012 C. CLAPIER 13 BINAIRE - 2 chiffres 0 et 1 N = (D7 D6 D5 D4 D3 D2 D1 D0 )2 N = D7 * 27 + D6 * 26 + D5 * 25 + D4 * 24 + D3 * 23 + D2 * 22 + D1 * 21 + D0 * 20 01000100(2) = 0*27+1*26+0*25+0*24+0*23+1*22+0*21+0*20 = (68) 10 N = 130 base 10 = 1000 0010 B sur 8 bits ou N = 0000 0000 1000 0010 B sur 16 bits.(des 0 devant) 10/09/2012 C. CLAPIER 15 Représentation des nombres Dans une Base B quelconque B > 1: Les nombres 0,1, 2,…, B-1 sont appelés chiffres N = D7 D6 D5 D4 D3 D2 D1 D0 en base B N = D7*B7 + D6*B6 + D5*B5 + D4*B4 + D3*B3 + D2*B2 + D1*B1 + D0*B0 Exemple: N = (1789)10 N = 1*103 + 7*102 + 8*101+ 9*100 10/09/2012 C. CLAPIER 14 BINAIRE - 2 chiffres 0 et 1 2 16 65536 2 15 32768 2 14 16384 2 13 8192 2 12 4096 2 11 2048 2 10 1024 29 512 28 256 7 2 128 6 2 64 25 32 10/09/2012 24 23 22 21 20 2 -1 2 -2 2 -3 2 -5 2 -6 2 -7 2 -8 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 C. CLAPIER 2 40 1 099 511 627 776 1 Téra 2 30 1 073 741 824 1 Giga 2 20 1 048 576 1 Méga 2 16 65536 = 64 Ko 2 10 1024 1 Kilo 2 8 256 16 LE(S) CODE(S) ASCII L’HEXADECIMAL ou base 16 American Standard Code for Information Interchange 16 chiffres : Codage sur 4 bits des 16 chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F HEXA Binaire Base 10 HEXA Binaire Base 10 0 1 2 3 4 5 6 7 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 8 9 A B C D E F 1000 1001 1010 1011 1100 1101 1110 1111 8 9 10 11 12 13 14 15 10/09/2012 C. CLAPIER +20H CODE CODEASCII ASCIIEN ENHEXA HEXA Majuscule Minuscule 00 00... ...30h 30h31h 31h….39h ….39h3Ah 3Ah….40h ….40h41h....46h 41h....46h47h 47h…5Ah …5Ah..61h ..61h....7Ah.....7Fh ....7Ah.....7Fh ++30H 30h ……. 0 1 …… 9 ………….@ CARACTERE CARACTERE 17 + 37H 10/09/2012 A ….. F G ... Z .... a ....... z ........... 07H : Bel sous Unix retour chariot saut de 0AH : LF ligne un octet 0AH 0DH : CR sous Windows retour chariot 20H : Espace saut de ligne 2 octets 0AH et 0DH. PB des contrôles M (^M) code ASCII de M = 4Dh – 40H (CTRL) = 0Dh = CR C. CLAPIER 18 C. CLAPIER 20 CODE ASCII CODE ASCII étendu 10/09/2012 C. CLAPIER 19 10/09/2012 Les nombres ENTIERS non signés HEXADECIMALsur sur88bits bits HEXADECIMAL 00H 01H 01H ………..…….…………….……………FDH ………..…….…………….……………FDH FEH FEH FFH FFH 00H Représentés par leur équivalent binaire En base B, k chiffres permettent de représenter un nombre N tel que : Base 2 0 ≤ N ≤ Bk - 1 8 bits (28 -1) 16 bits (216 -1) 32 bits (232 -1) 64 bits (264 -1) 10/09/2012 0 253 254 255 HEXADECIMALsur sur16 16bits bits HEXADECIMAL 0000H 0001H 0001H 0000H ……….…………….……FFFDH FFFEH FFFEH FFFFH FFFFH ……….…………….……FFFDH 0 1 BASE 10 billard billion milliard million C. CLAPIER 1 BASE 10 De 0 à 255 base 10 De 0 à 65 535 base 10 De 0 à 4 294 967 295 base 10 De 0 à 18 446 744 073 709 551 615 base 10 18 mille 446 billards et des briquettes Les nombres ENTIERS non signés 21 65533 10/09/2012 65534 65535 C. CLAPIER ENTIERS signés en Cpl à 2 22 ENTIERS signés en Cpl à 2 NOMBRES SIGNES SUR 8 BITS en complément à 2 COMPLEMENT à 1 (complément restreint) et COMPLEMENT à 2 (complément vrai) 80H 81H Le complément à 1 s’obtient en inversant les 1 en 0 et les 0 en 1 Le complément à 2 s’obtient en ajoutant 1 au complément à 1 Exemple 73 = 49 H = 0100 1001 B C. CLAPIER -73 en Cpl à 2 + ……...…FE FF 00 01 02 ………….............. -128 -127 7EH 7FH -02 -01 00 01 02 BASE 10 NOMBRES SIGNES SUR 16 BITS en complément à 2 - HEXADECIMAL 126 127 + 8000H 8001H ..… FFFE FFFF 0000 0001 …….............. 7FFEH 7FFFH Complément à 1 (73) : 1011 0110 B (73 = 49 H) Complément à 2 (73) : 1011 0111 B (-73 = - 49 H) 10/09/2012 HEXADECIMAL 23 -32768 -32767 10/09/2012 -0002 -0001 0000 0001 BASE 10 C. CLAPIER 32666 32767 24 LES REELS Pb de représentation Attention sur un certain nombre de bits 8, 16, 32 ou 64 on ne peut représenter qu’un nombre fini d’entiers signés ou non. Les réels sont codés au format IEEE Simple précision 31 1 Précision : 24 bits 1 Précision : 64 bits 1 MANTISSE 0 11 52 bits signe exposant 79 23 bits exposant 63 Précision : 53 bits 0 8 signe Double précision Précision étendue exposant MANTISSE 0 15 64 bits signe 10/09/2012 C. CLAPIER 25 Bien sûr plus le nombre de bits est grand plus la valeurs des entiers que l’on peut représenter est grande. Si l’on défini un entier 16 bits et que l’on initialise sa valeur à 0 et qu’on lui ajoute plus de 100 000 fois la valeur 1 que se passe t-il ? La valeur va augmenter de 0, 1, 2, 3, … , 65534, 65535 et normalement 65536. Or ce nombre dépasse les nombres représentables sur 16 bits et sa valeur revient à 0 C. CLAPIER 10/09/2012 26 Pb de représentation • Les entiers non signés sont codés en binaire • Les entiers signés sont codés au format complément à 2 • Les réels au format IEEE (1 bit de signe, X bits exposant et Y bits mantisse) • Les caractères au format ASCII Caractère ' A' 0100 0001 sur 8 bits, Attention sur un certain nombre de bits 32, 64 ou 80 on ne peut représenter qu’un nombre fini de réels. Or il y a une infinités de réels. Donc sur un nombre de bits donnés on ne peut représenter qu’un nombre fini de réels. Entier 18 sur 16 bits 0000 0001 0000 0010 Entier -18 sur 16 bits 1111 1110 1111 1110 Entier 18 sur 32 bits 0000 0000 0000 0000 0000 0001 0000 0010 Entier -18 sur 32 bits 1111 1111 1111 1111 1111 1110 1111 1110 Réel -18. sur 32 bits 0100 0001 1001 0000 0000 0000 0000 0000 Par exemple on ne pourra jamais coder de façon exacte le réel 1.1 au format IEEE. 1.1000000238418579 1,09999990463256…. 1.1 10/09/2012 1.100000262260437 Réels sur 32 bits Mantisse 23 bits 2- 23 = 1.1000001430511475 0,000000119209289550781 C. CLAPIER Résumé 27 Donc une suite de 8, 16, 32, 64 bits peut représenter des choses différentes => l’ordinateur doit savoir le type (Donc le codage ) manipulé. 10/09/2012 C. CLAPIER 28 MEMOIRE MEMOIRE Data Type bit s Significant Digits (Decimal) Approximate Range (Décimal) WORD INTEGER 16 4-5 -32768 <= x <= +32767 SHORT INTEGER 32 9 -2x109 <= x <= +2x109 LONG INTEGER 64 18 -9x1018 <= x <= +9x1018 32 6-7 LONG REAL 64 15-16 +2.23x10- 308 <= |x| <= +1.79x10308 TEMPORARY REAL 80 19-20 +3.37x10- 4932 <= |x| <= 1.18x104932 +1.18x10- 38 <= |x| <= +3.40x1038 C. CLAPIER 29 Unité Unité Arithmétique Arithmétique etLogique LogiqueUAL UAL et • L’Unité Unité de contrôle ou sé séquenceur : gè gère le fonctionnement de la machine et est responsable de l’ l’exé exécution des instructions composant un programme - Contrôle le transfert des données (lecture et écriture en mémoire) - Décode les instructions - Transmet les instruction à l'UAL - Décode les ordres venant de l'extérieur (Input/0utput) • La mé mémoire : elle peut être vue comme une suite de cases pouvant contenir soit des données soit du code (instructions) 10/09/2012 C. CLAPIER 30 LA MEMOIRE L’Unité Arithmétique et Logique La mé mémoire permet de stocker : Exemple d’un fichier texte : L’Unité nité Arithmé rithmétique et Logique (UAL) UAL) ou Arithmetic and Logic Unit (ALU ALU) ) : ( En mémoire c'est un suite d'octets qui représentent de façon codée des caractères et sont interprétés comme une suite de caractères 1 octet = 1 caractère (à afficher, à imprimer ...) Codage ASCII 'A' = 65 ASCII: American Standard Communication Information Interchange • Exécute les instructions : • Arithmétiques (+ - x / mod comparaison) • Logiques (ET - OU – NON test) • Travaille sur les registres de données et les indicateurs. Les indicateurs permettent de savoir après l’exécution d’une instruction si le résultat est nul ou non, s’il est positif ou non, si un nombre est plus grand qu’un autre etc … Programme : Il réalise un algorithme et en mémoire c'est une suite de mots machine (suite d'octets) qui correctement interprété (décodés) par l’unité de contrôle représentent une suite de commandes (instructions) Données : Langage Machine : • Fournies par utilisateur • Utilisées par programmes • Liste des instructions que l'UC (Unité Centrale) est capable de comprendre • Langage symbolique spécifique (Assembleur) 10/09/2012 Unité de de Unité Contrôle Contrôle • L’Unité nité Arithmé rithmétique et Logique (UAL) UAL) ou Arithmetic and Logic Unit (ALU) ALU) : c’ c’est elle qui effectue les opé opération élémentaires sur les donné données. Ces opé opérations sont de 2 types : arithmé arithmétique ou logiques. Les opé opérations arithmé arithmétiques portent sur des entiers. Les opé opérations arithmé arithmétiques sur les ré réel sont fait dans la FPU(Floating FPU(Floating Point Unit). Unit). SHORT REAL 10/09/2012 Architecture d’un ORDINATEUR C. CLAPIER 31 10/09/2012 C. CLAPIER 32 LA MEMOIRE CACHE LA MEMOIRE CENTRALE Elle contient le programme et les données au moment de l'exécution. Mémoire Vive (RAM dynamique) • Rapide, volatile (l’information est perdue si non alimentée) • Capacité moyennement limitée (quelques giga Octets) • Modifiable par le processeur (lecture et écriture) Les mémoire RAM statiques servent à réaliser les mémoires cache. 10/09/2012 C. CLAPIER 33 Pour accélérer l’écriture et la lecture des données en mémoire on utilise des mémoire cache qui servent à cacher une partie de la mémoire centrale. Les mémoire cache ont un temps d’accès bien plus rapide (1ns environ) que la mémoire centrale de l’ordinateur (60 ns environ). Elles contiennent les dernières instructions effectuées et les dernières données utilisées. Et comme dans un programme il y a beaucoup de boucles, qu’un programme utilise souvent les dernières données utilisées les mémoires caches permettent de gagner énormément en performance. 10/09/2012 LA MEMOIRE CACHE HAUT DEBIT PROCESSEUR BAS DEBIT Mémoire Morte (ROM) • Programmes figés (lancement) L’information n’est pas perdue quand elles ne sont plus alimentées • Préprogrammée au cours de la fabrication par le fondeur EPROM (Erasable Programmable Read Only Memory) : mémoire à lecture seule, programmable et effaçable (par UV) EEPROM (Electrically Programmable Read Only Memory) : mémoire à lecture seule programmable et effaçable électriquement. MEMOIRE MEMOIRE PRINCIPALE PRINCIPALE RAM RAM Dynamique Dynamique CONTROLEUR DE CACHE 10/09/2012 C. CLAPIER 34 LES MEMOIRE MORTES MEMOIRE CACHE RAM statique C. CLAPIER 35 10/09/2012 C. CLAPIER 36 Système d’exploitation LES MEMOIRE et les E/S Structure d’accueil composée de plusieurs couches de logiciel, chargée de fournir à l’utilisateur un ensemble de logiciels de base destiné à habiller le matériel nu et à prendre en compte l’ensemble des ressources du système. Il doit optimiser les ressources matérielles de la machine et minimiser les temps morts (traitement des E/S). Il gère le partage des ressources (toutes, les ressources actives et ressources passives). Ensemble des fonctions de base (mais parfois pouvant être très avancées) permettant l'usage d'un ordinateur et sans lequel rien n'est possible. Exemples : Unix, MS-DOS, Linux, OS/2, MacOS, Windows XT, Windows 2000, Windows Vista, Windows 7, Windows CE, Windows mobile, Android. Mémoire secondaire : • Mémoires vives : • Disques durs, • clé USB, • disquettes (en voie de disparition) • Mémoires mortes : • CD-ROM • DVD-ROM Entrées : Clavier, Souris, Reconnaissance vocale, Scanner, Capteurs (stylet,doigts, automates…) Sorties : Clavier Écrans (Vidéo, Cristaux liquides ...), Imprimante 10/09/2012 C. CLAPIER 37 10/09/2012 Système d’exploitation 38 IHM Il existe 2 modes d’interface Homme/Machine : Fonctions : Gestion des ressources actives de l'ordinateur (processeurs qui exé exécutent les programmes) Gestion de la mé mémoire (MMU) Gestion des pé é p riphé riphériques (Entré (Entrées/sorties) Gestion des fichiers Protection et gestion des erreurs Accè Accès sé sécurisé curisé aux donné données Gestion de l’ l’IHM (Interface Homme/Machine) 10/09/2012 C. CLAPIER C. CLAPIER 39 1. Mode texte (consoles dans lesquelles on entre des commandes. Exemple : shells Unix, fenêtre DOS) 10/09/2012 C. CLAPIER 40 Production de logiciel Pour produire un logiciel on a besoin d’écrire le programme dans un langage donné, puis de le compiler de faire une édition de lien et de l’exécuter et parfois de le mettre au point. Pour cela on doit créer a l’aide d’un Éditeur de texte le programme dans un langage donné (Assembleur, langage C, C++, ADA, JAVA, C#...) Production de logiciel Ensuite on doit transformer en langage machine ce fichier source pour qu’il puisse être compris par la machine ou il sera exécuté. C’est le rôle du compilateur. On doit créer un exécutable en faisant l’édition de lien (ou link) des différents modules et en utilisant des modules déjà écrits et qui ont été mis en bibliothèque On peut pour mettre au point un programme utiliser un Debugger Exemple : Notepad++ ou autre. Mais on peut utiliser un IDE (Environnement de Développement Intégré) qui regroupe tous ces programmes. En TP on utilisera CodeBlock sous unix. 10/09/2012 C. CLAPIER 41 10/09/2012 C. CLAPIER 42 IHM de CodeBlocks sous Windows Programmation en C Fichierssources sources Fichiers *.C *.C Compilateur Compilateur CC Compilateur Compilateur CC Fichierobjet objet Fichier *.objou ou*.o *.o *.obj Fichierobjet objet Fichier *.objou ou*.o *.o *.obj Editeurde de Editeur liens liens Fichiers Fichiers librairie librairie Fichier Fichier exécutable exécutable *.exeou oua.out a.out *.exe OUTILDE DEMISE MISE OUTIL AUPOINT POINT AU DEBUGGEUR DEBUGGEUR 10/09/2012 C. CLAPIER 43 10/09/2012 C. CLAPIER 44 Différents niveaux de programmation Adresse mémoire Si vous avez des questions ? Langage de programmation de haut niveau ex: Langage C Langage Assembleur (spécifique à un processeur) 10/09/2012 Merci de votre attention. C. CLAPIER Langage Machine (spécifique à un processeur) 45