Kann eine CPU (wie der Intel i3 / i5 / i7 / Xeon) mit On-Chip-Cache-RAM diesen als einzigen funktionsfähigen RAM verwenden, ohne dass externe Speicherbänke angeschlossen sind?
Oder muss externes RAM vorhanden sein und der Cache kann nicht alleine verwendet werden?
Moderne Desktop- / Server-CPUs verfügen häufig über mehr internen Cache-RAM als viele Computer der 90er Jahre im gesamten Systemspeicher. Daher sollte dort genügend Platz für die Ausführung von einfachem Code vorhanden sein.
CPUs aus der Zeit vor dem Cache, wie der 6502, wären nicht in der Lage, irgendetwas zu tun, da der interne CPU-RAM nur wenige Bytes für den Adressenzähler und die Akkumulatoren betrug.
Hierbei handelt es sich nicht um die Ausführung moderner Betriebssysteme, sondern um die Ausführung von einfachem Code, der in einem benutzerdefinierten ROM programmiert oder über eine Hex-Eingabetastatur von Hand eingegeben wurde.
quelle
Antworten:
Sehen Sie sich diese äußerst detaillierte Beschreibung der PC-Startsequenz an: http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2
Sie können dies beobachten, indem Sie einen PC ohne RAM betreiben: Er gibt eine Reihe von Signaltönen aus. Das Programm, das diese wiedergibt, wird vom BIOS-Flash-ROM ausgeführt.
Ich habe dieses Verhalten auch bei einigen ARM-Prozessoren beobachtet. Im SoC befinden sich Konfigurationsregister, mit denen Sie den Cache zu einem frühen Zeitpunkt in der Startsequenz als RAM verwenden können, um ein Programm auszuführen, das den DRAM findet, auflistet und konfiguriert.
quelle
INVD
Deaktivieren des Caches (beim Verlassen des CAR-Modus) dient, anstatt unnötige Daten in den Speicher zu schreiben, die möglicherweise überschrieben werden etwas wertvolles).Im Allgemeinen ist der Cache-Speicher nicht adressierbar. Ein Programm kann keine Daten absichtlich speichern oder von dort abrufen.
quelle
Obwohl dies die in der Frage angegebenen Prozessorfamilien nicht direkt anspricht, funktioniert das folgende Schema auf den früheren x86-Prozessoren. Ja, es ist möglich, ohne RAM oder Cache zu arbeiten, obwohl dieser Ansatz einige kreative Programmierkenntnisse erfordert.
In den 1980er Jahren stieß ich auf einen Entwurf für einen Radioempfänger, der die in Großbritannien ausgestrahlten MSF-Zeitsignale entschlüsselte . Dieses Design verwendete einen Z80-Prozessor und hatte nur ein ROM für den Programmspeicher. Die gesamte Verarbeitung und Datenspeicherung wurde unter Verwendung der internen Register im Prozessor durchgeführt. Dies bedeutete offensichtlich, dass es keine Unterprogrammaufrufe geben konnte, da Speicher verfügbar war, um den Stapel zu halten.
Die Kosten für RAM waren damals hoch und da es sich um ein Hobbyprojekt handelte, war es wichtig, die Kosten niedrig zu halten, abgesehen davon, dass es sich um eine interessante akademische Übung handelte. Dies war auch vor den Tagen der weit verbreiteten Mikrocontroller (ein 8751 mit eprom kostete über £ 100 IIRC).
quelle
In der Regel benötigt eine CPU eine externe Uhr. Aber damit kann es ja.
quelle