Vous êtes sur la page 1sur 154

Livret - 1

Informatique : le matriel
--Ordinateur, circuits, codage, systme, rseau.

RM di scala

Cours informatique programmation Rm di Scala http://www.discala.net

SOMMAIRE
Introduction Notations mathmatiques 1.1. Ordinateur et volution
les 3 grandes lignes de penses les gnrations d'ordinateurs l'ordinateur information-informatique

2 3 10

1.2. Les circuits logiques


logique lmentaire pour l'informatique algbre de Boole circuits boolens

18

1.3. Codage numration


codage de l'information numration

48

1.4. Formalisation de la notion dordinateur


machine de Tring thorique machine de Tring physique

59

1.5. Architecture de lordinateur


les principaux constituants mmoires, mmoire centrale une petite machine pdagogique

70

1.6. Systme dexploitation


notion de systme d'exploitation systmes d'exploitation des micro-ordinateurs

105

1.7. Les rseaux


les rseaux d'ordinateurs liaisons entre rseaux

131

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

Introduction

Issu d'un cours dinformatique et de programmation l'universit de Tours en premier cycle scientifique, en DESS, Master Sciences et technologie comptence complmentaire informatique et en Diplme Universitaire ( DU ) comptence complmentaire informatique pour les NTIC (rservs des non-informaticiens), cet ouvrage est une synthse (non exhaustive)sur les minima connatre sur le sujet.

Il permettra au lecteur d'acqurir les notions de matriel, de logiciel ainsi quun ensemble de mthodes algorithmiques et objets ayant trait l'criture d'application interfaces objets vnementielles sous Windows en particulier.

Ce livre sera utile un public tudiant (IUT info, BTS info, IUP informatique et scientifique, DEUG sciences, licence pro informatique, Dess, Master et DU comptence complmentaire en informatique) et de toute personne dsireuse de se former par elle-mme (niveau prrequis Bac scientifique).

Le livret 1 rassemble les concepts essentiels sur la notion d'ordinateur, de circuit boolen, de codage, de systme d'exploitation, de rseau, de programme et d'instruction au niveau machine.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

Notations mathmatiques et vocabulaire utile Ensembles


Ensemble : un ensemble est un regroupement d'objets de mme type, chaque objet n'tant prsent qu'une seule fois. En informatique on n'utilise que des ensembles finis (ensembles dont le nombre d'lments est fini). : ensemble vide ne contenant aucun lment. : symbole d'appartenance d'un lment un ensemble donn; on dit qu'un objet x appartient l'ensemble A le fait que x se trouve dans la liste des lments de A et l'on crit x A. : ensemble vide ne contenant aucun lment. P(E) : Notation pour l'ensemble des parties d'un ensemble, c'est l'ensemble de tous les sousensembles que l'on peut construire partir de E y compris E et l'ensemble vide. On montre que si E possde n lments, P(E) possde alors 2n lments. Exemple : si E = {0,1} on a alors P(E) = { {0}, {1}, {0,1}, } Cardinal : le cardinal d'un ensemble E est le nombre d'lments de cet ensemble, not card(E).

Soient A et B deux sous-ensembles d'un ensemble E

Il est possible d'effectuer un certain nombre d'opration sur les sous-ensembles A et B.

(union) : A B est le sous-ensemble de P(E) contenant tous les lments de A ou bien tous les lments de B, on crit A B = { x E / (x A) ou (x B) }

En gris l'ensemble A B

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

(intersection) : A B est le sous-ensemble de P(E) contenant tous les lments de A et aussi tous les lments de B, on crit A B = { x E / (x A) et (x B) }

En gris l'ensemble A B

CE (complmentaire) : CE(A ) est le sous-ensemble de P(E) contenant tous les lments de E qui ne sont pas dans A, on crit CE(A ) = { x E / (x A) }

En gris l'ensemble CE(A )

- (diffrence) : A - B est le sous-ensemble de P(E) contenant tous les lments de A priv de ceux de A B, on crit A - B = { x E / (x A) et (x B) }

En gris l'ensemble A - B

(inclusion) : On dit que A B lorsque tous les lments de A appartiennent B.

L'ensemble A est inclus dans l'ensemble B

Produit cartsien d'ensemble : Soient E et F deux ensembles non vides, on note E x F leur produit cartsien E x F = { (x , y) / (x E) et (y F) }

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

: quantificateur universel signifiant "pour tout", exemple x ( x E ) /. se lit <quelque soit x appartenant l'ensemble E tel que.> : quantificateur existentiel signifiant "il existe au moins un", exemple x ( x E ) /. se lit < il existe au moins un x appartenant l'ensemble E tel que .> ! : quantificateur existentiel unique signifiant "il existe uniquement un", exemple !x ( x E ) /. se lit < il existe un seul x appartenant l'ensemble E tel que .>

Symboles
: implication logique. : quivalence logique.

: sommation de termes, exemple :

reprsente la somme : f(3)+f(4)++f(10)

: produit de termes, exemple :

reprsente le produit : f(3) x f(4) xx f(10)

: union gnralise, exemple :

reprsente : A1 A2 . An

n! : factorielle n est le produit des n premiers entiers, n! = 1 x 2 x 3 x.x (n-1) x n , avec comme convention 0! = 1.

Cn , p : est le nombre de combinaisons de p lments distincts pris dans un ensemble n lments, ou


encore le nombre de sous-ensembles p lments d'un ensemble n lments;

Cn , p =

(a+b)n : binme de Newton, (a+b)n =

Fonctions
Fonction : Soient E et F deux ensembles non vides, tout procd permettant d'associer un lment de E un lment unique au plus, dans l'ensemble F est appel une correspondance note par exemple f, ou aussi une fonction f de E vers F.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

On note ainsi f : E F , E est appel ensemble de dpart de la fonction f, F est appel ensemble d'arrive de la fonction f.

Image d'un lment par une fonction : si f est une fonction de E vers F, x un lment de E, et y l'unique lment de F associ x par la fonction f, on crit y = f(x) et l'on dit que f(x) est l'image dans F de l'lment x de E, on dit aussi que x est l'antcdent de y. On note ainsi : f : x f(x)

On crit la correspondance entre l'image et l'antcdent ainsi :

{ soit x E , y ( y F ) / y = f(x) } et {il existe au plus un y de F rpondant cette dfinition.}

Certains lments de l'ensemble de dpart peuvent ne pas avoir d'image par f.

Domaine de dfinition d'une fonction : si f est une fonction de E vers F, le sous-ensemble des lments x de l'ensemble de dpart E ayant une image dans F par la fonction f, est appel le domaine de dfinition de la fonction f, not Dom(f).

On crit :

Dom(f) = {x ( x E ) , !y ( y F ) / y = f(x) }

Ci-contre Dom(f) est figur en gris. Application : Une application est une fonction dans laquelle tous les lments de l'ensemble de dpart ont une image dans F par la fonction f. Ci-aprs deux schmas figurant la diffrence entre application et fonction.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

Remarque : toute fonction devient une application lorsque l'on prend comme ensemble de dpart son domaine de dfinition, nous appelons restriction de f Dom note fDom cette application

En informatique, par abus de langage nous utiliserons indiffremment les dnominations application et fonction, car nous ne considrons que des fonctions qui portent sur leur domaine de dfinition.

Application injective (injection) : Lorsque deux lments distincts de l'ensemble de dpart E ont toujours deux images distinctes dans l'ensemble d'arrive, on dit que l'application est injective.

On crit :

x1 ( x1 E ), x2 ( x2 E ) x1 x2 f(x1) f(x2) card(E) card(F) ou la contrapose : f(x1) = f(x2) x1 = x2

Application surjective (surjection) : Lorsque tout lment de l'ensemble d'arrive F possde au moins un antcdent dans l'ensemble de dpart E, on dit que l'application est surjective.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

On crit :

y ( y F ) , x ( x E ) / y = f(x) card(E) card(F)

Application bijective (bijection) : Lorsque tout lment de l'ensemble d'arrive F possde un unique antcdent dans l'ensemble de dpart E et tout lment de E possde une image unique dans F, on dit alors que l'application est bijective.

On crit :

card(E) = card(F)

y ( y F ) , !x ( x E ) / y = f(x)

Remarques : une application bijective est une application qui est la fois surjective et injective. Comme nous travaillons en informatique avec des ensembles finis dire qu'il existe une bijection d'un ensemble E vers un ensemble F revient dire qu'ils le mme cardinal (le mme nombre d'lments).

Suite rcurrente : une suite d'lments u0 , u1 , , un est dite rcurrente lorsqu'il existe une relation fonctionnelle entre un terme quelconque un et les termes qui le prcdent u0 , u1 , , un-1, note ainsi : un = f(u0 , u1 , , un-1).

Dmonstration par rcurrence : soit une proposition P(n) dpendant d'une variable entire n. On suppose que P(1) est vrifie. Si l'on montre que pour un entier n quelconque suprieur 1, P(n) est vraie implique que P(n+1) est vraie on en conclu que : n, n 1, P(n) est vraie. En effet P(1) vraie P(2) vraie, mais P(2) vraie P(3) vraie etc

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

Structures algbriques
Loi de composition interne : toute application f, telle que f : E x E E, est appele "loi de composition interne" dans E. Par exemple la loi + dans N, + : N x N N, la notation fonctionnelle s'crit + (a,b) y = +(a,b) on la dnomme notation prfixe pour une loi. Dans certains cas on prfre une autre notation dite notation infixe pour reprsenter l'image du couple (a,b) par une loi. Par exemple, la notation infixe de la loi + est la suivante : + (a,b) y = a + b. D'une manire gnrale, pour une loi sur une ensemble E nous noterons a b l'image (a,b) du couple (a,b) par la loi .

Associativit : La loi est dite associative par dfinition si : x ( x E ), y ( y E ), z ( z E ) on a : (xy)z=x(yz)

Commutativit : La loi est dite commutative par dfinition si : x ( x E ), y ( y E ), on a : x y = y x

Elment neutre : La loi est dite possder un lment neutre not e si : x ( x E ), on a : x e = e x = x

Distributivit : La loi est dite distributive par rapport la loi * si : x ( x E ), y ( y E ), z ( z E ) on a : x * ( y z ) = ( x * y ) ( x * z )

Symtrique : On dit qu'un lment x d'un ensemble E est symtrisable (ou qu'il possde un symtrique unique) pour la loi sur E (nous notons x' le symtrique de x) lorsque cette loi possde un lment neutre e et que : x ( x E ), ! x' ( x' E ) / x' x = x x' = e. Par exemple dans l'addition dans Z l'entier -x est le symtrique de l'entier x, car nous avons x + (-x) = (-x) + x =0 (l'entier 0 est l'lment neutre de la loi +)

Absorbant : On dit qu'un lment a d'un ensemble E est absorbant pour la loi lorsque : x ( x E ), x a = a x = a. Par exemple dans Z l'entier 0 est absorbant pour la multiplication.

Idempotent : Un lment a d'une loi est dit idempotent lorsque a a = a. Par exemple dans la loi sur P(E) (union de deux sous-ensembles de l'ensemble E non vide), tous les lments de P(E) sont idempotents, en effet : A ( A P(E) ), =
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

1.1 Ordinateur et volution


Plan du chapitre:

1. Les 3 grandes lignes de pense


1.1 Les machines calculer 1.2 Les automates 1.3 Les machines programmables

2. Les gnrations de matriels


2.1 Premire gnration 1945-1954 2.2 Deuxime gnration 1955-1965 2.3 Troisime gnration 1966-1973 2.4 Quatrime gnration partir de 1974

3. Lordinateur
3.1 Utilit de lordinateur 3.2 Composition minimale dun ordinateur 3.3 Autour de lordinateur : les priphriques 3.4 Pour relier tout le monde

4. Information - Informatique
4.1 Les dfinitions 4.2 Critre algorithmique lmentaire

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

10

1. Les 3 grandes lignes de pense

Lhistoire de linformatique dbute par linvention de machines (la fonction cre lorgane) qui au dpart correspondent des lignes de pense diffrentes. Linformatique rsultera de la fusion des savoirs acquis dans ces domaines. Elle nest pas une synthse de plusieurs disciplines, mais plutt une discipline entirement nouvelle puisant ses racines dans le pass. Seul leffort permanent du gnie cratif humain la rendue accessible au grand public de nos jours.

rm di Scala - 2006

1.1 Les machines calculer


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

11

La Pascaline de Pascal, 17me sicle. Pascal invente la Pascaline, premire machine calculer (addition et soustraction seulement), pour les calculs de son pre. La machine multiplicatrice de Leibniz, 17me sicle. Leibniz amliore la machine de Pascal pour avoir les quatre oprations de base (+,-,*,/).

1.2 Les automates Les automates, les horloges astronomiques, les machines militaires ds le 12me sicle.

1.3 Les machines programmables Le mtier tisser de Jacquard, 1752-1834 Dbut de commercialisation des machines mcaniques scientifiques (usage militaire en gnral). Babage invente la premire machine analytique programmable.

2. Les gnrations de matriels

On admet gnralement que l're de l'informatique qui couvre peu de dcennies se divise en plusieurs gnrations essentiellement marques par des avances technologiques

2.1 Premire gnration 1945 - 1954 Informatique scientifique et militaire.


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

12

Il faut rsoudre les problmes des calculs rptitifs. Cration de langages avec succs et checs dans le but de rsoudre les problmes prcdents. Technologie lourde (Tube et tore de ferrite), qui pose des problmes de place et de consommation lectrique. Les trs grandes nations seules possdent loutil informatique.

2.2 Deuxime gnration 1955-1965 Naissance de linformatique de gestion. Nouvelle technologie base sur le transistor et le circuit imprim. Le langage Fortran rgne en matre incontest. Le langage de programmation Cobol orient gestion, devient un concurrent de Fortran. Les nations riches et les trs grandes entreprises accdent loutil informatique.

2.3 Troisime gnration 1966-1973 Naissance du circuit intgr. Nouvelle technologie base sur le transistor et le circuit intgr. Les ordinateurs occupent moins de volume, consomment moins dlectricit et sont plus rapides. Les ordinateurs sont utiliss le plus souvent pour des applications de gestion. Les PME et PMI de tous les pays peuvent se procurer des matriels informatiques.

2.4 Quatrime gnration partir de 1974 Naissance de la micro-informatique La cration des microprocesseurs permet la naissance de la micro-informatique (le micro-ordinateur Micral de R2E est invent par un franais Franois Gernelle en 1973). Steve Jobs (Apple) invente un nouveau concept vers la fin des annes 70 en recopiant et en commercialisant les ides de Xerox parc travers le MacIntosh et son interface graphique. Un individu peut actuellement acheter son micro-ordinateur dans un supermarch.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

13

Nous observons un phnomne fondamental : La dmocratisation dune science travers un outil. Linformatique qui ses dbuts tait une affaire de spcialistes, est aujourdhui devenue laffaire de tous; do limportance dune solide formation de tous aux diffrentes techniques utilises par la science informatique, car la banalisation dun outil ou dune science a son revers : lassoupissement de lattention envers les inconvnients inhrents tout progrs technique.

Tableau synoptique des gnrations dordinateurs :

3. L'ordinateur

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

14

3.1 Utilit de l ordinateur Un ordinateur est une machine traiter de linformation. Linformation est fournie sous forme de donnes traites par des programmes (excuts par des ordinateurs).

3.2 Composition minimale d un ordinateur : le c ur Une mmoire Centrale. Une unit de traitement avec son UAL (unit de calcul). Une unit de commande ou contrle. Une ou plusieurs units dchanges.

Schma simplifi du c ur de lordinateur

3.3 Autour de l ordinateur : les priphriques Les priphriques sont chargs deffectuer des tches dentres et/ou de sortie de linformation. En voici quelques uns.

Priphriques d entre Clavier, souris, crayon optique, cran tactile, stylo code barre, carte son, scanner, camra, etc.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

15

Priphriques de sortie Ecran, imprimante, table traante, carte son, tlcopie, modem etc.

Priphriques d entre sortie Mmoire auxiliaire (sert stocker les donnes et les programmes): 1. Stockage de masse sur disque dur ou disquette. 2. Bande magntique sur drouleur (ancien) ou sur streamer. 3. Mmoire clef USB 4. CD-Rom, DVD, disque magnto-lectrique etc

3.4 Pour relier tout le monde : Les Bus Les Bus reprsentent dans lordinateur le systme de communication entre ses divers constituants. Ils sont au nombre de trois : Le Bus dadresses, (la notion dadresse est prsente plus loin) Le Bus de donnes, Le Bus de contrle.

4. Information - informatique

4.1 Les dfinitions Linformation est le support formel dun lment de connaissance humaine susceptible dtre reprsente laide de conventions (codages) afin dtre conserve, traite ou communique.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

16

Linformatique est la science du traitement de linformation dans les domaines scientifiques, techniques, conomiques et sociaux.

Une donne est la reprsentation dune information sous une forme conventionnelle (code) destine faciliter son traitement.
schma simplifi du traitement de l information

4.2 Critre algorithmique lmentaire Une application courante est justiciable dun traitement informatique si : Il est possible de dfinir et de dcrire parfaitement les donnes dentre et les rsultats de sortie. Il est possible de dcomposer le passage de ces donnes vers ces rsultats en une suite doprations lmentaires dont chacune peut tre excute par une machine. Nous pouvons considrer ce critre comme une dfinition provisoire dun algorithme. Actuellement linformatique intervient dans tous les secteurs dactivit de la vie quotidienne : dmontrer un thorme (mathmatique) faire jouer aux checs (intelligence artificielle) dpouiller un sondage (conomie) grer un robot industriel (atelier) facturation de produits (entreprise) traduire un texte (linguistique) imagerie mdicale (mdecine) formation distance (ducation) Internet (grand public)...etc

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

17

1.2 Les circuits logiques


Plan du chapitre:

1. Logique lmentaire pour linformatique


1.1 Calcul propositionnel naf 1.2 Proprits des connecteurs logiques 1.3 Rgles de dduction

2. Algbre de Boole
2.1 Axiomatique pratique 2.2 Exemples dalgbre de Boole 2.3 Notation des lectroniciens

3. Circuits boolens ou logiques


3.1 Principaux circuits 3.2 Fonction logique associe un circuit 3.3 Circuit logique associ une fonction 3.4 Additionneur dans lUAL 3.5 Circuit multiplexeur 3.6 Circuit dmultiplexeur 3.7 Circuit dcodeur d'adresse 3.8 Circuit comparateur 3.9 Circuit bascule 3.10 Registre 3.11 Mmoires SRAM et DRAM 3.12 Afficheur LED 3.13 Compteurs 3.14 Ralisation lectronique de circuits boolens

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

18

1. Logique lmentaire pour linformatique

1.1 Calcul propositionnel naf Construire des programmes est une activit scientifique fonde sur le raisonnement logique. Un peu de logique simple va nous aider disposer doutils pratiques mais rigoureux pour construire des programmes les plus justes possibles. Si la programmation est un art, cest un art rigoureux et logique. La rigueur est dautant plus ncessaire que les systmes informatiques manquent totalement de sens artistique. Une proposition est une proprit ou un nonc qui peut avoir une valeur de vrit vraie (note V) ou fausse (note F). " 2 est un nombre impair " est une proposition dont la valeur de vrit est F.

Par abus de langage nous noterons avec le mme symbole une proposition et sa valeur de vrit, car seule la valeur de vrit dune proposition nous intresse ici. Soit lensemble P = { V , F } des valeurs des propositions. On le munit de trois oprateurs appels connecteurs logiques : , , . : P x PP (se lit " et ") : P x PP (se lit " ou ") : P P (se lit " non ") Ces connecteurs sont dfinis en extension par leur tables de vrit : p V V F F q V F V F p F F V V pq V F F F pq V V V F

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

19

1.2 Proprits des connecteurs logiques Nous noterons p = q , le fait la proposition p et la proposition q ont la mme valeur de vrit. Le lecteur pourra dmontrer laide des tables de vrit par exemple, que et possdent les proprits suivantes : n pq=qp n pq=qp n p (q r) = (p q) r n p (q r) = (p q) r n p (q r) = (p q) (p r) n p (q r) = (p q) (p r) n pp=p n pp=p n p = p n (p q) = p q n (p q) = p q n Nous notons p q , la proposition : p q (limplication).

Table de vrit du connecteur : p V V F F q V F V F pq V F V V

n Il est aussi possible de prouver des " galits " de propositions en utilisant des combinaisons de rsultats prcdents.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

20

Exemple : Montrons que : p q = q p (implication contrappose), par dfinition et utilisation vidente des proprits : p q = p q = q p = ( q) p = q p

1.3 Rgles de dduction Assertion : cest une proposition construite laide des connecteurs logiques ( , , , en particulier) dont la valeur de vrit est toujours V (vraie). Les rgles de dduction permettent de faire du calcul sur les assertions. Nous abordons ici le raisonnement rationnel sous son aspect automatisable, en donnant des rgles dinfrences extraites du modle du raisonnement logique du logicien Gentzen. Elles peuvent tre une aide trs apprciable lors de la construction et la spcification dun programme. Les rgles de dduction sont spares en deux membres. Le premier contient les prmisses ou hypothses de la rgle, le deuxime membre est constitu par une conclusion unique. Les deux membres sont spars par un trait horizontal. Gentzen classe les rgles de dduction en deux catgories : les rgles dintroduction car il y a utilisation dun nouveau connecteur, et les rgles dliminations qui permettent de diminuer dun connecteur une proposition.

Syntaxe dune telle rgle :

Quelques rgles de dductions pratiques : Rgle dintroduction du :

Rgle dintroduction du :

Rgle dintroduction du :

Rgles dlimination du : ,
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

21

Rgle du modus ponens :

Rgle du modus tollens :

Le systme de Gentzen contient dautres rgles sur le ou et sur le non. Enfin il est possible de construire dautres rgles de dduction partir de celles-ci et des proprits des connecteurs logiques. Ces rgles permettent de prouver la valeur de vrit dune proposition. Dans les cas pratiques lessentiel des raisonnements revient des dmonstrations de vracit dimplication. La dmarche est la suivante : pour prouver quune implication est vraie, il suffit de supposer que le membre gauche de limplication est vrai et de montrer que sous cette hypothse le membre de droite de limplication est vrai. Exemple : soit montrer que la rgle de dduction R0 suivante est exacte : R0 : (transitivit de )

Hypothse : p est vrai nous savons que : p q est vrai et que q r est vrai

En appliquant le modus ponens :

nous dduisons que : q est vrai.

En appliquant le modus ponens (q , q r) nous dduisons que : r est vrai. Comme p est vrai (par hypothse) on applique la rgle dintroduction de sur (p , r) nous dduisons que : p r est vrai (cqfd).

Nous avons prouv que R0 est exacte. Ainsi nous avons construit une nouvelle rgle de dduction qui pourra nous servir dans nos raisonnements. Nous venons d'exhiber un des outils permettant la construction raisonne de programmes. La logique interne des ordinateurs est encore actuellement plus faible puisque base sur la logique boolenne, en attendant que les machines de 5me gnration bases sur la logique du premier ordre (logique des prdicats, suprieure la logique propositionnelle) soient dfinitivement oprationnelles.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

22

2. Algbre de Boole

2.1 Axiomatique pratique Du nom du mathmaticien anglais G.Boole qui linventa. Nous choisissons une axiomatique compacte, laxiomatique algbrique : On appelle algbre de Boole tout ensemble E muni de : Deux lois de compositions internes notes par exemple : et , n une application involutive f (f2 = Id ) de E dans lui-mme,note n chacune des deux lois , , est associative et commutative, n chacune des deux lois , , est distributive par rapport lautre, n la loi admet un lment neutre unique not e1,

xE, x e1 = x
n la loi admet un lment neutre not e0,

x, x e0 = x
n tout lment de E est idempotent pour chacune des deux lois :

xE, x x = x et x x = x
n axiomes de complmentarit :

n lois de Morgan : (x,y) E2, (x,y) E2,

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

23

