Kapitel 5. Wie Go die Speicherressourcen nutzt

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In Kapitel 4 haben wir begonnen, unter die Haube eines modernen Computers zu schauen. Wir haben die Effizienzaspekte bei der Nutzung der CPU-Ressource besprochen. Die effiziente Ausführung von Befehlen in der CPU ist wichtig, aber der einzige Zweck der Ausführung dieser Befehle ist die Veränderung von Daten. Leider ist der Weg, Daten zu verändern, nicht immer trivial. In Kapitel 4 haben wir zum Beispiel gelernt, dass bei der von-Neumann-Architektur (siehe Abbildung 4-1) das Problem der CPU- und Speicherwand auftritt, wenn wir auf Daten aus dem Hauptspeicher (RAM) zugreifen.

Die Industrie hat zahlreiche Technologien und Optimierungsschichten erfunden, um solche Herausforderungen zu meistern, z. B. die Speichersicherheit und die Gewährleistung großer Speicherkapazitäten. Dank dieser Erfindungen kann der Zugriff auf acht Bytes aus dem Arbeitsspeicher auf das CPU-Register als einfacher MOVQ <address XYZ> <destination register> Befehl dargestellt werden. Der eigentliche Prozess, den die CPU durchführt, um diese Informationen von dem physischen Chip zu erhalten, der diese Bytes speichert, ist jedoch sehr komplex. Wir haben Mechanismen wie das hierarchische Cache-System besprochen, aber es gibt noch viel mehr.

In gewisser Weise werden diese Mechanismen so weit wie möglich von den Programmierern abstrahiert. ...

Get Efficient Go now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.