381
Architecture des Ordinateurs IUT Informatique de Calais

Architecture des Ordinateurs IUT Informatique de Calais

Embed Size (px)

Citation preview

Page 1: Architecture des Ordinateurs IUT Informatique de Calais

Architecture des Ordinateurs

IUT Informatique de Calais

Page 2: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 2

Objectif du cours : Étude du fonctionnement interne de l’ordinateur

1ière partie : couple processeur / mémoire

• codage des nombres

• logique combinatoire

fonctions simples : addition …

• logique séquentielle

fonctions plus sophistiquées : mémoire ...

• introduction à l'assembleur

2ième partie : carte mère et périphériques

• carte mère : chipset, bus, connecteurs …

• périphériques d’entrée : clavier, souris …

• périphériques de sortie : écran, imprimante …

• périphériques d’entrée sortie : disque dur, modem ...

logique booléenne

Page 3: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 3

8 TDs :

• manipulation de nombres binaires

• logique combinatoire

• logique séquentielle

8 TPs :

• programmation assembleur

2 DS + 1 contrôle TD + 1 contrôle TP

Période : 1er semestre (16 semaines)

16 Cours

Page 4: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 4

1 Introduction

1.1 Objectif de la première partie du cours

Couple processeur / mémoire :

• utilisation des opérations logiques de base : ET, OU, NON

• niveaux logique et fonctionnel (circuits logiques et équations)

• réalisation d’unités de traitement primitives

• assemblage de ces unités pour préciser l’organisation de l’ordinateur

Page 5: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 5

1.2 Historique de l’informatique

… agrémenté de quelques « phrases célèbres » en rouge …

Références :– « Préhistoire et histoire des ordinateurs » de Robert Ligonnière, Robert

Laffont, 1987– http://www.scedu.umontreal.ca/histoiredestec/histoire/tdmhiste.htm (offline ...)– http://histoire.info.online.fr – http://dmawww.epfl.ch/~delay/projet3 (offline ...)

1.2.1 Du manuel à la mécanique

Page 6: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 6

L’homme a toujours cherché à s’aider pour le calcul :

-500 : premiers outils de calcul, l ’abaque et le boulier

Page 7: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 7

-300 : Aristote définit la logique

1580-1617 : J. Napier invente les logarithmes + nombres décimaux

+ techniques de multiplication et division (bâtons de Napier)

1623 : Cylindres de Schickard ( + idée d ’utiliser des roues dentelées)

1673 : Disques de Morland

Page 8: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 8

1624 : Schickard esquisse la première calculatrice

1642 : Blaise Pascal invente la pascaline

Page 9: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 9

Page 10: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 10

1694 : machine de Leibniz (multiplication et division)

Page 11: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 11

1820 : C.X. Thomas invente l’arithmomètre (6 à 20 chiffres)

• 1 500 exemplaires vendus de 1823 à 1878

Page 12: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 12

1937 : C. Herzstark invente la Curta

• Curta I : 80 000 exemplaires vendus de 1947 à 1970

• Curta II : 60 000 exemplaires vendus de 1954 à 1970

Page 13: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 13

Historique de l ’informatique

1.2.2 De la mécanique à l’électromécanique

Page 14: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 14

1833 : Babbage imagine une machine analytique contenant les concepts d’unité de calcul, mémoire, registre et entrée des données par carte perforée

1840 : Ada Lovelace, collaboratrice de Babbage définit le principe d’itérations successive dans l’exécution d’une opération et nomme ce processus algorithme en l’honneur du mathématicien arabe Al Khowarizmi

Page 15: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 15

1854 : Boole démontre que tout processus logique est décomposable en une suite d’opérations logiques (ET, OU, NON) appliquées sur 2 états (0-1, V-F, ...)

1884 : H. Hollerith crée une tabulatrice à cartes perforées pour faire traiter le recensement américain de 1890, c’est la 1ière machine à traiter l’information

Page 16: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 16

1896 : H. Hollerith crée la firme Tabulating Machine Corporation

1904 : J. Fleming invente le premier tube à vide (la diode)

1907 : L.D. Forest invente la triode

1919 : Eccles et Jordan inventent le basculeur (flip-flop ou circuit bi-stable)

1924 : Tabulating Machine Corporation est renommée International Business Machine

Page 17: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 17

1937 : A.M. Turing résout des problèmes mathématiques à l’aide d ’une bande de papier, de pions et d ’un trombone ! C’est la machine de Turing

1938 : Shannon dans sa thèse fait le parallèle entre circuit électrique et algèbre booléenne. Il définit le chiffre binaire : bit (BInary digiT)

1938 : K. Zuse crée le Z1, ordinateur binaire programmable mécanique !

1939 : Z2, une partie de la mécanique est remplacée par des relais téléphoniques

Page 18: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 18

1941 : J. Atanasoff et C. Berry créent le 1er calculateur binaire basé sur l’algèbre de Boole. L’ABC est considéré comme le premier ordinateur mais son programme n’est pas stocké en mémoire

1941 : Z3, premier calculateur avec programme enregistré. Mémoire : 64 nombres de 22 bits, puissance : 4 +/s ou 1 x en 4s

Page 19: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 19

1943 : H. Aiken crée le Mark I calculateur électromécanique (3000 relais, 800km de câbles) dont le fonctionnement est proche de la machine imaginée par Babbage

1945 : un insecte coincé dans la Mark I bloque son fonctionnement. La mathématicienne G.M. Hopper décide que tout ce qui arrêtera le bon fonctionnement d ’un programme s’appellera BUG.

1945 : J. Von Neuman travaillant sur le projet ENIAC définit ce que devrait être un ordinateur à programme enregistré : architecture de Von Neuman

1943 : Thomas Watson, IBM : « Je pense qu’il y a un marché mondial pour au moins 5 ordinateurs. »

Page 20: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 20

Historique de l ’informatique

1.2.3 L’électronique

Page 21: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 21

1946 : P. Eckert et J. Mauchly créent l’ENIAC. Particularités : 18 000 tubes, 30 tonnes, 72 m2, 140 KW, 100 kHz, 330 x/s

Page 22: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 22

1948 : Newman et Williams créent le Manchester Mark I. Particularité : mémoire à tubes cathodiques

1950 : M.V. Wilkes invente l ’assembleur (avant on programmait en binaire)

1951 : G.M. Hopper invente le premier compilateur A0 générant un programme binaire à partir d’un code source

1947 : invention du transistor dans les laboratoires de Bell Telephone

1953 : invention de la mémoire à tores de ferrite

1949 : revue Popular Mechanics : « Alors que le calculateur ENIAC est équipé de 18000 tubes à vide et pèse 30 tonnes, les futurs ordinateurs de l’an 2000 ne devraient avoir que 1000 tubes à vide et ne peser que 1,5 tonnes. »

Page 23: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 23

1956 : TRADIC le premier ordinateur à transistors par Bell amorce la seconde génération d ’ordinateurs

1956 : 1er disque dur, le RAMAC 305 par IBM (50 disques de 61 cm - 5 Mo)

1957 : J. Backus d ’IBM crée le langage FORTRAN

Page 24: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 24

1958 : 1er ordinateur commercial entièrement transistorisé par S. Cray

Page 25: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 25

1958 : 1er circuit intégré par Texas Instruments

1958 : 1er modem par Bell

1958 : 1er jeu vidéo (très similaire au jeu pong par Atari en 1972)

1960 : langage Cobol

1962 : P. Dreyfus invente le mot informatique

1964 : langage Basic

Page 26: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 26

1965 : G. Moore écrit que la densité des circuits intégrés doublera tous les 18 mois (loi de Moore)

1966 : première console de jeux vidéo, la Magnavox Odyssey I

1967 : plans de l’ARPANET (ancêtre de l ’internet)

1967 : premier lecteur de disquettes par IBM

Page 27: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 27

1968 : D.C. Engelbart fait la démonstration d’un environnement graphique avec fenêtres utilisant une souris.

1968 : langage Pascal

1969 : naissance d ’Unix grâce à K. Thompson et B. Kernighan

1970 : K. Thompson crée le langage B pour Unix

1968 : HP présente sa première calculatrice de bureau programmable, la HP 9100 (20 kg, 5000 $)

Page 28: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 28

1971 : Intel vend le premier microprocesseur : Intel 4004 (4 bits, 108 kHz, 200$)

1971-1973 : transformation du langage B (interprété) en langage C (compilé)

1971 : Apparition de l’ordinateur Kenback-1 pour 750$ en kit !

Page 29: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 29

1972 : R. Tomlinson crée un logiciel de courrier électronique pour ARPANET

1972 : premier langage orienté objet, SmallTalk

1972 : B. Gates et P. Allen fondent la compagnie Traf-O-Data

1973 : apparition du mot microcomputer (micro-ordinateur)

1975 : Traf-O-Data devient Micro-Soft

1976 : S. Jobs et S. Wozniak créent l ’Apple Computer et fondent Apple

1977 : Ken Olson, DEC : « Il n’y a aucune raison pour que tout le monde veuille un ordinateur à la maison »

Page 30: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 30

Avril 1981 : Xerox vend le Star 8010. Caractéristiques : Ram 1 Mo, DD 8 Mo, interface Ethernet, interface graphique, souris 2 boutons, Drag&Drop, copier-coller, menus contextuels, tableur, traitement de texte WYSIWYG, et messagerie électronique. Problème : 17 000 $

Il faudra 10 ans à Apple et 15 ans à Microsoft pour faire aussi bien !

Page 31: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 31

Août 1981 : IBM lance le 5150 Personal Computer. Caractéristiques : RAM 640Ko, lecteur de disquettes 5’’25, système PC-DOS 1.0 pour 3 000 $ (version CGA 16 couleurs pour 6000 $). Windows 1.0 sortira en novembre 1985.

Il n’apporte rien de nouveau et pourtant ...

1981 : Bill Gates, Microsoft : « 640Ko devrait être suffisant pour tout le monde. »

Page 32: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 32

Janvier 1983 : Apple lance le Lisa. Caractéristiques : µP 68000 à 5Mhz, 1 Mo RAM, 2 Mo ROM, écran graphique 12’’ 720x364, 2 x 5’’25, DD 5 Mo avec interface graphique et souris. 10 000 $

Janvier 1984 : Apple lance le Macintosh. Caractéristiques : µP 68000 à 8Mhz, 128Ko RAM, 64 Ko ROM, 3’’50, écran N&B 9’’ 512x384 avec interface graphique et souris. 2 500 $

Loi de Wirth : « Les logiciels deviennent plus lents de manière plus rapide que le matériel ne devient plus rapide. »

Page 33: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 33

Historique de l’informatique

FIN

Page 34: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 34

1.3 Positionnement du problème

On souhaite construire un ordinateur basé sur l’utilisation de la base 2

Problèmes :

• représentation des nombres

• réalisation des opérations arithmétiques :

• + et - : facile en entier et en réel

• x : plus dur ...

• / : efficacité difficile à obtenir en entier, ardu en réel

• séquenceur

• intégration

Page 35: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 35

1.4 Principes fondamentaux

Tous les ordinateurs sont fondés sur les mêmes principes de base :

• programmes / données

• processeur / mémoire / périphériques

• informations codées en binaire

• traitements effectués en binaire

Pourquoi la base 2 ?

• Simple

• générale

Depuis l ’ENIAC, seule la technologie a changée :

lampe à vide - transistor - circuit intégré - microprocesseur

d ’où : plus rapide, plus petit, moins gourmand, plus fiable, moins coûteux

Page 36: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 36

1.5 Définitions

Définition 1

Un processeur est un élément qui exécute des traitements. Les traitements à exécuter sont indiqués par les instructions du programme exécuté. Les traitements s’appliquent sur des données et fournissent également des résultats.

Définition 2

La mémoire centrale contient les programmes exécutés par le processeur ainsi que les données du programme et ses résultats.

Processeur

Résultats

Programme

Données

Mémoire

Page 37: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 37

2 Logique booléenne2.1 Représentation des valeurs booléennes

• 0 : 0 volt = masse

• 1 : +5 volts = alimentation

2.2 Les portes logiques

2.2.1 Fonction NON (inverseur)

Elle donne le complémentaire d ’une valeur logique.

a s a s

symbole usuel symbole normalisé ANSI table de vérité

asas , :Notation

a s0 11 0

1

Page 38: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 38

2.2.2 Fonction ET

Un ET est vrai si ses deux entrées sont vraies.

ba s a

bs

&

basbas ,. :Notation

a b s0 0 00 1 01 0 01 1 1

2.2.3 Fonction OU

Un OU est faux si ses deux entrées sont fausses.

a

bs

basbas , :Notation

a b s0 0 00 1 11 0 11 1 1

ba s

1

Page 39: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 39

2.2.4 Fonction NON-ET ou NAND

Un NON-ET est un ET complémenté. Son résultat est faux si ses deux entrées sont vraies.

ba s a

bs

&

basbas ,. :Notation

a b s0 0 10 1 11 0 11 1 0

2.2.5 Fonction NON-OU ou NOR ou NI

Un NI est un OU complémenté. Son résultat est vrai si ses deux entrées sont fausses.

a

bs

basbas , :Notation

a b s0 0 10 1 01 0 01 1 0

ba s

1

Page 40: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 40

2.2.6 Fonction OU-EXCLUSIF

Un OU-EXCLUSIF est vrai si ses deux entrées ont des valeurs différentes. Il permet de « tester » si deux valeurs logiques sont différentes.

a

bs

)..( , :Notation babababasbas

1ba s

a b s0 0 00 1 11 0 11 1 0

2.2.7 Fonction NI-EXCLUSIF

Un NI-EXCLUSIF est vrai si ses deux entrées ont des valeurs égales. Il permet de « tester » si deux valeurs logiques sont égales.

)..( reparticuliènotation de Pas bababa

ba s a

bs

1

a b s0 0 10 1 01 0 01 1 1

Page 41: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 41

2.2.8 Fonctions ET-multiple, OU-multiple, NON-ET-multiple et NI-multiple

Les fonctions ET, OU, NON-ET et NI (NON-OU) se généralisent facilement à des fonctions ayant un nombre quelconque d ’entrées :

• ET-multiple : vrai (1) si toutes ses entrées sont vraies (1), faux (0) sinon

• OU-multiple : faux si toutes ses entrées sont fausses, vrai sinon

• NON-ET-multiple : faux si toutes ses entrées sont vraies, vrai sinon

• NI-multiple : vrai si toutes ses entrées sont fausses, vrai sinon

Page 42: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 42

2.2.9 Porte trois-états

La porte trois-états agit en interrupteur.

Elle possède deux entrées et une sortie.

L ’une des entrées contrôle son activité. Si celle-ci vaut 1 alors l ’entrée a est directement connectée à la sortie s, sinon elles sont déconnectées.

L ’état déconnecté n ’est pas un 0, on le nomme haute-impédance (noté Z).

a s

c

a s

c

ou a s

c

c a s0 0 Z0 1 Z1 0 01 1 1c a s

0 0 00 1 11 0 Z1 1 Z

Page 43: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 43

L ’intérêt de la porte trois-états est de pouvoir connecter directement deux fils en évitant tout risque de court-circuit en utilisant un montage de barrière bi-directionnelle ou transceiver.

c

Page 44: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 44

2.2.10 Aspect matériel

Matériellement, les portes se présentent dans des circuits intégrés. Un circuit en regroupe un certain nombre de même type.

Exemple : le 7400 comporte 4 portes NAND

1314 8 9 101112

2 1 7 6 5 4 3

Page 45: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 45

Il faut un certain temps pour qu ’une porte logique réagisse à un changement sur ses entrées : c’est le délai de propagation (environ 10 ns)

Chronogramme réel faisant apparaître ce délai :

1s 0 1b 0 1a 0

délai de propagationdans une porte ET

Une porte peut prendre en compte le valeur d’une entrée lorsqu’il y a un changement d’état logique de cette entrée.

Changement d ’état = front :

• 0 à 1 : front montant

• 1 à 0 : front descendant

Page 46: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 46

Le délai de propagation d'un circuit est le temps le plus long nécessaire pour propager un front sur une des entrées vers une des sorties.

Exemple de calcul du délai de propagation :

t

b

a

c

s

15nsNON-OU-EXCLUSIF à 3 entrées

15nsOU-EXCLUSIF à 3 entrées

14nsNON-OU à 3 entrées

14nsNON-ET à 3 entrées

14nsOU à 3 entrées

14nsET à 3 entrées

13nsNON-OU-EXCLUSIF à 2 entrées

13nsOU-EXCLUSIF à 2 entrées

12nsNON-OU à 2 entrées

12nsNON-ET à 2 entrées

12nsOU à 2 entrées

12nsET à 2 entrées

10nsNON (inverseur)

Délai de propagation :

b vers t : 10 + 12 + 12 = 34ns

Page 47: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 47

Exemple de chronogramme :

Chronogrammes en TD : on supposera qu’il n’y a pas de délai de propagation

1010101010

temps

t

b

a

c

s

ij

s

j

i

b

a

Page 48: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 48

2.3 Simplification d’une fonction logique

Pourquoi simplifier ?

• Équation plus lisible

• + facile à construire

• - cher

• + rapide

• - gourmand en énergie

• - de chaleur

Théorème 1

La porte NON-ET est universelle.

Théorème 2

La porte NI est universelle.

Page 49: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 49

2.3.1 Théorèmes de Boole

1 -

-

11 -

0 -

0. -

. -

1. -

00. -

aa

aaa

a

aa

aa

aaa

aa

a

2.3.2 Formules de De Morgan

b

b

aa.b -

.aba -

Page 50: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 50

2.3.3 Autres propriétés

• ET est associatif et commutatif (comme la multiplication)

• OU est associatif et commutatif (comme l’addition)

• ET est distributive par rapport à OU (comme x par rapport à +)

2.4 Représentation des nombres

2.4.1 Utilisation d'une base quelconque et changement de base

Un nombre N en base B s'écrit :

NB = anan-1an-2 … a1a0 avec 0 ≤ ai ≤ B-1

Exemples : base 2 (binaire) : 011011100102 0 ≤ ai ≤ 1

base 8 (octal) : 12456764706208 0 ≤ ai ≤ 7

base 10 (décimal) : 97468205610 0 ≤ ai ≤ 9

base 16 (hexadécimal) : 3A5E8F16 0 ≤ ai ≤ F

chiffres hexadécimaux : 0 1 2 3 4 5 6 7 8 9 A B C D E F

Page 51: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 51

Pour trouver la valeur décimale d'un nombre en base B :

N10=anBn + an-1Bn-1 + … + a2B2 + a1B1 + a0

Exemples : 10112 = 1×23 + 0×22 + 1×21 + 1 = 1110

2478 = 2×82 + 4×81 + 7 = 16710

2DB16 = 2×162 + 13×161 + 11 = 73110

Pour passer d'une base à une autre il est toujours possible de passer par la base 10

Pour passer du binaire à une base de type 2n il suffit de regrouper les bits par n de la droite vers la gauche afin de retrouver chaque chiffre en base 2n.

Exemples : soit 101101112 à représenter en

octal (8 = 23) : 10 110 111 2 = 2678

hexadécimal (16 = 24) : 1011 0111 2 = B716

Page 52: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 52

2.4.2 Représentation des nombres binaires non signés

n bits permettent de représenter 2n valeurs différentes, donc les nombres entiers positifs de 0 à 2n-1.

Exemple : sur 8 bits on peut représenter 28 = 256 valeurs différentes donc les entiers de 0 à 255 (0000 0000 à 1111 1111).

2.4.3 Représentation des nombres binaires signés

Pour représenter des nombres entiers positifs et négatifs, on utilise la représentation en complément à deux.

Pour un nombre entier positif, c’est sa représentation en base 2.

Pour un nombre entier négatif, on obtient sa représentation en 3 étapes :

étape 1 : calculer la représentation binaire de sa valeur absolue

étape 2 : complémenter tous les bits (0→1, 1→0)

étape 3 : ajouter 1 (additionner 1 au nombre obtenu)

Page 53: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 53

-100 sur 8 bits ?

étape 1 : 01100100

étape 2 : 10011011

étape 3 : 10011100

Avec n bits on représentent les nombres entiers de -2n-1 à 2n-1-1.

La soustraction s’obtient en additionnant les représentations C2.

La représentation C2 n ’a de sens que si on précise qu’on l ’utilise pour ce nombre, sinon -23 en C2 vaut 233 en binaire (233=256-23).

étape 1 : 00010111

étape 2 : 11101000

étape 3 : 11101001

Exemples : -23 sur 8 bits ?

Page 54: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 54

Lorsque des opérations sont effectuées sur des nombres codés en complément à 2, ceux-ci doivent impérativement être codés sur le même nombre de bits.

0100

110

1010

4

-2

-6

0100

1110

10010

On ne tient pas compte de la retenue finale

Comment détecter un débordement ?

• si les nombres sont de signes différents, pas de problème

• si ils sont de même signe, le signe du résultat doit être le même, sinon il y a débordement

0

4

6

10

Page 55: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 55

2.4.4 Binaire Codé Décimal (BCD)

BCD permet de coder des nombres entiers positifs.

En BCD, on code chaque chiffre du nombre décimal sur 4 bits et on concatène ces demi-octets.

Exemple : 4236 devient 0100 0010 0011 0110 en BCD

Avec 4n bits (ou m octets) on code les entiers de 0 à 10n-1 (ou 102m-1)

2.4.5 Représentation des nombres réels

En décimal on écrit par exemple :

52,467 = 5.101 + 2.100 + 4.10-1 + 6.10-2 + 7.10-3

De manière générale, dans la base b, on écrit :

an an-1…a0 , a-1 a-2 … a-p = anbn + an-1bn-1 + … + a0b0 + a-1b-1 + a-2b-2 + … + a-pb-p

Page 56: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 56

Par exemple en binaire :

10100101,011 = 1.27+1.25+1.22+1.20+1.2-2+1.2-3 = 165+1/4+1/8 = 165,375

Passage de la base 10 vers une base quelconque :

• pour la partie entière, on procède par divisions comme pour un entier

• la partie fractionnaire est multipliée par la base de manière successive en conservant la partie entière et ce jusqu’à ce qu’elle devienne nulle ou que la précision maximale soit atteinte.

Exemple 1 : 28,125

28 11100

0,125 * 2 = 0,25 0,25 * 2 = 0,5 0,5 * 2 = 1,0

0,125 0,001

28 2 0 14 2

0 7 2 1 3 2

1 1

Page 57: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 57

Exemple 2 : 0,3

0,3 * 2 = 0,6 0,6 * 2 = 1,2 0,2 * 2 = 0,4 0,4 * 2 = 0,8 0,8 * 2 = 1,6

0,6 * 2 = 1,2 0,2 * 2 = 0,4 …

0,3 0,010011001100110011001100110011001…Codage informatique des nombres réels selon la norme IEEE 754 :

Les nombres réels sont normalisés sous la forme 1,… * 2n puis codés sur 32bits.

• le 1er bit code le signe (0 pour + et 1 pour -)

• les 8 bits suivants codent l’exposant auquel on ajoute 127 (permet de coder des exposants négatifs sans C2)

• les 23 derniers bits codent la partie fractionnaire du nombre (après la virgule) mais si le 24ième bit est 1 alors on arrondit à la valeur supérieure (mantisse + 1)

seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm

Page 58: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 58

Exemple :

5,3 101,010011001100110011001100110011001…

• normalisation : 1,01010011001100110011001100110011001… * 22

• signe : 0

• exposant : 2 + 127 = 129 soit sur 8 bits 1000 0001

• mantisse sur 23 bits : 01010011001100110011001 mais le 24ième bit est 1 donc la mantisse est 01010011001100110011010

• codage final : 0100 0000 1010 1001 1001 1001 1001 1010

• de manière plus lisible en hexadécimal : 40 A9 99 9A

Remarques :

• l’exposant 0000 0000 signifie que le nombre est dénormalisé

• l’exposant 1111 1111 signifie que ce n’est pas un nombre (NaN)

• les exposant sont donc compris entre –126 et 127.

Page 59: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 59

2.4.6 Unités de stockage

• unité de base : le bit (0 ou 1)

• unité usuelle : l'octet (1 octet = 8 bits)

• kilooctet : 1 ko = 1024 octets

• mégaoctet : 1 Mo = 1024 Ko

• gigaoctet : 1 Go = 1024 Mo

• téraoctet : 1 To = 1024 Go

Page 60: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 60

3 Logique combinatoire3.1 Introduction

Objet : étude des fonctions logiques du type x=f(a,b,c,…).

Note : le temps n’intervient pas dans l’équation.

La logique combinatoire permet la réalisation des fonctions de base d’un ordinateur.

Définition 3 : entrée

Valeur logique fournie au circuit et à partir de laquelle est déterminée la sortie du circuit.

Définition 4 : entrée de donnée

Entrée ayant un rôle de valeur à traiter par le circuit.

Page 61: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 61

Définition 5 : entrée de contrôle

Entrée ayant un rôle de modification / spécification du traitement réalisé par le circuit.

Définition 6 : sortie

Valeur logique résultat de l’activité du circuits sur ses entrées.

Remarque : similitude conception d’un programme / circuit logique

Étant donnés des entrées et les résultats qui doivent être obtenus, on conçoit un programme ou un circuit logique passant des unes aux autres.

Page 62: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 62

3.2 Exemples de circuits combinatoire

3.2.1 Additionneur

Réalise l’addition de deux nombres entiers sur n bits.

Le résultat est fourni sur n+1 bits, le bit supplémentaire étant un bit de retenue.

+

A

B

C=A+B

Page 63: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 63

3.2.2 Multiplexeur et démultiplexeur

• Le multiplexeur transmet plusieurs signaux en entrée sur un seul fil en sélectionnant une des entrées à transmettre en sortie.

• Une entrée de contrôle réalise la sélection.

• 2n entrées de donnée n entrées de contrôle

• Les n bits de contrôle ( 0 à 2n-1 ) = numéro de l’entrée à sélectionner

0

00

1

1

1

s

e0

e3

e2

e1

c1

c0

1 = e1

Page 64: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 64

Démultiplexeur = rôle inverse du multiplexeur : choisir la sortie vers laquelle transmettre l’entrée

s0

s3

s2

s1

e

c1 c0

10

= e

Page 65: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 65

3.2.3 Décodeur et encodeur

• Décodeur : n entrées et 2n sorties

• Les n bits en entrée codent une valeur de 0 à 2n-1

• La sortie ayant ce numéro passe à 1 (les autres 0)

• Le décodeur est un élément essentiel dans la réalisation de la mémoire.

s0

s3

s2

s1

e0

e1

e2

s4

s7

s6

s51

1

0

= 0= 0= 0= 0

= 0= 1= 0= 0

Page 66: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 66

Encodeur : rôle inverse du décodeur

• 2n entrées et n sorties

• Une seule entrée est à 1

• Les n bits en sortie codent le numéro de l’entrée qui est à 1

s0e3

s2

s1

e0

e1

e2

e4

e7

e6

e5

1

00

000

0

0

= 0

= 1

= 1

Page 67: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 67

À partir des spécification du circuit à réaliser :

1 identifier les entrées et les sorties du circuit en distinguant les entrées de donnée des entrées de contrôle

2 donner la table de vérité de chacune des sorties en fonction des entrées

3 pour chacune des sorties, en fonction de la table de vérité, obtenir une équation logique simplifiée au moyen d’un tableau de Karnaugh

4 dessiner le schéma logique du circuit

3.3 Méthodologie de réalisation d’un circuit combinatoire

Page 68: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 68

a\b 0 10 0 11 1 0

Entrées dans le même ordre que dans la table de vérité

3.3.1 Tableau de Karnaugh

• permet de trouver l’équation logique d’une sortie d’un circuit en regroupant les cases contenant la valeur 1

• obtenu à partir de la table de vérité

Exemples :

• 2 entrées : tableau de Karnaugh de s

a b s0 0 00 1 11 0 11 1 0

Page 69: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 69

a1a0\b1b0 00 01 11 10

00 0 1 1 001 1 0 0 111 1 0 0 110 0 1 1 0

Entêtes de ligne et de colonnes codées dans l’ordre croissant du

codage de Gray

• 4 entrées a1a0b1b0 (en fait 2 nombres A et B) : tableau de Karnaugh de s

a1 a0 b1 b0 s0 0 0 0 00 0 0 1 10 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 00 1 1 0 10 1 1 1 01 0 0 0 01 0 0 1 11 0 1 0 01 0 1 1 11 1 0 0 11 1 0 1 01 1 1 0 11 1 1 1 0

Entrées toujours

codées dans l’ordre

croissant du codage binaire (ici de 0000 à 1111)

0123456789

101112131415

Page 70: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 70

• Nombres croissants sur 3 bits selon ….

le codage binaire classique : on ajoute 1 à chaque fois

000 001 010 011 100 101 110 111

001:OK 000:NON011:OK

010:OK 011:NON000:NON110:OK

111:OK 110:NON101:OK

100:OK

le codage de Gray :

1) 2 nombres consécutifs ont un seul bit qui les différencie

