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 создан для высокопроизводительного выполнения полносистемных моделей и использует как двоичную трансляцию , так и аппаратную виртуализацию для увеличения скорости моделирования. Он изначально многопоточный и может моделировать несколько целевых (или гостевых) процессоров и плат, используя несколько хост-потоков. Он использовался для запуска симуляций, содержащих сотни целевых процессоров.