Ассоциативная память: различия между версиями

Нет описания правки
м (откат правок 46.185.11.55 (обс.) к версии InternetArchiveBot)
Метка: откат
 
== Аппаратный ассоциативный массив ==
 
В отличие от обычной машинной памяти (памяти произвольного доступа, или RAM), в которой пользователь задает адрес памяти и ОЗУ возвращает слово данных, хранящееся по этому адресу, АП разработана таким образом, чтобы пользователь задавал слово данных, и АП осуществляла его поиск, чтобы выяснить, хранится ли оно где-либо в памяти. Если слово данных найдено, АП возвращает список одного или более адресов хранения, где слово было найдено (и в некоторых архитектурах также возвращает само слово данных или другие связанные части данных). Таким образом, АП — аппаратная реализация того, что в терминах программирования назвали бы ассоциативным массивом.
 
 
== Альтернативные реализации ==
 
Для того, чтобы достигнуть другого баланса между скоростью, размером памяти и стоимостью, некоторые реализации эмулируют функции АП путём использования стандартного поиска по дереву или алгоритмов хеширования, реализованных аппаратно, также используя для ускорения эффективной работы такие аппаратные трюки, как репликация и конвейерная обработка. Эти проекты часто используются в маршрутизаторах.
 
== Троичная ассоциативная память ==
Двоичная АП — простейший тип ассоциативной памяти, который использует слова поиска данных, состоявшие полностью из единиц и нулей. В троичной АП (ternary content-addressable memory, TCAM<ref>[https://books.google.ru/books?id=-rnt_ik0mSYC&pg=PA71&dq=TCAM& CCNP BCMSN Exam Certification Guide: CCNP Self-study - — David Hucaby - — Google Книги<!-- Заголовок добавлен ботом -->]</ref>) добавляется третье значение для сравнения «X», или «не важно», для одного или более битов в сохраненном слове данных, добавляя дополнительную гибкость поиску.
 
Двоичная АП — простейший тип ассоциативной памяти, который использует слова поиска данных, состоявшие полностью из единиц и нулей. В троичной АП (ternary content-addressable memory, TCAM<ref>[https://books.google.ru/books?id=-rnt_ik0mSYC&pg=PA71&dq=TCAM& CCNP BCMSN Exam Certification Guide: CCNP Self-study - David Hucaby - Google Книги<!-- Заголовок добавлен ботом -->]</ref>) добавляется третье значение для сравнения «X», или «не важно», для одного или более битов в сохраненном слове данных, добавляя дополнительную гибкость поиску.
 
Например, в троичной АП могло бы быть сохранено слово «10XX0», которое выдаст совпадение на любое из четырёх слов поиска «10000», «10010», «10100» или «10110». Добавление гибкости к поиску приходит за счёт увеличения сложности памяти, поскольку внутренние ячейки теперь должны кодировать три возможных состояния вместо двух. Это дополнительное состояние обычно осуществляется добавлением бита маски «важности» («важно»/«не важно») к каждой ячейке памяти.
 
 
== Примеры приложений ==
 
== Другие приложения АП включают ==
 
* Диспетчеры [[кэш]]а центрального процессора и ассоциативные буфера трансляции ([[Translation lookaside buffer|TLB]])
* [[Базы данных]]
 
=== На английском языке ===
 
* Anargyros Krikelis, Charles C. Weems (editors) (1997) ''Associative Processing and Processors'', IEEE Computer Science Press. ISBN 0-8186-7661-2
* Pagiamtis, K. & Sheikholeslami, A. (2006, March). [https://www.pagiamtzis.com/pubs/pagiamtzis-jssc2006.pdf Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey.] ''IEEE J. of Solid-State Circuits'', 41(3), 712–727712—727.
* [http://patft.uspto.gov/netahtml/PTO/search-bool.html Hannum et al. (2004) ''System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state'']. U.S. Patent 6,823,434.
 
Анонимный участник