什麼是聯想記憶?

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

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

關聯存儲器,也稱為內容可尋址存儲器或 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

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果您的 Powerbeats Pro 无法充电,请使用其他电源并清洁耳塞。充电时请保持充电盒打开。

3D打印基础知识:必读的维护清单

3D打印基础知识:必读的维护清单

保持设备良好的状态是必须的。以下是一些有用的提示,可以帮助您保持您的3D打印机处于最佳状态。

佳能 Pixma MG5220:无需墨水扫描

佳能 Pixma MG5220:无需墨水扫描

当佳能 Pixma MG5220 没有墨水时,如何启用扫描功能。

笔记本电脑过热的5个原因

笔记本电脑过热的5个原因

了解笔记本电脑过热的一些可能原因,以及避免这个问题和保持设备冷却的小贴士和技巧。

如何修复GeForce Now错误代码0xC272008F

如何修复GeForce Now错误代码0xC272008F

您正在为一晚的游戏做准备——这是一次重要的体验——您刚刚在GeForce Now流媒体服务上购买了“星球大战:外部法则”。了解唯一已知的解决方法,教您如何修复GeForce Now错误代码0xC272008F,以便您可以再次开始玩育碧游戏。

3D打印基础:您的3D打印机维护提示

3D打印基础:您的3D打印机维护提示

保持3D打印机的良好状态对于获得最佳效果非常重要。这里有一些重要的维护提示。

如何找到打印机的IP地址

如何找到打印机的IP地址

找不到你的打印机使用的IP地址吗?我们将向您展示如何找到它。

如何在三星手机上使用AirPods

如何在三星手机上使用AirPods

如果您不确定是否应该为您的三星手机购买AirPods,这篇指南可以帮助您。最明显的问题是这两者是否兼容,答案是:是的,它们是兼容的!

什麼是 WPS?它是如何工作的?

什麼是 WPS?它是如何工作的?

通過此詳細教程了解 WPS 的全部內容,學習如何簡單安全地連接無線網絡。

LinkedIn:如何防止其他人知道您看到了他們的個人資料

LinkedIn:如何防止其他人知道您看到了他們的個人資料

了解如何使用LinkedIn的私人模式,防止其他人知道您查看了他們的個人資料。這裡有不同的解決方案,以確保您的隱私。