Vous êtes sur la page 1sur 21

1 Structure d’un système à Microprocesseur

IUGET

2022-2023

Système Architecture Microprocesseur

Préparé, rédigé et enseigné par : Dr TCHAMDA


(PhD en électronique,
Assistant université de Dschang,
Domaines : Système embarqué
Internet des objets - IoT,
Intelligence artificielle(IA)

© TCHAMDA 2022 -- 2023 ISSTN 1


1 Structure d’un système à Microprocesseur Embarqué

© TCHAMDA 2022 -- 2023 ISSTN 1


1 Structure d’un système à Microprocesseur Embarqué

© TCHAMDA 2022 -- 2023 ISSTN 1


2 Structure d’un système à Microprocesseur Embarqué

Chapitre 1

Architecture de base d’un système à microprocesseur

Le développement de l'électronique numérique a suscité l'apparition de plusieurs types de


composants très puissants en particulier les systèmes micro-programmés. Leur aptitude à
s'adapter aux contraintes technologiques de plus en plus complexes, leur capacité de gérer un
grand nombre de fonctionnalités variées et leur coût de revient faible a encouragé leur utilisation
dans plusieurs applications tant domestiques qu'industrielles.

Le développement de ces composants programmables remplace de plus en plus


l'électronique classique vu que les circuits intégrés analogiques ou logiques ne peuvent plus
résoudre des fonctions de plus en plus complexes.
Historiquement, les constructeurs développèrent d'abord les systèmes micro
programmés intégrés dans les calculateurs de bureau ou de poche, avec des codes d'ordre
orientés vers le calcul numérique. Puis maitrisant cette technique ils offrirent des circuits
d'usage généraux : les microprocesseurs. Les systèmes micro programmés ont vu leur
importance progresser au rythme de l’importance prise par les microprocesseurs. C'est d'ailleurs
l'élément de base pour de tels systèmes.
1971 : premier microprocesseur 4 bits 4004 d’Intel. La miniaturisation des transistors a
permis d’augmenter considérablement la capacité d’intégration sur silicium. On est passé
rapidement du processeur 4 bits au :
 processeur 8 bits.
 processeurs 16 bits.
 processeurs 32 bits.
 processeurs 64 bits

Cette miniaturisation a offert des possibilités de réaliser des systèmes embarquées.

© TCHAMDA 2022 -- 2023 ISSTN 2


3 Structure d’un système à Microprocesseur Embarqué

I. STRUCTURE D’UN SYSTEME MICROPROGRAMMES


Les structures matérielles des systèmes de traitement de l’information sont essentiellement
organisées autour du microprocesseur. Le microprocesseur est un circuit intégré complexe
caractérisé par une très grande intégration et doté de facultés fonctionnelles d’interprétation et
d’exécution des instructions d’un programme. Comme dans tout circuit intégré, la technologie
de fabrication impose au microprocesseur des caractéristiques de :
- temps de réponse,
- consommation.

Cependant, le microprocesseur ne peut fonctionner sans un environnement minimal comportant


:
- une zone de mémoire vive pour les données et résultats,
- une zone de mémoire morte pour les programmes ou systèmes d’exploitation,
- une ou plusieurs interfaces pour les périphériques.

Entre les différents ensembles, les liaisons fonctionnelles sont assurées par trois groupes de
conducteurs en parallèles appelés bus et ayant chacun une fonction spécifique.

Les fonctions du microprocesseur sont variées :


 organiser l’enchaînement des tâches précisées dans la mémoire programme,
 rythmer et synchroniser l’exécution des tâches,
 analyser le contenu du programme, sélectionner, gérer et commander les circuits
nécessaires à l’exécution de chaque tâche,
 prendre en compte les informations extérieures au système.

III. L’ENVIRONNEMENT DU MICROPROCESSEUR


1. Mémoire :
Un circuit intégré de type mémoire permet de stocker et de restituer une très grande quantité
d’informations correspondant à N mots de n bits. Une mémoire est constituée par un assemblage
de cellules mémoires. Dans chaque cellule, il est possible d’écrire, de conserver et d’extraire un
élément d’information. Pour gérer cet ensemble de cellules mémoires, le circuit comprend
également des sélecteurs d’adresse, des amplificateurs, des commandes de modes de
fonctionnement… Il existe deux familles de mémoires:

© TCHAMDA 2022 -- 2023 ISSTN 3


4 Structure d’un système à Microprocesseur Embarqué

Les mémoires vives, RAM (Random Access Memory) : mémoires qui peuvent être lues
et écrites en permanence. Elle contient habituellement les données pendant le traitement d’un
programme. Elle est effacée en cas de coupure d’énergie,
Les mémoires mortes, ROM (Read Only Memory) : Avec ces mémoires, seule la lecture
est possible. Les données qu’elle contient sont enregistrées par le concepteur du système. En
fonction de leur construction, il existe différents types :
 PROM, Programmable ROM : ROM programmable,
 EPROM, Erasable PROM : PROM effaçable,
 EEPROM, Electric Erasable PROM : PROM effaçable électriquement.

2. Interface :
L’interfaçage est l’ensemble matériel qui permet de transférer les données entre le système
de traitement de l’information et les périphériques. On distingue les interfaces série et les
interfaces parallèles.
3. Périphériques :
Les périphériques sont les matériels extérieurs aux systèmes informatiques. On y retrouve :
 tous les matériels qui servent à la communication de l’homme avec le système
informatique : écran, clavier, souris…
 tous les systèmes de stockage des informations : lecteur de disquettes et CDROM,
disque dur, lecteur de bandes magnétiques…
 tous les appareils qui servent à traduire les données sur papier : imprimante à aiguilles,
jet ou bulles d’encre, laser…
 tous les appareils qui servent à acquérir des informations extérieures : lecteur de cartes
magnétiques, scanner, appareil photo numérique, carte d’acquisition son et vidéo…

II. MICROPROCESSEUR
Un microprocesseur est un circuit intégré complexe. Il résulte de l’intégration sur une puce
de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles (registres,
compteur, etc…). Il est capable d'interpréter et d'exécuter les instructions d'un programme.

© TCHAMDA 2022 -- 2023 ISSTN 4


5 Structure d’un système à Microprocesseur Embarqué

Un microprocesseur est construit autour de deux éléments principaux:


‐ Une unité de commande
 Une unité de traitement
Ces unités sont associées à des registres chargées de stocker les différentes informations à
traiter. Ces éléments sont reliés entre eux par des bus interne permettant les échanges
d’informations.

Figure: Architecture de base d’un µP.


L’unité de commande Elle permet de séquencer le déroulement des instructions. Elle effectue
la recherche en mémoire de l'instruction. Comme chaque instruction est codée sous forme
binaire, elle en assure le décodage pour enfin réaliser son exécution puis effectue la préparation
de l'instruction suivante.
Pour cela, elle est composée par :
 le compteur de programme : constitué par un registre dont le contenu est initialisé avec
l'adresse de la première instruction du programme. Il contient toujours l’adresse de l’instruction
à exécuter.
 le registre d'instruction et le décodeur d'instruction : chacune des instructions à
exécuter est rangée dans le registre instruction puis est décodée par le décodeur d’instruction.
 Bloc logique de commande (ou séquenceur) : Il organise l'exécution des instructions
au rythme d’une horloge. Il élabore tous les signaux de synchronisation internes ou externes
(bus de commande) du microprocesseur en fonction des divers signaux de commande provenant
du décodeur d’instruction ou du registre d’état par exemple. Il s'agit d'un automate réalisé soit
de façon câblée (obsolète), soit de façon micro‐ programmée, on parle alors de micro‐
microprocesseur.

L’unité de traitement C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent
les traitements nécessaires à l'exécution des instructions :
 L’Unité Arithmétique et Logique (UAL) : est un circuit complexe qui assure les fonctions
logiques (ET, OU, Comparaison, Décalage, etc…) ou arithmétique (Addition, soustraction).
 Le registre d'état : est généralement composé de 8 bits à considérer individuellement.
Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière opération
effectuée par l’UAL. On les appelle indicateur d’état ou flag ou drapeaux. Dans un programme

© TCHAMDA 2022 -- 2023 ISSTN 5


6 Structure d’un système à Microprocesseur Embarqué

le résultat du test de leur état conditionne souvent le déroulement de la suite du programme. On


peut citer par exemple les indicateurs de :
 retenue (carry : C)
 signe (Sign : S)
 débordement (overflow : OV ou V)
 zéro (Z)
 parité (Parity : P)
 Les accumulateurs : sont des registres de travail qui servent à stocker un opérande au
début d'une opération arithmétique et le résultat à la fin de l'opération.
 Des registres auxiliaires permettant de relayer les accumulateurs,
 Des registres d’index pour le mode d’adressage indirect,

Les applications des systèmes à microprocesseurs sont multiples et variées :


– Ordinateur
– console de jeux
– calculatrice
– television
– Machine a lave
– système automatises

On peut noter qu’il existe 2 catégories de microprocesseur : les CISC et les RISC.
– CISC (Complex instruction set computer) : Ce microprocesseur possède un
nombre important d’instructions. Chacune d’elles s’exécute en plusieurs périodes
d’horloges.
– RISC (Reduced instruction set computer) : Ce microprocesseur possède un
nombre réduit d’instructions. Chacune d’elles s’exécute en une période d’horloge.

un pipeline (ou chaîne de traitement1), est l'élément d'un processeur dans lequel
l'exécution des instructions est découpée en plusieurs étapes. Le premier ordinateur à utiliser
cette technique est l'IBM Stretch, conçu en 1961. Avec un pipeline, le processeur peut
commencer à exécuter une nouvelle instruction sans attendre que la précédente soit terminée.
Chacune des étapes d’un pipeline est appelé étage. Le nombre d'étages d'un pipeline est appelé
sa profondeur.
Le pipeline est un mécanisme permettant d'accroître la vitesse d'exécution des
instructions dans un micro-processeur. L'idée générale est d'appliquer le principe
du travail à la chaîne à l'exécution des instructions. Dans un micro-processeur sans
pipeline, les instructions sont exécutées les unes après les autres. Une nouvelle
instruction n'est commencée que lorsque l'instruction précédente est complètement
terminée. Avec un pipeline, le micro-processeur commence une nouvelle instruction
avant d'avoir fini la précédente. Plusieurs instructions se trouvent donc
simultanément en cours d'exécution au cœur du micro-processeur. Le temps
d'exécution d'une seule instruction n'est pas réduit. Par contre, le débit du micro-
processeur, c'est-à-dire le nombre d'instructions exécutées par unité de temps, est
augmenté. Il est multiplié par le nombre d'instructions qui sont exécutées
simultanément.

© TCHAMDA 2022 -- 2023 ISSTN 6


7 Structure d’un système à Microprocesseur Embarqué

Aléas

Le bon fonctionnement du pipeline peut être perturbé par plusieurs événements


appelés aléas (pipeline hazard en anglais). Ces événements sont classés en trois
catégories.

aléas structurels
Ce type de problèmes survient lorsque deux instructions dans des étages
différents du pipeline nécessitent la même ressource.
aléas de données
Ce type de problèmes survient lorsqu'une instruction nécessite une donnée qui
n'a pas encore été calculée par une instruction précédente. Ceci provient du
fait que les instructions lisent leurs arguments dans les premiers étages du
pipeline alors qu'elles produisent leur résultat dans les derniers étages.
aléas de contrôle
Ce type de problèmes survient dès qu'une instruction de branchement est
exécutée. Si le branchement est effectué, les instructions qui suivent dans le
pipeline ne doivent pas être exécutée. Ceci provient du fait que la nouvelle
adresse est calculée alors que les instructions qui suivent ont déjà été chargées

La solution générale pour résoudre un aléa est de bloquer l'instruction qui pose
problème et toutes celles qui suivent dans le pipeline jusqu'à ce que le problème se
résolve. On voit alors apparaître des bulles dans le pipeline. De manière pratique, la
bulle correspond à l'exécution de l'instruction NOP qui ne fait rien.

III. ARCHITECTURE D’UN SYSTEME A


MICROPROCESSEUR
L'architecture d'un système à microprocesseur représente l’organisation de ses différentes
unités et de leurs interconnexions. Le choix d'une architecture est toujours le résultat d'un
compromis entre
– performances et coûts
– efficacité et facilité de construction
– performances d'ensemble et facilité de programmation

1. Modèle de von Neumann


Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein d’un
système minimum de traitement programmé de l’information. John Von Neumann est à
l'origine d'un modèle de machine universelle de traitement programmé de l’information (1946).
Cette architecture sert de base à la plupart des systèmes à microprocesseur actuel. Elle est
composée des éléments suivants :
– une unité centrale
– une mémoire principale
– des interfaces d’entrées/sorties

© TCHAMDA 2022 -- 2023 ISSTN 7


8 Structure d’un système à Microprocesseur Embarqué

Les différents organes du système sont reliés par des voies de communication appelées bus.

2. ARCHITECTURE DE HARVARD
Cette architecture sépare systématiquement la mémoire de programme de la mémoire des
données : l'adressage de ces mémoires est indépendant. Ce type d’architecture est utilisé sur des
microcontrôleurs qui ont connu un développement important ces dernières années.

Quoique cette architecture puisse être complexe mais elle est performante: Gain en
terme de vitesse d’exécution des programmes : L’exécution d’une instruction ne fait plus appel
qu’à un seul cycle machine puisque l’on peut simultanément, grâce au deux bus, rechercher le
code de l’instruction et la ou les données qu’elle manipule

IV. CYCLE D’EXECUTION D’UNE INSTRUCTION


Le microprocesseur ne comprend qu’un certain nombre d’instructions qui sont codées en
binaire. Le traitement d’une instruction peut être décomposé en trois phases.
– Phase 1 : Recherche de l'instruction à traiter

1. Le PC (compteur programme) contient l'adresse de l'instruction suivante du programme.


Cette valeur est placée sur le bus d'adresses par l'unité de commande qui émet un ordre de
lecture.
2. Au bout d'un certain temps (temps d'accès à la mémoire), le contenu de la case mémoire
sélectionnée est disponible sur le bus des données.
3. L'instruction est stockée dans le registre instruction du processeur.
– Phase 2 : Décodage de l’instruction et recherche de l'opérande

