2009-04-02 18 views
2

「タグ付きメモリ」とは何ですか?また、プログラムサイズを縮小するのにどのように役立ちますか?「タグ付きメモリ」とは何ですか?

+0

現時点ではタグ付きメモリのGoogleで表示されるのはこのstackoverflowページだけです。あなたが聞いたコンテキストが何であるか教えてください。 – thomasrutter

+1

これが宿題であれば、この用語を見た文脈に関する情報を追加できます。答えを得るのに役立つかもしれません。 – MatrixFrog

答えて

1

わかりませんが、garbage collectionを参照している可能性があります。これは、プログラムの実行中に作成されたオブジェクトが自動的に破棄されるプロセスです。

「タグ付きメモリは、」ガベージコレクションを実装するための最も基本的な方法であるmark-and-sweepの同義語とすることができます。

これが間違っている場合は、質問を編集して明確にしてください。

+0

+1:絶対に正しい! – none

0

Here'sこれは、ガベージコレクションのために使用されている方法として、実装の詳細に入るより技術的な説明。また、Tagged Pointersについてのウィキペディアの記事をチェックしたいかもしれません。

1

Windows DDKは、カーネルページプールからメモリを割り当てる際に「プールタグ」を使用します。割り当てごとに4バイトのメモリが必要ですが、デバッグやメモリリークの検出に役立つカーネルメモリの部分にラベル付け(つまりタグ付け)することができます。

私は「タグ付きメモリ」と呼ばれるものがプログラムコードのサイズをどのように縮小するかはわかりません。余分な仕事のように思えます。これは、「より多くのコード」と「より大きなプログラム」に変換されます。それは何とかメモリフットプリントを減らすことを意味するのでしょうか?

3

あなたはtagged unionを参照し、より具体的LISP機械に使用タグ付けされたアーキテクチャのようなハードウェア実装されてもよいです。基本的には、型情報付きのデータを格納する方法です。 LISP機において

は、これは、より長いワード長を使用して、タイプ情報を格納するために余分なビットの一部を使用して、メモリ内で行いました。タグの操作とチェックは、ハードウェアで暗黙的に行われました。

タイプセーフなC++実装については、boost:variantを参照してください。

+0

ハードウェアにタグ付きメモリに関するwikiページもあります:https://en.wikipedia.org/wiki/Tagged_architecture –

関連する問題