Vous êtes sur la page 1sur 90

REPUBLIQUE TUNISIENNE

Ministère de l’enseignement supérieur de la recherche scientifique et de la Technologie


UNIVERSITE DE TUNIS CARTHAGE

SYSTÈMES EMBARQUÉS

Chapitre 1: Aperçu général


Section/Niveau: Mastère professionnel en ingénierie de maintenance

Par : Hichem OTHMANI

0% 100%
1
Partie 1: Introduction systèmes embaqués

2
Pourquoi les systèmes embarqués

«Les systèmes embarqués nous entourent et nous envahissent littéralement,


fidèles au poste et prêts à nous rendre service. Ils sont donc partout, discrets,
efficaces dédiés à ce à quoi ils sont destinés. Omniprésents, ils le sont déjà et
le seront de plus en plus»

3
Exemple système embarqué

4
Qu’est ce qu’un système embarqué ?

 Un système embarqué (ou enfoui) est un système électronique intégré dans un


système (voiture, avion, ...) qui sert à exécuter une tâche particulière (contrôle,
communication, …).

 Un système embarqué peut être défini comme un système électronique et


informatique autonome ne possédant pas des entrées/sorties standards comme
un clavier ou un écran d'ordinateur.

 Tout système numérique autonome constitué de parties organisées pour assurer


une fonction ou un ensemble de fonctions dans son environnement.

 C’est tout système numérique autre qu’un PC, ou station de travail ou serveur.

 Calculateurs dédiés à quelques applications/fonctions enfouis dans un appareil.


Généralement pas de clavier ni d’affichage.

5
Qu’est ce qu’un système embarqué ?

 Un système embarqué :
 Est un système numérique.
 Utilise généralement un processeur.
 Exécute un logiciel dédié pour réaliser une fonctionnalité
précise.
 Remplace souvent des composants électromécaniques.
 N'a pas réellement de clavier standard (BP, clavier matriciel...).
 L'affichage est limité (écran LCD …) ou n'existe pas du tout.
 N'est pas un PC.

6
Caractéristiques et organisation

7
Contraintes de conception des systèmes
embarqués
 Performance:
 Les SE puissance de calcul MIPS (Million d’Instructions Par Seconde):
temps d’exécution
 Fiabilité:
 la fiabilité est l’aptitude d’un système à accomplir une fonction requise dans
des conditions données pour une période de temps donnée
 Surface et encombrement:
 GSM…
 Consommation énergétique:
 Autonomie des batteries (PDA, téléphone mobile…)
 Sûreté:
 aucun dommage (automobile, avionique…)
 Coût et temps de développement:
 faible coût

8
Contraintes de conception des SE temps de
mise sur le marché (Time To Market) TTM

9
Contraintes de conception des SE : Temps
Réel

 Un système est dit temps réel lorsqu’il doit réagir à un


stimuli dans un intervalle de temps dépendant de
l’environnement.
 Un système temps réel qui produit une bonne réponse mais trop
tard est dit alors défaillant.
 Types de contraintes temps réel
 Dure (hard) : une contrainte temps réel est appelé dure si le non
respect de cette contrainte peut mener à des situations critiques
voir catastrophiques
 ou souple (soft) : toutes autres contraintes sont appelées soft

10
Contraintes de conception des SE : Temps
Réel

 Un système est dit temps réel lorsqu’il doit réagir à un


stimuli dans un intervalle de temps dépendant de
l’environnement.
 Un système temps réel qui produit une bonne réponse mais trop
tard est dit alors défaillant.
 Types de contraintes temps réel
 Dure (hard) : une contrainte temps réel est appelé dure si le non
respect de cette contrainte peut mener à des situations critiques
voir catastrophiques
 ou souple (soft) : toutes autres contraintes sont appelées soft

11
Conception des systèmes embarqués

Spécification d’une
Contraintes de
application conception/réalisation
(cahier des charges)
Flot et Qualité de service
Surface
Outils de conception
Consommation
Sécurité de fonctionnement
Réalisation de Prix
…….
l’application

Cible logiciel Cible matériel


