Симикс
Оригинальный автор(ы) | СИКС , Виртутех |
---|---|
Разработчик(и) | Интел |
Стабильная версия | 6 / 2019 |
Написано в | C, DML, Python, Simgen, сценарии CLI Simics, C++, Rust, Javascript, Java |
Тип | Полносистемный симулятор |
Лицензия | Собственный |
Веб-сайт | разработчик |
Simics — это полносистемный симулятор или виртуальная платформа, используемая для запуска неизмененных производственных двоичных файлов целевого оборудования. Первоначально Simics был разработан Шведским институтом компьютерных наук (SICS), а затем в 1998 году был передан Virtutech для коммерческой разработки. Virtutech была приобретена Intel в 2010 году. В настоящее время Simics предоставляется Intel в общедоступной версии. [1] и продается на коммерческой основе компанией Wind River Systems , которая в прошлом была дочерней компанией Intel.
Simics содержит как симуляторы набора команд , так и модели аппаратного обеспечения и используется или использовался для моделирования таких систем, как Alpha , ARM (32- и 64-битные), IA-64 , MIPS (32- и 64-битные), MSP430 , PowerPC. ( 32- и 64-битные ), RISC-V ( 32- и 64-битные ), SPARC-V8 и V9 , а также x86 и x86-64 процессоры .
Множество различных операционных систем запускались на различных смоделированных виртуальных платформах, включая Linux , MS-DOS , Windows , VxWorks , OSE , Solaris , FreeBSD , QNX , RTEMS , UEFI и Zephyr .
Порт NetBSD AMD64 изначально был разработан с использованием Simics до публичного выпуска чипа. [2] Целью моделирования в Simics часто является разработка программного обеспечения для определенного типа оборудования без необходимости доступа к этому конкретному оборудованию с использованием Simics в качестве виртуальной платформы . Это может применяться как к предварительной версии, так и к разработке программного обеспечения для будущего оборудования, а также для существующего оборудования. Intel использует Simics, чтобы предоставить своей экосистеме доступ к будущей платформе за несколько месяцев или лет до запуска оборудования. [3]
Текущая версия Simics — 6, которая была публично выпущена в 2019 году. [4] [5] Simics работает на 64-битных компьютерах x86-64 под управлением Microsoft Windows и Linux (поддержка 32-битных версий была прекращена с выпуском Simics 5, поскольку 64-битная версия обеспечивает значительные преимущества в производительности и универсально доступна на современном оборудовании). Предыдущая версия Simics 5 вышла в 2015 году. [6]
Simics имеет возможность запускать систему в прямом и обратном направлении. [7] Обратная отладка может пролить свет на то, как произошло исключительное состояние или ошибка . При запуске ОС, такой как Linux , в обратном порядке с использованием Simics ранее удаленные файлы снова появляются, когда точка удаления передается в обратном порядке, а прокрутка и другие обновления графического дисплея и консоли также происходят в обратном направлении.
Simics создан для высокопроизводительного выполнения полносистемных моделей и использует как двоичную трансляцию , так и аппаратную виртуализацию для увеличения скорости моделирования. Он изначально многопоточный и может моделировать несколько целевых (или гостевых) процессоров и плат, используя несколько потоков хоста. Он использовался для запуска симуляций, содержащих сотни целевых процессоров.
См. также
[ редактировать ]- ARM Fastsim — симулятор набора инструкций и набор системных моделей для ARM IP.
- Gem5 — полносистемный симулятор и инфраструктура ISA с открытым исходным кодом.
- OVPsim , полносистемная среда моделирования, которая бесплатна для некоммерческого использования и включает более 100 моделей и платформ с открытым исходным кодом, работающих под управлением Linux, Android и многих других операционных систем.
- Qemu , программа с открытым исходным кодом, которая может выполнять полносистемное моделирование так же, как Simics, включая использование аппаратной виртуализации для ускорения выполнения X86 или X86.
- SPIM , симулятор процессора MIPS, предназначенный для работы с R2000, R3000 и т. д.
- Симулятор набора команд
Ссылки
[ редактировать ]- ^ «Симикс® Симулятор» . Интел . 14 мая 2021 г. Проверено 2 февраля 2022 г.
- ^ «Simics используется для портирования ОС» . NetBSD Wiki . НетБСД .
- ^ Энгблом, Якоб (17 марта 2020 г.). «Симикс 6 на вершине горы» . Зона разработчиков Intel .
- ^ Энгблом, Якоб (10 сентября 2019 г.). «Видеть ранний снег на хребте» . Блог зоны разработчиков Intel .
- ^ Эвой, Шон (5 ноября 2019 г.). «Симикс: Как раз тогда, когда ты думал, что лучше уже быть не может» . Блог Wind River .
- ^ Энгблом, Якоб (30 июня 2015 г.). «Simics 5 уже здесь — более параллелен, чем когда-либо» . Блог Wind River .
- ^ Энгблом, Якоб (01 октября 2017 г.). «Назад к обратному выполнению — инструменты, тестирование и виртуальные системы» . Архивировано из оригинала 01 октября 2017 г. Проверено 2 февраля 2022 г.