Moderne CPUs verwenden eine Hierarchie von Speichertechnologien. In den Chip eingebaute Register haben die niedrigsten Zugriffszeiten, sind jedoch teuer und flüchtig. Der Cache ist ein Vermittler zwischen RAM und Registern zum Speichern von Datenstrukturen, um die Latenz zwischen RAM und Registern zu verringern. RAM enthält für den Umfang dieser Abfrage aktiven Programmcode und deren Datenstrukturen. Nichtflüchtiger Speicher wird von Programmen verwendet, um ihre Daten zu speichern und das Betriebssystem und seine Programme zu speichern.
Die Latenz beim Zugriff auf Daten im Speicher war ein großer Engpass bei der Erstellung schnellerer CPUs, die nicht im Leerlauf stehen und auf weitere Anweisungen warten. Daher wurden verschiedene Methoden entwickelt, um Workloads zu parallelisieren, CPUs, um Verzweigungen vorherzusagen, um den Speicherzugriffsaufwand zu verbergen, und vieles mehr. Die Komplexität dieser Methode hat jedoch anscheinend eine andere Möglichkeit ignoriert: eine Registerdatei für den gesamten Speicher.
Eine solche CPU besteht aus 4, 8, 16, 32 GB oder mehr Registern. Kein Cache. Kein RAM. Nur die CPU, die Register auf dem Chip und der externe nichtflüchtige Speicher (SSD / Flash, HDD usw.).
Ich verstehe, dass die Nachfrage nach einem solchen Chip wahrscheinlich nicht ausreicht, um die Kosten zu rechtfertigen, aber ich bin weiterhin überrascht, dass niemand ein einfaches Gerät wie eine Hochleistungs-MCU oder einen SoC mit einer geringen Menge entwickelt zu haben scheint des Nur-Register-Speichers. Gibt es andere (vielleicht technische) Herausforderungen bei der Konstruktion und dem Bau eines solchen Chips?
BEARBEITEN zur Verdeutlichung. Ich beziehe mich weder auf eine CPU, in der der gesamte Speicher (DRAM-Technologie) in den CPU-Chip integriert ist, noch auf einen Cache, der auf mehrere Gigabyte erweitert ist. Ich frage nach einem Design, bei dem die Register ihre vorhandene Technologie bleiben ... nur um einige Größenordnungen erweitert, um mehrere Gigabyte Daten aufnehmen zu können.