更新时间:2022-08-25 16:45
结合存储(Content-addressable memory)是一种特殊类型的计算机存储,应用于某些非常高速的搜索程序。也被称为结合数组,这个术语经常被用于编程数据结构. (Hannum et al., 2004) 一些订制的计算机,类似于Goodyear STARAN, 就是用来实现CAM, 所以被称为结合计算机。
结合存储(Content-addressable memory)是一种特殊类型的计算机存储,应用于某些非常高速的搜索程序。也被称为结合数组,这个术语经常被用于编程数据结构. (Hannum et al., 2004) 一些订制的计算机,类似于Goodyear STARAN, 就是用来实现CAM, 所以被称为结合计算机。
标准的计算机存储(随机存取存储器或者RAM)的用法是,用户提供存储地址,RAM返回存储在该位置的数据字。不同于RAM,CAM的设计用途为,用户提供一个数据字,CAM搜索全部的存储以判断这个数据字是否存储在其中。如果找到了这个数据字,CAM返回由一个或者多个地址组成的列表,这些地址中都存储着这个数据字(在某些架构中,数据字或者其他关联的数据块会同时返回)。 所以CAM就是软件术语associative array的硬件具体化。
数据字的辨认是由Dudley Allen Buck在1955年提出的。
CAM和别的Network Search Elements (NSEs)的主要接口定义由一份被称为Look-Aside Interface(LA-1 and LA-1B) 的互用性协议描述。这份协议由Network Processing Forum开发,其后被Optical Internetworking Forum(OIF)合并. 2007年12月11日,OIF 发布了serial lookaside (SLA)接口协议。
由于CAM设计为在一个操作中搜索整个存储,所以在几乎所有的搜索应用中都要比RAM快很多, 但是在损耗方面存在不少劣势。