Vous êtes sur la page 1sur 86

ARCHITECTURE ET TECHNOLOGIE DES

ORDINATEURS (ATO)
Première Partie

Chargé du Cours : Mr VITODEGNI D. Edmond


Ingénieur Réseaux Informatique & Télécoms

1
CHAPITRE I
Généralité, constitution interne d’un
ordinateur et aspects généraux du
fonctionnement d’un ordinateur

2
I- DEFINITION

L'architecture d’un ordinateur est l’étude du fonctionnement des


composants interne d’un ordinateur. Elle traite :
- du type des informations manipulées et de leur codage,
- du fonctionnement logique et électronique des composants,
- du dialogue entre composants.

II- QU’EST-CE QU’UN ORDINATEUR

Un ordinateur est un appareil électronique programmable capable


d’effectuer automatiquement des opérations arithmétiques et logiques
pour l'acquisition, la Conservation, le traitement et la restitution des
données.
III- LES COMPOSANTS D’UN ORDINATEUR
A- L'unité de traitement
Un ordinateur comprend une unité de traitement des données :
Cette unité de traitement contient l'unité arithmétique et logique (en
abrégé UAL ou ALU en anglais). Elle est capable d'effectuer les trois
opérations logiques élémentaires (ET, OU, NON).
La combinaison de ces trois opérations logiques rend l'UAL capable
d'effectuer les quatre opérations mathématiques élémentaires à savoir ;
- Addition ; Soustraction ; Multiplication ; Division.
Elle effectue aussi les opérations de comparaison élémentaires telle
que : plus grand que, égal ; etc.

IV- LES PERIPHERIQUES


Disposer d'une unité de traitement n'est pas suffisant. Comment peut-
elle savoir ce qu'on lui demande ? Comment peut-elle fournir ses
résultats ? Il faut donc lui adjoindre :
3
- une ou plusieurs unités pour permettre l'acquisition des données : les
Périphériques d'entrée (clavier, scanner, souris, …)
- une ou plusieurs unités pour permettre la restitution des résultats :
les Périphériques de sortie (écran, imprimante, …)
- une unité de conservation des données : les supports de stockage
(Disque dur …)

V- LE ROLE DE L'UNITE DE CONTROLE


Dès que plusieurs composants doivent dialoguer, il est nécessaire
d'ajouter un processus de contrôle ou de commande. Son rôle est de
veiller à la régularité des échanges en donnant la parole à chacun des
éléments au moment opportun. Vu la position centrale de l'unité de
traitement, il paraît logique de lui confier ce rôle d'agent de police chargé
de la circulation de l’information.

4
L’UAL devient ainsi « l’unité centrale de traitement des données" (Ang.:
Central Processing Unit ou CPU). A ce stade, la structure correspond à
celle d'une calculette électronique. Une calculette dispose en effet :
- d'un clavier comme périphérique d'entrée,
- d'un affichage comme périphérique de sortie,
- d'une unité de calcul qui effectue les opérations demandées,
- d'une ou plusieurs mémoires pour retenir les résultats intermédiaires.
Pourtant personne ne prétendra qu'une calculatrice est un ordinateur.
Il manque donc quelque chose.

VI- LA PROGRAMMATION
Ce qui manque à notre calculette pour qu'elle devienne un "vrai"
ordinateur, c'est la mémorisation des procédures de traitement.
Dans le cas de la calculatrice, c'est l'opérateur qui effectue la séquence
d'opérations. Dans le cas
de l'ordinateur, la
procédure est stockée
indépendamment et
fournie à la machine. La
machine est capable de
lire les instructions pas à
pas et de les exécuter au
fur et à mesure, sans
intervention de l'utilisateur.
VII- LE STOCKAGE DES PROGRAMMES

On a eu l'idée de stocker en mémoire le programme à exécuter.

5
Le principe consiste à lire
le programme sur un
périphérique d'entrée, à le
stocker dans une mémoire
permanente et à le charger
en mémoire centrale au
moment de l'exécuter.
Dans un premier temps, on a pensé à distinguer la mémoire des données
de celle des programmes. Puis on s'est rendu compte que, dans les deux
cas, l'information était stockée de la même manière, c'est-à-dire sous
forme de bits, et qu'une zone de mémoire pouvait aussi bien recevoir
une instruction qu'une donnée.

6
CHAPITRE II
Numération & codage

7
I- NUMERATION
A- DEFINITIONS :
La base d’un système de numération est le nombre de chiffres qu’utilise
ce système. Pour qu’une information numérique soit traitée par un
circuit, elle doit être mise sous forme adaptée à celui-ci. Pour cela Il faut
choisir un système de numération de base B (B un nombre entier
naturel 2).
De nombreux systèmes de numération sont utilisés en technologie
numérique. Les plus utilisés sont les systèmes : Décimal (base 10),
Binaire (base 2), Tétra (base 4), Octal (base 8) et Hexadécimal (base 16)
- Système de numération décimale :
Dans un système décimal, on utilise un maximum de dix symboles
pour représenter un nombre quelconque N, soit : 0,1,2,3,4,5,6,7,8,9.
- Système de numération binaire :
Dans un système binaire, on utilise un maximum de deux symboles
pour représenter un nombre quelconque N, soit : 0,1.
- Système de numération octale :
Dans un système octal, on utilise un maximum de huit symboles pour
représenter un nombre quelconque N, soit : 0, 1, 2, 3, 4, 5, 6,7.
- Système de numération hexadécimale
Dans un système hexadécimal, on utilise un maximum de seize
symboles pour représenter un nombre quelconque N, soit :
0,1,2,3,4,5,6,7,8,9, A, B, C, D,E,F.
Le tableau ci-dessous donne un aperçu sur les systèmes décimal,
binaire, tétra, octal et hexadécimal :

8
En informatique, les systèmes les plus utilisés sont les suivants :

B- Le système de numération binaire


Les composants constituant un système informatique réagissent, de
manière interne, à des signaux. Soit le signal passe ou le signal ne passe
pas (c’est la loi de tout ou rien). On représente ces deux états par les
symboles 0 et 1. Le système de numération adaptée à la représentation
de tels signaux est la base 2, on parle alors de codage binaire. Cette

9
unité de codage de l’information ne pouvant prendre les valeurs 0 ou 1
est appelé le bit (contraction de Binary Digit).
Pour les échanges de données, les informations élémentaires (bits) sont
manipulées par groupes formant ainsi des mots binaires. La taille de
ces mots est le plus souvent un multiple de 8 = 23.
L’unité de transfert utilisée pour les échanges de données est le mot de
8 bits appelé octet.

Avec un octet, nous pouvons écrire 2 puissance 8 = 256 nombres


binaires de 0 à 255.
Description d'un octet.

Un 1 dans une case représente la valeur décimale qui est au-dessus.

Dans un mot binaire, le bit situé le plus à gauche est le bit le plus
significatif, MSB (Most Significant Bit), celui situé le plus à droite est le
bit le moins significatif, LSB (Less Significant Bit).

1- Conversion de base 10 en binaire :

Conversion d'un nombre décimal en binaire (exemple : N = 172).

10
Méthode par soustractions et par division

NB : l’opération est la même pour les autres bases quand on veut quitter
la base 10 pour une autre. Il suffit de faire une division successive du
nombre en base 10 par la nouvelle base. Et de reporter les restes du
dernier au premier.

2- Conversion d’un nombre N de base B en un nombre décimal

Tout nombre N peut se décomposer en fonction des puissances entières


de la base de son système de numération. Cette décomposition s’appelle
la forme polynomiale du nombre N et qui est donnée par :

- B : Base du système de numération, elle représente le nombre des


différents chiffres qu’utilise ce système de numération.
- ai : un chiffre (ou digit) parmi les chiffres de la base du système
de numération.
- i : rang du chiffre ai.

Exemples

11
3- Système Octal (base 8)

Le système octal ou base 8 comprend huit chiffres qui sont {0, 1, 2, 3,


4, 5, 6, 7}. Les chiffres 8 et 9 n’existent pas dans cette base. Ecrivons à
titre d’exemple, les nombres 45278 et 1274.6328 :

4- Conversion de la base 10 en base 16 (hexadécimale)

Convertir d’abord la base 10 en base 2

