format WinWord

publicité
1
1. ASPECTS MATERIELS
1.1 Unités périphériques
1.1.1 Hiérarchie des Mémoires
Les différents éléments de la mémoire d'un ordinateur sont
ordonnés en fonction des critères suivants: Temps d'accès
Capacité et coût par bit
Quand on s'éloigne du CPU vers les mémoires auxiliaires, on
constate que le temps d'accès et la capacité des mémoires
augmentent, mais le coût par bit diminue.
-
les éléments de mémoires situés dans l'unité
centrale de traitement (CPU) sont les registres
qui sont caractérisés par une grande vitesse et
servent principalement au stockage des opérandes
et des résultats intermédiaires
-
L'antémémoire ou mémoire cache est une mémoire
rapide de faible capacité (par rapport à la
mémoire centrale) utilisée comme mémoire tampon
entre le CPU et la mémoire centrale. cette mémoire
permet au CPU de faire moins d'accès à la mémoire
centrale et ainsi de gagner du temps.
-
La mémoire centrale est l'organe principal de
rangement des informations utilisées par le CPU.
pour exécuter un programme, il faut le charger en
mémoire centrale (instructions + données). cette
mémoire est une mémoire à semi-conducteur, mais
son temps d'accès est beaucoup plus grand que
celui des registres et du cache.
-
La mémoire d'appui sert de mémoire intermédiaire
entre la mémoire centrale et les mémoires
auxiliaires. Elle est présente dans les
ordinateurs les plus évolués et permet d'augmenter
la vitesse d'échange des informations entre des 2
niveaux.
-
les mémoires auxiliaires, appelés aussi mémoires
de masse (dont les mémoires d'archivage), sont des
mémoires périphériques de grande capacité et de
coût relativement faible. elles servent d'éléments
de stockage permanent et utilisent pour cela des
supports magnétiques (disque, cartouches, bandes),
et des supports optiques (disques optiques),
tandis que les niveaux les plus proches du
1
2
processeur central font appel à la technologie des
semi-conducteurs
1.1.2 Disques Magnétiques
Les disques sont des mémoires vives non volatiles.
Une unité de disques magnétiques est constitué d'un empilement de
plusieurs disques dont les 2 surfaces sont recouvertes d'une
couche magnétisable.
Les disques tournent autour d'un axe central avec une vitesse de
plusieurs milliers de tours par minute. Entre les disques se
trouvent les têtes de lecture/écriture.
La surface de chaque disque sont structurées en pistes et en
secteurs.
Les pistes sont des cercles concentriques, il y a en a plusieurs
centaines par surface.
Elles sont divisées en secteurs (de 10 à 100 par pistes) et
chaque secteur contient un certain nombre d'octets. l'ensemble
des pistes ayant un rayon donné forme un cylindre.
Les pistes d'un cylindre ont la particularité de pouvoir être
lues ou écrites sans déplacer les têtes. un disque neuf n'est pas
structuré en pistes et secteurs, il faut le formater c'est à dire
effectuer ces subdivisions.
L'accès aux informations d'un disque est un accès semi séquentiel. Il faut indiquer le cylindre auquel on désire
accéder, ce qui est fait directement par positionnement de
l'ensemble rigide des têtes de lecture/écriture et ensuite il
faut attendre que le bon secteur vienne sous la tête, ce qui
prend en moyenne une demi - rotation. Pour obtenir un bloc de
données, il faut spécifier l'unité de disque, le cylindre, la
surface (surface + cylindre = piste), et le secteur;
de plus il faut spécifier le nombre d'informations à transférer
et l'adresse en mémoire centrale où on doit effectuer le
transfert. Donc, pour transférer des informations, trois temps
sont à considérer :
temps de positionnement des têtes sur le bon
cylindre
temps d'attente, dû à la rotation du disque pour
atteindre le bon secteur
temps de transfert des informations.
L'information est enregistrée en série sur les pistes
concentriques. Les pistes contiennent toutes le même nombre de
bits, la densité varie donc en fonction de la piste. La densité
atteint son maximum sur la piste la plus proche de l'axe central;
Les pistes sont divisées en secteurs et chaque secteur est séparé
du suivant par une petite zone non utilisée qui permet de repérer
les secteurs et de les synchroniser.
2
3
Les disques utilisent des têtes ultra - légères très proches de
la surface du disque.
L’altitude de vol des têtes (distance entre le disque et la tête
de lecture/écriture) est inférieure à 0,25 microns.
La moindre particule de poussière a une taille 10 fois plus
grande. C'est pourquoi les disques durs sont placés dans des
boîtiers hermétiques. Ces disques sont appelés disque durs et
sont fixes dans leur unité. Dans les formats les plus courants
3"1/2 ou 5"1/4, les disques ont une capacité pouvant atteindre
plusieurs gigabytes.
Les Disquettes (floppy disks) sont principalement utilisées dans
les systèmes tels que les micro-ordinateurs. elles sont
constituées d'un petit disque en matière plastique souple
recouvert d'une couche magnétisable et conservé dans une pochette
d'où il ne sort jamais.Le principe de fonctionnement est le même
que celui des disques durs.
Une nouvelle technologie des lecteurs floptiques permet de
stocker 21 mégabytes de données sur des disquettes 3"1/2. Cette
augmentation de capacité est obtenue par l'ajout d'un capteur
optique (laser) aux têtes magnétiques de lecteur/écriture qui ont
elles-mêmes gagnées en finesse. Le capteur détecte un élément de
positionnement optique placé sur une piste optique du disque, ce
qui augmente considérablement la précision de positionnement des
têtes de lecture/écriture.
1.1.3. Bandes Magnétiques
Les bandes et cartouches magnétiques sont semblables à celles
utilisées pour l'enregistrement de la musique. Elles sont
constituées d'un ruban souple servant de support à une couche
magnétisable, enroulé d'un support plastique.
caractéristiques:
*
la longueur est généralement de 2400 pieds (+/732 m)
*
la largeur d'1/2 pouce
(+/- 1,27 cm)
*
la bande est divisée en pistes dont le nombre est
de 7 ou 9 (la valeur 9 étant la valeur standard)
*
le byte est enregistré transversalement, càd 8
bits sont répartis sur 8 pistes, la neuvième étant
utilisée pour un bit de parité
*
la densité longitudinale a évolué en 25 ans de 200
à 6500 bpi
*
les modes d'enregistrement utilisés sont les modes
NRZI, PE et GCR
*
Le temps de lecture d'une bande est de quelques
minutes, ce sont les supports de données
relativement lents.
3
4
Les bandes/cartouches, montées sur les unités de
lecture/écriture, sont des mémoires auxiliaires, non volatiles et
à accès séquentiel.
Elles ont les avantages suivants:
*
unités qui sont des périphériques standard
disponible dans la plupart des petits ou des
grands systèmes, ce qui permet l'échange de
bandes/cartouches entre systèmes.
*
la méthode d'enregistrement est une méthode
très économique (1milliard de bits équivaut à
+/- 1$)
*
les données peuvent être conservées sans
problèmes au moins pendant une vingtaine
d'années ( bon moyen d'archivage).
Elles ont aussi des inconvénients:
*
l'accès séquentiel --> d'où une certaine lenteur
*
La nécessité d'intervention d'un opérateur pour le
montage ou la démontage de la bande ou de la
cartouche dans le lecteur.
Organisation des données:
exemple d'enregistrement avec la méthode CGR:
Les informations que l'on désire stocker sont déposées dans une
mémoire tampon par groupe de 7 caractères de 8 bits + 1 bit de
parité, auxquels on ajoute un 8ième caractère de contrôle.
On divise ces 8 caractères en 2 groupes de 4. Dans chaque groupe
on obtient 9 colonnes de 4 bits que l'on code avec la table de
codage de la méthode du GCR. on enregistre ainsi des groupes de 5
bits le long de chaque piste.
Le travail de codage - décodage, contrôle, synchronisation est
transparent à l'utilisateur. il est effectué au niveau de l'unité
de bande et de son contrôleur.
Les fichiers sont composés d'enregistrement logiques
qui eux-mêmes sont composés d'un ensemble de caractères.
Sur la bande chaque enregistrement logique correspond à un bloc
physique.
Les blocs sont terminés par des bits de contrôle, appelés
Cheksum, et sont séparés par des petites zones non magnétisées
appelés Gaps. Les fichiers sont séparés par une marque de fin de
fichier.
Les cartouches ou cassettes magnétiques ( cartridges) suivent le
même principe que les bandes magnétiques, mais le format est
réduit et leur manipulation plus aisée.
4
5
1.1.4 Autres unités périphériques
1.1.4.1 DISQUES OPTIQUES
Les disques optiques numériques sont la révélation de ces
dernières années:
Ils offrent de grandes capacité de stockage sur des supports
amovibles.
Ils sont d'une très grande fiabilité;
L'inconvénient majeur est la relative lenteur de ces systèmes.
Les mémoires magnétiques présentent un certain nombre
d'inconvénient comme la sensibilité aux poussières, aux rayures,
à la température et aux champs magnétiques.
L'optique permet d'éviter ces problèmes et offre des densités
d'informations au moins 10 fois plus grandes que celles des
mémoires magnétiques, pouvant atteindre des dizaines de Mbits /
cm².
CD-ROM
sont des compacts disques enregistrés définitivement à l'usine.
Les disques compacts ont une capacité d'environ 650 Mbytes pour
un coût très bas.
On peut aussi regarder ces images sur un ordinateur ou un poste
de TV. Les Cd s'imposent donc comme le support multimédia grand
public.
L'information est stockée le long d'une spirale de microcuvettes
disposées à la surface du disque, celle-ci est revêtue d'une
couche réflective, l'ensemble étant enserré dans une couche
protectrice de résine. Lors de la lecture, on mesure la quantité
de lumière réfléchie pour reconnaître les bits 0 ou à 1.
Une cuvette diffracte la lumière et donc ne réfléchit qu'une
faible partie alors qu'en l'absence de cuvette, la lumière est
réfléchie en grande partie
les disques WORM
(Write Once Read Many)
que l'on peut écrire une fois et lire autant que l'on désire, ont
constitué la première génération des médias d'archivage.
Les disques optiques utilisent un rayon laser pour la lecture et
l'écriture des données.
L'écriture est réalisée à l'aide d'un puissant faisceau laser en
creusant des petits trous ou des cuvettes dans la surface
métallique ultra - mince d'un disque en plastique. Ces
microcuvettes ont un diamètre d'environ 0,6 µm
La lecture est réalisé avec un laser moins puissant qui se
contente de détecter la présence ou l'absence des trous en des
endroits précis. Si un trou existe, la lumière émise par le rayon
5
6
laser n'est pas réfléchie, ce qui n'est pas le cas lors de
l'absence de trou. Les trous sont espacés d'environ 2µm. Cette
technique est adaptée aux disques à lecture seule
Inconvénient : *
écriture unique
avantage :
*
les données sont inaltérables et les disques
ont une très longue durée de vie (archivage de données sensibles)
Les disques Magnéto - optiques
(DMO)
sont des disques effaçables que l'on peut lire et écrire
plusieurs fois.
On utilise les propriétés Magnéto - optiques de certains alliages
de matériaux rares, de fer ou de cobalt.
Ces matériaux peuvent inverser localement leur polarisation
magnétique sous l'effet conjugué d'un champ magnétique et d'un
rayon laser qui chauffe le point d'enregistrement
La surface se compose de 3 couches:
la plus profonde
est en aluminium qui réfléchit le faisceau
laser
La deuxième
est une couche d’alliage cristallin
magnétisable à haute température
la dernière
est une fine pellicule plastique.
Les opérations d'écriture se déroulent en 2 phases
1premier passage efface toute la zone du
disque à écrire
Le faisceau laser chauffe un point du disque
à une température critique (+/- 150 degrés).
2à cette température le point peut être
magnétisé par une tête magnétique qui met
tous les bits à 0. ensuite on recommence par
écrire uniquement les bits à 1.
2 passages nécessaires à l'écriture expliquent la lenteur de ce
processus.
La lecture s'effectue aussi à l'aide d'un faisceau laser, mais
avec une faible puissance. Le rayon lumineux est réfléchi par la
couche d'aluminium et ensuite polarisé de manière différente
suivant l'orientation magnétique de la deuxième couche. Le
faisceau est ensuite analysé pour savoir si l'information est un
0 ou un 1.
avantage:*
la tête d'un disque magnéto-optique peut rester à
une plus grande distance , ce qui évite les
problèmes dus aux crashs des têtes sur le disques.
la magnétisation est réalisée a haute température,
les disques magnéto - optiques sont insensibles
aux champs magnétiques.
6
7
Les Disques réinscriptibles
purement optiques !!
Le principe consiste à modifier la structure du disque qui
devient amorphe ou cristalline. Ceci est réalisé en chauffant
plus ou moins un point à l'aide d'un faisceau laser. Suivant la
température appliquée, le point à la surface du disque refroidit
dans un état ou un autre.
La lecture s'effectue par réflexion d'un faisceau laser de faible
puissance. Une forte réflexion indique une structure cristalline
alors qu’une faible réflexion indique une structure amorphe en ce
point précis.
Avenir des technologies magnétiques et optique
Ces 2 technologies ont encore une très grande marge de
progression. Elles vont évoluer conjointement. Les performances
sont en faveur de la technologie magnétique, alors que le spectre
d'utilisation est en faveur de l'optique. En effet les disques
optiques sont amovibles et peuvent être transportés d'une machine
à une autre.
L'utilisation du faisceau laser permet de définir plus
précisément des plus petites points du disque qui contiennent
chacun un bit d'information.
Les Juke-boxes
Les lecteurs de cartouches magnétiques et de disques magnétooptiques permettent de charger une seule cartouche ou un seul
disque. Pour offrir de très grande capacité de stockage, on
utilise des systèmes composés d'un robot, d'un ou plusieurs
lecteurs et d'emplacements pour le stockage de centaines voir
milliers de cartouches ou de disques. Ces systèmes sont appelés
juke-boxes. Les robots manipulent rapidement les
cartouches/disques pour les insérer dans les lecteurs ou pour
ensuite les ranger à leur place. De tels systèmes peuvent
atteindre de très grande capacité de stockage (> 1 Terabytes),
tout en ayant un temps d'accès relativement court et ceci dans un
volume réduit (sans intervention manuelle). Le temps moyen de
recherche et de chargement d'un disque dans un lecteur est
d'environ 10 à 20 secondes;
1.1.4.2. VISUALISATION PAR TUBES À RAYONS CATHODIQUES
Le tube à rayon cathodiques (TCR) (CRT), basé sur les mêmes
principes techniques que le téléviseurs. aujourd’hui c'est
l'unité de sortie par excellence de tout ordinateur, grand ou
petit.
Dans une TRC, un filament incandescent émet des électrons, qui
sont projetés vers l'écran par un système d'accélération, de
focalisation et de déviation. On crée ainsi un faisceau
7
8
d'électrons que l'on peut diriger avec une grande précision sur
l'écran, à l'endroit choisi, où il provoquera la luminescence
d'un phosphore spécial recouvrant la paroi interne de l'écran.
Dans un écran couleur, trois faisceaux séparés excitent chacun
une couche de luminophores de couleur différente. Pour obtenir
une image persistante sur un écran vidéo TRC, il faut rafraîchir
l'image 25 à 50 fois par seconde.
On peut classer les terminaux dotés d'écran de visualisation en 2
types:
*
l'affichage de textes
(écrans alphanumériques)
*
dans la formation d'images
(écrans graphiques)
Avec la diminution des coûts du matériel, et l'émergence des
interfaces utilisateurs graphiques, et les écrans alphanumériques
tendent à disparaître au profit des écrans graphiques.
Ecrans alphanumériques
Un écran alphanumérique est limité à l'affichage de caractères
répartis sur un certain nombre de lignes. le faisceau d'électrons
balaie l'écran par lignes (raster scan).
chaque ligne est composée de plusieurs centaines de points. Si
les caractères sont définis sur des matrices 5X7, ils occuperont
des cellules de 7X10 points, car il faut tenir compte des espaces
séparateurs entre les caractères et entre les lignes vidéo.
l'écran contient généralement de texte organisée en 24 lignes et
80 colonnes. L'écran est balayé par le faisceau sur 264 lignes,
dont on ne retiendra pour l'écriture du texte que 240. Le
balayage de l'écran est répété systématiquement 50 fois par
seconde.
Dans certains cas, on préfère rafraîchir l'écran par lignes
alternées (paires ou impaires) 25 fois par seconde (mode
entrelacé).
A chaque ligne de balayage, le terminal répétera les actions
suivantes:
chercher le caractère suivant dans la mémoire RAM
locale (qui contient le texte à afficher)
lire la séquence de bits correspondant au caractère
désiré et à la ligne vidéo courante dans la mémoire ROM
locale
interpréter les bits 0/1 provenant de la matrice comme
des commandes pour intensité du faisceau
Les informations à afficher sur un écran sont stockées dans une
mémoire RAM dite de rafraîchissement qui est locale à l'écran.
Pour changer les informations affichés à l'écran, il suffit de
modifier le contenu de la mémoire de rafraîchissement.
8
9
Ecrans graphiques
Les écrans graphiques, outre l'affichage des caractères,
permettent l'affichage de toutes sortes d'images ou de dessins.
Avec l'apparition des interfaces utilisateurs graphiques basées
sur l'utilisation de fenêtres et d'icônes, ils ont supplanté les
écrans alphanumériques.
Ecrans graphiques à balayage TV
Dans le cas des écrans à balayage, il faut imaginer l'écran
divisé en petits domaines élémentaires ou pixels qui forment un
certain nombre de lignes et de colonnes. Le terme pixels résulte
de la contraction de picture elements . Les premiers écrans
étaient des écrans monochromes ou pouvant afficher des images
binaires (bitmap) où chaque élément est représente par un bit.
C'est à dire que chaque point de l'écran peut être allumé ou
éteint.
Ensuite sont apparus les écrans à niveaux de gris. Pour cela il
faut plusieurs bits pour coder chaque élément de l'image (8bits
permettent de représenter 256 niveaux de gris).
C'est une image pixmap. Enfin les écrans couleurs permettent
l'affichage des images en couleur, mais pour cela il faut des
mémoires - images plus grandes, car pour chaque élément de
l'image il faut indiquer les valeurs des trois couleurs de base.
Une image à afficher est définie dans une mémoire - image de
l'écran; chaque élément de l'image correspond à un pixel de
l'écran. On peut faire évoluer l'image en changeant le contenu de
la mémoire - image. Indépendamment du contenu, l'image est
rafraîchie périodiquement sur l'écran. Tout l'écran est rafraîchi
périodiquement ligne par ligne. Une sophistication de
rafraîchissement consiste à effectuer un rafraîchissement
entrelacé, cela signifiant que dans une première passe toutes les
lignes paires sont rafraîchie et ensuite, dans une deuxième passe
toutes les lignes impaires.
Certains écrans permettent de définir plusieurs niveaux de gris
pour chaque pixel. Dans ce cas il faut associer n bits à chaque
pixel pour obtenir 2 exposant n niveaux ou tonalités de gris.
Dans les écrans couleurs, il faut prévoir une mémoire - image par
canon d’électrons, chaque faisceau étant dirigé sur une couche
phosphore donnant l'une des 3 couleurs fondamentales, soit bleu,
vert ou rouge. On peut naturellement obtenir des couleurs
composées en mélangeant les 3 couleurs de base.
Dans certains moniteurs couleurs, les intensités variables des 3
couleurs peuvent créer jusqu'à 16 millions de teintes. On trouve
généralement des écrans de 8bits et des écrans de 16bits. Ils
diffèrent par la taille de la mémoire image.
9
10
Ecrans vectoriels ou à balayage cavalier
Dans ce type de visualisation, on adresse point par point sans
pour autant faire un balayage systématique. On utilise le
faisceau comme le stylo des traceurs de courbes: il est programmé
pour dessiner une image par traits, selon un parcours défini par
une séquence de commandes stockées dans une mémoire locale.
Le rafraîchissement de l'image est accompli en suivant les traits
dans l'ordre dictée par le programme. Il est indispensable de
repeindre les traits composant l'image au moins 50 fois par
seconde.
Un écran TRC à balayage cavalier trace les images avec un
faisceau continu
Les écrans vectoriels sont adaptés aux applications où dominent
les lignes, les structures filiformes, les dessins par traits.
1.1.4.3.ACCESSOIRES "D'ENTRÉE" ASSOCIÉS AUX TERMINAUX DE
VISUALISATION
Le clavier
est le dispositif d'interaction par excellence pour tout ce qui
se rapporte à la saisie de texte. Il ressemble à celui d'une
machine à écrire, les touches engendrent des signaux
électroniques qui définissent leur emplacement. A l'aide de
tables stockées, par ex. dans une mémoire ROM, on peut faire
correspondre un codage approprié, par ex. le code ASCII, aux
touches d'un tel clavier.
Le crayon lumineux
(Light Pen)
Il s'agit d'un détecteur de lumière, envoyant un signal au moment
précis, où le faisceau rafraîchit le point indiqué. On l'utilise
comme un stylo; Il suffit de pointer sur l'écran à l'endroit
choisi et de presser sur un bouton interrupteur. La corrélation
entre le point signalé et l’élément concerné dans la mémoireimage est établie Automatiquement à l'instant où le crayon
détecte le passage du faisceau.
La souris (Mouse)
le manche à balai (Joystick)
la manette à boule (Trackball)
par déplacement d'une marque clignotante affichée sur l'écran et
appelée curseur
la souris fonctionne selon différents principes:
*
soit par l'intermédiaire d'une boule qui entraîne 2
roues (horizontale et
verticale) permettant de
quantifier les déplacements rotatifs de la souris
*
soit par un rayon lumineux et une tablette recouverte
d'un fin quadrillage sur laquelle on déplace la souris
10
11
1.1.4.4.AUTRES MOYENS DE VISUALISATION
Les écrans tactiles (touchscreens)
l'utilisateur de pointer et de toucher directement avec son doigt
un point de l'écran
Ecrans plats
Les écrans à cristaux liquides (LCD)
Liquid Crystal
Display
Les cristaux liquides se présentent comme un liquide où les
molécules ont une structure cristalline.
particularité:
les cristaux liquides sont arrangés en couches en formant
une spirale
Les molécules de la couche supérieure forment un angle droit
avec celles de la couche inférieure
Quand un champ électrique est appliqué, les molécules s'alignent
toutes parallèlement les unes par rapport aux autres. De plus les
cristaux liquides sont orientés à 90° , ils ont la propriété de
changer la polarisation de la lumière aussi de 90°.
Le principe de base d'un écran à cristaux liquides est de prendre
en sandwich des cristaux liquides entre 2 filtres polarisants
orientés à 90°. Un filtre polarisant laisse un rayon ou une onde
lumineuse orientée parallèlement au filtre. ainsi à l'état
normal, la lumière traverse les différentes couches. Si on
applique une tension suffisante aux cristaux liquides, ceux-ci
s'orientent de manière parallèle et le rayon lumineux n'est plus
polarisé, il est arrêté par le filtre polarisant. La quantité de
lumière traversante peut être modulée par l'orientation des
cristaux liquides eux-mêmes directement modulés par la tension
électrique appliquée.
Il est possible de faire des écrans couleurs, à chaque pixel est
composé de 3 sous-pixels, un par couleur (bleu, rouge et vert).
Un film comportant des bandes alternatives colorées ajoute à la
lumière émanant du cristal liquide
Technologie dite de matrice passive:
consiste à utiliser une matrice de fils électriques
jouant le rôle d'électrodes. L’intersection d'un fil
horizontal avec un fil vertical permet de déterminer la
charge appliquée à un point particulier de l'écran.
seul un pixel peut être activé à la fois car il faut
sélectionner une ligne et une colonne.
Technologie de matrice active:
Appelés aussi TFT (Thin Film Transistor) consiste à
remplacer la matrice
d'électrodes par une matrice de
transistors, chacun contrôlable directement. Cette
technologie, offrant des écrans d'excellente qualité, est
beaucoup plus complexe à maîtriser. En effet, il faut
produire des films comportant plusieurs millions de
transistors sans aucun transistor défectueux.
11
12
Les écrans à Plasma
sont composés d'une matrice d'ampoules néon miniatures. Des
électrodes horizontales et verticales connectent toute les
ampoules d'une même ligne et celles d'une même colonne.
Chaque ampoule peut être allumée ou éteinte. Pour en allumer une,
il faut appliquer une certaine tension aux lignes horizontales et
verticales correspondant à cette ampoule.
Le principal avantage est qu'ils ne nécessitent pas de
rafraîchissement périodique.
Ils offrent un affiche très stable, mais il nécessitent beaucoup
d'énergie.
1.1.4.5.UNITÉS PERMETTANT L'ÉCRITURE OU LE DESSIN
Imprimantes avec Impact
La tête du mécanisme d'impression avait la forme d'un cylindre
sur lequel les caractères étaient gravés. L'écriture exigeait un
ajustement en hauteur du cylindre, suivi par une rotation amenant
le caractère choisi en face du papier. Entre cylindre et papier
se trouvait un ruban imbibé d'encre, comme dans les machines
mécaniques. vitesse 7-15 cps (caract/sec).
L'imprimante à boule :
les caractères sont inscrits sur une sphère interchangeable et la
vitesse de 15 à 30 cps.
L'imprimante à marguerite (Daisy Wheel):
chaque pétale porte un caractère à son extrémité. La pétale,
sélectionnée par rotation, frappe le papier et le ruban encreur
interposé. Ces imprimantes permettent des vitesse de 20 à 80 cps
L'imprimante à tambour, à chaîne et à bande.
sont caractérisées par des caractères préformés et gravés sur des
supports en rotation rapide. Pour chaque position d'impression le
long de la ligne, il existe un marteau qui frappe le ruban et le
papier au passage du caractère désiré. Pour cette raison on les
appelle aussi imprimantes à la volée (On-The-Fly Printers). La
vitesse de ces machines varie, selon les modèles, entre 300 et
1500 lpm (ligne/Min.)
Les imprimantes matricielles (Matrix printers)
sont dites aussi imprimantes à points (Dot printers)
la tête d'impression se déplace le long de la ligne à imprimer;
Ces aiguilles peuvent être actionnés par des électro-aimants.
Chaque aiguille peut frapper le papier et naturellement le ruban
interposé. Simple et fiable, cette technologie permet de produire
des imprimantes peu coûteuses. Leur résolution est relativement
faible.
Les imprimantes à impact sont encore très utilisées dans les
administrations car elles permettent de faire des copies carbone.
12
13
Les imprimantes sans impact
Les imprimantes thermiques
ressemblent aux imprimantes à aiguilles. Mais au lieu de frapper
un ruban, les aiguilles brûlent la surface d'un papier sensible à
la chaleur. Le fonctionnement est silencieux mais il faut
utiliser du papier spécial.
2 technologies:
Le transfert thermique
et la sublimation thermique
Ces 2 technologies utilisent un rouleau de Cellophane recouvert
d'une encre à l'état solide composé d'une succession de régions
jaune, cyan et magenta dont la taille est celle de la surface
d'impression. Une série de têtes thermiques est disposée
perpendiculairement au sens de défilement du papier. L'impression
d'une feuille couleur nécessite donc le passage du papier devant
chaque couleur, ce qui fait 3 passages
Le transfert thermique
utilise un rouleau de Cellophane recouvert d'une encre à base de
cire. Lorsque un des têtes thermiques est activée, sa chaleur
fait fondre la cire
et la sublimation thermique
utilise un rouleau de Cellophane recouvert d'un colorant spécial.
Quand l'une des têtes est activée, sa chaleur fait passer le
colorant de l'état solide à l'état solide à l'état gazeux. Il se
diffuse alors sur le papier et retourne à l'état solide.
Les imprimantes à jet d'encre (ink jet printers)
sont également silencieuse et leur vitesse est comparable à celle
des imprimantes thermiques, mais elles ont l'avantage de pouvoir
imprimer tout symbole ou graphisme sans les contraintes des
imprimantes matricielles.
fonctionnement:
création d'un faisceau de gouttelettes
d'encre chargées électriquement et dirigées
sur le papier avec une grande précision par
un système par un système de plaque de
déviation.
La qualité d'impression est très bonne et cette technique permet
aussi d'imprimer en couleurs en utilisant des encres de couleurs
différentes. La résolution varie entre 200 ppp et 400 ppp.(point
par pouce)
Les Imprimantes à laser
utilisent des méthodes électrostatiques. Elles commencent par
former une image électrostatique sur un tambour photoconducteur.
Le tambour passe devant une station d'encrage ou l'encre chargée
électriquement est attiré uniquement par les points précédemment
chargés ( de signe électrique opposé). L'image est transférée sur
le papier par friction du papier sur le tambour. Cette technique
permet l'impression sur du papier ordinaire. Les imprimantes à
laser créent une image point par point de la page à imprimer sur
13
14
un tambour recouvert d'une couche
photosensible; des particules noircissantes sont attirées aux
endroits chargés du tambour et transférées ensuite sur le papier
par contact, en exploitant la force entre charges
électrostatiques. Le papier est enfin chauffé pour fixer
définitivement les particules. On atteint des résolutions
verticales et horizontales variant entre 300 dpi et 2000 dpi
(standard actuel 600 dpi).
Les traceurs
utilisent des périphériques spécialisés :
Les traceurs de
courbes (Plotters)
le traceur à rouleau de papier:
la plume ne se déplace que
selon un axe horizontal le long d'une génératrice du cylindre. La
composition des 2 mouvements de la plume et du rouleau du papier
permet de tracer des courbes à 2 dimensions
Les traceurs de type table:
la plume se déplace selon 2
directions orthogonales sur le papier posé à plat.
1.1.4.6. LA LECTURE OPTIQUE
(OPTICAL READERS OU SCANNERS)
Les digitaliseurs (Scanners) sont des équipements périphériques
qui permettent de numériser une image à partir d'une copie sur un
support solide tel que le papier. Le résultat de la
digitalisation est une image digitale ou numérique stockée dans
un fichier. Différents appareils permettent de digitaliser à
partir d'images papier, de transparents, de diapositives ou de
négatifs photo. La précision varie de 100 à plus de 1000 dpi.
Fonctionnement: La couleur blanche réfléchit pratiquement toute
la lumière alors que la noir ne réfléchit
presque rien. La réflexion des différents
niveaux de gris est directement proportionnelle
à leur intensité.
La plupart des digitaliseurs utilisent des cellules CCD (charge
coupled device) pour mesurer la quantité de lumière sui leur
parvient. Une cellule CCD transforme une quantité de lumière en
un signal électrique qui leur est proportionnel. Ensuite le
signal électrique est transformé en une valeur numérique. Les
appareils couleur nécessitent 3 passages au dessus de l'image. En
effet, il faut évaluer chacune de 3 couleurs primaires
séparément. Pour cela ils utilisent des filtres colorés, un par
couleur primaire (rouge, vert et bleu). Un logiciel généralement
associé aux digitaliseurs et celui de la reconnaissance des
caractères (OCR optical Character Recognition). Le programme
après digitalisation, d'effectuer une analyse de reconnaissance
des caractères. On peut tenter récupérer un fichier texte qui
peut être édité à l'aide d'un logiciel de traitement de texte.
14
15
1.1.4.7.TRAITEMENT DE LA VOIX
La voix peut être traitée en entrée ou en sortie dans les
systèmes informatiques.
Les unités de sortie sont plus développées que les unités
d'entrée
Le premier problème :
en entrée:la numérisation de la voix ( conversation
analogique/numérique) et le stockage de cette
information.
Le second
est la reconnaissance du contenu de cette
information, cad : des phonèmes
des mots
des phrases
et de leur sens!!
Ceci est possible de nos jours, mais de manière limitée
(vocabulaire de quelques mots) et dans des bonnes conditions de
bruit de fond.
En sortie:
on dispose de générateur de sons, de phonèmes, permettant de
synthétiser la parole (voice synthesizer).
Un autre type d'équipement permettant d'enregistrer et de stocker
la voix sous forme numérique, et de la reproduire après certaines
manipulations (suppression des blancs), mais sans avoir analysé
le contenu. technique de la messagerie vocale (téléphonie).
1.1.4.8
AUTRES UNITÉS PÉRIPHÉRIQUES
De très nombreuses autres unités périphériques sont couramment
utilisées dans diverses circonstances particulières, et leur
nombre croît sans cesse avec les nouvelles applications
informatiques. Certaines de ces unités périphériques sont
illustrés par les documents 20K à 21C
1.2 Processeur central
1.2.1 Horloge «temps de cycle»
Les circuits qui synchronisent et contrôlent toutes les
opérations de l'ordinateur sont situés dans l'unité de commande.
Les signaux périodiques générés par l'horloge définissent le
cycle de base ou cycle machine (Clock cycle), durée élémentaire
régissant le fonctionnement de la machine. Le temps d'exécution
d'une instruction dépend du type d'opération à effectuer.
Un cycle instruction peut s'étendre sur plusieurs cycles machine.
Le terme cycle CPU pour indiquer le temps d'exécution de
l'instruction la plus courte ou la durée d'une action élémentaire
provoquant un changement d'état.
15
16
Le cycle mémoire est beaucoup plus long que le cycle CPU et
limite la performance de l'ordinateur. Ces fréquences vont
typiquement de l'ordre du Mégahertz (million de cycle par Sec) au
Gigahertz.
1.2.2 Registres
compteur Ordinal (CO)
Le Program counter (PC) contient toujours l'adresse en mémoire de
la prochaine instruction à exécuter. Le CO est automatiquement
incrémenter après chaque utilisation.
La taille du CO dépend du nombre de positions de mémoires
adressables. Par exemple avec un CO de 16 bits on peut adresser
une mémoire de 2 exposant 16 mots.
Le programmeur n'a pas accès au CO directement.
Registres d'indice (XR) ou d'index (Index Registers)
peuvent être utilisés comme les registres généraux pour
sauvegarder et pour compter. Mais en plus ils ont une fonction
spéciale qui est de plus grande utilité dans la manipulation des
tableaux de données. Ils peuvent être utilisés pour manipuler des
adresses selon l'adressage indexé.
principe de l'adressage indexé:
l'adresse effective d'un opérande est obtenue en sommant la
partie adresse de l'instruction avec le contenu du registre
d'index spécifié.
Registres d'instruction (RI)
lorsque le CPU va chercher une instruction en mémoire, il la
place dans le RI. La taille du RI correspond à la taille du motmémoire. Le programmeur n'a pas d'accès au RI. Les bits
correspondant à la zone code opération sont envoyés au décodeur,
soit à la mémoire de microprogrammation pour déterminer
l'opération à exécuter.
Les registre d'opérations (d'unités fonctionnelles)
L'accumulateur (ACC)
l’ACC contient un des opérandes avant l'exécution et le résultat
après.
Il peut servir de registre tampon dans les opérations d'E/S.
généralement l'ACC a la même taille que le mot-mémoire.
Mais dans la plupart des machines il possède une extension qui
permet de doubler sa taille.
Cette extension est appelée le registre Q, pour contenir le
résultat d'une multiplication ou le dividende et le quotient
d'une division. L'extension Q est utilisée dans les opérations en
double précision pour contenir les bits les moins significatifs.
Le programmeur à accès a l'ACC, qui est toujours très sollicité
pendant le traitement des données.
16
17
Les registres spécialisés
les registres à décalage (shift registers)
les registres pour opérations arithmétiques en virgule flottante
(floating point registers)
Les registres d'état (PSW = Program Status Word)
appelés aussi registre condition, le registre d'état contient
différents bits appelés drapeaux (flags) indiquent l'état d'une
condition particulière.
Les registres pointeur de pile (SP = Stack Pointer)
utilisé pour simuler une pile dans la mémoire dans laquelle on
réserve une zone de mémoire.
Le registre SP fonctionne comme un registre d'Adresse mémoire
(RA) utilisé uniquement pour la partie pile de la mémoire RAM.
Lorsque un mot est chargé dans la pile, son adresse est inscrite
dans le SP.
Lorsqu'un mot est lu, la lecture se fait à partir de l'adresse
indiquée par le pointeur SP.
Le pointeur indique à tout instant l'adresse correspondant au
sommet de la pile.
Le fonctionnement d'une pile (LIFO = Last In First Out):
chaque fois qu'un mot doit être enregistré dans la zone
mémoire réservé pour la pile, il est placé à l'adresse
qui suit celle du mot enregistré précédemment
les informations enregistrées dans la pile sont lues
dans l'ordre inverse de celui dans lequel elles ont été
enregistrées.
Une fois que le mot est lu, son emplacement dans la
pile devient disponible pour une nouvelle information.
Les registres relatifs à l’adressage en mémoire centrale
Dans un environnement de multiprogrammation:
mémoire non pagée, divisée en partitions
que les limites inférieure et supérieure de la partition
référenciée sont connues du CPU et que chaque adresse référenciée
est comparée à ces limites pour vérifier qui ne les excède pas.
Il faut dans ce cas 2 registres par ex.
Le Relocation Register (RR): contient l'adresse du premier mot
de la partition
et le Protection Register (PR):
sa longueur
Ces registres sont chargés par le système exécutif lors de chaque
changement de tâche
mémoire pagée
Les circuits de traduction adresse virtuelle / adresse physique,
sous contrôle du système exécutif, réalisent également ce genre
de vérification.
on trouve dans le CPU, une partie plus ou moins grande de la
table d'équivalence adresses virtuelles/physiques (page map)
D'une manière générale, l'ensemble des circuits d'adressage
17
18
de la mémoire centrale, de vérification de la validité des
références, et les registres associés, constituent une unité
fonctionnelle du CPU parfois relativement autonome
ex.: le Memory Management unit (MMU)
Le Store Control
etc..
1.1.3 Les Indicateurs (Flags)
-
registre d'un seul bit
représente des valeurs d'exception ex.: division par Zéro
représente des états
de type d'opération:
ils sont à l'image de ce qui est en
train de se passer
si ils sont bien utiliser par les compilateurs, ils
permettent d'augmenter la vitesse de traitement.
Les registres Flags sont rassemblés ensemble et forment le PSW
(Program Status Word)
Les flags peuvent avoir des fonctionnement assez brutaux:
les flags peuvent induire un comportement qui n'est pas
habituel de la part des ordinateurs
ex.:
lors d'une baisse de courant , les senseurs envoient un
signal au flag qui signale au CPU un sauvetage général
(registre Cache). génération d'un trapping.
1.1.4 Interruptions, changements de contexte
Le changement d'activité du CPU appelés changement de contexte
(Context switching) est liée une mise en mémoire +/- généralisée
des différents registres et indicateurs, qui représentent
exactement l'état dans lequel se trouvait la machine au moment de
l'interruption.
Lors d'un changement de contexte, l’état du processus en cours
est sauvé et celui du processus à poursuivre est restauré.
1.1.5 Evolution des processeurs, augmentations de
puissance
Multiplications
On assiste à une multiplication et une banalisation des
registres.
certains groupes de registres vont être désignés pour
certaines tâches, mais à l'intérieur d'un même groupe, ils
sont banalisés.
l'idée va être de duplicier des ensembles de registres qui
on le même nom de 0 à 31
par ex.:
entre les 2 ensembles, on met un interrupteur qui bascule
18
19
-
-
entre le groupe 1 ou le groupe 2. --> lors du changement de
contexte plus de sauvegarde - restauration des informations.
on met le système exécutif dans le groupe 1 et les
tâches sur le groupe 2
Le basculement de l'interrupteur n'est pas
commandé par une instruction du système exécutif;
on simule l'existence d'un seul groupe numéroté de
0 à 31.
Dès lors on va avoir jusqu'à 8 groupes de registres avec un
interrupteur électronique qui sélectionne et qui rend actif
électroniquement le groupe. ( le système exécutif sait à
quel tâche appartient le groupe de registre.
chaque fois qu'il y a interruption, on bascule sur le groupe
1 et le système exécutif reprend la main.
Pré - lecture des instructions
Comme on possède des CPU bien éclatés pour des opérations
différentes et bien fonctionnelles. L'idée est que plusieurs
instructions peuvent être lues à la fois
Il faut que les instructions soient différentes
Il faut plusieurs registres counter --> Register stack
(permet de lire plusieurs instructions)
Instruction decoding
---> permet de faire la prélecture
prélecture:
On la lit sans encore savoir si on va l'exécuter,
une fois qu'elle est dans le CPU, on va exécuter
l'instruction à condition qu'elle ne sait pas
conflictuelle avec une instruction qui s’exécute
déjà. on peut lire déjà l'instruction suivante et
ainsi de suite.
* Si une interruption arrive de ce travail de prélecture, on ne
la prend pas en compte tout de suite. On va parfois attendre
plusieurs cycle avant d'exécuter l'interruption, le temps que de
l'ordre soit remis dans l'ordre des instructions en cours.
* Dans ce modèle de travail, le programme Counter va aussi
travailler de façon Hardware avec des pointeurs pour savoir ce
qui est prélu, lu et exécuté.
* Ce mécanisme est implanté dans la plupart des machines
actuelles y compris dans les micro-ordinateurs
ex.: Intel 486 +/- 6 instructions prélues.
* Afin de rendre le système encore plus performants, on peut
duplicier les unités de fonctionnalité
ex.: plusieurs ADD ==> plusieurs instructions les mêmes en même
temps.
* si on rencontre une condition JUMP (if then else), on prélit
les deux branches en même temps jusqu'au moment ou le résultat du
test sort le bon JUMP. on ne garde alors que la bonne branche.
19
20
* Utilisation des registres instructions qui permet de lire
plusieurs instructions à l'avance.
PIPELINE PROCESS--> Phénomène de pseudo parallélisme ou
plusieurs processus sont en cours
simultanément.
(ex. chaîne de montage voiture)
1.2.6 Microprocesseurs & Microprogrammation
a. Microprocesseurs
la micro-électronique est à la base du développement accéléré de
l'ordinateur pendant la dernière décennie.
*
Elle est à l'origine de l'accroissement de la taille des
mémoires centrales et de l'augmentation du nombre et de la
puissance des unités de traitement dont on profité les
ordinateurs de haut de gamme, les machines parallèles et les
supercomputers.
*
elle a donné naissance à toute une série de composants d'un
niveau élevé, permettant ainsi de construire facilement et avec
un nombre relativement petit de boîtiers des machines bon marché.
Tout commença en 1971, avec l'Intel 4004. il s'agissait d'un CPU
entièrement intégré sur une microplaquette de quelques mm(carré)
Microprocesseur:
circuit intégré réalisant une unité de
traitement complète
(unité de commande + UAL)
Evolution des microprocesseurs
Dès 1975, les progrès technologique s'accélère et permet
d'intégrer de + en + de circuits dans une puce.
Dans les années 80, apparition des architecture 32 bits, on peut
disposer de microprocesseurs assez puissants ( plusieurs dizaine
ou centaines de MIPS).
On atteint actuellement les limites des architectures 32 bits et
on est passé aux architecture 64 bits qui deviennent le standard
actuel ( Alpha de DEC).
Certains processeurs adoptent déjà une architecture 128 bits soit
pour le bus de données, soit pour le bus des instructions. Les
progrès technologique permettraient d'augmenter la densité des
composants, d'améliorer encore les performances et de baisser
ultérieurement les prix.
Limite
quantité de matière implique dimension:
atome 10 exp(-7) - 10 exp(-4) ==> 1 micron = 1000 atomes
actuellement 1/10 de micron (petit cube)
=
1 milliard
d'atome
si on gagne encore 1 facteur 10 dans les prochaines années le
cube contiendra 1 million d'atomes.
Le problème sera avant la taille , la pureté du cristal
Evolution des microprocesseurs RISC et CISC
Dans le milieu des années 70, on remarque que seule une partie du
jeu d'instructions des microprocesseurs est réellement utilisée
pendant l'exécution des programmes. A partir de cette
constatation est né le concept d'un microprocesseur avec un jeu
20
21
limité d'instruction, les microprocesseurs sont RISC (Reduced
Instruction Set Computer).
Ces microprocesseurs sont caractérisées par un jeu restreint
d'instruction simples effectuées rapidement en un cycle
d'horloge.
Par opposition au terme RISC,
les microprocesseurs classiques ont été appelés CISC (Complex
Instruction Set Computer)
Les microprocesseurs RISC (Reduced Instruction Set Computer)
né suite à une constatation dans 80% des cas, un processeur
n'utilise que 20% de son jeu d'instructions. les instructions les
+ utilisées sont celles de transfert entre unité centrale et
mémoire et les branchements aux sous-programmes.
L'évolution conduit à développer des processeurs ayant des jeu
d'instructions de + en + complexes. Ces instructions complexes
sont de programmes microcodés dont le décodage est effectué à
l'intérieur du processeur et dont l'exécution peut prendre
plusieurs cycles d'horloge. Le temps passé au décodage n'est pas
pénalisant comparé au temps d'accès à la mémoire.
Caractéristiques d'un RISC:
exécution des instructions en un seul cycle d'horloge
simplification du format des instructions (généralement
32 bits)
réduction et simplification du jeu d'instruction (modes
d'adressage limités)
utilisation intensive des registres
séquenceur câblé
-
Problèmes du RISC
est lié à la compilation des programmes et plus
particulièrement à la génération de code.
un effort particulier a du être apporté à la génération de code
et son optimisation:
l'allocation optimales de registres (pour éviter des
accès à la mémoire)
l'élimination des redondances
l'optimisation des boucles (expressions non modifié
dans une boucle sont
sorties de la boucle).
le remplacement d'opérations lentes par des opérations
rapides.
l'optimisation des pipelines
Les RISC sont plus simples que les CISC ce qui entraîne un temps
de conception plus court, des circuits plus petits laissant la
place pour des registres, des co-processeurs permettant
d'augmenter les performances. De plus la simplicité de
l'architecture est aussi un avantage pour l'utilisateur car le
jeu d'instruction est plus facile à utiliser. L'avènement des
processeurs RISC pose le problème nécessaire de développer de
nouveaux buts plus performants.
21
22
Différences entre RISC et CISC
L'évolution des CISC vise à simplifier la tâche du compilateur
tandis que le concept RISC vise à simplifier le matériel pour
augmenter les performances en utilisant une nouvelle génération
de compilateurs. Au départ très différentes l'une de l'autre, les
processeur RISC et CISC migrent vers un même objectif:
l’exécution d'une ou plusieurs instructions en un seul
cycle d'horloge avec des fréquences de + en + rapides.
Pour cela les 2 familles utilisent les mêmes principes :
de mémoire cache
de gestionnaire de mémoire
de pipeline et d'architecte parallèles
Les transputers
Un transputer est une sorte de petit micro-ordinateur très simple
contenant un microprocesseur, une mémoire locale et des liens
pour pouvoir le connecter à un autre transputer. Un transputer
est intégré dans un seul circuit.
Le but des transputers est de développer des briques de base peu
coûteuses destinées à construire des systèmes parallèles
concurrents.
C'est en 1985 qu'apparut le premier Transputer (T414) développé
par la compagnie IMMOS.
C'est un processeur 32 bits avec 2kbytes de mémoire et 4 liens de
connexion à d'autres transputers.
Le T800 (intègre aussi une unité de traitement des nombres
flottants), le T425, le T805 et ensuite le T9000.
La programmation d'un système construit à partir de plusieurs
transputers se réalise à l'aide du langage OCCAM qui permet de
tirer pleinement parti de cette architecture parallèle où les
processus s'exécute de façon concurrente et s'échangent des
messages.
b. microprogrammation
Une technique de conception et de fonctionnement des processeurs
centraux, appelée microprogrammation et existant de longue date,
est particulièrement d’application dans le cas des
microprocesseur, dans la mesure où, selon ce principe de
microprogrammation, le jeu d’instruction n’est plus défini de
manière rigide, correspondent aux opérations pouvant être
réalisées globalement par les unités fonctionnelles ; au
contraire, ces dernières vont être divisées en sous-unités ou
« micro-unités » qui ne sont capables que d’opérations tout à
fait élémentaires ou micro-instructions et le code opératoires
est décodés et interprété au moyen d’une table présente dans une
« mémoire de contrôle » (control store) interne au processeur,
de manière à définir quelles micro-unités fonctionnelles doivent
être activées, dans quel ordre, etc., pour réaliser une
opérations complexe. Il s’agit donc d’une programmation interne
au processeur central (appelée microprogrammation, définissant un
microcode, dont l’exécution est régie par un « micro compteur
ordinal » souvent appelé sequencer) qui permet de définir la
22
23
suite d’opérations à associer à un code opératoire donné. Cette
définition correspond à l’information présente dans la mémoire de
contrôle ; celle-ci est généralement de type ROM (read-only
memory) parfois modifiable (writeable control store), et peut
éventuellement être multiple, c’est-à-dire qu’un choix peut être
opéré entre plusieurs microcodes, donc entre plusieurs
interprétations différentes d’un même jeu d’instructions.
Cette méthode est utilisée par de nombreux constructeurs pour
exécuter sur un processeur donné le jeu d’instructions d’un
autre, par exemple d’un modèle antérieur, ou pour rendre un
processeur compatible avec celui d’un autre constructeur ; on
emploie dans ce cas le terme « émulation » (plutôt que
simulation).
1.2.7 Systèmes puissants, super-ordinateurs
développement des ordinateurs se poursuit dans 2 directions
principales:
accroissement des performances
et miniaturisation des composants.
Dans le haut de gamme, on construit des ordinateurs aux
performances extrêmes répondant aux exigences des applications
scientifiques et des techniques les plus avancées.
L'autre extrémité de la gamme on cherche à développer des
microplaquettes (chips) contenant un nombre toujours plus grand
de circuits logiques. L'accent est mis sur le rapport
prix/performance. L'idée est de fabriquer un CPU sur une seule
puce; c'est la définition même de microprocesseur. En plus du
processeur les microplaquette peuvent contenir les coprocesseurs
arithmétiques, les mémoires cache, et les autres fonctions de
communication et d'E/S. Fabriqués en grande quantités, ces
microprocesseur offrent des performances à des prix relativement
bas.
Les scientifiques et les ingénieurs ont toujours dû affronter des
problèmes dépassant la capacité de calcul des machines les plus
puissantes (météorologie, aérodynamique, physique de particules ,
les mathématiques appliquées etc.).
On résout des problèmes, soit en augmentant la vitesse
d'exécution de l'Unité centrale, soit en mettant plusieurs
processeurs en parallèle, ce qui permet d'exécuter plusieurs
travaux en même temps et de distribuer un calcul donné sur
plusieurs processeurs.
La technologie moderne permet d'envisager des architecture
exploitant la simultanéité des opérations à tous les niveaux. on
conçoit des machines avec plusieurs additionneurs ou
multiplicateurs pouvant travailler en même temps au sein de
l'UAL.
multiprocesseur:
On fait aussi des machines avec plusieurs
processeurs, pouvant fonctionner en parallèle
multiordinateur:
chacun doté de sa propre mémoire et capable
23
24
de communiquer avec les autres grâce à des réseaux très
performants
Parallélisme
signifie que plusieurs actions peuvent se dérouler en même temps
de manière concurrente.
Par conséquent, en augmentent le parallélisme d'une machine on
augmente sa capacité de traitement. Mais la machine devient plus
complexe et plus difficile à programmer.
Les systèmes hautement parallèle ne peuvent que rarement
profiter, bien que dans une moindre mesure, des possibilités
offertes par l'architecture. Les machines parallèles représentent
la seule direction de recherche envisageable pour atteindre le
Tflops (mille milliards d'opérations en virgule flottante par
seconde) avant la fin du siècle.
Pipelining
est adopté pour accroître les performances des unités de
traitement des ordinateurs de n'importe quel niveau de puissance.
Il s'agit d'une idée très simple de l'organisation du travail à
la chaîne, par exemple chaînes d'assemblage des voitures, etc.
Le Pipelining est une technique permettant d'effectuer davantage
de travail par unité de temps quand il faut répéter une opération
donné sur un grand nombre d'opérandes. Elle consiste à segmenter
une opération complexe en séquence d'actions plus simples .
chaque action simple est réalisée par un dispositif particulier.
plusieurs instruction complexes peuvent ainsi être traitées en
même temps tout en étant à des stades différentes d’exécution.
Au lieu de concevoir une unité s capable d'effectuer l'opération
p dans le Temps T, on divisera le travail en segments
P1,P2,P3,P4,... exécutés par des sous-unités S1, S2, S3,S4,...
dans des temps T1,T2,T3,T4,... fractions du temps T. Dès que la
chaîne du pipeline est pleine, cad que les sous-unités sont
occupées, on commence à sortir des résultats à un rythme beaucoup
plus élevé que dans le cas de l'unité non segmentée. Il ne s'agit
pas d'augmenter la vitesse d'exécution d'une opération, mais de
produire davantage de résultat par seconde, en fournissant
continuellement des opérande à l'entrée du pipeline. voilà donc
une méthode pour accroître ma capacité en Mflops. Il suffit de
segmenter les différentes opérations en virgule flottante et
restructurer le Hardware concerné de manière analogue au station
de montage.
On peut gagner encore plus de temps en arrangeant des pipelines
en parallèle (pipelines multiples). avec 3 additionneurs
segmentés en 5 stations et travaillant en même temps, on
améliorera le productivité exprimé en Mflops d'un facteur 15.
La technique du pipelining peut aussi s'appliquer à des
dispositifs autres que ceux faisant partie de l'UAL. Par exemple,
la section de l'unité de commande qui traite les instructions peu
être organisée en pipeline. comme suit:
-
chercher en mémoire centrale l’instruction suivante
24
25
décoder le code opératoire
chercher l'opérande
activer le séquenceur ou le
effectuer l'opération
avancer le Compteur Ordinal
Les actions ainsi définies peuvent se
le temps, le débit est nécessairement
microcode
d'une unité
suivre et se recouvrir dans
augmenté.
Processeurs
Scalaires et
Vectoriels
La technique de pipelining ouvre la voie au traitement
systématique de blocs de données, qu'on appelle aussi vecteurs
(Vectors). Un vecteur est une variable ayant plusieurs valeurs.
un pipeline doit fonctionner automatiquement une fois l'opération
lancée, sans intervention ultérieure de la part du programme. Le
programme doit se limiter à spécifier le type d(opération désirée
et les vecteurs concernés, ce qui peut se faire en une seule
opération
Processeur Vectoriel
Une unité d'exécution (UAL) organisée pour effectuer des
opérations sur des vecteurs. Une telle opération est déclenchée
par une instruction vectorielle faisant partie du jeu
d'instruction de la machine. Avec une seule instruction, on peut
donc provoquer la somme de 2 vecteurs, cad les éléments
correspondant aux deux vecteurs.
Processeur Scalaire
s'il en possède pas la faculté d'opérer sur des vecteurs, et
qu'il ne peut qu'exécuter des instructions dont l'effet se limite
à des variables scalaires, cad des variables ayant une seule
valeur.
*
Pour être efficace,
- un processeur vectoriel doit disposer de blocs
ultra - rapides, capable de stocker les vecteurs
mémoire centrale et prêts à être avalés par l'un
- Il doit posséder suffisamment de registre pour
résultats produits, avant de les envoyer vers la
de registres
provenant de la
des pipelines
y déposer les
mémoire
*
Souvent,
Les résultats issus d'un pipeline doivent être soumis à d'autres
pipelines pour des traitements ultérieures. Inutile dans ces cas
de leur imposer un voyage aller et retour vers la mémoire et
d'encombrer davantage le bus. Certains systèmes offrent le
possibilité d'enchaîner les opérations vectorielles (Chaining).
Des vecteurs peuvent subir des traitements successifs, programmés
à l'avance, sans quitter le CPU, limitant l'accès à la mémoire.
On réalise ainsi un autre niveau de pipelining.
Processeur superscalaires
Ce nom est donné à des processeurs capables d'exécuter en
parallèle un petit nombre d'instruction (de 2 à 5). La
25
26
simultanéité est réelle.
On peut par exemple exécuter une instruction en virgule flottante
pendant que l'autre unité fait des opérations avec des nombres
entiers et qu'une troisième s'occupe d'un transfert mémoire registre. C'est le processeur qui gère ses unités de traitement
et qui s'organise à optimiser le parallélisme. La performance des
machines superscalaires dépend beaucoup du compilateur qui doit
être capable de trouver suffisamment d'instructions pouvant être
exécutées en parallèle, cad n'ayant pas de dépendances entre les
variables.
Approche VLIW (Very Long Instruction Word)
consiste à placer dans un mot de taille assez grande (plus de 100
bits), plusieurs instructions prêtes à être exécutées en
parallèle par des unités fonctionnelles multiples indépendantes;
Le VLIW est similaire à l'approche superscalaire mais la gestion
du parallélisme n'est plus effectués par le processeur. Le
concept VLIW fait entièrement confiance au compilateur qui
arrange les instructions dans ces grands mots structurés. Un
processeur superscalaire livre au aux différentes unités
fonctionnelles des instructions individuelles issues du
compilateur, tout en laissant au hardware la responsabilité de
décider du nombre d'instructions à exécuter à chaque instant.
L'affectation des opérations aux unités de traitement est codée
dans l'instruction elle-même.
Un des premiers microprocesseurs à utiliser cette technique est
le i860 d’Intel qui a des instructions d'une longueur de 128
bits.
Architecture des superordinateurs
L'existence des superordinateurs est très courte.
définition:
machines capables de résoudre des problèmes qui ne
peuvent pas être traités des systèmes existants.
cette définition en rallonge pas leur durée de
vie.
superlatifs des constructeur s'en méfier
classer ?
*

==>
comment les
la plupart des machines à haute performances sont des Mono
ou Multiprocesseurs vectoriels à pipeline multiple
L’idée du niveau de performance:
- nombre d'unités de traitement
- du cycle machine
- de la capacité de la mémoire centrale ainsi que des
registres affectés aux calculs vectoriels dans les
processeurs.
- des débits du bus reliant la mémoire aux processeurs
centraux et des connexions entre la mémoire centrale et les
mémoires auxiliaires
- plus l'indispensable logiciel capable d'exploiter ces
ressources.
26
27
Les MIPS et
Les Mflops
sont des indicateurs souvent trompeurs et leur calcul varie selon
le fabriquant.
Si la plupart des ordinateurs peuvent être décrits comme des
machines dotées de processus vectoriels à pipelines, il faut
encore distinguer entre les différents niveaux d'intégration de
ces processeurs. En effet, plusieurs constructeurs offrent en
option des processeurs pour les calculs vectoriels que l'on peut
brancher sur des ordinateurs scalaires. la tendance est à la
généralisation et à la diffusion des facilités vectorielles.
Les Machines Parallèles
Le progrès technologique permet de réaliser des architectures
d'un très haut niveau de parallélisme, avec des centaines (voir
milliers) de processeurs. ces machines sont aussi des
supercomputers, en effet pour certaines applications, ils peuvent
offrir des performance remarquables.
L'idée de base de tout ordinateur parallèle est de distribuer le
travail nécessaire à la solution d'un problème sur plusieurs
processeurs faisant partie de la même machine. On observe en
effet que la plupart des programmes que l'on exécute en séquence,
il existe des blocs d'instructions totalement indépendants, qui
pourraient être exécutés en même temps. Cela implique un nouveau
style de programmation et une complexité accrue au niveau du
logiciel.
Il est évident que certains problèmes tels ceux rencontrés dans
les mathématiques appliquées, traitement d'images ou en physique,
possèdent un bon niveau de parallélisme naturel et peuvent être
adaptés à un traitement parallèle. d'autre, il y a des programmes
qui ne se prêtent pas facilement à une telle décomposition.
Conclusion:
on dispose de puissantes machines scalaires exécutant leurs
instructions selon le principe de Von Neumann et dont on a appris
à se servir depuis une quarantaine d'années.
depuis une quinzaine d'années, des processeurs vectoriels
très puissants, capable de résoudre des problèmes qui étaient
réputés infaisables, à cause du temps d'exécution sur les
machines scalaires.
on peut compter sur toute une gamme de machines parallèles
avec d'énormes capacité de calcul, distribuées sur des grandes
quantités de processeurs, amis qui demandent au programmeur une
approche différente.
Parallélisme
distinguer 2 niveaux de parallélisme
parallélisme interne
à l'intérieur d'un ordinateur classique, sous 3 formes:
27
28
parallélisme par duplication:
réaliser une simultanéité réelle de certaines opérations ou
actions, en multipliant les dispositifs affectés à ces tâches
ex.: additionneurs parallèles
Bus multilignes pour transferts parallèles
mémoire à blocs indépendant entrelacés
additionneurs ou multiplicateur supplémentaire etc..
parallélisme par anticipation:
on réalise un accroissement des performances en effectuant
certaines actions susceptibles de réduire le temps d'attente
d'une unité critique ex.:
recouvrir dans le temps d'exécution d'une
instruction avec la recherche de l'instruction
suivante
doter le CPU d'une antémémoire
faire un transfert de données entre une unité
périphérique et la mémoire en vue de traiter
ultérieurement et pendant que le CPU fait autre
chose etc.
Le recouvrement des actions dans un pipeline, peut
être cité comme exemple de ce type de parallélisme
parallélisme par multiplexage
Lorsque plusieurs unités lentes sont servies par unité rapide, on
réalise, on réalise une simultanéité apparente. C’est le cas par
ex.: des systèmes utilisés en temps partagés (Time Sharing).
parallélisme externe
on peut distinguer 3 types d'architecture:
SISD (Single Instruction Single Data stream)
= Von Neumann = strictement séquentielle te dépourvue de
parallélisme externe. Elle a donc une seule unité de commande
traitant une seule séquence d'instructions (Single Instruction
stream) et une seule unité d'exécution (UAL) traitant une unique
séquence de données (Single Data stream).
SIMD (Single Instruction Multiple Data streams)
une unité de commande unique, mais plusieurs unités d'exécution.
Tous les processeurs exécutent la même instruction simultanément.
On peut classer dans cette catégorie les processeurs vectoriels
qui exécutent la même instruction sur des tableaux différents.
MIMD (Multiple instruction Multiple Data streams)
on peut classer dans cette catégories les multiprocesseurs, où
chaque processeurs exécute un programme différent, et aussi les
machines parallèles où tous les processeurs travaillent au même
problème
MISD
(Multiple instructions Single Data stream)
pour de raisons de symétrie, on prévoit l'architecture de ce
type, dont on n'a pas encore vue un exemplaire de cette catégorie
28
29
parallélisme transparent
On remarquera que la plupart de ces techniques, visant à
l’accroissement des performances, ne concernent pas directement
l'utilisateur =
parallélisme transparent
pipelining
L’antémémoire
parallélisme visible:
nécessitant la collaboration de l'utilisateur pour être réalisé
efficacement.
ex.: Machines vectorielle et parallèles, où la programmation joue
un rôle fondamental dans la recherche d'une performance maximale.
1.2.8 Ensemble de processeurs, réseaux locaux
Dans cette architecture, l’ensemble des éléments forme "un
système informatique" mais en répond plus à la définition que
nous avons donné jusqu'ici, basée essentiellement sur une mémoire
centrale qu'accèdent un ou plusieurs processeurs et où réside une
partie fondamentale du système exécutif.
Ici les fonctions du système sont totalement distribuées,
déconnectées (loose coupling)
il faut bien entendu un ensemble de conventions, de normes, de
protocoles pour que ces différents éléments puissent échanger des
informations et coopérer à la réalisation des tâches.
Un réseau d'ordinateurs est un ensemble d'ordinateurs,
géographiquement dispersés, reliés entre eux par un ou plusieurs
liens afin de permettre les échanges d'informations
Réseau local
LAN Local Area Network
réseau dont les nœuds se trouvent dans le même bâtiment ou dans
des bâtiments voisins, donc éloignés jusqu’à quelques centaines
de mètres
1.2.9 Développements récents
(micro-ordinateurs et
station de travail)
Par rapport aux gros ordinateurs, les micros offrent une vitesse
de calcul comparable, mais des mémoires plus petites et surtout
des dispositifs d'E/S et des périphériques moins performants.
Mais mentionnons le développement explosif des Stations de
travail personnel (PWS) telles APOLLO, SUN, DECstation regroupant
en un système compact la plupart des développements des chapitres
précédents.
De tels outils associés avec une avalanche d'ordinateur
personnels, obtiennent le nouveau rôle de SERVEURS, amènent au
concept d'informatique distribuée ou répartie, lié fortement aux
développements des réseaux et de la Télématique.
29
30
2. ASPECTS LOGICIELS
Le Système Exécutif
2.2.1 Segmentation, réentrance, overlays
Segmentation
concerne le division du programmes en module, ou segments
chaque segment correspond à une entité logique, telle une
procédure ou un bloc de données, indépendante des autres segments
* La segmentation permet au programmeur de définir plusieurs
espaces d'adresses séparées.
Par exemple le concepteur du compilateur pourrait envisager des
segments correspondant aux différents phases de la compilation;
Les donnée seraient aussi associées à des segments séparés (texte
source, code objet, table des symboles, arbre syntaxique, etc.)
ce qui aurait l'avantage d'éviter les débordements et donc le
recouvrement de tables.
* On peut considérer la segmentation comme une alternative au
retassement, les segments se prêtant plus mieux à l'occupation de
l'espace mémoire fragmenté Le système exécutif se charge de
placer en mémoire les segments nécessaires à l'exécution des
programmes prêts à utiliser le CPU C'est le système qui doit
savoir où sont stockés les différents segments. Pour cela il
organise et gère un ensemble de tables de segments (segment
table). une table par Job, contenant les adresses de chargement
des segments de chaque programme.
* L'adresse est structurée et contient 2 champs:
le numéro du segment
le déplacement (offset) à l'intérieur du segment
chaque processus est associé à une table de segments. Le calcul
de l'adresse effective est réalisé, comme d'habitude, à l'aide
d'un dispositif spécial, en ajoutant l'offset à l'adresse de
chargement du segment qui est stockée dans la table des segments.
Réentrance
Le code Réentrant (également appelé code pur) est un code
invariant. si le code est Réentrant, il ne change jamais pendant
l'exécution. Ainsi deux ou plusieurs processus peuvent exécuter
le même code en même temps. chaque processus possède sa propre
copie de registres et son stockage de données afin de contenir
les données pour l'exécution de processus. Les données pour les 2
processus différents vont bien sûr varier pour chaque processus.
On peut partager d'autres programmes très utilisés: compilateurs,
systèmes à fenêtres, systèmes de base de données, etc. Pour
pouvoir partager un code, il faut que celui-ci soit Réentrant.
Un autre avantage de la segmentation concerne le partage du code
ou des données. chaque processus possède une table de segments
30
31
associée à son bloc de contrôle de processus, que le dispatcher
utilise afin de définir la table des segments matérielle quand on
alloue l’UC à ce processus. Les segments sont partagés quand les
entrées dans les tables de segments de 2 processus différentes
pointent vers les mêmes emplacement physiques.
Le partage se produit au niveau du segment. Ainsi, toute
information peut être partagée si elle est définie comme un
segment. on peut partager plusieurs segments, un programme
constitué de plusieurs segments peut donc être partagé.
Envisagez l’utilisation d'un éditeur de texte dans un système en
temps partagé
Un éditeur complet peut être très grand et composé de plusieurs
segments
Overlays ( segment de recouvrement)
Il y a de nombreuses années, les programmes étaient trop
volumineux pour entrer dans la mémoire disponible. La solution
généralement adoptée fut de diviser les programmes en parties
appelées des segments de recouvrement (overlays). Le segment 0
s'exécute en premier. Lorsqu'il se termine, il appelle un autre
segment de recouvrement. certains systèmes de recouvrement
étaient trop complexes et permettaient d'avoir plusieurs segments
en mémoire simultanément. Les segments de recouvrement étaient
stockés sur le disque et effectuaient des va-et-vient entre le
disque et la mémoire principale.
Le système d'exploitation effectuait les déplacements des
segments, mais le découpage du programme en plusieurs parties
devait être fait par les programmeurs: c'était long et
fastidieux. Très vite on demanda à l'ordinateur de s'acquitter de
cette tâche.
On adopta le principe de la mémoire virtuelle
2.2.2 Mémoire virtuelle multiple, machine virtuelle
Mémoire Virtuelle multiple (Multiple Virtual Storage)
Le principe de mémoire virtuelle établit un découplage total
entre les notions d’espace d’adressage physique et virtuel. Le
premier est fixé, limité, bien défini, et sert à l’implantation
matérielle de certaines pages de l’autre. La manière dont ce
dernier, l’espace virtuel, est considéré ou défini n’a de
conséquence que sur l’algorithme qui réalise l’implantation
physique et sur les structures de données associées à cet
algorithmes, dans le matériel et le logiciel de pagination. Par
exemple, le fait que l’espace virtuel soit +/- grand n’a
d’influence que sur le nombre de bits nécessaire pour « compter »
ou numéroter les pages virtuelles. Rien n’empêche donc, dans ce
principe, que Iton démultiplie l’espace virtuel et que l’on en
considère « plusieurs » ; cela revient à ajouter un paramètre
dans la référence aux pages virtuelles, spécifiant à quel espace
virtuel elles appartiennent.
Dans ce contexte de mémoire virtuelle multiple (multiple virtual
storage, MVS), chaque tâche ou travail « vit » dans un espace
31
32
d’adressage indépendant des autres, et le système exécutif,
implanté physiquement en mémoire réelle, gère l’implantation
physique des différentes pages de ces différents espaces.
Machine Virtuelle
Certains systèmes permettent aux programmes systèmes d'être
facilement appelés par les programmes d'application. Comme avant
, bien que les programmes système soient à un niveau supérieur de
celui des routines, les programmes d’application peuvent
visualiser tout ce qui est en dessous d'eux dans la hiérarchie
comme si ceux-ci faisaient partie de la machine elle-même. cette
approche en couche est amenée à conclusion logique dans le
concept de machine virtuelle.
En utilisant le scheduling de l'UC et les techniques de la
mémoire virtuelle, un système exécutif peut créer l'illusion de
processus multiples, chacun en cours d'exécution sur son propre
processeurs avec sa propre mémoire (virtuelle).
Normalement, le processus possède des caractéristiques
supplémentaires, comme les appels système et un système de
fichiers, qui ne sont pas fournies par le matériel nu. L'approche
de la machines virtuelle, ne fournit aucune fonction
supplémentaire mais elle propose une interface identique au
matériel sous-jacent nu. On fournit à chaque procédure une copie
(virtuelle) de l'ordinateur sous-jacent.
Les ressources de l'ordinateur physique sont partagées pour créer
les machines virtuelles. Le scheduling de l'UC peut être utilisé
pour partager l'UC et faire croire aux utilisateurs qu'ils
possèdent leur propre processeur.
Le concept de machine virtuelle possède plusieurs avantages.
notez que dans cet environnement les diverse ressources du
système sont complètement partagées. chaque machine virtuelle est
entièrement isolée des autres, par conséquent il n'existe pas de
problème de sécurité.
En revanche, il n'y a aucun partage direct des ressource, afin de
pouvoir fournir le partage, on a implémenté 2 approches:
1tout d'abord, il est possible de partager un mini - disque.
Ce schéma est modélisé autour d'un disque physique partagé, mais
implémenté par logiciel. Avec cette technique on peut partager
des fichiers
2il est possible de définir un réseau de machines virtuelles,
chacune d'elles peut envoyer de informations sur le réseau de
communication virtuel. Le réseau à nouveau modélisé selon les
réseaux de communication physiques mais il est implémenté par
logiciel.
Un tel système de machine virtuelle est un moyen parfait pour la
recherche et le développement des systèmes exécutif. Normalement
modifier un système exécutif est une tache difficile. Comme les
systèmes exécutif sont des programmes grands et complexes, il est
difficile d'assurer qu'un changement à un endroit ne provoquera
pas d'erreurs peu claires dans une autre partie. Ainsi la machine
virtuelle permet de tester soigneusement toutes les modifications
apportés au système exécutif.
32
33
2.3 Gestion des unités périphériques
Les E/S sont le domaine le plus délicat dans la conception et la
réalisation d'un système d'exploitation; Leur importance est
fondamentale, mais toute généralisation est rendue difficile par
la grande variété des unités périphériques et des procédures
d'E/S utilisées dans les ordinateurs actuels.
Quelques aspects du problème
proviennent des causes matérielles et de facteurs objectifs mais
aussi du souci de gestion optimale des ressources et de
simplification de la tâche de l'utilisateur.
quelques exemples:
diversité fonctionnelle des unités périphériques
l’énorme différence de vitesse entre les unités
la diversité de codage et de structure des informations
échangées
la différence entre les méthodes d'accès (séquentiel,
aléatoire, etc.)
la grande diversité des conditions d'erreur
la complexité des systèmes de liaison entre périphériques et
unité centrale (DMA,
canaux, bus, unités de commande)
Le haut degré de parallélismes des opérations
La nécessité de protéger les utilisateurs et de leur cacher
les détails des E/S
la nécessité de rendre les programmes le plus indépendant
des types de
périphériques concernés.
Une approche répandue
Le système exécutif réalise ces objectifs en s'efforçant de
traiter tous les périphériques de la même manière et en confinant
tous les traitements particuliers dans des modules spécialisés,
appelés gestionnaire d'unité périphérique (Device Handlers,
Drivers).
on peut concevoir une structure interne à ce niveau du système
s’occupant de la gestion des E/S. en procédant de l'extérieur
vers l'intérieur, on peut identifier quatre sous - niveaux de
logiciel soit:
des procédures standard (programme de bibliothèques) utilisé
par des applications et contenant des requêtes au superviseur
provoquant le passage en mode privilégié.
un logiciel d'E/S indépendant des unités périphériques
des drivers, commandant chaque unité dans le détail
des programmes de service des interruptions agissant en
collaboration avec les
fonctions du noyau.
L’utilisateur dispose d'un jeu d'instruction d'E/S virtuelles.
Une instruction d'E/S virtuelle se présente, selon le langage de
programmation utilisé, sous la forme d'un appel de procédure
système (Read, Write, Print, etc.) contenant les arguments
nécessaires (noms des variables ou des fichiers, taille, format,
unité logique, etc.).
33
34
2.4.
Gestion de l'information / des
fichiers
Les problèmes qui se posent aux concepteurs de systèmes de
fichiers et les approches adoptées pour les résoudre.
Du point de vue de l'utilisateur:
les aspects les plus importants de tout système de fichiers
concernent son apparence et sa fonctionnalité. On s'attend bien
sûr que l'interface soit simple et conviviale et que les fichiers
soient protégés et leur intégrité assurée.
permettre la création et la destruction de fichiers
assurer et empêcher l'accès au fichier selon des
directives de ceux qui les
ont crées.
permettre à l'utilisateur de donner un nom symbolique à
un fichier et
de l'appeler ensuite par ce nom.
offrir des méthodes d'accès efficaces et adaptées aux
applications
permettre le partage des fichiers
distinguer entre protection en écriture, lecture,
exécution, ...
protéger les fichiers de toute défaillance du matériel
ou du logiciel
faciliter la manipulation d'un fichier
Du point de vue du concepteur/réalisateur
D'autres aspects du système sont extrêmement importants, par
exemple:
la gestion efficace de l'espace disque.
le choix et l'implantation d'un système de catalogage
la manipulation des fichiers physiques de façon de
façon transparente pour l'utilisateur travaillant sur
des fichiers logiques.
la mise en œuvre d'un système de sauvegarde acceptable,
pour assurer l'intégrité des données.
la réalisation d'une certaine indépendance du matériel
spécifique
l’efficacité et la rapidité du système
la protection des fichiers contre les erreurs des
utilisateurs et du système et envers les accès non
autorisés
2.5.
Logiciels utilitaires associés au
Système Exécutif
3. IMPLANTATION DR SYSTÈMES ET MESURES DE
PERFORMANCES
34
35
Qu’en est-il de l’exécution des programmes écrits en
langage de haut niveau ?
Si c’est simplement « plus rapide », on pourrait faire exécuter
un ensemble de programmes écrits en langage de haut niveau sur
une machine RISC puis sur une machine CISC et voir dans quel cas
l’exécution est la plus rapide. Malheureusement, les programmes
d’évaluation de performance (appelés souvent benchmarks) ne sont
pas faciles à écrire. Par exemple, en quel langage doit-on les
écrire ? On sait qu’en Fortran les programmes sont gros et peu
structurés, qu’ils comportent peu d’appels de procédure et
beaucoup de GOTO ; comme les machines RISC exécutent plutôt bien
les appels de procédures mais plutôt mal les sauts, est-ce que la
comparaison est juste ?
Autre question : quels types de programmes doit-on inclure dans
le jeu d’essai de test de performance ? Des petits programmes
extrêmement récursifs, comme les tours de Hanoï ou la fonction
d’Ackermann, s’exécutent très bien sur les machines RISC, mais
sont-ils réellement représentatifs ?
Nous avons évoqué les difficultés qu’il y avait à exécuter de
vrais programmes, ce qui explique que l’on ait crée de toutes
pièces des programmes de test ayant les mêmes caractéristiques
générales qu’un échantillon préalablement sélectionné de
programmes réels. En général, ces jeux d’essai (benchmarks) ne
font aucune E/S et ne testent donc que les performances du
compilateur et de l’UC. Au cours des années 70, deux chercheurs
du Laboratoire national de physique en Grande-Bretagne ont mis au
point un benchmark synthétique qui mesurait en whetstones par
seconde les performances en calcul flottant ( un whetstone était
une instruction virgule flottante statistiquement « moyenne »).
Pour comparer les machines RISC et CISC, on utilise maintenant
couramment le successeur du whetstone, que son inventeur n’a pas
hésité à appeler le dhrystone.
A la différence de son prédécesseur, le dhrystone ne mesure que
les calculs sur entiers. Même si les résultats obtenus ne sont
pas indépendants de la qualité des compilateurs, de l’allocation
de registre et des performances des caches, on considère en
général que le nombre de dhrystones par seconde reflète grosso
modo la puissance d’une machine.
35
Téléchargement