Vous êtes sur la page 1sur 89

Année Universitaire 

: 2020-2021

Architecture des ordinateurs

Niveau d’études : Licence Première Année en Informatique

Table des matières

CHAPITRE 1 : STRUCTURE GENERALE ET FONCTIONNEMENT D’UN ORDINATEUR................4


A. INTRODUCTION.....................................................................................................................4
B. STRUCTURE ET FONCTIONNEMENT D’UN ORDINATEUR...........................................................6
CHAPITRE 2 : CODAGE DES INFORMATIONS......................................................................18
A UNITES D'INFORMATIONS.......................................................................................................18
B REPRESENTATION DES NOMBRES............................................................................................18
C ARITHMETIQUE BINAIRE..........................................................................................................26
D ARITHMETIQUE OCTALE..........................................................................................................27
E ARITHMETIQUE HEXADECIMALE..............................................................................................28
F ARITHMETIQUE EN BCD...........................................................................................................28
G REPRESENTATION DES CARACTERES........................................................................................30
H PROTECTION CONTRE LES ERREURS.........................................................................................32
CHAPITRE 3 LES MICROPROCESSEURS...............................................................................36
A ARCHITECTURE INTERNE D’UN PROCESSEUR...........................................................................36
B CARACTERISTIQUES D’UN MICROPROCESSEUR........................................................................43
C TECHNOLOGIE DES MICROPROCESSEURS.................................................................................44
D EXEMPLE DE MICROPROCESSEURS..........................................................................................45
Cycle normale...................................................................................................................45
Cycle rafale.......................................................................................................................45
E TABLEAU RÉCAPITULATIF SUR L’ARCHITECTURE INTEL.............................................................49
CHAPITRE 4 LES MEMOIRES...............................................................................................53
A. Les Caractéristiques principales..............................................................................................53
B. Les mémoires vives dynamiques et la mémoire centrale........................................................54
C. Les mémoires vives statiques et la mémoire cache.................................................................56
D. Les mémoires mortes et le BIOS..............................................................................................58
E. Les cartes mémoire à partir des mémoires flash......................................................................59
CHAPITRE 5 LES INTERFACES D’ENTREE/SORTIE................................................................62
A. INTERFACE SERIE....................................................................................................................62
B. Interface parallèle..................................................................................................................66
C. INTERFACES DES DISQUES.......................................................................................................67
D. LES BUS D’EXTENSION............................................................................................................73
CHAPITRE 6 LES INTERRUPTIONS......................................................................................86
A. DEFINITIONS ET GENERALITES................................................................................................86
B. INTERRUPTIONS VECTORISEES................................................................................................89
C. LES INTERRUPTIONS MATERIELLES : exemple du Intel 80386 et de ses successeurs.................89
D. ACTIVATION D'INTERRUPTIONS A PARTIR D'UN PROGRAMME C...........................................93
EXERCICES.........................................................................................................................95
CORRIGE...........................................................................................................................98
Bibliographie...................................................................................................................116

2
3
CHAPITRE 1 : STRUCTURE GENERALE ET FONCTIONNEMENT D’UN
ORDINATEUR

A. INTRODUCTION

Le rôle de l’informatique est de résoudre des problèmes à l’aide d’un ordinateur. Un problème
s’exprime sous forme d’un énoncé qui spécifie les fonctions que l’on souhaite réaliser. Par
exemple définir toutes les fonctions d’un traitement de texte.
Pour résoudre un problème les informaticiens utilisent la notion d’algorithme.
Pour illustrer cette notion, prenons l’exemple du problème suivant : confectionner une
omelette avec 6 œufs.
Trouver une solution à ce problème repose sur l’existence d’un processeur sachant exécuter
une instruction (confectionner). En général un adulte saura exécuter l’instruction
confectionner, c’est-à-dire connaîtra le sens du mot, et sera capable de faire toutes les actions
nécessaires permettant de résoudre le problème. On dira alors que l’adulte est un bon
processeur au sens où il saura exécuter l’instruction confectionner portant sur la donnée œufs.
Par contre un enfant pourra ne pas connaître le mot confectionner : il ne saura pas faire les
opérations nécessaires et ne pourra donc pas résoudre le problème posé (faire une omelette).
L’enfant connaît d’autres instructions, sait exécuter d’autres actions que confectionner, et
pour qu’il puisse résoudre le problème il faudra l’exprimer autrement, sur la base des actions,
instructions, qu’il est capable d’exécuter. Pour que l’enfant puisse résoudre le problème on
pourra l’exprimer sous forme d’une séquence d’instructions appartenant au langage de
l’enfant. Par exemple on pourra exprimer le problème, la solution, sous la forme de la
séquence des instructions suivantes :
1. casser 6 œufs dans un bol;
2. battre les œufs avec un fouet;
3. saler, poivrer;
4. placer la poêle sur le gaz;
5. allumer le gaz;
6. cuisiner les œufs;
7. éteindre le gaz.
Dans cet exemple, le processeur enfant sait exécuter des instructions (casser, battre, saler,
poivrer, allumer, cuisiner…). De plus il connaît les objets à manipuler (œufs, gaz, poêle…).
On dit alors que le processeur enfant est un bon processeur pour exécuter l’algorithme
représenté par la séquence précédente puisque l’enfant est capable d’exécuter cette séquence

4
d’instructions. Cette séquence d’instructions exécutables par le processeur enfant est une
solution du problème posé pour ce processeur.
Un algorithme peut donc se définir comme une séquence d’instructions exécutables par un
processeur déterminé. Cette séquence d’instructions, cet algorithme, est une solution au
problème posé.
De ce petit exemple nous pouvons tirer quelques conclusions :
– un algorithme est une solution à un problème posé;
– un algorithme est une séquence d’instructions exécutables par un processeur;
– un algorithme est un programme exécutable par un processeur déterminé;
– un algorithme n’a de sens que pour un processeur déterminé.
Les instructions expriment les actions que peut exécuter un processeur, elles sont codées à
partir d’un alphabet (dans notre cas l’alphabet habituel). Les instructions manipulent des
données (œufs, sel, poivre, gaz, poêle…). Un processeur (ou machine virtuelle) est une entité
capable d’exécuter des instructions portant sur des données.
L’ensemble des instructions que le processeur (la machine virtuelle) peut manipuler, constitue
son langage de programmation. Ainsi le langage de programmation du processeur définit
complètement ce processeur. Il y a équivalence totale entre la machine virtuelle et son langage
de programmation. Aussi, connaître le langage de programmation d’une machine virtuelle
équivaut à connaître les capacités d’exécution de cette machine.
En résumé résoudre un problème avec une machine virtuelle consiste à construire une
séquence d’instructions pour cette machine (à partir de son langage de programmation) telle
que l’exécution de cette séquence soit une solution à ce problème. En informatique la machine
cible, celle avec laquelle nous devons résoudre les problèmes, est l’ordinateur. Nous devons
donc connaître les caractéristiques de cette machine, tout particulièrement son langage de
programmation (les instructions qu’elle est capable d’exécuter), l’alphabet permettant de
coder les instructions ainsi que les données et les outils permettant d’exécuter ces instructions.
Les instructions d’un ordinateur sont les instructions machines, elles constituent le langage de
programmation de l’ordinateur : le langage machine. Résoudre un problème avec un
ordinateur consiste donc à exprimer ce problème sous forme d’une séquence d’instructions
machines que nous devrons soumettre aux outils permettant l’exécution de cette séquence.
Cette séquence d’instructions machine exécutables par l’ordinateur s’appelle le programme
machine.

5
B. STRUCTURE ET FONCTIONNEMENT D’UN ORDINATEUR
Après ce bref rappel sur la manière algorithmique de résoudre un problème nous allons nous
intéresser à la résolution d’un problème avec comme machine cible un ordinateur. Pour cela
nous donnons tout d’abord une présentation de la structure matérielle d’un ordinateur, de son
fonctionnement, pour ainsi en déduire comment on peut à l’aide d’un ordinateur, résoudre un
problème. L’ordinateur cible nous servant de support descriptif est un ordinateur de type Von
Neumann qui caractérise bien la quasi-totalité des ordinateurs actuels. Il est composé des
éléments suivants :
– une mémoire centrale pour le stockage des informations (programme et données);
– un microprocesseur ou processeur central pour le traitement des informations logées dans la
mémoire centrale;
– des unités de contrôle des périphériques et des périphériques;
– un bus de communication entre ces différents modules.
B.1 Structure générale d’un ordinateur
La figure 1.1 présente l’organisation générale d’un ordinateur. On y trouve deux parties
principales :
 le processeur comprenant les modules mémoire centrale, processeur central
(microprocesseur), les unités d’échange et le bus de communication entre ces
différents modules ;
 les périphériques avec lesquels dialogue le processeur au travers des unités d’échange
(ou contrôleurs). On distingue en général :
 les périphériques d’entrée tels que le clavier ou la souris;
 les périphériques de sortie tels que les imprimantes et les écrans de
visualisation;
 les périphériques d’entrée et de sortie tels que les disques magnétiques ou les
modems pour accéder aux réseaux de communication.

6
B.2 Mémoire centrale
La mémoire centrale assure la fonction de stockage de l’information qui peut être manipulée
par le microprocesseur (processeur central), c’est-à-dire le programme machine accompagné
de ses données. En effet, le microprocesseur n’est capable d’exécuter une instruction que si
elle est placée dans la mémoire centrale.
Cette mémoire est constituée de circuits élémentaires nommés bits (binary digit).
Il s’agit de circuits électroniques qui présentent deux états stables codés sous forme d’un 0 ou
d’un 1. De par sa structure la mémoire centrale permet donc de coder les informations sur la
base d’un alphabet binaire et toute information stockée en mémoire centrale est représentée
sous la forme d’une suite de digits binaires. La figure 1.2 présente l’organisation générale
d’une mémoire centrale.

7
Pour stocker l’information, la mémoire est découpée en cellules mémoires : les mots
mémoires. Chaque mot est constitué par un certain nombre de bits qui définissent sa taille. On
peut ainsi trouver des mots de 1 bit, 4 bits (quartet) ou encore 8 bits (octet ou byte), 16 bits
voire 32 ou 64 bits. Chaque mot est repéré dans la mémoire par une adresse, un numéro qui
identifie le mot mémoire. Ainsi un mot est un contenant accessible par son adresse et la suite
de digits binaires composant le mot représente le contenu ou valeur de l’information.
La mémoire centrale est un module de stockage de l’information dont la valeur est codée sur
des mots. L’information est accessible par mot. La capacité de stockage de la mémoire est
définie comme étant le nombre de mots constituant celle-ci. Dans l’exemple de la figure 1.2,
notre mémoire a une capacité de 8 mots de 16 bits chacun. On exprime également cette
capacité en nombre d’octets ou de bits. Notre mémoire a donc une capacité de 16 octets ou de
128 bits. L’information que l’on trouve en mémoire centrale est donc codée sur un alphabet
binaire. La figure 1.3 rappelle le nombre de combinaisons que l’on peut réaliser à partir d’une
suite d’éléments binaires. Coder l’information en mémoire centrale c’est donc associer à
chaque suite de bits un sens particulier.

8
La figure 1.4 présente succinctement les différentes informations que l’on trouve dans la
mémoire centrale: instructions machines et données manipulées par les instructions.

Les instructions et les données sont codées sur des mots mémoires : elles peuvent occuper un
ou plusieurs mots mémoires selon la nature de l’ordinateur. Les instructions machines sont
propres à chaque microprocesseur mais sont toujours construites de la même manière : un

9
code opération qui définit l’opération à exécuter, le champ opérande qui définit la ou les
données sur lesquelles portent l’opération :
– le code opération est codé sur un nombre de digits binaires qui caractérise un
microprocesseur. Ce nombre de bits définit en fait le nombre d’opérations possibles avec cet
ordinateur : un code opération sur 3 bits admet 8 combinaisons permettant la définition de 8
opérations différentes (instructions machine) possibles, sur 4 bits 16 instructions possibles etc.
La taille du code opération est donc un facteur déterminant qui caractérise complètement le
nombre d’instructions qu’est capable d’exécuter un processeur;
– le champ opérande est une suite de bits qui permet de caractériser l’adresse de la ou des
donnée(s) que manipule(nt) l’instruction machine définie par le code opération.
Il existe plusieurs types d’instructions machines qui peuvent manipuler une ou plusieurs
données selon la «puissance» du langage machine du microprocesseur utilisé. Il existe
également plusieurs manières de définir, à partir du champ opérande, l’adresse d’une donnée :
cela repose sur le mécanisme d’adressage d’un microprocesseur qui définit les différentes
manières de calculer une adresse de données. On parle également de modes d’adressages du
microprocesseur.
Les données sont les objets que manipulent les instructions, elles sont codées sur un ou
plusieurs mots machines et sont donc adressables (repérables) dans la mémoire centrale.
L’adresse de la donnée est déterminée par le type d’adressage utilisé par l’instruction
machine. Le codage d’une donnée en mémoire dépend de son type : la figure 1.4 donne les
différents types de données que manipulent les instructions machines. Pour chaque type il
existe des règles de codage. Par exemple pour coder les caractères alphanumériques on utilise
un dictionnaire (table ASCII, table EBCDIC, codage Unicode) tandis que pour coder un
nombre entier non signé on utilise une règle traditionnelle de codage d’un nombre sur un
alphabet binaire.
Dans l’exemple de la figure 1.5, on suppose un nombre codé sur un octet (8 bits) dont la
position de chaque bit est numérotée de 0 à 7, en partant du bit de poids faible. La valeur de
l’entier est alors la somme des produits de chaque bit par le nombre de symboles possibles
dans la base d’expression du nombre (ici 2) élevé à la puissance du rang du bit. Cette règle est
générale et permet de déterminer la valeur d’un entier codé sur n’importe quel alphabet. Dans
le cas d’un alphabet binaire la valeur maximale que peut prendre un entier codé sur p bits est
2p. La mémoire centrale a pour objet le stockage des instructions et des données que peut
manipuler le microprocesseur. Les opérations possibles sur la mémoire sont la lecture
(acquisition par le microprocesseur) d’un mot et l’écriture (le microprocesseur place un
10
nouveau contenu) dans un mot mémoire. Une opération de lecture d’un mot consiste à définir
l’adresse du mot et à déclencher une commande de lecture qui amène le contenu du mot de la
mémoire vers le microprocesseur. Une opération d’écriture consiste à définir l’adresse du mot
dont on veut changer le contenu puis à déclencher une opération d’écriture qui transfère
l’information du processeur vers le mot mémoire dont l’adresse est spécifiée.
Enfin d’autres éléments importants complètent la caractérisation d’une mémoire centrale :
– le temps d’accès à la mémoire qui mesure le temps nécessaire pour obtenir une
information logée en mémoire;
– les technologies qui président à la construction de ces mémoires;
– le coût de réalisation de ces mémoires.

B.3 Le bus de communication


Le bus de communication peut se représenter comme une nappe de fils transportant des
signaux et permettant l’échange des informations entre les différents modules du processeur.
Chaque fil transporte ou non un signal : il est présent ou absent. On représente par 1 un signal
présent et par 0 un signal absent. Le nombre de fils du bus détermine sa largeur et définit ainsi
le nombre d’informations différentes que peut véhiculer le bus. Ainsi un bus de 3 fils permet
une combinaison de 8 signaux différents et donc représente 8 informations possibles
différentes.
Le bus est construit comme un ensemble de trois bus :
– le bus d’adresses transporte des combinaisons de signaux qui sont interprétées comme des
nombres entiers représentant l’adresse d’un mot mémoire. Par exemple, figure 1.6, le bus
d’adresses a une largeur de 3 fils et est donc capable de coder des adresses allant de 0 à 7.
11
Pour adresser un mot mémoire on fait appel à un circuit de sélection (décodeur) qui en entrée
reçoit n signaux (3 dans notre exemple) et fournit 2n signaux de sortie (8 dans notre exemple).
Parmi les signaux de sortie un seul est positionné à 1 tous les autres valant 0. Dans notre
exemple, les sorties sont numérotées de 0 à 7 et de haut en bas. Ainsi si la valeur d’entrée est
000, seule la sortie 0 vaut 1 et toutes les autres valent 0. Pour adresser le mot mémoire 2 le
microprocesseur place sur le bus d’adresses la chaîne 010 (qui a pour valeur 2 en base 10), la
sortie 1 du décodeur vaut alors 1 et les autres valent 0. Ce circuit permet donc de sélectionner
un mot mémoire dans la mémoire centrale. La largeur du bus d’adresses définit la capacité
d’adressage du microprocesseur et il ne faut pas confondre capacité d’adressage et taille
physique de la mémoire;

– le bus de données permet l’échange des informations (les contenus) entre les différents
modules. Dans notre exemple le bus de données a une largeur de 16 fils et donc la taille des
mots mémoires auxquels on peut accéder ou dont on peut modifier le contenu est de 16 bits;

