TLBルックアップはすべてのキーを同時に比較しますか?
-
28-09-2020 - |
質問
私はOSの概念を読んでいます。「TLBの各エントリは、キー(またはタグ)と値の2つの部分で構成されています。連想メモリがアイテムで提示されると、そのアイテムはすべてのものと比較されます。鍵。 "
チェック TLBとデータキャッシュの作業方法鍵のこの並列確認を可能にする実装については何も言わない。
ここでのパラレルハッシュテーブルについて何かを読みました:
これは基本的な考えですか?キーの挿入はフレーム番号を出力し、これはヒットまたはミスのどちらかである可能性がありますか?
解決
コンピュータハードウェアは基本的に並列です。モダンなシングルCPUコアでさえパイプライン化されていることを意味すると、同じ瞬間に、CPUの1つの物理部分が命令のフェッチを開始していることを意味します。もう1つの早いフェッチ命令を復号しています。もう1つは少しの新しい結果を計算しています。以前の復号化された命令、もう1つは少し早く計算された命令の結果を書き戻します。
CPU内のレイヤ1キャッシュが非常に小さい理由の1つであり、ストレージのビットごとにはるかに高価であるため、アドレスのタグキャッシュ部分が複数のキャッシュラインにブロードキャストされているため、一部があります。このタグ値をそれ自身のタグ値と比較する独立ハードウェアロジックは、それぞれ独立して「そのタグが私が持っているものと一致する」または「それは私に一致しない」を算出します。
所属していません cs.stackexchange