Какво е асоциативна памет?

Повечето памети се съхраняват и достъпват по същия начин. Съдържанието се записва и след това се извлича с помощта на адрес от паметта. Това е общо взето полезно и се използва почти навсякъде. За съжаление има малък проблем с този стил на съхранение. Отлично е, ако знаете къде се съхраняват данните, от които се нуждаете. Не се представя добре, ако искате да търсите конкретен запис.

Да приемем, че искате да намерите файл; помните името му, но не и коя папка сте запазили. Компютърът ви може да търси името на файла, но освен ако не сте го използвали наскоро, често извършването на търсенето е доста бавно. И това се взема предвид, че файловите системи се съхраняват като имена на файлове и адреси.

Асоциативната памет, известна още като адресируема памет на съдържанието или CAM, е проектирана да се търси по нейното съдържание. За съжаление внедряването на асоциативна памет е много скъпо. Това означава, че се използва само в няколко случая, обикновено в мрежов хардуер от висок клас. Асоциативната памет за имена идва от факта, че това е хардуерна реализация на асоциативен софтуерен масив.

Клетъчна структура

Асоциативната памет се използва само когато е необходима изключително висока производителност. Като такъв, той е базиран на 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

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Држењето на вашите 3D принтери е многу важно за добивање на најдобри резултати. Еве некои важни совети за да се освежите.

5 Причини Защо Вашият Лаптоп Прегрява

5 Причини Защо Вашият Лаптоп Прегрява

Разберете някои от възможните причини, поради които вашият лаптоп прегрява, както и съвети и трикове за избягване на този проблем и поддържане на устройството хладно.

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Поддържането на вашето оборудване в добро състояние е задължително. Ето някои полезни съвети, за да поддържате 3D принтера си в отлично състояние.

Как да намерите IP адреса на принтера

Как да намерите IP адреса на принтера

Имаме решение за вас как да откриете IP адреса на вашия принтер, ако имате проблеми с това.

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Ако вашите Powerbeats Pro не се зареждат, използвайте друг източник на захранване и почистете слушалките. Оставете кутията отворена, докато зареждате слушалките.

Как да използвате AirPods с телефони Samsung

Как да използвате AirPods с телефони Samsung

Ако не сте сигурни дали да закупите AirPods за вашия телефон Samsung, това ръководство определено ще помогне. Най-очевидният въпрос е дали двете устройства са

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

Ако търсите NAS за вашия дом или офис, разгледайте този списък с най-добрите устройства за NAS съхранение.

Canon Pixma MG5220: Сканирайте без мастило

Canon Pixma MG5220: Сканирайте без мастило

Как да активирате сканирането на Canon Pixma MG5220, когато мастилото е свършило.

Как да инсталираме SSD на настолни и лаптоп компютри

Как да инсталираме SSD на настолни и лаптоп компютри

Току-що ли купихте SSD в надеждата да обновите вътрешната памет на компютър си, но не знаете как да инсталирате SSD? Прочетете тази статия сега!

Как да поправите грешка GeForce Now с код 0xC272008F

Как да поправите грешка GeForce Now с код 0xC272008F

Настройвате се за вечер на игри и тя ще бъде голяма – току-що закупихте "Star Wars Outlaws" в стрийминг услугата GeForce Now. Открийте единственото известно решение, което показва как да поправите грешката GeForce Now с код 0xC272008F, за да можете отново да започнете да играете игри на Ubisoft.