12
– le bus de commandes : c’est par ce bus que le microprocesseur indique la nature des
opérations qu’il veut effectuer. Dans notre exemple il a une largeur d’un fil et donc le
microprocesseur ne peut passer que deux commandes (la lecture et l’écriture).
La figure 1.7 résume les différents points abordés concernant la mémoire et les bus permettant
la communication avec la mémoire. Sur cette figure 1.7, le bus d’adresses a une largeur de m
bits, le bus de données une largeur de p bits ce qui détermine la capacité de stockage en bits
de cette mémoire, soit 2m mots de p bits. Le bus de commandes permet de déterminer le type
d’opération (lecture ou écriture) que l’on souhaite réaliser.

B.4 Le processeur central ou microprocesseur


Le microprocesseur (unité centrale) a pour objet d’exécuter les instructions machines placées
en mémoire centrale. La figure 1.8 présente son architecture générale.

13
Il est constitué de quatre parties : l’unité arithmétique et logique (UAL), les registres, l’unité
commande et le bus de communication interne permettant l’échange des données et des
commandes entre les différentes parties du microprocesseur.
Les registres
Ce sont des zones de mémorisation de l’information internes au microprocesseur. Ils sont de
faible capacité et de temps d’accès très faible. Leur nombre et leur taille sont variables en
fonction du type de microprocesseur. Ils peuvent être de type adresse (ils contiennent alors
une adresse de mot mémoire) ou données (ils contiennent alors le contenu d’un mot
mémoire). Ils peuvent être spécifiques et avoir une fonction très précise (par exemple le
registre pointeur de pile) ou généraux et servir essentiellement aux calculs intermédiaires, par
exemple, de l’unité arithmétique et logique.
L’unité arithmétique et logique (UAL)
Ce module est chargé de l’exécution de tous les calculs que peut réaliser le microprocesseur.
Cette unité est constituée de l’ensemble des circuits arithmétiques et logiques permettant au
processeur d’effectuer les opérations élémentaires nécessaires à l’exécution des instructions
« machine ». Elle inclut donc les circuits d’addition, de soustraction, de multiplication, de
comparaison, etc. Dans ce module se trouvent également des registres dont l’objet est de
contenir les données sur lesquelles vont porter les opérations à effectuer. Dans notre exemple,
l’UAL possède deux registres d’entrée (E1 et E2) et un registre de sortie (S).
Pour faire une addition :

14
– la première donnée est placée dans E1 via le bus interne de données;
– la seconde donnée est placée dans E2 via le bus interne de données;
– la commande d’addition est délivrée au circuit d’addition via le bus interne de
commandes;
– le résultat est placé dans le registre S.
Sur notre machine on note également un registre particulier, le PSW (Program Status Word),
qui joue un rôle fondamental de contrôle de l’exécution d’un programme et qui à tout instant
donne des informations importantes sur l’état de notre microprocesseur.
Par exemple puisque nous travaillons sur des mots de longueur finie la valeur d’un entier codé
sur un mot ne peut dépasser la valeur maximale représentable sur ce mot. Lorsque nous
faisons l’addition de deux entiers le résultat peut avoir une valeur qui n’est pas représentable
sur un mot mémoire : il y a alors dépassement de capacité.
Ce dépassement de capacité doit être signalé et noté pour ne pas perturber le fonctionnement
de l’ordinateur. Ce type d’information est stocké dans le PSW.
L’unité de commande
Elle exécute les instructions machines et pour cela utilise les registres et l’UAL du
microprocesseur. On y trouve deux registres pour la manipulation des instructions (le
compteur ordinal CO, le registre d’instruction RI), le décodeur, le séquenceur et deux
registres (le registre d’adresses RAD et le registre de données RDO) permettant la
communication avec les autres modules via le bus. Enfin, via le bus de commandes, elle
commande la lecture et/ou l’écriture dans la mémoire centrale.
➤ Le compteur ordinal CO
C’est un registre d’adresses. À chaque instant il contient l’adresse de la prochaine instruction
à exécuter. Lors de l’exécution d’une instruction il est prévu, au cours de cette exécution, la
modification du contenu du CO. Ainsi en fin d’exécution de l’instruction courante le
compteur ordinal pointe sur la prochaine instruction à exécuter et le programme machine peut
continuer à se dérouler.
➤ Le registre d’instruction RI
C’est un registre de données. Il contient l’instruction à exécuter.
➤ Le décodeur
Il s’agit d’un ensemble de circuits dont la fonction est d’identifier l’instruction à exécuter qui
se trouve dans le registre RI, puis d’indiquer au séquenceur la nature de cette instruction afin
que ce dernier puisse déterminer la séquence des actions à réaliser.

15
➤ Le séquenceur
Il s’agit d’un ensemble de circuits permettant l’exécution effective de l’instruction placée
dans le registre RI. Le séquenceur exécute, rythmé par l’horloge du microprocesseur, une
séquence de microcommandes (micro-instructions) réalisant le travail associé à cette
instruction machine. Pour son fonctionnement le séquenceur utilise les registres et l’UAL.
Ainsi l’exécution effective d’une instruction machine se traduit par l’exécution d’une
séquence de micro-instructions exécutables par les circuits de base du microprocesseur.
➤ Le registre RAD
C’est un registre d’adresses. Il est connecté au bus d’adresses et permet la sélection d’un mot
mémoire via le circuit de sélection. L’adresse contenue dans le registre RAD est placée sur le
bus d’adresses et devient la valeur d’entrée du circuit de sélection de la mémoire centrale qui
va à partir de cette entrée sélectionner le mot mémoire correspondant.
➤ Le registre RDO
C’est un registre de données. Il permet l’échange d’informations (contenu d’un mot mémoire)
entre la mémoire centrale et le processeur (registre).
Ainsi lorsque le processeur doit exécuter une instruction il :
– place le contenu du registre CO dans le registre RAD via le bus d’adresses et le
circuit de sélection;
– déclenche une commande de lecture mémoire via le bus de commandes;
– reçoit dans le registre de données RDO, via le bus de données, l’instruction;
– place le contenu du registre de données RDO dans le registre instruction RI via le
bus interne du microprocesseur.
Pour lire une donnée le processeur :
– place l’adresse de la donnée dans le registre d’adresses RAD;
– déclenche une commande de lecture mémoire;
– reçoit la donnée dans le registre de données RDO;
– place le contenu de RDO dans un des registres du microprocesseur (registres
généraux ou registres d’entrée de l’UAL).
On dit que pour transférer une information d’un module à l’autre le microprocesseur établit un
chemin de données permettant l’échange d’informations. Par exemple pour acquérir une
instruction depuis la mémoire centrale, le chemin de données est du type : CO, RAD,
commande de lecture puis RDO, RI

16
CHAPITRE 2 : CODAGE DES INFORMATIONS

A UNITES D'INFORMATIONS

Pour représenter des informations, l'utilisateur d'un ordinateur emploie des symboles, chiffres,
lettres et ponctuations formant des chaînes de caractères. Cependant, pour être traitées, ces
informations doivent être codées selon un format adapté aux divers circuits et organes de
mémorisation de l'ordinateur. Ce codage est, alors, le passage d'une information, d'un langage
compréhensible par l'homme à un langage compréhensible par le système informatique.
Il utilise les symboles logiques notés 0 et 1. Ces symboles représentent la plus petite
information que l'on peut transmettre, manipuler et stocker dans les divers circuits et
périphériques de l'ordinateur. Cette unité d'informations est appelée BIT (Binary digIT).
Ces informations sont le plus souvent regroupées par ensemble de 4 bits ou de 8 bits,
ensemble qu'on désignera respectivement par QUARTET et OCTET (BYTE) : 1 quartet = 4
bits et 1 octet = 8 bits.

Autres unités d'informations :


1 KiloBIT ( K ) = 210 bits = 1 024 bits
1 KiloOctet ( Ko ou Kb ) = 210 octets = 1 024 octets
1 MégaOctet ( Mo ou Mb ) = 220 octets = 1 048 576 octets
1 GigaOctet ( Go ou Gb ) = 230 octets = 1 073 741 824 octets

B REPRESENTATION DES NOMBRES

B.1 Système de numération

B.1-a Forme canonique d'un nombre

On rappelle qu’on peut représenter un nombre quelconque X en base b par l’expression


suivante :
X = an bn + an-1 bn-1 + . . . + a1 b1 + a0 + a-1 b-1 + a-2 b-2 + . . . + a-n b-n
où les ai sont des entiers compris entre 0 et b-1
l’indice i est le rang du symbole ai
bi est le poids du symbole ai
17
B.1-b Les systèmes de numération les plus utilisés en informatique

Système DECIMAL (b = 10) : Symboles (digits) utilisés : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9


Exemples : 274 (10) = 2.102 + 7.101 + 4
74 , 375 (10) = 7.101 + 4 + 3.10-1 + 7.10-2 + 5.10-3

Système BINAIRE (b = 2) : Symboles (digits) utilisés : 0, 1


Exemples : 1011 (2) = 1.23 + 0.22 + 1.21 + 1 = 11 (10)
10110 , 011 (2) = 1.24 + 0.23 + 1.22 + 1.21 + 0 + 0.2-1 + 1.2-2 + 1.2-3 = 22 , 375
(10)

Système OCTAL (b = 8) : Symboles (digits) utilisés : 0, 1, 2, 3, 4, 5, 6, 7


Exemples : 745 (8) = 7.82 + 4.81 + 5 = 485 (10)
24 , 65 (8) = 2.81 + 4 + 6.8-1 + 5.8-2 = 20 , 825 (10)

Système HEXADECIMAL (b = 16) : Symboles (digits) utilisés : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,


B, C, D, E, F dont A = 10 (10) ; B = 11 (10) ; C = 12 (10) ; D = 13 (10) ; E = 14 (10) ; F = 15 (10)
Exemples : 469 (16) = (469H) = 4.162 + 6.16 + 9 = 1 129 (10)
5AE (16) = 5.162 + 10.16 + 14 = 1 454 (10)

B.1-c Tableau récapitulatif

DECIMA BINAIRE OCTAL HEXA- DECIMA BINAIRE OCTAL HEXA-


L DECIMA L DECIMA
L L
0 0 0 0 11 1011 13 B
1 1 1 1 12 1100 14 C
2 10 2 2 13 1101 15 D
3 11 3 3 14 1110 16 E
4 100 4 4 15 1111 17 F
5 101 5 5 16 10000 20 10
6 110 6 6 17 10001 21 11

18
7 111 7 7 18 10010 22 12
8 1000 10 8 19 10011 23 13
9 1001 11 9 20 10100 24 14
10 1010 12 A

B.1-d Changement de base

 DECIMAL  BINAIRE , OCTAL , HEXADECIMAL [ 1284 (10)  ? ]

Méthode de divisions successives

1284 2 1284 8 1285 16


0 642 2 4 160 8 4 80 16
0 321 2 0 20 8 0 5
1 160 2 4 2
0 80 2
0 40 2 1284 (10) = 2404 (8)
Les flèches pointées vers 0 20 2
le haut indiquent le sens
de la lecture 0 10 2 1284 (10) = 504 (16)
0 5 2
1 2 2
1284 (10) = 10100000100 (2) 0 1

 OCTAL  BINAIRE  HEXADECIMAL

Le passage de la base 2 à la base 8 (resp. 16) se fait de façon immédiate en groupant les digits
binaires par 3 (resp. 4) de droite vers la gauche :

Exemple : 10100000100 = 10 100 000 100  2 4 0 4 (8)


= 101 0000 0100  5 0 4 (16)

19
G REPRESENTATION DES CARACTERES

Les informations que doivent traiter les ordinateurs sont composées, en plus des nombres, des
lettres, des chiffres ou des symboles particuliers. Pour être utilisables par la machine, elles
doivent être codées d'une manière standard. Le code le plus utilisé est le code A.S.C.I.I.

G.1 Le code A.S.C.I.I. (American Standard Code for Information Interchange)

Le code ASCII a fait l’objet de normalisation internationale. L’information est représentée par
7 bits avec un 8ème bit de parité (bit de contrôle entre émission et réception). Le code ASCII
définit 128 combinaisons binaires différentes (tableau de la page suivante). Il est couramment
employé entre « unité centrale » de l’ordinateur et périphériques (clavier, imprimante, ...).

Les codes des caractères sont obtenus en combinant les deux en-têtes de ce tableau (en-tête de
colonne + en-tête de ligne). Exemples : a 61 (HEX) A 41 (HEX) m 6D (HEX) ( 28
(HEX) \ 5C (HEX)

Les codes 0 à 19(HEX) et 1F (HEX) sont des caractères de commande utilisés, par exemple
dans les dialogues avec les périphériques. Ils ne sont pas imprimables. Les caractères 20
(HEX) à 7E (HEX) sont des caractères imprimables. Notons qu’il est prévu de pouvoir donner
à certains caractères des codes d’extensions nationales. C’est le cas des caractères @ { } \ | ]
[ qui en France correspondent à : é è ç ù § °.

0 1 2 3 4 5 6 7
0 NUL DLE 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 “  2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB 7 G W g w
8 BS CAN ( 8 H X h x

20
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL

Jeu des caractères du code ASCII et leur correspondance en hexadécimal

G.2 Le code UNICODE (UNIversal CODE)

Le code ASCII des caractères convient bien aux pays de langue anglaise, il n’en est pas de
même pour les pays d’autres langues comme la France, l’Allemagne, le Japon etc. Ces autres
pays utilisent des caractères accentués, des symboles etc.

La première tentative d’extension du code ASCII donna lieu à la norme ISO 646, qui consista
à ajouter 128 caractères supplémentaires aux caractères de base. On appela ce système le code
« Latin-1 ». L’évolution suivante fut la norme ISO 8859 qui introduisit le concept de « code
page », un ensemble de 256 caractères dédiés à une langue particulière ou à un groupe des
langues. Ainsi le code page 850 est un jeu de caractère multilingue, alors que le code page
864 définit un jeu de caractère « arabe ». La version ISO 8859-1 de cette norme correspond au
code Latin-1. La version ISO 8859-2 correspond à des langues slaves d’origine latines
(polonais, tchèque, hongrois) etc.

Le problème associé à l’utilisation de cette norme ISO 8859 dotée d’un code page, c’est que
le logiciel qui manipule les caractères doit connaître le code page de référence. Il est donc
impossible de mixer dans un même texte des caractères issus d’autres codes page.

Compte tenu de ce problème et de l'extension mondiale de l'utilisation des ordinateurs et du


nombre de plus en plus important de caractères divers à stocker, les organismes de
normalisation ISO (International Standard Organisation) ont travaillé à la création d'un code
universel. Ces travaux sont connus sous le référence ISO 10646 et se présentent sous deux

21
formes : une forme 32 bits (UCS-4) et une forme 16 bits (UCS-2) qui est un sous-ensemble de
UCS-4.

UNICODE 1.1 est une première version de UCS-2 codant les caractères sur 16 bits et permet
ainsi de représenter 65 536 caractères différents. Basé sur les pages ASCII en ce qui concerne
les premiers caractères, ce code est utilisé actuellement par la quasi-totalité des systèmes et
des logiciels comme le langage de programmation JAVA et les systèmes d’exploitation
WINDOWS à partir de la version 95.

22
CHAPITRE 3 LES MICROPROCESSEURS

A ARCHITECTURE INTERNE D’UN PROCESSEUR

A.1 Le rôle élémentaire d’un microprocesseur

Un microprocesseur est un circuit complexe qui possède un jeu d’instruction, une unité
arithmétique et logique pour effectuer les calculs sur les données, des registres internes pour
conserver temporairement ces données et un mécanisme pour accéder aux données stockées
dans la mémoire centrale.

Pour utiliser efficacement cette mémoire, le microprocesseur dispose de capacité de gestion


de mémoire (segmentation et pagination) qui permet l’optimisation du temps d’accès à la
mémoire et l’augmentation de l’espace adressable par le microprocesseur. Cette gestion de
mémoire joue un rôle non négligeable dans le fonctionnement du microprocesseur parce que
les informations (instruction et donnée) traitées par le microprocesseur sont stockées
temporairement dans la mémoire centrale.

Alors, pour le traitement d’une instruction, le microprocesseur doit :


 Rechercher l’instruction dans la mémoire
 Décoder l’instruction
 Rechercher les opérandes (si l’exécution a besoin d’un ou des opérandes)
 Exécuter l’instruction
 Ranger le résultat de l’opération dans la mémoire.

A.2 Les unités internes d’un microprocesseur

UNITE ARITHMETIQUE ET LOGIQUE UNITE DE GESTION MEMOIRE Données

Registres généraux Registres de


UNITE DE BUS

Décaleur segmentation et de Adresse


pagination
Commandes

UNITE DE CONTROLE UNITE DE DECODAGE UNITE DE PRE-EXTRACTION


A.2 a) Unité de bus
ROM des Décodeur Pré-extracteur
microcodes Queue des Queue de pré-
23
instructions extraction
Elle est responsable de l’échange d’information entre le bus externe du microprocesseur et ses
unités internes. Elle émet (ou reçoit) les signaux d’adresse, de données, et de contrôle utilisés
pour communiquer avec la mémoire et les périphériques (les contrôleurs).

A.2.b) Unité de pré-extraction