2.2 Exemples d algbre de Boole a) Lensemble P(E) des parties dun ensemble E, muni des oprateurs intersection ,union , et lapplication involutive complmentaire dans E CE , (si E ), si E est fini et possde n lments, P(E) est de cardinal 2n. Il suffit de vrifier les axiomes prcdents en substituant les lois du nouvel ensemble E aux lois , , et . Il est montr en mathmatiques que toutes les algbres de Boole finies sont isomorphes un ensemble (P(E), , , CE) : elles ont donc un cardinal de la forme 2n. b) Lensemble des propositions (en fait l'ensemble de leurs valeurs {V, F} ) muni des connecteurs logiques (lapplication involutive) , , , est une algbre de Boole minimale deux lments.

2.3 Notation des lectroniciens Lalgbre des circuits lectriques est une algbre de Boole minimale deux lments : Lensemble E = {0,1} muni des lois " " et " + " et de lapplication complmentaire .

Formules pratiques et utiles (rsultant de laxiomatique) : a+1=1 a+0=a a+a=a =1 = a.1 = a a.0 = 0 a.a = a =0 =

Formule dabsorbtion : a+(b.a) = a.(a+b) = (a+b).a = a+b.a = a Montrons par exemple : a+(b.a) = a a+(b.a)= a+a.b = a.1+a.b = a.(1+b) = a.1 = a Le reste se montrant de la mme faon. Cette algbre est utile pour dcrire et tudier les schmas lectroniques, mais elle sert aussi dans dautres domaines que llectricit. Elle est tudie ici parce que les ordinateurs actuels sont bass sur des composants lectroniques. Nous allons descendre un peu plus bas dans la ralisation interne du ur dun ordinateur, afin daboutir la construction dun additionneur en binaire dans lUAL.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

24

Tables de vrit des trois oprateurs : x 1 1 0 0 y 1 0 1 0 0 0 1 1 x.y 1 0 0 0 x+y 1 1 1 0

3. Circuits boolens ou logiques


Nous reprsentons par une variable boolenne x {0,1} le passage dun courant lectrique. Lorsque x = 0, nous dirons que x est ltat 0 (le courant ne passe pas) Lorsque x = 1, nous dirons que x est ltat 1 (le courant passe) Une telle variable boolenne permet ainsi de visualiser, sous forme dun bit dinformation (0,1) le comportement dun composant physique laissant ou ne laissant pas passer le courant. Nous ne nous proccuperons pas du type de circuits lectriques permettant de construire un circuit logique (les composants lectriques sont bass sur les circuits intgrs). Nous ne nous intresserons qu la fonction logique (boolenne) associe un tel circuit. En fait un circuit logique est un oprateur dune algbre de Boole cest--dire une combinaison de symboles de lalgbre {0,1}, . ,+, ).

3.1 Principaux circuits Nous proposons donc 3 circuits logiques de base correspondant aux deux lois internes et loprateur de complmentation involutif. Le circuit OU associ la loi " + " : Le circuit ET associ la loi "" :

La table de vrit de ce circuit est celle de l'oprateur +

La table de vrit de ce circuit est celle de l'oprateur

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

25

Le circuit NON associ la loi "

":

la table de vrit est celle de l'oprateur involutif

On construit deux circuits classiques laide des circuits prcdents :


Loprateur XOR = " ou exclusif " : dont voici le schma :

Table de vrit du ou exclusif : a 1 1 0 0 b 1 0 1 0 ab 0 1 1 0

Loprateur NAND (le NON-ET): dont voici le schma :

Table de vrit du Nand : a 1 1 0 0 b 1 0 1 0 0 1 1 1

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

26

Loprateur NOR (le NON-OU): dont voici le schma :

Table de vrit du Nor : a 1 1 0 0 b 1 0 1 0 ab 0 0 0 1

L'on montre facilement que les deux oprateurs NAND et NOR rpondent aux critres axiomatiques d'une algbre de Boole, ils sont ralisables trs simplement avec un minimum de composants lectroniques de type transistor et diode (voir paragraphes plus loin). Enfin le NOR et le NAND peuvent engendrer les trois oprateurs de base non, et , ou. :

Oprateur de base

Ralisation de l'oprateur en NAND ou en NOR

circuit ET

circuit OU

circuit NON Expression des 3 premiers oprateurs (x , + , . ) l'aide de NAND et de NOR

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

27

3.2 Fonction logique associe un circuit

Un circuit logique est un systme de logique squentielle o la valeur de sortie S (tat de la variable boolenne S de sortie) dpend des valeurs des entres e1,e2,...,en (tats des variables boolennes dentres ei ). Sa valeur de sortie est donc une fonction S = f(e1,e2,...,en).

Pour calculer la fonction f partir dun schma de circuits logiques, il suffit dindiquer la sortie de chaque oprateur (circuit de base) la valeur de lexpression boolenne en cours. Puis, la fin, nous obtenons une expression boolenne que lon simplifie laide des axiomes ou des thormes de lalgbre de Boole.

Exemple :

En simplifiant S : (a+b).b+ b + = 1.

=b+

(formule dabsorbtion)

3.3 Circuit logique associ une fonction A linverse, la cration de circuits logiques partir dune fonction boolenne f n entres est aussi simple. Il suffit par exemple, dans la fonction, dexprimer graphiquement chaque oprateur par un circuit, les entres tant les oprandes de loprateur. En rptant laction sur tous les oprateurs, on construit un graphique de circuit logique associ la fonction f. Exemple : Soit la fonction f de 3 variables boolennes, f (a,b,c) = (a+b)+(b.c) Construction progressive du circuit associ. 1) oprateur " + " :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

28

2) branche suprieure de loprateur " + " :

3) branche infrieure de loprateur " + " :

Les lectroniciens classent les circuits logiques en deux catgories : les circuits combinatoires et les circuits squentiels (ou mmoire). Un circuit combinatoire est un circuit logique n entres dont la fonction de sortie ne dpend uniquement que des variables d'entres. Un circuit mmoire (ou squentiel) est un circuit logique n entres dont la fonction de sortie dpend la fois des variables d'entres et des tats antrieurs dj mmoriss des variables de sorties. Exemple de circuit mmoire La sortie intermdiaire S2 est value en fonction de la sortie S3 : S2 = b . S3 (valeur de S3 un temps
avant)

Si b=0 alors S2 = 0 Si b=1 alors S2 = S3 Nous avons S3 = S1 + S2 En notant S'3 la valeur au temps t0 et S3 la valeur au temps t0+dt, il vient que S3 = S1 + b . S'3

f( a , b , S3 ) = S3

Table de vrit associe ce circuit : a 1 1 0 0 b 1 0 1 0 S1 0 0 1 1 S2 S'3 0 S'3 0 S3 S'3 0 1 1 f(a,b,S3) S'3 1 0 0

Dans le cas a=1 et b=1 ce circuit fictif fournit le complment de la valeur antrieure.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

29

Quelques noms de circuits logiques utiliss dans un ordinateur Circuit combinatoire : additionneur, multiplexeur, dcodeur, dcaleur, comparateur. Circuit mmoire : bascules logiques.

3.4 Additionneur dans l UAL (circuit combinatoire) a) Demi-additionneur Reprenons les tables de vrits du " " (Xor), du " + " et du " " et adjoignons la table de calcul de laddition en numration binaire. Tout dabord les tables compares des oprateurs boolens : a 1 1 0 0 b 1 0 1 0 ab 0 1 1 0 a+b 1 1 1 0 a.b 1 0 0 0

Rappelons ensuite la table daddition en numration binaire : + 0 1 0 0 1 1 1 0(1)

0(1) reprsente la retenue 1 reporter. En considrant une addition binaire comme la somme effectuer sur deux mmoires un bit, nous observons dans laddition binaire les diffrentes configurations des bits concerns (nots a et b). Nous aurons comme rsultat un bit de somme et un bit de retenue : bit a 1 1 0 0 + + + + 1 0 1 0 bit b = = = = bit somme 0 1 1 0 bit de retenue 1 0 0 0
page

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

30

Si lon compare avec les tables doprateurs boolens, on saperoit que loprateur "" (Xor) fournit en sortie les mmes configurations que le bit de somme, et que loprateur "" (Et) dlivre en sortie les mmes configurations que le bit de retenue.

Il est donc possible de simuler une addition binaire (arithmtique binaire) avec les deux oprateurs "" et "". Nous venons de construire un demi-additionneur ou additionneur sur un bit. Nous pouvons donc raliser le circuit logique simulant la fonction complte daddition binaire, nous lappellerons " additionneur binaire "(somme arithmtique en binaire de deux entiers en binaire). Ce circuit est not :

schma logique dun demi-additionneur

b)Additionneur complet Une des constructions les plus simples et la plus pdagogique dun additionneur complet est de connecter entre eux et en srie des demi-additionneurs (additionneurs en cascade). Il existe une autre mthode dnomme " diviser pour rgner " pour construire des additionneurs complets plus rapides lexcution que les additionneurs en cascade. Toutefois un additionneur en cascade pour UAL 32 bits, utilise 2 fois moins de composants lectroniques quun additionneur diviser pour rgner. Nous concluons donc quune UAL neffectue en fait que des oprations logiques (algbre de Boole) et simule les calculs binaires par des combinaisons doprateurs logiques

Soient a et b deux nombres binaires additionner dans lUAL. Nous supposons quils sont stocks chacun dans une mmoire n bits. Nous notons apet bp leur bit respectif de rang p. Lors de laddition il faut non seulement additionner les bits ap et bp laide dun demi-aditionneur, mais aussi lventuelle retenue note Rp provenant du calcul du rang prcdent.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

31

additionneur en cascade (addition sur le bit de rang p)

On radditionne Rp laide dun demi-additionneur la somme de apet bpet lon obtient le bit de somme du rang p not Sp. La propagation de la retenue Rp+1 est faite par un " ou " sur les deux retenues de chacun des demi-additionneurs et passe au rang p+1. Le processus est itratif sur tous les n bits des mmoires contenant les nombres a et b. Notation du circuit additionneur :

Soit un exemple fictif de ralisation d'un demi-additionneur simulant l'addition binaire suivante : 0 + 1 = 1. Nous avons figur le passage ou non du courant l'aide de deux interrupteurs (valeur = 1 indique que l'interrupteur est ferm et que le courant passe, valeur = 0 indique que l'interrupteur est ouvert et que le courant ne passe pas)

Le circuit et fournit le bit de retenue soit : 0 1 = 0


Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

32

Le circuit Xor fournit le bit de somme soit : 0 1 = 1 Nous figurons le dtail du circuit Xor du schma prcdent lorsqu'il reoit le courant des deux interrupteurs prcdents dans la mme position (l'tat lectrique correspond l'opration 0 1 = 1 )

Si lUAL effectue des additions sur 32 bits, il y aura 32 circuits comme le prcdent, tous relis en srie pour la propagation de la retenue.

Un exemple d'additionneur sur deux mmoires a et b 2 bits contenant respectivement les nombres 2 et 3 :

Les 4 interrupteurs figurent le passage du courant sur les bits de mme rang des mmoires a=2 et b=3, le rsultat obtenu est la valeur attendue soit 2+3 = 5.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

33

Notation du circuit additionneur sur 2 bits :

Remarque : Ce circuit d'addition sur 2 bits engendre en fait en plus des bits de somme un troisime bit de retenue qui sera gnralement mmoris dans le bit de retenue (bit de carry not C) du mot d'tat programme ou PSW (Progral Status Word) du processeur. C'est le bit C de ce mot qui est consult par exemple afin de savoir si l'opration d'addition a gnr un bit de retenu ou non.

3.5 Circuit multiplexeur (circuit combinatoire) C'est un circuit d'aiguillage comportant 2n entres, n lignes de slection et une seule sortie. Les n lignes de slection permettent de "programmer" le numro de l'entre qui doit tre slectionne pour sortir sur une seule sortie (un bit). La construction d'un tel circuit ncessite 2n circuits "et", n circuits "non" et 1 circuit "ou". Notation du multiplexeur :

3.6 Circuit dmultiplexeur (circuit combinatoire) C'est un circuit qui fonctionne l'inverse du circuit prcdent, il permet d'aiguiller une seule entre (un bit) sur l'une des 2n sorties possibles, selon la "programmation"( l'tat ) de ses n lignes de slection. Notation du dmultiplexeur :
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

34

3.7 Circuit dcodeur d'adresse (circuit combinatoire) C'est un circuit compos de n lignes d'entres qui reprsentent une adresse sur n bits et de 2n lignes de sortie possibles dont une seule est slectionne en fonction de la "programmation" des n lignes d'entres. Notation du dcodeur d'adresse :

Exemple d'utilisation d'un dcodeur d'adresse 8 bits : On entre l'adresse de la ligne slectionner soit 10100010 ( A0 =1 , A1 = 0, A2 = 1, , A7 = 0 ) ce nombre binaire vaut 162 en dcimal, c'est donc la sortie S162 qui est active par le composant comme le montre la figure ci-dessous.

La construction d'un circuit dcodeur d'adresse n bits ncessite 2n circuits "et", n circuits "non". Ce genre de circuits trs frquent dans un ordinateur sert slectionner des registres, des cellules mmoires ou des lignes de priphriques.

3.8 Circuit comparateur (circuit combinatoire) C'est un circuit ralisant la comparaison de deux mots X et Y de n bits chacun et sortant une des trois indication possible X+Y ou bien X>Y ou X<Y. Il possde donc 2n entres et 3 sorties.

Notation du comparateur de mots n bits :


rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

35

3.9 Circuit bascule (circuit mmoire) C'est un circuit permettant de mmoriser l'tat de la valeur d'un bit. Les bascules sont les principaux circuits constituant les registres et les mmoires dans un ordinateur. Les principaux types de bascules sont RS, JK et D, ce sont des dispositifs chargs de "conserver" la valeur qu'ils viennent de prendre. Schma lectronique et notation de bascule RS minimale thorique

notation

Table de vrit associe cette bascule : R 1 1 0 0 S 1 0 1 0 Qt+dt -----0 1 Qt Qt reprsente la valeur de la sortie au temps t , Qt+dt reprsente la valeur de cette mme sortie un peu plus tard au temps t+dt.
L'tat R=1 et S=1 n'est pas autoris L'tat R=0 et S=0 fait que Qt+dt = Qt , la sortie Q conserve la mme valeur au cours du temps, le circuit "mmorise" donc un bit.

Si l'on veut que le circuit mmorise un bit gal 0 sur sa sortie Q, on applique aux entres les valeurs R=1 et S=0 au temps t0, puis t0+dt on applique les valeurs R=0 et S=0. Tant que les entres R et S restent la valeur 0, la sortie Q conserve la mme valeur (dans l'exemple Q=0). En pratique ce sont des bascules RS synchronises par des horloges (CLK pour clock) qui sont utilises, l'horloge sert alors commander l'tat de la bascule. Seule la sortie Q est considre. Dans une bascule RS synchronise, selon que le top d'horloge change d'tat ou non et selon les valeurs des entres R et S soit d'un top l'autre la sortie Q du circuit ne change pas soit la valeur du top d'horloge fait changer (basculer) l'tat de la sortie Q.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

36

Schma lectronique gnral et notation d'une bascule RS synchronise

notation

Remarque Certains types de mmoires ou les registres dans un ordinateur sont conus avec des variantes de bascules RS (synchronises) note JK ou D. Schma lectronique gnral et notation d'une bascule de type D

notation

Fonctionnement pratique d'une telle bascule D dont les entres sont relies entre elles. Supposons que la valeur de l'entre soit le boolen x (x=0 ou bien x=1) et que l'horloge soit 0.

En simplifiant le schma nous obtenons une autre prsentation faisant apparatre la bascule RS minimale thorique dcrite ci-haut :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

37

Or la table de vrit de cet lment lorsque les entres sont gales 0 indique que la bascule conserve l'tat antrieur de la sortie Q: R 0 S 0 Qt+dt Qt

Conclusion pour une bascule D Lorsque l'horloge est 0, quelque soit la valeur de l'entre D (D=0 ou D=1) une bascule D conserve la mme valeur sur la sortie Q.

Que se passe-t-il lorsque lors d'un top d'horloge celle-ci passe la valeur 1 ? Reprenons le schma simplifi prcdent d'une bascule D avec une valeur d'horloge gale 1.

Nous remarquons que sur les entre R et S nous trouvons la valeur x et son complment x , ce qui limine deux couples de valeurs d'entres sur R et S (R=0 , S=0) et (R=1 , S=1). Nous sommes srs que le cas d'entres non autoris par un circuit RS (R=1 , S=1) n'a jamais lieu dans une bascule de type D. Il reste envisager les deux derniers couples (R=0 , S=1) et (R=1 , S=0). Nous figurons ciaprs la table de vrit de la sortie Q en fonction de l'entre D de la bascule (l'horloge tant positionne 1) et pour clairer le lecteur nous avons ajout les deux tats associs des entres internes R et S :

x 0 1

R 1 0

S 0 1

Q 0 1

Nous remarquons que la sortie Q prend la valeur de l'entre D (D=x ), elle change donc d'tat.

Conclusion pour une bascule D Lorsque l'horloge est 1, quelque soit la valeur de l'entre D (D=0 ou D=1) une bascule D change et prend sur la sortie Q la valeur de l'entre D.

3.10 Registre (circuit mmoire)


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

38

Un registre est un circuit qui permet la mmorisation de n bits en mme temps. Il existe dans un ordinateur plusieurs varits de registres, les registres parallles, les registres dcalage (dcalage droite ou dcalage gauche) les registres sries. Les bascules de type D sont les plus utilises pour construire des registres de diffrents types en fonction de la disposition des entres et des sorties des bascules : les registres entre srie/sortie srie, entre srie/sortie parallle, entre parallle/sortie parallle, entre parallle/sortie srie. Voici un exemple de registre n entres parallles (a0,a1,,an-1) et n sorties parallles (s0,s1,,sn-1) construit avec des bascules de type D :

Examinons le fonctionnement de ce "registre parallle n bits" La ligne CLK fournit le signal d'horloge, la ligne RAZ permet l'effacement de toutes les sorties sk du registre, on dit qu'elle fournit le signal de validation :

Lorsque RAZ = 0 on a (s0=0, s1=0, , sn-1=0) Lorsque RAZ = 1 on a (s0= q0, s1= q1, , sn-1= qn-1 )

Donc RAZ=0 sert effacer tous les bits de sortie du registre, dans le cas o RAZ=1 qu'en est-il des sorties sk. D'une manire gnrale nous avons par construction sk = RAZ . qk : Tant que CLK = 0 alors, comme RAZ=1 nous avons sk = qk (qk est l'tat antrieur de la bascule). Dans ces conditions on dit que l'on "lit le contenu actuel du registre". Lorsque CLK = 1 alors, tous les qk basculent et chacun d'eux prend la nouvelle valeur de son entre ak. Comme RAZ=1 nous avons toujours sk = qk (qk est le nouvel tat de la bascule). Dans ces conditions on dit que l'on vient de "charger le registre" avec une nouvelle valeur.

Notations des diffrents type de registres :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

39

registre srie/srie

registre srie/parallle

registre parallle/srie

registre parallle/parallle

Registre dcalage C'est un registre entre srie ou parallle qui dcale de 1 bit tous les bits d'entre soit vers "la droite" (vers les bits de poids faibles), soit vers "la gauche" (vers les bits de poids forts). Un registre dcalage dans un ordinateur correspond soit une multiplication par 2 dans le cas du dcalage gauche, soit une division par 2 dans le cas du dcalage droite. Conclusion mmoire-registre Nous remarquons donc que les registres en gnral sont des mmoires construites avec des bascules dans lesquelles on peut lire et crire des informations sous forme de bits. Toutefois ds que la quantit d'information stocker est trs grande les bascules prennent physiquement trop de place (2 NOR, 2 AND et 1 NON). Actuellement, pour laborer une mmoire stockant de trs grande quantit d'informations, on utilise une technologie plus compacte que celle des bascules, elle est fonde sur la reprsentation d'un bit par 1 transistor et 1 condensateur. Le transistor ralise la porte d'entre du bit et la sortie du bit, le condensateur selon sa charge ralise le stockage du bit. Malheureusement un condensateur ne conserve pas sa charge au cours du temps (courant de fuite inhrent au condensateur), il est alors indispensable de restaurer de temps en temps la charge du condensateur (opration que l'on dnomme rafrachir la mmoire) et cette opration de rafrachissement mmoire a un cot en temps de ralisation. Ce qui veut donc dire que pour le mme nombre de bits stocker un registre bascule est plus rapide lire ou crire qu'une mmoire transistor, c'est pourquoi les mmoires internes des processeurs centraux sont des registres.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

40

3.11 Mmoire SRAM et mmoire DRAM Dans un ordinateur actuel coexistent deux catgories de mmoires : 1) Les mmoires statiques SRAM labores l'aide de bascules : trs rapides mais volumineuses (plusieurs transistors pour 1 bit). 2) Les mmoires dynamiques DRAM labores avec un seul transistor coupl un condensateur : trs facilement intgrables dans une petite surface, mais plus lente que les SRAM cause de la ncessit du rafrachissement. Voici titre indicatif des ordres de grandeur qui peuvent varier avec les innovations technologiques rapides en ce domaine : SRAM temps d'accs une information : 5 nanosecondes DRAM temps d'accs une information : 50 nanosecondes

Fonctionnement d'une DRAM de 256 Mo fictive La mmoire physique aspect extrieur :

Le schma gnral de la mmoire : Vcc = alimentation lectrique D1 D8 = bits de donnes (1 octet ici) Ligne, Colonne = lignes de slection soit d'une adresse de ligne soit d'une adresse de colonne W = autorisation d'criture R = validation de lecture A0, , A13 = adresse d'une ligne ou adresse d'une colonne = symbole de mise la masse

Nous adoptons une vision abstraite de l'organisation interne de cette mmoire sous forme d'une matrice de 214 lignes et 214 colonnes soient en tout 214. 214= 228 cellules de 1 octet chacune (228 octets = 28. 220 o = 256 . 220 o = 256 Mo, car 1 Mo = 220 o)

rm di Scala - 2006

Ce qui donne une matrice de 16384 lignes et 16384 colonnes, numrotes par exemple de 20 = 1
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

41

jusqu' 214 = 16384, selon la figure ci-dessous : Dans l'exemple gauche : La slection d'une ligne de numro m donn (d'adresse m-1 donne) et d'une colonne de numro k donn (d'adresse k-1 donne) permet de slectionner directement une cellule contenant 8 bits.

Exemple de slection de ligne dans la matrice mmoire partir d'une adresse (A0, , A13) , dans notre exemple thorique la ligne de numro 20 = 1 a pour adresse (0,0,,0) et la ligne de numro 214 = 16384 a pour adresse (1,1,,1). Lorsque l'adresse de slection d'une ligne arrive sur les pattes (A0, , A13) de la mmoire elle est range dans un registre interne (not tampon) puis passe un circuit interne du type dcodeur d'adresse 14 bits (14 entres et 214 = 16384 sorties) qui slectionne la ligne adquate.

Il en va de mme pour la slection d'une colonne :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

42

La slection d'une ligne, puis d'une colonne permet d'obtenir sur les pattes D, D2, , D8 de la puce les 8 bits slectionns. Ci dessous une slection en mode lecture d'une cellule de notre mmoire de 256 Mo :

Il est possible aussi d'crire dans une cellule de la mmoire selon la mme dmarche de slection. Pour oprer une lecture il faut que la ligne de validation R de la mmoire soit active, pour oprer une criture, il faut que la ligne de validation W de la mmoire soit active. En attendant une nouvelle technologie (optique, quantique, organique,) les constituants de base d'un ordinateur sont fonds sur l'lectronique base de transistor dcouverts la fin des annes quarante. De nos jours deux technologie de transistor sont prsentes sur le march : la technologie TTL (Transistor Transistor Logic) la plus ancienne et la technologie MOS (Metal Oxyde Semiconductor).

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

43

3.12 Afficheur LED 7 segments On utilise dans les ordinateurs des afficheurs LED, composs de 7 led diffrentes qui sont allumes indpendamment les unes des autres, un circuit dcodeur 3 bits permet de raliser simplement cet affichage :

3.13 Compteurs Ce sont des circuits chargs d'effectuer un comptage cumulatif de divers signaux. Par exemple considrons un compteur sur 2 bits avec retenue ventuelle, capable d'tre activ ou dsactiv, permettant de compter les changement d'tat de la ligne d'horloge CLK. Nous proposons d'utiliser deux demi-additionneurs et deux bascules de type D pour construire le circuit. Le circuit compteur de gauche possde deux entres En et CLK, il possde trois sorties a0, a1 et carry. Ce compteur sort sur les bits a0, a1 et sur le bit de carry le nombre de changements en binaire de la ligne CLK (maximum 4 pour 2 bits) avec retenue s'il y a lieu. La ligne d'entre En est charge d'activer ou de dsactiver le compteur

Notation pour ce compteur :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

44

Fonctionnement de l'entre En (enable) du compteur prcdent : Lorsque En = 0, sur la premire bascule en entre D nous avons D = a0 0 (or nous savons que : x, x 0 = x ), donc D = a0 et Q ne change pas de valeur. Il en est de mme pour la deuxime bascule et son entre D vaut a1. Donc quoiqu'il se passe sur la ligne CLK les sorties a0 et a1 ne changent pas, on peut donc dire que le comptage est dsactiv lorsque le enable est zro. Lorsque En = 1, sur la premire bascule en entre D nous avons D = a0 1 (or nous savons que : x, x 1 = x ), donc Q change de valeur. On peut donc dire que le comptage est activ lorsque le enable est un.

Utilisons la notation du demi-additionneur pour reprsenter ce compteur 2 bits :

un demi-additionneur le compteur 2 bits

En gnralisant la notion de compteur n bits nous obtenons le schma ci-aprs :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

45

