Кеши часто реализуются в виде ассоциативной памяти. Ассоциативная память имеет дополнительную область для каждого блока памяти, которая называется тегом. Когда в ассоциативную память передается адрес, каждый тег одновременно сравнивается с этим адресом. Если тег совпадает с адресом, то обеспечивается доступ к блоку памяти, связанному с этим тегом. Это называется кеш-попаданием. Если такое совпадение не произошло, то кеш сообщает о кеш-промахе. В случае кэш-промаха требуется цикл шины для обращения в оперативную память.
Для того, чтобы выиграть в эффективности за счет внутреннего кеша, при его реализации память разбивается на участки по 128 байт, которые называются строками кеша. Нежелательно, чтобы внешние кеши работали со строками, меньшими по размеру, чем строки внутреннего кеша.
Кеш процессора i486 не поддерживает частичное заполнение строк кеша, поэтому для кеширования одного двойного слова требуется кеширование четырех двойных слов. Такой способ использования кеша наверняка был бы неэффективным, если бы не тот факт, что процессор редко выполняет доступ к произвольным адресам памяти. Практически все время процессор обращается к небольшому числу областей памяти, таких как сегмент кода или стека, и выполняет в них доступ к множеству смежных адресов.
Для упрощения аппаратной реализации строки кеша могут быть выравнены только по границе 128-битовых блоков главной оперативной памяти. (Выравненный 128-битовый блок начинается всегда с адреса, четыре младшие бита которого очищены). При распределении новой строки кеша процессор загружает в строку кеша блок из главной памяти. Эта операция называется заполнением строки кеша. Строки кеша, которые были распределены, называются достоверными. Нераспределенные строки кеша называются недостоверными.
Кеширование может быть со сквозной записью и с обратной записью. При чтении обе формы кеширования работают, как было описано выше. При записи кеширование со сквозной записью обновляет как кеш-память, так и главную память; кеширование с обратной записью обновляет только кеш-память. Кеширование с обратной записью обновляет главную память только при выполнении операции обратной записи. Операции обратной записи запускаются при необходимости отменить распределение строк кеша, например для распределения новых строк памяти в уже заполненном кеше. Операции обратной записи также запускаются механизмами, используемыми для поддержания непротиворечивости кеша.
Внутренний кеш процессора i486 является кешом со сквозной записью. Он может быть использован с внешними кешами, являющимися кешами со сквозной записью, с обратной записью, либо комбинацией того и другого.`1.0