Меня немного смущает значение "алиасинг" между CPU-кешем и физическим адресом. Сначала я нашел это определение в Википедии:
Однако VIVT страдает от проблем с наложением, когда несколько разных виртуальных адресов могут ссылаться на один и тот же физический адрес. Другая проблема - омонимы, где один и тот же виртуальный адрес отображается на несколько разных физических адресов.
но через некоторое время я увидел другое определение в презентации (ppt) DAC'05: "Энергоэффективные кеши с физическими тегами для встроенных процессоров с виртуальной памятью"
Псевдоним кеша и синонимы:
Псевдоним: один и тот же виртуальный адрес в разных контекстах, сопоставленный с разными физическими адресами. Синоним: другой виртуальный адрес, сопоставленный с одним и тем же физическим адресом (обмен данными).
Поскольку я не являюсь носителем языка, я не знаю, какой из них правильный, хотя я чувствую, что определение в вики верное.
Редактировать:
Понятие "псевдоним" в кэше ЦП обычно означает "синоним", а не "омоним". На более общем уровне "псевдонимы" - это "путаница" или "хаос" или что-то в этом роде. Так что, на мой взгляд, "псевдонимы" точно означает, что отображение (X-> Y) "не биективно", где
"X" = подмножество единиц физических адресов, которое было кэшировано. (каждый элемент представляет собой строку байта)
"Y" = набор допустимых строк кэша. (элементы также "линия")