Académique Documents
Professionnel Documents
Culture Documents
16 Cours
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
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 ...)
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
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)
1939 : Z2, une partie de la mécanique est remplacée par des relais téléphoniques
1956 : 1er disque dur, le RAMAC 305 par IBM (50 disques de 61 cm - 5 Mo)
1958 : 1er jeu vidéo (très similaire au jeu pong par Atari en 1972)
1977 : Ken Olson, DEC : « Il n’y a aucune raison pour que tout le monde
veuille un ordinateur à la maison »
IUT Informatique Calais Architecture des ordinateurs 29
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 !
1981 : Bill Gates, Microsoft : « 640Ko devrait être suffisant pour tout le
monde. »
IUT Informatique Calais Architecture des ordinateurs 31
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. »
IUT Informatique Calais Architecture des ordinateurs 32
Historique de l’informatique
FIN
Pourquoi la base 2 ?
• Simple
• générale
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.
Données
Programme Processeur
Mémoire Résultats
Notation : s a, s a
IUT Informatique Calais Architecture des ordinateurs 37
2.2.2 Fonction ET
Un ET est vrai si ses deux entrées sont vraies.
a
a b s
a s s 0 0 0
b b &
0 1 0
1 0 0
Notation : s a.b, s a b 1 1 1
2.2.3 Fonction OU
Un OU est faux si ses deux entrées sont fausses.
a
a b s
a s s 0 0 0
b b 1
0 1 1
1 0 1
Notation : s a b, s a b 1 1 1
IUT Informatique Calais Architecture des ordinateurs 38
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.
a
a b s
a s s 0 0 1
b b &
0 1 1
1 0 1
Notation : s a.b, s a b 1 1 0
a s a s c a s
ou 0 0 Z
c c 0 1 Z
1 0 0
c a s 1 1 1
a s 0 0 0
0 1 1
c 1 0 Z
1 1 Z
IUT Informatique Calais Architecture des ordinateurs 42
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.
1 2 3 4 5 6 7
IUT Informatique Calais Architecture des ordinateurs 44
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
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 :
1
s0
1 délai de propagation
b0 dans une porte ET
1
a0
1
s
0
1
j
0
1
i
0
1
b
0
1
a
0
IUT Informatique Calais Architecture des ordinateurs
temps 47
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.
- a b a.b
- a.b a b
4 0100 4 0100
6 0110 -2 1110
10 1010 -6 10010
On ne tient pas compte de la retenue finale
Exemple 1 : 28,125
28 2
28 11100 0 14 2
0,125 * 2 = 0,25 0,25 * 2 = 0,5 0,5 * 2 = 1,0 0 7 2
1 3 2
0,125 0,001
1 1
Définition 3 : entrée
Valeur logique fournie au circuit et à partir de laquelle est
déterminée la sortie du circuit.
Définition 6 : sortie
Valeur logique résultat de l’activité du circuits sur ses entrées.
C=A+B
B +
e3 0 1
0
• 2n entrées de donnée n entrées de contrôle
c0
c1
• Les n bits de contrôle ( 0 à 2n-1 ) = numéro de
l’entrée à sélectionner
s0
s1
e
s2 = e
1 s3
0
c1 c
0
s0 = 0
• Décodeur : n entrées et 2n sorties
s1 = 0
e0 1 s2 = 0
s3 = 0
• Les n bits en entrée codent une valeur de 0 à 2n- e1 0 s4 = 0
1
e2 1 s5 = 1
s6 = 0
s7 = 0
• La sortie ayant ce numéro passe à 1 (les autres
0)
Exemples :
• 2 entrées : tableau de Karnaugh de s Entrées dans le même ordre
que dans la table de vérité
a b s
0 0 0 a\b 0 1
0 1 1 0 0 1
1 0 1 1 1 0
1 1 0
a1 a0 b1 b0 s
0 0 0 0 0 0 Entêtes de ligne et de colonnes
1 0 0 0 1 1 codées dans l’ordre croissant du
2 0 0 1 0 0
codage de Gray
3 0 0 1 1 1
Entrées 4 0 1 0 0 1
a1a0\b1b0 00 01 11 10
toujours 5 0 1 0 1 0
6 0 1 1 0 1 00 0 1 1 0
codées dans 7 01 1 0 0 1
0 1 1 1 0
l’ordre 8 1 0 0 0 0 11 1 0 0 1
croissant du 9 1 0 0 1 1 10 0 1 1 0
codage 10 1 0 1 0 0
binaire 11 1 0 1 1 1
(ici de 12 1 1 0 0 1
0000 à 13 1 1 0 1 0
14 1 1 1 0 1
1111)
15 1 1 1 1 0
IUT Informatique Calais Architecture des ordinateurs 69
• Nombres croissants sur 3 bits selon ….
le codage binaire classique : on ajoute 1 à chaque fois
000 001 010 011 100 101 110 111
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
001:OK 000:NON 010:OK 011:NON 111:OK 110:NON 100:OK
011:OK 000:NON 101:OK
110:OK
• Remarque :
• Le premier et le dernier nombre ont également un seul bit qui les
différencie
a1a0\b1b0 00 01 11 10
00 0 0 0 0
01 0 0 0 0 s a1a0b0
11 1 0 0 1
10 0 0 0 0
IUT Informatique Calais Architecture des ordinateurs 71
• 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 a1a0\b1b0 00 01 11 10
00 0 1 0 0 00 0 0 0 0
01 0 1 0 0 01 0 1 1 0
11 0 1 0 0 11 0 1 1 0
10 0 1 0 0 10 0 0 0 0
s b1b0 s a0b0
a1a0\b1b0 00 01 11 10 a1a0\b1b0 00 01 11 10
00 1 1 0 0 00 1 0 0 1
01 0 0 0 0 01 0 0 0 0
11 0 0 0 0 11 0 0 0 0
10 1 1 0 0 10 1 0 0 1
s a0b1 s a0b0
s a0 s b0
• 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 a1a0\b1b0 00 01 11 10 a1a0\b1b0 00 01 11 10
00 0 0 0 0 00 0 0 0 1 00 0 1 1 0
01 0 1 1 0 01 1 1 1 0 01 1 1 1 0
11 0 1 0 0 11 1 1 1 0 11 1 1 1 0
10 0 1 0 0 10 0 0 0 0 10 0 0 0 0
22 cases dont 2 n’ont 6 cases (pas une 23 cases dont 5 n’ont que
qu’1 voisin puissance de 2) 2 voisins et une en a 4
IUT Informatique Calais Architecture des ordinateurs 73
• 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 1
01 0 1 1 0
11 1 1 1 0
10 0 0 0 0
a1a0\b1b0 00 01 11 10
00 0 0 0 0
01 1 0 1 1
11 1 1 1 1
10 0 0 0 0
a1a0\b1b0 00 01 11 10 a1a0\b1b0 00 01 11 10
00 0 0 0 1 00 1 0 1 0
01 0 0 0 0 01 0 0 0 0
11 0 0 0 0 11 0 0 0 0
10 1 1 1 0 10 1 0 0 1
s1 a1.a0 .b1 a1.a0 .b1 a1.b1.b0 a1.b1.b0 a1.a0 .b1.b0 a1.a0 .b1.b0
s1 a1.a0 .b1 a1.a0 .b1 a1.b1.b0 a1.b1.b0 a1.a0 .b1.b0 a1.a0 .b1.b0
s1 a0 (a1.b1 a1.b1 ) b0 (a1.b1 a1.b1 ) a0b0 (a1.b1 a1.b1 )
s1 a0 (a1 b1 ) b0 (a1 b1 ) a0b0 (a1 b1 )
s1 (a0 b0 ).(a1 b1 ) a0b0 (a1 b1 )
s1 a0b0 .(a1 b1 ) a0b0 (a1 b1 )
s1 a0b0 ( a1 b1 )
IUT Informatique Calais Architecture des ordinateurs 83
Tableau de Karnaugh de r : a1 a0 b1 b0 r s1 s0
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
a1a0\b1b0 00 01 11 10 0 0 1 1 0 1 1
00 0 0 0 0 0 1 0 0 0 0 1
01 0 0 1 0 0 1 0 1 0 1 0
11 0 1 1 1 0 1 1 0 0 1 1
10 0 0 1 1 0 1 1 1 1 0 0
1 0 0 0 0 1 0
1 0 0 1 0 1 1
1 0 1 0 1 0 0
r b1.a1 b1.b0 .a0 a1.a0 .b0 1 0 1 1 1 0 1
1 1 0 0 0 1 1
r b1.a1 a0 .b0 (b1 a1 ) 1 1 0 1 1 0 0
1 1 1 0 1 0 1
1 1 1 1 1 1 0
0111 110
0010 1011
+ 1011 0110
1110 0001
s abc
c
r
S
IUT Informatique Calais Architecture des ordinateurs 88
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 :
c1 c0 s
0 0 A B
0 1 A.B
1 0 A B
1 1 A
• 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 ab
0 1 a.b
1 0 ab
1 1 a
a
b
c0
c1
c1
c0
S
IUT Informatique Calais Architecture des ordinateurs 92
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
IUT Informatique Calais Architecture des ordinateurs 93
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).
c s
0 e1
1 e0
s ce1 ce0
c
e1
s
e0
c 0
• 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
• … mais décaler une donnée binaire d’une position vers la gauche correspond à
une multiplication par deux …
0
+
s
IUT Informatique Calais Architecture des ordinateurs 99
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
L’oscillateur le plus simple est une simple porte inverseur bouclant sur
elle-même :
e
s
a
v
b s
v
1
a
1
b
s
Front descendant ? ET NI
IUT Informatique Calais Architecture des ordinateurs 107
0 1 0 1 0 1
e
0 1 s
v 0 1 0
s
1 0
1
1 0 1
e s
v s’
e s
v s’
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.
Bus de données
Signal
d’écriture
D D D
Signal
d’écriture
D D D
D D D
Bus
D D D
d’adresses
D D D
Signal
d’écriture
D D D
D D D
Bus
D D D
d’adresses
D D D
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.
Table de transitions :
t t+1
Etat D2 D1 D0 Etat D2 D1 D0
0 0 0 0 1 0 0 1
1 0 0 1 2 0 1 0
2 0 1 0 3 0 1 1
3 0 1 1 4 1 0 0
4 1 0 0 5 1 0 1
5 1 0 1 6 1 1 0
6 1 1 0 7 1 1 1
7 1 1 1 0 0 0 0
IUT Informatique Calais Architecture des ordinateurs 118
Pour D2t 1, on a le tableau de Karnaugh :
D2\D1D0 00 01 11 10
0 0 0 1 0 D2t 1 D2 ( D1 .D0 )
1 1 1 0 1
D2\D1D0 00 01 11 10
0 0 1 0 1 D1t 1 D1 D0
1 0 1 0 1
D2\D1D0 00 01 11 10
0 1 0 0 1 D0t 1 D0
1 1 0 0 1
IUT Informatique Calais Architecture des ordinateurs 119
D’où le schéma du compteur de 0 à 7 :
0 0 0 D2
0 0 1 D1
0 1 0 D0
D2 D1 D0
1 0 1 D0
1 1 0 D1
1 1 1 D2
D2t 1 D2 ( D1D0 )
IUT Informatique Calais Architecture des ordinateurs 123
Table de transitions :
t t+1
Etat D3 D2 D1 D0 Etat D3 D2 D1 D0
0 0 0 0 0 1 0 0 0 1
Tableau de Karnaugh de D1t+1:
1 0 0 0 1 2 0 0 1 0
2 0 0 1 0 3 0 0 1 1 D3D2\D1D0 00 01 11 10
3 0 0 1 1 4 0 1 0 0 00 0 1 0 1
4 0 1 0 0 5 0 1 0 1 01 0 1 0 1
5 0 1 0 1 6 0 1 1 0 11 X X X X
6 0 1 1 0 7 0 1 1 1 10 0 0 X X
7 0 1 1 1 8 1 0 0 0
8 1 0 0 0 9 1 0 0 1
9 1 0 0 1 0 0 0 0 0
10 1 0 1 0 X X X X X
11 1 0 1 1 X X X X X
12 1 1 0 0 X X X X X
13 1 1 0 1 X X X X X D1t 1 D3 ( D1 D0 )
14 1 1 1 0 X X X X X
15 1 1 1 1 X X X X X
D3 D2 D1 D0
init
D0
D1
D2
D3
IUT Informatique Calais Architecture des ordinateurs 127
4.4.3 Feux tricolores
4.4.3.1 Feux tricolores français
Un feu tricolore est un compteur.
orange
vert 1
0
rouge
2
t t+1
orange D1 D0 D1 D0
vert 1 0 0 0 1
0
0 1 1 0
1 0 0 0
1 1 0 0
rouge
2 D1t 1 D1.D0
t 1
D0 D1.D0
IUT Informatique Calais Architecture des ordinateurs 129
À partir des équations issues de la table de transitions, on dessine le
circuit :
D1t 1 D1.D0
t 1
D0 D1.D0
D1
D0
D1 D0
D0
D1
On utilise un décodeur :
s0
s1
e0 s2
s3
e1
s4
e2 s5
s6
s7
Graphe de transition :
orange
vert 1
0
rouge
orange rouge
3 2
D1t 1 D1 D0
t 1
D0 D0
D1
D0
D1 D0
D0
D1
Automates
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.
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.
D1t 1 D1.D0
t 1
D0 D1.D0 c
D1
D0
c
D1 D0
D0
D1
0,1,2,3 0,1,2,3
2
café lyophilisé
0,1,2,3 1
3
0
0
1,3
2
0,1,2,3 4
6
lait 3 sucre et mélangeur
eau 2,3
5
1
IUT Informatique Calais Architecture des ordinateurs 146
Table de transitions :
t t+1 t t+1
gobelet c1c0 D D D
2 1 0 D D D
2 1 0 c1c0 D D D
2 1 0 D2 D1 D0
D2 D1 D0
D0
D1
D2
c0
c1
IUT Informatique Calais Architecture des ordinateurs 149
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 ?
c1
c0
D2
D1
D0
D2 D1 D0
init
D0
D1
D2
c0
c1 IUT Informatique Calais Architecture des ordinateurs 151
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.
?
D2 gobelet
D1
café
?
D0
encodeur c1 sucre et mélang.
c0 lait
c eau
cs
cl décodeur
cls
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é,
IUT Informatique Calais Architecture des ordinateurs 153
puis arrêté au retour à l’état de repos (0)
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.
e3 e 2 e 1 e 0
0 0
c0
c1
w
D D D D
c0
c1
w
D D D D
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.
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
Réception ? Décalages à gauche
Comment ne pas perdre la donnée après émission ?
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)
IUT Informatique Calais Architecture des ordinateurs 157
4.5.8 Multiplicateur
La multiplication de 2 nombres binaires non signés se résume à des
additions et à des décalages :
• dT : décalage droite MT
• dD : décalage gauche MD dT, dD, iC
init IC
décompteur
de n à 0
init dD dT wR IC
séquenceur reset
wR RES
INIT
wT wD reset
1x1 1x1
multiplicateur de
nombres positifs
x/-x
On a vu :
• bascule : élément de base de la logique séquentielle
• registre : mémoire la plus interne au processeur
• mémoire : en fait il y en a de nombreux types (cache, vidéo ...)
• compteur : pour la gestion de boucles de programmes
• automate : pour le séquencement des actions
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.
UAL
Mémoire interne
E/S
et registres
UC
Bus de donnée
Unité d’entrées/
sorties (E/S) 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
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.
transfert
• Exemple : transfert du contenu de 2 registres en parallèle :
Registre 0 Verrou Registre 1
e0 R0 R1
D D
e1
D D
transfert
e0 s0 c s0 s1
e1 s1 0 e1 e0
1 e0 e1
c
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
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
Définition :
Un opérande est un élément de la mémoire concerné par l’exécution d’une
instruction donnée.
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
• donc l'UC pilote à la fois l'accès aux bus internes au microprocesseur mais
également aux bus externes
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.
vide
sommet de pile
occupé
fond de pile
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 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)
Dynamique ou statique ?
• Mémoires caches : SRAM
• Mémoires centrales : DRAM
SDRAM ?
• Synchronous DRAM
détrompeur
détrompeurs
184 broches
détrompeurs
PROCESSEUR
unité de
unité de
Partie opérative gestion de la
traitement Structures d'échange
mémoire
(BUS)
i-2 i-1
une instruction i code op. opérande i+1
i+2 i+3
7 6 5 4 3 2 1 0
champ opération
INST<6:1> champ d'adressage
INST<7+0>
7 6 5 4 3 2 1 0
instruction groupe
7 6 5 4 3 2 1 0
instruction groupe
mode d’adressage
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
instruction groupe
Codage final : 0A 05
mode d’adressage
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0
instruction groupe
Codage final : 8E 2A
7.3.3 Test
10 : BS[C,N,V,Z] #$30
si condition alors
12…26 :action 2
action 1
28 : BRA #$46
sinon
30…44 :action 1
action 2
46 : … suite du programme
fin si
Comparer les nombres 38 et 69 et mettre le plus grand à l’adresse $80 …
IUT Informatique Calais Architecture des ordinateurs 229
7.3.4 Boucle
faire 10…2A:action
action 2C : BS[C,N,V,Z] #$10
tant que condition 2E : … suite du programme
• D'autre boucle peuvent être réalisée : tant que ... faire (exemple ci-dessous),
pour i de x à y faire (TD-TP).
00 ... CP = 00+1+1=2
... ... CP = CP+1+1= …
2E CALL #$42 CP = CP+1+1= 30
30 ...
... ...
... ...
... ...
40 ...
42 ADD #$23 CP = 42+1+1=44
44 ... CP = CP+1+1= 46
... ... CP = CP+1+1= …
... ...
... ...
5A RET CP = CP+1+1= 5C
5C … CP = 30
Problème : comment se rappeler que c’est à l’adresse 30 qu’il faut
revenir
IUT ? Calais
Informatique Architecture des ordinateurs 233
• 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] CP
empiler $30
SP SP-1
CP dd saut à $42
• À la fin du sous-programme, lorsque RET est appelé, l’adresse est
récupérée sur la pile
dépiler $30
RET : SP SP+1
dans CP donc
CP M[SP]
saut à $30
• L’utilisation de la pile permet l’imbrication de plusieurs appels à des
sous-programmes
• Visualisation des appels avec la petite machine …
SP
variable locale 2 Y FA
RX (base du mode
variable locale 1 X FB
basé-indexé)
RX 00 adresses FC
CP (adresse de retour) 0A croissantes FD
RX + 3 paramètre 2 A5 FE
paramètre 1 42 FF
Pile
un un 1 3
u0 1
PROCESSEUR
séquenceur RI
unité de
unité de
Partie opérative gestion de la
traitement
mémoire
Commande CR active :
R ER : R (bus)
LR : bus (R)
ER
CR Commande CR inactive :
LR
R isolé du bus
équivalent à :
Commande ER active :
R R (bus)
Commande LR active :
LR bus (R)
ER
8 SELA LA Lβ EAC
A 4
8
U indicateur d'état
A
L C Z
SELA LA
4 N V
Lβ
bus de données 8
ED
bus de
données
8
bus d'
adresses
8
SELRX LRX EAD
EAR
R R extérieur
X R
A du CPU
Lα
D
D
SELEX LEX
Lδ
bus de
données
8
IUT Informatique Calais Architecture des ordinateurs 246
• Gestion de la pile :
SELSP LSP
SETSP
S
INCSP
P
DECSP
PROCESSEUR
unité de
unité de
gestion de la
traitement
mémoire
Millions de transistors
700
Core 2 quadro
600
500
Pentium D
400
300
Pentium 4 EE Core 2 duo
200
Pentium 4 .18
100 Athlon64 X2
Pentium III Athlon64
Pentium II
Pentium 4 .13
0
1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007
µ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 /
IUT Informatique Calais Architecture des ordinateurs 270
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
3000 2930
2800
2500
2200 2260
2000
INT
1500 FP
1400
Mhz
1000
500
0
Pentium III Athlon XP Pentium M Pentium 4 Athlon64 Core 2
IUT Informatique Calais Architecture des ordinateurs 276
8.11 Benchs de quelques µp station de travail à l'aide de Spec-2000
4000
3800
3500
3000 2930
2800
2500
2300
2160 INT
2000
FP
1600 Mhz
1500
1300
1000
500
0
Alpha Pentium 4 Athlon64 Core 2 Intel Sun IBM
21364 Itanium 2 SPARC64 POWER5
IUT Informatique Calais Architecture des ordinateurs V 277
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
partie active
Légende :
interface périphérique
ordinateur
bus ordinateur
• Les circuits d’E/S jouent souvent le rôle d’interfaces (on considère que
ces termes sont équivalents)
1001011010110
1
msg 1001011010110
0 msg
émetteur récepteur
1 0 0 1 1 01
différentes durées masse commune
d’impulsions pour 1 et 0
IUT Informatique Calais Architecture des ordinateurs 285
9.4 Liaison série et liaison parallèle
• 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)
• Liaisons série sur le PC (à l’origine) :
• port PS/2 (clavier, souris) – liaison synchrone
• port série (port RS232) - liaison asynchrone – limité à 30m
IUT Informatique Calais Architecture des ordinateurs 286
• 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
• 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
IUT Informatique Calais Architecture des ordinateurs 287
• 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
• Autre amélioration : utilisation de plusieurs liens série simultanément
pour atteindre de très hauts débits
• 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
IUT Informatique Calais Architecture des ordinateurs 288
Exemple détaillé : PCI Express (PCIe)
• Remplace les nombreux fils du bus PCI par 4 fils par ligne PCIe
Pentium 4 Pentium 4
socket 478 socket 775
(PGA) (LGA)
• connecteurs PCI :
32 bits puis 64 bits
Débit : 66 Mo/s
puis 132 Mo/s
• connecteur SCSI :
• connecteur de disquettes
et petits périphériques :
• connecteur ventilateur :
PS2 : souris
audio
PS2 : clavier
• USB, Firewire
• réseau (avec ou sans fil), modem, audio, …
IUT Informatique Calais Architecture des ordinateurs 302
• Intel 925X : 2 puces
DDRII SDRAM, PCI, PCIe, Hyperthreading,
SATA, RAID, USB2, audio, réseau sans fil, E/S standard
DDR-SDRAM
Hypertransport
AGP
Audio
PATA
SATA
USB2
PCI
PCIe (2 lignes)
réseau 10/100Mb
modem
E/S standard : (clavier,
souris, série, parallèle,
disquette)
DDRII-SDRAM
Hypertransport
Audio
PATA
SATA2
USB2
PCI
PCIe (20 lignes configurables)
SLI (2 cartes graphiques)
réseau Gb
modem
firewall
E/S standard : (clavier, souris,
série, parallèle, disquette)
périphériques
• 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, …)
d’E/S
• joystick, casque 3D, gants 3D
• onduleur
• clef électronique, système de protection de données
• périphériques d’authentification (vocal, empreinte, …)
IUT Informatique Calais Architecture des ordinateurs 308
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, …)
Fin 2005 :
• DD 1,8" de
80Go
2007 :
• DD 3,5" ≥ 1To
• micro DD 1" ≥ 20Go pour pocket PC, PDA, Smartphones …
IUT Informatique Calais Architecture des ordinateurs 324
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) :
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
• 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
• Permet d'utiliser 2336 octets par secteur, pour un débit de 172 ko/s
• Alors que le disque compact a été initié comme support audio, le disque
haute densité avait pour objectif initial la vidéo
• Même principe pour le SDSL sauf que débit montant =débit descendant
• 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