La mémoire est utilisée pour beaucoup de choses, si je comprends bien. Il sert de cache disque et contient les instructions des programmes, ainsi que leur pile et tas. Voici une expérience de pensée. Si l'on ne se soucie pas de la vitesse ou du temps nécessaire à un ordinateur pour effectuer le crunching, quelle est la quantité minimale de mémoire que l'on peut avoir, en supposant que l'on dispose d'un très grand disque? Est-il possible de supprimer la mémoire et de n'avoir qu'un disque?
La mise en cache sur disque n'est évidemment pas requise. Si nous configurons l'espace d'échange sur le disque, la pile de programmes et le tas ne nécessitent pas non plus de mémoire. Y a-t-il quelque chose qui nécessite la présence de mémoire?
Réponses:
Sûr. En principe, étant donné le matériel approprié, vous pourriez avoir juste un disque, avec tout stocké sur le disque. À chaque fois que le CPU exécute une instruction de chargement ou de stockage, il peut y avoir du matériel qui le transforme en lecture ou écriture sur disque. Ce serait extrêmement lent: sur un disque magnétique, chaque recherche prend environ 10 ms, vous pouvez donc effectuer environ 100 lectures et écritures à accès aléatoire par seconde.
Certains systèmes ont une mémoire flash mappée dans leur espace d'adressage. La mémoire flash fournit un stockage non volatile (persistant). Donc, à certains égards, cela ressemble à ce que vous mentionnez - bien que ces systèmes disposent généralement également de RAM.
la source
En termes de calculabilité, il est connu que chaque ordinateur moderne peut être simulé par une machine de Turing dont le seul stockage est une seule cellule de bande linéaire qui peut être écrite. En supposant que vous puissiez continuer à ajouter des quantités illimitées de stockage sur disque, un ordinateur ne disposant que de disques durs est tout aussi puissant. Vous pouvez donc certainement créer un ordinateur sans mémoire.
Bien sûr, il n'y a pas de disques durs à "espace illimité", mais il n'y a pas non plus de RAM illimitée.
Il existe un certain nombre de problèmes pratiques, par exemple, vous auriez besoin de conventions pour mapper différentes zones et adresses sur le disque, un système d'exploitation qui a écrit sur le disque pour le stockage intermédiaire et les adresses de disque gérées. En réalité, vous finiriez par simuler de près la RAM sur votre disque dur.
la source
La question n'est pas purement académique. C'est une question de record historique que l'un des premiers ordinateurs produits commercialement [désolé, je ne me souviens pas lequel] n'avait pas de RAM - tous les programmes ont été exécutés en récupérant les instructions directement sur un tambour magnétique [un cylindre rotatif avec surface extérieure magnétisable (les disques sont venus plus tard)]. C'était relativement lent, mais beaucoup moins cher que beaucoup de concurrents. [C'était bien en arrière dans les jours «tube»]
Fait intéressant, il est venu avec un outil désormais obsolète connu sous le nom d '«assembleur d'optimisation» - c'est-à-dire que l'assembleur a non seulement généré des instructions machine, il les a écrites sur le tambour de manière non consécutive afin de minimiser, pour chaque instruction, le temps en attendant que le tambour tourne au suivant.
la source
Non. Les lecteurs de disque ne sont pas adressables au hasard comme la RAM. Ce sont plutôt des périphériques de stockage en bloc. Vous ne pouvez pas lire ou écrire un octet à partir d'eux. Et votre CPU ne peut pas lire un secteur entier à la fois, il a besoin de cet accès aléatoire. Les systèmes d'exploitation vous cachent ce niveau de détail, mais ils le font en lisant tout un segment dans la RAM, en le modifiant et en le réécrivant.
Par conséquent, vous avez besoin d'un bloc de stockage à accès aléatoire. Cela pourrait être le cache CPU, cependant, qui est fait de SRAM (un type rapide de RAM).
Ce ne sont pas seulement des disques. La mémoire flash est par sa conception construite sur des blocs, ce qui est la clé de son faible prix. Il a même des blocs beaucoup plus grands que les secteurs de disque normaux, mais il utilise la RAM en interne pour le cacher au système d'exploitation.
Vous pouvez rendre le stockage persistant directement utilisable par un processeur. Le stockage EEPROM tomberait dans cette catégorie (mémoire programmable en lecture seule effaçable électroniquement - bien que «optimisée en lecture» soit une meilleure description factuelle).
la source
Lorsque vous utilisez de la mémoire virtuelle et que vous devez gérer des défauts de page, le gestionnaire d'exceptions qui gère le défaut de page au moins, le pilote de disque qui lit les données du disque dur et écrit d'abord les pages sales sur le disque et les tables de pages doivent être en RAM tout le temps. Parce que s'ils ne sont pas en RAM, vous ne pouvez pas les replacer dans la RAM. De plus, vous avez besoin d'espace pour au moins une page de RAM.
Si vous aviez un processeur comme un Xeon 12 cœurs massif avec 30 Mo de mémoire cache, il pourrait être possible d'avoir un système sans RAM ni disque dur, mais utilisez uniquement la mémoire cache. (Je ne sais pas si cela fonctionne réellement ou si pour une raison quelconque la RAM est requise).
la source
C'est conceptuellement possible. La RAM n'est qu'un niveau de mise en cache. Il existe de nombreux niveaux de mise en cache dans un ordinateur moderne (voir les caches L1, L2, L3 .. du CPU, bien sûr Ram, la zone de swap -qui est une section logique du disque utilisé comme RAM ...-), si vous mettez ou ajoutez-en un, la machine fonctionnera. Par exemple, un live cd Ubuntu peut ne pas utiliser le niveau de mise en cache du disque dur. Cependant, je ne pense pas qu'il existe de système d'exploitation pouvant prendre en charge l'absence de niveau de RAM.
la source
Techniquement, la RAM est une mémoire volatile principale utilisée pour améliorer la vitesse de traitement. Une fois l'alimentation coupée, les données de la mémoire principale sont perdues. Si nous utilisons un disque, c'est-à-dire comme vous le dites, uniquement du disque et non de la RAM, nous pourrions toujours faire fonctionner notre ordinateur, mais il y aurait plus de surcharge d'écriture et de lecture, ce qui ralentirait considérablement le système. Par conséquent, nous utilisons de la RAM.
la source