Lorsque l’unité de bus n’est pas occupée par une exécution d’instruction, l’unité de pré-
extraction l’utilise pour charger séquentiellement les quelques instructions suivantes du
programme en cours d’exécution. Les instructions ainsi pré-saisies sont rangées dans une zone
appelée « queue de pré-extraction ». La pré-extraction supprime pratiquement le temps qui
devrait passer par les unités à attendre la prochaine instruction. Cette unité maintient assez
d’instructions à la disposition de l’unité de décodage pour qu’elle n’ait pas à attendre le
chargement depuis la mémoire vive. Cette anticipation augmente sensiblement la performance
du microprocesseur.

A.2 c) Unité de décodage

Elle prend les instructions de la queue de pré-extraction et les décompose en deux parties :
 La première, le code opération ou OPCODE, qui indique l’opération à effectuer, par
exemple une addition ou un transfert de donnés. Cette partie forme une adresse, appelée
« point d’entrée microcode », pour lancer l’exécution des microcodes de l’unité de
contrôle.
 La seconde, optionnelle, est constituée par un ou plusieurs opérandes. Elle désigne
l’information nécessaire à l’exécution de l’instruction. Un opérande peut être une donnée
ou peut désigner l’endroit où se trouve une donnée (registre ou adresse mémoire). Cette
partie contient alors les informations d’adressage qui sont envoyées à l’unité de gestion
mémoire pour la recherche des opérandes.

A.2 d) Unité de contrôle

Le microprocesseur s’appuie sur son unité de contrôle pour planifier les diverses tâches
nécessaires à l’exécution d’une instruction. Le découpage des instructions en signaux de
contrôle de bas niveau améliore l ‘efficacité de processus d’exécution.

24
Selon le type d’instruction à exécuter, l’unité de contrôle émet des différents signaux qui
coordonnent le fonctionnement de l’unité d’exécution. Cette unité contient les microcodes du
processeur, ensemble de commandes de bas niveau
rangées en ROM du microprocesseur. Les microcodes
AX BX
sont transférées vers la sortie de l’unité de contrôle
dans un organe appelé « séquenceur de tâches » et
envoyées à l’unité d’exécution.

RESULTAT
+ FLAGS Exemple : l’instruction en assembleur ADD AX, BX
(addition des contenus des registres AX, BX) est
décomposée en quatre microcodes :
1°) ( AX )  ALU
2°) ( BX )  ALU
3°) Somme dans ALU
4°) Résultat  AX

Le microprocesseur dispose aussi de l’unité de test de protection qui fonctionne en association


étroite avec l’unité de contrôle. Cette unité vérifie que les opérations transmises à l’unité
d’exécution sont exécutables. Dans le cas contraire (par exemple : division par Zéro), elle
émet un signal d’erreur qui est aussitôt prise en compte.

4.2.e) Unité d’exécution

Elle contient un circuit chargé d’exécuter les opérations arithmétiques et logiques


(arithmétique : addition, soustraction, multiplication, division et décalage ; Logique : AND,
OR, XOR, NOT). Ce circuit est appelé « Unité arithmétique et logique » ou ALU. L’unité
d’exécution contient aussi des registres pour le stockage temporaire des données et des
résultats.

Ces registres sont classés par :


 les registres généraux Accumulateurs : EAX (32), AX (16), AH (8), AL
(8)
Registres de base : EBX (32), BX (16), BH (8), BL
(8)
25
Registres de comptage : ECX (32), CX (16), CH (8), CL
(8)
Registres de données : EDX (32), DX (16), DH (8), DL
(8)
 les registres pointeurs et les registres d’index
Source index : ESI (32), SI (16)
Destination index : EDI (32), DI (16)
Base Pointer : EBP (32), BP (16)
Stack Pointer : ESP (32), SP (16)
 le registre spécial appelé « pointeur d’instruction » (EIP ou IP) qui contient l’adresse de la
prochaine instruction à exécuter par le microprocesseur. Le programme étant implicitement
séquentiel, EIP est automatiquement incrémenté de façon à pointer sur l’instruction qui suit
celle que l’unité de bus vient d’extraire.
 le registre EFLAGS contenant des informations complémentaires sur le résultat d’une
opération arithmétique et logique. Alors ses bits appelés drapeaux ou flags sont mise à 0 ou
à 1 selon le résultat de l’opération.

A.2.f) Unité de gestion mémoire (MMU  : Memory management Unit)

Quand le microprocesseur doit accéder à la mémoire pour y chercher une instruction, lire les
données demandées par une instruction ou écrire le résultat d’une opération de l’ALU, il fait
appel à l’unité de gestion mémoire. Cette unité est chargée de traduire chaque adresse logique
interne en une adresse physique externe correspondant à une position particulière de la
mémoire centrale.

Le MMU fournit une assistance au système d’exploitation multitâche en créant un


environnement d’adressage simplifié pour les programmes d’application. Quand plusieurs
programmes tournent simultanément (multitâche) chacun doit disposer de son propre espace
d’adressage pour ses données et ses instructions. S’ils devaient tout partager le même espace
d’adressage, chacun devrait se livrer à des vérifications d’adresse pour éviter d’interférer avec
ses voisins. Pour soulager les programmes de cette responsabilité, le MMU contient le circuit
de segmentation et de pagination. Cette unité dispose ainsi des registres de segment : CS, SS,
DS, ES, FS, GS.

26
SEGMENTATION

La segmentation est une technique qui donne à chaque programme son propre et unique
espace d’adressage nommé « segment » en mémoire centrale. Elle transforme l’adresse
logique en adresse linéaire (en physique pour les microprocesseurs qui n’utilisent pas la
technique de pagination, c’est-à-dire pour les processeurs fonctionnant en mode réel).

Mode réel (adressage de 8086) : espace physique adressable 1 Mo


FFFFFh
CS (16 bits) 0000

SS (16 bits) 0000 Code Segment


DS (16 bits) 0000
Stack Segment
ES (16 bits) 0000
Data Segment
Déplacement

+
Adresse physique (20 bits)
Extra-Segment

00000h

Mode protégé (segmentation : adresse logique en adresse linéaire) : espace adressable 64


Téraoctets

( 16 bits ) ( 32 bits )
SELECTEUR OFFSET
Jusqu’à 4 Go

Cop / Opérande

DESCRIPTEUR

+
Table des Mémoire
descripteurs physique

Le sélecteur de segments pointe dans une table de descripteurs de segment fournissant :


 L’adresse de base de segment :
 La limite (taille) du segment :
 Le privilège ou droit d’accès.

27
PAGINATION

La pagination découpe la mémoire principale en blocs de 4 ko appelé « PAGE » pour créer un


environnement virtuel dans lequel de grande espace d’adressage est simulée à partir d’une
petite quantité de DRAM et d’un complément d’espace disque (mémoire virtuelle).

Quand la pagination est active, l’adresse linéaire se traduit en adresse physique en la divisant
en 3 parties qui désignent une table de pages dans un répertoire, une page dans cette table et
un déplacement dans cette page.

31 22 21 12 11 0
INDEX PAGE OFFSET

4 Ko
Cop/Opérande
1024 entrées 1024 pages

Entrée
Début de page +
Mémoire physique
Répertoire des tables Table des pages

Deux niveaux sont alors nécessaires pour la traduction de page : le premier niveau sont celui
du répertoire de tables qui peut contenir jusqu’à 1024 entrées, chacune pointant vers une
structure de même type appelé table de pages, laquelle à son tour peut adresser 1024 pages en
mémoire physique.

Un répertoire de tables peut donc adresser jusqu’à 2 20 pages soit 4 Go d’espace d’adressage,
car chaque page ayant une taille constante de 4 Ko.

A.3 Modes de fonctionnement en parallèle

A.3. a) Pipeline

Chaque instruction est traitée séquentiellement dans le microprocesseur. Pour accroître


l’efficacité et la rapidité du traitement, chaque unité interne peut fonctionner en parallèle avec

28
les autres de façon qu’une instruction puisse être traitée par cycle d’horloge. On dit alors que
les instructions sont traitées en PIPELINE :

Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 ...


Horloge

Unité de bus Instr_1 Instr_2 Instr_3 Instr_4 Instr_5 Instr_6 Instr_7 ...
Unité de Instr_1 Instr_2 Instr_3 Instr_4 Instr_5 Instr_6 ...
décodage
ALU Instr_1 Instr_2 Instr_3 Instr_4 Instr_5 ...
MMU Instr_1 Instr_2 Instr_3 Instr_4 ...

A.3. b) Superscalaire

La méthode consiste à doubler quelques unités internes du microprocesseur pour augmenter le


nombre d’instructions exécutées par cycle d’horloge. C’est le cas du pentium qui dispose de
trois unités d’exécution, deux pour les opérations en entier et une pour les calculs en virgule
flottante. C’est-à-dire, trois unités d’exécution qui peuvent fonctionner en parallèle. Ce
fonctionnement est illustré par la figure ci-dessous. ALU

Recherch Décodag Recherch ALU Rangeme


e e e nt
des des des des
instructio instructio opérande résultats
nss nss s
FPU

A.3. c) HyperThreading

La technologie HyperThreading (HyperFlots ou HyperFlux) consiste à définir deux


processeurs logiques au sein d'un processeur physique. Ainsi, le système reconnaît deux

29
processeurs physiques et se comporte en système multitâche en envoyant deux thréads
simultanés, on parle alors de SMT (Simultaneous Multi Threading). Cette « supercherie »
permet d'utiliser au mieux les ressources du processeur en garantissant que des données lui
sont envoyées en masse.

B CARACTERISTIQUES D’UN MICROPROCESSEUR

 La fréquence de fonctionnement d’un microprocesseur (exprimée en nombre de cycle


d’horloge par seconde ou MHZ) joue un rôle déterminant sur la vitesse du fonctionnement
d’un microprocesseur et sur la synchronisation de l’exécution des tâches avec les
périphériques. Puisque le signal d’horloge est utilisé non seulement par le
microprocesseur mais aussi par les composants périphériques pour définir le moment où
les informations doivent être transférées.

 Le processeur se classe généralement par la taille de ses registres internes, par le nombre
de bits qui peuvent être traités simultanément. On parle souvent de processeur 16 bits
(8086, 8088, 80286), 32 bits (80386, 80486 et pentium d’INTEL).

 L’aptitude à transférer plus de données durant un cycle d’horloge est caractérisée par la
largeur de bus de données. Par exemple, le pentium (largeur du bus de données : 64 bits)
peut transférer 4 fois plus d’informations que le 80286 (largeur du bus de données : 16
bits).

 La largeur du bus d’adresses est un paramètre technique et économique important dans la


conception d’un ordinateur. Ainsi, avec n lignes d’adresses, le processeur peut adresser 2n
mots mémoire différents.

 Le progrès de la technologie des semi-conducteurs permet de placer de plus en plus de


transistors sur des surfaces de plus en plus réduites. Cette augmentation de nombres de
transistors est un moyen de réaliser et d’intégrer sur la même puce (circuit intégré), les
circuits annexes autrefois extérieurs au microprocesseur. L’élimination de connexion
externe est un facteur de rapidité.

 L’expression « million d’instructions par seconde » ou MIPS est une façon simple de
mesurer la performance (rapidité) d’un microprocesseur.

30
A l’évidence, ces caractéristiques ne sont pas suffisantes pour mesurer et comparer les
performances des microprocesseurs, car les architectures internes, qui peuvent différer d’un
processeur à l’autre, doivent aussi être prises en compte.

Les constructeurs utilisent alors des programmes de tests spéciaux, appelés bancs d’essai ou
« benchmarks », qui sont des ensembles de tâches normalisées dont on mesure le temps
d’exécution pour évaluer les performances relatives d’un processeur à l’autre. Par exemple,
INTEL utilise les indices de performance suivants :

 SPECint95 (Standard Performance Evaluation Corporation Integer 95) – test de


performance 32 bits pour la vitesse de calcul sur des nombres entiers :
 SPECfp95 – test pour les calculs sur des nombres réels.

C TECHNOLOGIE DES MICROPROCESSEURS

On distingue deux grandes architectures de microprocesseur :

L’architecture CISC (Complex Instruction Set Computer), dont fait partie l’architecture Intel
à 32 bits. Dans une telle architecture, chaque instruction se développe en plusieurs microcodes
lors de son exécution. Alors, elle peut prendre plus d’un cycle pour une instruction. Le jeu
d’instruction est plus étendu et la technique d’adressage est plus complexe.

L’architecture RISC (Reduced Instruction Set Computer) est caractérisée par :


 un jeu d’instructions réduit aux instructions les plus fréquemment utilisées,
 une exécution des instructions en un seul cycle d’horloge,
 et une taille unique d’instructions.

Elle utilise alors l’architecture superscalaire pour exécuter plus d’une instruction par cycle
d’horloge et l’anticipation de branchement pour accélérer l’exécution des programmes. De
nombreux processeurs RISC se doublent d’unités de calcul en virgule flottante et des
systèmes avancés de gestion de mémoire.

A titre d’exemple, citons quelques processeurs RISC :


 PowerPC d’Apple-IBM-Motorola,

31
 SPARC de Sun, MIPS de Mips Computer
 et ALPHA 21O64 –AA200 de Digital.

D EXEMPLE DE MICROPROCESSEURS

D.1 Cas d’INTEL 486

Le 80 486 est le successeur du microprocesseur d’INTEL 80 386. C’est un processeur 32 bits.


La performance de i486 est due à un fort degré d’intégration. Pour rester en phase avec la
vitesse accrue de l’unité d’exécution, un cache interne de 8 Ko permet de conserver les
informations récemment utilisées et de réduire ainsi le nombre des accès à la mémoire
centrale. Pour alimenter ce cache de façon efficace, l’unité de bus a été améliorée et peut
supporter des cycles en mode rafale (burst), permettant d’accéder à des groupes de données ou
d’instructions de 16 octets en mémoire vive.

Cycle normale
Adress Donné Adress Donné Adress Donné Adress Donné
e e e e e e e e

Cycle rafale
Adress Donné Donné Donné Donné
e e e e e

4 blocs de 32 bits

32
C’est-à-dire pour supporter la largeur de ligne de 16 octets des unités de cache et de pré-
extraction, l’unité de bus peut lire en succession quatre blocs de 32 bits (schéma ci-dessus).

127 127
Octet n°4 Ce schéma montre le
100 SUCCES ... ECHEC 100 mécanisme de recherche
21 bits
d’information à partir de
l’adresse : 003AC644
0 Repère 0 Voie 0 (2 Ko) Voie 1 (2 Ko) Repère 0 0
127 127 Cette adresse est décou-
100 ECHEC ECHEC 100 pée en trois parties :
Bloc de 16 octets
Repère : 21 bits
Index : 7 bits
Repère 0 Voie 2 (2 Ko) Voie 3 (2 Ko) Repère 0
N° de l’octet : 4 bits
0 0
On peut simplifier le schéma interne d’un cache unifié multivoie du processeur i486 :

En intégrant dans la puce une unité de virgule flottante (un coprocesseur arithmétique
semblable au 387), le processeur 486 réduit ces cycles d’E/S habituels nécessaires aux
transferts de données entre le processeur et un coprocesseur externe. Avec toutes ces
améliorations fonctionnelles, le nombre moyen de cycles nécessaires à l’exécution d’une
instruction passe ainsi de 4,5 sur i386 DX à 1,8 sur i486.

Tout comme ses prédécesseurs, le i486 a suivi un certain nombre de variante passant de
486DX au 486SX. Mais cette fois, le modèle SX dispose d’un même bus. La différence c’est
que le processeur arithmétique a été inhibé dans le 486SX.

En outre, Intel a créé des processeurs associés appelés OVERDRIVE doublant ou triplant la
fréquence de travail du processeur. Dans ce cas, la machine conserve son ancien quartz et ces
anciens circuits. Par exemple avec une horloge externe de 33 MHZ, le 486 DX2, processeur
doubleur de fréquence, travaille en interne à 66 MHz, le 486 DX4, processeur tripleur de
fréquence, travaille en interne à 99MHz. Et pour soutenir cette augmentation de fréquence, la
taille de son cache interne a été doublée.
Pour maintenir la comptabilité des programmes avec les générations précédentes d’Intel, le
486 peut adopter 4 modes de fonctionnements :
Mode réel – La machine à base de 486 démarre en mode réel pour pouvoir rester compatible
avec le système d’exploitation en mode réel, tel que le MS-DOS et avec les programmes
initialement écrits pour le 8088. Les interfaces graphiques type Windows, OS/2 et

33
UNIX basculent le processeur en mode protégé pour profiter pleinement de ses
caractéristiques.
Mode protégé et mode virtuel - le i486 peut accéder à la totalité de son espace d’adressage
de 32 bits soit 4 Go. Le mécanisme de pagination permet au système d’exploitation de
gérer des échanges de pages de 4 Ko. Une tâche peut disposer de 16 384 segments au
maximum, alors l’adressage virtuel atteint 64 TéraOctet.
Mode SMM (Système Management Mode) – A l’origine, ce mode a été développé au titre de
la technologie SL, pour gérer de façon efficace la durée de vie des batteries des
ordinateurs portables. Il permet de réduire la consommation d’énergie d’un ordinateur
en cas d’absence d’activité. Devenu un élément standard de l’architecture Intel, ce mode
a été intégré dans les séries Intel 486 SL et dans les processeurs Pentium.