3.14 Ralisation lectronique de circuits boolens Dans ce paragraphe nous indiquons pour information anecdotique au lecteur, partir de quelques exemples de schmas lectroniques de base, les ralisations physiques possibles de diffrents oprateurs de l'algbre de Boole. Le transistor est principalement utilis comme un interrupteur lectronique, nous utiliserons les schmas suivants reprsentant un transistor soit en TTL ou MOS et une diode.

Circuits (ET, OU , NON) labors partir de diodes :

NON

OU

ET

Circuits (NOR, NAND , NON) labors partir de transistor MOS :

NON NAND

NOR

Ce sont en fait la place occupe par les composants lectroniques et leur cot de production qui sont les facteurs essentiels de choix pour la construction des oprateurs logiques de base.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

46

Voici par exemple une autre faon de construire une circuit NOR partir de transistor et de diodes :

Le lecteur intress consultera des ouvrages d'lectronique spcialiss afin d'approfondir ce domaine qui dpasse le champ de l'informatique qui n'est qu'une simple utilisatrice de la technologie lectronique en attendant mieux ! Finissons ce paragraphe, afin de bien fixer nos ides, par un schma montrant comment dans une puce lectronique sont situs les circuits boolens :

Supposons que la puce prcdente permette de raliser plusieurs fonctions et contienne par exemple 4 circuits boolens : un OU, un ET, deux NON. Voici figur une possible implantation physique de ces 4 circuits dans la puce, ainsi que la liaison de chaque circuit boolen avec les pattes du composant physique :

Pour information, le micro-processeur pentium IV Northwood de la socit Intel contient environ 55 000 000 (55 millions) de tansistors, le micro-processeur 64 bits Opteron de la socit concurrente AMD plus rcent que le pentium IV, contient 105 000 000 (105 millions) de transistor.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

47

1.3 Codage numration


Plan du chapitre:

1. Codage de linformation
1.1 Codage en gnral : le pourquoi 1.2 Codage des caractres : code ASCII 1.3 Codage des nombres entiers : numration 1.4 Les entiers dans une mmoire n+1 bits 1.5 Codage des nombres entiers 1.6 Un autre codage des nombres entiers

2. Numration
2.1 Oprations en binaire 2.2 Conversions base quelconque dcimal 2.3 Exemple de conversion dcimal binaire 2.4 Exemple de conversion binaire dcimal 2.5 Conversion binaire hexadcimal 2.6 Conversion hexadcimal binaire

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

48

1. Codage de linformation

1.1 Codage en gnral : le pourquoi Dans une machine, toutes les informations sont codes sous forme d'une suite de "0" et de "1" (langage binaire). Mais l'tre humain ne parle gnralement pas couramment le langage binaire. Il doit donc tout "traduire" pour que la machine puisse excuter les instructions relatives aux informations qu'on peut lui donner. Le codage tant une opration purement humaine, il faut produire des algorithmes qui permettront la machine de traduire les informations que nous voulons lui voir traiter.

Le codage est une opration tablissant une bijection entre une information et une suite de " 0 " et de " 1 " qui sont reprsentables en machine.

1.2 Codage des caractres : code ASCII Parmi les codages les plus connus et utiliss, le codage ASCII (American Standard Code for Information Interchange)tendu est le plus courant (version ANSI sur Windows). Voyons quelles sont les ncessits minimales pour lcriture de documents alphanumriques simples dans la civilisation occidentale. Nous avons besoin de : Un alphabet de lettres minuscules ={a, b, c,...,z} soient 26 caractres Un alphabet de lettres majuscules ={A,B,C,...,Z} soient 26 caractres Des chiffres {0,1,...,9} soient 10 caractres Des symboles syntaxiques {? , ; ( " ... au minimum 10 caractres Soit un total minimal de 72 caractres Si lon avait choisi un code 6 bits le nombre de caractres codables aurait t de 26 = 64 ( tous les nombres binaires compris entre 000000 et 111111), nombre donc insuffisant pour nos besoins. Il faut au minimum 1 bit de plus, ce qui permet de dfinir ainsi 27 = 128 nombres binaires diffrents, autorisant alors le codage de 128 caractres.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

49

Initialement le code ASCII est un code 7 bits (27 = 128 caractres). Il a t tendu un code sur 8 bits ( 28 = 256 caractres ) permettant le codage des caractres nationaux (en France les caractres accentus comme : ,,,,,...etc) et les caractres semi-graphiques. Les pages HTML qui sont diffuses sur le rseau Internet sont en code ASCII 8 bits. Un codage rcent dit " universel " est en cours de diffusion : il sagit du codage Unicode sur 16 bits (216 = 65536 caractres). De nombreux autres codages existent adapts diverses solution de stockage de linformation (DCB, EBCDIC,...).

1.3 Codage des nombres entiers : numration Les nombres entiers peuvent tre cods comme des caractres ordinaires. Toutefois les codages adopts pour les donnes autres que numriques sont trop lourds manipuler dans un ordinateur. Du fait de sa constitution, un ordinateur est plus " habile " manipuler des nombres crits en numration binaire (qui est un codage particulier). Nous allons dcrire trois modes de codage des entiers les plus connus. Nous avons lhabitude dcrire nos nombres et de calculer dans le systme dcimal. Il sagit en fait dun cas particulier de numration en base 10. Il est possible de reprsenter tous les nombres dans un systme base b (b entier, b1). Nous ne prsenterons pas ici un cours darithmtique, mais seulement les lments ncessaires lcriture dans les deux systmes les plus utiliss en informatique : le binaire (b=2) et lhexadcimal (b=16). Lorsque nous crivons 5876 en base 10, la position des chiffres 5,8,7,6 indique la puissance de 10 laquelle ils sont associs : 5 est associ 103 8 est associ 102 7 est associ 101 6 est associ 100 Il en est de mme dans une base b quelconque (b=2, ou b=16). Nous conviendrons de mentionner la valeur de la base au dessus du nombre afin de savoir quel est son type de reprsentation. Soit un nombre x crit en base b avec n+1 symboles. " xk " est le symbole associ la puissance " bk " " xk " {0,1, ... , b-1}

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

50

Lorsque b=2 (numration binaire) Chaque symbole du nombre x, " xk " {0,1}; autrement dit les nombres binaires sont donc crits avec des 0 et des 1, qui sont reprsents physiquement par des bits dans la machine. Voici le schma dune mmoire n+1 bits (au minimum 8 bits dans un micro-ordinateur) :

Les cases du schma reprsentent les bits, le chiffre marqu en dessous dune case, indique la puissance de 2 laquelle est associ ce bit (on dit aussi le rang du bit). Le bit de rang 0 est appel le bit de poids faible. Le bit de rang n est appel le bit de poids fort.

1.4 Les entiers dans une mmoire n+1 bits : binaire pur Ce codage est celui dans lequel les nombres entiers naturels sont crits en numration binaire (en base b=2). Le nombre " dix " scrit 10 en base b=10, il scrit 1010 en base b=2. Dans la mmoire ce nombre dix est cod en binaire ainsi:

Une mmoire n+1 bits (n>0), permet de reprsenter sous forme binaire (en binaire pur) tous les entiers naturels de l'intervalle [ 0 , 2n+1 -1 ]. soit pour n+1=8 bits, tous les entiers de l'intervalle [ 0 , 255 ] soit pour n+1=16 bits, tous les entiers de l'intervalle [ 0 , 65535 ]

1.5 Codage des nombres entiers : binaire sign Ce codage permet la reprsentation des nombres entiers relatifs. Dans la reprsentation en binaire sign, le bit de poids fort ( bit de rang n associ 2n ) sert reprsenter le signe (0 pour un entier positif et 1 pour un entier ngatif), les n autres bits reprsentent la valeur absolue du nombre en binaire pur.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

51

Exemple du codage en binaire sign des nombres +14 et -14 :

+14 est reprsent par 0000...01110

-14 est reprsent par 1000...01110

Une mmoire n+1 bits (n>0), permet de reprsenter sous forme binaire (en binaire sign) tous les entiers naturels de l'intervalle [- (2n - 1) , (2n -1)] soit pour n+1=8 bits, tous les entiers de l'intervalle [-127 , 127] soit pour n+1=16 bits, tous les entiers de l'intervalle [-32767 , 32767]

Le nombre zro est reprsent dans cette convention (dites du zro positif) par : 0000...00000

Remarque : Il reste malgr tout une configuration mmoire inutilise : 1000...00000. Cet tat binaire ne reprsente priori aucun nombre entier ni positif ni ngatif de lintervalle [- (2n - 1) , (2n -1)]. Afin de ne pas perdre inutilement la configuration " 1000...00000 ", les informaticiens ont dcid que cette configuration reprsente malgr tout un nombre ngatif parce que le bit de signe est 1, et en mme temps la puissance du bit contenant le "1", donc par convention -2n. Lintervalle de reprsentation se trouve alors augment dun nombre : il devient :[-2n ,2n -1] soit pour n+1=8 bits, tous les entiers de l'intervalle [-128 , 127] soit pour n+1=16 bits, tous les entiers de l'intervalle [-32768 , 32767]

Ce codage nest pas utilis tel quel, il est donn ici titre pdagogique. En effet le traitement spcifique du signe cote cher en circuits lectroniques et en temps de calcul. Cest une version amliore qui est utilise dans la plupart des calculateurs : elle se nomme le complment deux.

1.6 Un autre codage des nombres entiers : complment deux Ce codage, purement conventionnel et trs utilis de nos jours, est driv du binaire sign ; il sert reprsenter en mmoire les entiers relatifs. Comme dans le binaire sign, la mmoire est divise en deux parties ingales; le bit de poids fort reprsentant le signe, le reste reprsente la valeur absolue avec le codage suivant :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

52

Supposons que la mmoire soit n+1 bits, soit x un entier relatif reprsenter : si x > 0, alors c'est la convention en binaire sign qui s'applique (le bit de signe vaut 0, les n bits restants codent le nombre), soit pour le nombre +14 :

+14 est reprsent par 0000...01110 si x < 0, alors (3 tapes suivre) On code la valeur absolue du nombre x, |x| en binaire sign. Puis lon complmente tous les bits de la mmoire (complment 1 ou complment restreint). Cette opration est un non logique effectu sur chaque bit de la mmoire. Enfin lon additionne +1 au nombre binaire de la mmoire (addition binaire).

Exemple, soit reprsenter le nombre -14 en suivant les 3 tapes :

codage de |-14|= 14

complment 1

addition de 1

Le nombre -14 s'crit donc en complment 2 : 1111..10010. Un des intrts majeurs de ce codage est dintgrer la soustraction dans lopration de codage et de ne faire effectuer que des oprations simples et rapides (non logique, addition de 1). Nous venons de voir que le codage utilisait essentiellement la reprsentation d'un nombre en binaire (la numration binaire) et qu'il fallait connatre les rudiments de l'arithmtique binaire. Le paragraphe ci-aprs traite de ce sujet.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

53

2. Numration
Ce paragraphe peut tre ignor par ceux qui connaissent dj les lments de base des calculs en binaire et des conversions binaire-dcimal-hexadcimal, dans le cas contraire, il est conseill de le lire. Pour des commodits d'criture, nous utilisons la notation indice pour reprsenter la base d'un nombre en parallle de la reprsentation avec la barre au dessus. Ainsi 14510 signifie le nombre 145 en base dix; 11010112 signifie 1101011 en binaire.

2.1 Oprations en binaire Nous avons parl daddition en binaire ; comme dans le systme dcimal, il nous faut connatre les tables daddition, de multiplication, etc... afin deffectuer des calculs dans cette base. Heureusement en binaire, elles sont trs simples :

Exemples de calculs (109+19=12810 =100000002 ) et (22x5=110) : addition multiplication 10110 1101101 + 10011
_____________

101 10110 10110..

____________

100000002 =12810

___________

11011102 =11010 Vous noterez que le procd est identique celui que vous connaissez en dcimal. En hexadcimal (b=16) il en est de mme. Dans ce cas les tables doprateurs sont trs longues apprendre.

Etant donn que le systme classique utilis par chacun de nous est le systme dcimal, nous nous proposons de fournir dune manire pratique les conversions usuelles permettant d'crire les diverses reprsentations dun nombre entre les systmes dcimal, binaire et hexadcimal.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

54

2.2 Conversions base quelconque dcimal Voici ci-dessous un rappel des mthodes gnrales permettant de convertir un nombre en base b (b>1)en sa reprsentation dcimale et rciproquement.

A ) Soit

un nombre crit en base b.

Pour le convertir en dcimal (base 10), il faut : convertir chaque symbole xk en son quivalent ak en base 10, nous obtenons ainsi la suite de chiffres : an,....,a0

Exemple, soit b=13, les symboles de la base 13 sont : { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C } Si le chiffre xk de rang k du nombre s'crit C, son quivalent en base 10 est ak=12 rcrire le nombre comme une somme :

effectuer tous les calculs en base 10 (somme, produit, puissance).

B ) Soit " a " un nombre crit dcimal et reprsenter en base b : La mthode utilise est un algorithme fond sur la division euclidienne. Si a < b, il n'a pas besoin d'tre converti. Si a = b, on peut diviser a par b. Et lon divise successivement les diffrents quotients qk obtenus par la base b.

De manire gnrale on aura : a = bk.rk + bk-1.rk-1 + ... + b.r1 + r0 (o ri est le reste de la division de a par b). En remplaant chaque ri par son symbole quivalent pi en base b, nous obtenons :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

55

Cet algorithme permet d'obtenir une reprsentation de a dans la base b.

Les pi quivalents en base 13 sont: r0 = 8 r1 = 11 r2 = 10 r3 = 2 p0 = 8 p1 = B p2 = A p3 = 2 Donc 623510 = 2AB813

Dans les deux paragraphes suivants nous allons expliciter des exemples pratiques de ces mthodes dans le cas o la base est 2 (binaire).

2.3 Exemple de conversion dcimal binaire Soit le nombre dcimal 3510 , appliquons l'algorithme prcdent afin de trouver les restes successifs :

Donc : 3510 = 1000112

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

56

2.4 Exemple de conversion binaire dcimal Soit le nombre binaire : 11011012 sa conversion en dcimal est immdiate : 11011012 = 26 +25 +23 +23 +22 +1 =64+32+8+4+1 =10910 Les informaticiens, pour des raisons de commodit (manipulations minimales de symboles), prfrent utiliser lhexadcimal plutt que le binaire. Lhumain, contrairement la machine, a quelques difficults fonctionner sur des suites importantes de 1 et de 0. Ainsi lhexadcimal (sa base b=24 tant une puissance de 2) permet de diviser, en moyenne, le nombre de symboles par un peu moins de 4 par rapport au mme nombre crit en binaire. Cest lunique raison pratique qui justifie son utilisation ici.

2.5 Conversion binaire hexadcimal Nous allons dtailler laction de conversion en 6 tapes pratiques : Soit a un nombre crit en base 2 (tape 1). On dcompose ce nombre par tranches de 4 bits partir du bit de poids faible (tape 2). On complte la dernire tranche (celle des bits de poids forts)par des 0 sil y a lieu (tape 3). On convertit chaque tranche en son symbole de la base 16(tape 4). On rcrit sa place le nouveau symbole par changements successifs de chaque groupe de 4 bits,(tape 5). Ainsi, on obtient le nombre crit en hexadcimal (tape 6).

Exemple : Soit le nombre 1111012 convertir en hxadcimal.

Rsultat obtenu : 1111012 = 3D16

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

57

2.6 Conversion hexadcimal binaire Cette conversion est lopration inverse de la prcdente. Nous allons la dtailler en 4 tapes : Soit a un nombre crit en base 16 (ETAPE 1). On convertit chaque symbole hexadcimal du nombre en son criture binaire (ncessitant au plus 4 bits) (ETAPE 2). Pour chaque tranche de 4 bits, on complte les bits de poids fort par des 0 s'il y a lieu (ETAPE 3). Le nombre " a " crit en binaire est obtenu en regroupant toutes les tranches de 4 bits partir du bit de poids faible, sous forme dun seul nombre binaire (ETAPE 4).

Exemple : Soit le nombre 23D516 convertir en binaire.

Rsultat obtenu : 23D516 = 100011110101012

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

58

1.4 Formalisation de la notion d'ordinateur


Plan du chapitre:

1. Machine de Turing thorique


1.1 Dfinition : machine de Turing 1.2 Dfinition : Etats de la machine 1.3 Dfinition : Les rgles de la machine

2. La Machine de Turing physique


2.1 Constitution interne 2.2 Fonctionnement 2.3 Exemple : machine de Turing arithmtique 2.4 Machine de Turing informatique

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

59

1. La Machine de Turing thorique


Entre 1930 et 1936 le mathmaticien anglais A.Turing invente sur le papier une machine fictive qui ne pouvait effectuer que 4 oprations lmentaires que nous allons dcrire. Un des buts de Turing tait de faire rsoudre par cette " machine " des problmes mathmatiques, et dtudier la classe des problmes que cette machine pourrait rsoudre. Dfinitions et notations (modle dterministe) Soit A un ensemble fini appel alphabet dfini ainsi : A = { a1 ,..., an } ( A ) Soit = { D,G } une paire

1.1 Dfinition : machine de Turing Nous appellerons machine de Turing toute application T : T : E N x ( A) o E est un ensemble fini non vide : E N x A

1.2 Dfinition : Etats de la machine Nous appellerons Et ensemble des tats intrieurs de la machine T: Et = { qi N , (ai A / (qi ,ai) Dom(T)) o ( x / (qi , x) Im(T))

Dom(T) : domaine de dfinition de T. Im(T) : image de T (les lments T(a) de N x ( A), pour a E)

Comme E est un ensemble fini, Et est ncessairement un ensemble fini, donc il y a un nombre fini dtats intrieurs nots qi.

1.3 Dfinition : Les rgles de la machine Nous appellerons " ensemble des rgles " de la machine T, le graphe G de lapplication T. Une rgle de T est un lment du graphe G de T.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

60

On rappelle que le graphe de T est dfini comme suit :


G = {(a,b) E x [Et x ( A)] / b = T(a) }

Notation : afin dviter une certaine lourdeur dans lcriture nous conviendrons dcrire les rgles en omettant les virgules et les parenthses. Exemple : la rgle ( (qi ,a) , (qk ,b) ) est note : qi a qk b

2. La Machine de Turing physique


2.1 Constitution interne Nous construisons une machine de Turing physique constitue de : Une bote note UC munie dune tte de lecture-criture et dun registre dtat. Un ruban de papier suppos sans limite vers la gauche et vers la droite. Sur le ruban se trouvent des cases contigus contenant chacune un seul lment de lalphabet A. La tte de lecture-criture travaille sur la case du ruban situe devant elle ; elle peut lire le contenu de cette case ou effacer ce contenu et y crire un autre lment de A. Il existe un dispositif dentranement permettant de dplacer la tte de lecture-criture dune case vers la Droite ou vers la Gauche. Dans la tte lecture-criture il existe une case spciale note registre d tat, qui sert recevoir un lment qi de Et.

Cette machine physique est une reprsentation virtuelle d'une machine de Turing thorique T, d'alphabet A, dont l'ensemble des tats est Et, dont le graphe est donn ci-aprs : G = {(a,b) E x [Et x ( A)] / b = T(a) }

Donnons une visualisation schmatique d'une telle machine en cours de fonctionnement. La tte de lecture/criture pointe vers une case contenant l'lment ai de A, le registre d'tat ayant la valeur qk :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

61

2.2 Fonctionnement Dpart : On remplit les cases du ruban dlments ai de A. On met la valeur " qk " dans le registre dtat. On positionne la tte sur une case contenant " ai ". Actions : (la machine se met en marche) La tte lit le " ai ". LUC dont le registre dtat vaut " qk ", cherche dans la liste des rgles si le couple (qk , ai) Dom(T). Si la rponse est ngative on dit que la machine " bloque " (elle sarrte par blocage).

Si la rponse est positive alors le couple (qk , ai) a une image unique (machine dterministe)que nous notons (qn , y). Dans ce couple, y ne peut prendre que l'un des 3 types de valeurs possibles ap , D , G : a) soit y=ap , dans ce cas la rgle est donc de la forme qk ai

qn ap

a.1) LUC fait effacer le ai dans la case et le remplace par llment ap.

a.2) LUC crit qn dans le registre dtat en remplacement de la valeur qk.

b) soit y = D , ici la rgle est donc de la forme qk ai

qn D

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

62

b.1) LUC fait dplacer la tte vers la droite dune case.

b.2) LUC crit qn dans le registre dtat en remplacement de la valeur qk.

c) soit y = G , dans ce cas la rgle est donc de la forme qk ai

qn G

c.1) LUC fait dplacer la tte vers la gauche d'une case.

c.2) LUC crit qn dans le registre dtat en remplacement de la valeur qk.

Puis la machine continue fonctionner en recommenant le cycle des actions depuis le dbut : lecture du nouvel lment ak etc...

2.3 Exemple : machine de Turing arithmtique Nous donnons ci-dessous une machine T1 additionneuse en arithmtique unaire. A = {#,1} ={D,G} un entier n est reprsent par n+1 symboles " 1 " conscutifs (de faon pouvoir reprsenter " 0 " par un unique " 1 ").

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

63

Etat initial du ruban avant actions : 2 3

2 est reprsent par 111 3 est reprsent par 1111 Rgles T1: (application des rgles suivantes pour simulation de 2+3)

q1 1 q2D q2 1 q3D q3 1 q4D q4 # q51 q5 1 q6D

q6 1 q7D q7 1 q8D q8 1 q9D q9 1 q10D q10 # q11G

q11 1 q12# q12 # q13G q13 1 q14#

En dmarrant la machine sur la configuration prcdente on obtient : Etat final du ruban aprs actions : (Cette machine ne fonctionne que pour additionner 2 et 3) . 5 .

Gnralisation de la machine additionneuse Il est facile de fournir une autre version plus gnrale T2 fonde sur la mme stratgie et le mme tat initial permettant d'additionner non plus seulement les nombres 2 et 3, mais des nombres entiers quelconques n et p. Il suffit de construire des nouvelles rgles. Rgles de T2: q1 1 q1D q1 # q21 q2 1 q2D q2 # q3G q3 1 q3# q3 # q4G q4 1 q5#

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

64

Cette machine de Turing T2 applique l'exemple prcdent (addition de 2 et 3) laisse le ruban dans le mme tat final, mais elle est construite avec moins dtats intrieurs que la prcdente. En fait elle fonctionne aussi si la tte de lecture-criture est positionne sur nimporte lequel des lments du premier nombre n. et les nombres n et p sont quelconques :

Etat initial sur le nombre de gauche

Etat final la fin du nombre calcul (il y a n+p+1 symboles " 1 ")

Nous dirons que T2 est plus " puissante " que T1 au sens suivant : T2 a moins dtats intrieurs que T1 . T2 permet dadditionner des entiers quelconques. Il est possible de dmarrer ltat initial sur nimporte lequel des " 1 " du nombre de gauche.

On pourrait toujours en ce sens chercher une machine T3 qui possderait les qualits de T2 , mais qui pourrait dmarrer sur nimporte lequel des " 1 " de lun ou lautre des deux nombres n ou p, le lecteur est encourag chercher crire les rgles d'une telle machine. Nous voyons que ces machines sont capables deffectuer des oprations, elles permettent de dfinir la classe des fonctions calculables (par machines de Turing). Un ordinateur est fond sur les principes de calcul dune machine de Turing. J. Von Neumann a dfini la structure gnrale dun ordinateur partir des travaux de A.Turing. Les lments physiques supplmentaires que possde un ordinateur moderne naugmentent pas sa puissance thorique. Les fonctions calculables sont les seules que lon puisse implanter sur un ordinateur. Les priphriques et autres dispositifs auxiliaires extrieurs ou intrieurs nont pour effet que damliorer la " puissance " en terme de vitesse et de capacit. Comme une petite voiture de srie et un bolide de formule 1 partagent les mmes concepts de motorisation, de la mme manire les diffrents ordinateurs du march partagent les mmes fondements mathmatiques.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

65

2.4 Machine de Turing informatique Nous faisons voluer la reprsentation que nous avons de la machine de Turing afin de pouvoir mieux la programmer, c'est dire pouvoir crire plus facilement les rgles de fonctionnement d'une telle machine. Nous dfinissons ce qu'est un algorithme pour une machine de Turing et nous proposons une description graphique de cet algorithme l'aide de schmas graphiques symboliques dcrivant des actions de base d'une machine de Turing.

A) Une machine de Turing informatique est dite normalise au sens suivant : Lalphabet A contient toujours le symbole " # " Lensemble des tats E contient toujours deux tats distingus q0 (tat initial) et qf (tat final). La machine dmarre toujours ltat initial q0 . Elle termine sans blocage toujours ltat qf . Dans les autres cas on dit que la machine " bloque ".

B)Algorithme dune machine de Turing informatique Cest lensemble des rgles prcises qui dfinissent un procd de calcul destin obtenir en sortie un " rsultat " dtermin partir de certaines " donnes " initiales.

