Informatique Générale



Documents pareils
Informatique Générale

I.1- DÉFINITIONS ET NOTIONS DE BASE

Histoire de l Informatique

Premiers outils. Premiers calculateurs mécaniques HISTOIRE DE L'INFORMATIQUE

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique et Société : une brève histoire

Conversion d un entier. Méthode par soustraction

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

Machines virtuelles Cours 1 : Introduction

Éléments de programmation et introduction à Java

Introduction à l Informatique licence 1 ère année Notes de Cours

Architecture matérielle des systèmes informatiques

Chimie et physique informatiques

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

Introduction à l algorithmique et à Java

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

CH.3 SYSTÈMES D'EXPLOITATION

Matériel & Logiciels (Hardware & Software)

Informatique. Licence Pluridisciplinaire. Pierre Gérard

Cours Informatique 1. Monsieur SADOUNI Salheddine

Une version javascript sera disponible directement dans le cours prochainement.

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

Introduction à l Informatique

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

MPI Activité.10 : Logique binaire Portes logiques

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Cours 3 : L'ordinateur

Calculateur quantique: factorisation des entiers

Un ordinateur, c est quoi?

Système binaire. Algèbre booléenne

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1 L évolution de l informatique

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Le chiffre est le signe, le nombre est la valeur.

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Chapitre 13 Numérisation de l information

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

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

Matériel informatique (hardware)

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Programmation C. Apprendre à développer des programmes simples dans le langage C

Vers l'ordinateur quantique

DM 1 : Montre Autoquartz ETA

IV- Comment fonctionne un ordinateur?

IFT1215 Introduction aux systèmes informatiques

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Algorithme. Table des matières

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Leçon 1 : Les principaux composants d un ordinateur

HORLOGE ET MONTRE IN SITU : MÉCANIQUE 2

OPTION INFORMATIQUE EN CLASSE DE SECONDE. UN EXEMPLE DE PROGRESSION PÉDAGOGIQUE (suite et fin)

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

Architecture des ordinateurs Introduction à l informatique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

GPA770 Microélectronique appliquée Exercices série A

Cyber-base du Pays Martégal. Atelier «Découverte de l ordinateur»

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

Transmission d informations sur le réseau électrique

L informatique en BCPST

Organisation des Ordinateurs

Représentation des Nombres

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Compter à Babylone. L écriture des nombres

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Acquisition et conditionnement de l information Les capteurs

THÈSE DEVANT L UNIVERSITÉ DE RENNES 1

Cours 1 : Qu est-ce que la programmation?

CI 1 PROBLEME : Quelles sont les fonctions et les caractéristiques d un environnement informatique?

Dossier 03 Périphériques d acquisition

Évaluation et implémentation des langages

Premiers pas sur l ordinateur Support d initiation

Logiciel de Base. I. Représentation des nombres

ELP 304 : Électronique Numérique. Cours 1 Introduction

Initiation au binaire

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Date : Tangram en carré page

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Cours 1 : La compilation

Informatique Machines à calculer en théorie et en pratique

LE PROBLEME DU PLUS COURT CHEMIN

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Éléments d'architecture des ordinateurs

Le multiplexage. Sommaire

Document d aide au suivi scolaire

1 Introduction au codage

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

Les générations d'ordinateurs de 1945 à nos jours

Enregistrement automatique. des données

Représentation d un entier en base b

Alchin Couderc Flambard TBSEID 2

Cours Numération Mathématique de base 1 MAT-B Alphabétisation

Transcription:

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 Plan et objectifs du cours Objectifs du cours Donner une vue d ensemble de l informatique du point de vue historique du point de vue des concepts du point de vue des techniques Donner un aperçu des métiers de l informatique Séances 1-2 : Histoire de l informatique 3-4 : Fondements mathématiques de l informatique 5-6 : Architecture des ordinateurs et des micro-processeurs 7-8 : Systèmes d exploitation 9-10 : Langages de programmation 11-12 : (Réseaux) Informatique Générale Histoire de l informatique Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr 1

