Casa Software Cos'è l'emulazione del processore? - definizione da techopedia

Cos'è l'emulazione del processore? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Emulazione del processore?

L'emulazione del processore è un processo e una tecnologia di virtualizzazione che consente al software che è stato compilato per un processore o sistema operativo (SO) specifico di funzionare su un sistema diverso che ha un processore e un SO diversi. Questo viene fatto traducendo dinamicamente le istruzioni del processore e tutte le chiamate del sistema operativo associate di un programma nelle istruzioni del processore e del SO in cui è in esecuzione.

Techopedia spiega l'emulazione del processore

L'emulazione del processore consente l'esecuzione di programmi scritti per un processore da eseguire su un processore diverso con una diversa architettura e set di istruzioni. Un buon esempio di base è un emulatore di console di gioco, che consente agli utenti di giocare a giochi per console come Nintendo Entertainment System e PlayStation sul proprio PC. Il processore utilizzato da una console di gioco è molto diverso da quello di un PC, quindi per poter giocare a console su un PC, è necessario emulare il processore della console di gioco.

L'idea di base è che ogni singola azione e comportamento del programma che deve essere eseguito deve essere convertito nel set di istruzioni equivalente e / o nelle chiamate del sistema operativo del sistema host. L'obiettivo principale è quello di eseguire il codice che modifica gli stati del processore e interagisce con l'hardware, e questo deve essere fatto per ogni istruzione del programma in esecuzione.

Modi di gestione dell'emulazione del processore:

  • Ricompilazione dinamica: viene creato un elenco di operazioni eseguendo il codice e quando viene raggiunta un'istruzione di succursale, l'elenco viene compilato nel codice di istruzione della piattaforma host. Questo viene quindi memorizzato nella cache per uso futuro. In alternativa, ogni codice potrebbe essere semplicemente compilato al volo, ma questo approccio è difficile da ottimizzare.
  • Ricompilazione statica: è nota anche come traduzione binaria statica in cui il codice viene prima convertito nel codice della macchina o dell'architettura di destinazione senza eseguire il codice, come avviene nella ricompilazione dinamica. Possono sorgere problemi, tuttavia, poiché non tutti i codici target possono essere determinati dal traduttore durante il tempo di compilazione poiché alcuni di essi possono essere trovati solo in rami indiretti, che, a loro volta, possono essere determinati solo in fase di esecuzione.
  • Interpretazione: ogni codice viene letto dalla memoria utilizzando il puntatore dell'istruzione e quindi viene eseguito in base al set di istruzioni della CPU del computer host. In altre parole, le istruzioni vengono tradotte una a una e quindi eseguite in modo nativo. Lo svantaggio maggiore qui è la prestazione.
Cos'è l'emulazione del processore? - definizione da techopedia