ISET RADES Département : Génie Électrique Niveau L1, semestre 2
15. Les registres
UE :Traitement de Données I ECUE : Systèmes logiques CI : 1.5h/semaine
I – Identification de la fonction
Introduction : Tout système numérique a besoin de mémoriser les données sur lesquels il travaille dont le but de différer
leur traitement
Rappel : une donnée logique est constituée d’un seul bit et elle est mémorisable en utilisant une bascule.
Définition : Une données numériques est un ensemble de données logiques sous forme d’un mot binaire de n bits et sera
mémorisé dans un registre. Un registre est un montage composé d’un ensemble de bascules.
II – Les registres
Un registre est caractérisé par :
Sa capacité de mémorisation (nombre de bits)
Son mode d’écriture (série ou parallèle)
Son mode de lecture (série ou parallèle)
II – 1 – Le registre à entrée parallèle et à sortie parallèle
Ce registre est aussi appelé « registre parallèle / parallèle ».
Le mode parallèle signifie que l’ensemble des bits du mot binaire sont mémorisés simultanément dans en une seule
opération.
Schéma d’un registre parallèle / parallèle 4 bits utilisant 4 bascules D :
D Q D Q D Q D Q
H H H H
Le chargement du registre s’effectue de manière globale à chaque front actif de l’horloge. Le mot binaire de 4 bits
mémorisé est disponible à tout moment sur les sorties Q des bascules.
II – 2 – Le registre à entrée série et à sortie parallèle
Ce registre est aussi appelé « registre série / parallèle ».
Le mode série signifie que le mot binaire à mémoriser est appliqué bit à bit sur l’entrée de la première bascule jusqu'à ce
que le registre soit plein
95 Systèmes Logiques Chapitre 15
Schéma d’un registre série / parallèle 4 bits utilisant 4 bascules D :
D Q D Q D Q D Q
H H H H
Remarques :
Chaque sortie Q d’une bascule est reliée à l’entrée D de la bascule suivante
A chaque front actif de l’horloge les bits mémorisé dans le registre se décale d’un rang : un
tel registre est appelé un registre à décalage
Pour un registre à décalage à n bits il faudra attendre n impulsions sur l’horloge avant que le mot binaire soit
entièrement mémorisé
II – 3 – Le registre à entrée série et à sortie série
Ce registre est aussi appelé « registre série / série ».
C’est un registre à décalage possédant une seule entrée de donnée et une seule sortie
Schéma d’un registre série / série 4 bits utilisant 4 bascules D :
D Q D Q D Q D Q
H H H H
Remarques :
Le chargement du registre s’effectue bit à bit en 4 étapes, en envoyant 4 impulsions sur l’entrée d’horloge
La lecture du mot binaire mémorisé s’effectue également en 4 étapes, avec les 4 impulsions suivantes arrivant sur H
Le premier bit entré dans le registre sera le premier bit sortie
II – 4 – Le registre universel
Ce registre regroupe dans un seul circuit les differents types precedents en permettant les modes de fonctionnement
suivants :
Chargement en série ou en parallèle
Lecture en série ou en parallèle
Symbole d’un registre universel 4 bits :
Entrée d’horloge H
Choix du mode M
Entrée de donnée série E S Sortie de donnée série
E0 S0
Entrée de donnée parallèle E1 S1 Sortie de donnée parallèle
E2 S2
E3 S3
96 Systèmes Logiques Chapitre 15
L’entrée M permet de déterminer le mode de fonctionnement utilisé :
Mode de
M Remarques
fonctionnement
0 Série Les données sont lues bit à bit sur l’entrée E,
et sont sorties du registre bit à bit sur la sortie S
1 Parallèle Le registre est chargé d’un coup à partir des entrées E0 à E3.
La donnée mémorisée est disponible à tout moment sur les sorties S0 à S3.
III – Les mémoires
La somme d’informations que doit traiter tout système automatique nécessite l’utilisation de circuits ayant la capacité
de conserver un grand nombre de données numériques. Ces circuits capables de recevoir et de restituer les informations
portent le nom de « mémoire ».
III – 1 – Structure des circuits mémoire
Dans un circuit mémoire chaque information numérique est mémorisée dans un registre accessible à une adresse.
Une mémoire est donc un circuit composé d’un ensemble de registre, accessible individuellement grâce à une adresse
Symbole d’un circuit mémoire :
A0 RAM D0
A1 D1
Bus d’adresse
A2 D2
A3 D3 Bus de donnée
D4
D5
D6
H D7
R/W
CS
Circuit mémoire
Remarques :
Le bus d’adresse :
Les entrées A0 à A3 permette de définir l’adresse d’un des registres et constitue le bus d’adresse
Le bus de données : Les bornes D0 à D7 constituent le bus de données permettant d’écrire ou de lire les informations
numériques dans le circuit mémoire. Ces bornes sont bidirectionnelles.
Ce sont des entrées dans le cas d’une écriture dans la mémoire
Ce sont des sorties dans le cas d’une lecture
97 Systèmes Logiques Chapitre 15
L’entrée R/W : Elle permet de définir l’action à réaliser
R/W Sens de circulation des données
Lecture d’une donnée dans la mémoire
1
Ecriture d’une donnée dans la mémoire
0
L’entrée CS : Elle permet de valider ou d’inhiber le circuit
CS Etat du boîtier mémoire
Le circuit mémoire est validé
1
Le circuit mémoire n’est pas validé (déconnexion du bus de donnée)
0
L’entrée d’horloge H : Elle permet de déclencher l’action préprogrammée sur les entrées
Dans l’exemple du circuit mémoire donnée en bas de la page 3, on remarque que :
Le bus de données est composé de 8 bits : cela signifie que les mot binaire mémorisé on une taille de 8 bits, ce
circuit mémorise donc des octets.
Le bus d’adresse est composé de 4 bits, il permet donc d’accéder à 24=16 registre internes différents
La capacité de ce boîtier mémoire est donc de 16 octets
III – 2 – Caractéristiques des circuits mémoire
Un circuit mémoire est caractérisé par :
La taille des mots binaires qu’il peut mémoriser (exemple : 8 bits)
La quantité de mots binaires qu’il peut mémoriser (exemple : 16 ko)
Rappel concernant les préfixes utilisés pour désigner les mémoires de grande capacité :
Nom Préfixe Quantité équivalente
1 kilo octet 1Ko 2 10 octets = 1024 ocets
1 méga octet 1Mo 2 10 Ko = 1024 Ko =220 ocets
1giga octet 1Go 2 10 Mo = 1024 Mo=230 ocets
1 téra octet 1To 2 10 Go = 1024 Go =240 ocets
1 péta octet 1Po 2 10 To = 1024 To =250 ocets
1 exa octet 1Eo 2 10 Po = 1024 Po=260 ocets
1 zetta octet 1Zo 2 10 Eo = 1024 Eo =270 ocets
1 yotta octet 1Yo 2 10 Zo = 1024 Zo=280 ocets
De plus chaque circuit mémoire possède une ou plusieurs entrée(s) de validation du boîtier, noté parfois E (pour Enable =
validation) parfois CS (pour Chip Select = sélection du boîtier). Ces entrées peuvent être active au niveau haut ou au
niveau bas (voir le symbole du circuit ou la documentation constructeur pour le savoir).
98 Systèmes Logiques Chapitre 15
III – 3 – Emploi de l’hexadécimal pour désigner les adresses mémoire
Prenons comme exemple le circuit mémoire suivant possédant un bus d’adresse de 10 bits :
RAM
Bus Bus de
d'adresse A0 à A9 D0 à D7 données
H
R/W
CS
Cette mémoire mémorise des octets car son bus de données est sur 8 bits
Elle possède 10 lignes d’adresse (A0 à A9) permettant d’adresser 210 =1024 registres internes
de 8 bits chacun. La capacité de ce boîtier mémoire est donc de 1 ko.
L’adresse du 1er registre est :
L’adresse du 1024ème registre est :
L’espace mémoire adressable par ce boîtier mémoire va donc de l’adresse à l’adresse
, ce qui représente 1024 adresses différentes.
Avantage de l’hexadécimal pour représenter les adresses mémoire :
Avec très peu de chiffres l’hexadécimal permet de représenter les grands espaces mémoire, ce qui n’est pas le
cas en binaire.
La conversion entre le binaire et l’hexadécimal est immédiate (il suffit de regrouper les bits par paquets de 4),
ce qui n’est pas le cas du décimal.
Pour toutes ces raisons l’hexadécimal sera toujours le système de numération utilisé pour exprimer les adresses mémoires
dans le plan mémoire d’un système numérique.
III – 4 – Utilisation de plusieurs boîtier mémoire pour augmenter la capacité
Le boîtier mémoire précédent a une capacité de 1 ko. Si on veut une mémoire de 2 ko il faudra alors utiliser 2 boîtiers
différents :
2 ko = 2x1024 octets = 2048 octets = 211 octets
Il faut 11 lignes d’adresse pour adresser 2048 adresses différentes/ L’idée est alors la suivante : on va ajouter un 11 ème
bit sur le bus d’adresse (noté A10) qui va permettre de sélectionner un boîtier ou l’autre selon qu’il est à 0 ou à 1 :
A10 Boîtier mémoire sélectionné
0 Boitier 1 sélectionné
1 Boitier 2 sélectionné
99 Systèmes Logiques Chapitre 15
Réalisation d’une mémoire de 2
ko avec deux boîtiers de 1 ko
̅ chacun
Conséquence : 1024
$7FF
Les adresses 00000000000(2) à 01111111111(2) registre du
correspondent aux 1024 registres du boîtier 1 et les adresses 1 ko La
boitier 2
10000000000(2) à 11111111111(2) correspondent aux 1024 $400 capacité
totale
registres du boîtier 2. On peut alors représenter l’espace
1024 adressable
mémoire par le plan mémoire ci-contre. L’espace mémoire $3FF
registre du est de 2 ko
adressable va maintenant de l’adresse 000(16) à l’adresse boitier 1
1 ko
7FF(16), ce qui représente bien une capacité de 2 ko (2048 $000
adresses).
Découpage du plan mémoire
Autre exemple : comment adresser 4ko en utilisant 4 boîtiers identiques de 1 ko chacun ?
La solution consiste à utiliser un démultiplexeur 1 vers 4, dont les 2 entrées d’adresse seront ajoutées au bus d’adresse :
Boîtier 1 $FFF
BOITIER
1 ko
4
CS
$C00
$BFF
Boîtier 2 BOITIER
1 ko
3
DMUX
CS $800
4 ko
1 4
$7FF
BOITIER
1 ko
Boîtier 3 2
$400
CS
$3FF
BOITIER 1 ko
1
Boîtier 4 $000
CS
Découpage du plan mémoire
A11 A10 Boîtier sélectionné Intervalle des adresse de chaque boîtier en binaire
0 0 Boitier 1 De % 0000 0000 0000 à %0011 1111 1111
0 1 Boitier 2 De % 0100 0000 0000 à %0111 1111 1111
1 0 Boitier 3 De % 1000 0000 0000 à %1011 1111 1111
1 1 Boitier 4 De % 1100 0000 0000 à %1111 1111 1111
100 Systèmes Logiques Chapitre 15