Wo wird der Arbeitsspeicher auf einer RISC-V-CPU gespeichert? [geschlossen]

Hat RISC-V eine Meinung dazu, ob der RAM auf demselben Chip wie die CPU (wie bei ARM-Geräten) oder auf einem separaten Chip irgendwo auf dem Motherboard (wie bei einem x86-Desktop) gespeichert ist? Ich gehe davon aus, dass die CPU einige Cache-Ebenen direkt darauf hat, aber ich bin neugierig, wo sich der Hauptspeicher befindet.

Wenn nicht die Architektur, was machen vorhandene RISC-V-CPUs? Speichern die CPUs von SiFive den RAM auf demselben Chip wie die CPU oder an anderer Stelle auf der Platine? Ist es generell besser, das eine oder das andere zu tun? Hängt es davon ab, wie die Architektur gestaltet ist? Ich habe diese Frage gefunden , aber die Antworten scheinen sich auf Desktop-x86- und POWER-CPUs zu konzentrieren.

Genau wie bei ARM kommt es auf die tatsächliche Implementierung an. Der Kern selbst legt eine Speicherschnittstelle offen. Cache ist optional. Auf dem GD32VF103-Gerät, das ich habe, befindet sich der Speicher auf dem Chip mit der Kern-CPU.
RISC-V-Spezifikationen sprechen hauptsächlich über ISA und die Registerdatei, aber nicht über die gesamte SoC-Hardwarearchitektur. Das ist implementierungsspezifisch. SiFive sollte eine eigene Implementierung haben. Sie sollten also ihre offenen Kerne in GitHub oder so überprüfen. RAMs befinden sich in fast allen SoCs außerhalb des Chips (außerhalb des Prozessors).
Der einzige mir einfallende ARM-SoC mit integriertem DRAM ist der Apple M1.
Einige der Raspis hatten DRAM als PoP (Package on Package) und es gibt viele andere, die DRAM integriert haben - Allwinner V3s, Nuvoton, Atmel ........
Es gibt auch x86-CPUs mit allem RAM auf dem Chip (Intel Quark) und ARM-Geräte mit RAM auf dem Motherboard (Amazon Graviton). ISA bestimmt nicht, wo der Speicher ist, wie viel RAM Sie benötigen und wie viel Sie bezahlen möchten, bestimmt das.

Antworten (1)

RISC-V ist keine CPU, sondern eine Instruction Set Architecture (ISA). ISA spezifiziert nur den Befehlssatz und einige Register. ISA gibt nicht an, wo sich der Speicher befinden soll, was eine Frage der Hardwareimplementierung ist.

Das Ziel von ISAs ist es, die binäre Kompatibilität zwischen zwei Prozessoren zu ermöglichen, die dieselbe ISA implementieren, selbst wenn sie unterschiedliche Mikroarchitekturen / Hardwareimplementierungen verwenden. In RISC-V ISA gibt es verschiedene Erweiterungen wie 32-Bit, 64-Bit, Bit-Manipulation usw.

Ich habe nie behauptet, dass RISC-V eine CPU ist, ich sagte "RISC-V CPU", was "eine CPU mit der RISC-V ISA" bedeutet. Aber danke für die Antwort.