Qu est-ce que l informatique? Informatique = mot-valise «Création verbale formée par le télescopage de deux (ou trois) mots existant dans la langue» (Dictionnaire Le Trésor) Lewis Caroll (De l autre côté du miroir) : Eh bien, slictueux signifie : souple, actif, onctueux. Vois-tu, c'est comme une valise : il y a trois sens empaquetés en un seul mot. Exemples franglais, alicament, adulescent, etc. modem, codec, tapuscrit, courriel, clavardage Autobidacte. «Personne qui, par ses seules facultés et sans l'aide de qui que ce soit, est parvenue à un échec cuisant.» "L'autobidacte qui, dans la vie, est parti de zéro pour n'arriver à rien dans l'existence n'a de merci à dire à personne." (Pierre DAC) Informatique =? Information + automatique Qu est-ce que l informatique? Terme créé en 1962 par P. Dreyfus «Société d Informatique Appliquée» L'informatique désigne l'automatisation du traitement de l'information par un système, concret (machine) ou abstrait. L informatique (en anglais computer science, ou computing science), est l étude des fondations théoriques de l information et du calcul et leur implantation et application avec des ordinateurs. Dictionnaire de l Académie française (1967) «Science du traitement rationnel, notamment à l'aide de machines automatiques, de l'information, considérée comme le support de connaissances dans les domaines scientifique, économique et social» Qu est-ce que l information? Dictionnaire de l Académie Française (9ème édition) Informatique, science du traitement rationnel et automatique de l'information ; l'ensemble des applications de cette science Information, élément de connaissance traduit par un ensemble de signaux selon un code déterminé, en vue d'être conservé, traité ou communiqué. Traitement de l'information, emploi d'ordinateurs en vue d'effectuer des opérations logiques et mathématiques complexes à des fins scientifiques, administratives, etc. Sciences de l'information, disciplines concernant l'utilisation de ces techniques dans divers domaines professionnels. 2

Systèmes concrets de traitement de l information L ordinateur... Systèmes concrets de traitement de l information...mais aussi... Systèmes concrets de traitement de l information Edsger Dijkstra : «L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes» 3

STIC : Science et Technologies de l Information et de la Communication Quoi alors? Les STIC appréhendent toute la chaîne de l information et de la communication, avec ses concepts, ses traitements, mais aussi ses réalisations matérielles essentielles pour acquérir l information comme pour la transmettre d après «Création d'un 10e Institut autour des Sciences et Technologies de l'information?», groupe de travail autour de Brigitte Vallée STIC : mots-clés du domaine modèles de calcul, algorithmique (probabiliste, quantique, distribuée), complexité, langages de programmation, logiciel, génie logiciel, systèmes de preuve, test logiciel, sûreté de fonctionnement systèmes d'information, bases de données, fouille de données, document électronique recherche opérationnelle, graphes, optimisation, aide à la décision, contraintes intelligence artificielle, représentation des connaissances, apprentissage automatique, interaction homme-machine, traitement de la langue calcul formel, interface formel/numérique, calcul haute performance, modèles et simulations numériques théorie de l information, protection de l'information (cryptologie, codage), sécurité numérique bio-informatique automatique, systèmes dynamiques, systèmes complexes, robotique, commande des systèmes, contrôle non destructif traitement du signal et de l'image, multimédia, vision par ordinateur, réalité virtuelle ou augmentée, communications numériques systèmes et réseaux, architecture, systèmes d exploitation, systèmes distribués systèmes embarqués, systèmes matériel/logiciel, architectures programmables, systèmes nomades communicants, capteurs et réseaux de capteurs, télécommunications micro et nanotechnologies, micro et nanosystèmes. Système abstrait de traitement de l information? Qu est-ce que c est? un système formel définissant des objets qui peuvent représenter ce qu'on appelle de procédures de calcul, des algorithmes ou des programmes. Ils définissent ensuite un moyen systématique d'appliquer ces procédures, c'est-à-dire de calculer Exemples de modèles de calcul Machine de Turing Lambda-calcul (λ-calcul) 4