Faire la correspondance par octet de 4 bits

* B10 => B16

5- Conversion de base 2 en base 10


- Prendre le bit du poids le plus fort multiplié par 2 élevé à la
puissance (N -1). N représente le nombre de bit du nombre
binaire à coder
- Additionner la même opération pour chacun des bits du poids
fort au poids faible avec la suite (N-1 ; N-2 ; N-3 ; ………… N-n)
avec n correspondant à la position du bit du poids faible

6- Conversion de base 16 en base 10


- Convertir la base 16 en base 2 d’abord
- Convertir la base 2 en base 10 par la méthode précédente

12
C- Conversion d’un nombre décimal à virgule

Pour convertir un nombre décimal à virgule dans une base B


quelconque, il faut :
- Convertir la partie entière en effectuant des divisions successives par
B (comme nous l’avons vu précédemment).
- Convertir la partie fractionnaire en effectuent des multiplications
successives par B et en conservant à chaque fois le chiffre devenant
entier.

1- Conversion de la base 10 vers une Base quelconque

Soit à convertir le nombre (462 ,625)10 vers une base quelconque.


Pour résoudre ce problème il faut procéder comme suit :
- Convertir la partie entière (462)
- Convertir la partie fractionnaire en faisant des multiplications
successives par la base et en conservant à chaque fois le chiffre
devenant entier.
Exemples : (462,625)10= ()8, (462,625)10= ()2, (462,625)10= ()16

Partie entière

(462)10 => (716)8

Partie fractionnaire

0,625*8=5,00. Le résultat est donc : (462, 625)10 = (716,5)8

(462)10 = (716)8 = (111001110)2


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

13
0, 5*2= 1,0
Le résultat est donc : (462, 625)10 = (111001110,101)2

(462)10 = (111001110)2= (1CE) 16


0,625*16=10 ,00 Le résultat est donc : (462, 625)10 = (1CE, A) 16
Remarque :
Parfois en multipliant la partie décimale par la Base B, on n’arrive pas
à convertir toute la partie entière. Ceci est dû essentiellement au fait
que le nombre à convertir n’a pas un équivalent exact dans la Base B
et sa partie décimale est cyclique.

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

0 ,8*2=1,6
0 ,6*2=1,2
Le résultat est donc : (0, 15)10 = (0, 0010011001...) 2
On dit (0,15)10 est cyclique dans la Base 2 de période 1001

2- Conversion d’une Base quelconque vers la Base 10

Pour ces conversions, il suffit de représenter le nombre par une


combinaison linéaire des puissances successives de la Base et faire la
somme, le résultat ainsi trouvé s’écrit directement dans la BASE 10.
Exemple

3- Conversion d’une base b1 à une base b2

Il n’existe pas de méthode pour passer d’une base b1 à une autre base
b2 directement. L’idée est de convertir le nombre de la base b1 à la
base 10, en suit convertir le résultat de la base 10 à la base b2.

14
D- Représentation des nombres signés

La plupart des dispositifs numériques traitent également les nombres


négatifs. Le signe (+) ou (-) est identifié par un bit, dit le bit de signe et
le nombre ainsi formé est dit signé.
La notation en complément à 2
La représentation en complément à deux (complément à vrai) est la
représentation la plus utilisée pour la représentation des nombres
négatifs dans la machine. Le complément à 2 d'une valeur binaire est
ce qu'il faut ajouter à cette valeur pour qu'elle atteigne une unité de
plus que la valeur maximale qu'on peut représenter sur n bits. C'est
donc le (complément à 1) + 1.
Le complément à 2 permet de reconnaître le signe par le bit d'extrême
gauche. Notons que le complément à 2 du complément à 2 d'un
nombre redonne le nombre.
Ainsi, sur 4 bits, avec le signe représenté sur le bit le plus significatif
et 3 bits qui permettent de représenter les valeurs.

E- Opérations arithmétiques
1. L'addition
rappel :
0+0=0
0+1=1
1+0=1
1+1=10

Il suffit d’effectuer éventuellement une retenue comme dans le cas


d’une addition décimal

Exemples :

Base Binaire

15
Effectuer les opérations suivantes :
(37)8 + (65)8 + (116)8 = (242)8
(D5E)16 + (2F36)16 = (3C94)16

Base Tétrale

Base Octale

16
Base hexadécimale

2- La soustraction

L’opération se fait comme dans la soustraction décimale. Voilà ci-


dessous la table de soustraction binaire :
0-0=0
0-1=1 avec une retenue de 1
1-0=1
1-1=0
Base binaire

Base Octale

Base hexadécimale

17
Effectuer les opérations suivantes :
(137)8 - (63)8 = (54)8
(F23)16 - (2A6)16 = (C7D)16
(FD28)16 - (E5E)16 - (2F36)16 = (FD28)16 - [ (E5E)16 + (2F36)16 ] =
(FD28)16 - (3D94)16 =
(BF94)16

3- La multiplication

Base Binaire

La multiplication en binaire est aussi simple que dans le décimal, voici


la table de multiplication :
0×0=0
0×1=0
1×0=0
1×1=1
NB : prendre les décalages en compte.

Base Octale

18
Base Hexadécimale

Exercice :
Effectuer les opérations suivantes :
(237)8 * (63)8 = (17655)8

(F3)16 * (206)16 = (1EBB2)16

4- La division

Base Binaire

La division entre deux nombres binaires est identique à la division


euclidienne.

Exemple :

19
Il suffit en fait de soustraire 101 lorsqu’on le peut, et d’abaisser le
chiffre suivant :
11101 = 101 × 101 + 100

II- LE CODAGE

On appelle codage l'opération qui consiste à faire correspondre à tout


caractère (lettre, chiffre, signe,) un symbole où un ensemble de symboles
particuliers appelés mot de code. Le codage de l’information est
nécessaire pour le traitement automatique de celle-ci. Parmi les codes
les plus rencontrés, autre que le code binaire naturel on cite le code
DCB, le code GRAY, le code p parmi n, le code ASCII.

1- Les codes binaires


➢ Les codes numériques pondérés :

Les codes binaires purs ou naturels :

Ceux sont des codes qui donnent à chaque combinaison une


équivalence décimale et dans laquelle chaque rang d'élément binaire
à un poids précis. Le code binaire naturel et ses dérivés (octal et
hexadécimal) répondent aux règles classiques de l’arithmétique des
nombres positifs.

20
Les codes DCB (Décimal Codé Binaire) ou code 7 segments :

Ce code DCB (Binaire codé décimal en français), en Anglais BCD (Binary


Coded Decimal), consiste à représenter chaque chiffre d'un nombre
décimal par son équivalent binaire sur 4 bits.il est utilisé principalement
pour les afficheurs 7 segments. Il faut ici coder les chiffres décimaux
individuellement afin d’obtenir pour chaque chiffres décimaux son
équivalent codé en binaire sur 4 bits (quartet). C'est-à-dire chaque digit
doit être codé en binaire sur 4bits (unités, dizaines, centaines ...).

21
Exemple : codage des nombres 65(10) en BCD.

Ce codage est trop long pour être utilisé pour les calculs.il est
uniquement destiné à la saisie et à l'affichage de données
➢ Les codes numériques non pondérés :

Le code Gray ou code binaire réfléchi

Le code binaire réfléchi est utilisé pour simplifier des équations dans les
tableaux de Karnaugh. Le principe consiste à changer l'état d'un seul
bit entre deux nombres consécutifs.
Comparaison entre le binaire et le binaire réfléchi

22
La conversion s’effectue en reportant le premier bit du poids fort et en
additionnant les bits suivants du binaire pur un à un de la gauche vers
la droite tout en reportant à chaque fois le résultat (le bit à droite) dans
le Gray.

23
Pour convertir du gray vers le binaire pur, reportez le premier bit du
poids fort et faites des additions successives de ce bit vers les le reste
des bits du gray tout en reportant à chaque fois le résultat (le bit à droite
si le résultat est sur deux digits) dans le binaire pur.

Le code ASCII
Le code ASCII (ASCII = American Standard Code for Information
Interchange) est initialement un code à 7 bits, qui permet le codage de
128 caractères. Il englobe des lettres, des chiffes, des signes de
ponctuations et un certain nombre de signaux de commande. Toutes
ces correspondances sont fixées par l’American National Standards
Institutes

