Ich habe über die CPU-Abrufzeit gelesen. Dabei habe ich festgestellt, dass CPUs viel weniger Zeit für den Zugriff auf Daten aus dem RAM benötigen als für den Zugriff auf eine Festplatte, und dass RAM zum Speichern der Informationen und Daten zum Ausführen des Programms vorhanden ist.
Dann habe ich mich gefragt, was passiert, wenn wir nur eine Festplatte verwenden, aber keinen RAM?
hard-drive
memory
cpu
akash ujjwal
quelle
quelle
Antworten:
Irgendwann stellt sich die Frage, was überhaupt als "RAM" gilt. Es gibt viele CPUs und Mikrocontroller mit viel On-Chip-Speicher für kleine Betriebssysteme ohne separate RAM-Chips. Tatsächlich ist dies in der Welt der eingebetteten Systeme relativ häufig. Wenn Sie sich also nur darauf beziehen, dass keine separaten RAM-Chips angeschlossen sind, können Sie dies mit vielen aktuellen Chips tun, insbesondere solchen, die für die Embedded-Welt entwickelt wurden. Ich habe es selbst bei der Arbeit gemacht. Da der einzige wirkliche Unterschied zwischen adressierbarem On-Chip-Speicher und separaten RAM-Chips jedoch nur die Position (und natürlich die Latenz) ist, ist es durchaus sinnvoll, den On-Chip-Speicher als RAM zu betrachten. Wenn Sie das als RAM zählen, dann ist die Anzahl der aktuellen,
Wenn Sie sich auf einen normalen PC beziehen, können Sie ihn nicht ohne angeschlossene separate RAM-Sticks ausführen. Dies liegt jedoch nur daran, dass das BIOS nicht versucht, ohne installierten RAM zu booten (was wiederum darauf zurückzuführen ist, dass alle RAMs installiert sind) Moderne PC-Betriebssysteme benötigen RAM, um ausgeführt zu werden, insbesondere, da auf x86-Computern normalerweise keine direkte Adressierung des On-Chip-Speichers möglich ist, sondern nur als Cache verwendet wird.)
Schließlich gibt es, wie Zeiss sagte, keinen theoretischen Grund, warum Sie einen Computer ohne RAM überhaupt nicht entwerfen können, abgesehen von ein paar Registern. RAM existiert nur, weil es billiger als On-Chip-Speicher und viel schneller als Festplatten ist. Moderne Computer haben eine Hierarchie von Speichern, die von groß, aber langsam bis sehr schnell, aber klein reicht. Die normale Hierarchie sieht ungefähr so aus:
Beachten Sie, dass der gesamte Grund für Speicherhierarchien einfach die Wirtschaftlichkeit ist. Es gibt keinen theoretischen Grund (zumindest nicht innerhalb der Informatik), warum wir nicht ein Terabyte nichtflüchtiger Register auf einem CPU-Die haben könnten. Das Problem ist, dass der Bau nur wahnsinnig schwierig und teuer wäre. Hierarchien, die von kleinen Mengen sehr teuren Speichers bis zu großen Mengen billigen Speichers reichen, ermöglichen es uns, schnelle Geschwindigkeiten zu vernünftigen Kosten aufrechtzuerhalten.
quelle
Theoretisch wäre es möglich, einen Computer so zu konzipieren, dass er mit sehr wenig (Wert von wenigen Registern) oder ohne RAM arbeitet (siehe Definition einer Turing-Maschine - die tatsächlich in einer entsprechend großen / schnellen Implementierung von Conway's Life erstellt werden kann) Simulation).
Der Grund, warum alle Computer in der realen Welt RAM verwenden, ist in der Vergangenheit zu suchen: Der Kernspeicher (der Prototyp für RAM, nur halbflüchtig) liegt weit vor Massenspeichern wie Magnettrommeln oder -platten (obwohl dies nach Lochkarten und Papierbändern geschah). Ersteres geht in seiner ursprünglichen Form auf das Jahr 1801 zurück (ja, den Beginn des 19. Jahrhunderts; Jacquard-Webstühle verwendeten Lochkarten, um ein Farbmuster beliebiger Komplexität Jahrzehnte vor Babbage Difference Engines oder Hollerith-Tabulatoren automatisch zu weben) Ein RAM (wie ein Kernspeicher) ist elektronisch und sehr viel schneller als jedes Gerät, das von der physischen Bewegung des Speichermediums abhängt, um die Daten einem Lese- / Schreibmechanismus zu präsentieren.
Ein System oder eine ähnliche Komplexität wie ein moderner Windows- oder Linux-Computer, der ohne RAM läuft (ähnlich wie ein echter Turing-Computer), würde Tage brauchen, um hochzufahren, und Stunden, um den Bildschirm für eine grafische Benutzeroberfläche bei modernen Auflösungen zu aktualisieren. Selbst ein Nur-Text-Betriebssystem, das mit CP / M oder früheren DOS-Versionen vergleichbar ist, würde sehr lange brauchen , um die anfängliche Eingabeaufforderung zu erreichen.
quelle
Dies ist möglich, da der L2-Cache beim Start einer x86-CPU zunächst ein SRAM ist, bevor er als Cache verwendet wird. Sie können also Ihr eigenes BIOS schreiben, um den RAM nicht zu initialisieren und nur die geringe Menge an SRAM in der CPU als RAM zu verwenden, anstatt L2 / L3-Cache.
Lesen Sie einfach die BIOS-Richtlinien der CPU-Hersteller.
quelle
ALLE modernen Standard-Allzweck-CPUs funktionieren grundsätzlich so:
Was kann in einem Adressraum "leben"?
Beachten Sie, dass "Festplatte" nicht in dieser Liste enthalten ist. Die Festplatte ist nicht direkt mit der CPU verbunden. Die Daten werden über ein mit der CPU verbundenes E / A-Gerät (SATA-Hostadapter) auf der Festplatte übertragen.
Das E / A-Gerät verwendet DMA zum Laden / Speichern von Daten auf / von der Festplatte. Dies bedeutet, dass das E / A-Gerät den RAM selbst direkt liest / schreibt - ohne dass die CPU eingreift - und auch darauf angewiesen ist, dass RAM vorhanden ist. Wenn die Daten jedoch nicht vom E / A-Gerät in den RAM geladen wurden, hat die CPU keine Chance, sie zu sehen.
Die CPU kann also keine Anweisungen direkt von der Festplatte abrufen.
Was während eines Seitenfehlers passiert, ist:
Die CPU, die Daten von der Festplatte abrufen muss, weil der Speicher ausgelagert wird, ist also nicht anders.
quelle
+1
Dies ist die einzige Antwort, die sich mit dem eigentlichen Problem befasst, nicht nur was passieren würde , sondern auch warum .Ein PC benötigt zum Betrieb RAM. Jede von der Festplatte gestartete Anwendung wird zuerst in den Arbeitsspeicher kopiert, bevor sie ausgeführt wird.
Wenn Sie also keinen Arbeitsspeicher in Ihrem Computer haben, startet Ihr Computer nicht. Möglicherweise ertönen mehrere Warntöne, um Sie darauf hinzuweisen, dass kein Arbeitsspeicher installiert ist.
quelle
Der Computer wird nicht ausgeführt. RAM ist ein wesentlicher Bestandteil des erfolgreichen Beitrags vom Motherboard. Wenn kein RAM vorhanden oder beschädigt ist, geben viele Motherboards in der Regel Signaltöne aus, um anzugeben, wo Sie bei der Fehlerbehebung nachsehen müssen.
quelle
Eigentlich könnte man in mindestens zwei Fällen einen Computer ohne das betreiben, was technisch als RAM bezeichnet wird
Die ersten alten mechanischen "Computer" (Konrad Zuses Konstruktion und Charles Babbages Computer waren mechanische Geräte ohne RAM, die noch Computer genannt wurden)
Ein moderner Computer ohne RAM und nur einen Prozessor (Chip) mit Registern . In den meisten Fällen ist ein SRAM (Cache-Speicher) auf dem Prozessor vorhanden, der schnellste Computerspeicher wird jedoch als Register auf dem Chip bezeichnet, und die Register auf dem Chip sind technisch gesehen kein RAM.
quelle
Es läuft einfach nicht. Das Motherboard piept höchstwahrscheinlich auf ungewöhnliche Weise und fährt herunter. Wenn Sie nicht über genügend RAM verfügen, auch nicht über 128 MB für Windows XP, wird die Installation verweigert (dies wurde tatsächlich mit einem alten Computer versucht; einer der Chips war nicht richtig platziert). Also, mit den aktuellen Einstellungen ist das unmöglich. Selbst wenn Sie die Motherboard-Überprüfungen deaktivieren könnten, kann die CPU keine Daten direkt von der Festplatte lesen und benötigt für jeden Vorgang RAM.
Ich denke, theoretisch wäre es möglich, eine Maschine zu konstruieren, die wenig oder gar keinen Arbeitsspeicher benötigt, aber ineffizient wäre.
quelle