Generi c реализация процессорного кеша с использованием LRU с различными размерами ассоциаций - PullRequest
0 голосов
/ 20 апреля 2020

Таким образом, я делаю этот проект в 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...