C) Algorithme graphique dune machine de Turing Nous utilisons cinq classes de symboles graphiques Positionne la tte de lecture sur le symbole voulu, met la machine ltat initial q0 et fait dmarrer la machine.

Signifie que la machine termine correctement son calcul en sarrtant ltat final qf .

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

66

Aucune rgle de la machine ne permettant la poursuite du fonctionnement, arrt de la machine sur un blocage.

Dplacer la tte dune case vers la gauche (la tte de lecture se positionne sur la case davant la case actuelle contenant le symbole ap). Correspond la rgle : qi ap qj G

Correspond laction excuter dans la deuxime partie de la rgle : qi ap qj ak (la machine crit ak dans la case actuelle et passe ltat qj ).

Correspond laction excuter dans la premire partie de la rgle : qj ak ... ou qi # ... (la machine teste le contenu de la case actuelle et passe ltat qj ou ltat qi selon la valeur du contenu).

D) Organigramme dune machine de Turing On appelle organigramme dune machine de Turing T, toute reprsentation graphique constitue de combinaisons des symboles des cinq classes prcdentes. Les rgles de la forme qn ak qn G ou qnakqnD se traduisent par des schmas " boucls " ce qui donne des organigrammes non linaires.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

67

diagramme pour :q0a q0G

diagramme pour :q0a q0D

Exemple : organigramme de la machine T2 normalise(additionneuse n+p)

Rgles de T2 normalise : q0 1 q0D q0 # q11 q1 1 q1D q1 # q2G q2 1 q2# q2 # q3G q3 1 qf#

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

68

Nous voyons que ce symbolisme graphique est un outil de description du mode de traitement de linformation au niveau machine. Cest dailleurs historiquement dune faon semblable que les premiers programmeurs dcrivaient leurs programmes.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

69

1.5 Architecture de l'ordinateur


Plan du chapitre:

Les principaux constituants


1.1 Dans lUnit Centrale : lunit de traitement 1.2 Dans lUnit Centrale : lunit de commande 1.3 Dans lUnit Centrale : les Units dchange 1.4 Exemples de machine une adresse : un micro-processeur simple 1.5 Les Bus 1.6 Schma gnral dune micro-machine fictive 1.7 Notion de jeu dinstructions-machine 1.8 Architectures RISC et CISC 1.9 Pipe line dans un processeur 1.10 Architectures super-scalaire 1.11 Principaux modes d'adressages des instructions machines

2. Mmoires : Mmoire centrale - Mmoire cache


2.1 Mmoire 2.2 Les diffrents types de mmoires 2.3 Les units de capacit 2.4 Mmoire centrale : dfinitions 2.5 Mmoire centrale : caractristiques 2.6 Mmoire cache ( ECC, associative )

3. Une petite machine pdagogique 8 bits " PM "


3.1 Unit centrale de PM (pico-machine) 3.2 Mmoire centrale de PM 3.3 Jeu dinstructions de PM

4. Mmoire de masse (auxiliaire ou externe)


4.1 Disques magntiques - disques durs 4.2 Disques optiques compacts - CD / DVD

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

70

1. Les principaux constituants d'une machine minimale


Un ordinateur, nous lavons dj not, est compos dun centre et dune priphrie. Nous allons nous intresser au c ur dun ordinateur fictif mono-processeur. Nous savons que celui-ci est compos de : Une Unit centrale comportant : Unit de traitement, Unit de contrle, Units dchanges. Une Mmoire Centrale.

Nous dcrivons ci-aprs l'architecture minimale illustrant simplement le fonctionnement d'un ordinateur (machine de Von Neumann).

1.1 Dans l Unit Centrale : lUnit de Traitement Elle est charge deffectuer les traitements des oprations de types arithmtiques ou boolennes. LUAL est son principal constituant. Elle est compose au minimum : dun registre de donnes RD dun accumulateur ACC (pour les machines une adresse) des registres spcialiss (pour les machines plusieurs adresses) dune unit arithmtique et logique : UAL

Schma gnral thorique de lunit de traitement :

machine une adresse

machine plusieurs adresses

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

71

La fonction du registre de donnes (mmoire rapide) est de contenir les donnes transitant entre lunit de traitement et lextrieur. La fonction de laccumulateur est principalement de contenir les oprandes ou les rsultats des oprations de lUAL. La fonction de lUAL est deffectuer en binaire les traitements des oprations qui lui sont soumises et qui sont au minimum: Oprations arithmtiques binaires: addition, multiplication, soustraction, division. Oprations boolennes : et, ou, non. Dcalages dans un registre.

Le rsultat de lopration est mis dans laccumulateur (Acc) dans le cas d'une machine une adresse, dans des registres internes dans le cas de plusieurs adresses.

1.2 Dans l Unit Centrale : l Unit de Contrle ou de Commande Elle est charge de commander et de grer tous les diffrents constituants de lordinateur (contrler les changes, grer lenchanement des diffrentes instructions, etc...) Elle est compose au minimum de : dun registre instruction RI, dun compteur ordinal CO, dun registre adresse RA, dun dcodeur de fonctions, dune horloge.

Schma gnral de lunit de contrle


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

72

Vocabulaire : Bit = plus petite unit dinformation binaire (un objet physique ayant deux tats reprsente un bit).

Processeur central = unit de commande + unit de traitement. IL a pour fonction de lire squentiellement les instructions prsentes dans la mmoire, de dcoder une instruction, de lire, crire et traiter les donnes situes dans la mmoire.

Instruction = une ligne de texte comportant un code opration, une ou plusieurs rfrences aux oprandes. Soit linstruction fictive daddition du contenu des deux mmoires x et y dont le rsultat est mis dans une troisime mmoire z :

(exemple d'instruction trois adresses) | Oprateur | rfrences oprandes |

Registre instruction = contient linstruction en cours dexcution, elle demeure dans ce registre pendant toute la dure de son excution.

Compteur ordinal = contient le moyen de calculer ladresse de la prochaine instruction excuter.

Registre adresse = contient ladresse de la prochaine instruction excuter.

Dcodeur de fonction = associ au registre instruction, il analyse linstruction excuter et entreprend les actions appropries dans lUAL ou dans la mmoire centrale. Au dbut, la diffrentiation des processeurs s'effectuait en fonction du nombre d'adresses contenues dans une instruction machine. De nos jours, un micro-processeur comme le pentium par exemple, possde des instructions une adresse, deux adresses, voir trois adresses dont certaines sont des
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

rm di Scala - 2006

73

registres. En fait deux architectures machines coexistent sur le march : l'architecture RISC et l'architecture CISC, sur lesquelles nous reviendrons plus loin. Historiquement l'architecture CISC est la premire, mais les micro-processeurs rcents semblent utiliser un mlange de ces deux architectures profitant ainsi du meilleur de chacune d'elle. Il existe de trs bons ouvrages spcialiss uniquement dans l'architecture des ordinateurs nous renvoyons le lecteur certains d'entre eux cits dans la bibliographie. Dans ce chapitre notre objectif est de fournir au lecteur le vocabulaire et les concepts de bases qui lui sont ncessaires et utiles sur le domaine, ainsi que les notions fondamentales qu'il retrouvera dans les architectures de machines rcentes. L'volution matrielle est actuellement tellement rapide que les ouvrages spcialiss sont mis jour en moyenne tous les deux ans.

1.3 Dans l Unit Centrale : les Units d change Une unit dchange est spcialise dans les entres/sorties. Ce peut tre un simple canal, un circuit ou bien un processeur particulier. Cet organe est plac entre la mmoire et un certain nombre de priphriques (dans un microordinateur ce sont des cartes comme la carte son, la carte vido, etc...).

Une unit dchange soulage le processeur central dans les tches de gestion du transfert de linformation. Les priphriques sont trs lents par rapport la vitesse du processeur (rapport de 1 109). Si le processeur central tait charg de grer les changes avec les priphriques il serait tellement ralenti quil passerait le plus clair de son temps attendre. 1.4 Exemple de machine une adresse : un micro-processeur simple Un micro-processeur simple a les mmes caractristiques que celles dun processeur central avec un niveau de complexit et de sophistication moindre. Il faut savoir que plus une instruction machine contient d'adresses (de rfrences des oprandes), plus le processeur est complexe. En effet avec les instructions une adresse, le processeur est moins complexe en contre partie les programmes (listes d'instructions machines) contiennent beaucoup d'instructions et sont donc plus longs excuter que sur un matriel dont le jeu d'instruction est plusieurs adresses. Un micro-processeur simple est essentiellement une machine une adresse, cest dire une partie code oprande et une rfrence un seul oprande. Ce genre de machine est fond sur un cycle de passage par laccumulateur. Lopration prcdente z = x + y , se dcompose dans une telle machine fictivement en 3 oprations distinctes illustres par la figure ci-aprs : LoadAcc x Add y { chargement de laccumulateur avec x : (1) } { prparation des oprandes x et y vers lUAL : (2) } { lancement commande de lopration dans lUAL : (3) } { rsultat transfr dans laccumulateur : (3) } { copie de laccumulateur dans z : (4) }
page

Store z

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

74

Laccumulateur gardant son contenu au final.

Comparaison de "programme" ralisant le calcul de l'opration prcdente "z = x + y "avec une machine une adresse et une machine trois adresses : Une machine une adresse
(3 instructions)

Une machine trois adresses


(1 instruction)

1.5 Les Bus Un bus est un dispositif destin assurer le transfert simultan dinformations entre les divers composants dun ordinateur. On distingue trois catgories de Bus : Bus dadresses (unidirectionnel) il permet lunit de commande de transmettre les adresses rechercher et stocker.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

75

Bus de donnes (bi-directionnel) sur lequel circulent les instructions ou les donnes traiter ou dj traites en vue de leur rangement.

Bus de contrle (bi-directionnel) transporte les ordres et les signaux de synchronisation provenant de lunit de commande vers les divers organes de la machine. Il vhicule aussi les divers signaux de rponse des composants.

Largeur du bus Pour certains Bus on dsigne par largeur du Bus, le nombre de bits qui peuvent tre transports en mme temps par le Bus, on dit aussi transports en parallle.

Les principaux Bus de donnes rcents de micro-ordinateur Les Bus de donnes sont essentiellement des bus "synchrones", c'est dire qu'ils sont cadencs par une horloge spcifique qui fonctionne une frquence fixe. Entre autres informations commerciales, les constructeurs de Bus donnent en plus de la frquence et pour des raison psychologiques, le dbit du Bus qui est en fait la valeur du produit de la frquence par la largeur du Bus, ce dbit correspond au nombre de bits par seconde transports par le Bus. Quelques chiffres sur des Bus de donnes parallles des annes 2000
BUS Largeur Frquence Dbit Utilisation Processeur/priphrique non graphique Processeur/carte graphique Echanges entres priphriques

PCI AGP SCSI

64 bits 32 bits 16 bits

66 MHz 66 MHz x 8 40 MHz

528 Mo/s 4 Go/s 80 Mo/s

Il existe aussi des "Bus srie" ( Bus qui transportent les bits les uns la suite des autres, contrairement aux Bus parallles), les deux plus rcents concurrents quipent les matriels de grande consommation : USB et Firewire.
BUS Dbit Nombre de priphriques accepts 127 Ces Bus vitent de connecter des priphriques divers comme les souris, les lecteurs de DVD, les GSM, les scanners, les imprimantes, les appareils photo, , sur des ports spcifiques de la machine

USB USB2 Firewire FirewireB

1,5 Mo/s 60 Mo/s 50 Mo/s 200 Mo/s

127
63 63

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

76

1.6 Schma gnral d une micro-machine fictive une adresse

1.7 Notion de jeu d instructions-machine :

Les premiers programmes

Comme dfini prcdemment, une instruction-machine est une instruction qui est directement excutable par le processeur. Lensemble de toutes les instructions-machine excutables par le processeur sappelle le " jeu dinstructions " de lordinateur. Il est compos au minimum de quatre grandes classes dinstructions dans les micro-processeurs : instructions de traitement instructions de branchement ou de droutement instructions dchanges instructions de comparaisons

Dautres classes peuvent tre ajoutes pour amliorer les performances de la machine (instructions de gestion mmoire, multimdias etc..) 1.8 Architectures CISC et RISC Traditionnellement, depuis les annes 70 on dnomme processeur architecture CISC (Complex Instruction Set Code) un processeur dont le jeu d'instructions possde les proprits suivantes : Il contient beaucoup de classes d'instructions diffrentes. Il contient beaucoup de type d'instructions diffrentes complexes et de taille variable. Il se sert de beaucoup de registres spcialiss et de peu de registres gnraux.

rm di Scala - 2006

L'architecture RISC (Reduced Instruction Set Code) est un concept mis en place par IBM dans les
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

77

annes 70, un processeur RISC est un processeur dont le jeu d'instructions possde les proprits suivantes : Le nombre de classes d'instructions diffrentes est rduit par rapport un CISC. Les instructions sont de taille fixe. Il se sert de beaucoup de registres gnraux. Il fonctionne avec un pipe-line

Depuis les dcennies 90, les microprocesseur adoptent le meilleur des fonctionnalits de chaque architecture provoquant de fait la disparition progressive de la diffrence entre RISC et CISC et le invitables polmiques sur l'efficacit suppose meilleure de l'une ou de l'autre architecture.

1.9 Pipe-line dans un processeur Soulignons qu'un processeur est une machine squentielle ce qui signifie que le cycle de traitement d'une instruction se droule squentiellement. Supposons que par hypothse simplificatrice, une instruction machine soit traite en 3 phases : 1 - lecture : dans le registre instruction (RI) 2 - dcodage : extraction du code opration et des oprandes 3 - excution : du traitement et stockage ventuel du rsultat. Reprsentons chacune de ces 3 phases par une unit matrielle distinctes dans le processeur (on appelle cette unit un "tage") et figurons schmatiquement les 3 tages de traitement d'une instruction :

Supposons que suivions pas pas l'excution des 4 instructions machines suivants le long des 3 tages prcdents : ADD 100, 200, 300 MUL 150, 250, 350 DIV 300, 200, 120 MOV 100, 500 Chacune des 4 instruction est traite squentiellement en 3 phases sur chacun des tages; une fois une instruction traite par le dernier tage (tage d'excution) le processeur passe l'instruction suivante et la traite au premier tage et ainsi de suite :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

78

Traitement de la premire instruction ADD 100, 200, 300 On remarquera que :

Pendant le temps d'activation d'un tage, les deux autres restent inactifs.

Il faut attendre la fin du traitement de l'instruction ADD 100, 200, 300 pour pouvoir passer au traitement de l'instruction MUL 150, 250, 350

Le cycle recommence identique pour l'instruction MUL 150, 250, 350

etc L'architecture pipe-line consiste optimiser les temps d'attente de chaque tage, en commenant le traitement de l'instruction suivante ds que l'tage de lecture a t libr par l'instruction en cours, et de procder identiquement pour chaque tage de telle faon que durant chaque phase, tous les tages soient occups fonctionner (chacun sur une instruction diffrente). A un instant t0 donn l'tage d'excution travaille sur les actions effectuer pour l'instruction de rang n, l'tage de dcodage travaille sur le dcodage de l'instruction de rang n+1, et l'tage de lecture sur la lecture de l'instruction de rang n+2. Il est clair que cette technique dnomme architecture pipe-line acclre le traitement d'une instruction donne, puisqu' la fin de chaque phase une instruction est traite en entier. Le nombre d'units diffrentes constituant le pipe-line s'appelle le nombre d'tages du pipe-line.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

79

La figure ci-dessous illustre le dmarrage du traitement des 4 instructions selon un pipe-line 3 tages (lecture, dcodage, excution) :

Priode initiale (une seule fois au dmarrage) Chaque tage se met en route

Excution de l'instruction ADD

Excution de l'instruction MUL etc La prochaine phase verra la fin de l'excution de l'instruction DIV,

1.10 Architecture super-scalaire On dit qu'un processeur est super-scalaire lorsqu'il possde plusieurs pipe-lines indpendants dans lesquels plusieurs instructions peuvent tre traites simultanment. Dans ce type d'architecture apparat la notion de paralllisme avec ses contraintes de dpendances (par exemple lorsqu'une instruction ncessite le rsultat de la prcdente pour s'excuter, ou encore lorsque deux instructions accdent la mme ressource mmoire,). Examinons l'excution de notre exemple 4 instructions sur un processeur super-scalaire 2 pipelines. Nous supposons nous trouver dans le cas idal pour lequel il n'y a aucune dpendance entre deux instructions, nous figurons sparment le schma temporel d'excution de chacun des deux pipe-lines aux t, t+dt, t+2dt et t+3dt afin d'observer leur comportement et en sachant que les deux fonctionnent en mme temps un instant quelconque. Le processeur envoie les deux premires instruction ADD et MUL au pipe-line n1, et les deux suivantes DIV et MOV au pipe-line n2 puis les tages des deux pipe-lines se mettent fonctionner.
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

80

PIPE-LINE n1

PIPE-LINE n2

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

81

nous remarquerons qu'aprs de t+dt, chaque phase voit s'excuter 2 instructions : t+2dt ce sont ADD et DIV t+3dt se sont MUL et MOV Rappelons au lecteur que nous avons suppos par simplification de l'explication que ces 4 instructions sont indpendantes et donc leur ordre d'excution est indiffrent. Ce n'est dans la ralit pas le cas car par exemple si l'instruction DIV 300, 200, 120 utilise le contenu de la mmoire 300 pour le diviser par le contenu de la mmoire 200, et que l'instruction ADD 100, 200, 300 range dans cette mmoire 300 le rsultat de l'addition des contenus des mmoires 100 et 200, alors l'excution de DIV dpend de l'excution de ADD. Dans cette ventualit t+2dt, le calcul de DIV par le second pipe-line doit "attendre" que le calcul de ADD soit termin pour pouvoir s'excuter sous peine d'obtenir une erreur en laissant le paralllisme fonctionner : un processeur super-scalaire doit tre capable de dsactiver le paralllisme dans une telle condition. Par contre dans notre exemple, t+3dt le paralllisme des deux pipe-lines reste efficace MUL et MOV sont donc excutes en mme temps. Le pentium IV de la socit Intel intgre un pipe-line 20 tages et constitue un exemple de processeur combinant un mlange d'architecture RISC et CISC. Il possde en externe un jeu d'instruction complexes (CISC), mais dans son c ur il fonctionne avec des micro-instructions de type RISC traites par un pipe-line super-scalaire. L'AMD 64 Opteron qui est un des micro-processeur de l'offre 64 bits du deuxime constructeur mondial de micro-processeur derrire la socit Intel, dispose de 3 pipe-lines d'excution identiques pour les calculs en entiers et de 3 pipe-lines spcialiss pour les calculs en virgules flottante. L'AMD 64 Opteron est aussi un mlange d'architecture RISC-CISC avec un c ur de micro-instructions RISC comme le pentium IV.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

82

Nous figurons ci-dessous les 3 pipe-lines d'excution (sur les entiers par exemple) :

Chacune des 3 UAL effectue les fonctions classiques d'une UAL, plus des oprations de multiplexage, de drapeau, des fonctions conditionnelles et de rsolution de branchement. Les multiplications sont traites dans une unit part de type pipe-line et sont diriges vers les pipe-lines UAL0 et UAL1.

1.11 Principaux modes d'adressage des instructions machines Nous avons indiqu prcdemment qu'une instruction machine contenait des adresses d'oprandes situes en mmoire centrale. En outre, il a t indiqu que les processeurs centraux disposaient de registres internes. Les informaticiens ont mis au point des techniques d'adressages diffrentes en vue d'accder un contenu mmoire. Nous dtaillons dans ce paragraphe les principales d'entre ces techniques d'adressage. Afin de conserver un point de vue pratique, nous montrons le fonctionnement de chaque mode d'adressage l'aide de schmas reprsentant le cas d'une instruction LOAD de chargement d'un registre nomm ACC d'une machine une adresse, selon 6 modes d'adressages diffrents. Environnement d'excution d'un LOAD Soit considrer un processeur contenant en particulier deux registres X charg de la valeur entire 100 et ACC (accumulateur de machine une adresse) et une mmoire centrale dans laquelle nous exhibons 5 mots mmoire d'adresses 15, 20, 50, 100, 115. Chaque mot et contient un entier respectivement dans l'ordre 50, 70, 80, 20, 60, comme figur ci-dessous :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

83

L'instruction "LOAD Oper" a pour fonction de charger le contenu du registre ACC avec un oprande Oper qui peut prendre 6 formes, chacune de ces formes reprsente un mode d'adressage particulier que nous dfinissons maintenant.

Adressage immdiat L'oprande Oper est considr comme une valeur charger immdiatement (dans le registre ACC ici). Par exemple, nous noterons LOAD #15, pour indiquer un adressage immdiat (c'est dire un chargement de la valeur 15 dans le registre ACC).

Adressage direct L'oprande Oper est considr comme une adresse en mmoire centrale. Par exemple, nous noterons LOAD 15, pour indiquer un adressage direct (c'est dire un chargement du contenu 50 du mot mmoire d'adresse 15 dans le registre ACC).

Adressage direct avec registre L'oprande Oper est un registre interne du processeur (not X dans l'exemple), un tel mode d'adressage indique de charger dans ACC le contenu du registre Oper. Par exemple, nous noterons LOAD X, pour indiquer un adressage direct avec registre qui charge l'accumulateur ACC avec la valeur 100 contenue dans X.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

84

Adressage indirect L'oprande Oper est considr comme l'adresse d'un mot 1 en mmoire centrale, mais ce mot 1 contient lui-mme l'adresse d'un autre mot 2 dont on doit charger le contenu dans ACC. Par exemple, nous noterons LOAD (15), pour indiquer un adressage indirect (c'est dire un chargement dans le registre ACC, du contenu 80 du mot2 mmoire dont l'adresse 50 est contenue dans le mot 1 d'adresse 15).

Adressage indirect avec registre L'oprande Oper est considr comme un registre dont le contenu est l'adresse du mot dont on doit charger la valeur dans ACC. Par exemple, nous noterons LOAD (X), pour indiquer un adressage indirect avec le registre X (c'est dire un chargement dans le registre ACC, du contenu 20 du mot mmoire dont l'adresse 100 est contenue dans le registre X).

Adressage index L'oprande Oper est un couple form par un registre R et une adresse adr. La connaissance de l'adresse du mot dont on doit charger la valeur est obtenue par addition de l'adresse adr au contenu du registre R. Par exemple, nous noterons LOAD 15, X , pour indiquer un adressage index par le registre X (c'est dire un chargement dans le registre ACC, du contenu 60 du mot mmoire dont l'adresse 115 est obtenue par addition de 15 et du contenu 100 du registre X).
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

rm di Scala - 2006

85

Quelques remarques sur les diffrents modes d'adressages (avec l'exemple du LOAD) : Le mode direct correspond des proccupations de chargement de valeur des emplacements fixs. Les modes indirects permettent partir d'un emplacement mmoire quelconque d'atteindre un autre emplacement mmoire et donc autorise des traitements sur les adresses elles-mmes. Le mode index est trs utile lorsque l'on veut atteindre une famille de cellules mmoires contigus possdant une adresse de base (comme pour un tableau). L'instruction LOAD 15,X permet si l'on fait varier le contenu du registre X de la valeur 0 la valeur 10 (dans une itration par exemple) d'atteindre les mots d'adresse 15, 16, , 25.

Les registres sont trs prsents dans les micro-processeurs du march Le processeur AMD 64 bits Optron travaille avec 16 registres gnraux de 64 bits et 16 registres gnraux de 128 bits. Le processeur pentium IV travaille avec 8 registres gnraux 32 bits et 8 registres gnraux 80 bits. L'architecture IA 64 d'Intel et HP est fonde sur des instructions machines trs longues travaillant avec 128 registres gnraux 64 bits et 128 registres gnraux 82 bits pour les calculs classiques.

Il en est des processeurs comme il en est des moteurs explosion dans les voitures, quelle que soit leur sophistication technique (processeur vectoriel, machine parallle, machine multi-processeur, )leurs fondements restent tablis sur les principes d'une machine de Von Neumann ( mmoire, registre, adresse, transfert).

2. Mmoires : mmoire Centrale , mmoire cache


2.1 Mmoire Mmoire :cest un organe (lectronique de nos jours), capable de contenir, de conserver et de restituer sans les modifier de grandes quantits dinformation.
Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

86

2.2 Les diffrents types de mmoires La mmoire vive RAM (Random Access Memory) Mmoire dans laquelle on peut lire et crire. Mmoire volatile (perd son contenu ds la coupure du courant).

La mmoire morte ROM (Read Only Memory) Mmoire dans laquelle on ne peut que lire. Mmoire permanente (conserve indfiniment son contenu).

Les PROM (Programable ROM) Ce sont des mmoires vierges programmables une seule fois avec un outil spcialis sappelant un programmateur de PROM. Une fois programmes elles se comportent dans lordinateur comme des ROM.