Automate à états finis Définition Un automate est constitué d'états et de transitions Son comportement est dirigé par un mot fourni en entrée : l'automate passe d'état en état, suivant les transitions, à la lecture de chaque lettre de l'entrée L'automate est dit «fini» car il possède un nombre fini d'états distincts : il ne dispose donc que d'une mémoire bornée. Un automate fini forme un graphe orienté étiqueté les états de l automate sont les sommets du graphe les transitions de l automate sont les arêtes étiquetées La machine de Turing (0/2) La machine de Turing (1/2) Un «ruban» divisé en cases consécutives chaque case contient un symbole parmi un alphabet fini l'alphabet contient un symbole spécial «blanc» ( _ ), et un ou plusieurs autres symboles le ruban est supposé être de longueur infinie vers la gauche ou vers la droite, en d'autres termes la machine doit toujours avoir assez de longueur de ruban pour son exécution on considère que les cases non encore écrites du ruban contiennent le symbole «blanc». Une «tête de lecture/écriture» peut lire et écrire les symboles sur le ruban peut se déplacer vers la gauche ou vers la droite du ruban. 5

La machine de Turing (2/2) Un «registre d'état» mémorise l'état courant de la machine de Turing. Le nombre d'états possibles est toujours fini, et il existe un état spécial appelé «état de départ» qui est l'état initial de la machine avant son exécution. Une «table d'actions» indique à la machine, en fonction du symbole lu sur le ruban et de l'état courant de la machine : quel symbole écrire comment déplacer la tête de lecture ( <' pour une case vers la gauche, >' pour une case vers la droite) quel est le nouvel état si aucune action n'existe pour une combinaison donnée d'un symbole lu et d'un état courant, la machine s'arrête. Machine de Turing : exemple 1 Inversion de tous les bits 1,0 1,1,> 1,1 1,0,> 1,_ H,_,> Si la machine est dans l état 1 et qu elle lit le symbole 0, elle passe dans l état 1, écrit le symbole 1, et déplace la tête de lecture vers la droite Machine de Turing : exemple 1 Représentation sous forme d un graphe les états de l automate sont les sommets du graphe les transitions de l automate sont les arêtes étiquetées 1,0 1,1,> 1,1 1,0,> 1,_ H,_,> 1, 0, > 0, 1, > 1 start _, _, > H 6

Machine de Turing : exemple 2 Compteur de parité 1,0 1,0,> 1,1 2,1,> 1,_ H,P,> 2,0 2,0,> 2,1 1,1,> 2,_ H,I,> start Qu est-ce qu un ordinateur? Un ordinateur est un équipement informatique ; il permet de traiter des informations selon des séquences d'instructions prédéfinies ou programmes. Il interagit avec l'environnement grâce à des périphériques (écran, clavier, modem...). Un ordinateur est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, ou bits. Dictionnaire de l Académie Française «Équipement informatique comprenant les organes nécessaires à son fonctionnement autonome, qui assure, en exécutant les instructions d un ensemble structuré de programmes, le traitement rapide de données codées sous forme numérique qui peuvent être conservées et transmises.» Le terme «ordinateur» est d origine biblique (il se trouvait dans le Littré comme adjectif désignant «Dieu qui met de l ordre dans le monde») Qu est-ce qu un programme? Un programme informatique est une liste d'ordres indiquant à un ordinateur ce qu'il doit faire. Il se présente sous la forme d'une ou plusieurs séquences d'instructions, comportant souvent des données de base, devant être exécutées dans un certain ordre par un processeur ou par processus informatique Un algorithme énonce une résolution sous la forme d'une série d'opérations à effectuer. La mise en œuvre de l'algorithme consiste en l écriture de ces opérations dans un langage de programmation et constitue alors la brique de base d'un programme informatique 7

L électronique numérique Systèmes électroniques fonctionnant sur la base d états électriques précis dont le nombre et les valeurs sont fixés à leur conception, à chaque état correspondant une valeur numérique pbs de parasites solution = limiter au maximum le nombre d états distincts Le système binaire Basé sur l utilisation de 2 états Les états sont notés FAUX/VRAI ou 0/1 Ces états peuvent être combinés au travers de portes logiques réalisant des opérations ou fonctions logiques telles le ET, le OU, le NON, etc. Une vue d ensemble Mécanique Horlogerie, Automates Invention des nombres (binaire, décimal, sexagésimal, etc.) Invention du calcul (cailloux, bouliers, abaques, tables, etc.) Automates à programmes Calcul mécanisé externes (P. Jaquet-Droz, A. Favre, (W.Schickard, B. Pascal, G. W. Leibniz) J. M. Jacquard, etc.) Algorithmique (A. Lovelace) Fondements théoriques (D. Hilbert, K. Gödel, A Turing) Théorie de l information (C. Shannon) Machine analytique (C. Babbage) Ordinateur numérique (A. Turing, J. v. Neumann) Logique binaire (G. W. Leibniz, G. Boole) Electronique Compter Utilisation des doigts et des mains compter un ensemble d objets communiquer un nombre à son interlocuteur Etymologie digitus (doigt) -> unité digit = chiffre (anglais) digital ~ numérique articulus (articulation) -> dizaine 8