24
Table du code ASCII standard (7 bits):

Le Code Barre
Ce principe de codage, apparu dans les années 80, est largement utilisé
sur les produits de grande Consommation, car il facilite la gestion des
produits. Le marquage comporte un certain nombre de barres verticales
ainsi que 13 chiffres :
- Le 1er chiffre désigne le pays d’origine exemple : 3 = France, 4 =
Allemagne, 0 = U.S.A,
- Les cinq suivants sont ceux du code « fabricant »,
- Les six autres sont ceux du code de l’article,
- Le dernier étant une clé de contrôle
Les barres représentent le codage de ces chiffres sur 7 bits, à chaque
chiffre est attribué un ensemble de 7 espace blancs ou noirs.

25
Exemple :

Remarque :
Dans le cas où le code pays comporte 3 caractères, le code fabricant ne
comporte que 3 caractères.

26
CHAPITRE III
ALGÈBRE DE BOOLE ET FONCTIONS
BOOLÉENNES

27
1- Définition
Définit en 1847 par Georges Boole (1815-1864), physicien Anglais, elle
est l’algèbre applicable au raisonnement logique qui traite des fonctions
à variables binaires (deux valeurs). Ne s'applique pas aux systèmes à
plus de deux états d'équilibre. Permet d'étudier les circuits logiques.

2- PROPRIÉTÉS

L'algèbre de Boole est une structure algébrique qui ne contient que


deux éléments appelés variables logiques. Elles ne peuvent que
prendre deux états :
0 : Faux (False)
1 : Vrai (True)

L’Algèbre de BOOLE comme toute algèbre contient des opérations, des


variables, et des fonctions. Celles-ci prennent le nom de :
- Opérations logiques
- Variables logiques
- Fonctions logiques
ainsi donc, l'algèbre de Boole est une algèbre qui opère sur des
variables logiques à l'aide des opérateurs logiques pour réaliser une
fonction logique.

I- Les opérations logiques


Il existe six opérations logiques :
- Trois opérations principales.
- Trois opérations secondaires.

1. Les opérations principales


1.1. NON (NOT) :
Appelé couramment inverseur a une seule entrée et une seule sortie,
c'est un opérateur qui réalise le complément d'une variable logique A,
noté :

Porte NON (NOT)

28
Sa table de vérité est :

1.2 ET (AND) :

C'est le produit logique de deux ou plusieurs variables logiques, le


résultat de l'opération est 1, lorsque toutes les variables sont à 1. Si A
et B représentent deux variables logiques, le résultat de l'opération ET
entre ces deux variables est noté : A.B ou AB

Sa table de vérité est :

Porte ET (AND)

1.3. OU (OR) :

C'est la somme logique de deux ou plusieurs variables logiques, le


résultat de l'opération est 1, lorsque au moins une des variables est
égale à 1. Si A et B représentent deux variables logiques, le résultat de
l'opération OU entre ces deux variables A et B est noté : A+B

Sa table de vérité est :


Symbole Américain

Porte OU (OR)

29
2. Les opérations secondaires
2.1. NON ET (NAND) :
C'est le complément de produit logique de deux variables logiques A et
B noté :

Sa table de vérité est :

Porte NON ET (NAND)

2.2. NON OU (NOR) :


C'est l'équivalent d'une opération OU suivie d'une opération NON de la
somme logique de deux variables logiques A et B notée :

Sa table de vérité est :


Symbole Américain

Porte NON OU (NOR)

2.3. OU exclusif (XOR) :


Cette opération donne comme résultat 1, si et seulement si une des
deux variables est égale à 1, elle est définie par :

Sa table de vérité est :


Symbole Américain

Porte XOR

30
II- Propriétés des opérateurs logiques
1. Propriétés des opérateurs AND et OR

31
CHAPITRE IV
LOGIQUE COMBINATOIRE & SEQUENTIELLE, CIRCUITS
PROGRAMMABLES

32
I- LOGIQUE COMBINATOIRE
Un circuit combinatoire possède un certain nombre d’entrées et un
certain nombre de sorties. Les sorties sont reliées aux entrées par des
fonctions logiques. L’aspect temporel n’intervient pas, contrairement
aux circuits logiques séquentiels. Ces circuits sont établis à partir d’une
opération appelée synthèse combinatoire. La synthèse combinatoire est
la traduction d’une fonction logique, à partir d’un cahier des charges,
en un schéma. Diverses méthodes de synthèse sont possibles ; elles
diffèrent sur la forme de la fonction utilisée (canonique ou simplifiée),
sur le type des opérateurs ou des circuits intégrés choisis, et sur la
technique de découpage fonctionnel employée.
Dans cette partie, nous allons étudier quelques grandes fonctions
combinatoires couramment utilisées.
Le tableau suivant résume ce que nous avons déjà vu. Ces circuits
logiques existent avec 2, 3 voire 4 entrées.
Les circuits logiques combinatoires sont des circuits constitués des
portes logiques fonctionnant simultanément et réalisant une ou
plusieurs fonctions logiques.
A- Les fonctions logiques

C'est un ensemble de variables logiques reliées par des opérateurs


logiques (+, . , NON, ...). Une fonction logique ne peut prendre que deux
valeurs : 0 ou 1. Si le nombre de variables logiques égal à N on dit que
la fonction est d’ordre N

a- Représentations des fonctions logiques

Une fonction logique est une combinaison de variables logiques reliées


par les opérateurs ET, OU et NON. Elle peut être représentée par une
écriture algébrique ou une table de vérité ou un tableau de
KARNAUGH ou un logigramme.

33
Une fonction logique peut être représentée sous forme algébrique, Il
s'agit d'une représentation sous forme d'expression. Elle peut
s'exprimer comme une association de sommes et de produits logiques :

Exemple :

3 variables → 23 combinaisons
Sa table de vérité est :

b- Représentation par un logigramme


C'est une méthode graphique basée sur la représentation des équations
de sorties par des portes logiques.
Exemple :

B- Les formes canoniques


On distingue principalement deux formes canoniques qui sont :
a- Première forme canonique

Ici, la fonction est exprimée sous la forme d'une somme de toutes les
combinaisons, de toutes les variables logiques pour lesquelles la

34
fonction vaut 1 chaque terme est appelé min-terme ou
produit fondamental.

Exemple :

Dans une fonction canonique de la première forme, Chaque terme de


la somme est multiplié par la somme de(s) variable(s) manquante(s) et
de leur complément.

Exemple :

b- Deuxième forme canonique

La fonction est exprimée sous la forme d'un produit de sommes,


comprenant toutes les variables, chaque terme est appelé max-terme ou
somme fondamentale.

Exemple :

Dans une fonction canonique de la deuxième forme, on détermine


d'abord l'expression complémentée de la fonction ensuite on la met sous
la première forme canonique, et on finit en complémentant à nouveau
la fonction. Le résultat trouvé est la fonction sous sa deuxième forme
canonique.

Exemple :

35
C- Simplification des fonctions logiques
L'objectif de la simplification des fonctions logiques est de minimiser le
nombre de termes afin d'obtenir la forme la plus simple de la fonction,
ou plus exactement sa forme minimale. Deux méthodes de
simplification sont utilisées :
- La simplification algébrique.
- La simplification graphique par tableau de KARNAUGH.

a- La simplification algébrique

Par application des lois de l'algèbre de Boole, le résultat de la


simplification dépend de la manière dont ont été menés les calculs. Il
est à noter qu'un même terme peut être utilisé plusieurs fois pour la
simplification.

Exemple :

Remarque : Les règles et propriétés de l'algèbre de Boole permettent de


simplifier les fonctions mais se révèle inefficace quand la fonction est
importante. Elle ne permet jamais de savoir si l'on aboutit ou pas à une
expression vraiment réduite de la fonction. La méthode du tableau de
KARNAUGH devient donc inévitable pour aboutir à une expression
minimale de la fonction.

b- Tableaux de KARNAUGH
Présentation de la méthode :
La méthode de KARNAUGH consiste à présenter les états d’une fonction
logique, non sous la forme d’une table de vérité, mais en utilisant un
tableau à double entrée. Cela permet d’éviter la simplification algébrique
de la fonction. Chaque case du tableau correspond à une combinaison
des variables d’entrées, donc à une ligne de la table de vérité.

