Simics

Från Wikipedia
Hoppa till: navigering, sök

Simics är en simulator som utvecklas av Virtutech. Den kan simulera ett komplett datorsystem på en så låg nivå att man kan köra ett helt oförändrat operativsystem i den virtuella maskinen, och det fungerar precis som om det hade körts på en riktig dator. Men till skillnad från den riktiga datorn har man i simulatorn full insyn i, och kontroll över exekveringen på lägsta funktionella nivån (enskilda maskininstruktioner). Simics tillåter användaren att spara maskinens hela tillstånd till fil ("checkpoint"). Vidare är simuleringen deterministisk, vilket gör att exekvering från samma starttillstånd alltid ger exakt samma exekveringsväg. Dessa två funktioner gör det möjligt att uppnå illusionen av att exekvera kod baklänges. Vill man exekvera en instruktion bakåt hoppar Simics tillbaka till närmast föregående mikro-checkpoint, för att sedan exekvera framåt till instruktionen före där man startade.

Simics simulerar ett antal olika CPU-arkitekturer, inklusive x86 (både 32- och 64-bitar), Sparc V8, UltraSPARC, Alpha, PowerPC, MIPS och IA64. Utöver CPU:erna simuleras också all annan hårdvara i några typiska datorsystem, som till exempel hårddiskar, PCI-bryggor, nätverkskort, grafikkort med mera.

Kommersiell användning[redigera | redigera wikitext]

Simics används för programvaruutveckling framför allt bland företag som tillverkar datorservrar samt data- och telekomutrustning, dels för att kunna påbörja programvaruutveckling innan hårdvara finns tillgänglig, dels för att ge utvecklaren tillgång till en komplett programmeringsmiljö. Bland projekt där Simics använts eller används finns porteringen av Microsoft Windows till AMD:s 64-bitars x86-arkitektur (processorfamiljen Opteron), utvecklingen av programvara för IBM:s Power6-baserade servrar, Ericssons CPP-system (3G-system) samt SwitchCores Xpeedium3-system.

Akademisk användning[redigera | redigera wikitext]

Simics är tillgängligt gratis för akademisk användning (i binärformat) och används inom datorarkitekturforskning samt inom undervisning (framför allt operativsystemskurser). Flera forskningsramverk för att testa nya datorarkitekturidéer har utvecklats ovanpå Simics, bland andra GEMS från University of Wisconsin-Madison, Vasa från Uppsala Universitet samt SimFLEX från Carnegie-Mellon University.

Historik[redigera | redigera wikitext]

Simics (tidigare skrivit SimICS) började utvecklas vid Swedish Institute of Computer Science, SICS, i början av 1990-talet, under ledning av Peter S. Magnusson. 1998 bildades Virtutech AB som en avknoppning från SICS för att kommersialisera Simics.

Externa länkar[redigera | redigera wikitext]