Compter Encoches sur un os ou un bâton sur les parois des cavernes (plutôt que de dessiner n fois la chose à compter) Nœuds sur une corde Problème compter sans erreur le nb d encoches ou de nœuds lire le nb d encoches solution répartition des encoches par groupes décomposition selon le principe des bases Systèmes de numération additifs Principe Symboles juxtaposés jusqu à un certain nombre (I, II, III, IIII) Nouveau symbole pour désigner le nombre suivant (V) Combinaison des symboles précédents pour former les nombres (VI, VII, VIII, VIIII) Nouveau symbole pour désigner le nombre suivant (X) Exemples Sumer, Egypte, Grèce, Mésopotamie, Mayas, Phéniciens, Romains Système de numération additif de Sumer Notation archaïque (3200 av. J. C.) 1 Notation cunéiforme (2300 av. J. C.) =? 10 60 =? 600 =? 3600 9

Autres systèmes de numération additifs Egyptien Grec Système attique =? =? Système alphabétique Le système romain Symboles I = 1 X = 10 C = 100 M = 1000 V = 5 L = 50 D = 500 Règles d écriture : Toute lettre placée à la droite d une autre figurant une valeur supérieure ou égale à la sienne s ajoute à celle-ci ; Toute lettre placée immédiatement à la gauche d'une lettre de valeur supérieure, indique que le nombre qui lui correspond doit être retranché au nombre qui suit ; Les valeurs sont groupées en ordre décroissant, sauf pour les valeurs à retrancher selon la règle précédente ; La même lettre ne peut pas être employée quatre fois consécutivement ; Limites des systèmes additifs Beaucoup de symboles nécessaires pour écrire un nombre LXXXVIII = 88 Opérations d addition et de multiplication très compliquées Exemple 12 : 77 23 + * 13 94 10

Les systèmes positionnels Principe la valeur associée à un chiffre dépend de sa position dans le nombre différentes bases possibles base 5 (peuples khmers et caraïbes) base 10 base 20 (esquimaux, mayas, aztèques) base 60 (sumériens, babyloniens) Inventés 3 fois de manière indépendante par les babyloniens (~1800 av. J. C.) par les chinois (un peu avant 0) par les mayas Système positionnel de Mari (~1800 av. J. C.) Positionnel symboles du 1 et du 100 identiques Non strictement positionnel symbole distinct pour le 10 Système positionnel de Babylone Strictement positionnel à base 60 base 10 auxiliaire pb spécifique pour représenter le 0 ajout d un espace puis d un signe spécifique 11

Système de numération indien (IV ème siècle) A l origine de notre système de numération moderne avec 0 opératoire système «parfait et universel» permet de représenter de très grands nombres est parvenu jusqu à nous via les arabes Calculer Etymologie grouper des cailloux (calculus) par dizaines ou par centaines afin de réaliser des opérations arithmétiques Le calcul digital 12

Les abaques Définition de abacus en latin et de abax ἄβαξ en grec signifiant table à poussière») : nom donné à tout instrument mécanique plan facilitant le calcul Historique apparus en Grèce utilisés en Chine vers 500 av. J. C. importés chez les romains vers le 1 er siècle av. J. C. chaque rainure divisée en deux parties en bas, les jetons valent une unité en haut, les jetons valent 5 les rainures sont ordonnées de droite à gauche unités à droite (I)... puis dizaines (X), centaines (C), etc. Les bouliers Une forme particulière d abaque Différentes versions chinoise (suan pan, XII ème siècle) japonaise (soroban, XIV ème siècle) russe (stchoty) française (variante du boulier russe) Fonctionnalités 4 opérations arithmétiques (+, -, *, /) racines carrés et cubiques La multiplication indienne (VI ème siècle) 547 * 6 538 = 3 576 286 13

