Architecture de machines Historique Cours 2003-2004
Préhistoire : mécanisation des calculs Prémisses: Outils mathématiques -3000 : Premiers nombres -300 : Aristote définit la logique (induction) 1679 : Leibniz définit l’arithmétique binaire Système de codage des nombres en base 2 : pour revenir à leur essence Les machines mécaniques -500 : Boulier et abaques An 1000 : Mécanismes d’horlogerie 1642 : La pascaline (Blaise Pascal) additions et soustractions 1792 : Télégraphe optique de Chappe Première méthode de communication à distance Utilisation d’un codage de l’information et non de l’information brute
Machines à différences de Babbage (1833)
Invention du codage binaire et des algorithmes 1843 : Ada Lovelace définit les algorithmes Séquence d’opérations permettant de résoudre un problème Programmes écrits pour la machine de babbage 1844 : Code Morse Codage des messages avec 2 symboles : . , - Les silences séparent les lettres d’un message
Travaux théoriques fondamentaux 1844 : Algèbre de boole 2 symboles {0,1} , {Vrai, Faux} (dit booléens) Opérations sur ces symboles ET, OU, NON, … Structure mathématique Preuves de calculabilité 1937 : Travaux sur la calculabilité Machine de Turing Permet de réaliser tout calcul mécanisable !!!
Machines mécaniques Besoin de l’administration US pour le recensement de 1890. Machines de comptage/triage Mécanisme de cartes perforée à lecture électrique Utilisation de relais pour le classement 1896: Fondation de Tabulating Machine Company qui deviendra par suite IBM
Machines électroniques 1940-1970 1938 : Shannon réalise un parallèle entre le binaire et l’électronique Invention du BIT (Binary digIT) Techniques des relais issue de la téléphonie pour réaliser des calculs binaires
WWII : Machines pour le décryptage 1941 : Konrad Zuse invente le Z3 Premier calculateur à programme enregistré et non plus directement cablé 1946 : L’Eniac 330 multiplications/seconde 100000 opérations élémentaires/seconde Programme entré par câblage 30 Tonnes et 72 m² Mis à jour en 1948 : Utilisation avec d’instructions prédéfinies (premier langage machine)
1945 : Principe de Von Neumann Rapport EDVAC (Electronic Discrete Variable Automatic Computer) Ordinateur de Von Neumann Machine universelle contrôlée par programme Instructions codées enregistrées en mémoire Exécution séquentielle des opérations 5 composants pour un ordinateur Unité arithmétique et logique Unité de commande Mémoire centrale Unité d’entrée Unité de sortie Architecture toujours utilisée de nos jours
Composant de base : Le tube à vide (Lampe) Inventé en 1907 Utilisé comme amplificateur en électronique Travail en saturation A saturation : réalisation d’opérations booléennes élémentaires sur du courant électrique Grande consommation électrique pour le fonctionnement Faible fiabilité (Bugs)
Exemple de composants Compteur 4 bits Accumulateur
1948 : Invention du transistor Remplace les relais et tubes à vide Miniaturisation Fiabilité accrue Entrée Contrôle Sortie
1958 Les circuits intégrés Regroupe plusieurs transistors Inventé par J. Kilby de chez Texas Instruments
Machines électroniques 1946-1970
Les machines à microprocesseur Intégration de transistors sur une même plaque de silicium 1971 : Premier microprocesseur : Intel 4004 2300 transistors, 4 bits, 108 Khz, 640 octets de mémoire adressable. Disponibilité d’un «chipset» : ensemble de contrôleurs nécessaires à la liaison microprocesseur/ environnement. 1972 : Processeur Intel 8008 8 bits , 200 KHz, 16 Ko de mémoire, 60000 instructions par seconde, 3500 transistors en technologie 10 microns
Evolution du stockage 1950 : Première mémoire de masse, le tambour ERA 1101 Capacité 1Million de bits Accès 1/5ème de seconde 1953 : Mémoires à tores de ferrite 1956 : IBM 505 Premier disque dur 5Mo sur 50 disques de 61 cm de diamètre. 1970 : Première puce mémoire créée par Intel qui contient 1024 tores de ferrite soit 128 octets. 1979 : Philips présente le Compact Disc: mémoire optique Le futur… les mémoire holographiques
Années 70 : Naissance de la micro informatique Machines accessibles au grand public Au départ programmables par interrupteurs puis en assembleur Naissance du BASIC Développement de microprocesseurs de plus en plus puissants (Z80,6502,68000,8086…) Interfaces de plus en plus évoluées (fenêtres, souris,…)
Une multitude de technologies Processeurs Intel, Zylog, Motorola Pas de véritable standard jusqu’au PC d’IBM Compaq I Lecteur 5"1/4
Premier portable : l’Osborne 1 Écran 5 pouces, disquettes 5"1/4 14 Kg !!!
Les stations de travail 1981 : Création de SUN Machines haut de gamme avec architecture propriétaire Machines pour le calcul individuel avec des spécialisations (SGI, HP, SUN, Digital) Système d ’exploitation UNIX Architecture propriétaire Interface X-Windows Maintenant rejointes par les micro ordinateurs Mêmes microprocesseurs Processeur Intel Itanium 2 = HP PA9000 Processeur PIV repris dans les stations d’entrée de gamme sous le nom Xeon Baisse des coûts de développement => plus d’applications
Les supercalculateurs Calcul performant Applications scientifiques (météo, simulations) Stockage de données (banque,…) Intégration de plusieurs microprocesseurs toujours plus rapides Toujours dépassés ! http://www.top500.org
Evolution des performances
Évolution de l’intégration (4004/PIV) De 2300 à 42 Millions de transistors
Loi de Moore La puissance double tous les 18 mois Réalisé pour les capacités de calcul Non valable pour le stockage et la mémoire Définition de la puissance Différente du chiffre de fréquence Dépend fortement des entrées sorties Dépend du problème à traiter
Évolution du software Évolution des systèmes d’exploitation En mode texte Unix (et linux), Prodos, CP/M, DOS, Graphiques Mac OS, Windows, X-Windows Évolution des logiciels 1972 : PONG, 1975 Space Invaders Bureautique : Années 75-80 Premier tableur: multiplan Premier traitement de texte (1983: Word 1.0) Suites bureautiques Logiciels de création graphique Photoshop 3DSMax Internet Navigateurs : 1992 Mosaic, 1993 Netscape, 1994 ie 1994: realplayer : son et vidéo à la demande
Evolution globale ->1970 : une machine pour plusieurs personnes (des informaticiens) 1970-1995 : une machine par personne (de la scientifique à la secrétaire) Développement des systèmes à microprocesseur 1995-> : 1 personne, plusieurs machines (tout le monde ?) Développement des réseaux