34 0 3MB
Architecture de base d’un Ordinateur
Génie informatique E.N.S.A.H Semestre 1 Année universitaire 2015/2016 Abdelhafid MESSAOUDI
Architecture des ordinateurs
Architecture de base d’un ordinateur Présentation externe d’un ordinateur Les différents Bus
microprocesseur Mémoire RAM
Carte mère
Les entrée/sorties Carte d’extension
écran
alimentation
Lecteur/graveur CD/DVD
clavier Carte mère Abdelhafid MESSAOUDI
Disque dur Architecture des ordinateurs
2
Architecture de base d’un ordinateur Présentation interne d’un ordinateur
D’un point de vue interne, un ordinateur est une machine électronique binaire. Les composant de base sont des circuits intégrés électroniques capables de communiquer entre eux. L’ordinateur fonctionne avec le langage machine.
Avant de pouvoir exploiter un ordinateur, il faut le munir d’un système d’exploitation qui joue le rôle du programme principal. Ce système se charge de la gestion des programmes en cours d’exécution et de la gestion des périphériques d’entrées/sorties
Abdelhafid MESSAOUDI
Architecture des ordinateurs
3
Architecture de base d’un ordinateur Présentation interne d’un ordinateur
En réalité, l’ordinateur se présente comme étant une machine à plusieurs niveaux. Langage haut niveau Compilation Langage assembleur assemblage Système d’exploitation Appel système Instruction propre à la machine Micro instructions binaire Micro architecture (registres, opérations, UAL)
Assemblage physique des portes Circuits logiques Abdelhafid MESSAOUDI
Architecture des ordinateurs
4
Architecture de base d’un ordinateur Circuit logique
Un circuit logique ne peut se trouver que dans deux états : 0 ou 1 C’est un circuit électronique à base de transistors où une faible tension correspond à l’état 0 et une tension relativement élevée correspond à l’état 1. Les portes logiques sont à la base des circuits logiques, il peuvent combiner des signaux binaires. Une porte logique est un composant qui admet comme entrées une ou plusieurs valeurs binaires et en sortie une valeur binaire unique.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
5
Architecture de base d’un ordinateur Portes logiques & table de vérité
Les trois portes de base sont:
La porte NON La porte AND La porte OR Abdelhafid MESSAOUDI
Architecture des ordinateurs
6
Architecture de base d’un ordinateur Portes logiques & table de vérité
A
S
A
S=non (A)
0
1
1
0
S = F(A) =
Abdelhafid MESSAOUDI
Architecture des ordinateurs
7
Architecture de base d’un ordinateur Portes logiques & table de vérité
A
A
B
S=A.B
0
0
0
0
1
0
1
0
0
1
1
1
S B
S= F(A,B) = A . B
Abdelhafid MESSAOUDI
Architecture des ordinateurs
8
Architecture de base d’un ordinateur Portes logiques & table de vérité
A B
S
A
B
S=A+B
0
0
0
0
1
1
1
0
1
1
1
1
S= F(A,B) = A + B
Abdelhafid MESSAOUDI
Architecture des ordinateurs
9
Architecture de base d’un ordinateur Autres portes logiques et table de vérité
Il y a d’autres portes logiques à deux entrées qui sont utilisées largement à savoir:
La porte NOR La porte NAND La porte XOR Abdelhafid MESSAOUDI
Architecture des ordinateurs
10
Architecture de base d’un ordinateur Portes logiques & table de vérité
A B
Abdelhafid MESSAOUDI
S
A
B
S
0
0
1
0
1
0
1
0
0
1
1
0
Architecture des ordinateurs
11
Architecture de base d’un ordinateur Portes logiques & table de vérité
A
A
B
S
0
0
1
0
1
1
1
0
1
1
1
0
S B
Abdelhafid MESSAOUDI
Architecture des ordinateurs
12
Architecture de base d’un ordinateur Portes logiques & table de vérité
A
A
B
S
0
0
0
0
1
1
1
0
1
1
1
0
S B
Abdelhafid MESSAOUDI
Architecture des ordinateurs
13
Architecture de base d’un ordinateur Fonctions logiques & tables de vérité
Une fonction logique est une fonction d’une ou plusieurs variables booléennes ( deux valeurs possibles 0 ou 1 ). Exemples: soient les trois tables de vérité qui correspondent à 3 fonctions différentes: F1(A)
A
B
F2(A,B)
C
B
A
F3(A,B,C)
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
1
1
1
1
1
A
Abdelhafid MESSAOUDI
Architecture des ordinateurs
14
Architecture de base d’un ordinateur Fonctions logiques & tables de vérité
Avec une variable logiques
Abdelhafid MESSAOUDI
booléenne A, on peut obtenir 4 fonctions
0
1
f(A)
0
0
0
0
1
A
1
0
NON(A)
1
1
1
Architecture des ordinateurs
15
Architecture de base d’un ordinateur Fonctions logiques & tables de vérité
Avec deux variables booléennes A et B, on peut obtenir 16 fonctions logiques A + B 00
01
10
11
F(A,b)
0
0
0
0
0
0
0
0
1
A.B
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
Abdelhafid MESSAOUDI
Architecture des ordinateurs
A
B
A+B
1
16
Architecture de base d’un ordinateur Fonctions logiques & tables de vérité
Les règles de calcule utilisés pour la simplification des fonctions logique sont:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
17
Architecture de base d’un ordinateur Complétude des portes NAND & NOR
À l’aide de portes AND uniquement ou de portes NOR uniquement, on peut construire n’importe quelle fonction. Ces portes NAND et NOR sont dites portes complètes
Abdelhafid MESSAOUDI
Architecture des ordinateurs
18
Architecture de base d’un ordinateur Complétude de porte NAND
On utilisant les règles vues précédemment, on a:
Donc, on a besoin de trois portes NAND pour construire une porte AND
Abdelhafid MESSAOUDI
Architecture des ordinateurs
19
Architecture de base d’un ordinateur Complétude de porte NAND
On va construire la porte OR à base de portes NAND
Pour réaliser une porte OR, on a besoin de 3 portes AND
Abdelhafid MESSAOUDI
Architecture des ordinateurs
20
Architecture de base d’un ordinateur Circuits combinatoires
Un circuit combinatoire est un circuit qui comporte un certain nombres d’entrées binaires. Ces entrées comportent les variables proprement dit et des bits de réglage pour fixer les paramètres. Le circuit combinatoire est un circuit qui possède une ou plusieurs sorties. On peut utiliser plusieurs fonctions pour décrire le comportement souhaité. Exemple : multiplexeur décodeur 1 parmi n transcodeur 7 segments … … Abdelhafid MESSAOUDI
Architecture des ordinateurs
21
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
La fonction de multiplexage permet d’envoyer sur une même ligne de transmission, des informations ayant des sources différentes. Le schémas d’un multiplexeur 2 vers 1 est donné ci-dessous.
Si la sélection est mise en position 0, l’information E0 transite vers S.
Si le sélection est mise en position 1, l’information E1 transite vers S.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
22
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
Le circuit 74LS151 réalise la fonction de multiplexage 8 vers 1, la description du brochage du boitier est la suivante:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
23
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
Le circuit 74LS151 réalise la fonction de multiplexage 8 vers 1, la description du brochage du boitier est la suivante:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
24
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
Le circuit 74LS153 réalise la fonction de multiplexage 2 x( 4 vers 1), les broches pour la sélection sont commune aux deux multiplexeurs. La description du brochage du boitier est la suivante:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
25
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
La table de vérité du circuit 74LS153 est la suivante :
Pour les entrées (Ia0, Ia1, Ia2 et Ia3) on considère la sortie Za Pour les entrées (Ib0, Ib1, Ib2 et Ib3) on considère la sortie Zb Abdelhafid MESSAOUDI
Architecture des ordinateurs
26
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
Le circuit logique 74LS157 est un multiplexeur 4 x (2 vers 1). Le brochage du circuit et le logigramme correspondant sont les suivants:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
27
Architecture de base d’un ordinateur Circuits combinatoires
multiplexeur
La table de vérité du circuit 74LS157 est :
Abdelhafid MESSAOUDI
Architecture des ordinateurs
28
Architecture de base d’un ordinateur Circuits combinatoires
démultiplexeur
La fonction démultiplexage à pour rôle d’envoyer sur plusieurs lignes une information issue d’une source unique par le biais d’une sélection. Voici l’exemple d’un démultiplexeur 1 vers 4.
Si la sélection est mise en position 0, l’information E transite vers S0. Si la sélection est mise en position 1, l’information E transite vers S1. Si la sélection est mise en position 2, l’information E transite vers S2. Si la sélection est mise en position 3, l’information E transite vers S3. Abdelhafid MESSAOUDI
Architecture des ordinateurs
Architecture de base d’un ordinateur Circuits combinatoires
démultiplexeur
Un démultiplexeur est un circuit combinatoire possédant: Une « ligne » d’entrée : E
N lignes de sélection : a, b, c, …. 2N lignes de sortie : S0, S1, ….., S2N-1.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
30
Architecture de base d’un ordinateur Circuits combinatoires
démultiplexeur
La table de vérité d’un démultiplexeur 1 vers 4 est la suivante:
Abdelhafid MESSAOUDI
E
b
a
S0
S1
S2
S3
0
0
0
E=0
0
0
0
0
0
1
0
E=0
0
0
0
1
0
0
0
E=0
0
0
1
1
0
0
0
E=0
1
0
0
E=1
0
0
0
1
0
1
0
E=1
0
0
1
1
0
0
0
E=1
0
1
1
1
0
0
0
E=1
Architecture des ordinateurs
31
Architecture de base d’un ordinateur Circuits combinatoires
Abdelhafid MESSAOUDI
démultiplexeur
Architecture des ordinateurs
32
Architecture de base d’un ordinateur Circuits combinatoires
décodeur
Un décodeur est un circuit combinatoire qui permet de sélectionner une sortie parmi n sorties. C’est circuit qui possède: N lignes de sélection : a, b, c, …. 2N lignes de sortie : S0, S1, ….., S2N-1.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
33
Architecture de base d’un ordinateur Circuits combinatoires
décodeur
La table de vérité d’un décodeur 1 parmi 8 est la suivante: c
b
a
S0
S1
S2
S3
S4
S5
S6
S7
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
1
Pour cet exemple, une sortie est active lorsque le bit correspondant vaut 1. il existe des décodeurs dont la sortie est active lorsque le bit correspondant vaut 0. Abdelhafid MESSAOUDI
Architecture des ordinateurs
34
Architecture de base d’un ordinateur Circuits combinatoires
décodeur
Le décodeur 74LS138 est un décodeur 1 parmi 8 dont les sorties sont actives à l‘état bas est la suivante:
Le 74LS138 possède 3 autres bits en entrée autres que les bits de sélection. Ces bits bits sont utilisés pour d’autres fins; l’une d’elles est d’utiliser le décodeur pour jouer le rôle d’un démultiplexeur. Abdelhafid MESSAOUDI
Architecture des ordinateurs
35
Architecture de base d’un ordinateur Circuits combinatoires
décodeur
La table de vérité du 74LS138 est la suivante:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
36
Architecture de base d’un ordinateur Circuits combinatoires
décodeur
Le logigramme du décodeur 74LS138 est celui donné par l figure cidessous.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
37
Architecture de base d’un ordinateur Circuits combinatoires
Exemple d’utilisation d’un décodeur
Comme exemple d’utilisation du décodeur, on cite celui de sélection de fonctions logiques.
On dispose de deux variables binaires E1 et E2 et on désire réaliser à volonté l’une des quatre fonctions logiques suivantes: E1 AND E2 E1 OR E2 E1 XOR E2 E1 XNOR E2 Pour cela, nous avons besoins d’un décodeur 1 parmi 4 dont les sorties sont actives à l’état haut ’’1’’. Abdelhafid MESSAOUDI
Architecture des ordinateurs
38
Architecture de base d’un ordinateur Circuits combinatoires
Exemple d’utilisation d’un décodeur
a b
E1
E2
Décodeur 1 parmi 4 s3 s2
s1 s0
S
b
a
S
0
0
S= E1 AND E2
0
1
S= E1 OR E2
1
0
S= E1 XOR E2
1
1
S= E1 XNOR E2
Abdelhafid MESSAOUDI
Architecture des ordinateurs
39
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Un circuit arithmétique est un circuit capable de réaliser une opération arithmétique comme une addition, une soustraction, une comparaison, ….. On traitera le cas du circuit additionneur.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
40
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Demi-Additionneur
L’addition binaire est l’une des opération arithmétique de base. L’addition de deux bits se fait comme suit:
0 0 1 1
+ + + +
0 1 0 1
= = = =
00 01 01 10
On remarque que l’adition de deux nombres codés par un bit chacun est un résultat qui peut être codé par deux bits; un bit représentant la somme S et le deuxième représente la retenue C
Abdelhafid MESSAOUDI
Architecture des ordinateurs
41
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Demi-Additionneur
La première opération d’addition se fait sans prendre en considération aucune retenue. Cette opération est réalisé grâce au circuit demi-additionneur qui possède en entrée les deux bits à sommer (a et b) et en sotie la somme S et la retenue C. La table de vérité de ce demi-additionneur est :
Abdelhafid MESSAOUDI
a
b
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
Architecture des ordinateurs
42
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Demi-Additionneur
D’après la table de vérité, le logigramme du circuit demiadditionneur est constitué d’une porte XOR représentant la somme S et d’une porte AND qui représente la retenue (carry). a
b
S
C
Abdelhafid MESSAOUDI
Architecture des ordinateurs
43
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
Soit à réaliser la somme des deux nombres binaires suivants : A=(a3, a2, a1, a0)2 B=(b3, b2, b1,b0)2 c2 c1 c0 a3 a2 a1 a0 + b3 b2 b1 b0
Nombre A Nombre B
c3 s3 s2 s1 s0 c 3 c2 c1 c 0
Abdelhafid MESSAOUDI
Architecture des ordinateurs
44
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
On remarque que les opérations qui suivent la première sont différentes.
Le circuit pour réaliser ces additions possède 3 entrées (ai, bi et ci-1). La table de vérité de ce circuit est :
Abdelhafid MESSAOUDI
cin
b
a
S
Cout
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Architecture des ordinateurs
45
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
L’expression de la sortie S est : in
in
Abdelhafid MESSAOUDI
in
in
in
in
in
out
in
out
in
in
in
Architecture des ordinateurs
46
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
Le logigramme de l’additionneur complet est celui la figure cidessous. A B
S
Cin
Cout
Abdelhafid MESSAOUDI
Architecture des ordinateurs
47
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
L’additionneur complet se compose de deux demi-additionneurs
A B
S
Cin
Cout
Demi-additionneur
Abdelhafid MESSAOUDI
Demi-additionneur Architecture des ordinateurs
48
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
Pour réaliser l’addition de deux nombre codés sur 4 bits, le circuit utilisé est le suivant.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
49
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur Complet
Un autre circuit peut être utilisé, c’est le suivant :
Abdelhafid MESSAOUDI
Architecture des ordinateurs
50
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Demi-soustracteur
Comme pour l’addition, on peut définir la fonction de soustraction pour les nombre binaire. Nous commencerons par soustraire les deux bits de faibles poids (demi-soustracteur). La table de vérité correspondante est la suivante: B0
A0
D
C
0
0
0
0
0
1
1
0
1
0
1
1
1
1
0
0
D étant le résultat de la différence A0-B0, et C représente la retenue. De la table de vérité nous déduisons les expressions des deux fonctions logique D et C :
Abdelhafid MESSAOUDI
Architecture des ordinateurs
51
Architecture de base d’un ordinateur Circuits Combinatoires
a
Circuits arithmétiques
Demi-soustracteur
Le logigramme correspondant au demi-soustracteur est:
A0 D B0
C
Abdelhafid MESSAOUDI
Architecture des ordinateurs
52
Architecture de base d’un ordinateur Circuits Combinatoires
Circuits arithmétiques
Additionneur-soustracteur
Nous savons que sur n bits, on peut représenter un entier positif dont la valeur est comprise entre 0 et 2n – 1.
Le résultat de la somme d’un nombre et de son complément donne :
On en déduit que :
Or sur n bits, la valeur 2n est équivalente à 0 La valeur 2n est codée sur n+1 bits 1 0 0 0 0 - - - - -0 0 0 0
Sur n bits, La valeur 2n vaut 0 Abdelhafid MESSAOUDI
Architecture des ordinateurs
53
Architecture de base d’un ordinateur Circuits Combinatoires
a
Circuits arithmétiques
Additionneur-soustracteur
Donc la représentation sur n bits du nombre –A peut être comme suit : Ce résultat peut être exploité pour réaliser la soustraction de deux nombres A et B représentés sur n bits :
D’après cette écriture, on remarque que l’opération de soustraction se résume à une simple addition. Le schémas suivant basé sur un additionneur n bits et un multiplexeur à deux entrés sur n bits, permet de réaliser les opérations d’additions et de soustractions. Le multiplexeur permet de sélectionner l’une des deux entrées ( ) selon le code opération O. Ce même code est injecté à l’entrée retenue de l’additionneur Abdelhafid MESSAOUDI
Architecture des ordinateurs
54
Architecture de base d’un ordinateur Circuits Combinatoires
a
Circuits arithmétiques
Additionneur-soustracteur
Le schémas suivant basé sur un additionneur n bits et un multiplexeur à deux entrés sur n bits, il permet de réaliser les opérations d’additions et de soustractions.
Le multiplexeur permet de sélectionner l’une des deux entrées ( ) selon le code opération O. Ce même code est injecté à l’entrée retenue de l’additionneur. Abdelhafid MESSAOUDI
Architecture des ordinateurs
55
Architecture de base d’un ordinateur Circuits Combinatoires
a
Unité arithmétique et logique
L’unité arithmétique et logique et la partie la plus importante d’un ordinateur , c’est la partie qui réalise la quasi-totalité du traitement. En général, l’UAL fait partie du microprocesseur L’UAL peut réaliser quatre groupe d’opérations: Opération arithmétique (addition, soustraction, …) Opération logique (ET, OU, NON, …) Opérations de comparaison (test d’égalité, test de supériorité, …) Opérations de décalage (décalage à droite, décalage à gauche, …) Abdelhafid MESSAOUDI
Architecture des ordinateurs
56
Architecture de base d’un ordinateur Circuits Combinatoires
a
Unité arithmétique et logique
Généralement, le quatrième type d’opérations se fait à l’extérieur de l’UAL. Ces opération sont réalisées par des registre spéciaux ( voir partie logique séquentielle ).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
57
Architecture de base d’un ordinateur a
Circuits Combinatoires
Unité arithmétique et logique
Le schéma symbolique de l’UAL est le suivant:
B
A Premier opérande
Deuxième opérande
D
F
Positionnement des drapeaux
Code opération
R Abdelhafid MESSAOUDI
Résultat Architecture des ordinateurs
58
Architecture de base d’un ordinateur Circuits Combinatoires
a
Unité arithmétique et logique
En général, les entrées A et B sont codés sur n bits. pour mieux comprendre le fonctionnement de l’UAL, on traitera le cas d’une UAL dont les deux entrées sont codées sur un bits chacune. On prendra l cas d’une UAL simple qui réalise les quatre opérations suivante Opérations logiques Opération ET Opération OU Opération NON Opérations arithmétiques Opération d’addition Abdelhafid MESSAOUDI
Architecture des ordinateurs
59
Architecture de base d’un ordinateur a
Circuits Combinatoires exemple d’unité arithmétique et logique à deux entrées sur 1 bit Unité logique
Cin
A ET B A A OR B
Complémenter A
Résultat
B
∑
décodeur
Cout Unité arithmétique
f1 f0 Abdelhafid MESSAOUDI
UAL Architecture des ordinateurs
60
Architecture de base d’un ordinateur a
Unité arithmétique et logique
En réalité, une UAL avec deux bits d’entrées ( A , B) n’est pas vraiment utile. Mais en utilisant n UAL à deux bits en entrée et en connectant correctement les retenues, on obtient une UAL n bits de telle sorte que : Les opérations logiques sont réalisées bit à bit. Le opérations arithmétiques sont réalisées sur des entier codés en complément à deux L’exemple suivant monte 4 unités arithmétiques et logiques dont les retenues sont montées correctement pour obtenir une UAL 4 bits. Abdelhafid MESSAOUDI
Architecture des ordinateurs
61
Architecture de base d’un ordinateur Circuits combinatoires
a
Exemple d’Unité Arithmétique et Logique 4 bits
Unité Arithmétique e Logique 4 bits Abdelhafid MESSAOUDI
Architecture des ordinateurs
62
Architecture de base d’un ordinateur a
Unité arithmétique et logique
Sur les nouveaux processeur, on peut trouver des UAL qui traitent des nombres de 64 bits voir même plus. On peut même trouver des unités arithmétiques et logiques spécialisés dans la manipulation des nombres à virgules flottantes simple ou double précision. Dans ce cas on parle de : Unité de calcul en Virgule Flottante ( Floating Point Unit FPU)
Abdelhafid MESSAOUDI
Architecture des ordinateurs
63
Architecture de base d’un ordinateur a
Unité arithmétique et logique
Sur les supercalculateurs, on trouve des UAL de type FPU qui peuvent réaliser des calculs avancés comme: inverse d’un nombre (1/x) racine carrée …. fonctions trigonométriques (sin, cos, ….) logarithme produit scalaire, … …
Abdelhafid MESSAOUDI
Architecture des ordinateurs
64
Architecture de base d’un ordinateur Circuit séquentiels
a
Introduction
Si on désire faire clignoter deux LED à tour de rôle en utilisant un circuit combinatoire, cela n’est pas possible. Un circuit combinatoire est un circuit dont la sortie ou les sorties sont fonction des variables d’entrées uniquement et ne dépendent pas du temps.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
65
Architecture de base d’un ordinateur Circuit séquentiels
a
Introduction
Pour le circuit que nous avons voulu réaliser (clignotement de deux LED à tour d rôle) À tour de rôle : pendant un intervalle de temps la premier LED sera allumé et la deuxième LED sera éteinte. Pendant le même intervalle de temps suivant, la première LED sera éteinte et la deuxième LED sera allumé. Seul un circuit séquentiel est capable de réaliser cette fonction.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
66
Architecture de base d’un ordinateur Circuit séquentiels
a
Introduction
Un circuit séquentielle et un circuit qui tient compte de l’état du système. Les sorties sont fonction des variables d’entrées mais également fonction de l’état du système. Notons que l’état du système dépend lui aussi des variables d’entrées. On note :
Q l’état du système X les variables d’entrées Y les sorties du systèmes De façon générale, on peut écrire : Q = F(X,Q) Y = F(X,Q) Abdelhafid MESSAOUDI
Architecture des ordinateurs
67
Architecture de base d’un ordinateur Circuit séquentiels
a
Introduction
Grâce à la logique séquentielle, on peut réaliser des circuits dont le comportement est fonction du temps. L’état du système constitue alors une mémoire du passé. Lorsque les changements d’état des composants d’un circuit séquentielle se produisent à des instants qui dépondent des temps de réponses des autres composants et des temps de propagation des signaux, la logique séquentielle est dite asynchrone. Cependant, pour toutes les variables binaires, les temps de retard peuvent ne pas être identique; cela conduit à certains aléas.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
68
Architecture de base d’un ordinateur Circuit séquentiels
a
Introduction
Ces aléas peuvent être évités en synchronisant les différentes opérations logiques sur des signaux provenant d’une horloge; on parle alors de logique séquentielle synchrone. Tous les changements d’état sont alors synchronisés sur un signal de contrôle.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
69
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules
Une bascule est un dispositif qui permet de mémoriser une information élémentaire. La bascule es donc une mémoire à un bit La bascule possède deux sorties complémentaires: et La mémorisation se fait à l’aide d’un verrou (Latch) ou système de blocage dont le principe de rétroaction peut être présenté comme suit : on peut vérifier que :
Abdelhafid MESSAOUDI
Architecture des ordinateurs
70
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules
Une bascule ne peut être que dans deux états
Les interconnexions du verrou interdisent les deux autres états
Ce type de circuit qui ne possède que deux états stables est appelé circuit Bistable.
Le verrou permet de conserver l’état, reste à savoir la façon avec laquelle on peut changer cet état. Abdelhafid MESSAOUDI
Architecture des ordinateurs
71
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
Les verrous les plus utilisés sont réalisés à base de portes NOR ou NAND. Considérons le circuit à base de portes NOR suivant :
Avec deux entrées de commandes R et S qui permettent respectivement d’écrire 0 et 1 sur la sortie Q
Abdelhafid MESSAOUDI
Architecture des ordinateurs
72
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
Le verrou permet de conserver l’état, reste à savoir la façon avec laquelle on peut changer cet état. Cela constitue un point mémoire.
L’inconvénient de se système asynchrone est que les sorties peuvent changer d’état sans conditions. Si R ou S reçoivent un signal bruit, la sortie change d’état (source de problèmes). Pour résoudre le problème, on utilise des bascule synchrones.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
73
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
La table de vérité de la bascule R S est l suivante:
Sortie inchangée Remise à un Remise à zéro À proscrire (interdire) Abdelhafid MESSAOUDI
Architecture des ordinateurs
74
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
Si on applique R=0 et S=1 ou R=1 et S=0, l’état de la sortie Q est imposé respectivement à 1 ou à 0 . La sortie prend l’état complémentaire. L’état des deux sorties est maintenu lorsque les deux entrées retournent à 0. la combinaison R=S=1 est interdite car celle-ci conduit à:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
75
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
Considérons maintenant le circuit de la figure suivante
La table de vérité de ce circuit est:
L’introduction des deux inverseurs en entrée permet de retrouver la table de vérité précédente et donc le circuit RS précédent. Abdelhafid MESSAOUDI
Architecture des ordinateurs
76
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
Le schéma symbolique d’une bascule R S est le suivant:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
77
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
dispositif anti-rebond
Très souvent, nous avons besoin de commander des états physique en utilisant soit des boutons poussoirs soit des inverseurs. Par exemple, les touches d’un claviers. Lorsqu'on ferme l’interrupteur, le contact n’est pas franc de façon instantané. On remarque alors une série de rebonds du signal avant l’obtention de la position fermée.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
78
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
dispositif anti-rebond
Pour éviter ce défaut de fonctionnement, on utilise un bascule R S et un inverseur, le montage utilisé est celui de la figure ci-dessous.
Remise à « 0 » Remise à « 1 » Abdelhafid MESSAOUDI
Architecture des ordinateurs
79
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
dispositif anti-rebond
Supposons l'interrupteur initialement dans la position 1 comme indiqué par la figure, l'entrée S est à la masse donc, en logique positive, dans l'état logique "0" et l'entrée R sous tension c'est-àdire dans l'état logique "1". La sortie Q se trouve donc dans l'état "1". A l'instant t1 nous basculons l'interrupteur de la position 1 à la position 2. Dès que le contact est ouvert en 1, l'entrée S se trouve sous tension et passe dans l'état logique "1". Par contre le contact en 2 peut s'établir avec un léger retard dû au mouvement du contacteur et ne pas être immédiatement franc.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
80
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S
dispositif anti-rebond
L'entrée R passe dans l'état "0" à t2, quelques rebonds peuvent suivre. A t2 lorsque les entrées se trouvent dans la configuration S = 1 et R = 0 la sortie Q passe dans l'état "0". Par contre dans la configuration S = 1 et R = 1, c'est-à-dire entre t1 et t2 et pendant les rebonds, les sorties restent inchangées : les rebonds ne sont pas visibles sur la sortie Q. Le fonctionnement est symétrique lors du passage de la position 2 à 1.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
81
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S T ou R S clock
La bascule R S T ou bascule R S Clock est une bascule synchrone pour laquelle les entrées R et S ne sont prises en considération qu’avec un signal de commande. Se signal peut être délivré par une horloge. Nous avons donc une bascule synchrone.
Cette bascule est réalisée en utilisant le circuit de la figure suivante: 1.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
82
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S T ou R S clock
Lorsque la commande Clk passe à « 1 » la bascule fonctionne comme nous l’avons indiqué auparavant.
Lorsque le signal de commande est à l’état « 0 », la bascule est dite bloquée. Dans ce cas, la sortie Q est indépendante des entrées S et R. L’état de mémorisation correspond au dernier état avant le passage de la commande de «1 » à « 0 » .le schéma symbolique de cette bascule est celui de la figure ci-dessous.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
83
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S T ou R S clock
Dans un système synchrone le signal de commande est fourni par une horloge (clock).
Celui-ci est constitué par une succession périodique d'impulsions de largeur tp, supposée petite devant la période T. L'état de chacune des sorties restera donc bloqué pendant les intervalles séparant deux impulsions.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
84
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules R S T ou R S clock
Nous notons Qn la valeur de la sortie Q pendant le nième intervalle précédant la nième impulsion et Qn+1 la valeur correspondante dans l'intervalle suivant la nième impulsion dans la figure ci-dessous.
La table de vérité de cette bascule est:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
85
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
Nous avons vu que la table de vérité d’une bascule R-S Clock présente une anomalie; celle ou Rn=1 et Sn=1. il faut trouver un moyen grâce auquel on peut éviter cette ambigüité. L’ajout de deux portes AND montés avec la bascule R S T comme le monte la figure ci-dessous permet de résoudre le problème.
C’est une bascule J K synchrone sur un niveau (clk=0 ou clk=1) Abdelhafid MESSAOUDI
Architecture des ordinateurs
86
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
Les signaux R et S seront comme suit :
La table de vérité de la bascule J-K est:
Le résumé de cette table est donc : On remarque que pour la combinaison Jn=Kn=1, la sortie Qn oscille Abdelhafid MESSAOUDI
Architecture des ordinateurs
87
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
Le schéma logique d’une bascule J K est le suivant:
Les entrées asynchrones (car à utiliser en l’absence du signal d'horloge, lorsque Clk = 0) Pr (Preset) et Cr (Clear) permettent d'assigner l'état initial de la bascule, par exemple juste après la mise sous tension pour éviter tout aléa. En fonctionnement normal, ces deux entrées doivent être maintenues à 1. Lorsque le signal d'horloge est à 0 nous avons la table de vérité suivante : Abdelhafid MESSAOUDI
Architecture des ordinateurs
88
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
En fonctionnement normal, ces deux entrées doivent être maintenues à 1. Lorsque le signal d'horloge est à 0 nous avons la table de vérité suivante :
Le schéma symbolique est:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
89
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
déclanchement sur front
La bascule J-K a été introduite pour levé l’ambigüité de la bascule R-S T pour le cas R=1 et S=1 pour lequel nous avons une indétermination de la sortie Q. D’après la table de vérité de la bascule J-K on remarque que tant que le signal d’horloge Clock est à l’état « 1 », la sortie Q oscille entre les deux états 0 et 1. Ce problème peut être éliminé en introduisant un détecteur de front à l’entrée du signal horloge Clock.
Ce circuit produit simultanément avec le front montant ou descendant du signal d’horloge, une impulsion d’une durée juste suffisante pour permettre un basculement d’état. Abdelhafid MESSAOUDI
Architecture des ordinateurs
90
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
déclanchement sur front
Les deux circuit détecteur de front (montant et descendant ) sont ceux des deux figure suivantes.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
91
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
déclanchement sur front
Déclanchement sur front montant Abdelhafid MESSAOUDI
Architecture des ordinateurs
92
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
déclanchement sur front
Déclanchement sur front descendant Abdelhafid MESSAOUDI
Architecture des ordinateurs
93
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules J K
déclanchement sur front
Le schéma logique d’une bascule J-K déclenchée sur front est la suivante:
Les schémas symboliques des deux bascules J-K déclenchées sur front sont :
Abdelhafid MESSAOUDI
Architecture des ordinateurs
94
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules D
La bascule D (delay) est obtenue à partir d’une bascule J-K en injectant en même temps un bit sur l’entrée J et son complément sur l’entrée K. D’après la table de vérité de la bascule J-K, on remarque que :
Ce qui peut se résumer par Qn+1 = Dn.
Ainsi l'état de la bascule Q pendant l'intervalle n+1 est égal à la valeur de l'entrée D pendant l'intervalle n. Une bascule D agit comme une unité à retard pour laquelle la sortie suit l'entrée avec un cycle de retard. Abdelhafid MESSAOUDI
Architecture des ordinateurs
95
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules D
La représentation symbolique de la bascule D commandée par état est donnée par la figure ci-dessous.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
96
Architecture de base d’un ordinateur Circuit séquentiels
a
Bascules D
Il existe des bascules D qui sont activées sur front montant. Le schéma ci-dessous représente le logigramme d’une bascule D activée sur front montant:
Abdelhafid MESSAOUDI
Architecture des ordinateurs
97
Architecture de base d’un ordinateur Circuit séquentiels
a
Les registres
Un registre permet la mémorisation de n bits. Il est donc constitué de n bascules, mémorisant chacune un bit.
L'information est emmagasinée sur le signal de commande (signal d’écriture). Par la suite, l’information est conservée et elle est disponible en lecture. La figure ci-dessous donne un exemple de registre 4 bits réalisé avec quatre bascules D.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
98
Architecture de base d’un ordinateur Circuit séquentiels
a
Les registres
Les entrées E0, E1, E2 et E3 sont utilisés pour écrire une valeur dans le registre .
Elles sont conservées jusqu'au prochain signal de commande W. Dans cet exemple les états mémorisés peuvent être lus sur les sorties Q0, Q1, Q2 et Q3 en coïncidence avec un signal de validation R. Lorsque ces sorties sont connectées à un bus, les portes ET en coïncidence avec ce signal de lecture sont remplacées par des portes à trois états.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
99
Architecture de base d’un ordinateur Circuit séquentiels
a
Les registres
Un registre est une mémoire qui se trouve à l’intérieur du microprocesseur.
Le temps d’accès à un registre est très petit; se sont des mémoires très rapides. Le coût de fabrication est très élevé; c’est la raison pour laquelle le nombre de registres dans un microprocesseur est très limité. La taille des registres dépend des microprocesseurs; on peut trouver des registres 8 bits, 16 bits, 32 bits et registres 64 bits, voir même plus.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
100
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
Dans un registre à décalage les bascules sont interconnectées de façon à ce que l'état logique de la bascule de rang i puisse être transmis à la bascule de rang i+1 (ou i-1) quand un signal d'horloge est appliqué à l'ensemble des bascules. L'information peut être chargée de deux manières dans ce type de registre. Entrée parallèle Entrée série
Abdelhafid MESSAOUDI
Architecture des ordinateurs
101
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
-Entrée parallèle : L’information à mémoriser dans le registre est codée sur n bits, les n bits sont mémorisés dans n bascules D simultanément. En général une porte d'inhibition est nécessaire pour éviter tout risque de décalage pendant le chargement parallèle.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
102
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
-Entrée série : L'information est présentée séquentiellement bit après bit à l'entrée de la première bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux déjà mémorisés sont décalés d'un niveau dans le registre. La figure suivante schématise le chargement d'un registre 4 bits en quatre coups d'horloge.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
103
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
la figure ci-dessous présente un registre à entrée série sortie parallèle ou série.
Ce type de registre est particulièrement spécial, car il permet de passer d’un codage temporelle (succession de bits dans le temps) à un codage spatial (information codée sur n bits stockée dans une mémoire statique) Abdelhafid MESSAOUDI
Architecture des ordinateurs
104
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
la figure ci-dessous présente un registre à entrée parallèle sortie série.
Selon la valeur du signal X, on peut choisir le type de l’entrée. Si X=1, l’ entrée série est prise en compte et l’entrée parallèle est inhibée. Si X=0, l’entrée parallèle est autorisée, par contre, l’entrée série est bloquée. Abdelhafid MESSAOUDI
Architecture des ordinateurs
105
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
À l’encontre d’un registre à décalage à entrée série/sortie parallèle, un registre à décalage à entrée parallèle/sortie série transforme un codage spatial en un codage temporelle. On peut trouver aussi des registres à entrée parallèle et série et sortie parallèle et série
Abdelhafid MESSAOUDI
Architecture des ordinateurs
106
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
La commande X permet de sélectionner le mode de chargement (parallèle ou série). Elle permet aussi inhiber le signal d’horloge. Si X=0, (Cr =1et Cp=1) nous avons donc un fonctionnement normale des bascules. C’est le mode chargement série. Si X=1 Abdelhafid MESSAOUDI
Architecture des ordinateurs
107
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
La figure suivante présente un registre qui permet de réaliser les opérations de décalage à droite et à gauche.
Les différents modes sont sélectionnés par les signaux S0 et S1.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
108
Architecture de base d’un ordinateur a
Circuit séquentiels
Registres
Registres à décalage
Le signal d’horloge sera inhibé lorsque les deux signaux valent : S0=S1=0. Pour S0=S1=1, le chargement est assuré grâce au signal d’horloge. Pour S0=1, S1=0, (entrée E1, sortie QD).
nous
avons
Pour S0=0, S1=1, nous (entrée E0, sortie QA).
avons
Abdelhafid MESSAOUDI
un
un
décalage
décalage
Architecture des ordinateurs
à
à
droite
gauche 109
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres à décalage
Le tableau suivant résume les différents modes du registre en fonction des bits de sélection S0 et S1.
Un registre à décalage à droite et à gauche permet d'effectuer des divisions et des multiplications entières par des puissances de 2. En effet une multiplication par 2 est équivalente à un décalage vers la gauche et une division par 2 à un décalage vers la droite. Une multiplication par 2n sera obtenue par n décalages à gauche et une division par 2n par n décalages à droite. Abdelhafid MESSAOUDI
Architecture des ordinateurs
110
Architecture de base d’un ordinateur Circuit séquentiels
a
Registres
Registres universels
Il existe des registres universels constitués d’entrées, de sorties et des commandes.
Ces commandes sont utilisés pour choisir le mode d’entrée, le mode de sortie, le sens du décalage. Ces registres peuvent être utilisés comme: Registres entrée série/sortie série Registres entrée série/sortie parallèle Registre entrée parallèle/sotie série Registre entrée/parallèle/sortie parallèle Registre à décalage à droite Registre à décalage à gauche Abdelhafid MESSAOUDI
Architecture des ordinateurs
111
Architecture de base d’un ordinateur Circuit séquentiels
Abdelhafid MESSAOUDI
a
Registres
Architecture des ordinateurs
Registres universels
112
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Un compteur est un ensemble de n bascules interconnectées par des portes logiques. Il peut donc mémoriser des mots de n bits.
Au rythme d'une horloge il peut décrire une séquence déterminée c'est-à-dire occuper une suite d'états binaires. Il ne peut y avoir au maximum que 2n combinaisons. Ces états restent stables et accessibles entre les impulsions d'horloge. Le nombre total N des combinaisons successives est appelé le modulo du compteur. On a N ≤ 2n. Si N < 2n, un certain nombre d'états ne sont jamais utilisés. Abdelhafid MESSAOUDI
Architecture des ordinateurs
113
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs peuvent être classés en deux catégories :
- les compteurs asynchrones. - les compteurs synchrones.
De plus on distingue les compteurs réversibles ou compteursdécompteurs.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
114
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
Un compteur asynchrone est constitué de n bascules J-K fonctionnant en mode T (ou clocke).
Le signal d'horloge n'est reçu que par le premier étage (bascule LSB : Least Significant Bit). Pour chacune des autres bascules le signal d'horloge est fourni par une sortie de la bascule de rang immédiatement inférieur.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
115
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
Le compteur de la figure précédente est un compteur modulo 8 constitué par 3 bascules J-K maitre-esclave dont les sorties changent d’état lorsque le signal d’horloge passe de l’état 1 à l’état 0 (front descendant).
Abdelhafid MESSAOUDI
Bascule RS NAND
Bascule RS NAND
Maitre
Esclave
Architecture des ordinateurs
116
Architecture de base d’un ordinateur a
Circuit séquentiels
Les compteurs
Si n suppose que toutes les sorties étaient nulles, le chronogramme du compteur est le suivant:
Valeur mémorisée
Abdelhafid MESSAOUDI
0
1
2
3
4
5
6
7
Architecture des ordinateurs
117
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
L’interconnexions des trois bascule J-K maître-esclave réalise un compteur qui s’incrémente à chaque impulsion d’horloge avec un cycle de 8 valeurs (0 à 7).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
118
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
On remarque que les trois sorties Q0, Q1 et Q2 fournissent des signaux périodiques dont les fréquences respectives sont le 1/2, le 1/4 et le 1/8 de la fréquence du signal d’horloge. L’une des application des compteurs asynchrones est la division de fréquence d’un signal. Fréquence F0 Fréquence F1=F0/2
Fréquence F2=F0/4 Fréquence F3=F0/8 Abdelhafid MESSAOUDI
Architecture des ordinateurs
119
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
Quelques fois, on désir compter jusqu’à un nombre N qui ne soit pas une puissance de deux , par exemple on désir compter à 10 puis on revient à zéro (compteur décimal). Pour cela, on utilise un compteur 4 bits on lui ajoutant un asservissement dont le but d’obtenir un compteur modulo 10. Cet asservissement à pour rôle de mettre la broche Clear à 0 lorsque la valeur du compteur atteint (10)10 = (1010)2 , les sorties Q0, Q1 et Q2 doivent se mettre à zéro. Le schéma d’un tel compteur est celui de la figure ci-dessous.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
120
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
Asservissement pour obtenir Le compteur modulo 10
Abdelhafid MESSAOUDI
Architecture des ordinateurs
121
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs asynchrones
Le chronogramme ci-dessous est celui d’un compteur modulo 5 . L’état Q2Q1Q0=101 dure un très court moment et le compteur reprend depuis la valeur 000
L’état 101 dure un temps très court suffisant pour effacer toutes les bascules du compteur. C’est un état qui n’et pas perceptible par l’utilisateur Abdelhafid MESSAOUDI
Architecture des ordinateurs
122
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs synchrones
En réalité, les compteurs et décompteurs asynchrones posent un problème. Les bascules sont montées en cascade, et chacune des bascule possède un temps de réponse qui fait que la nouvelle valeur du compteur (ou décompteur) se propage de la première bascule à la dernière bascule.
On aura donc durant un instant très court une valeur erronée de la sortie. Le problème est résolu en utilisant les compteurs et les décompteurs synchrones.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
123
Architecture de base d’un ordinateur a
Circuit séquentiels
Les compteurs
Les compteurs synchrones
Le chronogramme ci-dessous illustre les valeurs transitoires (valeurs parasites)
Q0
Q1 valeurs 0
1
2
3
0: valeur parasite entre les valeurs 1 et 2 Abdelhafid MESSAOUDI
1: valeur parasite entre les valeurs 3 et 0 Architecture des ordinateurs
124
Architecture de base d’un ordinateur Circuit séquentiels
a
Les compteurs
Les compteurs synchrones
Le problème est résolu en utilisant les compteurs et les décompteurs synchrones. Pour un compteur synchrone, toutes les bascules reçoivent le signal d’horloge en même temps. Les entrées J et K de chaque bascule doivent être positionnées à chaque impulsion d’horloge. Pour une bascule J-K, la condition pour que la sortie change d’état est que les deux entrées J et K soient à 1. les deux figures suivantes présentent deux compteurs/décompteur asynchrones. (X = 0 ⇒ compteur, X = 1 ⇒ décompteur).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
125
Architecture de base d’un ordinateur Circuit séquentiels
Abdelhafid MESSAOUDI
a
Les compteurs
Les compteurs synchrones
Architecture des ordinateurs
126
Architecture de base d’un ordinateur Circuit séquentiels
Abdelhafid MESSAOUDI
a
Les compteurs
Les compteurs synchrones
Architecture des ordinateurs
127
Architecture de base d’un ordinateur Principe de fonctionnement
a
notion de programme
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre par le processeur. Ces instructions correspondent à des actions très simples, comme comparer deux nombres, additionner deux nombres, lire ou écrire une case mémoire, etc. Chaque instruction est codifiée en mémoire sur un ensemble d’octets. Le processeur exécute les programmes en langage machine, c’est à dire composés d’instructions très élémentaires suivant un codage précis.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
128
Architecture de base d’un ordinateur Principe de fonctionnement
a
notion de programme
Chaque type de processeur est capable d’exécuter un certain ensemble d’instructions, ces instructions constituent son propre jeu d’instructions. Avant de pouvoir écrire un programme en langage machine, il est essentiel de connaitre parfaitement le fonctionnement du processeur qui sera utilisé. Le processeur est un circuit électronique complexe qui exécute chaque instruction très rapidement, en quelques cycles d’horloges. Toute l’activité de l’ordinateur est cadencée par une horloge unique, de façon à ce que tous les circuits électroniques travaillent ensembles.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
129
Architecture de base d’un ordinateur Principe de fonctionnement
a
notion de programme
La fréquence de cette horloge s’exprime en KHZ(milliers de battements par seconde)MHz (millions de battements par seconde), GHZ(milliards de battements par seconde). Par exemple, un ordinateur “PC Pentium 4 3GHz, possède un processeur de type Pentium 4 cadencé par une horloge à 3 GHz. Pour chaque instruction, le processeur effectue suivantes :
les opérations
Lecture de l’instruction à exécuter en mémoire (MP) ; Effectuer le traitement correspondant à l’instruction; Passer pour exécuter l’instruction suivante.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
130
Architecture de base d’un ordinateur Principe de fonctionnement
a
notion de programme Mémoire principale M. P.
Processeur Unité de commande
Instructions programme
codées
Unité de traitement
Données
Informations codées en binaires Unité d’entrées/sorties
clavier Souris écran
Abdelhafid MESSAOUDI
Architecture des ordinateurs
131
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
La mémoire est divisée en emplacements de taille fixe (8 bits, 16 bits, …) utilisés pour stocker des instructions et des données. En principe, la taille d’un emplacement mémoire pourrait être quelconque ; en réalité, la plupart des ordinateurs en service aujourd’hui utilisent des emplacements mémoire d’un octet (byte en anglais, soit 8 bits, unité pratique pour coder un caractère par exemple).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
132
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Emplacement 1 0 1 1 1 1 0 0
Adresse 0000000000000000 0000000000000001 0000000000000010
1111111111111110 1111111111111111 a7 a6 a5 a4 a3 a2 a1 a0 Bit de poids fort MSB
Abdelhafid MESSAOUDI
Bit de poids faible LSB
Architecture des ordinateurs
133
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Dans une mémoire de taille N, on a N emplacements mémoires, numérotés de 0 à N- 1. Chaque emplacement est repéré par son numéro, appelé adresse. L’adresse est le plus souvent écrite en hexadécimal. La capacité (taille) de la mémoire est le nombre d’emplacements, exprimé en général en kilo-octets ou en méga-octets, voire davantage (giga-octets de nos jours). Rappelons que le kilo informatique vaut 1024 et non 1000 (210 = 1024 ).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
134
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
pour adresser une mémoire d’une capacité de 1024 octets, il faut 10 dans le bus d’adresse pour parcourir cette dernière. 1k (Kilo) = le Bus d’adresse) 1M (Méga)= le Bus d’adresse) 1G (Giga) = le Bus d’adresse) 1T (Téra) = le Bus d’adresse)
Abdelhafid MESSAOUDI
210 = 1024
(10 bits pour
220 = 1048 576.
(20 bits pour
230 = 1 073 741 824.
(30 bits pour
240 = 1 099 511 627 776.
(40 bits pour
Architecture des ordinateurs
135
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
L’état de la mémoire ne peut être modifié que par le processeur. Chaque emplacement mémoire conserve les informations que le processeur y écrit jusqu’à coupure de l’alimentation électrique, où tout le contenu est perdu . Ce qui n’est pas le cas pour les mémoires mortes et aux mémoires externes comme les disquettes et disques durs pour lesquelles le contenu reste inchangé).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
136
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les seules opérations possibles sur la mémoire sont : écriture d’un emplacement : le processeur donne une valeur et une adresse, et la mémoire range la valeur à l’emplacement indiqué par l’adresse. lecture d’un emplacement : le processeur demande à la mémoire la valeur contenue à l’emplacement dont il indique l’adresse. Le contenu de l’emplacement lu reste inchangé. Sur certains ordinateurs, les contrôleurs d’entrées/sorties peuvent accéder directement à la mémoire (accès DMA ), mais cela ne change pas le principe de fonctionnement.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
137
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Notons que les opérations de lecture et d’écriture portent en général sur plusieurs octets contigüs en mémoire : un mot mémoire. La taille d’un mot mémoire dépend du type de processeur ; Le mot mémoire désigne un groupement d’octets. Il représente l’unité d’information sur laquelle opèrent la quasi-totalité des instructions. elle est de : 1 octet (8 bits) dans les processeurs 8 bits (par exemple Motorola 6502) ; 2 octets dans les processeurs 16 bits (par exemple Intel 80286) ; 4 octets dans les processeurs 32 bits (par ex. Intel 80486 ou Motorola 68030). Abdelhafid MESSAOUDI
Architecture des ordinateurs
138
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Dans les architecture actuelle, les cellules mémoire font 32 bits ou plus, une question se pose: comment adresser un octet. Cette opération est réalisée grâce à un mécanisme externe à la mémoire et appartenant à l’unité de contrôle qui récupère l’ensemble des bits de la cellule mémoire puis traite les 8 bits ciblés.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
139
Architecture de base d’un ordinateur a
Principe de fonctionnement
organisation de la mémoire principale
Dans un mot, les octets peuvent être rangés selon deux ordres; de gauche à droite ou de droite à gauche. Les processeur Motorola sont gros boutistes (big endian) à l’encontre des processeurs Intel qui sont petits boutistes (little endian) adr
Big endian
adr
Little endian
0
O
1
2
3
0
3
2
1
O
1
4
5
6
7
1
7
6
5
4
2
8
9
10
11
2
11
10
9
8
3
12
13
14
15
3
15
14
13
12
4 mots de 32 bits Motorola Abdelhafid MESSAOUDI
4 mots de 32 bits Intel Architecture des ordinateurs
140
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les mémoires que l’on vient d’étudier permettent l’écriture et la lecture de l’information. Ce sont les mémoires RAM (Random Acces Memory) mémoire à accès aléatoire. Il existe deux types de mémoire RAM: Les RAM statiques
Les RAM dynamiques
Abdelhafid MESSAOUDI
Architecture des ordinateurs
141
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les RAM statiques (SRAM) Static RAM sont basées sur des bascules (des transistor) ( voir en cours de logique séquentielle) . Ce sont des mémoires très rapides et qui ne nécessitent pas de rafraichissement. Ce type de mémoire présente des inconvénients: Le prix est très cher Volume important Consommation électrique importante Cependant, elle sont utilisées pour les mémoires cache (voir ultérieurement). Abdelhafid MESSAOUDI
Architecture des ordinateurs
142
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les RAM statiques (SRAM) Static RAM sont basées sur des bascules
Mémoire statique 1 bit A ligne de commande ou d’adresse B ligne de donnée Abdelhafid MESSAOUDI
Architecture des ordinateurs
143
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les RAM dynamiques DRAM (dynamic RAM) sont basées sur les transistors et les condensateurs. La capacité en question est la capacité parasite drain-substrat du transistor à effet de champ. Vue que les capacités se déchargent, l’information écrite n’est conservée que pendant quelque millisecondes. Le contrôleur mémoire es obligé de lire chaque cellule mémoire à des intervalles de temps réguliers et d’y réécrire afin de garantir la fiabilité de l’information. Cette opération récurrente porte le nom de rafraichissement Abdelhafid MESSAOUDI
Architecture des ordinateurs
144
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Techniquement, les DRAM sont plus facile à fabriquer. En effet, un emplacement binaire contient un transistor MOSFET plus son nano condensateur qui ne nécessite que peut de Silicium. Les DRAM sont lentes, c’est leur l’inconvénient majeur
Abdelhafid MESSAOUDI
Architecture des ordinateurs
145
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
La ligne A est dite ligne de commande ou ligne d’adresse. La ligne B est la ligne de donnée. Lorsque la ligne de commande vaut 0, le condensateur est isolé du circuit est par conséquent sa charge reste « constante ». Lorsque la ligne de commande vaut 1, on peut « lire » la charge du condensateur en utilisant la ligne B. On peut aussi écrire un bit en forçant la ligne de donnée B à une valeur.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
146
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Sur les toutes premières machines, la mémoire RAM se composait de plusieurs boitiers DIP (Dual In-line Package).
C’est une mémoire DRAM de 64K x1 bit Abdelhafid MESSAOUDI
Architecture des ordinateurs
147
Architecture de base d’un ordinateur a
Principe de fonctionnement
organisation de la mémoire principale
La plupart du temps, les ordinateurs utilisent des mémoires 1 bits. Pour former un octet, nous somme obligé d’utiliser 8 boitiers (mémoire 1 bit). 10 A9 … AO 10
10
210 x 1 bit
210 x 1 bit
DO D1 D2 D3 D4 D5 D6 D7
Abdelhafid MESSAOUDI
1
1
10
10
10
10
10
10
210 x 1 bit
210 x 1 bit
210 x 1 bit
210 x 1 bit
210 x 1 bit
210 x 1 bit
1
1
1
1
1
1
Architecture des ordinateurs
148
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
On peut trouver des ordinateurs équipés de boitiers mémoires SRAM dont les cellules contiennent 8 bits
C’est une mémoire SRAM de 2K x 8 bit Abdelhafid MESSAOUDI
Architecture des ordinateurs
149
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Une deuxième organisation consiste à utiliser des barrettes SIP (Single In-line Package). Ces barrettes sont sous forme d’une plaque qui contient un certain nombre de circuits intégrés. Ces barrettes possèdent des broches à insérer dans des compartiments spéciaux
Cette organisation à connu un faible succès du faite qu’une patte ou plusieurs pouvait être facilement cassées. Abdelhafid MESSAOUDI
Architecture des ordinateurs
150
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les mémoire SIMM (Single In-line Memory Module) représente un autre type d’organisation physique. C’est une plaque sur laquelle sont soudés un certain nombre de circuits intégrés. Ce sont des mémoire 8 bits (appelés SIMM 30 broches), elle sont groupés par deux pour les machine équipés de processeur 80386 SX et par quatre dés le processeur 80386 DX. Les cartes mère en question possédait deux Bank (Bank 0 et Bank 1). Chacune des Bank contient (2 ou 4 emplacements).
Abdelhafid MESSAOUDI
Architecture des ordinateurs
151
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Mémoire SIMM à 30 broches Abdelhafid MESSAOUDI
Architecture des ordinateurs
152
Architecture de base d’un ordinateur a
Principe de fonctionnement
organisation de la mémoire principale
Pour le cas d’une machine équipée d’un processeur 16 bits l’organisation physique de la mémoire est comme suit : Bus d’adresse
20 bits
20 bits
20 bits
8 Bits d15 d14 … d9 d8
16 bits
d15 d14 … d1d0
8 bits d7 d6 … d1 d0
Bus de données
Placement de deux barrettes mémoire d’une capacité totale de 2 Mo Abdelhafid MESSAOUDI
Architecture des ordinateurs
153
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Pour le cas d’une machine équipée d’un processeur 32 bits l’organisation physique de la mémoire est comme suit : Bus d’adresse
21 bits
21 bits
8 bits d31 d30 … d25 d24
32 bits
d31 d30 … d1d0
21 bits
8 bits d23 d22 … d17 d16
21 bits
21 bits
8 bits d15 d14 … d9 d8
8 bits d7 d6 … d1 d0
Bus de données
Placement de quatre barrettes mémoires d’une capacité totale De 8 Mo Abdelhafid MESSAOUDI
Architecture des ordinateurs
154
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Un autre type de barrettes SIMM existe, ce sont les barrettes SIMM de 32 bits aussi appelés SIMM 72 broches. Les capacités mémoires disponibles sont 1Mo, 2Mo, 4Mo, 8Mo, 16Mo, 32Mo et 64Mo.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
155
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Au fil du temps apparaissait de nouveaux processeurs capables d’adresser des mémoires de capacité de plus en plus élevée. Les nouvelleq RAM se présentaient et se présentent sous forme de barrettes dites DIMM (Dual In-line Memory Module). Ce sont des barrettes de 64 bits, qui peuvent être utilisées par unité. Elle sont dotées de 84 connecteurs sur chacune des deux faces de la barrette; un total de 168 connecteurs.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
156
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Les première barrettes DIMM sont aussi connues sous le nom de SDRAM. (Synchronous Dynamic RAM) Les SDRAM sont remplacées par les barrettes DDR-SDRAM (Double Data Rate Synchronous Dynamic RAM). Le nombre de connecteurs est de 184
Abdelhafid MESSAOUDI
Architecture des ordinateurs
157
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Une deuxième génération de DDR SDRAM est apparue, c’est la DDR 2 ou DDRII SDRAM. Les DDR 2 comportent 240 connecteurs.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
158
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
La dernière génération des DDR SDRAM connue à se jour est la DDR3 ou DDR3 SDRAM
Abdelhafid MESSAOUDI
Architecture des ordinateurs
159
Architecture de base d’un ordinateur Principe de fonctionnement
a
mémoire cache
Depuis toujours, les processeurs sont plus rapide que les mémoire principales. Grâce au progrès technologique, les mémoires voient leurs performances augmentés, de même pour les processeurs. Malgré ce progrès, on remarque que cet écart de rapidité persiste toujours. Le temps d’accès à l’information stocké en mémoires est resté inchangé. En réalité, le problème est d’ordre économique et non pas d’ordre technologique. En effet, il est possible de concevoir des mémoires aussi rapide que les processeurs. Pour bénéficier de cette rapidité, il faut que ces mémoire soient intégrées dans une puce à proximité du processeur. Abdelhafid MESSAOUDI
Architecture des ordinateurs
160
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Le principale facteur de réduction de performances est le temps de propagation du mot mémoire sur le Bus. En peut toutefois intégrer une mémoire d’une grande capacité dans une même puce mais avec une grande surface, et cela est en contradiction avec les tendances actuelles d’une part. D’autre part, le prix d’une telle mémoire sera exorbitant. Il existent des techniques qui permettent de combiner entre deux mémoire de différents types afin d’obtenir la vitesse de la plus rapide et la capacité de la plus lente avec un prix raisonnable.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
161
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Le principe de base des mémoire cache est la conservation des mots mémoires les plus utilisé fréquemment dans le cache plutôt que dans la mémoire principale. Lorsque le processeur sollicite un mot mémoire, ile commence par le chercher dans le cache s’il s’y trouve ou pas. Si le mot mémoire n’est pas dans le cache, le processeur le cherche dans la mémoire principale. Si une grande partie des mots mémoire dont a besoins le processeur se trouvent dans le cache, alors le temps d’accès aux information sera réduit de façon considérable
Abdelhafid MESSAOUDI
Architecture des ordinateurs
162
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
A titre d’exemple citons les programmes qui manipulent des boucles dans lesquelles un nombre limité d’instructions sont exécutées de façon itérative. Il est intéressent que ces instructions soient stockées dans le cache plutôt que dans la mémoire principale pendant la période d’exécution du programme. La mémoire cache permet aux programme de s’exécuter de façon rapide.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
163
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
MEMORY CPU
Cache
Bus
Abdelhafid MESSAOUDI
Architecture des ordinateurs
164
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
D’un point de vue physique, la mémoire cache peut se trouver à n’importe quel endroit: à proximité du processeur sur le processeur
Abdelhafid MESSAOUDI
Architecture des ordinateurs
165
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Le processeur est souvent appelé CPU (en l’anglais Central Processing Unit) ou parfois MPU (Micro-Processing Unit) pour les microprocesseurs. Un microprocesseur n’est rien d’autre qu’un processeur dont tous les constituants sont réunis sur une même puce électronique (pastille de silicium), afin de réduire les coûts de fabrication et d’augmenter la vitesse de traitement. Les microordinateurs sont tous équipés de microprocesseurs. L’architecture de base des processeurs équipant les gros ordinateurs est la même que celle des microprocesseurs.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
166
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Le processeur utilise toujours des registres, qui sont des petites mémoires internes (très rapides, temps d’accès très petit ) utilisées pour stocker temporairement une donnée, une instruction ou une adresse. Chaque registre stocke 8, 16 ou 32 bits (selon le type du micro-processeur). Le nombre exact de registres dépend du type de processeur et varie entre une dizaine et une centaine. Parmi les registres, le plus important est le registre accumulateur, qui est utilisé pour stocker les résultats des opérations arithmétiques et logiques. L’accumulateur intervient dans une proportion importante des instructions. . Abdelhafid MESSAOUDI
Architecture des ordinateurs
167
Architecture de base d’un ordinateur Principe de fonctionnement
a
organisation de la mémoire principale
Pour obtenir un meilleur compromis coût performance, on définie une hiérarchie mémoire qui consiste à : Utiliser des mémoires de faible capacité pour stocker des information dont le processeur se sert très souvent. Utiliser des mémoires de grande capacité mais très lentes pour stocker des informations qui seront utilisé rarement par le processeur.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
168
Architecture de base d’un ordinateur Principe de fonctionnement
~ 1 ns
~ 10 ns
organisation de la mémoire principale
registre
~ 400 octets
Mémoire cache
~ 8Ko à 4Mo
Mémoire principale
~ 4Go
Mémoire d’appui
~ 5 ms
Abdelhafid MESSAOUDI
Mémoire de masse
Architecture des ordinateurs
capacité
vitesse
~ 5 ns
a
~ 2Mo à 8Mo
~ 1 To
169
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
Dans cette partie, nous allons essayer de comprendre le principe de fonctionnement de l’unité centrale de traitement. Nous allons aussi voir quels sont les différents composants qui constituent cette unité centrale de traitement.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
170
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
Schéma simplifié d’une unité centrale Abdelhafid MESSAOUDI
Architecture des ordinateurs
171
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
comme exemple, examinons se qui se passe lorsque le processeur exécute l’instruction suivante : ajouter la valeur 2 au contenu de la case mémoire d’adresse mémoire A345. Cette instruction est un ensemble d’actions qui seront déclenchées dans l’ordre ci-dessous par l’unité de commande.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
172
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
Le processeur lit et décode ; le processeur demande à la mémoire le contenu de l’emplacement A 345 ;
La valeur lue est rangée dans l’accumulateur ; l’unité de traitement (UAL) ajoute 2 au contenu de l’accumulateur ; le contenu de l’accumulateur est écrit en mémoire à l’adresse A 345.
Abdelhafid MESSAOUDI
Architecture des ordinateurs
173
Architecture de base d’un ordinateur a
Principe de fonctionnement
fonctionnement de l’unité centrale Bus de données
Microprocesseur Bus de données interne
ACC
Registre de données
RI
RTUAL
RTA UAL Registre d’état
Horloge
Quartz Abdelhafid MESSAOUDI
décodeur
IP
Séquenceur de commandes Bus d’adresse interne
Registre d’adresse Bus d’adresse
Commandes Architecture des ordinateurs
174
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
Les informations circulent à l’intérieur du processeur sur deux bus internes, l’un pour les données (bus de donnée interne) , l’autre pour les instructions (bus d’adresse interne). On distingue les registres suivants : ACC : Accumulateur ; RTUAL : Registre Tampon de l’UAL, stocke temporairement l’un des deux opérandes d’une instructions arithmétiques (la valeur 2 dans l’exemple donné plus haut) ; Registre d’état : stocke les indicateurs, que nous étudierons plus tard ; Abdelhafid MESSAOUDI
Architecture des ordinateurs
175
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
RI : Registre Instruction, contient le code de l’instruction en cours d’exécution (lu en mémoire via le bus de données) ; IP : Instruction Pointer ou Compteur de Programme, contient l’adresse de l’emplacement mémoire où se situe la prochaine instruction à exécuter ; RTA : Registre Tampon d’Adresse, utilisé pour accéder à une donnée en mémoire. Les signaux de commandes permettent au processeur de communiquer avec les autres circuits de l’ordinateur. On trouve en particulier le signal R/W (Read/Write), qui est utilisé pour indiquer à la mémoire principale si l’on effectue un accès en lecture ou en écriture. Abdelhafid MESSAOUDI
Architecture des ordinateurs
176
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
En réalité, les registres sont séparés en deux groupes: Registres généraux, Ils sont reliés au bus interne de données et sont destinés à manipuler des données à grande vitesse dans le but de les traités. Registres d’adresse,
Ils sont utilisés comme pointeurs et sont reliés au bus d’adresse
Abdelhafid MESSAOUDI
Architecture des ordinateurs
177
Architecture de base d’un ordinateur a
Principe de fonctionnement
fonctionnement de l’unité centrale
Bus d’adresse sur M bits Mémoire Processeur Principale Bus de données sur N bits
R/W
Abdelhafid MESSAOUDI
signal lecture/écriture
Architecture des ordinateurs
178
Architecture de base d’un ordinateur Principe de fonctionnement
a
fonctionnement de l’unité centrale
Les informations échangées entre la mémoire et le processeur circulent sur des bus. Un bus est simplement un ensemble de p fils conducteurs, utilisés pour transporter p signaux binaires. Le bus d’adresse est un bus unidirectionnel : seul le processeur envoie des adresses. Il est composé de a fils ; on utilise donc des adresses de a bits. La mémoire peut posséder au maximum 2a emplacements (adresses 0 à 2a - 1).
Le bus de données est un bus bidirectionnel. Lors d’une lecture, c’est la mémoire qui envoie un mot sur le bus (le contenu de l’emplacement demandé) ; lors d’une écriture, c’est le processeur qui envoie la donnée. Abdelhafid MESSAOUDI
Architecture des ordinateurs
179
Architecture de base d’un ordinateur Principe de fonctionnement
a
l’unité de commande
l’unité de commande est un ensemble de dispositifs qui permettent de coordonner le fonctionnement de l’ordinateur afin de lui faire exécuter la suite des opérations spécifiées dans les instructions du programme.
Le traitement d’une instruction par l’unité de commande peut être décomposée en deux étapes : Recherche de l’instruction Exécution de l’instruction
Abdelhafid MESSAOUDI
Architecture des ordinateurs
180
Architecture de base d’un ordinateur Principe de fonctionnement
a
cycle de recherche d’instruction
Les étapes du cycle de recherche de l’instruction sont comme suit: 1) Transférer le contenu du registre CO(compteur ordinal (IP)) dans le registre RA (registre d’adresse).
2) L’ordre de lecture est généré par l’unité de commande; l’instruction est transférée dans le registre RM (registre mémoire). 3) Le contenu du registre RM est transféré dans le registre RI (registre d’instructions). 4) Le contenu de l’instruction est décodé. Le code généré par le décodeur actionne le séquenceur 5) Le compteur ordinal est incrémenté CO= CO + p (p: nombre d’octets de l’instructions) Abdelhafid MESSAOUDI
Architecture des ordinateurs
181
Architecture de base d’un ordinateur Principe de fonctionnement
a
cycle de recherche d’instruction
Mémoire centrale
RM
RA CO
RI décodeur
séquenceur
Abdelhafid MESSAOUDI
Architecture des ordinateurs
182
Architecture de base d’un ordinateur Principe de fonctionnement
a
cycle d’exécution d’une instruction
Les étapes du cycle d’exécution d’une instruction sont comme suit: 1) Le séquenceur envoie les signaux de commande pour lire l’opérande, dont l’adresse a déjà été stockée dans le RA, et le stocke dans le RM. 2) transfert du contenu du RM dans UAL. Pour certaines opérations, ACC RM ou ACC CO 3) Exécution de l’instruction sous contrôle du séquenceur
Abdelhafid MESSAOUDI
Architecture des ordinateurs
183
Architecture de base d’un ordinateur a
Principe de fonctionnement
cycle d’exécution d’instruction
Mémoire centrale
RM
RA Unité de commande
ACC
séquenceur UAL
Abdelhafid MESSAOUDI
Architecture des ordinateurs
184
Architecture de base d’un ordinateur Principe de fonctionnement
a
architecture RISC & CISC
Il existe deux grandes catégories de processeurs, qui se distinguent par la conception de leurs jeux d'instruction : CISC (Complex Instruction Set Computer)
-jeux étendu d'instructions complexes. - une instruction peut effectuer plusieurs opérations élémentaires
Comme exemple: charger une valeur en mémoire, faire une opération arithmétique et ranger le résultat en mémoire. Les instructions sont proches des constructions typiques des langages de haut niveau. Exemples : Motorola 68000, x86 Intel, AMD… Abdelhafid MESSAOUDI
Architecture des ordinateurs
185
Architecture de base d’un ordinateur Principe de fonctionnement
a
architecture RISC & CISC
RISC (Reduced Instruction Set Computer) - jeu d'instructions réduit.
- Une instruction effectue une seule opération élémentaire (microinstruction). Les instructions ont la même taille et s'exécutent en un cycle d'horloge
Exemples : Motorola 6800, PowerPC, UltraSPARC (Sun), ...
Abdelhafid MESSAOUDI
Architecture des ordinateurs
186