Les «os» de Napier (1617) Utilisation multiplications et divisions extraction de racines carrées J. Napier - Les logarithmes (1614) Fonction mathématique λ définie sur ]0, +, à valeurs dans R, continue et transformant un produit en somme, c est-àdire vérifiant : pour tout a, b dans ]0, +, λ(ab) = λ(a) + λ(b) Permet de calculer des produits et divisions grâce à des tables de logarithmes des règles à calculer E. Gunter, 1620 W. Oughtred, 1630 R. Bissaker, 1654 F. Bacon - le codage binaire (1623) But = crypter un texte pour qu il ne puisse pas être déchiffré lettres de l alphabet remplacées par des séquences de 5 caractères a ou b (alphabet bilitère) un texte de couverture quelconque est imprimé en utilisant deux styles typographiques distincts, l un associé au a, l autre associé au b ex: N epart ez s ur t ou t pas s ans m oi aababbaabbbabbaaabaababbb f u y e z 14

G. W. Schickard - l «horloge à calculer» (1623) But = aider J. Kepler à faire ses calculs 4 opérations os de Napier rotatifs 4 opérations arithmétiques B. Pascal - La Pascaline (1642) But = aider son père, receveur des impôts sans connaissance des travaux de Schickard à 19 ans seulement! addition (et soustraction) Les rouages internes de la Pascaline 15

G. v. Leibniz - Numération binaire (1666) But = langage universel permettant une représentation exacte de toutes réalités ; réduire toutes les opérations logiques à un calcul inspiré par le codage binaire de Bacon inspiré par le Yi Jing (système de divination chinois - 3000 av. J. C.) G. v. Leibniz - «Step Reckoner» (1694) But = «libérer» les hommes du calcul extension du travail de Pascal 4 opérations arithmétiques racines carrées J. de Vaucanson - Le joueur de flûte (1737) But = étudier la respiration humaine cylindre de bois avec des picots qui donnaient des impulsions à 15 leviers 16

J. de Vaucanson - Le canard (1738) But = reproduire la digestion "un canard artificiel en cuivre doré qui boit, mange, cancane, barbotte dans l'eau et fait la digestion comme un canard vivant" J. de Vaucanson - métier à tisser automatique (1749) But = améliorer la productivité 1725 : B. Bouchon introduit le papier continu troué pour commander le métier à tisser 1728 : J. B. Falcon améliore le système en remplaçant le papier par des rectangles de carton attachés ensemble 1749 : premier métier à tisser entièrement automatique, mais en remplaçant les cartons par un cylindre percé de trous reposant sur un chariot à galets roulants P. et H. L. Jaquet-Droz - L écrivain (1772) But = présenter au public un personnage mystérieux cylindre vertical -> codage de 40 lettres et signes disque sur lequel on «programme» le texte 17

P. et H. L. Jaquet-Droz - L écrivain (1772) P. et H. L. Jaquet-Droz - La joueuse d orgue joue réellement sur un vrai orgue cylindre horizontal qui commande les doigts des 2 mains A. Favre - La boîte à musique (1796) évolution des carillons cloches et marteaux remplacés par le peigne ou clavier et les picots du rouleau 18

A. Favre - La boîte à musique (1796) J. M. Jacquard - le métier Jacquard (1801) But = limiter le travail des enfants Techniques aiguilles de B. Bouchon cartes perforées de J. B. Falcon cylindre de J. de Vaucanson Considéré par beaucoup comme l ancêtre de l ordinateur cartes perforées encore utilisées dans les années 70 pour programmer les ordinateurs!!! C. Babbage - la machine à différences (1821) But = corriger les innombrables erreurs présentes dans les tables mathématiques principe inventé en 1786 par J.-H. Müller basé sur le calcul différentiel développé indépendamment par Leibniz et Newton évaluer les valeurs d un polynôme pour toutes les valeurs de x, sans avoir à réaliser de multiplications ex : F(x) = 2x + 3 x 1 2 3 4 5 6 F(x) 5 7 9 11 13 15 Diff. 2 2 2 2 2 Caractéristiques 6ème différence pour nombres de 18 digits 19

