Функциональность симулятора Gem5

Для эффективного выполнения программ в процессорах используются различные ухищрения и оптимизации на уровне инструкций и ниже. Например, конвейерная обработка, предсказание переходов, суперскалярная обработка и т.д. Для симуляции этих компонентов используется проект с открытым исходным кодом GEM5 [1].

Предлагаются следующие направления исследований:

  • реализовать prefetcher - он есть, можно реализовать свой и сравнить с существующим
  • Load-Store dependency predictor [2] - походу в gem5 этого нет
  • Branch predictor - их много, сравнить существующие, сделать свой
  • любой другой unit, PMU (входит в расширение Zihpm для RISC V).

[1] https://www.gem5.org/

[2] https://en.wikipedia.org/wiki/Memory_dependence_prediction

Требования к студенту

Владение C++ и python, знакомство с микроархитектурой CPU

Уровень

2 курс, 3 курс, Бакалаврская ВКР


Руководитель

Смирнов Кирилл Константинович


Консультант

Смирнов Кирилл Константинович


Источник

YADRO