Vous êtes sur la page 1sur 27

COURS D’ARCHITECTURE 2

Classes Préparatoires Intégrées


Ecole Supérieure nationale d’Informatique

1
Chapitre 1: Les mémoires à
semi-conducteurs

Les mémoires associatives

CPI2 – E.S.I.
Les mémoires associatives

Définition :
Une mémoire associative est une mémoire adressable
par son contenu contrairement aux mémoires
conventionnelles où l’accès se fait à partir d’une
adresse donnée.

3
Les mémoires associatives
Exemple :
Groupe Nombre de filles Nombre de garçons
5 12 18
1 13 16
3 10 21
2 15 13
4 14 14

"Quel est le nombre de garçons dans le groupe 3 ?"


4
Les mémoires associatives
Recherche de l’information
Dans une mémoire classique (RAM ), il faut connaitre
l’adresse pour retrouver l’information sinon faire un
parcours séquentiel de la RAM .
Si la taille de la RAM est grande ceci implique un temps de
recherche élevé voir prohibitif dans certains cas.
Pour remédier à ce problème lancer une recherche parallèle
sur toute la mémoire or ceci n’est pas possible avec une
mémoire à accès aléatoire.
Dans une RAM ,la question qu’on se pose est : « Quelle est
l’information qui se trouve à telle adresse ? »
Dans une MA, la question est formulée autrement :  « Existe-il
un mot mémoire contenant l’information ‘Info1’ ? »
5
Les mémoires associatives
Description d'une mémoire associative

6
Les mémoires associatives
Description de la mémoire associative
 Un registre clé (C) de même format que le mot mémoire, il
recevra l’information qui sert de critère de recherche.
 Un registre masque (M) de même format que le mot mémoire,
il permet de préciser le champs sur lequel portera la recherche.
 Un bloc mémoire constitué de l’ensemble des mots de la
mémoire associative.
 Un registre de sortie (S) de même format que le mot mémoire,
il permet de récupérer le résultat de la lecture uniquement.
 Un registre indicateur (I) composé d’autant de bits que de mots
mémoire.
 Un circuit de sélection formé des logiques de recherche, de
lecture et d’écriture.
7
Les mémoires associatives

Les opérations sur les mémoires associatives

Comme pour les mémoires conventionnelles, il est


possible de faire les opérations de lecture et d’écriture
en mémoire associative cependant ces opérations de
lecture ou écriture sont toujours précédées de
l’opération de recherche.

8
Les mémoires associatives
Opération de recherche
C
SET
M I
BENALI 170
CHABANE 180
HAMOU 165
BACHI 172
KACIM 178

S
9
Les mémoires associatives
Opération de recherche
• 1- Positionner tous les bits du registre I à '1' en
activant la commande SET.
• 2- Placer l'information dans le champ taille du
registre C: (170 dans le champ taille).
• 3- Positionner à '1' les bits correspondant au
champ taille dans le registre M et les autres à '0'.
(00000...0111...1).
• 4- Activer la commande de recherche.

10
Opération de recherche
C
SET
M I
BENALI 170 1
CHABANE 180 1
HAMOU 165 1
BACHI 172 1
KACIM 178 1

S
11
Opération de recherche

C XXXX 170

SET
M I
BENALI 170 1
CHABANE 180 1
HAMOU 165 1
BACHI 172 1
KACIM 178 1

S
12
Opération de recherche
C XXXX 170

SET
M 000…0 1…1 I
BENALI 170 1
CHABANE 180 1
HAMOU 165 1
BACHI 172 1
KACIM 178 1

S
13
Opération de recherche

C XXXX 170

Recherche
M 000…0 1…1 I
BENALI 170 1
CHABANE 180 1
HAMOU 165 1
BACHI 172 1
KACIM 178 1

S
14
Opération de recherche

C XXXX 170

M 000…0 1…1 I
BENALI 170 1
CHABANE 180 0
HAMOU 165 0
BACHI 172 0
KACIM 178 0

S
15
Opération de recherche
Circuit de recherche : Relation entre
le registre Clé et le registre Masque

Ci Mi L1i L0 i Effet
0 1 0 1 Recherche d’un ‘0’
1 1 1 0 Recherche d’un ‘1’
X 0 0 0 Bit masqué

16
Opération de recherche
Circuit de recherche

17
Circuit de recherche
Table de vérité
L1i L0i Effet Bki RAZi
0 0 Bit masqué X 0
0 1 Recherche d’un ‘0’ 0 0
0 1 Recherche d’un ‘0’ 1 1
1 0 Recherche d’un ‘1’ 1 0
1 0 Recherche d’un ‘1’ 0 1
18
Circuit de recherche

19
Opération de Lecture

Remarque

• L’opération de lecture doit


toujours être précédée d’une
recherche

20
Opération de Lecture

21
Opération d’écriture

Remarque

• L’opération d’écriture doit


toujours être précédée d’une
recherche

22
Opération d’écriture

23
Sélection du premier répondeur

Remarque
• Le schéma présenté pour
l’opération de lecture suppose
qu’il y a au plus un répondeur à la
fois.

24
Sélection du premier répondeur

25
Synthèse

Mots clés:

•Associative Memory

•Mémoire Associative

26
Exercice d’application
Exercice : 
Soit une mémoire associative composée d’entiers positifs de 7 bits.
 
Question :
Donner l’algorithme le plus court qui transforme, en parallèle, tous les
nombres pairs en nombres impairs et les nombres impairs en nombres
pairs en un minimum de cycle.
On ajoute une deuxième mémoire de la même taille que la première
(même nombre de mots et même nombre de bits). Ecrire le
programme le plus court qui copie tous les mots pairs et supérieurs ou
égaux à la valeur ‘16’ de la première mémoire dans la deuxième. On
devra commencer par initialiser tous les mots de la deuxième mémoire
à zéro.
27