Это не означает, что вы должны загрузить одну и ту же запись в два места в таблице - это означает, что конкретная запись может быть загружена в или из двух мест в таблице. Альтернативой, когда вы можете сопоставить запись только одному месту в таблице, является TLB с прямым сопоставлением.
Основной недостаток TLB с прямым отображением возникает, если вы копируете из одной части памяти в другую, и (по любой схеме прямого отображения, используемой ЦП) переводы для обоих должны быть отображены в одно и то же место в TLB. В этом случае вы в конечном итоге перезагружаете запись TLB каждый раз, поэтому TLB приносит мало или совсем ничего хорошего. Имея двусторонний набор ассоциативных TLB, вы можете гарантировать, что любые две записи могут находиться в TLB одновременно, поэтому (например) перемещение блока из точки A в точку B не может испортить ваш день - но если вы читаете из двух областей, объединяете их и записываете результаты в одну треть (если все три использованных перевода отображают один и тот же набор записей TLB).
Недостаток наличия многоканального TLB (как и любого другого многоканального кэша) заключается в том, что вы не можете напрямую вычислить , в которой позиция может содержать конкретную запись в данный момент времени - вы в основном ищите пути найти правильную запись. Для двусторонних это редко проблема - но четыре пути обычно о полезном пределе; Ассоциативность с 8 путями (TLB | кэши) вообще не распространена, отчасти потому, что поиск в 8 возможных местах для данных начинает становиться чрезмерным.
Со временем число способов, которые имеет смысл использовать в кеше или tlb, имеет тенденцию к увеличению. Разница в скорости между памятью и процессорами продолжает расти. Чем больше разница, тем больше циклов может использовать ЦП и при этом выдает результат в течение одного такта памяти (или заданного количества тактов памяти, даже если их больше одного).