D.2 Cas d’INTEL Pentium

64 bits Cache
d’instructions
Moniteur de 8 Ko
256 bits Branchement
performance Prédictif
Buffer de
1 Ko de BTB
prérecherche
32 bits 32 bits

Unité
ALU ALU
64 bits de FPU
entiers entiers
bus en pipeline
32 bits 32 bits
Addition
Jeu de registres Multiplication
Intégrité Division
des données 64 bits

64 bits
Cache de
données
8 Ko

Successeur de i486, le Pentium est encore un processeur à architecture CISC. Mais il s’oriente
vers la technique appliquée par les systèmes RISC. Le schéma ci-dessus montre la structure
simplifiée du Pentium. Intégrant plus de 3,1 millions de transistors, ce processeur 32 bits
possède ses principales innovations par rapport au i486 :

 L’une des caractéristiques les plus importantes de Pentium tient à ses trois pipelines
d’exécution : l’un pour les instructions flottantes et deux autres indépendants, dits U et V,

34
pour les instructions entières. Cette architecture, permet d’exécuter plus d’une instruction
à la fois ;

 Son troisième pipeline d’exécution, le FPU traite les instructions flottantes en huit étages
de pipeline. Trois des opérations flottantes les plus fréquentes (addition, multiplication et
division) sont câblées pour réduire encore le temps d’exécution, c’est-à-dire qu’elles sont
traitées par un circuit spécialisé et non pas par microcodage ;

 Le Pentium possède deux caches internes de 8 Ko, l’un pour les données, l’autre pour les
codes. Le cache code permet des transferts plus efficaces vers l’unité de pré-extraction, à
travers un bus interne de 256 bits de large. Le cache données est relié à chacun de
pipelines d’exécution et peut opérer en écriture différé (write-back) pour faciliter les
applications en multitraitement ;

 La taille de bus externe de données a été portée à 64 bits, ce qui double la quantité de
données pouvant être transférée durant chaque cycle de bus ;

 Par tradition, la taille de page mémoire est à 4 Ko, mais pour réduire les transferts, le
Pentium permet d’opter pour une valeur de page mémoire de 4 Mo ;

 L’usage de branchements prédictifs dynamiques : Le pipeline d’exécution augmente le


débit du processeur, mais les branchements réduisent cette efficacité.

Dans le cas d’un branchement, le programme ne se poursuit pas par l’instruction suivante
mais par une toute autre instruction située dans une autre zone mémoire. En conséquence,
l’instruction suivante déjà pré-chargée dans le pipeline doit être interrompue et le pipeline
doit être alimenté par des nouvelles instructions. Cela ralentie la vitesse de
fonctionnement du processeur, car le branchement provoque la purge du pipeline avant
son chargement par les nouvelles instructions.

Le Pentium résout ce problème en mettant en service un petit cache de 1 Ko appelé « BTB


ou Branch Target Buffer » pour enregistrer les branchements déjà effectués. Lorsque le
processeur rencontre une instruction de branchement, il exploite son adresse pour la
rechercher dans le BTB. Si l’instruction se trouve dans BTB, les instructions de
branchement sont immédiatement exécutées.

 Le Pentium est conçu de façon à simplifier le multitraitement : le cache données


fonctionne selon un protocole MESI (Modified, Exclusive, Shared, Invalid) qui permet à
plusieurs processeurs d’exploiter efficacement le bus d’interconnexion commun ;

35
 Modified – le bloc dans le cache a été modifié par rapport au contenu de la
mémoire. Autrement dit, la donnée dans le cache est valide mais celle de la
position mémoire correspondante est périmée.
 Exclusive – la ligne de cache contient des données identiques à celles de la
mémoire aux mêmes adresses. Aucun autre cache ne dispose des ces mêmes
données.
 Shared – la ligne de cache contient des données identiques à celles de la mémoire
aux mêmes adresses. Au moins un autre cache dispose des mêmes données.
 Invalid – la ligne du cache ne contient pas de données valides.

 Le processeur Pentium réalise une détection d’erreur par vérification de parité à deux
niveaux : sur le bus externe, d’une part, et sur les caches, les tampons et la ROM
microcode d’autre part.

 Le Pentium est présenté dans différents types de boîtier selon la tension d’alimentation :
Version 5V (PGA) – de 273 contacts organisés en matrice de 21 par 21. Il mesure environ
55 mm par côté ; Version 3.3 (PGA) – de 296 contacts décalés en matrice de 21 par 21.

 Le Pentium est conçu en utilisant la technologie BICMOS : bipolaire pour la puissance et


la capacité, CMOS pour la faible consommation et le degré d’intégration.

Depuis son lancement en mars 1993, INTEL n’a cessé de faire évoluer son processeur
Pentium. En 6 ans, sa fréquence initiale de 60 Mhz a été devenue 500 Mhz sur la troisième
génération, le PIII. Actuellement, la quatrième génération (le PIV) fonctionne en fréquence
plus de 2 Ghz.

Outre sa vitesse de fonctionnement, le processeur a connu de multiples évolutions :


 Ajout des instructions MMX (SIMD, SSE, SSE2) pour les applications
multimédias ;
 Augmentation de la taille de la mémoire cache et intégration de la mémoire cache
L2 ;
 Amélioration du bus système tant qu’au niveau architecture (Dual Independant
Bus) qu’au niveau fréquence (33  533 Mhz et plus).
E TABLEAU RÉCAPITULATIF SUR L’ARCHITECTURE INTEL

36
MICROPROCESSEUR 80286 80386 DX 80386 SX 80486 DX 80486 SX
Date d’introduction 1981 1985 1988 1989
Fréquence d’horloge (Mhz) 16, 20, 25, 25,33,50,66,75,10 50
33 0
MIPS 1,5 5 27
Nombre de transistors 134 000 275 000 1,2 M
Taille de registres 16 32 32 32 32
Bus de données 16 32 16 32 32
Bus d’adresse 24 32 24 32 32
Mémoire cache interne - - - 8 ko 8 ko
FPU intégré non non non oui non

Date Fréquence Cach Cach Bus Transist Gravur Pin


d’introd (MHZ) e L1 e ext. (millions e coun
° (Ko) L2 (Mhz ) (micron t
(Ko) ) )
Pentiu 22/03/9 60, 66 16 0 30, 3,1 0,8 273
m 60, 3 33
66
Pentiu 10/10/9 75 16 0 30, 3,2 0,6 296
m 75 4 33
Pentiu 07/03/9 90, 100 16 0 50 3,2 0,6 296
m 90, 4
100
Pentiu 27/03/9 120 16 0 60 3,2 0,35 296
m 120 5
Pentiu 01/06/9 133 16 0 66 3,3 0,35 296
m 133 5
Pentiu 04/01/9 150, 166 16 0 66 3,3 0,35 296
m 150, 6
166
Pentiu 10/06/9 200 16 0 66 3,3 0,35 296

37
m 200 6
Pentiu ..../ 166,200,233 32 0 66 4,5 0,35 296
m 01/97
MMX
Pentiu 01/11/9 150,166,180,20 16 0 66 5,5 0,35 387
m PRO 5 0
Pentiu 01/11/9 150,166,180,20 16 256 66 15,5 0,6 387
m PRO 5 0
Pentiu 01/11/9 150,166,180,20 16 512 66 31 0,35 387
m PRO 5 0
Pentiu 18/08/9 200 16 1 Mo 66 5,5 0,35 387
m PRO 7
Pentiu 07/05/9 233,266,300 32 512 à 66 7,5 0,35 242
m II 7 ½ vit
Pentiu 26/01/9 333 32 512 à 66 7,5 0,25 242
m II 8 ½ vit
Pentiu 15/0498 350,400 32 512 à 100 7,5 0,25 242
m II ½ vit
Pentiu 24/08/9 450 32 512 à 100 7,5 0,25 242
m II 8 ½ vit
Celeron …/04/98 266,300 32 0 66 7,5 0,25 242
Celeron …/08/98 300,333 32 128 66 19 0,25 242
Celeron 04/01/9 366,400 32 128 66 19 0,25 242
9
Pentiu …/06/98 400,450 32 512, 100 7,5 0,25
m II 1Mo
Xéon
Pentiu 05/01/9 450 32 512 - 100 7,5 0,25
m II 9 2Mo
Xéon

38
Pentiu 26/02/9 450 - 600 32 512 à 100 7,5 0,25 370
m III 9 ½ vit
Pentiu 533 - 600 32 512 à 133 0,25
m III B ½ vit
Pentiu 500 – 1 Ghz 32 256 100 0,18 370
m III E
Pentiu 533 – 1,13 Ghz 32 256 133 0,18 370
m III EB
Celeron 533 - 700 32 128 66 0,18 370
Celeron 800 – 1,1 Ghz 32 128 100 0,18 370
Celeron 1 – 1,4 Ghz 32 256 100 0,13 370
Pentiu 1,13 – 1,2 Ghz 32 256 133 0,13 370
m III
Pentiu 1,13 – 1,4 Ghz 32 256 133 0,13 370
m III S
Pentiu 500 - 550 32 512 - 100 0,25
m III 2Mo
Xeon
Pentiu 700 - 900 32 512 - 100 0,25
m III 2Mo
Xeon
Pentiu 600 – 1 Ghz 32 512 - 100 0,25
m III 2Mo
Xeon
Pentiu 1,4 – 1,7 Ghz 256 400 0,18 423
m4
Pentiu 1,6 – 2,4 Ghz 512 400 0,13 478
m4A
Pentiu 2,26 – 2,4 Ghz 512 533 0,13 478
m4B
Pentiu 1,4 – 2 Ghz 256 400 0,18 603
m4

39
Xeon
Pentiu 1,8 – 2,2 Ghz 256 400 0,13 603
m4
Xeon

40
CHAPITRE 4 LES MEMOIRES

A. Les Caractéristiques principales

La mémoire est un dispositif capable de stocker temporairement ou définitivement des


informations. Il existe deux grands types de mémoire dans un système informatique :

 Les mémoires de composant électronique : la mémoire morte (support du BIOS) et la


mémoire vive (mémoire centrale et mémoire cache, dédiées au stockage temporaire des
données et à leur manipulation) ;
 Les mémoires de masse ou mémoires auxiliaires de composition mécanique, magnétique
et optique (bandes magnétiques, disques magnétiques et disques optiques). Ce sont les
mémoires de sauvegarde des informations (logiciels, programmes, données).

Les principales caractéristiques d'une mémoire sont les suivantes :

 La capacité, représentant le volume global d'informations (en bits) que la mémoire peut
stocker ;
 Le temps d'accès, correspondant à l'intervalle de temps entre la demande de
lecture/écriture et la disponibilité de la donnée ;
 Le temps de cycle, représentant l'intervalle de temps minimum entre deux accès
successifs ;
 Le débit (ou taux de transfert), définissant le volume d'information échangé par unité de
temps, exprimé en bits par seconde ;
 La non volatilité caractérisant l'aptitude d'une mémoire à conserver les données
lorsqu'elle n'est plus alimentée électriquement.

A partir des deux premières caractéristiques, nous pourrons établir la comparaison suivante :

Registre Mém. Cache Mém. Cache Mem. Mém. de


L1 L2 centrale masse
Capacité 32, 64 16, 32 Ko 256 ko – 2 256 Mo - 2 Plusieurs Go
bits Mo Go

41
Temps 1 ns 1 ns 5 ns 10 ns 5 ms
d’accès

B. Les mémoires vives dynamiques et la mémoire centrale

Les mémoires vives sont des mémoires pouvant être lues ou écrites à volonté. Elles sont plus
connues sous le terme générique de RAM qui signifie « Random Access Memory – mémoire
à accès aléatoire ». Elles ont de temps d’accès assez petit (rapide) et ne consomment que peu
d’énergie. Elles sont volatiles, la moindre coupure de courant faisant disparaître l’information.
Les mémoires vives servent, dans un ordinateur, de mémoire de travail du microprocesseur.
On peut les classer généralement en deux catégories : la mémoire statique (SRAM) et la
mémoire dynamique (DRAM).

Dans la DRAM, la cellule de base est constituée par un transistor MOS, couplé à un
condensateur. Elle est périodiquement « rafraîchie » par une relecture et réécriture afin de
conserver les informations et pour pallier les fuites de courant des transistors qui ont tendance
à se décharger. Elle est alors assez lente par rapport à la mémoire SRAM.

Ce type de mémoire est cependant très couramment utilisé du fait d’une plus grande capacité
d’intégration. Elle constitue la « mémoire centrale » d’un ordinateur et se présente
généralement sous forme de barrettes de mémoire enfichables sur la carte-mère. On distingue
habituellement trois types de barrettes de RAM.
Les barrettes au format SIMM (Single Inline Memory Module). Il existe deux types de
barrettes SIMM, selon le nombre de connecteurs : SIMM à 30 connecteurs (dont les
dimensions sont 89x13mm) sont des mémoires 8 bits qui équipaient les premières générations
de PC (8086, 80286, 80386) ; SIMM à 72 connecteurs (dont les dimensions sont 108x25mm)
sont des mémoires capables de gérer 32 bits de données simultanément

Les barrettes au format DIMM (Dual Inline Memory Module) à 168 broches (130x25mm)
sont des mémoires 64 bits pour la SDRAM (Synchronous DRAM).. La SDRAM permet
d’éviter les états d’attente (waits states) dus à la synchronisation avec la carte-mère. Il existe
en outre des modules de plus petite taille, appelés SO DIMM (Small Outline DIMM), destinés
aux ordinateurs portables. Les barrettes SO DIMM comportent uniquement 144 broches pour
les mémoires 64 bits et 77 pour les mémoires 32 bits.

42
Les barrettes au format RIMM (Rambus Inline Memory Module, appelées également RD-
RAM ou DRD-RAM) sont des mémoires 64 bits développée par la société Rambus. Elles
possèdent 184 broches. Comme dans le cas des DIMM, il existe des modules de plus petite
taille, appelés SO RIMM (Small Outline RIMM), destinés aux ordinateurs portables. Les
barrettes SO RIMM comportent uniquement 160 broches.

Les différentes versions de SDRAM

La DR-SDRAM (Direct Rambus DRAM ou encore RDRAM) est un type de mémoire


permettant de transférer les données sur un bus de 16 bits de largeur à une cadence de
800Mhz, ce qui lui confère une bande passante de 1,6 Go/s. Comme la SDRAM, ce type de
mémoire est synchronisé avec l'horloge du bus pour améliorer les échanges de données. En
contrepartie, la mémoire RAMBUS est une technologie propriétaire, ce qui signifie que toute
entreprise désirant construire des barrettes de RAM selon cette technologie doit reverser des
droits (royalties) aux sociétés RAMBUS et Intel.

La DDR-SDRAM (Double Data Rate SDRAM) est une mémoire basée sur la technologie
SDRAM, permettant de doubler le taux de transfert de la SDRAM à fréquence égale.

La lecture ou l'écriture de données en mémoire est réalisé sur la base d'une horloge. Les
mémoires DRAM standard utilisent une méthode appelée SDR (Single Data Rate) consistant
à lire ou à écrire une donnée à chaque front montant. La DDR permet de doubler la fréquence
des lectures/écritures, avec une horloge cadencée à la même fréquence, en envoyant les
données à chaque front montant, ainsi qu'à chaque front descendant.

La DDR2-SDRAM (ou DDR-II) permet d'atteindre des débits deux fois plus élevés que la
DDR à fréquence externe égale. On parle de QDR (Quadruple Data Rate ou quad-pumped)
pour désigner la méthode de lecture et d'écriture utilisée. La mémoire DDR2 utilise en effet
deux canaux séparés pour la lecture et pour l'écriture, si bien qu'elle est capable d'envoyer ou
de recevoir deux fois plus de données que la DDR. La DDR2 possède également un plus
grand nombre de connecteurs que la DDR classique (240 pour la DDR2 contre 184 pour la
DDR).

Tableau récapitulatif des mémoires DDR

43
Mémoire Appellation Fréquence (RAM) Fréquence (FSB) Débit
DDR200 PC1600 200 MHz 100 MHz 1,6 Go/s
DDR266 PC2100 266 MHz 133 MHz 2,1 Go/s
DDR333 PC2700 333 MHz 166 MHz 2,7 Go/s
DDR400 PC3200 400 MHz 200 MHz 3,2 Go/s
DDR433 PC3500 433 MHz 217 MHz 3,5 Go/s
DDR466 PC3700 466 MHz 233 MHz 3,7 Go/s
DDR500 PC4000 500 MHz 250 MHz 4 Go/s
DDR533 PC4200 533 MHz 266 MHz 4,2 Go/s
DDR538 PC4300 538 MHz 269 MHz 4,3 Go/s
DDR550 PC4400 550 MHz 275 MHz 4,4 Go/s
DDR2-400 PC2-3200 400 MHz 100 MHz 3,2 Go/s
DDR2-533 PC2-4300 533 MHz 133 MHz 4,3 Go/s
DDR2-667 PC2-5300 667 MHz 167 MHz 5,3 Go/s
DDR2-675 PC2-5400 675 MHz 172,5 MHz 5,4 Go/s
DDR2-800 PC2-6400 800 MHz 200 MHz 6,4 Go/s