2) Trouver le nombre suivant consiste à inverser le bit le plus à droite possible (vérifier que le codage obtenu n’a pas déjà été utilisé par un nombre précédent)

000 001 011 010 110 111 101 100

• Remarque :

• Le premier et le dernier nombre ont également un seul bit qui les différencie

Page 71: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 71

• Pourquoi le codage de Gray pour les tableaux de Karnaugh ?

Le codage des entrées de 2 cases voisines ont un seul bit qui les différencie, dans ce cas l’équation leur correspondant se simplifie

Important : La première et la dernière case de chaque ligne et de chaque colonne sont également considérée comme voisine (un seul bit différencie leur codage)

• exemples

a1a0\b1b0 00 01 11 10

00 0 0 0 001 0 0 0 111 0 0 0 110 0 0 0 0

0101101001010101 )( bbaaabbabbaabbaas

a1a0\b1b0 00 01 11 10

00 0 0 0 001 0 0 0 011 1 0 0 110 0 0 0 0

001 baas

Page 72: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 72

• Plus le regroupement de cases voisines est grand, plus l’équation résultante est simple

• Exemples de groupements de 4 cases voisines :

a1a0\b1b0 00 01 11 10

00 0 1 0 001 0 1 0 011 0 1 0 010 0 1 0 0

01bbs

a1a0\b1b0 00 01 11 10

00 1 1 0 001 0 0 0 011 0 0 0 010 1 1 0 0

a1a0\b1b0 00 01 11 10

00 0 0 0 001 0 1 1 011 0 1 1 010 0 0 0 0

a1a0\b1b0 00 01 11 10

00 1 0 0 101 0 0 0 011 0 0 0 010 1 0 0 1

00bas

10bas 00bas

Page 73: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 73

• Exemples de groupements de 8 cases voisines :

a1a0\b1b0 00 01 11 10

00 1 0 0 101 1 0 0 111 1 0 0 110 1 0 0 1

a1a0\b1b0 00 01 11 10

00 0 0 0 001 1 1 1 111 1 1 1 110 0 0 0 0

0as 0bs • Les groupements ne se font que par 2n cases (2, 4, 8, 16, …)

• Un groupement de 2n cases est valide ssi chaque case du groupement a n voisins dans ce groupement

• Exemples de groupements non valides :a1a0\b1b0 00 01 11 10

00 0 0 0 001 0 1 1 011 0 1 0 010 0 1 0 0

a1a0\b1b0 00 01 11 10

00 0 0 0 101 1 1 1 011 1 1 1 010 0 0 0 0

22 cases dont 2 n’ont qu’1 voisin

6 cases (pas une puissance de 2)

a1a0\b1b0 00 01 11 10

00 0 1 1 001 1 1 1 011 1 1 1 010 0 0 0 0

23 cases dont 5 n’ont que 2 voisins et une en a 4

Page 74: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 74

• Les cases contenant 1 peuvent être utilisées plusieurs fois par des groupements différents pour reconstituer l’équation de la sortie

• Il y a généralement de nombreuses solutions possibles, mais chercher les plus grands groupements permet de trouver les plus simples

• Exemples complets :

a1a0\b1b0 00 01 11 10

00 0 0 0 001 1 0 1 111 1 1 1 110 0 0 0 0

a1a0\b1b0 00 01 11 10

00 0 0 0 101 0 1 1 011 1 1 1 010 0 0 0 0

010100101 bbaababaas

)( 0110001001 bbaababaaas

Page 75: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 75

a1a0\b1b0 00 01 11 10

00 0 0 1 101 0 0 1 111 1 1 0 010 0 0 1 1

a1a0\b1b0 00 01 11 10

00 0 0 1 101 0 0 1 111 1 1 0 010 0 0 1 1

• Dans les exercices, toujours entourer les groupements utilisés dans le tableau de Karnaugh et indiquer leur correspondance avec un des termes de l’équation (par une couleur ou un numéro)

• De même, toujours tenter de simplifier l’équation finale

• groupement OU EXCLUSIF :

• alors que le OU correspond à l’union de plusieurs groupements, le OU EXCLUSIF correspond à l’union moins l’intersection de 2 groupements

• exemples :

101

011101

011101

1011101

)(

baa

aabbaa

aabbaa

bababaas

Page 76: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 76

a1a0\b1b0 00 01 11 10

00 0 1 0 001 0 1 0 011 1 0 1 110 0 1 0 0

a1a0\b1b0 00 01 11 10

00 0 0 0 101 0 0 0 011 0 0 0 010 1 1 1 0

a1a0\b1b0 00 01 11 10

00 0 0 1 001 0 0 0 111 0 0 0 110 0 0 1 0

a1a0\b1b0 00 01 11 10

00 1 0 1 001 0 0 0 011 0 0 0 010 1 0 0 1

0101 bbaas 0110 bbbas

01010 aabbas 10100 baabas

Page 77: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 77

3.4 Étude de quelques circuits combinatoires

3.4.1 Semi-additionneur » 1 bit

Table de vérité de la sortie s :

problème 1+1=10 donc 2 bits nécessaires

Deuxième sortie pour la retenue r :a b s0 0 00 1 11 0 11 1 0

ba

s

a b r0 0 00 1 01 0 01 1 1

abrbas , : simples équations

r

Page 78: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 78

3.4.2 Additionneur sur 2 bits

en entrée : 2 nombres sur deux bits a1a0 et b1b0

en sortie : s1s0 et la retenue r a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

Remarques :

• entrées à gauche

• sorties à droite

• bits dans l'ordre pour lire les nombres

Page 79: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 79

Tableau de Karnaugh de s0 : a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

a1a0\b1b0 00 01 11 10

00 0 1 1 001 1 0 0 111 1 0 0 110 0 1 1 0

Page 80: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 80

Tableau de Karnaugh de s0 : a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

a1a0\b1b0 00 01 11 10

00 0 1 1 001 1 0 0 111 1 0 0 110 0 1 1 0

000 abs

Page 81: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 81

Tableau de Karnaugh de s0 :

00000 baabs

a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

a1a0\b1b0 00 01 11 10

00 0 1 1 001 1 0 0 111 1 0 0 110 0 1 1 0

000 bas

Page 82: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 82

Tableau de Karnaugh de s1 :

a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

a1a0\b1b0 00 01 11 10

00 0 0 1 101 0 1 0 111 1 0 1 010 1 1 0 0

1011 .. baas 101 .. baa 011 .. bba 011 .. bba 0101 ... bbaa 0101 ... bbaa

Page 83: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 83

Tableau de Karnaugh de s1 :

a1a0\b1b0 00 01 11 10

00 0 0 1 101 0 1 0 111 1 0 1 010 1 1 0 0

1011 .. baas 101 .. baa 011 .. bba 011 .. bba 0101 ... bbaa 0101 ... bbaa

)()()( 11001101101 babababbaas

)().( 110011001 babababas

)( 11001 babas

)..( 111101 babaas )..( 11110 babab )..( 111100 bababa

)()).(( 110011001 babababas

Page 84: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 84

Tableau de Karnaugh de r :

a1a0\b1b0 00 01 11 10

00 0 0 0 001 0 0 1 011 0 1 1 110 0 0 1 1

a1 a0 b1 b0 r s1 s0

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 00 0 1 1 0 1 10 1 0 0 0 0 10 1 0 1 0 1 00 1 1 0 0 1 10 1 1 1 1 0 01 0 0 0 0 1 01 0 0 1 0 1 11 0 1 0 1 0 01 0 1 1 1 0 11 1 0 0 0 1 11 1 0 1 1 0 01 1 1 0 1 0 11 1 1 1 1 1 0

11.abr 001 .. abb 001 .. baa

)(.. 110011 abbaabr

Page 85: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 85

• même raisonnement que précédemment : laborieux

• idée : combinaison de plusieurs circuits travaillant sur 1 bit

• avantages : plus facile à réaliser, travail avec une taille de n bits (n quelconque), conception plus claire, meilleur méthodologie, schéma logique plus clair, réalisation matérielle du circuit plus simple.

• Circuit primitif : additionneur 1 bit complet

• prise en compte de la retenue précédente :

3.4.3 additionneur complet sur des données de taille quelconque

0 1 1 1 1 1 0

0010 1011

+ 1011 0110

1110 0001

Page 86: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 86

Table de vérité :

a b c r s0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Tableau de Karnaugh pour r :

a\bc 00 01 11 100 0 0 1 01 0 1 1 1

abbcacr

Tableau de Karnaugh pour s :

a\bc 00 01 11 100 0 1 0 11 1 0 1 0

cbas

Page 87: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 87

abbcacr cbas

ba

s

rc

Schéma logique :

Page 88: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 88

Schéma logique d'un additionneur 4 bits constitué d'additionneurs complets :

r

S

0

A B

Page 89: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 89

3.4.4 Unité logique

• deux entrées A et B sur n bits et une sortie S résultat d’une opération logique

• le choix de l’opération est fixé par c1c0 :

• les valeurs de A et B ne sont pas exprimées dans le tableau car elles n’ont pas d’intérêt ici

• utilisation de n circuits sur 1 bit pour réaliser le circuits sur n bits

c1 c0 s

0 0

0 1

1 0

1 1 ABA

BABA.

Page 90: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 90

Circuit logique sur 1 bit :

table de vérité : (la même mais sur des données 1 bit)

On peut faire le schéma directement à partir de l’équation mais ...

c1 c0 s

0 0

0 1

1 0

1 1 aba

ba ba.

accbaccbaccbaccs 01010101 )(....)(.

Page 91: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 91

… il vaut mieux utiliser un multiplexeur :

s

c1

c0

ab

Page 92: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 92

Schéma logique d’une UL sur 4 bits en combinant 4 UL 1 bit :

S

A B

c1c0

Page 93: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 93

3.4.5 Décaleur

Remarque :

• un décalage à gauche d’un nombre entier positif représenté en binaire correspond à une multiplication par deux

• un décalage à droite d’un nombre entier positif représenté en binaire correspond à une division par deux

Pour un décaleur sur n bits, le iième bit du résultat est soit le bit i-1 soit le bit i+1 de l’entrée.

décalage à gauche : entrée : 0110 0110

sortie : 1100 1100 si = ei-1

décalage à droite : entrée : 0110 0110

sortie : 0011 0011 si = ei+1

bit 7 bit 0

Page 94: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 94

Le circuit primitif a donc deux entrées e1 et e0 qui sont respectivement les bits i+1 et i-1 de l’entrée E pour le circuit logique sur n bits.

Il a également une entrée de contrôle indiquant un décalage à droite (c=0) ou à gauche (c=1).

01 ceecs

c s

0 e1

1 e0

s

c

e1

e0

Page 95: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 95

Schéma logique du circuit de décalage sur 4 bits :

0

0

c

S

A

Page 96: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 96

• on suppose que le nombre BCD est composé de deux chiffres codés sur 2x4 bits

• pour convertir ce nombre en binaire, il suffit de multiplier le chiffre des dizaines d par 10 et ajouter le chiffre des unités u : s = 10d + u

• on sait faire l’addition mais on ne sait pas multiplier par 10 …

• … mais décaler une donnée binaire d’une position vers la gauche correspond à une multiplication par deux …

• donc on décompose 10d en 8d + 2d ( x8 = 3 décalages à gauche )

3.4.6 Conversion BCD en binaire

Page 97: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 97

Schéma logique d’un convertisseur BCD en binaire :

S+

+

E

0

0

0

Page 98: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 98

3.4.7 Test de validité d’un code BCD

• en entrée une donnée sur 4 bits qui est censée représenter un chiffre en BCD et en sortie 1 si c’est le cas, 0 sinon ( si les 4 bits ont une valeur > 9 )

• soit b3b2b1b0 les 4 bis en entrée et s la sortie

123 .bbbs

b3 b2 b1 b0 s0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 10 1 0 0 10 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 11 0 1 x 01 1 x x 0

s

b2

b1

b3

b3 b2 b1 b0 s0 x x x 11 0 0 x 1

Page 99: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 99

3.4.8 Comparateur : A = B

• un comparateur sur n bits avec n comparateurs sur 1 bit

• comparateur sur 1 bit : OU-EXCLUSIF ( 1 si les deux entrées sont différentes )

• on compare tous les bits 1 à 1 puis on fait un OU sur les résultats :

s

A B

Page 100: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 100

3.4.9 Comparateur : A < B (nombres signés)

• A et B sont codés en complément à 2

• si A et B sont de signes différents, le nombre positif est le plus grand

• si A et B sont de même signe, on utilise le comparateur de nombres positifs

Pourquoi la comparaison fonctionne pour deux nombres négatifs ?

• codage C2 sur 4 bits :

0 1 2 … 7 8 9 … 15

0000 0001 0010 … 0111 1000 1001 … 1111

0 1 2 … 7 -8 -7 … -1

Page 101: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 101

4 Logique séquentielle4.1 Introduction

4.1.1 Objet

Étude des fonctions logiques du type x(t)=f(entrées,t-1).

Note : le temps intervient dans l’équation.

Grâce à la logique séquentielle, on peut réaliser un circuit de mémorisation et concevoir complètement un processeur.

Du point de vue du programmeur :

• logique combinatoire = opération arithmétiques et logiques simple

(addition, soustraction, et, ou, décalage, rotation, comparaison)

• logique séquentielle = fonctionnalités nécessitant de mémoriser des données

(affectation, structures de contrôle, séquencement des instructions)

Page 102: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 102

4.1.2 Quelques définitions

Définition 7 : Un état d’un circuit est une configuration des sorties de ce circuit.

Les n états d’un circuit sont numérotés de 0 à n-1.

• Exemple : une bascule (définie plus loin) possède deux états ; un circuit composé de 2 bascules à 4 états différents ; un circuit composé de m bascules a 2m états différents.

Définition 8 : Une transition est un changement d’état.

Définition 9 : Le graphe de transitions d’un circuit est un graphe dont les nœuds sont les états possible du circuit, les arcs les transitions possibles.

Page 103: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 103

4.1.3 L’oscillateur (ou horloge)

L'oscillateur est l'élément permettant l'introduction de la notion de temps dans les circuits.

Il est symbolisé par :

Un oscillateur permet d’obtenir un signal carré ayant une fréquence bien précise, constante au cours du temps et qui peut être élevée (plusieurs centaines de Mhz).

L’oscillateur le plus simple est une simple porte inverseur bouclant sur elle-même :

Page 104: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 104

La fréquence d’oscillation est fixée par le délai de propagation dans la porte.

Dans un ordinateur, l’oscillateur rythmant ses activités est constitué d’un quartz.

Le quartz vibre naturellement, avec une grande précision et une grande constance au cours du temps, quand on lui applique un courant oscillant.

Le quartz vibre à sa fréquence propre qui dépend de sa taille et de la façon dont il a été taillé.

À partir d’un quartz, on obtient des fréquences sous-multiples à l’aide de diviseurs de fréquence réalisés à l’aide de compteurs (voir TDs).

Page 105: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 105

4.2 Les bascules

La bascule est l’élément fondamental de la logique séquentielle.

Elle possède 2 états (0 ou 1).

On peut lire l’état d’une bascule et on peut l’écrire (affecter l’état voulu).

Typiquement, une bascule aura deux entrées et une sortie :

• une entrée de contrôle indiquant si l’on veut lire ou écrire l’état interne de la bascule ;

• une entrée de donnée utilisée dans le cas d’une écriture spécifiant la valeur à écrire dans la bascule ;

• une sortie sur laquelle l’état courant de la bascule peut être lu.

Page 106: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 106

Bascule D :

L’entrée de contrôle v indique si l’on veut lire ou écrire une valeur.

Si un front apparaît sur v, la donnée présente sur e est écrite sur s, sinon la sortie n’est pas modifiée.

v

e

s

s

Page 107: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 107

Détection d’un front montant sur v :

Le front est détecté grâce au délai de propagation dans la porte NON.

v

a

b

s

1

1

Front descendant ? ET NI

a

b sv

Page 108: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 108

0 1

v

e

s

s

v

e

s

1 00

1

1

0

1

0

1

11

00

0

1

Page 109: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 109

Schéma d’une bascule D déclenchant sur front montant :

s

s’

e

v

Schéma d’une bascule D déclenchant sur front descendant :

s

s’

e

v

Page 110: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 110

4.3 La fonction mémoire

Une bascule est un élément de mémorisation de 1 bit (ou point-mémoire).

L’entrée de contrôle joue le rôle de signal de lecture/écriture (noté r/w).

Un ensemble de bascules est utilisé pour réaliser un registre ou une mémoire.

4.3.1 Le registre

C’est un circuit capable de mémoriser 1 mot.

Les registres sont situés dans le processeur et constituent donc une mémoire locale au processeur.

Lorsqu’on programme en assembleur, on accède directement aux registres du processeur (certains registres nécessaires au fonctionnement ne sont pas accessibles au programmeur).

Un registre de m bits est simplement constitué de m bascules.

Page 111: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 111

Un registre 3 bits :

D D D

Bus de données

Signald’écriture

Page 112: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 112

Un mot de m bits est mémorisé dans un ensemble de m bascules.

Une mémoire de n mots de m bits est réalisée à l’aide de nm bascules.

Étant donné une adresse, un décodeur sélectionne un mot dans la mémoire, c’est-à-dire les bascules constituant les bits du mot à accéder.

Un signal d’écriture indique si le contenu du mot-mémoire est modifié (opération d’écriture en mémoire) ou consulté (opération de lecture).

4.3.2 La mémoire

Page 113: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 113

Mémoire de 4 mots de 3 bits :Bus de données

D D D

D D D

D D D

D D D

Busd’adresses

Signald’écriture

Page 114: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 114

Bus de données

D D D

D D D

D D D

D D D

Busd’adresses

Signald’écriture

Page 115: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 115

La fonction mémoire recouvre la notion de « variable » et d’« affectation » en programmation.

Une variable simple (de type entier ou caractère) est un mot-mémoire et est stockée dans un registre ou contenu dans une mémoire.

L’adresse de ce mot correspond au nom donné à la variable dans le programme.

L’une des tâches du compilateur consiste donc a associer à chaque variable une adresse en mémoire, ou un registre.

Remarque : point de vue du programmeur

Page 116: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 116

4.4 Compteurs

4.4.1 Objet

Un compteur est un circuit logique qui cycle parmi tous ses états possibles, toujours de la même manière.

Pour tout état, il n’existe qu’une seule transition qui l’atteint et une seule qui le quitte. Le graphe de transition est donc un simple cycle.

Les états du circuit sont matérialisés par des bascules, et les transitions sont ponctuées par les fronts d’une horloge.

Exemple simple : le feu tricolore

• 3 états : vert allumé, orange allumé, rouge allumé ;

• cycle perpétuel entre ces 3 états, toujours dans le même ordre.

Page 117: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 117

Nombre d’états du compteur nombre de bascules nécessaires.

Pour un circuit à n états (de 0 à n-1), il faut au minimum log2(n-1) bascules ( x dénote le plus petit entier supérieur ou égal à x).

Remarque : c’est aussi le nombre de bits nécessaires au codage du nombre n-1 en binaire.

Lorsque le nombre d’états d’un compteur n’est pas une puissance de 2, certains états du circuit ne seront pas utilisés.

Exemple : compteur à 5 états nombre de bascules ?

3 (8 états codables donc 3 états inutilisés)

4.4.2 Conception d’un compteur

Page 118: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 118

4.4.2.1 Compteur à 2n états

Réalisons un compteur de 0 à 7 : il y a 8 états donc 3 bascules sont nécessaires (D0, D1 et D2).

Table de transitions :

00001117

11170116

01161015

10150014

00141103

11030102

01021001

10010000

D0D1D2EtatD0D1D2Etat

t+1t

Page 119: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 119

Pour , on a le tableau de Karnaugh :12tD

Pour , on a le tableau de Karnaugh :11tD

Pour , on a le tableau de Karnaugh :10tD

).( 012

1

2 DDDD t

01

1

1 DDD t

0

1

0 DD t

10111

01000

10110100D2\D1D0

10101

10100

10110100D2\D1D0

10011

10010

10110100D2\D1D0

Page 120: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 120

D’où le schéma du compteur de 0 à 7 :

000

111

1

0

0

1

0

1

0

1

1

0

0

1

D2

D1

D0

D0

D1

D2

D2 D1 D0

Page 121: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 121

4.4.2.2 Compteur à un nombre quelconque d’états

Réalisons un compteur de 0 à 9 : il y a 10 états donc 4 bascules sont nécessaires (D0, D1, D2 et D3).

4 bascules permettent de coder 16 états, donc 6 seront inutilisées.

XXXXX111115

XXXXX011114

XXXXX101113

XXXXX001112

XXXXX110111

XXXXX010110

0000010019

1001900018

0001811107

1110701106

0110610105

1010500104

0010411003

1100301002

0100210001

1000100000

D0D1D2D3EtatD0D1D2D3Etat

t+1t

Page 122: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 122

012301

3 DDDDDDt

Table de transitions :

Tableau de Karnaugh de D3t+1 :

XXXXX111115

XXXXX011114

XXXXX101113

XXXXX001112

XXXXX110111

XXXXX010110

0000010019

1001900018

0001811107

1110701106

0110610105

1010500104

0010411003

1100301002

0100210001

1000100000

D0D1D2D3EtatD0D1D2D3Etat

t+1t

010001

XXXX11XX0110

00000010110100D3D2\D1D0

Page 123: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 123

Table de transitions :

Tableau de Karnaugh de D2t+1 :

XXXXX111115

XXXXX011114

XXXXX101113

XXXXX001112

XXXXX110111

XXXXX010110

0000010019

1001900018

0001811107

1110701106

0110610105

1010500104

0010411003

1100301002

0100210001

1000100000

D0D1D2D3EtatD0D1D2D3Etat

t+1t

101101XXXX110X0010

01000010110100D3D2\D1D0

)(

)(

)(

0121

2

2010121

2

2010121

2

DDDD

DDDDDDD

DDDDDDD

t

t

t

Page 124: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 124

Table de transitions :

Tableau de Karnaugh de D1t+1:

XXXXX111115

XXXXX011114

XXXXX101113

XXXXX001112

XXXXX110111

XXXXX010110

0000010019

1001900018

0001811107

1110701106

0110610105

1010500104

0010411003

1100301002

0100210001

1000100000

D0D1D2D3EtatD0D1D2D3Etat

t+1t

101001XXXX11

XX0010

101000

10110100D3D2\D1D0

)( 0131

1 DDDDt

Page 125: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 125

Table de transitions :

Tableau de Karnaugh de D0t+1:

XXXXX111115

XXXXX011114

XXXXX101113

XXXXX001112

XXXXX110111

XXXXX010110

0000010019

1001900018

0001811107

1110701106

0110610105

1010500104

0010411003

1100301002

0100210001

1000100000

D0D1D2D3EtatD0D1D2D3Etat

t+1t

100101XXXX11

XX0110

100100

10110100D3D2\D1D0

01

0 DDt

Page 126: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 126

Problème : Les 4 équations ne suffisent pas.

Étant donné que tous les états ne sont pas utilisés, il faut bien initialiser le circuit pour ne pas démarrer dans un état non utilisé.

• Modifier la table de transition pour faire évoluer les états non utilisés vers l’état 0. C’est-à-dire changer tous les X en 0 dans la table. Il faut alors refaire les tableaux de Karnaugh et les équations.

A faire en exercice ...

2 solutions :

• Ajouter un signal d’initialisation pour démarrer à l’état 0 :

.

)(

))((

)(

0

1

0

013

1

1

012

1

2

01230

1

3

initDD

initDDDD

initDDDD

initDDDDDD

t

t

t

t

Page 127: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 127

Schéma d’un compteur de 0 à 9 avec initialisation :

D2

D1

D0

init

D1

D2

D3 D2 D1

D3

D3

D0

D0

.

)(

))((

)(

0

1

0

013

1

1

012

1

2

01230

1

3

initDD

initDDDD

initDDDD

initDDDDDD

t

t

t

t

Page 128: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 128

4.4.3 Feux tricolores

4.4.3.1 Feux tricolores français

Un feu tricolore est un compteur.

Le graphe de transitions est le suivant :

vert0

orange1

rouge2

Page 129: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 129

Le graphe a 3 états numérotés de 0 à 2.

Le nombre 2 se code 10 en binaire (2 bits) donc il y aura 2 bascules dans ce circuit.

vert0

orange1

rouge2

011

0

011

1

.

.

DDD

DDDt

t

La table de transitions s’obtient directement à partir du graphe de transitions :

D1 D0 D1 D0

0 0 0 10 1 1 01 0 0 01 1 0 0

t t+1

Page 130: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 130

À partir des équations issues de la table de transitions, on dessine le circuit :

011

0

011

1

.

.

DDD

DDDt

t

D1

D0

D0

D1

D1 D0

Page 131: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 131

Comment allumer les différents feux à partir des valeurs de D0 et de D1 ?

On utilise un décodeur :

s0

s3

s2

s1

e0

e1

e2

s4

s7

s6

s5

Page 132: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 132

4.4.3.2 Feux tricolores scandinaves ou du royaume-uni

Cycle : vert, orange, rouge, orange, vert, ...

Contrairement aux feux type français, un état ne correspond pas à une couleur allumée.

C’est un compteur à 4 états (0 à 3), donc il faut bascules pour le circuit.2

Graphe de transition :

vert0

orange1

rouge2

rougeorange

3

Page 133: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 133

01

0

011

1

DD

DDDt

t

D1 D0 D1 D0

0 0 0 10 1 1 01 0 1 11 1 0 0

t t+1vert0

orange1

rouge2

rougeorange

3

Page 134: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 134

01

0

011

1

DD

DDDt

t

D1

D0

D0

D1

D1 D0

Page 135: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 135

4.4.4 Point de vue du programmeur

Un compteur peut déclencher des actions les unes après les autres.

Son rôle est donc de déclencher la réalisation d’une séquence d’instructions d’un programme.

Un compteur est capable de réaliser un cycle d’activités un nombre fixé de fois.

C’est un circuit capable de contrôler une boucle pour ; l’indice de la boucle est alors la valeur courante du compteur.

Page 136: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 136

4.5 Automates

4.5.1 Un exemple pour commencer

Un feux tricolore peut avoir 2 types de fonctionnement différents :

• de jour : vert, orange, rouge, vert, ... ;

• de nuit : orange, éteint, orange, éteint, ...

Dans ce cas il y a 2 cycles de fonctionnements différents :

impossible à réaliser avec un compteur.

Automates

Page 137: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 137

4.5.2 Introduction

Un automate est un circuit logique pouvant être dans un certain nombre d’états.

Plusieurs transitions peuvent entrer ou sortir d’un même état.

Étant dans un certain état, la transition à effectuer est sélectionnée en fonction de signaux de contrôle.

En fait, du point de vue du graphe de transitions, il est composé de plusieurs cycles entrelacés.

Page 138: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 138

4.5.3 Méthodologie de conception d’un automate

1. Déterminer les cycles d’actions de l’automate et les numéroter (0 à m).

2. En déduire le nombre de signaux de contrôle (nb. bits pour coder m bin.)

3. Déterminer les états de l’automate.

4. Déterminer le nombre de bascules nécessaires à la réalisation de l’automate : pour n états c’est le nombre de bits pour coder n-1 en binaire.

5. Tracer le graphe de transitions de l’automate.

6. En déduire la table de transitions.

7. Pour chacune des bascules, déterminer l’équation logique de son entrée à l’aide d’un tableau de Karnaugh.

8. Faire le schéma logique de l’automate.

Cette méthode n’est pas adaptée dans le cas où le nombre de cycles est infini.

Dans ce cas, on essaie de concevoir directement le graphe de transitions.

Page 139: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 139

L’objectif d’un automate est de séquencer des actions.

Ces actions peuvent être déclenchées de 2 manières différentes :

1. Soit une action (ou des actions) est associée à un état.

C’est-à-dire que tant que l’automate est dans cet état, l’action est réalisée.

2. Soit une action (ou des actions) est associée à une transition (l’automate arrive ou quitte un état).

Une transition entraîne un front (montant ou descendant selon que l’on atteint ou que l’on quitte un état) qui déclenche une action.

Ce mode de fonctionnement est utilisé lorsque l’on veut seulement déclencher une action, c’est-à-dire émettre une impulsion.

Page 140: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 140

4.5.4 Feux tricolores (suite)

Un feux tricolore peut avoir 2 types de fonctionnement différents :

• de jour : vert, orange, rouge, vert, ... ;

• de nuit : orange, éteint, orange, éteint, ...

2 cycles différents donc 1 bit pour les différencier.

On le note c et on choisit c=0 de jour et c=1 de nuit.

On a 4 états possibles :

• état 0 : vert allumé (le reste éteint) ;

• état 1 : orange allumé (le reste éteint) ;

• état 2 : rouge allumé (le reste éteint) ;

• état 3 : tout éteint.

4 états donc 2 bascules nécessaires.

Page 141: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 141

Initialisation du cycle de jour

Initialisation du cycle de nuit

vert0

orange1

rouge2

éteint3

c D1 D0 D1 D0

0 0 0 0 10 0 1 1 00 1 0 0 00 1 1 0 01 0 0 0 11 0 1 1 11 1 0 0 11 1 1 0 1

t t+1

0

0

0

1

1

Page 142: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 142

c D1 D0 D1 D0

0 0 0 0 10 0 1 1 00 1 0 0 00 1 1 0 01 0 0 0 11 0 1 1 11 1 0 0 11 1 1 0 1

t t+1

00101

00100

10110100c\D1D0

11111

00010

10110100c\D1D0

cDDD

DDDt

t

011

0

011

1

.

.

Page 143: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 143

cDDD

DDDt

t

011

0

011

1

.

.

D1

D0

D0

D1

D1 D0

c

Page 144: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 144

4.5.5 Distributeur de café

On veut réaliser un automate contrôlant un distributeur de café.

On suppose qu’il distribue du café, avec ou sans sucre, avec ou sans lait.

Il y a donc 4 fonctionnement possibles :

1. fournir du café noir ;

2. fournir du café sucré ;

3. fournir du café au lait ;

4. fournir du café au lait sucré.

Page 145: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 145

Les cycles sont numérotés de 0 à 3 (2 bits de codage) :

00 : gobelet, café lyophilisé, eau ;01 : gobelet, café lyophilisé, sucre, mélangeur, eau ;10 : gobelet, café lyophilisé, lait lyophilisé, eau ;11 : gobelet, café lyophilisé, sucre, mélangeur, lait lyophilisé, eau.

On définit les états (certaines actions peuvent être regroupées) :

état 0 : repos (attente d’une commande de boisson)état 1 : commande de boisson déclenchéeétat 2 : donne un gobeletétat 3 : donne du café lyophiliséétat 4 : donne du sucre et un mélangeurétat 5 : donne du lait lyophiliséétat 6 : donne de l’eau

Il y a 7 états (0 à 6) donc 3 bascules seront nécessaires.

Ces 4 cas correspondent à 4 cycles différents du distributeur.

Page 146: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 146

Graphe de transitions :

0

1

2

3

4

5

6

gobelet

café lyophilisé

sucre et mélangeurlaiteau

0,1,2,3

0

0,1,2,3 0,1,2,3

0,1,2,3

1,3

1

2

2,33

Page 147: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 147

Table de transitions :

0

1

2

3

4

5

6

gobelet

café lyophilisé

sucre et mélangeurlaiteau

t t+1 t t+1c1c0 D2D1D0 D2D1D0 c1c0 D2D1D0 D2D1D0

00 000 001 10 000 001

00 001 010 10 001 010

00 010 011 10 010 011

00 011 110 10 011 101

00 100 xxx 10 100 xxx

00 101 xxx 10 101 110

00 110 000 10 110 000

00 111 xxx 10 111 xxx

01 000 001 11 000 001

01 001 010 11 001 010

01 010 011 11 010 011

01 011 100 11 011 100

01 100 110 11 100 101

01 101 xxx 11 101 110

01 110 000 11 110 000

01 111 xxx 11 111 xxx

0,1,2,3

0

0,1,2,3 0,1,2,3

0,1,2,3

1

1

2

2,33

Page 148: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 148

c1c0\D2D1D0 000 001 011 010 110 111 101 100

00 0 1 1 1 0 x x x

01 0 1 0 1 0 x x 1

11 0 1 0 1 0 x 1 0

10 0 1 0 1 0 x 1 x

c1c0\D2D1D0 000 001 011 010 110 111 101 100

00 0 0 1 0 0 x x x

01 0 0 1 0 0 x x 1

11 0 0 1 0 0 x 1 1

10 0 0 1 0 0 x 1 xt t+1 t t+1

c1c0 D2D1D0 D2D1D0 c1c0 D2D1D0 D2D1D0

00 000 001 10 000 001

00 001 010 10 001 010

00 010 011 10 010 011

00 011 110 10 011 101

00 100 xxx 10 100 xxx

00 101 xxx 10 101 110

00 110 000 10 110 000

00 111 xxx 10 111 xxx

01 000 001 11 000 001

01 001 010 11 001 010

01 010 011 11 010 011

01 011 100 11 011 100

01 100 110 11 100 101

01 101 xxx 11 101 110

01 110 000 11 110 000

01 111 xxx 11 111 xxx

c1c0\D2D1D0 000 001 011 010 110 111 101 100

00 1 0 0 1 0 x x x

01 1 0 0 1 0 x x 0

11 1 0 0 1 0 x 0 1

10 1 0 1 1 0 x 0 x

... .. .

... .. .. .

. .

1201011021

0

1201121012011

1

12011

2

DDccDDcDDD

DDccDDcDDDDDD

DDDDD

t

t

t

Page 149: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 149

... .. .

... .. .. .

. .

1201011021

0

1201121012011

1

12011

2

DDccDDcDDD

DDccDDcDDDDDD

DDDDD

t

t

t

D2

D1

D0

D1

D2

D2 D1

c0

c0

D0

D0

c1

c1

Page 150: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 150

L’automate que l’on vient de réaliser est incomplet, que manque-t-il ?

l'initialisation !

Faut-il initialiser à l'aide d'un signal init ou remplacer les X par des 0 dans la table de transitions et refaire les équations et le circuit ?

Il est impératif d'utiliser un signal init parce que :

• le signal init permet de toujours démarrer à l'état 0 (état de repos) ;

• remplacer les X par des 0 permet seulement de revenir à l'état 0 lorsqu'on démarre dans un état non géré par l'automate. Mais il est possible de démarrer dans n'importe quel état valide de l'automate !

Exemple lorsque les X sont remplacées par des 0 dans les tables :

• feux tricolores : le feux peut démarrer au rouge, au vert ou à l'orange, ça ne pose aucun problème ;

• distributeur de café : il peut démarrer à l'état 3, c'est-à-dire donner du café etc. ..., alors que l'on vient seulement de brancher le distributeur !

Page 151: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 151

... .. .

... .. .. .

. .

1201011021

0

1201121012011

1

12011

2

DDccDDcDDD

DDccDDcDDDDDD

DDDDD

t

t

t

D2

D1

D0

D1

D2

D2 D1

c0

c0

D0

D0

c1

c1

init

initinit

init

( )

( )

( )

Page 152: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 152

L’automate que l’on vient de réaliser contrôle les activités du distributeur.

Mais il est intéressant de regarder l’interfaçage avec :

• le circuit donneur d’ordres ;

• le circuit servant les boissons.

La commande des boissons se fait au travers d’un clavier à 4 touches, une pour chaque boisson :

• c : café ;

• cs : café sucré ;

• cl : café au lait ;

• cls : café au lait sucré.

La distribution se fera grâce à des organes électro-mécaniques fournissant les différents éléments nécessaires (gobelet, ...).

Page 153: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 153

encodeur

décodeur

c1c0

ccsclcls

D2D1D0

gobeletcafésucre et mélang.laiteau

Interfaçage de l’automate du distributeur de café :

Remarques :

• Le clavier n’émet que des impulsions, il faut donc mémoriser c0 et c1 une fois générés : une impulsion quelconque déclenche le passage à l’état 1 et en même temps l’écriture de 2 bascules mémorisant c0 et c1.

• Le séquencement des opérations de distribution doit être temporisé, puis arrêté au retour à l’état de repos (0)

? ?

Page 154: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 154

4.5.6 Registre à décalage

En combinant le circuit à décalage de la section 3.4.5 et un registre, on obtient un élément couramment rencontré, un registre à décalage.

C’est un registre dans lequel on peut écrire une donnée, la lire, et la décaler directement dans le registre.

D

c0c1w

D D D

0 0e3 e2 e1 e0

Page 155: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 155

À chaque entrée de donnée des bascules est envoyé un fil du bus de données et les sorties des 2 bascules l’entourant.

En fonction d’un signal de commande (c1c0), un multiplexeur sélectionne l’une de ces trois données pour l’écrire dans la bascule :

droite à décalage

valeur nouvelle

gauche à décalage

01

01

01

cc

cc

cc

D

c0c1w

D D D

0 0e3 e2 e1 e0

Page 156: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 156

Lorsque l’on doit transmettre une donnée, il est courant d’utiliser un seul fil et d’envoyer les bits de donnée à la queue-leu-leu : c’est le principe de la liaison série.

De même on voudrait pouvoir recevoir plusieurs bits les uns après les autres sur le même fil et reconstituer une donnée de plusieurs bits.

Comment faire ?

On utilise un registre à décalage.

Émission : la donnée est présente dans le registre à décalage et le fil de transmission est la sortie de la dernière bascule. Il suffit alors, le registre étant en mode lecture, d’effectuer à chaque impulsion d’horloge un décalage à droite.

4.5.7 Sérialiseur / désérialiseur de données

Page 157: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 157

Réception ?

registre à décalage 4 bits

registre à décalage 4 bits

0 1 1 0 x x x x

0 0 1 1 0 x x x

0 0 0 1 1 0 x x

0 0 0 0 1 1 0 x

0 0 0 0 0 1 1 0

Comment ne pas perdre la donnée après émission ?

Décalages à gauche

La sortie du registre est également connectée à sa propre entrée

• Associé à un automate dirigeant un compteur et 2 registres, on peut réaliser un registre à décalage d’un nombre quelconque de positions (utile pour multiplier ou diviser par 2n)

Page 158: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 158

4.5.8 Multiplicateur

La multiplication de 2 nombres binaires non signés se résume à des additions et à des décalages :

En base 10 :

1 1

x 1 3

3 3

1 1

1 4 3

En binaire non signé :

1 0 1 1 multiplicande

x 1 1 0 1 multiplicateur

1 0 1 1

0 0 0 0

1 0 1 1

1 0 1 1

1 0 0 0 1 1 1 1 produit

Page 159: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 159

Cette façon de procéder consiste à examiner les bits successifs du multiplicateur, en commençant par le bit de poids faible.

En binaire non signé :

1 0 1 1 multiplicande

x 1 1 0 1 multiplicateur

1 0 1 1

0 0 0 0

1 0 1 1

1 0 1 1

1 0 0 0 1 1 1 1 produit

Si ce bit est à 1, on recopie le multiplicande.

Si ce bit est à 0, on inscrit des 0.

Page 160: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 160

Par rapport à la ligne précédente, les nombres qui sont écrits sont décalés d’un rang vers la gauche.

En binaire non signé :

1 0 1 1 multiplicande

x 1 1 0 1 multiplicateur

1 0 1 1

0 0 0 0

1 0 1 1

1 0 1 1

1 0 0 0 1 1 1 1 produit

Lorsque tous les bits du multiplicateur ont été examinés, on les additionne pour obtenir le produit.

Les additionneurs binaires ne traitent que 2 nombres à la fois, donc au lieu d’additionner toutes les lignes en une fois, on les additionne 2 à 2 et on inscrit les sommes intermédiaires dans un registre : l’accumulateur.

+

Page 161: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 161

1 0 1 1 multiplicande

x 1 1 0 1 multiplicateur

1 0 1 1 bit du multiplicateur à 1 ; additionner le multiplicande

à l’accumulateur et décaler le multiplicande à gauche

0 0 0 0 bit du multiplicateur à 0 ;

décaler le multiplicande à gauche

1 0 1 1 0 0 bit du multiplicateur à 1 ; additionner le multiplicande

à l’accumulateur et décaler le multiplicande à gauche

1 0 1 1 0 0 0 bit du multiplicateur à 1 ; additionner le multiplicande

à l’accumulateur et décaler le multiplicande à gauche

1 0 0 0 1 1 1 1 produit

00000000

00001011

00001011

00010110

00001011

00101100

00110111

01011000

10001111

10110000

10001111

accumulateur

multiplicande

Page 162: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 162

pour i de 0 à n-1 faire

si MT ^ 1 = 1 alors

RES RES + MD

fsi

décaler MD d’un bit vers la gauche

décaler MT d’un bit vers la droite

fpour

C’est l’algorithme standard de multiplication tel qu’il est enseigné à l’école primaire.

L’algorithme utilisé est le suivant (n est la taille des données) :

Page 163: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 163

• un registre à décalage sur n bits pour MT ;

• un registre à décalage sur 2n bits pour MD ;

• un registre 2n bits pour RES ;

• un compteur à n états qui va compter les itérations de la boucle pour ;

• un additionneur 2n bits ;

• un séquenceur qui coordonne les activités de tout ces circuits.

Le multiplicateur se compose des éléments suivants :

Page 164: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 164

initialisation du circuit, c’est-à-dire le compteur et RES ;

• addition de MD à RES ;

• décalage de MT ;

• décalage de MD ;

• arrêter le traitement quand il est fini.

On en déduit les états du séquenceur :

0. inactivité du multiplicateur ;

1. test du bit de poids faible de MT ;

2. décalage de MD et MT ;

3. test du compteur d’itérations.

Le séquenceur doit déclencher les différentes actions à l’intérieur de la boucle et contrôler la réalisation de la boucle :

Page 165: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 165

0. inactivité du multiplicateur ;

1. test du bit de poids faible de MT ;

2. décalage de MD et MT ;

3. test du compteur d’itérations.

Transition de l’état 0 à l’état 1 : il faut déclencher l’initialisation du circuit.

Transition de l’état 1 à l’état 2 : selon la valeur du bit de poids faible de MT, il y a addition ou non de MD à RES.

Transition de l’état 2 à l’état 3 : décalage de MT et MD et incrémentation du compteur.

Page 166: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 166

Signaux reçus :

• INIT : init. du séquenceur

• cpt : valeur courante du décompteur

• f : bit de poids faible de MT

Signaux émis :

• init : init. du décompteur

• reset : RES à 0

• wR : signal d’écriture dans RES

• wT : signal d’écriture dans MT

• wD : signal d’écriture dans MD

• dT : décalage droite MT

• dD : décalage gauche MD

• iC : signal décrémentation décompteur

0

1

2

3

init, reset, wT, wD

f

f

wR

dT, dD, iC

cpt non nulcpt = 0

INIT

Page 167: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 167

décompteurde n à 0

init IC

séquenceurINIT

init dD dTwR IC

resetwT wD

MTwT

dT

RESreset

wR

MDwD

dD

Page 168: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 168

La conception est très simple :

• si les deux nombres sont négatif :

• on multiplie leurs compléments à deux

• si l’un des deux est négatif :

• on multiplie son complément à deux par l’autre nombre

• on calcul ensuite le complément à deux du résultat pour rétablir le signe.

Multiplication de nombres signés (en complément à deux) :

Page 169: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 169

Schéma de principe :

1x11x1

multiplicateur denombres positifs

x/-x

Page 170: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 170

La multiplication, contrairement à l’addition, nécessite de savoir si les nombres en entrée sont des nombres signés ou pas.

• En assembleur il y a donc deux instructions disponibles pour la multiplication : l’une signée, l’autre non signée.

• Comme vous l’avez remarqué, la multiplication est une opération bien plus complexe à réaliser qu’une addition.

• En fait, les premiers microprocesseurs ne disposaient pas d’instruction de multiplication ; elle devait être programmée en assembleur.

Remarques :

Page 171: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 171

On a vu :

• bascule

• registre

• mémoire

• compteur

• automate

: élément de base de la logique séquentielle

: mémoire la plus interne au processeur

: en fait il y en a de nombreux types (cache, vidéo ...)

: pour la gestion de boucles de programmes

: pour le séquencement des actions

On a réalisé un circuit nécessitant tout ce qui a été vu :

• multiplication

En fait, tout ce qui est nécessaire à la réalisation d’un processeur est maintenant connu.

4.5.9 Conclusion

Pour terminer le chapitre sur la logique séquentielle :

Page 172: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 172

5 Le processeur

5.1 Introduction

Un microprocesseur est constitué par un assemblage de circuits exécutant les fonctions de l’unité centrale de traitement d’un micro-ordinateur.

En anglais : CPU = central processing unit.

Définition :

Un microprocesseur est un circuit logique capable, après identification d’une séquence d’instructions, d’effectuer des traitements de l’information.

Page 173: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 173

Ce que doit savoir faire un ordinateur :

Problème à résoudre Résolu par

acquisition des données périphériques : clavier, souris, CD, disque, disquette, scanner, caméra ...

mémorisation des données, du programme à exécuter, des calculs intermédiaires ...

mémoire centrale et registres,éventuellement disque

réalisation des calculs UAL = unité arithmétique et logique

échanges de données bus internes et externes, unité E/S

synchronisation des opérations horloge et unité de contrôle

coordination de toutes les activités (calculs en cours, bon fonctionnement, transferts avec les périphériques ...)

microprocesseurs et contrôleurs dédiés

Page 174: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 174

• unité de contrôle, de commande et de synchronisation ;

• unité arithmétique et logique

• mémoire et registres internes

• unité d’entrées/sorties

• bus internes

UAL

Mémoire interne et registres

E/S

UC

Un microprocesseur est un circuit contenant les unités suivantes :

Page 175: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 175

5.2 Bus internes

Définition :

Un bus est un ensemble de fils qui transportent (en parallèle ou en série) une information d’un composant à l’autre.

• Mode parallèle : autant de fils que le mot transporté contient de bits.

• Transporter mot sur un bus de taille inférieure : multiplexage

• 3 types de bus rencontrés :

• bus de données

• bus d’adresse

• bus de contrôle

• Les bus se distinguent par :

• largeur

• vitesse

Page 176: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 176

5.3 UAL

• Circuits nécessaires pour les opérations arithmétiques et logiques

étudiés dans les chapitres précédents

• En fonction de l’opération sélectionnée :

• fournit le résultat

• met à jour un registre d’état pour contrôler si

• résultat = 0

• résultat positif / négatif

• débordement

• retenue

• …

Page 177: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 177

5.4 Mémoire et registres

• Le microprocesseur contient plusieurs registres et mémoire stockant données et instructions

• La taille des registres est fonction du type de processeur

• Les registres permettent d’accélérer la vitesse de traitement

• Ils peuvent être synchronisés avec l’UAL

Page 178: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 178

5.5 Entrées / sorties

• But : échanger des informations avec l’extérieur (nécessaire au fonctionnement du CPU)

Unité d’entrées/ sorties (E/S)

Intérieur du processeur Extérieur du processeur

Bus de donnée

Bus d’adresse

Bus de commande

• L’unité d’E/S assure les liaisons entre bus internes et bus externes

• Les bus d’adresse est unidirectionnel

Page 179: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 179

5.6 Unité de commande

• « Chef d’orchestre » qui pilote et synchronise les unités du processeur

• Elle est pilotée par une horloge et permet de cadencer l’exécution des instructions du programme :

• mise en service des circuits concernés (verrous)

• activation des communications (verrous + cellules de commutation)

Définition :

Un verrou est un circuit à n sorties, n entrées de données et une entrée de contrôle. L’entrée de contrôle autorise ou interdit le transfert des données vers les sorties.

• Il existe des verrous unidirectionnels (ei si) et des verrous bidirectionnels (ei si)

Page 180: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 180

• Exemple : verrou unidirectionnel simple 4 bits

• Exemple : transfert du contenu de 2 registres en parallèle :

Registre 0 Registre 1Verrou

e0

e1

D

D

D

D

transfert

transfert

R0 R1

Schéma de principe

e3e2e1e01

00000

s3s2s1s0Transferte0

e1

e2

e3

transfert

s0

s1

s2

s3

Page 181: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 181

Définition :

Une cellule de commutation (simple) est un circuit à 2 sorties, 2 entrées de données et une entrée de contrôle. L’entrée de contrôle modifie l’ordre de connexion des entrées de données aux sorties.

• Il existe des cellules unidirectionnels (ei si) et des cellules bidirectionnelles (ei si)

Exemple : cellule de commutation simple 1 bit

e0

e1

s0

s1

ce1e01

e0e10

s1s0c

Page 182: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 182

5.7 Modèle de Von Neumann

En 1945 J. Von Neumann (1903-1957) définit les bases de l’architecture des calculateurs modernes.

• unification des différentes représentations utilisées grâce au codage en binaire (algèbre de Boole)

• mémorisation des résultats intermédiaires mais surtout des opérations elles-mêmes

• représentation des opérations élémentaires à effectuer (désignées par « instructions »)

• ces instructions sont regroupées en « programmes »

• les programmes sont stockés en mémoire (plusieurs exécutions possibles)

• la rupture de séquence donne un « pouvoir de décision » à la machine en fonction des résultats intermédiaires sans intervention humaine

Page 183: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 183

5.7.1 Principe général de fonctionnement du microprocesseur

Pour exécuter un programme, le microprocesseur effectue cycliquement :

• lecture d’un code d’instruction en mémoire (fetch)

• reconnaissance de ce code, ou décodage (decode)

• exécution d’un ordre élémentaire (execute)

• positionnement sur le code de l’instruction suivante du programme

En plus de l’accumulateur il faut d’autres registres pour le fonctionnement du microprocesseur :

• compteur ordinal (pointe sur l’instruction suivante immédiate)

• registre d’instruction

• registre d’état

• registre de sommet de pile (adresse de retour pour les sous-programmes)

• registres à usage plus général (adresse, donnée, buffer, …)

Page 184: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 184

5.7.2 Séquencement des instructions

Une instruction est découpée en plusieurs micro-opérations / micro-commandes

1. Lire l’instruction

2. Calculer l’adresse de la prochaine instruction, incrémenter le CO

3. Décoder l’opération

4. Calculer les adresses des opérandes si nécessaire

5. Lire les opérandes éventuelles depuis la mémoire

6. Exécuter l’instruction

7. Calculer l’adresse du résultat

8. Ranger le résultat en mémoire

Page 185: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 185

5.7.3 Instruction

Définition :

Une instruction est un ordre élémentaire exécutable par un microprocesseur donné (en un certain nombre de cycle d’horloge).

Définition :

Ces instructions sont spécifique à un microprocesseur et leur nombre est limité. Leur ensemble constitue le jeu d’instruction du microprocesseur.

Classification des instructions :

• instructions de transfert

• instructions arithmétiques

• instructions logiques

• instructions de commande

• instructions d’entrée/sortie

Page 186: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 186

Les instructions peuvent affecter ou utiliser le contenu d’un ou plusieurs mot-mémoire, un ou plusieurs registres, ou aucun d’entre-eux.

Définition :

Un opérande est un élément de la mémoire concerné par l’exécution d’une instruction donnée.

On distingue 3 principaux types d’instruction :

• sans opérandes

• monadiques (un opérande)

• dyadiques (deux opérandes)

Un code est associé à chaque instruction d’un programme (code-instruction).

En général on a :code opération opérande 1 opérande 2

Page 187: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 187

Définition :

Un mnémonique est une abréviation permettant de se rappeler du code et de la fonction d’une instruction. Le langage assembleur est directement basé sur ces mnémoniques.

Définition :

Un programme est une liste de codes-instructions implantés en mémoire et permettant de résoudre un problème prédéterminé.

Page 188: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 188

5.8 Réalisation d'une unité de commande

5.8.1 UC micro-programmée

Les différentes phases (chargement, exécution ...) correspondent à des micro-opérations déclenchées pour exécuter l'instruction.

code-instruction séquence de micro-opérations déclenche

Idée : mémoire non-volatile (nanomémoire)

code-instruction adresse séquence de micro-opérations décodage

Avantages :

• changer le micro-programme = changer les possibilités du microprocesseur

• ajout, correction, custom-design facile (pas de modification des circuits)

Inconvénients :

• nécessite un séquenceur de micro-inst. + accès mémoire : ralentissement

Page 189: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 189

5.8.2 UC câblée

L'UC est entièrement réalisée sous forme d'un seul circuit logique séquentiel.

Avantages :

• + rapide que l'UC micro-programmée

• + simple à réaliser et moins de place sur la puce SI jeu d'instruction pas trop important

Inconvénients :

• circuit rapidement complexe quand le jeu d'instruction augmente

• ajout, modification, suppression d'une instruction : modification complète du circuit logique

Page 190: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 190

UC micro-programmée

lente

évolutive

jeu d'instructions important

pas (trop) de problème de réalisation

UC câblée

rapide

non évolutive

jeu d'instruction réduit

sinon réalisation = usine à gaz

micro-processeurs lents

disposant d'un jeu d'instruction complet

contenant éventuellement des instructions complexes

processeurs CISC

Complex Instruction Set Computer

micro-processeurs (très) rapides

disposant d'un jeu d'instruction réduit

contenant des instructions simpleset peu nombreuses

processeurs RISC

Reduced Instruction Set Computer

Page 191: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 191

• micro-noyau RISC : très compact, très performant, stable dans le temps

• + unité de contrôle micro-programmée utilisant non pas la nanomémoire, mais le(s) micro-noyau(x)

• cette solution cumule les avantages sans (trop de) perte de vitesse d'horloge

Les processeurs construits par Intel et AMD utilisent un compromis

décodeur d'instructions

code opération opérande 1 opérande 2

séquenceur cablé, µprogrammé ou hybride

Microcommandes : UAL, verrous, cellules de commutation

Registre instruction

horloge externe

• schéma de principe d'une UC simple :

Page 192: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 192

5.8.3 Rôle de l'UC / échanges sur un bus

• Communication sur un bus : 1 seul émetteur et 1 seul récepteur connectés

Les autres composants ne doivent pas accéder au bus.

• l'UC bloque l'accès au bus aux composants non concernés à l'aide de verrous ... mais composants internes ET externes

• l'UC agit sur des verrous externes au travers de l'unité E/S

• donc l'UC pilote à la fois l'accès aux bus internes au microprocesseur mais également aux bus externes

Page 193: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 193

5.9 Critères de puissance d'un microprocesseur

• vitesses d'horloge interne et externe (sur les bus externes)

• largeur du bus de donnée : taille des mots manipulés en une instruction

• largeur du bus d'adresse : taille de la mémoire gérée

• nombre de registres et de mémoires internes (caches, buffers, ...) qui réduisent le nombre d'accès en mémoire centrale

• nombre d'instructions et complexité du jeu d'instructions

• nombre de microcommandes exécutées en séquence : + il y en a + il faut de cycles pour exécuter une instruction, mais une UC simple supporte une fréquence rapide donc compromis.

• nombre de microcommandes déclenchées en parallèle : duplication d'unités fonctionnelles pouvant travailler en même temps ... + complexe mais + performant

• ...

Page 194: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 194

6 La mémoire

6.1 Définitions

• La mémoire centrale est un ensemble de registres dotés d'une structure d'accès permettant l'échange entre les registres et les organes extérieurs.

• La capacité d'une mémoire est le nombre de bits que l'on peut mémoriser dans cette mémoire.

• Le temps d'accès mémoire est le délai qui s'écoule entre une requête de lecture et la disponibilité de l'information correspondante.

• On appelle emplacement accessible Ei (ou zone de stockage accessible) l'emplacement unique sur lequel une opération de lecture ou d'écriture est possible à l'instant t.

Page 195: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 195

6.2 Types de mémoire

Un premier mode de classification des mémoires peut se faire selon la structure d'accès dont elles sont dotées.

Il existe 3 familles de structures :

• mémoires séquentielles (ruban perforé, bande magnétique, ...)

• mémoires adressables (mémoire centrale, ...)

• mémoires associatives (sélection par le contenu / prédicat, ...)

Page 196: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 196

6.2.1 Mémoires séquentielles

Définition :

Une mémoire séquentielle est une mémoire telle que si l'accès à l'instant t à porté sur l'emplacement Ei alors l'accès à l'instant t+1 porte obligatoirement sur l'emplacement Ei+1 ou Ei-1 (notion d'accès séquentiel).

Définition :

Une pile est une mémoire séquentielle dont les déplacements (Ei Ei+1 ou Ei Ei-1) sont liés respectivement à la commande d'écriture ou de lecture.

écrire (empiler)

Ei

occupé vide

Ei Ei+1

écrire dans Ei+1

lire (dépiler)

Ei

occupé vide

Ei Ei-1

lire dans Ei

Page 197: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 197

Application au microprocesseur :

Le microprocesseur utilise une pile pour mémoriser les adresses de retour lors d’appels à des sous-programmes ou à des routines d’interruption.

vide

occupé

sommet de pile

fond de pile

Page 198: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 198

6.2.2 Mémoires adressables

Définition :

Une mémoire adressable (appelée également à accès direct, à accès aléatoire - RAM, ou à accès sélectif) est un ensemble de zones de stockage complété par un mécanisme de sélection capable d’établir l’accès sur chacune d’elles en un temps indépendant de la position.

• l’accès nécessite de désigner la position sélectionné par une adresse

• le microprocesseur agit sur le contenu de la mémoire par 2 opérations :

• écriture en mémoire : transfère un mot binaire dans un mot mémoire d’adresse i. La valeur précédemment stockée à l’adresse i est perdue, « écrasée » par la nouvelle valeur

• lecture en mémoire : délivre une copie du mot binaire stocké à l’adresse i. La lecture ne modifie pas la valeur du mot en mémoire.

Page 199: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 199

ROM / RAM :

• ROM (Read Only Memory) ou MEM (Mémoire Morte) : mémoire à lecture seule

• RAM (Random Access Memory) ou MEV (Mémoire Vive) : mémoire à accès aléatoire (lecture / écriture)

Les mémoire RAM sont dites « volatiles » car l’information stockée disparaît lorsque l’on coupe l’alimentation.

On peut également distinguer :

• UVPROM, EEPROM : programmable par l’utilisateur

• PROM à fusibles / jonctions : programmable une seule fois

• RAM série : à accès série

• RAM statique / dynamique : selon le type de rafraîchissement

• ROM + masque : programmable en usine

• …

Page 200: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 200

Familles et sous-familles de mémoires adressables :

Principales mémoires adressables

Mémoires mortes Mémoires vives

ROM masque PROM utilisateur RAMstatiques

RAMdynamiques

Associatives(caches)

PROM fusibles EPROM ou PROM effaçable

OTPROM ou EPROM programmable une fois

UVPROM ou PROM effaçable aux UV

EEPROM ou PROM effaçable électriquement

par octet

EEPROM flash effaçable électriquement par bloc

Page 201: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 201

Espace d'adressage :

• la taille des mots binaires représentant les adresses limite le nombre de mots auxquels le microprocesseur peut accéder. Si les adresses sont codées sur m bits alors "l'espace d'adressage" est de 2m mots-mémoire

• dans cet espace d'adressage il faut prévoir non seulement l'accès à la RAM, mais aussi à la ROM et aux E/S

• exemple : espace d'adressage d'une RAM de M mots, d'une ROM de N mots et d'un espace mémoire réservé aux entrées sorties

mot 0mot 1

...mot M-1mot M

...

...mot M+N-1

...

...

...

01

...M-1

M......

M+N-1M+N

...2m-1

adresses

RAM

ROM

E/S

Page 202: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 202

• il existe deux méthodes principales pour désigner une adresse :

• linéaire : mots numérotés de 0 à 2m-1

• segmentée : adresse = < n° segment , déplacement >

• pour réaliser cet espace d'adressage il est nécessaire d'utiliser tout un ensemble de circuits déjà étudiés :

• décodeurs

• multiplexeurs

• démultiplexeurs

• ...

Page 203: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 203

Aspect matériel :

• le temps d’accès à ces mémoires varie de quelques nanosecondes à quelques dizaines de nanosecondes

• la mémoire se présente sous forme de boîtiers de différentes capacités et adressant une certaine taille de mots (1K mots de 1 bit, 256K mots de 8 bits, 1M mots de 32 bits, …)

• chaque boîtier dispose (en général) des broches suivantes :

• une broche de sélection : CS (chip select)

• une broche de lecture/écriture : R/W (read/write) pour les RAM

• broches d0, …, d7, … pour les données

• broches a0, …, a7, … pour les adresses

• éventuellement une broche OE (output enable) de connexion (logique 3 états) des sorties vers l’extérieur (bus de donnée)

• 2 broches pour l’alimentation électrique

Page 204: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 204

6.2.3 Mémoires associatives :

• la mémoire cache est une mémoire associative présente dans tous les ordinateurs personnels qui a pour but d’accélérer l’accès aux données (pour tout type de mémoire)

• son principe repose sur un certain nombre de remarques :

1. Les accès mémoire freinent les microprocesseurs : pendant le temps que dure un accès en lecture à la mémoire centrale, celui-ci pourrait exécuter plusieurs instructions

2. Le temps d'accès à la mémoire est fonction de sa technologie et de sa capacité (à cause du décodage des adresses)

3. Le coût de la mémoire est inversement corrélé à sa vitesse

4. Pendant l'exécution d'un programme, de nombreux accès mémoire concernent un petit nombre d'adresses, au moins pendant un certain temps (variables, boucles, ...)

Page 205: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 205

Idée de la mémoire cache :

• si l'on arrive à accélérer l'accès à ses quelques adresses utilisées de manière répétitive on va du même coup accélérer l'exécution du programme• puisqu'il n'y a que quelques adresses concernées, on peut utiliser une mémoire de faible capacité mais à faible temps d'accès pour les stocker.

• Même si le coût de ce type de mémoire est élevé, si on l'utilise en petite quantité, le coût de la machine va augmenter peu mais le rapport efficacité/prix va lui augmenter fortement

• important : à ces mémoires caches sont associés des algorithmes chargés de gérer son contenu de manière efficace

• hiérarchie des mémoires rencontrées dans un ordinateur :

Type

registrecache

primairesecondaire

O(capacité)

OctetsKo/MoMo/GoGo/To

O(temps d'accès) en ns

1<510

8000

Page 206: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 206

6.3 RAM dynamique et RAM statique

Définition :

Une RAM est dite statique (SRAM) si l’information est conservée en l’absence de signaux de commandes.

Définition :

Une RAM est dite dynamique (DRAM) si l’information ne peut être conservée que par l’application répétée de signaux de commande (rafraîchissement de la mémoire)

• la cellule élémentaire d’une SRAM est constituée de 4 transistor MOS formant une sorte de bascule RS (différente de la bascule D)

• la cellule élémentaire d’une DRAM est constituée d’un seul transistor MOS jouant le rôle de condensateur : la donnée est stockée sous forme de charge dans une capacité. Mais le courant de fuite entraîne la nécessité de recharger le condensateur : rafraîchissement (toutes les 2-4 ms)

Page 207: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 207

Avantages des SRAM Avantages des DRAM

très rapide très dense

faible consommation moins chère

moins sensible aux bruits et radiations capacités élevées

Dynamique ou statique ?

• Mémoires caches : SRAM

• Mémoires centrales : DRAM

SDRAM ?

• Synchronous DRAM

Page 208: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 208

6.4 Caractéristiques des mémoires RAM actuelles

6.4.1 Particularités

• DDR SDRAM (Double Data Rate SDRAM)

utilisation des 2 fronts pour transférer les données

• DDRII SDRAM

fréquence accrue + plus faible consommation

• QBM (Quad Band Memory)

utilisation de 2 canaux de 64 bits alternativement

• RDRAM (Rambus DRAM)

concept de mémoire série à 1 ou plusieurs canaux + fréquence élevée

• QDR SDRAM (Quad Data Rate SDRAM)

transfert 2 ou 4 mots en 1 cycle + lectures et écritures simultanées possible

• QDRII SDRAM

fréquences accrues

Page 209: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 209

6.4.2 Performances théoriques

SDRAMSDRAM PC133

DDR SDRAM PC2100

DDR SDRAM PC4000

RDRAM 4 canaux PC800

RDRAM 4 canaux PC1066

QDR SDRAM

Largeur bus données

64 64 64 64 16 16 2x64

Fréquence en MHz

66 133 133 250 800 1 066 1 500

Débit en Mo/s 508 1 017 2 034 3 814 6 103 8 132 22 888

Page 210: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 210

6.4.3 Supports physiques

• barette SIMM 32 bits (Single Inline Memory Module)

détrompeur

72 broches – FPM, FPM EDO

Page 211: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 211

• barette DIMM 64 bits (Double Inline Memory Module)

168 broches - SDRAM

184 broches – DDR-SDRAM, DDRII-SDRAM, QDR-SDRAM

208 broches - QBM

détrompeurs

Page 212: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 212

• barette RDRAM 16 bits (Rambus DRAM)

184 broches

détrompeurs

Page 213: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 213

7 Architecture d'un processeur simple : la petite machine

7.1 Positionnement du problème

Pour réaliser ce processeur, il faut définir :

• la nature des traitements qu'il sera capable d'effectuer

• la taille et/ou le format des opérandes

• la capacité de transfert de données avec l'extérieur

Ces 3 points aboutissent à l'établissement

• du jeu d'instruction du processeur

• de la structure matérielle de la partie opérative

• de la structure matérielle de dialogue avec les circuits extérieurs

Page 214: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 214

Le processeur est constitué de deux ensembles :

• la partie opérative

• la partie contrôle (séquenceur)

séquenceur

unité de traitement

unité de gestion de la

mémoire

RI

PROCESSEUR

Partie contrôle

Partie opérativeStructures d'échange

(BUS)

Page 215: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 215

7.2 Jeu d'instruction

7.2.1 Modes d'adressage

• mnémonique traitement à effectuer, mais il faut préciser quel est le type des données (valeurs, adresses, registres ...)

il faut préciser "quoi" (traitement) et "où" (mode d'adressage)

• exemple : transfert d'un mot mémoire (MOVE)

1. Charger le registre R1 avec la valeur 05

MOVE #05, R1 R1 05

2. Charger la case mémoire d'adresse (8000)16 avec le contenu de R2

MOVE R2, $8000 M[8000] (R2)

3. Additionner la valeur 05 au contenu de R1, le résultat est dans R1

ADD #05, R1 R1 (R1) + 05

• instruction : ensemble de µcommandes dépendant du mode d'adressage

Page 216: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 216

• les traitements et les modes d'adressages sont liés à la structure matérielle du processeur (possibilités de l'UAL, nombre et taille des registres, ...)

• microprocesseurs 8 bits : destination généralement incluse dans le mnémonique (ex : ADDA #05)

• microprocesseurs modernes : nombreux modes d'adressage dont

• adressage registre : le registre adressé est précisé dans l'instructionex : mise à zéro du registre R1, CLR1 R1 0

• adressage immédiat : l'opérande est inclus dans l'instructionex : addition de la valeur 34 avec R2ADD #34, R2 R2 (R2) + 34

• adressage direct : l'adresse de l'opérande est inclus dans l'instructionex : transfert du contenu de la mémoire à l'adresse (87FF)16 dans R1MOVE $87FF, R1 R1 (M[87FF])

Page 217: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 217

• adressages composés : l'adresse effective de l'opérande est obtenue par un calcul, généralement de type base + déplacement, où la base est le contenu d'un registre

7.2.2 Jeu d'instruction de la petite machine

Celui-ci est volontairement réduit dans un but de simplicité, il comprend un total de 19 instructions (seul le registre A est utilisable pour les calculs)

• 5 instructions de calcul

• ADD : addition du registre A avec un opérande

• SUB : soustraction de A avec un opérande

• AND : et bit à bit de A avec un opérande

• adressage indirect : le contenu d'un registre ou d'un mot mémoire représente l'adresse de l'opérandeex 1 : MOVE R1, *R2 M[R2] (R1)ex 2 : MOVE *$7AF2, R1 R1 (M[M[7AF2]])

Page 218: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 218

• OR : ou bit à bit de A avec un opérande

• EOR : ou exclusif bit à bit de A avec un opérande

• 4 instructions de transfert :

• LD : chargement de A avec un opérande

• ST : stockage du contenu de A en mémoire

• PUSHA : empilement du contenu de A

• POPA : dépilement de A

• 5 instructions de rupture de séquence :

• BRA : saut inconditionnel à une adresse donnée

• BSZ : saut si résultat nul

• BSC : saut si retenue

• BSV : saut si dépassement de capacité

• BSN : saut si résultat négatif

Page 219: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 219

• 5 instructions de haut niveau :

• CALL : branchement à un sous-programme

• RET : retour d'un sous-programme

• ENTER : gestion des paramètres et des variables locales

• LEAVE : libère les paramètres et les variables locales

• END : termine le programme

• Le processeur dispose de 4 modes d'adressage :

• mode implicite : pas d'opérande (ex : END)

• mode immédiat : symbole # devant l'opérande (ex : ADD #$05)

• mode direct : aucun symbole devant l'opérande (ex : ADD $05)

• mode basé indexé : noté [RX + $dd] (ex : ADD [RX + $05])

• Les instructions ont toutes un opérande au plus noté $n ($ pour hexa)

Page 220: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 220

• Les instructions, les opérandes et les adresses : 8 bits

• Les transferts processeur / mémoire : bus de 8 bits

• Remarque : une adresse de 8 bits ne code que 256 mots mémoire !

7.2.3 Structure des instructions :

• codées sur 2 octets :

• le premier contient le code opération ET le mode d'adressage (destiné à RI)

• le second précise, selon le mode d'adressage, une valeur, une adresse (destinée à TA) ou un index (pour faire RX+...)

adresses

i-2i

i+2

i-1i+1i+3

code op. opérandeune instruction

1 mot mémoire = 1 octet

Page 221: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 221

Les instructions sont classées en 4 groupes fonctionnels :

• instructions de calcul selon le mode :

immédiat : ADD #$dd A A + dddirect : ADD $dd A A + M[dd]basé-indexé : ADD [RX+$dd] A A + M[(RX)+dd]

• les instructions de haut niveau et la gestion de la pile sont détaillées plus loin

• instructions de transfert selon le mode :

immédiat : LD #$dd A dddirect : LD $dd A M[dd]basé-indexé : LD [RX+$dd] A M[(RX)+dd]ST n'a pas de mode immédiat ! ST #$dd

• instructions de branchement (séquencement) selon le mode :

immédiat : BRA #$dd CP dddirect : BRA $dd CP M[dd]basé-indexé : BRA [RX+$dd] CP M[(RX)+dd]

Page 222: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 222

7.2.4 Codage des instructions

• Le premier octet d'une instruction peut être divisé en 2 champs :

7 6 5 4 3 2 1 0

champ opérationINST<6:1> champ d'adressage

INST<7+0>

7 6 5 4 3 2 1 0

instruction groupe

Page 223: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 223

7 6 5 4 3 2 1 0

instruction groupe

mode d’adressage

Bits 7 et 0 : 00 mode immédiat01 mode direct10 mode basé indexé11 mode implicite

Bits 2 et 1 : 00 instruction de haut niveau01 instruction de calcul10 instruction de transfert11 instruction de rupture de séquence

Page 224: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 224

Bits 6 à 3 : 0001 ADD0010 SUB0100 AND1000 OR0011 EOR

0001 LD0010 ST0100 PUSHA1000 POPA

0001 BRA0010 BSC0100 BSZ1000 BSV0011 BSN

0001 CALL0010 RET0100 ENTER1000 LEAVE0011 END

Page 225: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 225

Exemple : ADD #$05

• adressage immédiat : bits 7 et 0 : 00

• instruction de calcul : bits 2 et 1 : 01

• addition : bits 6 à 3 : 0001

7 6 5 4 3 2 1 0

instruction groupe

mode d’adressage

7 6 5 4 3 2 1 0

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

Codage final : 0A 05

Page 226: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 226

Exemple : BRA [RX+$2A]

• adressage basé-indexé : bits 7 et 0 : 10

• instruction de rupture de séquence : bits 2 et 1 : 11

• saut inconditionnel : bits 6 à 3 : 0001

7 6 5 4 3 2 1 0

instruction groupe

mode d’adressage

7 6 5 4 3 2 1 0

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

Codage final : 8E 2A

Page 227: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 227------99END------C1LEAVE----20--ENTER------91RET880908--CALL9E1F1E--BSNC64746--BSVA62726--BSZ961716--BSC8E0F0E--BRA------C5POPA------A5PUSHA9415----ST8C0D0C--LD9A1B1A--EORC24342--ORA22322--AND921312--SUB8A0B0A--ADD

Basé-indexéDirectImmédiatImplicite

Page 228: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 228

7.3 Programmation de la petite machine

7.3.1 Saisie et exécution d’un programme simple

Additionner les nombres 21 et 13 et mettre le résultat à l’adresse $80.

LD #$15 chargement de 21 dans A

ADD #$0D additionner 13 au registre A

ST $80 stocker A à l’adresse $80

END fin du programme

Effectuer l’opération (17 + 08) OU (24 – 14) et stocker le résultat à l’adresse $80 …

Présentation de la petite machine à l’aide du logiciel …

Page 229: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 229

7.3.3 Test

si condition alors

action 1

sinon

action 2

fin si

10 : BS[C,N,V,Z] #$30

12…26 :action 2

28 : BRA #$46

30…44 :action 1

46 : … suite du programme

Comparer les nombres 38 et 69 et mettre le plus grand à l’adresse $80 …

7.3.2 Codage

Les nombres sont codés en complément à 2 sur 8bits donc de -128 à 127 :

$00=0, $01=1, …, $7F=127, $80=-128, $81=-127, …, $FE=-2, $FF=-1

0000 0000 0111 1111 1000 0000 1111 1111

Page 230: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 230

7.3.4 Boucle

faire

action

tant que condition

10…2A:action

2C : BS[C,N,V,Z] #$10

2E : … suite du programme

• Mettre 0 à l’adresse $80, 16 à l’adresse $81 et 3 à l’adresse $82.

tant que M[$81] > 0 faire

M[$80] = M[$80] + 1

M[$81] = M[$81] - M[$82]

fin tant que

• D'autre boucle peuvent être réalisée : tant que ... faire (exemple ci-dessous), pour i de x à y faire (TD-TP).

Page 231: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 231

7.3.5 Notations à utiliser en TD et DS

• Nombres en hexadécimal ($dd) et codés en complément à 2• Utilisation d’étiquettes au lieu d’adresses pour les sauts. Les étiquettes sont définies en début de ligne (finsi : , sizéro : , …)• Des variables sont utilisées au lieu de leurs adresses (i=$81, ADD i, …)

Variables : x = $81 (variable x lue et stockée à l’adresse $81)res = $80 (variable res lue et stockée à l’adresse $80)

Programme : LD #$06 (# : mode immédiat donc registre A = 6)ADD #$12 (# : mode immédiat donc registre A + 18)ST x (x=6+18)LD #$18 (# : mode immédiat donc registre A = 24)SUB x (mode direct donc registre A = A – x)BSZ sizéro (saut à l’étiquette sizéro si le résultat est 0)LD #$01ST resBRA finsi (saut inconditionnel à l’étiquette finsi)

sizéro : LD #$FFST res

finsi : END

Page 232: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 232

7.3.6 Appel à un sous-programme

• Utilisation des instructions de haut niveau CALL, RET, ENTER et LEAVE

• CALL permet d'appeler un sous-programme (selon le mode) :

immédiat : CALL #$dd appelle le sous-programmese trouvant à l'adresse dd

direct : CALL $dd ... à l'adresse M[dd]basé-indexé : CALL [RX+$dd] ... à l'adresse M[(RX)+dd]

• RET permet de revenir au programme appelant lorsque le sous-programme est terminé :

mode implicite : RET

Page 233: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 233

00 ...... ...2E CALL #$42

• Exemple :

30 ...... ...... ...... ...40 ...42 ADD #$2344 ...... ...... ...... ...5A RET5C …

CP = 00+1+1=2CP = CP+1+1= …CP = CP+1+1= 30

CP = 42+1+1=44CP = CP+1+1= 46CP = CP+1+1= …

CP = CP+1+1= 5CCP = 30

Problème : comment se rappeler que c’est à l’adresse 30 qu’il faut revenir ?

Page 234: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 234

• Gestion de l’adresse de retour : utilisation d’une pile (pointée par SP)

• Lorsque l’instruction CALL est appelée, l’adresse de retour est empilée.

CALL #$dd : M[SP] CPSP SP-1CP dd

• À la fin du sous-programme, lorsque RET est appelé, l’adresse est récupérée sur la pile

RET : SP SP+1CP M[SP]

• L’utilisation de la pile permet l’imbrication de plusieurs appels à des sous-programmes

• Visualisation des appels avec la petite machine …

empiler $30

saut à $42

dépiler $30dans CP doncsaut à $30

Page 235: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 235

7.3.7 Passage de paramètres et variables locales à un sous-programme

• Les paramètres sont passés aux sous-programmes en les mettant sur la pile• De même les variables locales sont allouées aux sous-programmes en les mettant sur la pile

• L’accès aux paramètres et aux variables locales d’une fonction se fait impérativement en utilisant le mode basé-indexé ([RX+dd]) : RX indique l’endroit sur la pile correspondant au sous-programme en cours

• Les paramètres sont empilés avant l’appel au sous-programme à l’aide de l’instruction PUSHA et dépilés après l’appel à l’aide de l’instruction POPA

• Exemple : 00 LD #$4202 PUSHA04 LD #$A506 PUSHA08 CALL #$160A ST $800C POPA0E POPA

variable res=$80étiquette f à l’adresse $16

res:=f(66,165)

Page 236: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 236

• Les variables locales sont allouées à l’aide de l’instruction ENTER :

ENTER est la première instruction d’un sous-programme et permet de choisir le nombre de variables locales.

Le registre RX est la base du mode basé-indexé : comme les variables locales et les paramètres sont sur la pile, RX doit contenir le sommet de la pile pour y accéder en mode basé-indexé

mode implicite : ENTER #$dd M[SP] RX(dd indique le nombre de SP SP – 1variables locales désirées) RX SP

SP SP - dd

• Les variables locales sont libérées (enlevées de la pile) et l’ancien contenu de RX (avant l’appel) récupéré à l’aide de l’instruction LEAVE :

mode implicite : LEAVE SP RXSP SP + 1RX M[SP]

: RX=sommet de pile: réserver dd cases sur la pile

récupérer ancien som. de pile

empiler RX courant

dépiler RX pour récupérer son ancienne valeur

Page 237: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 237

• État de la pile suite à un appel à un sous-programme ayant deux paramètres et deux variables locales :

variable locale 2

variable locale 1

RX

CP (adresse de retour)

paramètre 2

paramètre 1

Pile

adresses croissantes

SP

RX (base du mode basé-indexé)

RX + 3

Y

X

00

0A

A5

42

FA

FB

FC

FD

FE

FF

Page 238: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 238

• Dans un sous-programmes les paramètres sont toujours accessibles aux adresses [RX+3] et suivantes :

[RX+3] dernier paramètre empilé[RX+4] avant dernier paramètre empilé[RX+5] …

• Exemple : appel à un sous-programme exécutant la somme de 2 nombres puis leur différence et retournant le plus grand des deux résultats. Le résultat final sera stocké à l’adresse 80.

• Si le sous-programme est une fonction, on supposera que le résultat est stocké dans A avant de retourner au programme appelant

• Dans un sous-programmes les variables locales sont toujours accessibles aux adresses RX et précédentes :

[RX+0] variable 1[RX-1] variable 2 (attention [RX+FF] en C2)[RX-2] …

Page 239: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 239

7.3.8 Récursivité

• Un sous-programme récursif est un sous-programme qui s'appelle lui-même.

Exemple : une suite d'entiers naturels

fonction suite (entier n) : entierdébut si (n=0) alors retourner (1) sinon retourner (suite(n-1) + 3) fin sifin

1

3

0

1

u

uu nn

Page 240: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 240

• Pour utiliser la récursivité avec la petite machine il suffit, à l'intérieur du sous-programme, de l'appeler lui-même en faisant un CALL sur sa propre adresse de début de sous-programme :

10 ...12 ENTER ... (début du sous-programme)14 ...... ...26 CALL #$12 (appel récursif)... ...3A LEAVE3C RET (fin du sous-programme

retour au programme appelant)

• Vérifiez toujours le cas d'arrêt de votre sous-programme récursif

• ATTENTION : sauvegardez toujours votre programme avant de l'exécuter car si la récursivité est trop longue ou ne s'arrête pas, la pile déborde et écrase toute le mémoire !

Page 241: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 241

7.4 Organisation matérielle

7.4.1 Structure de la partie opérative

• La partie opérative du processeur est divisée en 2 sous-ensembles :

séquenceur

unité de traitement

unité de gestion de la

mémoire

RI

Partie opérative

PROCESSEUR

Page 242: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 242

7.4.1.1 L'unité de traitement

• C'est une UAL associée à plusieurs registres stockant

• les opérandes

• les résultats (intermédiaire, final)

• les indicateurs (flags) regroupés dans un registre d'état

• fonctionnement de cet ensemble :

• signaux de commandes lecture/écriture des registres

• codes opérations de l'UAL

• Plusieurs solutions possible pour réaliser cet unité de traitement

• La petite machine : structure à registre "accumulateur" et bus interne(architecture proposée par Von Neumann)

Page 243: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 243

• Connexion d'un registre à un bus :

Commande CR active :ER : R (bus)LR : bus (R)

Commande CR inactive :R isolé du bus

R

ER

équivalent à :

LR

Commande ER active :R (bus)

Commande LR active :bus (R)

R

CRER

LR

Page 244: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 244

• Schéma de l'unité de traitement de la petite machine :

A

SELA LA

EAC

C Z

N V

UAL

4

8

8

84

opération

bus de données

indicateur d'état

unité de contrôle

SELA LA Lβ EAC

Page 245: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 245

7.4.1.2 L'unité de gestion des adresses

TA

ETA

8

bus dedonnées

• Gestion des modes implicite, immédiat et direct :

CP

SELCP LCP

SCP

CLRCP

INCCP

SELTA LTA

ED

SAD

extérieurdu CPU

intérieurdu CPU

8

bus d'adresses

Page 246: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 246

• Gestion du mode basé-indexé :

RX

SELEX LEX

ADD

SELRX LRX

RR

EAD

EAR

8

bus dedonnées

extérieurdu CPU

8

bus d'adresses

Page 247: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 247

• Gestion de la pile :

SP

SELSP LSP

INCSPDECSP

SETSP

Page 248: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 248

7.4.2 Structure de la partie contrôle

• La partie contrôle comprend le séquenceur et le registre d'instruction

• RI contient le code de l'instruction en cours d'exécution

séquenceur

unité de traitement

unité de gestion de la

mémoire

RI

PROCESSEUR

Partie contrôle

Page 249: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 249

7.5 Limites de la petite machine

• Elle ne dispose que d'un registre utilisateur : A

• toutes les opérations passent par ce registre

• de nombreuses opérations de transfert supplémentaires nécessaires

• Les opérations de l'UAL sont limitées

• pas de multiplication / division

• pas de gestion des nombres réels

• travail sur des données de 8 bits

7.4.2.1 Le séquenceur :

• il active les microcommandes au rythme de l'horloge interne

• il se réfère au cycle de Von Neumann définit dans le chapitre précédent

Page 250: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 250

variable i (d’adresse 3) contenant l’adresse de la variable j (d’adresse 7) contenant la valeur 2C

• Mais la principale limite est le mode indirect qui n'est pas géré :

• Mode immédiat :

ADD #$03 A A + 03.........07.........2C.........

000102030405060708090A

mémoire

• Mode direct :

ADD $03 A A + M[03]

exemple : A A + 07

Le mode direct permet de gérer des variables

• Mode indirect :

ADD *$03 A A + M[M[03]]

exemple : A A + M[07] : A A + 2C

La variable se trouvant à l'adresse 03 contient une adresse :cette variable est un pointeur

valeur 3 utilisée par l’instruction

variable i (d’adresse 3) contenant la valeur 7

i

j

Page 251: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 251

• Utilité du mode indirect :

• permet d'effectuer des calculs sur des adresses mémoire, c'est à dire des pointeurs

• grâce au mode indirect il devient possible de gérer des tableaux, des listes chaînées …

exemple : additionner les nombres d'un tableau de 10 entiers situésentre les adresses $81 et $8A (le résultat est stocké à l'adresse $8B)

somme = 0pour i de 1 à 10 faire somme = somme + tab[i]fin pour

00 LD #$00 12 LD *$78 02 ST $8B 14 ADD $8B04 LD #$0A 16 ST $8B 06 ST $79 18 LD $7908 ADD #$00 1A SUB #$010A BSZ #$20 1C ST $790C LD #$80 1E BRA #$0A0E ADD $79 20 END10 ST $78

3 variables :$8B = somme$79 = compteur (i)$78 = adresse de l'élément de tab

Page 252: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 252

7.6 Conclusion

• Ce chapitre vous a décrit le fonctionnement complet d'un processeur :

• organisation interne des circuits (registres, bus, UAL, ...)

• pilotage du processeur par le séquenceur (association de chaque instruction à un cycle de microcommandes)

• définition et utilisation des instructions dans différents programmes en langage machine (codes) et assembleur (mnémoniques)

• fonctionnement au niveau le plus proche du processeur des concepts de base de la programmation : test, boucle, sous-programme, passage de paramètres, variables locales, pile d'exécution, pointeurs

Page 253: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 253

8 Évolution des microprocesseurs

8.1 Introduction

• Dans ce chapitre l'évolution des microprocesseurs va être examinée au travers de l'évolution de leur fabrication, de leur différents composants interne et de leur organisation

• Plusieurs exemples seront donnés en prenant comme référence les microprocesseurs les plus répandus dans le domaine des compatibles PC

Page 254: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 254

8.2 Intégration des transistors

• Loi de Moore : loi empirique énoncée par Gordon Moore (co-fondateur d'Intel) en 1965 qui prédit que le nombre de transistors intégrés sur une surface donnée double tous les 18 mois.

Millions de transistors

Pentium 4 .13Pentium II

Pentium III

Pentium 4 .18

Athlon64

Pentium 4 EE

Athlon64 X2

Pentium D

Core 2 duo

Core 2 quadro

0

100

200

300

400

500

600

700

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007

Page 255: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 255

• Le niveau d'intégration est dépendant de la taille de gravure du silicium

Pentium II, K6-II, K6-III, Athlon (Pluto) 0,25µm

Pentium III, Pentium 4 (Willamette), Athlon (Orion), MIII 0,18µm

P4 (Northwood), Athlon, Athlon64 (Newcastle, Clawhammer) 0,13µm

P4 (Prescott, Smithfield), Athlon64 (Winchester, San Diego) 0,09µm = 90nm

P4 (Cedar Mill, Presler), Core 2 duo (Conroe) et quadro (Kentsfield) 65nm

2007 45nm

2009 32nm

2011 22nm

• Mais la finesse de gravure est limitée par la technologie actuelle (type de laser), aussi la loi de Moore risque un jour de ne plus être valable ...

• Pourquoi graver plus finement ?

• Diminuer la chaleur dissipée

• Augmenter la fréquence de fonctionnement

Page 256: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 256

8.3 Registres internes

8.3.1 Taille des registres

• Elle correspond à la taille des mots traités par le microprocesseur

• La taille de mots standards traités définit le type de processeur

du 8086 au 80286 : microprocesseurs 16 bits

du 80386DX au Pentium 4, Athlon XP : microprocesseurs 32 bits

Athlon64, P4 EM64T, Core 2 duo et quadro : µp 64 bits

• Pour des calculs précis en flottants 32 bits est un minimum

Microprocesseur taille d’un mot Entiers Préc. Réels

8086 au 80286 16 -32 768 à 32 767 1,5.10-5

80386DX au P4, Athlon 32 -2 147 483 648 à 2,3.10-10

Athlon64, P4 EM64T, Core 2 64 -9,223.1019 à 5,4.10-20

Page 257: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 257

• Les processeurs n'ayant pas ces caractéristiques utilisaient des co-processeurs arithmétiques 40bits : 8087, 80187, 80287, 80387, 80487

• Les processeurs actuels incluent des registres de taille supérieure à la taille des mots standard traitées (MMX, 3Dnow!, SSE, SSE2, SSE3, SSE4)8.3.2 Nombre de registres

• Le nombre de registres internes influence fortement les performances d'un microprocesseur car il réduit le nombre d'accès mémoire nécessaires au stockage des résultats intermédiaires lors de calculs complexes

• De plus les registres sont beaucoup plus rapides que les mémoires externes

• Les registres utilisable par le programmeur sont les :

• GPR (General Purpose Registers) – utilisation libre

• FPR (Floating Point Registers) – calcul en flottant instructions x87

• registres SIMD – pour les instructions MMX, 3Dnow!, SSE, …

Page 258: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 258

• 8086 au 80486SX : 8 GPRs 16bits + 8 FPRs 80bits si co-processeur x87• 80386DX au Pentium MMX : 8 GPRs 32bits + 8 FPRs 80bits• Pentium II au P4HT et Athlon XP : idem + 8 registres SSE 128bits• Athlon64, P4 EM64T et Core 2 :

• instructions x87 (donc registres FPUs) appelées à disparaître• gain de performance associé à un OS 64bits + programmation 64bits

Page 259: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 259

8.4 Bus

8.4.1 Bus d'adresses

• L'augmentation de la largeur du bus d'adresse découle de la nécessité de traiter de plus en plus d'information et donc de disposer de plus en plus de mémoire :

Microprocesseurs Largeur Espace d'adr. Mémoire adr.

80386, 80486, Pentium, Athlon 32bits 4Gmots 4Go

Pentium pro, PII, PIII, P4 36bits 68Gmots 64Go

Itanium 44bits 17Tmots 16To

Athlon64, P4 EM64T, Core 2 64bits 18.106Tmots 256To , 1To

Page 260: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 260

8.4.2 Bus de données (ou bus frontal – FSB : Front Side Bus)

• Permet de véhiculer les données, sa taille est égale ou supérieure à la taille

des mots standard du µp selon les composants reliés

• Fréquence de fonctionnement :

• pendant longtemps = fréquence carte mère

• augmentation avec les mémoires et périphériques de + en + rapides

• 1999 : Athlon – bus EBV6 = DDR (Double Data Rate)

fréquence CM inchangée mais fréquence FSB doublée

• 2000 : P4 – Netburst = QDR (Quad Data Rate)

fréquence CM inchangée mais fréquence FSB quadruplée

• 2003 : Athlon64 – Hypertransport : 2 communications uni-directionnelles

point à point à largeur variable + contrôleur mémoire dans le µp

Page 261: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 261

Processeur Annéebus

de donnéesFréquences de

fonctionnement

Intel 8086 197816 bits

4,77 puis 10 MHz

Intel 286 1981 6, 12 et jusque 20 MHz

Intel 386DX 198532 bits

16, 33 et jusque 40 Mhz

Intel 486 1989 16 à 50 MHz

Intel Pentium 1992

64 bits

50 - 60 - 66 MHz

Intel Pentium II 1997 66 – 100 - 133 Mhz

AMD K6 1997 66 - 95 - 100 MHz

AMD Athlon 1999 2 x (100 - 133 – 166) MHz

Pentium 4, Core 2 2000 4 x (100 - 133 – 200 – 266) MHz

AMD Athlon 64 2003 4 x 200 Mhz

Page 262: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 262

8.5 Vitesse de l’horloge

• Le travail du microprocesseur est cadencé par le rythme de l’horloge de la carte mère auquel est appliqué un multiplicateur

• La fréquence ne donne qu’une idée très approximative de la vitesse de travail du µprocesseur à cause du nombre de µcycles/instr :

Une instruction nécessitant 10 µcycles d’horloge (cycle élémentaire durant lequel une µinstruction est exécutée) avec un processeur cadencé à 2Ghz durera 10 x 0,5ns = 5ns

• Unités de mesure un peu plus fiable :• MIPS, obtenu à partir du nombre de cycles moyen des instructions et de la fréquence, mais il n’est pas comparable entre µp à jeu d’instructions complexes et réduits.• MFLOPS, GFLOPS (millions ou milliards d’opérations sur des réels effectuées par seconde) mais le nombre de cycles d’attente pour accéder à la mémoire entre aussi en compte …

Page 263: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 263

µprocesseur Multiplicateur Fréquence en Mhz

Pentium 1 à 4 60-233 Mhz

K6 2,5 à 5,5 166-550 Mhz

Pentium II 3,5 à 5 233-450 Mhz

Pentium III 4 à 11 450-1400 Mhz

Athlon 5 à 11 500-1800 Mhz

Pentium 4 13 à 26 1,3-3,8 GHz

Athlon64 10 à 13 2-2,6 GHz

Pentium M 10 à 16 1,5-2,13 GHz

Core 2 6 à 11 1,6-2,93GHz

Page 264: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 264

8.6 Mémoires caches

• Permettent d’atténuer les cycles d’attentes dus aux accès mémoire

• Différents niveaux de cache :• niveau 1 (L1) : toujours interne au µp (même fréquence)• niveaux 2 et 3 (L2, L3) : interne ou externe au µp (fréquence moindre)8.6.1 Un seul niveau de cache

• Une requête de lecture du µp entraîne 2 possibilités :

2) La donnée n’est pas dans le cache :échec (cache miss)

cache libre cache plein

1) La donnée est dans le cache :succès (cache success)

Page 265: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 265

• Pb : si les variables utilisées de manière répétitive ne tiennent pas dans le cache celui-ci ne sert à rien.

• Idée 1 : augmenter le cache de niveau 1 (cher)

• Idée 2 : inclure un deuxième niveau de cache utilisant une mémoire un peu moins rapide (donc moins cher) pour stocker temporairement les lignes effacées du cache de niveau 1 par l’algo LRU.

• différentes possibilités suite à une requête de lecture du µp :

• donnée dans L1 : L1 success

• donnée pas dans L1 mais dans L2 : L1 miss, L2 success

• donnée pas dans L1 ni L2 : L1 et L2 miss

• 2 modes de fonctionnement : inclusif et exclusif

• Lignes de cache entières manipulées :P4 : L1 64octets et L2 128octets par ligneAthlon 64 : L1 et L2 64 octets par ligne

Page 266: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 266

8.6.2 Deux niveaux de cache exclusifs

• Tant que L1 n’est pas plein : fonctionnement du cache unique

• Quand L1 est plein, L2 entre en action :

l’algo LRU (Last Recently Used) sélectionneune ligne de L1 qui est copiée dans L2 afinde libérer de la place pour la nouvelle donnée

• Quand L2 est plein, une de ses ligneschoisie par l’algo LRU est effacée(sauf s’il y a un niveau 3 – L3)

Page 267: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 267

• L1 miss, L2 success : la ligne correspondante est déplacée dans L1 pour pouvoir être accessible rapidement par la suite (une ligne de L1 est donc déplacée dans L2 auparavant)

• Dans tous les cas les lignes de données de L1 et L2 sont différentes : caches exclusifs

• Taille totale de cache utile :capacité de L1 + capacité de L2

• Pas de dépendance entre les tailles des caches (on peut avoir L1 > L2)

• Performances moyennes de L2 car copie de L1 vers L2 avant copie de L2 vers L1

• difficile de gérer efficacement des niveaux de cache supplémentaires (multiples copie entre les niveaux)

Page 268: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 268

8.6.3 Deux niveaux de cache inclusifs

• Tant que L1 n’est pas plein : si la donnée n’est pas dans L1 alors lecture de la donnée en RAM et copie dans L1 ET L2

• Quand L1 est plein, copie également dans L1 et L2 (une ligne de L1 est effaçée par LRU)

• Quand L2 est plein également, copie dans L1 et L2 (une ligne de L1 et de L2 sont effaçées par LRU)

Page 269: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 269

• Dans tous les cas L1 L2 : caches inclusifs

• Permet d’économiser une écriture de L1 vers L2 en cas de L1 miss, L2 success par rapport aux caches exclusifs :

• L2 plus performant• niveau de cache supplémentaires faciles à incorporer

• L2 > L1 impérativement et L2 >> L1 pour de bonnes performances

• Taille de cache utile : L1 + (L2 – L1) = L2 seulement (car L1 L2 )

• L1 miss, L2 success : la ligne correspondante est copiée de L2 dans L1

• Choix de la ligne de L1 par LRU, mais non perdue car dans L2

Page 270: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 270

Caches exclusifs Caches inclusifs

+ pas de contrainte sur L2+ taille utile = L1 + L2

- contrainte sur L2 (L2 >> L1)- taille utile = L2

+ performance L2+ niveaux de cache supplémentaires

- performance L2- niveaux de cache supplémentaires

AMD : Athlon, Athlon64grand L1, L2 moyen

INTEL : Pentium 4, Core 2petit L1, grand L2 ou L2 moy + L3

µp L1 inst+données L2 Fréq. L2 L3

Pentium II 16ko + 16ko 512ko FSB /

Pentium III 16ko + 16ko 256/512ko ½ µp /

Pentium 4 12kµop + 8ko 128 à 2048ko µp 2048ko (P4EE)

Xeon 12kµop + 8ko 256 à 512ko µp 1024 à 6144ko

Athlon 64ko + 64ko 256 à 512ko µp /

Athlon64 64ko + 64ko 512 à 1024ko µp /

Core 2 32ko + 32ko 4096ko µp /

Page 271: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 271

8.7 Pipeline

• L’idée du pipeline est de découper une opération en opérations élémentaires appelées étages, de façon à pouvoir traiter plusieurs opérations simultanément

• pipeline = principe de la chaîne de montage : la cadence de traitement des instructions est imposée par l’étage le plus lent

• Exemple : pipeline à 3 étages

exécutiondécodagechargementinstruction 1

instant t

exécutiondécodageinstruction 1

chargementinstant t+1

exécution instruction 1

décodageinstruction 2

chargementinstruction 3

instant t+2

instruction 2

Page 272: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 272

• Plus le nombre d’étage est grand, plus le débit des instructions est important (idée de base de l’architecture Netburst du Pentium 4) et plus la fréquence de fonctionnement peut être élevée

• Tant que les instructions se suivent, pas de problème, mais si un branchement (saut) est effectué dans le programme alors il faut vider le pipeline et recommencer d’où utilisation de méthodes de prédiction de branchement

µprocesseur Étages du pipeline

Pentium III 10

Pentium 4 20 puis 31 (prescott)

Pentium M 12

Athlon 11

Athlon 64 6 + (4 (entiers) / 9 (réels))

Core 2 14

Page 273: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 273

8.8 Parallélisme

• Multiplier le nombre d’unités fonctionnelles pour effectuer plusieurs traitements simultanément

Pentium 4 Athlon64 Pentium M Core 2

Lecture instr. 4 4 4 5

Décodage instr. 3 3 3 4

ALU(calcul entier)

2 doubles

1 simple3 2 3

FPU(calcul réel) 1+1 (différentes) 2+1 (diff.) 2 2+1 (diff.)

SIMD(entier + réel) 1 2 2 3

• µp multi-cores = plusieurs µp dans une puce2005 : 2 cores (Athlon64 X2, Pentium D) 2006 : 2 et 4 cores (Core 2 duo, Core 2 Quadro) + prototype Intel 80 cores de calcul2007 : 4 cores (AMD)

Page 274: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 274

8.9 Complexité des processeurs actuels

8.9.1 AMD Athlon64

Page 275: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 275

8.9.2 Intel Pentium 4

Page 276: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 276

8.10 Benchs de quelques µp grand public à l'aide de Spec-2000

1400

2200 2260

3800

28002930

0

500

1000

1500

2000

2500

3000

3500

4000

Pentium III Athlon XP Pentium M Pentium 4 Athlon64 Core 2

INT

FP

Mhz

Page 277: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 277

8.11 Benchs de quelques µp station de travail à l'aide de Spec-2000

1300

3800

28002930

1600

21602300

0

500

1000

1500

2000

2500

3000

3500

4000

Alpha21364

Pentium 4 Athlon64 Core 2 IntelItanium 2

SunSPARC64

V

IBMPOWER5

INT

FP

Mhz

Page 278: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 278

8.12 Références

• www.tomshardware.fr (en français) / www.tomshardware.com• www.hardware.fr• www.presence-pc.com• www.aceshardware.com• www.anandtech.com• www.cpuid.com• arstechnica.com• www.x86-secret.com (en français)• www.spec.org• www.arcanapercipio.com (en français)• www.amd.com• www.intel.com

Page 279: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 279

9 Les périphériques9.1 Composants d’un micro-ordinateur

• un ou plusieurs µp

• mémoire RAM

• mémoire ROM (bios) + RAM (cmos)

• circuits gérant les communications

• ensemble de bus

• horloges (bus, cpu) + temps réel (RTC)

• connecteurs (µp, mémoire, cartes …)

• ports d’E/S (série, parallèle, USB, IR, …)

• périphériques internes (cartes, DD, …)

• périphériques externes (moniteur, clavier, souris, imprimante, scanner, …)

cartemère

+ alimentation+ boîtier

= unité centrale (UC)

Page 280: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 280

9.2 Circuits d’entrées/sorties et interfaces

• Définition d’un périphérique : système matériel qui permet d’introduire (ou d’extraire) des données dans (ou de) l’ordinateur

• Composition d’un périphérique :

• partie « active » qui effectue les opérations (mémoriser des données, afficher, imprimer …)

• connexion qui relie la partie active à l’ordinateur (µp) via les bus et circuits d’E/S

• Problèmes :

• périphériques conçus indépendamment des ordinateurs

• connecter le + de périphériques différents

Standardisation et mise en forme des signaux de la partie active pour être compatible avec le bus de l’ordinateur

Page 281: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 281

• Le µp pilote les périphériques grâce à des circuits spécialisés appelés interfaces

interface

partie active

bus ordinateur

Légende :

périphérique

ordinateur

• Les circuits d’E/S jouent souvent le rôle d’interfaces (on considère que ces termes sont équivalents)

Page 282: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 282

• Organisation des E/S vers les périphériques :

• un circuit d’E/S : assure le transfert des informations de ou vers les bus de l’ordinateur

• une interface : adapte les signaux en provenance du périphérique pour les rendre compatibles avec le circuit d’E/S (temps/débit, amplitude/intensité, protocole)

• un contrôleur de périphérique qui gère la partie active

• Remarques :

• le circuit d’E/S est généralement sur la carte mère

• le contrôleur est en général dans le périphérique

• le circuit d’interface est soit :

• dans le circuit d’E/S

• dans le périphérique

• divisé en 2 parties (circuit E/S + périphérique)

Page 283: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 283

• Le contrôleur de périphérique contient les registres suivants :

• un registre de commande

• un registre de donnée

• un registre d’état

• Le µp passe par le circuit d’E/S et l’interface pour accéder au contrôleur de périphérique et le pilote grâce à ces 3 registres

• Il existe 2 types d’interfaces :

• dédiée : une interface par périphérique

• + : simple à concevoir

• - : multiplie de nombre d’interfaces dans l’ordinateur

• générique : une interface indépendante du périphérique

• + : une seule interface dans l’ordinateur

• - : norme, problèmes de vitesse, …

Page 284: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 284

• Actuellement : dédié + générique + compromis entre les 2

• interface dédiée à certains périphériques : clavier, souris (PS/2), disquettes

• interface dédiée à des groupes de périphériques :unités de stockage - IDE, SATA, SCSI

• interface générique pour les autres périphériques : ISA, PCI, PCI-X, PCIe

• interface totalement générique : USB, Firewire

• Le µp accède au périphérique selon 3 méthodes principales :

• le µp prend totalement en charge les E/S (polling)

• le périphérique effectue des E/S via le µp et le contrôleur d’interruption (IRQ) qui permet à tout moment d’interrompre l’exécution d’un programme sur le µp afin que celui-ci prenne en compte la demande du périphérique

• le périphérique effectue des E/S via le µp, le contrôleur d’interruption et le contrôleur d’accès direct en mémoire (DMA)

non détaillé dans ce cours

Page 285: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 285

9.3 Liaison synchrone et asynchrone

• Définition : une liaison est dite synchrone si la transmission d’un bit est liée à un signal d’horloge commun aux deux interlocuteurs

1

1

0

0

msg

clk

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

émetteur récepteur

1 0 0 1 0 1 1 0 1 0 1 1 0msg

clk

masse commune

émetteur récepteur

1 0 0 1 0 1 1 0 1 0 1 1 0msg

masse commune

• Définition : une liaison est dite asynchrone si les deux interlocuteurs ne se synchronisent pas sur un même signal

1

0msg

1 0 0 1 1 0 1différentes durées

d’impulsions pour 1 et 0

Page 286: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 286

9.4 Liaison série et liaison parallèle

• Liaisons série sur le PC (à l’origine) :

• port PS/2 (clavier, souris) – liaison synchrone

• port série (port RS232) - liaison asynchrone – limité à 30m

• Une liaison série envoie les données sur 1 fil bit à bit

• un fil pour envoyer les données

• un fil pour recevoir les données

• + qques fils pour le contrôle des transmissions

• Avantages :

• simple à mettre en œuvre

• peu d’interférences : grande longueur de câble possible

• Inconvénient :

• plus lent qu’une liaison parallèle (à l’origine)

Page 287: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 287

• Liaisons parallèles sur le PC (à l’origine) :

• port parallèle (port Centronics) 8 bits – limité à 3m

• stockage : disquette, IDE et SCSI – limité à environ 50cm

• ISA, PCI, PCI-X – limité à environ 20-30cm

• µp / mémoire bus de donnée, bus d’adresse en dehors du µp

• bus de donnée, bus d’adresse dans le µp

• Liaison parallèle : 1 fil par bit, 1 mot transmis en une fois

• Avantage :

• rapide (+ il y a de fils, + on envoie de bits en parallèle)

• Inconvénients :

• + difficile à mettre en œuvre qu’une liaison série (nombreux fils)

• + il y a de fils et + la fréquence est élevée alors + il y a d’interférences et + la distance de communication est courte

Page 288: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 288

• Autre amélioration : utilisation de plusieurs liens série simultanément pour atteindre de très hauts débits

• Depuis quelques années, amélioration des liaisons séries :

• fréquences accrues + envoi de paquets de bits

• USB1.1 : 12Mb/s (1,4Mo/s) et USB2 : 480Mb/s (57Mo/s)

• Difficilement applicable aux liaisons parallèles (interférences)• Nouvelles liaisons série sur le PC :

• USB, IEEE 1394 (Firewire) : remplacent les ports RS232, //, clavier et souris, …

• SATA : remplace l’Ultra ATA (IDE ou PATA) pour les périphériques de stockage

• Nouvelles liaisons série multiples sur le PC :

• PCI Express : remplace le bus PCI, PCI-X et le port AGP

• Hypertransport : remplace par exemple les bus entre µp et mémoire pour l’Athlon64

Page 289: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 289

Exemple détaillé : PCI Express (PCIe)

• Remplace les nombreux fils du bus PCI par 4 fils par ligne PCIe

• Les lignes PCIe sont bi-directionnelles : communication synchrone simultanée dans les 2 sens

Page 290: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 290

• Plusieurs lignes peuvent être utilisées simultanément pour multiplier le débit

• Les paquets sont découpés, envoyés en parallèle puis réassemblés

Page 291: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 291

• Périphériques standards : 1 ligne PCIe = 250Mo/s bidirectionnel / périph.

(PCI = 132Mo/s unidirectionnel partagé par tous les périphériques du bus)

• Nb lignes / périph. configurable à la construction de la carte mère : 1 à 32

• Cartes graphiques : 16 lignes PCIe = 4Go/s dans chaque sensplusieurs cartes graphiques possible (avec 4 ou 8 lignes)

(AGP 8X = env. 2Go/s unidirectionnel + port unique)

Page 292: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 292

9.5 Carte mère (PC)

• principal circuit imprimé de l’ordinateur

• permet d’inter-connecter tous les éléments de l’ordinateur

• contient le bus système, un ensemble de connecteurs et de ports d’E/S et un ensemble de contrôleurs

• propage les fréquences multiples ou sous-multiples de la sienne générées par le µp aux différents composants : 33MHz pour le pci, 48MHz pour l’usb, 33/66Mhz pour l’agp … etc

Définitions :

• chipset : ensemble de circuits gérant les échanges d’information

• slot : connecteur « fond de panier » sur la carte mère

• BIOS (Basic Input Output System) : programme en ROM d’initialisation et de test des composants de l’ordinateur et de pilotage des fonctions d’E/S de base

Page 293: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 293

9.5.1 Connecteurs

9.5.1.1 Connecteurs CPU

• actuellement 2 types de connecteurs : socket ou slot

• Slot 1 : Pentium III

Page 294: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 294

• Sockets 775, 478 et 754

Athlon64 socket 754 (PGA)

Pentium 4socket 478

(PGA)

Pentium 4socket 775

(LGA)

Page 295: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 295

• Socket 775 :

Page 296: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 296

9.5.1.2 Connecteurs mémoire :

• connecteurs SIMM :

Mémoire FPM ou EDO

< 1996

32 bits – 72 broches

Capacité : 1Mo à 64Mo

Temps de latence : 80ns à 50ns

• connecteurs DIMM :

Mémoire SDRAM

> 1996

64 bits – 168/184/208 broches

Capacité : 16Mo à 2048Mo

Temps de latence : env. 10ns

Page 297: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 297

9.5.1.3 Connecteurs cartes d’extension

• connecteurs ISA :

8 bits puis 16 bits

Débit : 5,5Mo/s

• connecteurs PCI :

32 bits puis 64 bits

Débit : 66 Mo/s

puis 132 Mo/s

Page 298: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 298

• connecteurs AGP (Accelerated Graphic Port) :

64 bits puis 128 bits

Débit : 264Mo/s (1X)

env. 2Go/s (8X)

Liaison directe avec la mémoire centrale

• connecteurs PCI Express (PCIe) :

Liaison série 1 à 32 lignes

Débit : 250Mo/s (1X)

env. 4Go/s (16X)

Page 299: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 299

9.5.1.4 Connecteurs périphériques de stockage

• connecteur de disquettes :

• connecteur IDE ou PATA (Parallel ATA) :

• connecteur SCSI :

•connecteur SATA (Serial ATA) :

Page 300: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 300

9.5.1.5 Connecteurs d’alimentation

• connecteurs carte mère :

• connecteur de disquetteset petits périphériques :

• connecteur périphériques stockage et divers :

• connecteur alimentation SATA

• connecteur ventilateur :

+

Page 301: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 301

9.5.1.6 connecteurs E/S :

• Avant la norme ATX, les connecteurs d’E/S étaient sur la carte mère et devaient être reliés à des prises accessibles depuis l’extérieur du boîtier

• Maintenant une grande partie de ces connecteurs sont regroupés sur un bloc directement accessible depuis l’extérieur du boîtier :

PS2 : souris

PS2 : clavier

parallèle : imprimante, stockage

externe, …

IEEE 1394 (Firewire) : tous périph. + réseau

RJ45 :réseau

audio

série : clavier, souris, réseau,

VGA : écran, vidéoprojecteur

USB : tous périphériques

Page 302: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 302

9.5.2 Chipset

• contrôlent les différentes communications des éléments de la carte mère

• incorporent des fonctionnalités supplémentaires remplacant certains périphériques

• en particulier :

• µp / mémoire

• mémoire / AGP ou PCIe 16X

• µp / AGP ou PCIe 16X

• bus ISA, PCI

• PCI Express

• IDE, SCSI

• USB, Firewire

• réseau (avec ou sans fil), modem, audio, …

north bridge

south bridge

dédié à une famille de µp

Page 303: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 303

• Intel 925X : 2 pucesDDRII SDRAM, PCI, PCIe, Hyperthreading,

SATA, RAID, USB2, audio, réseau sans fil, E/S standard

Page 304: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 304

• VIA KT800pro : 2 puces

DDR-SDRAMHypertransportAGPAudioPATASATAUSB2PCIPCIe (2 lignes)réseau 10/100MbmodemE/S standard : (clavier, souris, série, parallèle, disquette)

Page 305: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 305

• Nvidia nForce4 : 1 puce

DDRII-SDRAMHypertransportAudioPATASATA2USB2PCIPCIe (20 lignes configurables)SLI (2 cartes graphiques)réseau GbmodemfirewallE/S standard : (clavier, souris, série, parallèle, disquette)

Page 306: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 306

9.5.3 Détail d’une ancienne carte mère

Page 307: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 307

9.5.4 Détail d’une carte mère récente

Page 308: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 308

9.6 Classification des périphériques

• lecteur CDROM, DVDROM• graveur CDR, CDRW, DVDRAM, DVDR, DVDRW• disque dur, lecteur de disquettes, zip• streamer, dat, clé usb• lecteur de carte magnétique, de carte à puce• clavier, souris• carte réseau, modem• imprimante, scanner• carte graphique, moniteur, projecteur, data-show, écran tactile• carte d’acquisition, de montage vidéo, caméra, appareil photo numérique• carte son, micro, enceintes• périphériques MIDI (synthétiseur, boîte à rythme, …)• joystick, casque 3D, gants 3D• onduleur• clef électronique, système de protection de données• périphériques d’authentification (vocal, empreinte, …)

mémoiresde masse

péri

phér

ique

s d’

E/S

Page 309: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 309

9.7 Mémoires de masse

• La fonction des mémoires de masse est de conserver durablement les informations sur des supports magnétiques (disquette, disques dur, bande magnétique, …) ou non (CDROM, DVD, …)

9.7.1 Lecteur de disquette (floppy disk)

• Périphérique généralement interne permettant de lire des disquettes

• Une disquette est un support de données magnétique, souple ou rigide, de taille et de densité variées

• C’est le support de stockage le plus connu de la micro-informatique car il a été longtemps le seul disponible facilement

• Dernier format existant :

• 3’’1/2 de capacité de 720Ko, 1,44Mo et 2,88Mo

• Interface : dédiée ou USB

Page 310: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 310

• Schéma d’une disquette 3’’1/2 :

Page 311: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 311

• Schéma interne du lecteur :

Page 312: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 312

• Structure physique d’une disquette (ou d’un disque dur) : division en pistes circulaires puis chaque piste en secteurs (512octets en général)

• Cette structure est créée lors du formatage physique de la disquette (ou du disque dur)

• Nombre constant de secteurs par piste : densité variable selon les pistes

• Compatibilité au niveau du formatage physique : DOS et UNIX utilisent le même nombre de pistes et de secteurs par piste

Page 313: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 313

• Le formatage logique est effectué après le formatage physique

• Il permet de réserver les premiers secteurs pour y stocker des programmes ou des informations systèmes et de regrouper les secteurs en clusters (blocs logiques)

• On y trouve :

• une zone d’amorçage qui peut contenir le programme de lancement (si c’est un disque système)

• une table d’allocation de fichiers

• le répertoire racine

• le reste du disque sert au stockage des données

• La zone de stockage est gérée en tant qu’ensemble de clusters de taille donnée (512octets, 1024, 2048, 4096, …) dans lesquels seront stockées des informations sous forme de fichiers

• L’ensemble des clusters est géré à l’aide de la table d’allocation qui permet de retrouver les clusters utilisés par un fichier

Page 314: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 314

9.7.2 Disque dur (hard disk)

• Un disque dur est composé d’un certain nombre de plateaux rigides fixés sur un même axe de rotation

Page 315: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 315

• Chaque plateau dispose de 2 têtes de lecture/écriture

• Définition : sur un plateau, les pistes sont numérotées de 0 à p-1. L’ensemble des pistes portant le même numéro sur les différents plateaux est appelé un cylindre

Page 316: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 316

Caractéristiques des disques durs :

• Leur capacité varie actuellement de 20Go à 500Go

• C’est parce que leur capacité a rapidement augmentée qu’est apparu la notion de cluster regroupant plusieurs secteurs (pour éviter d’allouer individuellement les secteurs aux fichiers)

• Leur vitesse de rotation se situe actuellement entre 5400 et 15000tr/min

• Le temps d’accès moyen est actuellement d’environ 10ms

• Le taux de transfert des informations entre le disque et la mémoire se situe entre 5Mo/s et 60Mo/s actuellement

• L’interface de communication :

• IDE (Integrated Drive Electronics) – Ultra ATA ou PATA

• SATA (Serial ATA)

• SCSI (Small Computer System Interface) – Ultra SCSI

• L’interface la plus rapide autorise actuellement 320Mo/s – inutile pour un seul disque mais indispensable si plusieurs partagent la même interface

Page 317: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 317

Interface IDE (Ultra ATA) :

• L'interface la plus courante actuellement est l'interface Ultra ATA (ou PATA – Parallel ATA)

• Les lecteurs compatibles Ultra ATA intègrent la plupart des circuits de contrôle ce qui les rend simples à installer

• Une interface Ultra ATA accueille 2 périphériques de stockage – un maître et un esclave - il y a au minimum 2 interfaces par carte mère

• L'interface IDE a évoluée depuis sa création :

• EIDE : 16Mo/s, Ultra ATA 33/66/100 : 33,3/66,6/99,9Mo/s

Interface SATA :

• Liaison série bidirectionnelle à très haute fréquence :

Ultra ATA 100 : 25 MHz SATA : 1500 MHzx 2 DDR x 1 bitx 16 bits x 80 % codage paquets 8b10b/ 8 bits par octets / 8 bits par octets= 100 Mo/s = 150Mo/s

Page 318: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 318

• SATA 2 : 300 Mo/s

• Avantages du SATA par rapport au PATA :

• simple et - coûteux à mettre en œuvre (peu de fils comme PCIe/PCI)

• câbles – chers, + longs et + fins (meilleure aération du boîtier)

• évolution : déjà prévu jusque 600 Mo/s minimum

• pas de réglage maître / esclave (une liaison par périphérique)

• gestion natif de file d’attente des commandes (NCQ) :

l’ordre de traitement des commandes est optimisé pour limiter le nombre de tours et les oscillations des têtes de lecture donc

+ rapide, - vibrations et – de bruit

Page 319: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 319

Interface SCSI :

• L'interface SCSI est moins courante que l'interface IDE et n'est généralement pas intégrée aux cartes mère : il faut installer une carte contrôleur SCSI sur un bus PCIe ou PCI-X (extention du PCI pour les serveurs)

• Elle a toujours offert des performances supérieures à l'interface IDE et utilisé moins de ressources du µp pour fonctionner – utilisée sur les serveurs de fichiers - (mais performances rattrapées par le SATA2)

• Elle permet de connecter jusqu'à 15 périphériques de tous types : stockage, scanners, imprimantes, ... mais les lecteurs sont plus chers et il faut acheter la carte contrôleur

• Évolution de l'interface SCSI :

• Ultra SCSI : 20Mo/s, Ultra Wide : 40Mo/s, Ultra-2 Wide : 80Mo/s, Ultra-3 Wide (U160) : 160Mo/s

• actuellement : U320 : 320Mo/s

• regroupe de nombreux protocoles de communication dont Gb ethernet

• futur : SAS (Serial Attached SCSI) = SATA + SCSI simultanément

Page 320: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 320

Évolution des disques durs :

• Augmentation de la vitesse de rotation (actuellement 15000tr/mn max)

• Amélioration du substrat magnétique (augmentation de la densité, ...)

• Amélioration de la fiabilité

• Passage d'un périphérique passif à un périphérique intelligent :• intégration de mémoires caches• mécanismes d'anticipation de lecture• mécanismes de réorganisation du séquencement des accès

• RAID : Redundant Arrays of Inexpensive Disks

• RAID 0 (stripping) : données divisées et écrites sur plusieurs disques en // + vitesse- tolérance aux pannes

Page 321: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 321

• RAID 1 (mirroring) : données dupliquées sur 2 disques à la fois+ tolérance aux pannes- vitesse et surcoût = x2

• RAID 0+1 : disques en RAID 0 dupliqués (RAID 1) – 4 disques min.+ tolérance aux pannes et vitesse- surcoût = x2

Page 322: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 322

• RAID 3 : données divisées et écrites en // + disque parités – 3 disques min. + tolérance aux pannes + vitesse + faible surcoût (tjs 1 disque)

- transactions traitées en séquence ( ok pour mono-utilisateur)

• RAID 5 : données divisées par blocs et écrites sur des disques indépendants avec parités distribuées

+ tolérance aux pannes + vitesse moy. + surcoût + // des trans.- vitesse de lecture d’1 bloc = vitesse d’1 disque

Page 323: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 323

• Intel Matrix RAID Technology :

• 2 disques SATA découpés en 2 partitions

• 2 partitions utilisées en RAID 1

• 2 partitions utilisées en RAID 0

Page 324: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 324

• Nouvelle technologie de stockage : enregistrement perpendiculaire

magnétisation longitudinale : prend + de place et problèmes d’influence des éléments contigus si miniaturisation trop importante

densité maximale atteinte

magnétisation perpendiculaire : prend – de place et – de problèmes d’influence des éléments contigus

+ grande densité possible

2007 :• DD 3,5" ≥ 1To• micro DD 1" ≥ 20Go pour pocket PC, PDA, Smartphones …

Fin 2005 :• DD 1,8" de 80Go

Page 325: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 325

9.7.3 Disques optiques numériques

• Les disques compacts (ou CD) sont standardisés au niveau de leurs caractéristiques physiques et de leur format logique (compatibilité)

• La normalisation initiale correspond au disque compact audio (CD-A) : "Livre Rouge" rédigé en 1982 par Sony et Philips

Le CD audio (CD-A) :

• Un CD-A est constitué de trois couches :

• un support en polycarbonate (plastique transparent résistant)

• une fine couche réfléchissante d'aluminium

• une laque protectrice (contre les rayures et l'oxydation), sur laquelle peut être imprimée une étiquette

Page 326: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 326

• La zone utile est divisée en trois régions concentriques :

• un en-tête (lead-in)• les données• une plage de fin (lead-out)

• Sur l'ensemble de la zone utile est gravée une seule spirale de 22188 spires d'environ 5.6 km de long

Page 327: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 327

• Les informations sont enregistrées au niveau de la couche métallique sous forme de cuvettes (pits) le long de la spirale à partir du centre vers l'extérieur

• La surface vierge qui séparent deux cuvettes consécutives est appelée méplat (land)

Page 328: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 328

• La lecture des données se fait au moyen d'un laser d'une longueur d'onde de 780 nm (infrarouge)

• La lumière émise par ce laser traverse le polycarbonate puis se réfléchit sur la couche d'aluminium. Le rayon réfléchi est ensuite guidé par un miroir unidirectionnel vers une photodiode

Page 329: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 329

• Le laser est focalisé en une tache un peu plus large que les cuvettes

• Sur une surface vierge (méplat) la lumière est totalement réfléchie et la photodiode reçoit alors au moins 70% de la lumière émise

• Lorsque l'image du laser chevauche une cuvette, la photodiode reçoit moins de 28% de la lumière émise (interférences destructrices)

Page 330: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 330

Codage de l'information :

• Contrairement à ce qu'on pourrait penser les cuvettes et les méplats ne sont pas directement associés aux deux valeurs logiques "0" et "1"

• En fait la valeur logique "1" est définie par une transition de l'intensité lumineuse détectée : passage d'un méplat à une cuvette et vice-versa

• La longueur des cuvettes et des zones vierges permet ensuite de compter le nombre de zéros : mécanisme d'horloge

• Principe de lecture simple, mais systèmes d'asservissement pour :• conserver l'alignement de la tête de lecture le long de la spirale• focaliser le laser au niveau de la couche réfléchissante

• La tête n'étant pas en contact avec le disque il n'y a que très peu d'usure

Page 331: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 331

Problème 1 :• au moins deux 0 entre deux 1 : sinon problèmes de précision• au plus dix 0 entre deux 1 : sinon désynchronisation de l’horloge

• Chaque créneau (pit ou land) donne une séquence binaire débutant par un 1 suivi de deux à dix 0 (entre 3 et 11 bits)

• A cause de ces contraintes il faut 14 bits (sur le CD) pour coder un octet car 267 combinaisons de 14 bits pour lesquelles on trouve entre deux et dix 0 entre deux 1 : codage E.F.M. (Eight to Fourteen Modulation)

Problème 2 : lors de la concaténation de deux codes de 14 bits, il est encore possible de trouver deux 1 consécutifs ou une série de plus de dix 0

• Solution apportée : 3 bits de fusion intercalés tous les 14 bits, donc au total 17 bits pour représenter un octet

But du système de codage E.F.M. : rendre le système de lecture le plus tolérant possible à diverses imperfections techniques : centrage du trou, voile du disque, focalisation du laser, profondeur des creux, épaisseur du disque, etc

Page 332: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 332

Problème 3 : d'autres sources d'erreurs (bulles microscopiques ou poussières piégées dans le polycarbonate, rayures, salissures, empreintes de doigts ...) et la spécification exige moins de 250 erreurs de lecture par seconde

• Solution : code de détection et de correction d'erreurs : le code Reed Solomon entrelacé croisé (CIRC : Cross Interleaved Reed Solomon Code)

• Organisation des données : 1 trame = (24o utiles + 8o CIRC + 1o de contrôle) x 17 bits de codage

= 561 bits + 11 bits de sync + 5 bits de fusion = 588 bits 1 secteur = 98 trames 1 seconde d'enregistrement = 75 secteurs

• Adressage d'un secteur sur un CD-A : minute:seconde:secteurabsolu (depuis le début de la spirale)

relatif (depuis le début de la piste)

• Un CD audio peut être divisé en pistes (jusqu'à 99)

• Débit utile est de 172 ko/s

• Durée d'enregistrement de 74 minutes correspond à 747 Mo utiles

Page 333: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 333

Le CD informatique (CD-ROM) :

• Le disque compact est sorti peu de temps après l'IBM PC-XT qui était alors équipé d'un disque dur de 10 Mo !

• Il est vite apparu que les disques compacts pouvaient servir de support à des données informatiques mais problèmes à résoudre :

• réduction du taux d'erreurs• repérage plus précis des secteurs

=> format des secteurs revu et précisé dans le "Livre Jaune" rédigé par Philips et Sony en 1984.

• La structure des secteurs décrite pour les disques audio (98 trames de 588 bits) est conservée.

• Mais l'utilisation des 2352 octets disponibles dans chaque secteur est modifiée en 2 formats distincts

Page 334: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 334

• CD-ROM Mode 1 : prévu pour les données informatiques

• 2048 octets de données (adapté à l'adressage binaire)

• + niveau supplémentaire de détection et de correction d'erreurs :• 4 octets pour la détection (EDC : Error Detection Code)• 276 octets pour la correction (ECC : Error Correction Code)• 8 octets sont laissés libres entre les octets de détection et les octets de correction• environ 1000 fois moins d'erreurs que le CD-A !

• 12 octets de synchronisation suivis de 4 octets d'en-tête

• Ce format correspond à un débit pour les données utiles de 150 ko/s et une capacité utile de 650 Mo

Page 335: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 335

• CD-ROM Mode 2 : prévu pour les données compressées audio ou vidéo

• N'utilise pas de détection d'erreurs supplémentaire

• Permet d'utiliser 2336 octets par secteur, pour un débit de 172 ko/s

Page 336: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 336

• CD-ROM Mode Mixte :

• Combine les formats CD-ROM et CD-A

• première piste informatique suivie d’une ou plusieurs pistes audio

• CD-ROM XA (ISO 9660) :

• Problème : Les livres rouge et jaune n'autorisent pas le mélange de secteurs de types différents sur une même piste : limitation pour les applications multimédia (texte + son + vidéo) car la tête de lecture est alors obligée de se déplacer en permanence pour alimenter les divers flux

• Solution : le format CD-ROM XA (en fait 2 formats) permet l'entrelacement de secteurs de types différents sur une même piste

• Le format des secteurs est légèrement modifié. Il utilise les 8 octets laissés libres par le format CD-ROM

Page 337: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 337

• La vitesse de lecture des CD-A est fixée par la fréquence d'échantillonnage mais il n'y a aucune contrainte pour les CD-ROM : le débit de transfert est exprimé comme un multiple de 150 ko/s (nX)

• Les premiers lecteurs fonctionnaient à vitesse linéaire constante (CLV : Constant Linear Velocity), les lecteurs CD-ROM récents fonctionnent à vitesse de rotation constante (CAV : Constant Angular Velocity), le débit dépend alors de la position de la tête de lecture le long de la spirale

Page 338: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 338

CD-R (Recordable) ou disque WORM (Write Once/Read Many) :

• Le contenu d’un CD-R peut être enregistré une fois, il fonctionne ensuite comme CD-ROM classique en lecture uniquement

• Un CD-R se compose de quatre couches. Entre le substrat en polycarbonate et la couche réfléchissante (en argent ou en or), se trouve un colorant organique photosensible

Page 339: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 339

• L'écriture des données est réalisée par un laser puissant, qui permet de chauffer localement le colorant et de le rendre opaque

• Le codage des données est identique à celui d'un CD-ROM. A la lecture les zones "brûlées" absorbent la lumière, alors qu'ailleurs la lumière peut traverser le colorant pour être réfléchie

• La stabilité des colorants garantit une durée de vie d'au moins 30 ans

CD-RW (ReWritable) ou disque WMRA (Write Many Read Always) :

• La structure d'un CD-RW comporte 6 couches. Le colorant est remplacé par un alliage pris en sandwich entre deux couches de diélectrique

• Dans un disque vierge, l'alliage est dans une forme cristalline. Il réfléchit alors en partie la lumière

• Écriture : un laser chauffe l'alliage et le faire fondre, si le refroidissement est rapide l'alliage prend une forme amorphe qui absorbe la lumière

• Effacement : si on chauffe suffisamment longtemps une zone amorphe on retrouve une structure cristalline après refroidissement

Page 340: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 340

DVD (Digital Versatile Disc) :

• Alors que le disque compact a été initié comme support audio, le disque haute densité avait pour objectif initial la vidéo

• Les dimensions d'un DVD sont identiques à celles d'un CD

• Le principe de lecture reste le même, la densité d'information a augmenté :

• laser avec une plus petite longueur d'onde (635 ou 650 nm, rouge)• créneaux réduits en largeur et longueur, et spires plus serrées

•L'ensemble des modifications a permis une densité d'information brute environ 4,5 plus grande

• Le débit d’un DVD 1X est de 1380 ko/s

Page 341: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 341

• Le DVD utilise la capacité d'un faisceau lumineux de traverser plusieurs surfaces semi-transparentes : 2 couches de réflexion superposées

• simple face, double couche (DVD 9) :

• Les DVD existent en quatre versions :• simple face, simple couche (DVD 5) :

Page 342: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 342

• Le faisceau laser doit traverser deux fois la couche semi-réflective pour la lecture de la seconde couche donc la densité de celle-ci est légèrement inférieure (ainsi que sa capacité, de 15 % environ)

• Nombreuses amélioration / CD-ROM : réduction du codage, des codes de détection / correction d’erreur et des octets de sync.

• double face, simple (DVD 10) ou double couche (DVD 18) :

• Gain finesse gravure (4,5) + gain codages (1,52) : capacité d’un DVD simple face simple couche 7 fois plus importante que celle d’un CD :

• DVD 5 : 4,7Go

• DVD 9 : 8,5Go

• DVD 10 : 9,4Go

• DVD 18 : 17Go

Page 343: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 343

• Lecture de la première couche toujours de l’intérieur vers l’extérieur • Lecture de la seconde couche possible dans les deux sens (possibilité d’enchaîner les deux couches sans perte de temps, indispensable pour les applications vidéo du DVD)

DVD inscriptibles et réinscriptibles :

• Les mêmes techniques d’enregistrement que celles des CD-R et CD-RW permettent de fabriquer des DVD-R et des DVD-RW

Interfaces aux lecteurs de CD et de DVD :

Ultra ATA, SCSI, SATA, USB, Firewire

Page 344: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 344

9.7.4 Disques magnéto-optiques numériques

• Le laser permet de réduire la dimension des pistes des supports magnétiques : les têtes de lecture/écriture sont guidées par un laser

• Aucune norme n'étant établie il existe de nombreux formats propriétaires :

• Iomega Zip : disquette de 100Mo (200Mo compressés) taux de transfert 11,2Mo/s max temps d'accès 29ms

• SuperDisk LS-120 : disquette 3"1/2 de 120Mo, compatible disquettes standards, transfert 250Ko/s

• Syquest Ezflyer : 230Mo sur cartouche, plus performant

•Dynamo 640SE : 640Mo, taux de transfert 3,9Mo max, 1,1Mo en moyenne, intégrité des données > 30 ans !

• Iomega Jaz : disquette de 2Go (4Go compressés), taux de transfert 8,7Mo/s max, accès lecture 10ms, écriture 12ms

• Syquest SyJet : 1,5Go, accès 12ms, buffer 512Ko

suplantés par la clé USB

suplantés par le CDR/W et le DVDR/W

suplantés par le DD externe

Page 345: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 345

9.8 Périphériques d’E/S

9.8.1 Carte graphique (ou carte vidéo, ou adaptateur graphique vidéo)

• La carte vidéo est conçue pour permettre une communication de données entre le processeur et elle ainsi qu’entre elle et l’écran

• Sur un écran l’image est découpée en points élémentaires : pixels (picture’s element – pict’s el.)

• Résolution d’une image = nombre de pixels présents simultanément (donné par nb pixels par ligne * nb pixels par colonne)

• La couleur d’un pixel est constituée en mélangeant 3 couleurs : le rouge, le vert et le bleu : système RVB (RGB en anglais)

• 2 codage possible des couleurs :

• Vraies couleurs (true color) : codage de la valeur de chaque composante sur un certain nombre de bits. Ex : 8+8+8 = 24 bits

• Palette : un nombre de couleurs déterminées et numérotées puis stockées dans une table

Page 346: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 346

• Coût du codage :

• 2 couleurs : 1 bits par pixel (mémoire vidéo = plan de bits : bitmap)

• 4 couleurs : 2 bits par pixel

• 16 couleurs : 4 bits par pixel

• 256 couleurs : 8 bits par pixel

• 65 536 couleurs : 16 bits par pixel

• 16 777 216 couleurs (16,8 millions) : 24 bits par pixel

• 4 294 967 296 couleurs (4,3 milliards) : 32 bits

• En vraies couleurs sur 24 bits on code 16,8 millions de couleurs : ceci suffit à représenter toutes les nuances décelables par l’œil humain (inutile d’utiliser plus de 8 bits par composantes)

Page 347: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 347

• Capacité de la mémoire vidéo :

Ex : 1024 x 768 en 256 couleurs : 1024 * 768 * 8 = 6 291 456 bits

= 768KoNombre de couleurs

16,8M6553625616Résolution

900Ko600Ko300Ko150Ko640 x 480

1,37Mo938Ko469Ko235Ko800 x 600

2,25Mo1,5Mo768Ko384Ko1024 x 768

3,75Mo2,5Mo1,25Mo640Ko1280 x 1024

5,49Mo3,66Mo1,83Mo938Ko1600 x 1200

• Pour gérer un affichage de qualité (1600 x 1200 en vraies couleurs) il faut déjà 6Mo de mémoire vidéo uniquement pour une image !

Page 348: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 348

RAMDAC (RAM Digital-to-Analog Converter) :

• Le RAMDAC convertit les informations numériques en provenance de la mémoire vidéo et/ou du processeur graphique en signaux analogiques destinés au moniteur

• Convertit à la volée les codes couleurs des pixels en signaux analogiques

• Est composé de 3 DAC : un par couleur primaire

• Plus la résolution utilisée est grande, plus le RAMDAC doit être rapide

• Pour un bon confort des yeux : 72 images par secondes minimum=> fréquence verticale : 72Hz minimum

• Fréquence horizontale (exprimée en KHz) = nb lignes * fréq. verticale

Page 349: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 349

• Avec l’arrivée de la 3D et notamment l’utilisation des textures le bus PCI est devenu trop lent aussi est apparu un nouveau port : AGP (Accelerated Graphic Port)

• Avantages :

• débit : AGP 8X = environ 2Go/s

• communication directe avec la mémoire sans passer par le µp

• Attention : l’AGP est un port et non un bus car il ne fonctionne qu’avec un seul composant !

Interface :

• A l’origine connectées au bus ISA puis PCI mais partage du bus avec les autres périphériques pour communiquer avec le µp et la mémoire

• Avec le PCIe carte graphique connectée sur un port 16x = 4Go/s :aucun intérêt car un débit d’un peu plus de 1Go/s suffit pour l’instant

• Avantages : + simple, - coûteux et plusieurs cartes en 4x ou 8x

Page 350: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 350

Mémoire vidéo :

• VRAM (Video RAM) : DRAM avec 2 accès simultanés à la mémoire

• WRAM (Window RAM) : 25% plus performante que la VRAM

• SGRAM (Synchronous Graphic RAM) : simple accès mais sur 128 bits

• MDRAM (Multibank DRAM) : simple accès mais entrelacement

• DDR SDRAM : identiques à la mémoire centrale

• GDDR2 et GDDR3 : optimisées pour la vidéo avec fréquences élevées

• Avantage des VRAM par rapport aux DRAM :

• Grâce au double accès simultané, le processeur peut transférer des données vers la mémoire vidéo pendant que le RAMDAC la lit pour envoyer les données analogiques au moniteur

• Avec les DRAM les accès sont concurrentiels : pourtant actuellement les mémoires utilisées dans les cartes récentes sont des DDR-SDRAM à simple accès mais ayant des fréquences très élevées

Page 351: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 351

2D :

• À l’origine tous les calculs liés à la construction des images étaient effectués par le CPU : carte graphique « = » RAMDAC

• Pour décharger le CPU les cartes graphiques ont intégré des fonctions de dessin 2D :

• dessin : ligne, cercle …

• zoom

• manipulation de pixels

• …

Page 352: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 352

• L’affichage 3D est généralement utilisé pour des séquences animées calculées en temps réel

• Si la fréquence de répétition de la vidéo atteint 25 images distinctes par seconde, chaque image doit être calculée et affichée en moins de 40 millisecondes

• Pour ne pas surcharger le CPU, les calculs nécessités par l'affichage 3D sont confiés à un circuit intégré situé sur la carte graphique de l'ordinateur

• L'affichage 3D, qui nécessite une puissance de calcul importante, est longtemps resté l'apanage des gros ordinateurs, puis des stations de travail

• Il est arrivé sur les ordinateurs personnels à la suite de la demande importante des jeux vidéo au travers des cartes 3dfx … maintenant disparu

3D :

• En informatique, on parle d’affichage 3D lorsqu’on donne une impression de relief à partir d'une image plane, en jouant sur les effets de perspective, d'éclairage, d'ombrage, de texture, etc

Page 353: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 353

• Étapes lors de la réalisation d’une image 3D :

1 : Positionnement des points 2 : Liaison des points en polygones

3 : Remplissage des polygones (z-buffer) 4 : Lissage de Gouraud

Page 354: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 354

• Étapes lors de la réalisation d’une image 3D (suite) :

5 : Plaquage de textures 6 : Éclairage

7 : Transparence 8 : Effets divers

Page 355: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 355

• Problème : pour chaque bibliothèque il faut développer un driver spécifique (d’où différences de performances dues à la qualité des drivers)

Programmation 3D :

• L’accès aux fonctions câblées des cartes graphiques se fait au travers de bibliothèques de fonctions d’affichage

• 2 bibliothèques utilisées actuellement :

• OpenGL : évolution de GL, bibliothèque graphique créée par Silicon Graphics. Standard dans le milieu professionnel il est également utilisé dans le domaine ludique et portable entre différents systèmes d’exploitation (Unix, Linux, Windows, MacOS, …)

• Direct3D : bibliothèque de Microsoft pour Windows. Très répandue mais propriétaire et dédiée à un seul système

Page 356: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 356

• Ils sont aussi complexes à réaliser que les CPU (voir +) :

Le processeur graphique G70 (Nvidia 7800 GTX) est constitué de 320 millions de transistors (Pentium 4 EE : 178 millions)

Des processeurs graphiques complexes :

• Les processeurs graphiques reprennent les optimisations des CPU :

• unités en parallèle (calculs, textures, pixel, …)

• plusieurs pipelines d’exécution (application des textures)

• Ils sont programmables :

• vertex program : programme implanté dans le processeur graphique et travaillant au niveau des points 3D

• fragment program : programme implanté dans le processeur graphique et travaillant au niveau des pixels

=> possibilité de nouveaux effets très réalistes

Page 357: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 357

• capture d’images ou de vidéo

• sortie pour affichage sur un téléviseur ou vidéoprojecteur

• affichage sur un deuxième moniteur

• port pour périphériques de vision 3D (casque, lunettes, …)

• récepteur télévision

• fonctions magnétoscope

• compression selon différents formats pour le montage vidéo

• …

Des cartes vidéo multi-fonctions :

• Les cartes vidéo actuelles ne se contentent plus seulement de l’affichage 2D/3D mais intègrent de plus en plus souvent d’autres fonctions :

• compression/décompression mpeg2 pour la vidéo

Page 358: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 358

9.8.2 Moniteur

Écran cathodique :

• Il fonctionne sous le même principe qu’un écran de télévision : 3 canons à électrons (rouge-vert-bleu) envoient leurs faisceaux convergents pour obtenir la couleur souhaitée par mélange

• Un champ magnétique, généré par des plaques métalliques alimentées, oriente les faisceaux vers les points à afficher

• L’affichage se fait en partant en haut à gauche de l’écran puis de gauche à droite, ligne après ligne : balayage

• Les électrons frappent des photophores sur la surface interne de l’écran qui luisent pendant un bref instant seulement : nécessité de rafraîchir

• Pour ne pas percevoir de scintillement, le rafraîchissement doit être supérieur à 72Hz

Page 359: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 359

(1) Cathode

(2) Électrons

(3) Anode

(4) Plaques verticales

(5) Plaques horizontales

(6) Écran

(7) Photophore

Page 360: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 360

Écran LCD à cristaux liquides TFT (Thin Film Transistor) :

• Ce type d’écran qui était utilisé par les portables remplace maintenant également les moniteurs de bureau cathodiques.

• Le principe consiste à faire passer la lumière émise par un panneau fluorescent à travers des filtres successifs :

• un filtre polarisant vertical

• un filtre de couleur

• une cellule à cristaux liquides

• un filtre polarisant horizontal

Page 361: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 361

• Les tailles des écrans des moniteurs sont indiqués par rapport à leur diagonale mesurée en pouces (de 14 à 25 voir plus)

• Dans de nombreuses publications est fait un rapport entre taille de l’écran et résolution d’affichage optimale pour une utilisation confortable : ce rapport est contestable …

• Résolutions d’affichage : 640x480, 800x600, 1024x768, 1152x864, 1280x960, 1280x1024, 1280x800, 1400x1050, 1400x900, 1600x900, 1600x1200, 1800x1440, 1920x1080, 1920x1200, 1920x1440, 2048x1536 …

Caractéristiques des moniteurs cathodique :

• pas de masque ou pitch (distance horizontale qui sépare 2 points de phosphore de même couleur : plus il est petit et plus l’image est fine compris entre 0,29 pour les plus mauvais à < 0,2 pour les meilleurs)

• fréquence de rafraîchissement à sa résolution maximale

Caractéristiques des moniteurs LCD :

• temps de réponse (quelle que soit la couleur)

• couleurs affichables

Page 362: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 362

9.8.3 Imprimante

9.8.3.1 Critères de classification :

• Famille technologique :

• à impact : frappe du caractère sur un ruban encreur devant la feuille

(marguerite, tulipe, boule, aiguilles, tambour, bande)

• sans impact : caractère formé par projection ou transfert d'encre

(laser, jet d'encre, thermique)

• Mode d'impression du caractère :

• caractère préformé : type machine à écrire

(marguerite, tulipe, boule, tambour, bande)

• impression matricielle : caractère formé par une matrice de points

(aiguilles, laser, jet d'encre, thermique)

Page 363: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 363

• Mode d'impression du texte :

• mode caractère : impression caractère par caractère

(marguerite, tulipe, boule, aiguilles, jet d'encre, thermique)

• mode ligne : impression ligne à ligne

(aiguilles, tambour, bande, jet d'encre, thermique)

• mode page : impression page à page

(laser, jet d'encre)

• Mode d'avancement du papier :

• par traction : entraînement à l'aide de roues à picots dont les dents s'insèrent dans des perforations du papier (bandes caroll)

• par friction : entraînement par un rouleau caoutchouté

Page 364: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 364

9.8.3.2 Imprimante matricielle à impact

• une tête d'impression porte des aiguilles (9, 24, ou 48) qui frappent un ruban carboné défilant devant le papier

• le ruban est noir ou couleur (4 bandes NRVB ou NJMC)

• problèmes avec la couleur :

• certaines couleurs s'usent beaucoup plus vite que d'autres

• dérèglement de la hausse du ruban qui fait baver les couleurs

Page 365: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 365

9.8.3.3 Imprimante matricielle thermique

• avec papier thermosensible : l'aiguille est chauffée - son contact avec le papier déclenche une réaction chimique qui fait apparaître un point bleu ou noir

• impression matricielle : + permet l’impression de dessins

- lent

- bruyant

• avec un ruban à transfert thermique : des éléments de couleurs sont déposés en chauffant le ruban - des rubans RVB ou JMC permettent d'obtenir 100 couleurs et une résolution de 400 ppp (points par pouce)

Page 366: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 366

9.8.3.4 Imprimante jet d’encre

• jet continu :

• une série de buses émet de l’encre à jet continu transformé en gouttelettes

• les gouttelettes passent devant une électrode qui les charge électriquement

• elles sont ensuite déviées par des plaques de déflexion en fonction de leur charge

Page 367: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 367

• goutte à la demande :

• le circuit d’encre est maintenu à basse pression : les gouttelettes restent dans l’électrode creuse

• lorsqu’un point doit être imprimé, une onde de choc est envoyée à la buse et la goutte est projetée sur le papier

• avantage : plus besoin de récupérer l’encre inutilisée

Page 368: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 368

9.8.3.5 Imprimante laser

• même principe que les photocopieurs : technique xérographique

• un tambour couvert de sélénium est chargé +, un laser enlève les charges + des points à ne pas imprimer, de l’encre en poudre (toner) chargée – est déposée uniquement sur les points à imprimer, cette poudre est déposée sur le papier puis fixée par cuisson

• rapide, précis, faible prix de revient, mais cher à l’achat

Page 369: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 369

9.8.3.6 Critères de choix

• interfaçage : parallèle, série, usb, sans fil (bluetooth ou wifi)

• qualité : les jet d’encre sont maintenant meilleures que les laser

• vitesse d’impression : les lasers sont les plus rapides

• polices de caractères

• choix du papier : laser peu cher, jet d’encre + cher, thermique très cher

• format du papier : A4, A3, A2, A1, … (passer aux tables traçantes)

• bruit : les jet d’encre et laser sont peu bruyantes

Pour les anciennes imprimantes :

• nombre de colonnes en mode texte

• dispositif encreur : type de ruban

Page 370: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 370

9.8.4 Scanner

• une source lumineuse éclaire intensément la ligne du document à scanner, à l’aide d’un miroir et d’une lentille focalisatrice une barrette de cellules photosensibles CCD (dispositifs à couplage de charge) recueille la luminosité réfléchie par le document

• 3 types de scanners : - scanner à main

- scanner feuille à feuille

- scanner à plat

Page 371: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 371

9.8.5 Clavier

• Plusieurs types de claviers selon la technologie utilisée pour les touches :

• type membrane : film plastique recouvrant hermétiquement des microcontacts (résistants mais pénibles à utiliser)

• type calculatrice : touches en plastique dur montés sur ressorts (peu ergonomique, contacts pas francs)

• type gomme : les touches sont d’une matière dont le toucher rappelle celui de la gomme (frappe rapide impossible)

• type machine à écrire : touches ergonomiques, dureté calculée … (claviers actuels mais à l’origine très chers : 1000F à 10000F)

• type cristaux liquides : permet d’associer à chaque touche un caractère ou une fonction particulière tout en affichant un pictogramme de celui-ci sur la touche

Page 372: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 372

• Fonctionnement : c’est un véritable petit µordinateur à lui seul !

• ROM et RAM : codes des touches

• dispositif d’E/S pour les touches et pour dialoguer avec l’ordinateur

• µprocesseur qui joue le rôle de contrôleur, d’interface et de circuit d’E/S

Page 373: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 373

9.8.6 Souris

9.8.6.1 Souris à boule

• en déplaçant la souris la boule fait tourner deux rouleaux disposés à angle droit l’un de l’autre (déplacement vertical et horizontal)

• ces rouleaux sont solidaires de roues crantées qui permettent de déduire le sens et la vitesse de déplacement de la souris à l’aide de cellules photoélectriques

Page 374: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 374

9.8.6.2 Souris optique infrarouge et laser

• une LED illumine la surface

• la lumière réfléchie est captée au travers de lentilles

Page 375: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 375

• LED infrarouge / laser

• Image analysée et comparée à la précédente pour déterminer le déplacement

Page 376: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 376

• Le capteur reste le même mais la qualité de l’image traitée est meilleure

image LED infrarouge image laser

• Précision et rapidité de réaction accrues

Page 377: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 377

9.8.7 Modem

• C’est un pont entre les signaux numériques de l’ordinateur et les signaux analogiques transmis sur la ligne téléphonique

• Lors d’une communication entre 2 ordinateurs, d’un côté les 0 et les 1 sont transformés en signaux analogiques en faisant varier la fréquence du signal (modulation) et de l’autre côté l’opération inverse est effectuée (démodulation)

• modulation-démodulation : modem

• Les données sont transmises par paquets (suites de bits) – chaque paquet utilise 1 bit de début et 1 ou 2 bits de fin pour indiquer le début et la fin de transmission lors de transmission asynchrone

• Pour détecter et corriger les erreurs un bit de parité est utilisé (mis à 1 si le nombre de 1 est impair)

• La vitesse de transmission est exprimées en bits/s.

Page 378: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 378

300

600/1200

1200/1400

600/1200

2400

1200/2400

4800

2400/4800

4800/9600

4800/9600

Jusqu’à 14400

Jusqu’à 28800

Jusqu’à 33600

Jusqu’à 56000

V.21

V.22

V.22bis

V.23

V.26

V.26bis

V.27

V.27bis

V.29

V.32

V.32bis

V.34

V.34+

V.90

Débit en bits/sCCITT

9.8.7.1 Modems RTC normalisés

Page 379: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 379

• Sens de transmission :

• unidirectionnel (ou simplex)

• bidirectionnel à l’alternat (ou semi-duplex ou half-duplex)

• bidirectionnel simultané (ou duplex ou full-duplex)

• Durée de transmission fonction de :

• nombre de bits pour coder un caractère

• vitesse de transmission

• compression ou non

• exemple : transférer un fichier sans compression de 9600 caractères codés sur 10 bits à 19200 bauds :

(9600 * 10) / 19200 = 5 secondes

Page 380: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 380

9.8.7.2 Modem ADSL :

• ADSL signifie Asymmetric Digital Subscriber Line en anglais

• En français : RNA « raccordement numérique asymétrique » ou « liaison numérique à débit asymétrique »

• Utilise des fréquences supérieures à celles d'un signal voix

• Les données et le signal voix circulent à des fréquences différentes :voix : 300Hz à 4000HzADSL : jusqu'à 1MHzADSL2+ : jusqu’à 2MHz

• Même principe pour le SDSL sauf que débit montant =débit descendant

• Emission et réception simultanées à 100 % des débits respectifs montant (émission) et descendant (réception).

Page 381: Architecture des Ordinateurs IUT Informatique de Calais

IUT Informatique Calais

Architecture des ordinateurs 381

• Débits standards rencontrés en France :• montants entre 128kbits/s et 1024kbits/s• descendants jusqu’à 24Mbits/s

• Nécessité de poser des filtres ADSL entre chaque téléphone (ou fax ou modem RTC) et sa prise murale afin de séparer correctement les signaux des téléphones de ceux de l'ADSL

• Se raccorde via une prise Ethernet ou USB

• Peut être intégré à un router souvent Wifi

• Peut être intégré à une machine multifonction (freebox, livebox, neufbox, …)