INTRODUCTION
CODAGE DE L’INFORMATION
L’UNITE CENTRALE
ARCHITECTURE DES MICROPROCESSEURS
LA MEMOIRE CENTRALE
UNITES D’ENTREE-SORTIE
LES INTERFACES
UNITES PERIPHERIQUES
LES DISQUES DURS
LES MODEMS
En première approche, un ordinateur
est constitué d'un processeur qui effectue les traitements, d'une mémoire
centrale où ce processeur range les données et les résultats
de ces traitements et de périphériques permettant l'échange
d'informations avec l'extérieur. Tous ces constituants sont reliés
entre eux par l'intermédiaire d'un bus, qui est l'artère centrale
et leur permet de s'échanger des données. Pratiquement, tous les
ordinateurs actuels ont cette architecture, que ce soient les micro-ordinateurs
personnels ou les gros ordinateurs des entreprises. Les différences résident
essentiellement dans les performances des constituants.
L'ensemble des communications à l'intérieur de l'ordinateur s'effectue
en langage binaire.
La plupart des systèmes supportent
les mêmes types de périphériques ; leur nombre dépend
de la taille et des performances de l’unité centrale.
Les matériels à vocation scientifique ou industrielle sont également
dotés de périphériques particuliers spécifiques
des fonctions qui leur sont demandées.
Codage de l’information : QU'EST CE QUE LE SYSTEME BINAIRE ?
Le microprocesseur et tous les composants
qui l'entourent doivent traiter les nombres usuels (0, 1, 2...8, 9) dont la
représentation au moyen d'états électriques est très
complexe. C'est la raison pour laquelle les ordinateurs travaillent sur des
nombres "binaires", et n'utilisent que les chiffres 1 ("allumé") et 0
(« éteint »). Chaque 0 ou 1 d'un nombre binaire constitue
un bit. C'est la plus petite unité envisageable (un périphérique
qui ne serait capable que de stocker des zéros ne pourrait pas être
utilisé comme mémoire, il faut pouvoir distinguer au moins deux
valeurs).
Il faut, par exemple, 4 bits pour représenter un chiffre ordinaire tel
que "8" (qui s'écrit 1000 en représentation binaire).
Une lettre majuscule telle que "A" est codée 01000001. Un groupe de huit
bits est appelé octet, chaque octet correspondant ainsi à un caractère.
Les PC disposent de microprocesseurs très puissants qui peuvent manipuler
des nombres de 32 bits (4 octets à la fois). Pour toutes les opérations
portant sur des nombres plus importants, le microprocesseur doit travailler
sur des portions réduites, puis reconstituer le résultat sous
forme d'un nombre unique.
Un code Universel : Si mystérieux que paraissent les ordinateurs, ils ne font qu'allumer et éteindre des milliers de minuscules interrupteurs. En combinant un grand nombre de ces interrupteurs, on peut créer une grande variété d'instructions pour diriger l'ordinateur.
On dit toujours qu'on utilise en informatique l'arithmétique binaire parce que c'est la plus efficace. Cela veut dire qu'une information numérique peut être stockée en distinguant plusieurs valeurs d'un phénomène physique continu comme une tension ou une intensité. Plus on distinguera de valeurs, plus l'espace entre les valeurs sera petit et moins le dispositif de mémorisation sera fiable. Avec la numération binaire, il suffit de savoir distinguer deux états, c'est en ce sens que c'est la méthode la plus fiable pour coder l'information numérique.
Deux autres systemes, l'octal
(base 8) et le l'hexadecimal (base 16) sont très souvent
employés, car ils facilitent le dialogue entre informaticiens. Difficile
en effet d'exprimer oralement une adresse mémoire avec les seuls 0 et
1 du binaire !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Comment coder le nombre 1944 avec
seulement nos deux digits, 0 et 1 ?
On peut coder chacun de ses chiffres séparément (minimum
4 bits par chiffre)
0001 1001 0100 0100
On peut coder la valeur 1944 entièrement
en binaire :
0000011110011000
Avec 16 bits, on peut représenter les nombres de 0 à 9999 en format décimal, ce qui nous donne 10000 combinaisons, alors qu'avec 16 bits en binaire pur, on peut représenter 65536 nombres différents. C'est pour cela aussi qu'on dit que le binaire est plus efficace.
Ainsi un groupement de p éléments binaires successifs assure la représentation de 2p caractères distincts. Réciproquement, pour représenter 2p caractères distincts il faut p éléments binaires successifs choisis parmi deux signes (0,1).
Quelques exemples de conversions
|
|
|
|
|
|
|
|
|
|
|
|
Les unités de mesure
Devant l'augmentation croissante des volumes de données mis en jeu, de
nouvelles unités apparaissent pour caractériser les nouveaux supports
de stockage. Aujourd'hui, un disque dur fait couramment une taille de 120 Go,
la mémoire centrale 256 Mo, une clé USB 128 Mo et une disquette
1,44 Mo. Notez que depuis la normalisation
de 1998 par la Commission électrotechnique internationale, les préfixes
kilo, méga, giga, téra, etc, correspondent aux mêmes multiplicateurs
que dans tous les autres domaines, soit des puissances de 10.
L'ancienne règle qui prévalait (à savoir 1 ko=2 puissance10
octet=1024 octets), n'est plus de mise, même si encore couramment employée.
1 octet | = 8 bits |
1000 octets |
= 1 Ko (Kilo-octets) |
1 000 000 octets = 1000 Ko | = 1 Mo (méga-octets) |
1 000 000 000 octets = 1000 Mo | = 1 Go (Giga-octets) |
1 000 000 000 000 octets = 1000 Go | = 1 To (Téra-octets) |
1 000 000 000 000 000 octets = 1000 To | = 1 Po (Péta-octets) |
Données non numériques
Pour permettre la manipulation, l’échange et le stockage de fichier texte,
il faut les coder sous un format universel qui peut être reconnu par tous
les ordinateurs. Le codage des caractères alphanumériques se fait
par une table de correspondance propre à chaque code utilisé :
- BCD (Binary Coded Decimal) : le caractère est codé sur 6 bits
- ASCII (American Standard Code for Information Interchange) : le caractère
est codé sur 7 bits
- EBCDIC (Extended Binary Coded Decimal Internal Code) : le caractère
est codé sur 8 bits
- UNICODE : Le caractère est codé sur 16 bits (soit 65536
combinaisons possible); il permet de traiter des textes écrits aussi
bien en hiéroglyphes qu’en français.
Entier positif
Conversion d’une base à l’autre:
décimal à binaire
La conversion se fait par divisions entières successives par 2. L’arrêt
se fait à un quotient nul. Le nombre binaire est obtenu en lisant le
reste, du dernier au premier.
Ex : 25
25 / 2 = 12 reste 1
12 / 2 = 6 reste 0
6 / 2 = 3 reste 0
3 / 2 = 1 reste 1
1 / 2 = 0 reste 1
donc 25(10) = 11001 (2) (NB : 25 en base 10 équivaut a 11001 en
base 2)
octal à décimal
La conversion se réduit à une addition de puissance de 8 (ou 16).
décimal à octal
La conversion se fait par divisions entières successives par 8 (ou 16).
L’arrêt se fait à un quotient nul. Le nombre binaire est obtenu
en lisant le reste, du dernier au premier.
octal (ou hexadécimal)
à binaire
La conversion correspond à un éclatement de chaque chiffre octal
(ou hexa) en son équivalent binaire sur 3 (ou 4) bits. Ex :
7(8) = 111(2) car 1(8) = 001(2) et 7(8) = 111(2)
A(16) = 1010(2) car 2(16) = 10(2) et A(16) = 1010(2)
binaire à octal (ou hexadécimal)
On effectue un remplacement de droite à gauche de 3(ou 4) bits par le
chiffre octal (hexa) correspondant. Si le nombre de bits n’est pas multiple
de 3(ou 4), il faut compléter à gauche avec des 0.
Ex :
01101(2) = 55(8) = 2D(16)
Entier négatif
Il existe quatre façons de représenter les nombres négatifs
en machine. La première, la valeur signée, consiste à réserver
tout simplement un bit pour le signe (le bit le plus à gauche avec 0
pour + et 1 pour -), les autres bits servant à représenter la
valeur absolue du nombre. Dans la deuxième méthode, le complément
à 1 (ou complément restreint), on a également un bit de
signe qui vaut 0 pour + et 1 pour -. Pour effectuer la négation d'un
nombre, on remplace tous les bits (y compris le bit de signe) qui sont à
0 par 1 et tous les bits qui sont à 1 par 0. La troisième méthode,
le complément à 2 (ou complément vrai), a elle aussi un
bit de signe avec 0 pour + et 1 pour -. On effectue la négation d'un
nombre en deux étapes: on remplace d'abord tous les 1 par 0 et tous les
0 par 1, comme dans le complément à 1. Puis on additionne 1 au
résultat ainsi obtenu. L'addition binaire ressemble fort à l'addition
décimale à ceci près qu'on engendre une retenue si la somme
et supérieure à 1 au lieu de 9.
Essayons de convertir 6 en complément à deux; il faut deux étapes:
00000110 (+6)
11111001 (-6 en complément à 1)
1 (on additionne 1)
11111010 (-6 en complément à 2)
Si une retenue est engendrée au niveau du bit le plus à gauche, elle est ignorée. La quatrième méthode, le codage par excédent, consiste, pour les nombres de m bits, à stocker la somme du nombre et de 2,n-1. Par exemple, pour les nombres sur 8 bits, on stocke la valeur du nombre plus 128. C'est ainsi que -3 devient -3 + 128 = 125, soit en binaire 0 1 1 1 1 1 0 1. On mappe ainsi sur l'intervalle O..255, les nombres de l'intervalle -128,..., +127. On peut remarquer que cette méthode donne un résultat identique à celle du complément à 2, au bit de signe près qui est inversé. Les deux premières méthodes (valeur signée et complément à 1) autorisent deux représentations distinctes de la valeur 0: un «zéro positif» (+O) et un «zéro négatif» (-O). C'est un inconvénient important. La méthode du complément à 2 n'engendre pas de problème de ce côté-là car le complément à 2 de +0, c'est encore +0. En revanche, on doit noter qu'une configuration binaire formée d'un 1 suivi de 0 est son propre complément à 2; l'intervalle dans lequel les nombres négatifs prennent leur valeur n'est pas le symétrique de celui des nombres positifs: il y a un nombre négatif qui n'a pas de contrepartie positive. Le même problème survient avec la quatrième méthode.
Nombre fractionnaire
Changement de base :
binaire à décimal
On additionne les puissances de 2.
x : 0,01 (2) = 0 * 2e - 1 + 1 * 2e - 2 = 0,25(10)
décimal à binaire
La conversion s’effectue par des multiplications successives par 2, de nombres
purement fractionnaires. On s’arrête dès que l’on obtient une partie
fractionnaire nulle. Le résultat est obtenu en lisant les parties entières
de la première vers la dernière.
Ex : 0,125 * 2 = 0,250 = 0 + 0,250
0,25 * 2 = 0,50 = 0 + 0,50
0,5 * 2 = 1,0 = 1 + 0,0
on lit donc de haut en bas 0,125(10) = 0,001(2)
Nombres fractionnaires à
virgule fixe
Les nombres sont traités comme des entiers avec une virgule virtuelle
gérée par le programmeur ; le problème est la gestion de
la place de la virgule au cours des opérations ce qui rend son traitement
très difficile et le résultat peu précis.
Protection contre les erreurs
Avec l'augmentation constante des vitesses et des taux de transfert, il a fallut
sans cesse perfectionner les algorithmes de vérification de l'intégrité
des données transmises. On recense plusieurs type de codes vérificateurs
mais les principaux sont les suivants :
Codes autovérificateurs : Le contrôle de parité est
le plus simple; le mot se compose de m+1 bits ; la valeur est telle que le nombre
total de bit à 1 (calculé sur m+1) est pair ou impair. Si la parité
n’est plus respectée, l’erreur est détectée, mais s’il
y a double erreur, la parité est aussi respectée et alors l’erreur
n’est plus détectée.
Codes autocorrecteurs : La double parité est un contrôle double du code mais seul un nombre impair d’erreur est possible à détecter.
Le code de Hamming est basé sur les tests de parité et ne permet de corriger qu’un bit en erreur. On peut aussi l’utiliser dans le cas d’erreurs multiples sur une séquence de bits en arrangeant le message de façon matricielle.
Détection d’erreurs groupées
: CRC (Cyclique Redondancy Check) ou méthode des codes polynomiaux
qui consiste avant la transmission à ajouter des bits de contrôle.
Une information de n bits peut être considérée comme la
liste des coefficients binaires d’un polynôme de n termes et donc de degré
n-1.
101101 = 1+x2+x3+x5
Ce sont ces types de détection d’erreur que l’on utilise aujourd’hui
car ce sont de loin les plus performants.
ELEMENTS DE LOGIQUE
Certaines des fonctions accomplies par l'ordinateur peuvent être obtenues avec d'autres circuits. Cette technique s'appelle "logique cablee"
Les opérateurs :
Le micro-ordinateur, ou plus exeactement l'un de ses composants, l'UC (unité
centrale) peut accomplir aussi bien des opérations arithmétiques
que des opérations logiques.
Les opérations sont surtout utilisées pour comparer des données
entre elles et déclencher, à partir du résultat, une transaction
particulière.
Par exemple, on peut insérer dans un programme calculant la feuille de
paie, un système de contrôle du nom qui se présente; Si
ce nom est FIN, la machine doit en aviser l'opérateur et mettre fin au
programme.
Dans l'éxécution d'un calcul arithmétique normal, nous
pouvons distinguer trois entités fondamentales :
1- Les opérandes : nombres sur lesquels on effectue l'opération.
2- L'opérateur : symbole indiquant l'opération à accomplir
3- Le résultat : nombre associé par l'opérateur aux opérandes.
On connaît les opérateurs correspondant aux opérations arithmétiques
ordinaires mais il existe aussi une série d'operateurs appelée
: les opérateurs logiques. Ces opérateurs obéissent à
des règles spécifiques, parfois très complexes.
Les opérateurs logiques
:
Prenons l'exemple des feux de circulation.
Il y a quatre situations possibles :
1- feux éteints
2- feu rouge
3- feu orange
4- feu vert
A la question : "Quel est l'état
des feux de circulation ?", la réponse est nécessairement l'une
des quatre situations énumérées plus haut.
Soit : éteint OU rouge OU orange OU vert
Le mot OU est un opérateur logique. Le symbole est OU.
On peut donc exprimer les quatre situations possibles de la façon suivante
:
état des feux de circulation : 1 OU 2 OU 3 OU 4
Question : "Quand une voiture a-t-elle
le droit de passer ?"
Réponse : "Feux éteints OU feu vert."
On peut traduire symboliquement la réponse par :
PASSEZ = 1 OU 4
En réalité, l'expression 1 OU 4 n'est pas suffisante puisque si
les feux sont éteints, il faut encore s'assurer que la voie est libre.
La réponse complète est donc :
PASSEZ = feu vert OU feux éteints ET voie libre
Considérons cette dernière condition.
Le mot ET signifie qu'on doit avoir simultanément les deux situations
:
feux éteints et voie libre
C'est un nouvel opérateur
logique que l'on symbolise par ET.
En attribuant le chiffre 5 à la condition voie libre, on aura :
PASSEZ = 4 OU 1 ET 5
Mais cette expression est susceptible de deux interprétations :
a) PASSEZ = (4 OU 1) ET 5
b) PASSEZ = 4 OU (1 ET 5)
L'expression a) signifie que le passage
est autorisé si l'on a (4 OU 1) et en même temps 5. C'est une interprétation
erronée contrairement à l'expression b) qui est correcte.
Il est donc indispensable d'utiliser correctement les parenthèses, exactement
comme dans les formules algébriques.
Les opérateurs ET / OU s'appliquent à deux éléments
d'un ensemble quelconque.
Considérons un exemple à deux chiffres binaires A et B. Ces deux
éléments peuvent prendre la valeur 0 ou 1. Il s'ensuit que les
diverses combinaisons entre les valeurs A et B sont les suivantes :
Introduisons maintenant un nouvel
opérateur : OU exclusif, OUX (XOR en anglais). cet opérateur est
équivalent à OU sauf dans le cas où A=1 et B=1 où
il donne 0 comme résultat.
En d'autres termes, OUX n'équivaut à 1 que si l'un seulement de
A ou de B a pour valeur 1. La table de vérité de cet opérateur
est par conséquent :
Le dernier des opérateurs est le NON (NOT en anglais). Il s'applique à un seul opérateur avec un sens complémentaire. Il remplace donc le symbole 1 par 0 et réciproquement.
On peut également appliquer
les opérateurs logiques à des nombres binaires à plusieurs
chiffres.
Si nous prenons :
A = 01101
B = 10011
on a :
NON A = 10010
NON B = 01100
A ET B = 00001
A OU B = 11111
A OUX B = 11110
La logique cablée
Les opérateurs logiques peuvent s'appliquer aux signaux électriques
de la même manière qu'ils s'appliquent aux symboles 0 et 1 (signaux
électriques numériques).
L'opération qui permet d'obtenir le signal A ET B est effectué
par des circuits numériques spécialisés que l'on appelle
les circuits logiques.
Chacun de ces circuits a une fonction qui lui est propre. A chaque opérateur
logique correspond un circuit spécifique.
Il faut donc construire un appareil particulier renfermant un circuit pour chacune
des fonctions logiques dont on a besoin.
Concevoir un circuit, c'est relier électriquement entre eux un certain
nombre de composants. On obtient ainsi un circuit intégré.
Cette opération de connexion s'appelle un câblage et le circuit
prend alors le nom de logique cablée.
Les opérateurs logiques peuvent s'appliquer sur des nombres quelque soit
la base concernée.
L'unité centrale (UC) est le "cerveau" de l'ordinateur. Son rôle est d'exécuter les programmes stockés en mémoire centrale en chargeant les instructions, en les décodant et en les exécutant l'une après l'autre. L'UC est composée d'une unité de commande qui charge les instructions et les décode, et d'une unité arithmétique et logique (UAL) qui exécute des opérations et de la mémoire centrale.
Unité de commande
L’unité de commande est constituée de plusieurs organes qui permettent
la recherche en mémoire et le décodage d’une instruction. On trouve
:
L'exécution d'une instruction
par l'UC passe par les étapes suivantes :
1. Chargement de la prochaine instruction à exécuter depuis la
mémoire jusque dans le registre instruction.
2. Modification du compteur ordinal pour qu'il pointe sur l'instruction suivante.
3. Décodage de l'instruction que l'on vient de charger.
4. Localisation dans la mémoire des éventuelles données
utilisées par l'instruction.
5. Chargement des données, si nécessaire, dans les registres internes
de l'unité centrale.
6. Exécution de l'instruction.
7. Stockage des résultats à leurs destinations respectives.
8. Retour à l'étape 1 pour exécuter l'instruction suivante.
L'unité arithmétique
et logique
L’UAL réalise les opérations mathématiques et logiques
nécessaires au fonctionnement de l’ordinateur et permet tout particulièrement
le mode de calcul en virgule flottante.
Elle possède les registres suivants :
On peut regrouper les instructions en trois catégories :
- Registre-mémoire (2 à
3 cycles)
les instructions registre-mémoire permettent de charger des mots dans
des registres qui pourront, par exemple, être utilisés par d'autres
instructions comme entrées de l'UAL.
- Registre-registre (1 cycle)
les instructions registre-registre typiques chargent deux opérandes pris
dans les registres, les placent dans les registres d'entrée de l'UAL,
exécutent sur eux une certaine opération et remettent le résultat
dans un registre.
- Mémoire-mémoire (plusieurs
cycles)
Une instruction mémoire-mémoire prend ses opérandes dans
la mémoire et les place dans les registres entrées de l'UAL, exécute
ensuite une opération, et place le résultat en mémoire.
Architecture des microprocesseurs
Généralités
Il existe deux types de microprocesseurs :
Microprocesseurs RISC (Reduced
Instruction Set Computer) de conception récente et plus performant qui
eux disposent d’un petit jeu d’instructions polyvalent (de 160 à 200
instructions), ce qui les rend plus rapide. Ex : i960, RS6000, DecAlpha,..
Il intègre au matériel les instructions les plus utilisées
et permet d'exécuter plusieurs instructions en un seul cycle.
Ex : PowerPc
La tendance actuelle semble montrer que les processeurs de type RISC sont plus performants que les CISC bien que ces derniers ne soient plus des CISC à proprement parler, mais plutôt des hybrides regroupant différentes technologies comme le pipelining et le mode super-scalaire ou carrément CISC et RISC à la fois comme le pentium pro (c'est un processeur RISC qui traduit les instructions CISC).
Synchronisation des opérations
La synchronisation des différentes opérations est réalisée
par une horloge qui définit le cycle de base et qui est en général
la fréquence d’horloge du processeur. Le temps d’exécution d’une
instruction dépend du type d’opération à effectuer et du
type de processeur utilisé, ce qui peut prendre un ou plusieurs cycles
d’horloge.
Séquenceur
Le séquenceur est un automate générant les signaux de commandes
nécessaires pour actionner et contrôler les unités participant
à l’exécution d’une instruction. Il existe deux types de séquenceurs
:
- le séquenceur câblé qui est un circuit séquentiel
complexe mais d’exécution très rapide.
- le séquenceur microprogrammé contenu dans une ROM qui est plus
simple à utiliser et à concevoir, mais moins rapide.
Structure des instructions niveau
machine
Une instruction machine doit fournir au processeur toutes les informations pour
déclencher une opération élémentaire. Elle doit
contenir un code opération (type d’action demandée) et une ou
plusieurs adresses (ces adresses peuvent être : l’adresse de l’opérande,
l’adresse où envoyer le résultat, l’adresse où chercher
l’instruction suivante,...). Par conséquent, une instruction machine
comportera un champ code opération et jusqu'à 4 champs adresse.
Jeu d’instructions
L'ensemble de toutes les instructions dont dispose le programmeur à un
niveau donné est appelé jeu d'instructions. Le nombre d'instructions
d'un jeu est variable suivant les machines et les niveaux; Pour un niveau machine
traditionnel, par exemple, la taille du jeu d'instructions varie couramment
de 20 à 300. Un grand jeu d'instructions n'est pas forcément meilleur
qu'un petit, c'est même souvent le contraire, puisque l'existence d'un
jeu d'instructions très grand sous-entend que les instructions elles-mêmes
ne sont pas générales. Les compilateurs de langages de haut niveau
(Ada, Pascal) fonctionnent généralement mieux sur des machines
dont le jeu d'instructions est petit mais bien adapté, que sur celles
qui ont un jeu d'instructions très lourd. Les machines à jeu d'instructions
très réduit (machine RISC) sont extrêmement rapides et n'ont
pas de microprogrammes.
Chaque machine possède donc
son jeu d’instructions. Il existe 6 groupes d’instructions que l’on retrouve
sur toutes les machines, quelles qu’elles soient :
Les transferts de données (load, move, store,...).
Les opérations arithmétiques (+, -, /, *).
Les opérations logiques (ou, and,...).
Les contrôles de séquence.
Les entrées/sorties.
Les manipulations diverses (décalages, incrémentations,...).
Registres du CPU
Le CPU possède ses propres registres qui lui permettent d’exécuter ses instructions :
Cette suite d'étapes s'appelle
cycle de chargement-décodage-exécution, cycle qui est au coeur
du fonctionnement de tous les ordinateurs.
Il n'est pas obligatoire qu'un programme soit exécuté directement
par une UC matérielle, c'est-à-dire composée de circuits
électroniques; Un programme qui charge, décode et exécute
les instructions d'un autre programme est appelé un interpréteur.
Cette équivalence entre processeurs
matériels et interpréteurs a d’importantes conséquences
du point de vue de l'architecture des ordinateurs. Lorsqu'on spécifie
le langage machine L d'un nouvel ordinateur, il convient de décider
si ce langage L sera directement exécuté par le matériel
ou s'il sera interprété. Si l'on décide d'écrire
un interpréteur, il faudra alors faire une machine sur laquelle tournera
cet interpréteur. Puisqu'un interpréteur traite les instructions
de sa machine cible par petites étapes, la machine sur laquelle tourne
l'interpréteur est souvent plus simple et donc moins chère, que
ne le serait le mécanisme cible réalisé en matériel.
C'est pour cela que les programmes du niveau machine traditionnel sont sur la
plupart des ordinateur modernes traités par un interpréteur qui
tourne sur une machine beaucoup plus simple que nous avons appelée niveau
microprogramme.
Adressage des opérandes
Afin d’accéder aux instructions ou aux données, il existe de nombreux
types d’adressages. Parmi les différents modes d’adressage, les principaux
sont :
L’adressage direct : c'est le champ d’adresse qui contient l’adresse effective.
L’adressage indirect : le champ d’adresse contient l’adresse où se trouve
l’adresse effective.
L’adressage immédiat : le champ d’adresse contient l’opérande.
L’adressage implicite : le code opérande indique où se trouve
l’opérande.
L’adressage indexé : adresse effective = contenu champ adresse + contenu
registre indexé.
L’adressage de base : adresse effective = contenu registre base + contenu champ
adresse.
L’adressage relatif : c'est comme l’adressage de base mais il utilise le contenu
du compteur ordinal comme adresse de base.
Performances des microprocesseurs
Les performances des microprocesseurs se mesurent au nombre d'instructions qu'ils
peuvent traiter en une seconde. Exemple : 80 MiPs = 80 millions d'instructions
par seconde. Cette valeur devrait être identique à la valeur de
la fréquence de base du microprocesseur, mais celui-ci n'exécute
pas toujours une instruction par cycle. Pour certaines instructions, il peut
avoir besoin de 2 à 6 cycles, c'est pourquoi le nombre de Mips est souvent
inférieur au nombre de MHz. En utilisant des techniques de traitement
parallèle (ou pipe-line, en anglais) et des architectures de type multi-bus,
certains microprocesseurs peuvent offrir des performances en Mips égales
ou supérieures à leur fréquence d'horloge. Le flop est
une unité de performance appliquée aux ordinateurs scientifiques
dédiés au calcul numérique. Ceux-ci indiquent leur puissance
de travail en Pops (Floating Point Operations per Second ou nombre d'opérations
en virgule flottante par seconde).
On parle plus exactement de Mflops (mégaflops) ou Gflops (Gigaflops).
Enfin, il existe également le lips (Logical Inferences per second) ou
nombre d'inférences logiques par seconde.
La mesure des performances des processeurs n'est cependant pas si simple. Elle
pose deux problèmes : quelle unité de mesure, et sur quoi mesurer
la performance. Il est généralement admis que la seule manière
correcte d'apprécier les performances est la mesure du temps d'exécution
sur des programmes réels pour des entrées déteminées.
Les programmes spécifiques d'évaluation de performance ou benchmark
et les unités de mesure comme le MIPS ou le Mflop ne peuvent que donner
des ordres de grandeur de la performance réelle. Souvent, ces unités
serviront à donner les performances maximales ou crête, que la
machine ne peut dépasser. Même si on utilise le temps comme unité
de mesure, il faut encore distinguer entre le temps passé par l'unité
centrale pour l'exécution du programmme de l'utilisateur et le temps
écoulé entre l'ordre de début d'exécution d'un programme
et l'obtention des résultats, qui comprend en plus le temps utilisé
par le système d'exploitation pour ses différentes tâches
dont les entrées/sorties.
Architecture parallèle
Le développement des besoins en informatique a conduit à faire
évoluer les ordinateurs vers des puissances de plus en plus grandes.
L'un des points essentiels de ces développements porte sur l'architecture
des machines, c'est à dire la manière dont sont agencés
les différents composants : processeurs, mémoires, connexions,
canaux d'entrées-sorties…
Le mode de fonctionnement classique consiste à faire effectuer, séquentiellement,
un programme par la machine suivant la procédure décrite par John
Von Neumann, le pionnier de l'informatique telle que nous la connaissons aujourd'hui.
A tout instant du programme, une seule instruction, portant sur une seule variable
ou un couple de variables , est exécutée. Si le traitement comporte
plusieurs opérations, celles-ci doivent être effectuées
séquentiellement, une opération ne pouvant commencer que lorsque
la précédente est terminée.
Une telle machine nécessite un seul processeur, un compteur d'instructions
et une mémoire contenant, à la fois, les données et les
instructions, abstraction faite des entrées/sorties. Selon la classification
de Flynn, on donne à ce type d'architecture le nom de SISD : Single
Instruction Single Data stream (une seule instruction, une seule donnée).
Pour accélérer le traitement, une solution consiste à le
répartir sur plusieurs processeurs. Il y différentes façons
de procéder. La plus simple, équivalent du travail à la
chaîne dans les usines, consiste à répartir, sur différents
processeurs, le traitement portant sur une donnée :
A l'inverse, il est souvent avantageux de faire effectuer simultanément la même instruction sur des données différents : on peut alors parler d'architecture parallèle. Dans ce cas de figure, les données sont intrinsèquement structurées en ensemble ordonnées et homogènes appelés "vecteurs", destinés à subir le même traitement. Toutes ces données arrivent simultanément dans un ensemble de processeurs élémentaires, dit "processeur vectoriel", où elles sont traitées en même temps selon une instruction unique. L'ensemble des processeurs élémentaires est coordonné par un superviseur. Ce parallélisme vectoriel est également appelé SIMD : Single Instruction Multiple Data stream (une instruction, plusieurs données).
Le quatrième grand type d'architecture,
dit parallélisme concurrent ou asynchrone, encore désigné
par MIMD - Multiple Instruction Data stream (instruction multiples,
données multiples) - se rencontre dans les problèmes décomposables
en fonctions, pouvant travailler simultanément sur des ensembles distinct
de données, tels que les méthodes de résolutions de systèmes
d'équations par éléments finis. Plusieurs instructions
différentes, portant chacune sur une donnée ou un groupe de données,
sont exécutées indépendamment l'une de l'autre.
La mémoire est la partie
de l'ordinateur dans laquelle programmes et données sont rangés.
Sans mémoire, dans laquelle le processeur lit et écrit de l'information,
il n'y aurait pas d'ordinateurs tels que nous les connaissons.
Une mémoire est formée d'un certain nombre de cellules (ou cases),
chacune de ces cellules contenant une certaine quantité d'informations.
Chaque cellule a un numéro, que nous appellerons son adresse, qui permet
à un programme de la référencer. Si une mémoire
a n cellules, les adresses iront de 0 à n-1. Toutes les cases de la mémoire
contiennent le même nombre de bits, par exemple k bits, ce qui permet
de représenter 2k combinaisons différentes.
Elle est organisée de façon matricielle par des transistors
où chacun d'eux se trouve à l’intersection d’une ligne et d’une
colonne. Elle ne peut contenir que deux types d’information, les instructions
et les données.
La mémoire centrale est divisée physiquement en cellules, qui
elles-mêmes contiennent un mot-mémoire (word), et chacune possède
une adresse propre. A chaque mot est associé une adresse et un contenu
(soit une instruction, soit une donnée).
La mémoire est organisée de façon à respecter une certaine hiérarchie dictée essentiellement par la rapidité de ses composants. On peut donc les classer de la manière suivante :
Mémoires à semi-conducteurs
Le principe de base est d’utiliser des bistables (bascules RS) comme point de
mémoire. Ce sont des mémoires à accès direct qui
peuvent être lues et écrites. Il en existe plusieurs type qui sont
de conception et de nature différente et qui correspondent à des
besoins bien particuliers en informatique:
La RAM (Random Accès Memory) est à accès direct
et on distingue plusieurs technologies :
- SRAM (Static RAM) : de technologie bipolaire (2 portes
NOR et chaque porte NOR est formée de deux transistors); C’est un type
de mémoire qui est très rapide et on s’en sert essentiellement
pour constituer la mémoire centrale de l’ordinateur.
- DRAM (Dynamic RAM) : de technologie MOS (transistor + condensateur);
Elle demande à être rafraîchie périodiquement et est
donc plus lente. Elle sert beaucoup en vidéo, en particulier sur les
cartes graphiques, et permet pour une résolution d’écran donnée
d’afficher davantage de couleurs.
- SDRAM (Synchronous DRAM) : qui est une DRAM dont l'accès
est synchrone; c'est a dire que chaque requête mémoire se fait
en un seul cycle d'horloge.
- EDO (Extended data Output) : Elle est structurée
comme la DRAM, à une petite différence près : un petit
circuit a été ajouté , qui agit comme une minuscule zone
de stockage ou tampon servant à sauvegarder les adresses. Ce tampon reçoit
l’adresse de la prochaine donnée à lire ou à écrire
avant même que la donnée précédemment lue ou écrite
ait été traitée.
La ROM (Read Only Memory)
est une mémoire morte où l’on peut lire uniquement. Ce sont des
mémoires non volatiles et de technologie MOS et bipolaire (programmation
par masque).Elles sont fréquemment utilisées pour y implanter
le BIOS (Basic Input Output System) de l’ordinateur.
La PROM (Programmable ROM) est une mémoire morte programmable
une seule fois par l’utilisateur. Elle est non volatile et de technologie
MOS-bipolaire (programmation courante par stockage de charge), MOS (unipolaire
à grille flottante qui décide si il y a canal ou pas) ou par claquage
de jonctions (réseau de diodes en matrice). Elle est très peu
utilisée en informatique.
L’EPROM (Erasable PROM) est sur le même principe que la PROM mais
peut être reprogrammée plusieurs fois après effacement aux
Ultra-Violet.
Les EEPROM, EAROM, EEROM sont des ROM programmables et effaçables électriquement.
Mémoire cache
Le principe de la mémoire cache est de trouver une solution à
la grande différence de vitesse entre le processeur et la mémoire
centrale, car il existe une grande disparité de vitesse entre ces deux
modules ( celle-ci peut atteindre un rapport 10). Les ordinateurs ont différents
types de cache, chacune a son propre usage, mais elles possèdent toutes, à peu
de chose près, la même définition.
Les fonctions d'une cache
La cache réalise quelques tâches spécifiques. Certaines caches sont dédiées à ne faire qu'une seule tâche, mais la plupart réalisent les tâches suivantes : Cache en écriture - utilisée lorsqu'un périphérique rapide envoi de l'information à un périphérique lent. Normalement le périphérique rapide devrait attendre que le périphérique lent lui indique qu'il est prêt à recevoir d'autres données. C'est comme essayer de tenir une conversation pendant que quelqu'un traduit chaque mot que l'on dit avec un dictionnaire. Ainsi la cache en écriture possède une logique et les logiciels lui permettant de transmettre (écrire) sont contenu dans le périphérique lent à la vitesse de celui-ci automatiquement, de manière à ce que les périphériques soient libérés et prêts à une autre utilisation.
Imaginez par exemple l'évier de votre cuisine. Lorsque vous désirez y déverser un litre d'eau, vous pouvez verser le litre entier d'un seul trait, et cela même si le drain de l'évier n'est pas aussi rapide que le déversement que vous effectuez. L'évier peut être vu ainsi comme une cache - c'est un tampon (buffer) entre vous et le drain. Vous versez l'eau dans l'évier et il se rempli aussi rapidement que vous déversez l'eau, le drain pendant ce temps videra l'évier à sa propre vitesse (qui est plus lente). Si vous remplissez complètement l'évier d'eau, vous devrez alors attendre que le niveau d'eau soit assez bas pour y déverser un autre litre; cependant vous avez la possibilité de faire autre chose pendant ce temps.
Le rapport entre les vitesses des périphériques décidera de la grosseur de la cache à utiliser (plus la différence de vitesse est grande, plus grande devra être la cache). Cache en lecture - utilisée lorsqu'un périphérique rapide obtient de l'information d'un périphérique lent. Les caches en lecture possèdent la plupart du temps une logique leur permettant de lire d'avance (prefetch) ce que vous pourriez avoir besoin par la suite. Ainsi ils font une lecture lente de toutes les informations dont vous pourriez avoir besoin. Lorsque vous demandez quelque chose qui est déjà dans la cache, vous l'obtiendrez rapidement. Lorsque la cache est vide, elle peut se remplir d'elle même pendant que vous faites autre chose. Imaginez encore votre évier de cuisine, plus particulièrement du point de vue de son drain. Vous laissez quelqu'un d'autre remplir l'évier d'eau, un verre plein d'eau à la fois. Lorsque vous désirez avoir de l'eau en bas, vous ouvrez le drain et l'eau en sort (jusqu'à ce que l'évier soit vide). Tampons de cache - ce sont des zones qui renferment des choses que vous avez demandées auparavant. Ils se rappellent des dernières données ou informations, ainsi si vous les désirez à nouveau, elles vous attendent déjà. Si vous répétez souvent la même chose, grande sont les chances d'avoir accès à l'information directement dans le tampon. Les programmes d'ordinateur effectuent souvent un travail répétitif, et cela survient beaucoup plus souvent que vous ne pouvez l'imaginer. Combinaisons - la plupart des caches sont des combinaisons des fonctions énumérées précédemment ou renferment toutes ces fonctions.
Types de cache :
Cache L1
Le processeur de votre ordinateur est très rapide, il peut tourner à des vitesses dépassant 2 Ghz. La mémoire RAM standard est plus rapide que la plupart des autres composantes de votre ordinateur, mais elle ne tient pas le coup face à des vitesses approchant celle du processeur. Ainsi les concepteurs de processeur (CPU) ont réservé un espace mémoire très rapide à l'intérieur même de la puce du processeur. C'est la cache L1, elle fonctionne à la même vitesse que le processeur. L'espace sur la puce du processeur coûte très chère, il n'est alors pas possible de réserver une grande quantité de mémoire pour la cache L1 (approximativement 1/1000 de la taille totale de la mémoire RAM de votre ordinateur). Puisque les programmes d'ordinateur effectuent beaucoup de boucles autour du même code, les instructions et données de la cache L1 sont exécutées souvent. Même une petite cache L1 peut donner un gain très appréciable en vitesse. Plus la vitesse du processeur est rapide par rapport à la mémoire principale RAM et plus la quantité de données sur laquelle vous travaillez est importante, plus grande devra être la cache L1.
Cache L2
La mémoire rapide situé dans le processeur (cache L1) est de petite taille, et la cache L1 ainsi que le processeur sont encore beaucoup plus rapides que la mémoire RAM (jusqu'à 50 fois plus rapide). Lorsque que les données ne sont pas dans la cache L1, le processeur doit aller les chercher dans la mémoire RAM, il y a alors un ralentissement notable. Le processeur doit alors attendre un long moment (par rapport à sa vitesse) pour que la mémoire RAM lui rende l'information, le processeur ne peut alors rien faire d'autre qu'attendre. Ainsi entre la cache rapide L1 (et le processeur) et la mémoire lente RAM, est insérée une deuxième cache, la cache niveau 2 ou L2. Cette cache est fabriquée à partir de mémoire rapide, mais relativement peu dispendieuse, appelée mémoire statique ou SRAM et est approximativement 10 fois plus rapide que la mémoire RAM standard. On peut ainsi se permettre 256k et même 1 ou 2 megabytes de SRAM. Le processeur travaille presque toujours sans arrêt, il fera probablement quelque chose qu'il a fait récemment (une boucle) et les données seront dans la cache L1; ou il possédera la logique qui lui aura permit de lire d'avance (prefetch) l'information située dans la cache L1; cependant les ordinateurs exécutent des centaines de millions d'instructions à la seconde! 1% de ratés dans la cache L1 signifie que pendant un million de fois par seconde le processeur devra lire dans la mémoire RAM. Les ratés dans la cache L1 peuvent atteindre 10 à 20%, ainsi la cache L2 apporte un aide précieux. Lorsque le processeur ne trouve pas ce dont il a besoin dans la cache L1, il le trouvera la plupart du temps dans la cache L2. Le fait que la mémoire RAM soit plus lente que le processeur devient alors beaucoup moins significatif. Lorsqu'on entend parler de cache, il s'agit la plupart du temps de la cache L2. La majorité des ordinateurs personnels d'aujourd'hui possède les deux niveaux de cache (L1 et L2).
Cache L3 et L4
Certains systèmes sont tellement rapides qu'ils ont besoin de plusieurs niveaux de cache entre le processeur et la mémoire RAM. Chacun de ces niveaux possède le numéro suivant dans la séquence de numérotation des caches (L1, L2, L3, etc.).
Cache de disque dur
De la même manière que le processeur est plus rapide que la mémoire RAM, celle-ci est beaucoup plus rapide que les disques durs. Une cache est utilisée entre le disque dur et la mémoire, lorsque l'ordinateur écrit sur le disque, les données sont placées dans la cache, elles sont alors écrites lentement (à la vitesse maximale du disque dur) alors que l'ordinateur peut s'occuper à faire autre chose. Lorsque l'ordinateur désire lire sur le disque, la cache peut avoir lu d'avance (prefetch) ou posséder des données lues auparavant, celles-ci sont alors tirées directement de la cache sans avoir à passer par le disque dur. Non seulement l'ordinateur peut-il lui même utiliser une partie de sa mémoire RAM comme cache entre lui et le disque dur (cache logicielle), les concepteurs de disques durs ont également ajouté une petite quantité de mémoire directement sur les contrôleurs de disques durs comme cache (cache matérielle) et c'est la norme actuellement dans la fabrication des disques durs. Cependant les gens ont de la difficulté à différencier entre la cache logicielle et la cache matérielle du disque dur, soyez donc prudent lorsque vous utiliserez cette terminologie; les caches font la même chose, mais différemment.
Cache de CD-ROM
Les disques durs sont rapides comme l'éclair comparativement à la majorité des lecteurs CD-ROM. Des ingénieurs astucieux ont décidé d'utiliser le disque dur ou la mémoire RAM ou les deux à la fois pour accélérer les accès au CD-ROM. Ils fonctionnement comme les caches de disques durs et conservent les données temporairement sur le disque dur ou dans la mémoire RAM, jusqu'à ce que l'ordinateur ait besoin de lire. Rappelez-vous que les CD-ROM ne peuvent être que lus, il n'y donc pas de cache en écriture pour ceux-ci. (On peut écrire sur certains lecteurs CD, mais ils ne sont pas appelés CD-ROM, plutôt CD-R). Il y a également des caches de lecture d'avance (prefetch) directement sur les lecteurs CD-ROM.
En conclusion, une cache est placée entre deux composantes possédant des vitesses différentes. Quelquefois la cache est matérielle, mais plus souvent elle est logicielle. Les caches ne sont parfois utilisées que pour emmagasiner de l'information, elles peuvent posséder également leur propre logique leur permettant de se vider et lire d'avance (prefetch) ce que vous risquez d'avoir besoin plus tard. Merci aux caches, nos ordinateurs et leurs composantes fonctionnent beaucoup plus rapidement grâce à elles.
Hiérarchie des mémoires
|
|
|
Registre des mémoires | < 100 octets | 1 cycle (qq nano-secondes) |
Mémoire cache | Quelques kilo-octets | 1 à 10 cycles |
Mémoire centrale | Plusieurs méga-octets | 5 à 20 cycles |
Mémoire de masse | Plusieurs dizaine de Giga-octets | 10 à 50 ms |
Elles permettent de transférer des informations entre l’unité centrale et les périphériques qui composent l’ordinateur. Les plus courantes sont :
Chaque périphérique doit être relié à un bus ou un canal par un contrôleur spécialisé et en plus il existe plusieurs types de contrôleurs de bus :
Bus ISA (Industry Standard
Architecture) : C'est le bus originel du PC qui se décline en version
8 bits ou 16 bits. Il permet au maximum un transfert de 8 Mégabits par
seconde soit 1Mo/s ce qui est parfois suffisant pour certains périphériques
comme les cartes réseaux. C'est l'architecture du bus du PC/AT.
Bus LOCAL : Pour améliorer la vitesse des échanges entre
le processeur et la mémoire, la solution adoptée consiste à
installer un bus local entre ces deux éléments. Ce bus fonctionne
à la vitesse du microprocesseur sans nécessiter une électronique
coûteuse, en raison de sa faible longueur et du fait qu’aucun autre périphérique
n’y est relié. La grande majorité des PC vendus aujourd’hui possèdent
un bus local de ce type.
Bus VESA (VL-BUS) : La présence d’un bus local donna rapidement
aux constructeurs l’envie de l’utiliser pour les périphériques
demandant une grande vitesse de transfert. Il s’agit en premier lieu de l’affichage,
dont les besoins croissent dans des proportions énormes avec l’adoption
des interfaces graphiques telles que Windows et, dans une moindre mesure, des
disques durs et des cartes réseau. Dans le cas d’un disque dur par exemple,
il ne sert à rien de communiquer à une vitesse supérieure
à celle du disque. Cependant, le problème peut être contourné
en installant sur la carte d’interface du disque une quantité de mémoire
servant de tampon. L’échange de données peut ainsi se faire à
une vitesse maximale entre le processeur et le tampon, l’électronique
de la carte se chargeant ensuite d’envoyer le contenu du tampon sur le disque
pendant que le processeur fait autre chose. Un certain nombre de constructeurs
ont développé leur propre bus local, incompatible avec les produits
de marque différente. En revanche, certains se sont associés pour
créer le standard VLSA (Video Electronic Association) qui avait pour
objet initial de permettre l’installation d’une carte d’affichage sur le bus
local.
Bus EISA (Extended Industry Standard Architecture) : C'est une évolution
du bus ISA qui permet la reconnaissance automatique des périphériques
connectés à ce bus.
Bus VLB (VL-Bus) : C'est un bus 32 bits qui permet la technique du "bus
mastering".Il nécessite 2 cycles d'horloge pour transférer un
mot de 32 bits à 33 Mhz dont le débit peut varier de 66Mo/s à
105 Mo/s en mode rafale.Le VL-Bus 2 quant à lui est un bus 64 bits fonctionnant
à 50 Mhz et autorisant un taux de tranfert de 320 Mo/s.
Bus PCI : C'est un bus 32 bits indépendant, séparé
du CPU et qui est contrôlé par ce que l'on appelle le "chipset"
qui est en fait un véritable processeur. Il permet des taux de tranferts
de 132 Mo/s et 264 Mo/s avec la norme 2.1.Il fonctionne à des fréquences
de 33 voir 66 Mhz. Il permet lui aussi la technique du "bus mastering" et représente
une partie de la norme plug and play. Conçu par Intel, ce bus connaît
un beau succès.
Bus PCMCIA : C’est un bus
développé principalement pour les portables. Ses performances
sont relativement limitées. Sa largeur n’est que de 16 bits et sa vitesse
ne dépasse pas 33 Mhz. Il ne possède que 26 lignes d’adresses,
ce qui limite l’espace mémoire à 64 mégaoctets. Il n’autorise
pas la prise de contrôle du bus par les périphériques. En
revanche, il présente un certain nombre d’avantages, particulièrement
intéressants dans le cas des ordinateurs portables. Le principal est
la très petite taille des connecteurs et des cartes d’extension (format
carte de crédit). De plus, c’est le seul qui autorise la connexion et
la déconnexion des cartes d’extension sans couper l’alimentation de l’ordinateur.
|
|
|
|
|
PC/XT | 1981 | 8 bits | 4,77 MHz | 4,77 Mo/s |
PC/AT | 1985 | 16 bits | 8,33 MHz | 16,66 Mo/s |
Nu Bus | 1987/1993 | 32/32 bits | 10/20 MHz | 40/80 Mo/s |
MCA | 1987/1991/1994 | 32/64/64 bits | 10/10/20 MHz | 40/80/160 Mo/s |
EISA | 1988 | 32 bits | 8,33 MHz | 33 Mo/s |
VL Bus | 1991/1994/1994+ | 32/32/64 bits | 33/66/66 MHz | 132/264/528 Mo/s |
PCI Bus | 1993/1994 | 32/64 bits | 33/33 MHz | 132/264 Mo/s |
PCI Bus v2.1 | 1995 | 64 bits | 66 MHz | 528 Mo/s |
PCI-X ou NGI/O | 1999 | 64 bits | 133 MHz | 1 Go/s |
Accès direct à la
mémoire (DMA)
Le DMA permet à un périphérique d’accéder directement
à la mémoire sans passer par le CPU , il est prioritaire sur celui-ci
pour l’accès à la mémoire. Il est doté d’un registre
d’adresses, d’un compteur, d’un registre de données et d’un dispositif
de commande capable d’assurer le transfert. Il ne vérifie pas l’intégrité
des informations qui est assurée par le contrôleur du périphérique
concerné. Le fait d’utiliser un DMA pour gérer un périphérique
améliore notablement les performances de celui-ci. La carte son utilise
ce procédé.
Canaux d’entrées-sorties
Ils sont plus performants que les DMA et permettent à plusieurs périphériques
de travailler simultanément; ce sont de véritables processeurs
spécialisés. Ils sont programmables, enchaînent les opérations
d’entrées-sorties et ont un accès prioritaire à la mémoire
par la technique du "vol-de-cycle" et en plus, ils vérifient l’intégrité
des informations échangées, ce que ne fait pas le DMA. Il existe
deux types de canaux :
Le canal sélecteur totalement réservé au périphérique
concerné. Il est particulièrement adapté aux échanges
avec des unités rapides.
Le canal multiplexé partagé en plusieurs unités et appelé
sous-canal. On peut ainsi travailler en parallèle et donc obtenir plusieurs
accès simultanés sur un même périphérique;
par contre, il est adapté aux périphériques à faible
débit du fait de son parallélisme.
Système d’interruption
Pour mener à bien les échanges, les unités d’entrées-sorties
doivent pouvoir signaler au CPU qu’elles sont connectées et prêtes
à transférer des données ou bien que l’échange de
celles-ci s’est bien déroulé. Le traitement d’une interruption
se déroule en plusieurs étapes et il consiste à :
1. arrêter le programme en cours. 2. sauvegarder l’état de la machine. 3. exécuter le programme de service de l’interruption. 4. rétablir l’état de la machine. 5. reprendre l’exécution du programme interrompu.
Il peut arriver que plusieurs interruptions arrivent simultanément Pour parer à cette éventualité, il existe des systèmes d’interruptions hiérarchisées à niveaux de priorités qui les gèrent non pas dans l’ordre chronologique d’arrivée mais dans l’ordre de priorité définit par le dispatcheur.
Les interfaces d'entrées/sorties
La spirale des données riches et multimédia que tout utilisateur de PC souhaite manipuler sur son système, s'accélère depuis plus de deux décennies. L'émergence des appareils numériques et de l'Internet a conforté cette accélération de la quantité de données utilisées sur le PC. Cette tendance a justifié l'utilisation de microprocesseurs de plus en plus rapides, de disques durs de plus en plus gros, d'écrans de plus en plus large, de connexions Internet de plus en plus haut débit. Les interfaces ont suivi la même tendance. Elles ont su s'adapter à la même Loi de Moore qui a imposé le doublement de la puissance tous les 18 mois. Peut-être d'une façon plus discrète, les interfaces ont toujours su assurer les échanges de données de plus en plus importants qui ont lieu dans la chaîne multimédia. C'est pour cette raison que le classement des interfaces suivant leur débit tel que décrit ci-après ne peut être qu'éphémère, car telle interface qui était à débit moyen à un instant donné aura tendance à devenir "d'entrée de gamme" quelques années plus tard pour assurer l'augmentation des performances que l'utilisateur souhaite.
Les standards d'interface à faible débit
Interface PS/2 : vitesse jusqu'à 25 kbits/s, utilisé pour connecter le clavier et la souris au PC, en cours de remplacement par l'interface USB pour cette fonction.
Interface Infrarouge : vitesse jusqu'à 4 Mbits/s, utilisée pour connecter un agenda personnel, un téléphone GSM, toujours disponible sur les ordinateurs portables, rarement sur les PC de bureau, appelée à être remplacée par les interfaces utilisant la norme Bluetooth.
Interface Série (UART en mode normal, EPP, ECP) : vitesse jusqu'à 115 kbits/s, utilisée pour connecter modem, agenda personnel, téléphone GSM, liaison de PC à PC, quasiment remplacée par l'interface USB dans toutes ses fonctions.
Interface Port Jeux : vitesse jusqu'à 31 kbits/s, utilisé pour connecter manettes de jeux, volants et instruments de musique MIDI, en cours de remplacement par l'interface USB pour toutes ses applications
Interface Parallèle : vitesse jusqu'à 1,2 Mbits/s, utilisée pour connecter une imprimante, pour une liaison PC à PC, en cours de remplacement par l'interface USB pour toutes ces fonctions.
Les standards d'interface à débit moyen
Interface USB 1.1 : provenant de l'acronyme Universal Serial Bus, il possède deux vitesses de transfert, 1,5 Mbits/s et 12 Mbits/s, utilisé pour connecter clavier, souris, manette de jeux, liaison PC à PC, appareil photo et caméra vidéo à faible résolution, lecteur MP3, agenda mais aussi lecteur de disquette standard ou ZIP, disque externe de sauvegarde, graveur de CD-RW, enceintes audio, un certain nombre d'interfaces émulant des interfaces de générations antérieures telles interfaces séries, parallèles, réseau, liaison PC à PC, SCSI, interface réseau sans fil à la norme 802.11b. Après un démarrage laborieux, l'interface USB est devenue l'interface de choix par défaut dans tous les cas où son débit limité n'est pas rédhibitoire. La généralisation de son utilisation provient en grande partie de la simplicité à ajouter ou retirer tout élément périphérique qui peut se faire "à chaud", c'est-à-dire sans arrêter le PC. La version 1.1 qui représente 99 % de la base installée est appelée à être progressivement remplacée par la nouvelle version 2.0, qui autorise un débit 40 fois supérieur.
Les standards d'interface à haut débit
Interface USB 2.0 : vitesse jusqu'à 480 Mbits/s, utilisable pour connecter clavier, souris, manette de jeux, liaison PC à PC, appareil photo et caméra vidéo à haute résolution, lecteur MP3, agenda, lecteur de disquette standard ou ZIP, disque dur externe, graveur de CD-RW.
Interface SCSI : provenant de l'acronyme Small Computer System Interface, elle a été déclinée en plusieurs versions depuis son apparition : SCSI-1 à 32 Mbits/s, SCSI-2, 3 et Wide SCSI jusqu'à 160 Mbits/s, Ultra 2 Wide SCSI à 640 Mbits/s. Elle a toujours été utilisée pour connecter des disques durs de hautes performances mais également les CD-R, CD-RW, DVD, scanners, imprimantes. Elle permet la connexion d'un grand nombre de périphériques, 7 en général et même 31 pour le Fast 40 et Ultra 2. Outre sa rapidité, elle fait peu appel au processeur central du système grâce à la sophistication du contrôleur. Elle assure ainsi d'excellentes performances de débits, indépendantes de la charge du système. Mais de ce fait, l'interface n'est pas bon marché. Son plus gros inconvénient, la limitation de la longueur des connexions qui est inversement proportionnelle à la fréquence utilisée. Cet handicap a été levé par l'emploi de signaux différentiels sur l'Ultra 2 qui lui permet de passer de 1,5 m à 12 m, bien que le débit soit doublé par rapport à la version Ultra.
Interface FireWire ou iLink : A été normalisée sous la référence IEEE 1394. Elle est aussi appelée SCSI Série du fait de son mode de transmission. Elle présente de grandes similitudes avec l'interface USB telles que le Plug & Play ou l'utilisation de trames. Des considérations totalement non techniques ne lui ont pas permis de figurer sur la carte mère ce qui a freiné sa dissémination. Elle est très utilisée dans les périphériques d'imagerie, en particulier dans les caméscopes au standard DV. Malgré des performances très bonnes, elle risque d'être fortement concurrencée par la version 2.0 de l'interface USB.
Il est clair que la performance et le coût des bus séries tels que USB 2.0 et IEEE 1394 les rendent particulièrement attractifs pour les évolutions futures des architectures du PC. La connexion des disques, des graveurs et autres sauvegardes sera réalisée à l'avenir grâce à des bus série rapides au détriment des interfaces Ultra-DMA moins rapides et plus coûteuses.
Les standards d'interface à très haut débit
Interface AGP : Ce bus Accelerated Graphics Port a été introduit par Intel en 1998 pour relier directement la mémoire du système au processeur de la carte graphique. Avec un bus de 32 bits, il offre un débit maximum de 4,2 Gbits/s en version de base. Il a été décliné en versions AGP 2X, 4X et bientôt 8X, qui lui permettent d'atteindre la vitesse respectable de 33,6 Gbits/s. Le connecteur AGP ressemble énormément à un connecteur PCI, si ce n'est qu'il est de couleur brune. Par contre, il est placé plus en recul du bord de la carte-mère que les slots PCI.
Interface Fiber Channel : Le dépassement de ce niveau de performances est tributaire de la résolution des problèmes de sensibilité aux parasites à des fréquences de plus en plus élevées. Ces problèmes sont plus facilement résolus en utilisant la lumière en lieu et place des signaux électromagnétiques. Cette direction a été empruntée par le Fiber Channel. Son implémentation existe en mode Canal et en mode Réseau. Bien que les performances de débits soient en forte augmentation, du fait de son coût encore élevé, cette interface ne trouve d'applications que dans les domaines de commutations extrêmement rapides (dans les équipements liés aux réseaux à très hauts débits) . Son utilisation dans un PC n'est pas encore à l'ordre du jour alors qu'on commence à la trouver sur les serveurs connectés à un réseau de stockage (SAN).
Les composants principaux sur la carte mère
BIOS Basic Input Output System.
Le matériel de tout ordinateur doit pouvoir coopérer avec les logiciels par une interface (moyen de communication). Le BIOS est un petit système de lancement permettant à votre ordinateur de lancer les autres logiciels à partir d'un lecteur de disquettes ou d'un disque rigide. Le BIOS est responsable du démarrage de l'ordinateur en fournissant un jeu d'instructions de base. Il effectue toutes les tâches nécessaires lors du démarrage: l'auto-test de démarrage et le lancement d'un système d'exploitation à partir d'une disquette ou du disque rigide. De plus, il fournit une interface avec le matériel de l'ordinateur au système d'exploitation sous la forme d'une librairie d'interruptions. Par exemple, chaque fois qu'une touche du clavier est enfoncée, le processeur utilise une interruption du BIOS pour lire la touche. C'est le même principe pour les autres composantes d'entrées/sorties (ports séries et parallèles, cartes vidéo, cartes de son, contrôleurs de disque, etc.). Certains vieux PC ne sont pas capables de communiquer avec les nouvelles composantes matérielles parce que leur BIOS ne les supporte pas; le système d'exploitation ne peut alors utiliser une interruption du BIOS pour communiquer avec ce matériel; ce problème peut être résolu en remplaçant le BIOS par un plus récent, qui supporte le nouveau matériel ou en installant un pilote (driver) pour ce matériel.
CMOS Complementary Metal Oxide Semiconductor.
Pour effectuer ses tâches, le BIOS a besoin de connaître plusieurs paramètres, soit la configuration du matériel de votre ordinateur. Ces informations sont conservées dans un petit espace mémoire (64 octets), appelé mémoire CMOS, ou simplement CMOS. L'alimentation du CMOS est assurée par une petite pile, ainsi son contenu est préservé même si on coupe l'alimentation du PC. Donc, on retrouve une pile et une petite quantité de mémoire sur la carte mère, qui ne perd jamais (ou presque...) ses informations. Cette mémoire faisait partie autrefois de l'horloge du processeur, maintenant elle fait partie d'un circuit intégré. CMOS est le nom d'une technologie qui a la caractéristique de consommer très peu d'énergie, ainsi la pile de l'ordinateur peut durer très longtemps. De nos jours il n'y a plus de piles sur les cartes mères des ordinateurs, mais un accumulateur (NiCad dans la plupart des cas). L'accumulateur est rechargé chaque fois que l'ordinateur est en marche. Si votre CMOS est alimenté par une pile, assurez-vous qu'elle est en bonne condition et qu'elle ne coule pas, car cela pourrait endommager la carte mère. Si la pile est défectueuse, votre CMOS perdra ses informations et donc la configuration du matériel et cela pourrait affecter le fonctionnement de votre ordinateur. Dans les vieux PC et PC/XT monolithiques, l'information sur la configuration du matériel est fournie par de micro-interrupteurs (DIP switch) sur la carte mère ou les cartes de périphériques. Certaines cartes mères possèdent une technologie appelée Dallas Nov-Ram, cela élimine le besoin d'avoir une pile : une cellule de lithium ayant une espérance de vie de 10 ans est collée dans la puce.
CHIPSET
Un PC est constitué de plusieurs composantes installées sur la carte mère: cartes d'expansion, mémoire, mémoire cache, raccord de clavier, etc. Le CHIPSET fourni un ensemble d'instructions permettant au processeur de communiquer avec les composantes de la carte mère. De nos jours la plupart des puces spécialisées : PIC (Programmable Interrupt Controller, contrôleur d'interruptions programmable), DMA (Direct Memory Access, accès direct à la mémoire), MMU (Memory Management Unit, unité de gestion de la mémoire), la cache, etc. sont tous rassemblés ensemble sur une, deux ou trois puces : le CHIPSET. Puisque les CHIPSET de marques différentes sont conçus différemment, pour chacun d'eux il existe une version spécifique de BIOS. Certains CHIPSET possèdent beaucoup de fonctionnalités, d'autres moins. OPTi est un CHIPSET couramment utilisé. Les cartes mères à haute intégration n'ont que quelques composantes : le processeur (CPU), le BIOS, un CHIPSET, une mémoire cache, la mémoire standard et une puce horloge.
SETUP
Setup est un ensemble de procédures permettant de configurer l'ordinateur selon ses caractéristiques matérielles. Cela vous permet de changer la configuration que le BIOS utilise pour configurer votre CHIPSET. Le PC d'origine d'IBM était configuré au moyen de micro-interrupteurs cachés sur la carte mère. L'utilisation des micro-interrupteurs sur ces PC et XT était extrêmement difficile. Les micro-interrupteurs sont encore utilisés pour la configuration de la mémoire et pour la sélection de la vitesse d'horloge. Lors de l'introduction du PC-AT, ce dernier renfermait une pile alimentant une mémoire CMOS pour conserver les informations de configuration. Le CMOS était configuré originellement par un programme situé sur une disquette de diagnostique, plus tard certains clones avaient des fonctions du BIOS permettant de configurer le CMOS lors de l'utilisation de certaines touches magiques. Malheureusement les CHIPSET contrôlant les processeurs modernes sont devenus de plus en plus complexes, ainsi la variété des paramètres du SETUP a augmenté également. De plus, il y a eu peu de standardisation dans la terminologie utilisée par la demi-douzaine de fabricants de BIOS, les trois douzaines de fabricants de CHIPSET et le très grands nombres de fabricants de cartes mères. Les plaintes concernant la documentation souvent très pauvre du SETUP des cartes mères sont très fréquentes. Pour en rajouter, certains paramètres sont définis par les fabricants de BIOS, d'autres par les fabricants de CHIPSET, d'autres encore par les fabricants de cartes mères.
Elles permettent la saisie, la visualisation , l’impression ,... des données par l’utilisateur. Ce sont les écrans, claviers, disques durs, imprimantes,... Dans cette rubrique, nous étudierons les disques durs, les systèmes d'affichage et le modem.
Les disques durs
Un disque magnétique est constitué par une plaque métallique
(aluminium) circulaire, recouverte d’une mince couche d’oxyde de fer. L’information
est enregistrée sur la surface de ce disque, le long de pistes concentriques
de quelques microns de largeur. La capacité d’une piste varie d’un modèle
à l’autre, cependant sur un même disque elle est constante pour
toutes les pistes concentriques, ce qui implique une densité d’enregistrement
variable. Chaque piste est divisée en secteurs.
Dans certains systèmes il y a plusieurs disques superposés et
regroupés autour d’un axe. Dans ce cas les disques sont séparés
par un espace de quelques millimètres qui permet le passage du mécanisme
pour effectuer le lecture et l’écriture.
Caractéristiques d’un disque :
- Format (pouces) : 3,5 5,25...
- Capacité formatée (Go) : 9 Go, 36 Go, 120 Go...
- Nombre de plateaux : 2, 3, 4...
- Nombre de cylindres : plusieurs milliers
- Nombre de tête : 4, 6,..
- Taille de la mémoire tampon (ko) : 96ko 512ko...
- Temps d’accès moyen (ms) : 10-15ms
- Vitesse de rotation (rpm) : 7000 - 10000 rpm
- Technique d’enregistrement : RLL, PRML
- Densité d’enregistrement (bpi) : env 100000 bpi
- Densité de pistes (tpi) : 4000 à 7000 tpi
- Type d’interface : EIDE, SCSI, ...
Le système RAID
Le système RAID est un système à tolérance de pannes.
Il permet de regrouper plusieurs disques pour n’en former qu’un seul. Ceci améliore
la fiabilité car il faudrait que plusieurs disques tombent en panne en
même temps pour que des données soit perdues.
Il existe plusieurs niveaux de RAID mais les plus souvent retenus sont le RAID
0, le RAID 1 et le RAID 5.
Lorsqu’un des disques tombe en panne, on peut le remplacer facilement (c’est
une armoire contenant plusieurs disques sous forme de tiroir) sans perturber
le système car tous contiennent les mêmes informations et se comportent
tous comme un seul et même disque.
RAID 0 ( RAID 0 n’est pas un
système à tolérance de pannes, il améliore seulement
le taux de transfert !)
Les informations sont réparties sur plusieurs disques sans aucun contrôle
de parité. Il faut au minimum 2 disques
Avantage : très bonnes performances puisque l’information est découpée
sur plusieurs disques. Les disques vont traiter indépendamment et pratiquement
en parallèle leur morceau de donnée avant de le transmettre au
bus.
Inconvénient : si un des disques tombe en panne, il est impossible de
récupérer les données inscrites. De ce fait toutes les
données sont perdues.
RAID 1
Il existe deux techniques du RAID 1 : le mirroring et le duplexing. Dans le
premier cas, on utilise un contrôleur et dans le second on utilise deux
contrôleurs. Mais le principe de base de ces deux techniques est de faire
la copie exacte du premier disque sur le second. De ce fait, on se retrouve
avec deux disques parfaitement identiques. Il faut un nombre de disques pair,
deux au minimum.
Avantage: gain en sécurité. Si un disque lâche, on a toujours le second qui prend la main jusqu'à réparation du premier. Il est possible de recopier les informations du second disque sur le premier, même en cours de fonctionnement du serveur. Bien entendu les performances du serveur seront plus faibles pendant la recopie du disque.
Inconvénient: puisqu’il faut absolument une paire de disque, la solution est chère. Puisqu’avec deux disques de 2Gbytes, on n’aura que 2Gbytes de capacité disque utilisable.
Raid 5
C’est une technique qui ressemble au RAID 0 mais la grande différence
est que cette fois, il y a un contrôle de parité. Les données
sont donc toujours réparties sur tous les disques. Il y a en plus un
calcul de parité qui ce fait à l’écriture et la lecture
des donnés. Cette parité est aussi répartie sur tous les
disques. Il faut au minimum 3 disques.
Avantage : Si un disque tombe en panne, grâce au contrôle de parité on peu le remplacer et reconstruire les données plus ou moins rapidement selon la qualité du contrôleur. C’est aussi une solution moins chère que le RAID 1 car la capacité de stockage est de N disques - 1, soit au minimum 66%. C’est une solution très intéressante lorsqu’on a beaucoup de disques.
Inconvénient : Le temps de reconstruction des données peut être assez lent. Il faut à chaque fois recalculer la parité des données.
Pour tous ces niveaux de RAID, on peut utiliser un contrôleur standard ou un contrôleur RAID.
Contrôleur standard : La gestion RAID se fait par logiciel (avec Windows NT™ par exemple). C’est une solution peu onéreuse mais lente.
Contrôleur RAID : La gestion
est effectuée par le matériel: il y a un processeur dédié
et de la mémoire sur le contrôleur pour gérer le RAID.
Cette solution est totalement indépendante du système d’exploitation.
Elle est très rapide mais malheureusement son prix est encore élevé.
|
|
|
|
RAID 0 |
|
|
|
|
|
|
|
|
|
|
|
RAID 1 |
|
|
|
|
|
|
|
|
|
|
|
RAID 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Le système d'affichage
Le système d'affichage est composé d'une carte vidéo (ou contrôleur de graphiques) et un certain type d'affichage vidéo. Les performances d'un système d'affichage sont mesurées selon deux catégories de base: vitesse et résolution.
La vitesse, en termes de rapidité de mise à jour de la vidéo, est mesurée en termes de taux de rafraîchissement. Avec un taux de rafraîchissement de 72 Hz (Hz = Hertz; ou 72 fois par seconde) ou mieux, les objets en mouvement apparaissent fluides et réalistes. En utilisant un taux de rafraîchissement de moins de 72 Hz, les graphiques «sautillent» avec des pauses notables dans les images en mouvement. Les taux de rafraîchissement sous les 72 Hz peuvent également causer un scintillement irritant de l'ensemble de l'image vidéo.
La résolution (qualité de l'image) concerne la quantité de détails rendue par une image vidéo. La résolution est définie par le nombre de pixels (éléments d'image) que peut supporter un affichage vidéo. Ainsi, plus le nombre de pixels est grand et plus la résolution sera grande. Un bon système d'affichage devrait offrir au moins 1,024 pixels horizontaux par 768 pixels verticaux. Dans un système d'affichage idéal, une palette de 65,000 couleurs devrait être supportée pour chaque pixel. Ces paramètres (nombre de pixels et taux de rafraîchissement) sont associés pour établir le taux de la performance globale mesuré en termes de bande passante (bandwith). Plus grande est la bande passante et meilleure sera la performance du système d'affichage.
La carte vidéo
La fonction première de la carte vidéo est de convertir les informations de textes et de graphiques emmagasinées dans l'ordinateur en informations vidéo haute-résolution qui peuvent être affichées.
Accélérateur de graphiques
Cette puce est utilisée pour contrôler les fonctions vidéo. Plutôt que d'utiliser le microprocesseur du système pour faire la maintenance de la vidéo, c'est cette puce qui effectue ces fonctions, libérant le microprocesseur pour d'autres tâches, ce qui en retour augmente les performances du système. D'où le terme «accélérateur de graphiques».
VRAM Video Random Access Memory (Mémoire vive vidéo),
C'est une mémoire qui est dédiée au traitement de la vidéo uniquement, augmentant ainsi les performances du système. La mémoire centrale du système peut traiter d'autres informations sans se préoccuper de l'information vidéo.
DAC
C'est le convertisseur numérique-analogique qui prend l'information vidéo numérique emmagasinée dans la VRAM et la convertie en signal analogique vidéo qui est envoyé directement à l'affichage vidéo.
Affichages vidéo
Il y a deux groupes de base d'affichages vidéo qui peuvent être utilisés avec une carte vidéo : Tubes à cathodes (CRT) et les dispositifs électroniques. Premièrement, examinons le plus ancien et, dans la majorité des cas, le type d'affichage offrant la meilleure qualité :
CRT : Le tube à cathodes fut introduit il y a environ 50 ans et il s'améliore d'années en années. Une image est reproduite sur le devant du CRT par la stimulation d'un matériel à base de phosphore, en utilisant un faisceau d'électrons, le phosphore émettant en retour une lumière. Lorsque le faisceau d'électrons frappe le phosphore avec une grande quantité d'énergie, l'image reproduite sur l'écran est brillante. Un faisceau d'électrons avec une quantité d'énergie plus basse produira une image plus pâle à l'écran. La dimension de l'écran est toujours mesurée diagonalement sur la surface en verre de l'écran. La carte vidéo contrôle les bobines de déviation qui balaient le faisceau d'électrons sur l'écran, elle contrôle également son intensité. Le haut voltage appliqué sur l'écran est utilisé pour attirer les électrons sur la surface du CRT. Voilà pourquoi vous pouvez sentir l'électricité statique présente sur la surface en verre de la plupart des CRT. C'est la raison pour laquelle, également, vous ne devriez jamais avoir accès à l'intérieur d'un moniteur vidéo à moins que vous ne vouliez être traversé par un voltage potentiellement mortel. La hauteur du point (dot pitch) fait référence à la proximité des blocs de phosphore entre eux. Lorsque les blocs de phosphore sont rapprochés, l'image apparaît nette et détaillée. Finalement, plus ils sont rapprochés et meilleure sera l'image. Cette distance est mesurée en millimètres. Une hauteur de point de 0.28 mm (ou moins) est attendue d'un bon moniteur. Sur les moniteurs couleurs, trois faisceaux d'électrons indépendants sont utilisés pour contrôler séparément les phosphores rouge, vert et bleu. Lorsque les trois phosphores sont illuminés également, la couleur blanche apparaît même s'il n'y a pas de phosphore blanc dans le moniteur (une autre illusion). En variant l'intensité de ces trois faisceaux indépendants, plusieurs couleurs peuvent être obtenues par pixel (au moins 65,000). Si vous examinez attentivement votre moniteur sur les bords d'un objet blanc, vous pourrez voir les phosphores rouge, vert et bleu séparément. S'ils sont faciles à voir, vous pouvez avoir un problème de convergence sur votre moniteur. Un moniteur correctement aligné aura les faisceaux d'électrons rouge, vert et bleu qui convergent sur les phosphores correctement, produisant un objet apparemment blanc. Si la convergence ne se fait pas, les phosphores rouge, vert et bleu seront très faciles à voir, plus particulièrement sur les bords de l'écran.
LCD : Un écran à cristaux liquides (LCD) est un dispositif entièrement électronique, cela signifie qu'il n'a pas besoin d'être sous vide, et n'a pas beasoin d'un haut voltage et des bobines de déviation comme un CRT. Un LCD est ainsi beaucoup plus mince et peut être alimenté facilement par piles, le rendant idéal pour les ordinateurs portatifs. L'assemblage du LCD est éclairé par l'arrière avec une lampe fluorescente. Cette lumière est placée derrière une matrice composée d'un film mince à transistors (TFT) qui est situé derrière le film à cristaux liquides. Les TFT et les cristaux liquides se comportent comme des interrupteurs lumineux, laissant passer ou bloquant la lumière de la lampe fluorescente aux travers de filtres de couleurs. Ces petits TFT permettent aux cristaux liquides de laisser passer la lumière lorsqu'ils sont on ou de bloquer la lumière lorsqu'ils sont off. L'allumage de la lampe fluorescente derrière les filtres rouge, vert et bleu produit une image sur le devant de l'écran du LCD. Tout comme le CRT, plusieurs combinaisons de couleurs peuvent être reproduites avec les écrans LCD.
Les
Modems
Il est très fréquent, de nos jours, qu’un ordinateur entre
en relation avec un ordinateur ou un terminal distant. La simple utilisation
du Minitel pour accéder à l’annuaire électronique en est
un exemple type. Les applications informatiques à distance utilisent
par exemple le réseau téléphonique comme moyen de communication.
Dans le cas du réseau téléphonique, il y a inadéquation
entre le fait qu’il soit adapté à la transmission de la voix humaine
et qu’on veuille l’utiliser à la transmission de signaux codés
sous forme de bits à 0 ou à 1 et correspondant à des tensions
électriques V1 et V2, par exemple +5 volts et 0 volt respectivement.
Ces signaux à deux niveaux, transmis tels quels sur une ligne téléphonique
par exemple, subiraient d’importantes distorsions et modification qui entraîneraient
des erreurs de transmissions inévitables. En revanche, un signal sinusoïdale
d’une fréquence comprise entre 1000 et 2000 Hz est transmis dans de bonnes
conditions sur le réseau téléphonique pratiquement sans
subir de distorsion; C’est cette façon de procéder qui est mise
en oeuvre dans la plupart des systèmes de communication analogique.