Les EPROM (Erasable PROM) Ce sont des PROM effaables (gnralement sous rayonnement U.V), elles sont reprogrammables avec un outil spcialis, elles se comportent comme des ROM en utilisation courante. Les EEPROM (Electrical EPROM) sont effaables par signaux lectriques. Les FLASH EEPROM sont des EEPROM effaables par bloc.

2.3 Les units de capacit Les units de mesure de stockage de linformation sont : Le bit (pas de notation) Loctet = 23 bits = 8 bits. (not 1 o) Le Kilo-octet = 210 octets =1024 o (not 1 Ko) Le Mga-octet = 220 octets =(1024)2 o (not 1 Mo) Le Giga-octet = 230 octets =(1024)3 o (not 1 Go) Le Tra-octet = 240 octets =(1024)4 o (not 1 To)
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

87

Les autres sur-units sont encore peu employes actuellement.

2.4 Mmoire centrale : dfinitions Mot : cest un regroupement de n bits constituant une case mmoire dans la mmoire centrale. Ils sont tous numrots.

Adresse : cest le numro dun mot-mmoire (case mmoire) dans la mmoire centrale.

Programme : cest un ensemble dinstructions pralablement codes (en binaire) et enregistres dans la mmoire centrale sous la forme dune liste squentielle dinstructions. Cette liste reprsente une suite dactions lmentaires que lordinateur doit accomplir sur des donnes en entre, afin datteindre le rsultat recherch.

Organisation : La mmoire centrale est organise en bits et en mots. Chaque motmmoire est repr bijectivement par son adresse en mmoire centrale.

Contenu : La mmoire centrale contient en binaire, deux sortes dinformations des programmes, des donnes.

Composition : Il doit tre possible de lire et dcrire dans une mmoire centrale. Elle est donc habituellement compose de mmoires de type RAM. Remarques Un ordinateur dot dun programme est un automatisme apte seulement rpter le mme travail(celui dict par le programme). Si lon change le programme en mmoire centrale, on obtient un nouvel automatisme.

2.5 Mmoire centrale : caractristiques


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

88

La mmoire centrale peut tre ralise grce des technologies diffrentes. Elle possde toujours des caractristiques gnrales qui permettent de comparer ces technologies. En voici quelques unes : La capacit reprsente le nombre maximal de mots que la mmoire peut stocker simultanment. Le temps daccs est le temps qui scoule entre le stockage de ladresse du mot slectionner et lobtention de la donne. Le temps de cycle ou cycle mmoire est gal au temps daccs ventuellement additionn du temps de rafrachissement ou de rcriture pour les mmoires qui ncessitent ces oprations. Le dbit d'une mmoire : c'est l'inverse du cycle mmoire en octet par seconde La volatilit, la permanence.

Terminons ce survol des possibilits dune mmoire centrale, en indiquant que le mcanisme daccs une mmoire centrale par le processeur est essentiellement de type squentiel et se dcrit selon trois phases : stockage, slection, transfert.

Pour l'instant : Un ordinateur est une machine squentielle de Von Neumann dans laquelle sexcutent ces 3 phases dune manire immuable, que ce soit pour les programmes ou pour les donnes et aussi complexe que soit la machine.

La mmoire centrale est un lment d'importance dans l'ordinateur, nous avons vu qu'elle est compose de RAM en particulier de RAM dynamiques nommes DRAM dont on rappelle que sont des mmoires construite avec un transistor et un condensateur. Depuis 2004 les micro-ordinateurs du commerce sont tous quips de DRAM, le sigle employ sur les notices techniques est DDR qui est l'abrviation du sigle DDR SDRAM dont nous donnons l'explication : Ne pas confondre SRAM et SDRAM Une SRAM est une mmoire statique (SRAM = Statique RAM) construite avec des bascules, une SDRAM est une mmoire dynamique DRAM qui fonctionne la vitesse du bus mmoire, elle est donc synchrone avec le fonctionnement du processeur le "S" indique la synchronicit (SDRAM = Synchrone DRAM). Une DDR SDRAM C'est une SDRAM double taux de transfert pouvant expdier et recevoir des donnes deux fois par cycle d'horloge au lieu d'une seule fois. Le sigle DDR signifie Double Data Rate.
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

rm di Scala - 2006

89

Les performances des mmoires s'amliorent rgulirement, le secteur d'activit est trs innovant, le lecteur retiendra que les mmoires les plus rapides sont les plus chres et que pour les comparer en ce domaine, il faut utiliser un indicateur qui se nomme le cycle mmoire.

Temps de cycle d'une mmoire ou cycle mmoire : le processeur attend Nous venons de voir qu'il reprsente l'intervalle de temps qui s'coule entre deux accs conscutif la mmoire toutes oprations cumules. Un processeur est cadenc par une horloge dont la frquence est donne actuellement en MHz (Mga Hertz). Un processeur fonctionne beaucoup plus rapidement que le temps de cycle d'une mmoire, par exemple prenons un micro-processeur cadenc 5 MHz auquel est connecte une mmoire SDRAM de temps de cycle de 5 ns (ordre de grandeur de matriels rcents). Dans ces conditions le processeur peut accder aux donnes selon un cycle qui lui est propre 1/5MHz soit un temps de 2.10-1 ns, la mmoire SDRAM ayant un temps de cycle de 5 ns, le processeur doit attendre 5ns / 2.10-1 ns = 25 cycles propres entre deux accs aux donnes de la mmoire. Ce petit calcul montre au lecteur l'intrt de l'innovation en rapidit pour les mmoires. C'est aussi pourquoi on essaie de ne connecter directement au processeur que des mmoires qui fonctionnent une frquence proche de celle du processeur.

Les registres d'un processeur sont ses mmoires les plus rapides Un processeur central est quip de nombreux registres servant diffrentes fonctions, ce sont en gnral des mmoires qui travaillent une frquence proche de celle du processeur, actuellement leur architecture ne leur permet pas de stocker de grandes quantits d'informations. Nous avons vu au chapitre consacr aux circuits logiques les principaux types de registres (registres parallles, registres dcalages, registres de comptage, ) Nous avons remarqu en outre que la mmoire centrale qui stocke de trs grandes quantits d'informations (relativement aux registres) fonctionne une vitesse plus lente que celle du processeur. Nous retrouvons alors la situation classique d'quilibre entre le dbit de robinets qui remplissent ou vident un rservoir. En informatique, il a t prvu de mettre entre le processeur et la mmoire centrale une sorte de rservoir de mmoire intermdiaire nomme la mmoire cache.

2.6 Mmoire cache

La mmoire cache (on dit aussi le cache) est une varit de mmoire plus rapide que la mmoire centrale (un peu moins rapide que les registres). La particularit technique actuelle de la mmoire
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

90

cache est que plus sa taille est grande plus son dbit a tendance ralentir. La caractristique fonctionnelle du cache est de servir stocker des instructions et des donnes provenant de la mmoire centrale et qui ont dj t utilises les plus rcemment par le processeur central. Actuellement le cache des micro-processeurs rcents du march est compos de deux niveaux de mmoires de type SRAM la plus rapide (type de mmoire RAM statique semblable celle des registres) : le cache de niveau un est not L1, le cache de niveau deux est not L2. Le principe est le suivant : Le cache L1 est form de deux blocs spars, l'un servant au stockage des donnes, l'autre servant au stockage des instructions.

Si un tage du processeur cherche une donne, elle va tre d'abord recherche dans le cache de donne L1 et rapatrie dans un registre adquat, si la donne n'est pas prsente dans le cache L1, elle sera recherche dans le cache L2. Si la donne est prsente dans L2, elle est alors rapatrie dans un registre adquat et recopie dans le bloc de donne du cache L1. Il en va de mme lorsque la donne n'est pas prsente dans le cache L2, elle est alors rapatrie depuis la mmoire centrale dans le registre adquat et recopie dans le cache L2. Gnralement la mmoire cache de niveau L1 et celle de niveau L2 sont regroupes dans la mme puce que le processeur (cache interne). Nous figurons ci-dessous le facteur d'chelle relatif entre les diffrents composants mmoires du processeur et de la mmoire centrale (il s'agit d'un coefficient de multiplication des temps d'accs une information selon la nature de la mmoire qui la contient). Les registres, mmoires les plus rapides se voient affecter la valeur de rfrence 1 :
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

91

L'accs par le processeur une information situe dans la DDR SDRAM de la mmoire centrale est 100 fois plus lente qu'un accs une information contenue dans un registre. Par exemple, le processeur AMD 64 bits Optron travaille avec un cache interne L1 de 64 Ko constitu de mmoires associatives (type ECC pour le bloc L1 de donnes et type parit pour le bloc L1 d'instructions), le cache L2 de l'Optron a une taille de 1 Mo constitu de mmoires 64 bits associatives de type ECC, enfin le contrleur de mmoire accepte de la DDR SDRAM 128 bits jusqu' 200 Mhz en qualit ECC.

Dfinition de mmoire ECC (mmoire code correcteur d'erreur) Une mmoire ECC est une mmoire contenant des bits supplmentaires servant dtecter et corriger une ventuelle erreur ou altration de l'information qu'elle contient (par exemple lors d'un transfert). La technique la plus simple est celle du bit de parit (Parity check code), selon cette technique l'information est code sur n bits et la mmoire contient un n+1 me bit qui indique si le nombre de bits codant l'information contenue dans les n bits est pair (bit=0) ou impair(bit=1). C'est un code dtecteur d'erreur. Exemple d'une mmoire 4 bits plus bit de parit (le bit de poids faible contient la parit) : Information 10010 bit de parit = 0 , car il y a deux bits gaux 1 (nombre pair) Information 11110 bit de parit = 0 , car il y a quatre bits gaux 1 (nombre pair) Information 11011 bit de parit = 1 , car il y a trois bits gaux 1 (nombre impair) Une altration de deux bits (ou d'un nombre pair de bits) ne modifiant pas la parit du dcompte ne sera donc pas dcele par ce code : Supposons que l'information 10010 soit altre en 01100 ( le bit de parit ne change pas car le nombre de 1 de l'information altre est toujours pair, il y en a toujours 2 ! ). Ce code est simple peu coteux, il est en fait un cas particulier simple de codage linaire systmatique invents par les spcialistes du domaine.

Mmoire ECC gnrale Les mathmaticiens mis contribution travers la thorie des groupes et des espaces vectoriels fournissent des modles de codes dtecteur et correcteur d'erreurs appels codes linaire cycliques, les codes de Hamming sont les plus utiliss. Pour un tel code permettant de corriger d'ventuelles erreur de transmission, il faut ajouter aux n bits de l'information utile, un certain nombre de bits supplmentaires reprsentant un polynme servant corriger les n bits utiles. Pour une mmoire ECC de 64 bits utiles, 7 supplmentaires sont ncessaires pour le polynme de correction, pour une mmoire de 128 bits utiles, 8 bits sont ncessaires. Vous remarquez que l'Optron d'AMD utilise de la mmoire ECC pour le cache L1 de donnes et de la mmoire parit
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

92

pour le cache instruction. En effet, si un code d'instruction est altr, l'tage de dcodage du processeur fera la vrification en bloquant l'instruction inexistante, la protection apporte par la parit est suffisante; en revanche si c'est une donne qui est altre dans le cache L1 de donnes, le polynme de correction aidera alors restaurer l'information initiale.

Mmoire associative C'est un genre de mmoire construit de telle faon que la recherche d'une information s'effectue non pas travers une adresse de cellule, la mmoire renvoyant alors le contenu de la cellule, mais plutt en donnant un "contenu" rechercher dans la mmoire et celle-ci renvoie l'adresse de la cellule.

Une mmoire cache est une mmoire associative, ainsi elle permet d'adresser directement dans la mmoire centrale qui n'est pas associative.

On peut considrer une mmoire cache comme une sorte de table de recherche contenant des morceaux de la mmoire centrale. La mmoire centrale est divise en blocs de n mots, et la mmoire cache contient quelques un de ces blocs qui ont t chargs prcdemment. Notation graphiques utilises :

Mcanisme synthtique de lecture-criture avec cache :


rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

93

Le processeur fournit l'adresse d'un mot lire : 1) Si ce mot est prsent dans le cache, il se trouve dans un bloc dj copi partir de son original dans le MC (mmoire centrale), il est alors envoy au processeur :

2) Si ce mot n'est pas prsent dans le cache, l'adresse porte alors sur un mot situ dans un bloc prsent dans la MC (mmoire centrale).

Dans cette ventualit le bloc de la MC dans lequel se trouve le mot, se trouve recopi dans le cache et en mme temps le mot est envoy au processeur :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

94

Pour l'criture l'opration est semblable, selon que le mot est dj dans le cache ou non. Lorsque le mot est prsent dans le cache et qu'il est modifi par une criture il est modifi dans le bloc du cache et modifi aussi dans la MC :

Ce fonctionnement montre qu'il est donc ncessaire que la mmoire cache soit lie par une correspondance entre un mot situ dans elle-mme et sa place dans la MC. Le fait que la mmoire cache soit constitue de mmoires associatives, permet la mmoire cache lorsqu'un mot est slectionn de fournir l'adresse MC de ce mot et donc de pouvoir le modifier.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

95

3. Une petite machine pdagogique 8 bits


( assistant du package pdagogique prsent sur le CD-ROM )

3.1 Unit centrale de PM (pico-machine) Objectif: Support pdagogique interactif destin faire comprendre l'analyse et le cheminement des informations dans un processeur central d'ordinateur fictif avec accumulateur. La mmoire centrale est mots de 8 bits, les adresses sont sur 16 bits. le processeur est dot d'instructions immdiates ou relatives. Les instructions sont de 3 types 1 octet (immdiat), 2 octets (court) ou 3 octets (long). Les instructions sont adressages immdiat et adressage direct.

Interface utilisateur de l'assistant :

Description gnrale de lunit centrale de PM simule sur le tableau de bord ci-dessous :


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

96

RA = Registre Adresse sur 16 bits CO = Compteur Ordinal sur 16 bits DC = Registre de formation d'adresse sur 16 bits RD = Registre de Donnes sur 8 bits UAL = Unit Arithmtique et Logique effectuant les calculs sur 8 bits avec possibilit de dbordement. Acc = Accumulateur sur 8 bits (machine une adresse). RI = Registre Instruction sur 8 bits (instruction en cours d'excution). Dcodeur de fonction. squenceur Horloge CCR = un Registre de 4 Codes Condition N, V, Z, C, BUS de contrle (bi-directionnel) BUS interne (circulation des informations internes).

3.2 Mmoire centrale de PM La mmoire centrale de PM est de 512 octets, ce qui permet dans une machine 8 bits de voir comment est construite la technique d'adressage court (8 bits) et d'adressage long (16 bits).

|adresse|contenu|
rm di Scala - 2006

Elle est connecte lunit centrale travers deux bus : un bus dadresse et un bus de donnes.
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

97

3.3 Jeu d instructions de PM


PM est dot du jeu d'instructions suivant : L'adressage immdiat d'une instruction INSTR est not : INSTR #<valeur> L'adressage direct d'une instruction INSTR est not : INSTR <valeur>

addition avec l'accumulateur ADD #<valeur> 2 octets code=16 ADD <adr 16 bits> 3 octets code=18 ADD <adr 8 bits> 2 octets code=17

chargement de l'accumulateur LDA #<valeur> 2 octets code=10 LDA <adr 16 bits> 3 octets code=12 LDA <adr 8 bits> 2 octets code=11

rangement de l'accumulateur STA <adr 16 bits> 3 octets code=15 STA <adr 8 bits> 2 octets code=14

positionnement indicateurs CNVZ STC (C=1) 1 octet code=100 STN (N=1) 1 octet code=101 STV (V=1) 1 octet code=102 STZ (Z=1) 1 octet code=103 CLC (C=0) 1 octet code=104 CLN (N=0) 1 octet code=105 CLV (V=0) 1 octet code=106 CLZ (Z=0) 1 octet code=107

branchement relatif sur indicateur


Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

98

BCZ (brancht.si C=0) 2 octets code=22 BNZ (brancht.si N=0) 2 octets code=23 BVZ (brancht.si V=0) 2 octets code=24 BZZ (brancht.si Z=0) 2 octets code=25 END (fin programme) 1 octet code=255 Dans le CCR les 4 bits indicateurs sont dans cet ordre : N V Z C. Ils peuvent tre : soit positionns automatiquement par la machine:

N = le bit de poids fort de l'Accumulateur V = 1 si overflow (dpassement capacit) 0 sinon Z = 1 si Accumulateur vaut 0 Z = 0 si Accumulateur <0 C = 1 si retenue (dans l'addition) sinon 0 soit positionns par programme.

Exemple de programme en PM LDA #18 ; {chargement de laccumulateur avec la valeur 18} STA 50 ; {rangement de laccumulateur dans la mmoire n 50} LDA #5 ; {chargement de laccumulateur avec la valeur 5} STA 51 ; {rangement de laccumulateur dans la mmoire n51} ADD 50 ; {addition de laccumulateur avec la mmoire n50} STA 52 ; {rangement de laccumulateur dans la mmoire n52} END

Le lecteur est encourag utiliser le logiciel d'assistance Pico-machine du package pdagogique qui se trouve accessible travers l'onglet simulateur et met en uvre :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

99

4. Mmoire de masse (externe ou auxiliaire)


Les donnes peuvent tre stockes des fins de conservation, ailleurs que dans la mmoire centrale volatile par construction avec les constituants lectroniques actuels. Des priphriques spcialiss sont utiliss pour ce genre de stockage longue conservation, en outre ces mmes priphriques peuvent stocker une quantit d'information trs grande par rapport la capacit de stockage de la mmoire centrale. On dnomme dispositifs de stockage de masse, de tels priphriques. Les mmoires associes ces dispositifs se dnomment mmoires de masse, mmoires externes ou encore mmoires auxiliaires, par abus de langage la mmoire dsigne souvent le dispositif de stockage. Les principaux reprsentant de cette famille de mmoires sont : Les bandes magntiques (utiliss dans de trs faible cas) Les disques magntiques : les disquettes (en voie d'abandon), les disques durs (les plus utiliss). Les CD (trs utiliss mais bientt supplants par les DVD) Les DVD

Des technologies ont vu le jour puis se sont teintes (tambour magntique, cartes magntiques, mmoires bulles magntiques,) A part les bandes magntiques qui sont un support ancien encore utilis fonctionnement squentiel, les autres supports (disques, CD, DVD) sont des mmoires qui fonctionnent accs direct.

4.1 Disques magntiques - disques durs Nous dcrivons l'architecture gnrale des disques magntiques encore appels disques durs (terminologie amricaine hard disk, par opposition aux disquettes nommes floppy disk) trs largement employs dans tous les types d'ordinateur comme mmoire auxiliaire. Un micro-ordinateur du commerce dispose systmatiquement d'un ou plusieurs disques durs et au minimum d'un lecteur-graveur combin de CD-DVD permettant ainsi l'accs aux informations extrieures distribues sur les supports faibles cot comme les CD et les DVD qui les remplacent progressivement. Un disque dur est compos d'un disque mtallique sur lequel est dpos un film magntisable, sur une seule face ou sur ses deux faces :

Ce film magntique est compos de grains d'oxyde magntisable et c'est le fait que certaines zones du
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

100

film conservent ou non un champ magntique, qui reprsente la prsence d'un bit 0 ou bien 1.

Coupe d'une tranche de disque et figuration de zones magntises interprtes comme un bit

Organisation gnrale d'un disque dur

Un disque dur est au minimum compos de pistes numrotes et de secteurs numrots, les donnes sont stockes dans les secteurs.

Le disque tourne sur son axe vitesse d'environ 7200 tr/mn et un secteur donn peut tre atteint par un dispositif mobile appel tte de lecture-criture, soit en lecture (analyse des zones magntiques du secteur) ou en criture (modification du champ des zones magntiques du secteur). Opration semblable celle qui se passe dans un magntoscope avec une bande magntique qui passe devant la tte de lecture. Dans un magntoscope une tte, seule la bande magntise dfile, la tte reste immobile, dans un disque dur le disque tourne sur son axe de symtrie et la tte est anime d'un mouvement de translation permettant d'atteindre n'importe qu'elle piste du disque.

La tte "flotte" sur un coussin d'air engendr par la rotation trs rapide du disque, ce qui la maintient une hauteur constante de la surface du disque adquate pour l'enregistrement du champ magntique du film.

rm di Scala - 2006

Afin d'augmenter la capacit d'un "disque dur" on empile plusieurs disques physique sur le mme axe et on le muni d'un dispositif plusieurs ttes de lecture-criture permettant d'accder toutes les faces et toutes les pistes de tous les disques physiques. La pile de disques construite est encore
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

101

appele un disque dur.

ttes Pile de disques disques et ttes en action

Dans une pile de disques on ajoute la notion de cylindre qui repre toutes les pistes portant le mme numro sur chaque face de chacun des disques de la pile.

Formatage

Avant toute utilisation ou bien de temps autre pour tout effacer, les disques durs doivent tre "formats", opration qui consiste crer des pistes magntiques et des secteurs vierges (tous les bits 0 par exemple). Depuis 2005 les micro-ordinateurs sont livrs avec des disques durs dont la
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

102

capacit de stockage dpasse les 200 Go, ces disques sont pourvu d'un systme de mmoire cache (semblable celui dcrit pour la cache du processeur central) afin d'acclrer les transferts de donnes. Le temps d'accs une information sur un disque dur est de l'ordre de la milliseconde.

4.2 Disques optique compact ou CD (compact disk) Untel disque peut tre en lecture seule (dans ce cas on parle de CD-ROM) ou bien en lecture et criture (dans ce cas on parle de CD rinscriptible). Il est organis peu prs comme un disque magntique, avec une diffrence notable : il n'a qu'une seule piste qui se droule sous la forme d'une spirale.

Si sur un disque magntique les bits codant l'information sont reprsents par des grains magntisables, dans un CD ce sont des creux provoqus par brlure d'un substrat aluminis rflchissant qui reprsentent les bits d'information.

Gravure d'un CD-ROM

Comme pour un disque dur, le formatage appel gravure du CD cre les secteurs et les donnes en mme temps. Plus prcisment c'est l'absence ou la prsence de brlures qui reprsente un bit 0 ou 1, le substrat aluminis est protg par une couche de plastique transparent.

Aprs gravure avec le graveur de CD, les bits sont matrialiss :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

103

Principe de lecture d'un CD :

Lorsque le substrat est lisse (non brl) un endroit matrialisant un bit, le rayon lumineux de la diode laser du lecteur est rflchi au maximum de son intensit vers la cellule de rception.

On dira par exemple que le bit examin vaut 0 lorsque l'intensit du signal rflchi est maximale. Lorsque le substrat est brl un endroit matrialisant un bit, la partie brle est irrgulire et le rayon lumineux de la diode laser du lecteur est mal rflchi vers le capteur (une partie du rayonnement est rflchi par les asprits de la brlure dans plusieurs directions). Dans cette ventualit l'intensit du signal capt par rflexion est moindre.

On dira par exemple que le bit examin vaut 1 lorsque l'intensit du signal rflchi n'est pas maximale. La vitesse du disque est variable contrairement un disque dur qui tourne vitesse angulaire fixe. En effet la lecture de la piste en spirale ncessite une augmentation au fur et mesure de l'loignement du centre. Le temps d'accs une information sur un CD 54x est de l'ordre de 77 millisecondes. Le temps d'accs sur un CD ou un DVD est 10 fois plus lent que celui d'un disque dur et environ 100 fois moins volumineux qu'un disque dur. Toutefois leur cot trs faible et leur facilit de transport font que ces supports sont trs utiliss de nos jours et remplacent la disquette moins rapide et de moindre capacit. Nous pouvons reprendre l'chelle comparative des temps d'accs des diffrents types de mmoires en y ajoutant les mmoires de masse et en indiquant en dessous l'ordre de grandeur de leur capacit :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

104

1.6 Systme dexploitation


Plan du chapitre:

1. Notion de systme dexploitation


1.1 Les principaux types d OS monoprogrammation multi-programmation temps partag 1.2 Systmes d'exploitations actuels

2. Processus et multi-threading dans un OS


2.1 Les processus agissent grce au systme 2.2 Le multi-threading 2.3 Relation entre threads et processus 2.4 L'ordonnancement pour grer le temps du processeur 2.5 Un algorithme classique non premptif (cas batch processing) 2.6 Deux algorithmes classiques premptifs (cas interactif)

3. Gestion de la mmoire par un OS de multi-programmation


3.1 Mmoire virtuelle et segmentation 3.2 Mmoire virtuelle et pagination

4. Les OS des mico-ordinateurs


4.1 Le systme d'exploitation du monde libre : Linux 4.2 Le systme d'exploitation Windows de Microsoft

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

105

1. Notion de systme dexploitation


Un ordinateur est constitu de matriel (hardware) et de logiciel (software). Cet ensemble est la disposition de un ou plusieurs utilisateurs. Il est donc ncessaire que quelque chose dans lordinateur permette la communication entre lhomme et la machine. Cette entit doit assurer une grande souplesse dans linterface et doit permettre daccder toutes les fonctionnalits de la machine. Cette entit doue dune certaine intelligence de communication se dnomme " la machine virtuelle ". Elle est la runion du matriel et du systme dexploitation (que nous noterons OS par la suite pour Operating System).

