Upload
rigel-head
View
18
Download
1
Embed Size (px)
DESCRIPTION
Chapitre 1. Historique et évolution des ordinateurs. L'être humain a longtemps cherché à améliorer sa façon de calculer et ce, pour deux raisons : il est trop lent, et il se trompe souvent Dance qui suit, seront relatées les grandes dates liées à l’invention des calculateurs. - PowerPoint PPT Presentation
Citation preview
Chapitre 1
Historique et évolution des ordinateurs
L'être humain a longtemps cherché à améliorer sa façon de calculer et ce, pour deux raisons :
il est trop lent, et il se trompe souvent
Dance qui suit, seront relatées les grandes dates liées à l’invention des calculateurs.
Djamal Rebaïne 2
Djamal Rebaïne 3
Repères historiques
Les premiers registres Boulier: vers 3500 av. J.C en Chine - Abaque: première tablette à calculs en
Mésopotamie
Djamal Rebaïne 4
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.
Règle à calcul
Djamal Rebaïne 5
• 1620: mise en œuvre de cette invention au moyen de la règle à calcul.
Les machines à calculer1623: machine de Schickard (Allemagne):
fonctionnement mécanique basé sur le principe de tiges proportionnelles aux log. des nombres impliqués dans ces opérations.
Djamal Rebaïne 6
• 1643: Pascaline de Pascal (France): fonctionnement mécanique à système de roues à ergot. Additions + soustractions et faisait aussi des reports.
• 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.
Machine de Schickard
Djamal Rebaïne 7
Djamal Rebaïne 8
Pascaline
Djamal Rebaïne 9
Machines à cartes perforées• 1801: industrie de textile (France) Jacquard
et Falcon• 1887: Hollerith (USA) machine à lire des
cartes (CENSUS MACHINE) utilisée dans le recensement aux USA.
Hollerith et sa trieuse électro-mécanique./
Djamal Rebaïne 10
Ordinateur primitif1830: Charles Babbage – machine à différences- utilise les principes de report de la Pascaline combinés avec les cartes perforées de Jacquard.
Machine à différence de Babbage
Djamal Rebaïne 11
• 1834: Charles Babbage- machine analytique- système de numérotation décimal; accepte des nombres de 50 chiffres et 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
Djamal Rebaïne 12
La machine analytique de C. Babbage
Djamal Rebaïne 13
• 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‘Enigma é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.
Djamal Rebaïne 14
1941 Z3 par K. ZUSE. Composé de 2600 relais, d'un lecteur de
bandes et d'une console pour l'opérateur, sa mémoire pouvait contenir 64 nombres de 22 chiffres exprimés en virgule flottante. Il réalisait une multiplication en trois à cinq secondes.
Djamal Rebaïne 15
1943 ASCC ou 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.
Djamal Rebaïne 16
1943 Colossus I Composé de 1 500 lampes et d'un lecteur de bandes capable de lire 5000 caractères à la seconde. Ce calculateur électronique anglais a été conçu pour décoder les messages chiffrés par la machine de Lorentz allemande qui était un téléscripteur doté de rotors (utilisant un principe assez proche de l‘Enigma).
Djamal Rebaïne 17
Colssus- 1943
Djamal Rebaïne 18
1946 ENIAC, par J. ECKERT et J. MAUCHLY
(Electronic Numerical Integrator and Computer) Commandé 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. Il occupait 23 m³, pesait 30 tonnes, coûtait un million de dollars.
Djamal Rebaïne 19
La machine ENIAC pesait 30 tonnes
Djamal Rebaïne 20
La machine ENIAC est disposée en U de 6 mètres de largeur par 12 mètres de longueur.
Djamal Rebaïne 21
1948: IBM SSEC, par Wallace Eckert (Selective Sequence Electronic Calculator) Ce calculateur composé de 20 000 relais et de 12 500 tubes a servi pour le calcul de tables de positions de la lune, mais a surtout été une vitrine technologique (il était d'ailleurs visible par le public) pour IBM.
Djamal Rebaïne 22
1948: Manchester Mark 1 (ou Ferranti Mark I) Bâtie sur des plans de J. NEUMANN par une équipe anglaise. 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.
Djamal Rebaïne 23
1949: EDSAC, par Maurice WILKES (Electronic Delay Storage Automatic Computer) Cet ordinateur numérique et électronique est basé sur l'architecture de J. 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.
Djamal Rebaïne 24
1951: Whirlwind Premier ordinateur "temps réel "
1955: Premier calculateur transistorisé: TRADIC
1960: PDP-1 (Programmed Data Processor) C'est le précurseur des "minis". Vendu pour $125 000 (une fraction du coût d'un ordinateur de l'époque) et livré sans logiciels, il était plutôt ciblé pour les scientifiques et les ingénieurs.
Djamal Rebaïne 25
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
Djamal Rebaïne 26
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.
Djamal Rebaïne 27
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.
Djamal Rebaïne 28
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.
Djamal Rebaïne 29
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.
Djamal Rebaïne 30
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 mainframes. Il reste aussi célèbre pour son système d'exploitation VMS
Djamal Rebaïne 31
1982: Cray X-MP Composé de deux Cray I mis en parallèle, il est 3 fois plus puissant que celui-ci.
Djamal Rebaïne 32
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.
Djamal Rebaïne 33
1983: Lisa d'APPLE
Steve JOBS, très intéressé par l'Alto reprendra la plupart des idées de celui-ci pour le compte d'APPLE, en particulier la notion d'interface graphique (GUI) et l'utilisation de la souris. Cependant, ce micro-ordinateur ne connaîtra pas non plus de succès commercial.
Djamal Rebaïne 34
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 différentes versions, l'autre grand standard (avec le PC d'IBM) du monde de la micro-informatique.
Djamal Rebaïne 35
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
Djamal Rebaïne 36
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.
Djamal Rebaïne 37
1998: iMac d'APPLE L'iMac était l'ordinateur d'Apple pour le nouveau millénaire. Il a également marqué le retour d'Apple (et de MacOS) au devant de la scène. C'est l'ordinateur le plus original depuis le premier Mac de 1984: Design très particulier, écran et unité centrale intégrés dans un seul boîtier, ports USB et pas de
lecteur de disquette interne.
Djamal Rebaïne 38
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.
Djamal Rebaïne 39
Première génération1949-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.
Djamal Rebaïne 40
Deuxième génération1958 - 1964
• Utilisation de transistors et des mémoires à ferrite.
• Utilisation de mémoires de masse pour le stockage périphérique.
• Temps d’accès moyen (de l’ordre de la micro-seconde).
• Fonctionnement séquentiel des systèmes de programmation (langages évolués).
Djamal Rebaïne 41
Troisième génération1965-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 (plusieurs programmes à la
fois)• Télétraitement (accès par téléphone)
Djamal Rebaïne 42
Quatrième génération1971-1982
• Miniaturisation extrêmes des composants
• Apparition des microprocesseurs
• Diversification des champs d’application
• Apparition de la micro-informatique
• L’aspect logiciel prend le pas sur l’aspect matériel
Djamal Rebaïne 43
Cinquième génération
• Miniaturisation des composants poussée à l’extrême
• Vitesse proche de celle de la lumière.• Nouvelle architecture physique• Possibilité de choix d’ordre des vecteurs
séquentiels à traiter• Vitesse de traitement augmentée jusqu’au
gigalips (Logical Inference: de 100 à 1000 instructions)
Djamal Rebaïne 44
• Processeurs en parallèle
• Nouvelles structures et représentations des données.
• Ajout du traitement de l’aspect sémantique à celui de l’aspect syntaxique de l’information
• Ordinateurs à photons
Djamal Rebaïne 45
Alternatives à cette classification
1- architectures et conception (PC compatibles vs. Apple)
2- super-ordinateurs: SIMD vs. MIMD
3- RISC vs. CISC
4- taille: super, gros, mini, station ou micro ordinateurs
5- …, etc.
Une petite virée vers le parallélisme
Une machine parallèle est essentiellement une machine qui possède un ensemble de processeurs qui coopèrent et communiquent ensemble.
Djamal Rebaïne 46
Djamal Rebaïne 47
On distingue classiquement quatre types principaux de parallélisme: SISD, SIMD, MISD et MIMD. De nos jours cette classification peut paraître un peu artificielle car le moindre micro-processeur courant inclut lui-même plusieurs formes de micro-parallélisme. Elle permet néanmoins d'expliquer les bases de l'architectures des ordinateurs séquentiels et parallèles.
Djamal Rebaïne 48
Machine SISDUne machine SISD (Single Instruction Single Data) est ce que l'on appelle d'habitude une machine de Von Neuman. Une seule instruction est exécutée et une seule donnée (simple, non-structurée) est traitée à tout instant.
Djamal Rebaïne 49
s'exécute sur une machine séquentielle en faisant les additions
A[1]+A[2], A[2]+A[3], etc., A[99]+A[100]
à la suite les unes des autres
Par exemple, le code suivant, int A[100]; for (i=1;100>i;i++) A[i]=A[i]+A[i+1
Djamal Rebaïne 50
Machines MISD
.
.
Djamal Rebaïne 51
Plusieurs processeurs, chacun avec sa propre unité de contrôle, se partagent une mémoire commune.
Il y a N flots d'instructions (algorithmes / programmes) et un flot de données. Chaque processeur effectue une opération différente, au même moment sur la même donnée.
Il n'existe aucune machine construite sur ce modèle. C'est un modèle théorique sans intérêt
Djamal Rebaïne 52
Machines SIMD
Djamal Rebaïne 53
N processeurs identiques opèrent sous contrôle d'un flot d'instructions unique généré par une unité centrale unique (pour faciliter la compréhension, on peut supposer que tous les processeurs exécutent le même programme). Il y a N flots de données, un par processeur, et des données différentes peuvent ainsi être utilisées dans chaque processeur. Fonctionnellement, on peut avoir les deux schémas précédents (mémoire partagée ou distribuée) :
Djamal Rebaïne 54
• En fait il n'existe pas de machine SIMD à mémoire commune. Il s'agit toujours de processeurs très élémentaires en très grand nombre (typiquement plusieurs centaines).
• Les processeurs opèrent de façon synchrone et une horloge globale est utilisée pour effectuer les opérations en mode «lockstep», c’est-à-dire à chaque tick de l'horloge globale,tous les processeurs exécutent la même instruction, chacun sur une donnée différente.
• Les machines SIMD sont particulièrement utiles pour traiter les problèmes à structure régulière où la même instruction s'applique à des sous-ensembles de données.
Djamal Rebaïne 55
EXEMPLE Addition de deux matrices A + B = C.Soient deux matrices A et B d'ordre 2, et 4 processeurs.
A11 + B11 = C11 ... A12 + B12 = C12 A21 + B21 = C21 ... A22 + B22 = C22
La même instruction est envoyée aux 4 processeurs (ajouter les 2 nombres) et tous les processeurs exécutent cette instruction simultanément.
Djamal Rebaïne 56
• Un pas de temps suffit contre quatre sur une machine séquentielle. Une instruction peut être simple (eg addition de 2 nombres) ou complexe (eg fusion de 2 listes). De la même façon les données peuvent être simples (un nombre) ou complexes (plusieurs nombres). Il peut parfois être nécessaire de limiter l'exécution de l'instruction a un sous ensemble des processeurs i.e. seulement certaines données ont besoin d'être traitées par cette instruction. • Cette information peut être codée par un flag sur chaque processeur qui indique si :1. le processeur est actif (exécute l'instruction) 2. le processeur est inactif (attend la prochaine instruction
Djamal Rebaïne 57
Machines MIMDC'est la classe la plus générale et la plus puissante de toute cette classification.Il y a N processeurs, N flots d'instructions et N flots de données. Et on peut aussi avoir fonctionnellement les deux schemas suivants (mémoire partagée ou distribuée.
Djamal Rebaïne 58
• Chaque processeur exécute un flot d'instructions généré par sa propre unité de contrôle• Chaque processeur opère de façon asynchrone en effectuant des opérations différentes sur des données différentes au même instant. • La communication de données ou de résultats entre les processeurs peut se faire à travers une mémoire commune ou un réseau d’interconnexion.
Djamal Rebaïne 59
CISC vs. RISC
Djamal Rebaïne 60
Les processeurs généraux actuels se répartissent en deux grandes catégories appelées : • CISC : Complex Instruction Set Computer , et • RISC : Reduced Instruction Set Computer.
Les processeurs de ces deux catégories se distinguent par la conception de leurs jeux d'instructions. • Les processeurs CISC possèdent un jeu étendu d'instructions complexes. Chacune de ces instructions peut effectuer plusieurs opérations élémentaires comme charger une valeur en mémoire, faire une opération arithmétique et ranger le résultat en mémoire.
Djamal Rebaïne 61
• Les processeurs RISC possèdent un jeu d'instructions réduit où chaque instruction effectue une seule opération élémentaire. • Le jeu d'instructions d'un processeur RISC est plus uniforme. Toutes les instructions sont codées sur la même taille et toutes s'exécutent dans le même temps (un cycle d'horloge en général).
Djamal Rebaïne 62
La répartition des principaux processeurs dans les deux catégories est la suivante.
CISC RISC
S/360 (IBM)VAX (DEC)68xx, 680x0 (Motorola)
x86, Pentium (Intel)
Alpha (DEC)PowerPC
(Motorola)MIPS
PA-RISC (Hewlett-Packard)SPARC
Raisons ?
• Dans les premiers temps de l'informatique, les ordinateurs étaient programmés en langage machine ou en assembleur. Pour faciliter la programmation, les concepteurs de micro-processeurs dotèrent ceux-ci d'instructions de plus en plus complexes permettant aux programmeurs de coder de manière plus concise et plus efficace les programmes.
Djamal Rebaïne 63
• Lorsque les premiers langages de haut niveau remplacèrent l'assembleur, cette tendance s'accentua. Les concepteurs de micro-processeurs s'efforcèrent de combler le fossé entre le langage machine et les langages de haut niveau. Des instructions proches des constructions typiques des langages de haut niveau furent ajoutées aux micro-processeurs. L'idée était de faciliter la compilation des langages de haut niveau au détriment de la complexité des micro-processeurs.
Djamal Rebaïne 64
• Pour réduire le nombre d'instructions nécessaires à un programme, il faut que chaque instruction fasse plusieurs opérations élémentaires. La lenteur relative de la mémoire pousse aussi à avoir des instructions complexes. Il n'y a alors moins de codes d'instructions à lire en mémoire et le programme en est accéléré.
• Comme la densité d'intégration des transistors était aible, les micro-processeurs possédaient très peu de registres internes.
Djamal Rebaïne 65
• De plus, un grand nombre de registres auraient nécessité plus de bits pour coder les instructions. Pour compenser cette lacune en registres, certaines instructions étaient capables, par exemple, de charger deux valeurs en mémoire, de faire la somme et de ranger le résultat en mémoire. Il y avait de nombreux modes d'adressage et tous les modes d'adressages étaient possibles à toutes les instructions.
Djamal Rebaïne 66
• La complexification des jeux d'instructions a pour effet de compliquer notablement la phase de décodage des instructions. On constate que sur certains micro-processeurs à jeu d'instructions complexes, la moitié des transistors sur la puce de silicium est consacrée au décodage des instructions et au contrôle de l'exécution de celles-ci.
Djamal Rebaïne 67
• Lorsque le jeu d'instructions est complexe, la plupart des compilateurs n'utilisent pas tout le jeu d'instructions. Il se contentent souvent d'un nombre réduit d'instructions. Le résultat est que les instructions les plus puissantes sont très rarement utilisées.
Djamal Rebaïne 68
• On arrive alors au paradoxe suivant. Les instructions complexes qui ne sont pratiquement pas utilisées ralentissent les instructions simples qui sont utilisées la plupart du temps.
• Des études statistiques ont montré les faits suivants.
- 80 % des programmes n'utilisent que 20 % du jeu d'instructions.
Djamal Rebaïne 69
- Les instructions les plus utilisées sont : – les instructions de chargement et de rangement,– les appels de sous-routines.
- Les appels de fonctions sont très gourmands en temps : sauvegarde et restitution du contexte et passage des paramètres et de la valeur de retour.
- 80 % des variables locales sont des entiers.
- 90 % des structures complexes sont des variables globales.
Djamal Rebaïne 70
- La profondeur maximale d'appels imbriqués et en moyenne de 8. Une profondeur plus importante ne se rencontre que dans 1 % des cas.
• L'apparition de l'architecture RISC : volonté de favoriser les instructions simples qui constituent la grande partie des programmes: supprimer les instructions complexes et les modes d'adressage élaborés afin d'augmenter la fréquence d'horloge et d'augmenter la vitesse d'exécution de toutes les instructions.
Djamal Rebaïne 71
• La philosophie essentielle des processeurs RISC est d'avoir un nombre important de registres. Des instructions de chargement et de rangement avec quelques modes d'adressage sont les seules à faire les échanges avec la mémoire. Toutes les autres instructions travaillent uniquement avec les registres.
Djamal Rebaïne 72
• L'apparition des micro-processeurs RISC est en partie due à l'augmentation de la mémoire disponible sur les ordinateurs. Celle-ci n'est plus une limitation à la taille des programmes. Un autre facteur est le fossé entre la vitesse des processeurs et celle de la mémoire. Les processeurs ont une fréquence d'horloge élevée par rapport à la vitesse de la mémoire. Chaque accès à la mémoire les pénalise.
Djamal Rebaïne 73
• Ceci accentue le rôle d'un nombre important de registres qui évitent les accès à la mémoire. La lenteur de la mémoire est en partie compensée par la présence de cache fait de mémoires rapides. Ceux-ci sont très efficaces pour lire les instructions des programmes puisque ces accès à la mémoire se font à des cases mémoire contiguës.
Djamal Rebaïne 74
Évolution de la programmation
Djamal Rebaïne 75
On distingue 4 générations de langages de programmation plus au moins deux nouvelles tendances..1 Langages machine.2 Langages symboliques.3 Langages indépendants du matériel, comme Basic, C, Cobol, Algol...4 Langages conçus pour décrire le problème, comme Simula.5 Les langages à programmation logique prétendant représenter la cinquième génération, mais leur utilisation est marginale. La cinquième génération pourrait être celle des langages Internet, donc fonctionnant sur toute machine et compilés en code intermédiaire (dit virtuel).6 Les langages "Markup" inspirés de XML sont la dernière tendance, ils intègrent le code et les données sous une forme extensible.
Djamal Rebaïne 76
• Ada Byron (1816-1852): première programmatrice pour la machine de Babbage
• Adèle Goldstine: programme pour ENIAC en 1946.
• Les premiers programmes en Langage machine (0 et 1)
• Langage symboliques: assembleurs
Les grands dates
Djamal Rebaïne 77
• 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
Djamal Rebaïne 78
• Cobol: applications de gestion.• PL/1: dans le but de traiter plusieurs genres
d’applications (universels), apparurent ensuite les langages Pascal, Modula, C, C++, JAVA, ...
• 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• Langages interrogatifs (bases de donnée)
tels SQL
Djamal Rebaïne 79
• D’autres types de langages sont apparus, tels ceux de description: le langage HTML (Hyper Text Markup Language: permet de décrire un document dans le but de le visionner dans un navigateur internet).
• Il existe aussi des langages permettant de piloter d’autres éléments tels les langages de script dans UNIX.
Djamal Rebaïne 80
Structure des ordinateursJohn 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).
Djamal Rebaïne 81
• 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, ....)
Von Neumann met de l'avant cinq principes
1. Comme la machine est d'abord un ordinateur, elle aura le plus souvent à effectuer les opérations arithmétiques élémentaires. Elle devra donc contenir des organes spécialisés seulement pour ces opérations, i.e. l'addition, la soustraction, la multiplication et la division.
Djamal Rebaïne 82
Djamal Rebaïne 83
2. Le contrôle logique de la machine (l'ordonnancement correct de ses opérations) peut être mieux effectué par un organe de contrôle central.
3. Une machine qui a à effectuer des séquences longues et compliquées d'opérations doit avoir une capacité de mémoire considérable.
Djamal Rebaïne 84
4. La machine doit avoir des organes pour transférer l'information du médium d'enregistrement externe de la machine vers la partie arithmétique centrale et la partie de contrôle centrale et la mémoire. Ces organes constituent son organe d'entrée.
5. La machine doit avoir des organes pour transférer l'information de la partie arithmétique centrale et la partie de contrôle centrale et la mémoire vers le médium d'enregistrement externe. Ces organes constituent son organe de sortie.
Djamal Rebaïne 85
Caractéristiques de la machine de Von Neumann
• 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.
Djamal Rebaïne 86
Schéma de la machine de Von Neuman
UAL = unité arithmétique et logique
Djamal Rebaïne 87
Ces dispositifs permettent la mise en oeuvre des fonctions de base d'un ordinateur : le stockage de données, le traitement des données, le mouvement des données et le contrôle. Le fonctionnement schématique en est le suivant :
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 l'E/S,
Djamal Rebaïne 88
5. range au besoin le résultat dans la mémoire.
! La majorité des machines actuelles s'appuient sur le modèle Von Neumann
Djamal Rebaïne 89
Quelques mots sur la mémoire• Carte perforée à 80 colonnes (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.
Djamal Rebaïne 90
Bande 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.
Djamal Rebaïne 91
• 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
Djamal Rebaïne 92
où l'on peut stocker environ 75 minutes de musique. Son succès, outre son format, vient de l'exceptionnelle qualité de reproduction sonore, de sa faible fragilité ainsi que de son inusabilité pas de contact).
Djamal Rebaïne 93
• CD-ROM (Sony et Philips) (Compact Disc Read Only Memory) - Cédérom en françaisVersion informatique du CD permettant de stocker à la fois du texte, des images, des sons... Sa capacité était exceptionnelle pour l'époque: 680 Mo.
• R.N.I.S (Réseau Numérique à Intégration de Services) - Baptisé Numéris par France Télécom
Djamal Rebaïne 94
Réseau publique (comme le Réseau Téléphonique Commuté) où toutes les données (voix, images, données informatiques...) circulent en numérique
• 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.
• Les Clés USB
Il s'agit simplement d'une puce mémoire avec un connecteur USB. L'ensemble à la taille d'une clé (et peut d'ailleurs se mettre en porte-clé) ce qui a donné son nom. Les capacités actuelles dépassent celles d'un CD-ROM avec l'avantage d'être réinscriptible à volonté.
Que nous réserve l'avenir ?
• La technologie électronique actuelle semble obéir à la loi de Moore (Gordon Moore, de Intel) : le nombre de transistors qu'on peut placer sur une puce augmente par quatre à tous les trois ans parce que la taille des traits dans les circuits intégrés diminue de 10% chaque année.
Djamal Rebaïne 96
Djamal Rebaïne 97
Ceci s'est également avéré vrai pour la mémoire centrale. Si on extrapole, comme dans la figure suivante, on atteindra 1 milliard de transistors sur une puce vers 2011! La taille des traits en 1997 est de 0,25 µm. Elle devrait être de 6 µm à cette date. Pour les microprocesseurs, grâce à d'autres améliorations telles que l'addition de nouveaux circuits, l'amélioration en vitesse a été de quatre à cinq à tous les trois ans.
Djamal Rebaïne 98
Figure 1.17 Loi de Moore. Nombre de transistors par puce (en milliers)
Djamal Rebaïne 99
Une loi similaire s'applique également à l'espace disque dont la capacité de stockage quadruple à tous les trois ans et la vitesse augmente de 1,4 à tous les dix ans :
Djamal Rebaïne 100
Capacité de stockage d'un PC en Mo.
Djamal Rebaïne 101
Densité des disques durs en gigabits/po2
Djamal Rebaïne 102
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 permettant de gérer les éléments fondamentaux de l'ordinateur:
le matériel - les logiciels - la mémoire - les données – les réseaux.
Djamal Rebaïne 103
Fonctions d’un système d’exploitation
• 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é.
Djamal Rebaïne 104
Un exempleSoit la commande suivante: emacs monfichier.txt Juste après avoir tapé le <Return> 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.
Djamal Rebaïne 105
3) trouver une place en mémoire RAM pour y placer tout ou partie de emacs de telle 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.
Djamal Rebaïne 106
4) Si les fichiers emacs et monfichier.txt sont trop gros pour la place disponible en RAM , le SE 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".
Djamal Rebaïne 107
Il existe actuellement plus de 193 systèmes d’exploitation dans 27 langues
Quelques exemples• UNIX• VMS• MS-DOS • 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.
Djamal Rebaïne 108
• 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. •
Djamal Rebaïne 109
• les périphériques d'entrée-sortie (par exemple les cartes d'extension) varient d'un modèle d'ordinateur à un autre. Il faut donc un système qui puisse unifier l'écriture des instructions gérant le matériel. Ainsi, lorsqu'un programme désire afficher des informations à l'écran, il n'a pas besoin d'envoyer des informations spécifiques à la carte graphique (il faudrait que chaque programme prenne en compte la programmation de chaque carte...), il envoie les informations au système d'exploitation, qui se charge de les transmettre au périphérique concerné...
Djamal Rebaïne 110
• La communication avec le système d'exploitation s'établit par l'intermédiaire d'un langage de commandes et un interpréteur de commandes. Cela permet à l'utilisateur de piloter les périphériques en ignorant tout des caractéristiques du matériel qu'il utilise, de la gestion des adresses physiques...
Djamal Rebaïne 111
• Le systèmes multi-tâches Les système d'exploitation multi-tâches permettent de partager le temps du processeur pour plusieurs programmes, ainsi ceux-ci sembleront s'exécuter simultanément.
• Pour réaliser ce processus, les applications sont découpées en séquence d'instructions appelées tâches ou processus. Ces tâches seront tour à tour actives, en attente, suspendues ou détruites, suivant la priorité qui leur est associée.
Djamal Rebaïne 112
• Un système est dit préemptif lorsqu'il possède un Ordonnanceur (aussi appelé planificateur ou scheduler), qui répartit, selon des critères de priorité le temps machine entre les différentes tâches qui en font la demande.
• Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque processus par l'ordonnanceur. Cela est notamment le cas des systèmes multi-utilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications similaires.
Djamal Rebaïne 113
Le système est alors dit "système transactionnel". Dans ce cas, le système alloue à chaque utilisateur une tranche de temps (quantum de temps).
• Systèmes multi-processeurs Ces systèmes sont nécessairement multi-tâches puisqu'on leur demande d'une part de pouvoir exécuter simultanément plusieurs applications, mais surtout d'organiser leur exécution sur les différents processeurs (qui peuvent être identiques ou non). Ces systèmes peuvent être soit architecturés autour d'un processeur central qui coordonne les autres
Djamal Rebaïne 114
processeurs, soit avec des processeurs indépendants qui possèdent chacun leur système d'exploitation, ce qui leur vaut de communiquer entre eux par l'intermédiaire de protocoles.
Djamal Rebaïne 115
Types de systèmes d'exploitation deux types de systèmes d'exploitation: les
systèmes 16 bits et les systèmes 32 bits. - DOS codage sur 16 bits mono-utilisateur - Windows 3.1 codage sur 16/32 bits multi-
tâche préemptif - Windows 95/98/Me 32 bits multi-tâches
préemptif - Windows NT/2000 32 bits multi-tâches
préemptif- Unix 32 bits multi-tâches préemptif- VMS 32 bits muli-tâches préemptif
Djamal Rebaïne 116
Pour en savoir plus• Moreau, René (1982): ainsi naquit l’informatique,
les hommes, les matériels à l’origine des concepts de l’informatique d’aujourd’hui, deuxième édition, Dunod.
• Randell, Brian (1982): the origin of digital computers: selected papers; Springer Verlag
• Les ordinateurs de cinquième génération; MICRO-SYSTEMS, février 1983.
• Des photons dans l’ordinateurs, MICRO-SYSTEMS, décembre 1983
Djamal Rebaïne 117
• Machines pensantes, DIMENSIONS SYSTEMS, 1984-1985.
• Les calculateurs analogiques, MICRO-SYSTEMS, juillet-août 1986.
• Pour la science: spécial informatique du futur. No. 122, décembre 1987.
• Pour la science: L’informatique des années 90, No. Spécial 72.
• Pour la science: communication, ordinateurs et réseaux, numéro spécial, 1991.
Djamal Rebaïne 118
• R. Keyes: L’avenir du transistor; pour la science, août 1993.
Adresses de site utiles
• www.histoire-informatique.org/grandes_dates
• http://www.scriptol.fr/programmation/histoire-langages.php