C. Babbage - la machine à différences (1821) 2 machines imaginées, jamais terminées 1843 : C. Scheutz & fils, premiers à construire une machine de 5 digits et 3 différences puis 15 digits et 4 différences 1991 : reconstituée au Science Museum de Londres (3t, 4000 pièces) C. Babbage - la machine à différences (1821) C. Babbage - la machine analytique (1834-1836) Babbage définit les principaux concepts sur lesquels reposent les machines informatiques un dispositif d entrée-sortie (cartes perforées) un organe de commande (control barrel) gérant le transfert des nombres et leur mise en ordre pour le traitement ; un magasin (store) permettant de stocker les résultats intermédiaires ou finaux ; un moulin (mill) chargé d'exécuter les opérations sur les nombres ; un dispositif d'impression Jamais réalisée techniques de l époque insuffisantes 20

Programmation de la machine analytique La machine analytique est programmable grâce aux cartes perforées en entrée un lecteur pour le programme un lecteur pour les données permet à la machine de réaliser des boucles des branchements conditionnels (saut de quelques instructions en avant ou en arrière) instructions contrôlées par le séquenceur cylindre poussant des barres pour réaliser les différentes étapes d une opération de calcul peut à tout moment indiquer l étape suivante rotation commandée par un compteur A. Byron, comtesse de Lovelace - l algorithmique Collaboratrice de Babbage chargée de réaliser les programmes de la machine première «programmeuse» de l histoire invente la technique des sous-programmes «La machine analytique n'a nullement la prétention de créer quelque chose par elle-même. Elle peut exécuter tout ce que nous saurons lui ordonner d exécuter [...] Son rôle est de nous aider à effectuer ce que nous savons déjà dominer» Euclide - Les éléments (300 av. J.C.) - algorithme de calcul du PGCD Abou Jafar Muhammad Ibn Mūsa al-khuwārizmī (780- ~850) - décrit des méthodes de calcul algébrique Averroès (1126-1198) - décrit une méthode de raisonnement ou la thèse s affine étape par étape L avenir des calculatrices mécaniques 1822 - Commercialisation par C. X. Thomas de calculatrices inspirées de celle de Leibniz Pb = lenteur à cause de l introduction des données 1850 - Ajout d un clavier numérique comme sur les machines à écrire (Remington, Hansen) commercialisées à partir de 1887 1885 - Ajout d une imprimante pour la sortie des résultats (Burrough) 21

Du mécanique à l électrique 1890 - Totalisateur électrique (H. Hollerith) machine de dépouillement des résultats du recensement américain de 1890, basée sur l utilisation de cartes perforées fondateur de la Tabulating Machine Company, qui deviendra International Business Machine (IBM) en 1924 L algèbre de Boole G. Boole 1854 : restructure la logique en un système formel -> la logique devient une branche des mathématiques Algèbre de Boole partie des mathématiques, de la logique et de l électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques permet d'utiliser des techniques algébriques pour traiter les expressions à deux valeurs de la logique des propositions permet de modéliser des raisonnements logiques, en exprimant un état en fonction de conditions L informatique théorique - D. Hilbert (1928) 3 questions (parmi d autres) posées au Congrès International des Mathématiciens Les mathématiques sont-elles complètes? tout énoncé mathématique peut-il être soit prouvé, soit réfuté? Les mathématiques sont-elles cohérentes? peut-on être sûrs que des raisonnements valides ne conduiront pas à des absurdités? Les mathématiques sont-elles décidables? existe-t-il un algorithme pouvant dire de n importe quel énoncé mathématique s il est vrai ou faux? Entscheidungsproblem 22

L informatique théorique - K. Gödel (1931) répond aux deux premières questions de Hilbert tout système formel suffisamment puissant est soit incohérent, soit incomplet si un système d axiomes est cohérent, cette cohérence ne peut être prouvée en n utilisant que les axiomes L informatique théorique - A. Turing (1936) Résout l Entscheidungsproblem construit un modèle formel de calculateur (la machine de Turing) prouve que sa machine ne peut résoudre certains problèmes, notamment le problème d arrêt étant donné un programme, peut-on dire s il termine pour n importe quelle valeur des données? ex. : tant que x!= 1 faire si x est pair alors x := x / 2 si x est impair alors x := 3x + 1 stop La machine de Turing (1936) Comprend un bande de longueur illimitée constituée de cellules un contrôleur comporte un nombre limité d états, dont un état spécial, l état de départ, qui est l état initial de la machine avant son exécution peut lire et écrire des symboles sur la bande agit en fonction de l état courant et du symbole lu en activant des règles (dont l ensemble constitue le programme) : réécrire le symbole courant changer d état se déplacer à gauche ou à droite sur la bande 23

