Simics est un simulateur de matériel informatique, capable de faire fonctionner tels quels des programmes prévus pour diverses cibles matérielles avec de très bonnes performances. Simics simule aussi bien le processeur que les autres composants d'un système (mémoire, bus, dispositifs d'entrée/sortie, etc.), et permet de déboguer le logiciel. À l'origine, Simics a été développé par le Swedish Institute of Computer Science (SICS), puis la spin-off Virtutech a été créée pour poursuivre le développement commercial en 1998[1]. En , Wind River a racheté Virtutech, et a annoncé son intention de diffuser les produits Simics sous sa propre marque[2].

Simics peut simuler de nombreuses architectures matérielles : Alpha, AMD64, ARM, EM64T, IA-64, MIPS (32 et 64 bits), MSP430, PowerPC (32 et 64 bits), POWER, SPARC-V8 et V9, et x86. De nombreux systèmes d'exploitation peuvent fonctionner sur le matériel simulé, notamment MS-DOS, Windows, VxWorks, OSE, Solaris, FreeBSD, Linux, QNX et RTEMS. Le portage AMD64 de NetBSD a été développé avec l'aide de Simics avant la sortie du premier microprocesseur de la série[3]. On utilise souvent Simics pour développer du logiciel pour un matériel particulier : Simics joue alors le rôle de machine virtuelle.

Simics 3.0 est sorti à l'automne 2005, apportant de nouvelles technologies :

  • Device Modeling Language (DML) ;
  • Device Modeling Language Compiler (DMLC) ;
  • Hindsight, qui permet d'exécuter du code à l'envers. Selon Virtutech il s'agit du premier outil de développement généraliste à proposer cette possibilité.

DML constitue un moyen rapide de créer et de configurer des composants non standards comme des ASIC et des FPGA. Notamment la création répétitive de code pour simuler les centaines ou milliers de registres d'un système moderne est largement automatisée grâce à DML. Simics peut ainsi simuler des systèmes complets à raison de plusieurs milliards d'instructions simulées par seconde. DML permet aux développeurs de commencer le développement plus tôt, ce qui permet de gagner du temps de développement.

Simics 3 est intégré à l'environnement de développement Eclipse.

Notes et références modifier

Lien externe modifier