Livre_silo 30 août 2013 16:32 Page 12
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
12
Informatique pour tous
Pour résoudre ce problème, on recourt à deux types de mémoires non volatiles :
• Mémoire morte. On sait construire des mémoires non volatiles offrant un accès en lecture à vitesse raisonnable, mais pas d’accès en écriture (Read-Only Memory, ROM), ou
du moins qui ne peut être changée facilement (EEPROM). Ces mémoires sont en général initialisées lors de la fabrication de la machine. Elles peuvent être utilisées pour
stocker des programmes mais pas les données utilisateur. Elles étaient notamment utilisées dans les consoles de jeux vidéo et certains ordinateurs des années 1980, sous la
forme de cartouches enfichables dans la machine. Aujourd’hui, elles sont utilisées dans
les ordinateurs de bureau pour stocker un programme qu’on appelle le firmware (BIOS
ou UEFI). Un ordinateur de bureau possède donc à la fois une mémoire morte et une
mémoire vive. Certaines plages d’adresses correspondent à des données stockées en mémoire vive, d’autres à des adresses stockées en mémoire morte et le processeur accède
en lecture aux unes et aux autres indifféremment. Toute tentative d’écriture dans une
adresse en mémoire morte se solde évidemment par un échec.
• Mémoire de masse. Pour sauvegarder les données, on ajoute un périphérique, appelé
mémoire de masse : autrefois un lecteur de bandes magnétiques, aujourd’hui un disque
dur (le plus fréquent sur les PC de bureau) ou une mémoire flash (le plus fréquent sur
les smartphones). Un disque dur est capable de stocker une grande quantité de données,
mais la lecture de celles-ci est environ mille fois plus lente que pour celles de la mémoire
vive. De plus, l’accès à ces données est relativement complexe : comme dans le cas de la
mémoire vive, les données qui y sont stockées ont toutes une adresse, mais le contenu
d’une adresse donnée n’ est pas accessible par une simple instruction du processeur. On
stocke en général dans un disque dur non seulement les données de l’utilisateur mais
aussi tous les programmes, y compris le système d’exploitation de la machine.
Par ailleurs, les constructeurs cherchent à fabriquer des ordinateurs toujours plus rapides.
Pour cela, il s’agit de surmonter les problèmes inhérents à l’architecture de von Neumann.
Aucune solution miracle n’existe mais plusieurs idées sont utilisées en conjonction :
• Déléguer l’affichage. On délègue tous les calculs concernant l’affichage à une carte graphique, sur laquelle se trouve un processeur dédié à cet usage, disposant d’une mémoire
vive propre, indépendante de celle de l’ordinateur. Ce processeur est en mesure d’effectuer les calculs géométriques nécessaires pour le rendu d’une scène en trois dimensions
(accélération 3D) ou pour décoder des flux vidéo, dont l’interprétation est particulièrement gourmande en calculs géométriques.
• Laisser les périphériques accéder à la mémoire. On permet, dans une certaine mesure,
aux périphériques de recopier des données dans et depuis la mémoire (Direct Memory
Access, DMA) pour ne pas avoir besoin de les faire passer toutes par le processeur.
En pratique, la réalisation matérielle d’un ordinateur diffère donc un peu de l’architecture
idéale de von Neumann pour tenter d’en gommer les défauts.
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
12
Informatique pour tous
Pour résoudre ce problème, on recourt à deux types de mémoires non volatiles :
• Mémoire morte. On sait construire des mémoires non volatiles offrant un accès en lecture à vitesse raisonnable, mais pas d’accès en écriture (Read-Only Memory, ROM), ou
du moins qui ne peut être changée facilement (EEPROM). Ces mémoires sont en général initialisées lors de la fabrication de la machine. Elles peuvent être utilisées pour
stocker des programmes mais pas les données utilisateur. Elles étaient notamment utilisées dans les consoles de jeux vidéo et certains ordinateurs des années 1980, sous la
forme de cartouches enfichables dans la machine. Aujourd’hui, elles sont utilisées dans
les ordinateurs de bureau pour stocker un programme qu’on appelle le firmware (BIOS
ou UEFI). Un ordinateur de bureau possède donc à la fois une mémoire morte et une
mémoire vive. Certaines plages d’adresses correspondent à des données stockées en mémoire vive, d’autres à des adresses stockées en mémoire morte et le processeur accède
en lecture aux unes et aux autres indifféremment. Toute tentative d’écriture dans une
adresse en mémoire morte se solde évidemment par un échec.
• Mémoire de masse. Pour sauvegarder les données, on ajoute un périphérique, appelé
mémoire de masse : autrefois un lecteur de bandes magnétiques, aujourd’hui un disque
dur (le plus fréquent sur les PC de bureau) ou une mémoire flash (le plus fréquent sur
les smartphones). Un disque dur est capable de stocker une grande quantité de données,
mais la lecture de celles-ci est environ mille fois plus lente que pour celles de la mémoire
vive. De plus, l’accès à ces données est relativement complexe : comme dans le cas de la
mémoire vive, les données qui y sont stockées ont toutes une adresse, mais le contenu
d’une adresse donnée n’ est pas accessible par une simple instruction du processeur. On
stocke en général dans un disque dur non seulement les données de l’utilisateur mais
aussi tous les programmes, y compris le système d’exploitation de la machine.
Par ailleurs, les constructeurs cherchent à fabriquer des ordinateurs toujours plus rapides.
Pour cela, il s’agit de surmonter les problèmes inhérents à l’architecture de von Neumann.
Aucune solution miracle n’existe mais plusieurs idées sont utilisées en conjonction :
• Déléguer l’affichage. On délègue tous les calculs concernant l’affichage à une carte graphique, sur laquelle se trouve un processeur dédié à cet usage, disposant d’une mémoire
vive propre, indépendante de celle de l’ordinateur. Ce processeur est en mesure d’effectuer les calculs géométriques nécessaires pour le rendu d’une scène en trois dimensions
(accélération 3D) ou pour décoder des flux vidéo, dont l’interprétation est particulièrement gourmande en calculs géométriques.
• Laisser les périphériques accéder à la mémoire. On permet, dans une certaine mesure,
aux périphériques de recopier des données dans et depuis la mémoire (Direct Memory
Access, DMA) pour ne pas avoir besoin de les faire passer toutes par le processeur.
En pratique, la réalisation matérielle d’un ordinateur diffère donc un peu de l’architecture
idéale de von Neumann pour tenter d’en gommer les défauts.