Calculabilité et thèse de Church-Turing Calculabilité cherche à identifier la classe des fonctions qui peuvent être calculées à l aide d un algorithme le problème de l arrêt n est pas calculable Thèse de Church-Turing Tout problème de calcul basé sur une procédure algorithmique peut être résolu par une machine de Turing Tout problème solvable sur un ordinateur est aussi solvable sur une machine de Turing C. Shannon Premier à utiliser l algèbre de Boole, pour les circuits de commutation téléphonique (1937) construire des machines à relais en utilisant l'algèbre de Boole pour décrire l état des relais (1: fermé, 0: ouvert) Communication = émetteur ET Récepteur Communication est VRAI Si émetteur actif ET Récepteur actif Décrocher = ( Décision de répondre ET Sonnerie ) OU décision d'appeler Décrocher est VRAI Si on entend la sonnerie ET que l'on décide de répondre OU si l'on décide d'appeler Ordinateurs électro-mécaniques Caractéristiques utilisent des relais de téléphones programmes externes sur bandes Principales dates 1937 : G. Stibitz (Model K) 1939 : K. Zuse (Z2) 1940 : G. Stibitz (Complex Number Calculator) 1941 : K. Zuse (Z3) 1944 : H. Aiken (Harvard Mark I) 24

G. Stibitz Employé chez Bell Labs Model K («kitchen table» 1937) Additionneur binaire électromécanique à base de relais de téléphone Complex Number Calculator (1940) calculatrice (+, -, *, /) de nombres complexes 450 relais reliée par lignes téléphoniques à 3 terminaux K. Zuse - Z1 (1937) Calculateur mécanique Utilise le système binaire pièce poussée ou tirée pour représenter «0» ou «1» porte logique mécanique programme fourni par film 35mm percé de trous représentation des nombres en «virgule flottante» Sépare l unité de traitement la mémoire de données l unité de commande Peu fiable certaines pièces fabriquées à la main avec une scie K. Zuse - Z2 (1939) Calculateur électro-mécanique à relais relais de téléphones électro-mécaniques «ouvert/fermé» Caractéristiques mémoire mécanique du Z1 (64 nbs flottants de 22 bits) unité de calcul composée de 1000 relais Fonctionnelle mais encore très peu fiable présenté à l Institut de recherche aéronautique allemand 25

K. Zuse - Z3 (1941) Considéré comme le premier véritable ordinateur de l histoire utilisé pour des calculs aéronautiques Caractéristiques Fréquence du processeur : 5,33 Hz Puissance réelle : 20 Flops Nb relais : 2600 Programmable par ruban perforé pas de branchement conditionnel Turing-complet K. Zuse - Architecture du Z3 (1941) K. Zuse - Jeu d instructions du Z3 (1941) 26

H. Aiken - Mark I (1939-1944) Université de Harvard construit avec T. J. Watson inspiré de la machine de Babbage IBM ASCC (Automatic Sequence Controlled Calculator) Caractéristiques électromécanique 750000 éléments / 5 tonnes / 37 m 2 travaille en décimal 3 opérations sur 23 chiffres / s mémoire de 72 chiffres (roues) programmable par bandes de papier Ordinateurs électroniques Caractéristiques utilisent des tubes à vide puis des transistors programmes externes puis enregistrés Principales dates 1939-42 : J. Atanasoff / C. Berry (ABC) 1943 : A. Turing / T. Flowers (Colossus II) 1945 : J. Mauchly / J. P. Eckert (ENIAC) J. Atanasoff / C. Berry - ABC (1939-1942) Université de l Iowa jamais terminé Caractéristiques utilise des tubes à vide 210 pour l additionneur-soustracteur 300 pour le contrôleur mémoire de 30 nombres de 50 digits (capacités sur cylindres rotatifs) fonctionne à 60 Hz 27