36
Le tableau de Karnaugh aura autant de cases que la table de vérité
possède de lignes. Les lignes et les colonnes du tableau sont numérotées
selon le code binaire réfléchi, donc chaque fois que l’on passe d’une case
à l’autre, une seule variable change d’état. On peut numéroter les
cases pour que ce soit plus facile à remplir, mais attention à l’ordre de
numérotation !
Soit l’équation :S = ab + abc +bc
Passage de la table de vérité au tableau de KARNAUGH

Simplification d’équations

La méthode consiste à réaliser des groupements de CASES


ADJACENTES contenant des 1 ou des 0. Un groupement de 1 permet
d’obtenir l’équation de S , un groupement de 0 permet d’obtenir
l’équation S

Exemples de groupements

Règles :
• Le nombre de cases d’un groupement doit être égal à 1, 2 ,4 , …2 n

37
• Les groupements doivent être les plus grands possibles
• Les groupements peuvent se chevaucher pour être les plus grands
possibles.
• Dans chaque groupement on ne retient que les variables dont l’état ne
change pas.
• Pour extraire l’équation de la fonction logique on ne retient que les
variables dont l’état ne change pas à l’intérieur d’un groupement et on
effectue la somme logique (OU logique) de toutes les expressions

Un groupement de 1 case n’élimine aucune variable


- Un groupement de 2 cases élimine 1 variable
- Un groupement de 4 cases élimine 2 variables
- Un groupement de 8 cases élimine 3 variables

38
A une combinaison d’entrées (l’entrée) ne correspond qu’une seule
combinaison de sorties (la sortie). La « sortie » apparaît après application
de l’« entrée » avec un certain retard qui est le temps de propagation
dans la logique interne. Ce temps est déterminé par la technologie
utilisée, le nombre de portes traversées et la longueur des
interconnections métalliques.
Les circuits combinatoires peuvent servir par exemple :
• à traduire des bits en chiffres représentant un nombre (ou des lettres
ou un code particulier). On appelle ces circuits des codeurs (ou bien
des décodeurs pour l’opération inverse). Par exemple, un codeur Gray
ou bien BCD.
• à effectuer des opérations arithmétiques sur des nombres. Par
exemple, un additionneur ou un multiplieur.
• à transmettre ou recevoir des informations sur une ligne unique de
transmission (une ligne série), ce qui nécessite de transformer un
nombre écrit sous forme parallèle en une suite de bits mis en série et
vice-versa. C’est le rôle des circuits multiplexeur/démultiplexeur.
Voici par exemple une transformation série/parallèle suivie d’une
transformation parallèle/série :

D- Démultiplexeurs
Un démultiplexeur réalise l’opération inverse de celle du multiplexeur.
Il s’agit d’un circuit possédant :

- n entrées de commande (ou d’adresse) : An-1…A0 ;

- 2n sorties : S2n -1…S0 ;

39
- une entrée de donnée D.

Un démultiplexeur recopie l’entrée D sur la sortie correspondant à la


valeur présente sur les entrées d’adresse. Une sortie non sélectionnée
est à 0.

Pour un démultiplexeur à 2 entrées d’adresse, si on a par exemple (A1,


A0)= 11, la sortie3 est connecté à D :

La table de vérité correspondante est la suivante :

On peut remarquer que lorsque l’entrée vaut toujours 1, un


démultiplexeur devient un décodeur (et donc qu’un décodeur est un cas
particulier du multiplexeur).

40
Le schéma fondamental d’un démultiplexeur est :

E- Le décodeur

41
Le décodeur est de la même famille que le démultiplexeur, mais avec
l’entrée G qui vaut 1 en permanence. On trouve alors en sortie un 1
parmi des 0.

On appelle aussi ce circuit un décodeur d’adresse utilisé pour adresser


les différentes lignes d’une mémoire. Sa table de vérité est égale à :

On obtient donc l’équation suivante : YK(N) = 1 si K = N

YK(N) = 0 si K ≠ N

Comme pour le démultiplexeur, la limitation de ce type de circuit est le


nombre de broches qui croit fortement avec le nombre de variables
d’adresse N.

F- Multiplexeur

C’est un circuit qui possède :

- des entrées de commande (ou d’adresse), au nombre de n : An-1…A0

- des entrées de données, au nombre de 2n : D2n-1…D0 ;

- une sortie S.

Un multiplexeur est qualifié par rapport à ses entrées de données. Par


exemple, on parle de multiplexeur 8 vers 1 pour 8 entrées de donnée et

42
3 entrées d’adresse. Le multiplexeur peut être vu comme un
commutateur commandé par les entrées d’adresse : selon la valeur des

entrées d’adresse, une des entrées de données sera connectée en sortie.


Supposons un multiplexeur à deux entrées adresses A1 et A0 ; pour
chaque combinaison binaire de (A1, A0), une entrée de donnée sera
connectée en sortie. Par exemple, pour (A1,A0)=10, l’entrée D2 sera
connectée en sortie.

La table de vérité correspondante est la suivante :

43
On en déduit la fonction logique de sortie. Chaque ligne de la table
correspond à un terme d’une somme de produits. On détermine chacun
de ces termes de la même façon que pour une fonction logique composée
de 0 et de 1, sauf que chaque combinaison d’entrée est multipliée par la
valeur correspondante de la fonction :

Exemple :

Le schéma logique est le suivant :

44
a1 a0 Y
0 0 0 I0
1 0 1 I1
2 1 0 I2
3 1 1 I3

Nous verrons aussi qu’un multiplexeur peut servir à réaliser des


fonctions logiques quelconques. La limitation de ce type de circuit est
toujours le nombre de broches qui croit avec le nombre de variables
d’adresse N de la même manière que le démultiplexeur.

G- L’encodeur
L’encodeur est la fonction inverse du décodeur. On met sur les entrées
un 1 parmi des 0 et on obtient sur les sorties l’adresse de l’entrée à 1.
La priorité ne sert que quand plusieurs entrées sont à 1 en même temps.
Le circuit donne alors l’adresse de l’entrée dont le rang est le plus élevé.
Il y a donc priorité aux entrées de rang le plus élevé.

Exemple de réalisation d’une fonction logique combinatoire :


Ce paragraphe explique les différentes méthodes de réalisation de
fonctions logiques avec des circuits standards. Rappelons tout d’abord
les trois formes de fonction logique F sur un exemple avec la table de
vérité suivante.

45
A partir de ces trois formes et de la table de vérité, on peut réaliser la
fonction logique F soit avec un multiplexeur, soit avec un décodeur,
soit avec des opérateurs fondamentaux, soit avec une PROM.

• Avec la forme simplifiée par le tableau de Karnaugh et le théorème de


De Morgan, on réalise F avec, par exemple, des portes NAND :

46
• Avec la forme canonique abrégée, on réalise F avec un décodeur
et une porte OR :

47
Avec la table de vérité, on réalise F avec une PROM. Dans notre exemple,
il faut connecter a2a1a0 sur les adresses de la mémoire et charger les 8
bits aux adresses 0 à 7. F est alors disponible sur le bit de donnée. La
réalisation d'une fonction logique avec une PROM est à la base du
fonctionnement des PAL et des EPLD.

Le choix du circuit ou des circuits dépend de la (ou des) fonction(s)


logique(s) à réaliser. Chaque méthode a ses avantages et ses
inconvénients. Il faut prendre en compte le nombre et le prix des boîtiers
utilisés pour calculer le coût de la fonction et il faut déterminer le
nombre de couches logiques traversées pour calculer sa vitesse. Les
domaines d’utilisation sont les suivants :

⇒ Les portes élémentaires sont utilisées quand il y a peu de fonctions et


de variables d’entrées.

48
⇒ Le décodeur est utilisé quand il y a peu de variables d’entrées (les
boîtiers ont un nombre limité de broches) et beaucoup de sorties (on
câble un OR par sortie).

⇒ Le multiplexeur ne permet de réaliser qu’une seule fonction (il n’a


qu’une sortie) avec quelques variables d’entrées (une de plus que le
décodeur à taille de boîtier équivalente). Il nécessite le câblage le plus
simple et le plus petit boîtier.