Ex : DSP, ASIP Ex : FPGA, ASIC
Cible mixte
Ex : SoC
12
Différentes cibles utilisables pour
concevoir un système embarqué
 Cible logiciel
 Les processeurs généralistes
 Les DSPs
 Les Microcontrôleurs

 Cible matériel
 Les ASICs : Application Specific Integrate Circuit
 Les circuits reconfigurables :
• FPGA : Field Programmable Gate Array

 Cibles mixte
 Les SOCs(système sur puce) : L’intégration de plusieurs unités
matérielles et logicielles sur une même puce

13
Cible logiciel

 Ce sont des cibles programmables, c’est-à-dire qu’on


peut modifier l’application dédiée en modifiant
simplement le code, à travers :
 Les processeurs généralistes (GPP : General Purpose Processor)
 Les DSPs (digital Signal Processing)
 Les Microcontrôleurs

14
Processeurs Généralistes

 Processeurs a usage général qui ne dépendent d’aucun


langage de programmation
 Choix des processeurs embarqués
 Coûts
 Consommation
 Exemple :
 Famille ARM
 Famille Microship
 Famille AVR

15
Les Microcontrôleurs
Un circuit intégré rassemblant dans un même boîtier un microprocesseur, plusieurs
types de mémoires et des périphériques (Entrées-Sorties).

16
Les Microcontrôleurs

 Caractéristiques
 Architecture simple, jeux d’instructions réduit
 Basé sur des architectures de processeurs connus
 Avantages
 Très économique : pas besoin d’acheter des périphériques
Spécialisés
 Simple d’utilisation
 Inconvénients
 Spécialisé: ne convient pas à tous les domaines d’application

17
Cible logiciel

 Avantages
 Flexibilité : il suffit de modifier le programme pour modifier
l’application
 Simple à mettre en œuvre : grâce à la programmation de haut
niveau (langage C) (possibilité de grande abstraction par
rapport au matériel)
 Temps et coût de conception faibles
 Prix de reviens faible
 Composants spécialisés, ex : DSP, microcontrôleur

18
Cible logiciel

 Inconvénients
 Faibles performance : temps d’exécution élevé
 Consommation électrique importante
 Le passage par un compilateur peut dégrader les performances
 Complexité du langage machine et de l’assembleur

19
Partie 2: Rappel électronique numérique

20
Représentation des valeurs booléennes
• 0 : 0 volt = masse
• 1 : +5 volts = alimentation

Fonction NON (inverseur)


Elle donne le complémentaire d ’une valeur logique.

Portes logique
a s
a s a s
1 0 1
1 0
symbole usuel symbole normalisé ANSI table de vérité

Notation : s  a, s  a

21
Représentation des valeurs booléennes
• 0 : 0 volt = masse
• 1 : +5 volts = alimentation

Fonction NON (inverseur)


Elle donne le complémentaire d ’une valeur logique.

a s
a s a s
1 0 1
1 0
symbole usuel symbole normalisé ANSI table de vérité

Notation : s  a, s  a

22
Fonction ET
Un ET est vrai si ses deux entrées sont vraies.

a b s
a 0 0 0
a s s
& 0 1 0
b b
1 0 0
1 1 1
Notation : s  a.b, s  a  b
Fonction OU
Un OU est faux si ses deux entrées sont fausses.

a a b s
a s s 0 0 0
b b 1
0 1 1
1 0 1
Notation : s  a  b, s  a  b 1 1 1 23
Fonction NON-ET ou NAND
Un NON-ET est un ET complémenté. Son résultat est faux si ses deux entrées sont
vraies.

a a b s
a s s 0 0 1
b &
b 0 1 1
1 0 1
Notation : s  a.b, s  a  b 1 1 0
Fonction NON-OU ou NOR ou NI
Un NI est un OU complémenté. Son résultat est vrai si ses deux entrées sont
fausses.

a a b s
a s s 0 0 1
b b 1
0 1 0
1 0 0
Notation : s  a  b, s  a  b 1 1 0

24
Fonction OU-EXCLUSIF
Un OU-EXCLUSIF est vrai si ses deux entrées ont des valeurs différentes. Il
permet de « tester » si deux valeurs logiques sont différentes.