Le systme dexploitation dun ordinateur est charg dassurer les fonctionnalits de communication et dinterface avec lutilisateur. Un OS est un logiciel dont le grand domaine dintervention est la gestion de toutes les ressources de lordinateur : mmoires, fichiers, priphriques, entre-sortie, interruptions, synchronisation...

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

106

Un systme dexploitation nest pas un logiciel unique mais plutt une famille de logiciels. Une partie de ces logiciels rside en mmoire centrale (nomme rsident ou superviseur), le reste est stock en mmoire de masse (disques durs par exemple). Afin dassurer une bonne liaison entre les divers logiciels de cette famille, la cohrence de lOS est gnralement organise travers des tables dinterfaces architectures en couches de programmation (niveaux abstraits de liaison). La principale tche du superviseur est de grer le contrle des changes dinformations entre les diverses couches de lOS.

1.1 Historique des principaux types d OS Nous avons vu dans le tableau synoptique des diffrentes gnrations dordinateurs que les OS ont subi une volution parallle celle des architectures matrielles. Nous observons en premire approximation quil existe trois types dOS diffrents, si lon ignore les systmes rudimentaires de la 1re gnration.

MONOPROGRAMMATION : La 2me gnration dordinateurs est quipe dOS dits de "


monoprogrammation " dans lesquels un seul utilisateur est prsent et a accs toutes les ressources de la machine pendant tout le temps que dure son travail. LOS ne permet le passage que d'un seul programme la fois. A titre dexemple, supposons que sur un tel systme 5 utilisateurs excutent chacun un programme P1, P2, P3, P4, P5 :

Dans lordre de la figure ci-haut, chaque Pi attend Exemple de diagramme des temps dexcution de chaque programme Pi de la figure de gauche. que le Pi+1 prcdent ait termin son excution pour tre excut son tour. Laxe des abscisses du diagramme des temps d'excution, indique lordre de passage prcdent (P5, puis P4 etc...) nous voyons que les temps dattente dun utilisateur ne dpendent pratiquement pas de la dure dexcution de son programme mais surtout de lordre du passage (les derniers sont pnaliss surtout si en plus leur temps propre dexcution est faible comme P1 par exemple).
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

107

Une vision abstraite et synthtique dun tel systme est de considrer que 5 tables suffisent le dcrire. La table : des units logiques, des units physiques, des tats, de ventilation des interruptions, des canaux.

Relativement aux temps dattente, un systme de monoprogrammation est injuste vis vis des petits programmes.

MULTIPROGRAMMATION : La 3me gnration dordinateur a vu natre avec elle les OS


de multiprogrammation. Dans un tel systme, plusieurs utilisateurs peuvent tre prsents en " mme temps " dans la machine et se partagent les ressources de la machine pendant tout leur temps dexcution. En reprenant le mme exemple que prcdemment, P1, P2, P3, P4, P5 sont excuts cycliquement par lOS qui leur alloue les ressources ncessaires (disque, mmoire, fichier,...) pendant leur tranche de temps dexcution. Nous exposons dans l'exemple ci-dessous uniquement des excutions ne ncessitant jamais dinterruptions, ni de priorit, et nous posons comme hypothse que le temps fictif allou pour lexcution est de 1 seconde :

Exemple de diagramme des temps dexcution Dans la figure ci-haut, chaque Pi se voit allouer une tranche de temps d'excution (1 seconde), ds cyclique de chaque programme Pi de la figure de que ce temps est coul, l'OS passe l'excution gauche. du Pi+1 suivant etc

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

108

Nous observons dans le diagramme des temps d'excution que le systme excute P5 pendant 1 seconde, puis abandonne P5 et excute P4 pendant 1 seconde, puis abandonne P4..., jusqu' l'excution de P1, lorsquil a fini le temps allou P1, il recommence parcourir cycliquement la liste (P5, P4, P3, P2, P1) et ralloue 1 seconde de temps dexcution P5 etc... jusqu' ce quun programme ait termin son excution et quil soit sorti de la table des programmes excuter. Une vision abstraite dduite du paragraphe prcdent et donc simplificatrice, est de dcrire un tel systme comme compos des 5 types de tables prcdentes en y rajoutant de nouvelles tables et en y incluant la notion de priorit dexcution hirarchise. Les programmes se voient affecter une priorit qui permettra lOS selon les niveaux de priorit, de traiter certains programmes plus compltement ou plus souvent que dautres. Relativement aux temps dattente, un systme de multiprogrammation rtablit une certaine justice entre petits et gros programmes.

TEMPS-PARTAGE : Il sagit dune amlioration de la multiprogrammation oriente vers le


transactionnel. Un tel systme organise ses tables dutilisateurs sous forme de files dattente. Lobjectif majeur est de connecter des utilisateurs directement sur la machine et donc doptimiser les temps dattente de lOS (un humain tant des millions de fois plus lent que la machine sur ses temps de rponse). La 4me gnration dordinateur a vu natre les rseaux dordinateurs connects entre eux et donc de nouvelles fonctionnalits, comme linterfaage rseau, qui ont enrichi les OS dj existants. De nouveaux OS entirement orients rseaux sont construits de nos jours.

1.2 Systmes d'exploitation actuels De nos jours, les systmes d'exploitation sont des systmes de multi-programmation dirigs vers certains type d'applications, nous citons les trois types d'application les plus significatifs.
Systme inter-actif

Un tel systme a vocation permettre l'utilisateur d'intervenir pratiquement toutes les tapes du fonctionnement du systme et pendant l'excution de son programme (Windows Xp, Linux sont de tels systmes).
Systme temps rel

Comme son nom l'indique, un systme de temps rel excute et synchronise des applications en tenant compte du temps, par exemple un systme grant une chane de montage de pices assembler doit tenir compte des dlais de prsentation d'une pice la machine d'assemblage, puis celle de soudage etc
Systme embarqu

C'est un systme d'exploitation ddi des applications en nombre restreint et identifies : par exemple un systme de gestion et de contrle des mesures l'intrieur d'une sonde autonome, un systme pour assistant personnel de poche, systme pour tlphone portables se connectant internet etc
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

109

Les principales caractristiques d'un systme d'exploitation de multi-programmation sont fondes sur la gestion des processus et la gestion de la mmoire allouer ces processus.

2. Processus et multi-threading dans un OS


Contexte d'excution d'un programme

Lorsqu'un programme qui a t traduit en instructions machines s'excute, le processeur central lui fournit toutes ses ressources (registres internes, place en mmoire centrale, donnes, code,), nous nommerons cet ensemble de ressources mises disposition d'un programme son contexte d'excution.

Programme et processus

Nous appelons en premire analyse, processus l'image en mmoire centrale d'un programme s'excutant avec son contexte d'excution. Le processus est donc une abstraction synthtique d'un programme en cours d'excution et d'une partie de l'tat du processeur et de la mmoire.

Lorsque l'on fait excuter plusieurs programmes "en mme temps", nous savons qu'en fait la simultanit n'est pas relle. Le processeur passe cycliquement une partie de son temps (quelques millisecondes) excuter squentiellement une tranche d'instructions de chacun des programmes selon une logique qui lui est propre, donnant ainsi l'illusion que tous les programmes sont traits en mme temps parce que la dure de l'excution d'une tranche d'instruction est plus rapide que notre attention consciente.

Le SE (systme d'exploitation) gre 4 processus

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

110

2.1 Les processus agissent grce au systme

Processus

Nous donnons la dfinition prcise de processus propose par A.Tannenbaum, spcialiste des systmes d'exploitation : c'est un programme qui s'excute et qui possde son propre espace mmoire, ses registres, ses piles, ses variables et son propre processeur virtuel (simul en multi-programmation par la commutation entre processus effectue par le processeur unique). Un processus a donc une vie propre et une existence phmre, contrairement au programme qui lui est physiquement prsent sur le disque dur. Durant sa vie, un processus peut agir de diffrentes manires possibles, il peut se trouver dans diffrents tats, enfin il peut travailler avec d'autres processus prsent en mme temps que lui.

Diffrentes actions possibles d'un processus

Un processus est cr. Un processus est dtruit. Un processus s'excute (il a le contrle du processeur central et excute les actions du programme dont il est l'image en mmoire centrale). Un processus est bloqu (il est en attente d'une information). Un processus est passif (il n'a plus le contrle du processeur central). Etat actif : le processus contrle le processeur central et s'excute). Etat passif : le processus est temporairement suspendu et mis en attente, le processeur central travaille alors avec un autre processus. Etat bloqu : le processus est suspendu toutefois le processeur central ne peut pas le ractiver tant que l'information attendue par le processus ne lui est pas parvenue. Il peut crer d'autre processus Il travaille et communique avec d'autres processus (notion de synchronisation et de messages entre processus) Il peut possder une ressource titre exclusif ou bien la partager avec d'autre processus.

On distingue trois actions particulires appeles tats du processus

Que peut faire un processus ?