⇒ La PROM est utilisée quand il y a beaucoup de variables d’entrées et


quelques variables de sorties (8 ou 16 au maximum). Par exemple, une
PROM 1024x8 (1024 octets) permet de réaliser 8 fonctions de 10
variables.

II- LOGIQUE SEQUENTIELLE :


Dans la logique séquentielle, les circuits sont déterministes mais leur
état présent est fixé par toute la séquence des entrées, c'est-à-dire par
les valeurs qui ont précédées les valeurs actuelles.
Ces circuits n’obéissent plus aux règles de la logique combinatoire. Ils
doivent être décrit et étudiés dans le cadre de la logique séquentielle. Le
terme ”séquentielle” fait référence à une succession d’événements dans
le temps et s’applique aux systèmes où le temps joue un rôle à part
entière pour la détermination de l’état de sortie.
La situation est complètement différente lorsque la sortie d’une porte
est rebouclée sur son entrée. Dans cette situation l’état de sortie du
circuit à un instant donné
dépend :
- De la valeur des entrées à cet instant
- De la valeur de la (ou des) sortie(s) aux instants antérieurs
On distingue deux types de systèmes logiques séquentiels :

49
- les circuits séquentiels asynchrones, dans lesquels les sorties
évoluent dès qu’il y a un changement sur l’une des entrées ;
- les circuits séquentiels synchrones, dans lesquels les sorties
ne peuvent évoluer que si un signal d’horloge est actif. Ce
dernier peut être actif sur un niveau (0 ou 1) ou sur un front
(Montant ou descendant).
A- Bascules
Les bascules sont les circuits logiques de base de la logique séquentielle.
Il existe des bascules asynchrones et des bascules synchrones.

De façon générale une bascule se caractérise par :


- L’existence de deux états de sortie stables. C’est à dire deux
états dans lesquels la bascule peut se maintenir indéfiniment
sans action extérieure.
- Des entrées de commande permettant de passer au choix d’un
état à un autre.
a- Bascules asynchrones
La bascule RS est la plus simple de toutes les bascules. Elle est à la base
des autres bascules : la bascule JK et la bascule D, entre autres.

Bascule RS
La bascule RS est la plus simple des bascules. Elle est réalisée à partir
de deux portes NOR ou de deux portes NAND. Nous allons étudier en
détail le fonctionnement de la bascule RS réalisée avec des portes NOR.
La bascule possède deux entrées notées R et S ainsi que deux sorties
Conventionnellement notées

Bascule RS à portes NAND :

50
La valeur de la sortie Qt au temps t dépend à la fois des valeurs de et de
l'état de sortie Qt-1, état immédiatement avant l'application de la nouvelle
séquence d'entrée. La combinaison de ces trois variables donne normalement 23
combinaisons possibles de sortie résumées dans le tableau ci-dessous.

Interprétation du tableau :

51
Bascule RS à portes NOR :

On peut considérer cette bascule comme un élément de mémorisation


de 1 bit.

Pour résumer, une bascule RS comporte :


- une entrée R (Reset) de mise à zéro,
- une entrée S (Set) de mise à un,
- une sortie Q et son inverse /Q.

52
Pour déterminer la fonction Qn+1, il faut considérer Qn comme
une des entrées, puisqu’il s’agit d’une variable pouvant prendre les
valeurs 0 ou 1. On peut alors établir le tableau de Karnaugh, comme on
l’a fait pour les circuits combinatoires :

Bascule JK

Contrairement à la bascule RS, la condition J=K=1, ne donne pas lieu à


une condition indéterminée, mais par contre la bascule passe à l’état
opposé.

Par rapport à la bascule RS, l’intérêt est que l’état inutilisé devient
utilisable. En effet, à la différence de la bascule RS, si J=K=1, les 2
sorties ne sont pas égales toutes les 2 à 1.Quand on arrive dans l’état
J=K=1 à partir de l’un des 3 autres, on a donc forcément les 2sorties
complémentaires. Par contre, quand au moins l’une des 2 entrées J et
K est égale à 0, on retrouve le même comportement que la RS classique.

53
La

Bascule D
Supposons que l’on contraigne les entrée R et S de la bascule pour
qu’elles soient toujours complémentaires, avec R=D et S = /D :

Elle permet d'éliminer l'état interdit 1-1


Gabriel

Quand EN = 1, Q = D: le verrou est en mode transparent


Quand EN = 0, Q = Q: le verrou est en mode m_emoire

On peut la simplifier de la manière suivante :

54
Bascule T

55
b- Bascules synchrones :
Dans le cas des bascules asynchrones décrites dans les paragraphes
précédents, le changement d'état de la sortie se produit immédiatement
quand les valeurs d'entrée sont changées (en négligeant le temps de
transit). Il existe d'autres bascules, dites synchrones, pour lesquelles le
changement d'état de la sortie est cadencé au rythme d'un signal appelé
horloge "clock".

La synchronisation des circuits séquentiels peut se faire de trois façons


différentes :

- sur niveau : les changements d’état ont lieu pour un niveau donné (0
ou 1) de l’horloge ;
- sur front : les bascules changent d’état uniquement sur un front
montant ou descendant de l’horloge ;
- par impulsion : les bascules changent d'état après deux fronts
successifs de l'horloge (front montant puis descendant ou vice versa).
Bascule RS synchrone (RSH)

La bascule RSH est une bascule synchrone dont les entrées n'influent
pas sur l'état de sortie tant qu'une variable nommée horloge n'est pas
activée. En fait une bascule RSH est une bascule RS à laquelle on a
ajouté deux portes NAND, pour former la borne de contrôle d'horloge H.
La figure ci-dessous présente le schéma interne de la bascule RSH.
56
Si H=0, cela est équivalent à avoir R=S=0. On est donc dans l’état de
mémorisation, et ceci quels que soient les états de R et de S.

Par contre, si H=1, le fonctionnement revient à celui de la bascule RS à


portes NON-ET, étudié précédemment.

L’entrée H permet donc de bloquer ou non le fonctionnement de la


bascule RS. Il est utilisé comme signal de synchronisation. En général,
il est périodique ; on l’appelle signal d’horloge. Il permet de n’autoriser
les changements de la sortie qu’à des instants biens précis.

On peut donc synchroniser le fonctionnement de cette bascule sur


d’autres circuits. Ici, cette synchronisation s’effectue sur un niveau.

Cette bascule est appelée également RSH ou RST. Pour obtenir la table
de vérité de cette bascule, il suffit de reprendre celle de la bascule RS à
portes NON-ET :

Bascule JK synchrone (ou JKH) ou Maitre-Esclave

57
Il s’agit de la bascule JK étudiée précédemment, à laquelle une entrée
de synchronisation est ajoutée.

Le fonctionnement de la bascule JK Maître-Esclave est le suivant :


• Si J = K = 0
Les entrées S et R sont à 0. Lors de l’impulsion d’horloge, la bascule
RS maintient alors l’état
précédent des sorties Q et /Q.
• Si J = 0 et K = 1
L’entrée S demeure à 0, tandis que R dépend de la valeur de Q.
- Si Q = 0, alors R =0, et les sorties gardent les états précédents après
impulsion d’horloge.
- Si Q = 1, alors R = 1, une opération de mise à zéro est commandée et
par conséquent la sortie Q est
ramenée à 0.
Donc quel que soit l’état initial de sortie Q, cette dernière se met à 0
quand J = 0 et K = 1.
• Si J = 1 et K = 0
Le point R demeure à 0, tandis que S dépend de la valeur de /Q.

58
- Si /Q = 0, alors S = 0, et les sorties gardent les états précédents
après impulsion d’horloge (Q = 1).
- Si /Q =1, alors S=1, une opération de mise à 1 est commandée à la
sortie Q.
Donc la sortie Q se met à 1 quand J = 1 et K = 0.
• Si J = K = 1
Dans cette condition les retours croisés des sorties Q et /Q
commandent une opération de basculement.
En effet, si (Q = 0 donc /Q = 1), après impulsion d’horloge Q et /Q sont
respectivement à l’état 1 et 0,
tandis que si (Q = 1 donc /Q = 0), après impulsion d’horloge Q et /Q
sont respectivement à l’état 0 et 1.

Les différents cas ci-dessus sont résumés dans la table de vérité de la


