« Fonctionnement d'un ordinateur/L'architecture de base d'un ordinateur » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 45 :
Il y a toujours, dans tous les ordinateurs, une petite mémoire ROM qui contient un programme. Certains ordinateurs très simples s'en contentent. Sur les PC modernes, ce programme est un programme de démarrage nommé le '''BIOS''', qui va charger le système d’exploitation dans la mémoire RWM. Les autres programmes, système d'exploitation compris, sont stockés sur un périphérique dédié au stockage, connecté sur une entrée-sortie : un disque dur, par exemple. Dans ce cas, la mémoire programme n'est pas intégralement stockée dans une ROM, mais l'est en grande partie sur un périphérique. Les programmes sont chargés en mémoire RWM pour être exécuté. L'avantage, c'est qu'on peut modifier le contenu d'un périphérique assez facilement, tandis que ce n'est pas vraiment facile de modifier le contenu d'une ROM (et encore, quand c'est possible). On peut ainsi facilement installer ou supprimer des programmes sur notre périphérique, en rajouter, en modifier, les mettre à jour sans que cela ne pose problème. C'est cette solution qui est utilisée dans nos PC actuels, et la petite mémoire ROM en question s'appelle le BIOS.
 
===HiérarchieLa hiérarchie mémoire===
 
Outre leurs capacités respectives, touts les mémoires ne sont pas aussi rapides. La rapidité d'une mémoire se mesure grâce à deux paramètres :
Ligne 86 :
On peut exploiter ces deux principes pour placer les données dans la bonne mémoire. Par exemple, si on a accédé à une donnée récemment, il vaut mieux la copier dans une mémoire plus rapide, histoire d'y accéder rapidement les prochaines fois : on profite de la localité temporelle. On peut aussi profiter de la localité spatiale : si on accède à une donnée, autant précharger aussi les données juste à coté, au cas où elles seraient accédées. Ce placement des données dans la bonne mémoire peut être géré par le matériel de notre ordinateur, mais aussi par le programmeur.
 
====MémoiresLes mémoires de masse====
 
Les '''mémoires de masse''' servent à stocker de façon permanente des données ou des programmes qui ne doivent pas être effacés (on dit qu'il s'agit de mémoires non-volatiles). Les mémoires de masse servent toujours à stocker de grosses quantités de données: elles ont une capacité énorme comparée aux autres types de mémoires, et sont donc très lentes. Parmi ces mémoires de masse, on trouve notamment :
Ligne 95 :
* mais aussi quelques mémoires très anciennes et rarement utilisées de nos jours, comme les rubans perforés et quelques autres.
 
====MémoireLa mémoire principale====
 
La mémoire principale est appelée, par abus de langage, '''la mémoire RAM'''. Il s'agit d'une mémoire qui stocke temporairement des données que le processeur doit manipuler (on dit qu'elle est volatile). Elle sert donc essentiellement pour maintenir des résultats de calculs, contenir temporairement des programmes à exécuter, etc. Avec cette mémoire, chaque donnée ou information stockée se voit attribuer un nombre binaire unique, l''''adresse mémoire''', qui va permettre de la sélectionner et de l'identifier parmi toutes les autres. On peut comparer une adresse à un numéro de téléphone ou à une adresse d'appartement : chaque correspondant a un numéro de téléphone et vous savez que pour appeler telle personne, vous devez composer tel numéro. Les adresses mémoires, c'est pareil, mais avec des données.
 
====CachesLes caches et local stores====
 
[[File:Scratch-Pad-Memory.jpg|vignette|Illustration des mémoires caches et des ''local stores''. Le cache est une mémoire spécialisée, de type SRAM, intercalée entre la RAM et le processeur. Les ''local stores'' sont dans le même cas, mais ils sont composées du même type de mémoire que la mémoire principale (ce qui fait qu'ils sont abusivement mis au même niveau sur ce schéma).]]
Ligne 109 :
Sur certains processeurs, les mémoires caches sont remplacées par des mémoires RAM appelées des '''local stores'''. Ce sont des mémoires RAM, identiques à la mémoire RAM principale, mais qui sont plus petites et plus rapides. Contrairement aux mémoires caches, il s'agit de mémoires adressables, ce qui fait qu'elles ne sont plus gérées automatiquement par le processeur : c'est le programme en cours d'exécution qui prend en charge les transferts de données entre local store et mémoire RAM. Ces local stores consomment moins d'énergie que les caches à taille équivalente : en effet, ceux-ci n'ont pas besoin de circuits compliqués pour les gérer automatiquement, contrairement aux caches. Côté inconvénients, ces local stores peuvent entrainer des problèmes de compatibilité : un programme conçu pour fonctionner avec des local stores ne fonctionnera pas sur un ordinateur qui en est dépourvu.
 
====RegistresLes registres du processeur====
 
Enfin, le dernier niveau de hiérarchie mémoire est celui des '''registres''', de petites mémoires très rapides et de faible capacité. Celles-ci sont intégrées à l'intérieur du processeur. La capacité des registres dépend fortement du processeur. Au tout début de l'informatique, il n'était pas rare de voir des registres de 3, 4, voire 8 bits. Par la suite, la taille de ces registres a augmenté, passant rapidement de 16 à 32 bits, voire 48 bits sur certaines processeurs spécialisés. De nos jours, les processeurs de nos PC utilisent des registres de 64 bits. Il existe toujours des processeurs de faible performance qui utilisent des registres relativement petits, de 8 à 16 bits.