İçerik adreslenebilir bellek - Content-addressable memory
İçerik adreslenebilir bellek ( CAM ), belirli çok yüksek hızlı arama uygulamalarında kullanılan özel bir bilgisayar belleği türüdür . İlişkisel bellek veya ilişkisel depolama olarak da bilinir ve giriş arama verilerini bir depolanmış veri tablosuyla karşılaştırır ve eşleşen verilerin adresini döndürür.
Veri kelime tanıma birimi, 1955 yılında Dudley Allen Buck tarafından önerildi .
CAM, bilgi tabanı iletme ve yönlendirme tablosu işlemlerini hızlandırdığı ağ aygıtlarında sıklıkla kullanılır . Bu tür bir ilişkisel bellek, önbellekte de kullanılır. İlişkili önbellekte hem adres hem de içerik yan yana saklanır. Adres eşleştiğinde ilgili içerik önbellekten alınır.
Donanım ilişkisel dizisi
Kullanıcının bir bellek adresi sağladığı ve RAM'in bu adreste depolanan veri sözcüğünü döndürdüğü standart bilgisayar belleği, rastgele erişimli bellek (RAM) aksine , bir CAM, kullanıcının bir veri sözcüğü sağlayıp bu veri kelimesinin herhangi bir yerde saklanıp saklanmadığını görmek için tüm hafıza. Veri sözcüğü bulunursa, CAM, sözcüğün bulunduğu bir veya daha fazla depolama adresinin listesini döndürür. Bu nedenle, bir CAM, yazılım terimleriyle bir ilişkisel dizi olarak adlandırılacak olanın donanım düzenlemesidir .
standartlar
CAM'ler ve diğer ağ arama motorları için temel bir arayüz tanımı , Network Processing Forum tarafından geliştirilen Look-Aside Interface (LA-1 ve LA-1B) adı verilen bir birlikte çalışabilirlik anlaşmasında belirtildi . Birlikte çalışabilirlik sözleşmesine uygun çok sayıda cihaz Integrated Device Technology , Cypress Semiconductor , IBM , Broadcom ve diğerleri tarafından üretilmiştir . 11 Aralık 2007'de OIF, seri bakış açısı (SLA) arayüz anlaşmasını yayınladı.
Yarı iletken uygulamaları
CAM, veri arama uygulamalarında RAM'den çok daha hızlıdır. Ancak CAM'ın maliyet dezavantajları vardır. Basit depolama hücrelerine sahip bir RAM çipinden farklı olarak , tamamen paralel bir CAM'deki her bir bireysel bellek biti , saklanan bit ile giriş biti arasındaki bir eşleşmeyi tespit etmek için kendi ilişkili karşılaştırma devresine sahip olmalıdır. Ek olarak, veri sözcüğündeki her bir hücreden gelen eşleşme çıktıları, eksiksiz bir veri sözcüğü eşleşme sinyali elde etmek için birleştirilmelidir. Ek devre, CAM çipinin fiziksel boyutunu ve üretim maliyetini artırır. Her karşılaştırma devresi her saat döngüsünde aktif olduğundan, ekstra devre ayrıca güç tüketimini de artırır. Sonuç olarak, CAM yalnızca daha az maliyetli bir yöntemle arama hızının sağlanamadığı özel uygulamalarda kullanılır. Başarılı bir erken uygulama, Genel Amaçlı İlişkisel İşlemci IC ve Sistemi idi.
2000'li yılların başında Cypress , IDT , Netlogic , Sibercore ve MOSAID dahil olmak üzere birçok yarı iletken şirket , ağ uygulamalarını hedefleyen CAM ürünlerini tanıttı. Bu ürünler, Ağ Arama Motorları (NSE), Ağ Arama Hızlandırıcıları (NSA) ve Bilgi Tabanlı İşlemciler (KBP) olarak etiketlendi, ancak esasen ağ iletişimi için optimize edilmiş özel arayüzlere ve özelliklere sahip CAM idi. Şu anda Broadcom birkaç KBP ailesi sunmaktadır.
Alternatif uygulamalar
Hız, bellek boyutu ve maliyet arasında farklı bir denge elde etmek için bazı uygulamalar, etkin performansı hızlandırmak için çoğaltma veya ardışık düzen gibi donanım hilelerini kullanarak standart ağaç araması veya donanımdaki karma tasarımları kullanarak CAM işlevini öykünür. Bu tasarımlar genellikle yönlendiricilerde kullanılır . Lulea algoritması internet yönlendirme tablolarında gerektiği gibi en uzun önek maç aramalar için verimli bir uygulamasıdır.
Üçlü CAM'ler
İkili CAM , en basit CAM türüdür ve tamamen 1'ler ve 0'lardan oluşan veri arama sözcüklerini kullanır . Üçlü CAM ( TCAM ) bir sağlar üçüncü uygun durum arasında X ya da önemli değil dolayısıyla arama esneklik sağlayarak, depolanmış kelime bir veya daha fazla bit. Örneğin, üçlü bir CAM'de saklanan "10XX0" kelimesi, "10000", "10010", "10100" veya "10110" dört arama kelimesinden herhangi biriyle eşleşecektir. Dahili bellek hücresinin artık ikili CAM için iki durum yerine üç olası durumu kodlaması gerektiğinden, eklenen arama esnekliği ikili CAM'ye göre ek bir maliyet getirir. Bu ek durum tipik olarak her bellek hücresine bir maske biti ("bakım" veya "umurumda değil" biti) eklenerek uygulanır.
Örnek uygulamalar
İçerik adreslenebilir bellek genellikle bilgisayar ağ aygıtlarında kullanılır . Örneğin, bir ağ anahtarı bağlantı noktalarından birinden bir veri çerçevesi aldığında , çerçevenin kaynak MAC adresi ve alındığı bağlantı noktası ile dahili bir tabloyu günceller . Ardından, çerçevenin hangi bağlantı noktasına iletilmesi gerektiğini belirlemek için tabloda hedef MAC adresini arar ve bu bağlantı noktasında gönderir. MAC adres tablosu genellikle bir ikili CAM ile uygulanır, böylece hedef bağlantı noktası çok hızlı bir şekilde bulunabilir, bu da anahtarın gecikmesini azaltır.
Üçlü CAM'ler genellikle , her adresin iki parçaya sahip olduğu ağ yönlendiricilerinde kullanılır : alt ağ yapılandırmasına bağlı olarak boyut olarak değişebilen ağ öneki ve kalan bitleri kaplayan ana bilgisayar adresi. Her alt ağın, adresin hangi bitlerinin ağ öneki ve hangi bitlerin ana bilgisayar adresi olduğunu belirten bir ağ maskesi vardır. Yönlendirme , bilinen her hedef ağ önekini, ilişkili ağ maskesini ve paketleri bu hedefe yönlendirmek için gereken bilgileri içeren yönlendirici tarafından sağlanan bir yönlendirme tablosuna danışılarak yapılır. Yazılım uygulamalarında, yönlendirici, yönlendirilecek paketin hedef adresini, yönlendirme tablosundaki her girişle karşılaştırır, ağ maskesiyle bit düzeyinde AND işlemi yapar ve bunu ağ öneki ile karşılaştırır. Eşitlerse, paketi iletmek için karşılık gelen yönlendirme bilgisi kullanılır. Yönlendirme tablosu için üçlü bir CAM kullanmak, arama sürecini çok verimli hale getirir. Adresleri kullanılarak depolanır umurumda değil bunu hemen doğru yönlendirme girişlerine alır CAM hedef adres ararken adresin konak kısmı için; hem maskeleme hem de karşılaştırma CAM donanımı tarafından yapılır. Bu, (a) girişler azalan ağ maskesi uzunluğuna göre depolanırsa ve (b) donanım yalnızca ilk eşleşen girişi döndürürse çalışır; bu nedenle, en uzun ağ maskesiyle eşleşme ( en uzun önek eşleşmesi ) kullanılır.
Diğer CAM uygulamaları şunları içerir:
- Tamamen ilişkilendirilebilir önbellek denetleyicileri ve çeviriye bakan arabellekler
- Veritabanı motorları
- Veri sıkıştırma donanımı
- Yapay sinir ağları
- Saldırı önleme sistemleri
- Ağ işlemcileri
- Goodyear STARAN gibi birkaç özel bilgisayar, CAM'ı uygulamak için üretildi.
Ayrıca bakınız
- İçerik adreslenebilir ağ
- İçerik adreslenebilir paralel işlemci
- İçeriğe göre adreslenebilir depolama veya dosya sistemi
- Seyrek dağıtılmış bellek
- demet alanı
Referanslar
bibliyografya
- Anargyros Krikelis, Charles C. Weems (editörler) (1997). İlişkili İşleme ve İşlemciler , IEEE Computer Science Press. ISBN 0-8186-7661-2
- US 6823434 , Hannum ve diğerleri, "Güç açıkken veya makineye özel durum aracılığıyla tam olarak ilişkilendirilebilir bir diziyi bilinen bir duruma sıfırlamak ve başlatmak için sistem ve yöntem", 2004 yayınlandı
- Pagiamtis, K.; Şeyholeslami, A. (2006). "İçerik Adreslenebilir Bellek (CAM) Devreleri ve Mimarileri: Bir Eğitim ve Anket" (PDF) . IEEE Katı Hal Devreleri Dergisi . 41 (3): 712–727. Bibcode : 2006IJSSC..41..712P . doi : 10.1109/JSSC.2005.864128 . S2CID 11178331 .
- Stormon, CD; Trollinos, NB; Salih, EM; Chavan, AV; Brule, MR; Oldfield, Ortak Girişim; Genel amaçlı bir CMOS ilişkisel işlemci IC ve sistemi, Coherent Research Inc., East Syracuse, NY, ABD, IEEE Micro, Aralık 1992, Cilt: 12 Sayı:6.
- TRW Bilgisayar Bölümü. (1963). Gemideki silah kontrol sistemlerinde bilgisayarların ve bilgi işlem tekniklerinin optimum kullanımı hakkında ilk ara rapor . (BuWeps-Projesi RM1004 M88-3U1). İskenderiye, Virginia: Bilimsel ve Teknik Bilgiler için Savunma Dokümantasyon Merkezi.
Dış bağlantılar
- CAM Astarı
- İçerik adreslenebilir bellek (CAM) devreleri ve mimarileri: Bir eğitim ve anket
- Aspex - İlişkisel bellek etrafında oluşturulmuş bilgisayar mimarisi
- Seri Bakış Tarafı belirtim çalışmasının başlatılması (1. sayfanın altına yakın bir yerde)
- OIF Seri Lookaside arayüz anlaşması
- İlişkisel bellek kullanarak Aritmetik İşleme
- SimpleRBM - bit vektörlerinin bir tür İçerik Adreslenebilir Belleği olan eğitim algoritmasını içeren çok küçük bir Kısıtlı Boltzmann makinesi .