Je lisais sur le temps de récupération du processeur , où j'ai trouvé que les processeurs prennent beaucoup moins de temps pour accéder aux données de la RAM par rapport à l'accès à un disque dur, et que la RAM est présente pour stocker les informations et les données du programme en cours d'exécution.
Ensuite, je me suis demandé ce qui se passerait lorsque nous n'utiliserions qu'un disque dur mais pas de RAM?
hard-drive
memory
cpu
akash ujjwal
la source
la source
Réponses:
À un certain point, cela se pose sur la question de ce qui compte même comme «RAM». Il existe de nombreux processeurs et microcontrôleurs qui ont beaucoup de mémoire sur puce pour exécuter de petits systèmes d'exploitation sans puce RAM séparée. En fait, cela est en fait relativement courant dans le monde des systèmes embarqués. Donc, si vous faites simplement référence à l'absence de puces RAM séparées, alors, oui, vous pouvez le faire avec de nombreuses puces actuelles, en particulier celles conçues pour le monde embarqué. Je l'ai fait moi-même au travail. Cependant, comme la seule vraie différence entre la mémoire sur puce adressable et les puces RAM séparées est simplement l'emplacement (et, évidemment, la latence), il est parfaitement raisonnable de considérer que la mémoire sur puce est elle-même RAM. Si vous comptez cela comme RAM, alors le nombre de courant,
Si vous faites référence à un PC normal, non, vous ne pouvez pas l'exécuter sans barrettes de RAM séparées, mais c'est uniquement parce que le BIOS est conçu pour ne pas tenter de démarrer sans RAM installée (ce qui est, à son tour, parce que tous les systèmes d'exploitation PC modernes nécessitent de la RAM pour fonctionner, d'autant plus que les machines x86 ne vous permettent généralement pas d'adresser directement la mémoire sur puce; elle est utilisée uniquement comme cache.)
Enfin, comme l'a dit Zeiss, il n'y a aucune raison théorique pour laquelle vous ne pouvez pas concevoir un ordinateur pour fonctionner sans RAM du tout, à part quelques registres. La RAM existe uniquement parce qu'elle est moins chère que la mémoire sur puce et beaucoup plus rapide que les disques. Les ordinateurs modernes ont une hiérarchie de mémoires qui va de grande, mais lente à très rapide, mais petite. La hiérarchie normale ressemble à ceci:
Notez que la raison entière des hiérarchies de mémoire est simplement économique. Il n'y a aucune raison théorique (pas en informatique du moins) pour laquelle nous ne pourrions pas avoir un téraoctet de registres non volatils sur une puce CPU. Le problème est qu'il serait tout simplement incroyablement difficile et coûteux à construire. Le fait d'avoir des hiérarchies allant de petites quantités de mémoire très coûteuse à de grandes quantités de mémoire bon marché nous permet de maintenir des vitesses rapides à des coûts raisonnables.
la source
Il serait théoriquement possible de concevoir un ordinateur pour fonctionner avec très peu (valeur de quelques registres) ou sans RAM (recherchez la définition d'une machine de Turing - qui peut en fait être construite dans une implémentation suffisamment grande / rapide de Conway's Life simulation).
La raison pour laquelle tous les ordinateurs du monde réel utilisent la RAM est, tout d'abord, historique: la mémoire centrale (le prototype de la RAM, uniquement semi-volatile) est largement antérieure au stockage de masse comme le tambour ou le disque magnétique (bien qu'elle soit apparue après les cartes perforées et la bande de papier - dont la première remonte, sous sa forme primitive, à 1801 (oui, le début du 19e siècle; les métiers Jacquard utilisaient des cartes perforées pour tisser automatiquement un motif de couleur d'une complexité arbitraire des décennies avant même les moteurs de différence Babbage ou les tabulateurs Hollerith); deuxièmement , La RAM (comme la mémoire centrale), étant électronique, est beaucoup plus rapide que n'importe quel appareil qui dépend du mouvement physique du support de stockage pour présenter les données à un mécanisme de lecture / écriture.
Un système ou une complexité similaire à un ordinateur Windows ou Linux moderne fonctionnant sans RAM (de manière similaire à une véritable machine Turing), prendrait quelques jours pour démarrer et des heures pour mettre à jour l'écran d'une interface graphique à des résolutions modernes. Même un système d'exploitation en texte seul comparable à CP / M ou aux premières versions de DOS mettrait très longtemps à atteindre l'invite de commande initiale.
la source
Vous pouvez, car lorsqu'un CPU x86 démarre, le cache L2 est initialement une SRAM avant d'être utilisé comme cache. Vous pouvez donc écrire votre propre bios afin de ne pas initialiser la RAM et utiliser uniquement la petite quantité de SRAM à l'intérieur du CPU en tant que RAM plutôt qu'en cache L2 / L3.
Lisez simplement les directives du BIOS des fabricants de CPU.
la source
TOUS les CPU modernes, standard et polyvalents fonctionnent fondamentalement comme ceci:
Que peut "vivre" dans un espace d'adressage?
Notez que "disque dur" ne figure pas dans cette liste. Le disque dur n'est pas directement connecté au CPU. Les données vont et viennent du disque dur via un périphérique d'E / S (adaptateur hôte SATA) connecté au CPU.
Le périphérique d'E / S utilise DMA pour charger / enregistrer des données vers / depuis le disque dur. Cela signifie que le périphérique d'E / S lit / écrit directement la RAM elle-même - sans intervention du processeur - et dépend également de la RAM présente. Mais si les données n'ont pas été chargées dans la RAM par le périphérique d'E / S, le processeur n'a aucune chance de les voir.
Vous ne pouvez donc pas avoir les instructions de récupération du CPU directement depuis le disque dur.
Ce qui se passe lors d'une erreur de page est:
Ainsi, le processeur qui a besoin d'obtenir des données du disque parce que la mémoire est échangée n'est pas différent.
la source
+1
pour être la seule réponse ici traitant du vrai problème, non seulement de ce qui se passerait , mais aussi pourquoi .Un ordinateur personnel nécessite de la RAM pour fonctionner. Chaque application lancée à partir du disque dur sera copiée en RAM avant d'être exécutée.
Donc, si vous n'avez pas de RAM dans votre ordinateur, votre ordinateur ne démarrera pas, vous donnera probablement plusieurs bips d'avertissement pour vous informer qu'il n'y a pas de RAM installée.
la source
L'ordinateur ne fonctionnera pas. La RAM est un élément essentiel de la publication réussie de la carte mère. Lorsque la RAM n'est pas présente ou endommagée, de nombreuses cartes mères donnent généralement des codes sonores pour indiquer où chercher lors du dépannage.
la source
En fait, vous pourriez dans au moins deux cas exécuter un ordinateur sans ce qui est techniquement appelé RAM
Les premiers vieux "ordinateurs" mécaniques (la construction de Konrad Zuse et l'ordinateur de Charles Babbage étaient des appareils mécaniques sans RAM encore appelés ordinateurs)
Un ordinateur moderne sans RAM et seulement un processeur (puce) avec registres . Dans la plupart des cas, vous avez SRAM (mémoire cache) sur le processeur, mais la mémoire d'ordinateur la plus rapide est appelée registres situés sur la puce, et techniquement, les registres sur la puce ne sont pas de la RAM.
la source
Cela ne fonctionnera tout simplement pas. La carte mère émet très probablement un bip inhabituel et s'éteint. Si vous n'avez pas assez de RAM, même 128 Mo pour Windows XP, il refusera de l'installer (en fait, vous avez essayé cela avec un vieil ordinateur; l'une des puces n'était pas correctement placée). Donc, avec les configurations actuelles, c'est impossible. Même si vous pouviez désactiver les vérifications de la carte mère, le processeur ne peut pas lire les données directement à partir du disque dur et a besoin de RAM pour chaque opération.
Je suppose qu'en théorie, il serait possible de construire une machine qui utilise peu ou pas de RAM, mais ce serait inefficace.
la source