C. Les mémoires vives statiques et la mémoire cache

Dans la SRAM, la cellule de base est constituée par une bascule de transistors. Ce type de
mémoire est très rapide mais très chère car on a des difficultés pour atteindre une bonne
intégration. On l’utilise surtout comme « mémoire cache ».

Le cache mémoire, située entre la mémoire centrale et le microprocesseur, utilise une


mémoire SRAM de petite taille, pour tourner à la vitesse du microprocesseur. Il stocke, en
effet, une petite partie de données et/ou des instructions se trouvant dans la mémoire centrale.
Quand le microprocesseur veut effectuer une lecture, il cherche d'abord les informations dans
la mémoire cache. Ce processus est illustré par le schéma suivant :

Succès du cache
donnée MEMOIRE MEMOIRE
s CACHE CENTRALE
PROCESSEU adress
SRAM DRAM
R e Contrôleur de Contrôleur de DRAM
SRAM
Echec du cache
Le contrôleur du cache gère un répertoire des adresses des données contenues dans le cache.

44

données
CACHE CENTRALE
PROCESSEU adress adress DRAM
SRAM Contrôleur de DRAM
R e Contrôleur de e
SRAM

Ces adresses sont appelées « repères ». L’adresse indiquée par le microprocesseur est
comparée avec les repères et si elle ne se trouve pas parmi eux, il y a « échec du cache ». Le
contrôleur de cache transmet alors le cycle au contrôleur de DRAM.

Une fois que le contrôleur de cache a saisi les données dans la mémoire centrale, celles-ci sont
transmises au microprocesseur, mais aussi copiées dans le cache. Le répertoire des repères est
mis à jour et le processus se répète, ce qui remplit le cache.

La mise à jour des informations dans le cache est gérée par un algorithme appelé « LRU –
Least Recently Used » qui garde trace des lignes les plus récemment utilisées. Pour éviter que
le cache ne se remplisse de données devenues inutiles, le contrôleur de cache utilise un circuit
et des bits spéciaux pour savoir quand les données ont été utilisées pour la dernière fois. Les
plus anciennes sont alors remplacées par les nouvelles données par le microprocesseur.
Les informations lues en mémoire centrale sont chargées dans le cache selon plusieurs
stratégies. On peut aussi utiliser le cache en écriture :
Write-back
Au lieu d’enregistrer les données en mémoire centrale, le processeur les expédie dans le
cache, bien plus rapide. Dès lors :
 Le cache peut les transférer dans la mémoire centrale à intervalles réguliers ;
 Ou bien il les transfère en mémoire centrale après qu’il en ait accumulé une certaine
quantité ;
 Ou encore il profite de la disponibilité des bus pour exécuter ce transfert. Cela signifie
que, dans tout les cas, il se trouve une période critique pendant laquelle la mémoire
centrale n’est pas à jour.
Write-through
Les informations sont bien émises vers le cache mais celui-ci se comporte comme une
passoire et les laisse directement filer en mémoire centrale. C’est ce qu’on appelle un cache
transparent en écriture ou bien encore en lecture seulement.

D. Les mémoires mortes et le BIOS

45
Les mémoires mortes sont des mémoires qui ne peuvent être que lues. Elles sont non volatiles
et généralement sous le terme de ROM (Read Only Memory ou mémoire à lecture seule). Les
informations stockées dans ce type de mémoire sont enregistrées de façon définitive lors de sa
fabrication par le constructeur. Mais quelques versions de ROM acceptent une écriture :
 Le PROM (Programmable ROM). L’écriture est faite par l’utilisateur au moyen d’une
machine appelée « programmateur de PROM »
 Le EPROM (Erasable PROM). Cette mémoire peut être effacée à l’aide d’un tube à
rayons ultraviolets. C’est pourquoi, les EPROM se distinguent des autres par la présence
sur leur face supérieure d’une petite fenêtre de quartz, souvent obturée par un adhésif de
manière à ne pas être exposée aux ultraviolets naturels (soleil …)
 Le EEPROM (Electricaly EPROM). Les EPROM présentent l’inconvénient de nécessiter
une source d’ultraviolets pour être effacées, ce qui oblige donc de les enlever de leur
support. Les constructeurs ont développé des EEPROM effaçables électriquement, octet
par octet, que l’on trouve aussi sous l’appellation d’EAROM (Electricaly Alterable
ROM).
 La mémoire FLASH qui présente des caractéristiques intéressantes de non volatilité et de
rapidité. Elle est effaçable et programmable électriquement par blocs de 64 Ko et peut être
programmée en un temps relativement court, d’où leur appellation. Elle ne nécessite qu’un
transistor par point mémoire, contre deux aux EEPROM classiques, ce qui permet d’en
augmenter la capacité.

A chaque allumage de l’ordinateur, le microprocesseur doit exécuter un certain nombre de


routines préalables permettant de tester, d’initialiser les composants de système et de charger
en mémoire vive le système d’exploitation. L’ensemble de ces routines est appelé BIOS
(Basic Input Output System). Il permet d’accéder aux composants matériels comme : la
mémoire vive, les interfaces série et parallèle, l’horloge CMOS, la carte vidéo, les disques
durs, les disquettes, le clavier …

Le BIOS est spécifique de la carte mère car il contient des informations sur le matériel (propre
à cette carte). Il réside sur mémoire morte de type EPROM ou FLASH. De nombreux
systèmes copient automatiquement le BIOS dans une mémoire RAM appelée « CMOS
RAM » parce que les mémoires ROM sont plus lentes que les mémoires vives. Cette
procédure de transfert est appelée « shadow RAM ». Tous les appels en ROM sont alors

46
redirigés par translation d’adresse en RAM où sont relogées les routines du BIOS.
L’exécution est alors plus rapide.

Au démarrage de l’ordinateur, une partie du BIOS appelée autotest de démarrage ou POST


(Power On Self Test) est activée. Ce petit programme est le premier ensemble de routines qui
demande au microprocesseur d’initialiser la mémoire ainsi que le reste du système. Les
composants du système sont inventoriés et testés, en cas de défaillance, plusieurs bips codés
sont émis avant l’initialisation de la vidéo. Le microprocesseur installe également en mémoire
la table des vecteurs d’interruption, et initialise les adresses des routines d’interruption. La
dernière partie du BIOS est le chargeur de système d’exploitation (bootstrap loader). Cette
petite routine cherche un système d’exploitation dans une position bien définie de la disquette
ou du disque dur. Si un enregistrement de démarrage (boot record) est trouvé dans le premier
secteur du disque système, il est chargé en mémoire et prend le contrôle.

Les nouveaux BIOS sont dotés de fonctions évoluées (économie d’énergie, paramétrage des
bus PCI, EISA, PCMCIA). Ils supportent la norme EIDE permettant la connexion de quatre
périphériques. Certains BIOS détectent la présence de virus sur le secteur boot. Cette
solution présente l’avantage de détecter un virus dès le démarrage du système.

E. Les cartes mémoire à partir des mémoires flash

La mémoire flash est une mémoire à semi-conducteurs, non volatile et réinscriptible, c'est-à-
dire une mémoire possédant les caractéristiques d'une mémoire vive mais dont les données ne
se volatilisent pas lors d'une mise hors tension. Ainsi la mémoire flash stocke les bits de
données dans des cellules de mémoire, mais les données sont conservées en mémoire lorsque
l'alimentation électrique est coupée.

En raison de sa vitesse élevée, de sa durabilité et de sa faible consommation, la mémoire flash


est idéale pour de nombreuses applications - comme les appareils photos numériques, les
téléphones cellulaires, les imprimantes, les assistants personnels (PDA), les ordinateurs
portables, ou les dispositifs de lecture ou d'enregistrement sonore tels que les baladeurs mp3.
De plus ce type de mémoire ne possède pas d'éléments mécaniques, ce qui leur confère une
grande résistance aux chocs.

47
Il existe un grand nombre de formats de cartes mémoires non compatibles entre eux, portés
par presque autant de constructeurs. Parmi ces formats de cartes mémoire les plus courants
sont :

 Les cartes Compact Flash


 Les cartes Secure Digital (appelées SD Card)
 Les cartes Memory Stick
 Les cartes SmartMedia
 Les cartes MMC (MultimediaCard)
 Les cartes xD picture card

Tableau comparatif
Compact Memory
  MMC Secure Digital SmartMedia xD Picture
Flash Stick
Matsushita /
Sony / Siemens / Olympus /
Constructeurs SanDisk Toshiba / Toshiba
SanDisk SanDisk Fuji
SanDisk
Dimensions
42.8x36.4x3.3 21.5x50x2.8 24x32x1.4 24x32x2.1 37x45x0.76 20x25x1.7
(mm)
Taux de
6 Mbps 15 Mbps 2.5 Mbps 10 Mbps 2 Mbps 5 Mbps
transfert
Nb
50 10 7 7 22 18
connecteurs

Il est à noter l'existence de lecteurs de cartes mémoire multi-formats pouvant être connectés la
plupart du temps sur un port USB.
CHAPITRE 5 LES INTERFACES D’ENTREE/SORTIE

A. INTERFACE SERIE

L'ordinateur doit communiquer avec le monde extérieur au moyen d'organes périphériques


tels les terminaux, les imprimantes, les modems, les tables traçantes, etc. A cette fin, diverses

48
interfaces de communication sont disponibles suivant l'application envisagée. Elles se divisent
en deux catégories : interfaces série et parallèle.

A.1 – Mode de transmission

La communication série est très employée pour communiquer avec les terminaux, les
modems, et certaines imprimantes. On transmet un code (par exemple ASCII) sur un seul fil.
C'est-à-dire, chaque bit est émis l'un après l'autre sur le fil de la liaison série. Ce fil est une
ligne qui peut être exploitée en :

 SIMPLEX : transmission de données dans un seul sens (unidirectionnelle) ;


 HALF-DUPLEX : transmission de données dans les deux sens mais non simultanément ;
 FULL-DUPLEX : Transmission de données simultanément dans les deux sens.
Conceptuellement, une ligne de transmission full-duplex est équivalente à deux lignes
simplex, une dans chaque sens.

TRANSMISSION ASYNCHRONE

Chaque caractère est transmis de façon irrégulière sur la ligne. L'intervalle de temps entre
deux caractères est quelconque, alors le périphérique doit être capable de distinguer les
caractères (un caractère a une longueur de 8 bits) parmi la suite de bits qui lui est envoyée.
L'exemple type de ce mode de transmission est la frappe au clavier. Cette variation de vitesse
pose un problème : comment le récepteur peut-il reconnaître le premier bit d'un caractère ?

Pour y remédier, chaque caractère comprend :

 1 bit de départ (START BIT) marquant le début d'un caractère. Normalement, au repos,
la ligne de transmission est à l'état binaire 1 (état bas), de sorte que le start bit est à l'état
binaire 0 (état haut)
 7 bits de code du caractère. Un temporisateur est activé dans le récepteur au moment de
l'arrivée de start bit, lui permettant d'échantillonner les bits du caractère ;
 1 bit de parité servant à vérifier que le mot reçu est correct et sans erreur ;
 1 ou 2 STOP BITS marquant la fin d'un caractère. Les stop bits sont donc des niveaux
bas (état binaire 1) pour permettre de les distinguer du start bit.
49
Exemples LSB MSB
0 1 0 1 1 0 0 1 0 1 1
start bit stop bit
de
bit 7 bits du code parit
é

1. Ce chronogramme montre la transmission de caractère M (ASCII $4D) respectant la


logique négative de l'interface, utilisant le contrôle de parité paire et 7 bits de code et 2
stop bits.
2. Transmission de caractère m (ASCII $6D), logique négative, contrôle de parité impaire, 7
bits de code et un bit stop : 0 1011011 0 1
3. Transmission du caractère A (ASCII $41), logique négative, contrôle de parité impaire, 7
bits de code et 2 bits stop : 0 1 0 0 0 0 0 1 1 11.
Remarques
 L'émetteur et le récepteur doivent obligatoirement convenir, avant toute liaison, de la
vitesse de transmission et de la structure exacte du mot de caractère ;
 Les vitesses de transfert les plus courantes pour la transmission asynchrone sont 110,
300, 600, 1200, 2400, 4800, 9600, 19200 bits/s (bps ou bauds) et plus.

TRANSMISSION SYNCHRONE

Les caractères d'un bloc de données sont transmis sans discontinuité du premier au dernier. La
communication est plus rapide parce qu'on n’a pas besoin de transmettre de start bit ou de
stop bits. Quand il n'y a pas de caractères à transmettre, l'émetteur continue d'envoyer des
caractères spéciaux (habituellement SYN, ASCII $16), pour maintenir la synchronisation avec
le récepteur.

A.2 – Circuits d'interface série

LA CARTE RS-232C
L'interface de communication RS-232C est l'un des plus couramment utilisés en micro-
informatique. Ce standard a été défini par la EIA (Electronic Industries Association). Le
50
cerveau d'une carte RS-232C est constitué par un circuit appelé UART (Universal
Asynchronous Receiver-Transmitter, ex : 8250 d’INTEL) dans le cas de la transmission
asynchrone, et un circuit USART (Universal Synchronous Asynchronous Receiver-
Transmitter, ex. : 8251 d’INTEL) dans le cas des circuits capables de travailler dans les deux
modes. Ces circuits permettent les conversions parallèle-série et série-parallèle des données.

L'interface RS-232C, initialement conçu pour la connexion


d'un terminal à un modem, utilise un connecteur standard
DB-9 ou un connecteur à 25 broches DB-25 illustré ci-
contre. La EIA définit 20 signaux, mais en général on n'en
utilise que 9 entre un terminal et un modem :

MODEM TERMINAL

1 1 GND
2 2(3) TxD Transmitted Data
3 3(2) RxD Received Data
4 4(7) RTS Request To Send
5 5(8) CTS Clear To Send
6 6(6) DSR Data Set Ready
7 7(5) GND
8 8(1) DCD Data Carrier Detect
20 20 ( 4 ) DTR Data Terminal Ready
22 22 ( 9 ) RI
Les numéros entourés des parenthèses correspondent à l’utilisation de connecteur DB-9. Pour
les données, le standard définit un 1 logique comme une tension comprise entre - 3 V et - 13
V, et un 0 logique comme une tension comprise entre + 3 et + 15 V. Tandis que, les signaux
de poigné de main sont actifs quand ils sont positifs.

L'interface RS-232C est limitée à des longueurs de câble de 15 m et à des vitesses de transfert
inférieures à 20 Kbits/s entre le modem et le terminal ou ordinateur et l'imprimante.

MODEM (MOdulateur - DEModulateur)


Lorsque l'ordinateur et le terminal sont éloignés l'un de l'autre, il est fréquent qu'on utilise un
réseau de communication, comme la ligne téléphonique, pour les relier. Comme le réseau

51
téléphonique est incapable de transmettre les signaux numériques de l'interface RS-232C, il
est nécessaire d'insérer un équipement d'adaptation, un MODEM entre le terminal et le réseau
et, à l'autre extrémité, entre le réseau et l'ordinateur.
Le modem est un appareil qui sert à transmettre des signaux série par ligne téléphonique ou
par câble sur de longues distances (plus de 15 m). Il permet de convertir les signaux
numériques d’un ordinateur en signaux acoustiques qui puissent être transmis par la ligne
téléphonique. Les lignes téléphoniques sont en général bruyantes, et il ne serait pas possible
de transmettre le signal série tel quel. On utilise donc un modem qui module le signal à la
transmission et le démodule à la réception pour redonner un signal binaire.

La modulation consiste à transmettre une onde porteuse (carrier) dont une propriété est
modifiée par le signal à transmettre. Une telle propriété peut être l'amplitude, la fréquence ou
la phase de l'onde (signal sinusoïdal). Pour la transmission des données numériques, on utilise
souvent une version de la modulation de fréquence appelée modulation par glissement de
fréquence ou FSK (Frequency Shift Keying).

Exemple :

A.3 – Protocole de communication série

D’une part, la transmission de données ne peut cependant fonctionner qu’à condition que les
différents paramètres, variables de ce protocole soient connus aussi bien de l’émetteur que du
récepteur. Parmi ces paramètres figure la vitesse de transmission, exprimée en bauds ou bits
par seconde.

D’autre part, la communication des données exige non seulement un certain matériel mais
aussi un logiciel approprié de gestion de la carte RS-232C. Ce logiciel est fourni par le BIOS
sous forme de quatre fonctions appelées à travers l'interruption 14H :
 Fonction 0 : Réglage du protocole indiquant la vitesse de transmission, la longueur des
données, le nombre de stop bit et la nature du test de parit.
 Fonction 1 : Le caractère à transmettre
 Fonction 2 : Réception du caractère
 Fonction 3 : Etat de la ligne et du modem
