Таким образом, я делаю этот проект в Java для имитации попаданий / пропусков кэша ЦП, и ассоциации могут варьироваться от 1 (прямое сопоставление), 2, 4, 8, 16 (полностью ассоциативно)
Он использует схему Least недавно Used (LRU), чтобы определить, от чего избавиться в кеше, если нам нужно освободить место. Для целей этого упражнения не могут использоваться сторонние библиотеки, но может использоваться любая версия Java.
Для прямого сопоставления достаточно просто использовать LinkedHashMap для настройки наборов
Но могу ли я адаптировать это к различным размерам ассоциации, скажем, 4.
Установить 1 0000 0001 0002 0003
Установить 2 0000 0001 0002 0003
Установить 3 0000 0001 0002 0003
Установить 4 0000 0001 0002 0003
Я думаю просто использовать LinkedHashMap с двунаправленным списком, но может быть слишком сложным?
Я взять кувалду к яйцу здесь? Любые мысли приветствуются.
LinkedHashMap<String, Node>
class Node{
String value;
Node prev;
Node next;
public Node(String value){
this.value=value;
}
}