C'est le rle de l'OS que d'assurer la gestion complte de la cration, de la destruction, des transitions d'tats d'un processus. C'est toujours l'OS d'allouer un espace mmoire utile au travail de chaque processus. C'est encore l'OS qui assure la synchronisation et la messagerie inter-processus. Le systme d'exploitation implmente cette gestion des processus travers une table des processus qui contient une entre par processus cr par le systme sous forme d'un bloc de contrle du processus (PCB ou Process Control Block). Le PCB contient lui-mme toutes les informations de contexte du processus, plus des informations sur l'tat du processus. Lorsque la politique de gestion de l'OS prvoit que le processus Pk est ractivable (c'est au tour de Pk de s'excuter), l'OS va consulter le PCB de Pk dans la table des processus et restaure ou non l'activation de Pk selon son tat (par exemple si Pk est bloqu, le systme ne l'active pas).
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

111

Afin de sparer les tches d'un processus, il a t mis en place la notion de processus lger (ou thread).

2.2 Le multithreading Nous pouvons voir le multithreading comme un changement de facteur d'chelle dans le fonctionnement de la multi-programmation. En fait, chaque processus peut lui-mme fonctionner comme le systme d'exploitation en lanant des sous-tches internes au processus et par l mme reproduire le fonctionnement de la multiprogrammation. Ces sous-tches sont nommes "flux d'excution" "processus lgers"ou Threads.
Qu'est exactement un thread

Un processus travaille et gre, pendant le quantum de temps qui lui est allou, des ressources et excute des actions sur et avec ces ressources. Un thread constitue la partie excution d'un processus allie un minimum de variables qui sont propres au thread. Un processus peut comporter plusieurs threads. Les threads situs dans un mme processus partagent les mmes variables gnrales de donnes et les autres ressources alloues au processus englobant. Un thread possde en propre un contexte d'excution (registres du processeur, code, donnes)

Cette rpartition du travail entre thread et processus, permet de charger le processus de la gestion des ressources (fichiers, priphriques, variables globales, mmoire,) et de ddier le thread l'excution du code proprement dit sur le processeur central ( travers ses registres, sa pile lifo etc).

Le processus applique au niveau local une multi-programmation interne qui est nomme le multithreading. La diffrence fondamentale entre la multi-programmation et nomme le multithreading se situe dans l'indpendance qui existe entre les processus, alors que les threads sont lis minima par le fait qu'ils partagent les mme donnes globales (celles du processus qui les
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

112

contient). 2.3 Relations entre thread et processus Ci-dessous nous supposons que le processus D assign l'application D, excute en mme temps les 3 Threads D1, D2 et D3 :

Soit par exemple 4 processus qui s'excutent "en mme temps" dont le processus D prcdent possdant 3 threads :

La commutation entre les threads d'un processus fonctionne identiquement la commutation entre les processus.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

113

Chaque thread se voit allou cycliquement, lorsque le processus D est excut une petite tranche de temps dans le quantum de temps allou au processus. Le partage et la rpartition du temps sont effectus uniquement par le systme d'exploitation. Dans l'exemple ci-dessous, nous figurons les processus A, B, C et le processus D avec ses threads dans un graphique reprsentant un quantum de temps d'excution allou par le systme et suppos tre la mme pour chaque processus.

Le systme ayant allou le mme temps d'excution chaque processus, lorsque par exemple le tour vient au processus D de s'excuter dans son quantum de temps, il excutera pendant une petite soustranche de temps D1, puis D2, enfin D3 et attendra le prochain cycle. Voici sous les mmes hypothses de quantum de temps gal d'excution allou chaque processus A, B, C et D, le comportement de l'excution sur 2 cycles conscutifs :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

114

La majorit des systmes d'exploitation (Windows, Unix, MacOs,...) supportent le Multithreading.


Diffrences et similitudes entre threads et processus :

La communication entre les threads est plus rapide que la communication entre les processus. Les Threads possdent les mmes tats que les processus. Deux processus peuvent travailler sur une mme donne (un tableau par exemple) en lecture et en criture, dans une situation de concurrence dans laquelle le rsultat final de l'excution dpend de l'ordre dans lequel les lectures et critures ont lieu, il en est de mme pour les threads.

Les langages de programmation rcents comme Delphi, Java et C# disposent chacun de classes permettant d'crire et d'utiliser des threads.
Concurrence en cas de donnes partages

Un OS met en place les notions de sections critiques, de verrou, de smaphore et de mutex afin de grer les situations de concurrence des processus et des threads dans le cadre de donnes partages. Mais il existe aussi une autre situation de concurrence inluctable sur une machine mono-processeur, lorsqu'il s'agit de partager le temps d'activit du processeur central entre plusieurs processus. Une solution cette concurrence est de grer au mieux la rpartition du quantum de temps allou aux processus.

2.4 L'ordonnancement pour grer le temps du processeur Dans un systme d'exploitation, c'est l'ordonnanceur (scheduler ou logiciel d'ordonnancement) qui tablit la liste des processus prts tre excuts et qui effectue le choix du processus excuter immdiatement selon un algorithme d'ordonnancement. Dans ce paragraphe le mot tche dsigne aussi bien un processus qu'un thread.
Ordonnancement coopratif ou premptif

Un algorithme d'ordonnancement est dit premptif lorsqu'une tche qui s'excute peut tre interrompue aprs un dlai d'horloge fix appel quantum de temps, mme si la tche est en cours d'excution. Un algorithme d'ordonnancement est dit coopratif lorsqu'une tche s'excute soit jusqu'au terme de son excution, soit parce qu'elle libre de son propre chef l'activit du processeur

Remarque

Dans les deux cas premptif et coopratif, la tche peut suspendre elle-mme son excution si elle reconnat que le temps d'attente d'une donne risque d'tre trop long comme dans le cas d'une entresortie vers un priphrique ou encore l'attente d'un rsultat communiqu par une autre tche. La diffrence importante entre ces deux modes est le fait qu'une tche peut tre suspendue aprs un dlai maximum d'occupation du processeur central.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

115

Dans un OS interactif comme Windows, Linux, Mac OS par exemple, la premption est fondamentale car il y a beaucoup d'intervention de l'utilisateur pendant l'excution des tches. Une des premires versions de Windows (Windows 3) tait cooprative et lorsqu'une tche buggait elle pouvait bloquer tout le systme (par exemple le lecteur de CD-ROM ouvert en cours d'excution en attente d'une lecture impliquait un gel du systme), ce n'est plus le cas depuis les versions suivantes de Windows (98, Xp, )

2.5 Un algorithme classique non premptif dans un OS de batch processing: FCFS (First Come First
Served)

Dans un OS de traitement par lot (batch processing) qui est un systme dans lequel les utilisateurs n'interagissent pas avec l'excution du programme (mise jour et gestion des comptes clients dans une banque, calculs scientiques,), multi-programmation avec premption n'est pas ncessaire, la coopration seule suffit et les performances de calcul en sont amliores. Un algorithme d'ordonnancement important et simple purement coopratif de ce type d'OS se nomme First Come First Served (premier arriv, premier servi). Toutes les tches ligibles (prtes tre excutes) sont places dans une file d'attente unique, la premire tche T1 en tte de file est excute :

jusqu' ce qu'elle s'interrompe elle-mme (entre-sortie, rsultat,) elle est alors remise en queue de liste et c'est la tche suivante T2 de la liste qui est excute et ainsi de suite :

2.6 Deux algorithmes classiques premptifs dans un OS interactif Dans un OS interactif comme Windows par exemple, ce sont les threads qui sont ordonnancs puisque ce sont les threads qui sont chargs dans un processus, de l'excution de certaines actions du processus qui sert alors de conteneur aux threads et aux ressources utiliser. Comme prcdemment nous nommons tche (soit un thread, soit un processus) l'entit ordonnancer par le systme.
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

116

Algorithme de plus haute priorit

Les tches Ti se voient attribuer un ordre de priorit Pk et sont ranges par ordre de priorit dcroissant dans une liste de tches toutes prtes tre excutes. Cette liste est organise comme une file d'attente, il y a une file d'attente par niveau de priorit, dans la file de priorit Pk toutes les tches Tik ont le mme ordre de priorit Pk:

Dans l'exemple ci-contre P0 reprsente la priorit la plus haute et Pn la priorit la plus basse. Une tche est excute pendant au plus la dure du quantum de temps qui lui est allou (elle peut s'interrompre avant la fin de ce quantum de temps).

Les tches de plus haute priorit sont excutes d'abord depuis celles de priorit P0 jusqu' la priorit Pn. Les tches Tik de mme priorit Pk sont excutes selon un mcanisme de tourniquet, les unes la suite des autres jusqu' puisement de la file, ds qu'une tche a fini d'tre excute, elle est remise en fin de liste d'attente de sa file de priorit :

etc
Excution des tches de la file de priorit P0 Chemin d'excution des tches ( une fois excute, une tche est range la fin de la file )

Le systme peut changer les priorits d'une tche aprs l'excution du quantum de temps qui lui a t allou.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

117

Algorithme du tourniquet (Round Robin)

C'est le premier algorithme qui a t utilis en multi-programmation. Il ressemble l'algorithme FCFS utilis dans le cas d'un OS de batch processing, le systme alloue un quantum de temps identique chaque tche ou selon le cas une tranche de temps variable selon le type de tche. Toutes les tches ligibles sont placs dans une file d'attente unique, la premire tche T1 en tte de file est excute, jusqu' ce que : Soit elle s'interrompe elle-mme (entre-sortie, rsultat,) Soit le quantum de temps qui lui tait allou a expir.

Dans ce cas, elle est remise en fin de file d'attente et c'est la tche suivante T2 de la file qui est excute selon les mmes conditions et ainsi de suite :

3. Gestion de la mmoire par un OS de multi-programmation


Puisque dans un tel OS, plusieurs tches sont prsentes en mmoire centrale, un instant donn, il faut donc que chacune dispose d'un espace mmoire qui lui est propre et qui soit protg de toute interaction avec une autre tche. Il est donc ncessaire de partitionner la mmoire centrale MC en plusieurs sous-ensembles indpendants. Plusieurs tches s'excutant en mmoire centrale utilisent gnralement plus d'espace mmoire que n'en contient physiquement la mmoire centrale MC, il est alors indispensable de mettre en place un mcanisme qui allouera le maximum d'espace mmoire physique utile une tche et qui librera cet espace ds que la tche sera suspendue. Le mme mcanisme doit permettre de stocker, grer et rallouer une autre tche l'espace ainsi libr. Les techniques de segmentation et de pagination mmoire dans le cadre d'une gestion de mmoire nomme mmoire virtuelle, sont une rponse ces proccupations d'allocation et de dsallocation de mmoire physique dans la MC. Du fait de la multi-programmation, les tches sont charges (stockes) dans des parties de la MC dont l'emplacement physique n'est dtermin qu'au moment de leur excution. Sans entrer trs profondment dans les deux mcanismes qui ralisent la rpartition de la mmoire alloue aux tches, la segmentation et la pagination mmoire, nous dcrivons d'une manire gnrale ces deux mthodes ; les ouvrages spcialiss en la matire cits en bibliographie dtaillent exhaustivement ces procds.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

118

3.1 Mmoire virtuelle et segmentation On dsigne par mmoire virtuelle, une mthode de gestion de la mmoire physique permettant de faire excuter une tche dans un espace mmoire plus grand que celui de la mmoire centrale MC. Par exemple dans Windows et dans Linux, un processus fix se voit allou un espace mmoire de 4 Go, si la mmoire centrale physique possde une taille de 512 Mo, le mcanisme de mmoire virtuelle permet de ne mettre un instant donn dans les 512 Mo de la MC, que les lments strictement ncessaires l'excution du processus, les autres lments restant stocks sur le disque dur, prts tre ramens en MC la demande. Un moyen employ pour grer la topographie de cette mmoire virtuelle se nomme la segmentation, nous figurons ci-aprs une carte mmoire segmente d'un processus.

Segment de mmoire
q q

Un segment de mmoire est un ensemble de cellules mmoires contigus. Le nombre de cellules d'un segment est appel la taille du segment, ce nombre n'est pas ncessairement le mme pour chaque segment, toutefois tout segment ne doit pas dpasser une taille maximale fixe. La premire cellule d'un segment a pour adresse 0, la dernire cellule d'un segment adrk est borne par la taille maximale autorise pour un segment.

Un segment contient gnralement des informations de mme type (du code, une pile, une liste, une table, ...) sa taille peut varier au cours de l'excution (dans la limite de la taille maximale), par exemple une liste de donnes contenues dans un segment peut augmenter ou diminuer au cours de l'excution. Les cellules d'un segment ne sont pas toutes ncessairement entirement utilises.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

119

L'adresse d'une cellule l'intrieur d'un segment s'appelle l'adresse relative (au segment) ou dplacement. On utilise plus habituellement la notion d'adresse logique permettant d'accder une donne dans un segment, par opposition l'adresse physique qui reprsente une adresse effective en mmoire centrale.

C'est un ensemble de plusieurs segments que le systme de gestion de la mmoire utilise pour allouer de la place mmoire aux divers processus qu'il gre. Chaque processus est segment en un nombre de segments qui dpend du processus lui-mme.

Adresse logique ou virtuelle

Une adresse logique aussi nomme adresse virtuelle comporte deux parties : le numro du segment auquel elle se rfre et l'adresse relative de la cellule mmoire l'intrieur du segment lui-mme.

Remarques Le nombre de segments prsents en MC n'est pas fixe. La taille effective d'un segment peut varier pendant l'excution Pendant l'excution de plusieurs processus, la MC est divise en deux catgories de blocs : les blocs de mmoire libre (libr par la suppression d'un segment devenu inutile) et les blocs de mmoire occupe (par les segments actifs).

Fragmentation mmoire

Le partitionnement de la MC entre blocs libres et blocs allous se dnomme la fragmentation mmoire, au bout d'un certain temps, la mmoire contient une multitude de blocs libres qui deviendront statistiquement de plus en plus petits jusqu' ce que le systme ne puisse plus allouer assez de mmoire contigu un processus.

Exemple Soit une MC fictive de 100 Ko segmentable en segments de taille maximale 40 Ko, soit un processus P segment par le systme en 6 segments dont nous donnons la taille dans le tableau suivant :
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

120

Numro du segment

Taille du segment

1 2 3 4 5 6

5 Ko 35 Ko 20 Ko 40 Ko 15 Ko 23 Ko

Supposons qu'au dpart, les segments 1 4 sont chargs dans la MC :

Supposons que le segment n2 devenu inutile soit dsallou :

Puis chargeons en MC le segment n5 de taille 15 Ko dans l'espace libre qui passe de 35 Ko 20 Ko :

La taille du bloc d'espace libre diminue. Continuons l'excution du processus P en supposant que ce soit maintenant le segment n1 qui
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

121

devienne inutile :

Il y a maintenant sparation de l'espace libre (fragmentation) en deux blocs, l'un de 5 Ko de mmoire contigu, l'autre de 20 Ko de mmoire contigu, soit un total de 25 Ko de mmoire libre. Il est toutefois impossible au systme de charger le segment n6 qui occupe 23 Ko de mmoire, car il lui faut 23 Ko de mmoire contigu. Le systme doit alors procder une rorganisation de la mmoire libre afin d'utiliser "au mieux" ces 25 Ko de mmoire libre.
Compactage

Dans le cas de la gestion de la MC par segmentation pure, un algorithme de compactage est lanc ds que cela s'avre ncessaire afin de ramasser ces fragments de mmoire libre parpills et de les regrouper dans un grand bloc de mmoire libre (on dnomme aussi cette opration de compactage sous le vocable de ramasse miettes ou garbage collector)

La figure prcdente montre gauche, une mmoire fragmente, et droite la mme mmoire une fois compacte.

Adresse virtuelle - adresse physique

Nous avons parl d'adresse logique d'une donne par exemple, comment le systme de gestion d'une mmoire segmente retrouve-t-il l'adresse physique associe : l'OS dispose pour cela d'une table dcrivant la "carte" mmoire de la MC.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

122

Cette table est dnomme table des segments, elle contient une entre par segment actif et prsent dans la MC. Une entre de la table des segments comporte le numro du segment, l'adresse physique du segment dans la MC et la taille du segment.

Liaison entre Table des segments et le segment lui-mme en MC :

Lorsque le systme de gestion mmoire rencontre une adresse virtuelle de cellule (n segment, Dplacement), il va chercher dans la table l'entre associe au numro de segment, rcupre dans cette entre l'adresse de dpart en MC du segment et y ajoute le dplacement de l'adresse virtuelle et obtient ainsi l'adresse physique de la cellule. En reprenant l'exemple de la figure prcdente, supposons que nous prsentons l'adresse virtuelle ( k , 8 ). Il s'agit de rfrencer la cellule d'adresse 8 l'intrieur du segment numro k. Comme le segment nk est physiquement implant en MC partir de l'adresse 1005, la cellule cherche dans le segment se trouve donc l'adresse physique 1005+8 = 1013. La figure ci-aprs illustre le mcanisme du passage d'une adresse virtuelle vers l' adresse physique travers la table des segments sur l'exemple ( k , 8 ).

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

123

La segmentation mmoire n'est pas la seule mthode utilise pour grer de la mmoire virtuelle, nous proposons une autre technique de gestion de la mmoire virtuelle trs employe : la pagination mmoire. Les OS actuels employant un mlange de ces deux techniques, le lecteur se doit donc d'tre au fait des mcanismes de base de chaque technique.

3.2 Mmoire virtuelle et pagination Comme dans la segmentation mmoire, la pagination est une technique visant partitionner la mmoire centrale en blocs (nomms ici cadres de pages) de taille fixe contrairement aux segments de taille variable. Lors de l'excution de plusieurs processus dcoups chacun en plusieurs pages nommes pages virtuelles. On parle alors de mmoire virtuelle pagine. Le nombre total de mmoire utilise par les pages virtuelles de tous les processus, excde gnralement le nombre de cadres de pages disponibles dans la MC. Le systme de gestion de la mmoire virtuelle pagine est charg de grer l'allocation et la dsallocation des pages dans les cadres de pages. La MC est divise en un nombre de cadres de pages fix par le systme (gnralement la taille d'un cadre de page est une puissance de 2 infrieure ou gale 64 Ko). La taille d'une page virtuelle est exactement la mme que celle d'un cadre de page. Comme le nombre de pages virtuelles est plus grand que le nombre de cadres de pages on dit aussi que l'espace d'adressage virtuel est plus grand que l'espace d'adressage physique. Seul un certain nombre de pages virtuelles sont prsentes en MC un instant fix. A l'instar de la segmentation, l'adresse virtuelle (logique) d'une donne dans une page virtuelle, est compose par le numro d'une page virtuelle et le dplacement dans cette page. L'adresse virtuelle est
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

124

transforme en une adresse physique relle en MC, par une entit se nommant la MMU (Memory Management Unit) assiste d'une table des pages semblable la table des segments.

La table des pages virtuelles

Nous avons vu dans le cas de la segmentation que la table des segments tait plutt une liste (ou table dynamique) ne contenant que les segments prsent en MC, le numro du segment tant contenu dans l'entre. La table des pages virtuelles quant elle, est un vrai tableau indic sur les numros de pages. Le numro d'une page est l'indice dans la table des pages, d'une cellule contenant les informations permettant d'effectuer la conversion d'une adresse virtuelle en une adresse physique. Comme la table des pages doit rfrencer toutes les pages virtuelles et que seulement quelques unes d'entre elles sont physiquement prsentes en MC, chaque page virtuelle se voit attribuer un drapeau de prsence (reprsent par un bit, la valeur 0 indique que la table est actuellement absente, la valeur 1 de ce bit indique qu'elle est actuellement prsente en MC). Schma simplifi d'une gestion de MC pagine (page d'une taille de 64Ko) illustrant le mme exemple que pour la segmentation, soit accs une donne d'adresse 8 dans la page de rang k, le cadre de page en MC ayant pour adresse 1005, la page tant prsente en MC :

Lorsque la mme demande d'accs une donne d'une page a lieu sur une page qui n'est pas prsente en MC, la MMU se doit de la charger en MC pour poursuivre les oprations.

Dfaut de page

Nous dirons qu'il y a dfaut de page lorsque le processeur envoie une adresse virtuelle localise dans une page virtuelle dont le bit de prsence indique que cette page est absente de la mmoire centrale. Dans cette ventualit, le systme doit interrompre le processus en cours d'excution, il doit ensuite
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

125

lancer une opration d'entre-sortie dont l'objectif est de rechercher et trouver un cadre de page libre disponible dans la MC dans lequel il pourra mettre la page virtuelle qui tait absente, enfin il mettra jour dans la table des pages le bit de prsence de cette page et l'adresse de son cadre de page.

La figure prcdente illustre un dfaut de page d'une page Pk qui avait t anciennement charge dans le cadre d'adresse adr0, mais qui est actuellement absente. La MMU recherche cette page par exemple sur le disque, recherche un cadre de page libre (ici le bloc d'adresse adr2 est libre) puis charge la page dans le cadre de page et l'on se retrouve ramen au cas d'une page prsente en MC :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

126

En fait, lorsqu'un dfaut de page se produit tous les cadres de pages contiennent des pages qui sont marques prsentes en MC, il faut donc en sacrifier une pour pouvoir caser la nouvelle page demande. Il est tout fait possible de choisir alatoirement un cadre de page, de le sauvegarder sur disque et de l'craser en MC par le contenu de la nouvelle page. Cette attitude qui consiste faire systmatiquement avant tout chargement d'une nouvelle page une sauvegarde de la page que l'on va craser, n'est pas optimise car si la page que l'on sauvegarde est souvent utilise elle pnalisera plus les performances de l'OS (car il faudra que le systme recharge souvent) qu'une page qui est trs peu utilise (qu'on ne rechargera pas souvent). Cette recherche d'un "bon" bloc librer en MC lors d'un dfaut de page est effectue selon plusieurs algorithmes appels algorithmes de remplacement. Nous donnons une liste des principaux noms d'algorithmes utilisables en cas de dfaut de page. Tous ces algorithmes diffrent par la mthode qu'ils emploient pour choisir la page de remplacement (bloc libre) selon sa frquence d'utilisation ou bien selon le temps coul depuis sa dernire utilisation : NRU ( Not Recently Use ) LRU ( Last Recently Use ) LFU ( Last Frequently Use ) MFU ( Most Frequently Use ) NFU ( Not Frequently Use ) FIFO ( Fist In First Out )

L'algorithme LRU semble tre le plus performant dans le maximum de cas et il est celui qui est le plus utilis. Cet algorithme ncessite une gestion supplmentaire des pages libres en MC selon une liste d'attente : la page la plus rcemment utilise est la premire de la liste, elle est suivie par la deuxime page la plus rcemment utilise et ainsi de suite jusqu'au dernier lment de la liste qui est la page la moins rcemment utilise. Le fondement pratique de cet algorithme se trouve dans le fait qu'une page qui vient d'tre utilise a de bonne chance d'tre rutilise par la suite trs rapidement. Dans les OS, les concepteurs laborent des variantes personnalises de cet algorithme amliorant tel ou tel aspect.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

127

4. Les OS des micro-ordinateurs


Les micro-ordinateurs apparus dans le grand public ds 1978 avec le Pet de Commodore, lApple et lIBM-PC, ont rpt en acclr les diffrentes phases dvolution des gnrations dordinateurs. Les OS des micro-ordinateurs ont suivi la mme dmarche et sont partis de systmes de monoprogrammation comme MS-DOS et MacOS pour voluer en systmes multi-tches (version affaiblie de la multiprogrammation) avec OS/2 , windows et Linux. De nos jours un OS de micro-ordinateur doit ncessairement adopter des normes de convivialit dans la communication homme-machine sous peine dtre rejet par le grand public. L, gt notre sens, un des seuls intrts de limpact puissant du march sur linformatique. La pression des masses de consommateurs a fait sortir linformatique des milieux dinitis, et sil ny avait pas cette pression, les OS seraient encore accessibles uniquement par des langages de commandes textuels dont les initis raffolent (la comprhension dun symbolisme abstrus dnotant pour certains la marque dune supriorit toute illusoire et assez insignifiante). Notons aussi que la rticence au changement, la rsistance la nouveaut et la force de lhabitude sont des caractristiques humaines qui nont pas favoris le dveloppement des interfaces de communication. La communication conviviale des annes 90-2000 rside essentiellement dans des notions inventes dans les annes 70-80 Xerox PARC (Palo Alto Research Center of Xerox), comme la souris, les fentres, les menus droulants, les icnes, et que la firme Apple a commercialis la premire dans lOS du MacIntosh ds 1984. Windows de Microsoft et OS/2 dIBM se sont dailleurs rallis cette ergonomie. Outre le systme Mac OS (un Unix-like version OS X) du MacIntosh d'Apple qui ne reprsente qu'une petite part du march des OS vendus sur micro-ordinateurs (environ 3% du march), deux OS se partagent en proportion trs ingale ce mme march Windows de Microsoft ( environ 90% du march) et Linux OS open source du monde libre ( moins de 10% du march), Linux reprsentant presque 50% des OS installs pour les serveurs Web. Le BeOs est un autre systme Unix-like dvelopp pour micro-ordinateur lui aussi fond sur des logiciels GNU mais il est officiellement payant (le prix est modeste et quivalent aux distributions de Linux).

4.1 Le systme d exploitation du monde libre Linux A.Tannenbaum crit en 1987 pour ses tudiants, un systme d'exploitation pdagogique baptis MINIX fond sur le systme UNIX : c'est a naissance d'un systme d'exploitation fond sur Unix sans droit de licence. Linus Thorvalds reprend l'OS Minix et en 1994, la premire version oprationnelle et stable d'un nouveau systme est accessible gratuitement sous le nom de LINUX. UNIX est un OS de multi-programmation commercial fond lui-mme sur les concepts du systme MULTICS et construit par des chercheurs du MIT et des laboratoires Bell. Il s'agissait d'une version allge de MULTICS qui a fonctionn durant les annes 1960-1970 sur de trs gros ordinateurs. Les centres de calculs inter-universitaires franais de cette dcennie fonctionnaient sous MULTICS. L'OS Unix a t largement implant et distribu sur les mini-ordinateurs PDP-11 de la socit DEC et sur les VAX successeurs des PDP-11 de la mme socit. Unix se voulait un systme d'exploitation portable et universel, malheureusement des versions diffrentes et incompatibles entre elles ont t dveloppes et cet tat de fait perdure encore de nos jours. Nous trouvons actuellement des Unix drivs de BSD (de l'universit de Berkeley) le plus connu tant FreeBSD et des Unix drivs du System V (de la socit ATT).
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

128

Points forts de Linux


q

Linux n'tant pas soumis aux contraintes commerciales, reste unique puisque les enrichissements qui lui sont apports ne peuvent tre propritaires. Linux contient tout ce qu'une version commerciale d'Unix propose, sauf la maintenance systme qui n'est pas garantie. Linux rassemble et intgre des fonctionnalits prsentes dans les deux Unix BSD et System V. Vous pouvez modifier Linux et le revendre, mais vous devez obligatoirement fournir toutes les sources l'acheteur. Linux supporte le multithreading et la pagination mmoire.

q q

Points faibles de Linux


q

Utiliser le systme Linux, mme avec une interface comme KDE ou Gnome demande une comptence particulire l'utilisateur, car Linux reste encore orient dveloppeur plutt qu'utilisateur final. Plusieurs distributions de Linux coexistent. Une distribution comporte un noyau commun, portable et standard de Linux accompagn de diverses interfaces, de programmes et d'outils systmes complmentaires et de logiciels d'installations, nous citons quelques distributions les plus connues : Mandrake, Red Hat, Debian, Suse, Caldera, Cette diversit donne au final un ventail de "facilits" qui semble tre trop large parce que diffrentes entre elles et pouvant drouter l'utilisateur non informaticien.

Linux essaie de concurrencer le systme Windows sur PC, le match est encore ingal en nombre de logiciels installs fonctionnant sous cet OS, malgr un important battage mdiatique effectu autour de ce systme dans la fin des annes 90 et les rumeurs rcurrentes de la disparition de Windows voir mme de la socit Microsoft.

4.2 Le systme d exploitation Windows de Microsoft Le premier systme d'exploitation de PC (Personnal Computer) conu par la socit Microsoft dans le dbut des annes 1980 se nomme MS-DOS (systme de mono-programmation) qui a volu en vritable systme de multi-programmation (avec processus, mmoire virtuelle, multi-tches premptifetc) partir de Windows 95, puis Windows 98, Me. La premire version de Windows non base sur MS-DOS a pour nom de code Windows NT au dbut des annes 1990, depuis Windows 2000 qui est une amlioration de Windows NT, les successeurs comme Windows 2003, Xp et Vista sont des systmes d'exploitation part entire, qui possdent les mmes fonctionnalits fondamentales qu'Unix et donc Linux. Une grande diffrence entre Linux et Windows se situe dans la manire de grer l'interface utilisateur (partie essentielle pour l'utilisateur final qui n'est pas un administrateur systme). Cette remarque peut expliquer l'cart important d'installation de ces deux systmes sur les PC. En outre les dmarches
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

129

intellectuelles qui ont sous-tendu la construction de chacun de ces deux systme sont inverses. En effet, Linux est driv d'un systme d'exploitation invent pour les gros ordinateurs des annes 70, systme auquel il a t rajout un programme utilisateur non privilgi appel interface de communication (KDE, Motif, Gnome, ) de cette architecture dcoule le foisonnement d'interfaces diffrents droutant l'utilisateur de base. Windows l'inverse, est parti d'un OS primitif et spcifique un PC pour intgrer au cours du temps les fonctionnalits d'un OS de mainframe (gros ordinateur). L'interface de communication (le fentrage graphique) est intgr dans le c ur mme du systme. Le mode console (interface en ligne de commande genre MS-DOS ou ligne de commande Linux) est prsent mais est trs peu utilis, les fonctionnalits de base du systme tant assures par des processus fentrs. Les deux systmes Linux et Windows fonctionnent sur les plates-formes bases sur les principaux micro-processeurs quipant les PC du march (Intel majoritairement et AMD) aussi bien sur l'architecture 32 bits que sur l'architecture 64 bits toute rcente. Etant donn la remarquable croissance de l'innovation en technologie, les systmes d'exploitation voluent eux aussi afin d'adapter le PC aux diffrents outils invents. Enfin, il y a bien plus d'utilisateurs non informaticiens qui achtent et utilisent des PC que d'informaticiens professionnels, ce qui implique une transparence et une convivialit obligatoire dans les communications hommemachine. Un OS idal pour PC grand public doit convenir aussi bien au professionnel qu' l'utilisateur final, pour l'instant Windows l'emporte trs largement sur Linux, mais rien n'est dit, le consommateur restera l'arbitre. Nous avons abord ici des fonctionnalits importantes d'un systme d'exploitation, nous avons indiqu qu'un OS assurait d'autres grandes fonctions que nous n'avons pas abordes, comme la gestion des entres-sorties, l'interception des interruptions, la gestion des donnes sur des priphriques comme les disques durs dvolue au module de gestion des fichier de l'OS. Ici aussi le lecteur intress par l'approfondissement du domaine des systmes d'exploitation peut se rfrer la bibliographie, en particulier un ouvrage de 1000 pages sur les OS par le pre de MINIX A.Tannebaum.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

130

1.7 Rseaux
Plan du chapitre:

1. Les topologies physiques des rseaux d'ordinateurs


1.1 Les diffrentes topologies de rseaux 1.2 Rseau local

2. Liaisons entre rseaux


2.1 Topologie OSI 7 couches 2.2 Rseau commutation de paquets

3. Internet et le protocole TCP/IP


Protocole, adresse IP Routage Protocole IP Protocole TCP Petite histoire d'Internet Intranet

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

131

Nous nous proposons dans ce chapitre, d'tudier les dfinitions thoriques ncessaires la comprhension des notions fondamentales de rseau numrique informatique. Lobjectif principal dun rseau dordinateurs est de relier et de permettre lexploitation distance de systmes informatiques laide des tlcommunications dans le cadre de rseaux grande distance (les rseaux locaux emploient une technologie de cblage interne lentreprise). Nous classons les rseaux informatiques en deux grandes catgories :
q

Les rseaux locaux LAN (Local Area Network) de quelques centaines de mtres d'tendue au maximum, labors soit avec des fils, soit sans fil. Le grand rseau international Internet concernant toute la plante.

Les raisons principales pour la mise en place d'un rseau informatique, sont de pouvoir partager des donnes entre plusieurs ordinateurs et si possible partager le mme traitement sur plusieurs ordinateurs. Dans ce chapitre, aprs avoir nonc les principes fondateurs des rseaux, nous concentrerons notre attention sur un rseau mondial incontournable de nos jours : Internet et son architecture logicielle fonde sur l'environnement logiciel TCP/IP mondialement utilis et prsent dans les OS Unix et Windows.

1. Les topologies physiques des rseaux d'ordinateurs


Il existe diffrentes manires dinterconnecter des systmes informatiques distance. On les nomme topologies physiques de rseaux. 1.1 Les diffrentes topologies physiques de rseaux A) Le point point simple n liaisons pour n systmes Si interconnects, 1 seul point de connexion.

Architecture toile

B)Le point point en boucle n liaisons pour n systmes Si interconnects,


page

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

132

Chaque Si passe linformation au Si suivant.

Architecture anneau C) Le point point complet n(n-1)/2 liaisons pour n systmes Si interconnects, tous les Si sont relis entre eux.

Architecture maille

D) Le point point arborescent n liaisons pour n systmes Si interconnects un mme noeud, 1 liaison pour chaque noeud vers ses descendants,(topologie toile chaque noeud).

Architecture hirarchique

rm di Scala - 2006

E) Le multipoint
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

133

n liaisons pour n systmes Si interconnects un mme noeud, les points de connexion sont relis par une mme voie.

Architecture en bus Il existe aussi des rseaux construits selon des combinaisons de ces topologies entre elles.

1.2 Rseau local Cest un rseau dont les distances de liaison sont trs faibles(entreprise, tablissement scolaire, une salle,...). Les rseaux locaux peuvent comporter ou non des serveurs (systme informatique assurant la rpartition et la gestion de ressources communes aux utilisateurs) et utiliser lune des cinq architectures prcdentes. Ils sont composs de liaisons hertziennes ou tablies par cble. Lorsquil y a plusieurs serveurs, chaque serveur peut tre un poste de travail comme les autres ou bien tre un serveur ddi (ne faisant office que de serveur). Signalons que la partie rseau local des micro-ordinateurs dots dun OS comme Windows ne ncessite aucun serveur ddi mais fonctionne aussi avec une version du systme de type serveur. Les deux principaux standards qui se partagent lessentiel du march des rseaux locaux sont Ethernet (topologie en bus) et token-ring (topologie en anneau). Les protocoles (loi dchange dinformation entre les systmes informatiques) sont trs nombreux. Le plus utilis quantitativement dans le monde est TCP/IP (Transfert Control Protocol/Internet Protocol) qui est un protocole synchrone orient bit (les informations sont des suites de bits).

L'Ethernet comme moyen de transport et d'accs


q

Le cblage Ethernet est le plus utilis dans le monde, il est fond sur la mthode "dtection de porteuse accs multiple et dtection de collisions". Ethernet permet de raccorder entre eux au plus 210 = 1024 ordinateurs. Il est support physiquement selon le dbit souhait soit par du cble coaxial, soit de la paire de
page

q q

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

134

fils torsads, soit de la fibre optique; ces diffrents supports peuvent coexister dans un mme rseau. Quelques exemples de dbits dlivrs par un cblage Ethernet : L'Ethernet classique (10 BaseT) transportant l'information la vitesse de 10 Mbits/s ( 10 millions de bits par seconde ). Avec l'Ethernet classique, la distance maximale thorique d'loignement de deux machines avec un mme cble est de 5 Km. La pose de Hub (sorte de prise multiple rgnrant le signal entrant) est ncessaire : au maximum 2 Hub qui sont spars par une distance thorique maximale de 500 m.

Cette contrainte ramne la distance maximale d'loignement entre deux machines connectes grce des Hub 1,5 Km, des techniques particulires permettent malgr tout d'atteindre les 5 Km avec des Hub en utilisant de la fibre optique.

Le Fast Ethernet (100 BaseT) est une extension du 10 BaseT, il permet de transporter de l'information la vitesse de 100 Mbits/s ( 100 millions de bits par seconde ) avec un mme cble sur une distance maximale de 500 m qui correspond la limitation impose par la vitesse de transmission du signal physique dans le conducteur. Dans la pratique selon le nombre de Hub, la distance thorique maximale d'loignement entre deux machines est rduite d'environ la moiti.

Le Gigabit Ethernet (1000 BaseT) qui permet de transporter de l'information la vitesse de 1000 Mbits/s ( 1000 millions de bits par seconde ) par cble ou fibre optique, est une volution rcente de l'Ethernet, l'augmentation de la vitesse de transmission rduit drastiquement la distance maximale thorique d'loignement de deux machines avec un mme cble environ 50 m et quelques mtres si elles sont connectes par des Hub.

rm di Scala - 2006

Les chiffres qui sont donns sur les figures prcdentes concernant les distances, ne sont pas prendre au pied de la lettre, car ils peuvent varier selon les technologies ou les combinaisons de
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

135

techniques utilises. Ce qu'il est bon de retenir, c'est le fait que dans cette technique Ethernet, la longueur des connexions diminue avec la vitesse du dbit.

2. Liaisons entre rseaux d'ordinateurs


Il existe diverses techniques dinterconnexion de rseaux entre eux. Nous renvoyons le lecteur des ouvrages spcialiss sur les rseaux. Nous allons brosser un tableau simple et gnral du rseau mondial le plus connu de nos jours au niveau du grand public, le rseau Internet. Nous verrons ensuite comment il est adapt par les spcialistes des architectures locales sous la forme dIntranet. En premier lieu donnons quelques explications techniques sur un mode classique de transmission de linformation utilis par de nombreux rseaux. Vocabulaire de base employ Dans un rseau informatique on distingue trois niveaux de description :
q q q

La topologie physique La topologie logique Les protocoles de transmission

La topologie physique dcrit l'infrastructure d'interconnexion des systmes informatiques. La topologie logique est une architecture logicielle normalisant les critres de qualit et les modalits "d'emballage" et de transmission des informations par la topologie physique. Un protocole est un ensemble de rgles dcrivant l'mission et la rception de donnes sur un rseau ainsi que la liaison entre une application externe et la topologie logique du rseau.

Nous avons dj examin au paragraphe prcdent les diffrentes topologies physiques (on dit aussi architecture physique), nous proposons maintenant, la description du modle de rfrence le plus rpandu d'une architecture (topologie) logique, mis en place depuis les annes 1980 par l'organisation internationale de standardisation ( ISO ). Ce modle logique est appel Open System Interconnection ( OSI ).

2.1 Topologie OSI 7 couches Le modle OSI sert de base la thorie gnrale des rseaux, c'est un modle thorique prsentant la circulation des donnes dans un rseau, il est dcrit en 7 couches : les plus hautes sont abstraites et les plus basses sont concrtes. Ce modle dcrit trs prcisment la liaison qui existe entre deux n uds successifs d'un rseau (deux ordinateurs, par exemple) d'un manire descendante et dcompose :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

136

Modle OSI 7 couches numrotes