Le registre d'instruction contient maintenant le premier mot de l'instruction qui peut être codée
sur plusieurs mots. Ce premier mot contient le code opératoire qui définit la nature de l'opération
à effectuer (addition, rotation,...) et le nombre de mots de l'instruction.
1. L'unité de commande transforme l'instruction en une suite de commandes élémentaires
nécessaires au traitement de l'instruction.
2. Si l'instruction nécessite une donnée en provenance de la mémoire, l'unité de commande
récupère sa valeur sur le bus de données.
3. L’opérande est stocké dans un registre.
– Phase 3 : Exécution de l'instruction
1. Le microprogramme réalisant l'instruction est exécuté.
2. Les drapeaux sont positionnés (registre d'état).
3. L'unité de commande positionne le PC pour l'instruction suivante.

© TCHAMDA 2022 -- 2023 ISSTN 8


9 Structure d’un système à Microprocesseur Embarqué

Chapitre 3 :
Les BUS

Comme nous l’avions vu plus haut, les trois éléments fondamentaux d’un système
microprogrammé sont : le microprocesseur ou microcontrôleur, la mémoire et les boîtiers
d’entrées sorties. Tous ces éléments sont reliés entre eux par des bus comme le montre la figure
ci dessous :

On appelle Bus, en informatique, un ensemble de liaisons physiques (câbles, pistes de circuits


imprimés, ...) pouvant être exploitées en commun par plusieurs éléments matériels afin de
communiquer. Les Bus ont pour but de réduire le nombre de traces nécessaires à la
communication des différents composants en mutualisant les communications sur une seule
voie de données. Dans le cas où la ligne sert uniquement à la communication de deux
composants matériels, on parle parfois de port (port série, port parallèle, ...). Un Bus est
caractérisé par le volume d'informations transmises simultanément (exprimé en bits),
correspondant au nombre de lignes sur lesquelles les données sont envoyées de manière
simultané. Une nappe de 32 fils permet ainsi de transmettre 32 bits en parallèle. On parle ainsi
de "largeur de bus" pour désigner le nombre de bits qu'il peut transmettre simultanément.
D'autre part, 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. De cette façon, il est possible de connaître la
bande passante d'un bus, c'est-à-dire le débit de données qu'il peut transporter, en multipliant sa
largeur par sa fréquence.

© TCHAMDA 2022 -- 2023 ISSTN 9


10 Structure d’un système à Microprocesseur Embarqué

La vitesse du bus est également définie par sa fréquence, exprimée en Hertz, correspondant
au nombre de paquets transmis par seconde. Chaque envoi ou reception de données est désigné
par un cycle.
Pour calculer la bande passante d'un bus, il faut appliquer cette formule:

Un Bus d'une largeur de 16 bits, cadencé à une fréquence de 133 Mhz possède donc une bande
passante égale à :

Pour la communication, un microprocesseur a besoin en général de trois Bus. Un Bus de


données, un Bus d’adresse et un Bus de commande. Sur la figure suivante nous présentons un
système à base de microprocesseur classique avec ces trois Bus. Chaque Bus a une fonction
particulière :

I. Bus de données.
Il permet de véhiculer des données du microprocesseur vers un composant ou d'un composant
vers le microprocesseur. Il est donc bidirectionnel. Le nombre de fils de ce bus varie suivant les
microprocesseurs (8 / 16 / 32 / 64 bits). Dans la littérature, les différents fils de ce bus sont
appelés D0, D1, ..., Dp-1, si le bus a "p" fils.

II. Bus d’adresse.


La mémoire est composée de nombreuses cases mémoires. Chaque case est repérée par une
adresse. Lorsque le microprocesseur veut, par exemple, lire une case, il doit indiquer à quelle
adresse elle se trouve. Il met cette adresse sur le bus des adresses. La case mémoire reconnaît
alors son adresse et met sur le bus de données son contenu.
Exemple : Bus d’adresse 16 bits - données sur 8 bits.

© TCHAMDA 2022 -- 2023 ISSTN 10


11 Structure d’un système à Microprocesseur Embarqué

Dans l'exemple précédent, le microprocesseur écrit la donnée 10101111 dans la case mémoire
d'adresse 1011 1111 0110 1010.
Le bus d’adresse est unidirectionnel : du microprocesseur vers les autres composants. Il se
compose de 16 à 32 fils, suivant les microprocesseurs, que l'on nomme A0, A1, ..., An-1. Le
tableau suivant donne l’espace mémoire adressable en fonction du nombre des lignes
d’adresses.

III. Bus des commandes.

Le bus des commandes est constitué d'un ensemble de fils de "commandes", permettant la
synchronisation et bien sûr la commande des boîtiers mémoires et entrées/sorties par le
microprocesseur. Dans le cas précédent, la cellule mémoire doit savoir à quel instant elle doit
mettre son contenu sur le bus de données. Pour cela, le microprocesseur possède une broche
appelée Read (RD barre ) qu'il met à 0 (0v) lorsque la cellule doit agir. De même, lors d'une
écriture du microprocesseur vers la cellule, il met sa broche Write (WR barre ) à 0 (0V). Les
signaux RD et WR sont des signaux de synchronisation, de contrôle et de commande. Ils sont
reliés aux autres composants par un bus: le bus des commandes. Celui-ci comporte d'autres
signaux de commandes.

© TCHAMDA 2022 -- 2023 ISSTN 11


12 Structure d’un système à Microprocesseur Embarqué

Chapitre 4

Les Mémoires

La mémoire vive, généralement appelée RAM (Random Access Memory, mémoire à accès
aléatoire), est la mémoire principale du système, c'est-à-dire qu'il s'agit d'un espace permettant
de stocker de manière temporaire des données lors de l'exécution d'un programme. En effet le
stockage de données dans la mémoire vive est temporaire, contrairement au stockage de
données sur une mémoire de masse telle que le disque dur, car elle permet uniquement de
stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que
l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.

La mémoire morte, appelée ROM pour Read Only Memory (mémoire à lecture seulement) est
un type de mémoire permettant de conserver les informations qui y sont contenues même
lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire ne peut
être accédé qu'en lecture. Toutefois il est désormais possible d'enregistrer des informations dans
certaines mémoires de type ROM.

RAM est l'acronyme de mémoire vive , un type de mémoire de l'ordinateur dans lequel une
lecture peut accéder à un endroit précis, connu sous le nom d'une cellule de mémoire , sans
référence aux cellules précédentes . Deux types de RAM , appelés RAM statique et dynamique
RAM , constituent la mémoire de travail de chaque ordinateur.

© TCHAMDA 2022 -- 2023 ISSTN 12


13 Structure d’un système à Microprocesseur Embarqué

RAM statique repose sur une forme de flip -flop - un circuit électrique qui a deux conditions
stables, chacune correspondant à l'un des deux signaux d'entrée possibles - pour stocker les
données dans chaque cellule de mémoire. Une bascule pour une cellule de mémoire se compose
généralement de quatre à six dispositifs électroniques à semi-conducteurs, appelés transistors,
qui contrôlent le flux d'électricité. La caractéristique de RAM statique, c'est qu'il n'a jamais
besoin d' être rafraîchie, si les données restent dans les cellules de mémoire jusqu'à ce qu'il soit
remplacé ou la mise hors tension
Static RAM: . Avantages et inconvénients
Photos

RAM statique est nettement plus rapide que la RAM dynamique, avec des temps d'accès
typiques entre 10 et 30 milliardièmes de seconde, ou nanosecondes . RAM statique est
généralement utilisée pour les tampons à grande vitesse, les caches et les registres , tels que la
mémoire tampon de trame sur un adaptateur d'affichage vidéo , où l'accès rapide aux données
est la principale préoccupation . Toutefois, chaque cellule de mémoire vive statique a plus de
pièces que une cellule de mémoire vive dynamique et prend plus de place sur une puce de
mémoire . Cela signifie moins de mémoire par puce , RAM si statique est plus cher que la RAM
dynamique .

Dynamic RAM : La forme la plus simple d'une cellule de mémoire vive dynamique consiste à
un seul transistor et un seul dispositif d'accumulation et de maintien de charge électrique, connu
sous le nom d'un condensateur . La présence ou l'absence d'une charge sur le condensateur
détermine si la cellule de mémoire contient un chiffre binaire 1 ou 0 d'un chiffre binaire .
Cellules mémoire vive dynamique s'acquitter de quelques millièmes de seconde, ou en
millisecondes
Avantages et inconvénients : Cellules de mémoire RAM dynamiques exigent circuit de
rafraîchissement de redynamiser les condensateurs, mais, même ainsi, prendre beaucoup moins
d'espace que les cellules de mémoire vive statique. Dynamic RAM est un peu plus lent que la
RAM statique, avec des temps d'accès typiques de plus de 30 nanosecondes, mais il est très
dense, avec un seul transistor et d'un condensateur pour chaque bit . Dynamic RAM est plus
économique à installer que la RAM statique et, par conséquent, est le type le plus commun de
la mémoire de l'ordinateur. La mémoire vive d'un ordinateur est généralement RAM
dynamique.

Il existe une hiérarchie des mémoires informatiques : les plus rapides sont les plus coûteuses,
donc en nombre limité, et placées le plus près du processeur (les registres font partie intégrante
du processeur). Les plus lentes sont les moins coûteuses et sont éloignées du processeur.

De nos jours, un ordinateur contient plusieurs mémoires, organisées en hiérarchie mémoire.


Pour simplifier, il existe quatre grands niveaux de hiérarchie mémoire, indiqués dans le tableau
ci-dessous : les registres du processeur, la ou les mémoires cache, la mémoire principale (la
RAM) et les mémoires de masse. Notons que même si les ordinateurs actuels ont plus de deux
niveaux de mémoire, la distinction entre mémoire primaire et secondaire est quand même
présente. La mémoire primaire n'est autre que la mémoire RAM, alors que la ou les mémoires
secondaires correspondent approximativement aux mémoires de masse.

© TCHAMDA 2022 -- 2023 ISSTN 13


14 Structure d’un système à Microprocesseur Embarqué

Les registres et caches sont des mémoires incorporées au processeur, alors que mémoire
primaire et secondaire restent séparés du processeur. La hiérarchie mémoire d'un ordinateur
moderne est donc une variante de la hiérarchie à deux niveaux de la section précédente (primaire
et secondaire) à laquelle on a rajouté des mémoires internes aux processeurs. Le rajout de ces
niveaux supplémentaires est une question de performance. Les processeurs anciens pouvaient
se passer de mémoires caches et même de registres, ce qui fait que les ordinateurs avaient alors
une hiérarchie mémoire à deux niveaux (primaire et secondaire). Mais au fil du temps, les
processeurs ont gagné en performances plus rapidement que la mémoire primaire. Il a donc
fallu rajouter des niveaux de hiérarchie mémoire au-dessus de la mémoire primaire, ce qui a
complexifié la hiérarchie mémoire des ordinateurs. Les nouveaux niveaux devant être très
rapides, de l'ordre de la nanoseconde, il fallait réduire drastiquement la distance entre le
processeur et ces mémoires. Cela n'a l'air de rien, mais l'électricité met quelques dizaines ou
centaines de nanosecondes pour parcourir les connexions entre le processeur et la mémoire,
temps qui fait partie du temps d'accès à la mémoire. En intégrant registres et caches dans le
processeur, on s'assure que le temps d'accès est minimal, la mémoire étant la plus proche
possible des circuits de calcul.

Hiérarchie mémoire

I. Fonctionnement de la mémoire vive.

La mémoire vive est constituée de centaines de milliers de petits condensateurs emmagasinant


des charges. Lorsqu'il est chargé, l'état logique du condensateur est égal à 1, dans le cas contraire
il est à 0, ce qui signifie que chaque condensateur représente un bit de la mémoire. Etant donné
que les condensateurs se déchargent, il faut constamment les recharger (le terme exact est
rafraîchir) à un intervalle de temps régulier appelé cycle de rafraîchissement (d'une durée
d'environ 15 nanosecondes (ns) pour une mémoire DRAM). Chaque condensateur est couplé à
un transistor (de type MOS) permettant de "récupérer" ou de modifier l'état du condensateur.
Ces transistors sont rangés sous forme de tableau (matrice), c'est-à-dire que l'on accède à une
"case mémoire" (aussi appelée point mémoire) par une ligne et une colonne. Un boîtier mémoire
est donc constitué d'un ensemble d'entités mémoire élémentaires (cellules mémoire) stockant
un élément binaire (bit : Binary digIT) ayant pour valeur 0 ou 1. Ces cellules sont groupées en
mot (word) de p bits (en général p=1 ou 8 bits). Le nombre n de cases mémoire de p bits appelé
capacité ou taille de la mémoire s'exprime en Kilo (1Ko=2 10=1024) ou en Méga (

© TCHAMDA 2022 -- 2023 ISSTN 14


15 Structure d’un système à Microprocesseur Embarqué

1Mo=220=1024*1024=1048576). Chaque point mémoire est donc caractérisé par une adresse,
correspondant à un numéro de ligne et un numéro de colonne.

La mémoire peut être vue comme un large vecteur (tableau) de mots ou octets.
– Un mot mémoire stocke une information sur D bits.
– Un mot mémoire contient plusieurs cellules mémoire.
– Une cellule mémoire mémorise un seul bit.
– Chaque mot possède sa propre adresse.
– Une adresse est un numéro unique qui permet d’accéder à un mot mémoire.
– Les adresses sont séquentielles (consécutives).
– La taille de l’adresse (le nombre de bits) dépend de la capacité de la mémoire.

Figure II.4 : Structure d’une mémoire à accès direct

II. sélection des mémoires

Les mémoires sont connectées à un bus d’adresse de n bits, un bus de données de p bits et des
lignes de commandes. Pour pouvoir communiquer avec le microprocesseur, on va relier leurs
bus ensembles. Pour cela, il est nécessaire d'avoir adéquation entre le nombre de bits des bus
de données et d’adresse de la mémoire et du microprocesseur. Sur la figure 2.10 apparaît une
broche de validation. Elle permet de sélectionner un boîtier mémoire parmi plusieurs, d'où son
appellation : "chip select". Cette broche permet d’éviter les conflits sur le bus de données. En

© TCHAMDA 2022 -- 2023 ISSTN 15


16 Structure d’un système à Microprocesseur Embarqué

effet dans le cas général, il existe plusieurs boîtiers mémoire sur la carte, tous branchés sur le
même bus de données. Dans ce cas, il est nécessaire de construire un signal qui permettra à un
seul boîtier d'accéder au bus de données. Ce signal CS (chip select) sélection de boîtier ou CE
(chip enable) validation de boîtier. Il faut créer autant de CS qu'il y a de boîtiers. Dans notre
exemple figure 2.11, il nous faut fabriquer deux CS : CS1, CS2

est appelé

Exemple :
Le bus d’adresse est sur 16 bits, le bus de données est sur 8 bits (figure 2.11). A l'adresse 1000H,
le premier boîtier mémoire contient A7H et le second contient A6H. Si le microprocesseur fait
une lecture à l'adresse 1000H (RD=1). Le premier boîtier mettra A7H sur le bus de données et
le deuxième A6H sur le bus de données. Le bus de données D7- D0 a donc sur son fil D0 un
"0" et un "1" ; c'est à dire 5 volts et la masse. C'est donc un court-circuit.
Les sélections de boîtiers "CS" (CS1 et CS2 sur la figure suivante) sont des fonctions logiques.
Elles proviennent de circuits combinatoires appelés "logique de décodage ou encore décodage
adresse". Les variables logiques de ces fonctions logiques sont les variables du bus d’adresse
(A0-An-1). Le choix des plages de validation des CSi sont exclusives les unes par rapport aux
autres. C'est à dire qu'elles ne se recouvrent pas.

Prenons l'exemple de la figure 2.13, si le bus d’adresse se compose de 16 fils (A0- A15).
Supposons que la taille mémoire des deux boîtiers soit 32*1024 = 32K = 215 adresses.

© TCHAMDA 2022 -- 2023 ISSTN 16


17 Structure d’un système à Microprocesseur Embarqué

Il y a donc 15 broches adresses sur chaque boîtier. Nous pourrons mettre les fils A0 - A14 du
bus d’adresse sur ces broches. On peut prendre CS1 = /A15 (complément de A15)

CS2=A15. Une lecture du microprocesseur à l'adresse 1000H donnera : CS1 =1 et CS2 =0. Ce
sera donc le premier boîtier qui sera validé et qui mettra le contenu de sa mémoire n° 0001 0000
0000 0000 sur le bus de données (A7H si on reprend l'exercice précédent). L'assemblage de
plusieurs boîtiers forme un plan mémoire de plus grande capacité. L'assemblage horizontal (en
largeur) permet de réaliser des mémoires de mots plus grands. Les boîtiers partagent le même
bus d’adresses et de contrôle. Tandis que l'assemblage vertical (en profondeur) augmente la

© TCHAMDA 2022 -- 2023 ISSTN 17


18 Structure d’un système à Microprocesseur Embarqué

capacité (taille) mémoire du micro-ordinateur, les boîtiers partagent


le même bus de données.
Exemple : Nous disposons d'un microprocesseur utilisant un bus de données de dimension
16 fils (D0- D15) et pouvant adresser 1 Mo cases de mémoire (bus d’adresse sur 20 fils A0-
A19 : 220=1Mo). Nous disposons également de boîtiers mémoire de 128 Ko octets chacun. De
plus, nous désirons travailler sur des mots de 16 bits. Chaque boîtier mémoire a besoin de17
fils du bus d’adresse A1-A17 (217=128K) pour être branchés sur ses broches d’adresse. Il reste
donc A0, A18 et A19. On va se servir de A18 et A19 pour construire les quatre CS des 8 boîtiers
mémoire et de A0 pour sélectionner partie basse ou haute du bus de données. La solution de ce
problème se trouve dans la figure (2.15), où nous utilisons un décodeur d'adresse à deux entrées
de sélection et quatre sorties (CSi).

© TCHAMDA 2022 -- 2023 ISSTN 18


19 Structure d’un système à Microprocesseur Embarqué

© TCHAMDA 2022 -- 2023 ISSTN 19

Vous aimerez peut-être aussi