bascule JK Maître-Esclave donnée par le tableau ci-dessous.

Bascule D à verrou (D latch)


L'inconvénient de la bascule RSH est la présence, quand H=1, de l'état
d'entrée R=S=1, qui est un état interdit. Etant donné que la bascule RSH
met sa sortie Q à la même valeur que l'entrée S lorsque R est
complémentaire à S, on peut réaliser une bascule D en ajoutant un
inverseur à l'entrée R d'une bascule RSH, comme le montre la figure ci-
dessous. La nouvelle entrée unique est appelée l'entrée de donnée D
"Data". Dans ces conditions l'état R=S=1 qui donnait lieu à un
fonctionnement ambigu ne peut plus exister.
Cette bascule est très utilisée dans les compteurs synchrones.

59
Lorsque H = 1, la sortie Q est identique à D (Q=D) ; on dit que la bascule
est transparente. Lorsque H = 0, la sortie Q demeure à la dernière valeur
de D qu’elle avait avant que H passe au niveau 0. En d’autres termes, la
sortie est verrouillée "latched" sur D et ne change pas tant que CLK reste
au niveau bas, même si D change de valeur. Le fonctionnement de la
bascule D "latch" est résumé dans la table de vérité suivante.

Bascule T synchrone

La bascule T est une bascule qui a une seule entrée T et deux sorties
complémentaires Q et Q. Les sorties de la bascule changent d’état à
chaque front appliqué à son entrée T. La bascule T peut être réalisée à
partir d’un bascule JK ou d’une bascule D, comme le montre la figure
ci-dessous.

60
La table de vérité de la bascule T est la suivante

Synchrone vs asynchrone

Les systèmes synchrones possèdent les avantages et inconvénients


suivants vis -à vis des systèmes asynchrones :

􀂃 leur synthèse est plus simple (on a vu que l’on pouvait synthétiser
n’importe quelle séquence, mais comment faire pareil avec un circuit
asynchrone ? La réponse sort du cadre de ce cours) ;

􀂃 leur consommation est plus importante (car l’horloge fonctionne


même quand le système est au repos) ;

􀂃 il sont plus lents (car il faut attendre chaque coup d’horloge pour la
mise à jour des sorties et/ou états internes) ;

􀂃 un système séquentiel peut comporter des états instables, et ceux-ci


peuvent durer pendant une période d’horloge (ce qui représente un
inconvénient) ;

III- LES CIRCUITS PROGRAMMABLES

Définition :

Un circuit programmable est un assemblage d’opérateurs logiques


combinatoires et de bascules dans lequel la fonction réalisée n’est pas
fixée lors de la fabrication. Il contient potentiellement la possibilité de
réaliser toute une classe de fonctions, plus ou moins large suivant son

61
architecture. La programmation du circuit consiste à définir une
fonction parmi toutes celles qui sont potentiellement réalisables.
Compréhension de quelques termes :

C'est quoi le BIOS ?

BIOS = Basic Input/Output System

Le BIOS est un petit programme. Il est situé sur la carte mère de


l'ordinateur dans une puce de type ROM. Le BIOS est le premier
programme chargé en mémoire dès que vous allumez votre ordinateur.
Il assure plusieurs fonctions :

• lePOST (Pre-Operating System Tests ou Power-On Self Tests selon


les écoles) : c'est l'ensemble des tests qu'effectue le BIOS avant de
démarrer le système d'exploitation:

o Vérifier que la carte mère fonctionne bien (barrettes de


mémoire vive (RAM), contrôleurs de ports série, parallèle,
IDE, etc.)

o Vérifier que les périphériques simples ("Basic") connectés à


la carte mère fonctionnent bien (clavier, carte graphique,
disques dur, lecteur de disquette, lecteur de CD-Rom.…)

