Telechargé par Gama Speed

Semi-final

publicité
THE UNIVERSITY OF DOUALA
UNIVERSITE DE DOUALA
……………………………………..……
.…………………………………...
FACULTY OF SCIENCE
FACULTÉ DES SCIENCES
…………………………………..…
……………………………..………
Département De Mathématique et
Informatique
Department of Mathematics and
Computer Science
……………………………….……
…………………………….…………
B.P : 24157 Douala Cameroun
P.O. Box : 24157 Douala Cameroon
DEPARTEMENT DE MATHEMATIQUES-INFORMATIQUE
DEPARTEMENT OF MATHEMATICS AND COMPUTER SCIENCE
RAPPORT DU TPE INF 417
HIERARCHIE DE LA MEMOIRE ET DMA (MEMOIRE A
ACCES DIRECT)
Rédigé et présenté en vue de la capitalisation de l’Unité d’Enseignement
Architecture des ordinateurs
Par :
Le groupe 5
LISTE DES MEMBRES DU GROUPE
N°
MATRICULE
1
21S59374
2
NOMS & PRENOMS
N° TELEPHONE
AMANA MEPOUI Léonie
658 59 33 98
DA'SI KAMGA David
698 03 23 94
3
20S45100
EWANE NDEMA Basile
699 97 40 96
4
18S08417
GAMENI TOUMANI Franklin
672 95 90 97
5
19S29735
TEZE MATANG Billy Erica
657 78 05 05
Sous l’encadrement de : Dr. NOUMSI
Année académique 2022/2023
TPE INF417 : HIÉRARCHIE DES MÉMOIRES ET DMA (ACCÈS À MÉMOIRE
DIRECT)
PLAN DÉTAILLE DU TRAVAIL
INTRODUCTION
PARTIE A : HIÉRARCHIE DES MÉMOIRES
I. LA MÉMOIRE
a) Définition et caractéristiques d’une mémoire
b) Organisation de la mémoire
II. HIÉRARCHIE DES MÉMOIRES
a) Les registres
b) La mémoire cache
c) La mémoire centrale
d) La mémoire de masse
PARTIE B : ACCÈS DIRECT À LA MÉMOIRE
I. DÉFINITION
II. LES INTERFACES DES DISQUE DE STOCKAGE
III. LES MÉTHODES D’ACCÈS DIRECTS
1-Les modes de transfert
2-La vitesse de transfert
3-Les canaux DMA
IV. ÉTUDE D’UN SYSTÈME
CONCLUSION
INTRODUCTION
En informatique, la mémoire est un dispositif électronique numérique qui sert à stocker des
données. La mémoire est un composant essentiel, présent dans tous les ordinateurs, les consoles de
jeux, les GPS et de nombreux appareils électroniques. Les mémoires sont vendues sous forme de
pièces détachées de matériel informatique, ou de composants électroniques. Les différences entre
les pièces sont la forme, l'usage qui en est fait, la technologie utilisée, la capacité de stockage et le
rapport entre le coût et la capacité. La technologie la plus courante utilise des semi-conducteurs
parfois associés à des composants mécaniques
Au cours de l’histoire, diverses technologies de mémoire ont vu le jour. L’amélioration des
techniques de création a produit des mémoires toujours plus petites, moins coûteuses, consommant
moins d'énergie, avec une capacité toujours plus grande, et une vitesse plus élevée.
➢ L’usage de la mémoire dans les ordinateurs a été introduit par le concept de l'architecture
de von Neumann, en 1944.
➢ Les premiers disques durs ont été construits en 1956. Le disque DEC RP07 construit en 1970
pesait 180kg. Un disque dur des années 2000 pèse moins de 1kg, tout en ayant une capacité
de stockage supérieure.
Les mémoires à tores de ferrite sont des mémoires vives non volatiles utilisées dans les années 1960
à 1970. Ces composants sont faits d’un réseau de fil de cuivre dans lequel sont entremêlés des
anneaux en céramique ferromagnétique. Les mémoires utilisant cette technologie sont
volumineuses et lourdes. Cette technologie a été remplacée par des semi-conducteurs et des circuits
intégrés.
PARTIE A : HIÉRARCHIE DE LA MÉMOIRE
I. LA MÉMOIRE
a) Définition et caractéristiques d’une mémoire
La mémoire est le lieu de stockage de l’information, c’est un dispositif composé d’un ensemble de
cellules d’un bit. Une mémoire possède plusieurs caractéristiques parmi lesquelles :
✔ Capacité : elle représente la quantité d’informations stockable, elle est exprimée en bits,
octets (Byte), kilooctet, etc.
✔ Adresse : c'est la valeur numérique désignant un élément physique de mémoire
✔ Temps d’accès : c’est le temps nécessaire à une opération de lecture/écriture
✔ Débit : c’est la quantité d’informations lues/écrites par unité de temps, exemple Mo/s
✔ Durée de mémorisation : c’est la durée pendant laquelle une information est conservée en
mémoire, elle peut être : quasi-permanente (ROM, Disque dur), temporaire (DRAM),
volatile (en fonction de la présence du courant électrique)
✔ Mode d’accès
- accès séquentiel : pour accéder à une information, il faut parcourir toutes les qui la précède,
exemple : bandes magnétiques
- accès direct : chaque information possède une adresse propre, à laquelle on peut accéder
directement, exemple : mémoire centrale à l’ordinateur
- accès semi-séquentiel : intermédiaire entre séquentiel et direct, exemple disque dur : accès direct
à la piste (déplacement horizontal de la tête) , accès séquentiel au secteur (rotation du disque)
- accès associatif : une information est identifiée par sa clé, exemple : mémoire cache
b) Organisation de la mémoire
➢ Organisation interne
- Le bit : C'est le plus petit élément d'information que l'on peut stocker dans une mémoire, il
constitue l’unité de base de l’information. Il est souvent appelé point mémoire : il mémorise un bit
d’information ;
- L’octet, ou byte (en anglais), correspond à un groupement de 8 bits ;
- La cellule mémoire (case mémoire) : C'est la plus petite quantité d’information adressable. Ces
dernières années, la plupart des fabricants se sont mis d’accord sur une cellule de 8 bits, c'est à dire
octet. Les octets sont eux-mêmes regroupés en mots.
- Le mot mémoire : est composé d’une ou plusieurs case mémoire. Toute opération de lecture ou
d'écriture porte sur un mot mémoire ; Une mémoire est formée d'un certain nombre de cellules, ou
cases, contenant chacune une information. Chaque cellule a un numéro qui permet de la référencer
et de la localiser. Ce numéro est son adresse. Avec une adresse de n bits il est possible de référencer
2n cellules. La capacité d'une mémoire est le nombre total de cellules qu'elle contient. Elle s'exprime
en nombre de bits ou d'octets (bytes). Compte tenu de l'adressage binaire, les capacités des
mémoires s'expriment en puissances de deux ou en multiples de 210= 1024.
➢ Organisation externe : Les mémoires sont connectées à un bus adresses de n
Bits, à un bus de données de m 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
l’adéquation entre le nombre de bits des bus données et adresses de la mémoire et du
microprocesseur.
Sur cette figure apparaît une broche de validation. Elle permet de sélectionner une ou plusieurs
cases mémoire parmi plusieurs, d'où son appellation : « chip select » (Chipset). Dans le cas général,
il existe plusieurs cellules mémoire, toutes branchées sur le même bus de données. Dans ce cas, il
est nécessaire de construire un signal qui permettra aux cases sélectionnées d'accéder au bus de
données. Ce signal est appelé CS (chip select) sélection de ces cases.
II. HIÉRARCHIE DES MÉMOIRES
a) Les registres
Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au
sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont
le coût de fabrication est le plus élevé, car la place dans un microprocesseur est limitée. Un
processeur peut contenir plusieurs centaines de registres, mais, à titre d’exemple, un processeur
Intel 32 bits en contient seize. Chaque registre a une capacité de 8, 16, 32 ou 64 bits (couramment
la taille d’un bus).
La plupart des architectures modernes sont qualifiées de load-store : les programmes transfèrent
d'abord des données de la mémoire centrale vers des registres, puis effectuent des opérations sur
ces registres, et enfin transfèrent le résultat en mémoire centrale. On distingue 02 catégories de
registres :
➢ Les registres spécialisés
Sur de nombreux processeurs, les registres sont spécialisés et ne peuvent contenir qu'un type bien
précis de données.
On rencontre souvent les classes de registres suivantes :
• Les registres entiers, chargés de stocker des nombres entiers (et éventuellement des
adresses) ;
• Les registres flottants, qui stockent des nombres à virgules flottantes ;
• Les registres d'adresses : sur certains processeurs, les adresses mémoires à manipuler
sont placées dans ces registres dédiés ;
• Les registres d'Index, qui servaient à faciliter certains calculs d'adresses sur de vieilles
architectures ;
• Les registres à prédicats, des registres qui stockent des résultats de comparaisons et
d'instructions de tests divers.
Un processeur contient souvent des registres spécialisés, présents en un seul exemplaire. On
trouve parmi ceux-ci :
• Compteur ordinal (CO) : indique l'emplacement de la prochaine instruction à être
exécutée (synonymes : compteur de programme, pointeur d'instruction) ;
• Registre d'état (PSW pour Processor Status Word) : décrit l'état du processeur ; il est le
plus souvent interprété bit à bit, chaque bit représentant un drapeau ;
• Pointeur de pile : indique la position du prochain emplacement disponible dans la .pile
mémoire
Figure les registres d’un processeur Motorola 6800
➢ Les registres généraux
Sur certaines architectures, l'ensemble ou une partie des registres spécialisés sont remplacés par
des registres généraux (en anglais, general-purpose register ou GPR) interchangeables (parfois
notés R0, R1, etc.). Ceux-ci peuvent stocker indifféremment des adresses, des entiers, des flottants,
etc. Par exemple, le Motorola 6800 dispose de 8 registres de données banalisés (D0 à D7) et de 8
registres d'adresses (A0 à A7, banalisés sauf A7 qui sert de pointeur de pile).
Sur la majorité des processeurs, ces registres généraux ne sont pas les seuls registres du
processeur, qui contient aussi des registres spécialisés comme un compteur ordinal ou un registre
d'état. Mais sur certains processeurs, il se peut que ces registres soient malgré tous des registres
généraux, adressables comme tous les autres registres. Il devient alors possible d'écrire ou de lire
directement leur contenu sans restriction. Cela peut servir pour faciliter l'implémentation des
branchements indirects ou relatifs (si le compteur ordinal devient un registre général
b) La mémoire cache
C’est un élément critique de la hiérarchie mémoire de taille réduite, comparée à celle de la mémoire
centrale, dont la vitesse d’accès proche de celle du processeur, son coût est élevé. Elle contient des
copies de parties de la mémoire centrale. Le fonctionnement de la mémoire cache est telle que suit :
 Un accès à la mémoire centrale entraîne le transfert d’un bloc vers le cache (principe de
localité)
 Les éléments du bloc sont accessibles de manière performante
 Du fait de la rapidité nécessaire, la gestion du cache est entièrement réalisée en matériel
(invisible à l’OS ou aux applications)
c) La mémoire centrale
Depuis le début des années 70, les mémoires à semi-conducteurs constituent les éléments de base
de toute mémoire centrale. L'évolution de la technologie a permis de réaliser des mémoires
intégrées qui constituent actuellement les meilleurs éléments de la mémoire centrale au point de
vue capacité et prix. Cette technologie utilise comme matière de base le silicium et comme élément
actif le transistor.
On distingue 02 principaux types de mémoire centrale :
➢ La mémoire vive, généralement appelée RAM (Random Access Memory) est la mémoire
principale du système à accès direct, organisée sous forme matricielle, accessible en lecture
et en écriture ; c'est un espace permettant de stocker de manière temporaire les données et
les programmes. Elle est dotée de :
 La commande R/W (read or write) : c’est la commande qui détermine la direction de