a a b s
a s s 0 0 0
b b 1
0 1 1
1 0 1
Notation : s  a  b, s  ab (a  b  a.b  a.b) 1 1 0

Fonction NI-EXCLUSIF
Un NI-EXCLUSIF est vrai si ses deux entrées ont des valeurs égales. Il permet de
« tester » si deux valeurs logiques sont égales.

a a b s
a s s 0 0 1
b b 1 0 1 0
1 0 0
Pas de notation particulière (a  b  a.b  a.b) 1 1 1

25
Théorèmes de Boole

- a.0  0
- a.1  a Autres propriétés

- a.a  a • ET est associatif et commutatif (comme la


multiplication)
- a.a  0
• OU est associatif et commutatif (comme l’addition)
- a0 a
• ET est distributive par rapport à OU (comme x par
- a 1  1
rapport à +)
- aa a
- a  a 1

Formules de De Morgan

- a  b  a.b
- a.b  a  b
26
Représentation des nombres
Utilisation d'une base quelconque et changement de base
Un nombre N en base B s'écrit :
NB = anan-1an-2 … a1a0 avec 0 ≤ ai ≤ B-1

Numérotation et0 ≤ acodage


≤1
Exemples : base 2 (binaire) : 011011100102 i

base 8 (octal) : 12456764706208 0 ≤ ai ≤ 7


base 10 (décimal) : 97468205610 0 ≤ ai ≤ 9
base 16 (hexadécimal) : 3A5E8F16 0 ≤ ai ≤ F
chiffres hexadécimaux : 0 1 2 3 4 5 6 7 8 9 A B C D E F

27
Représentation des nombres
Utilisation d'une base quelconque et changement de base
Un nombre N en base B s'écrit :
NB = anan-1an-2 … a1a0 avec 0 ≤ ai ≤ B-1

Exemples : base 2 (binaire) : 011011100102 0 ≤ ai ≤ 1


base 8 (octal) : 12456764706208 0 ≤ ai ≤ 7
base 10 (décimal) : 97468205610 0 ≤ ai ≤ 9
base 16 (hexadécimal) : 3A5E8F16 0 ≤ ai ≤ F
chiffres hexadécimaux : 0 1 2 3 4 5 6 7 8 9 A B C D E F

28
Pour trouver la valeur décimale d'un nombre en base B :
N10=anBn + an-1Bn-1 + … + a2B2 + a1B1 + a0

Exemples : 10112 = 1×23 + 0×22 + 1×21 + 1 = 1110


2478 = 2×82 + 4×81 + 7 = 16710
2DB16 = 2×162 + 13×161 + 11 = 73110

Pour passer d'une base à une autre il est toujours possible de passer par la base 10
Pour passer du binaire à une base de type 2n il suffit de regrouper les bits par n de la
droite vers la gauche afin de retrouver chaque chiffre en base 2n.

29
Unités de stockage
• unité de base : le bit (0 ou 1)
• unité usuelle : l'octet (1 octet = 8 bits)

• kilooctet : 1 ko = 1024 octets


• mégaoctet : 1 Mo = 1024 Ko
• gigaoctet : 1 Go = 1024 Mo
• téraoctet : 1 To = 1024 Go

30
Multiplexeur et démultiplexeur

• Le multiplexeur transmet plusieurs signaux en entrée


sur un seul fil en sélectionnant une des entrées à
e0 0
transmettre en sortie.
e1 1
1
Logiques Combinatoire
• Une entrée de contrôle réalise la sélection.
e 1
2
s = e1

e3 0 1
• 2n entrées de donnée n entrées de contrôle 0

• Les n bits de contrôle ( 0 à 2n-1 ) = numéro de l’entrée c0


c1
à sélectionner

31
Multiplexeur et démultiplexeur

• Le multiplexeur transmet plusieurs signaux en entrée


sur un seul fil en sélectionnant une des entrées à
e0 0
transmettre en sortie.
e1 1
1 s = e1
• Une entrée de contrôle réalise la sélection.
e2 1