52
Le protocole XON / XOFF
Supposons qu'un ordinateur transmet des caractères à une imprimante. Si la vitesse de
transfert est plus grande que la vitesse d'impression de l'imprimante, le texte risque d'être
incomplet. Alors, l’imprimante a une mémoire tampon ou buffer qui lui permet d'accumuler
un certain nombre de caractères en attendant qu'ils soient imprimés.

Quand le buffer est plein, l'imprimante envoie XOFF (DC3 ou ASCII 13H) à l’ordinateur.
L'ordinateur cesse alors de transmettre jusqu'à ce qu'il reçoive un XON (DC1 ou ASCII 11H),
que l'imprimante transmet quand son buffer est presque vide.

Le protocole ETX - ACK


Dans ce protocole, le buffer d'émission doit être plus petit que le buffer de réception.
L'émetteur envoie un bloc entier de données, avec un caractère spécial marquant la fin du bloc
(ETX - End of Text ou ASCII 03H). L'émetteur arrête ensuite la transmission de caractères.

De son côté, le récepteur exploite les données à sa propre vitesse. Quand il arrive au caractère
ETX, il retourne à l'émetteur le caractère ACK (Acknowledge ou ASCII 06H) pour lui
indiquer qu'il est prêt à accepter un autre bloc de données.

B. Interface parallèle

L’interface parallèle est plus rapide que l’interface série, puisqu’avec 8 fils on envoie un octet
simultanément. De nombreux périphériques utilisent des interfaces parallèles utilisant le
même connecteur DB-25 que l’interface série RS-232C, mais avec des brochages différents.

Standard CENTRONICS

Ce standard est souvent utilisé pour les imprimantes. Il définit la répartition des signaux sur
les différentes broches et comment les broches doivent être reliées. Il porte à la fois sur les
connecteurs d’interface et les câbles de liaison : 36 broches du côté de l’imprimante et 25
broches (DB-25) du côté de l’ordinateur. Cette liaison se résume dans le tableau suivant :

53
Les communications parallèles de ce type sont souvent gérées au moyen de circuits
d’interface appelés PIA (Peripheral Interface Adapter), par exemple le 8255 d’INTEL.

C. INTERFACES DES DISQUES

Le rôle de l’interface de disque (contrôleur de disque) est de gérer les échanges de données et
leur encodage entre le disque et le système. Les interfaces les plus utilisées sont les EIDE et
SCSI.

C.1 – Les interfaces ATA/IDE


(Advanced Technology Attachment/ Intergrated Drive Electronics)

54
Le standard ATA est une interface permettant la connexion de périphériques de stockage sur
les ordinateurs de type PC. Il a été mis au point le 12 mai 1994 par l'ANSI. Il est plus connu
sous le terme commercial IDE.

L’interface IDE ne permettait de supporter que 2 disques durs. La connexion est réalisée par
un câble à 40 broches. Ce contrôleur permet de gérer des disques de 20 à 200 Mo. Le débit
initial de 4 Mo/s est dépassé par les évolutions du bus.

L’évolution du bus a donné le bus EIDE (Enhanced IDE) ou Fast IDE qui permet des débits
de 16,5 Mo/s. Le standard ATA est originalement prévu pour connecter des disques durs,
toutefois une extension nommée ATAPI (ATA Packet Interface) a été développée afin de
pouvoir interfacer d'autres périphériques de stockage (lecteurs de CD-ROM, lecteurs de
DVD-ROM, etc) sur une interface ATA.
L’interface EIDE est actuellement le bus le plus généralisé sur les PC standards. Les cartes
mères Pentium disposent en standard de deux contrôleurs EIDE. Son principal défaut est de
ne pas pouvoir contrôler des disques externes. La limite au niveau capacité de disque impose
également les constructeurs à utiliser d’autres interfaces.

Tableau récapitulatif de l’évolution du standard ATA :

Mode Débit
Nom Synonyme Commentaires
(PIO/DMA) (Mo/s)
ATA-1 IDE PIO mode 0 3,3  
ANSI X3.221-1994 PIO mode 1 5,2
PIO mode 2 8,3
DMA mode 0 8,3
ATA-2 EIDE, PIO mode 3 11,1 LBA 28 bits
ANSI X3.279-1996 Fast ATA, PIO mode 4 16,7
Fast ATA-2 DMA mode 1 13,3
DMA mode 2 16,7
ATA-3   PIO mode 3 11,1 SMART, LBA 28 bits
ANSI X3.298-1997 PIO mode 4 16,7
DMA mode 1 13,3

55
DMA mode 2 16,7
ATA-4/ATAPI-4 UATA/33, UDMA mode 0 16,7 Ultra DMA 33 et support des
ANSI NCITS 317-1998 UDMA 33 UDMA mode 1 25,0 CD-ROM (ATAPI)
UDMA mode 2 33,3
ATA-5/ATAPI-5 UATA/66, UDMA mode 3 44,4 Ultra DMA 66, utilisation d'un
ANSI NCITS 340-2000 UDMA 66 UDMA mode 4 66,7 câble de 80 broches
ATA-6/ATAPI-6 UATA/100, UDMA mode 5 100 Ultra DMA 100, LBA48 et
ANSI NCITS 347-2001 UDMA 100 norme AAC (Automatic
Acoustic Management)
ATA-7/ATAPI-7 UATA/133, UDMA mode 6 133 Ultra DMA 133
ANSI NCITS 361-2002 UDMA 133

C.2 – Les interfaces SCSI (Small Computer System Interface)

Le contrôleur de disque dur placé sur une carte d’interface SCSI peut gérer jusqu’à 7
périphériques (15 pour Wide SCSI) dont des lecteurs de CD-Rom, des imprimantes, des
scanners, ect.. Il suffit de chaîner les périphériques puisque les connexions se font en
parallèle. Sa vitesse de transfert est de l’ordre de 4 à 40 Mo/s selon la largeur de bus et le
standard employé (SCSI-1, SCSI-2, SCSI-3, Fast Wide SCSI, Ultra SCSI).

DISQUE DISQUE STREAMER


DUR OPTIQUE Bouchon de
terminaison
UNITE
CENTRALE
SCANNER IMPRIMANTE

Le standard SCSI définit bien plus qu’un disque et un contrôleur de disque. C’est aussi un bus
qui peut connecter 7 jusqu’à 31 équipements. Un équipement SCSI dispose d’un numéro
d’identification (ID) de 1 à 7 (à 15 pour le Wide SCSI). Il dispose de deux connecteurs, l’un
de type « entrée », l’autre de type « sortie ». Les équipements sont raccordés en série sur le
bus SCSI (figure ci-dessus).

56
Le dernier équipement sur cette chaîne doit être muni d’un bouchon spécial, qui a une
impédance caractéristique de terminaison de ligne, pour éviter que des interférences (réflexion
des signaux) apparaissent sur le bus.

Le contrôleur SCSI est intelligent (bus master) pouvant fonctionner en autonome (transfert
entre deux unités SCSI sans faire intervenir la mémoire centrale). Il se charge également du
partage du bus en fonction des priorités.

Le tableau suivant récapitule les caractéristiques des différentes normes SCSI :

Largeur
Norme Vitesse du bus Bande passante Connectique
du bus
50 broches
SCSI-1
8 bits 4.77 MHz 5 Mo/sec (bus asymétrique ou
(Fast-5 SCSI)
différentiel)
50 broches
SCSI-2 - Fast-10
8 bits 10 MHz 10 Mo/sec (bus asymétrique ou
SCSI
différentiel)
50 broches
SCSI-2 - Wide 16 bits 10 MHz 20 Mo/sec (bus asymétrique ou
différentiel)
68 broches
SCSI-2 - Fast Wide
32 bits 10 MHz 40 Mo/sec (bus asymétrique ou
32 bits
différentiel)
SCSI-2 - Ultra 50 broches
SCSI-2 8 bits 20 MHz 20 Mo/sec (bus asymétrique ou
(Fast-20 SCSI) différentiel)
SCSI-2 - Ultra
16 bits 20 MHz 40 Mo/sec  
Wide SCSI-2
SCSI-3 - Ultra-2
SCSI 8 bits 40 MHz 40 Mo/sec  
(Fast-40 SCSI)
SCSI-3 - Ultra-2 16 bits 40 MHz 80 Mo/sec 68 broches

57
Wide SCSI (bus différentiel)
SCSI-3 - Ultra-160
68 broches
(Ultra-3 SCSI ou 16 bits 80 MHz 160 Mo/sec
(bus différentiel)
Fast-80 SCSI)
SCSI-3 - Ultra-320
68 broches
(Ultra-4 SCSI ou 16 bits 80 MHz DDR 320 Mo/sec
(bus différentiel)
Fast-160 SCSI)
SCSI-3 - Ultra-640 68 broches
16 bits 80 MHz QDR 640 Mo/sec
(Ultra-5 SCSI) (bus différentiel)

L’interface SCSI reste la solution haut de gamme pour les périphériques et les applications
nécessitant un débit élevé.

C.3 – Les interfaces PCMCIA


(Personal Computer Memory Card International Association)

PCMCIA, mis au point en 1989, est au départ une norme de bus. Ce sont des cartes
d’extension de qui peuvent relier des disques durs externes (ou d’autres périphériques comme
des cartes réseau) à des ordinateurs (notamment portables).

Les périphériques PCMCIA sont au format carte de crédit (54 mm par 85 mm) et possèdent
un connecteur de 68 broches.

Il existe trois types de facteur de forme (form factor) correspondant à trois épaisseurs standard
:

Type Largeur (mm) Longueur (mm) épaisseur (mm)


PC Card Type I 54 85 3.3
PC Card Type II 54 85 5.0
PC Card Type III 54 85 10.5

 Les cartes de type I sont généralement utilisées pour des cartes d'extension de
mémoire.

58
 Les cartes de type II servent habituellement pour des périphériques de communication
(modem, carte réseau, carte réseau sans fil) et de petits disques durs.
 les cartes de type III, beaucoup plus épaisses, sont en général réservées à des
périphériques embarquant des éléments mécaniques (disques dur de grosse capacité).

A partir de 1995 la norme CardBus (parfois appelée PC Card 32-bit) est apparue, permettant
des transferts de données en 32 bits, cadencés à une fréquence de 33 MHz avec une tension de
3V (contre 5.5 pour le PCMCIA).

C.4 – Le bus serial ATA (SATA)

Le standard Serial ATA (S-ATA ou SATA), apparu en février 2003, est un bus standard
permettant la connexion de périphériques de stockage haut débit sur les ordinateurs de type
PC.

Le mode de transmission en parallèle n'est pas prévu pour supporter des fréquences élevées en
raison des problèmes liés aux interférences électromagnétiques entre les différents fils. Le
standard Serial ATA est basé sur une communication en série.

Une voie de données est utilisée pour transmettre les données et une autre voie sert à la
transmission d'accusés de réception. Sur chacune de ces voies les données sont transmises en
utilisant le mode de transmission LVDS (Low Voltage Differential Signaling) consistant à
transférer un signal sur un fil et son opposé sur un second fil afin de permettre au récepteur de
reconstituer le signal par différence.

Les données de contrôle sont transmises sur la même voie que les données en utilisant une
séquence de bits particulière pour les distinguer. Ainsi la communication demande deux voies
de transmission, chacune effectuée via deux fils, soit un total de quatre fils pour la
transmission.

Le Serial ATA permet d'obtenir des débits de l'ordre de 187.5 Mo/s (1,5 Gb/s), or chaque
octet est transmis avec un start bit et un stop bit, soit un débit utile théorique de 150 Mo/s (1,2
Gb/s). Le standard Serial ATA II devrait permettre d'avoisiner les 375 Mo/s (3 Gb/s), soit 300
Mo/s utiles théoriques, puis à terme 750 Mo/s (6 Gb/s), soit 600 Mo/s utiles théoriques.

59
Les câbles Serial ATA peuvent mesurer jusqu'à 1 mètre de long (contre 45 cm pour les nappes
IDE). De plus, le faible nombre de fils dans une gaine ronde permet plus de souplesse et une
meilleure circulation de l'air dans le boîtier qu'avec des nappes IDE (même si des nappes IDE
rondes existent).

Contrairement à la norme ATA, les périphériques Serial ATA sont seuls sur chaque câble et il
n'est plus nécessaire de définir des "périphériques maîtres" et des "périphériques esclaves".
D'autre part, la norme Serial ATA permet le raccordement à chaud des périphériques (Hot
Plug).

D. LES BUS D’EXTENSION

D.1 - Introduction

Un bus est une structure d’interconnexion raccordant plusieurs circuits ou unités d’un
ordinateur. C’est un ensemble de fils ou de pistes de cuivre gravées sur une plaque de circuit
imprimé (carte mère). Des connecteurs régulièrement espacés sont raccordés sur le fils du bus
pour y brancher mécaniquement diverses cartes mémoires ou d’E/S. Chaque carte possède des
détrompeurs permettant une insertion sans erreur dans une connexion.

Un bus peut aussi être associé à une fonction ou à un ensemble de circuits spécifiques. Les
concepteurs de microprocesseurs, pour les bus externes, doivent penser à l’intégration de leur
produit dans des systèmes existants. De ce fait, ils sont contraints de se plier aux règles
précises qui définissent le fonctionnement du bus choisi.

Ces règles spécifient notamment le protocole fonctionnel du bus, mais aussi les
caractéristiques électriques des signaux, les caractéristiques mécaniques des connecteurs, etc.
Un nombre important de bus est ainsi défini et largement utilisé en informatique. Parmi les
plus connus, on peut citer :

 Le bus ISA (Industry Standard Architecture), bus standard du PC AT ;


 Le bus EISA (Extended ISA) basé sur le processeur i80386 ;

60
 Le bus MCA (MicroChanel Architecture), un bus d’IBM de même caractéristique que
EISA ;
 Le bus VLB (VESA Local Bus) ;
 Le bus PCI (Peripheral Component Interconnect), lancé par INTEL ;
 Le bus PCMCIA (Personnal Computer Memory Card International Association) ;
 Le bus USB (Universal Serial Bus) ; Etc

D.2 - Exemples de bus d’extension

D.2.1 Le bus I S A

Le micro-ordinateur PC AT est conçu de telle façon qu’il puisse fonctionner aussi bien avec
des cartes PC de base qu’avec des cartes spécifiques PC AT. Le bus ISA, adapté à ce concept,
se compose d’ :
 une section d’origine XT, sur 8 bits de données et 20 bits d’adresse ;
 une extension 16 bits avec un complément qui permet au bus de disposer de 16 lignes de
données et 24 lignes d’adresse.

La première section reprend les signaux du bus IBM PC XT qui est devenu un standard du
marché des micro-ordinateurs d’avoir accès à un très grand nombre de circuits et cartes
additionnelles quelle que soit leur origine de fabrication. Cette section comprend 62 signaux
définis dans le tableau suivant :

SIGNAL NB SIGNIFICATION
OSC , CLK 2 Signaux d’horloge
SDO-SD7 8 Lignes de données
SAO-SA19 20 Lignes d’adresses
BALE , AEN 2 Activation des signaux d’adresses
SMEMW, SMEMR 2 Ecriture et lecture mémoire
IOW, IOR 2 Ecriture et lecture E/S
IO CH CHK 1 Contrôle d’erreur de parité
IO CH RDY 1 Insertion de cycles d’attente
IRQ2-IRQ7 6 Demandes d’interruption

61
DRQ1-DRQ3 3 Demande de DMA
DACK-DACK3 3 Acquittement d’une demande DMA
T/C 1 Compteur de transfert DMA
RAFRAÏ CHISSEMENT 1 Rafraîchissement des mémoires dynamiques
Alimentation 5 2 x ( +5V ), - 5v , + 12 V , - 12 V
GND 3 Masse
Réservé 1
La section complémentaire comprend 36 lignes ou signaux définis dans le tableau suivant :
SD8-SD15 8 Lignes de données
LA17-LA23 7 Lignes d’adresses
SBHE 1 Autorisation de l’octet fort
MEMW , MEMR 2 Ecriture et lecture mémoire
IRQ10 –IRQ14 5 Demande d’interruption
DRQ0 , DRQ5-DRQ7 4 Demande de DMA
DACK0 , DACK5-DACK7 3 Acquittement d’une demande DMA
MEM CS16 1 Gestion de transfert en mémoire sur 16 bits
IO CS 16 1 Gestion de transfert en E/S sur 16 bits
MASTER 1 Arbitrage de bus
Alimentation 1 +5 V
GND 1 Masse

On a remarqué que le bus ISA peut supporter deux contrôleurs DMA (ex. : 8253) et deux
contrôleurs d’interruption (ex : 8259). Un successeur du bus ISA possède 32 lignes de
données et 32 lignes d’adresse. Il est appelé, en effet EISA (Extended ISA). Ce bus supporte,
en plus un temporisateur programmable.

D.2.2 Le bus MCA est considéré comme bus intelligent, car capable d’arbitrer certains
conflits. Il fonctionne sur 32 bits et est utilisé pour les PS/2. Par rapport aux anciennes cartes
ISA, il est configurable par logiciel. Il n’est pas compatible avec le bus ISA.

