Vous êtes sur la page 1sur 220

ARCHITECTURE ET TECHNOLOGIE

DES ORDINATEURS




Sylvain TISSERANT





Universit de la Mditerrane

Ecole Suprieure dIngnieurs de Luminy - Dpartement dinformatique


2003
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 2



Introduction



I.1 Architecture des ordinateurs
I.1.a L'informatique aujourd'hui

Apparue au milieu du 20
me
sicle, l'informatique a connu et connat une volution
extrmement rapide. A sa motivation initiale qui tait de faciliter et d'acclrer le calcul, se sont
ajoutes de nombreuses fonctionnalits, comme l'automatisation, le contrle et la commande de
pratiquement tout processus, la communication ou le partage de l'information. Dans nos socits
occidentales elle omniprsente. Aprs avoir t un outil rserv aux centres de recherche, elle
s'est implante dans l'industrie et depuis les annes 80 elle envahit nos foyers. Au dpart nous
n'avions que des systmes centraux, puis sont apparus les postes de travail individuels, trs
rapidement relis en rseaux locaux. Tous, ou presque, sont maintenant connects la "Toile".
Nombreux sont les projets actuels d'utilisation et de gestion d'une puissance de calcul norme
distribue sur un grand nombre de sites dissmins de par le monde. L'informatique est en grande
partie responsable de la profonde transformation que connat actuellement la civilisation des pays
riches.

Les volutions techniques sont telles que la dure de vie des matriels est relativement
courte. Le march est extrmement instable et en permanente volution. La position des
constructeurs est presque remise en cause chaque jour. Face cette situation, aprs une premire
priode de systmes propritaires, dans lesquels un client de pouvait en pratique s'approvisionner
qu'auprs d'un seul constructeur, nous sommes passs aux systmes ouverts. Cela sous-entend des
architectures normalises pour lesquelles les lments peuvent provenir de plusieurs
constructeurs. En parallle, du ct logiciel un accent important est mis sur la rutilisation des
produits, qui doit permettre de suivre ces volutions au prix d'un effort moindre, sans avoir
repartir de zro chaque passage sur une nouvelle plate-forme par exemple. Cela explique
l'mergence des technologies "Orientes Objets" et du "Gnie Logiciel". Il est remarquer que
cela se fait souvent avec une perte d'efficacit, masque par l'volution des performances au
niveau technique.

Face cette situation trs volatile, nous constatons tout de mme que les concepts de base
introduits par les pionniers perdurent, mme s'ils peuvent se dcliner de faons trs diffrentes.
Pour viter d'avoir rcrire ce cours d'Architecture des Ordinateurs tous les ans, j'ai donc pris le
parti de principalement dvelopper et expliquer ces concepts et les technologies de base.
L'architecture du PC servira parfois dexemple. Ce choix me semble tre aujourd'hui (en l'an
2003) incontournable. Il y a quelques annes j'aurais sans doute choisi les architectures RISC des
stations de travail. Je ne prendrai pas le risque de prdire quel sera l'exemple choisir dans cinq
ou dix ans.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 3

I.1.b Architecture gnrale et blocs fonctionnels

Initialement un ordinateur tait un calculateur numrique. C'est aujourd'hui une machine
de traitement de l'information. Il est capable d'acqurir et de stocker des informations, d'effectuer
des traitements et de restituer des informations. L'informatique, contraction d'information et
automatique, est devenue la science du traitement de l'information.

Un ordinateur peut tre dcoup en blocs fonctionnels. Le traitement de l'information est
fait au niveau d'un processeur. Les actions que celui-ci doit effectuer sont dfinies par des
instructions. Pour tre accessible au processeur les donnes traiter et les instructions doivent
tre stockes dans une mmoire. Le processeur et la mmoire sont relis par un bus. Par ailleurs il
faut que l'utilisateur puisse fournir l'ordinateur des donnes et les instructions suivre, tout
comme il doit avoir connaissance des rsultats. Il faut donc des dispositifs d'entre et de sortie.

Chaque bloc fonctionnel peut lui-mme tre dcrit par un ensemble d'units
fonctionnelles. On parle alors de l'architecture du processeur, de l'architecture de la mmoire, etc.
Par ailleurs on peut tudier l'architecture d'un rseau rassemblant plusieurs ordinateurs.

On voit ainsi apparatre la notion de niveaux de reprsentation. A chaque niveau un objet
considr est dcrit comme un ensemble de blocs interconnects. Au niveau suivant chacun de
ces blocs est son tour dcrit comme un ensemble de blocs interconnects et ainsi de suite. Cette
dcomposition hirarchique en niveaux dpend des besoins de la conception ou des outils
utiliss : elle n'est ni fige, ni unique. Nous pouvons, par exemple, descendre au niveau des portes
logiques et mme au niveau des transistors qui composent ces portes.

L'architecture d'un ordinateur constitue la reprsentation de ses units fonctionnelles et de
leurs interconnexions. Le choix d'une architecture est toujours le rsultat d'un compromis :

- entre performances et cots;
- entre efficacit et facilit de construction;
- entre performances d'ensemble et facilit de programmation;
- etc

Chaque solution adopte pour une machine donne, un instant donn et pour un march donn,
pourra trs vite tre remise en cause par un nouveau progrs technologique. De mme, des
architectures proposes un moment donn, puis abandonnes pour des raisons techniques ou
conomiques, peuvent un jour tre nouveau employes.

Quelle que soit sa dimension (mini, micro, super, hyper, etc.) on retrouve toujours dans un
ordinateur les mmes blocs fonctionnels :

- une ou plusieurs units de traitement;
- de la mmoire;
- un ou plusieurs disques durs, constituant une mmoire permanente;
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 4
- des dispositifs de communication avec loprateur : un cran, un clavier, trs souvent une
souris ;
- des dispositifs de communication avec lextrieur comme une imprimante ;
- des dispositifs permettant larchivage : disquette, bande magntique, disque optique;
- etc.

relis par des bus, des liaisons ou des rseaux. L'informatique se trouve galement tre
embarque dans un grand nombre de dispositifs de la vie courante, aussi varis que machines
laver, distributeurs de boissons, voitures ou cartes bancaires. Si, par rapport un ordinateur
classique, les tches raliser ne sont pas aussi polyvalentes et si les contraintes sont diffrentes,
on y retrouve cependant les mmes briques. Partant des portes logiques, nous allons essayer
d'tudier dans ce cours les principes de base de chacun de ces composants.

D'autre part, il est important de raliser que matriel et logiciel sont indissociables, en
particulier au niveau de la conception de tout systme informatique. Nous rencontrerons dans ce
cours un ou deux exemples de l'imbrication du logiciel et du matriel. Pour ce qui concerne le
logiciel nous nous limiterons quelques considrations simples sur le langage machine.

Mais avant d'aborder l'tude des portes logiques, puis des premires units fonctionnelles
remontons dans le temps.


I.2 Un peu d'histoire
I.2.a Le calcul mcanique

Pour rsumer l'histoire de l'informatique ou des ordinateurs, il souvent ncessaire de
schmatiser. Pour chaque invention, nous ne retenons en gnral qu'un nom. Mais souvent cette
invention concrtise une dmarche collective qui s'est tale sur plus ou moins de temps. Trs
souvent aussi des prdcesseurs ont t oublis. Je vais ici rsumer l'histoire de l'informatique en
m'appuyant sur quelques dates clefs les plus frquemment cites.

De tout temps l'homme a eu besoin de moyens de calcul. Citons titre d'exemple le mot
mme, dont l'tymologie calculi signifie cailloux en latin (utiliss sur les abaques des Romains),
ou encore la numrotation dcimale lie la technologie de la premire calculatrice de poche : la
main. Calcul digital signifiait alors compter sur ses doigts.

Par ailleurs, toutes les grandes civilisations de l'Antiquit avaient leurs symboles pour
coder les nombres et compter. Au dbut il s'agissait de signes simples (comme un trait)
correspondant chacun au nombre 1. Un symbole reprsentant le nombre 10 est apparu en Egypte
vers 3400 av. J.-C.. Il tait ainsi possible d'crire les nombres de manire un peu plus compacte.
D'autres symboles spciaux ont ensuite reprsent les nombres 100, 1000 et 10000. La
numration cuniforme de Babylone utilisait un systme sexagsimal (base 60). Le premier
systme binaire connu remonte 3000 ans av. J.-C. environ. Il s'agit du Yin et du Yang chinois.
On en trouve trace sur les figures magiques de l'empereur Fou-Hi, comme l'octogone trigramme
o les huit premiers nombres sont reprsents sous forme binaire :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 5


Figure 1

Les civilisations ont galement cherch des outils pour faciliter et acclrer les calculs
ncessaires leur dveloppement. Ce furent par exemple les bouliers en Chine et les abaques
dans le Monde Mditerranen.

Une innovation trs importante fut l'emploi de la notation positionnelle, qui confre des
valeurs diffrentes aux symboles numriques selon leur position dans le nombre crit. Cette
notation positionnelle n'est possible qu'avec un symbole pour le zro. Grce au symbole 0, il
devint possible de diffrencier 11, 101 et 1 001 sans recourir des symboles supplmentaires.
Cette notation a t introduite en Europe par l'intermdiaire des Arabes, l'Islam s'tendant alors
des frontires de la Chine l'Espagne. Le systme dit arabe avait t dvelopp en Inde environ
300 ans av. J-C. Cette introduction s'est faite grce notamment la traduction, vers 820 apr. J-C,
des ouvrages du mathmaticien de Bagdad Al-Khuwarizmi, dont le titre d'un des livres (al jabr)
est l'origine du mot algbre. Les premiers documents attestant de l'utilisation du systme arabe
en Europe datent de 976, mais il faut attendre le XIV
me
sicle pour qu'il remplace totalement la
numrotation romaine. Non seulement l'criture des nombres devint plus compacte, mais les
calculs crits ont t largement simplifis.

Il faut ensuite sauter au XVII
me
sicle pour voir apparatre les premiers systmes
mcaniques de calcul, bass sur les roues dentes mises en uvre depuis longtemps dans les
horloges, automates, etc. On fait gnralement commencer cette nouvelle priode en 1614, date
laquelle John Napier (ou Neper), mathmaticien cossais, inventa les premiers logarithmes. Il
ramenait ainsi les oprations de multiplication et de division de simples additions ou
soustractions. Napier inventa galement des machines multiplier bases sur le dplacement de
tiges : les Btons ou Os de Napier. Par ailleurs, il fut l'un des premiers (le premier ?) utiliser le
point dcimal.

La rgle calcul, base sur le principe des logarithmes, fut conue par William Oughtred
en 1622. Sa prcision sera suffisante pour les calculs scientifiques jusqu' la premire moiti du
20
me
sicle. Par contre elle ne peut tre utilise en comptabilit.

En 1623, Wilhelm Schickard inventa pour Kepler une "horloge calculante" destine
calculer les phmrides. Il utilisait des roues dentes et il avait abord le problme du report de
retenue. Mais cette machine a disparue en 1624 dans les ravages de la Guerre de Trente Ans en
Allemagne du Sud. Elle a t reconstruite en 1960 d'aprs les plans originaux.

En 1642, 19 ans, Blaise Pascal construisit, pour aider son pre commissaire pour l'impt
Rouen, une "machine arithmtique" capable de traiter des additions et des soustractions six
chiffres. La Pascaline est considre comme le premier additionneur retenue automatique. A
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 6
chaque chiffre correspond une roue avec dix crans. Lorsqu'une roue a effectu un tour complet
(passage de 9 0), elle dcale d'un cran la roue suprieure. Chaque chiffre est lu dans une fentre
au-dessus de la roue. Les multiplications taient possibles par l'excution d'additions rptitives,
comme l'a montr en 1666 Moreland.

En 1673, Gottfried Leibniz amliora la Pascaline en lui ajoutant un chariot et un tambour
dents ingales. Cela permit d'automatiser, au moyen d'une manivelle, les additions et les
soustractions rptitives ncessaires aux multiplications et divisions. Leibniz inventa galement
le systme binaire et montra la simplicit de l'arithmtique binaire. Il l'appliqua l'analyse des
octogones de Fou-Hi.

En 1728, le mcanicien franais Falcon construit le premier mtier tisser dont il
commande le fonctionnement avec une planchette en bois perce de trous. C'est la premire
machine commande par un programme. Ce systme fut perfectionn par Joseph-Marie Jacquard
en 1805. La planchette de bois fut remplace par des cartes en carton perfores articules, comme
on peut encore en voir dans les orgues portatifs. Les mcanismes d'excution et les mcanismes
de contrle taient spars. Ce systme permettait de reproduire des motifs compliqus avec une
qualit gale, mais il supprimait galement cinq ouvriers par mtier tisser. Cela dclencha une
raction violente des canuts de Lyon. Il s'agit sans doute d'un des premiers exemples de l're
industrielle du remplacement d'hommes par des machines automatiques. Cependant ds 1812 on
comptait 10000 de ces mtiers tisser.

En 1820 apparat le premier "Arithmomtre" de Charles Xavier-Thomas de Colmar, sur la
base de la machine de Leibniz. Il pouvait excuter les quatre oprations arithmtiques (addition,
soustraction, multiplication, division). La premire version de disposait que de 3 chiffres pour les
oprandes et 6 pour le totaliseur. Mais cette capacit augmenta progressivement jusqu' 30
chiffres. Sa facilit d'emploi assura son succs jusqu' la Premire Guerre Mondiale.

Jusqu'alors les calculateurs mcaniques taient capables d'excuter des oprations une
une. Dans les annes 1820 et 1830, un mathmaticien anglais, Charles Babbage, rapprocha les
machines calculer et les systmes de commande de Jacquard dans le but d'effectuer des calculs
complexes ncessitant l'excution en squence de plusieurs oprations arithmtiques. Il a d'abord
tent de raliser une "machine diffrences" destine au calcul de tables de navigation ou de tir.
Il parviendra construire un prototype partiel. Mais les difficults techniques ralentissent son
projet, qu'il devra abandonner aprs une dizaine d'annes de travail, faute de moyens financiers
suffisants. Il eut alors l'ide d'une machine plus universelle : la "machine analytique" capable
d'enchaner l'excution d'oprations arithmtiques en fonction d'instructions donnes par
l'utilisateur. Cette machine contenait les concepts de base qui se retrouvent dans les ordinateurs
modernes : une unit de traitement (le moulin) commande par une unit de contrle, une
mmoire (le magasin), une unit d'entre pour recevoir des cartes perfores (oprations et
nombres) et une unit de sortie pour imprimer ou perforer le rsultat. Charles Babbage a t aid
dans la conception de cette machine par sa collaboratrice Ada Lovelace (fille du pote Lord
Byron). Elle a en particulier dfini le principe de l'enchanement d'itrations successives pour la
ralisation d'une opration, baptis algorithme en l'honneur du mathmaticien arabe Al-
Khuwarizmi. Cette machine tait cependant trop ambitieuse pour la technologie de l'poque. Un
exemplaire fut partiellement construit par son fils en 1888.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 7
En 1854 George Boole propose sa formulation mathmatique des propositions logiques
qui applique au systme binaire est la base du fonctionnement des ordinateurs.

I.2.b Le calcul lectromcanique

En 1890, Hermann Hollerith construisit un calculateur de statistiques qui fut utilis pour
le recensement amricain. Il s'agissait d'une machine lectromcanique plus performante que les
machines mcaniques. Il dveloppa cette occasion la carte perfore et inventa le systme de
codage des informations qui porte son nom. La dtection de la prsence ou de l'absence d'un trou
se faisait au moyen d'aiguilles qui traversaient les trous et fermaient chacune un circuit lectrique
en trempant dans un godet de mercure. Par ailleurs la plupart des questions du recensement
taient poses sous forme binaire : premier exemple de l'imbrication de l'architecture matrielle et
de l'organisation des donnes. Hollerith fonda en 1896, la Tabulating Machine Company pour
produire ses cartes et machines mcanographiques. En 1924, celle-ci devint l'International
Business Machines Corporation : IBM.

En 1914, Leonardo Torres y Quevedo proposa de raliser une version lectromcanique
de la machine de Babbage. Faute de moyens ce fut un chec.

En 1930, Vannemar Bush construisit au MIT un analyseur diffrentiel, capable de
rsoudre des quations diffrentielles rencontres dans l'tude des circuits lectriques. La mme
anne, Georges Stibitz ralisa un additionneur binaire relais, le "Modle K", s'appuyant sur les
travaux de Boole.

Les annes 30 virent galement de nombreux progrs sur le plan thorique. Par exemple,
en 1936 Alan Turing nonce le principe d'une machine (virtuelle), qui pouvait en thorie raliser
tous les calculs mathmatiques, avec en particulier des instructions conditionnelles. En 1938,
dans sa thse, Claude Shannon reprenant les travaux de Leibniz et Boole, mis en vidence une
analogie entre l'algbre binaire et les circuits lectriques. Il montra plus tard que tout calcul
logique ou arithmtique peut tre ralis avec uniquement les trois oprations logiques
fondamentales : ET, OU et NON. Il est galement l'inventeur du terme bit pour binary digit pour
dsigner le chiffre binaire.

En 1938, Konrad Zuse cra avec des moyens modestes un ordinateur binaire
programmable mcanique, le Z1. En 1939, il perfectionna sa machine en remplaant une partie
des pices mcaniques par des relais lectromcaniques (Z2). Le Z3 et le Z4, virent le jour en
1941 et furent utiliss pour des calculs aronautiques. En 1939, John Atanasoff et Clifford Berry
ralisrent un additionneur binaire 16 bits. Ils furent les premiers utiliser des tubes vide.

Parmi les derniers calculateurs lectromcaniques il nous faut citer le Mark 1 ou ASCC
(Automatic Sequence Controlled Calculator), dvelopp en 1941 conjointement par IBM et
Harward, sous la direction de Howard Aiken. Il s'agissait d'une norme machine de 5 tonnes,
couvrant 25 m
2
et consommant 25 kW. Il comptait 3000 relais et 760000 pices mcaniques. Le
programme tait lu sur une bande de papier, les donnes partir d'une seconde bande de papier
ou d'un lecteur de cartes. A l'origine les sauts conditionnels taient impossibles. Par la suite il fut
quip de plusieurs lecteurs de cartes pour permettre ces sauts conditionnels et l'excution de
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 8
sous-programmes. En 1945, un insecte (bug) coince un relais, provoquant un dysfonctionnement
de cette machine analytique.

I.2.c L're de l'lectronique

Egalement en 1941, John Atanasoff et Clifford Berry construisirent le premier ordinateur
binaire lampes : l'ABC (Atanasoff-Berry Computer). Il comportait une mmoire de 60 mots de
50 bits et une unit arithmtique et logique. Bien que le programme ne fut pas stock en
mmoire, l'ABC est souvent considr comme le premier vrai ordinateur.

L'anne 1945 vit la mise en service de l'ENIAC (Electronic Numerical Integrator And
Calculator) propos en 1942 par Presper Eckert et John Mauchly. Il tait compos de 19000
tubes, 1500 relais, consommait 170 kW, pesait 30 tonnes et couvrait une surface de 72 m
2
. Il tait
environ 500 fois plus rapide que le Mark 1 (environ 330 multiplications par seconde). Cependant
sa programmation s'effectuait l'aide de fiches brancher dans un tableau de connexions. Le
travail de programmation pouvait prendre plusieurs jours. A la fin de cette mme anne, John von
Neumann, consultant sur l'ENIAC, proposa de coder le programme sous forme numrique et de
l'enregistrer en mmoire, avec un gain en souplesse et rapidit. Il jetait ainsi les bases de
l'architecture de l'ordinateur moderne. Il ne fut cependant pas le premier raliser cette machine.
Des querelles entre Eckert, Mauchly et von Neumann portant notamment sur la paternit de l'ide
et des brevets retardrent le projet EDVAC (Electronic Discret VAriable Computer). Celui-ci fut
devanc en 1948 par un prototype, appel Manchester Mark 1, puis en 1949 par l'EDSAC
(Electronic Delay Storage Automatic Computer) premire machine oprationnelle construite par
Maurice Wilkes.

En 1948, William Shockley, John Bardeen et Walter Brattain inventrent le transistor
bipolaire. Celui-ci remplaa rapidement les lampes apportant fiabilit et rapidit aux ordinateurs
de seconde gnration.



Figure 2

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 9
La taille et la consommation diminurent sensiblement. Le premier ordinateur utilisant des
transistors fut le TRADIC en 1955. A la mme poque, IBM commercialisa le premier disque dur
(5 disques de 61 cm de diamtre pour 5 Mo). Les mmoires tore de ferrite taient galement
disponibles. Le PDP-8 de DEC fut le premier mini-ordinateur tre diffus en grande srie
(50000 exemplaires).

La troisime gnration, partir de 1970, correspond l'utilisation des circuits intgrs.
L'Intel 4004, le premier microprocesseur 4 bits, fut en 1971 le premier circuit intgr incorporant
unit de calcul, mmoire et gestion des entres-sorties. Il comportait 2300 transistors. Le 8008
sortit un an plus tard. Le premier micro-ordinateur, le Micral N, fut construit en 1973 par une
entreprise franaise R2E. Depuis le dbut des annes 1980, le niveau d'intgration des puces
ayant largement progress en surface et en densit, on parle de quatrime gnration.


I.3 Quelques gnralits sur les architectures
I.3.a Architecture de Von Neumann

Cette architecture est caractrise par un processeur et une mmoire relis par un bus :

P M
B


Figure 3

Les instructions et les donnes sont stockes dans la mmoire. Pour accder une information
contenue en mmoire le processeur affiche sur le bus l'adresse de celle-ci. Aprs un certain temps
le contenu demand est affich par la mmoire sur le bus.

On constate immdiatement que la rapidit d'une machine sera limite par l'lment le
plus lent. Il ne sert rien de fabriquer un processeur trs rapide si la mmoire n'est pas capable de
lui fournir un rythme suffisant les instructions excuter, ni les donnes traiter. De manire
gnrale lorsqu'on amliore les performances d'un lment de la machine il faut s'assurer que les
autres lments qui lui sont connects seront capables de supporter des dbits plus levs. Dans le
cas contraire il peut tre favorable de revoir l'architecture de la machine. L'efficacit d'un
ordinateur est directement lie au dbit des informations (instructions et donnes) qui circulent
entre les diffrents lments. La conception d'une architecture a pour but d'optimiser ce dbit, en
prenant en compte des contraintes financires, commerciales et techniques.

La machine de base, dite de Von Neumann, que nous venons de dcrire ne prsenterait
aucun intrt sans au moins un dispositif d'entres/sorties pour permettre une communication
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 10
avec l'extrieur. Pour une machine aussi simple il existe au moins trois mthodes pour installer un
tel dispositif :

- Interface directement relie au processeur :

P M
B
E/S


Figure 4

La communication est ralise l'aide d'instructions spcialises ou par l'intermdiaire de
registres spcialiss.

- Interface connecte au bus commun :

P M
B
E/S


Figure 5

Un fil spcialis du bus indique si le processeur s'adresse la mmoire ou l'interface d'E/S.

- Interface vue par le processeur comme une partie de la mmoire :

P M
B
E/S


Figure 6

L'interface est sur le bus commun, le choix de l'adresse indique si le processeur s'adresse la
mmoire ou l'interface. Si sur le plan du matriel ces deux solutions peuvent tre trs
diffrentes, sur le plan du concept elles sont comparables : un fil supplmentaire correspond de
fait un bit. Dans les deux cas la mmoire et le dispositif dentres/sorties sont identifis par des
espaces dadressage diffrents.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 11

I.3.b Architecture de Harvard

Dans cette architecture on spare physiquement la mmoire des instructions et la mmoire
de donnes. Chacune de ces mmoires est accessible par un bus diffrent. Il est alors possible
d'accder simultanment aux instructions et aux donnes, ce qui permet d'augmenter le flux des
informations. En premire approximation il est donc possible de multiplier la vitesse de la
machine par deux, en multipliant par deux la vitesse du processeur tout en conservant le mme
type de mmoire. En pratique il peut tre moins onreux de mettre deux bus dans une machine
que de doubler la vitesse de la mmoire.

P
BI BD
MD MI


Figure 7

Cette architecture a t exprimente trs tt, puis abandonne pendant une vingtaine d'annes.
Elle est nouveau employe dans certains micro-ordinateurs. Elle est galement reprise par
l'intermdiaire de deux caches mmoires dans larchitecture de microprocesseurs. Le 68030 fut
lun des premiers disposer de deux caches consacrs lun aux instructions et lautre aux
donnes.

Chercher pouvoir effectuer plusieurs oprations (ici transferts des instructions et des
donnes) en parallle est un principe trs souvent mis en uvre en architecture des ordinateurs.
Par exemple, pour permettre aux interfaces d'E/S de lire ou d'crire des donnes en mmoire
pendant que le processeur effectue des calculs sur les donnes prcdentes, il est intressant
d'utiliser une mmoire de donnes accessible depuis deux ports diffrents.

BI BD1 BD2
MI P MD E/S


Figure 8


De cette faon le processeur et l'interface peuvent chacun accder alternativement une moiti
diffrente de la mmoire :

Phase 1 : le processeur lit des donnes provenant de la premire moiti de la mmoire pendant
que l'interface d'Entres/Sorties range de nouvelles donnes dans la seconde moiti.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 12

Phase 2 : le processeur accde aux donnes transfres par l'interface lors de la phase 1 et
l'interface crit dans la premire moiti de la mmoire.


BI BD1 BD2
MI P E/S
BI BD1 BD2
MI P E/S
Phase 1
Phase 2


Figure 9

I.3.c Processeur

Sans dvelopper ici les principes de fonctionnement d'un processeur, nous pouvons dj
dire que l'excution des instructions peut se dcouper en grandes tapes :

- chargement de l'instruction excuter;
- dcodage de l'instruction;
- localisation dans la mmoire des donnes utilises par l'instruction;
- chargement des donnes si ncessaire;
- excution de l'instruction;
- sauvegarde des rsultats leurs destinations respectives;
- passage l'instruction suivante.

A chacune de ces tapes peut correspondre une unit fonctionnelle. Cette squence simple peut se
compliquer, en particulier si la machine possde des instructions de longueur variable : certaines
instructions tant codes sur un mot de la mmoire et d'autres sur plusieurs. Dans ce cas l'unit
charge de la recherche et du chargement de l'instruction doit tre capable de reconnatre (ou de
pr-dcoder) le type de l'instruction pour dterminer s'il lui faut aller chercher la suite. Dans la
plupart des processeurs, l'unit centrale de traitement se dcompose en :

l'unit de commande qui contient un dispositif de dcodage des instructions (dcodeur) et
un squenceur qui contrle les circuits ncessaires l'excution de l'instruction en cours;
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 13
l'unit arithmtique et logique (UAL ou ALU : Arithmetic and Logical Unit) qui excute
des oprations arithmtiques comme l'addition, la soustraction, des dcalages, des
oprations boolennes (ET, OU, etc), des comparaisons, etc
les registres : mmoire locale trs rapide qui permet de stocker des rsultats temporaires
ou des informations de commande. Parmi ceux-ci on distingue les registres arithmtiques
qui servent aux oprations arithmtiques. D'autres registres ont des fonctions particulires.
On trouve par exemple :
- le compteur ordinal (CO) qui pointe sur la prochaine instruction excuter;
- le registre d'instruction (RI) qui contient l'instruction en cours d'excution;
- le registre d'tat (PSW : Processor Status Word) qui indique l'tat du systme :
dpassement, retenue, etc
- une pile et un pointeur de pile (SP : Stack Pointer);
des chemins de donnes.

Toutes ces units fonctionnent au mme rythme, une cadence impose par une horloge,
gnralement externe l'unit centrale. A chaque cycle d'horloge, chaque unit va ouvrir ou
fermer certaines portes pour dplacer, lire, crire, comparer, additionner des bits. Ceci se fait en
fonction d'ordres donns par l'unit de contrle. Ces ordres dpendent videmment de
l'instruction excuter.

Le tableau suivant rappelle quelques units utilises pour exprimer la frquence de
fonctionnement d'un processeur et la dure correspondante des cycles. Ainsi un processeur
fonctionnant 250 MHz a un cycle de 4 ns.

Frquence Prfixe Hz Cycle Prfixe s
1 kHz kilo 10
3
1 ms mili 10
-3
1 MHz mga 10
6
1 s micro 10
-6
1 GHz giga 10
9
1 ns nano 10
-9

Table 1

Nous verrons qu'une manire d'amliorer les performances d'une unit centrale est de faire
fonctionner ses diverses units fonctionnelles en parallle. Cela signifie aller chercher
l'instruction suivante alors que le dcodeur travaille sur l'instruction en cours. Il y a anticipation.
Il faut pour pouvoir profiter de cette technique il faut que les instructions soient excutes en
squence et donc viter les ruptures. Il faut donc que la programmation soit adapte
l'architecture des machines. Il peut galement tre possible d'excuter la mme instruction
simultanment sur plusieurs donnes. Il suffit d'une seule unit de commandes associe
plusieurs units de traitement.

I.3.d Mmoires

Nous appelons mmoire tout dispositif capable de stocker des informations (instructions
et donnes) de telle sorte que l'organe qui les utilise puisse n'importe quel moment accder
l'information qu'il demande.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 14

Les informations peuvent tre crites ou lues. Il y a criture lorsqu'on enregistre des
donnes en mmoire, lecture lorsqu'on sort des informations prcdemment enregistres. La
lecture peut tre destructive (l'information lue n'est plus en mmoire) ou non. Le temps d'accs
est le temps qui s'coule entre l'instant o a t lance une opration de lecture en mmoire et
l'instant o la premire information est disponible. Le temps de cycle reprsente l'intervalle
minimum qui doit sparer deux demandes successives de lecture ou d'criture. Le temps de cycle
est gal ou suprieur au temps d'accs. On appelle cadence de transfert ou dbit d'une mmoire, le
nombre maximum d'informations lues ou crites par unit de temps.

Une mmoire est forme d'un certain nombre de cellules, ou cases, contenant chacune une
information. Chaque cellule a un numro qui permet de la rfrencer et de la localiser. Ce numro
est son adresse. Avec une adresse de n bits il est possible de rfrencer directement au plus 2
n

cellules. La capacit d'une mmoire est le nombre total de cellules qu'elle contient. Elle s'exprime
en nombre de bits, d'octets (bytes) ou de mots (words). Compte tenu de l'adressage binaire, les
capacits des mmoires s'expriment en puissances de deux ou en multiples de 2
10
= 1024. La
table 2 explicite les units utilises.

Symbole Prfixe Dcimal Binaire
1 k kilo
10
3
2
10

= 1024
1 M mga
10
6
2
20

= 1048576
1 G giga
10
9
2
30

= 1073741824
1 T tra
10
12
2
40

= 1099511627776

Table 2

Dans une mmoire semi-conducteur, on accde directement n'importe quelle
information dont on connat l'adresse, le temps pour obtenir l'information ne dpend pas de
l'adresse. On dira que l'accs une telle mmoire est alatoire, direct ou encore slectif. A
l'inverse pour accder une information sur bande magntique il faut drouler la bande en
reprant tous les enregistrements jusqu' ce que l'on trouve celui que l'on adresse. On dit alors
que l'accs l'information est squentiel. Le temps d'accs est variable selon la position de
l'information recherche. L'accs peut encore tre semi-squentiel : combinaison des accs direct
et squentiel. Pour un disque magntique par exemple l'accs la piste est direct, puis l'accs au
secteur est squentiel. Les mmoires associatives permettent l'accs par le contenu.

L'information stocke est volatile si elle risque d'tre altre par un dfaut d'alimentation
lectrique et non volatile dans le cas contraire.

En ce qui concerne les mmoires le problme essentiel du constructeur est celui du prix.
En effet un instant donn ce sont toujours les mmoires d'accs le plus rapide qui sont les plus
onreuses et en gnral le prix augmente plus vite que la vitesse. Or, comme nous l'avons vu, la
vitesse d'accs la mmoire conditionne, dans une large mesure les performances globales d'une
machine. C'est pourquoi les ordinateurs actuels sont dots de plusieurs types de mmoires de
tailles et de vitesses diffrentes.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 15

On trouve d'abord des mmoires trs rapides (les plus chres), en petit nombre,
accessibles immdiatement par le processeur. Ce sont les registres. On trouve ensuite le cache ou
ant-mmoire. Accessible en quelques cycles d'horloge (1 ou 2 en gnral) il contient quelques
dizaines de milliers de mots. On a ensuite la mmoire principale ou mmoire centrale. On dispose
parfois d'une mmoire d'appui ou d'arrire-plan, intermdiaire entre la mmoire centrale et les
mmoires auxiliaires. Elle est constitue de circuits semi-conducteurs de faible prix, dont la
vitesse est faible pour des circuits de mmoire mais cent fois plus leve que celle des disques
magntiques. Toutes ces mmoires sont volatiles.

Les disques magntiques forment le niveau suivant (mmoires auxiliaires ou mmoires de
masse) et constituent une mmoire permanente dont les donnes restent valides quand on coupe
l'alimentation lectrique. Le dernier niveau correspond l'archivage des donnes. Jusqu' prsent
ce domaine tait l'exclusivit des bandes magntiques. Ces dernires annes ont vu apparatre un
nouveau produit qui peut dans certains cas fournir une alternative pour l'archivage. Il s'agit du
disque optique numrique. Celui-ci a des densits de stockage de 10
2
10
4
fois suprieures
celles des supports magntiques, pour des temps d'accs cinq dix fois plus grand.

La figure suivante schmatise cette hirarchie des mmoires :

mmoire centrale
mmoire d'appui
bande magntique disque optique
registres
cache
mmoire permanente : disque dur
cot
capacit

Figure 10

I.3.e Bus : le squelette des ordinateurs

Un bus est un moyen de communication entre les diffrents lments constituant une
machine. Il s'agit en gnral d'un ensemble de fils lectriques. Les diffrents lments sont relis
au bus par des connecteurs, dont l'ensemble constitue un fond de panier. Chaque emplacement
(slot) du fond de panier (backplane) peut recevoir une carte lectronique (board). Sur un bus
circulent diffrents types de signaux : adresses, donnes, contrle, alimentations, etc
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 16

I.3.f Entres/Sorties

Pour pouvoir excuter une tche, l'ordinateur doit disposer du programme et des donnes
(s'il y a lieu) qui s'y rfrent. Ds que le travail est accompli, les rsultats du traitement sont
communiqus l'utilisateur. Les techniques d'change d'informations entre l'ordinateur et son
environnement externe sont appeles techniques d'Entres/Sorties (E/S ou I/O pour
Input/Output). L'ordinateur change des informations non seulement avec des oprateurs
humains, par l'intermdiaire de terminaux de communication (consoles avec clavier, souris,
imprimantes, lecteurs, etc), mais galement avec des dispositifs varis : appareils de mesures,
capteurs, etc
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 17
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 18




Portes logiques et algbre de Boole



II.1 Systmes binaires

Actuellement, alors que les ordinateurs analogiques restent du domaine de la recherche,
les informations traites par les systmes informatiques sont codes sous forme binaire. Un
systme binaire (signal, circuit, etc) est un systme qui ne peut exister que dans deux tats
autoriss. Le circuit de la figure 1 est un exemple plus que simpliste de circuit binaire : selon que
l'interrupteur S est ouvert ou ferm la tension V
0
ne peut tre gale qu' +5 V ou 0 V.

R
+5V
S
V
0


Figure 1

La ralit technique est un peu plus complexe avec des interrupteurs commands raliss par des
transistors. Diverses notations peuvent tre utilises pour reprsenter ces deux tats :

numrique : 1 et 0 (bit : binary digit)
logique : vrai et faux (true et false)
oui et non (yes et no)
physique : ouvert et ferm
ON et OFF
haut et bas (HI et LO, H et L, H et B)

Pour tudier les fonctions de variables binaires on utilise une algbre dveloppe au
XIX
me
sicle par un mathmaticien anglais : Georges Boole. Dans ce chapitre nous nous
proposons de prsenter les fonctions de base de l'algbre boolenne ainsi que leurs
reprsentations symboliques en lectronique. Nous rappellerons galement, sans prtendre la
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 19
rigueur mathmatique, les quelques notions lmentaires ncessaires l'tude des circuits
lectroniques.

L'algbre de Boole concerne la logique des systmes binaires. Une variable boolenne ne
peut prendre que deux valeurs possibles 0 ou 1. En lectronique les deux tats d'une telle variable
peuvent tre associs deux niveaux de tension : V(0) et V(1) pour les tats 0 et 1
respectivement. On distingue les logiques positive et ngative selon que V(1) > V(0) ou
V(1) < V(0). Ce que nous pouvons rsumer dans la table suivante donnant la signification logique
des niveaux physiques :

Niveau Logique positive Logique ngative
H 1 0
L 0 1

Table 1

En pratique un niveau est dfini par un domaine en tension ou en courant. Par exemple en
technologie TTL, un niveau sera dit haut s'il est compris entre +2 V et +5 V et un niveau sera bas
s'il est infrieur +0.8 V. Dans la plage intermdiaire, ltat est indtermin. Si les transitions
sont invitables, il est indispensable de traverser cette plage intermdiaire le plus rapidement
possible. Dautre part, les signaux doivent tre stabiliss avant dtre pris en compte par les
circuits. Il y a donc des contraintes temporelles, spcifies par les chronogrammes des feuilles de
donnes (data sheets) fournis par les constructeurs. Dans ce cours, destin des informaticiens,
nous naborderons que trs peu cet aspect pratique de llectronique.

V(1)
V(0)
V(1)
V(0)
Logique positive Logique ngative
"0"
"1" "0"
"1"

Figure 2

Nous verrons que dans certains cas (supports magntiques, lignes de transmission, disques
optiques, etc.) linformation peut tre porte par les transitions entre deux tats.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 20
II.2 Porte OU (inclusif)

L'opration OU (OR), encore appele addition logique, a au moins deux entres. La sortie
d'une fonction OU est dans l'tat 1 si au moins une de ses entres est dans l'tat 1. La fonction
OU, note +, est reprsente par le symbole indiqu sur la figure 3 et est dfinie par la table de
vrit suivante :

A B Y = A + B
0 0 0
0 1 1
1 0 1
1 1 1

Table 2

Une table de vrit donne pour toutes les combinaisons possibles des variables logiques en entre
X, ici X = (A, B), la valeur de la fonction logique f (X).


A
B
Y


Figure 3


Il est facile de vrifier les proprits suivantes de la fonction OU :

(A + B) + C = A + (B + C) = A + B + C Associativit
A + B = B + A Commutativit
A + A = A Idempotence
A + 0 = A Elment neutre
A + 1 = 1 Elment absorbant


II.3 Porte ET

L'opration ET (AND), encore dnomme produit logique ou intersection, a au moins
deux entres. La sortie d'une fonction AND est dans l'tat 1 si et seulement si toutes ses entres
sont dans l'tat 1. La fonction ET, note , est reprsente par le symbole indiqu sur la figure 4 et
est dfinie par la table de vrit suivante :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 21

A B Y = A B
0 0 0
0 1 0
1 0 0
1 1 1

Table 3

A
B
Y


Figure 4

Il est facile de vrifier les proprits suivantes de la fonction ET :

(A B) C = A (B C) = A B C Associativit
A B = B A Commutativit
A A = A Idempotence
A 1 = A Elment neutre
A 0 = 0 Elment absorbant

D'autre part, les oprations ET et OU sont distributives l'une par rapport l'autre :

A (B + C) = (A B) + (A C) Distributivit du ET sur le OU
A + (B C) = (A + B) (A + C) Distributivit du OU sur le ET

Mentionnons galement les proprits dabsorption :

A + (A B) = A
A (A + B) = A

En effet :

A + (A B) = (A 1) + (A B) = A (1 + B) = A 1 = A
A (A + B) = (A A) + (A B) = A + (A B) = A


II.4 Inverseur : porte NON

L'opration NON (NOT) a une seule entre et une seule sortie. La sortie d'une fonction
NON prend l'tat 1 si et seulement si son entre est dans l'tat 0. La ngation logique est
symbolise par un petit cercle dessin l'endroit o une ligne en entre ou en sortie rejoint un
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 22
symbole logique, comme par exemple sur la figure 5. La table 4 donne la table de vrit
correspondante.

A
Y = A
0 1
1 0

Table 4

A Y


Figure 5


A partir des dfinitions des fonctions NON, OU et ET nous pouvons dduire :

( ) B A B A A
0 A A
1 A A
A A
+ = +
=
= +
=




II.5 Thormes de De Morgan

De Morgan a exprim deux thormes qui peuvent se rsumer sous la forme suivante :

... C B A ... C B A
... C B A ... C B A


= + + +
+ + + =


Pour vrifier le premier thorme nous remarquons que si toutes les entres sont 1 les deux
membres de l'quation sont nuls. Par contre si une au moins des entres est 0 les deux membres
de l'quation sont gaux 1. Il y a donc galit quels que soient les tats des diverses entres. Le
second thorme se vrifie de la mme manire : si toutes les entres sont 0 les deux membres
de l'quation sont 1, par contre si au moins une des entres est 1 les deux expressions sont 0.

Les thormes de De Morgan montrent qu'une fonction ET peut tre fabrique partir des
fonctions OU et NON. De mme une fonction OU peut tre obtenue partir des fonctions ET et
NON. La figure 6 montre la conversion d'une porte OU en porte ET et rciproquement, utilisant
le fait que :
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 23
B A B A B A
B A B A B A

= = +
+ = + =


De mme, partir des thormes de De Morgan nous pouvons montrer qu'une porte ET en
logique positive fonctionne comme une porte OU en logique ngative et vice versa.

A+B
A
B
A
B
A.B
A
B
A.B
A
B
A+B


Figure 6


II.6 Portes NON ET et NON OU

Une porte NON ET (NAND : NOT AND) est constitue par un inverseur la sortie d'une
porte ET (fig. 7). Une ngation la sortie d'une porte OU constitue une fonction NON OU
(NOR : NOT OR) symbolise sur la figure 8. Leurs tables de vrit respectives sont donnes par
les tables 5 et 6 :

A B
B A Y =
A B
B A Y + =
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

Table 5

Table 6

A
B
Y


Figure 7
A
B
Y


Figure 8

Comme les transistors qui interviennent comme lments de base des portes sont par
essence des inverseurs, les portes NAND et NOR sont trs usites dans la ralisation des circuits
logiques. Grce aux lois de De Morgan il est possible de raliser des systmes logiques avec
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 24
uniquement des portes NAND ou NOR. La figure 9 montre, par exemple, comment les portes
NOT, OR et AND peuvent tre obtenues partir de portes NOR.

Y=A.B
A
B
A Y=A
A
B
Y=A+B


Figure 9


II.7 Porte OU exclusif

La sortie d'une fonction OU exclusif (XOR) deux entres est dans l'tat 1 si une entre et
seulement une est dans l'tat 1. La reprsentation symbolique d'une fonction XOR (note ) est
donne sur la figure 10 et sa table de vrit est la suivante :

A B B A Y =
0 0 0
0 1 1
1 0 1
1 1 0

Table 7


A
B
Y


Figure 10

Nous pouvons formuler de diverses manires la dfinition prcdente : Y est gal 1 si
et seulement si A = 1 ou B = 1 mais pas simultanment. Ce que nous pouvons crire :
B A =

) B A ( ) B A ( B A + =

Nous pouvons encore dire est gal 1 si A = 1 et B = 0 ou si B = 1 et A = 0. Soit : B A Y =

) A B ( ) B A ( B A + =

Une fonction XOR fournit un comparateur d'ingalit : B A Y = ne vaut 1 que si A et B sont
diffrents. Si A et B sont gaux 1 ou si A et B sont gaux 0 alors Y = 0. Ce qui s'crit :
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 25

) B A ( ) B A ( B A + =

La fonction B A Y Z = = correspond un dtecteur d'galit. Nous avons encore la relation
suivante qui peut tre dmontre en utilisant les thormes de De Morgan :

) B A ( ) B A ( B A + + =

A ces quatre relations logiques correspondent quatre circuits ralisant la fonction XOR partir de
portes OR et AND.

A
B
A
B
A
B
A
B


Figure 11

Mentionnons galement quelques proprits faciles vrifier :

B A B A B A
B A B A
A 1 A
A 0 A
1 A A
0 A A
= =
=
=
=
=
=



II.8 Porte Trois Etats

La porte "3 tats", ou "tri-state", n'est pas une porte logique au sens strict. Elle est
principalement utilise pour connecter une sortie sur une ligne commune plusieurs circuits (un
bus par exemple). Elle remplace gnralement une porte ET. En effet, la mise en parallle sur une
mme ligne de plusieurs portes ET introduit des capacits parasites. Ceci augmente les constantes
de temps et a pour effet de dtriorer les fronts de monte et de descente des signaux. Cela peut
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 26
perturber le fonctionnement d'un systme. Une porte 3 tats est schmatise sur la figure
suivante :

A Y
C

Figure 12


C A Y sortie
1 0 0 faible impdance
1 1 1 faible impdance
0 X 0 haute impdance

Table 8

Lorsque la commande C est 0 l'impdance de sortie est trs grande : pratiquement dconnecte.
D'autre part, ces portes "3 tats" fournissent une amplification de puissance.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 27
II.9 Rsum des identits boolennes de base

Il est possible de montrer que toute fonction boolenne d'un nombre quelconque de
variables peut s'crire avec les trois fonctions de base ET, OU et NON. Nous avons rassembl
dans la table 9 des relations de base de l'algbre de Boole qui nous seront utiles par la suite.

OU (A + B) + C = A + (B + C) = A + B + C
A + B = B + A
A + A = A
A + 0 = A
A + 1 = 1
Associativit
Commutativit
Idempotence
Elment neutre
Elment absorbant
ET (A B) C = A (B C) = A B C
A B = B A
A A = A
A 1 = A
A 0 = 0
Associativit
Commutativit
Idempotence
Elment neutre
Elment absorbant
Distributivit A (B + C) = (A B) + (A C)
A + (B C) = (A + B) (A + C)

NON
A A =
1 A A = +
0 A A =

A + (A B) = A
A (A + B) = A
A ) B A ( ) B A ( = + +
B A ) B A ( A + = +

De Morgan
... C B A ... C B A
... C B A ... C B A


= + + +
+ + + =


OU exclusif
) B A ( ) B A ( B A + =
) A B ( ) B A ( B A + =
) B A ( ) B A ( B A + =
) B A ( ) B A ( B A + + =
B A B A B A
B A B A
A 1 A
A 0 A
1 A A
0 A A
= =
=
=
=
=
=



Table 9

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 28
II.10 Ecritures canoniques d'une fonction logique
II.10.a Somme canonique de produits

Considrons trois variables boolennes x, y et z. A partir de ces trois variables nous
pouvons construire huit produits logiques (ou minterms) P
i=0,7
faisant intervenir x ou x , y ou y
et z ou z . Pour chacune des huit combinaisons C
i=0,7
(000, 001, 010, etc) des variables x, y et
z, nous pouvons calculer les valeurs de ces produits. Celles-ci sont rassembles dans la table 10.
Chacun de ces produits prend la valeur 1 pour une et une seule combinaison : P
i
vaut 1
uniquement pour la combinaison C
i
et 0 pour les autres combinaisons.

P
0
P
1
P
2
P
3
P
4
P
5
P
6
P
7

C
i
x y z
z y x

z y x

z y x

z y x

z y x

z y x

z y x

z y x
0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 0 0
2 0 1 0 0 0 1 0 0 0 0 0
3 0 1 1 0 0 0 1 0 0 0 0
4 1 0 0 0 0 0 0 1 0 0 0
5 1 0 1 0 0 0 0 0 1 0 0
6 1 1 0 0 0 0 0 0 0 1 0
7 1 1 1 0 0 0 0 0 0 0 1

Table 10

Pour toute fonction logique de trois variables x, y et z, nous pouvons crire sa table de
vrit, c'est--dire expliciter sa valeur pour chacune des huit combinaisons C
i
. Considrons, par
exemple, la fonction F dont la table de vrit est donne dans la table 11 :

C
i
x y z F P
1
+ P
3
+ P
4

0 0 0 0 0 0
1 0 0 1 1 1
2 0 1 0 0 0
3 0 1 1 1 1
4 1 0 0 1 1
5 1 0 1 0 0
6 1 1 0 0 0
7 1 1 1 0 0

Table 11

Cette fonction F prend la valeur 1 pour la combinaison C
1
comme le produit P
1
, la combinaison
C
3
comme P
3
et la combinaison C
4
comme P
4
. La fonction F prenant la valeur 0 pour toutes les
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 29
autres combinaisons comme les produits P
1
, P
3
, P
4
, nous pouvons donc crire que F est gale la
fonction :
F = P
1
+ P
3
+ P
4


Nous pouvons vrifier cette identit dans la table 11. Nous pouvons donc exprimer F en fonction
des variables x, y et z sous la forme :

z y x z y x z y x F + + =

Cette faon, trs gnrale, d'crire une fonction boolenne est appele somme canonique de
produits.

II.10.b Produit canonique de sommes

Soient encore trois variables binaires x, y et z. Nous pouvons dfinir huit sommes
logiques des trois variables faisant intervenir x ou x , y ou yet z ou z . La table 12 donne les
tables de vrit de ces sommes. Nous constatons que chacune de ces fonctions prend la valeur 0
pour une et une seule combinaison.

S
0
S
1
S
2
S
3
S
4
S
5
S
6
S
7

C
i
x y z
z y x + +

z y x + + z y x + + z y x + + z y x + + z y x + +

z y x + +

z y x + +
0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 0 1 1 1 1 1 1
2 0 1 0 1 1 0 1 1 1 1 1
3 0 1 1 1 1 1 0 1 1 1 1
4 1 0 0 1 1 1 1 0 1 1 1
5 1 0 1 1 1 1 1 1 0 1 1
6 1 1 0 1 1 1 1 1 1 0 1
7 1 1 1 1 1 1 1 1 1 1 0

Table 12

Reprenons l'exemple prcdent de la fonction F. Celle-ci vaut 0 pour les combinaisons
C
0
, C
2
, C
5
, C
6
et C
7
en mme temps que S
0
, S
2
, S
5
, S
6
et S
7
. La fonction F peut donc tre vue
comme le produit logique de ces cinq sommes, ce qui est vrifi dans la table 13. Nous pouvons
donc exprimer la fonction F sous la forme suivante :

) z y x ( ) z y x ( ) z y x ( ) z y x ( ) z y x ( F + + + + + + + + + + =

Cette criture est appele produit canonique de sommes. Celle-ci est moins utilise que la somme
canonique de produits.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 30
C
i
x y z F S
0
S
2
S
5
S
6
S
7

0 0 0 0 0 0
1 0 0 1 1 1
2 0 1 0 0 0
3 0 1 1 1 1
4 1 0 0 1 1
5 1 0 1 0 0
6 1 1 0 0 0
7 1 1 1 0 0

Table 13


II.11 Simplification de l'criture des fonctions logiques
II.11.a Simplification algbrique

Simplifier une expression boolenne c'est lui trouver une forme plus condense, faisant
intervenir moins d'oprateurs et conduisant une ralisation matrielle plus compacte. On peut
simplifier une fonction par manipulation algbrique en utilisant par exemple les relations
rassembles dans la table 9. Considrons la fonction F dfinie par la table de vrit suivante :

x y z F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Table 14

Nous en dduisons sa forme canonique somme de produits :

z y x z y x z y x z y x F + + + =
Nous pouvons crire :

x z z y y x
) z z ( y x ) y y ( z x ) x x ( z y
) z y x z y x ( ) z y x z y x ( ) z y x z y x (
z y x z y x z y x z y x F
+ + =
+ + + + + =
+ + + + + =
+ + + =

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 31

Cependant cette mthode, qui demande astuce et chance, n'est pas toujours trs aise mettre en
uvre. Nous allons maintenant dcrire une mthode graphique trs utile pour un nombre de
variables infrieur 6.

II.11.b Tableaux de Karnaugh

La mthode de simplification de Karnaugh repose sur l'identit :

A ) B B ( A ) B A ( ) B A ( = + = +

Elle est base sur l'inspection visuelle de tableaux disposs de faon telle que deux cases
adjacentes en ligne et en colonne ne diffrent que par l'tat d'une variable et une seule.

Si une fonction dpend de n variables il y a 2
n
produits possibles. Chacun de ces produits
est reprsent par une case dans un tableau. Les figures suivantes donnent la structure des
tableaux de Karnaugh pour 2, 3, 4 et 5 variables. Observez comment sont numrotes les lignes et
les colonnes : d'une case sa voisine une seule variable change d'tat. Pour 5 variables, deux
reprsentations sont possibles. Dans ce cas le tableau de Karnaugh peut tre trait comme deux
tableaux 4x4 superposs (fig. 15) ou un seul tableau de 4x8 (fig. 16).

0 1
0
1
x
y
Tableau 2 variables

Figure 13

xy
z 00 01 11 10
0
1
Tableau 3 variables

Figure 14

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 32
xy
zt 00 01 11 10
00
01
11
10
Tableau 4 variables

Figure 15

00
01
11
10
00 01 11 10 zt
xy
00
01
11
10
00 01 11 10 zt
xy
u
0 1
Tableau 5 variables

Figure 16

xyz
tu 000 001 011 010 110 111 101 100
00
01
11
10
Tableau 5 variables

Figure 17

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 33
Chaque case d'un tableau correspond au seul minterm prenant la valeur 1 pour la combinaison
identifie par la ligne et la colonne. Par exemple les trois cases colories dans les tableaux de la
figure 18 correspondent respectivement aux produits suivants :

t z y x et t z y x , t z y x

Il faut comprendre chaque ligne et chaque colonne comme une structure cyclique continue :
chaque case a toujours quatre voisins qu'il faut ventuellement chercher l'autre extrmit de la
ligne ou de la colonne. Les tableaux de la figure 18 illustrent ce concept, les croix y matrialisent
les voisins des cases colories :

00
01
11
10
00 01 11 10 zt
xy

00
01
11
10
00 01 11 10 zt
xy
00
01
11
10
00 01 11 10 zt
xy

Figure 18

Dans le cas de 5 variables chaque case possde cinq voisins. Dans la reprsentation en
tableaux superposs, quatre voisins se situent dans le mme plan et le cinquime " la verticale"
dans l'autre plan. Pour la reprsentation plane de 8 colonnes il faut "replier" le tableau par rapport
la ligne mdiane sparant les colonnes 010 et 110, qui dfinit un axe de symtrie. La figure 19
illustre les 5 cases voisines de la case 10101.

xyz
tu 000 001 011 010 110 111 101 100
00
01
11
10

Figure 19

Le passage de la table de vrit au tableau de Karnaugh consiste remplir chaque case
avec la valeur de la fonction pour le produit correspondant. Il est possible de ne copier que les 1.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 34
La mthode de simplification de Karnaugh consiste rassembler les cases adjacentes
contenant des 1 par groupes de 2, 4 ou 8 termes. Considrons en effet le groupement vertical de
deux cases, en rouge, de la figure 20. Il correspond la somme de deux termes :

t y x t y x G + =

Il est possible de factoriser le produit x y :

y x ) t t ( y x G = + =

La variable t qui prend les deux valeurs 0 et 1 dans le groupement disparat. Il ne reste que le
produit des variables x et y, qui gardent ici la valeur 1.

Dans un groupement de deux termes on limine donc la variable qui change d'tat et on
conserve le produit des variables qui ne changent pas. Dans un groupement de quatre on limine
les deux variables qui changent d'tat. Dans un groupement de huit on limine trois variables,
etc

On cherche avoir le minimum de groupements, chaque groupement rassemblant le
maximum de termes. Une mme case peut intervenir dans plusieurs groupements car C + C = C.
C'est le cas de la case jaune sur la figure 20.

Pour les cases isoles on ne peut liminer aucune variable. On conserve donc le produit
caractrisant la case. L'expression logique finale est la runion des groupements aprs limination
des variables qui changent d'tat.

Reprenons l'exemple de la fonction F dfinie par la table de vrit 14. La figure 20 donne
le tableau de Karnaugh correspondant :

xy
t
0
1
00 01 11 10
1 1
1
1 xt
yt

xy
Figure 20

Nous y observons trois groupements de deux termes, nous pouvons crire pour la fonction :

x z z y y x F + + =

Nous retrouvons le rsultat prcdent.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 35
Considrons une autre fonction F de quatre variables x, y, z et t dfinie par la table 15. La
figure 21 donne le tableau de Karnaugh quivalent. Sur cette figure nous avons galement
matrialis les trois groupements possibles : deux groupements de quatre termes, dont un
contenant les quatre coins, et un groupement de deux termes. Cette mthode nous permettent
d'crire :

t z y t y y x F + + =


x y z t F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0

Table 15

00 01 11 10
00
01
11
10
xy
zt
1
1
1
1
1
1 1
1


Figure 21
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 36
II.12 Symboles logiques normaliss IEEE/ANSI

Nous utilisons dans ce cours les symboles logiques standards encore trs frquemment
rencontrs dans lindustrie de llectronique numrique. Cependant un ensemble de nouveaux
symboles normaliss a t introduit en 1984. Il sagit de la norme IEEE/ANSI 91-1984. Cette
nouvelle norme a pour objectif de faciliter la reprsentation de circuits intgrs plus compliqus
que les simples portes que nous utilisons ici.

Pour tre le plus complet possible nous prsentons ici un extrait de ces symboles normaliss :

Porte OU
1

Porte ET
&

Porte NON
1

Porte OU exclusif
= 1


Figure 22


II.13 Entre trigger de Schmitt

Nous avons mentionn au dbut de ce chapitre que les niveaux haut et bas sont souvent
caractriss par deux seuils en tension et sont spars par une bande indtermine. Les fronts
montants et descendants des signaux doivent alors tre suffisamment rapides de manire
traverser cette zone de basculement le plus vite possible. Sinon nous pouvons observer des
indterminations avec des oscillations. Cest ce que nous observons sur le chronogramme
schmatis sur la figure 24. Il reprsente la variation de la sortie Y (en bas) en fonction du signal
dentre X (en haut) dun circuit logique trs simple. Nous avons schmatis des fronts lents et
des parasites. Le signal de sortie ne correspond pas ce que nous voudrions.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 37
X Y

Figure 23

P
I P I

Figure 24


Pour viter ces problmes nous pouvons utiliser un "Trigger de Schmitt" qui dclenche sur deux
seuils diffrents selon que le signal monte ou descend. Cest ce que nous avons schmatis sur la
figure 25. La transition 0 1 du signal de sortie est provoque par un signal en entre montant et
passant au-dessus du seuil haut V
H
. La transition 1 0 du signal de sortie est provoque par un
signal en entre descendant et passant au-dessous du seuil bas V
B
. De cette faon nous obtenons
un signal de sortie conforme nos vux et exempt de parasites.



Figure 25

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 38
Les circuits logiques pour lesquels les entres sont filtres par un trigger de Schmitt sont
identifis par le symbole prsent sur la figure 26. Celui-ci est ajout lintrieur du symbole de
la porte considre.

X Y

Figure 26
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 39
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 40





Logique combinatoire



Dans ce chapitre nous nous intressons une famille de circuits logiques pour lesquels la
sortie dpend uniquement des tats des entres.


III.1 Addition binaire
III.1.a Demi-additionneur

Addition et soustraction sont deux oprations arithmtiques de base. Commenons par
l'addition de deux nombres binaires, la soustraction sera tudie dans le prochain paragraphe. En
base 2 l'addition de deux bits s'crit :

= +
= +
= +
= +
10 1 1
01 0 1
01 1 0
00 0 0


Comme en dcimal, nous devons donc tenir compte d'une ventuelle retenue (carry). La figure 1
montre la dcomposition de l'addition de deux nombres binaires de quatre bits.

a
3
a a a
0 1 2
b b b b
3 2 1 0
s
3 2 1 0
s s s
r
3 2 1 0
r r r
nombre A
nombre B
somme : S = A + B
retenues
+


Figure 1

L'addition des deux bits de plus bas poids (LSB : Least Significant Bit) a
0
et b
0
, donne un rsultat
partiel s
0
et une retenue r
0
. On forme ensuite la somme des deux bits a
1
et b
1
et de la retenue r
0
.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 41
Nous obtenons un rsultat partiel s
1
et une retenue r
1
. Et ainsi de suite, nous obtenons un rsultat
sur quatre bits S et une retenue r
3
.

Considrons la cellule symbolise sur la figure 2, comptant deux entres A et B, les deux bits
sommer, et deux sorties D le rsultat de la somme et C la retenue.

A B
HA
C D


Figure 2

Ce circuit, qui permettrait d'effectuer l'addition des deux bits de plus bas poids est appel demi-
additionneur (Half-Adder). Ecrivons la table de vrit de celui-ci :

A B C D
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Table 1

Si nous crivons ces deux fonctions sous leur forme canonique il vient :

=
+ =
B A C
B A B A D


Nous reconnaissons pour la sortie D une fonction OU exclusif, donc :

=
=
B A C
B A D


Ce qui peut tre ralis par le circuit schmatis sur le logigramme de la figure 3.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 42
A
B
D
C


Figure 3
III.1.b Additionneur

Il faut en fait tenir compte de la retenue des bits de poids infrieurs, un circuit
additionneur doit donc comporter trois entres et deux sorties, comme reprsent sur la figure 4.

A B
FA
C S
R


Figure 4

Ce serait possible en combinant deux demi-additionneurs comme prsent par la figure 5. En
pratique pour minimiser le nombre de composants, ou de portes dans un circuit intgr, un tel
additionneur est ralis directement.

HA
HA
C
2
C
S
1
1
R
A
B
S
C


Figure 5


Les entres A et B reprsentent les bits additionner et R le report de la retenue de l'addition des
bits de poids infrieurs. La sortie S reprsente le rsultat de la somme et C la retenue. La table de
vrit de ce circuit est la suivante :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 43
A B R S C
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Table 2

A partir de cette table nous pouvons crire pour S et C les expressions boolennes suivantes :

+ + + =
+ + + =
R B A R B A R B A R B A C
R B A R B A R B A R B A S


Nous pouvons simplifier l'expression de C en utilisant un tableau de Karnaugh :

AB
R 00 01 11 10
0
1 1
1
1 1

Figure 6

Nous en dduisons :

C = A B + A R + B R

Le bit de carry est gal 1 si au moins deux des entres sont 1. D'autre part, nous pouvons
remarquer qu'intervertir les 0 et les 1 dans la table 2 revient permuter les lignes 1 et 8, 2 et 7, 3
et 6, 4 et 5. La table de vrit reste globalement invariante par inversion des entres et des sorties,
nous avons donc :

R B R A B A C + + =

A partir de cette relation, qui peut galement tre dmontre en appliquant lalgbre de Boole,
nous pouvons crire :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 44

=
+ + = + + =
=
R B A C R
R B A R B A R B A C ) R B A ( R B A C B
R B A C A


Ce qui nous permet de rcrire l'expression de S :

R B A C ) R B A ( S + + + =

La figure 7 donne un exemple de ralisation d'un additionneur 1 bit bas sur deux portes AOI
(AND OR INVERT), c'est--dire un ensemble de portes ET suivies d'une porte NON-OU.

A B R
S
C


Figure 7


III.1.c Addition en parallle

L'addition de nombres comptant plusieurs bits peut se faire en srie (bit aprs bit) ou en
parallle (tous les bits simultanment). La figure 8 montre l'exemple d'un additionneur 4 bits
comptant quatre "Full Adders", comparables celui schmatis figure 7, monts en parallle ou
en cascade. Chaque additionneur FA
i
est affect l'addition des bits de poids i. L'entre
correspondant au report de retenue pour FA
0
est impose 0 (en logique positive). La retenue
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 45
finale C indique un dpassement de capacit si elle est gale 1. Le temps d'tablissement du
rsultat correspondant au temps de propagation des retenues au travers des diverses cellules. Si t
est le temps rponse d'une cellule, la sortie S
0
et la retenue R
0
sont valables aprs un retard t, la
sortie S
1
et la retenue R
1
ne sont correctes qu'aprs un retard 2 t, et ainsi de suite. La figure 9
prsente un exemple de ralisation logique d'un additionneur de deux mots de 2 bits.


A B
FA
C S
3
3 3
3
FA
2
FA
1
FA
0
A A A
2 1 0
B B B
2 1 0
S S S
0 1 2


Figure 8


R A B
0 0
A
1 1
B
S
0
S
1
C
1


Figure 9


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 46
III.1.d Addition squentielle

Dans un additionneur squentiel chacun des nombres A et B est reprsent par un train
d'impulsions (figure 10) synchrones par rapport un signal d'horloge. L'ordre chronologique
d'arrive des impulsions correspond l'ordre croissant des poids : le bit le moins significatif se
prsentant le premier. Ces impulsions sont injectes sur les deux lignes d'entre d'un additionneur
(figure 11). A chaque cycle d'horloge, la retenue provenant des bits de poids infrieurs doit tre
mmorise (par exemple, l'aide d'une bascule D qui sera tudie dans le chapitre suivant).

Un additionneur parallle est plus rapide mais ncessite plus de composants.

A = 01101
B = 01011
D = 11000
LSB
2
0
2 2 2 2
2 3 4 1
t


Figure 10


A B
FA
C S
R
TD


Figure 11

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 47
III.2 Soustraction
III.2.a Demi-soustracteur

La table de vrit pour un demi-soustracteur (ne tenant pas compte d'une ventuelle
retenue provenant des bits de poids infrieurs) est la suivante :

A B D C
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0

Table 3

O D reprsente le rsultat de la soustraction A B et C la retenue. Nous en dduisons les
expressions logiques dfinissant D et C :

=
= + =
B A C
B A B A B A D


et le schma correspondant :
A
B
D
C


Figure 12


Nous pourrions maintenant tudier un soustracteur prenant en compte la retenue. Nous
allons plutt tirer parti de certaines proprits de la numration binaire pour traiter de la mme
manire l'addition et la soustraction.

III.2.b Additionneur-soustracteur

Nous savons qu'avec un mot de n bits nous pouvons reprsenter un entier positif dont la
valeur est comprise entre 0 et 2
n
1. Le complmentaire d'un mot de n bits est obtenu entre
prenant le complment de chacun des n bits. Ainsi, si nous sommons un nombre et son
complment nous obtenons un mot dont tous les bits sont 1. C'est--dire :

1 2 A A
n
= +

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 48
Attention : dans ce paragraphe le signe + reprsente l'opration addition et non la fonction logique
OU. Nous pouvons encore crire :
n
2 1 A A + =

Mais sur n bits l'entier 2
n
est identique 0 :

) bits n ( 0 2
n


C'est--dire qu'il est possible dcrire un nombre entier ngatif comme le "complment 2" de sa
valeur absolue :
1 A A + =

Nous reviendrons sur les divers codages des entiers signs plus tard. Nous pouvons utiliser cette
proprit pour crire la soustraction de deux mots de n bits sous la forme suivante :

) bits n ( 1 B A 2 1 B A B A
n
+ + + + =

Ce rsultat conduit au schma de principe prsent sur la figure 13 combinant les fonctions
addition et soustraction. Celui-ci est bas sur l'emploi d'un additionneur n bits et d'un
multiplexeur deux lignes d'entre. Nous tudierons ce type de circuit un peu plus loin dans ce
chapitre. Selon le code opration O (0 pour une addition et 1 pour une soustraction) ce
multiplexeur permet de slectionner une des deux entres, B ou son complmentaire. Le code
opration est galement inject sur l'entre report de retenue de l'additionneur. Pour simplifier le
schma et viter de reprsenter n lignes de connexion parallles, on ne matrialise qu'une seule
ligne. Celle-ci est barre et accompagne d'une valeur qui indique le nombre rel de connexions.

n
n
n
n
n
n
1
0
C
D A
B
O
A
D
D


Figure 13


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 49
III.3 Comparaison

On rencontre trs souvent la ncessit de comparer deux entiers (A = B, A > B ou A < B).
Ecrivons la table de vrit correspondant ces trois fonctions de comparaison de 2 bits. La
fonction C doit tre gale 1 si et seulement si A > B, la fonction D si et seulement si A < B et la
fonction E si et seulement si A = B. Ce qui nous donne :


A B C (A > B) D (A < B) E (A = B)
0 0 0 0 1
0 1 0 1 0
1 0 1 0 0
1 1 0 0 1

Table 5

Nous en dduisons les expressions logiques de C, D et E :

+ = + = =
=
=
D C B A B A B A E
B A D
B A C


La figure 14 prsente le diagramme d'un bloc logique comparant deux bits A et B.

A
B
C
E
D


Figure 14


III.4 Contrle de parit

La parit d'un mot binaire est dfinie comme la parit de la somme des bits, soit encore :

- parit paire (ou 0) : nombre pair de 1 dans le mot;
- parit impaire (ou 1) : nombre impair de 1 dans le mot.

La fonction OU-exclusif donne la parit d'un sous-ensemble de deux bits. Le contrle de parit
est bas sur la constatation que le mot de n+1 bits form en adjoignant un mot de n bits son bit
de parit est toujours de parit 0. La figure 15 reprsente le diagramme logique d'un gnrateur-
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 50
contrleur de parit pour 4 bits. Si l'entre P' est impose 0 ce circuit fonctionne comme
gnrateur de parit : la sortie P reprsente la parit du mot compos par les bits A, B, C et D.

P
A
B
C
D
P'


Figure 15

Le contrle de la parit est utilis, par exemple, pour augmenter la fiabilit d'un systme
de transmission ou de stockage de donnes. La figure 16 montre l'utilisation du circuit prcdent
en gnrateur de parit du ct de l'mission et contrleur de parit du ct de la rception. La
sortie P
2
doit tre 0 pour chaque mot transmis, sinon cela indique un problme de transmission.


Emetteur
A
C
D
P'
P
B
Rcepteur
A
C
D
P'
P
B
P
2


Figure 16


Remarquons cependant que la parit ne permet de dtecter qu'un nombre impair de bits en
erreur dans un mot. Par ailleurs il ne permet pas corriger les erreurs dtectes. Pour ce faire il faut
utiliser des codes correcteurs d'erreur qui ncessitent plusieurs bits supplmentaires.


III.5 Dcodage

Dans un systme numrique les instructions, tout comme les nombres, sont transportes
sous forme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16
instructions diffrentes : l'information est code. Trs souvent l'quivalent d'un commutateur 16
positions permet de slectionner l'instruction correspondant un code. Ce processus est appel
dcodage. La fonction de dcodage consiste faire correspondre un code prsent en entre sur n
lignes une seule sortie active parmi les N = 2
n
sorties possibles. A titre d'exemple, nous allons
tudier le dcodage de la reprsentation DCB des nombres.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 51

III.5.a Reprsentation DCB (Dcimale Code Binaire)

Le code DCB (ou en anglais BCD : Binary Coded Decimal) transforme les nombres
dcimaux en remplaant chacun des chiffres dcimaux par 4 chiffres binaires. Cette
reprsentation conserve donc la structure dcimale : units, dizaines, centaines, milliers, etc
Chaque chiffre est cod sur 4 bits selon le code de la table 6 :


Dcimal DCB
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Table 6

Par exemple le nombre dcimal 294 sera cod en DCB : 0010 1001 0100. Ce type de codage
permet, par exemple, de faciliter l'affichage en dcimal du contenu d'un compteur. Pour ce faire
on peut utiliser des tubes de Nixie, contenant 10 cathodes ayant chacune la forme d'un chiffre
(fig. 17) ou des afficheurs lumineux sept segments (fig. 18).


centaines
dcodeur
4
10
dizaines
4
units
4
N
i
x
i
e
10
N
i
x
i
e
10
N
i
x
i
e
dcodeur dcodeur


Figure 17
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 52
La fonction de chaque dcodeur est d'activer une des dix lignes en sortie et une seule en
fonction du code prsent sur les quatre entres. Par exemple, si ce code est gal 5, la 6
me
ligne
de sortie est mise dans l'tat 1 et le chiffre 5 est affich par le tube de Nixie.


centaines
transcodeur
4
7
dizaines
transcodeur
4
7
units
transcodeur
4
7


Figure 18


La fonction de chacun des transcodeurs est de positionner 1 les lignes de sortie
correspondant aux segments allumer selon de code port par les quatre lignes d'entre. De
manire gnrale, un transcodeur fait correspondre un code A en entre sur n lignes, un code B
en sortie sur m lignes.


III.5.b Dcodeur DCB-dcimal

Nous allons tudier l'exemple d'un dcodeur DCB-dcimal. La table de vrit de ce
dcodeur est trs simple :

D C B A L
0
L
1
L
2
L
3
L
4
L
5
L
6
L
7
L
8
L
9

0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1

Table 7
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 53
A chacune des lignes de sortie nous pouvons associer un produit prenant en compte
chacune des quatre entres ou leur complment. Ainsi la ligne 5 correspond :

D C B A

D'autre part, on souhaite souvent n'activer les lignes de sortie qu'en prsence d'un signal
de commande global (strobe ou enable). Ce signal S est mis en concidence sur chacune des dix
portes de sortie. Dans l'exemple suivant, si S est dans l'tat 0 le dcodeur est bloqu et tous les
sorties sont galement dans l'tat 0.


0
1
8
9
S A B C D


Figure 19


III.6 Multiplexage

Le multiplexage est un dispositif qui permet de transmettre sur une seule ligne des
informations en provenance de plusieurs sources ou destination de plusieurs cibles. La figure 20
en prsente une analogie mcanique avec deux commutateurs plusieurs positions. Choisir une
ligne revient dfinir l'angle du levier ou une adresse.

multiplexeur dmultiplexeur


Figure 20

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 54

III.6.a Dmultiplexeur

Un dmultiplexeur est un circuit comptant une entre et N sorties et qui met en relation
cette entre avec une sortie et une seule. Pour pouvoir slectionner cette sortie il faut galement
des lignes d'adressage : le code port par ces lignes identifie la ligne de sortie utiliser. Ce circuit
est trs proche d'un dcodeur. Considrons un dmultiplexeur avec quatre lignes de sortie. Il faut
deux lignes d'adresse. Supposons que nous souhaitons galement valider les donnes avec un
signal de contrle E (pour laisser par exemple le temps aux niveaux d'entre de se stabiliser). Par
convention nous choisissons de prendre en compte les donnes pour E = 0.


E B A Y
0
Y
1
Y
2
Y
3
Produit
0 0 0 D 0 0 0
D E B A
0 0 1 0 D 0 0
D E B A
0 1 0 0 0 D 0
D E B A
0 1 1 0 0 0 D
D E B A
1 0 0 0 0 0 0
1 0 1 0 0 0 0
1 1 0 0 0 0 0
1 1 1 0 0 0 0

Table 8

De cette table nous dduisons le logigramme suivant :

0
1
2
3
A B
D
E
D : donnes
E : enable
(A, B) : adresse


Figure 21
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 55


Il existe sous forme de circuits intgrs des dmultiplexeurs avec 2, 4 ou 16 lignes de
sortie. Pour constituer des dmultiplexeurs d'ordre suprieur on peut tre amen cascader des
dmultiplexeurs. Par exemple un dmultiplexeur avec 32 sorties peut tre ralis avec un "tronc"
de 4 sorties et 4 "branches" de 8 sorties :

0
7
0
7
0
7
0
7
S
E D
C B A
A B C D E : adresse
S : donnes


Figure 22

III.6.b Multiplexeur

Un multiplexeur, ralise l'opration inverse. Il slectionne une entre parmi N et transmet
l'information porte par cette ligne un seul canal de sortie. Considrons un multiplexeur
quatre entres, donc deux lignes d'adressage, et une ligne de validation. La table de vrit de ce
circuit est donne par la table 9. De cette table nous dduisons une expression logique pour la
sortie :

3 2 1 0
X E B A X E B A X E B A X E B A Y + + + =

Cette expression correspond au schma prsent sur la figure 23.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 56

E B A Y
0 0 0 X
0

0 0 1 X
1

0 1 0 X
2

0 1 1 X
3

1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Table 9


Y
X
X
X
X
0
2
3
1
E A B


Figure 23


Tout comme pour les dmultiplexeurs on peut cascader plusieurs multiplexeurs pour
obtenir un multiplexeur d'ordre suprieur. La figure 24 montre comment un multiplexeur 32
entres peut tre ralis partir de quatre multiplexeurs 8 entres et d'un multiplexeur 4
entres.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 57
Y
E D
A B C
24
31
16
23
8
15
0
7
A B C D E : adresse
Y : sortie


Figure 24

III.6.c Conversion parallle-srie

Considrons un mot de n bits (par exemple 4) prsent en parallle sur les entres d'un
multiplexeur :

- X
0
bit correspondant 2
0
;
- X
1
bit correspondant 2
1
;
- X
2
bit correspondant 2
2
;
- X
3
bit correspondant 2
3
.

Supposons que les lignes d'adresse A et B soient connectes aux sorties d'un compteur de priode
T, nous aurons en fonction du temps :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 58

t B A Y
[0,T] 0 0 X
0

[T,2T] 0 1 X
1

[2T,3T] 1 0 X
2

[3T,4T] 1 1 X
3

[4T,5T] 0 0 X
0


Table 10

Les bits X
0
, X
1
, X
2
et X
3
se retrouvent en srie dans le temps sur la sortie Y du multiplexeur.

III.6.d Ralisation dune fonction logique

Un multiplexeur peut tre utilis pour raliser une fonction logique. Il permet en effet une
transcription directe de la table de vrit. Considrons par exemple la fonction de quatre variables
logiques F(x, y, z, t) dfinie par la table suivante :

x y z t F
Entre du
multiplexeur
0 0 0 0 1 X
0
0 0 0 1 0 X
0

0 0 1 0 1 X
2

0 0 1 1 0 X
3

0 1 0 0 0 X
4

0 1 0 1 1 X
5

0 1 1 0 0 X
6

0 1 1 1 0 X
7

1 0 0 0 1 X
8

1 0 0 1 1 X
9

1 0 1 0 1 X
10

1 0 1 1 1 X
11

1 1 0 0 0 X
12

1 1 0 1 1 X
13

1 1 1 0 0 X
14

1 1 1 1 0 X
15


Table 11

Il est possible dutiliser un multiplexeur 16 entres. Il suffit de connecter les variables logiques
x, y, z et t sur les entres dadresse et de mettre chacune des entres X
k
0 ou 1 selon la table de
vrit.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 59
1
F
x y z t
X
0
15
X

Figure 25


III.7 Encodage

Nous venons d'tudier le principe du dcodage, passons l'opration inverse ou encodage.
Un encodeur est un systme qui comporte N lignes d'entre et n lignes de sortie. Lorsquune des
lignes d'entre est active l'encodeur fournit en sortie un mot de n bits correspondant au codage
de l'information identifie par la ligne active.

Considrons un encodeur transformant un nombre dcimal en son quivalent en code
DCB. Il comportera donc 10 entres (0 9) et 4 sorties. Nous pouvons par exemple imaginer que
chacune des dix lignes d'entre peut tre relie une touche d'un clavier. La table 12 correspond
la table de vrit de cet encodeur. A partir de cette table nous pouvons crire les expressions
logiques dfinissant les sorties partir des entres.

W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
Y
3
Y
2
Y
1
Y
0

1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1

Table 12
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 60

+ =
+ + + =
+ + + =
+ + + + =
9 8 3
7 6 5 4 2
7 6 3 2 1
9 7 5 3 1 0
W W Y
W W W W Y
W W W W Y
W W W W W Y



En effet Y
0
est gal 1 quand la ligne W
1
est dans l'tat 1, ou la ligne W
3
, ou la ligne W
5
, ou la
ligne W
7
, ou la ligne W
9
. La ligne Y
0
est nulle dans tous les autres cas. Il est possible de raliser
ces fonctions OU avec des diodes selon le montage de la figure suivante :

Y Y Y Y
0 1 2 3
+
-
5 V
W
9
W
W
W
W
W
W
7
6
5
4
3
8
0
1
2
W
W
W


Figure 26


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 61
En effet considrons le circuit de la figure 27 :

A
B S
D
A
D
B


Figure 27


A B S
0 0 D
A
et D
B
bloques 0
+V 0 D
A
passante/D
B
bloque +V
0 +V D
A
bloque/D
B
passante +V
+V +V D
A
et D
B
passantes +V

Si nous traduisons la signification logique des niveaux haut et bas en logique positive, au circuit
de la figure 27 correspond la table de vrit 13. La fonction ralise est donc un OU inclusif.


A B S
0 0 0
0 1 1
1 0 1
1 1 1

Table 13

La figure 26 reprsente un exemple de ralisation dun encodeur DCB ralis avec des
diodes. Le bon fonctionnement de ce codeur suppose qu'une seule ligne d'entre peut tre dans
l'tat 1.

Par contre, si plusieurs entres sont actives simultanment le rsultat pourra ne pas avoir
de signification. Par exemple, si les deux lignes W
7
et W
8
sont dans l'tat 1 (frappe simultane
des deux touches), il en sera de mme pour les quatre sorties. Pour viter ce problme on utilise
un encodeur prioritaire. Pour ce type de circuit si plusieurs lignes d'entre sont actives
simultanment le rsultat correspondant une seule parmi celles-ci est affich en sortie. La rgle
peut tre, par exemple, de mettre en sortie le code correspondant la ligne d'entre d'indice le
plus lev. Par exemple, si W
7
et W
8
sont dans l'tat 1 l'encodeur prioritaire donne en sortie le
code correspondant W
8
. La table de vrit correspondant ce choix est donne par la table 14.
Chaque croix indique que le code en sortie doit tre indpendant de l'tat de l'entre concerne.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 62

W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
Y
3
Y
2
Y
1
Y
0

1 0 0 0 0 0 0 0 0 0 0 0 0 0
X 1 0 0 0 0 0 0 0 0 0 0 0 1
X X 1 0 0 0 0 0 0 0 0 0 1 0
X X X 1 0 0 0 0 0 0 0 0 1 1
X X X X 1 0 0 0 0 0 0 1 0 0
X X X X X 1 0 0 0 0 0 1 0 1
X X X X X X 1 0 0 0 0 1 1 0
X X X X X X X 1 0 0 0 1 1 1
X X X X X X X X 1 0 1 0 0 0
X X X X X X X X X 1 1 0 0 1

Table 14


Alors que les expressions logiques dfinissant les lignes de sortie Y
i
ne dpendaient que des 1
dans la table 11, il faut ici tenir compte des 0. Par exemple pour Y
0
nous avons :

9
9 8
7
9 8 7 6
5
9 8 7 6 5 4
3
9 8 7 6 5 4 3 2
1 0
W W W W W W W W W
W W W W W W W W W W W W W W W W Y
+ + +
+ =


Nous pouvons mettre le complmentaire de W
9
en facteur dans les quatre premiers termes, puis
en utilisant l'identit :
B A B A A + = +

il vient, aprs factorisation du complment de W
8
:

9 7
7 6
5
7 6 5 4
3
7 6 5 4 3 2
1
8
0
W ) W W W W W W W W W W W W W W W W ( W Y + + + + =

Soit encore :

9 7
6
5
6 5 4
3
6 5 4 3 2
1
8
0
W ) W W W W W W W W W W W W W ( W Y + + + + =

9 7
6
5
5 4
3
5 4 3 2
1
8
0
W ) W W ) W W W W W W W W W (( W Y + + + + =

9 7
6
5
4
3
4 3 2
1
8
0
W ) W W ) W W W W W W W (( W Y + + + + =

9 7
6
5
4
3
3 2
1
8
0
W ) W W ) W W ) W W W W ((( W Y + + + + =

9 7
6
5
4
3
2
1
8
0
W ) W W ) W W ) W W W ((( W Y + + + + =
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 63

Soit en rorganisant l'ordre des termes :

))) W W W ( W W ( W W ( W W Y
2
1 3
4
5
6
7
8
9 0
+ + + + =

Pour la ligne Y
1
nous avons :

9 8
7
9 8 7
6
9 8 7 6 5 4
3
9 8 7 6 5 4 3
2 1
W W W W W W W
W W W W W W W W W W W W W W W Y
+ +
+ =


Soit en factorisant :

)) W W ) W W W ( W W ( W W ( W W Y
5 4 3
2 3
6
6
7
7
9 8
1
+ + + =

En utilisant toujours la mme identit nous pouvons simplifier cette expression, il vient en
rordonnant les termes :

)) W W ( W W W W ( W W Y
2 3
4 5
6 7
8 9
1
+ + + =

Pour Y
2
nous devons crire :

9 8
7
9 8 7
6
9 8 7 6
5
9 8 7 6 5
4 2
W W W W W W W W W W W W W W W W W W Y + + + =

Soit encore :
))) W W W ( W W ( W W ( W W Y
4
5
5
6
6
7
7
8 9
2
+ + + =

En utilisant toujours la mme identit il vient :

) W W W W ( W W Y
4 5 6 7
8 9
2
+ + + =

Enfin pour Y
3
nous avons :
8 9 9
9
8 3
W W W W W Y + = + =

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 64



Logique squentielle



IV.1 Logique squentielle asynchrone et synchrone

Dans le chapitre prcdent portant sur la logique combinatoire nous avons fait abstraction
du temps : les signaux de sortie ne dpendaient que des tats des variables d'entre. Pour les
circuits de logique squentielle nous devons tenir compte de l'tat du systme. Ainsi les sorties
dpendent des entres mais galement de l'tat du systme. Celui-ci dpend aussi des entres. Si
nous notons Q l'tat d'un systme squentiel, X ses entres et Y ses sorties, nous avons de
manire gnrale :

=
=
) Q , X ( g Y
) Q , X ( f Q


La logique squentielle permet de raliser des circuits dont le comportement est variable
avec le temps. L'tat d'un systme constitue une mmoire du pass.

Lorsque les changements d'tat des divers composants d'un circuit squentiel se
produisent des instants qui dpendent des temps de rponse des autres composants et des temps
de propagation des signaux on parle de logique squentielle asynchrone. Cependant les retards
peuvent ne pas tre identiques pour toutes les variables binaires et conduire certains alas.
Ceux-ci peuvent tre vits en synchronisant la squence des diverses oprations logiques sur les
signaux priodiques provenant d'une horloge. La logique squentielle est alors dite synchrone :
tous les changements d'tat sont synchroniss sur un signal de contrle.

Nous commenons notre tude par celle des bascules, lments de base des circuits
squentiels. Puis nous tudierons les registres et les compteurs.


IV.2 Les bascules

Une bascule (flip-flop) a pour rle de mmoriser une information lmentaire. C'est une
mmoire 1 bit. Une bascule possde deux sorties complmentaires Q et Q. La mmorisation
fait appel un verrou (latch) ou systme de blocage, dont le principe de rtro-action peut tre
reprsent de la faon suivante :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 65
Q
Q
A
B


Figure 1

Nous pouvons vrifier :

= = = = =
= = = = =
) 0 Q ( ) 1 A ( ) 1 Q ( ) 0 B ( ) 0 Q (
) 1 Q ( ) 0 A ( ) 0 Q ( ) 1 B ( ) 1 Q (


Une bascule ne peut donc tre que dans deux tats : "1" ) 0 Q , 1 Q = = ( et "0" ) 1 Q , 0 Q ( = = . Les
interconnexions du verrou interdisent les deux autres combinaisons : 1 Q = = Q ou 0 Q = = Q .
Ce type de circuit, qui n'a que deux tats stables possibles, est encore appel circuit bistable.

Un verrou permet de conserver un tat, il nous faut maintenant savoir comment charger
cet tat.


IV.2.a Les bascules R-S

Les verrous les plus frquemment rencontrs sont raliss avec deux portes NOR ou
NAND. Considrons dans un premier temps le circuit suivant :

R
S
Q
Q


Figure 2


La table 1 donne la table de vrit correspondante. Si on applique S = 1 et R = 0 ou S = 0
et R = 1 on impose l'tat de la sortie Q respectivement 1 ou 0, la sortie Q prenant la valeur
complmentaire. Cet tat se maintient lorsque les deux entres retournent 0. La configuration
S = R = 1 est proscrire car ici elle conduit 0 Q = = Q , ce qui est inconsistant logiquement
avec notre dfinition. Mais surtout, lorsque R et S reviennent 0, l'tat Q Q = tant incompatible
avec les interconnexions, l'une de ces deux sorties va reprendre l'tat 1, mais il est impossible de
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 66
prdire laquelle : la configuration S = R = 1 conduit une indtermination de l'tat des sorties et
est donc inutilisable. La reprsentation d'une bascule RS est donne sur la figure 4.

S R Q Q
0 0 Q Q Sorties inchanges
1 0 1 0 Set : Remise Un : RAU
0 1 0 1 Reset : Remise Zro : RAZ
1 1 0 0 A proscrire

Table 1


Considrons maintenant la bascule ralise avec des portes NON-ET.

Q
Q
S
R
R
S


Figure 3

Il lui correspond la table de vrit suivante :

S R
S R
Q Q
0 0 1 1 Q Q
1 0 0 1 1 0
0 1 1 0 0 1
1 1 0 0 1 1

Table 2

L'utilisation des deux inverseurs sur les lignes d'entre nous permet de retrouver une table de
vrit comparable celle de la bascule RS prcdente.

S
R
Q
Q


Figure 4
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 67

IV.2.b Dispositif anti-rebond

On est souvent amen commander un tat physique l'aide d'un bouton poussoir ou d'un
inverseur (par exemple les touches d'un clavier). Cependant lorsqu'on ferme un interrupteur le
contact n'est pas franc instantanment et on peut observer une srie de rebonds du signal avant
d'obtenir la position ferme (fig. 5). Pour viter ce dfaut on ralise un montage quivalent celui
prsent sur la figure 6 faisant appel un inverseur et une bascule.

+5 V
S
I
I
S
t
t


Figure 5


S
R
Q
+5 V
I
t t
3 4
t t
1 2
I
R
S
Q
2 1
1 2 1


Figure 6


Supposons l'interrupteur initialement dans la position 1 comme indiqu par la figure 6 :
l'entre S est la masse donc, en logique positive, dans l'tat logique "0" et l'entre R sous
tension c'est--dire dans l'tat logique "1". La sortie Q se trouve donc dans l'tat "1". A l'instant t
1

nous basculons l'interrupteur de la position 1 la position 2. Ds que le contact est ouvert en 1
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 68
l'entre S se trouve sous tension et passe dans l'tat logique "1". Par contre le contact en 2 peut
s'tablir avec un lger retard d au mouvement du contacteur et ne pas tre immdiatement franc.
L'entre R passe dans l'tat "0" t
2
, quelques rebonds peuvent suivre. A t
2
lorsque les entres se
trouvent dans la configuration S = 1 et R = 0 la sortie Q passe dans l'tat "0". Par contre dans la
configuration S = 1 et R = 1, c'est--dire entre t
1
et t
2
et pendant les rebonds, les sorties restent
inchanges : les rebonds ne sont pas visibles sur la sortie Q. Le fonctionnement est symtrique
lors du passage de la position 2 1.


IV.3 Bascule R.S.T ou R.S.Clock

La bascule R.S.T. est une bascule pour laquelle les entres S et R ne sont prises en compte
qu'en concidence avec un signal de commande. Ce signal peut tre fourni par une horloge, nous
avons alors une bascule synchrone. Ce circuit peut tre ralis de la faon suivante et sa
reprsentation est donne sur la figure 8.

S
R
Clk
Q
Q


Figure 7

Lorsque le signal de commande, not ici Clk, est 1 la bascule fonctionne comme indiqu
prcdemment et les sorties suivent les variations des entres S et R. Par contre, lorsque le signal
de commande est 0, la bascule est bloque : Q est indpendant des ventuels changements de S
et R. L'tat mmoris correspond au dernier tat avant le passage de la ligne de commande de 1
0.

S
R
Q
Q
Clk


Figure 8

Dans un systme synchrone le signal de commande est fourni par une horloge (clock).
Celui-ci est constitu par une succession priodique d'impulsions de largeur t
p
, suppose petite
devant la priode T. L'tat de chacune des sorties restera donc bloqu pendant les intervalles
sparant deux impulsions. Nous notons Q
n
la valeur de la sortie Q pendant le n
ime
intervalle
prcdant la n
ime
impulsion et Q
n+1
la valeur correspondante dans l'intervalle suivant la n
ime

impulsion (fig 9).
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 69


0 T (n-1)T nT (n+1)T
t
Q
n
Q
n+1


Figure 9

Considrons l'instant t = nT + , o Clk = 1. Si S = R = 0, la sortie Q ne change pas donc
Q
n+1
= Q
n
. Si S = 1 et R = 0 alors la sortie Q est force 1. Si R = 1 et S = 0 alors la sortie Q est
mise 0. Si S = R = 1 alors les deux sorties Q et Q sont toutes les deux 1. Cet tat est instable
et ne persiste pas lorsque le signal de commande revient 0. L'tat final sera indtermin,
dpendant des vitesses relatives des portes. Cette situation ne doit pas tre autorise. L'tat Q
reste ensuite fig jusqu' (n+1)T. Si nous notons S
n
et R
n
les valeurs de S et R juste avant l'instant
t = nT nous pouvons crire la table de vrit :

S
n
R
n
Q
n+1

0 0 Q
n

1 0 1
0 1 0
1 1 ?

Table 3


IV.4 Bascules J-K, D et T
IV.4.a Bascule J-K

La bascule J-K permet de lever l'ambigut qui existe dans la table 3. Ceci peut tre
obtenu en asservissant les entres R et S aux sorties Q et Q selon le schma logique indiqu sur
la figure 10.

S
R
Q
Q
Clk
J
Q
K
Q


Figure 10

Nous avons alors pour les signaux R et S :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 70

=
=
Q K R
Q J S


Ce qui nous permet de construire la table de vrit de la bascule J-K.


J
n
K
n
Q
n

n
Q S R
Q
n+1

0 0 0 1 0 0 0
0 0 1 0 0 0 1
0 1 0 1 0 0 0
0 1 1 0 0 1 0
1 0 0 1 1 0 1
1 0 1 0 0 0 1
1 1 0 1 1 0 1
1 1 1 0 0 1 0

Table 4

Nous constatons que nous ne rencontrons jamais la combinaison R = S = 1. Cette table peut se
rsumer sous la forme suivante :

J
n
K
n
Q
n+1

0 0
Q
n

0 1 0
1 0 1
1 1
n
Q

Table 5

La figure 11 explicite le diagramme logique d'une bascule J-K. Le rle des entres Pr et Cr sera
tudi dans le prochain paragraphe.

Q
Q
J
K
Clk
Pr
Cr


Figure 11
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 71


A partir de la table 5 nous pouvons construire la table de transition de la bascule J-K. La
table 6 donne les tats dans lesquels doivent se trouver les entres J et K pour obtenir chacune des
quatre transitions possibles de la sortie Q. Une croix indique que l'tat de l'entre considre est
indiffrent : 0 ou 1. Par exemple, pour obtenir la transition 0 1 de la sortie Q il faut que l'entre
J soit dans l'tat 1, quelque soit l'tat de l'entre K. En effet, nous pouvons avoir J = K = 1 qui
inverse l'tat de la bascule ou J = 1 et K = 0 qui charge 1 dans la bascule.


Q
n
Q
n+1
J
n
K
n

0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

Table 6

Comme les deux entres ne sont jamais spcifies simultanment il est possible de choisir pour
simplifier l'galit des deux entres :

J = K

On utilise parfois l'expression logique donnant Q
n+1
en fonction de J
n
, K
n
et Q
n
. Pour cela
nous pouvons par exemple construire le tableau de Karnaugh partir de la table de vrit
(table 4) de la bascule J-K :

00 01 11 10
0
1
JK
Q
1 1
1 1


D'o nous tirons l'quation caractristique qui exprime l'tat futur en fonction de l'tat prsent et
des entres :

n
n
n n 1 n
Q K Q J Q + =
+


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 72
IV.4.b Preset et Clear

Les entres asynchrones (car utiliser en absence de signal d'horloge, lorsque Clk = 0) Pr
(Preset) et Cr (Clear) permettent d'assigner l'tat initial de la bascule, par exemple juste aprs la
mise sous tension pour viter tout ala. En fonctionnement normal ces deux entres doivent tre
maintenues 1. Lorsque le signal d'horloge est 0 nous avons la table de vrit suivante :

Pr Cr Q
1 1 Q
0 1 1
1 0 0

Table 7

La figure 12 donne la reprsentation symbolique d'une bascule J-K avec les entres Preset et
Clear.

J
K
Q
Q
Clk
Cr
Pr


Figure 12


IV.4.c Bascule J-K Matre-Esclave

Jusqu' prsent nous avons construit les tables de vrit partir de la logique combinatoire
qui suppose que les entres sont indpendantes des sorties. Or dans la bascule J-K nous avons
introduit des connexions d'asservissement entre les entres et les sorties. Ainsi supposons
qu'avant le signal d'horloge nous avons J = K = 1 et Q = 0 (notations de la figure 11). Lorsque le
signal d'horloge passe 1 la sortie Q devient 1. Ce changement intervient aprs un intervalle de
temps t. Nous avons alors J = K = Q = 1. D'aprs la table 4 nous voyons que la sortie Q doit
alors revenir 0. Ainsi la sortie Q va osciller entre 0 et 1 pendant toute la dure du signal
d'horloge rendant le rsultat ambigu.

Pour viter ce problme on monte deux bascules R-S en cascade (fig. 13) en asservissant
les entres de la premire (Matre) aux sorties de la seconde (Esclave). D'autre part, le signal
d'horloge parvenant l'esclave est invers.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 73
Supposons Pr = Cr = 1. Pendant la n
ime
impulsion le signal d'horloge est haut pour le
matre et bas pour l'esclave. L'tat Q
n
est donc invariant pendant la dure t
p
de l'impulsion. Le
problme prcdent est donc rsolu et l'tat de la sortie de la bascule matre Q
M
est donn par la
table 5. Ensuite lorsque le signal d'horloge passe 0 pour le matre celui-ci est bloqu alors que
l'esclave est libr. Nous avons alors :

= = = = = =
= = = = = =
+ +
+ +
) 1 Q , 0 Q ( ) 1 R , 0 S ( ) 1 Q , 0 Q (
) 0 Q , 1 Q ( ) 0 R , 1 S ( ) 0 Q , 1 Q (
1 n 1 n M M
1 n 1 n M M


L'tat de la bascule matre est transfr la bascule esclave lors de la transition 1 0 (front
descendant) du signal d'horloge. Les changements dtat ventuels des sorties Q et Q
interviennent donc sur le front descendant du signal de commande Clk. Les entres J et K qui
dfinissent le nouvel tat de ces sorties sont prises en compte lorsque le signal Clk est 1.

J
Clk
K
Q
M
Q
M
Q
Q
S
R
Pr
Cr

Figure 13

signal d'horloge Clk
entres synchrones J et K
temps de
maintien
temps de
stabilisation


Figure 14

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 74
Les entres J et J doivent rester stables lorsque le signal Clk est haut. Dans la pratique elles
doivent tre stabilises avant le front montant (temps de stabilisation) et le rester un peu aprs le
front descendant (temps de maintien).


IV.4.d Dclenchement sur front montant ou descendant du signal dhorloge

Le problme de loscillation de la bascule J-K lorsque le signal Clk est haut, rgl par les
deux tages de la bascule matre-esclave, peut galement tre limin par lutilisation dun
dtecteur de front. Un tel circuit produit en concidence avec le front montant ou le front
descendant du signal Clk une impulsion de largeur juste suffisante pour permettre un basculement
dtat. Les figures suivantes illustrent le principe dun dtecteur de front montant (fig. 15) et dun
dtecteur de front descendant (fig. 16). Une fois nest pas coutume dans ce cours, nous tenons
compte dun retard induit par linverseur.

Clk
Y
Clk
Clk
Y

Figure 15

Clk
Y
Clk
Clk
Y

Figure 16

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 75
Il suffit dinsrer un dtecteur de front avant les deux premires portes NON-ET (figure suivante)
pour obtenir une bascule J-K dclenche par le front montant ou le front descendant du signal
dhorloge.

Dtecteur
de front
J
Clk
K
Cr
Pr
Q
Q

Figure 17

La figure 18 prsente les symboles dune bascule dclenche par le front montant et dune
bascule dclenche par le front descendant du signal de commande.

J
K
Q
Q
Clk
Cr
Pr
J
K
Q
Q
Clk
Cr
Pr
bascule dclenche
par front montant
bascule dclenche
par front descendant

Figure 18


IV.4.e Bascule D

Une bascule D (Delay) est obtenue partir d'une bascule J-K en envoyant simultanment
une donne sur l'entre J et son inverse sur l'entre K (fig. 19).

A partir de la table 5 nous pouvons crire :

= = = =
= = = =
+
+
0 Q ) 1 K , 0 J ( 0 D
1 Q ) 0 K , 1 J ( 1 D
1 n n n n
1 n n n n

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 76

Ce qui peut se rsumer par Q
n+1
= D
n
. Ainsi l'tat de la bascule Q pendant l'intervalle n+1 est
gal la valeur de l'entre D pendant l'intervalle n. Une bascule D agit comme une unit retard
pour laquelle la sortie suit l'entre avec un cycle de retard. Sa reprsentation symbolique est
donne par la figure 20.
J
K
Q
Q
Clk
Cr
Pr
D
H


Figure 19

D Q
Q
Clk
Cr
Pr


Figure 20


IV.4.f Bascule D commande sur front montant

1
2
3
4
5
6 Q
Q H
D
Clear
Preset


Figure 21

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 77

Nous nous intressons ici une seconde technique pour raliser une bascule D pour
laquelle la valeur de l'entre D prsente au moment de la transition 0 1 du signal d'horloge est
charge dans la bascule. Ensuite, que H soit gal 1 ou 0, la bascule est isole de l'extrieur
jusqu'au prochain front montant du signal H. L'entre doit tre stabilise un peu avant la
transition de H et conserver cette valeur un certain temps aprs.

Considrons le circuit schmatis sur la figure 21. Notons S
1
, S
2
, S
3
et S
4
les sorties des
portes NAND numrotes respectivement 1, 2, 3 et 4. En fonctionnement normal nous devons
avoir Clear = 1 pour ne pas bloquer les portes 1, 3 et 5 et Preset = 1 pour ne pas bloquer les portes
4 et 6. Pour H = 0 nous avons S
2
= S
3
= 1. Considrons maintenant le passage de H 1.

1
er
cas : D = 1

Porte 1 : D = S
2
= Clear = 1 S
1
= 0
Porte 2 : S
1
= 0 S
2
= 1
Porte 4 : S
1
= 0 S
4
= 1
Porte 3 : H = S
4
= Clear = 1 S
3
= 0

Porte 6 : S
3
= 0 Q = 1
Porte 5 : Q = S
2
= Clear = 1 0 Q =

2
me
cas : D = 0

Porte 1 : D = 0 S
1
= 1
Porte 2 : H = S
1
= S
3
= 1 S
2
= 0
Porte 4 : S
1
= S
3
= Preset = 1 S
4
= 0
Porte 3 : S
4
= 0 S
3
= 1

Porte 5 : S
2
= 0 1 Q =
Porte 6 : 1 Q eset Pr S
3
= = = Q = 0

Dans les deux cas nous vrifions que Q = D. Maintenant considrons une transition de D alors
que le signal H est encore 1.

1
er
cas : D = 1 0 (juste avant cette transition nous avons : S
1
= S
3
= 0, S
2
= S
4
= 1)

Porte 1 : D = 0 S
1
= 1
Porte 2 : S
3
= 0 S
2
= 1
Porte 4 : S
3
= 0 S
4
= 1
Porte 3 : H = S
4
= Clear = 1 S
3
= 0
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 78

Porte 6 : S
3
= 0 Q = 1
Porte 5 : Q = S
2
= Clear = 1 0 Q =

2
me
cas : D = 0 1 (juste avant cette transition nous avons : S
1
= S
3
= 1, S
2
= S
4
= 0)

Porte 1 : S
2
= 0 S
1
= 1
Porte 2 : H = S
1
= S
3
= 1 S
2
= 0
Porte 4 : S
1
= S
3
= Preset = 1 S
4
= 0
Porte 3 : S
4
= 0 S
3
= 1

Porte 5 : S
2
= 0 1 Q =
Porte 6 : 1 Q eset Pr S
3
= = = Q = 0

Dans les deux cas la sortie Q reste inchange. Etudions maintenant les oprations de Remise
Zro et Remise Un :

Preset = 0 et Clear = 1 :

Preset = 0 S
4
= Q = 1
si H = 0 alors S
2
= 1
si H = 1 alors H = S
4
= Clear = 1 S
3
= 0 S
2
= 1

Dans les deux cas : 0 Q 1 Clear S Q
2
= = = =

Preset = 1 et Clear = 0 :

Clear = 0 1 Q S S
3 1
= = =
1 eset Pr Q S
3
= = = Q = 0


IV.4.g Bascule T

Dans la table 5 nous constatons que si J = K = 1 alors
n 1 n
Q Q =
+
. L'tat de la sortie est
invers chaque cycle d'horloge. Une bascule T (Trigger) est obtenue partir d'une bascule J-K
en injectant le mme tat dans les entres J et K (fig. 22). Sa table de vrit est donne dans la
table 7 et sa reprsentation par la figure 23.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 79
J
K
Q
Q
Clk
Cr
Pr
T
H


Figure 22


T
n
Q
n+1

1
n
Q
0
Q
n


Table 7

T Q
Q
Clk
Cr
Pr


Figure 23



IV.5 Registre de mmorisation

Un registre permet la mmorisation de n bits. Il est donc constitu de n bascules,
mmorisant chacune un bit. L'information est emmagasine sur un signal de commande et ensuite
conserve et disponible en lecture. La figure 24 donne un exemple de registre 4 bits ralis avec
quatre bascules D.

En synchronisme avec le signal d'criture W le registre mmorise les donnes prsentent
sur les entres E
0
, E
1
, E
2
et E
3
. Elles sont conserves jusqu'au prochain signal de commande W.
Dans cet exemple les tats mmoriss peuvent tre lus sur les sorties Q
0
, Q
1
, Q
2
et Q
3
en
concidence avec un signal de validation R. Lorsque ces sorties sont connectes un bus, les
portes ET en concidence avec ce signal de lecture sont remplaces par des portes trois tats.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 80
Q
Q
D
Clk
E
0
Q
0
Q
Q
D
Clk
E
1
Q
1
Q
Q
D
Clk
E
2
Q
2
Q
Q
D
Clk
E
3
Q
3
W
R


Figure 24



IV.6 Registre dcalage

Dans un registre dcalage les bascules sont interconnectes de faon ce que l'tat
logique de la bascule de rang i puisse tre transmis la bascule de rang i+1 (ou i-1) quand un
signal d'horloge est appliqu l'ensemble des bascules. L'information peut tre charge de deux
manires dans ce type de registre.

- Entre parallle : comme dans le cas d'un registre de mmorisation. En gnral une porte
d'inhibition est ncessaire pour viter tout risque de dcalage pendant le chargement parallle.

- Entre srie : l'information est prsente squentiellement bit aprs bit l'entre de la premire
bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux dj
mmoriss sont dcals d'un niveau dans le registre. La figure 25 schmatise le chargement d'un
registre 4 bits en quatre coups d'horloge.

a
3
a
4
a
4
a
2
a
3
a
4
a
2
a
3
a
4
a
1
a
1
a
2
a
3
a
4
top n 1
top n 2
top n 3
top n 4


Figure 25


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 81
De mme l'information peut tre lue en srie ou en parallle. D'autre part, certains
registres peuvent tre capables de dcaler gauche et droite. Un registre dcalage universel
serait donc constitu des entres, des sorties et des commandes suivantes :

Registre dcalage
Horloge
Sortie srie
dcalage droite
Sortie srie
dcalage gauche
Sorties
parallles
Entres
parallles
Validation
entres parallles
Dcalage droite
ou gauche
Entre
srie
Validation
entre srie


Figure 26


Gnralement on utilise des bascules du type matre-esclave D ou R-S.


IV.6.a Entre srie - Sortie parallle

La figure suivante donne un exemple de registre de 4 bits entre srie et sortie parallle
ralis avec des bascules D.

Q D
Clk
S
0
Q D
Clk
S
1
Q D
Clk
S
2
Q D
Clk
S
3
E.S.
H
S.S.


Figure 27

Ce type de registre permet de transformer un codage temporel (succession des bits dans le
temps) en un codage spatial (information stocke en mmoire statique).
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 82

La sortie srie peut galement tre utilise. L'intrt d'utilisation d'un registre dcalage
en chargement et lecture srie rside dans la possibilit d'avoir des frquences d'horloge
diffrentes au chargement et la lecture. Le registre constitue alors un tampon.


IV.6.b Entre parallle - sortie srie

La figure 28 prsente un exemple de registre dcalage entre parallle ou srie et sortie
srie. Si X = 1 l'entre parallle est inhibe et l'entre srie est valide. Si X = 0 l'entre srie est
bloque par contre le chargement par l'entre parallle est autoris.

Q D
Clk
E
0
Q D
Clk
E
1
E.S.
H
X
S.S.


Figure 28

Un registre dcalage entre parallle et sortie srie transforme un codage spatial en codage
temporel.


IV.6.c Entre parallle - Sortie parallle

La figure 29 prsente un exemple de registre dcalage avec entres srie et parallle et
sorties srie et parallle ralis avec des bascules de type D.

La commande permet de slectionner le mode de chargement et d'inhiber le signal
d'horloge en cas de chargement parallle. Si X = 0 nous avons Pr = Cr = 1, ce qui garantit le
fonctionnement normal des bascules. Si X = 1 alors selon l'tat de chacune des entres nous
avons :
i i
i i
i i
E Q
0 Q ) 0 Cr , 1 (Pr 0 E
1 Q ) 1 Cr , 0 (Pr 1 E
=

= = = =
= = = =



S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 83
D Q
ClK
Cr
Pr
Q
0
E
0
D Q
ClK
Cr
Pr
Q
1
E
1
E.S.
H
X


Figure 29


IV.6.d Registre dcalage droite et gauche

La figure 30 prsente un exemple de registre dcalage universel de 4 bits. Les diverses
possibilits sont slectionnes par les lignes commande S
0
et S
1
. Considrons la ligne
transportant le signal d'horloge aux bascules, elle est gouverne par l'expression logique :

) S S ( H S S H Clk
1 0
1 0
+ = + =

Le signal d'horloge sera donc inhib si S
0
= S
1
= 0.

Pour slectionner le chargement parallle (entres A, B, C et D) il faut :

1 S S S S
1 0
1 0
= = +

C'est--dire S
0
= S
1
= 1. Le chargement se fera sur un signal d'horloge.

Pour slectionner le dcalage droite (entre E
1
, sortie Q
D
) il nous faut S
0
= 1 et S
1
= 0 et pour
le dcalage gauche (entre E
0
, sortie Q
A
) S
0
= 0 et S
1
= 1. Ce qui est rsum dans le tableau 8.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 84
S R
Q
C
l
k
Q
B
S R
Q
C
l
k C
r
Q
B
S R
Q
C
l
k
Q
C
S R
Q
C
l
k C
r
Q
C
S R
Q
C
l
k
Q
A
S R
Q
C
l
k C
r
Q
A
Q
D
S R
Q
C
l
k C
r
Q
D
S
0
S
1
H
C
l
e
a
r
E
0
E
1

Figure 30

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 85
S
0
S
1
Fonction
0 0 Registre bloqu
0 1 Dcalage gauche
1 0 Dcalage droite
1 1 Chargement parallle

Table 8

Un registre dcalage droite et gauche permet d'effectuer des multiplications et des
divisions entires par des puissances de 2. En effet une multiplication par 2 est quivalente un
dcalage vers la gauche et une division par 2 un dcalage vers la droite. Une multiplication par
2
n
sera obtenue par n dcalages gauche et une division par 2
n
par n dcalages droite.


IV.7 Compteurs

Un compteur est un ensemble de n bascules interconnectes par des portes logiques. Ils
peuvent donc mmoriser des mots de n bits. Au rythme d'une horloge ils peuvent dcrire une
squence dtermine c'est--dire occuper une suite d'tats binaires. Il ne peut y avoir au
maximum que 2
n
combinaisons. Ces tats restent stables et accessibles entre les impulsions
d'horloge. Le nombre total N des combinaisons successives est appel le modulo du compteur.
On a N 2
n
. Si N < 2
n
un certain nombre d'tats ne sont jamais utiliss.

Les compteurs binaires peuvent tre classs en deux catgories :
- les compteurs asynchrones;
- les compteurs synchrones.
De plus on distingue les compteurs rversibles ou compteurs-dcompteurs.


IV.8 Compteurs asynchrones

Un compteur asynchrone est constitu de n bascules J-K fonctionnant en mode T. Le
signal d'horloge n'est reu que par le premier tage (bascule LSB : Least Significant Bit). Pour
chacune des autres bascules le signal d'horloge est fourni par une sortie de la bascule de rang
immdiatement infrieur.

Considrons par exemple (fig. 31) un compteur modulo 8 suivant le code binaire pur
constitu de trois bascules J-K matres-esclaves. Supposons les trois bascules zro l'instant
t = 0. Nous avons vu que pour une bascule matre-esclave la sortie change d'tat juste aprs le
passage du signal d'horloge de l'tat 1 l'tat 0 (front descendant). L'volution temporelle des
trois sorties Q
0
, Q
1
et Q
2
par rapport aux impulsions d'horloge est reprsente sur la figure 32. La
sortie Q
0
bascule sur chaque front descendant du signal d'horloge. La sortie Q
1
change d'tat
chaque transition 1 0 de la sortie Q
0
. De mme le basculement de la sortie Q
2
est dclench
par une transition 1 0 de la sortie Q
1
.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 86
J
K
Q
Q
Clk
J
K
Q
Q
Clk
J
K
Q
Q
Clk
Q
0
Q
2
Q
1
H
"1"


Figure 31

H
Q
0
Q
Q
1
2
1 2 3 4 5 6 7 8


Figure 32

A partir de ce chronogramme nous pouvons crire la liste des tats successifs des trois sorties :

Impulsion Q
2
Q
1
Q
0

tat initial 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 0 0 0

Table 9
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 87

Nous avons ralis un compteur s'incrmentant d'une unit chaque top d'horloge, avec un cycle
de huit valeurs de 0 7 (modulo 8).

Nous constatons que les sorties Q
0
, Q
1
et Q
2
fournissent des signaux priodiques de
frquences respectivement 2, 4 et 8 fois plus faibles. La division de frquence est une des
applications des compteurs.


IV.8.a Compteur-dcompteur asynchrone

Nous obtenons un compteur en dclenchant chaque bascule lorsque celle de rang
immdiatement infrieur passe de l'tat 1 0. Pour raliser un dcompteur il faut que le
changement d'tat d'une bascule intervienne lorsque la bascule de rang immdiatement infrieur
passe de l'tat 0 1. Pour cela il suffit d'utiliser la sortie Q de chaque bascule pour dclencher la
suivante.

On ralise un compteur-dcompteur en utilisant un multiplexeur 2 entres - 1 sortie entre
chaque tage pour slectionner la sortie utiliser. Pour l'exemple prsent sur la figure 33, selon
l'tat de la ligne de commande X nous pouvons slectionner le mode de comptage :

X = 1 compteur;
X = 0 dcompteur.

J
Clk
K
Q
Q
Etage i
Q
i
J
Clk
K
Q
Q
Etage i+1
Q
i+1
"1"
X


Figure 33


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 88
IV.8.b Remise Zro et chargement d'un compteur

La figure 34 prsente un exemple de montage permettant de remettre zro un compteur
ou de le charger avec une valeur dtermine. Pour cela on utilise les entres asynchrones des
bascules. En fonctionnement normal du compteur nous devons avoir : DS = R = 1. Nous avons
alors : J = K = Pr = Cr = 1 sur chaque bascule du compteur.

Pour RAZ : R = 0

J = K = 0 Interdit tout basculement sur une impulsion du signal Clk;
(Pr = 1, Cr = 0) Q = 0.

Chargement : (DS = 0, R = 1)

J = K = 0 Interdit tout basculement sur une impulsion du signal Clk;
D = 0 (Pr = 1, Cr = 0) Q = 0
D = 1 (Pr = 0, Cr = 1) Q = 1

Dans ces deux cas nous obtenons Q = D. Nous sommes donc capable de charger chaque bit du
compteur avec une valeur donne prsenter sur l'entre D, donc d'initialiser le compteur.

J
K
Q
Q
ClK
Cr
Pr
D.S.
R
D

Figure 34


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 89
IV.8.c Compteur cycle incomplet

On peut souhaiter compter jusqu' un nombre N qui ne soit pas une puissance de 2, par
exemple 10 (systme dcimal). Pour cela on utilise un compteur de n bascules, tel que 2
n
> N. On
lui ajoute un asservissement de l'entre Clear pour remettre le compteur zro tous les N coups.

Considrons par exemple un compteur modulo 10. Nous voulons que l'entre Clear soit
0 lorsque le compteur atteint 10
10
= 1010
2
. Pour cela nous pouvons crire l'expression logique :

0 1 2 3
Q Q Q Q Cr =

En fait dans ce cas particulier nous pouvons simplifier cette relation logique en ne tenant compte
de ce que des sorties 1 dans l'expression binaire de N. En effet il ne peut y avoir ambigut :
toute combinaison contenant les mmes sorties 1 et au moins une autre 1 correspond un
nombre plus grand que N et ne peut tre rencontre dans la squence dcrite par le compteur.
Pour un compteur modulo 10 nous pouvons donc utiliser :

1 3
Q Q Cr =
ce qui nous conduit au schma suivant :

J
K
Clk
Q
Cr
Q
1
J
K
Clk
Q
Cr
Q
2
J
K
Clk
Q
Cr
Q
3
J
K
Clk
Q
Cr
Q
0
H
"1"


Figure 35


IV.8.d Inconvnients des compteurs asynchrones

Comme chaque bascule a un temps de rponse le signal d'horloge ne parvient pas
simultanment sur toutes les bascules. Ceci a pour consquence de provoquer des tats
transitoires qui peuvent tre indsirables. Supposons un temps de rponse t
r
identique pour toutes
les bascules. Considrons la chronologie du passage d'un compteur asynchrone 4 bits de 0111
1000. Celle-ci est prsente sur la figure 36. Nous constatons que le compteur passe par les tats
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 90
transitoires 0110, 0100 et 0000 qui sont faux. Ceci est un inconvnient rdhibitoire chaque fois
que la sortie du compteur est exploite par des organes rapides.

0111 0111 0110 0100 0000 1000
t
H
Q
0
1
2
3
Q
Q
Q


Figure 36


IV.9 Compteurs synchrones

Dans un compteur synchrone toutes les bascules reoivent en parallle le mme signal
d'horloge. Pour faire dcrire au compteur une squence dtermine il faut chaque impulsion
d'horloge dfinir les entres synchrones J et K. Pour cela on utilise la table de transition de la
bascule J-K (table 6). Nous avons dj remarqu que cette table peut se simplifier. En effet, pour
chacune des quatre transitions possibles une seule des entres J ou K est dfinie. Rien ne nous
interdit donc de les mettre dans le mme tat, c'est--dire J = K, comme dans une bascule T.

Prenons l'exemple d'un compteur synchrone 3 bits fonctionnant selon le code binaire pur.
Nous pouvons dresser un tableau prcisant les valeurs des entres J et K permettant d'obtenir
chaque transition (passage d'une ligne la suivante). Pour qu'une bascule change d'tat il faut que
ses deux entres soient 1.

# top Q
2
Q
1
Q
0
J
2
= K
2
J
1
= K
1
J
0
= K
0

0 0 0 0 0 0 1
1 0 0 1 0 1 1
2 0 1 0 0 0 1
3 0 1 1 1 1 1
4 1 0 0 0 0 1
5 1 0 1 0 1 1
6 1 1 0 0 0 1
7 1 1 1 1 1 1
8 0 0 0

Table 10
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 91

Chaque ligne de cette table correspond une mme tranche de temps. Il est assez facile d'en
dduire les expressions logiques reliant les entres aux sorties :

= =
= =
= =

1 0 2 2
0 1 1
0 0
Q Q K J
Q K J
1 K J


De manire gnrale nous pouvons vrifier que les quations de commutation satisfont les
relations de rcurrence suivantes :

= =
= =


1 i 1 0 i i
0 0
Q ... Q Q K J
1 K J

ou encore :

= =
= =

1 i
Q
1 i i i
0 0
J K J
1 K J


Procdons de mme pour raliser un dcompteur, nous crivons la table des transitions
recherches :

# top Q
2
Q
1
Q
0
J
2
= K
2
J
1
= K
1
J
0
= K
0

0 1 1 1 0 0 1
1 1 1 0 0 1 1
2 1 0 1 0 0 1
3 1 0 0 1 1 1
4 0 1 1 0 0 1
5 0 1 0 0 1 1
6 0 0 1 0 0 1
7 0 0 0 1 1 1
8 1 1 1

Table 11

Nous en dduisons l'expression logique des entres d'un dcompteur :

= =
= =
= =
1 0 2 2
0 1 1
0 0
Q Q K J
Q K J
1 K J


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 92
Nous constatons que les quations de commutation sont identiques en utilisant cette fois les
sorties complmentaires Q.

Aux deux manires d'exprimer les relations de rcurrence des quations de commutation
correspondent deux types de circuits. Le premier (fig. 37) est dit report parallle, le second
(fig. 38) report srie. Dans le report srie on utilise la fonction J
i-1
. On vite ainsi des portes
multiples entres. Par contre, il faut tenir compte du retard dans l'tablissement de J
i-1
. Il faut
donc que la largeur des impulsions d'horloge soit assez grande et la vitesse maximum de
fonctionnement sera plus faible que pour le report parallle.

Les deux schmas prsents sur les figures 37 et 38 correspondent des compteurs-dcompteurs
(X = 0 compteur, X = 1 dcompteur).

J
K
Q
Q
Clk
J
K
Q
Q
Clk
J
K
Q
Q
Clk
J
K
Q
Q
Clk "1"
X
H


Figure 37


J
K
Q
Q
Clk
J
K
Q
Q
Clk
J
K
Q
Q
Clk
J
K
Q
Q
Clk "1"
X
H


Figure 38
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 93
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 94





Mmoires vives


Dans les trois chapitres prcdents nous avons tudi la plupart des briques de base
utilises pour la conception d'ordinateurs. Nous allons maintenant monter d'un niveau et aborder
les principes de ralisation des principaux blocs fonctionnels partir de ces briques. Nous
commenons (c'est un choix arbitraire) par la mmoire vive. La premire partie de ce chapitre
sera consacre son organisation matrielle. Dans la seconde nous baucherons son organisation
logique, dont l'tude doit tre approfondie dans le cours sur les systmes d'exploitation.


V.1 Introduction

Nous savons que dans un ordinateur toutes les informations : valeur numrique,
instruction, adresse, symbole (chiffre, lettre,) etc sont manipules sous une forme binaire.
Ces informations doivent en gnral tre conserves pendant un certain temps pour permettre leur
exploitation. Ce rle est dvolu aux mmoires charges de conserver programmes, donnes
provenant de l'extrieur, rsultats intermdiaires, donnes transfrer l'extrieur, etc. Nous
avons dj rencontr les registres de mmorisation, mais ceux-ci ne sont pas adapts aux grandes
capacits de stockage.

Il faut pour cela des mmoires lecture et criture ou mmoires vives, qui permettent
d'enregistrer une information, de la conserver et de la restituer. Ces mmoires sont, d'autre part,
accs alatoire (RAM : Random Acces Memory) c'est--dire que le temps d'accs l'information
est indpendant de sa place en mmoire. Cette appellation, d'origine historique, est toujours
synonyme de mmoire vive. Bien que trs rpandue cette appellation n'est plus suffisante car tous
les circuits semi-conducteur sont aujourd'hui accs alatoire. L'accs squentiel ne porte plus
que sur les mmoires magntiques (disques ou bandes). Par contre, une mmoire vive est
volatile : la conservation de son contenu ncessite la permanence de son alimentation lectrique.

L'information lmentaire, ou bit (binary digit), est mmorise dans une cellule ou point
mmoire. Nous tudierons plus loin les deux principales technologies utilises pour raliser une
cellule. Ces cellules sont groupes en mots de n bits, c'est--dire que les n bits sont traits (crits
ou lus) simultanment. On ne peut pas modifier un seul bit, pour cela il faut transfrer le mot
dans un registre, modifier le bit puis rcrire le mot en mmoire. Par ailleurs, les cellules sont
arranges en bloc mmoire.

Extrieurement, et en ne tenant compte que des signaux logiques, un bloc mmoire peut
tre reprsent comme sur la figure 1. Pour pouvoir identifier individuellement chaque mot on
utilise k lignes d'adresse. La taille d'un bloc mmoire est donc 2
k
, le premier mot se situant
l'adresse 0 et le dernier l'adresse 2
k
- 1. Une ligne de commande (R/W) indique si la mmoire
est accde en criture (l'information doit tre mmorise) ou en lecture (l'information doit tre
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 95
restitue). Sur ce schma on distingue deux canaux de n lignes en entre et en sortie, mais dans
d'autres cas les accs en entre et en sortie peuvent tre confondus en un seul canal bidirectionnel.
Nous verrons l'intrt de la ligne de validation ou de slection du bloc (CS) un peu plus loin.

n lignes
d'entre
n lignes
de sortie
k lignes
d'adresse
2 mots de n bits
k
R/W
CS


Figure 1


V.2 Adressage bidimensionnel ou matriciel

L'organisation des cellules l'intrieur d'un bloc la plus simple imaginer correspond au
schma suivant, chaque ligne correspond un mot de n bits :
2 lignes
k
n sorties
k adresses
D

c
o
d
e
u
r

Figure 2

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 96
Pour simplifier la figure, chaque cellule y est matrialise avec uniquement une ligne de
slection et une ligne de sortie. Si la ligne de slection est "0", la cellule est "isole" de la sortie.
Si la ligne de slection est "1", l'information mmorise se retrouve sur la ligne de sortie.

La figure correspond au mcanisme de lecture, mais le principe est galement valable en
criture. En fonction de l'adresse, le dcodeur active une et une seule des 2
k
lignes. Ainsi seules
les cellules correspondant l'adresse demande sont slectionnes et l'information mmorise est
alors disponible en sortie. Cette architecture trs simple n'est pas la plus conomique en terme de
nombre de portes.

Considrons par exemple une mmoire contenant 512 mots de 4 bits soient 2048 bits.
C'est--dire k = 9 et n = 4. Il faut 512 portes ET pour raliser le dcodeur. Une conomie
importante peut tre obtenue en organisant la mmoire en une matrice de 64 lignes et 32 colonnes
(2048 = 64 x 32). Chacune de ces 64 lignes peut tre slectionne en utilisant 6 bits d'adresse.
Comme nous ne voulons que des mots de 4 bits, il faut encore utiliser 4 multiplexeurs chacun
slectionnant une ligne sur 8. Les 3 derniers bits d'adresse sont affects ces multiplexeurs. Cette
architecture est dnomme adressage X-Y ou bidimensionnel. Dans ce cas 64 portes ET sont
ncessaires pour le dcodeur et 9 portes (8 ET et 1 OU) pour chacun des multiplexeurs, soit au
total 64 + (9 x 4) = 100 portes. Cela reprsente cinq fois moins de portes.


W
0
W
63
32 colonnes
64 lignes
Y
3
Y
2
Y
1
Y
0
A A
6 8
A A
0 5


Figure 3

L'organisation matricielle des blocs mmoires permet galement d'viter des pistes trop
longues pour la distribution des diffrents signaux aux cellules. Les constantes de temps et les
pertes de charge sont ainsi rduites.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 97
Nous n'avons considr que deux cas de figure pour l'organisation matricielle du bloc
mmoire : 512 lignes de 4 colonnes et 64 lignes de 32 colonnes. D'autres variantes sont
videmment possibles, pour certaines le nombre de portes ncessaires est rsum dans le tableau
suivant. Nous constatons que le minimum se situe pour une organisation "carre", pour laquelle
les nombres de lignes et de colonnes sont gaux ou diffrent d'un facteur 2.


nb lignes nb colonnes Dcodeur Multiplexeur Total
512 4 512 0 512
256 8 256 3 268
128 16 128 5 148
64 32 64 9 100
32 64 32 17 100
16 128 16 33 148
8 256 8 65 268

Table 1

Trs souvent, les blocs mmoires comportent autant de lignes que de colonnes. Les
mmes lignes d'adresse peuvent alors tre utilises pour identifier successivement la ligne puis la
colonne. Cela permet de rduire le nombre de broches de connexion, donc l'encombrement et le
cot des circuits. Cependant cela demande peu prs deux fois plus de temps par transmettre
l'adresse complte. Par contre, si on cherche accder des informations stockes dans une
mme ligne il peut tre possible de dfinir une fois la ligne, puis pour chaque mot de n'avoir
envoyer que l'adresse de la colonne. Il faut alors au moins un signal de commande
supplmentaire pour indiquer que l'adresse correspond une ligne ou une colonne. Il suffit de
n+1 cycles dadressage pour accder n colonnes dune mme ligne.

Parmi les caractristiques d'une mmoire nous trouvons la capacit et le format. La
capacit reprsente le nombre total de bits et le format correspond la longueur des mots. Le
nombre de bits d'adresse k dfinit le nombre total de mots de la mmoire, si n est le nombre de
bits par mot, la capacit de la mmoire est donne par :

Capacit = 2
k
mots = 2
k
x n bits

Cette capacit est exprime en multiple de 1024 ou kilo. La table suivante rsume la valeur des
autres prfixes utiliss pour exprimer les capacits des mmoires :

Symbole Prfixe Capacit
1 k (kilo)
2
10

= 1024
1 M (mga)
2
20

= 1048576
1 G (giga)
2
30

= 1073741824
1 T (tera)
2
40

= 1099511627776

Table 2
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 98

La figure 4, prsente une autre organisation logique possible pour une mmoire de 128
mots de 8 bits. Ici chaque mot est stock dans une case de 8 bits, tel un registre. Cette case reoit
en entre 8 lignes de donnes et une ligne de chargement. Elle dispose de 8 lignes de sortie
fournissant le contenu du registre. Chacune de ces lignes est commande par une porte "3 tats".
Ces cases sont organises en une matrice de 32 lignes et 4 colonnes. Les 7 bits d'adresse sont
spars en deux groupes, 5 bits pour identifier la ligne et 2 bits pour la colonne.

8 bits
R/W
CS
8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
D

c
o
d
e
u
r
d
e
l
i
g
n
e
Dcodeur de colonne
S
8
2
A
C
A
L
E
5
8
Figure 4
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 99

Le signal de slection du botier (CS) valide les fonctions d'criture et de lecture. Le
botier est bloqu pour CS = 1. Lorsque CS = 0, une fonction d'criture correspond R/W = 0 et
une fonction de lecture R/W = 1.


En criture, le mot charger doit tre prsent sur l'entre E du circuit. Ces donnes sont
distribues simultanment sur toutes les cases de 8 bits. La ligne dsigne par l'adresse A
L
est 1.
Le signal de chargement est transmis la seule colonne identifie par l'adresse A
C
. Seul le
registre l'intersection de cette ligne et de cette colonne est donc charg.

En lecture, les quatre cases de la ligne slectionne fournissent leur contenu sur les quatre
bus verticaux. Une seule des quatre portes "3 tats", au bas du schma, est connecte la sortie S
du botier. Cette porte "3 tats" fournit une amplification des signaux.

R
E
G
I
S
T
R
E
0
2
3
4
5
6
7
1
0
R
E
G
I
S
T
R
E
0
2
3
4
5
6
7
1
15
Dmux adresse
chargement entres
Mux
tous
les
bits
7
Mux
tous
les
bits
0
sorties adresse

Figure 5
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 100


La figure 5 illustre une autre organisation de la lecture. Pour allger le dessin, nous avons
considr une mmoire de 16 mots de 8 bits. Le principe du chargement est comparable au
scnario prcdent : les donnes sont distribues sur tous les registres, mais un seul reoit le
signal de chargement. Par contre la sortie fait appel 8 multiplexeurs. Chacun recevant les bits de
poids identiques en provenance des 16 registres. L'adresse est distribue sur tous ces
multiplexeurs, et on trouve donc en sortie tous les bits du registre identifi.



V.3 Assemblage de blocs mmoires

Les techniques d'intgration ne permettent pas d'obtenir des botiers ayant des capacits
ou des formats suffisants pour toutes les applications. Il est alors ncessaire d'associer plusieurs
botiers pour augmenter la longueur des mots ou le nombre de mots. Dautre part, l'association de
plusieurs blocs peut permettre d'amliorer les performances temporelles de la mmoire en faisant
fonctionner plusieurs blocs en parallle.
V.3.a Augmentation de la longueur des mots

La figure suivante montre qu'il est ais d'associer deux botiers de 2
k
mots de n bits pour
obtenir un bloc de 2
k
mots de 2 n bits. L'adressage doit tre appliqu simultanment aux deux
circuits, l'un fournissant les n bits de bas poids et l'autre les n bits de haut poids.

k k k
n n
2 x n bits
k
2 x n bits
k
adresse
haut poids bas poids


Figure 6

V.3.b Augmentation du nombre de mots

De mme la figure suivante montre la ralisation d'un bloc de 4 x 2
k
mots de n bits l'aide
de 4 botiers de 2
k
x n bits. Il nous faut k+2 lignes d'adresse. Les k bits de bas poids de l'adresse
sont appliqus simultanment sur les 4 botiers. Les deux bits de haut poids attaquent un
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 101
dcodeur quatre sorties. Chacune de ces quatre lignes permet de slectionner un botier (entre
de validation du botier : CS). Un seul botier est alors connect aux lignes de sortie.

2 x n bits
k
k
n
2 x n bits
k
k
n
2 x n bits
k
k
n
2 x n bits
k
k
n
Dcodeur
k
2
adresse : k bits
de bas poids
adresse : 2 bits
de haut poids

Figure 7

V.3.c Entrelacement

Une mmoire entrelace n voies est constitue de n blocs. Le bloc numrot i, avec
i [0, n1], contient toutes les cellules dont les adresses sont gales i modulo n (add = k n + i).
De cette manire deux mots des adresses conscutives sont rangs dans deux blocs diffrents.
Cette organisation permet de rduire le temps d'accs la mmoire lors de la lecture ou de
l'criture par groupe de mots.

Supposons par exemple qu'une unit centrale, de temps de cycle t, veuille lire un
ensemble de N mots des adresses conscutives. Dans une mmoire non entrelace cette
opration demande un temps t
1
= N . t
a
, o t
a
est le temps d'accs la mmoire, aprs
rception de la premire requte par l'unit de gestion de la mmoire (fig. 8).
9 0 1 2 3 4 5 6 7 8
Requtes
Donnes
cycle
Mmoire non entrelace

Figure 8

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 102
Dans une mmoire entrelace n voies, telle que t
a
n t, la premire requte est
transmise par l'unit de gestion de la mmoire au bloc i. La seconde requte, au cycle d'horloge
suivant, est transmise au bloc i+1, et ainsi de suite. Chacune des n premires requtes est ainsi
transmise un bloc diffrent. Ces blocs fonctionnent en parallle. A l'instant t
a
mesur aprs la
premire requte la premire la donne est disponible. Elle est collecte par l'unit centrale au
n
ime
cycle. La deuxime est disponible un cycle (t) plus tard, et ainsi de suite (fig. 9). Les
donnes suivantes pourront tre rcupres chaque cycle. Il faut donc un temps
t
2
= (n 1 + N) . t pour lire les N mots. Il faut attendre n 1 cycles sans recevoir aucune
donne.
9 0 1 2 3 4 5 6 7 8
Requtes
Donnes
cycle
Mmoire entrelace 4 voies

Figure 9

Cette mthode, comparable au traitement en pipe-line des instructions que nous tudierons
dans le chapitre consacr l'unit centrale, est d'autant plus efficace que trs souvent on doit
accder des informations (instructions ou donnes dans des structures) des adresses
conscutives. Les groupes de mots lus sont ensuite stocks dans une mmoire cache (cf. plus
loin).


V.4 Rduction du nombre de broches

Les fabricants de mmoires cherchent rduire le nombre de broches des botiers, pour
augmenter la densit d'implantation sur les circuits imprims. Deux mthodes peuvent tre
utilises pour rduire le brochage des signaux logiques.

Comme nous lavons dj vu, il est possible de diviser par deux le nombre de broches
pour l'adressage en chargeant successivement l'adresse de ligne puis l'adresse de colonne
(fig. 10). La mmoire a alors une organisation "carre", avec autant de lignes que de colonnes.
Deux signaux (RAS : Row Address Strobe et CAS : Column Address Strobe) sont ncessaires
pour identifier et charger ces deux adresses dans deux registres internes (RAR : Row Address
Register et CAR : Column Address Register). Le contenu de ces registres est exploit
respectivement par les dcodeurs de ligne et de colonne. Pour accder plusieurs mots d'une
mme ligne, il n'est pas ncessaire de charger l'adresse de la ligne chaque requte, il suffit de
modifier l'adresse de colonne, on parle alors d'accs en mode page.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 103
On peut galement tirer profit de ce qu'on n'effectue jamais une lecture et une criture
simultanment. Il est donc possible d'utiliser les mmes broches en lecture et en criture. Pour
cela on fait appel des portes "3 tats" (fig. 11). Ce dispositif est appel transceiver.

adresse RAR
CAR
RAS
CAS
dcodeur
de ligne
dcodeur
de colonne

Figure 10


broche E/S
validation criture
validation lecture


Figure 11


V.5. Les deux familles de mmoires vives

Pour raliser le point mmoire on dispose de deux techniques. On peut utiliser des
bascules. Selon que sont utilises des bascules du type D ou R-S, il faut une ou deux lignes pour
amener le bit charger. Avec une seule ligne il faut un inverseur par point mmoire. Les bascules
garantissent la mmorisation de l'information aussi longtemps que l'alimentation lectrique est
maintenue sur la mmoire. Ces mmoires sont dites RAM statiques (SRAM).

Dans les RAM dynamiques (DRAM) l'lment de mmorisation est constitu par un
condensateur et un transistor effet de champ (gnralement ralis en technique MOS). Ce
transistor joue le rle d'un interrupteur command. L'information est mmorise sous la forme
d'une charge lectrique stocke dans le condensateur. Cette technique permet une plus grande
densit d'intgration, car un point mmoire ncessite environ deux quatre fois moins de place
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 104
que dans une mmoire statique. Par contre, du fait des courants de fuite le condensateur a
tendance se dcharger. C'est pourquoi les RAM dynamiques doivent tre rafrachies
rgulirement pour entretenir la mmorisation : il s'agit de lire l'information avant qu'elle n'ait
totalement disparu et de la recharger. Par ailleurs, la lecture tant destructive il est galement
ncessaire de restaurer la charge lectrique la fin de l'opration.

transistor
condensateur
ligne de donnes
slection


Figure 12

Ce rafrachissement indispensable a plusieurs consquences. Tout d'abord il complique la
gestion des mmoires dynamiques car il faut tenir compte des actions de rafrachissement qui
sont prioritaires. D'autre part, la dure de ces actions augmente le temps d'accs aux informations.
Le temps d'attente des donnes est variable selon que la lecture est interrompue ou non par des
oprations de rafrachissement et la quantit de cellules restaurer. Il faut donc se placer dans le
cas le plus dfavorable pour dterminer le temps d'accs utiliser en pratique.

En gnral les mmoires dynamiques, qui offrent une plus grande densit d'information et
un cot par bit plus faible, sont utilises pour la mmoire centrale, alors que les mmoires
statiques, plus rapides, sont utilises pour les caches et les registres.


V.6 Cycles de fonctionnement des mmoires

Deux paramtres caractrisent la vitesse d'une mmoire. Le temps d'accs (t
a
) reprsente
le temps qui spare une demande de lecture de l'obtention de l'information. Le temps de cycle (t
c
)
correspond l'intervalle de temps minimum qui spare deux demandes successives en lecture ou
criture. La frquence maximum de fonctionnement est gale l'inverse du temps de cycle. Un
autre paramtre est la bande passante qui caractrise le dbit maximum en bits par seconde. En
accs alatoire cette bande passante est gale :

c
t
n
B =

o n est le nombre de bits transfrs par cycle. Mais pour des donnes conscutives, certaines
architectures (entrelacement, etc.) et certains modes de lecture (rafales, etc.) peuvent permettre
d'approcher la limite :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 105
a
max
t
n
B =

V.6.a Consommation d'une mmoire

Les constructeurs cherchent limiter la consommation des botiers de mmoire qui
peuvent tre nombreux dans un systme. Pour certaines mmoires on peut distinguer trois tats
avec chacun un niveau diffrent de consommation. L'tat actif correspond au cas d'une opration
de lecture ou d'criture. La puissance dissipe dpend du dbit. Dans l'tat inactif ou passif, la
mmoire alimente normalement n'est pas slectionne. Les commandes de lecture et criture
envoyes sur un botier non slectionn n'agissent pas. Les botiers qui consomment moins dans
cet tat sont dits "automatic power down". Dans l'tat de veille, la mmoire est alimente sous
tension rduite avec des batteries. Elle ne peut tre ni lue, ni crite. Elle se contente de conserver
son information : un circuit interne avec horloge et compteur permet un rafrachissement
automatique rgulier de toutes les cellules sans intervention externe. Cet tat permet de rduire la
consommation.

V.6.b Cycle de lecture

C'est le plus simple des cycles. La procdure, schmatise sur la figure 13, consiste :

- Etablir l'adresse;
- Afficher la fonction de lecture;
- Slectionner le ou les botiers ncessaires;
- Aprs un certain dlai, l'information apparat sur la sortie qui passe en basse impdance.
L'information reste prsente jusqu' la fin du cycle.

Le dbut de la requte est dfini par ltablissement de ladresse. Cest par rapport cet instant
que sont mesurs temps daccs t
a
et temps de cycle t
c
.

Il s'agit uniquement d'un chronogramme de principe. La polarit, la dure de stabilit de chaque
signal, ainsi que les retards relatifs (ou phases) entre signaux sont prciss par le constructeur.

Lorsque les adresses de ligne et de colonne sont multiplexes celles-ci doivent tre
stabilises avant les signaux de chargement RAS et CAS respectivement. Le temps d'accs t
a
est
mesur partir du dbut de l'opration, mais on distingue deux autres temps d'accs mesurs
partir des fronts descendants des signaux RAS et CAS. Dans l'exemple illustr, la ligne R/W 1
indique une fonction de lecture.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 106
HI HI
Adresse
Lecture
Slection
Sortie
t
c
t
a


Figure 13


Adresse
R/W
RAS
t
c
ligne colonne
t
a
HI HI
CAS
Sortie
t
a
(CAS)
t
a
(RAS)


Figure 14

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 107
V.6.c Cycle d'criture

La procdure d'criture consiste :

- Etablir l'adresse;
- Slectionner le ou les botiers ncessaires;
- Etablir la donne sur l'entre;
- Etablir une impulsion d'criture.

L'adresse doit tre stabilise avant la slection et les donnes doivent tre stabilises avant le
signal de chargement.

Adresse
R/W
Slection
Donnes

Figure 15


V.6.d Cycle de lecture-modification-criture

Ce cycle permet de lire une donne une certaine adresse, de modifier la donne et de
l'inscrire la mme adresse. Le mme rsultat pourrait tre obtenu avec deux cycles successifs de
lecture et d'criture, mais plus lentement car il faut alors prsenter l'adresse deux fois. Il faut que
les lignes d'entre et de sortie soient distinctes. La procdure consiste :

- Etablir l'adresse;
- Slectionner le botier correspondant;
- Afficher la fonction lecture;
- La donne apparat sur la sortie au bout du temps d'accs;
- Le systme modifie la donne qu'il applique sur l'entre;
- Etablir une impulsion d'criture.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 108
V.6.e Lecture ou criture en mode page

Le mode page concerne les mmoires avec multiplexage des adresses ligne et colonne. Au
cours de l'excution d'un programme, l'accs aux informations (instructions ou donnes) se fait
plus souvent des adresses conscutives qu' des adresses isoles. L'accs en mode page permet
alors d'amliorer les temps d'accs. En effet lorsque l'adresse de la ligne (ou page) reste identique,
il n'y a pas lieu de la prsenter nouveau. Dans un cycle en mode page, l'adresse de ligne est
charge une fois, chaque accs est ensuite dfini par l'adresse de colonne. Le temps du premier
accs est quivalent celui d'un accs alatoire. Il est appel latence. Par contre les accs suivants
sont plus rapides. La figure suivante illustre une squence de trois accs comprenant une criture
intercale entre deux lectures.

Adresse
R/W
RAS
CAS
Sortie
ligne col 1 col 2
Entre
col 3
HI HI HI D 3 D 1
D 2


Figure 16


V.6.f Rafrachissement des mmoires dynamiques

Pour la plupart des mmoires dynamiques les adresses sont multiplexes. A chaque accs,
en lecture ou en criture, chaque bit de la ligne dsigne est transfr en bas de colonne dans une
bascule. Ce transfert est initi par le front descendant du signal RAS. Les oprations effectives de
lecture ou d'criture se font au niveau de ces registres. Ceux-ci sont ensuite chargs dans la ligne
d'origine sur le front montant du signal RAS. En procdant ainsi on rafrachit la ligne adresse
chaque accs. Cela ne garantit pas un rafrachissement suffisant de l'ensemble de la mmoire. Il
est possible de dclencher le mme mcanisme de rafrachissement d'une ligne sans faire aucun
accs. Il suffit de prciser l'adresse de la ligne rafrachir puis d'activer une impulsion d'une
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 109
dure dfinie sur la ligne RAS. Par ailleurs les mmoires vives contiennent aussi un pointeur
interne sur la prochaine ligne rafrachir. Il est utilis en activant la ligne CAS avant la ligne
RAS.

Le mcanisme de rafrachissement des divers blocs mmoires est confi un contrleur.
C'est galement ce contrleur qui se charge de multiplexer les adresses.


V.7 Mmoire synchrone

Tous les accs tudis jusqu' prsent sont de type asynchrone. Ils peuvent intervenir
tout instant et leur dure est fixe par les composants de la mmoire.

Ces dernires annes le foss entre la vitesse de fonctionnement des processeurs et la
vitesse d'accs des mmoires n'a fait que crotre. La mmoire constitue aujourd'hui le goulot
d'tranglement des architectures. Les gains en performance sur la vitesse intrinsque des
composants sont relativement faibles. Les fabricants de mmoires jouent sur l'organisation
logique des accs. Nous en avons dj vu un exemple avec le mode page, dont de nombreuses
variantes ont t mises en uvre.

Un autre mode permet de rduire le temps ncessaire l'adressage des colonnes. Il s'agit
du mode d'accs en rafale (burst) qui concerne plusieurs colonnes conscutives. Un compteur
interne permet d'viter le temps ncessaire l'tablissement des signaux d'adresse et leur
chargement. Il suffit donc de prciser initialement l'adresse de dpart et le nombre de colonnes.
Dans un composant asynchrone l'incrmentation de ce compteur est provoqu par des cycles du
signal CAS.

Mais il est galement possible de faire appel un signal d'horloge. Nous obtenons alors
une mmoire synchrone (SDRAM pour Synchronous Dynamic Random Acces Memory). Cette
solution a pour avantage de simplifier la gestion de la mmoire. Ce qui permet un lger gain de
vitesse, mais aussi allge la conception du contrleur. Il est ainsi possible d'avoir un accs
chaque cycle d'horloge. Par contre le temps d'accs pour une seule donne n'est pas infrieur
celui d'une mmoire asynchrone. Il peut mme tre plus important.

Pour parvenir suivre une frquence intressante les fabricants mettent galement en
uvre des techniques dj rencontres dans ce chapitre. Par exemple, l'intrieur d'un mme
circuit la mmoire est organise en deux blocs (ou plus) qui peuvent tre entrelacs. Cela permet
galement l'ouverture simultane de deux pages. Il est alors possible de passer d'une page une
autre sans ralentir la vitesse d'accs.


V.8 Gestion de la mmoire centrale

Au dbut de l'informatique les mmoires taient chres et de petites tailles. A cette poque
les programmeurs passaient l'essentiel de leur temps optimiser leur programme en fonction de
la taille mmoire. On a ensuite pu utiliser une mmoire secondaire : bandes, tambours et disques.
Le programmateur divisait alors son programme en un certain nombre de morceaux appels
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 110
branches (overlays), chaque branche tant de taille infrieure celle de la mmoire. Pour
excuter un programme on chargeait la premire branche puis la seconde et ainsi de suite. Le
programmeur tait totalement responsable de la dcoupe du programme et de la gestion de la
migration des branches entre la mmoire principale et la mmoire secondaire.

En 1961 des chercheurs de Manchester ont propos une mthode qui permettait de rendre
transparent au programmeur le mcanisme de gestion des branches. Au dbut des annes 1970
cette technique, dite de mmoire virtuelle, devint disponible sur la plupart des ordinateurs. L'ide
prconise par le groupe de Manchester consiste distinguer les notions d'espace d'adressage et
d'emplacement mmoire. Ce paragraphe doit tre dvelopp dans un cours sur les systmes
d'exploitation. Je n'introduirai ici que les principales notions, pour tudier leur mise en uvre au
niveau du matriel.


V.8.a Unit d'adressage

L'unit d'adressage est la plus petite quantit de mmoire qui spare deux adresses
conscutives. Dans toutes les machines, par convention, on assigne la premire position de
mmoire l'adresse 0, la deuxime l'adresse 1 et la N
me
l'adresse N-1. Une machine peut tre
adressable par octet (byte) ou par mot de 16, 20, 32, 60, 64, bits. Dans une machine adressable
par octet, un mot de 32 bits est constitu de 4 octets conscutifs. Mais les constructeurs ont
adopt deux conventions diffrentes pour ranger les octets l'intrieur d'un mot. Dans la premire
convention l'octet qui contient les 8 bits de poids faible du mot est rang l'adresse la plus basse.
Il est rang l'adresse la plus haute dans le second cas. Ces deux conventions sont parfois
rfrences par les vocables de big-endian et little-endian respectivement. Aucune de ces deux
conventions n'est intrinsquement meilleure que l'autre. Cela n'a d'importance que lors d'un
change de donnes entre deux machines respectant des conventions diffrentes.

Octet 0 Octet 1 Octet 2 Octet 3
i + 3 i i + 2 i + 1 adresse
Convention 1
Octet 3 Octet 2 Octet 1 Octet 0
i + 3 i i + 2 i + 1 adresse
Convention 2


Figure 17


Il peut exister d'autres restrictions sur la faon dont une machine peut manipuler sa
mmoire. Il peut par exemple tre impossible de faire dmarrer un mot de 32 bits n'importe
quelle adresse. L'adresse du premier octet doit tre paire, voire mme un multiple de 4.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 111

V.8.b Espace d'adressage

L'espace virtuel est le nombre de cellules mmoires qu'un programme peut adresser
directement. Ce nombre dpend du nombre de bits utiliss pour manipuler les adresses au niveau
des instructions. La mmoire physique disponible sur la machine peut avoir une taille diffrente
de l'espace virtuel disponible pour chaque programme.

L'espace physique peut tre plus grand que l'espace virtuel. Dans cette configuration il est
possible de charger plusieurs programmes la fois. Lorsque le contrle de l'unit centrale passe
d'un programme l'autre, l'excution peut s'enchaner rapidement sans attendre le chargement du
nouveau programme depuis le disque. Comme l'unit centrale accde la mmoire par des
adresses comptant un plus grand nombre de bits que les adresses manipules par le programme il
faut tre capable de "complter" celles-ci. Cela peut se faire grce aux registres de base dont nous
parlerons plus loin.

L'espace physique peut tre plus petit que l'espace virtuel, ce qui tait le cas lorsque le
principe de cette technique a t dvelopp. Il faut alors disposer d'un mcanisme capable de
charger, un moment donn, les parties du programme ncessaires son excution. Ce
mcanisme est galement utilis dans des machines pour lequel l'espace physique est plus grand
que l'espace virtuel. Il permet en effet un partage plus efficace de la mmoire entre plusieurs
programmes concurrents.


V.8.c Principe de la sparation et de l'assemblage des adresses

Le principe de sparation/assemblage des adresses est le fondement de toutes les
techniques de gestion de la mmoire centrale. Une adresse peut toujours tre vue comme
l'assemblage d'un numro de bloc et d'un dplacement l'intrieur de ce bloc.

Une adresse de N bits permet de reprer 2
N
cases. On peut la sparer en un numro de bloc, cod
sur B bits (les bits de poids fort), et un numro de case dans le bloc sur N-B bits. Chaque bloc
comptera 2
N-B
cases et il y aura 2
B
blocs, donc toujours 2
N
cases au total.

Prenons un exemple numrique trs simple pour illustrer ce principe. Considrons une
mmoire comptant 16 cases, numrotes de 0 15. Les adresses permettant d'identifier les mots
dans cette mmoire ont 4 bits. Nous nous intressons la case d'adresse 13 (marque **** sur la
figure). En binaire nous avons 13 = (1101)
2
. Si nous divisons la mmoire en deux blocs de huit
mots, cette case 13 se situe l'adresse 5 du bloc numro 1 (6
me
mot du 2
me
bloc). Le numro de
bloc est donn par le bit de haut poids ( gauche) de l'adresse. Le dplacement dans le bloc est
donn par les trois bits de droite : (101)
2
= 5. Nous pouvons galement diviser la mmoire en
quatre blocs de quatre mots. Le numro de bloc est alors donn par les deux bits de gauche
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 112
(11)
2
= 3 et le dplacement par les deux bits de droite (01)
2
= 1. La case 13 est en effet l'adresse
1 dans le bloc 3.

N-B bits
bloc de
2 mots
N-B
dplacement
dans le bloc

B bits
numro de bloc

Figure 18

****
0
1
2
3
blocs de
4 cases
blocs de
8 cases
0
1

Figure 19
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 113

Ce principe est facile mettre en uvre au niveau du matriel : les B lignes du bus
d'adresse correspondant aux bits de poids fort sont connectes un registre de B bits et les N B
autres lignes sont commandes par un autre registre de N B bits. Ces registres peuvent tre
chargs indpendamment par l'unit de calcul des adresses effectives.

V.8.d Registre de base et pagination

Pour optimiser l'utilisation de tout ordinateur il est rapidement devenu indispensable de
pouvoir charger tout programme n'importe o en mmoire. Il faut donc un mcanisme permettant
partir des adresses virtuelles de calculer les adresses physiques. Une des mthodes les plus
utilises est celle des registres de base qui existent dans presque tous les ordinateurs. Le
mcanisme est le suivant :

- Les programmes sont "relogeables" et toutes les adresses connues par le programmeur
sont virtuelles, relatives au dbut du programme l'adresse 0;
- Un registre spcial de l'unit centrale, appel registre de base, contient l'adresse physique
du dbut du programme dans la mmoire;
- Chaque fois que l'on fait une rfrence la mmoire, on ajoute l'adresse virtuelle
trouve dans le programme le contenu du registre de base.

Un registre de base permet galement de construire des adresses physiques comptant un
nombre diffrent de bits que les adresses virtuelles.

Pour obtenir une plus grande souplesse dans la gestion de la mmoire centrale, l'espace
virtuel de chaque programme est dcoup en blocs, tous de taille identique, les pages. L'espace
physique est dcoup en blocs (ou pages physiques) de mme taille que les pages de l'espace
virtuel. La longueur des pages est toujours une puissance de 2 ce qui facilite l'obtention de
l'adresse physique par assemblage binaire. Le mcanisme de gestion qui permet de passer d'une
adresse virtuelle une adresse physique dans un systme de pagination passe par la table des
pages. Les proprits de la table de pages sont les suivantes :

- Il y a une table des pages pour chaque programme;
- La table des pages contient une entre pour chaque page virtuelle du programme;
- Le dbut de la table des pages est charg dans un registre : le registre de base de la table
de pages (RBTP);
- Chaque entre de la table peut contenir :
. des bits de contrle : - page prsente en mmoire/page absente;
- page modifie/non modifie;
- autorisation d'accs en criture;
- compteur d'utilisation;
. deux adresses : - position de la page en mmoire secondaire (en gnral un
disque : unit, face, piste et secteur);
- numro du bloc de mmoire physique contenant la page, si la
page virtuelle est prsente en mmoire.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 114

Le registre de base et le registre de base de la table de pages font partie du contexte du
programme. La mise jour de la table des pages est assure par le systme. L'exploitation de
cette table pour le calcul de l'adresse physique peut tre effectue par le systme, mais cela
consomme une partie du temps CPU disponible. Pour librer le systme d'exploitation cette
gestion peut tre confie un circuit spcialis : unit de gestion de la mmoire (MMU : Memory
Management Unit) intercale entre l'unit centrale et la mmoire.

Le mcanisme de gestion de la mmoire peut se dcomposer de la manire suivante :

1) L'adresse virtuelle est spare en deux parties :
- numro de page virtuelle.
- dplacement dans la page : identique dans la page physique;

2) On ajoute le contenu du registre RBTP au numro de page virtuelle obtenu lors de l'tape 1.
Cela nous donne l'adresse de l'entre correspondante dans la table des pages.

3) On teste le bit de prsence :
a) La page est prsente. Le numro du bloc physique contenant la page est charg dans le
registre de base. L'adresse physique est calcule en assemblant le registre de base au
dplacement dans la page obtenu en 1 (fig. 20).
b) La page est absente. Il y a faute de page. L'adresse de la page en mmoire secondaire
permet de chercher la page sur disque et de la charger en mmoire. La tche en incombe au
systme d'exploitation, qui alloue l'unit centrale un autre programme pendant ce temps.
Aprs chargement le numro du bloc physique contenant la page est plac dans la table des
pages. On est alors ramen au cas 3a.

Pour acclrer la phase 3.a il est possible d'utiliser une mmoire associative (cf. prochain
paragraphe) utilisant le numro de page virtuelle comme tiquette et fournissant en sortie le
numro de bloc physique. Cette mmoire associative ne contient alors que les pages en mmoire.
Si la recherche est infructueuse le systme utilise la table des pages.

Pour pouvoir charger une page en mmoire il faut disposer d'un bloc physique libre. Si ce
n'est pas le cas il faut dcharger une page (en premire approximation effacer le bit indiquant que
la page est en mmoire et effacer le numro du bloc physique correspondant). Plusieurs stratgies
sont possibles : alatoire, FIFO ou LRU (cf : Systmes d'exploitation). Une solution consiste
remplacer la page la moins rcemment utilise (LRU : Least Recently Used). C'est le rle du
compteur associ chaque entre de la table des pages. Il indique la plus rcente rfrence la
page. D'autre part, si la page a t modifie il faut la sauvegarder en mmoire secondaire avant de
librer l'emplacement physique.

Le programme est crit comme s'il pouvait tre totalement contenu dans la mmoire
principale, mme si ce n'est pas le cas. A la limite, le programmeur n'a pas besoin de savoir qu'il
y a une mmoire virtuelle : tout se passe comme si l'ordinateur tait dot d'une norme mmoire
principale. Le mcanisme de pagination est transparent, sauf au niveau des performances qui
dpendent de la charge du systme.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 115

Une autre fonction de l'unit de gestion de la mmoire consiste vrifier la cohrence des
attributs d'accs. Chaque tche possde des attributs : mode utilisateur, mode superviseur, etc Il
en est de mme pour les zones mmoires. On peut avoir :

- Lecture uniquement;
- Superviseur uniquement;
- Zone programme;
- Zone donne;
- etc

Si l'accs viole les attributs de la cible, la MMU doit interrompre la requte mmoire et engendrer
une condition d'erreur ou une interruption particulire appele exception.

1 0011011100 01110
0 1100100100
0 1000111000
1 0000011000 10010
1 0011101001 01101
0 0100001111
1 0110001110 00011
1 1001101100 01111
0011011000111001 100
RBTP +
adresse virtuelle
prsence
en mmoire
adresse en
mmoire
secondaire
numro de
bloc physique
01101 0011011000111001 adresse physique
RB


Figure 20


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 116
V.9 Mmoire associative

Une mmoire associative, ou mmoire adressable par le contenu, permet de chercher si
une information, appele descripteur ou clef, est contenue dans la mmoire et, dans cette
hypothse de fournir une information associe. Le descripteur est compar simultanment tous
les mots de la mmoire associative. La figure 21 prsente le schma de principe d'une mmoire
associative. La figure 22 explicite les cellules de base des deux matrices. La matrice 2 peut tre
trs semblable l'organisation des cellules dans une mmoire vive classique. Par contre la
matrice 1 remplace le dcodage des lignes.

C
Matrice 1 Matrice 2
Registre D Registre A


Figure 21


La recherche en mmoire suppose le chargement pralable du descripteur dans le registre
D. Ensuite toutes les oprations s'excutent en parallle sur tous les mots, sous l'effet d'une seule
impulsion C. Une cellule de la matrice 1 transmet l'impulsion C si le contenu du point mmoire
est identique au bit correspondant du registre D plac sur la mme verticale. Dans le cas contraire
l'impulsion C est arrte. En effet la sortie de la cellule i (et l'entre de la cellule i+1) nous
avons :
) Q D Q D ( C C
j i
j
j i j j i 1 j i

+
+ =

Si on suppose qu'il y a dans la matrice 1 au plus une information identique celle du descripteur,
il sort de la matrice 1 au plus une impulsion C
i
qui dsigne le mot de la matrice 2 charger dans
le registre A.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 117
Q
Q
M
i j
C
i j
D
j
C
i j+1
Q
Q
M'
i j
C
i
A
j
Cellule de matrice 2 Cellule de matrice 1

Figure 22


Une mmoire associative est souvent utilise pour la gestion de la mmoire centrale. Les
mmoires caches constituent un autre exemple d'utilisation des mmoires associatives.


V.10 Mmoire cache ou antmmoire

Le concept de mmoire virtuelle pagine peut tre vu comme un cache, la mmoire
physique constituant un cache pour la mmoire secondaire. D'une faon gnrale, on appelle
cache tout dispositif matriel ou logiciel qui stocke dans une zone d'accs rapide une copie de
donnes en petite quantit choisies parmi des donnes qui sont stockes dans une zone d'accs
plus lent.

Dans le cas de la pagination, la mmoire primaire est la mmoire physique et la mmoire
secondaire est l'espace sur disque. La mmoire physique ne contient, un instant donn, que les
seules pages du programme utilises rcemment. Dans le cas d'un cache-mmoire, la mmoire
primaire est une mmoire rapide, la mmoire secondaire est la mmoire principale de la machine.
Le cache-mmoire ne contient, un instant donn, que les copies de petits blocs de mots de la
mmoire physique rcemment rfrencs. Il y a cependant une nuance. Pour la pagination le
temps ncessaire au chargement d'une page partir du disque est long. Ce mcanisme est gr
par le systme et le programme en cours perd le contrle de l'unit centrale. Pour l'antmmoire
la gestion se fait uniquement au niveau du matriel et le programme en cours conserve la main.

On utilise pour les caches des mmoires statiques trs rapides. La mmoire cache permet
de combler en partie la diffrence entre les vitesses de l'unit centrale et de la mmoire. On
trouve trs souvent deux niveaux de mmoire cache. Le premier niveau est intgr au processeur
et dispose d'un temps d'accs quivalent au cycle de fonctionnement de celui-ci. Le second
niveau est de plus grande taille mais plus lent. Une mmoire cache intgre au processeur, ou trs
proche, est base sur une mmoire associative.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 118

Les statistiques ont montr que 80 90 % des programmes se trouvent dans des boucles.
C'est pourquoi une mmoire cache peut obtenir un taux de russite, probabilit de trouver
l'instruction dans le cache, de 70 90 %. L'emploi des mmoires caches est essentiel dans les
architectures RISC. Certains processeurs disposent de deux caches pour les instructions et les
donnes (architecture de Harvard).

Mme en dehors d'une boucle, comme le traitement des instructions est squentiel on a
intrt transfrer les instructions par blocs. On appelle un tel bloc une ligne, quivalente la
page entre mmoire et disque.

La figure 23 illustre le schma de principe d'une architecture avec hirarchisation de la
mmoire. L'intgration sur une mme plaquette silicium s'tend peu peu. Elle peut aller
aujourd'hui jusqu'au cache de niveau 2.

unit de
gestion
mmoire
(MMU)
cache
niveau 2
cache
niveau 1
mmoire
centrale
disque
unit
centrale
(CPU)
adresses
virtuelles
bus d'adresse
bus de donnes

Figure 23


V.11 Mmoire file ou FIFO

Il existe un autre type de mmoire vive : la file d'attente ou FIFO. Cette abrviation
signifie First In First Out, soit premier entr premier sorti.

Une file dispose de deux bus de donnes distincts en entre et en sortie. L'accs n'est pas
alatoire, l'ordre en sortie est identique celui en entre. Il n'y a pas d'adressage. L'utilisateur peut
crire dans la FIFO si le premier tage est libre et lire la FIFO que si le dernier tage est occup.
Une file est constitue de n registres dcalage comptant chacun m cases. Le nombre n
correspond la largeur des mots, alors que m est la profondeur de la file ou sa capacit. Un
registre interne indique l'tat (libre ou occup) de chacun des tages. La logique de contrle
dcale automatiquement chaque tage occup vers un tage libre.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 119
Logique de contrle
n

s
o
r
t
i
e
s
n

e
n
t
r

e
s
sortie occupe entre occupe
Figure 24
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 120



Mmoires mortes et logique programmable



VI.1 Mmoires mortes

Nous avons consacr le chapitre prcdent l'tude des mmoires vives, avec accs en
lecture et criture mais volatiles. Cependant pour certaines applications, il est ncessaire de
pouvoir conserver des informations (programmes, donnes, ) de faon permanente mme
lorsque l'alimentation lectrique est interrompue. On utilise alors des mmoires mortes ou
mmoires lecture seule (ROM : Read Only Memory). Dans ce cas les informations contenues
en mmoire ne peuvent tre accdes qu'en lecture. Les informations ne peuvent tre modifies ni
intentionnellement, ni accidentellement. L'intrt de ces mmoires rside dans le fait que cette
mmoire permanente est accessible la grande vitesse propre aux circuits lectroniques semi-
conducteur.

VI.1.a Principe

Extrieurement une mmoire morte ressemble un bloc mmoire sans ligne d'entre ni
commande d'criture. Ce systme peut se restreindre k lignes d'adresse, n lignes de sortie et un
signal de slection du circuit.

n lignes
de sortie
k lignes
d'adresse
2 mots de n bits
k
CS


Figure 1


Une telle mmoire morte contient 2
k
mots de n bits. Nous pouvons considrer que chacun de ces
mots porte un code. Ainsi une mmoire morte peut tre ralise avec un encodeur de 2
k
lignes et
n sorties associ un dcodeur pour activer une de ces 2
k
lignes (fig. 2). Nous avons vu qu'un
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 121
encodeur peut tre obtenu avec des diodes. La figure 3 donne l'exemple simple d'une mmoire
morte de 4 mots de 4 bits, correspondant la table de vrit suivante :

X
1
X
0
Y
3
Y
2
Y
1
Y
0

0 0 1 0 1 0
0 1 1 1 0 1
1 0 0 0 1 0
1 1 1 1 1 1

Table 1


D

c
o
d
e
u
r
Encodeur k entres
2 lignes
k
n sorties

Figure 2

X
X
0
1
CS
Y
0
Y
1
Y
2
Y
3


Figure 3


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 122
Tout comme pour les mmoires vives cette organisation n'est pas la plus conomique. On
utilise plutt une organisation matricielle, une partie de l'adresse servant identifier une ligne et
le reste correspondant une colonne. Tout ce qui a t dit sur l'assemblage des blocs mmoires
pour augmenter la capacit ou la longueur des mots reste valable pour les mmoires mortes.

VI.1.b Application des ROMs

Les domaines d'application des mmoires mortes sont trs nombreux. Certains ont dj
t rencontrs dans ce cours, comme la conversion de code. La gnration de caractres, pour un
terminal ou une imprimante, en est un exemple. Un caractre peut tre considr comme une
matrice de points, chaque point afficher tant dfini par un 1 dans la matrice. Chaque ligne de
cette matrice est reprsente par un mot de n bits, n tant le nombre de colonnes. Pour un certain
nombre de polices permanentes, les matrices peuvent tre stockes en mmoire morte dans le
priphrique.

Les ROMs peuvent tre galement utilises pour conserver certains programmes et les
donnes associes. C'est le cas pour les calculateurs de poche ou pour les programmes de
dmarrage et de chargement qui s'excutent automatiquement lors de la mise sous tension d'un
ordinateur.
Une mmoire morte peut galement tre utilise pour gnrer une fonction numrique.
Considrons par exemple la fonction sinus : sin (x) pour x variant entre 0 et /2. Nous pouvons
diviser ce domaine de variation |0, /2| en N = 2
k
intervalles, la variable x prenant les valeurs
centrales, c'est--dire :

| |
N 2
x et 1 N , 0 i avec x
2
1
i x
i

=
|
.
|

\
|
+ =

Chacune de ces valeurs est identifie par l'indice i qui peut tre utilis comme une adresse. Si
nous codons dans la cellule de mmoire associe le nombre :

] x sin ) 1 2 [( Entire Partie f
i
n
i
=

nous obtenons une grandeur proportionnelle sin x
i
, code sur la totalit de la gamme dynamique
des n bits. Nous obtenons ainsi une table de la fonction sinus (Look-up table). Une telle table
associe un compteur et un convertisseur Numrique-Analogique peut servir la gnration
de signaux priodiques.

Une mmoire morte peut galement tre utilise pour gnrer des fonctions logiques.
Supposons que pour une application particulire nous ayons besoin de huit fonctions logiques f
0

f
7
de deux variables a et b, par exemple :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 123

=
=
+ =
+ =
+ =
=
=
=

b a ) b , a ( f
b a ) b , a ( f
b a ) b , a ( f
b a ) b , a ( f
b a ) b , a ( f
b a ) b , a ( f
a ) b , a ( f
b a ) b , a ( f
7
6
5
4
3
2
1
0
b


Il est facile d'crire la table de vrit de ces huit fonctions par rapport aux quatre combinaisons de
a et b. Nous obtenons ainsi 8 x 4 = 32 valeurs possibles. Celles-ci peuvent tre mmorises dans
une ROM 32 bits comptant 5 lignes d'adresse et une sortie. Trois bits servent identifier la
fonction f
i
, les deux autres lignes d'adresse correspondent aux variables a et b.

a
f
b
i
S 32 bits


Figure 4



VI.2 Mmoires programmables par l'utilisateur : PROM

Pour faire fabriquer une mmoire morte le client doit fournir la table de vrit au fabricant
qui se charge de raliser les masques, puis de produire les circuits. La ralisation des masques est
une opration onreuse qui suppose une production importante pour tre amortie. Par ailleurs
dans la phase de dveloppement d'un systme, on peut tre amen modifier le contenu d'une
ROM, pour corriger des erreurs ou apporter des modifications. Cela peut s'avrer trs coteux.
D'autre part la fabrication des premiers circuits demande quelques mois.

La mmoire programmable (PROM pour Programmable Read Only Memory) a t
invente pour offrir un gain de temps et d'argent durant la phase de mise au point. Une mmoire
PROM, fabrique en grande srie, donc bas prix, est programme par l'utilisateur lui-mme.
Lorsque la table de vrit est valide, la ROM peut tre ralise industriellement pour la
fabrication en grande srie. Sinon la PROM est un composant financirement intressant pour les
petites sries.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 124
VI.2.a Techniques de programmation

Plusieurs procds sont possibles pour l'enregistrement de l'information binaire. Citons
pour commencer la mthode des fusibles. Pour chaque bit ou nud de la matrice existe une diode
et un fusible. Initialement les fusibles sont conducteurs, les bits sont donc tous 1. La dfinition
des 0 se fait l'aide d'un programmateur de PROM qui, en fonction de la table de vrit, dtruit
les fusibles en indiquant l'adresse du mot contenant le bit modifier et en injectant un courant sur
la sortie correspondante. Cette mthode de programmation prsente quelques risques pour
l'ensemble du circuit. Le schma de la figure 5 est identique celui de la figure 3, les fusibles
encore prsents assurant les mmes connexions.

X
X
0
1
CS
Y
0
Y
1
Y
2
Y
3


Figure 5


Avec cette technique la programmation est irrversible. C'est galement le cas pour la
technique des anti-fusibles. Aucune connexion n'est initialement programme, mais il est possible
de crer un contact l'intersection de chaque ligne et de chaque colonne en dtruisant un
dilectrique. Au moins deux technologies sont utilises.

Dans la premire (fig. 6) on fait fondre un dilectrique en forant un courant important
(environ 5 mA) dans une zone de trs faibles dimensions situe l'intersection de deux lectrodes
l'une en silicium polycristallin et l'autre ralise par un implant fortement dop n+. Ce
dilectrique est constitu de trois couches alternes d'oxyde et de nitrure de silicium : SiO
2
-
Si
3
N
4
- SiO
2
. La prsence du nitrure permet de rduire l'paisseur du dilectrique. Lors de la
fusion du dilectrique il y a diffusion de dopants, ce qui diminue la rsistance du contact ralis.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 125
n+
SiO
2
SiO
2
dilectrique
silicium polycristallin
Si
contacts
n+

Figure 6


La seconde technologie (fig. 7) permet de rduire cette rsistance, car le contact est ralis
par un alliage de tungstne, titane et silicium. Le dilectrique est cette fois du silicium amorphe
entre deux lectrodes mtalliques (m1 et m2). Cette technique requiert moins de place que la
premire, mais elle est assez dlicate mettre en uvre.

m1
m2
SiO
2
SiO
2
SiO
2
silicium amorphe


Figure 7


Dans toutes les techniques prcdentes la programmation irrversible, il est impossible de
revenir en arrire. Toute modification suppose la programmation d'un nouveau circuit. Une autre
technique offre la possibilit de multiprogrammation.

grille
grille flottante
source drain
n+ n+
substrat p


Figure 8
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 126


On utilise pour cela des transistors effet de champ structure MOS (Mtal-Oxyde-
Semiconducteur) avec une grille supplmentaire flottante. Dans un transistor MOS classique la
grille est utilise pour induire un canal entre la source et le drain.

Dans l'exemple de la figure 8 une tension positive de la grille va attirer des lectrons et
repousser des trous. Par ailleurs une partie des lectrons attirs se recombinent avec des trous.
Une inversion de population se cre induisant un canal n entre les implants de la source et du
drain. Le transistor devient passant. Pour programmer un tel nud on fait alors circuler un
courant intense entre la source et le drain. Certains lectrons acquirent une nergie leur
permettant d'atteindre la grille flottante. Ils y sont alors pigs. Lorsque la charge pige est
suffisante elle masque le champ lectrique induit par la grille et le transistor est bloqu. Le
courant de fuite tant trs faible cette charge peut se conserver trs longtemps.

La programmation est rversible, il suffit de dcharger cette grille flottante. Une premire
solution consiste exposer le circuit un rayonnement ultraviolet pendant quelques dizaines de
minutes. Ces circuits sont quips d'une fentre en quartz et encapsuls dans un botier en
cramique pour rsister l'chauffement. Cette mise en uvre augmente le prix des composants,
mais cela n'est ncessaire que pour le dveloppement. Pour la production le mme circuit existe
sans fentre et en botier plastique. Cette technique correspond aux mmoires mortes effaables :
EPROM (Erasable Programmable Read Only Memory). Il est galement possible de dcharger la
grille flottante par effet tunnel en appliquant des tensions suffisamment leves entre la grille, la
source et le drain. Cet effacement est plus rapide et n'impose pas de retirer le circuit du systme
dans lequel il est install. Cela correspond la famille des mmoires mortes programmables et
effaables lectriquement : EEPROM (Electrically Erasable Programmable Read Only Memory).

La diffrence entre les EEPROM et les mmoires vives rside dans la vitesse d'criture.
Le cycle d'criture d'une EEPROM est environ 1000 fois plus long que celui d'une RAM. Par
contre rappelons que les temps d'accs en lecture des mmoires RAM, ROM, PROM, EPROM et
EEPROM sont comparables.

Citons enfin un composant hybride qui associe dans un mme botier une RAM et une
EEPROM de mme capacit : la mmoire NOVRAM (NOn Volatile RAM). L'EEPROM permet
de raliser en moins de 10 ms une sauvegarde globale de la RAM. Cela permet une sauvegarde
du contenu de la mmoire en cas de coupure d'alimentation lectrique.


V.3 Rseaux logiques programmables

Les mmoires mortes programmables furent les premiers membres d'une famille de
composants : les circuits logiques programmables (CLP ou PLD : Programmable Logique
Device). Cette famille est aujourd'hui trs nombreuse et trs varie, comme l'illustre la multitude
d'acronymes : PAL, SPLD, EPLD, CPLD, FPGA, etc. La figure 9 donne une reprsentation
symbolique simplifie d'une PROM de 16 mots de 4 bits. Les portes ET reoivent 4 variables
directes ou inverses. Les connections de gauche, correspondant au dcodeur et reprsentes par
des disques noirs, sont figes. Les croix droite reprsentent des connexions programmables. Les
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 127
portes OU peuvent recevoir jusqu' 16 variables. Chaque sortie d'une PROM est ainsi reprsente
comme une somme canonique de produits.

I
0
I I I
1 2 3
Y
0
Y Y Y
1 2 3


Figure 9


Dans un Programmable Array Logic (PAL) la matrice des connexions OU est fige et la
matrice des connexions ET est programmable (fig. 10). Un Programmable Logic Array (PLA ou
FPLA : Field Programmable Logic Array) offre le maximum de souplesse car les deux matrices
des OU et ET sont programmables comme l'indique la figure 11. Ces circuits constituent la
famille de SPLDs (Simple Programmable Logic Device).

Ce type de circuits n'a cess de se sophistiquer au fil du temps. Certains canaux
d'entre/sortie peuvent tre bidirectionnels, les deux portes "3 tats" en commandant le sens
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 128
pouvant tre programmable. Par ailleurs, des sorties peuvent tre injectes dans le rseau de
portes ET, offrant ainsi la possibilit d'utiliser des variables intermdiaires.

On peut galement trouver un rseau de bascules de type D avec une horloge commune.
L'entre d'une bascule peut tre programme au niveau des rseaux de portes ET et OU. Sa sortie
peut tre accessible l'extrieur et utilise comme variable interne injecte dans le rseau de
connexions programmables. Il est alors possible de programmer des fonctions squentielles.

La figure 12 illustre quelques unes de ces possibilits. On y trouve une bascule D dont la
sortie est injecte dans le rseau programmable, matrialis par les petits carrs. La sortie doit
tre valide par le signal OE (Output Enable).

I
0
I I I
1 2 3
Y
0
Y Y Y
1 2 3


Figure 10

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 129
I
0
I I I
1 2 3
Y
0
Y Y Y
1 2 3


Figure 11


L'volution a conduit des composants plus complexes. Ce sont d'abord les CPLDs
(Complex Programmable Logic Device), puis les FPGA (Field Programmable Gate Array). Ce
sont de relativement gros ensembles de cellules logiques programmables (comparable ce que
nous venons de prsenter) qui peuvent tre connectes de diffrentes matires.

Un CPLD est compos d'un certain nombre de PALs, ou macrocellule. La figure 12 donne
un exemple de ce que peut tre une macrocellule. Ces macrocellules sont regroupes en blocs
logiques, qui peuvent tre relis via une matrice de connexion programmable (fig. 13). Les
macrocellules d'un mme bloc sont gnralement interconnectes.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 130
D Q
Q
ClK
Horlorge OE
sortie

Figure 12

M
a
t
r
i
c
e

d
e

c
o
n
n
e
c
t
i
o
n
B
l
o
c

L
o
g
i
q
u
e
B
l
o
c

L
o
g
i
q
u
e
B
l
o
c

L
o
g
i
q
u
e
Macrocellule

Figure 13


Un FPGA offre le maximum de capacit logique. Il comprend des blocs d'entre/sortie,
des blocs logiques et des matrices de connexion, le tout tant programmable (fig. 14). Les
architectures de ces circuits sont trs varies.

A une exception prs, les techniques de programmation des FPGAs sont identiques
celles que nous avons dcrites pour les mmoires mortes programmables. Il existe une technique
supplmentaire pour les FPGAs. La programmation de certains FPGAs se fait l'aide d'une
mmoire statique incorpore. La sortie d'un point mmoire de cette RAM peut commander l'tat
d'un transistor pour assurer ou non une connexion. Cela permet une mise jour de la
programmation au sein du systme. Par contre, il faut charger cette mmoire chaque dmarrage
et tenir compte du temps ncessaire ce chargement. Celui-ci peut se faire partir d'une ROM ou
tre effectu par un ordinateur. Ces composants complexes sont ncessairement accompagns de
logiciels de programmation, routage et de simulation.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 131

Rseau de connexion
programmable
Bloc logique
Bloc d'entre/sortie

Figure 14

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 132



Unit Centrale de Traitement :
Processeur




VII.1 Introduction

L'unit centrale de traitement (CPU : Central Processing Unit), encore dnomme
processeur ou microprocesseur, est l'lment de l'ordinateur qui interprte et excute les
instructions d'un programme. C'est le cerveau de l'ordinateur. Mais on trouve aussi des
processeurs, dits spcialiss, qui peuvent dcharger l'unit centrale et assurer des tches en
parallle. Ceci est trs frquent pour la gestion des entres/sorties.

Un processeur est aujourd'hui un circuit lectronique trs haute densit d'intgration
(ULSI : Ultra Large Scale Integration), qui peut compter quelques dizaines de millions de
transistors. Le premier circuit de ce type a t cr par Intel en 1971 : le 4004 conu pour quiper
des calculatrices. Il comptait alors 2300 transistors pour 46 instructions. La loi de Moore,
formule en 1965 par un des fondateurs de la compagnie Intel, qui prdit un doublement des
capacits des processeurs tous les 18-24 mois, a jusqu' prsent t relativement bien suivie. Il ne
s'agit pas seulement de l'augmentation de la frquence de fonctionnement ou du nombre de
transistors. Les concepteurs cherchent aussi augmenter la quantit de traitement par cycle
d'horloge.

Une unit centrale se compose d'au moins deux units fonctionnelles : l'unit de
commande et l'unit de calcul. A l'origine celle-ci s'identifiait l'unit arithmtique et logique,
charge de l'excution des oprations boolennes et des oprations arithmtiques (addition,
soustraction, multiplication, division, comparaison, etc.) pour des entiers. En parallle cette
unit, on peut trouver une unit de calcul sur les rels ainsi qu'une unit de traitement ddie aux
oprations multimdia (traitement des images et du son).

A ct de ces deux units fonctionnelles on trouve une interface de gestion des
communications sur le bus externe, ainsi qu'une mmoire cache. Celle-ci est baptise de premier
niveau car situe proximit immdiate du cur du processeur. Mais depuis quelques annes, les
concepteurs ont t amens embarquer galement la mmoire de second niveau. Ces caches
peuvent tre scinds pour sparer les instructions et les donnes (architecture Harward).

L'unit de commande contient une unit charge du dcodage des instructions, une unit
pour le calcul des adresses des donnes traiter. On y trouve galement le squenceur qui
contrle le fonctionnement des circuits de l'unit de calcul ncessaires l'excution de chaque
instruction.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 133

L'unit centrale comprend un certain nombre de registres pour stocker des donnes
traiter, des rsultats intermdiaires ou des informations de commande. Parmi ces registres
certains servent pour les oprations arithmtiques ou logiques, d'autres ont des fonctions
particulires comme le registre instruction (RI) qui contient l'instruction excuter, le compteur
ordinal (CO) qui pointe sur la prochaine instruction ou un registre d'tat (RE ou PSW : Processor
Status Word) contenant des informations sur l'tat du systme (retenue, dpassement, etc.).

La figure 1 prsente un schma gnral trs simplifi de l'organisation de l'unit centrale,
sans tenir compte de la prsence d'une mmoire cache et de l'interface avec le bus externe.

u
n
i
t

d
e

c
a
l
c
u
l
registres
dcodeur
calcul d'adresse
squenceur
RI CO
RE
Unit de
Commande
U
A
L
logique de
contrle
H


Figure 1


Avant d'tudier le fonctionnement de l'unit de commande nous allons passer rapidement
au travers de certains lments de l'ALU, c'est--dire le traitement numrique et logique des
entiers. Nous avons, en fait, dj tudi dans les chapitres prcdents les principales fonctions
intervenant dans l'ALU pour des entiers non signs : comparaison, addition, soustraction,
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 134
dcalage, etc. Nous allons tendre cette tude aux entiers signs et pour cela nous commenons
par tudier la reprsentation des nombres en machine.


VII.2 Reprsentation des nombres

VII.2.a Entiers non signs

Les entiers positifs ou nuls peuvent tre cods en binaire pur. A l'aide de n bits nous
pouvons reprsenter 2
n
nombres compris entre 0 et 2
n
1 :

=
=
1 n
0 k
k
k
2 a A

Sur le papier on utilise souvent les notations, plus compactes, octale ou hexadcimale : un
chiffre (de 0 8) en octal reprsente 3 bits et un caractre (de 0 F) hexadcimal permet de
reprsenter 4 bits (table 1). Ainsi un octet s'crit comme deux caractres hexadcimaux.


binaire octal binaire hexadcimal
000 0 0000 0
001 1 0001 1
010 2 0010 2
011 3 0011 3
100 4 0100 4
101 5 0101 5
110 6 0110 6
111 7 0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Table 1


Si on n'utilise qu'une seule reprsentation binaire des entiers non signs, on rencontre
plusieurs manires de coder les entiers signs. Nous allons en tudier quelques-unes. La table 2
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 135
prsente une illustration sur 9 bits de ces diffrents codes : le bit de signe, le plus gauche, y est
mis en vidence.


Valeur
dcim.
signe et
val. absolue
complment.
vrai
complment.
restreint
binaire
dcal
+127 0 11111111 0 11111111 0 11111111 1 11111111

+1 0 00000001 0 00000001 0 00000001 1 00000001
+0 0 00000000 0 00000000 0 00000000 1 00000000
0 1 00000000 1 11111111
1 1 00000001 1 11111111 1 11111110 0 11111111

127 1 11111111 1 00000001 1 00000000 0 00000001
128 1 00000000 0 00000000

Table 2


VII.2.b Entiers signs sous la forme signe et valeur absolue

L'ide la plus naturelle pour coder des entiers signs consiste ajouter le signe sous la
forme d'un bit supplmentaire : 0 pour les entiers positifs et 1 pour les entiers ngatifs. Soit pour
n+1 bits :

=
=
=

=
1 ) 1 ( signe
1 ) 0 ( signe
avec 2 a ) a ( signe A
1 n
0 k
k
k n


On code alors 2
n+1
entiers compris entre (2
n
1) et 2
n
1. Cependant le zro possde deux
reprsentations : +0 et 0, ce qui peut tre un inconvnient, en particulier dans certains tests.


VII.2.c Entiers signs en complment vrai

Nous avons vu que la reprsentation en complment deux facilite les oprations
arithmtiques d'addition et de soustraction. Notons A
+
le complment vrai, ou complment
deux, d'un entier positif, dfini par :
1 A A + =
+


Il est facile de vrifier que :
) 1 bits n ( 1 2 A A
n
= +
donc :
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 136
) bits n ( 0 A A +
+

Par exemple :
A 0 1 1 0 1 0 0 1
+ A
+
1 0 0 1 0 1 1 1
1 0 0 0 0 0 0 0 0

Le complment vrai d'un entier peut donc tre assimil son oppos. Considrons le
codage sur n+1 bits. Par convention nous choisissons d'crire tout entier positif avec le bit de plus
haut poids a
n
0 et sa valeur algbrique sur n bits. Nous pouvons ainsi coder 2
n
entiers positifs
de 0 2
n
1. Prenons le complment vrai de tous ces mots de n+1 bits. Commenons par le zro.
Son complment est constitu de (n+1) bits 1. En additionnant 1, pour passer au complment
vrai, la retenue se propage jusqu'au dernier bit et nous obtenons (n+1) bits 0 :

A 0 0 0 0 0 0 0 0
A 1 1 1 1 1 1 1 1
A
+
1 0 0 0 0 0 0 0 0

Dans cette reprsentation, il n'y a donc qu'un seul zro. Tout autre entier positif possde au moins
un bit 1. Dans le complment tous les bits 1 deviennent des 0. Lors de l'addition de 1, pour
passer au complment vrai, le premier bit 0 arrte la propagation de la retenue et les bits de plus
haut poids restent inchangs :

A 0 X X X 1 0 0 0 X = indiffrent
A 1 X X X 0 1 1 1
A
+
1 X X X 1 0 0 0

On remarque en particulier que le bit de plus haut poids de A
+
est toujours gal 1. Ce bit a
n
peut
donc tre interprt comme un bit de signe : 0 pour les entiers positifs et 1 pour les entiers
ngatifs.

Considrons un entier positif A et son oppos B = A. Nous pouvons crire leur
reprsentation binaire respective :

A (0 a
n1
a
n2
a
1
a
0
) et B (1 b
n1
b
n2
b
1
b
0
)

Compte tenu de notre convention nous obtenons la valeur de l'entier positif A en utilisant la
somme classique sur les n bits de bas poids :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 137

=
=
1 n
0 k
k
k
2 a A

Comme la reprsentation binaire de B est le complment vrai de celle de A, nous pouvons crire :

0 a
n-1
a
n-2
. a
1
a
0
+ 1 b
n-1
b
n-2
. b
1
b
0

1 0 0 0 . 0 0
Soit encore :
a
n-1
a
n-2
. a
1
a
0
+ b
n-1
b
n-2
. b
1
b
0

1 0 0 . 0 0
C'est--dire :

n
1 n
0 k
k
k
1 n
0 k
k
k
2 2 b 2 a = +


=

=

ou
n
1 n
0 k
k
k
2 2 b A = +

=

Donc :
n
1 n
0 k
k
k
2 2 b A B = =

=


En prenant en compte le bit de signe, nous pouvons rassembler les deux expressions
prcdentes donnant la valeur numrique associe une reprsentation binaire en complment
deux sur n+1 bits sous une forme gnrale :

n
n
1 n
0 k
k
k
2 a 2 a A =

=


Ce codage nous permet de reprsenter 2
n+1
nombres entiers compris entre 2
n
et 2
n
1.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 138
VII.2.d Entiers en reprsentation biaise

En binaire pur, avec n+1 bits nous pouvons reprsenter 2
n+1
entiers compris entre 0 et
2
n+1
-1. Si nous soustrayons chacun des nombres ainsi reprsents la valeur mdiane de cet
intervalle, soit 2
n
, nous obtenons des entiers signs compris entre -2
n
et 2
n
- 1. Cela correspond
la reprsentation biaise ou dcale. Pour n+1 bits le biais soustraire est 2
n
:

n
n
0 k
k
k
2 2 a A =

=


Nous pouvons remarquer que cette reprsentation est identique au complment vrai une
inversion de la convention du bit de signe prs : 0 pour les valeurs ngatives et 1 pour les valeurs
positives. En effet l'expression prcdente peut encore s'crire :

n
n
1 n
0 k
k
k
2 ) a 1 ( 2 a A =

=


En particulier, le bit de signe du zro est galement 1.


VII.2.e Nombres fractionnaires en virgule fixe

Pour le codage des entiers on attribue un poids 1 au bit de poids le plus faible. Si nous lui
attribuons un poids 2
m
avec n bits nous pouvons crire :

m m
1 n
0 k
k
k
1 n
0 k
m k
k
2
A
2
2 a
2 a F = = =

=



Les m bits de poids faibles reprsentent la partie fractionnaire du nombre et les nm bits de poids
forts sa partie entire. La position de la virgule est fixe par le choix de m. Cette reprsentation
est applicable aux reprsentations signes.

En valeur absolue la plus petite valeur reprsente correspond 2
-m
, et la grande 2
n-m
(ou
presque), soit une gamme dynamique (rapport entre ces deux valeurs extrmes) de 2
n
.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 139
VII.2.f Nombres en virgule flottante

En calcul scientifique on a souvent besoin de manipuler des nombres trs grands ou trs
petits. Pour cela on utilise la notation exponentielle, sous la forme :

A = M 2
E
avec 2
-1
M < 1

o M est la mantisse et E l'exposant. La prcision de la reprsentation dpend du nombre de bits
rservs la mantisse. Les formats ont t, et sont encore, trs varis selon les constructeurs et les
processeurs. Il existe cependant des standards, comme la norme IEEE 754. Dans celle-ci la
reprsentation en simple prcision est code sur 32 bits.

S
mantisse exposant

Figure 2

Ce format comporte le bit de signe de la mantisse (bit 31), suivi de n = 8 bits pour l'exposant en
reprsentation biaise (bits 23 30), puis de m = 23 bits pour la mantisse code en virgule fixe
(bits 0 22).

Sauf pour le zro (cod par un mot nul : 0000) nous pouvons toujours choisir l'exposant
de telle faon que la mantisse soit comprise entre 0.5 et 1. Cela signifie que le bit de plus haut
poids de la mantisse est toujours gal 1 : la mantisse est dite normalise. Ce bit peut tre oubli
(en particulier dans la norme IEEE 754), on gagne ainsi un bit pour la rsolution. On dit alors que
la mantisse est bit cach. Le choix de la reprsentation biaise pour l'exposant permet, dans ce
cas, d'viter toute confusion entre les reprsentations du zro et du nombre 1/2. En effet
1/2 = 0,5 2
0
. Le bit de signe de E = 0 en reprsentation biaise tant 1, il y a un bit 1 dans la
reprsentation binaire avec mantisse bit cach de 1/2.

La norme autorise de dnormaliser la mantisse pour reprsenter des nombres plus petits
que 0.1 2
-127
(par exemple 0.0001 2
-127
). Lorsque les huit bits de lexposant sont 1, selon la
mantisse nous avons :

- M = 0, reprsente ;
- M 0, le rsultat nest pas un nombre (NaN : Not a Number).


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 140
VII.3 Oprations arithmtiques et logiques

Le traitement des oprations logiques (ET, OU inclusif, NON, OU exclusif, etc) est
direct en lectronique numrique. Outre ces fonctions logiques l'unit arithmtique et logique est
charge de l'excution d'oprations arithmtiques comme addition, soustraction, dcalage et
multiplication. Nous avons dj tudi le principe de l'additionneur-soustracteur. Etudions
rapidement le principe de la multiplication.

La multiplication ou la division d'un entier non sign par une puissance de deux (2
m
)
revient effectuer un dcalage de m cases respectivement vers la gauche ou la droite et
remplacer les cases "vides" par des 0. Considrons un entier non sign cod sur n bits :

=
=
1 n
0 k
k
k
2 a A

Multiplions ce nombre par 2
m
:


+
=

=
+
= = =
1 m n
m k
k
m k
1 n
0 k
m k
k
m
2 a 2 a A 2 B

Il faut donc n+m bits pour coder le rsultat et nous pouvons crire pour B :

+ =
=
=

+
=

] 1 m n , m [ k a b
] 1 m , 0 [ k 0 b
avec 2 b B
m k k
k
1 m n
0 k
k
k



Ainsi lorsqu'on multiplie deux nombres de n bits il peut falloir jusqu' 2n bits pour
contenir le rsultat. Dans le cas des nombres signs en complment vrai il faut apporter une
attention particulire au bit de signe. Avant la multiplication on procde une extension de signe
pour passer 2n bits. C'est--dire qu'on recopie le bit de signe dans les n bits supplmentaires de
haut poids (fig. 3).

S S S


Figure 3

Considrons en effet un entier sign A cod en complment vrai sur n bits :

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 141
1 n
1 n
2 n
0 k
k
k
2 a 2 a A

=
=



et un nombre B obtenu partir de A par extension de signe sur m bits (m > n) :

= =
=

] 1 m , 1 n [ k a a b
] 1 n , 0 [ k a b
1 n s k
k k


Vrifions que A et B reprsentent la mme quantit algbrique.

1 m
1 m
2 m
0 k
k
k
2 b 2 b B

=
=


Dveloppons :

( ) | |
1 n
1 n
2 n
0 k
k
k
n m n m 1 n
1 n
2 n
0 k
k
k
n m
1 n m
0 k
k 1 n
1 n
2 n
0 k
k
k
1 m
2 m
1 n k
k
1 n
2 n
0 k
k
k
1 m
1 n
2 m
1 n k
k
1 n
2 n
0 k
k
k
2 a 2 a
2 1 2 2 a 2 a
2 2 2 a 2 a
2 2 a 2 a
2 a 2 a 2 a B

=
=
+ =
|
|
.
|

\
|
+ =
|
|
.
|

\
|
+ =
+ =






Ce que nous voulions montrer.

Considrons maintenant la multiplication par 2 dun entier sign A cod sur n bits :

1 n
1 n
2 n
0 k
k
k
2 a 2 a A

=
=



S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 142
n
n
1 n
0 k
k
k
n
1 n
1 n
1 k
k
1 k
n
1 n
2 n
0 k
1 k
k
2 b 2 b
2 a 2 a
2 a 2 a A 2 B
=
=
= =

=
+


Le rsultat ncessite donc n+1 bits et nous avons pour le codage de B :

=
=

] n , 1 [ k a b
0 b
1 k k
0


Donc aprs extension du bit de signe une multiplication par une puissance de deux (2
m
) est
ralise en dcalant de m cases vers la gauche le mot binaire et en injectant des 0 dans les m bits
de bas poids. Cette technique conserve automatiquement le signe du rsultat.

Ralisons la division entire (sans partie fractionnaire) par 2 dun entier sign A :

1 n
1 n
2 n
0 k
k
k
1 n
1 n
2 n
0 k
k
1 k
1 n
1 n
2 n
1 n
3 n
0 k
k
1 k
2 n
1 n
3 n
0 k
k
1 k
2 n
1 n
2 n
1 k
1 k
k
2 b 2 b
2 a 2 a
2 a 2 a 2 a
2 a ) 2 1 ( 2 a
2 a 2 a
2
A
B

=
+

=
+

=
+

=

=
=
+ =
+ =
= =



Nous avons donc pour le codage de B sur n bits :

= =
=

+
signe de bit du on conservati a a b
] 2 n , 0 [ k a b
s 1 n 1 n
1 k k


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 143
Pour une division il faut donc conserver et propager le bit de signe dans le dcalage droite :

0 S
S
multiplication
division

Figure 4


La multiplication de deux entiers signs de n bits en complment vrai se ramne une
combinaison de dcalages et d'additions et ventuellement une soustraction. En effet :

B 2 a B 2 a B A 2 a 2 a A
1 n
1 n
2 n
0 k
k
k
1 n
1 n
2 n
0 k
k
k

=
= =



L'algorithme de Booth permet de rduire le nombre d'additions en reprant les sries de 0 et de 1.
Dans le cas des zros il n'y a que des dcalages effectuer. Dans le cas d'une srie de 1 il suffit
de se rappeler que :

( )
p 1 n 1 p n p
p m
0 k
k p
m
p k
k
2 2 1 2 2 2 2 2 = = =
+ +

= =


Donc :
( ) B 2 2 B 2
p 1 n
m
p k
k
=
+
=



Les mp+1 dcalages et additions sont remplacs par deux dcalages, une addition et une
soustraction.

La figure 5 donne une reprsentation symbolique de l'ALU, comprenant deux oprandes
en entre A et B, une destination D = F(A, B), n lignes en entre permettant de slectionner la
fonction F excuter, dapporter un ventuel report de retenue et de synchroniser le
fonctionnement de l'unit, ainsi que m sorties indiquant une ventuelle retenue (carry), un
dpassement de capacit (overflow), un rsultat ngatif, nul ou positif, etc. Les oprandes et la
destination sont toujours des registres.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 144
A B
D
UAL
C, O, N, Z, P, etc...
Fonction,
retenue,
contrle
m n


Figure 5

Les premiers ordinateurs disposaient d'oprateurs spcifiques cbls. Aujourd'hui dans les
ordinateurs modernes on trouve de moins en moins de circuits de ce type. Il n'existe par exemple
plus de circuits propres la multiplication ou la division. L'enchanement des actions
entreprendre pour raliser une multiplication (dcalages, additions et soustractions) est gr par
l'unit de commande. Il en est de mme pour le chargement des oprandes, la slection des
oprations excuter, etc.


VII.4 Ralisation dun multiplieur

Nous nous intressons dans ce paragraphe la ralisation dun multiplieur. Nous avons vu
quune multiplication peut tre obtenue par une succession dadditions et de dcalages. Un tel
multiplieur comprend une composante charge de raliser les oprations lmentaires et une
logique de contrle charge denchaner ces oprations. Cette tude nous donnera une vision
simple des rles respectifs de lunit de calcul et de lunit de commande dun processeur.

Il existe de nombreuses manires dimplmenter un multiplieur, nous nous proposons ici
de transposer le plus directement possible le processus que nous avons expliqu un peu plus haut.
Dans un premier temps choisissons des composants permettant de raliser cette multiplication. Si
nous travaillons sur n bits nous savons que le rsultat tiendra sur 2n bits. Il nous faut donc deux
registres de 2n bits (R0 et R1) destins contenir respectivement le multiplicande et le
multiplicateur. Ils doivent tre chargs avec extension du bit de signe. Il nous faut galement un
additionneur de 2n bits et un registre de 2n bits (ACC) pour contenir le rsultat des additions
successives. Le registre contenant le multiplicande doit tre un registre dcalage gauche avec
chargement srie de 0 droite. Le registre contenant le multiplicateur doit tre un registre
dcalage droite avec accs au contenu du bit de poids faible.

Explicitons sur un exemple la suite des oprations raliser. Travaillons avec n = 4 bits.
Effectuons la multiplication suivante : 3 6 = 18. En binaire sur 4 bits, nous avons 3 = 0011 et
6 = 1010, ce qui nous donne aprs extension du bit de signe sur 8 bits 3 = 00000011 et
6 = 11111010.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 145
Initialisation des registres : ACC 00000000
R0 00000011 R1 11111010 C 0000

1
re
tape : ACC 00000000
(pas daddition) R0 00000110 R1 01111101 C 0001

2
me
tape : ACC 00000110
R0 00001100 R1 00111110 C 0010

3
me
tape : ACC 00000110
(pas daddition) R0 00011000 R1 00011111 C 0011

4
me
tape : ACC 00011110
R0 00110000 R1 00001111 C 0100

5
me
tape : ACC 01001110
R0 01100000 R1 00000111 C 0101

6
me
tape : ACC 10101110
R0 11000000 R1 00000011 C 0110

7
me
tape : ACC 01101110
R0 10000000 R1 00000001 C 0111

8
me
tape : ACC 11101110
R0 00000000 R1 00000000 C 1000

Interprtons le rsultat obtenu ACC = 11101110. Le bit de signe est 1, le rsultat est donc ngatif.
Calculons sa valeur : ACC = 2 + 2
2
+ 2
3
+ 2
5
+ 2
6
2
7
= 18. Nous obtenons bien le rsultat
correct. Remarquons que toutes les oprations ont t effectues sur 2n bits sans tenir compte des
dbordements lors des dcalages de R0 ni des retenues lors des additions.

Nous avons introduit un compteur C pour compter les 2n itrations ncessaires. La figure
6 schmatise lorganigramme du multiplieur. R1
0
correspond au bit le moins significatif du
registre R1.

Faisons linventaire des signaux ncessaires pour commander le fonctionnement des cinq
composants du multiplieur :

- registre ACC :
remise zro : RAZ_ACC
chargement : W_ACC
- registre R0 :
chargement : W_R0
dcalage : D_R0
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 146
- registre R1 :
chargement : W_R1
dcalage : D_R1
- additionneur :
aucun signal
- compteur C :
remise zro : RAZ_C
incrmentation : I_C

Initialisation :
RAZ de ACC et du compteur C
Chargement de R0 et R1
avec extension du bit de signe
R1
0
ACC = ACC + R0
= 1
= 0
Dcalage gauche de R0
Dcalage droite de R1
Incrmentation du compteur C
C = 2n Termin
Oui Non


Figure 6

Il nous faut maintenant tudier lautomate qui doit produire ces signaux. A partir de
lorganigramme prcdent nous pouvons identifier quatre tats :

- Initialisation :
RAZ_ACC = 1, W_ACC = 0
W_R0 = 1, D_R0 = 0
W_R1 = 1, D_R1 = 0
RAZ_C = 1, I_C = 0
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 147
- Addition :
RAZ_ACC = 0, W_ACC = 1
W_R0 = 0, D_R0 = 0
W_R1 = 0, D_R1 = 0
RAZ_C = 0, I_C = 0
- Dcalages et incrmentation :
RAZ_ACC = 0, W_ACC = 0
W_R0 = 0, D_R0 = 1
W_R1 = 0, D_R1 = 1
RAZ_C = 0, I_C = 1
- Opration termine :
RAZ_ACC = 0, W_ACC = 0
W_R0 = 0, D_R0 = 0
W_R1 = 0, D_R1 = 0
RAZ_C = 0, I_C = 0

Nous constatons que nous pouvons limiter le nombre de signaux de commande en effet :

RAZ_ACC = W_R0 = W_R1 = RAZ_C
D_R0 = D_R1 = I_C

Par contre nous avons besoin dun signal supplmentaire pour indiquer lextrieur que
lopration est termine ou non. Lautomate doit donc produire quatre signaux de commande que
nous notons INIT, W_ACC, ITER et FIN, avec :

RAZ_ACC = W_R0 = W_R1 = RAZ_C = INIT
D_R0 = D_R1 = I_C = ITER

Pour identifier quatre tats diffrents nous avons besoin de 2 variables que nous notons Q
0
et Q
1
.
Nous choisissons la convention suivante :

Q
1
Q
0
Etat INIT W_ACC ITER FIN
0 0 Initialisation 1 0 0 0
0 1 Addition 0 1 0 0
1 0 Dcalages et incrmentation 0 0 1 0
1 1 Opration termine 0 0 0 1

Table 3


A partir de cette table 3, il est trs facile dexprimer les quatre signaux de commande partir des
variables dtat. Il nous suffit donc de construire ces deux variables dtat. Pour cela nous devons
tenir compte du bit le moins significatif du registre R1 (R1
0
) et dun autre signal indiquant que le
compteur a atteint la valeur maximale 2n que nous notons C_max. Par convention nous
choisissons C_max = 1 pour indiquer que le compteur est gal 2n.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 148
Nous avons pour les signaux de commande :

=
=
=
=
1 0
1 0
1 0
1 0
Q Q FIN
Q Q ITER
Q Q ACC _ W
Q Q INIT



R1
0
C_max Q
1
Q
0
Q
1
+
Q
0
+
0 0 0 0 1 0
0 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 X X
0 1 0 0 X X
0 1 0 1 X X
0 1 1 0 1 1
0 1 1 1 1 1
1 0 0 0 0 1
1 0 0 1 1 0
1 0 1 0 0 1
1 0 1 1 X X
1 1 0 0 X X
1 1 0 1 X X
1 1 1 0 1 1
1 1 1 1 1 1

Table 4


La table prcdente rsume les diverses transitions que peut subir lautomate de contrle. Les
variables Q et Q
+
correspondent respectivement aux tats avant et aprs la transition. Nous avons
repr plusieurs configurations impossibles :

- Q
0
= Q
1
= 1 (termin) et C_max = 0, alors que pour passer dans ltat termin il faut que le
compteur ait atteint sa valeur maximale.
- Q
0
= Q
1
= 0 (initialisation) et C_max = 1, alors que la phase dinitialisation met zro le
compteur.
- Q
0
= 1 et Q
1
= 0 (addition) et C_max = 1, si le compteur a atteint sa valeur maximale
lautomate passe dans ltat termin, pas addition.

Utilisons des tableaux de Karnaugh, prsents figure 7, pour dterminer les expressions
logiques de Q
0
+
et Q
1
+
.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 149


R1 C_max
00 01 11 10
00
01
11
10
0
Q Q
1 0
1
1
X
1
X
1
1
X
1
1
1
X
X X
R1 C_max
00 01 11 10
00
01
11
10
0
Q Q
1 0
1
1
X 1
1
1
1
X
X X
X X
Q
1
+
Q
0
+

Figure 7

Nous devons synchroniser lautomate sur un signal externe dhorloge H. Ainsi nous pouvons
utiliser des bascules, par exemple D, pour raliser les variables dtat. Dans ce cas nous aurons
Q
+
= D. Donc :

+ + =
+ + =
0
0 1
0 0 1 0 0
1 R Q max _ C D
Q 1 R Q Q max _ C D


Dans cette premire phase de notre tude nous avons oubli quun signal extrieur, que
nous notons Start, est ncessaire pour lancer lopration. Ce signal ne doit avoir deffet (par
exemple dans ltat Start = 1) que lorsque lautomate de contrle est dans ltat "Opration
termine". Il doit alors le faire passer dans ltat "Initialisation". Une faon simple de tenir
compte de cette contrainte est de construire les fonctions D
0
et D
1
en utilisant la variable
Start FIN. La table 4 et les tableaux de Karnaugh de la figure 7 restent valables lorsque
Start FIN = 0. Lorsque Start FIN = 1, lautomate est ncessairement dans ltat Q
0
= Q
1
= 1
(pour avoir FIN = 1) et doit passer dans ltat Q
0
= Q
1
= 0. Les tableaux de Karnaugh permettant
de dterminer les fonctions D
0
et D
1
sont alors identiques et correspondent au tableau figure 8. La
simplification globale de ces tableaux de Karnaugh nous conduit aux expressions suivantes :

( )
( )

+ + =
+ + =
0
0 1
0 0 1 0 0
1 R Q max _ C FIN Start D
Q 1 R Q Q max _ C FIN Start D


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 150
R1 C_max
00 01 11 10
00
01
11
10
0
Q Q
1 0
0 0 0 0
X X X X
X X X X
X X X X

Figure 8

Le logigramme du circuit multiplieur que nous venons de concevoir est reprsent sur la figure 9.


VII.5 Unit de commande

Revenons ltude des processeurs. L'unit de commande dirige le fonctionnement de
tous les autres lments de l'unit centrale en leur envoyant des signaux de commande. Les
principaux lments de l'unit de commande sont :

- le compteur ordinal (CO) : registre contenant l'adresse en mmoire o se trouve
l'instruction chercher;
- le registre instruction (RI) qui reoit l'instruction qui doit tre excute;
- le dcodeur qui dtermine l'opration effectuer et les oprandes;
- le squenceur qui gnre les signaux de commande aux diffrents composants;
- l'horloge (interne ou externe) qui met des impulsions permettant la synchronisation de
tous les lments de l'unit centrale.

Une horloge est un systme logique, pilot par un oscillateur, qui met priodiquement
une srie d'impulsions calibres. Ces signaux priodiques constituent le cycle de base ou cycle
machine. Nous avons dj vu (dans le premier chapitre) les diffrentes phases de l'excution
d'une instruction. Un cycle d'instruction peut se dcomposer en un cycle de recherche (instruction
et oprandes) et un cycle d'excution. On rencontre parfois le terme de cycle cpu pour indiquer le
temps d'excution de l'instruction la plus courte.

N'oublions cependant pas que les performances d'un ordinateur ne dpendent pas de la seule
cadence de l'unit centrale. Elles dpendent galement des mmoires et des bus, ainsi que de
l'architecture, avec par exemple l'utilisation d'antmmoire (mmoire cache) pour anticiper les
transferts des instructions et des donnes.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 151
A
d
d
i
t
i
o
n
n
e
u
r
n

b
i
t
s
n

b
i
t
s
2
n

b
i
t
s
2
n
2
n
2
n
n
n

b
i
t
s
n

b
i
t
s
n
C
o
m
p
t
e
u
r
R
0
R
1
A
C
C
M
0
M
1
H
S
t
a
r
t
I
N
I
T
W
_
A
C
C
I
T
E
R
F
I
N
D
Q Q
C
l
k
D
Q Q
C
l
k
C
_
m
a
x
R
1
0
0 1
R

s
u
l
t
a
t


Figure 9


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 152
VII.6 Technologie des circuits intgrs et horloge

L'oscillateur fournissant le signal d'horloge peut tre intgr sur la puce silicium du
processeur. Ce n'est gnralement pas le cas, pour au moins deux raisons.

Tout d'abord, la frquence d'oscillation est sensible la temprature. Or la temprature
d'un processeur peut varier en fonction de son utilisation. Il serait possible d'observer une drive
fatale, la frquence augmentant avec la temprature et la temprature augmentant avec la vitesse
de fonctionnement. Cela poserait galement des problmes de synchronisation avec les
composants externes au CPU.

Par ailleurs en embarquant une horloge dans la puce du processeur la frquence de celui-
ci serait fige par construction. Or les galettes de silicium ne sont jamais parfaitement
homognes. Les performances peuvent varier selon les zones. Le constructeur serait alors oblig
d'ajuster la frquence de l'oscillateur au plus bas, en prenant un facteur de scurit. Alors
qu'actuellement, les processeurs sont tris et vendus un prix variant selon leur vitesse de
fonctionnement.

On prfre donc un oscillateur interne synchronis sur un signal d'horloge externe,
souvent fourni par un oscillateur quartz. Nous tudierons un peu plus loin ce systme de
synchronisation, bas sur une boucle verrouillage de phase, dont les applications sont
nombreuses dans les ordinateurs : horloge CPU, enregistrement et lecture de donnes sur disque
dur ou disque optique, transmission de donnes, etc.

Mais commenons par rsumer succinctement le processus de fabrication des circuits
intgrs et des processeurs en particulier.

VII.6.a Fabrication dun circuit intgr

Llectronique repose sur lemploi de semi-conducteurs tels que le silicium (Si) ou le
germanium (Ge). Ces deux lments appartiennent la mme colonne de la classification
priodique que le carbone. Ils possdent donc quatre lectrons de valence et ont une structure
cristalline analogue celle du diamant : chaque atome change quatre liaisons covalentes avec
quatre atomes placs aux sommets dun ttradre rgulier. La figure 10 donne une reprsentation
symbolique en deux dimensions dun cristal pur. A la temprature ambiante quelques liaisons
covalentes peuvent tre brises librant chacune un lectron qui peut participer la conduction.
Dautre part, labsence dun lectron dans une liaison covalente constitue un trou. Les trous
contribuent galement la conduction. Qualitativement le mcanisme de dplacement dun trou
est le suivant : lorsquun trou existe, il est assez facile pour un lectron de valence voisin de
quitter son orbitale pour venir combler le trou. Llectron laisse un trou au niveau de latome
quil a quitt. Ce trou peut nouveau tre combl par un autre lectron et ainsi de suite. Le
mouvement apparent de ce trou est quivalent au dplacement dun charge positive. La
conduction sous ces deux types de porteurs (lectrons et trous) ncessite la continuit du rseau
cristallin. Les circuits sont raliss partir dun monocristal.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 153
trou
lectron libre

Figure 10


Dans un cristal pur (intrinsque) les densits de porteurs sont trop faibles. Il est ncessaire
dintroduire, sans perturber la structure du rseau cristallin, des dopants : des impurets datomes
trivalents ou pentavalents. Lintroduction dune impuret de valence cinq (antimoine, phosphore
ou arsenic) apporte un lectron en excs trs faiblement li qui contribue facilement la
conduction. Ces impurets de type n sont appels donneurs. Inversement lintroduction
dimpurets de valence trois (bore, gallium ou indium), dites accepteurs, produit des semi-
conducteurs de type p pour lesquels les porteurs majoritaires sont des trous.

trou
lectron supplmentaire
Impuret pentavalente Impuret trivalente

Figure 11


Les portes logiques sont ralises partir de transistors qui sont obtenus en combinant des
zones comportant diffrents dopants. La figure 12 prsente par exemple un transistor MOS
(Mtal Oxyde - Silicium) de type n. Un tel transistor peut tre utilis comme un interrupteur
command. Si la grille G est soumise une tension positive elle attire des lectrons qui comblent
les trous du semi-conducteur de type p puis provoquent une inversion de population et crent un
canal n induit. La conduction est alors possible entre la source S et le drain D. Un circuit intgr
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 154
est constitu dun trs grand nombre de transistors raliss en dopant des zones trs prcises et
interconnects.
n n
p
S D G
n n
p
S D G
SiO
2
+
canal n induit

Figure 12


La fabrication des circuits intgrs commence par la production dun monocristal sans dfaut
ultra pur. Ce lingot est obtenu partir dun germe plong dans un bain de silicium fondu
maintenu une temprature trs proche du point de fusion (1400 C) sous une atmosphre
dargon. Le germe tourne rgulirement pendant quil est remont lentement. On obtient ainsi un
cylindre de 6 ou 8 pouces de diamtre. Dans quelque temps on devrait atteindre 12 et 16 pouces.
Le lingot est ensuite dcoup en trs fines tranches ou galettes (environ 500-600 m d'paisseur).
Ces galettes sont ensuite polies mcaniquement et chimiquement.




Figure 13


Pour raliser les transistors, les rsistances, les condensateurs et les connexions il faut doper
certaines zones avec des impurets de type donneur ou accepteur et avec diffrentes
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 155
concentrations. Pour cela on procde par couches superposes. Diffrentes techniques sont
utilises pour dposer, faire crotre ou diffuser ces implants. Certaines couches doivent tre
spares par une couche de dioxyde de silicium pour isolation (1500 ) ou protges
(passivation : 200-500 ). Cette couche doxyde est obtenue par exposition de la galette une
atmosphre doxygne et dhydrogne de haute puret environ 1000 C.

Dans tous les cas il faut dlimiter en surface les zones traiter. Pour cela on utilise un
masque grav sur un rticule. L'image, lchelle 5 10, est trace au laser dans une fine couche
de chrome dpose sur une plaquette de quartz. Par ailleurs, la galette est recouverte d'une
pellicule de rsine photorsistive, dont il existe deux types : ngative ou positive. Au moyen dun
systme optique sophistiqu le masque et la galette sont exposs un rayonnement laser
ultraviolet. La rsine (positive) expose subit une transformation chimique et devient acide. Puis
un rvlateur basique retire la rsine expose. Le traitement (attaque chimique, dopage par
bombardement ionique, dpt mtallique ou pitaxie) peut alors tre ralis, puis le reste de la
rsine est retir l'aide d'un solvant. On rpte ces oprations quelques dizaines de fois, entre
chaque tape la galette est rince leau ultra pure.

Les procdures de gravure des masques et dinsolation gouvernent la finesse du dessin des
composants. Actuellement les constructeurs travaillent un pas de 0.13 m. Il semble cependant
qu'on approche des limites technologiques de la gravure. La finesse du trac de la gravure est
principalement limite par la longueur d'onde de la source lumineuse utilise pour l'insolation. Il
faut en particulier limiter les phnomnes de diffraction. Les rayons X ou les lectrons pourraient
tre employs dans un avenir proche. On prvoit un pas de 22 nm vers 2015. Au-del la
nanolectronique est encore du domaine du laboratoire.

Sur une galette on ralise un grand nombre de circuits. Ceux-ci sont tous tests et marqus
avant que la galette ne soit dcoupe en plaquettes avec une scie au diamant. Chaque plaquette
est ensuite place sur un support et les connexions avec les contacts extrieurs sont raliss par
des fils d'aluminium ou d'or de 30 m de diamtre, ou laide de micro-billes de soudure.
L'ensemble est ensuite enferm dans un botier en plastique ou en cramique.


VII.6.b Boucle verrouillage de phase

Nous ne prsentons ici que le principe, trs schmatis, du fonctionnement d'une boucle
verrouillage de phase (PLL : Phase Locked Loop). La structure minimale consiste en une boucle
de rtroaction contenant :

- un comparateur de phase;
- un oscillateur command en tension.

On trouve de nombreuses utilisations des PLL dans les ordinateurs : horloge CPU, enregistrement
et lecture de donnes sur disque dur ou disque optique, transmission de donnes, etc.

Le comparateur de phase est un circuit fournissant une tension dont la valeur dpend de la
diffrence de phase entre deux signaux priodiques. Nous illustrons notre analyse en supposant
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 156
les signaux sinusodaux. Mais cela ne retire rien la gnralit de l'tude puisque tout signal
priodique, comme un signal dhorloge, peut tre dcompos en une srie de Fourier :

| |
| |

=
=
) t ( cos S ) t ( s
) t ( cos S ) t ( s
2 2 2
1 1 1



Comparateur
de phase
Oscillateur
command
en tension
u(t)
s (t)
2
s (t)
1


Figure 14


Donc par dfinition, la tension la sortie du comparateur de phase peut se mettre sous la forme :

| | | | ) t ( f S S ) t ( ) t ( f S S ) t ( u
2 1 2 1 2 1
= =

o f est une fonction de priode 2 . Nous supposons que les amplitudes S
1
et S
2
sont constantes.
Pour simplifier les notations, en nous limitant aux termes importants, nous prenons S
1
= S
2
= 1,
ce qui nous donne :

| | ) t ( f ) t ( u =

Cette tension est utilise pour commander l'oscillateur. L'oscillateur command en tension
(VCO : Voltage Controlled Oscillator) dlivre un signal, ici sinusodal, dont la pulsation
instantane est une fonction linaire de la tension de commande. C'est--dire :

) t ( u k
dt
) t ( d
) t (
0
2
2
+ =

0
est la pulsation de repos du VCO;

k

est la sensibilit du VCO.



Si nous explicitons la tension de commande fournie par le comparateur de phase dans
cette expression il vient :

| | ) t ( f k
dt
) t ( d
) t (
0
2
2
+ =

=



S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 157
Drivons cette expression par rapport au temps :

dt
) t ( d
d
f d
k
dt
) t ( d
2
2
2


=



Nous notons k

la sensibilit du comparateur de phase, dfinie par :



| |
) t ( d
) t ( u d
) t (
d
f d
k

=

=



L'quation diffrentielle peut alors s'crire :

(


dt
) t ( d
dt
) t ( d
k k
dt
) t ( d
2 1
2
2
2

Soit :

dt
) t ( d
k k
dt
) t ( d
k k
dt
) t ( d
1 2
2
2
2




La solution de cette quation diffrentielle peut se mettre sous la forme d'une somme de deux
termes :

- le rgime transitoire : solution gnrale de l'quation sans second membre;
- le rgime permanent : solution particulire de l'quation complte.

Si nous avons pour le signal s
1
une pulsation constante :

0
1 1 1
t ) t ( + =

nous pouvons essayer une solution particulire telle que :

0
dt
) t ( d
2
2
2
=


Il vient alors :
dt
) t ( d
dt
) t ( d
1 2

=



C'est--dire que les deux phases sont gales une constante additive prs :

+ + = + =
0
1 1 1 2
t ) t ( ) t (

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 158
La pulsation du signal en sortie du VCO est donc gale celle du signal s
1
et le dphasage entre
les deux signaux est fixe :

= = =
=
0
2
0
1 2 1
0
1 2
) t ( ) t (


Ainsi, aprs une phase transitoire, la boucle s'accroche ou se verrouille. Le dphase entre les deux
signaux est tel que la tension de commande permet d'obtenir une pulsation identique celle du
signal de rfrence.


= = + =
k
) ( f ) ( f k
1 0 0
1
0
0 2


Ce qui nous donne pour le dphasage :

|
|
.
|

\
|
=

k
f
1 0 1 0


Nous avons simplifi la rsolution de l'quation diffrentielle en supposant la sensibilit du
comparateur k

constante. Si ce n'est pas le cas, cela ne change rien au rgime permanent. Par
contre cela peut influer sur le rgime transitoire et en particulier sur les conditions d'accrochage
de la boucle.


VII.6.c Multiplicateur de frquence

Cependant la transmission d'un signal d'horloge de trs haute frquence pose de nombreux
problmes techniques. Pour ne pas limiter la frquence de fonctionnement de l'unit centrale
celle de ce signal externe on utilise un multiplicateur de frquence.
Comparateur
de phase
Oscillateur
command
en tension
u(t)
s (t)
2
s (t)
1
Diviseur de
frquence


Figure 15


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 159
Il s'agit en fait d'un diviseur de frquence, par exemple un compteur, plac dans la contre-raction
de la boucle verrouillage de phase.

Si celui-ci divise la frquence
2
par n. La boucle est donc verrouille si :

1
2
2
n
' =

=

C'est--dire que l'oscillateur command met un signal avec une frquence n fois celle du signal
de rfrence. Ce coefficient de multiplication n est charg dans l'unit centrale lorsque celle-ci est
initialise.


VII.6.d Frquence d'horloge, gravure et puissance dissipe

L'augmentation de la frquence d'un processeur pose quelques problmes techniques, en
particulier au niveau de la puissance thermique dissipe et des perturbations lectromagntiques.
Plus un circuit fonctionne rapidement, plus les intensits des courants, et donc la puissance
consomme, sont leves. Une faon de rduire cet inconvnient consiste utiliser une tension
d'alimentation plus faible, par exemple 3.3 V au lieu de 5 V. Par ailleurs plus les signaux sont
rapides plus ils induisent, par couplage capacitif, des parasites dans leur voisinage. En baissant la
tension on diminue l'amplitude de ces parasites, mais on augmente la sensibilit du circuit aux
parasites externes.

L'augmentation de la densit d'intgration fournit galement des rponses ces difficults.
La rduction du pas de la gravure prsente de nombreux avantages. Cela permet videmment de
diminuer la surface de silicium utilise, un gain d'un facteur 2 sur la gravure rduit la surface par
4. Il est alors possible :

- soit d'augmenter les fonctionnalits pour une mme surface de silicium;
- soit de diminuer la surface de silicium, donc le cot, fonctionnalits constantes.

Par ailleurs, cela permet une diminution du temps de transit des signaux et une diminution des
intensits, donc une rduction de la puissance dissipe. Ces deux derniers avantages permettent
donc augmenter la vitesse de fonctionnement. Par contre, la diminution de la surface de silicium
rend l'vacuation de la chaleur plus difficile. Il faut faire appel de la graisse ou de la pte
thermique pour assurer une bonne conduction entre la puce et le ventilateur, ou encore utiliser un
refroidissement par plaque effet Peltier.


VII.7 Squenceur

Le squenceur est un automate distribuant, selon un chronogramme prcis, des signaux de
commande aux diverses units participant l'excution d'une instruction. Il peut tre cbl ou
microprogramm.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 160

Un squenceur cbl est un circuit squentiel complexe comprenant un sous-circuit pour
chacune des instructions commander. Ce sous-circuit est activ par le dcodeur.

L'ide de la microprogrammation a t introduite par Maurice Wilkes en 1951. Il est en
effet toujours possible de remplacer un circuit logique par un transcodeur ou une ROM.
Considrons un ensemble de n fonctions logiques dpendant de m variables logiques. Les valeurs
de ces fonctions pour les N = 2
m
combinaisons possibles peuvent tre calcules (table de vrit)
et mmorises sous forme de N mots de n bits. Ensuite en utilisant les m variables sous forme
d'une adresse il est possible de restituer le rsultat recherch.

De mme pour reproduire une squence d'oprations lmentaires il suffit d'un mot par
"tranche" de temps. Cette srie de mots constitue un microprogramme. Le code opration de
l'instruction excuter peut tre utilis pour dfinir le pointeur sur la premire micro-instruction
du microprogramme. En fonction du code opration le contenu d'un compteur est initialis, puis
celui-ci s'incrmente ensuite chaque cycle d'horloge. La priode de l'horloge utilise ce niveau
peut tre plus leve que celle qui rgle la cadence des autres lments de l'unit centrale. Ce
compteur sert adresser une mmoire morte. La figure suivante illustre ce principe :

code op. RI
ROM :
pointeur
ROM
microprogramme
0 0 0 0 0 1 1 1
signaux de commande
micro-instruction
compteur horloge


Figure 16


Le format des micro-instructions varie selon les machines. Le schma de la figure 16
correspond celui propos initialement par Wilkes avec des micro-instructions longues o
chaque bit correspond une ligne de commande. On parle alors de microprogrammation
horizontale. A l'extrme une autre solution consiste utiliser des micro-instructions compactes
ncessitant un dcodage avant la gnration des signaux de commande. La microprogrammation
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 161
est alors dite verticale. En microprogrammation horizontale la mmoire de commande comprend
peu de micro-instructions, chacune comptant un grand nombre de bits. En microprogrammation
verticale la longueur des micro-instructions est plus courte mais il y a un plus grand nombre de
micro-instructions et il faut un dcodage supplmentaire. Dans la pratique on rencontre des
micro-instructions mixtes pour lesquelles certains bits agissent directement sur les lignes de
commande associes alors que d'autres champs ncessitent un dcodage. Un microprogramme
peut galement contenir des boucles, des tests et des ruptures de squence. Le compteur est alors
remplac par un micro-squenceur.

Intrinsquement un squenceur microprogramm est plus lent qu'un squenceur cbl.
L'avantage et les gains en performance d'un squenceur microprogramm rsident dans la
simplicit de sa conception et la souplesse de son utilisation. Il est ainsi possible d'offrir un jeu
d'instructions trs complexes. Une instruction peut donc tre quivalente plusieurs instructions
d'une autre machine. On gagne alors sur le temps de transfert des instructions. Par ailleurs cela
permet une plus grande souplesse aux compilateurs de haut niveau pour optimiser le code objet.
Il est galement possible d'augmenter le nombre d'instructions sans augmenter la complexit,
donc le cot, du processeur. Nous avons ici un premier exemple de l'imbrication du matriel et du
logiciel dans la conception d'une architecture.

Langages volus
Assembleur
Instructions machine
Microinstructions
Commandes
lectriques

Figure 17


Pour programmer un ordinateur on utilise gnralement des langages dits volus ou de
haut niveau : C, C++, Java, Basic, Fortran, Pascal, Ada, Assembleur, etc. Cependant l'unit
centrale ne peut exploiter que les instructions machine : les codes binaires qui sont chargs dans
le registre instruction.

Le terme de langage dsigne un jeu d'instructions et de rgles syntaxiques. A l'aide d'un
langage volu le programmeur crit un code source. Celui-ci n'est pas directement excutable
par l'ordinateur. Il faut le traduire en code machine ou code objet. C'est le rle des compilateurs
ou assembleurs et des interprteurs. Un interprteur ne produit pas de code objet il traduit les
instructions directement au fur et mesure de l'excution du programme.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 162

La figure 17 schmatise les diffrents niveaux de programmation. Lorsque l'utilisateur
peut accder au niveau de la micro-programmation la machine est dite micro-programmable.


VII.8 Registres de l'unit centrale

Le nombre et le type des registres implants dans une unit centrale font partie de son
architecture et ont une influence importante sur la programmation et les performances de la
machine. Nous voudrions ici passer en revue les registres fondamentaux, que l'on retrouve sur
toutes les machines ou presque.

Compteur ordinal (CO) : Ce registre (Program Counter : PC) contient l'adresse de la prochaine
instruction excuter. Aprs chaque utilisation il est automatiquement incrment du nombre de
mots correspondant la longueur de l'instruction traite : le programme est excut en squence.
En cas de rupture de squence (branchement conditionnel ou non, appel une routine, etc.) il est
charg avec la nouvelle adresse. Le compteur ordinal, dont la taille dpend de l'espace adressable,
n'est gnralement pas accessible directement au programmeur.

Registre instruction (RI) : C'est le registre de destination dans lequel le CPU transfert l'instruction
suivante partir de la mmoire. Sa taille dpend du format des instructions machines. Le
dcodeur utilise le registre instruction pour identifier l'action (ou le micro-programme)
entreprendre ainsi que les adresses des oprandes, de destination ou de saut. Le programmeur n'a
pas accs au registre instruction.

Accumulateur (ACC) : L'accumulateur est un registre de l'unit arithmtique et logique. Il a de
nombreuses fonctions. Il peut contenir un des deux oprandes avant l'excution et recevoir le
rsultat aprs. Cela permet d'enchaner des oprations. Il peut servir de registre tampon pour les
oprations d'entres/sorties : dans certaines machines c'est le seul registre par lequel on peut
changer des donnes directement avec la mmoire. Sa taille est gale la longueur des mots en
mmoire. Il possde souvent une extension (Q), pour les multiplications, dcalages, divisions,
etc. Le registre ACC est accessible au programmeur et trs sollicit. Certaines machines
possdent plusieurs accumulateurs.

Registres gnraux ou banaliss : Ils permettent de limiter les accs la mmoire, ce qui acclre
l'excution d'un programme. Ils peuvent conserver des informations utilises frquemment, des
rsultats intermdiaires, etc. Ils sont accessibles au programmeur.

Registres d'indice ou d'index : (XR) Ils peuvent tre utiliss comme des registres gnraux mais
ils ont une fonction spciale utilise pour l'adressage index. Dans ce cas l'adresse effective d'un
oprande est obtenue en ajoutant le contenu du registre d'index l'adresse contenue dans
l'instruction. Ce type d'adressage et de registre est trs utile pour manipuler des tableaux. Le
programmeur dispose alors d'instructions permettant l'incrmentation ou la dcrmentation du
registre d'index. En particulier les registres d'index peuvent tre incrments ou dcrments
automatiquement aprs chaque utilisation. Dans certaines machines ces instructions sont
applicables tous les registres gnraux, il n'y a alors pas de registre d'index spcifique.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 163
Registre de base : A de trs rares exceptions l'intrieur d'un programme on ne fait rfrence qu'
des adresses relatives ou virtuelles. Par contre l'unit centrale a besoin de connatre les adresses
physiques o se situent rellement instructions et donnes. Celles-ci dpendent de l'endroit o a
t charg le programme en mmoire, l'espace physique occup par un programme pouvant ne
pas tre contigu. Le rle des registres de base est de permettre le calcul des adresses effectives.
Un registre de base contient une adresse de rfrence, par exemple l'adresse physique
correspondant l'adresse virtuelle 0. L'adresse physique est obtenue en ajoutant au champ adresse
de l'instruction le contenu du registre de base. Le registre de base est encore utilis quand le
nombre de bits du champ adresse ne permet pas d'accder toute la mmoire.

Registre d'tat (RE ou PSW : Program Status Word) : Une partie des bits de ce registre, aussi
appel registre condition, constitue des drapeaux (flags) qui indiquent certains tats particuliers.
Par exemple la fin de chaque opration on peut y trouver le signe du rsultat (Ngatif, Zro ou
Positif), ainsi qu'une ventuelle retenue (Carry) ou un dpassement de capacit (Overflow). Ces
bits indicateurs peuvent tre tests pour dterminer la suite du droulement du programme :
branchements conditionnels. On trouve galement le mode de fonctionnement de l'unit centrale.
Deux modes sont possibles le mode utilisateur et le mode systme ou superviseur. Dans le mode
utilisateur certaines instructions sont interdites : elles provoquent un droutement vers le systme
d'exploitation. Un bit peut galement indiquer un droulement pas pas : demande de trace (T).
Le registre peut aussi contenir le niveau de l'interruption en cours de traitement ou un masque des
niveaux d'interruptions autoriss.

Registre pointeur de pile (PP) : Une pile est une zone mmoire dans laquelle les informations
sont ranges de faon contigu. Lusage dune pile permet la rcursivit des appels des routines
ou fonctions. Elle sert sauvegarder ladresse de retour, les registres qui sont utiliss par la
fonction appele. Elle peut galement servir au passage direct ou indirect des arguments. Le
pointeur de pile (Stack Pointer : SP) indique le sommet de la pile : la position de la dernire
information enregistre. Dans certaines machines le pointeur de pile indique la position o sera
mmorise la prochaine donne. Le fonctionnement d'une pile est du type
Dernier Entr Premier Sorti (LIFO : Last In First Out). Les deux principales oprations lies la
pile concernent l'ajout d'un lment dans la pile ou le retrait, souvent nommes respectivement
PUSH et PULL. Lorsqu'une donne est enregistre dans la pile elle est place l'adresse qui suit
celle du dernier mot stock. Aprs l'opration le pointeur de pile est incrment. Lorsque un mot
est retir de la pile il correspond la dernire information qui y a t entre. Aprs l'opration le
pointeur est dcrment. Une pile est rserve l'usage de l'unit centrale, en particulier pour
sauvegarder les registres et l'adresse de retour en cas d'interruption ou lors de l'appel d'une
procdure. Le pointeur de pile est accessible au programmeur, ce qui est souvent source d'erreur.
Certaines machines sont dotes de plusieurs pointeurs de piles.

Pour amliorer les performances d'un processeur il faut disposer du plus grand nombre de
registres possible. On rduit ainsi les accs la mmoire. De plus, il est prfrable d'viter de les
spcialiser. On vite ainsi des transferts entre registres, par exemple pour calculer la valeur d'un
indice et utiliser ensuite cet indice pour modifier une case d'un tableau.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 164
VII.9 Structures des instructions au niveau machine
VII.9.a Format des instructions

Les ordinateurs sont capables d'effectuer un certain nombre d'oprations lmentaires.
Une instruction au niveau machine doit fournir l'unit centrale toutes les informations
ncessaires pour dclencher une telle opration lmentaire : type d'action, o trouver le ou les
oprandes, o ranger le rsultat, etc. C'est pourquoi une instruction comporte en gnral plusieurs
champs ou groupes de bits. Le premier champ contient le code opration. Les autres champs
peuvent comporter des donnes ou l'identification des oprandes. La figure 18 donne quelques
exemples d'instructions n adresses, pour n = 0, 1 et 2. Sur certaines machines les instructions
sont toutes de mme longueur, sur d'autres cette longueur peut varier avec le code opration ou le
mode d'adressage.

On distingue six groupes d'instructions :

- transferts de donnes : de mmoire registre, de registre registre, de registre mmoire;
- oprations arithmtiques : addition, soustraction, multiplication et division;
- oprations logiques : ET, OU inclusif, NON, OU exclusif, etc.;
- contrle de squence : branchements conditionnels ou non, appel de procdure, etc.;
- entres/sorties;
- manipulations diverses : dcalage, conversion de format, permutation circulaire des bits,
change d'octets, incrmentation, etc.

code opration
adresse code opration
adresse 2 code opration adresse 1 instruction dyadique
instruction nonadique


Figure 18


Le choix de la longueur et du format des instructions est une tape trs importante dans la
conception d'une nouvelle architecture. C'est encore une affaire de compromis. La longueur des
instructions se rpercute sur la dimension de la mmoire centrale donc sur le cot : il faut deux
fois plus de bits pour stocker un programme de n instructions de 32 bits qu'un programme de n
instructions de 16 bits. La longueur des instructions par rapport celle du mot mmoire influence
galement le temps de traitement : il faut tenir compte du temps de transfert des mots qui
constituent une instruction. Ce choix dpend des vitesses relatives d'accs mmoire et de
traitement effectif par l'unit centrale. Le temps de recherche doit tre minimis pour les
processeurs trs rapides.

La largeur en bits de chacun des diffrents champs est galement importante, en
particulier pour le code opration. Le nombre de bits est dtermin par le nombre d'oprations
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 165
distinctes envisages : n bits autorisent 2
n
instructions. Cependant toutes les oprations ne
ncessitent pas forcment le mme nombre de champs ou des champs de mme longueur. Ainsi
sur une machine mme pour une longueur d'instruction donne le format des instructions peut ne
pas tre fixe. Il peut dpendre du type d'opration. Pour illustrer le concept du code opration
expansif imaginons des instructions de 16 bits dcoupes en quatre champs de 4 bits (fig. 19).
Avec ce format nous pouvons dfinir 16 instructions 3 adresses. C'est peu et toutes les
instructions ne ncessitent pas trois adresses. Nous pouvons galement dfinir 15 instructions 3
adresses (code opration 0000 1110 dans le premier champ), 14 instructions 2 adresses (code
opration sur 8 bits 1111 0000 1111 1101 identifi par les quatre premiers bits 1), 31
instructions 1 adresse (code opration sur 12 bits 1111 1110 0000 1111 1111 1110 identifi
par les sept premiers bits 1) et 16 instructions sans champ adresse (identifie par les douze
premiers bits 1). Soit un total de 76 instructions. Dans d'autres variantes la longueur et le format
des instructions sont dfinis par les premiers bits du code.

D'autre part comme la capacit mmoire ne cesse de crotre les champs d'adresse
demandent de plus en plus de bits. C'est pourquoi, pour viter une inflation de certains registres
comme le registre instruction, aujourd'hui on prfre les instructions une adresse. On peut par
exemple faire en sorte qu'un des oprandes soit toujours l'accumulateur et que ce mme registre
recueille le rsultat.

Ad
Ad 1 Ad 2 Ad 3
Ad
15 instructions
31 instructions
14 instructions
16 instructions
0 0 0 0
1 0 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
Ad 1 Ad 2 Ad 3
0 0 0 0
1 1 0 1
Ad 1 Ad 2
Ad 1 Ad 2
1 1 0 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
0 0 0 0
1 1 0 1
0 0 0 0
1 1 1 1

Figure 19


VII.9.b Modes d'adressage

Un champ adresse peut permettre de rfrencer un registre ou un mot en mmoire. Il peut
contenir le numro du registre ou l'adresse effective du mot mais ce ne sont pas les seules
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 166
manires d'identifier un oprande. Pour faciliter la programmation il existe de nombreux modes
d'adressage. Le mode est dfini soit par le code opration lorsque celui-ci impose un type
dtermin, soit par un code faisant partie du champ adresse.


adresse code opration mode
champ adresse
adresse mode
champ adresse


Figure 20


Les exemples ci-dessous sont emprunts aux instructions de l'assembleur PDP-11.

Adressage implicite : Le code opration identifie automatiquement l'oprande, l'instruction ne
peut porter que sur un registre particulier. Par exemple, le test sur le signe du rsultat d'une
opration arithmtique concerne le registre d'tat RE. Dans certaines architectures les transferts
avec la mmoire ne se font qu partir ou destination du registre daccumulation. Dans ces cas
aucun champ adresse n'est ncessaire.

Adressage immdiat : La valeur de l'oprande est contenue dans le champ adresse si le nombre de
bits dans ce champ est suffisant, sinon dans le mot suivant l'instruction.

MOV #100, R1

Aprs cette instruction le registre R1 contient la valeur 100.

Adressage registre : Le champ adresse contient le numro du registre oprande.

CLR R3

Aprs cette instruction le contenu de R3 est nul.

Adressage direct : Le champ adresse de l'instruction (ou le mot suivant si le nombre de bits n'est
pas suffisant) contient l'adresse effective de l'oprande.

100 : 250
MOV 100, R2

Aprs cette instruction le registre R2 contient le mot qui se situe l'adresse 100 en mmoire,
c'est--dire 250.

Adressage indirect : Le champ adresse (ou le mot suivant) contient l'adresse d'un pointeur : mot
en mmoire qui contient l'adresse effective de l'oprande.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 167
MOV (R1), R4

Aprs cette instruction R4 contient la valeur du mot dont l'adresse est contenue dans R1. Comme
R1 vaut 100 on trouve 250 dans R4.

Adressage index : Ce mode d'adressage est trs utile lorsqu'on travaille, par exemple, sur des
tableaux. Considrons un bloc de n mots conscutifs dbutant l'adresse A. Le k
ime
mot se
trouve l'adresse A + (k 1). Pour rfrencer ce mot il est possible d'utiliser un registre d'index.
L'adresse effective est calcule en additionnant le contenu de ce registre d'index l'adresse qui se
trouve dans le champ adresse de l'instruction. Sur certaines machines tous les registres gnraux
peuvent tre utiliss comme registres d'index. La prsence d'un registre d'index s'accompagne
gnralement de la possibilit d'incrmentation et dcrmentation automatiques.

MOV R4, 100(R3)+
CLR 100(R3)

Avant la premire opration R3 est nul, donc le contenu de R4 est transfr l'adresse 100. Aprs
le registre R3 est incrment. L'instruction suivante permet de mettre zro le contenu du mot
l'adresse suivante.

Adressage bas : L'adressage bas est comparable l'adressage index mais cette fois l'adresse
effective est obtenue en additionnant le contenu du registre de base au contenu du champ adresse
de l'instruction. Ce mode d'adressage est utilis par exemple en cas d'allocation dynamique de la
mmoire : la position du programme en mmoire peut changer en fonction de la charge du
systme et il n'occupe pas toujours un espace contigu. Cette technique permet galement de
rduire le nombre de bits dans le champ adresse : le registre de base contient la premire adresse
d'un bloc de 2
k
mots et l'adresse (sur k bits) contenue dans l'instruction reprsente le dplacement
l'intrieur du bloc.

Adressage relatif : L'adresse effective est obtenue est additionnant le contenu du compteur
ordinal au contenu du champ adresse de l'instruction. Ce type d'adressage est utilis par exemple
dans des instructions de branchement.

N'oublions pas que le calcul de l'adresse effective peut ncessiter quelques oprations
(addition par exemple). L'utilisation de certains modes d'adressage sophistiqus (le 68020 de
Motorola dispose par exemple d'une cinquantaine de modes d'adressage) peut donc augmenter le
temps de traitement d'une instruction.


VII.10 Ralisation dun multiplieur micro-programm

Reprenons le multiplieur que nous avons tudi plus haut ( VII.4). Il est bas sur une
unit dexcution et une unit de commande cble. Nous voulons conserver lunit dexcution
constitue de trois registres R0, R1 et ACC, un additionneur et un compteur. Le fonctionnement
de cette unit est contrl par quatre signaux INIT, W_ACC, ITER et FIN, qui dpendent de deux
signaux dinformation R1
0
et C_max. Nous voulons remplacer lautomate de contrle-commande
par lquivalent dun squenceur micro-programm. Pour cela nous traduisons lorganigramme
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 168
de la figure 6 en un micro-programme en pseudo-langage. Lexemple suivant se comprend
aisment :

INIT
BOUCLE SI NON(R1
0
) SUITE
ADD
SUITE ITER
SI NON(C_max) BOUCLE
STOP

Nous navons ici que deux types dinstructions : des actions et un branchement conditionnel. Il
suffit donc dun bit pour identifier ce type, choisissons 0 pour les actions et 1 pour le
branchement conditionnel.

Nous avons quatre actions (INIT, ADD, ITER et STOP) il nous faut donc deux bits pour les
identifier. Ces instructions sadressent implicitement des lments fonctionnels, nous navons
donc pas besoin de champ supplmentaire.

Pour un branchement conditionnel il faut identifier la condition et ladresse de saut. Il y a deux
tests diffrents un bit est donc suffisant. Le micro-programme compte six instructions, il faut
donc trois bits dadresse. La longueur minimale dune micro-instruction est donc cinq bit. Nous
choisissons le format suivant, qui dpend du bit le plus significatif (bit 4) indiquant le type
dinstruction.

Action :
- bit 4 : 0
- bits 3 et 2 : 00 INIT
01 ADD
10 ITER
11 STOP
- bits 0 et 1 : 00 (inutiliss)

Branchement conditionnel :
- bit 4 : 1
- bit 3 : 0 test sur R1
0

101 test sur C_max
- bits 0 2 : adresse de saut

Nous pouvons traduire le micro-programme en binaire en utilisant cette convention :

adresse code
101 00000
101 10011
101 00100
101 01000
101 11001
101 01100
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 169

Nous devons concevoir le circuit de commande destin exploiter ce micro-programme.
Nous avons besoin dune mmoire dau moins 6 mots de 5 bits, dun compteur pour adresser
cette mmoire et dun registre de 5 bits pour contenir la micro-instruction courante.

Il nous faut un transcodeur pour produire les signaux de commande partir des deux bits du
champ action. Pour cela il est possible dutiliser un dmultiplexeur (fig. 21).

INIT
W_ACC
FIN
ITER
R1
0
C_max
M
E
D
U
X
registre micro-instruction
Mmoire
micro-
programme
Compteur
RAZ
Clk
Chrgt //
H
Start
Condition


Figure 21


Lors dun test positif le compteur doit tre charg partir du champ adresse. La commande de
chargement parallle correspond donc lexpression logique suivante :

Condition Op // Chrgt =

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 170
o Op reprsente le type dinstruction (bit 4 du registre micro-instruction) et Condition le signal
indiquant si la condition du test est ralise :

0
3 3
1 R r max _ C r Condition + =

r3 est le bit 3 du registre micro-instruction. Dans les autres cas le compteur doit tre incrmenter
dune unit. Le comptage doit tre bloqu lorsque la multiplication est termine, pour cela nous
pouvons employer le signal fin. Ce qui nous donne :

// Chrgt FIN // Chrgt FIN Clk + = =

Le signal extrieur Start de dmarrage de la multiplication, si lopration prcdente est termine,
doit faire une remise zro du compteur pour relancer le micro-programme linstruction INIT.
Nous avons simplifi la lecture de la mmoire micro-programme en supposant que laffichage de
ladresse suffisait transfrer la micro-instruction courante dans le registre.


VII.11 Traitement anticip des instructions : pipeline

Nous avons vu que le traitement d'une instruction peut se dcouper en plusieurs phases. A
chacune d'elles il est possible d'associer une unit fonctionnelle. Considrons, pour illustrer notre
propos, un microprocesseur disposant de trois units :

- unit de recherche (R);
- unit de dcodage (D);
- unit d'excution (E).

dont on suppose qu'elles remplissent leurs fonctions respectives en un cycle d'horloge.

La figure 22 schmatise de droulement d'une instruction. La phase "recherche" mobilise
l'unit de recherche pendant un cycle d'horloge. La phase "dcodage" occupe l'unit de dcodage
pendant un deuxime cycle et la phase "excution" utilise l'unit d'excution pendant un
troisime cycle. Il faut donc trois cycles d'horloge pour traiter une instruction. La prise en compte
de l'instruction suivante se fait partir du 4
me
cycle, et ainsi de suite. L'excution de N
instructions requiert donc 3 N cycles d'horloge (fig. 23).

Cependant nous constatons alors qu' chaque cycle d'horloge deux des trois units
fonctionnelles sont inemployes. Il y a moyen d'acclrer les calculs en demandant l'unit de
recherche d'aller chercher l'instruction suivante ds le deuxime cycle d'horloge. Cette instruction
est ensuite dcode au cycle suivant, alors que l'unit de recherche continue galement. Nous
obtenons alors le diagramme schmatis sur la figure 24. Un processeur dans lequel ce traitement
anticip est possible est dit avec pipeline. Le compteur ordinal est incrment chaque cycle
d'horloge.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 171
Recherche
Dcodage
Excution
units
fonctionnelles
R
D
E
cycles
d'horloge
1 2 3

Figure 22


Dans un processeur avec pipeline il faut toujours 3 cycles pour excuter chaque
instruction, mais ds qu'une instruction est termine il suffit d'attendre un cycle pour que la
suivante soit termine, et non trois comme dans le cas prcdent. Dans ces conditions il ne faut
que N+2 cycles d'horloge pour excuter N instructions. On calcule presque 3 fois plus vite.
R
D
E
1 2 3
i
i
i
i+1 i+2
i+1
i+1
i+2
i+2
4 5 6 7 8 9


Figure 23


Il n'est cependant pas simple de bnficier de ce gain de performance en totalit. Les
performances dun pipeline peuvent tre dgrades par des alas. On distingue trois types
dalas :
- alas structurels : deux instructions ont besoin simultanment dune mme ressource ou
dun mme bloc fonctionnel ;
- alas de donnes : une instruction a besoin du rsultat dune instruction qui nest pas
termine ;
- alas de contrle : rupture de squence.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 172
R
D
E
1 2 3
instr. i instr. i+1 instr. i+2
instr. i instr. i+1 instr. i+2
instr. i instr. i+1 instr. i+2
4 5


Figure 24


Par exemple lors d'une rupture de squence (branchement conditionnel ou non, fin de
boucle, appel de sous-programme, etc.), il faut grer les instructions dont le traitement a t
anticip. Il existe gnralement deux types de branchements : simple ou retard. Pour un
branchement simple le traitement anticip est interrompu et la chane est vide avant d'excuter le
branchement. Il faut ensuite attendre nouveau trois cycles pour obtenir un rsultat. Pour un
branchement retard on termine le traitement commenc avant d'excuter le branchement. Une
bonne utilisation de ces branchements permet d'optimiser le fonctionnement du processeur. On
peut trouver dans certains processeurs une unit qui cherche anticiper la destination d'un
branchement on parle de prdiction de la destination. Souvent ladresse du branchement est
contenue dans linstruction de branchement, il est alors possible de charger linstruction suivante
dans le pipeline. Cest moins facile pour ladresse de retour dune fonction qui est stocke dans la
pile. La prdiction de condition est plus difficile raliser. On procde de manire statistique par
exemple. Ainsi en fin de boucle on revient systmatiquement au dbut, sauf la dernire fois.

Le traitement des interruptions, que nous tudierons dans le prochain chapitre, pose
galement quelques problmes. En gnral, pour simplifier la gestion de la reprise du programme
interrompu, les instructions engages dans le pipeline sont traites avant la prise en compte
effective de l'interruption. Selon la longueur du pipeline cela peut gnrer un retard significatif.

Selon leur complexit, la dure de traitement de toutes les instructions n'est pas
ncessairement identique. C'est particulirement vrai en cas d'accs la mmoire. Pour que les
difficults soient plus visibles considrons un processeur avec une quatrime unit fonctionnelle
charge de l'ventuelle lecture en mmoire des oprandes :

- unit de recherche (R);
- unit de dcodage (D);
- unit de lecture (L);
- unit d'excution (E).

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 173
Comme l'unit de lecture n'est pas toujours sollicite le traitement d'une instruction prend
3 ou 4 cycles. Considrons le traitement de deux instructions conscutives I1 et I2, la premire
crivant en mmoire, la seconde lisant en mmoire. La figure 25 illustre un conflit dans le
traitement de ces deux accs. L'unit de lecture pour le besoin de l'instruction I2 aurait d
fonctionner au 4
me
cycle d'horloge. Mais simultanment l'unit d'excution aurait t en train
d'crire en mmoire. Le traitement de l'instruction I2 est donc pnalis d'un cycle.

Il peut galement y avoir conflit entre une instruction effectuant un accs mmoire et la
recherche de linstruction suivante. La sparation des instructions et des donnes permet de
remdier ce type dalas.

Nous avons simplifi. Le temps d'accs la mmoire peut correspondre plusieurs cycles
d'horloge. D'autre part ce temps d'accs peut tre variable. Ainsi deux instructions conscutives
peuvent faire appel au mme bloc mmoire ou deux blocs diffrents. En fonction de
l'architecture de la mmoire nous savons que les temps d'accs pour les deux instructions peuvent
tre identiques dans un cas et diffrents dans l'autre.

Par ailleurs, il peut y avoir dpendance entre deux instructions, la seconde ayant besoin
d'une adresse calcule par la premire par exemple.

La gestion de ces problmes est gnralement rsolue par les compilateurs qui peuvent
insrer des instructions NOP ou permuter des instructions du programme en tenant compte des
spcificits du processeur.

R
L
E
1 2 3 4 5
D
I1
I1
I1
I1
I2
I2
I2
I2
6

Figure 25


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 174
VII.12 Units d'excution parallles

Dans le prcdent paragraphe nous avons tudi le dcoupage principalement de l'unit de
commande en units fonctionnelles pouvant travailler en parallle. On peut galement trouver
plusieurs units d'excution ou de calcul.

L'unit de commande choisit l'unit utiliser en fonction du type de l'instruction : ALU,
FPU (Floating Point Unit) ou unit multimdia. Ce mode de fonctionnement ressemble
l'utilisation d'un coprocesseur. Un coprocesseur n'est pas utilis pour excuter du traitement
parallle mais pour augmenter ou amliorer les fonctionnalits du CPU. Celui-ci charge des
registres pour fournir des donnes au coprocesseur, dmarre ce dernier et se suspend jusqu' ce
que le traitement demand soit effectu. En fin d'excution le coprocesseur place le rsultat dans
un registre, rveille le processeur principal et se suspend jusqu' une nouvelle requte. Un
coprocesseur peut permettre d'augmenter l'ensemble des instructions ou raliser certains calculs
plus rapidement que l'unit centrale ("coprocesseur flottant").

Si le processeur est capable d'excuter en parallle plusieurs instructions diffrentes sur
plusieurs units d'excution il est dit superscalaire. Il peut en particulier disposer de plusieurs
units arithmtiques et logiques parallles. Lunit de commande dispose dun bloc de
distribution qui dtermine au fur et mesure quelles instructions peuvent tre traites en
parallle. Il faut galement tre capable de faire passer rapidement les rsultats intermdiaires
dune unit dexcution une autre. Les performances d'une machine superscalaire peuvent tre
amliores si le compilateur est capable d'identifier les instructions pouvant tre excutes
simultanment, c'est--dire sans dpendance. L'approche Trs Long Mot Instruction (VLIW :
Very Long Instruction Word) est assez similaire, mais le paralllisme est totalement gr par le
compilateur. Les instructions pouvant tre excutes simultanment sont places dans un mot de
grande longueur (128 bits pour i860 d'Intel).

On peut galement imaginer un processeur avec une unit de contrle mais disposant de n
units d'excution identiques et de n ensembles de registres. Cet ordinateur peut donc excuter
simultanment le mme calcul sur n jeux de donnes. Cette configuration est appele SIMD
(Single Instruction on Multiple Data) ou processeur vectoriel.


VII.13 Processus RISC

En premire approximation la puissance d'un systme peut tre identifie au temps
d'excution d'une tche. Celui-ci peut s'crire sous la forme suivante :

temps/tche = Nb.instructions/tche x Nb.cycles/instruction x temps/cycle

Le nombre de cycles par instruction est une moyenne, mais il doit tenir compte des transferts
entre la mmoire et le processeur, y compris celui de l'instruction elle-mme. Pour amliorer les
performances, on peut donc agir sur chacun de ces trois termes, en tenant compte de leurs
corrlations.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 175
Le dernier terme correspond videmment la frquence de l'horloge. L'volution, dans un
premier temps, a consist chercher la diminution du nombre d'instructions dans un programme,
en utilisant des instructions et des modes d'adressage de plus en plus sophistiqus. Puis est
apparue une philosophie diffrente qui cherche rduire le nombre de cycles ncessaires la
ralisation de chaque instruction. Cette approche s'est appuye sur les progrs raliss en matire
de matriel (mmoire virtuelle, cache, unit de gestion de mmoire, pipeline, etc.) et logiciel
(compilateurs).

Le concept RISC (Reduced Instruction Set Computer) est apparu en 1975 chez IBM
(IBM801 de John Coke), d'aprs des ides de Seymour Cray, avant d'tre approfondi dans les
annes 80 par les universits de Stanford et Berkeley. Il repose sur la constatation que mme les
systmes ou les applications les plus sophistiqus n'utilisent qu'une petite fraction du jeu
d'instructions leur disposition.

Des tudes statistiques, portant sur un grand nombre de systmes d'exploitation et
d'applications rels, ont montr que :

- Dans 80 % d'un programme on n'utilise que 20 % du jeu d'instructions.
- Les oprations les plus usites sont :
les oprations d'change entre l'unit centrale et la mmoire;
les appels des sous-programmes.
- L'instruction d'appel d'une procdure est la plus gourmande en temps : sauvegarde et
restitution du contexte et passage des paramtres.
- 80 % des variables locales sont des scalaires.
- 90 % des structures de donnes complexes sont des variables globales.
- La profondeur maximale d'appels imbriqus est en moyenne de huit. Une profondeur plus
importante ne se rencontre que dans 1 % des cas.

Les processeurs classiques sont dsormais appels CISC (Complex Instruction Set
Computer) par opposition au terme RISC.

L'apparition de mmoires trs rapides un cot trs faible a constitu un des principaux
arguments technologiques ayant favoris les processeurs RISC. A l'origine les temps de dcodage
d'une instruction complexe et d'excution du microcode correspondant taient masqus par les
temps d'accs la mmoire. En rduisant celui-ci, le goulot d'tranglement s'est dplac vers les
units de dcodage et d'excution. Il a donc fallu envisager un jeu d'instructions lmentaires
cbles simplifiant l'architecture du processeur et rduisant les temps d'excution. D'autre part, la
capacit mmoire n'tant pratiquement plus limite il n'y avait pas d'obstacle augmenter la taille
des programmes : la fonctionnalit de chaque instruction tant limite il faut gnrer un plus
grand nombre d'instructions (en pratique pas plus de 30 %).

Par contre la gnration de code est plus complique. Les instructions complexes facilitent
la traduction des programmes crits en langage volu. C'est galement au compilateur de se
charger de l'optimisation du code en fonction des caractristiques des processeurs. Les recherches
ayant dbouch sur les processeurs RISC ont galement port sur les compilateurs. L'volution
des outils logiciels a vu l'mergence de compilateurs volus permettant une optimisation
efficace des codes gnrs avec des gains de l'ordre de 20 % en temps d'excution. Le
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 176
dveloppement des compilateurs, pris en charge par les concepteurs de systmes, et le
dveloppement des architectures sont trs interdpendants.

Passons en revue les ides de base qui font la spcificit des architectures RISC. L'objectif
recherch est d'excuter une instruction chaque cycle d'horloge. Ceci est rarement ralis sur la
totalit du jeu d'instructions. L'obtention de cette performance repose sur la mise en uvre de
plusieurs principes :

- simplification des instructions;
- simplification du format : longueur fixe des instructions et des champs;
- restriction des modes d'adressage;
- squenceur cbl pour une excution rapide;
- utilisation intensive de registres trs nombreux;
- limitation des accs mmoire deux instructions : LOAD et STORE;
- utilisation de caches;
- traitement anticip des instructions (pipeline) : ce qui permet d'obtenir un rsultat chaque
cycle.

Le rle du compilateur est essentiel pour l'optimisation du code engendr. Un effort
particulier est fait sur les points suivants :

- allocation optimale des registres;
- limination des redondances;
- optimisation des boucles, en ne conservant l'intrieur que ce qui est modifi;
- optimisation du pipeline;
- optimisation du choix des instructions.

Le compilateur doit tre capable d'exploiter au maximum les caractristiques de l'architecture.

La figure 26 illustre l'influence du temps d'accs de la mmoire sur les performances de
deux processeurs (RISC et CISC) cadencs 20 MHz. La performance maximale de
l'architecture RISC sert de rfrence (performance relative = 1). On observe une nette diffrence
de comportement entre ces deux courbes. Pour un temps d'accs mmoire infrieur ou gal un
cycle d'horloge (50 ns) il n'y a pas amlioration des performances pour l'architecture CISC qui
sature. Par contre dans les mmes conditions on constate un gain important (ici un facteur 2) en
performance pour le processeur RISC. Par contre celui-ci n'est comptitif que lorsqu'il est associ
une mmoire rapide. Cette figure explique le dveloppement presque exclusif des architectures
CISC jusqu' l'apparition d'une nouvelle gnration de mmoires rapides.

La simplicit des processeurs RISC fournit au moins deux autres avantages : le cot du
dveloppement et la surface de silicium sont notablement rduits. Plus simple un processeur
RISC ncessite moins de temps et moins de main d'uvre pour sa conception et sa mise au point.
Par exemple le prototype RISC-II de l'universit de Berkeley a t dvelopp en deux ans par
deux tudiants. De mme le processeur ARM a t labor en dix-huit mois par une quipe de
quatre personnes (6 hommes-ans). Par contre le 80386 d'Intel a demand 100 hommes-ans. Le
risque d'erreur de conception pouvant avoir un impact sur la clientle avec retour de composants
par exemple est aussi beaucoup plus faible. Le rapport cot/performance est donc largement en
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 177
faveur des processeurs RISC. Par contre le dveloppement des compilateurs est beaucoup plus
long. Dans un processeur CISC l'unit de contrle occupe plus de 50 % de la surface de la
plaquette silicium. Dans un processeur RISC elle en occupe moins de 20 %, il reste donc plus de
place pour intgrer registres, caches, units d'excution parallles et units de gestion.


0.8
1.0
0.4
0.2
0.6
100 200
ns
0
RISC 0.8
1.0
0.4
0.2
0.6
100 200
ns
0
CISC
P
e
r
f
o
r
m
a
n
c
e

r
e
l
a
t
i
v
e
Temps d'accs mmoire

Figure 26


Il nous reste dcrire une organisation particulire des registres internes que l'on
rencontre dans certaines architectures RISC. Elle est identifie sous la dnomination de technique
des fentres de registres. destine faciliter le passage de paramtres lors d'appel de procdures.
Le nombre des registres est toujours important dans un processeur RISC. Il y avait par exemple
138 registres dans le prototype RISC-I de Berkeley avec lequel la technique a t dveloppe.
Celle-ci repose sur les statistiques dj mentionnes sur le partage des variables et la profondeur
d'imbrication des appels de procdures. Pour le RISC-I les dix premiers registres, accessibles
tous les niveaux, sont destins recevoir les variables globales. Les 128 registres suivants sont
diviss en huit groupes ou fentres. Chaque groupe correspond une profondeur d'appel. La
profondeur maximale est donc limite huit. Les six premiers registres d'un bloc servent
l'change des informations avec l'tage suprieur. Les dix autres sont disponibles pour les
variables locales. Outre les registres globaux, chaque niveau intermdiaire dispose donc de vingt-
deux registres : les seize qui lui sont propres et les six premiers registres de l'tage suivant
(fig. 27). Cette technique simplifie les changes d'informations entre les procdures appelantes et
appeles. Elle demande cependant beaucoup de temps lors de la sauvegarde des registres en cas
d'interruption.

Les architectures CISC et RISC, utilisant les mmes technologies, ont de plus en plus
tendance a se rapprocher. Certains processeurs, par exemple, traduisent les instructions CISC en
suites d'instructions RISC avant l'excution. Cela permet d'assurer la compatibilit des nouveaux
processeurs avec tous les logiciels dvelopps antrieurement, ce qui est indispensable si on veut
pouvoir vendre le nouveau processeur.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 178


Niveau 1
Niveau 3
Niveau 5
Niveau 7
Niveau 0
Niveau 2
Niveau 4
Niveau 6
Niveau 8
10 registres globaux
10 registres locaux
6 registres d'change

Figure 27


VII.14 Evaluation des performances

Il est trs important, pour le concepteur comme pour le client, de pouvoir valuer les
performances d'une machine. Pour cela l'idal serait de pouvoir faire appel un programme de
test (benchmark) synthtisant l'ensemble des performances d'une architecture. Un tel programme
universel n'existe pas. Par contre il existe un grand nombre de programmes de tests. Chacun de
ces tests permet d'valuer certains types de caractristiques. Les tests peuvent tre classs en trois
familles :

- Les tests labors par les concepteurs de systmes.
- Les tests adapts des applications spcifiques : par exemple le CERN compare les
performances des machines en utilisant des programmes reprsentatifs des applications
habituelles en physique des particules : analyses de donnes et simulations. C'est trs
certainement la meilleure solution.
- Les tests publics.

Parmi ces derniers nous pouvons citer : Dhrystone, Linpack, Whestone, Doduc, etc. Par exemple
Dhrystone est destin mesurer l'efficacit des processeurs et compilateurs pour des programmes
crits en langage C. Pour cette raison il fait souvent rfrence dans le monde UNIX. Il est bas
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 179
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 180
sur une tude statistique des instructions releves dans un millier de programmes rels. Il ne fait
pas intervenir les oprations en virgule flottante, les oprations d'entres/sorties et les appels aux
fonctions systmes. Le test consiste excuter une boucle de programme un nombre fixe de fois.
La performance est exprime en Dhrystone/seconde : le nombre moyen de boucles excutes par
seconde. Le test de Linpack, crit en FORTRAN, est surtout destin au domaine scientifique et
en particulier aux calculateurs vectoriels. Il est bas sur le temps ncessaire la rsolution d'un
systme linaire de 100 (300 ou mme 1000) quations 100 (300 ou 1000) inconnues. Les
rsultats sont exprims en Mflops : millions d'oprations flottantes par seconde. On parle
maintenant en Gflops et Tflops. Whestone est destin l'valuation des performances
arithmtiques et en particulier celles des co-processeurs.

L'unit la plus frquemment rencontre dans la littrature publicitaire est le MIPS :
million d'instructions par seconde. Il faut cependant tre trs prudent. Par exemple les
fonctionnalits des instructions sont loin d'tre comparables d'une machine l'autre : plusieurs
instructions pour un processeur peuvent tre ncessaires pour obtenir le mme rsultat qu'une
instruction d'un jeu plus complexe. D'autre part, lorsque le temps d'excution n'est pas le mme
pour toutes les instructions il est indispensable de savoir quels types d'instructions ont t utiliss
pour effectuer l'valuation.

D'autre part pour que les comparaisons puissent tre significatives il faut assurer une
standardisation des programmes d'valuation. C'est le but par exemple d'une commission
regroupant quatorze constructeurs cre en 1988 : la SPEC (System Performance Evaluation
Cooperative). La SPEC a initialement retenu 10 programmes principalement crits en C et en
FORTRAN. Le temps d'excution de chacun de ces programmes est compar un temps de
rfrence : le temps d'excution sur Vax 11/780. Le rapport entre cette rfrence et le temps
d'excution sur le systme test constitue un SPECratio. La moyenne pour les dix programmes
fournit la mesure finale exprime en SPECmark. Depuis 1992 on distingue performances pour les
calculs en entiers ou en flottants : SPECInt92 et SEPECfp92.



Les interruptions



VIII.1 Notion d'interruption

Lorsqu'une machine fonctionne, sous le contrle dun systme d'exploitation, l'unit
centrale est en permanence susceptible dexcuter un programme. Le problme se pose alors
de savoir quel moment l'unit centrale va pouvoir prendre en compte les vnements
extrieurs la squence d'instructions qu'elle excute : requte dun priphrique, frappe
d'une touche sur un clavier, insertion d'une disquette, fin d'impression, passage dun objet
devant un capteur, systme dalarme, etc.

A chacun de ces vnements correspond une tche excuter par l'unit centrale. Cette
tche est code sous forme d'une procdure du systme d'exploitation. Pour pouvoir excuter
cette procdure il faut que se produise une rupture de squence (fig. 1). Cette rupture doit
avoir lieu dans un dlai assez court. Pour les problmes de type "temps rel" un temps
maximum de prise en compte et de traitement doit pouvoir tre garanti.

Excution du
programme en cours
Traitement de
la requte
Continuation du
programme
Requte


Figure 1


Comment signaler au CPU un vnement asynchrone ? Une premire approche, dite
des drapeaux, consiste tester priodiquement en squence chaque unit. Cette technique
n'est pas trs conomique en temps, elle demande une attention constante du CPU et la liste
exhaustive des intervenants tester. Dans une autre approche les machines peuvent tre
dotes d'un systme dinterruptions. Cette technique consiste pouvoir interrompre
"brutalement" l'excution du programme en cours la fin de l'instruction courante. Aprs
sauvegarde de son tat prsent, le contrle de l'unit centrale est confi un sous-programme
du systme dpendant de la nature de l'interruption.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 181
VIII.2 Systme d'interruptions hirarchises

A la notion d'interruption s'est trs rapidement associe la notion de priorit, de
manire ce que certaines requtes soient servies avant d'autres. Prenons un exemple de la vie
courante pour tenter de faire comprendre celle-ci. Imaginons que vous soyez en train d'tudier
votre cours (ceci est juste une supposition !). Un camarade arrive pour vous demander un
renseignement. Vous terminez la lecture de la phrase en cours, vous mmorisez mentalement
o reprendre votre lecture, puis vous vous interrompez pour lui rpondre. Vous auriez pu
continuer en faisant semblant de n'avoir rien entendu : vous auriez masqu l'interruption.
Pendant votre discussion avec votre camarade, un troisime personnage vient vous poser une
autre question. S'il s'agit d'un autre camarade vous le laisserez patienter quelques minutes le
temps de terminer avec la premire demande de renseignement. S'il s'agit de votre professeur
vous allez vous interrompre immdiatement (ceci est encore une supposition !) pour pouvoir
lui rpondre. La demande d'interruption du professeur a un niveau de priorit suprieur, elle
peut interrompre l'interruption prcdente.

La figure 2 reprsente un enchanement de ruptures de squence provoques par des
interruptions hirarchises.

2 3 4 6 7
0
5
t
Priorit

Figure 2


Pendant le droulement d'un programme intervient une premire interruption de
niveau 2. Elle est prise en compte, le programme est immdiatement interrompu pour
permettre son traitement. Pendant celui-ci un vnement extrieur gnre une interruption de
niveau 3. Le traitement de la premire interruption est suspendu pour traiter cette nouvelle
interruption. Une nouvelle interruption de niveau 6 se produit pendant l'excution de la
routine associe l'interruption prcdente. Celle-ci est interrompue pour traiter la dernire
interruption. Pendant ce traitement une interruption de niveau 4 arrive. Comme celle-ci est de
priorit infrieure celle qui est en cours elle est masque. Elle n'est prise en compte qu' la
fin du traitement de l'interruption de niveau 6. Elle est ensuite bloque par une interruption de
niveau 7. Son traitement reprend la fin de celle-ci. L'unit centrale est ensuite rendue au
traitement de l'interruption de niveau 3, ensuite celle de niveau 2 et finalement le
programme initialement interrompu peut reprendre son droulement.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 182
On trouve les systmes d'interruptions les plus labors dans les ordinateurs orients
vers les applications "temps rel" de conduite de processus industriels ou d'acquisition de
donnes. Dans certains cas chaque niveau est dcoup en sous-niveaux de priorits
diffrentes. Un bon systme doit permettre au programmeur de pouvoir :

- activer/invalider le systme d'interruption dans son ensemble;
- armer/dsarmer chacune des interruptions individuellement : une interruption
dsarme est ignore;
- masquer/dmasquer individuellement chaque interruption : une interruption masque
n'est pas ignore, elle est mmorise, mais elle n'est prise en compte que lorsqu'elle est
dmasque;
- tablir une hirarchie entre les sources d'interruption avec plusieurs niveaux de
priorit, si possible de faon dynamique;
- associer un programme spcifique chaque interruption.


VIII.3 Les causes d'interruption

Il y a deux grandes catgories d'interruptions : les interruptions externes et les
interruptions internes.

Les interruptions externes matrielles sont dues aux priphriques (imprimante,
terminal, horloge externe, etc.) ou des dispositifs extrieurs au systme informatique
(capteurs, systme dalarme, etc.). Par exemple un priphrique va gnrer une interruption
pour signaler au systme qu'il a termin de traiter la requte prcdente et qu'il est prt pour
recevoir une nouvelle commande. Dans le contexte de contrle de processus, des phnomnes
physiques doivent tre signals au systme, par exemple le passage d'un objet devant un
dtecteur. Dans ce cas c'est le dispositif externe au systme qui met un signal qui est reu par
le systme comme une interruption.

Le programme courant lui-mme peut dclencher une interruption laide dune
instruction spciale. Cela permet, par exemple, dactiver certains services du systme qui
ncessitent de bnficier de privilges rservs au systme. Cest une interruption externe et
logicielle.

Les interruptions internes produites par le processeur, sur des erreurs par exemple
(division par zro, dpassement de capacit, erreur d'adressage, accs une zone de mmoire
protge, etc.). Ces interruptions sont gnralement appeles exceptions.

Les interruptions induites par l'horloge permettent la gestion du temps par le systme
d'exploitation. Par exemple, le systme peut programmer l'horloge pour que celle-ci gnre
une interruption toutes les 10 ms. A chacune de ces interruptions le systme peut reprendre la
main et excuter un algorithme de choix de tches (ordonnanceur) de manire viter qu'un
programme monopolise le CPU. Ces interruptions peuvent galement servir la gestion du
temps dans les programmes et pour la comptabilit.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 183
VIII.4 Mcanisme d'interruption

Dcrivons les diffrentes tapes du traitement d'une interruption.

VIII.4.a Identification de la source d'interruption

L'unit centrale dispose d'une entre spciale, gnralement appele IRQ (Interrupt
ReQuest), associe un bit dit bit d'interruption. Avant de passer l'instruction suivante, le
CPU teste l'tat de ce bit. S'il est 1 le CPU est inform d'une demande d'interruption. Pour
pouvoir la traiter il doit en dterminer lorigine. Il existe deux mthodes principales pour
identifier la source d'une interruption : la scrutation (polling) et l'identification directe. Le
choix entre ces deux mthodes est gnralement le rsultat d'un compromis cot/performance
selon en particulier le nombre potentiel de priphriques qui peuvent tre connects. Etudions
quelques mcanismes d'identification de la source d'une interruption. De trs nombreuses
architectures sont possibles.

Dans le premier exemple, bas sur le principe de la scrutation, toutes les lignes
d'interruption sont runies par une porte OU (fig. 3) :

IRQ
CPU
lignes
d'interruption
registre
bus de
donnes
IACK

Figure 3


Chacune des lignes correspond un priphrique. Lorsque le bit d'interruption est trouv 1
par le CPU, une routine de service est active. Celle-ci va tester l'tat de la ligne de chacun
des priphriques pour identifier le demandeur, puis excuter la tche correspondante. Sur
lexemple illustr par la figure prcdente, la rception dun signal sur lentre IRQ le
processeur met un signal IACK qui charge ltat des lignes de demande dans un registre. Le
processeur lit ensuite ce registre pour identifier lorigine de la demande. Il peut aussi n'exister
qu'une seule ligne d'interruption que chaque priphrique demandeur maintient dans un tat
haut. L'unit centrale est alors oblige d'interroger chacun des priphriques prsents sur le
bus pour lui demander s'il requiert un service. La priorit est ici dfinie par l'ordre dans lequel
les lignes sont testes. En gnral dans ce mode de fonctionnement une interruption n'est elle-
mme pas interruptible car le mcanisme de scrutation est assez long.

Une autre mthode consiste en un code envoy par le priphrique (fig. 4). Ce code est
utilis pour excuter une routine de service spcifique au priphrique. Ce code peut tre par
exemple un pointeur dans une table contenant le vecteur d'interruption de chaque routine de
service. Un vecteur d'interruption contient l'adresse de dbut de la procdure de traitement de
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 184
l'interruption et le registre d'tat du processeur ncessaire au dbut du traitement. Celui-ci, qui
peut contenir certains niveaux de privilges ncessaires au traitement de la requte, remplace
le registre d'tat courant, aprs que ce dernier ait t sauvegard dans la pile avec le reste du
contexte du programme interrompu. Le traitement de l'interruption, qui dbute la premire
instruction spcifique l'interruption, est donc plus rapide. Trs souvent le code envoy est
dfini sur le priphrique par un ensemble de petits interrupteurs positionner au moment de
son installation. Dans ce schma une routine de service peut elle-mme tre interrompue.

IRQ
CPU
lignes
d'interruption
bus de donnes
registre
code associ
au priphrique


Figure 4

La technique prcdente ncessite un mcanisme pour empcher deux priphriques
d'crire leur code simultanment sur le bus. Il est galement possible de chaner les
priphriques (fig. 5). La priorit est alors dfinie par la position du priphrique sur la ligne
d'interruption : daisy-chain ou chanage de priorit. Par exemple le priphrique P
3
ne peut
faire passer sa demande (IRQ) que si P
1
et P
2
n'ont aucune demande en cours. Dans le cas
contraire le demandeur en amont empche la transmission du signal de reconnaissance
(IACK) mis par le CPU et qui autorise l'criture du code sur le bus. La routine de service
pour P
3
pourra tre interrompue tout moment par une requte de P
1
ou P
2
.

bus de donnes
P
1
P
2
P
3
IRQ
IACK


Figure 5

La figure 6 prsente le schma de principe dune partie d'un contrleur d'interruption
programmable, avec un registre d'entre qui permet un chantillonnage rgulier des signaux
d'interruption, ici au nombre de huit. Le second registre contient les interruptions mmorises
qui restent traiter : OU de lui-mme (mmoire) avec le registre dentre (nouvelles
requtes). Le processeur peut galement programmer un masquage des interruptions en
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 185
chargeant un registre de masque. Dans cet exemple, la table des vecteurs est stocke dans une
mmoire morte. Le registre de masque et la table des vecteurs sont accessibles par le bus de
donnes. La logique deffacement des interruptions traites nest pas reprsente sur ce
schma.

I0
Encodeur
prioritaire
ROM :
Table
des
vecteurs
I7
H
CS
Masque
IRQ
Figure 6


VIII.4.b Actions entreprendre

Lorsqu'une interruption est dtecte il faut que le systme ragisse le plus rapidement
possible. Pour cela le matriel dclenche un branchement automatique vers une routine
systme prpare l'avance. Cette routine se trouve une adresse fixe qui peut tre cble.
L'tat de la machine doit tre sauvegard. Le contexte (en particulier, la table des pages,
horloge, etc.) du programme interrompu est sauv, en gnral dans une pile. Cette sauvegarde
du contexte peut tre ralise par la routine de service elle-mme (cela permet par exemple :
une sauvegarde des registres utiliss uniquement) ou prise en charge automatiquement par
lunit centrale de traitement. En fonction du code identifiant le priphrique responsable de
l'interruption l'adresse de la routine de service associe est charge dans le compteur ordinal,
ce qui provoque un branchement automatique. Le registre dtat peut galement tre modifi
pour ventuellement bnficier de certains privilges particuliers. Les interruptions de niveau
infrieur ou gal doivent tre masques.

Ce mcanisme est rapide car c'est le matriel qui se charge du branchement vers la
routine d'interruption, de la sauvegarde du contexte et la modification du compteur ordinal. Il
offre une grande souplesse car il est possible d'crire une grande varit de routines de
service. Il peut cependant tre pnalisant pour un processeur avec pipe-line et un grand
nombre de registres. Dans certaines architectures, en particulier celles orientes vers les
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 186
applications temps rel, un processeur supplmentaire peut tre associ au processeur
principal avec pour tche de grer les oprations d'entres/sorties et de filtrer les interruptions.


VIII.4.c Reprise du programme interrompu.

Le programme en cours est suspendu pendant le temps de traitement de l'interruption.
Le contexte doit ensuite tre restaur avant la reprise de son excution. Au retour de la routine
de service il faut galement dmasquer les niveaux masqus son appel.. L'interruption est
ainsi totalement transparente. La remise jour du compteur ordinal provoque le retour au
programme l'instruction suspendue.


VIII.5 Gestion des entres/sorties

Nous avons vu que les interruptions servent beaucoup la gestion des entres/sorties.
Nous allons dans ce paragraphe prciser quelques notions supplmentaires concernant la
communication avec les priphriques dentres/sorties.

Un dispositif dentre sortie comprend en gnral deux parties : un appareil (clavier,
cran, disque, imprimante, etc.) et un contrleur de priphrique. Ce dernier sert dinterface
entre lappareil et le processeur. Il reoit les requtes du processeur et les transforme en
commandes spcifiques au priphrique, et rciproquement. Ce mcanisme permet une
grande souplesse et ne ncessite pas dinstructions spcialises chaque type possible de
priphrique. Lunit centrale de traitement communique avec un priphrique uniquement en
mode lecture ou criture comme pour la mmoire. Les donnes proprement dites sont
accompagnes de commandes (actions raliser) et dinformations (par exemple tat du
priphrique). Le contrleur de priphrique est charg dinterprter les requtes ainsi
transmises par le processeur et il met galement en forme les informations renvoyer au
processeur. Un contrleur peut tre quip dun processeur, de registres et dune mmoire
tampon. Il peut tre charg de la gestion des incidents, du contrle derreurs, de la conversion
de format, etc. Cest le contrleur de priphrique qui dclenche lenvoi dun signal
dinterruption.

Par rapport au dialogue on classe souvent les priphriques en deux catgories :

- Les priphriques par caractres, pour lesquels la communication se fait sous la forme
dun flux de caractres par lintermdiaire de registres.
- Les priphriques par blocs, pour lesquels linformation est accessible par blocs, chaque
bloc disposant dune adresse.

Selon les architectures les adresses des registres ou des blocs peuvent faire partie de la
mmoire principale ou correspondre des zones distinctes cette mmoire centrale. Ces
adresses peuvent tre attribues lors de la mise en place du matriel (par un exemple au
moyen de petits interrupteurs ou cavaliers positionner) ou configures dynamiquement.

Lorsque les quantits de donnes changer sont importantes, il est pnalisant de
charger le processeur de grer ces changes. Il est alors prfrable de permettre une
communication directe entre le priphrique et la mmoire, ou mme entre deux
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 187
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 188
priphriques. Ce mode de communication est appel DMA : Direct Memory Access. La
gestion des changes sur le bus de donnes est alors dlgue un contrleur DMA.

Sur le plan logiciel on trouve une couche supplmentaire sous le systme
dexploitation pour lequel, nous avons dit, le contrle-commande dun priphrique peut se
limiter des accs mmoire. Cette couche, appele pilote ou driver, traduit les commandes
gnrales dchanges par caractres ou par blocs en commandes spcifiques au priphrique,
avec par exemple la gestion des signaux de contrle de la liaison, des contraintes de temps
respecter, etc. Ces pilotes sont fournis avec le matriel.



Les entres/sorties



IX.1 Introduction

L'informatique sert au traitement de l'information. Il est donc indispensable d'tre capable
de fournir l'information traiter un ordinateur et de rcuprer les rsultats. Le systme
informatique doit pouvoir communiquer avec l'extrieur. Ces oprations d'change constituent les
Entres/Sorties (E/S ou I/O : Input/Output). A l'origine l'oprateur entrait les informations l'aide
de clefs ou interrupteurs. On a ensuite utilis rubans et cartes perfors dont l'invention est
largement antrieure celle de l'informatique. Un ruban perfor, en papier rsistant, pouvait
contenir des trous sur 5 ou 7 pistes parallles. D'emploi facile, les rubans taient cependant
fragiles et difficiles modifier. C'est pourquoi les rubans ont progressivement t remplacs par
les cartes perfores. Une carte, en carton et de forme rectangulaire, comptait 80 colonnes et 12
lignes. Elle pouvait donc recevoir jusqu' 80 mots de 12 bits. Par exemple 80 caractres. Chaque
caractre tait reprsent, selon le code Hollerith, l'aide de perforations dans la colonne
correspondante. Bien qu'ayant disparue, l'influence de la carte perfore s'est longtemps faite
sentir dans certains formats, comme celui des crans alphanumriques 80 colonnes. Ensuite
sont apparus claviers, imprimantes, bandes magntiques, disques et disquettes, terminaux
interactifs, souris, crayons optiques, etc. Les ordinateurs peuvent galement recevoir les
informations de capteurs et envoyer des signaux lectroniques des priphriques : commande de
processus industriels ou acquisition de donnes. Ils peuvent aussi changer des informations entre
eux par l'intermdiaire des rseaux.


IX.2 Terminal interactif

Un terminal interactif permet un change bidirectionnel entre l'utilisateur et l'ordinateur. Il
comprend au moins un clavier et un cran de visualisation encore appel moniteur.

IX.2.a Clavier

Le clavier sert la saisie de texte. Extrieurement un clavier d'ordinateur ressemble
celui d'une machine crire, avec ventuellement des touches spciales supplmentaires et un
pav numrique.

Il existe deux types de claviers : mcanique et membrane. Un clavier mcanique, le plus
frquent, est une matrice de boutons poussoirs situs au-dessus d'un rseau de fils organis en
lignes et colonnes. Lorsqu'une touche est enfonce elle ralise un contact l'intersection d'une
ligne et d'une colonne, fermant un circuit lectrique. Un circuit de contrle du clavier dtecte
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 189
ainsi la pression d'une touche. Le contrleur est galement charg d'tablir et de mmoriser le
code correspondant la touche enfonce. Il peut alors mettre un signal d'interruption
destination de l'unit centrale.

Un clavier membrane est constitu de quatre couches. La premire est un circuit
imprim supportant un rseau de pistes conductrices. La deuxime couche constitue un isolant
perc de trous au niveau des touches. La troisime couche est un circuit imprim souple
supportant un second rseau de pistes avec des bosses au niveau des touches et des trous. Lorsque
l'utilisateur enfonce une touche il ralise un contact entre les deux couches conductrices. La
quatrime couche, en caoutchouc, absorbe la pression du doigt et donne la sensation
d'enfoncement de la touche.

Compteur
D

c
o
d
e
u
r
Transcodeur
code IRQ H

Figure 1


La figure 1 prsente un schma logique simplifi d'un clavier et de son contrleur. Le
clavier est ici constitu d'une matrice 8 x 8. Au rythme du signal d'horloge (H) un compteur
modulo 8 envoie un numro de ligne cod sur 3 bits. Le dcodeur met "1" (par exemple +5 V)
la ligne correspondante. Si une touche sur cette ligne est enfonce la colonne correspondante se
trouve galement "1". Chaque touche est identifie par un numro de ligne, donn par le
compteur, et une colonne. Un transcodeur utilisant les 3 sorties du compteur et les 8 colonnes
fournit un code, ici sur 8 bits, et un signal IRQ. De cette faon les lignes sont en permanence
explores en squence. A part pour certaines touches, comme Majuscule ou Contrle, l'encodage
des colonnes doit avoir une logique prioritaire pour le cas o deux touches d'une mme ligne
seraient enfonces simultanment. Il faut galement un dispositif anti-rebond. Les fonctionnalits
du circuit de la figure 1 sont aujourd'hui intgres dans un microcontrleur.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 190

IX.2.b Tube rayons cathodiques

Tout comme les tlviseurs, la plupart des crans des terminaux interactifs sont bass sur
l'utilisation d'un tube rayons cathodiques (CRT : Cathodic Ray Tube) dont le principe date de la
fin du XIX
me
sicle. Un tube cathodique (fig. 2) comprend une source d'lectrons, un systme
d'acclration et de focalisation et un systme de dviations verticale et horizontale. Le tout est
plac dans une ampoule de verre dans laquelle a t ralis un vide pouss. Le canon lectrons
est constitue d'une cathode en baryum, chauffe par un filament, suivie d'une grille une tension
modulable (wehlmet). On trouve ensuite deux anodes dont les potentiels croissants acclrent les
lectrons. Deux jeux d'lectrodes planes, permettent de dvier le faisceau d'lectrons
horizontalement et verticalement. Le systme de dflexion peut galement tre
lectromagntique. On obtient ainsi un faisceau d'lectrons d'intensit modulable, trs fin que l'on
peut diriger en un tout point d'un cran. Cet cran est recouvert d'une substance luminescente (par
exemple phosphore) qui, au niveau du point d'impact, transforme l'nergie cintique des lectrons
en lumire.
dviation
verticale
dviation
horizontale
anodes acclratrices
grille de
contrle
cathode
cran

Figure 2


Pour couvrir tout l'cran le faisceau d'lectrons balaie celui-ci par lignes, partant du coin
en haut gauche (en regardant l'cran). Deux modes de balayage sont possibles. Le plus simple
est visualis sur la figure 3 : les lignes de balayage sont traces en noir et les lignes de retour
(inactives) en jaune. Il est possible d'obtenir une meilleure rsolution en mode entrelac. Dans ce
mode, qui est utilis en tlvision, on rafrachit alternativement les lignes impaires puis les lignes
paires. Le premier balayage part du coin en haut gauche de l'cran, le second part du centre haut
de l'cran (fig. 4). Pour viter tout effet de clignotement de l'image il faut rafrachir l'cran au
minimum 25 fois par seconde. Il faut galement prendre garde viter les phnomnes de
battement avec la frquence du secteur. En pratique on travaille un taux de rafrachissement
d'au moins 60-70 Hz.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 191
balayage actif
retour inactif
mode non entrelac

Figure 3

ligne paire
retour inactif
mode entrelac
ligne impaire

Figure 4


Chaque ligne est divise en un certain nombre de points ou pixels (contraction de picture
element). Le pixel est la plus petite fraction de l'cran qui peut tre contrle individuellement.
Le nombre de ces pixels dfinit la rsolution de l'cran, qui s'exprime sous la forme d'un produit
de deux entiers :

Nb pixels/ligne x nb lignes

Pour un cran couleur trois faisceaux d'lectrons sont ncessaires et chaque pixel est
constitu de trois grains de luminophores, groups en triangle, mettant chacun une couleur
diffrente : rouge, vert et bleu. L'ensemble des couleurs visibles peut s'obtenir en modulant
l'intensit de ces trois couleurs de base. La plupart des tubes cathodiques contiennent un masque,
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 192
plaqu contre la face interne du revtement photosensible et perc de trous aligns avec les
pixels. Le masque est dispos de faon ce que chaque canon n'irradie que les luminophores
auxquels il est associ. Les luminophores peuvent galement tre dposs en bandes continues
verticales, les trous du masque sont alors remplacs par des fentes.

La dimension physique d'un cran est spcifie par la longueur de sa diagonale exprime
en pouces. Pour un cran plat l'angle d'incidence du faisceau varie selon la position du point
d'impact. Cela a plusieurs consquences. Tout d'abord si la tache du faisceau au centre de l'cran
est circulaire, elle devient elliptique plus on s'approche des bords et surtout des coins. Pour viter
des distorsions et un flou de l'image, la forme du faisceau doit tre dforme en consquence
pour compenser cet effet. C'est galement une des raisons pour lesquelles la profondeur des tubes
est importante : elle ne peut tre gure plus courte que la diagonale de l'cran. Si la surface de
l'intersection du faisceau avec l'cran varie en fonction du point d'impact, il en est de mme pour
la densit de puissance reue par l'cran et surtout le masque. La temprature de celui-ci n'est pas
uniforme. Les dformations thermiques ont alors pour effet de dgrader l'alignement de ses trous
ou fentes par rapport aux pixels. Pour viter ce problme on utilise un matriau faible
coefficient de dilatation. Tout ceci explique pourquoi il a t difficile d'obtenir des crans plats
coins carrs avec cette technologie.

IX.2.c Ecrans alphanumriques

Bien que ce type d'cran ait presque totalement disparu, nous allons nous intresser au
principe de gestion d'un cran alphanumrique monochrome. Puis nous tudierons quelques
volutions pour parvenir aux crans graphiques. Afficher une image sur un cran monochrome
consiste allumer ou teindre chaque pixel. Mais mme pour une image statique, la frquence
du rafrachissement de l'cran ne permet pas une gestion directe de l'cran par l'unit centrale. Le
contrle de l'cran (balayages horizontal et vertical et intensit du faisceau) est confi un
contrleur spcialis. Une mmoire, dite de rafrachissement, est intercale entre l'unit centrale
et le contrleur. Les informations visualiser sont mises jour dans cette mmoire par l'unit
centrale. A chaque cycle de rafrachissement de l'cran le contrleur du tube cathodique explore
cette mmoire. Les caractres sont gnralement cods en ASCII, pour les afficher il faut les
transformer en caractres typographiques. Les polices de caractres sont dfinies par une matrice
de n x m points, l'intrieur d'une cellule tenant compte de la sparation des caractres. Chaque
caractre est dfini par les points qui sont afficher dans la matrice. Il peut donc tre reprsent
par m mots de n bits, les bits 1 indiquant les points visualiser :

0
1
1
1
1
1
1
1 1 1
1
1
1
1
1
1
1 1 1
0 0 0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0
0
0
0
0
0
0
0
0
0
0


Figure 5
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 193

Ces polices de caractres peuvent se trouver en mmoire morte (ROM) pour les polices dfinies
par le constructeur ou tre tlcharges par l'utilisateur en mmoire vive (RAM).

En mmoire de rafrachissement chaque caractre visualiser est stock dans une zone
pouvant comporter plusieurs champs (fig. 6) : code (par ex. : ASCII), numro de police et
attributs (vido inverse, gras, double largeur, soulign, etc). Cette mthode permet d'utiliser
une police et des attributs diffrents pour chaque caractre imprimer.

01000001 100 01001
code
police
attributs

Figure 6


Le contrleur d'cran doit priodiquement engendrer les signaux de commande du
balayage et de l'intensit du faisceau d'lectrons. Il boucle en permanence sur les lignes de
caractres contenues en mmoire d'cran. Pour chaque ligne il y a m balayages horizontaux
raliser. Pour chacun de ces balayages le contrleur d'cran (fig. 7) effectue une boucle sur les
colonnes de la ligne et ralise les oprations suivantes :

- Recherche en mmoire de rafrachissement de l'information (code, police, etc.) sur le
caractre visualiser. Celui-ci est identifi (adress) par un numro de ligne et un numro
de colonne.
- Recherche en ROM ou RAM, du mot de la matrice de points correspondant au balayage, au
caractre et la police.
- Emission du signal de commande de l'intensit du faisceau d'lectrons en fonction des n
bits identifiant les points allumer.

La figure suivante illustre un concept pouvant s'appliquer un tel contrleur. Supposons que
l'cran comprend 2
l
lignes, comptant chacune 2
c
caractres et que tout caractre est dfini par une
matrice 2
r
x 2
b
pixels. L'cran est donc constitu de N = 2
l+c+r+b
pixels au total. Il est donc
possible d'utiliser un compteur binaire de l + c + r + b bascules et d'utiliser les sorties de la
manire suivante :

- Les l bits de haut poids permettent d'identifier la ligne de caractres afficher.
- Les r bits suivants (rang sur la figure 7) correspondent aux 2
r
balayages horizontaux par
ligne de caractres.
- Les c bits suivants permettent d'identifier la colonne contenant le caractre afficher.
- Les derniers bits comptent les pixels horizontaux dans le caractre afficher.

Les l + r bits de haut poids identifient la ligne de l'cran en cours de balayage, alors que les
c + b bits de bas poids identifient la position horizontale du pixel le long de cette ligne. Ces deux
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 194
informations servent contrler le mouvement permanent du faisceau d'lectrons. On utilise pour
cela deux convertisseurs numriques analogiques dont les tensions de sortie commandent les
deux jeux de plaques de dflexion.

Un autre convertisseur commande la tension de la grille. Comme il ne reoit ici en entre
qu'un seul bit provenant d'un registre dcalage il met un signal de commande en tout ou rien.

ligne colonne bit rang
Compteur
Mmoire
d'cran
code police
Mmoire
de caractres
Registre dcalage
H
CNA CNA CNA
HS VS grille
Bus systme
Unit
centrale

Figure 7


Nous constatons que la mmoire d'cran qui sert d'interface entre l'unit centrale et le
contrleur du tube rayons cathodiques est une mmoire double accs. Un accs en criture
depuis le microprocesseur et un accs en lecture pour le contrleur.

Le systme de codage employ en mmoire d'cran dans l'exemple prcdent ncessite
une tape de dcodage avant d'envoyer le signal de commande vido (grille) au tube. Une
mthode permet d'augmenter le taux de rafrachissement en vitant cette tape. Il s'agit d'utiliser
une mmoire dans laquelle chaque bit correspond un pixel : "1" ou "0" selon que le pixel
associ est allum ou non. Cette trs grande matrice constitue une image binaire de l'cran :
mmoire de trame ou bitmap. Le contrleur peut alors extraire directement le signal de
commande de cette mmoire. Un gain de vitesse est obtenu au prix de plus de mmoire. Cette
technique est largement employe dans les crans graphiques.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 195

IX.2.d Ecrans graphiques

Les crans graphiques permettent l'affichage de caractres et de dessins ou d'images. Il
existe deux types d'crans graphiques : les crans mmoire de trame et les crans balayage
cavalier.

Rsumons le principe de la mmoire de trame que nous avons introduit plus haut. L'cran
est divis en petits domaines lmentaires : les pixels. Ces pixels sont rpartis en lignes et
colonnes. Pour les crans monochromes chaque pixel possde deux tats possibles : teint ou
allum. Il est donc possible d'avoir une reprsentation logique d'un tel cran en associant un bit
chaque pixel. On obtient ainsi une image binaire : la mmoire de trame. Le contrleur du tube
cathodique balaie en parallle ligne par ligne cette mmoire et l'cran, chaque bit 1 est affich.
Le contrle de l'intensit se fait en tout ou rien. Initialement cette mmoire de trame contenait
l'image des caractres afficher. Son usage s'est trs vite gnralis pour l'affichage de dessins.

L'tape suivante a consist passer du "noir et blanc" des niveaux de gris. Pour ce type
d'cran il faut moduler l'intensit du faisceau d'lectrons pour chaque pixel. Il faut alors plusieurs
bits (par exemple 8 bits pour reprsenter 256 niveaux de gris) par pixel. Un convertisseur
numrique analogique est alors utilis pour commander l'intensit du canon lectrons. Le
principe est toujours le mme pour les crans en couleur : il faut moduler les trois couleurs de
base (bleu, rouge et vert). Leur mlange donne naissance aux autres couleurs. On peut utiliser
trois mmoires de trame. Avec 1 bit par couleur fondamentale on peut obtenir huit couleurs, avec
8 bits par couleur on dispose d'une palette de seize millions de couleurs (2
24
= 16 10
6
). Une autre
solution consiste avoir une seule mmoire, avec n bits par pixel. Entre la mmoire de trame et
les trois convertisseurs numriques analogiques il faut intercaler une table de correspondance
(look-up table) en mmoire morte ou vive. Cette table de couleurs permet d'associer chacune
des 2
n
combinaisons une couleur particulire, dfinie par trois intensits. Lorsqu'elle est range
en mmoire vive cette table peut tre redfinie par l'utilisateur.

Le rafrachissement de l'cran est gr par le contrleur du tube cathodique qui explore
priodiquement la mmoire de trame. Lorsque l'image doit tre modifie l'unit centrale ne doit
intervenir qu'au niveau de cette mmoire. Cependant compte tenu de l'importance de plus en plus
grande du graphisme dans les applications et en particulier du 3D dans les jeux et les applications
multimdia, la mise jour de la mmoire de trame mobilise de plus en plus l'unit centrale et
engorge le bus systme. Une solution ce problme consiste insrer entre l'unit centrale et la
mmoire de trame un processeur spcialis (fig. 8). L'unit centrale transmet les actions raliser
ce processeur graphique grce des macro-instructions (tracer une droite, un cercle, dplacer
l'image, etc.). Le processeur graphique se charge de la mise jour de la mmoire de trame.
L'unit centrale est alors libre pour ses autres tches et le trafic sur le bus systme nettement
rduit. L'architecture des processeurs graphiques s'est trs vite spcialise. Cette interface
graphique est relie la mmoire de trame, encore appele mmoire vido (VRAM), par un bus
rserv. Une caractristique importante de cette mmoire vido est son double accs en criture et
en lecture.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 196
Unit
centrale
Interface
graphique
Mmoire
Vido
Contrleur
d'cran
Bus systme
CRT

Figure 8


Dans un cran balayage cavalier on utilise le faisceau d'lectrons comme un crayon pour
dessiner. Il est programm pour dessiner une image par segments. Cette technique, adapte aux
structures filiformes, est utilise dans certaines stations de conception assiste par ordinateur
(CAO) car elle permet une trs grande finesse du trait.


IX.2.e Ecrans cristaux liquides

L'apparition des crans plats cristaux liquides (LCD : Liquid Crystal Display) a permis,
grce leur encombrement rduit et leur faible consommation, l'closion des "portables". Les
cristaux liquides sont des liquides dont les molcules longues s'organisent selon un rseau comme
les atomes d'un cristal. Elles se disposent en couches dans lesquelles elles ont toutes la mme
orientation.

Il est possible de contrler l'orientation de ces molcules en les plaant au contact avec
une surface trs finement grave. Dans un cran cristaux liquides ceux-ci sont pris en sandwich
entre deux plaques de ce type dont les rainures sont perpendiculaires. Les molcules dans les
deux couches au contact avec ces plaques ont donc des orientations orthogonales. L'orientation
dans les couches intermdiaires varie continment avec la profondeur de 0 90.

Les longues molcules des cristaux liquides se polarisent facilement. Cette caractristique
a deux consquences qui sont mises profit dans les crans cristaux liquides. Si on place ces
molcules dans un champ lectrique elles s'alignent paralllement celui-ci. Par ailleurs
l'interaction collective de ces molcules avec le champ lectrique de la lumire a pour effet de
faire tourner le plan de polarisation de la lumire pour le rendre parallle l'orientation des
molcules.

Dans un cran cristaux liquides ceux-ci sont placs entre deux filtres polarisants croiss.
La polarisation de chaque filtre est parallle celle des rainures de la face en regard. Ainsi la
lumire qui pntre dans le liquide est-elle polarise paralllement avec la premire couche de
molcules. Au fur et mesure que la lumire traverse le liquide son plan de polarisation tourne
avec les molcules. A la sortie le plan de polarisation a donc pivot de 90 pour se trouver
parallle au second filtre polarisant. Celui-ci laisse donc passer la lumire : l'cran est transparent.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 197
On place deux lectrodes planes de part et d'autre des cristaux liquides. Lorsque ces
lectrodes sont soumises une tension elles crent un champ lectrique perpendiculaire l'cran.
Les molcules s'alignent avec ce champ et n'interagissent alors plus avec la lumire dont le plan
de polarisation n'est pas modifi par la traverse du liquide. La lumire est alors absorbe par le
second filtre : l'cran est opaque. Cependant l'alignement des molcules avec le champ lectrique
n'est pas instantan. La vitesse de ce rarrangement dpend de l'intensit du champ lectrique et
de la viscosit du liquide. Il est ainsi possible de moduler la quantit de lumire transmise.

La figure suivante illustre le principe d'un cran cristaux liquides dit matrice passive. Il
est constitu de plusieurs couches de matriaux. On trouve dans le sens du parcourt de la
lumire :

- Un filtre polarisant.
- Une plaque de verre.
- Une srie d'lectrodes en oxyde mtallique transparent en forme de longues bandes
parallles.
- Une plaque de polymre grave avec de trs fines rainures parallles la polarisation du
premier filtre.
- Les cristaux liquides.
- Une seconde plaque d'alignement aux rainures orthogonales celles de la premire.
- Une seconde srie d'lectrodes en bandes orthogonales aux premires lectrodes.
- Une couche de protection.
- Un filtre color constitu de bandes rouges, vertes et bleues parallles et alternes.
- Une plaque de verre.
- Un second filtre polarisant crois par rapport au premier.

Tous les matriaux utiliss sont transparents. Les deux plaques de verre servent de supports
mcaniques aux autres couches. L'paisseur du liquide est contrle par de fines entretoises.

Les deux couches d'lectrodes correspondent aux lignes et aux colonnes. Un pixel est
dfini par l'intersection de deux lectrodes. Comme dans un tube rayons cathodiques les pixels
sont balays priodiquement. Une diffrence de potentielle est applique sur les deux lectrodes
(ligne et colonne) correspondantes pendant un petit intervalle de temps. L'amplitude de cette
tension permet de moduler d'intensit lumineuse du pixel correspondant. Sa couleur est dfinie
par le filtre color. La juxtaposition de pixels avec les trois couleurs de base permet d'obtenir les
autres couleurs.

La face arrire de l'cran est claire par des tubes fluorescents basse tension dont la
lumire blanche est rpartie uniformment sur toute la surface par un diffuseur. Cette technique
permet la ralisation d'crans plats, de faibles paisseurs et consommations rduites.
Contrairement aux tubes cathodiques pour lesquels la lumire est mise au niveau de l'cran dans
un grand angle solide, il faut regarder un cran cristaux liquides de face.

Trs bon march cette technologie matrice passive prsente quelques inconvnients. Elle
est assez lente ce qui rduit le taux de rafrachissement. Lorsqu'une tension est applique entre
une ligne et une colonne le champ lectrique influence les pixels voisins. Une autre technique,
dite matrice active, permet de remdier ces difficults. Les lectrodes sont segmentes petits
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 198
carrs correspondants aux pixels. Ce dcoupage permet d'viter d'influencer les pixels voisins.
Chaque pixel est command par un transistor, ce qui permet un gain important en vitesse. Ces
transistors sont fabriqus sur des films de silicium trs fins dposs sur un substrat de quartz de
grandes dimensions. Ces films contiennent plusieurs millions de transistors qui ne doivent pas
prsenter de dfaut. Les films de transistors peuvent maintenant tre raliss avec du silicium
polycristallin dpos sur un substrat en verre (le dpt du silicium se fait plus basse temprature
que pour obtenir un monocristal). On cherche utiliser du silicium amorphe.

filtres
polarisants
croiss
lectrodes
transparentes
filtre de couleurs
plaques
rainures

Figure 9


IX.2.f Souris

Outre le clavier l'utilisateur communique avec un ordinateur par l'intermdiaire d'une
interface graphique et d'une souris. La plupart des souris actuelles sont optolectroniques. Une
boule en acier recouverte de caoutchouc entrane deux roues dont les axes sont perpendiculaires.
Une troisime roue quipe d'un ressort maintient la boule en contact avec les deux autres roues.
Sur l'axe de chacune de ces deux roues se trouve un disque perc de fentes radiales. Chaque
disque tourne entre deux cellules dcales. Chaque cellule contient une diode lectroluminescente
et une photodiode. Le comptage des impulsions lumineuses permet de mesurer le dplacement de
la souris dans une direction. Le dcalage entre les deux cellules permet de dterminer le sens du
mouvement.

Un crayon lumineux est un dtecteur optique, qui en contact avec l'cran, permet de
reprer le passage du faisceau d'lectrons du tube cathodique. Il envoie un signal au contrleur
vido qui peut ainsi dterminer sa position par rapport l'cran.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 199


IX.3 Imprimantes

Ds les dbuts de l'informatique, l'imprimante est apparue comme un outil indispensable
pour fournir l'homme les rsultats des calculs. Il existe une grande varit d'imprimantes :
impact, thermiques, jet d'encre, laser, etc.

IX.3.a Imprimantes impact de marteaux

Parmi ces imprimantes citons les imprimantes marteaux. Il y a un marteau par colonne.
Les caractres sont gravs en relief sur un ruban mtallique qui tourne en permanence devant les
marteaux. Un ruban encreur est plac entre le ruban mtallique et le papier. Le papier avance
ligne par ligne. L'lectronique de l'imprimante dclenche la frappe de chaque marteau lorsque le
bon caractre grav passe devant : frappe la vole. Cette technologie permet de raliser des
imprimantes trs rapides (jusqu' 3000 lignes par minute). Dans certains modles le ruban
mtallique peut tre remplac par un tambour horizontal ou une "marguerite". Ces premiers types
d'imprimantes, parmi lesquelles nous pouvons encore mentionner l'imprimante boule d'IBM,
sont les seules disposer de lettres prformes, assurant une excellente qualit d'impression
(comparable celle des machines crire). Par contre les polices de caractres sont limites en
nombre et elles sont incapables d'imprimer des graphiques.


IX.3.b Imprimantes aiguilles

Dans ces imprimantes les caractres sont reprsents par des points dans une grille ou
matrice. La tte d'impression comporte autant d'aiguilles que de points par colonne. La tte se
dplace horizontalement devant la ligne imprimer. Pour chaque caractre les aiguilles
correspondant aux points marquer sont lances par de petits lectro-aimants. Elle frappent ainsi
le ruban encreur situ entre la tte et le papier. Compte tenu de l'inertie des aiguilles il est difficile
de raliser des imprimantes rapides. Les polices de caractres sont stockes en mmoire. Dans
certains cas elles peuvent tre tlcharges par l'ordinateur. De plus elles peuvent imprimer point
par point des graphiques et des dessins. Simple et fiable, cette technologie permet de produire des
imprimantes bon march. Permettant de faire des copies carbone elles sont trs utilises dans les
administrations.

La qualit des imprimantes est dtermine par la densit de points exprime en dpi (dots
per inch) ou ppp (points par pouce).


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 200
IX.3.c Imprimantes thermiques

Les imprimantes thermiques ressemblent aux imprimantes matricielles aiguilles. Au lieu
de frapper un ruban les aiguilles chauffent un papier spcial sensible la chaleur. Peu utilises
pour l'impression monochrome, elles permettent l'impression couleur.

On utilise un rouleau de cellophane recouvert d'une encre solide, compos d'une
succession de rgions jaune, cyan, magenta (les trois couleurs primaires) et noire ventuellement.
Une srie de ttes thermiques est dispose perpendiculairement au sens de dfilement du papier.
L'impression de chacune des couleurs primaires ncessite un passage du papier devant les ttes.
L'impression se fait donc en trois ou quatre passes. Il existe deux technologies. Dans le cas du
transfert thermique on utilise une encre base de cire qui fond lorsqu'une tte thermique est
active. Par pression mcanique on obtient un point. Les couleurs de base (rouge, vert, bleu et
noir) sont obtenues par superposition des couleurs primaires. Les autres couleurs sont obtenues
par juxtaposition de points. La rsolution est d'environ 300 ppp. Pour la technologie de la
sublimation thermique le colorant passe de l'tat solide l'tat gazeux lorsqu'une tte thermique
est active. Il diffuse alors sur le papier o il revient l'tat solide. La quantit de colorant
vaporise peut tre contrle par la temprature de la tte thermique. Il est donc possible de
dfinir l'intensit des couleurs primaires. Par superposition on peut disposer d'une trs large
palette de couleurs. L'impression sans trame est d'excellente qualit.


IX.3.d Imprimantes jet d'encre

Dans une imprimante jet d'encre la tte de lecture est compose de petits tubes qui
projettent de minuscules gouttelettes d'encre. Ces gouttelettes, charges lectrostatiquement, sont
diriges vers le papier avec une grande prcision par un systme de plaques de dviation.
L'absence d'impact mcanique rend son fonctionnement trs silencieux. D'autre part, en
augmentant le nombre des tubes il est possible imprimer simultanment plusieurs couleurs.
L'impression est de trs bonne qualit. La rsolution varie entre 200 ppp et 400 ppp.


IX.3.e Imprimantes laser

Le fonctionnement des imprimantes laser s'inspire de celui des photocopieuses. L'image
de la page imprimer est construite sur un tambour photoconducteur. Cette image est obtenue
avec un faisceau laser rflchi sur un miroir mobile, pilot par l'lectronique de l'imprimante. Le
tambour passe devant une station d'encrage o l'encre sche, charge lectrostatiquement, est
attire aux endroits chargs du tambour. L'image est ensuite transfre sur le papier par contact.
Le papier est chauff pour fixer dfinitivement les particules d'encre. Cette technique permet
l'impression sur papier ordinaire. On atteint des rsolutions variant entre 300 et 2000 ppp. Dans
certains modles les polices de caractres sont dfinies gomtriquement. Il est alors possible
d'obtenir une qualit proche de celle d'un imprimeur.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 201


IX.4 Supports magntiques
IX.4.a Enregistrement magntique

Le principe de l'enregistrement magntique est identique celui mis en uvre dans un
magntophone. On utilise les proprits magntiques de certains matriaux ferromagntiques
comme l'oxyde de fer ou certains alliages (phosphore-nickel ou phosphore-cobalt). Une couche
magntique, dune paisseur de quelques microns ou mme infrieure au micron aujourdhui, est
dpose sur un support souple ou rigide. Elle est constitue de domaines de Weiss
microscopiques. Initialement l'orientation de l'aimantation de chacun de ces domaines est
alatoire et l'aimantation rsultante est nulle. En prsence d'un champ magntique, suffisamment
intense, l'aimantation de chaque domaine bascule pour tre parallle au champ inducteur. Lorsque
celui-ci disparat l'aimantation de chaque domaine persiste (rmanence) dans cette position,
induisant une aimantation globale. Il est donc possible d'aimanter certaines zones ou cellules de
la couche magntique.

Ce principe est mis en uvre dans une tte d'criture (fig. 10). Celle-ci est constitue par
l'entrefer d'un lectro-aimant. En alimentant la bobine on cre un champ magntique au voisinage
de l'entrefer, son orientation dpend du sens du courant. Ce champ traverse la couche
magntique. Les domaines de Weiss en regard de la tte prennent une aimantation parallle au
champ magntique. Ils constituent une cellule dont l'aimantation, parallle aux lignes de champ
dans l'entrefer, a deux orientations possibles. Cette technique est donc adapte un codage
binaire.
bobine
entrefer
couche magntique
support
lignes de champ


Figure 10


Pour la lecture on peut utiliser la mme tte non alimente. Chaque cellule constitue un
aimant permanent. Lorsqu'une cellule passe devant l'entrefer, par induction elle modifie le flux
magntique traversant la bobine, ce qui cre un courant. Le sens de ce courant dpend du sens de
variation de l'aimantation, donc de l'information binaire stocke dans la cellule.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 202
La densit linaire d'enregistrement se mesure en bpi (bits per inch). Cette densit dpend
de la nature de la couche magntique, de la distance entre cette couche et la tte de
lecture/criture et de l'ouverture de l'entrefer.

Une tte de lecture est sensible aux variations du flux magntique, donc aux transitions,
ou changements de sens d'aimantation. Diffrentes techniques d'enregistrement sont utilises
pour le codage des disques et des bandes magntiques. Nous allons en tudier quelques-unes,
illustres par la figure 11.

0 1 0 0 0 0 0 1 1 1
NRZI
PE
NRZ
RZ


Figure 11


RZ (Return to Zero) On revient zro entre chaque bit. On spare les cellules magntises par
une zone non aimante. La valeur 1 correspond une impulsion positive et la valeur 0
une impulsion ngative au niveau de la bobine. L'enregistrement est autosynchronis : il
n'y a pas besoin de base de temps externe pour compter tous les bits. Par contre ce codage
n'est pas favorable la densit.

NRZ (Non Return to Zero) On supprime les zones non aimantes. Il n'y a une transition, donc
une impulsion, uniquement lorsque les informations passent de 0 1 et de 1 0. On peut
ainsi augmenter la densit. Cependant, comme une squence de bits gaux engendre une
impulsion seulement au dbut, il faut une base de temps pour compter les bits.

NRZI (NRZ Inverted) Le sens de l'aimantation ne porte plus directement l'information. Seuls les
bits 1 provoquent une inversion de magntisation. Il est ncessaire d'avoir une base de
temps.

PE (Phase Encoding) Chaque cellule est divise en deux parties magntises en sens oppos.
Il y a donc une transition au milieu de chaque cellule, mme dans une squence de bits
gaux. Le sens de cette transition indique la valeur binaire de l'information. Ce codage est
autosynchronisateur. Il est facile de conserver la base de temps, reprant les milieux des
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 203
cellules, en phase avec la vitesse de dfilement. Cette technique est cependant limite par
la frquence des transitions.

GCR (Group Code Recording) Pour atteindre des densits suprieures, on reprend le principe
du NRZI en supprimant les squences de zros pour faciliter la synchronisation de la base
de temps. Pour cela on utilise 5 bits pour coder des groupes de 4 bits selon la table 1.
Chaque groupe de 4 bits est cod avant d'tre enregistr, en utilisant la mthode NRZI, et
dcod la lecture. Avec ce code il est impossible de trouver plus de deux zros
conscutifs. Dans ces conditions il plus facile de recadrer en permanence la base de temps
sur la frquence de dfilement des informations.

Donne (4 bits) Code (5 bits) Donne (4 bits) Code (5 bits)
0000 11001 1000 11010
0001 11011 1001 01001
0010 10010 1010 01010
0011 10011 1011 01011
0100 11101 1100 11110
0101 10101 1101 01101
0110 10110 1110 01110
0111 10111 1111 01111

Table 1


IX.4.b Disques durs

Un disque dur constitue la mmoire de masse non volatile d'un ordinateur. Le premier
disque a t dvelopp en 1954 par IBM.

Une unit de disques magntiques est gnralement constitue de plusieurs disques ou
plateaux tournant la mme vitesse (plusieurs milliers de tours par minute). Un plateau est
constitu d'un substrat non magntique, usin et poli. On utilise soit l'aluminium, soit le verre ou
la cramique plus rsistants et plus fins. Les deux faces d'un plateau sont recouvertes d'une
couche magntisable (oxyde mtallique ou mtal). Entre ces plateaux se trouvent les ttes de
lecture/criture montes sur un mme bras mobile (fig. 12).

Les disques durs utilisent des ttes ultra-lgres, qui grce leur profil arodynamique
flottent sur un coussin d'air. L'altitude de vol varie entre 0.25 et 2.5 m. Comme le montre la
figure 13, o nous n'avons pas pu visualiser un cheveu de diamtre 50 100 m, cela impose de
grandes contraintes sur la planit des surfaces et leur propret. Pour cela les disques durs doivent
placs dans des botiers hermtiques, exempt de poussires (technologie Winchester, car mise au
point pour lIBM 3030, calibre de la carabine Winchester). A l'arrt les ttes se posent sur une
partie du plateau prpare cet effet ne contenant pas de donnes. Le ralentissement de la
rotation du disque, avec diminution progressive du film dair entran, permet un atterrissage en
douceur.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 204

plateau
axe de rotation
tte de lecture et criture


Figure 12



poussire
20 30 m
trace de doigt
5m
fume
5m
tte de lecture
altitude de vol couche d'oxyde
magntique
4m
2m

Figure 13


Les surfaces de chaque disque sont structures (fig. 14) en pistes (track) : cercles
concentriques centrs sur l'axe de rotation. Un disque est galement divis en segments, ou "parts
de gteau" d'angle fixe. L'intersection d'une piste et d'un segment est appele secteur. La taille
des secteurs est gnralement de 512 octets. Le secteur reprsente l'unit lmentaire d'accs d'un
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 205
disque. Chaque secteur est spar du suivant par une petite zone non utilise qui permet de
reprer les secteurs et de synchroniser les signaux de commande. L'ensemble des pistes de tous
les plateaux un rayon donn forment un cylindre. Comme les ttes de lecture/criture sont
solidaires, les secteurs d'un cylindre peuvent tre accds simultanment. Le bras supportant ces
ttes pivote autour d'un axe et sa position est dfinie par une bobine lectromagntique. Ce
systme permet un positionnement rapide et prcis de la tte sur la piste. Ce positionnement est
par ailleurs asservi sur des repres placs sur le disque.

piste
segment
secteur


Figure 14


La surface d'un disque vierge est uniforme, aucun reprage absolu n'est possible. Avant de
pouvoir l'utiliser il faut raliser un premier formatage dit de bas niveau, c'est--dire mettre en
place sur la surface des repres permettant de retrouver pistes et secteurs. Chaque secteur est
gnralement structur en deux zones : un entte permettant son reprage et les donnes. Cette
structure dpend de larchitecture, on peut trouver :

- un intervalle de secteur : 10-20 octets 0 ;
- un label prcd dun marqueur : adresse du secteur (numros de disque, de face, de
cylindre et de secteur) ;
- un code dtecteur derreur ;
- une zone de synchronisation : permet de passer de la lecture dadresse lcriture des
donnes, sert galement au recadrage des signaux dhorloge ;
- un marqueur de donnes ;
- la zone de donnes.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 206
Les donnes sont crites et lues par secteurs. Pour identifier un bloc de donnes il faut spcifier le
numro de l'unit de disques, la tte (donc le plateau et la face), la piste (ou le cylindre) et le
secteur. En fait la capacit des disques durs et la taille moyenne des fichiers ont augment de
faon telle qu'il n'est plus possible d'adresser individuellement chaque secteur. Un disque de 1 Go
contient 2
21
secteurs. Ceux-ci sont groups en grappes ou clusters. Cette organisation, la taille des
grappes et l'adressage logique des secteurs et des clusters dpendent du systme d'exploitation.
Cela requiert un formatage logique, avec prparation de vecteurs d'tat, de tables d'allocation des
fichiers, etc. Un vecteur d'tat permet de savoir si un secteur ou cluster est utilisable, utilis ou
libre.

La capacit d'un disque est exprime en multiples de 1024 octets. La table suivante
rsume la valeur des prfixes utiliss pour exprimer les capacits des disques. J'ai quelque peu
anticip certains multiples ne servent pas encore mme pour les sauvegardes.

Symbole Prfixe Capacit
k kilo 2
10
= 1024
M mga 2
20
= (1024)
2
G giga 2
30
= (1024)
3
T tra 2
40
= (1024)
4
P pta 2
50
= (1024)
5
E exa 2
60
= (1024)
6
Z zetta 2
70
= (1024)
7
Y yotta 2
80
= (1024)
8

Table 2


L'accs aux donnes sur un disque dur peut se dcomposer en trois tapes :

- positionnement des ttes au niveau du cylindre;
- passage du secteur devant la tte de lecture et reprage;
- transfert des donnes.

Un disque est dit accs semi-squentiel : accs direct la piste avec une constante de temps lie
la mcanique, puis accs squentiel au secteur dans la piste. Le temps de dplacement de la tte
est appel temps de recherche. Il dpend de l'amplitude du mouvement du bras (passage un
cylindre voisin ou traverse complte du disque) et de l'inertie de celui-ci. Une fois la tte
positionne, le temps d'accs au secteur sur la piste est appel temps de latence. Celui-ci dpend
des positions initiales respectives de la tte et du secteur, en moyenne il faut parcourir la moiti
de la piste. Il dpend galement de la vitesse de rotation des plateaux. Ensuite le taux de transfert
des donnes est caractris par dbit.

Il existe deux configurations possibles des pistes. Elles peuvent contenir toutes le mme
nombre de secteurs (fig. 14). Dans ce cas, comme la vitesse de rotation est constante, la densit
d'information varie en fonction du rayon de la piste, mais le dbit est constant. Une autre
organisation consiste garder la densit d'information peu prs constante. Dans ce cas le
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 207
nombre de secteurs par piste varie en fonction du rayon. Le disque est divis en zones, le nombre
de secteurs par piste tant identique lintrieur dune zone. La capacit du disque est alors
accrue et le dbit dpend galement du rayon. Il est plus important sur le bord des plateau. Le
systme doit donc chercher installer les fichiers d'utilisation frquente cet endroit.

IX.4.c Disquettes

Dans leur principe les disquettes fonctionnent comme les disques durs. Amovibles les
disquettes sont principalement utilises dans les petits systmes. Les premires disquettes avaient
un diamtre de 8 pouces, puis sont apparues les disquettes 5"1/4 et enfin 3"1/2. Les disquettes
sont enfermes dans une enveloppe souple ou rigide dont les faces internes sont couvertes d'un
revtement limitant le frottement.

Outre qu'une disquette est souple, la diffrence principale avec un disque dur rside dans
la tte de lecture/criture. Tout d'abord cette tte est en contact avec la surface magntique, ce qui
limite la vitesse de rotation : 300 tours/minute pour les disquettes 3" 1/2. De plus le
positionnement de la tte est obtenu par une vis actionne par un moteur pas pas, sans
asservissement. Ce systme ncessite une marge de scurit entre les pistes, ce qui limite la
densit : 135 tpi (tracks per inch) pour les classiques disquettes de 1.44 Mo.

Cette capacit est de moins en moins adapte la taille des fichiers. Citons deux
techniques employes pour augmenter la capacit et le dbit dans d'autres types des supports
magntiques amovibles. La premire consiste faire flotter le disque souple entre les deux ttes
de lecture/criture (effet Bernoulli). Cela permet une plus grande vitesse de rotation, donc un
dbit plus lev. Une autre consiste utiliser un faisceau laser pour asservir le dplacement de la
tte. Le disque dispose des pistes optiques de rfrence. Ce systme permet un positionnement
trs prcis de la tte, donc une plus grande densit de pistes.


IX.4.d Bandes et cartouches magntiques

Dans les bandes ou cartouches magntiques le support de la couche magntisable est
constitu par un ruban souple comparable ce qui est utilis pour les enregistrements audio ou
vido. Une bande est logiquement divise en pistes parallles, par exemple neuf pistes (fig. 15).
Les octets sont enregistrs transversalement : 8 bits sur huit pistes. La neuvime piste est utilise
pour le bit de parit. Les donnes sont enregistres par blocs. A la fin d'un bloc on peut placer 9
bits supplmentaires, chacun reprsentant la parit de sa piste dans le bloc. Si une erreur se
produit pour un seul bit, celle-ci induit deux erreurs de parit : dans la piste et l'octet. Cette
mthode permet de reprer et d'identifier le bit en erreur. Une correction est alors possible.

D'accs squentiel, ce sont des supports de donnes relativement lents. Par contre ils sont
trs conomiques. Sous forme de cassettes ou cartouches elles sont d'un usage plus ais. Il est en
particulier possible dans les grands systmes d'utiliser des robots pour installer les cartouches
dans les lecteurs.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 208

9 pistes
1 octet + 1 bit de parit 9 bits de parit
1 bloc d'enregitrement


Figure 15


Cependant les enregistrements magntiques s'altrent avec le temps. Il faut les rcrire
tous les trois ou cinq ans. La dure de vie des bandes est galement limite. Il faut les remplacer
tous les dix ou quinze ans. Dans un grand centre de calcul cela reprsente beaucoup de travail et
d'argent.


IX.5 Disques optiques numriques

Les disques compacts sont des objets standardiss tant au niveau de leurs caractristiques
physiques que de leur format logique. Cette standardisation qui assure une compatibilit dans un
trs vaste domaine est certainement une des raisons du succs de ce support. La normalisation
initiale, correspondant au disque compact audio (CD-A), est dcrite dans le "Livre Rouge" rdig
en 1982 par Sony et Philips. Nous commenons donc notre tude par ce type de CD.

IX.5.a Format physique

Un disque compact a un diamtre externe de 120 mm pour une paisseur de 1.2 mm. Il est
perc d'un trou central de 15 mm. Il est constitu de trois couches. Sur un support en
ploycarbonate (plastique transparent rsistant ayant un indice de rfraction de 1.55) est dpose
une fine couche rflchissante d'aluminium. Cette couche est protge des rayures et de
l'oxydation par une laque protectrice, sur laquelle peut tre imprime une tiquette.

Les informations sont imprimes dans la couche mtallique sous forme de cuvettes (pits),
d'une profondeur de 0.12 m, graves le long d'une spirale, situe dans une zone de diamtre
compris entre 46 et 117 mm. Cette zone est divise en trois rgions concentriques : un en-tte
(lead-in) de 2 mm de large, suivi des donnes sur une largeur de 33 mm au maximum puis d'une
plage de fin (lead-out). Les informations sont arranges du centre vers l'extrieur. Le pas entre
spires est de 1.6 m, ce qui correspond une densit de 16000 tpi. La longueur totale de la
spirale (22188 spires) est d'environ 5.6 km, pour une longueur utile (donnes) de 5.38 km. La
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 209
largeur des creux est de 0.6 m. La surface vierge qui sparent deux cuvettes conscutives est
appele mplat (land). La spirale apparat donc comme une alternance de crneaux. La longueur
de chaque crneau (cuvette ou mplat) est comprise entre 0.833 m et 3.054 m.


15
46
50
116
Donnes
plage de fin
en-tte
117
120


Figure 16


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 210
IX.5.b Dispositif de lecture

La lecture des donnes se fait au moyen d'un laser semi-conducteur en arsniure de
gallium (AsGa) d'une longueur d'onde de 780 nm (infrarouge). La lumire mise par ce laser
traverse le substrat en polycarbonate puis se rflchit sur la couche d'aluminium. Le rayon
rflchi est ensuite guid par un miroir semi-transparent vers une photodiode. Le faisceau laser
est focalis en une tache d'environ 1.1 m de diamtre. Sur une surface vierge (mplat) la lumire
est totalement rflchie et la photodiode reoit alors au moins 70 % de la lumire mise. Par
contre lorsque l'image du laser chevauche une cuvette, la lumire rflchie au fond de la cuvette
parcourt une distance lgrement plus longue que la lumire rflchie sur la surface extrieure.
La profondeur des cuvettes est telle que la diffrence de chemin est gale une demie longueur
d'onde. Comme la lumire mise par un laser est cohrente, il y alors interfrence destructive. En
pratique il n'y a pas extinction totale, mais la spcification impose une quantit de lumire
rflchie dans ces zones infrieure 28 % de la lumire mise.

diode laser
photodiode
miroir semi-transparent
polycarbonate
aluminium laque
cuvette mplat


Figure 17


Le principe de la lecture est donc assez simple, mais il faut ajouter des systmes
d'asservissement pour conserver l'alignement de la tte de lecture le long de la spirale et la
focalisation au niveau de la couche rflchissante ( 2 m). La tte n'tant pas en contact avec le
disque il n'y a peu d'usure.

Contrairement un disque dur, la vitesse de rotation d'un disque compact est variable de
faon ce que la vitesse linaire de dfilement de la spirale devant la tte de lecture soit
constante (CLV : Constant Linear Velocity). La vitesse de lecture pour un CD audio est de
1.2 m s
-1
. La vitesse angulaire varie donc de 200 460 tours par minute selon la position de la
tte le long de la spirale. La dure d'enregistrement maximum est d'environ 74 minutes. Le temps
d'accs est plus long que pour un disque dur, car il faut positionner la tte de lecture d'inertie
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 211
mcanique plus grande et il faut acclrer ou ralentir la rotation du disque pour ajuster la vitesse
linaire de dfilement.

0,6
1,6
cuvette mplat
image laser
1,1

Figure 18


IX.5.c Codage de l'information

Contrairement ce qu'on pourrait penser les cuvettes et les mplats ne sont pas
directement associs aux deux valeurs logiques "0" et "1". En fait la valeur logique "1" est dfinie
par une transition de l'intensit lumineuse dtecte. Cela correspond donc au passage d'un mplat
une cuvette et vice-versa. La longueur des cuvettes et des zones vierges permet ensuite de
compter le nombre de zros. Cependant une dtection efficace de deux transitions conscutives
ncessite un crneau d'une longueur minimale. Il est donc impossible de coder deux "1"
conscutifs. En pratique il faut au moins deux "0" entre deux "1". L'horloge est synchronise
chaque transition. Il faut viter d'avoir des sries de "0" trop longues. Il y aurait alors un risque de
perdre la base de temps, et donc de faire une erreur dans le comptage des "0". La limitation
adopte est d'au plus dix "0" entre deux "1". On associe donc chaque crneau (pit ou land) une
squence binaire dbutant par un "1" et comptant entre 3 et 11 bits. La longueur d'un crneau est
d'environ 0.278 m par bit.

Pour tenir compte de ces contraintes on est amen utiliser 14 bits pour coder un octet.
On dnombre en effet 267 combinaisons de 14 bits pour lesquelles on trouve au moins deux et au
plus dix "0" entre deux "1". Ce codage est appel E.F.M. pour Eight to Fourteen Modulation. La
table de correspondance a t choisie de manire minimiser le nombre de portes logiques
ncessaires la ralisation du transcodeur qui doit tre intgr dans tout lecteur de disque
compact. Lors de la concatnation de deux codes de 14 bits, il est encore possible de trouver deux
"1" conscutifs ou une srie de plus de dix "0". Pour viter cette difficult, on intercale 3 bits de
fusion tous les 14 bits. Il faut donc au total 17 bits pour reprsenter un octet. Pour amliorer le
rapport signal/bruit on cherche faire en sorte que les longueurs cumules des creux et des
bosses soient en permanence presque gales. C'est un des rles des bits de fusion.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 212
Le systme de codage E.F.M. est destin rendre le systme de lecture le plus tolrant
possible divers dfauts techniques : trou excentr, disque voil, laser mal focalis, profondeur
des creux, paisseur du disque, etc. Il subsiste cependant d'autres sources d'erreurs. Ce peut tre
de microscopiques bulles d'air ou poussires piges dans le polycarbonate pendant la fabrication
du disque, ou des rayures, salissures et autres empreintes de doigts sur le disque. La spcification
exige qu'il y ait moins de 250 erreurs de lecture par seconde. Ce taux d'erreur est trop important
pour assurer une bonne qualit de son. Pour liminer ces erreurs on fait appel un code de
dtection et de correction d'erreurs : le code Reed Solomon entrelac crois (CIRC : Cross
Interleaved Reed Solomon Code). Cette technique permet d'atteindre un taux d'erreurs de 10
-8
sur
les donnes utiles.

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1


Figure 19

Sur un CD audio les donnes sont groupes en trames. Une trame comprend 24 octets
utiles auxquels il faut ajouter 8 octets pour le code de dtection et de correction des erreurs. On
ajoute galement un octet de contrle. Chacun de ces 33 octets est cod avec 14 bits. Une trame
dbute par deux squences de synchronisation identiques de 11 bits ("1" suivi de dix "0"), suivies
par 5 bits de fusion. Cette configuration ne peut se trouver dans les donnes car elle correspond
une des onze combinaisons de 14 bits non utilises par le codage E.F.M.. Une trame comprend
donc 588 bits.

1 trame Synchronisation
1 octet de contrle
24 octets de donnes
8 octets de dtection et correction d'erreurs
27 bits
1 x 17 bits
24 x 17 bits
8 x 17 bits
Total 588 bits

Table 3

L'unit d'enregistrement sur un CD est le secteur qui regroupe 98 trames, soient 57624 bits. Une
seconde d'enregistrement correspond 75 secteurs.

1 secteur 98 trames 57624 bits
2352 octets utiles
1 seconde 75 secteurs 4.3218 10
6
bits
176400 octets utiles

Table 4


Le son sur un CD est chantillonn sur 16 bits et sur deux canaux (stro). Une seconde
d'enregistrement correspond donc 44100 chantillons. La frquence d'chantillonnage est donc
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 213
de 44.1 kHz. Le dbit global de lecture est de 4.32 Gb.s
-1
, pour un dbit utile de 172 ko.s
-1
. La
dure maximale d'enregistrement de 74 minutes correspond 747 Mo utiles. L'adressage d'un
secteur sur un CD se fait sous la forme : minute:seconde:secteur. Un CD audio peut tre divis en
pistes (jusqu' 99). L'adressage peut tre absolu (depuis le dbut de la spirale) ou relatif (depuis le
dbut de la piste).


IX.5.d Disque compact en informatique

Le disque compact est sorti peu de temps aprs l'IBM PC-XT qui tait alors quip d'un
disque dur de 10 Mo. Il est vite apparu que les disques compacts pouvaient servir de support
des donnes informatiques. Cela ncessitait cependant une rduction importante du taux d'erreurs
et un reprage plus prcis des secteurs. C'est pourquoi le format des secteurs a t revu et prcis
dans le Livre Jaune rdig par Philips et Sony en 1984.

Dans un CD-ROM on distingue deux formats pour les secteurs. La structure des secteurs
dcrite pour les disques audio, savoir 98 trames de 588 bits, est conserve. Par contre
l'utilisation des 2352 octets disponibles est modifie. Le premier format, nomm CD-ROM Mode
1, est prvu pour les donnes informatiques. Celles-ci reprsentent 2048 octets, quantit adapte
l'adressage binaire. Ce mode contient un niveau supplmentaire de dtection et de correction
d'erreurs en couche qui ncessite 4 octets pour la dtection (EDC : Error Detection Code) et 276
octets pour la correction (ECC : Error Correction Code). Cette technique permet d'obtenir un taux
d'erreur de 10
-12
. Huit octets sont laisss libres entre les octets de dtection et les octets de
correction. Pour faciliter le reprage et l'adressage des secteurs ceux-ci dbutent par 12 octets de
synchronisation suivis de 4 octets d'en-tte (trois octets pour l'adressage minute:seconde:secteur
et un octet pour le mode).
2048 octets de donnes
2
7
6

o
c
t
e
t
s
E
C
C
1
2

o
c
t
e
t
s
S
Y
N
C
4

o
c
t
e
t
s
H
e
a
d
e
r
4

o
c
t
e
t
s
E
D
C
8

o
c
t
e
t
s
l
i
b
r
e
s
CD-ROM / Mode 1
1
2

o
c
t
e
t
s
S
Y
N
C
4

o
c
t
e
t
s
H
e
a
d
e
r
2336 octets de donnes
CD-ROM / Mode 2
2352 octets

Figure 20


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 214
Ce format correspond un dbit pour les donnes utiles de 150 ko.s
-1
. et une capacit utile de
650 Mo. Il existe un second format (CD-ROM Mode 2) qui n'utilise pas de dtection d'erreurs. Il
permet d'utiliser 2336 octets par secteur, pour un dbit de 172 ko.s
-1
. Ce format convient aux
donnes compresses audio ou vido.

Si des donnes sonores de haute qualit sont ncessaires les formats CD-A et CD-ROM
peuvent tre combines. Sur un CD en mode mixte, la premire piste contient les donnes
informatiques. Elle est suivie par une ou plusieurs pistes audio.

Les livres rouge et jaune n'autorisent pas le mlange de secteurs de types diffrents sur
une mme piste. Cela s'avre une limitation majeure pour des applications multimdia qui
manipulent simultanment du texte, du son et de la vido. La tte de lecture est alors oblige de
se dplacer en permanence pour alimenter les divers flux. Le format CD-ROM XA a t introduit
en 1989 par Philips, Sony et Microsoft pour palier cette limitation. Il permet l'entrelacement de
secteurs de types diffrents sur une mme piste. A ct de cet apport, le format des secteurs est
lgrement modifi. Il utilise les huit octets laisss libres par le format CD-ROM. Les deux
formats CD-ROM XA sont dnomms Forme 1 et Forme 2. Ils sont rsums dans la figure
suivante.

2048 octets de donnes
2
7
6

o
c
t
e
t
s
E
C
C
1
2

o
c
t
e
t
s
S
Y
N
C
4

o
c
t
e
t
s
H
e
a
d
e
r
4

o
c
t
e
t
s
E
D
C
8

o
c
t
e
t
s
S
u
b
h
e
a
d
.
CD-ROM XA / Forme 1
1
2

o
c
t
e
t
s
S
Y
N
C
4

o
c
t
e
t
s
H
e
a
d
e
r
2324 octets de donnes
2352 octets
8

o
c
t
e
t
s
S
u
b
h
e
a
d
.
4

o
c
t
e
t
s
E
D
C
CD-ROM XA / Forme 2

Figure 21


Si la vitesse de lecture des disques audio est fixe par la frquence d'chantillonnage, il
n'y a aucune contrainte pour les donnes informatiques. Cela permet d'acclrer le dbit de
transfert, qui est gnralement exprim comme un multiple de 150 ko.s
-1
(nX). Il est galement
possible de fonctionner vitesse de rotation constante (CAV : Constant Angular Velocity).


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 215
IX.5.e Fabrication d'un CD

La fabrication d'un CD-ROM commence par la mise en forme des donnes : dcoupage en
secteurs, addition des octets de synchronisation, contrle, dtection et correction d'erreurs,
codage E.F.M., etc. Ensuite on prpare une premire matrice en verre. Une trs fine couche de
rsine photosensible est dpose sur plaque de verre parfaitement polie. Cette couche est
impressionne par un laser qui cre une image des cuvettes. Aprs dveloppement, la rsine non
polymrise est retire. Le ngatif des cuvettes apparat alors sur la plaque de verre sous forme de
bosses. Une trs fine couche d'argent est alors vaporise sur la face photosensible. Du nickel est
dpos par galvanisation au-dessus de cette couche argente. Aprs sparation de la plaque de
verre on obtient une premire copie du disque appel pre. Ce pre peut alors tre employ pour
estamper en srie les disques en polycarbonate. Cependant pour viter toute dtrioration de
l'original on effectue une empreinte dite mre, qui sert la fabrication de plusieurs fils. Pre ou
fils servent au moulage du polycarbonate par injection ou pression. Les disques de polycarbonate
sont ensuite recouverts d'une fine couche d'aluminium, puis d'une laque.

Ce procd permet une production rapide et faible cot unitaire pour des grandes sries.
La fabrication du pre et des fils est en effet longue, dlicate et coteuse. Ce n'est donc rentable
que si ces frais sont rpartis sur un grand nombre de disques produits. Cette solution n'est pas
adapte aux petites srie ou au dveloppement de prototypes. On fait alors appel aux disques
compacts enregistrables.


IX.5.f Disque compact enregistrable

Il existe deux types de disques optiques enregistrables. Commenons par le disque
optique enregistrable une seule fois : CD-R (Recordable). Le contenu de ce type de disque peut
tre enregistr une fois, il fonctionne ensuite comme CD-ROM classique en lecture uniquement.
On parle en anglais de disque WORM : Write Once/Read Many.

Un disque compact enregistrable se compose de quatre couches. Entre le substrat en
polycarbonate et la couche rflchissante, qui est ici en argent ou en or, se trouve un colorant
organique photosensible (cyanine, phtalocynanine, AZO, Formazan). La couche rflchissante est
toujours protge par une laque.

L'criture des donnes est ralise par un laser puissant, qui permet de chauffer
localement le colorant. Au-dessus d'une temprature critique, il se produit une raction chimique
qui rend le colorant opaque. Le codage des donnes est identique celui d'un CD-ROM. A la
lecture les zones "brles" absorbent la lumire, alors qu'ailleurs la lumire peut traverser le
colorant pour tre rflchie. Le signal lumineux renvoy vers la photodiode est donc comparable
celui d'un disque compact. Un CD-R peut tre utilis dans un lecteur de CD classique. La
puissance du laser l'criture dpend de nombreux paramtres : type de colorant, temprature,
hygromtrie, vitesse de dfilement, etc. Au centre du disque, entre le trou et la plage de dbut, est
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 216
dfinie une zone (PCA : Power Calibration Area) qui permet le calibrage du faisceau laser. Cette
zone contient un compteur du nombre de calibrages raliss. Ce compteur est limit 99.

Sans repre il serait trs difficile, dans la phase d'criture, de suivre une spirale au pas de
1.6 m. C'est pourquoi un marquage de la spirale est ralis la fabrication du disque au moyen
de cuvettes graves dans la couche rflchissante. Ces cuvettes sont rparties de manire
permettre galement un asservissement prcis de la vitesse de rotation du disque et de la
puissance du laser, la frquence de dfilement devant tre de 22.05 kHz.

La stabilit des colorants, qui doivent par exemple rsister aux ultraviolets de la lumire
solaire, garantit une dure de vie d'au moins 30 ans des disques enregistrables. Par rapport aux
bandes magntiques, ils autorisent un accs alatoire aux donnes. Ces deux arguments font des
disques compacts enregistrables un bon support pour l'archivage.

Le marquage du colorant est irrversible, il n'est donc pas possible de modifier le contenu
du disque. Ne pouvoir crire les donnes qu'une fois sur un disque peut tre une limitation pour
certaines applications. C'est ce qui a conduit au disque rinscriptible : CD-RW (ReWritable).


IX.5.g Disque compact rinscriptible

La structure d'un disque compact rinscriptible comporte six couches. Le colorant est
remplac par un alliage d'argent, indium, antimoine et tellure (Ag-In-Sb-Te), pris en sandwich
entre deux couches de dilectrique. Dans un disque vierge, l'alliage est dans une forme cristalline.
Il rflchit alors en partie la lumire. L'enregistrement se fait au moyen d'un laser puissant qui
chauffe localement l'alliage pour le porter au-del de sa temprature de fusion (entre 500 et
700C). Si le refroidissement est rapide les atomes n'ont pas le temps de s'organiser et l'alliage
revient l'tat solide dans un tat amorphe. Il absorbe et diffuse alors la lumire. La lecture d'un
CD-RW se fait ensuite avec un laser de faible puissance comme pour un CD classique.
Cependant la faible quantit de lumire rflchie (15-25 % pour les lands) ncessite une
photodiode plus sensible.

Si on chauffe suffisamment longtemps une zone amorphe une temprature un peu
infrieure la temprature de fusion, les atomes ont la possibilit de se rarranger ce qui permet
de retrouver une structure cristalline aprs refroidissement. Il est donc possible d'effacer un
enregistrement. Cette technique d'enregistrement est dit changement de phase.

Ces disques, comme les disques enregistrables une fois, sont fabriqus avec une spirale de
guidage pour la phase d'criture. La couche d'enregistrement fabrique par pression est
initialement amorphe. Le disque subit ensuite un traitement thermique pour la faire passer en
phase cristalline. Ainsi chaque disque CD-RW est-il vendu vierge.


S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 217
IX.5.h Disque optique numrique haute densit

Alors que le disque compact a t initi comme support audio, le disque haute densit
avait pour objectif initial la vido. Les tudes lances par les industriels avaient conduit deux
formats concurrents : le MMCD (Multi Media Compact Disc) et le SDD (Super Density Disc).
Lorsqu'elle s'est intresse ce type de support, l'industrie informatique a impos le choix d'un
seul format. C'est ainsi qu'en 1995 le Digital Versatile Disc (DVD) a remplac le Digital Video
Disc.

Les dimensions d'un DVD sont identiques celles d'un CD : 120 mm de diamtre externe,
1.2 mm d'paisseur et perc d'un trou de 15 mm de diamtre. La capacit a t accrue en
augmentant la densit et le nombre de couches. Le principe de lecture optique reste le mme avec
des amliorations. L'utilisation d'un laser avec une plus petite longueur d'onde (635 ou 650 nm,
rouge) permet de rduire la taille des motifs dtecter. En outre, les amliorations de l'optique
autorisent une plus grande ouverture numrique (0.6 contre 0.45 pour le CD) ce qui permet de
rduire la taille l'image du faisceau laser dans le plan de focalisation. Les crneaux peuvent donc
tre rduits en largeur et longueur et les spires peuvent tre plus serres. L'exprience acquise
avec les disques compacts, en particulier au niveau de la focalisation et de l'asservissement du
suivi de piste, a galement permis de rduire les marges de scurit dfinies au dbut de leur
dveloppement. La lecture d'un DVD se fait avec une vitesse linaire constante 3.49 m.s
-1
. Ces
amliorations techniques permettent une densit d'information brute environ quatre fois et demie
plus grande, avec un pas des spires de 0.74 m et une longueur minimale de crneau de 0.4 m :

5 . 4
400 . 0
833 . 0
74 . 0
6 . 1
G
1
= =

D'autre part, le DVD utilise la capacit d'un faisceau lumineux de traverser plusieurs
surfaces semi-transparentes et d'tre peu influenc par des perturbations hors du point de
focalisation. Ces proprits, associes l'utilisation de photodiodes plus sensibles, permettent
l'utilisation de deux couches de rflexion superposes. La premire couche est semi-
rflchissante, la seconde l'est totalement. Le faisceau laser est lui focalis sur l'une ou l'autre
couche. Cela ncessite une paisseur maximum du substrat travers par le faisceau infrieure
0.6 mm. L'paisseur de 1.2 mm est obtenue en collant dos dos deux disques de 0.6 mm. Les
deux faces d'un DVD peuvent porter de l'information, ventuellement en deux couches. Les DVD
existent en quatre versions : mono-face / mono-couche, mono-face / bi-couche, bi-face / nono-
couche ou bi-face / bi-couche.

La densit de la seconde couche, plus profonde, est lgrement infrieure. Le pas des spires est de
0.80 m et la longueur minimale des crneaux est de 0.44 m. La lecture d'un DVD se fait avec
une vitesse linaire constante 3.84 m.s
-1
, de manire conserver le mme dbit de lecture. Dans
un DVD vido la lecture de la premire couche seffectue de lintrieur vers lextrieur du
disque, et en sens inverse pour la seconde couche. Cela vite une interruption du flux de donnes
qui serait visible au cours de la lecture dun film. Ce nest pas ncessairement le cas pour les
DVD-ROM.

S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 218
ID (4) IDE (2) CPR (6)
EDC (4)
donnes (160)
donnes (172)
donnes (172)
donnes (168)
172 octets
1
2

r
a
n
g

e
s


Figure 22


Un autre gain a t obtenu au niveau du codage de l'information. Le codage d'un octet sur
un CD ncessite 17 bits (14 bits E.F.M. + 3 bits de fusion). Sur un DVD on n'utilise que 16 bits
par octet. Par ailleurs les codes de dtection et de correction d'erreurs se sont dvelopps depuis
la conception du CD-A. De mme la puissance des contrleurs embarqus chargs de la mise en
uvre de ces codes s'est nettement accrue. Il a donc t possible d'augmenter la fiabilit des
donnes d'un ordre de grandeur en rduisant le nombre d'octets ncessaires la synchronisation,
au reprage, ainsi qu' la dtection et la correction des erreurs.

Dans une trame de DVD, illustre par la figure 22, les 2048 octets utiles sont
accompagns de 10 octets de gestion et 6 octets de dtection derreurs. Un secteur DVD regroupe
16 trames avec 2080 et 2752 octets de dtection et correction derreurs. Un secteur, qui
correspond donc 32 ko utiles, ncessite donc 605696 bits sur le DVD. Nous avons vu que sur
un CD un secteur correspond 2048 octets utiles et occupe 57624 bits sur le disque. Cette
nouvelle organisation logique permet donc un gain de :

5 . 1
32 605696
2 57624
G
2
= =

Ces gains permet datteindre les capacits suivantes pour les diverses dclinaisons du DVD :

DVD-ROM Capacit
Mono-face et mono-couche 4.7 Go
Mono-face et bi-couche 8.5 Go
Bi-face et mono-couche 9.4 Go
Bi-face et bi-couche 17 Go

Table 5
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 219
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 220


Certains des dveloppements en cours pour augmenter ces capacits portent sur une nouvelle
rduction de la longueur donde du laser, avec par exemple un laser bleu (405 nm). On parle de
disques HD-ROM 600 Go.