transfert de données
 La commande CS (Chip Select) : c’est l’entrée qui permet d’activer ou de désactiver la
mémoire
 Un décodeur k→2k qui permet de sélectionner le mot mémoire référencé par l’adresse
introduite
Il existe deux types de RAM : la SRAM et la DRAM
➢ La mémoire morte, appelée ROM (Read Only Memory) 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. Ce type de mémoire ne peut être accédée qu'en lecture. Toutefois
il est désormais possible d'enregistrer des informations dans certaines mémoires de type
ROM. Il existe plusieurs versions de la ROM :
 ROM classique : l’information est enregistrée de manière irréversible (définitive) lors de
la fabrication, le principe de ces mémoires est le réseau de diodes
 PROM (Programmable ROM) : c’est une ROM à enregistrement irréversible qui peut être
programmé par un utilisateur grâce à un dispositif appelé programmateur de ROM, les
cellules sont munies de fusibles qui sont détruits lors de la programmation de la mémoire
 EPROM (Erasable PROM) : c’est une PROM effaçable qui présente l’avantage de pouvoir
être effacée et réécrite. Pour effacer une EPROM il faut la soumettre à un rayonnement
ultraviolet pendant 30 min
 EEPROM (Electrically EPROM) : elle est effaçable à l’aide d’un procédé électrique