e3 0 1
• 2n entrées de donnée n entrées de contrôle 0

• Les n bits de contrôle ( 0 à 2n-1 ) = numéro de l’entrée c0


c1
à sélectionner

32
Démultiplexeur = rôle inverse du multiplexeur : choisir la sortie vers laquelle
transmettre l’entrée

s0

s1
e
s2 = e

1 s3
0

c1 c
0

33
Décodeur et encodeur

• Décodeur : n entrées et 2n sorties s0 = 0


s1 = 0
e0 1 s2 = 0
• Les n bits en entrée codent une valeur de 0 à 2n-1 s3 = 0
e1 0
s4 = 0
e2 1 s5 = 1
• La sortie ayant ce numéro passe à 1 (les autres 0)
s6 = 0
s7 = 0
• Le décodeur est un élément essentiel dans la
réalisation de la mémoire.

34
Encodeur : rôle inverse du décodeur
e0 0
• 2n entrées et n sorties e1 0
e2 0 s0 = 0
e3 0
• Une seule entrée est à 1 s1 = 1
e4 0
e5 0 s2 = 1
e6 1
• Les n bits en sortie codent le numéro de l’entrée
qui est à 1 e7 0

35
Grâce à la logique séquentielle, on peut réaliser un circuit de mémorisation et
Logiques Séquentielle
concevoir complètement un processeur.

Du point de vue du programmeur :


• logique combinatoire = opération arithmétiques et logiques simple
(addition, soustraction, et, ou, décalage, rotation, comparaison)
• logique séquentielle = fonctionnalités nécessitant de mémoriser des données
(affectation, structures de contrôle, séquencement des instructions)

36
Grâce à la logique séquentielle, on peut réaliser un circuit de mémorisation et
concevoir complètement un processeur.

Du point de vue du programmeur :


• logique combinatoire = opération arithmétiques et logiques simple
(addition, soustraction, et, ou, décalage, rotation, comparaison)
• logique séquentielle = fonctionnalités nécessitant de mémoriser des données
(affectation, structures de contrôle, séquencement des instructions)

37
L’oscillateur (ou horloge)
L'oscillateur est l'élément permettant l'introduction de la notion de temps dans les
circuits.
Il est symbolisé par :

Un oscillateur permet d’obtenir un signal carré ayant une fréquence bien précise,
constante au cours du temps et qui peut être élevée (plusieurs centaines de Mhz).

L’oscillateur le plus simple est une simple porte inverseur bouclant sur elle-même :

38
Les bascules
La bascule est l’élément fondamental de la logique séquentielle.
Elle possède 2 états (0 ou 1).
On peut lire l’état d’une bascule et on peut l’écrire (affecter l’état voulu).

Schéma d’une bascule D déclenchant sur front montant : e s

v s’

Schéma d’une bascule D déclenchant sur front descendant :

e s

v s’

39
La fonction mémoire
Une bascule est un élément de mémorisation de 1 bit (ou point-mémoire).
L’entrée de contrôle joue le rôle de signal de lecture/écriture (noté r/w).
Un ensemble de bascules est utilisé pour réaliser un registre ou une mémoire.

Le registre
C’est un circuit capable de mémoriser 1 mot.
Les registres sont situés dans le processeur et constituent donc une mémoire locale
au processeur.
Lorsqu’on programme en assembleur, on accède directement aux registres du
processeur (certains registres nécessaires au fonctionnement ne sont pas accessibles
au programmeur).
Un registre de m bits est simplement constitué de m bascules.

40
Partie 3: Les microcontrôleurs STM32

41
STMicroelectronics
 Among the world’s largest semiconductor companies
 Serving over 100,000 customers across the globe
 2018 revenues of $9.66B, with year-on-year growth of
15.8%

 ~46,000 employees worldwide


 ~ 7,400 people working in R&D
 11 manufacturing sites
 Over 80 sales & marketing
offices

42
Global Presence

Research & Development


Main Sales & Marketing
Front-End
Back-End

43
ST Addresses Four End Markets
Communications
Automotive Industrial Personal Electronics Equipment,
Computers & Peripherals