A. Turing - «Bomb» (1940) Bletchey Park machine électro-mécanique conçue pour décrypter les messages allemands de la machine Enigma A. Turing - «Colossus I & II» (1940 / 1943) Bletchey Park premier calculateur électronique fondé sur le langage binaire conçu pour décrypter le code Lorenz révélé uniquement en 1970 Caractéristiques 1500 puis 2400 tubes à vide 5000 opérations/s instructions lues sur bandes perforées stockées dans mémoires tampons J. Mauchly / J. P. Eckert - ENIAC (1943-1945) Moore School (Université de Pennsylvanie) Electronic Numerical Integrator And Computer destiné au calcul de tables balistiques souvent considéré comme le premier ordinateur Caractéristiques 30 tonnes / 150 KW / 18000 tubes à vide / 200 KHz programmation par recablage utilise la base 10 accumulateurs Fonctionne jusqu en 1952 fragile (1 panne / 3 jours) 28

J. v. Neumann - EDVAC (1945) Moore School Electronic Discrete VAriable Computer Points de repères J. v. Neumann discute de l ENIAC avec Mauchly et Eckert publie un rapport en 1945 décrivant l architecture de l EDVAC programme enregistré dans la mémoire séparer unité de commande / programme enregistré / unité de traitement une seule mémoire pour instructions et données IBM - SSEC (1947) Repères Selective Sequence Electronic Computer inspiré du Harvard Mark I dernier et plus complexe des monstres électromécaniques Caractéristiques Ordinateur hybride 13000 tubes à vide (arithmétique) 8 registres rapides et 23000 relais (contrôle) 50 instructions/s Codage des chiffres de 0 à 9 par code binaire BCD (Binary Coded Decimal) Programmation programme écrit sur bande papier perforée registres internes pouvant contenir des instructions possibilité de boucles, branchements conditionnels, sauts IBM - SSEC (1947) Repères Selective Sequence Electronic Computer inspiré du Harvard Mark I dernier et plus complexe des monstres électromécaniques 29

Dans le sillage de v. Neumann (1) «Baby» de Manchester (1948) T. Kilburn / F. Williams utilise des tubes cathodiques capacités très limitées (mémoire de 32 mots de 32 bits) Dans le sillage de v. Neumann (2) EDSAC de Cambridge (1949) M. V. Wilkes mémoires à ligne de retard à mercure (16 tubes de 32 mots de 17 bits) Dans le sillage de v. Neumann (3) BINAC (47-49) & UNIVAC (47-51) Eckert et Mauchly premiers ordinateurs électroniques à programme enregistré aux Etats-Unis 30

EDVAC... suite et fin (1952) Repères le mise au point a pris beaucoup de retard suite à de nombreux conflits et procès Caractéristiques 6000 tubes à vides / 12000 diodes / 56 KW / 45 m 2 / 7850 kg mémoire de 1000 mots de 44 bits cadencée à 1MHz 3 équipes de 30 personnes pour le faire fonctionner fonctionne jusqu en 1961 J. v. Neumann - IAS (1952) Princeton Institute for Advanced Studies Caractéristiques architecture parallèle asynchrone les 40 bits d une donnée sont traités en parallèle les différentes unités travaillent à leur propre rythme 2500 tubes à vide mémoire de 4000 mots de 40 bits cadencée à 1 MHz 1947 : invention du transistor Le transistor est le composant électronique actif fondamental en électronique utilisé principalement comme interrupteur commandé et pour l'amplification, mais aussi pour stabiliser une tension, moduler un signal ainsi que de nombreuses autres utilisations Supplante le tube à vide plus petit plus fiable ordinateurs de deuxième génération IBM 1401 (59) / 1620 (60) / 7000 (60) DEC PDP-1 (60) 1er ordinateur interactif 31

1958 : invention du circuit intégré Le circuit intégré, aussi appelé puce électronique, est un composant électronique reproduisant une ou plusieurs fonctions électroniques plus ou moins complexes, intégrant souvent plusieurs types de composants électroniques de base dans un volume réduit, rendant le circuit facile à mettre en oeuvre Ordinateurs de troisième génération 1964 : IBM série 360 1ère gamme d ordinateurs compatibles entre eux 1964 : DEC PDP-8 beaucoup plus compact 1969 : Data General Nova bon marché (50000 exemplaires vendus) 1971 : invention du microprocesseur 1971 : Intel 4004 ordinateurs de 4ème génération 32