İçerik adreslenebilir bellek - Content-addressable memory

İçerik adreslenebilir bellek

İç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ı

6T SRAM hücresi artı 4 karşılaştırma transistöründen oluşan CMOS ikili CAM Hücresi. Arama satırlarındaki (SL) veriler, bit satırları (BL) yoluyla hücrede depolanan verilerden farklı olduğunda, eşleşme hattı (ML) bir uyumsuzluğu belirtmek için aşağı çekilecektir. Bir eşleşme satırındaki hücrelerin hiçbiri eşleşmeyen bir bit göstermiyorsa, eşleşme çizgisi bir kelime eşleşmesini belirtmek için ön yükleme düzeyinde yüksek kalacaktır. Her iki arama satırı da önemsiz arama koşulu olarak '0' mantığında tutulabilir. Arama hatları ve bit hatları tek bir veri hattı çiftinde birleştirilebilir.

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

İki 6T SRAM hücresi artı 4 karşılaştırma transistöründen oluşan CMOS Üçlü CAM hücresi. Normalde zıt mantık seviyeleri, ya '0' ve '1' ya da '1' ve '0' iki hücrede saklanacaktır. Önemsiz bir koşul için '0' her iki hücrede de saklanacak, böylece eşleşme satırı ML'si herhangi bir arama hattı (SL) verisi kombinasyonu için aşağı çekilmeyecektir.

İ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:

Ayrıca bakınız

Referanslar

bibliyografya

Dış bağlantılar