44
Product Family Focus
Portfolio delivering complementarity for target end markets
and synergies in R&D and manufacturing

Automotive MEMS &


Dedicated
Specialized
Automotive ICs
Imaging Sensors

Industrial
Discrete & ASICs based on
Power ST proprietary
Transistors technologies
Personal Electronics

Analog, Industrial & GP MCU & MPU


Power Conversion Secure MCUs
ICs Communications Equipment, EEPROM
Computers & Peripherals

45
Serving More Than 100,000 Customers

Top 10 Customers*
2018
Apple
Bosch Top
Cisco 10
Conti
HP
Huawei
Mobileye Globally
Samsung Managed
Seagate Accounts
Western Digital

Distribution &
*In alphabetical order Mass Market

46
Semi-conductor companies

47
HIGH-PERFORMANCE

48
MAINSTREAM

49
ULTRA-LOW-POWER

50
WIRELESS

51
HIGH-PERFORMANCE

52
MAINSTREAM

53
ULTRA-LOW-POWER

54
WIRELESS

55
STM32 Offer
Hardware Software
Development Development
Tools Tools

Configuration Tools
Evaluation boards
Development & Debugging
Debug and Programming Probes
Tools

+
Monitoring Tools
Ecosyste
m
Services
Embedded Software
Trainings / Support
Drivers Web / Communities / Social
RTOS Media
Stacks and Application Bricks Programming Services
Engineering Services
Cloud Services

56
STM32 Nucleo board

57
STM32 Nucleo key assets
 Flexible prototyping.
 Affordable STM32 boards sharing the same
association scheme.
 Reduction of financial risks through easy HW/SW
tuning.

 Unlimited expansion capability


 Benefit from Open Hardware initiatives (Arduino).

 Simply expose the entire STM32 portfolio to dvt


communities.
 Expansion shields are compatible with all STM32
Nucleo at once.
 Free access to mbed online IDE at mbed.org

58
STM32 Nucleo expansion boards

Proximity
BLE 4.0 Stepper motor
NFC/RFID tag Ambient Light WiFi b/g/n
processor driver
(M24SR) sensor processor
(BlueNRG) (L6474)
(VL6180X)
X-NUCLEO-IDB04A1 X-NUCLEO-NFC01A1 X-NUCLEO-IHM01A1 X-NUCLEO-6180XA1 AMW006-A02
(by Ackme Networks)

Environmental & Motion sensors


(LSM6DS0 accelerometer & gyroscope,
LIS3MDL magnetometer, LPS25H pressure,
HTS221 humidity & temperature)
X-NUCLEO-IKS01A1
Discovery Kit

60
Evaluation Board

61
STM32Cube - Embedded software

• What is it ?
• Full featured packages with drivers, USB, TCP/IP, Graphics,
File system and RTOS
• Set of common application programming interfaces, ensuring
high portability inside whole STM32 family
• Set of APIs directly based on STM32 peripheral registers
• Set of initialization APIs functionally similar to the SPL block STM32Cube
peripheral initialization functions
STM32Cub STM32Cub
e HAL e LL APIs
• Target Audience
• Hardware Abstraction Layer (HAL) APIs: embedded system developers with a strong
structured background. New customers looking for a fast way to evaluate STM32 and easy
portability
• Low-Layer (LL) APIs: low level embedded system developers, typically coming from an 8-bit
background, used to assembly or C with little abstraction. Stronger focus on customers
migrating from the SPL environment.

62
Toolchain overview
Projects IDE Observation STM32

IAR

Tera Term STM Studio STVP

STM32CubeMX
Keil
STLink probe driver

STLink Utility STLink Upgrade


System Workbench
STLINK V2 Nucleo
board board
Partie 4: Périphériques de base d’un systèmes
embarqués

64
Un microprocesseur est constitué par un assemblage de circuits exécutant les
fonctions de l’unité centrale de traitement d’un micro-ordinateur.
En anglais : CPU = central processing unit.

Les microprocesseurs
Définition :
Un microprocesseur est un circuit logique capable, après identification d’une
séquence d’instructions, d’effectuer des traitements de l’information.