D.2.3 Le bus VLB présente dans sa solution des connecteurs d’extension directement
raccordés au microprocesseur sans passer par un contrôleur ISA. Celui ci peut fonctionner
dans certains cas à la vitesse même du processeur. Cette norme a été définie par l’organisme

62
VESA, qui est un groupe de sociétés spécialisées dans la conception de cartes graphiques. Le
bus VLB supporte 4 périphériques.

D.2.4 Le bus PCI a été développé par INTEL. Il offre les avantages principaux suivants :

 C’est un bus de haute performance à 32 bits avec un connecteur de 124 broches ;


 Sa bande passante est de 132 Mo/s à 33Mhz ;
 C’est un bus ouvert. Une extension devrait le porter à 64 bits (connecteur de 188 broches),
avec une bande passante de 264 Mo/s à la même fréquence 33Mhz ;
 PCI est indépendant du processeur. En effet, il dispose de sa propre mémoire tampon
(buffer) ;
 Il dispose également d’un contrôleur de bus PCI qui est installé entre le CPU et le bus
PCI. Cela permet, d’une part, d’instaurer le bus PCI dans des systèmes qui ne reposent pas
sur un processeur INTEL. Par exemple, le Power Macintosh de Apple munis d’un
processeur Power PC sont équipés du bus PCI. D’autre part, le bus PCI ne dépend pas de
la fréquence du CPU car il est séparé du CPU par le biais du contrôleur spécial de bus.

Les ordinateurs à base de Pentium sont fournis presque avec un bus PCI. De même le bus
PCI est largement répandu sur les cartes mères 486. Bien que les cartes ISA ne soient pas
exploitables dans un slot PCI, le recours aux cartes ISA s’avère indispensable dans la plupart
des systèmes équipés d’un bus PCI. Il n’est pas rare qu’une carte équipée d’un bus PCI
contienne ce qu’on appelle PCI-To-ISA Bridge. Son rôle consiste à transmettre au bus ISA les
signaux provenant du PCI.

PCI offre l’avantage d’être auto configurable, les cartes connectées étant automatiquement
détectées et exploitées aux mieux. C’est la Plug and Play qui évite donc d’avoir à déplacer des
cavaliers sur la carte ou encore d’avoir à configurer les numéros d’interruptions IRQ ou les
canaux DMA.

Le tableau suivant récapitule les caractéristiques des différentes versions du bus PCI :

Révision Date de sortie Fréquence Voltage Largeur Bande passante


32 bits 133 Mo/s
PCI 1.0 1992 33 MHz
64 bits 266 Mo/s

63
32 bits 132 Mo/s
PCI 2.0 1993 33 MHz 3.3 V / 5 V
64 bits 264 Mo/s
32 bits 132 Mo/s
33 MHz 3.3 V / 5 V
64 bits 264 Mo/s
PCI 2.1 1995
32 bits 264 Mo/s
66 MHz 3.3 V
64 bits 528 Mo/s
32 bits 132 Mo/s
33 MHz 3.3 V / 5 V
64 bits 264 Mo/s
PCI 2.2 1998
32 bits 264 Mo/s
66 MHz 3.3 V
64 bits 528 Mo/s
32 bits 132 Mo/s
33 MHz 3.3 V / 5 V
64 bits 264 Mo/s
PCI 2.3 2002
32 bits 264 Mo/s
66 MHz 3.3 V
64 bits 528 Mo/s
32 bits 264 Mo/s
66 MHz 3.3 V
64 bits 528 Mo/s
32 bits 400 Mo/s
PCI-X 1.0 1999 100 MHz 3.3 V
64 bits 800 Mo/s
32 bits 532 Mo/s
133 MHz 3.3 V
64 bits 1064 Mo/s
32 bits 264 Mo/s
66 MHz 3.3 V
64 bits 528 Mo/s
32 bits 400 Mo/s
100 MHz 3.3 V
64 bits 800 Mo/s
133 MHz 3.3 V 32 bits 532 Mo/s
PCI-X 2.0 2002
64 bits 1064 Mo/s
32 bits 1064 Mo/s
266 MHz 3.3 V/1.5 V
64 bits 2128 Mo/s
32 bits 2128 Mo/s
533 MHz 3.3 V/1.5 V
64 bits 4256 Mo/s

64
Exemples d’architecture appliquant les bus d’extension

Les bus standard ISA, EISA et


MICROPROCESS
EUR Interface MCA ont tendance à se
vidéo
saturer avec l’accès disque et
Bus local VESA ou
PCI Mémoire l’affichage graphique.

Interface de Interface
bus disque Cette tendance consiste à faire

Bus standard ISA, EISA, appel à un bus local. En fait,


MCA les vitesses de transfert sont

E/S Autres déterminantes pour le choix


d’un bus.

La figure ci-contre représente un exemple d’architecture d’une unité centrale bâtie autour
d’un jeu de bus local, VESA ou PCI.

Cette architecture montre que le bus PCI peut être combiné avec un autre type de bus comme
ISA :

D.2.5 Le bus AGP (Accelerated Graphic Port)

Le bus AGP est apparu en Mai 1997, sur des chipsets à base de «Slot One», puis est apparu
par la suite sur des supports à base de Super 7 afin de permettre de gérer les flux de données
graphiques devenant trop importants pour le bus PCI. Ainsi le bus AGP est directement relié
au bus processeur (FSB, Front Side Bus) et bénéficie de la même fréquence, donc d'une bande
passante élevée.

L'interface AGP a été mise au point spécifiquement pour la connexion de la carte graphique
en lui ouvrant un canal direct d'accès à la mémoire (DMA), sans passer par le contrôleur
d'entrée-sortie. Les cartes utilisant ce bus graphique peuvent accéder directement aux données
graphiques stockées dans la mémoire centrale.

65
La version 1.0 du bus AGP, travaillant à une tension de 3.3 V, propose un mode 1X
permettant d'envoyer 4 octets par cycle ainsi qu'un mode 2x permettant le transfert de 8 octets
par cycle.

En 1998 la version 2.0 du bus AGP a apporté un mode AGP 4X permettant l'envoi de 16
octets par cycle. La version 2.0 du bus AGP étant alimentée à une tension de 1.5 V, des
connecteurs dits "universels" (AGP 2.0 universal) sont apparus, supportant les deux tensions.

La version 3.0 du bus AGP, apparue en 2002, a permis de doubler le débit de l'AGP 2.0 en
proposant un mode AGP 8x.

Les débits des différentes normes AGP sont les suivants :

 AGP 1X : 66,66 MHz x 1(coef.) x 32 bits /8 = 266.67 Mo/s


 AGP 2X : 66,66 MHz x 2(coef.) x 32 bits /8 = 533.33 Mo/s
 AGP 4X : 66,66 MHz x 4(coef.) x 32 bits /8 = 1,06 Go/s
 AGP 8X : 66,66 MHz x 8(coef.) x 32 bits /8 = 2,11 Go/s

Il est à noter que les différentes normes AGP conservent une compatibilité ascendante, c'est-à-
dire qu'un emplacement AGP 8X pourra accueillir des cartes AGP 4X ou AGP 2X.

Le tableau suivant récapitule les différentes versions et modes AGP :

AGP Tension Mode


AGP 1.0 3.3 V 1x, 2x
AGP 2.0 1.5 V 1x, 2x, 4x
AGP 2.0 universal 1.5 V, 3.3 V 1x, 2x, 4x
AGP 3.0 1.5 V 4x, 8x

D.2.5 Le bus PCI Express

Le bus PCI Express (3GIO pour «Third Generation I/O»), a été mis au point en juillet 2002.
Contrairement au bus PCI, qui fonctionne en interface parallèle, le bus PCI Express

66
fonctionne en interface série, ce qui lui permet d'obtenir une bande passante beaucoup plus
élevée que ce dernier.

Le bus PCI Express se décline en plusieurs versions, 1X, 2X, 4X, 8X, 12X, 16X et 32X,
permettant d'obtenir des débits compris entre 250 Mo/s et 8 Go/s, soit près de 4 fois le débit
maximal des ports AGP 8X. Ainsi, avec un coût de fabrication similaire à celui du port AGP,
le bus PCI Express est amené à le remplacer progressivement.

Les connecteurs PCI Express sont incompatibles avec les anciens connecteurs PCI et
possèdent des tailles variables et une plus faible consommation électrique. Une des
caractéristiques intéressantes du bus PCI Express est la possibilité de brancher ou débrancher
des composants à chaud, c'est-à-dire sans éteindre ou redémarrer la machine.

Les connecteurs PCI Express sont reconnaissables grâce à leur petite taille et leur couleur
anthracite :

 Le connecteur PCI Express 1X possède 36 connecteurs et est destiné à un usage


d'entrées-sorties à haut débit ;
 Le connecteur PCI Express 4X possède 64 connecteurs et est destiné à un usage sur
serveurs ;
 Le connecteur PCI Express 8X possède 98 connecteurs et est destiné à un usage sur
serveurs ;
 Le connecteur PCI Express 16X possède 164 connecteurs, et mesure 89 mm de long et
a vocation à servir de port graphique.
Le standard PCI Express a également vocation à supplanter la technologie PC Card sous la
forme de connecteurs « PCI Express Mini Card ». De plus, contrairement aux connecteurs
PCI dont l'usage était limité à la connectique interne, le standard PCI Express permet de
connecter des périphériques externes à l'aide de câbles.

D.2.6 Le bus USB (Universal Serial Bus)

Le bus USB est basé sur une architecture de type série. Il s'agit toutefois d'une interface
entrée-sortie beaucoup plus rapide que les ports série standards. L'architecture qui a été
retenue pour ce type de port est en série pour deux raisons principales :

67
 l'architecture série permet d'utiliser une cadence d'horloge beaucoup plus élevée
qu'une interface parallèle ;
 les câbles série coûtent beaucoup moins cher que les câbles parallèles.

Ainsi, dès 1995, le standard USB a été élaboré pour la connexion d’une grande variété de
périphériques. Le standard USB 1.0 propose deux modes de communication :
 12 Mb/s en mode haute vitesse,
 1.5 Mb/s à basse vitesse.

La norme USB 2.0 permet d'obtenir des débits pouvant atteindre 480 Mbit/s.

La compatibilité entre périphériques USB 1.0 et 2.0 est assurée. Toutefois l'utilisation d'un
périphérique USB 2.0 sur un port USB à bas débit limitera le débit à 12 Mbit/s maximum. De
plus, le système d'exploitation est susceptible d'afficher un message expliquant que le débit
sera bridé.

Il existe deux types de connecteurs USB :

 Les connecteurs dits de type A, dont la forme est rectangulaire et servant


généralement pour des périphériques peu gourmands en bande passante (clavier,
souris, webcam, etc.) ;
 Les connecteurs dits de type B, dont la forme est carrée et utilisés principalement pour
des périphériques à haut débit (disques durs externes, etc.).

1. Alimentation +5V (VBUS) 100mA maximum


2. Données (D-)
3. Données (D+)
4. Masse (GND)

Fonctionnement du bus USB

L’architecture USB a pour caractéristique de fournir l’alimentation électrique aux


périphériques qu’elle relie, dans la limite de 15 W maximum par périphérique. Elle utilise
pour cela un câble composé de quatre fils (la masse GND, l’alimentation VBUS et deux fils de
données).

