На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

В Московском физико-техническом институте созданы подходы к разработке и отладке симуляторов на основе QEMU.

29.01.2020

В языке PPDL присутствует такая абстракция, как FIFO-блок, что существенно упростило процесс описания архитектуры NM6407 на PPDL. В симуляторе-интерпретаторе FIFO-блок реализован с помощью класса-шаблона, в котором перегружены операторы присваивания и возвращения значения (оператор «()» в С++). Это существенно упростило генерацию кода симулятора-интерпретатора, так как работа с FIFO с точки зрения кода С++ практически не отличалась от работы с регистрами или флагами. Симулятор QEMU не поддерживает работу с классами С++. Поскольку представление данных процессора в QEMU ограничено использованием переменных типа TCGv (простая структура, содержащая лишь число типа int) и переменных типа TCGv_ptr (переменная, содержащая указатель на некоторую область памяти эмулятора), решением о представлении очередей FIFO будет использование последней в связи со сложностью структуры очереди.При этом возникает дополнительная сложность – генерация функций для работы с FIFO, так как использование указателей вызывает необходимость выполнения многочисленных операций работы с указателями. В силу этого данную работу было решено переложить на генератор TCG – использовать хелпер-функции.

Подробное описание дается в статье «Подходы к разработке и отладке симуляторов на основе QEMU с помощью высокоуровневого языка описания архитектур PPDL», авторы Дроздов А.Ю., Фонин Ю.Н., Перов М.Н., Герасимов А.С. (Московский физико-технический институт (технический университет), Долгопрудный).