• Paramétrer la carte mère (à partir des informations


stockées dans les CMOS

• Chercher un disque sur lequel il y a un système


d'exploitation prêt à démarrer.

C'est quoi une ROM ?

ROM = Read Only Memory

C'est un type de puce capable de stocker des informations et de les


conserver même quand le courant est coupé. En principe une ROM n'est
pas modifiable. On ne peut que lire les informations qu'elle contient.
Cependant il existe certaines ROM qu'on peut exceptionnellement
modifier (par exposition aux UVs, ou bien électroniquement). Ces ROM
sont dites "flashables". (Mais elles ne supportent pas d'être trop
modifiées : il faut donc l'éviter). Dans un PC, on trouve des ROMs sur la
62
carte mère (elle contient le BIOS), dans les cartes graphiques, dans les
cartes réseau, etc.

C'est quoi les CMOS ?

CMOS = Complementary Metal Oxide Semiconductor

C'est un type de puce capable de stocker des informations et de les


conserver même quand l'ordinateur est éteint. Leur contenu est
maintenu par un faible courant électrique fourni par une pile. Ces
mémoires peuvent être modifiée souvent sans dommage. Le BIOS vient
lire des informations dans cette mémoire quand vous allumez
l'ordinateur. Il y stocke également la date et l'heure et vient
régulièrement les mettre à jour. Les mémoires CMOS sont plus lentes
que celles utilisées pour le fonctionnement courant de l'ordinateur

Les Circuits logiques programmables (Programmable Logic Device– PLD)


Selon le caractère programmable des matrices AND et OR, il existe :
PROM (programmable read-only memory)
PAL (programmable array logic)
PLA ( programmable logic array)
PLA Les deux matrices sont programmables

Matrice AND programmable suivie 'une matrice OR fixe

63
PROM
La matrice AND est fixe et la matrice OR est programmable.
C’est une mémoire :
la matrice AND sert de décodeur d'adresse;
pour chaque valeur d'adresse, la PROM produit une valeur qui lui a
été programmée

Exemple de programmation d’une PAL

Structure de base d’un PLD

Principe de PLA
Les ensembles «ET» et «OU» forment chacun ce qu’on appelle une
matrice.
Les interconnexions de ces matrices doivent être programmables
=>
Elles sont assurées par des fusibles qui sont « grillés » lors de la
programmation.
64
Lorsqu’un PLD est vierge toutes les connexions sont assurées.

Classification d’après les structures de sortie

Trois types de structures de base :

Combinatoire

Séquentielle

65
Versatile

66
CHAPITRE III
MEMOIRE CENTRALE & MEMOIRE CACHE

67
I- MEMOIRE CENTRALE

La mémoire est un composant de base de l'ordinateur, sans lequel tout


fonctionnement devient impossible. Son rôle est de stocker les données
avant et pendant leur traitement par le processeur. Ces données sont
d'apparence binaire et mémorisées sous forme d'impulsions électriques
(une impulsion est égale à 1, aucune impulsion est égale à 0).
Plusieurs types de mémoires sont utilisés, différentiables par leur
technologie (DRAM, SRAM, ...), leur forme (SIMM, DIMM, ...) ou encore
leur fonctionnement (RAM, ROM,).
1. ROM (Read−Only Memory)
Ce type de mémoire est par définition une mémoire ne pouvant être
accessible qu'en lecture. En fait, certaines variantes peuvent être lues
et écrites mais souvent de manière non permanente. On les utilisera
pour stocker des informations devant être rarement mise à jour. De
plus, ces données ne seront pas perdues si la mémoire n'est plus
alimentée électriquement.
2. RAM (Random Access Memory)

Cette mémoire, à l'inverse de la mémoire ROM, peut être lue et écrite de


manière standard, tout en étant
nettement plus rapide. Il s'agit d'une
mémoire volatile ce qui sous−entend
que son contenu est perdu
lorsqu'elle n'est plus alimentée
électriquement. Lorsqu'il est sujet de
mémoire vive, de mémoire cache, il
s'agit toujours de mémoire RAM. Ce
type de mémoire se décline en deux grandes catégories :

68
SRAM (Static Mémoire statique. Cette mémoire a l'immense avantage de
pouvoir stocker une valeur pendant une longue période sans devoir être
rafraîchie. Cela permet des temps d'accès très court (8−20ns). Les
deux inconvénients sont son coût très élevé et son encombrement.
La DRAM, Mémoire dynamique. A l'inverse de la mémoire SRAM, elle
doit être rafraichie plusieurs fois par (Dynamic secondes, ce qui en
augmente le temps d'accès (50−80ns). Par contre son coût est nettement
inférieur et son encombrement faible. Il est facile de placer 64 Mo sur
une barrette DIMM ( 13/3cm).
La vitesse
Lors de l'achat de mémoire, il est important d'en spécifier la vitesse
désirée. Celle−ci est exprimée en nanoseconde et varie selon le type, l’âge
et la fonction de la mémoire désirée. Par exemple, pour de la mémoire
vive, on compte actuellement entre 70 et 50 ns, alors que par le passé,
cette valeur pouvait atteindre 120 ns. La vitesse est normalement
inscrite sur les circuits DIP qui composent la mémoire. Une barrette à
60 ns portera une inscription se terminant par −06 ou −60.

SDRAM Synchronous Dynamic Random Access Memory (DRAM) est


le type le plus populaire de la technologie de mémoire utilisée dans les
ordinateurs d’aujourd’hui. Pratiquement tous les ordinateurs en usage
aujourd'hui a SDRAM, ou un de ses dérivés les plus récents, installés.

69
La SDRAM est un type de mémoire système utilisée dans les
ordinateurs. Le nom " synchrone " se réfère au fait qu'il transfère les
données en temps avec l'horloge interne du système d'un ordinateur.

SRAM CPU
D'une taille comprise entre 8 et 128 ko, cette mémoire est toujours
Level 1placée dans le processeur. Elle est souvent appelée cache interne
ou (L1) Registres
II-. LA MEMOIRE CACHE
Dans un ordinateur récent, le processeur est généralement le plus
rapide. Il peut ainsi traiter une quantité d'information extrêmement
conséquente par seconde
et donc répondre dans
un délai très court à
toute demande. Cette
situation serait idyllique
s'il était approvisionné
suffisamment rapidement en données, ce qui n'est malheureusement
pas le cas. En effet, les mémoires de masse, tel q'un disque dur, sont
beaucoup trop lentes pour garantir un débit suffisant. La mémoire vive
permet d'améliorer les temps d'accès mais reste bien en deçà des
possibilités du processeur. La mémoire cache permet de corriger
grandement ce problème. Composée de mémoire SRAM donc très rapide,
elle diminue les temps d'attente du processeur. Malheureusement, son

70
coût extrêmement élevé en empêche l'usage comme mémoire vive. En
effet, la quantité requise placerait un PC à un prix inabordable. Elle est
donc utilisée en petites quantités sur la carte−mère de manière à
apporter des gains de vitesses seulement où cela est vraiment
nécessaire.

Il convient de ne pas confondre la mémoire cache physique (L1 ou L2)


avec les autres sortes de caches. Une mémoire de masse peut être
vendue avec une mémoire cache intégrée. Ainsi de plus en plus de
disques durs sont vendus avec de petites mémoires caches intégrées,
qui ont pour effet d'en accélérer le débit. Dans certains cas, on parle de
cache disque, tels que smart drive (fourni avec le Dos). Il ne s'agit ici que
d'une fonction logicielle qui permet d'augmenter le débit d'un disque
(dur ou CD). Le procédé est simple, une partie de la mémoire vive est
utilisée comme tampon pour les écritures sur ledit disque. Si cela
permet effectivement d'en augmenter un peu les performances, c'est au
détriment de la mémoire utilisable.
Fonctionnement
La mémoire vive fonctionne généralement à la fréquence de la carte
mère, qui, depuis le 486DX2, est inférieure à celle du processeur. Sa
lenteur ainsi que la différence de fréquence oblige ce dernier à patienter
sur la mémoire vive. Ainsi de nombreux cycles sont perdus sans raison
valable. La mémoire cache Level 2 vient donc se placer entre ces deux
éléments. Plus rapide que la mémoire vive, elle offre des temps de
réponse acceptables pour le processeur. Le but est que le processeur
n'ait jamais à demander une donnée directement à la mémoire vive, il
doit pouvoir la trouver dans la mémoire cache.
Pour qu'un tel système fonctionne, il est évident que la mémoire cache
doit être alimentée en données par la mémoire vive avant que le
processeur ne formule une demande. Le cache fonctionne donc par
anticipation technique jamais totalement parfaite. Grâce à un

71
algorithme complexe, il va déposer dans le cache les données que le CPU
devrait demander aux prochains cycles. Et cela s'avère juste la plupart
du temps, le pourcentage de réussite tend à le prouver. Lorsque les
valeurs résultantes sont retournées par le processeur, le circuit inverse
est utilisé. Les valeurs sont écrites dans la mémoire cache, puis lorsque
les ressources sont faiblement occupées, dans la mémoirevive.
Le cache Level 1 est situé dans le processeur. A l'instar du cache Level
2, il sert aussi de mémoire tampon entre un élément lent et un plus
rapide. Le plus lent est évidemment la mémoire cache L2, alors que le
rapide est le processeur.
La mémoire DDR−SRAM
Afin d'augmenter le débit de la mémoire, la mémoire DDR−SRAM est
capable de transférer des données sur les courbes montantes et
descendantes du signal. Cette technologie est appelée Double Data Rate
(DDR) permet
des transferts
de l'ordre de
1,03 Go/s. La
mémoire de
type
DDR−SRAM
ou SRAM II a
été acceptée
comme standard par huit grands fabricants (Samsung, Nec, Toshiba,)
La mémoire SLDRAM
Le standard SLDRAM est un nouveau standard ouvert, libre de royalties
proposé par SyncLink, un consortium regroupant les principaux
constructeurs de DRAM. Ce standard est très proche des mémoires de
type RDRAM proposées par Rambus. La SLDRAM propose un double

72
bus de données à 200 Mhz, 16 bits et orienté paquets. Il permettrait des
débits de l'ordre de 800 Mo
par secondes.
La mémoire Ram bus
propose une toute nouvelle
approche de la mémoire actuelle. Pour eux, la mémoire n'est pas
seulement une barrette ou une puce, mais un système complet. C'est
effectivement le seul moyen d'obtenir une mémoire efficace et cohérente.
LaTechnologie Rambus est proche des réseaux à topologie bus ou des
chaînes SCSI. A la base se trouve un contrôleur chargé de piloter
l'ensemble. Il alimente un bus à haute vitesse, où la mémoire est
connectée en série. Le tout étant terminé par une résistance le
terminateur. Tout cela permet d'atteindre une fréquence de 800 Mhz et
des débits calculés de l'ordre de 1,6 Go par secondes. Les informations
de contrôles sont transmises via des lignes dédiées, séparées des lignes
de données. Les données sont émises sur les crêtes ascendantes et
descendantes du signal d'horloge.
Les barrettes SIP
Les barrettes SIP (Single In−Line
Package) sont tombées en
désuétude depuis un certain
temps déjà. Elles se présentaient
sous forme d'une barrette avec
des broches à insérer dans un
compartiment récepteur. Ces barrettes avaient soit une valeur de 256
ko, soit de 1 Mo. Leur seule utilisation actuelle est celle de mémoire pour
certaines carte graphique. Leur fragilité est l'une des raisons de son
faible succès, en effet, une patte pouvait être trop facilement pliée ou
cassée.

73
Les barrettes SIMM 8bits / 30 pins
La mémoire SIMM (Single In−Line Memory Module) de 8 bits se présente
sous la forme d'une barrette d'environ 8.5 cm de long, sur laquelle sont
fixés des composants électroniques. Elle est aussi souvent appelée
barrette SIMM 30 pins. On les place dans des connecteurs groupés par
deux (386SX) ou quatre (dès le 386DX), généralement les cartes mères
comportent deux bank(bank 0 et bank 1).
Une bank doit impérativement être utilisée dans son intégralité. Ces
barrettes peuvent avoir une valeur de 256 ko, 1 Mo ou 4 Mo. Chaque
barrette a une encoche dans l'angle inférieur gauche qui sert de
détrompeur, évitant ainsi de la monter à l'envers.
Les barrettes SIMM 32bits / 72 pins

La mémoire SIMM de 32 bits (appelée aussi SIMM 72 pins) se présente


aussi sous la forme d'une barrette, mais plus longue que les 8 bits
(environ 10.5 cm).
Au niveau des valeurs, les SIMM 32 bits disponibles sont de 1 Mo, 2 Mo,
4 Mo, 8 Mo, 16 Mo, 32 Mo et 64 Mo. Ces barrettes sont surtout utilisées
dans les Pentium, ainsi que sur les carte−mères 486. Les barrettes
SIMM 32 ont deux détrompeurs, une encoche dans le coin inférieur
gauche (comme les SIMM 8 bits) et une encoche arrondie au centre
de la barrette.
Les barrettes DIMM
Les barrettes DIMM (Dual In−Line Memory Module) sont désormais
supportées par la plupart des PC récents. Actuellement utilisées
uniquement pour la mémoire SDRAM, elles se présentent sous la forme
d'une barrette longue de 13,3 cm. Adaptée aux Pentiums, elles sont
composées de 64 bits (72 avec contrôle de parité), on les appelle
communément DIMM 168 pins. Une barrette DIMM a 84 connecteurs
sur chaque face, mais chacun est indépendant. Ces barrettes sont
disponibles en 5 et en 3,3 V.

74
75
CHAPITRE IV

LES CIRCUITS INTEGRES

76
I- Evolution des circuits intégrés

77
78
79
80
CHAPITRE V
LES CONTROLEURS DE PERIPHERIQUE ET LES BUS
d’entree/sortie

81
I- Les Contrôleurs de Périphérique

Chaque périphérique est piloté par un contrôleur qui contient souvent


son propre microprocesseur, ses registres et
sa mémoire tampon. Le contrôleur s’occupe
des commandes détaillées du périphérique :
• gestion des incidents
• détection d’erreurs
• conversion de format ...
Le rôle de ce contrôleur est d’adapter la diversité des périphériques
(débit, temps de réponse, forme des données, forme des signaux de
commande) à une interface commune, respectant les normes adaptées
par le constructeur. Le contrôleur est donc une unité électronique qui
respecte à la fois la spécificité du périphérique connectée et l’autre les
prescriptions et spécifications des unités d’échange utilisées.

1- Les contrôleurs SCSI


Le bus SCSI (Small Computer System Interface) est très répandu en
matière d’interface entre ordinateurs de toutes tailles et périphériques
de toutes natures tels que disques durs, CD-ROM, scanners, etc...
Un bus SCSI permet de connecter en parallèle jusqu’à 32 unités
physiques. Une bande passante jusqu’à 320 Mo/s.

82
1- Les contrôleurs IDE
C’est une Interface destinée aux
périphériques de stockage :
• disque dur, CD-ROM, ZIP drive,
Elle Supporte des débits allant jusqu’à
100 Mo/s. C’est une interface que l’on
retrouve la plupart du temps dans le chipset de la carte mère.
2- Les contrôleurs USB
Nouveau bus série destiné aux PC. Il supporte des taux de transfert de
données atteignant 1.5 Mo/s. Sur un même port USB on peut connecter
jusqu’à 127 périphériques. USB supporte le Plug and Play et le Hot PnP.
USB 2.0, nouvelle version de cette interface va supporter un débit de
400 Mo/s.
II- Les BUS- Entrée/Sortie
1- Les BUS :
Tous les systèmes dans un ordinateur sont reliés par un ensemble de
lignes faisant transiter les informations (signaux électriques : bits) Ces
câbles sont partagés par tous les composants.
Le Bus relie plusieurs systèmes via le même câblage électrique.
On distingue deux grandes familles de Bus :
a- Les BUS systèmes
- Le Bus de données sur lequel transitent les données,
véhiculent les instructions en provenance ou à destination du
processeur. Il s'agit d'un bus bidirectionnel.
- Le Bus d’adresse sur lequel transitent les adresses mémoires
auxquelles le processeur souhaite accéder pour lire ou écrire
une donnée. Il s'agit d'un bus unidirectionnel.
- Le Bus de contrôle ou bus de commandes, il transporte les
ordres et les signaux de synchronisation en provenance de
l'unité de commande et à destination de l'ensemble des

83
composants matériels. Il s'agit d'un bus bidirectionnel dans la
mesure où il transmet également les signaux de réponse des
éléments matériels.
b- Les types de Bus de données
ISA (Industrie standard Bus Architecture). Ce type de bus est utilisé
dans les premiers PC (8086, 80286). Développé par un consortium par
opposition à IBM micro canaux. Il contient 64 + 36 lignes :

• 20 + 4 lignes d'adresse
• 8 + 8 lignes de données

Il est Synchrone avec une horloge de 8,33 MHz Il existe trois versions de
ce bus, les deux premiers étaient 16 bits, le troisième était de 32 bits. Il
est un bus parallèle qui fonctionne de manière synchrone, mais dans la
troisième révision fonctionnait de manière asynchrone ce qui rend plus
efficaces les communications.

PCI (Bus Peripheral Component Interconnect). Développé par Intel en


1992 il a remplacé le bus ISA et ses variantes. Il existe en plusieurs
versions : PCI, PCI 2.0, PCI 2.1, PCI 2.2, PCI-X, PCI-X DDR. Il a une
fréquence de 33 jusqu’à 266 MHz. Il a un faible taux de latence et un
débit élevé.

USB (Universal Serial Bus). Ce Bus a été développé pour connecter des
périphériques. Il a été mis au point en 1995 par un consortium :
(Compaq, HP, Intel, Lucent, Microsoft, NEC, Philips).
Il est caractérisé par : sa flexibilité, sa simplicité ; un bus unique pour
de nombreux périphériques ; extensible ; Économique. On peut
connecter les périphériques à chaud.

Les débits :

• USB 1.0 : 1,5 Mbit / s ;


• USB 1.1: 12 Mbit / s ;
84
• USB 2.0: 480 Mbits / s ;
• USB 3.0: 4,8 Gbit / s.

SCSI (Small Computer System Interface). Il a été développé pour


connecter plusieurs disques internes ou externes à l'ordinateur (disques
durs SCSI), CD - DVD - lecteur de bande - imprimantes - scanners.

• Il existe plusieurs versions du ce type de BUS : SCSI-1, SCSI-2,


SCSI-2 rapide, rapide Wide SCSI-2, SCSI-3 Ultra.
• Ses fréquences : 10 à 160 MHz
• Une bande passante jusqu’à 320 MB /seconde

FireWire (IEEE 1394). Il a de nombreuses similitudes avec l’USB, c’est


un bus avec la possibilité de connexion à chaud des périphériques. Il a
un transfert de données plus élevé que USB. Le port FireWire a deux
types de normes. Elles sont établies par 'Institut d'ingénieur électrique
et électronique (IEEE) : L'IEEE 1394a a égale à 400 Mbit/s. Le IEEE
1394b une vitesse de communication jusqu’à 800 Mbit/s.

PCI-X est une évolution du PCI. Il a été développé par le même


consortium qui a développé le PCI, peut atteindre 4 fois le la bande
passante d’un PCI.

PCMCIA (Personal Computer Memory Card International Association)


est un bus d’extension utilisé sur les ordinateurs portables. Il permet
la connexion de périphériques de taille très réduite du format d’une
carte bancaire

c- Les caractéristiques d’un BUS

- Largeur de bande

Un bus est caractérisé par le volume d'informations transmises


simultanément. Ce volume, exprimé en bits, correspond au nombre de
lignes physiques sur lesquelles les données sont envoyées de manière
simultanée. Une nappe de 32 fils permet ainsi de transmettre 32 bits en

85
parallèle. On parle ainsi de « largeur » pour désigner le nombre de bits
qu'un bus peut transmettre simultanément.
- La vitesse
La vitesse du bus est également définie par sa fréquence (exprimée en
Hertz), c'est-à-dire le nombre de paquets de données envoyés ou reçus
par seconde. On parle de cycle pour désigner chaque envoi ou réception
de données.
- Le débit
Il est donc possible de connaître la quantité de données qu'un BUS peut
transporter par unité de temps, en multipliant sa largeur de bande par
sa fréquence.
Ex : Un bus d'une largeur de 16 bits, cadencé à une fréquence de 133
MHz possède donc un débit égal à : 16 * 133.106 = 2128.106 bit/s,
- soit 2128.106/8 = 266*106 octets/s
- soit 266.106 /1000 = 266*103 Ko/s
- soit 259.7.103 /1000 = 266 Mo/s

86

Vous aimerez peut-être aussi