什麼是聯想記憶?

大多數內存以相同的方式存儲和訪問。內容被保存,然後使用內存地址檢索。這通常很有用,幾乎被普遍使用。不幸的是,這種存儲方式存在一個小問題。如果您知道所需數據的存儲位置,那就太好了。如果您想搜索特定的條目,它的性能就不會很好。

假設您想查找一個文件;你記得它的名字,但不記得你保存的文件夾。您的計算機可以搜索文件名,但除非您最近使用過它,否則執行搜索的速度通常很慢。並且考慮到文件系統存儲為文件名和地址。

關聯存儲器,也稱為內容可尋址存儲器或 CAM,旨在按其內容進行搜索。不幸的是,實現關聯內存非常昂貴。這意味著它僅在少數情況下使用,通常用於高端網絡硬件。關聯名稱 memory 來自這樣一個事實,即它是關聯軟件數組的硬件實現。

細胞結構

關聯內存僅用於需要極高性能的地方。因此,它基於 SRAM 而不是 DRAM。作為起點,僅此一項就使它變得昂貴。DRAM 每位使用一個晶體管和一個電容器,而 SRAM 一共使用 6 個晶體管。為了有效地搜索存儲單元的內容,每個單元都被修改為具有比較電路。這為每個單元增加了總共 4 個晶體管。這意味著關聯存儲器的密度明顯低於 SRAM,後者已經是一種昂貴的存儲形式。

用法

關聯記憶非常昂貴,並且專門針對匹配基於內容的搜索進行了優化。因此,它只真正用於需要經常執行此類搜索的設備;即便如此,它通常僅限於高端型號。通常只有兩個主要地方使用關聯存儲器,即網絡交換機和路由器。

交換機和路由器等網絡硬件必須提供高性能級別,以保持數千兆位的網絡流量不斷流動。在網絡中,MAC 地址用於路由流量。交換機將知道需要將數據發送到其眾多網絡端口中的哪一個,因此它將到達具有正確 MAC 地址的設備。為確保將每個數據包發送到正確的位置,將搜索其目標 MAC 地址。在傳統的內存格式中,這會花費一些時間,增加每個網絡通信的延遲。使用關聯內存,搜索可以更快。

二元和三元

大多數聯想存儲器是基於二進制的,但也有一些是基於三進制的。三元相聯存儲單元類似於上述的二進制相聯存儲單元。然而,它沒有一個 SRAM 單元,而是兩個。然後兩者一起具有執行比較所需的四個額外晶體管。當然,這使得三元相聯存儲器比它的二進製表親更昂貴,那麼它有什麼用呢?

三元單元格的第二位表示“關心”或“不關心”。這為單元格和整體搜索功能添加了第三種狀態。它現在可以存儲 1、0 或 X 表示無關。這在處理基於可變長度子網掩碼和訪問控制列表的網絡路由表時特別有用。您可能對這兩個中的單個搜索地址有多個正面響應。在兩者中,您只想注意最精確的說明。

因此,搜索 192.168.20.19 可能會匹配以下規則 192.168.20.16/28 和 192.168.0.0/16。如果您執行標準的二進制搜索,則必須執行計算以驗證地址是否在指定的地址範圍內。但是,使用三元邏輯,您可以在一次操作中確定您的搜索地址是否與 192.168.xx 匹配。您還可以確定 /28 匹配比 /16 匹配精確得多,因為“無關”位更少。這允許您優先應用相關的訪問控制規則。

由於三元相聯存儲器比二進制形式更昂貴,因此更不常見。它通常只能在高端路由器和多層交換機中找到。

結論

聯想記憶是一種與標準記憶截然不同的記憶形式。它不是請求存儲在特定地址中的數據,而是一次搜索整個內存以查找與搜索詞的匹配項。為了以高性能水平實現這一目標,存儲單元基於一種改進形式的 SRAM,具有一個或兩個 SRAM 單元以及四個用於執行位比較邏輯的額外晶體管。

單個 SRAM 單元用於二進制關聯存儲器,而兩個 SRAM 單元用於三元關聯存儲器。三元變體允許存儲第三個值,通常是 1、0 或“無關”。這允許內容指示它應該匹配,即使搜索詞不准確也是如此。

由於關聯存儲單元基於昂貴的 SRAM,因此成本很高,其中三進製成本最高。由於這一點及其結構針對按內容搜索進行了顯式優化,因此大多數設備不使用關聯存儲器。

只有特別受益於它並且性能超過前期成本的設備才具有它。因此,它通常只存在於企業級網絡硬件中。在該設置中,它通常被稱為 CAM 和 TCAM,分別表示內容可尋址存儲器和三態內容可尋址存儲器。



Leave a Comment

如何克隆硬碟

如何克隆硬碟

在資料是寶貴資產的現代數位時代,在 Windows 上複製硬碟對許多人來說可能是一個至關重要的過程。這份綜合指南

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

如何修復驅動程式 WUDFRd 在 Windows 10 上載入失敗?

您在啟動電腦時是否遇到錯誤訊息,提示驅動程式 WUDFRd 無法在電腦上載入?

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

如何修復 NVIDIA GeForce Experience 錯誤代碼 0x0003

您是否在桌面上遇到 NVIDIA GeForce 錯誤代碼 0x0003?如果是,請閱讀部落格以了解如何快速輕鬆地修復此錯誤。

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

如何在 2023 年從 Windows PC 中移除 GPU

如何在 2023 年從 Windows PC 中移除 GPU

您需要從 PC 上卸下 GPU 嗎?和我一起在這個分步指南中解釋如何從您的 PC 中刪除 GPU。

如何在台式機和筆記本電腦中安裝 NVMe SSD

如何在台式機和筆記本電腦中安裝 NVMe SSD

買了新的 NVMe M.2 SSD 但不知道如何安裝?繼續閱讀以了解如何在筆記本電腦或台式機上安裝 NVMe SSD。

什麼是邏輯炸彈?

什麼是邏輯炸彈?

邏輯炸彈是一種安全事件,攻擊者會在其中設置延遲操作。繼續閱讀以了解更多信息。

什麼是震網?

什麼是震網?

Stuxnet 是一種自我傳播的蠕蟲病毒。這是第一次使用網絡武器,也是第一個惡意軟件實例。

什麼是道德黑客?

什麼是道德黑客?

道德黑客是在法律約束下行事的黑客。繼續閱讀以了解有關該主題的更多信息。

什麼是對稱加密?

什麼是對稱加密?

密碼學有很多不同的部分。如果你想加密一些數據,你可以使用兩種類型的算法: symmetric