В тридцать первом выпуске «Битовых масок» Елена Лепилкина и Алина Галичина разбираются в функциональном моделировании вместе с двумя экспертами из YADRO — Семёном Ковалем и Иваном Клоковым. Их команда развивает функциональный симулятор на базе QEMU и моделирует систему на кристалле целиком: от кластера CPU до высоко- и низкоскоростной периферии.
Гости объяснили, чем функциональный симулятор отличается от performance- и RTL-симуляторов и почему QEMU быстрый, но неточный. Рассказали, что приходится дописывать к upstream-версии под собственные чипы и зачем производители процессоров вкладываются в открытый проект. Разобрали косимуляцию с FPGA и RTL-симулятором, отладку многопоточных гонок и порог входа в функциональное моделирование.
Среди тем подкаста:
чем QEMU отличается от Gem5 и RTL-симуляторов;
какие баги в QEMU не отловить;
что такое TCG и зачем он нужен;
зачем производители процессоров вкладываются в upstream QEMU;
как из разных симуляторов собирают виртуальную платформу;
как устроена косимуляция QEMU с FPGA и RTL-симулятором;
как работает реверс-дебаг и зачем он нужен в QEMU.
00:01:02 - Как Семён и Иван пришли в функциональное моделирование
00:07:54 - Какие бывают симуляторы и какое место среди них занимает QEMU
00:13:01 - Что приходится дописывать к opensource-версии QEMU под конкретные чипы
00:25:51 - Какие ошибки не поймать в QEMU из-за игнорирования кешей
00:30:49 - Как QEMU стал стандартом функционального симулятора
00:32:50 - История QEMU и интересы вендоров в upstream
00:37:44 - Как часто выходят релизы QEMU
00:44:37 - Что в QEMU реализуют через плагины, а что внутри
00:55:34 - Как собирают единую виртуальную платформу из разных симуляторов
00:58:44 - Косимуляция QEMU с RTL-симулятором и FPGA
01:05:39 - Как тестируют сам QEMU
01:08:39 - Многопоточность в QEMU и плавающие баги
01:17:44 - Как в QEMU устроена работа с MMU
01:26:44 - QEMU для системных программистов и разработчиков драйверов
01:37:16 - Реверс-дебаг: как вернуться с QEMU в прошлое
01:38:58 - Порог входа в функциональное моделирование: что читать по теме
01:50:13 - AI в разработке моделей и патчей для QEMU