CAM內容尋址存儲器

    CAM是一種特殊的存儲器。所謂CAM,即內容尋址存儲器。CAM存儲器在其每個存儲單元都包含了一個內嵌的比較邏輯,寫入CAM的數據會和其內部存儲的每一個數據進行比較,並返回與端口數據相同的所有內部數據的地址。概括地講,RAM是一個根據地址讀、寫數據的存儲單元,而CAMRAM恰恰相反,它返回的是與端口數據內容相匹配的地址。CAM的應用也比較廣泛,比如在路由器中的地址交換表,CPUCache控制器(Tag陣列)等。

CAM(Content <wbr>Addressable <wbr>Memory)介紹

 

CAM工作原理:

CAM(Content <wbr>Addressable <wbr>Memory)介紹

    一次典型的CAM查找操作過程爲:首先,CAM接收外部的查找命令並把查找數據存儲到比較寄存器中,比較寄存器和掩碼寄存器的內容來共同組成系統的一個查找字(search word),這些查找字廣播到每一組相關聯字中,每一組相關聯字都有一個匹配鏈(matchline),匹配鏈指示查找字與存儲字是否一致(匹配或不匹配),匹配鏈把結果反饋到優先譯碼器中,優先譯碼器產生一個二進制的匹配位置定位和一個匹配命中信號。
由於在CAM存儲器中可能存在多個字的同時匹配,因而使用了一個優先譯碼器而不是簡單的譯碼器。當有多個字同時匹配時,優先譯碼器選擇最高優先權的匹配地址映射到匹配結果,在CAM中低地址字具有高優先權。


 

匹配煉工作原理:

CAM(Content <wbr>Addressable <wbr>Memory)介紹

 

Ø  The search-data word is loaded into the search-data register.

Ø  All match-lines are pre-charged to high (temporary match state).

Ø  Search line drivers broadcast the search word onto the differential search lines.

Ø  Each CAM core compares its stored bit against the bit on the corresponding search-lines.

Ø  Match words that have at least one missing bit, discharge to ground.


 

CAMCache控制其中的應用

 

CAM在Cache控制其中的應用

    CPU對Cache的搜索叫做Tag search,即通過Cache中的CAM(Content Addressed Memory)對希望得到的Tag數據進行搜索。CAM是一種存儲芯器,延遲很低。

    CPU與Cache之間交換數據是以字爲單位的,而Cache與內存之間交換數據是以塊爲單位的,並且在Cache中,是以若干字組成的塊爲基本單位的。一般情況下,CPU需要某個數據的時候,它會把所需數據的地址通過地址總線發出,一份發到與內存中,一份發到與Cache匹配的相聯存儲器(CAM)中,CAM通過分析對比地址,來確定所要的數據是否在Cache中,如果在,則以字爲單位把CPU所需要的數據傳送給CPU,如果不在,則 CPU在內存中尋找到該數據,然後通過數據總線傳送給CPU,並且把該數據所在的塊傳送到Cache中。

    CAM使用一組比較器,以比較輸入的標籤地址和存儲在每一個有效cache行中的cache-tag。訪問地址的tag部分被作爲CAM的輸入,輸入標籤同時與所有cache標籤相比較。如果有一個匹配,那麼數據就由cache存儲器提供;如果沒有匹配,存儲器控制器就會產生一個失效(miss)信號。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章