Historiques et évolution des ordinateurs
Repères historiques Les premiers registres - Abaque: première tablette à calculer en Mésopotamie - Boulier: vers 3500 av. J.C en Chine Pas d’amélioration jusqu’au 17ème siècle. 1614: John Napier (Écosse) découvre les logarithmes: multiplications et la division transformées en une successions d’additions.
Les machines à calculer 1620: mise en œuvre de cette invention au moyen de la règle à calcul. Les machines à calculer 1623: machine de Schickard (Allemagne): fonctionnement mécanique basé sur le principe de tiges proportionnelles aux logarithmes des nombres impliqués dans ces opérations.
1643: Pascaline de Pascal (France): fonctionnement mécanique à système de roues à ergot. Additions + soustractions et faisait aussi des reports
(Allemagne). Effectue les quatre opérations de base + 1673: amélioration de la Pascaline par Leibniz (Allemagne). Effectue les quatre opérations de base + extraction de racines carrées. Non construite faute de moyens financiers.
1801: industrie de textile (France) Jacquard et Falcon Machines à cartes perforées 1801: industrie de textile (France) Jacquard et Falcon
1887: Hollerith (USA) machine à lire des cartes (CENSUS MACHINE).
Ordinateur primitif 1830: Charles Babbage – machine à différences- utilise les principes de report de la Pascaline combinés avec les cartes perforées de Jacquard
1834: Charles Babbage- machine analytique- système de numération décimal; accepte des nombres de 50 chiffres; en résultat, un nombre de 100 chiffres (imprimé; cartes perforées; courbe)- projet non finalisé. Cette machine réunissait déjà des fonctions automatiques essentielles: mémoire- dispositifs de calcul- fonction de commande et d’entrée-sortie
La machine analytique de C. Babbage
1930: L'Enigma et les Bombes Composée d'un clavier, de 26 lampes pour représenter l'alphabet et généralement de 3 rotors, l'énigma était destinée à l'origine à crypter des documents d'affaires. 1939 ABC par J. ATANASHOFF et Clifford BERRY. Ce calculateur, a été le premier à utiliser le système binaire et était capable de résoudre des équations à 29 variables.
1943 Harvard MARK 1 par H. AIKEN 1943 Harvard MARK 1 par H. AIKEN. Cette machine, construite en collaboration avec IBM, utilise un principe inspiré par les travaux de C. BABBAGE. Composée de 765 299 éléments, elle pesait 5 tonnes et avait besoin de plusieurs tonnes de glace par jour pour la refroidir. Ses performances et sa fiabilité étaient remarquables mais elle ne pouvait effectuer aucun saut conditionnel.
1946 ENIAC, par J. ECKERT et J. MAUCHLY (Electronic Numerical Integrator and Computer) Commandé par l'armée par l'armée des États-Unis en 1943 pour effectuer les calculs de balistique, il remplaçait 200 personnes chargées auparavant de calculer les tables de tir.
ENIAC pesait 30 tonnes
Disposé en une sorte de U de 6 mètres de largeur par 12 mètres de longueur
1948: Manchester Mark 1 (ou Ferranti Mark I) ce prototype est le premier à disposer d'une unité de commande interne et à suivre un programme enregistré. C'est sur cette machine de 1300 tubes qu'est utilisée pour la première fois la mémoire à tubes Williams.
1949: EDSAC, par Maurice WILKES (Electronic Delay Storage Automatic Computer) Cet ordinateur numérique et électronique est basé sur l'architecture de J. Von NEUMANN. Composé de 3000 tubes et consommant 30KW, il utilise une mémoire de type "lignes de retard à mercure". Il s'agit d'une machine parfaitement opérationnelle qui a été construite dans un laboratoire de l'Université de Cambridge en Angleterre.
1959: IBM 1401: Utilisant des transistors et des mémoire à tores de ferrite, fourni avec un générateur d'applications (RPG) destiné à en faciliter l'utilisation, cet ordinateur a marqué une étape dans l'ère de la comptabilité. L'imprimante (1403) associée était d'une rapidité exceptionnelle (600 lignes par minutes !). IBM avait tablé sur un millier de ventes... plus de 12 000 exemplaires seront vendus
1964: IBM System/360: Alors que tous ses ordinateurs utilisaient des architectures et logiciels incompatibles entre eux, IBM décida d'investir plusieurs millions de dollars et de développer une gamme entièrement nouvelle : 6 ordinateurs et 44 périphériques, ayant des capacités différentes mais tous compatibles entre eux. La technologie utilisée, loin d'être innovante, était transistors et mémoire à tores.
1965: Premier mini-ordinateur diffusé massivement: PDP-8 de DEC 1973: Micral-N de R2E C'est le premier micro-ordinateur du monde, il a été inventé par A. TRUONG, fondateur de R2E, une petite société Française
1973: l'Alto (renommé Xerox Star en 1981) de XEROX Ce prototype, pensé pour devenir le bureau du futur, est un condensé des idées proposées par les chercheurs réunis par XEROX au Palo-Alto Research Center (PARC). Il est le premier à introduire l'idée de fenêtres et d'icônes que l'on peut gérer grâce à une souris. Principalement, en raison de son coût, cet ordinateur ne connaîtra qu'un succès d'estime
1975: Altair 8800 de ED. ROBERTS (MITS) Il est considéré par les Américains comme le premier micro-ordinateur du monde, bien que ce soit le Micral-N. Cependant, c'est pour l'Altair que sera le premier BASIC Microsoft. 1976: CRAY I: Créé par Saymour CRAY, c'est le premier ordinateur à architecture vectorielle (parallèle).
1978: DEC VAX 11/780 (Virtual Address eXtension) Premier modèle de "supermini", cet ordinateur 32 bits pouvait exécuter des programmes écrits pour le PDP-11. Il avait aussi suffisamment de ressources pour supporter des applications qui étaient jusqu'ici réservées aux gros ordinateurs. Il reste aussi célèbre pour son système d'exploitation VMS
1981: IBM-PC (Personnal Computer) Cet ordinateur, qui n'apporte aucune idée révolutionnaire est la réaction du n°1 mondial face à la micro-informatique : Il était fait d'une accumulation de composants standards et de logiciels sous-traités (principalement auprès de Microsoft) dans le but de minimiser le temps nécessaire pour sa mise au point.
1984: Amiga Utilisant un microprocesseur Motorola 680x0, ce micro-ordinateur reste parmi les leaders pour ce qui est du graphisme et de la musique. 1984: Macintosh d'APPLE Basé sur le projet LISA, c'est l'ordinateur convivial par excellence: Son utilisation est très simple grâce à la souris et à la qualité de ses graphismes. Il devient au fil des années et des version, l'autre grand standard (avec le PC d'IBM) du monde de la micro-informatique.
1985: Cray II : Miniaturisé, il est 10 fois plus puissant que son prédécesseur, le Cray I. 1986: The Connection Machine Premier ordinateur "massivement parallèle" composé de 16 000 processeurs. 1994: Paragon d'Intel Coûtant 20 Millions de dollars, occupant un volume de 48m3, il est composé de 2000 processeurs et de 64 Giga-octets de mémoire. Il peut effectuer
150 milliards d'opérations en virgule flottante par seconde 1994: PowerMac d'APPLE Basé sur le microprocesseur POWER-PC réalisé par Motorola en collaboration avec IBM, il était présenté comme le successeur commun du PC et du MAC. Cependant, malgré de très bonnes performances, il tarde à s'imposer.
Ordinateur et changements technologiques Première génération: Tubes électroniques (lampes à vide) Deuxième génération: transistors Troisième génération: circuits intégrés Quatrième génération: microprocesseurs. Cinquième génération: intelligence artificielle.
Première génération 1949-1957 Ordinateur à cartes perforées et à bandes magnétiques Programmation physique en langage machine Appareils immenses, lourds, énergie élevée Utilisation de tubes à vide et mémoires à tambour magnétique Prix élevé / capacité et performance.
Deuxième génération 1958 - 1964 Utilisation de transistors et des mémoires à ferrite. Utilisation de mémoires de masse pour le stockage périphériques. Temps d’accès moyen (de l’ordre de la micro-seconde). Fonctionnement séquentiel des systèmes de programation (langages évoluées).
Troisième génération 1965-1971 Miniaturisation des composants (circuits intégrés) Apparition des systèmes d’exploitation Concepts de temps partagés Machines polyvalentes et de capacité variée Appareils modulaires et extensibles Multitraitement (+ieurs programmes à la fois) Télétraitement (accès par téléphone)
Quatrième génération 1971-1982 Miniaturisation extrêmes des composants Apparition des micro-proceseurs Diversification des champs d’application Apparition de la micro-informatique
Cinquième génération Miniaturisation des composants poussée à l’extrême Vitesse proche de celle de la lumière. Nouvelle architecture physique Vitesse de traitement augmentée jusqu’au gigalips (Logical Inference: de 100 à 1000 instructions)
Processeurs en parallèle Ajout du traitement de l’aspect sémantique
Structure des ordinateurs John Von Neumann est à l'origine (1946) d'un modèle de machine universelle (non spécialisée) qui caractérise les machines possédant les éléments suivants : une mémoire contenant programme (instructions) et données, une unité arithmétique et logique (UAL ou ALU en anglais), une unité de commande (UC).
une unité permettant l'échange d'information avec les périphériques : l'unité d'entrée/sortie (E/S ou I/O), ( clavier, lecteur de cartes perforées, ruban, ... écran, imprimante, cartes perforées, ....)
Schéma d’un ordinateur UAL = unité arithmétique et logique
Caractéristiques d’un ordinateur Machine contrôlée par programme Programme enregistré en mémoire Instruction du programme codée sous forme binaire Le programme peut modifier ses instructions Exécution des instructions en séquence Existence d’instructions de rupture de séquence.
Unité de Commande 1. extrait une instruction de la mémoire, 2. analyse l'instruction, 3. recherche dans la mémoire les données concernées par l'instruction, 4. déclenche l'opération adéquate sur l‘UAL ou sur l’unité d'E/S 5. range au besoin le résultat dans la mémoire.
Unité arithmétique et logique Exécute des opérations artihmétiques (comme l’addition, la soustraction), des décalages de bits, des comapraisons, des opérations logiques (booléennes) telles que ET, OU, ...,
Mémoires Dispositif capable de stocker des informations (instructions et données) en 0 et 1 de telle sorte que l’organe qui les utilise puisse, à n’importe quel instant, accéder à l’informations qu’il demande. Les informations peuvent être écrites ou lues.
Écriture quand on enregistres des informations en mémoire. Lecture quand on sort des informations précédemment lues en mémoire. Temps d’accès: temps qui s’écoule entre l’instant où une opération de lecture en mémoire a été lancée et l’instant où cette information est disponible.
Une mémoire est formée d'un certain nombre de cellules, ou cases, contenant chacune une information. Chaque case est constituée d’un ensemble de bits (BInary digiT) Un bit est la plus petite unité de stockage en informatique. Un bit peut coder deux états (l'état vrai ou l'état faux). Huit bits constituent un octet (soit 256 états possibles 28).
Symbole Préfixe Décimal Binaire 1 k (kilo) 10^3 2^10 = 1024 1 M (méga) 10^6 2^20 = 1048576 1 G (giga) 10^9 2^30 = 1073741824 1 T (tera) 10^12 2^40 = 1099511627776
Quelques mots sur la mémoire Carte perforée à 80 colonnes d'IBM Ce système qui deviendra un standard est la généralisation de la carte perforée qui est à l'origine de la compagnie. Mémoires à tubes Williams Développée par F. C. Williams, ce type de mémoire utilise les charges résiduelles laissées sur l'écran d'un tube cathodique après qu'il ait été frappé par le faisceau d'électron.
Bande magnétique Tambour magnétique Mémoires vives à tores de ferrite Pendant une petite vingtaine d'année, ce principe de mémoire sera le plus utilisé avant d'être remplacé par la mémoire à semi-conducteurs. Tambour magnétique Disque magnétique Aussi appelé disque dur, ce type de support deviendra incontournable lorsqu'il prendra sa forme actuelle en 1974: Le disque Winchester.
Mémoires à semi-conducteurs Disques souples Mémoire magnétique à bulles (Intel) Mise au point par Intel Magnetics , c'est une technologie qui offrait une très grande fiabilité même dans des conditions de fonctionnement extrêmes. Disque Opto-Numérique (aussi appelé Compact Disc ou Disque Optique Compact) Disque de plastique de 12 cm de diamètre et 1,2 mm d'épaisseur lu par un faisceau laser
CD-ROM (Sony et Philips) (Compact Disc Read Only Memory) - Cédérom en français Version informatique du CD permettant de stocker à la fois du texte, des images, des sons... Sa capacité était exceptionnelle pour l'époque: 680 Mo.
DVD-ROM (Sony et Philips) Successeur annoncé du CD-ROM dont il reprend exactement le format physique. Sa capacité est par contre multipliée par 12 et passe à environ 8,5 Go.
Différents niveaux de mémoire
On trouve d'abord des mémoires très rapides (les plus chères), en petit nombre, accessibles immédiatement par le processeur. Ce sont les registres. On trouve ensuite le cache ou anté-mémoire. Accessible en quelques cycles d'horloge (1 ou 2 en général) il contient quelques dizaines de milliers de mots. On a ensuite la mémoire principale ou mémoire centrale. On dispose parfois d'une mémoire d'appui ou d'arrière-plan, intermédiaire entre la mémoire centrale
et les mémoires auxiliaires et les mémoires auxiliaires. Elle est constituée de circuits semi-conducteurs de faible prix, dont la vitesse est faible pour des circuits de mémoire mais cent fois plus élevée que celle des disques magnétiques. Toutes ces mémoires sont volatiles. Les disques magnétiques forment le niveau suivant (mémoires auxiliaires ou mémoires de masse) et constituent une mémoire permanente dont les données restent valides quand on coupe l'alimentation électrique. Le dernier niveau correspond à l'archivage des données.
Jusqu'à présent ce domaine était l'exclusivité des bandes magnétiques Jusqu'à présent ce domaine était l'exclusivité des bandes magnétiques. Ces dernières années ont vu apparaître un nouveau produit qui peut dans certains cas fournir une alternative pour l'archivage. Il s'agit du disque optique numérique. Celui-ci a des densités de stockage de 102 à 104 fois supérieures à celles des supports magnétiques, pour des temps d'accès cinq à dix fois plus grand.
Évolution de la programmation Ada Byron (1816-1852): première programmatrice pour la machine de Babbage Adèle Goldstine: programme pour l’ENIAC en 1946. Les premiers programmes en Langage machine (0 et 1) Langage symboliques: les assembleurs
Fortran (Formula Translator) vers 1950 par J. Backus. Apparurent aussi des langages spécialisés comme le GPSS (simulation) et APT (commande de machines à outils) Vers la fin de 1950: - Algol: notion de blocs
Cobol: applications de gestion. PL/1: dans le but de traiter plusieurs genres d’applications (universels). Apparurent ensuite les langages Pascal, Modula, C, ... La micro-informatique a répandu le Basic Langages fonctionnels (Lisp): utilisé dans le traitement des expressions symboliques Langages Logiques (Prolog): intelligence artificielle; pouvoir d’inférence.
Récapitulatif Fortran 1954 Applications scientifiques Cobol 1959 Gestion Algol 1960 structure de blocs Lisp 1960 Intelligence artificielle PL1 1965 scientifique et gestion Basic 1965 Pour débutant (interprété) Pascal 1971 Pour l'enseignement C 1972 Développement de UNIX Ada 1979 Défense américaine C++ 1985 C orienté objet Java 1994 Basé sur C et C++ pour Internet
Définition: Un langage de programmation est un symbolisme permettant une communication avec l’ordinateur. Le langage naturel ne peut pas servir de langage commun (syntaxe très complexe -multiplicité de règles de grammaire et des exceptions; sa sémantique aussi)
Un langage de programmation est donc plus restrictif Un langage de programmation est donc plus restrictif. Il est défini en fournissant à l’utilisateur le vocabulaire autorisé, sa syntaxe et sa sémantique. Pour ces langages, une phrase s’appelle une INSTRUCTION et correspond à la description d’une ou plusieurs opérations elémentaires.
Les opérations élémentaires pour une machine sont: Transfert d’information affectation (assignation) Entree-sortie 2. Opérations arithmétiques et logiques 3. Rupture de séquence
Les différents niveaux de langages de programmation - Langage machines binaire (0 et 1) Seul langage compris par la machine Langage machines assembleur Ces deux langages dépendent de la machine Langage évolué
Quelques mots sur les systèmes d’exploitation Définition Un système d'exploitation (SE; en anglais: OS = operating system) est un ensemble de programmes de gestion du système qui permet de gérer les éléments fondamentaux de l'ordinateur: le matériel - les logiciels - la mémoire - les données – les réseaux.
Fonctions d’un S.E Gestion de la mémoire Gestion des systèmes de fichiers Gestion des processus Mécanismes de synchronisation Gestion des périphériques Gestion du réseau Gestion de la sécurité.
Un exemple Soit la commande suivante: emacs monfichier.txt Juste après avoir tapé le <entrée> fatidique, le système d'exploitation est mis à contribution. A savoir qu'il doit ; 1) aller chercher sur le disque dur un fichier qui s'appelle emacs et qui doit être impérativement un fichier d'instruction à exécuter (fichier exécutable ou "binaire"). 2) aller chercher sur le disque dur un fichier qui s'appelle monfichier.txt et rattacher ledit fichier à l'exécutable emacs en tant que fichier de données.
3) trouver une place en mémoire centrale (RAM) pour y placer tout ou une partie de emacs de tel manière qu'il soit effectivement exécutable et une place en RAM pour y placer tout ou partie du fichier monfichier.txt. Trouver une place en RAM pour y mettre une zone de communication avec emacs. Le SE et emacs doivent communiquer entre eux afin de s'informer (entre autres choses) du bon déroulement des opérations.
4) Si les fichiers emacs et monfichier 4) Si les fichiers emacs et monfichier.txt sont trop gros pour la place disponible en RAM , le S.E se charge de ne mettre en mémoire vive que la partie des fichiers effectivement utile à l'instant t pour le processeur. Dès qu'une autre partie du fichier devient utile la partie précédente est effacée de la RAM, et la zone "utile" est recopiée à sa place. Cette technique s'appelle le "swapping".
Il existe actuellement plus de 193 systèmes d’exploitation dans 27 langues Quelques exemples UNIX VMS MS-DOS (sur les PC) Win 9X = désigne les Windows 95-98-Me, héritiers de MS-DOS et Win 3.1. Il n'a aura plus de nouvelles versions. Cette gamme est remplacée par Win XP home.
Win 98 a besoin de MS-DOS pour démarrer. Windows NT est le système d’exploitation Microsoft conçu pour se passer de MS-DOS, tout en gardant une grande compatibilité avec les logiciels écrits pour MS-DOS, Win 3 et plus tard Win 9X (= Win 4.0). Windows 2000 est le nom commercial de Win NT 5.0, et Win XP celui de NT 5.1 Pour ceux qui confondent : Win 2000, n'est pas le successeur technique de Win 98 : Win 98 a besoin de MS-DOS pour démarrer. Win NT-2000-XP l'émule dans une machine virtuelle.
Quelques domaines d’applications Calculs scientifiques: nombre faible d’opérations mais se répétant de nombreuses fois; tels ceux d’algèbre numérique et non numérique Traitement de données: pbmes de gesion classique tels: facturation – gestion de stocks – paie du personnel – éditions de rapports d’états, de statistique, ...
Analyse projets: tracé d’autoroutes; visualisation de ce que le conducteur verra au volant, ... Contrôle de processus: surveillances et commander le fonctionnement de divers dispositifs Gestion mathématique: emploi de temps; ordonnamcement, ....
Systèmes d’information: réservation de places d’avion, interrogation d’une banque (volumineuse) de données, ..., etc.