65
Un microprocesseur est constitué par un assemblage de circuits exécutant les
fonctions de l’unité centrale de traitement d’un micro-ordinateur.
En anglais : CPU = central processing unit.

Définition :
Un microprocesseur est un circuit logique capable, après identification d’une
séquence d’instructions, d’effectuer des traitements de l’information.

66
Un microprocesseur est un circuit contenant les unités suivantes :

• unité de contrôle, de commande et de synchronisation ;


• unité arithmétique et logique
• mémoire et registres internes
• unité d’entrées/sorties
• bus internes

UAL

Mémoire interne
E/S
et registres

UC

67
Bus internes
Définition :
Un bus est un ensemble de fils qui transportent (en parallèle ou en série) une
information d’un composant à l’autre.

• Mode parallèle : autant de fils que le mot transporté contient de bits.


• Transporter mot sur un bus de taille inférieure : multiplexage
• 3 types de bus rencontrés :
• bus de données
• bus d’adresse
• bus de contrôle
• Les bus se distinguent par :
• largeur
• vitesse

68
UAL
• Circuits nécessaires pour les opérations arithmétiques et logiques

• En fonction de l’opération sélectionnée :


• fournit le résultat
• met à jour un registre d’état pour contrôler si
• résultat = 0
• résultat positif / négatif
• débordement
• retenue
•…

69
Mémoire et registres

• Le microprocesseur contient plusieurs registres et mémoire stockant données et


instructions

• La taille des registres est fonction du type de processeur

• Les registres permettent d’accélérer la vitesse de traitement

• Ils peuvent être synchronisés avec l’UAL

70
Entrées / sorties
• But : échanger des informations avec l’extérieur (nécessaire au fonctionnement du
CPU)

Bus de donnée
Unité d’entrées/
sorties (E/S) Bus d’adresse

Bus de commande

Intérieur du processeur Extérieur du processeur

• L’unité d’E/S assure les liaisons entre bus internes et bus externes
• Les bus d’adresse est unidirectionnel

71
Unité de commande
• « Chef d’orchestre » qui pilote et synchronise les unités du processeur
• Elle est pilotée par une horloge et permet de cadencer l’exécution des instructions
du programme :
• mise en service des circuits concernés (verrous)
• activation des communications (verrous + cellules de commutation)

Définition :
Un verrou est un circuit à n sorties, n entrées de données et une entrée de
contrôle. L’entrée de contrôle autorise ou interdit le transfert des données vers
les sorties.

• Il existe des verrous unidirectionnels (ei si) et des verrous


bidirectionnels (ei si)

72
Principe général de fonctionnement du microprocesseur
Pour exécuter un programme, le microprocesseur effectue cycliquement :
• lecture d’un code d’instruction en mémoire (fetch)
• reconnaissance de ce code, ou décodage (decode)
• exécution d’un ordre élémentaire (execute)
• positionnement sur le code de l’instruction suivante du programme
En plus de l’accumulateur il faut d’autres registres pour le fonctionnement du
microprocesseur :
• compteur ordinal (pointe sur l’instruction suivante immédiate)
• registre d’instruction
• registre d’état
• registre de sommet de pile (adresse de retour pour les sous-programmes)
• registres à usage plus général (adresse, donnée, buffer, …)

73
Séquencement des instructions
Une instruction est découpée en plusieurs micro-opérations / micro-commandes

1. Lire l’instruction
2. Calculer l’adresse de la prochaine instruction
3. Décoder l’opération
4. Calculer les adresses des opérandes si nécessaire
5. Lire les opérandes éventuelles depuis la mémoire
6. Exécuter l’instruction
7. Calculer l’adresse du résultat
8. Ranger le résultat en mémoire

74
Instruction
Définition :
Une instruction est un ordre élémentaire exécutable par un microprocesseur donné
(en un certain nombre de cycle d’horloge).

Définition :
Ces instructions sont spécifique à un microprocesseur et leur nombre est limité.
Leur ensemble constitue le jeu d’instruction du microprocesseur.

Classification des instructions :


