Huis Software Wat is processoremulatie? - definitie van techopedia

Wat is processoremulatie? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent processoremulatie?

Processoremulatie is een virtualisatieproces en technologie waarmee software die is gecompileerd voor een specifieke processor of besturingssysteem (OS) kan worden uitgevoerd op een ander systeem met een andere processor en besturingssysteem. Dit wordt gedaan door de processorinstructies en alle bijbehorende besturingssysteemaanroepen van een programma dynamisch te vertalen in de instructies van de processor en het besturingssysteem waar het wordt uitgevoerd.

Techopedia legt processoremulatie uit

Met processor-emulatie kunnen programma's die zijn geschreven voor een processor worden uitgevoerd op een andere processor met een andere architectuur en instructieset. Een goed basisvoorbeeld is een gameconsole-emulator, waarmee gebruikers consolespellen zoals Nintendo Entertainment System en PlayStation-games op hun pc kunnen spelen. De processor die door een gameconsole wordt gebruikt, verschilt sterk van die van een pc, dus om consolespellen op een pc te kunnen spelen, moet de processor van de gameconsole worden geëmuleerd.

Het basisidee is dat elke afzonderlijke actie en elk gedrag van het programma dat moet worden uitgevoerd, moet worden omgezet in de equivalente instructieset en / of besturingssysteemaanroepen van het hostsysteem. Het hoofddoel is om code uit te voeren die de processorstatus wijzigt en met de hardware werkt, en dit moet worden gedaan voor elke instructie van het actieve programma.

Manieren om processoremulatie te hanteren:

  • Dynamische hercompilatie - Een lijst met bewerkingen wordt gemaakt door de code uit te voeren en wanneer een filiaalinstructie wordt bereikt, wordt de lijst gecompileerd naar de instructiecode van het hostplatform. Dit wordt vervolgens in de cache opgeslagen voor toekomstig gebruik. Als alternatief kan elke code eenvoudig ter plekke worden gecompileerd, maar deze aanpak is moeilijk te optimaliseren.
  • Statische hercompilatie - Dit wordt ook wel statische binaire vertaling genoemd, waarbij code eerst in de code van de doelmachine of -architectuur wordt omgezet zonder de code uit te voeren, zoals bij dynamische hercompilatie. Er kunnen echter problemen ontstaan, omdat niet alle doelcodes door de vertaler tijdens het compileren kunnen worden bepaald, omdat sommige alleen in indirecte branches kunnen worden gevonden, die op hun beurt alleen tijdens runtime kunnen worden bepaald.
  • Interpretatie - Elke code wordt uit het geheugen gelezen met behulp van de instructiewijzer en wordt vervolgens uitgevoerd volgens de CPU-instructieset van de hostcomputer. Met andere woorden, de instructies worden één op één vertaald en vervolgens native uitgevoerd. Het grootste nadeel hier is de prestaties.
Wat is processoremulatie? - definitie van techopedia