Chaque couche rend un service dcrit dans la documentation de l'ISO et gr par un protocole permettant de raliser ce service lorsque la couche est abstraite. Lorsque la couche est matrielle la documentation dcrit comment le service est rendu par le composant matriel. Chaque couche de niveau n communique avec la couche immdiatement suprieure n+1 (lorsqu'elle existe) et la couche immdiatement infrieure n-1 (lorsqu'elle existe). La couche physique la plus basse est la plus concrte elle est numrote 1, la couche application la plus haute est la plus abstraite, elle est numrote 7. Cette organisation en couche d'abstractions descendantes va se retrouver aussi dans la notion de programmation structure par abstractions descendantes, il s'agit donc d'un fonctionnement constant de l'esprit des informaticiens. Nous dcrivons brivement chacune des 7 couches du modle OSI :
Nom de la couche Description du service rendu par la couche

7 - Application 6 - Prsentation 5 - Session


rm di Scala - 2006

Transfert des fichiers des applications s'excutant sur l'ordinateur. Codage des donnes selon un mode appropri. Gestion des connexions entre les ordinateurs.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

137

4 - Transport 3 - Rseau 2 - Liaison 1 - Physique

Gestion du transfert des donnes vers le destinataire. Schma gnral d'interconnection (adressage) afin d'assurer le reprage physique du destinataire. Rgles permettant d'effectuer le rassemblage et l'acheminement des donnes vers le matriel physique de la couche 1. Description physique du transport des donnes travers des cbles, des hubs

2.2 Rseau commutation de paquets Dans un tel type de rseau nous avons besoin de dfinir au moins trois concepts : le message : linformation change entre deux systmes informatiques. les paquets : des petites suites de bits constituant une partie dun message, (le message est dcoup en plusieurs paquets). le routage : cest laction (effectue par le routeur) qui permet la transmission, laiguillage et la redirection des informations circulant sur le rseau un instant donn.

Un tel rseau est architectur selon une topologie plus ou moins fortement maille, entre les divers concentrateurs. Les utilisateurs Si se connectent selon leur proximit gographique au concentrateur le plus proche. Dans le schma suivant, reprsentant une maille du rseau, nous supposons que lutilisateur S3 veuille envoyer un message M(image, fichier, son, etc...) S10. Nous allons suivre le chemin parcouru par les paquets pi du message M pour aller de S3 S10.

S3 est directement connect au concentrateur [A], S10 est directement connect au concentrateur [D]. Supposons aussi que le message M soit compos de 4 paquets : M =(p1 ,p2 ,p3, p4). Le routage de dpart seffectue partir du concentrateur [A] et de la charge et de lencombrement actuels du rseau. Ce sont ces deux critres qui permettent au routeur de prendre la dcision dmission des paquets.
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

138

Principe du routage : Les paquets dans un tel rseau sont envoys dans nimporte quel ordre et indpendamment les uns des autres vers des destinations diverses ; chaque paquet voyage bien sr, avec ladresse du destinataire du message.

a) Supposons que p1 aille directement vers [D], puis que lencombrement oblige denvoyer p2 [B] puis p3, p4 [C]. b) Puis [C] peut router directement p3, p4 vers [D] (qui a dj reu p1). c) Enfin [B] envoie p2 [C] et celui-ci le redirige vers [D] (qui avait dj reu p1,p3 et p4). d) Lorsque p2 arrive au concentrateur [D], le message M est complet, il peut tre reconstitu M =(p1 ,p2 ,p3, p4)et expdi son destinataire S10.

3. Internet et le protocole TCP/IP


Le rseau le plus connu se dnomme Internet. Chaque pays peut avoir mis en place un rseau national, (par exemple en France, il existe un rseau national public TRANSPAC fonctionnant par commutations de paquets sous protocole X25), le rseau Internet quant lui est international et fonctionne par commutations de paquets sous protocole TCP/IP. Cest actuellement le rseau mondial de transmission de donnes le plus utilis avec plusieurs centaines de millions dutilisateurs. Cest un rseau commutation de paquets. Il est bas sur le protocole TCP/IP. Il permet des milliers dautres rseaux locaux ou non de se connecter entre eux distance.

Explication pratique de la transmission de donnes sur Internet


Prenons un exemple pratique, Mr. X situ Moscou dsire envoyer le message suivant "Bonjour cher ami comment allez-vous ?" Mr. Y situ Ankara, via le rseau Internet.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

139

Protocole, adresse IP
La communication entre deux machines distantes implique une normalisation des changes sous forme de rgles. Un tel ensemble de rgles est appel un protocole de communication. Un protocole dcompose la communication en sous-problmes simples traiter dnomm couche du protocole. Chaque couche a une fonction prcise et fait abstraction du fonctionnement des couches suprieures et infrieures. Le protocole de communication TCP/IP utilis par Internet, est fond sur le modle OSI, il intervient essentiellement sur 4 couches du modle OSI : application, transport, rseau et interface

Un individu est identifiable par son numro de scurit sociale (deux personnes diffrentes n'ont pas le mme numro de scurit sociale), de mme chaque ordinateur branch sur Internet se voit attribuer un numro unique qui permet de l'identifier. On dnomme adresse IP un tel identifiant. Une adresse IP se prsente sous la forme de 4 nombres (entre 0 et 255) que l'on spare par des points pour des raisons de lisibilit, exemple : 163.85.210.8. Donc l'ordinateur de Mr. X situ Moscou est connect Internet possde une adresse IP (par exemple : 195.114.12.58), celui de Mr.Y possde aussi une adresse IP (par exemple : 208.82.145.124)

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

140

Le message initial de Mr.X va tre dcoup par TCP/IP, fictivement pour les besoins de l'exemple en quatre paquets (en fait la taille relle d'un paquet IP est d'environ 1500 octets) :

Le message initial de MrX est donc dcoup avec les en-ttes adquates :

(chaque en-tte/identifiant de paquet contient l'adresse de l'ordinateur de l'expditeur Mr.X soit : 195.114.12.58 et celle du destinataire Mr.Y soit : 208.82.145.124 )

Le routage
Supposons que nous avons la configuration de connexion figure ci-aprs :

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

141

Le schma prcdent reprsente les points de routage fictifs du rseau Internet au voisinage de Moscou et Ankara. Le routage sur Internet est l'opration qui consiste trouver le chemin le plus court entre deux points du rseau en fonction en particulier de l'encombrement et de l'tat du rseau. Cette opration est effectue par un routeur qui peut tre soit un matriel spcifique raccord un ordinateur, soit un ordinateur quip d'un logiciel de routage. Chaque routeur dispose d'une table l'informant sur l'tat du rseau, sur le routeur suivant en fonction de la destination et sur le nombre de routeurs ncessaires pour aller vers la destination.

Dans notre exemple, nous avons suppos que le routeur de Moscou soit branch avec les quatre routeurs d'Ankara , d'Helsinki , de Berlin et de Bucarest :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

142

Informations collectes au moment de l'envoi du 1er paquet partir de Moscou :

Ankara (tat : en rparation) Helsinki (tat : disponible) Berlin (tat : disponible) Bucarest (tat : satur)

La table de routage aura peu prs cette allure : Routeur Moscou Moscou Moscou Moscou Destination Ankara Ankara Ankara Ankara Nombre de routeurs 5 2 3 1 Routeur suivant Helsinki Bucarest Berlin Ankara Etat libre satur libre indisponible

Il est vident que d'aprs la table prcdente seules deux destinations immdiates sont libres : le routeur d'Helsinki ou le routeur de Berlin. Comme le nombre de routeurs restant parcourir est moindre en direction de Berlin vers Ankara (3 routeurs : Berlin-Bucarest-Ankara) compar celui de la direction Helsinki vers Ankara (5 routeurs : Helsinki-Oslo-Berlin-Bucarest-Ankara), c'est le trajet Berlin qui est choisi pour le premier paquet "Bonjour". Au bout de quelques instants, les 4 paquets obtenus partir du message de Mr.X voyagent sur Internet indpendamment les uns des autres vers des destinations diverses (n'oublions pas que chaque paquet voyage avec ladresse du destinataire du message qui est situe Ankara).

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

143

Carte : Le voyage des paquets

Sur cette carte :


Le paquet n1 "Bonjour" , voyage vers le routeur de Bucarest. Le paquet n2 "cher ami" , voyage vers le routeur de Londres. Le paquet n3 "comment" , voyage vers le routeur d'Ankara. Le paquet n4 "allez-vous ?" , voyage vers le routeur d'Athnes.

A l'arrive Ankara, le routeur d'Ankara reoit les paquets en ordre disperss et en des temps diffrents et les stocke en attendant que le message soit complet :

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

144

Le routeur d'Ankara vrifie que les paquets sont tous bien arrivs, il redemande ventuellement les paquets manquants, il envoi un accus de rception pour prvenir chaque routeur expditeur que les donnes sont bien arrives. Au final il y a rassemblage des paquets pour reconstituer le message original avant de le distribuer au logiciel de lecture du message de Mr.Y :

En savoir un peu plus sur : adressage IP et transport TCP


Le protocole TCP/IP est en fait un vocable pour un ensemble de protocoles de transport des donnes sur Internet (passerelles, routage, rseau), fonds sur deux protocoles pres IP et TCP. IP = Internet Protocol TCP = Transmission Control Protocol Le protocole IP : permet des ordinateurs relis un rseau gr par IP de dialoguer grce la notion d'adresse actuellement avec la norme IPv4 sous la forme de 4 nombres (entre 0 et 255) d'un total de 32 bits, ce numro permet d'identifier de manire unique une machine sur le rseau, comme une adresse postale avec un numro de rue (la nouvelle norme IPv6 tend le nombre d'adresses possibles).

Le protocole IP gnre donc des paquet nomms des datagrammes contenant une en-tte (l'adresse IP) et des donnes :

Ces datagrammes sont remis une passerelle (opration de routage) destination d'un hte.
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

145

Toutefois, si une adresse postale permet d'atteindre son destinataire prcisment c'est parce qu'elle contient en plus du nom et du numro de la rue, le nom de la personne qui elle est adresse. Il en est de mme pour une transmission sur Internet : Action externe : Mr. X situ Moscou envoie un message Mr. Y situ Ankara. Action informatique : L'ordinateur de Mr. X envoie un message trs prcisment au logiciel de mail de l'ordinateur de Mr. Y, il est donc ncessaire que le logiciel de mail puisse tre identifi, c'est un numro dans l'ordinateur rcepteur qui va l'identifier " le numro de port". Ainsi il devient facile d'envoyer une mme machine identifie par son adresse IP, plusieurs donnes destines des applications diffrentes s'excutant sur cette machine (chaque application est identifie par son numro de port). Le protocole TCP permet de : Grer les ports Vrifier l'tat du destinataire pour assurer la rception des paquets Grer les paquets IP :
q q q q

Dcoupe des paquets Vrification de la rception de tous les paquets Redemande des paquets manquants Assemblage des paquets arrivs

La Donne initiale de chacun des 4 paquets ("Bonjour", cher ami" , "comment", "allez-vous ?") est modifie par chaque couche du protocole TCP/IP par l'ajout d'une En-tte spcifique ncessaire la ralisation de la fonction de cette couche.

Plusieurs protocoles plus gnraux sont fonds sur TCP/IP : DNS, SMTP, FTP, POP3, HTTP. DNS (Domain Name Service) est un protocole permettant de convertir un nom de domaine Internet en une adresse IP ( nom de domaine : www.machin.org, adresse obtenue : 203.54.145.88 ) SMTP (Simple Mail Transfert Protocol) est un protocole d'envoi de messages lectroniques (mails) vers un destinataire hbergeant la bote aux lettres. POP3 (Post Office Protocol version 3) est un protocole permettant de rapatrier sur votre machine personnelle le courrier qui a t dpos dans la bote aux lettres de l'hbergeur. FTP (File Transfert Protocol) est un protocole permettant de rapatrier sur votre machine ou d'expdier partir de votre machine des fichiers binaires quelconques. HTTP (Hyper Text Transfert Protocol) est un protocole permettant d'envoyer et de recevoir sur votre machine des fichiers HTML au format ASCII.

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

146

Dans le cas d'HTTP, le paquet construit contient alors une partie identifiant supplmentaire :

Ci-dessous la comparaison entre le modle thorique OSI et TCP/IP :

La petite histoire d'Internet


Le concept d'Internet n'est pas rcent. Il prend naissance en effet la fin des annes soixante dans les rangs des services militaires amricains qui ont peur de voir leurs systmes d'information dtruits par l'effet lectro-magntique induit par une explosion nuclaire. Il demande leurs chercheurs de concevoir un moyen sr de transporter des informations qui ne dpendrait pas de l'tat gnral physique du rseau, voir mme qui supportera la destruction physique partielle tout en continuant d'acheminer les informations. Officieusement ds les annes cinquante au USA, dans le plus grand secret est mis au point un rseau de transmission de donnes militaires comme le rseau SAGE uniquement rserv aux militaires. Les chercheurs du MIT vont mettre au point en 1969 la commutation de paquets dont nous venons de parler, et concevrons l'architecture distribue qui sera choisie pour le rseau. Officiellement, la premire installation effective sera connue sous le nom d'ARPANET aura lieu en
rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

147

1970 en raccordant les 4 universits amricaines de Santa Barbara, de l'Utah, de Stanford et de Los Angeles. Plusieurs universits amricaines s'y raccorderont et continueront les recherches jusqu'en 1974 date laquelle V.Cerf et R.Kahn proposent les protocoles de base IP et TCP. En 1980 la direction de l'ARPA rendra public les spcifications des ces protocoles IP et TCP. Pendant vingt ans ce rseau a servit aux militaires et aux chercheurs. Il faut attendre 1990 pour voir s'ouvrir le premier service de fourniture d'accs au rseau par tlphone. Au mme moment, ARPANET disparat pour laisser la place Internet. Un an plus tard, les principes du Web sont tablis.

Le world wide web : www


C'est la partie d'Internet la plus connue par le grand public. A l'origine, le World Wide Web (WWW) a t dvelopp en 1990 au CERN, le Centre Europen pour la Recherche Nuclaire, par R.Caillau et T.Berners-Lee. Il autorise l'utilisation de textes, de graphiques, d'animations, de photographies, de sons et de squences vido, avec des liens entre eux fonds sur le modle hypertextuel. Le Web est un systme hypermdias du genre client/serveur. C'est sur ces spcifications qu' a t labor le langage de description de document du web HTML (Hyper Text Markup Language). Pour lire et excuter ces hypermdias, il faut un logiciel que l'on dnomme un navigateur. Mosaic est l'un des premiers navigateurs Web, distribu gratuitement au public. Depuis 1992, les utilisateurs de micro-ordinateurs peuvent alors se connecter Internet partir de leur PC. Internet Explorer de Microsoft et Netscape sont les deux principaux navigateurs les plus utiliss dans le monde.

Les points forts dInternet :


Il permet un citoyen de se connecter nimporte o en disposant de : Un micro-ordinateur du commerce, Un systme dexploitation supportant les protocoles adquats, tous les SE de micro-ordinateur depuis 1997 disposent dun moyen simple de se connecter Internet (Windows, Linux en sont deux exemples), Un modem (se branchant sur une ligne tlphonique ordinaire) minima 56000bps ou plus (ADSL, ADSL2, ) ou bien le cble ou encore le satellite, en attendant de nouveaux produits de transport des signaux. Un abonnement chez un fournisseur daccs Internet (noeud de communication concentrateur), Enfin un navigateur permettant de dialoguer avec les diffrents serveurs prsents sur Internet.

Le revers de mdaille dInternet :


Linorganisation totale de cette gigantesque et formidable banque de donnes quest un tel rseau mondial qui contient le meilleur et le pire, peut engendrer des dangers pour le citoyen et mme pour une dmocratie si lon ne reste pas vigilant. Enfin, selon les pays, les cots dutilisation restent importants (abonnement chez le fournisseur et
Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

148

dure de communication tlphonique pour la connexion), la concurrence des fournisseurs d'accs gratuit permet une baisse du cot gnral de la connexion. La connexion illimite et gratuite reste l'objectif atteindre.

Internet est devenu un problme de socit


Trois courants de pense s'affrontent quant l'impact d'Internet sur les socits humaines : Le courant du tout-Internet qui prne un nouveau monde virtuel o Internet intervient tous les niveaux de la vie prive, publique, professionnelle, culturelle voir spirituelle. Le courant des Internetophobes qui rejette ce nouveau monde virtuel vu comme une accentuation encore plus marque entre riches et pauvres (la richesse ne s'valuant plus uniquement en bien matriels, mais aussi en informations). Le courant des "ni-ni", ceux qui considrent que tout outil mrite que l'on s'en serve avec rflexion pour le plus grand nombre, mais qui pensent qu'un outil n'est pas une rvolution sociale en lui-mme, seul l'homme doit rester au centre des dcisions qui le concernent.

La tendance au dbut du XXI sicle est de renforcer l'aspect commercial (e-business) de ce type de produit sous la pousse des thories ultra-librales, au dtriment de l'intrt gnral pour une utilisation plus citoyenne au service de tous.

Intranet
Les entreprises conscientes du danger de pillage, de sabotage et despionnage industriel ont repris les avantages de la conception dInternet en ladaptant la notion de rseau local. Cest le nom dIntranet qui sest impos. Ce genre de rseau local dentreprise est fond sur les mmes techniques, les mmes procds quInternet, mais fonctionne localement avec un certain nombre d'acteurs bien identifis : Il peut donc tre organis selon la dmarche interne de lentreprise. Il nest accessible quaux personnes autorises si lentreprise le souhaite. Il est connectable Internet par des passerelles contrles. Il concerne toutes les activits logistiques, commerciales et de communication de lentreprise. Il permet de mettre en uvre des activits de groupware (travaux rpartis par tches identifies sur des systmes informatiques).

Il peut tre organis en Extranet, permettant la communication entre Intranets de diffrentes et bien sr, un Intranet peut tre connect Internet. Le lecteur pourra se spcialiser sur tous les types de rseaux de tlcommunication autres, auprs de l'ouvrage de rfrence de 1100 pages du spcialiste franais G.Pujolle : "Les rseaux" cits en bibliographie.

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

149

Exercices livret 1
Questions : On suppose que X, Y et Z sont des variables boolennes, donnez pour chaque circuit ci-dessous l'expression de sa fonction logique S1(X,Y) ou S1(X,Y,Z), valuez la table de vrit de S1, puis simplifiez par calcul S1. Ex-1 : Ex-2 :

Ex-3 :

Ex-4 :

Ex-5 :

Ex-6 :

Ex-7 : Lorsque l'on additionne deux entiers positifs en binaire sign dans un ordinateur, le calcul s'effectue dans l'UAL en propageant la retenue sur tous les bits y compris le bit de signe. Soient deux mmoires 7 bits Mx et My, contenant respectivement l'entier x et l'entier y reprsents en binaire sign avec convention du zro positif : 1) Quel est le nombre entier positif maximal que l'on peut stocker dans Mx ou My ? 2) Quel est le nombre entier ngatif minimal que l'on peut stocker dans Mx ou My ? 3) Donnez le rsultat de l'addition de Mx+My dans une mmoire Mz du mme type que Mx et My, dans les deux cas suivants : 3.1) Mx contient l'entier x = 12, My contient l'entier x = 25 3.2) Mx contient l'entier x = 42, My contient l'entier x = 25

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

150

Ex-8 : Soit l'entier x = 325 : 1) Donnez sa reprsentation en codage binaire pur 2) Donnez sa reprsentation en codage Ascii tendu 3) Quel est en nombre de bits le codage le plus court ? 4) D'une manire gnrale pour un entier positif x n chiffres en reprsentation dcimale donnez un majorant du nombre de bits dans la reprsentation de x en binaire pur, vrifiez le calcul pour x = 325. Ex-9 : Soit une mmoire centrale et un registre adresse contenant l'adresse d'une case quelconque de la mmoire centrale :
q

On suppose que le registre adresse soit une mmoire 12 bits. On suppose que la taille du mot dans la mmoire centrale est de 16 bits. On suppose que la case x contient en binaire en complment deux le nombre 325.

1) Combien de mots (de cases) au maximum peut contenir cette mmoire centrale ? 2) Quel est l'entier positif le plus grand reprsentable en complment deux dans un mot de cette mmoire centrale ? 3) Indiquez si les nombres suivants peuvent tre l'adresse d'un mot dans cette mmoire centrale ; 3.1)le nombre 683 3.2)le nombre 2AB 3.3)le nombre 2AB0 3.4)le nombre -5

Rponses :
Ex-1 : S1 = x .y + y Ex-2 : S1= (x + y) .y Ex-3 : S1= x + y +y Ex-4 : S1= (x +y) + (x + y) y Ex-5 : S1: (x + y + y.z ) . (y.z) Ex-6 : S1= (x y). (y.x) simplifie S1 = y simplifie S1 = y simplifie S1 = 1 simplifie S1 = 1 simplifie S1 = y.z simplifie S1 = 0

Ex-7 : 1) le nombre maximum = 26-1 (soit 63) 2) le nombre minimum = -26(soit -64) 3.1) Mx+My = 37 ( car: 0001100 + 0011001 = 0100101 ) 3.2) Mx+My = -3 ( car: 0101010 + 0011001 = 1000011 , le bit de signe a t cras) Ex-8 : 1) x =101000101 2) x = 00110011 . 00110010 . 00110101 (car chaque symbole est cod sur 8 bits) 3) Le codage binaire pur du nombre x occupe 9 bits alors que son codage Ascii occupe 24 bits. 4) Soit k le nombre de bits (nombre de chiffres binaires) de l'entier x, en dcimal x est compos de n chiffres dcimaux x < 10n , en binaire x se compose de k chiffres binaires x < 2k , ds que 2k ~ 10n ou encore k ~ n log2 10, soit donc le nombre de bits est de l'ordre de la partie entire du nombre approch n log2 10, soit k ~ 3,32 . n . Pour un nombre 3 chiffres k ~ 9, donc 9 bits suffiront pour coder ce nombre en binaire pur. Ex-9 : 1) cette mmoire centrale peut contenir au maximum 212 = 4096 mots. 2) le plus grand entier vaut : 215-1 (soit 32737). 3) 683 (oui), 2AB (oui ), 2AB (non plus de 12 bits ), -5 (non, une adresse est un nombre positif ou nul)

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

151

Bibliographie
Ouvrage crit par lauteur du livret :

Livre de 1400 pages de cours d'initiation l'informatique et la programmation crit par lauteur et dit par :

http://www.berti-editions.com
RM di Scala, lessentiel en informatique et programmation , Berti, Alger (2004), diffusen France par la librairie Eyrolles, la FNAC,.

L'ouvrage est accompagn d'un CD-ROM contenant les assistants du package pdagogique en version 4.

Ouvrages dautres auteurs :


Lorrains, Rseaux tlinformatiques, Hachette technique, Paris (1979). P. Franken, OS/2 2.0, Micro Application, Paris (1992). Data Becker, Le meilleur de Windows 95, Micro Application, Paris (1995). H. Boucher, Architecture de lordinateur Tome 3 Logiciel, Cepadues Editions, Toulouse (1980). Victor Sandoval, Intranet, le rseau dentreprise, Hermes, Paris (1996). Pierre-Alain Goupille, Technologie des ordinateurs et des rseaux, Masson, Paris (1996). Daniel Etiemble, Architecture des processeurs Risc, Armand Colin, Paris (1991). Y. Nishinuma, R. Espesser, Unix premiers contacts, Eyrolles, Paris (1986). S. Krakowiak, Principes des systmes dexploitation des ordinateurs, Dunod, Paris (1985). Guy Pujolle, La tlmatique rseaux et applications, Eyrolles, Paris (1983). Guy Pujolle, Les rseaux dentreprise, Eyrolles, Paris (1983). Cornafion, Systmes informatiques rpartis, Dunod, Paris (1981). Crocus, Systmes dexploitation des ordinateurs, Dunod, Paris (1975). Philippe Dax, CP/M et sa famille, Eyrolles, Paris (1982). Daniel-Jean David, Les systmes microprocesseurs, ditests, Paris (1982). Alain Pinaud, Programmer en assembleur, P.S.I., Lagny (1982). Data Becker, Le grand livre MS-DOS 5.0, Micro Application, Paris (1991). A. Villard, M. Miaux, Un microprocesseur pas pas, ETSF, Paris (1983). Wladimir Mercouroff, Les ordinateurs, Cedic/Fernand Nathan, Paris (1980). Adam Osborne, Initiation aux micro-ordinateurs, ditions Radio, Paris (1981). Frdric Hoste, Les rseaux locaux dentreprise, di test, Paris (1983). C. Macchi, J.-F. Guilbert, Tlinformatique, Dunod, Paris (1979). H. Lilen, Du microprocesseur au micro-ordinateur, ditions Radio, Paris (1980). J. du Roscot, Principes et problmes dun systme dexploitation dordinateur, Masson et Cie, Paris (1972). C. Carrez, Les systmes informatiques, Dunod, Paris (1990). Guy Lacroix, Le mirage internet Enjeux conomiques et sociaux, Vigot, Paris (1997). A. Tanenbaum, Les systmes dexploitation, InterEditions, Paris (1989). A. Tanenbaum, Architecture de lordinateur, InterEditions, Paris (1987). Livret 1 : Le matriel informatique - (rv 07.12.2005 ) page

152

Donald H. Sanders, Lunivers des ordinateurs, McGraw Hill, Paris (1984). J.Steiner, Comprendre choisir et utiliser les microprocesseurs, Osman-Eyrolles, Paris (2000) E.Charton, crer un intranet, campus press, Paris (2000) O.Pavie, les rseaux, campus press, Paris (2000) J.Casad, B.Willsey, TCP/IP , campus press, Paris (1999) T.Drilling, guide de l'utilisateur LINUX, Micro Application, Paris (2000) A.Arnold, I.Guerssarian, mathmatiques pour l'informatique, Masson, Paris (1997). N.Wielsch & al, Kit de dmarrage Linux Mandrake 7.2, Micro Application, Paris (2000) G.Pujolle Best of : les rseaux , Eyrolles, Paris (2002) A.Tanenaum, Systmes d'exploitation, Pearson education 2 d.,Paris (2003) Th.Lucas et al Initiation la logique formelle, De Boeck universit, Bruxelles (2003) P.Maurette, Programmez en assembleur, Micro Application, Paris (2004)

rm di Scala - 2006

Livret 1 : Le matriel informatique - (rv 07.12.2005 )

page

153