2009-04-02 6 views
2

Was ist "Tagged Memory" und wie hilft es bei der Reduzierung der Programmgröße?Was ist "Tagged Memory"?

+0

Das einzige, was bei Google für getagged Speicher im Moment auftaucht, ist diese stackoverflow-Seite :) Vielleicht müssen Sie klären, um uns zu sagen, in welchem ​​Kontext Sie es gehört haben. – thomasrutter

+1

Wenn dies Hausaufgaben sind, könnten Sie einige Informationen über den Kontext hinzufügen, in dem Sie diesen Begriff gesehen haben. Könnte helfen, eine Antwort zu bekommen. – MatrixFrog

Antwort

1

Nicht sicher, aber es ist möglich, dass Sie sich auf garbage collection beziehen. Dies ist der Prozess der automatischen Entsorgung von nicht mehr verwendeten Objekten, die beim Ausführen eines Programms erstellt werden.

"Tagged Speicher" kann ein Synonym für mark-and-sweep sein, die die einfachste Möglichkeit ist, Garbage Collection zu implementieren.

Wenn das alles falsch ist, bitte bearbeiten Sie Ihre Frage zu klären.

+0

+1: Absolut korrekt! – none

0

Here's Eine technische Beschreibung der Implementierungsdetails, wie dies für die Garbage Collection verwendet wird. Sie können auch den Wikipedia-Artikel über Tagged Pointers lesen.

1

Der Windows-DDK verwendet "Pool-Tags" beim Zuweisen von Speicher aus dem Kernel-Seitenpool. Es kostet 4 Bytes Speicher pro Zuweisung, erlaubt es Ihnen jedoch, Teile des Kernelspeichers zu markieren (d. H. Zu markieren), was beim Debuggen und Erkennen von Speicherlecks helfen könnte.

BTW Ich sehe nicht, wie etwas namens "gekennzeichneten Speicher" Programmgröße reduzieren könnte. Es klingt wie zusätzliche Arbeit, die übersetzt "mehr Code" und "größeres Programm" bedeutet. Vielleicht ist es gedacht, um den Speicherabdruck irgendwie zu reduzieren?

3

Sie können sich auf eine tagged union oder genauer gesagt eine Hardware-Implementierung wie die markierte Architektur in LISP-Maschinen beziehen. Grundsätzlich eine Methode zum Speichern von Daten mit Typinformationen.

In einer LISP-Maschine wurde dies im Speicher ausgeführt, indem eine längere Wortlänge verwendet wurde und einige der zusätzlichen Bits zum Speichern von Typinformationen verwendet wurden. Die Handhabung und Überprüfung der Tags erfolgte implizit in Hardware.

Eine typsichere C++ - Implementierung finden Sie unter boost: variant.

+0

Es gibt auch eine Wiki-Seite über getaggten Speicher in Hardware hier: https://en.wikipedia.org/wiki/Tagged_Architektur –