68
La norme USB permet le chaînage des périphériques, en utilisant une topologie en bus ou en
étoile. Les périphériques peuvent alors être soit connectés les uns à la suite des autres, soit
ramifiés.
La ramification se fait à l’aide de boîtiers appelés « hubs » (concentrateurs), comportant une
seule entrée et plusieurs sorties. Certains sont actifs (fournissant de l’énergie électrique),
d’autres passifs (alimentés par l'ordinateur).

La communication entre l’hôte (l’ordinateur) et les périphériques se fait selon un protocole


basé sur le principe de l’anneau à jeton (token ring). Cela signifie que la bande passante est
partagée entre tous les périphériques connectés.

Puisque l’adresse est codée sur 7 bits, 128 périphériques (2^7) peuvent être connectés
simultanément à un port de ce type. Il convient en réalité de ramener ce chiffre à 127 car
l’adresse 0 est une adresse réservée. A raison d'une longueur de câble maximale entre deux
périphériques de 5 mètres et d'un nombre maximal de 5 hubs (alimentés), il est possible de
créer une chaîne longue de 25 mètres.

Les ports USB supportent le Hot plug and play. Ainsi, les périphériques peuvent être
branchés sans éteindre l’ordinateur (branchement à chaud).

D.2.7 Le bus Firewire (IEEE 1394)

Le bus IEEE 1394 a été mis au point à la fin de l’année 1995 afin de fournir un système
d’interconnexion permettant de faire circuler des données à haute vitesse en temps réel. La
société Apple lui a donné le nom commercial « Firewire », qui est devenu le plus usité. Sony
lui a également donné le nom commercial de i.Link, tandis que Texas Instrument lui a préféré
le nom de Lynx.

Il s'agit ainsi d'un port, équipant certains ordinateurs, permettant de connecter des
périphériques (notamment des caméras numériques) à très haut débit. Il existe ainsi des cartes
d'extension (généralement au format PCI ou PC Card / PCMCIA ) permettant de doter un
ordinateur de connecteurs FireWire.

Il existe différentes normes FireWire permettant d'obtenir les débits suivants :

69
Norme Débit théorique
IEEE 1394a
IEEE 1394a-S100 100 Mbit/s
IEEE 1394a-S200 200 Mbit/s
IEEE 1394a-S400 400 Mbit/s
IEEE 1394b Fire (Wire 2 ou FireWire Gigabit)
IEEE 1394b-S800 800 Mbit/s
IEEE 1394b-S1200 1200 Mbit/s
IEEE 1394b-S1600 1600 Mbit/s
IEEE 1394b-S3200 3200 Mbit/s

Il existe différents connecteurs FireWire pour chacune des normes IEEE 1394 :

Les connecteurs Les connecteurs Les connecteurs 1394b Les connecteurs 1394b
1394a-1995 1394a-2000 appelés Bêta Bilingual
mini-DV

La norme IEEE 1394b définit deux types de connecteurs dessinés de façon à ce que les prises
1394b-Beta puissent s'enficher dans les connecteurs Beta et Bilingual mais que les prises
1394b Bilingual ne puissent s'enficher que dans les connecteurs Bilingual.

Le bus IEEE 1394 suit à peu près la même structure que le bus USB. Mais, il utilise un câble
composé de six fils (deux paires pour les données et pour l’horloge, et deux fils pour
l’alimentation électrique) lui permettant d’obtenir un débit de 800 Mb/s.

Ainsi, les deux fils dédiés à une horloge montrent la différence majeure qui existe entre le bus
USB et le bus IEEE 1394, c'est-à-dire la possibilité de fonctionner selon deux modes de
transfert :

 le mode de transfert asynchrone : Le mode de transfert asynchrone est basé sur une
transmission de paquets à intervalles de temps variables. Cela signifie que l’hôte
envoie un paquet de données et attend de recevoir un accusé de réception du

70
périphérique. Si l’hôte reçoit un accusé de réception, il envoie le paquet de données
suivant, sinon le paquet est à nouveau réexpédié au bout d’un temps d’attente.
 le mode isochrone : Le mode de transfert isochrone permet l’envoi de paquets de
données de taille fixe à intervalle de temps régulier. Un noeud, appelé Cycle Master
est chargé d'envoyer un paquet de synchronisation (appelé Cycle Start packet) toutes
les 125 microsecondes. De cette façon aucun accusé de réception n’est nécessaire, ce
qui permet de garantir un débit fixe. De plus, étant donné qu’aucun accusé de
réception n’est nécessaire, l’adressage des périphériques est simplifié et la bande
passante économisée permet de gagner en vitesse de transfert.

Autre innovation du standard IEEE 1394 : la possibilité d’utiliser des ponts, systèmes
permettant de relier plusieurs bus entre eux. En effet, l’adressage des périphériques se fait
grâce à un identificateur de nœud (périphérique) codé sur 16 bits.

Cet identificateur est scindé en deux champs : un champ de 10 bits permettant de désigner le
pont et un champ de 6 bits spécifiant le nœud. Il est donc possible de relier 1023 ponts (soit
210 -1), sur chacun desquels il peut y avoir 63 nœuds (soit 2 6 -1), il est ainsi possible
d’adresser 65535 périphériques.

Le standard IEEE 1394 permet aussi le Hot plug, mais alors que le bus USB est destiné à
l’utilisation de périphériques peu gourmands en ressources (souris ou clavier par exemple), la
bande passante de l’IEEE 1394 la destine à des utilisations multimédias sans précédents
(acquisition vidéo, etc.)

En conclusion, la plupart des cartes mères proposent les connecteurs d'entrée-sortie suivants :

 Port série, permettant de connecter de vieux périphériques ;


 Port parallèle, permettant notamment de connecter de vieilles imprimantes ;

71
 Ports USB (1.1, bas débit, ou 2.0, haut débit), permettant de connecter des
périphériques plus récents ;
 Connecteur RJ45 (appelés LAN ou port ethernet) permettant de connecter l'ordinateur
à un réseau. Il correspond à une carte réseau intégrée à la carte mère ;
 Connecteur VGA (appelé SUB-D15), permettant de connecter un écran. Ce connecteur
correspond à la carte graphique intégrée ;
 Prises audio (entrée Line-In, sortie Line-Out et microphone), permettant de connecter
des enceintes acoustiques ou une chaîne hi-fi, ainsi qu'un microphone. Ce connecteur
correspond à la carte son intégrée.

72
EXERCICES

Exercice 1 :

Quelle est la différence entre un Pentium 4 et Core 2 Duo ?


Quelle est la différence entre S-ATA et P-ATA ?

Exercice 2 :

Comment initialiser son BIOS (CMOS) ?


Comment résoudre le problème d'un disque dur "SATA" non reconnu ?

Exercice 3 :

Un ami veut assembler un ordinateur, il vous demande de lui citez les principales
caractéristiques pour l’achat des périphériques suivants :

·    Processeur
·    Disque Dur 
·    Carte Mère 

Exercice 4 :

Quelle est la différence entre les trois options illustrées ci-dessus ?

73
Exercice 5 :

Donnez le nom de chaque composant/connecteur illustré ci-dessous

EXERCICES DE NUMERATION

Exercice 6 :
Effectuer la représentation polynomiale des nombres décimaux suivants : 4526, 241
74
Exercice 7 :
La figure ci-dessous représente un extrait des propriétés système d’un ordinateur. Vous
pouvez l’afficher en faisant un clic droit sur l’explorateur Windows ou en exécutant la
commande « control.exe system » sur l’invite de commande ou sur le menu démarrer
(combinaison des touche Windows + R).

1. A partir de cette figure, compléter le tableau suivant :

en Go en Mo en octet
Taille de la mémoire vive
(RAM)

2. Sur cette figure, le système de l’ordinateur est un système Windows 64 bits.


Transformer cette valeur en octet.

Exercice 8 :
Complet le tableau suivant :
Binaire Octal Décimal Hexadécimal
11010
56
34
1F

Exercice 9 :
Complet le tableau suivant :
Binaire Complément à 1 Complément à 2
11011111
10101010
10111010

75
Exercice 10 :
Effectuer les opérations binaires suivantes :
10112 +10112 =
10112 - 10012 =
110012 x 102 =
100102 / 112 =

CORRIGE

Exercice 1 :

Quelle est la différence entre un Pentium 4 et Core 2 Duo ?

 Les Core 2 Duo sont les successeurs des Pentium. La différence est au niveau de l'architecture
interne de la puce. Le Core 2 duo est équipé de deux coeurs ayant une mémoire cache
commune et le Pentium 4 est équipé d'un seul coeur.
 Performances réduites notamment à cause de la taille inférieure de la mémoire cache. Le Core
2 Duo  est plus performant que le P4, donc plus cher.

Quelle est la différence entre S-ATA et P-ATA ?

La différence est essentiellement en quatre points : 

 Débit de transmission de données (SATA est plus rapide)


 Forme physique du connecteur (celui du SATA est plus petit)
 Nombre de disques durs par câble (1 pour SATA et 2 pour PATA)
 Longueur maximale des câbles (1m pour SATA et 45cm pour PATA)

Exercice 2 :

Comment initialiser son BIOS (CMOS) ?

-    Éteindre l'ordinateur et l'isoler complètement du secteur


-    Le plus souvent, un cavalier sur la carte mère permet de réinitialiser le BIOS. Son
emplacement diffère selon le modèle de carte mère, référez-vous au manuel de votre carte

76
mère pour savoir où il se trouve.
-    Soit enlever la pile RTC, mettre sous tension pour effacer le SETUP, éteindre, remettre
la pile, puis redémarrer le pc.
Comment résoudre le problème d'un disque dur "SATA" non reconnu ?

 Généralement, c'est parce qu'il est nécessaire d'utiliser un pilote. Vérifiez que vous avez bien
installé les pilotes Serial-ATA fournis avec votre carte-mère afin que le système d'exploitation
soit capable de prendre en charge les disques SATA.
 Installer Windows XP SP3

Exercice 3 :
Un ami veut assembler un ordinateur, il vous demande de lui, citez les principales
caractéristiques pour l’achat des périphériques suivants :

Exercice 4 :
Quelle est la différence entre les trois options illustrées ci-dessus.

Sauvegarde Complète : La méthode la plus simple est la sauvegarde complète ou totale
(appelée aussi "full backup") ; elle consiste à copier toutes les données à sauvegarder que
celles-ci soient récentes, anciennes, modifiées ou non.

Sauvegarde incrémentielle : Cette méthode consiste à sauvegarder les fichiers créés ou


modifiés depuis la dernière sauvegarde quel que soit son type (complet, différentiel ou
incrémentiel).
Sauvegarde différentielle : Seuls les fichiers modifiés ou nouveaux depuis la précédente
sauvegarde sont sauvegardés, en remplaçant l'ancienne version.

77
Exercice 5 :

Exercice 6 :
1 - Cette technique est utilisée pour numériser un texte qui a été lu au scanner
-1- Reconnaissance de la parole 
-2- Reconnaissance des caractères magnétiques 
-3- Reconnaissance optique de caractères 
-4- Réponse vocale
2 - Contient l'unité arithmétique et logique, ainsi que l'unité de commande 
-1- Unité centrale 
-2- Unité de mémoire centrale 
-3- Unité de temps Microseconde 
-4- Unités périphériques
3 - Effectue les calculs et les comparaisons
-1- Microprocesseur 
-2- Mini-ordinateur 
-3- Unité arithmétique et logique 
-4- Unité de commande 

4 - Support d'information pouvant contenir environ 500 millions de caractères.


-1- Capacité mémoire : Kilo-octet 
-2- Disques CD-ROM 

78
-3- Tube à rayons cathodiques 
-4- Mémoire à disques magnétiques 
5 - deviennent plus petits, plus rapides, plus fiables, plus conviviaux et moins coûteux.
-1- Evolution du matériel 
-2- Générations d'ordinateurs 
-3- Micro-ordinateur 
-4- Mini-ordinateur 

6 - L'ordinateur est une combinaison de composantes qui permet d'accomplir les fonctions
d'entrée/sortie, de traitement, de stockage et de contrôle.
-1- Périphériques d'entrée-sortie 
-2- Supercalculateur 
-3- Système informatique 
-4- Terminal informatique 

7 - La technique d'écran vidéo la plus répandue.


-1- Ecran tactile 
-2- Tube à rayons cathodiques 
-3- Ecrans à cristaux liquides 
-4- Entrée-sortie vidéo 

8 - Le type le plus puissant d'ordinateur.


-1- Multiprocesseur 
-2- Ordinateur central 
-3- Réseaux d'ordinateurs 
-4- Supercalculateur

9 - Promet d'être la façon la plus facile et la plus naturelle de communiquer avec les
ordinateurs. 
-1- Ecran tactile 
-2- Entrée-sortie vidéo 
-3- Icône 

79
-4- Reconnaissance de la parole

10 - Se traduit par la présence, l'absence ou le changement de direction d'un courant


électrique, de champs magnétiques ou de rayons lumineux.
-1- Icône 
-2- Photostyle 
-3- Réponse vocale 
-4- Représentation binaire 

11 - Traduit les instructions et dirige le traitement.


-1- Manette de jeu 
-2- Poste de travail 
-3- Souris électronique 
-4- Unité de commande 

12 - Un milliardième de seconde.
-1- Capacité mémoire : Kilo-octet 
-2- Unité de temps Microseconde 
-3- Unité de temps Nanoseconde 
-4- Unité de temps Picoseconde 

13 - Puce électronique.
-1- Micro-ordinateur 
-2- Microprocesseur 
-3- Mini-ordinateur 
-4- Multiprocesseur

14 - Une capacité de stockage d'environ un million de caractères.


-1- Kilo-octet 
-2- Mega-octet 
-4- Unité de mémoire auxiliaire 
15 - Vous ne pouvez pas effacer le contenu de ces circuits de mémoire. 
-1- CD-ROM 

80
-2- Mémoire à disques magnétiques 
-3- Mémoire morte ( ROM ) 

-4- Mémoire vive (RAM) 

16 - Un moyen convivial de communication entre l'utilisateur et le système informatique.


-1- Infographie 
-2- Interface-utilisateur graphique 
-3- Langage évolué 
-4- Langage naturel 
17 - Crée et affiche une feuille de travail lignes-et-colonnes.
-1- Aide à la programmation 
-2- SGBD 
-3- Tableur 
-4- Traitement de texte

18 - Des programmes qui dirigent l'exécution d'une tâche particulière d'un utilisateur.
-1- Logiciel de base 
-2- Logiciels d'application 
-3- Logiciel de télécommunications 
-4- Tendances sur le plan logiciel 

19 - Des programmes qui gèrent les opérations internes d'un ordinateur.


-1- Compilateur 
-2- Logiciel de base 
-3- Logiciels d'application polyvalents 
-4- Système d'exploitation 

20 - Exécute plusieurs opérations ou applications en même temps.


-1- Aide à la programmation 
-2- Gestion des taches 
-3- Multitâche 

81
-4- Progiciel intégré

21 -Gère la mise à jour et la récupération de données emmagasinées dans des bases de


données.
-1- SGBD 
-2- Système d'exploitation 
-3- Tableur 
-4- Utilitaires 

22 -Gère les communications dans un réseau.


-1- Gestion de fichiers 
-2- Gestion des ressources 
-3- Logiciel de télécommunications 
-4- Programme propre à une application

23 -Inclut des programmes d'édition, des programmes de mise au point et des générateurs de
codes.
-1- Gestion des ressources 
-2- Gestion de bases de données Micro
-3- Multitâche 
-4- Utilitaires

24 -Peut prendre la forme de langages d'interrogation et de générateurs de rapports.


-1- Aide à la programmation 
-2- Langage de quatrième génération 
-3- Langage machine 
-4- Langage orienté objets 
25 -Traduit les instructions écrites dans un langage évolué en instructions exécutables.
-1- Aide à la programmation 
-2- Compilateur 
-3- Langage assembleur 
-4- Langage machine 

82
26 -Utilise des instructions formées de suites codées de 1 et de 0.
-1- Langage assembleur 
-2- -3- Langage non procédural. 
-4- Langage orienté objets 

27 -Utilise des instructions symboliques qui représentent les codes d'opération et les positions
de mémoire. 
-1- Langage assembleur 
-2- Langage machine 
-3- Langage non procédural. 
-4- Langage orienté objets 

28 -Utilise des instructions, appelées énoncés, qui ressemblent au langage humain ou à la


convention d'écriture des mathématiques.
-1- Langage assembleur 
-2- Langage machine 
-3- Langage non procédural 
-4- Langage orienté objets

Corrigé des exercices


1 - Cette technique est utilisée pour numériser un texte qui a été lu au scanner
-3- Reconnaissance optique de caractères
2 - Contient l'unité arithmétique et logique, ainsi que l'unité de commande
-1- Unité centrale
3 - Effectue les calculs et les comparaisons
-3- Unité arithmétique et logique
4 - Support d'information pouvant contenir environ 500 millions de caractères.
-2- Disques CD-ROM
5 - deviennent plus petits, plus rapides, plus fiables, plus conviviaux et moins coûteux.
-1- Evolution du matériel
6 - L'ordinateur est une combinaison de composantes qui permet d'accomplir les fonctions
d'entrée/sortie, de traitement, de stockage et de contrôle.

83
-3- Système informatique
7 - La technique d'écran vidéo la plus répandue.
-2- Tube à rayons cathodiques
8 - Le type le plus puissant d'ordinateur.

-4- Supercalculateur

9 - Promet d'être la façon la plus facile et la plus naturelle de communiquer avec les
ordinateurs.
-4- Reconnaissance de la parole
10 - Se traduit par la présence, l'absence ou le changement de direction d'un courant
électrique, de champs magnétiques ou de rayons lumineux.
-4- Représentation binaire
11 - Traduit les instructions et dirige le traitement.
-4- Unité de commande
12 - Un milliardième de seconde.
-3- Unité de temps Nanoseconde
13 - Puce électronique.
-2- Microprocesseur
14 - Une capacité de stockage d'environ un million de caractères.
-2- Mega-octet
15 - Vous ne pouvez pas effacer le contenu de ces circuits de mémoire.
-3- Mémoire morte ( ROM )
16 - Un moyen convivial de communication entre l'utilisateur et le système informatique.
-2- Interface-utilisateur graphique
17 - Crée et affiche une feuille de travail lignes-et-colonnes.
-3- Tableur
18 - Des programmes qui dirigent l'exécution d'une tâche particulière d'un utilisateur.
-2- Logiciels d'application
19 - Des programmes qui gèrent les opérations internes d'un ordinateur.
-4- Système d'exploitation
20 - Exécute plusieurs opérations ou applications en même temps.
-4- Progiciel intégré

84
21 -Gère la mise à jour et la récupération de données emmagasinées dans des bases de
données.
-1- SGBD
22 -Gère les communications dans un réseau.
-3- Logiciel de télécommunications
23 -Inclut des programmes d'édition, des programmes de mise au point et des générateurs de
codes.
-4- Utilitaires
24 -Peut prendre la forme de langages d'interrogation et de générateurs de rapports.
-2- Langage de quatrième génération
25 -Traduit les instructions écrites dans un langage évolué en instructions exécutables.
-2- Compilateur
26 -Utilise des instructions formées de suites codées de 1 et de 0.
-2- Langage machine
27 -Utilise des instructions symboliques qui représentent les codes d'opération et les positions
de mémoire.
-1- Langage assembleur
28 -Utilise des instructions, appelées énoncés, qui ressemblent au langage humain ou à la
convention d'écriture des mathématiques.
-2- Langage machine

85
Corrigés exercices de numération
Exercice 6 :
Effectuer la représentation polynomiale des nombres décimaux suivants : 4526, 241
Correction :
241=2*102 + 4*101 + 1*100
4526=4*103 + 5*102 + 2*101 + 6*100
Exercice 7 :

3. A partir de cette figure, compléter le tableau suivant :

en Go en Mo en octet
Taille de la mémoire vive 4Go 4096Go 4294967296 octets
(RAM)
4Go=4*230 octets=4*210∗210∗210 octets =4*1024Mo=4096Mo

4. Sur cette figure, le système de l’ordinateur est un système Windows 64 bits.


Transformer cette valeur en octet.
8bits= 1octet alors 64 bits = 8 bits

Exercice 8 :
Completer le tableau suivant :

Binaire Octal Décimal Hexadécimal


11010 32 26 1A
101110 56 46 2E
100010 42 34 22
11111 37 31 1F

Première ligne :
 Pour la conversion binaire-octal, la plus rapide est d’utiliser le tableau suivant
(voir cours) :
Tableau 1 :
Base 8 Base 2
0 000
1 001
110102= 0110102=328
2 010
3 011
4 100  Pour la conversion binaire en décimal, il faut utiliser la
5 101 forme polynomiale :
6 110
7 111 110102=1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 16+8+0+2+0 =26
 Pour la conversion binaire-hexadécimal, la plus rapide est d’utiliser le tableau
suivant (voir cours):
Tableau 2 :

86
Base 16 Base 2
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

110102=000110102= 1A16

Deuxième ligne : 568= ( ?)2 =( ?)10=( ?)2=( ?)16


Il suffit d’utiliser le tableau 1 ci-dessus : 58= 101 et 68= 110
Donc 568= 1011102
1011102= 1*25+ 0*24 + 1*23 + 1*22 + 1*21 + 0*20=32+0+8+4+2=4610
1011102=001011102=2D16

Exercice 9 :
Complet le tableau suivant :

Binaire Complément à 1 Complément à 2


11011111 00100000 00100001
01010101 10101010 10101011
01000110 10111001 10111010
Pour trouver le complément à 1 d’un nombre binaire, il suffit de changer les 0 en 1 et
les 1 en 0.
11011111 compléments à 1 : 00100000
Pour trouver le complément à deux d’un nombre binaire, il faut ajouter à 1 son
complément à 1.
00100000 + 1 = 00100001

Exercice 10 :
Effectuer les opérations binaires suivantes :
10112 +10112 = 101102

1 1 retenue
87
1 0 1 1
+1 0 1 1
1 0 1 1 0

10112 - 10012 = 102


1 0 1 1
-

1 0 0 1
0 0 1 0

110012 x 102 = 1100102


1 1 0 0 1
x
1 0
0 0 0 0 0
+
1 1 0 0 1

1 1 0 0 1 0

100102 / 112 = 1102


10 0 1 0 1 1
-1 1 110
11
-1 1
0 0
-0
Bibliographie

 R. Strandh, I. Durand, Architecture de l’ordinateur, Dunod


 Cazes, J. Delacrois, Architecture des machines et des systèmes informatiques, Dunod
 P. Marcel, Architecture des ordinateurs, 2001
 E. Lazard, Architecture des ordinateurs, Université Paris-Dauphine

88
89

Vous aimerez peut-être aussi