• instructions de transfert
• instructions arithmétiques
• instructions logiques
• instructions de commande
• instructions d’entrée/sortie

75
Les instructions peuvent affecter ou utiliser le contenu d’un ou plusieurs mot-
mémoire, un ou plusieurs registres, ou aucun d’entre-eux.

Définition :
Un opérande est un élément de la mémoire concerné par l’exécution d’une
instruction donnée.

On distingue 3 principaux types d’instruction :


• sans opérandes
• monadiques (un opérande)
• dyadiques (deux opérandes)

Un code est associé à chaque instruction d’un programme (code-instruction).


En général on a :

code opération opérande 1 opérande 2

76
La mémoire centrale est un ensemble de registres dotés d'une structure d'accès
permettant l'échange entre les registres et les organes extérieurs.

• La capacité d'une mémoire est le nombre de bits que l'on peut mémoriser dans
cette mémoire. Les mémoires
• Le temps d'accès mémoire est le délai qui s'écoule entre une requête de lecture et
la disponibilité de l'information correspondante.
• On appelle emplacement accessible Ei (ou zone de stockage accessible)
l'emplacement unique sur lequel une opération de lecture ou d'écriture est possible
à l'instant t.

77
La mémoire centrale est un ensemble de registres dotés d'une structure d'accès
permettant l'échange entre les registres et les organes extérieurs.

• La capacité d'une mémoire est le nombre de bits que l'on peut mémoriser dans
cette mémoire.
• Le temps d'accès mémoire est le délai qui s'écoule entre une requête de lecture et
la disponibilité de l'information correspondante.
• On appelle emplacement accessible Ei (ou zone de stockage accessible)
l'emplacement unique sur lequel une opération de lecture ou d'écriture est possible
à l'instant t.

78
Types de mémoire

Un premier mode de classification des mémoires peut se faire selon la structure


d'accès dont elles sont dotées.

Il existe 3 familles de structures :


• mémoires séquentielles (ruban perforé, bande magnétique, ...)
• mémoires adressables (mémoire centrale, ...)
• mémoires associatives (sélection par le contenu / prédicat, ...)

79
Mémoires séquentielles (LIFO)
Définition :
Une mémoire séquentielle est une mémoire telle que si l'accès à l'instant t à porté
sur l'emplacement Ei alors l'accès à l'instant t+1 porte obligatoirement sur
l'emplacement Ei+1 ou Ei-1 (notion d'accès séquentiel).

Définition :
Une pile est une mémoire séquentielle dont les déplacements (Ei Ei+1 ou Ei Ei-
1) sont liés respectivement à la commande d'écriture ou de lecture.

écrire (empiler) lire (dépiler)


Ei Ei Ei+1 Ei lire dans Ei
écrire dans Ei+1 Ei Ei-1

occupé vide occupé vide

80
Application au microprocesseur :
Le microprocesseur utilise une pile pour mémoriser les adresses de retour lors
d’appels à des sous-programmes ou à des routines d’interruption.

vide

sommet de pile

occupé

fond de pile

81
Mémoires adressables
Définition :
Une mémoire adressable (appelée également à accès direct, à accès aléatoire -
RAM, ou à accès sélectif) est un ensemble de zones de stockage complété par un
mécanisme de sélection capable d’établir l’accès sur chacune d’elles en un temps
indépendant de la position.

• l’accès nécessite de désigner la position sélectionné par une adresse

• le microprocesseur agit sur le contenu de la mémoire par 2 opérations :


• écriture en mémoire : transfère un mot binaire dans un mot mémoire
d’adresse i. La valeur précédemment stockée à l’adresse i est perdue,
« écrasée » par la nouvelle valeur
• lecture en mémoire : délivre une copie du mot binaire stocké à l’adresse i. La
lecture ne modifie pas la valeur du mot en mémoire.

82
ROM / RAM :
• ROM (Read Only Memory) ou MEM (Mémoire Morte) : mémoire à lecture seule

• RAM (Random Access Memory) ou MEV (Mémoire Vive) : mémoire à accès


