Эмуляция целевых процессоров

При разработке систем реального времени важную роль играет отладка разработанного программного кода непосредственно на целевых процессорах. Делать это «вживую» на реальном процессоре не всегда удается (например, из-за недоступности соответствующих плат или из-за слабости возможностей отладки на «железе»), поэтому широко используется эмуляция команд целевых процессоров. Широко распространен, например, эмулятор qemu, охватывающий множество целевых архитектур. В то же время, скорость работы большинства эмуляторов существенно (на несколько порядков) отстает от скорости реального «железа», что ограничивает возможности отладки реальных программ. Нашими специалистами разработано семейство эмуляторов для различных целевых архитектур, сочетающих точность эмуляции команд с высокой скоростью работы (при работе эмулятора на Intel x64 скорость оказывается сопоставимой с реальной скоростью работы «железных» целевых процессоров). При этом существенная часть кода эмуляторов генерируется автоматически из формальных описаний целевых архитектур. Мы активно развиваем это направление, из чего возникают следующие задачи:

  • Разработка общих компонент эмуляторов различных архитектур. Каждый эмулятор состоит из специфических для каждой архитектуры компонент (в основном автоматически генерируемых) и компонент окружения, общих для всех эмуляторов. Доработка и развитие компонент окружения повышает качество эмуляторов и удобство работы с ними. Рассчитано на 2 человек

  • Расширение возможностей автоматического генератора компонент эмуляторов из формальных описаний. Имеются ряд задач по развитию функциональности автоматической генерации компонент эмуляторов по формальным описаниям архитектур. Рассчитано на 1-2 человек

Уровень

2 курс, 3 курс


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

еще не назначен


Консультант

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


Источник

Софтком