1.2. Technologie des mémoires à semi-conducteurs
Les mémoires à semi-conducteurs sont à la base de toutes mémoires centrale. Cette technologie a permis de réaliser des mémoires intégrées de grande capacité.
Le principe de base des mémoires à semi-conducteurs consiste à utiliser des bascules comme point mémoire on dispose de deux techniques :
- La première technique utilise des bascules D ou RS qui garantissent la mémorisation de l’information aussi longtemps que l’alimentation électrique est maintenue sur la mémoire (Ram Statique) ou SRAM.
- La deuxième technique utilise un transistor coulé à un condensateur (Technologie MOS : Metal- Oxyde-Semi-Conductor).

Figure 1.5. Technologie des mémoires à semi-conducteurs
1.2.1. Les mémoires mortes
Pour certaines applications, il est nécessaire de pouvoir conserver des informations de façon permanente même lorsque l'alimentation électrique est interrompue. On utilise alors des mémoires mortes ou mémoires à lecture seule (ROM : Read Only Memory). Ces mémoires sont non volatiles. Ces mémoires, contrairement aux RAM, ne peuvent être que lue. L’inscription en mémoire des données reste possible mais est appelée programmation. Suivant le type de ROM, la méthode de programmation changera.
Mémoire à base de diodes : Cette mémoire est composée d'une matrice dont la programmation s’effectue en reliant les lignes aux colonnes par des diodes. L'adresse permet de sélectionner une ligne de la matrice et les données sont alors reçues sur les colonnes (le nombre de colonnes fixant la taille des mots mémoire).

Figure 1.6. Mémoire à base de diodes
Mémoire à base de transistors
Les jonctions entre fil de mot et file de bit peuvent être également réalisées à l’aide des transistors.

Figure 1.7. Mémoire à base de transistors
Il existe plusieurs types de ROM :
ROM (Read Only Memory): Elle est programmée par le fabricant et son contenu ne peut plus être ni modifié. ni effacé par l'utilisateur
PROM (Programmable ROM) : Permet une écriture unique mais faite par l’utilisateur au moyen d’une machine spéciale ; ces mémoires comprennent un ensemble de fusibles qui sont détruits lors de la programmation de la mémoire.
EPROM (Erasable PROM). PROM effaçable : Elles peuvent être effacées une fois écrites au moyen d’un faisceau ultraviolet qui force tous les bits à une même valeur. Elles ont la même organisation que les SRAM.
EEPROM (Electrically EPROM) : Elles sont effaçables électriquement sans intervention d’un rayonnement ultraviolet. Elles ne sont pas volatiles, facilement réutilisables.
1.2.1.1. Applications des mémoires mortes
La RAM est la mémoire de travail de l’ordinateur : on y stocke les instructions et les données, chaque cellule mémoire pouvant être modifiée des milliards de fois par seconde sans aucun inconvénient.
Les boîtiers ROM et PROM ne peuvent servir qu’à mémoriser de façon permanente des informations figées Voici quelques exemples d’utilisation de ces mémoires mortes au sein de l’ordinateur :
• Un séquenceur microprogrammé traite chaque instruction en exécutant des microinstructions qui effectuent chacune un travail élémentaire dans le processeur. Chaque instruction correspond donc à un microprogramme mémorisé dans une mémoire du Processeur réalisée lors de sa fabrication. Ces microprogrammes ne doivent évidemment pas disparaître et n’ont pas à être changés ; c’est un cas typique d’utilisation de ROM.
• Lorsque l’ordinateur s’allume, le processeur cherche à exécuter des instructions. Malheureusement, la RAM étant volatile, elle ne contient aucune information viable lors de l’allumage. Là encore, une partie de la mémoire principale est sous forme de mémoire morte contenant un programme de démarrage dont l’unique tâche est, par exemple, de charger depuis un disque dur le reste du système d’exploitation.
• Certaines entrées/sorties sont suffisamment complexes pour nécessiter la présence d’un processeur auxiliaire qui leur est uniquement dédié. Comme tout processeur, celui-ci exécute des instructions. Il ne s’agit pas, dans ce cas, d’un programme utilisateur, mais d’instructions réalisant les entrées/sorties. Le fabricant les programme et les stocke sur une mémoire morte pour qu’elles ne disparaissent pas.
1.2.2. Les mémoires vives (RAM)
Une mémoire vive sert au stockage temporaire de données. Elle doit avoir un temps de cycle très court pour ne pas ralentir le microprocesseur. Les mémoires vives sont en général, volatiles : elles perdent leurs informations en cas de coupure d'alimentation. Certaines d'entre elles, ayant une faible consommation, peuvent être rendues non volatiles par l'adjonction d'une batterie. Il existe deux grandes familles de mémoires RAM (Random Acces Memory : mémoire à accès aléatoire) : Les RAM statiques et Les RAM dynamiques
1.2.2.1. RAM statiques (SRAM)
Chaque bit d'une SRAM est formé par une bascule constituée par 4 à 6 transistors. L'information stockée peut être maintenue sans dégradation pendant une centaine d'heures. Elles possèdent un faible taux d’intégration mais un temps d’accès rapide. L'intérêt de ce type de mémoire est sa vitesse (quelques ns) mais son cout est prohibitif, En effet on utilisera la SRAM lorsque le facteur vitesse est critique et notamment pour des mémoires de petite taille comme la mémoire cache.

Figure 1.8. Cellule mémoire SRAM à quatre transistors
1.2.2.2. RAM dynamiques (DRAM)
Chaque bit d'une DRAM est constitué par un transistor et un condensateur. Ces mémoires possèdent un très grand taux d’intégration, elles sont plus simples que les mémoires statiques mais avec un temps d’accès plus long. L'inconvénient des DRAM est que le condensateur possède une tendance naturelle à se décharger. Pour que l'information reste cohérente, on va devoir réaliser un rafraîchissement de la mémoire toutes les quelques ms. Ce rafraîchissement consiste à lire et à réécrire la donnée.

Figure 1.9. Cellule mémoire DRAM
1.2.2.3. Conclusion
Etant donné les caractéristiques des SRAM et DRAM, on peut en déduire les propriétés suivantes:
· la SRAM est rapide mais chère
· la DRAM est lente mais bon marché
En général les mémoires dynamiques, qui offrent une plus grande densité d'information et un coût par bit plus faible, sont utilisées pour la mémoire centrale, alors que les mémoires statiques, plus rapides, sont utilisées lorsque le facteur vitesse est critique, notamment pour des mémoires de petite taille comme les caches et les registres.