Я пытаюсь создать многопроцессорную многопроцессорную конструкцию, в которой кэши L2 являются частными для каждого чипа. Например, я пытаюсь создать следующую конфигурацию:
- 2 чипа, каждый из которых содержит 2 ядра ЦП
- Каждый чип имеет 2 ядра ЦП (каждый из которых имеет свой собственный кэш L1) и один Кэш-память L2, совместно используемая двумя процессорами
- Наконец, у меня будет основная память, разделенная между двумя чипами
Я использую протокол MOESI_CMP_directory для создания проекта , И я использую garnet2.0 для создания топологии. Но я понял, что все 4 процессора совместно используют два L2-кэша. Но я хочу, чтобы L2-кэш был закрыт для каждого чипа. Есть ли способ сделать это в gem5?
Дополнительная информация:
Я проверил адреса памяти и получил доступ к кэшам через RubyNetwork, чтобы убедиться, что L1-Cache0 обращается к L2-Cache0, а также к L2- кэш1. Кажется, что протокол работает правильно, потому что кэш L2, являющийся кэшем последнего уровня, используется совместно. Но мне было интересно, смогу ли я сделать некоторые настройки так, чтобы L1-Cache0 / 1 запрашивал только go для L2-Cache0, а не для L2-Cache1.