➢ La mémoire flash est un compromis entre les mémoires de type RAM et les mémoires
mortes. En effet, la mémoire Flash possède la non-volatilité des mémoires mortes tout en
pouvant facilement être accessible en lecture ou en écriture. En revanche les temps d'accès
des mémoires flash sont plus pp importants que ceux de la mémoire vive.
d)La mémoire de masse
C’est une mémoire périphérique de grande capacité et de coût relativement faible utilisée pour le
stockage permanent des informations et utilise des supports magnétiques ou optiques.
PARTIE B : ACCÈS DIRECT À LA MÉMOIRE
I. DEFINITIONS ET PROBLEMATIQUES
Le système doit récupérer des données en provenance de ces périphériques externes.
Plusieurs méthodes sont possibles :

Une méthode par scrutation (polling) permet d’interroger régulièrement les périphériques afin
de savoir si une nouvelle donnée est présente.

Une méthode par interruption permet au périphérique lui-même de faire signe au processeur
de sa présence.

Une méthode par Accès Direct à la Mémoire (DMA) permet de gérer le transfert de façon
autonome.
L'accès direct à la mémoire ou DMA est un procédé où des données circulant de ou vers un
périphérique (port de communication, disque dur sont transférées directement par un contrôleur
adapté vers la mémoire centrale de la machine, sans intervention du microprocesseur. Le micro
interviendra seulement pour initier et conclure le transfert. La conclusion du transfert ou la
disponibilité du périphérique peuvent être signalés par interruption.
Utilisation :
-
Carte graphique
-
Carte son
-
Disque dur
-
Lecteur CD
-
Et beaucoup d’autres périphériques internes
II. LES INTERFACES DES DISQUES DE STOCKAGES
Les interfaces ATA
Le standard ATA (Advanced Tecnology Attachment) est une interface permettant la connexion
de périphérique de stockage sur les ordinateurs de type PC. Ce standard apparu en 1994 tend à
disparaître au profit du SATA. Il est aussi connu sous le nom IDE (Integrated Drive Elelectronics) ou
E-IDE (Enhanced IDE).
Initialement pour connecter les disques durs, il a été étendu pour pouvoir interfacer d’autre
périphériques de stockage (Interface ATAPI=ATA-Packet Interface).
Les interfaces SATA
Les interfaces SATA (Serial ATA), permettent de transférer les données en série.
Gain de place
Branchement à chaud
Résolution de problème de CEM (compatibilité Electromagnétique).
III. LES METHODES D’ACCES DIRECTS
1- Les modes de transfert
 Mode PIO
PIO : Programmed Input Output.
Permet d’échanger des données avec la mémoire vive. Ces transferts sont gérés entièrement
par le processeur.
Des commandes gérées directement par le processeur permettent la gestion du transfert.
Toutefois, de gros transferts de données peuvent rapidement imposer une grosse charge de travail
au processeur et ralentir l'ensemble du système. Il existe 5 modes PIO définissant le taux de transfert
maximal.
 Mode DMA
La technique du DMA (Direct Memory Access) permet de désengorger le processeur en
permettant à chacun des périphériques d'accéder directement à la mémoire.
La technique du DMA (Direct Memory Access) permet de désengorger le processeur en
permettant à chacun des périphériques d'accéder directement à la mémoire. Deux types de DMA
existent :

Le DMA dit "single word" permet de transmettre un mot simple à chaque session de transfert

Le DMA dit "multi-word" permet de transmettre successivement plusieurs mots à chaque
session de transfert.
Le tableau suivant liste les différents modes DMA et les taux de transfert associés :
 Mode Ultra DMA
L’idée est d’augmenter la fréquence du signal d’horloge pour augmenter la rapidité. Toutefois
sur une interface où les données sont envoyées en parallèle l'augmentation de la fréquence pose
des problèmes d'interférence électromagnétiques. Des solutions ont été apportées qui vont être en
étroite relation :

Augmentation de la fréquence : Utilisation des front montants et descendant.

Amélioration du connecteur ATA (à partir de l'Ultra DMA mode 4 un nouveau type de nappe a
été introduit afin de limiter les interférences ; il s'agit d'une nappe ajoutant 40 fils de masse
entrelacés avec les fils de données.

Apparition du CRC
Fonctionnement :
-
La fréquence de transfert augmente tant que les données transmises se font sans erreur.
-
Lorsque qu’une erreur est rencontrée, le transfert passe dans un mode Ultra DMA inférieur
(voire sans Ultra DMA).
2- Vitesse de transfert
Les vitesses de transfert (mode DMA ou Ultra DMA restent donc toujours en étroite relation avec
l’architecture utilisée (ATA, Serial ATA, …).
3- Les canaux DMA
Un ordinateur de type PC possède 8 canaux DMA. Les canaux DMA sont généralement
assignés comme suit :
DMA0 - System Use : Memory (DRAM) Refresh
DMA1 - Libre
DMA2 - contrôleur de disquettes
DMA3 - port parallèle
DMA4 - contrôleur d'accès direct à la mémoire (renvoi vers DMA0)
DMA5 - (carte son) / libre
DMA6 - (SCSI) / libre
DMA7 - disponible
Démarrer>Programmes>Accessoires>Outils Système>informations Système
IV. Etude d’un système
Programmation logicielle
Nous avons toujours les trois possibilités pour le transfert d’information de l’extérieur vers
l’intérieur du système.
 Polling (scrutation)
Ces fonctions font parties des librairies de la carte (Board Support Library).
 Interruption
On active les interruptions sur la réception et l’émission d’une donnée.
IRQ_enable(IRQ_EVT_RINT0); //Enables Reception event (IMR register flag)
IRQ_enable(IRQ_EVT_XINT0); //Enables Transmission event (IMR register flag)
IRQ_globalEnable(); //Enables all Unmask Events
IRQ_clear(IRQ_EVT_RINT0) // Clear the specified Interrupt Flag (IFR Register).
Interrumpt Locations and Priorities
Ces fonctions font parties des librairies de la carte (Chip Support Library).
 DMA
1. Déclaration et réservation buffers ping pong
2. Configuration des canaux DMA 0 et 1 et Configuration interruption (DMA0)
3. Création des fonctions d’interruption pour traitement
Pour la programmation des systèmes embarqués, on utilise des librairies :
BSL : Board Support Library
CSL : Chip Support Library
Téléchargement