Introduction

publicité
Introduction
1. En informatique qu’appelle t-on architecture des ordinateurs et
système d'exploitation
Définitions schématiques :
L'architecture est l’étude du fonctionnement des composants interne d’un ordinateur. Elle
traite :
- du type des informations manipulées et de leur codage,
- du dialogue entre composants,
- du fonctionnement logique (pas électronique) interne des composants.
Le système d'exploitation est un programme qui réalise l'interface entre l'utilisateur et la
machine, il permet à celui-ci de soumettre des travaux à la machine sans qu'il en connaisse
l'architecture.
2. Structure générale d'un ordinateur monoprocesseur actuel
ROM
CPU
RAM
Bus données + adresses + commandes
Périphériques E/S
• CPU :Central Processing Unit : élément de l’ordinateur qui interprète et exécute les
instructions d’un programme.
• ROM : Read Only Memory : mémoire morte de laquelle on ne peut que lire.
• RAM : Random Access Memory : mémoire vive (lecture et écriture) et volatile (se vide
lorsque plus de courant) = suite de cases contenant 8 bits = octet, chaque case à une adresse.
• Périphériques : disque dur (E/S), lecteur disquette (E/S), clavier (E), écran (S), souris (E),
imprimante (S), lecteur cdrom (E), graveur (S), accès réseau (E/S).
• bus : liaison sur laquelle transitent les informations, 1 fil = 1 bit.
• Modèle de von Newman : Celui-ci décrit les cinq composants essentiels de se qu’on
appellera l’architecture de Von Neumann : (faire un dessin)
- l’unité arithmétique et logique (UAL) ;
- l’unité de commande ;
- la mémoire centrale ;
- l’unité d’entrée ;
- l’unité de sortie.
Caractéristiques :
- une machine universelle contrôlée par programme (universelle : contrairement aux autres
pas spécialement dédiée aux opérations arithmétiques) ;
- instructions et données, sous format binaire, stockées en mémoire (important :
inst+données dans la même mémoire) ;
-
le programme peut modifier ses propres instructions ;
ruptures de séquence.
• Exemple d'évolution (processeurs Intel)
1971 : 4004 : 108Khz, 0.06 mips, 4 bits, 2 300 transistors
1979 : 8088 : 8Mhz, 0.75 mips, CPU 16 bits, bus 8 bits, 4,77 MHz, 29 000 transistors
1982 : 80286 : 12Mhz, 1.5 mips, 16 bits, 8 MHz, 134 000 transistors
1986 : i386 : jusqu'à 33Mhz, 5 mips, CPU 32 bits, 275 000 transistors (premier mode
protégé)
1989 : i486 : 50Mhz, 27 mips, CPU + bus 32 bits, 1.2 millions de transistors
1993 : pentium : 66Mhz, > 100 mips, 3.3 millions de transistors
1997 : pentium II : 200-450 Mhz, 7, 5 millions de transistors.
1999 : pentium III : 450-600 Mhz, 9.5 millions de transistors
3. Chronologie
• Première génération (1952-1958) : tubes à vide (pannes fréquentes, difficiles à déceler,
demandent bcp de place), et tores de ferrite pour les mémoires.
• Deuxième génération (1959-1964) remplacement des tubes par des transistors.
• Troisième génération : apparition des circuits intégrés (puces) et des processeurs =>
éloignement du schéma de von Neumann car processeurs d’E/S pour traitement direct avec la
mémoire.
• Quatrième génération (fin des années 70) : augmentation du nombres de transistors, réseau,
terminaux.
4. Système d'exploitation
Démarrage d'une machine : RAM vierge, éxecution du pgm stocké en ROM qui teste la
présence de périphériques et charge en RAM le premier secteur du disque dur (ou disquette,
ou cdrom). Ce premier secteur contient des instructions que le processeurs exécute en
séquence.
• Ce premier programme gère la machine car il est responsable de l'endroit où l'on écrit en
RAM, sur le disque, de l'endroit où l'on écrit à écran, etc. => ne peut pas être un simple
programme utilisateur, mais un programme qui prend en charge les programmes utilisateurs
et permet une abstraction des contingences matérielles.
Ce premier programme est le système d'exploitation (ex.: Unix ou dérivés, dos, OS, mach) , il
gère :
- la mémoire : p.e. on peut se promener, à l’aide d’un éditeur, dans un fichier dont la
taille dépasse la quantité de RAM (peu réaliste avec les tailles actuelles mais
possible). L’utilisateur a l’impression que le fichier a été chargé entièrement du
disque dur vers la RAM. En fait le système charge les parties affichées à l’écran,
en élimine au fur et à mesure, en recherche au besoin sur le disque, etc. De plus un
utilisateur n’a pas a s’occuper de ranger au mieux les fichiers sur un disque, le
système se charge retrouver un fichier, de recoller les morceaux si celui-ci a du
être découper pour occuper des bouts de place libre ;
-
les programmes (si multi-tâche) : généralement une machine contient peu de
processeur (le plus souvent un seul) et pourtant plusieurs programmes ont l’air de
s’exécuter en même temps -> allocation de petites tranches de temps à chacun
d’eux ;
- les entrées/sorties : un programmeur en C affiche à l’écran par printf, lit au clavier
par scanf, sauve son fichier, etc. et ce quelque soit la machine -> le système rend
les particularités de l’écran (codes des touches), du clavier (taille, résolution), du
disque dur, etc. transparente au programmeur ;
- le réseau : ftp, telnet ;
- les utilisateurs (si multi-utilisateurs) : mots de passe, droit d’accès aux fichiers,
super utilisateur.
Bien que l'on puisse utiliser plusieurs SE sur une même machine, On comprend aisément
qu'un seul SE peut être actif sur une machine en fonctionnement et que celui-ci doit être
choisi au démarrage de la machine.
5. Langage
 l'activité d'une machine est rythmée par le CPU qui exécute le cycle suivant : chercher une
instruction en RAM, l'exécuter, chercher l'instruction suivante en RAM, etc.
 une instruction est une suite de bits contenant le code de l'opération (addition, soustraction,
recherche d'un mot en mémoire, etc.) et les opérandes.
 pour éviter de connaître ce langage, on définit des langages de plus haut niveau  couches
de machines virtuelles.
Machine virtuelle Mn
Langage Ln
Le passage d’une machine (où d’un langage) à une
autre se fait par interprétation ou compilation
Machine virtuelle Mn-1
Langage Ln-1
Machine virtuelle M0
Langage machine
Interprétation : chaque instruction du langage Ln est traduite en la séquence adéquate du
langage ln-1 exécutable, donc, par la machine virtuelle Mn-1. Chaque exécution => réinterprétation.
Compilation : un programme de la machine Mn, en entier est traduit une fois pour toute en un
programme en langage Ln-1 exécutable directement par la machine virtuelle Mn-1.
Niveau 5
Langages d’application
Pascal, C, Cobol, Basic, Prolog,
Caml, Lisp
interprétation
ou compilation
Niveau 4
Langage d’assemblage
Instructions assembleur, notion de
variables, de piles d’exécution, de
routines
traduction
assembleur
Niveau 3
Routines programmées
Syst. d’exploitation – fenêtrage
interprétation
Niveau 2
Langage machine codé en binaire
Couche machine
interprétation
Niveau 1
Couche microprogrammée
Langage du microprocesseur
interne
Téléchargement