aléatoire (lecture / écriture)
Les mémoire RAM sont dites « volatiles » car l’information stockée disparaît
lorsque l’on coupe l’alimentation.
On peut également distinguer :
• UVPROM, EEPROM : programmable par l’utilisateur
• PROM à fusibles / jonctions : programmable une seule fois
• RAM série : à accès série
• RAM statique / dynamique : selon le type de rafraîchissement
• ROM + masque : programmable en usine
•…

83
Familles et sous-familles de mémoires adressables :

Principales mémoires
adressables

Mémoires mortes Mémoires vives

ROM masque PROM utilisateur RAM RAM Associatives


statiques dynamiques (caches)

PROM fusibles EPROM ou PROM OTPROM ou EPROM


effaçable programmable une fois

UVPROM ou PROM EEPROM ou PROM effaçable EEPROM flash effaçable


effaçable aux UV électriquement électriquement par bloc
par octet

84
Espace d'adressage :
• la taille des mots binaires représentant les adresses limite le nombre de mots
auxquels le microprocesseur peut accéder. Si les adresses sont codées sur m bits
alors "l'espace d'adressage" est de 2m mots-mémoire

• dans cet espace d'adressage il faut prévoir non seulement l'accès à la RAM, mais
aussi à la ROM et aux E/S
• exemple : espace d'adressage d'une RAM de M mots, d'une ROM de N mots et
d'un espace mémoire réservé aux entrées sorties

0 mot 0
1 mot 1 RAM
... ...
M-1 mot M-1
M mot M
... ...
adresses ... ... ROM
M+N-1 mot M+N-1
M+N ...
... ...
2m-1 ... E/S

85
• il existe deux méthodes principales pour désigner une adresse :
• linéaire : mots numérotés de 0 à 2m-1
• segmentée : adresse = < n° segment , déplacement >

• pour réaliser cet espace d'adressage il est nécessaire d'utiliser tout un ensemble de
circuits déjà étudiés :
• décodeurs
• multiplexeurs
• démultiplexeurs
• ...

86
Aspect matériel :
• le temps d’accès à ces mémoires varie de quelques nanosecondes à quelques
dizaines de nanosecondes

• la mémoire se présente sous forme de boîtiers de différentes capacités et adressant


une certaine taille de mots (1K mots de 1 bit, 256K mots de 8 bits, 1M mots de 32
bits, …)

• chaque boîtier dispose (en général) des broches suivantes :


• une broche de sélection : CS (chip select)
• une broche de lecture/écriture : R/W (read/write) pour les RAM
• broches d0, …, d7, … pour les données
• broches a0, …, a7, … pour les adresses
• éventuellement une broche OE (output enable) de connexion (logique 3 états)
des sorties vers l’extérieur (bus de donnée)
• 2 broches pour l’alimentation électrique

87
RAM dynamique et RAM statique
Définition :
Une RAM est dite statique (SRAM) si l’information est conservée en l’absence de
signaux de commandes.

• la cellule élémentaire d’une SRAM est constituée de 4 transistor MOS formant


une sorte de bascule RS (différente de la bascule D)

Définition :
Une RAM est dite dynamique (DRAM) si l’information ne peut être conservée que
par l’application répétée de signaux de commande (rafraîchissement de la mémoire)

• la cellule élémentaire d’une DRAM est constituée d’un seul transistor MOS jouant
le rôle de condensateur : la donnée est stockée sous forme de charge dans une
capacité. Mais le courant de fuite entraîne la nécessité de recharger le condensateur :
rafraîchissement (toutes les 2-4 ms)

88
Avantages des SRAM Avantages des DRAM
très rapide très dense
faible consommation moins chère
moins sensible aux bruits et radiations capacités élevées

Dynamique ou statique ?
• Mémoires caches : SRAM
• Mémoires centrales : DRAM

SDRAM ?
• Synchronous DRAM

89
• barette DIMM 64 bits (Double Inline Memory Module)

168 broches - SDRAM

détrompeurs

184 broches – DDR-SDRAM, DDRII-SDRAM, QDR-SDRAM

208 broches - QBM

90

Vous aimerez peut-être aussi