Come funzionano gli emulatori? La differenza tra emulatore e simulatore

emulatori-slow

Il software di emulazione ti consente di utilizzare un sistema operativo diverso dal tuo host. Ad esempio, potresti eseguire un emulatore di Windows 7 sul tuo computer Windows 10. Puoi ancora utilizzare Windows 10, ma puoi anche immergerti in Windows 7 come desideri.

Molte persone usano emulatori ogni giorno, per testare software, provare un nuovo sistema operativo o eseguire una vecchia console per videogiochi.

Ma ti sei mai chiesto come funzionano gli emulatori? O perché i tuoi emulatori sono lenti o hanno un ritardo? Continua a leggere e scoprirai quanto sia davvero straordinaria l'emulazione.

L'hardware di emulazione fa la differenza

Pensiamo a ciò che influenza le prestazioni dell'emulazione usando un esempio del mondo reale.

I giochi PlayStation non funzionano sul tuo sistema Windows perché non sono progettati per funzionare su un normale computer. I dispositivi PlayStation sono molto specifici nella loro composizione fisica, contenenti hardware unico che Windows – o qualsiasi altro sistema operativo per computer – non sa come usare.

Ecco perché hai bisogno di un emulatore. Il software di emulazione mira a eseguire un programma progettato per un tipo di sistema su un altro sistema. I programmi che lo rendono possibile sono noti come emulatori. Mentre i dettagli e il funzionamento interno variano tra emulatori, alla fine, tentano di ottenere lo stesso risultato: far funzionare il software su hardware diverso.

Come funzionano gli emulatori?

Gli emulatori lavorano duramente per far funzionare un programma straniero. In breve, un emulatore è un software che "agisce" come un componente hardware. Nella maggior parte dei casi, ciò significa simulare tutte le funzionalità di un componente hardware come componente software. Non solo, i componenti hardware emulati come software devono funzionare senza errori, altrimenti l'emulatore non funzionerà correttamente.

Emulatore PlayStation 2 su Windows

La difficoltà nel trasformare hardware avanzato e unico in software funzionante è il motivo per cui gli emulatori per le console di gioco moderne impiegano molto tempo a svilupparsi. Ci vuole molto duro lavoro e sforzi per far funzionare il processo di emulazione, perché l'hardware moderno, come una PlayStation 4 o una Xbox One, è estremamente complesso.

Tornando all'esempio di PlayStation, un emulatore deve imitare uno speciale chip audio, una scheda grafica, un'unità di elaborazione centrale e così via, senza nemmeno considerare l'emulazione di componenti periferici come i driver del CD.

Quindi, qual è il componente più difficile da emulare?

Unità centrale di elaborazione

L'hardware più difficile da emulare è di solito l'unità di elaborazione centrale (CPU). La CPU è un componente fondamentale di ogni computer, dagli smartphone alle console per videogiochi. In molti modi, la CPU è il componente informatico più importante per quanto riguarda l'emulazione, poiché ogni altro componente si collega direttamente ad esso.

Prestazioni della CPU

Non tutte le CPU sono uguali. Il modo principale in cui le CPU differiscono l'una dall'altra è nei loro set di istruzioni . Un set di istruzioni della CPU determina come un computer esegue i comandi che un programma gli dà. Un emulatore prenderà di mira un sistema che ha un set di istruzioni diverso dal computer host. Ad esempio, la CPU della PlayStation utilizza un set di istruzioni noto come MIPS, che è diverso da desktop o laptop che utilizza x86.

Perché gli emulatori sono così lenti?

La differenza tra i set di istruzioni è uno dei motivi per cui gli emulatori a volte non funzionano. Ogni istruzione CPU che l'emulatore riceve deve tradurre da un'istruzione impostata a un'altra. Inoltre, questa traduzione del set di istruzioni avviene al volo.

Nell'esempio sopra, la CPU dell'emulatore PlayStation riceve un'istruzione MIPS, la traduce in x86, quindi viene eseguita sul tuo computer.

La traduzione dei set di istruzioni costituisce la base di come gli emulatori simulano un intero dispositivo all'interno del computer. Un altro modo di vederlo è come un traduttore del mondo reale che trasmette rapidamente una conversazione tra due persone che parlano lingue diverse. Anche se la traduzione è molto veloce, riscontrerai sempre una perdita di velocità. Più complesse sono le lingue, più lente sono le traduzioni.

Virtualizzazione vs. emulazione: qual è la differenza?

La virtualizzazione è molto simile all'emulazione, ma ci sono differenze importanti tra loro. In particolare, la virtualizzazione di solito si riferisce all'uso di macchine virtuali. La virtualizzazione e l'emulazione realizzano la stessa cosa, ma lo fanno in modi leggermente diversi.

Entrambi sono progettati per eseguire il software in un ambiente isolato. La virtualizzazione si concentra sull'isolamento mentre l'emulazione si concentra sull'ambiente. Ciò significa che gli emulatori simulano una gamma più ampia di hardware rispetto alle macchine virtuali.

Ad esempio, non è possibile eseguire un sistema PlayStation in una macchina virtuale. Ma potresti eseguire un emulatore PlayStation in un ambiente Windows virtuale.

VirtualBox esegue i sistemi operativi in ​​una macchina virtuale

Tuttavia, per questo motivo, la virtualizzazione è spesso più veloce dell'emulazione. Invece di emulare un sistema, una macchina virtuale alloca la potenza di elaborazione a un sottosistema isolato. È importante sottolineare che questo significa che la CPU non viene emulata .

Come tale, il pubblico target dei due differisce in qualche modo. Gli emulatori tendono a essere progettati per console per videogiochi (o altri sistemi completamente diversi dai normali computer), mentre è più probabile che le macchine virtuali siano in esecuzione nelle aziende. Questo perché forniscono un ambiente veloce e sicuro in cui eseguire i programmi.

Tuttavia, si tratta principalmente di nit-picking. In pratica, la virtualizzazione e l'emulazione sono funzionalmente uguali in quanto entrambe esistono principalmente per tradurre da un "linguaggio di istruzione" ad un altro.

3 modi in cui puoi usare l'emulazione

Esistono alcuni modi per sfruttare l'emulazione. Potresti persino usarlo ora senza nemmeno saperlo! Ecco alcuni esempi notevoli.

1. Esegui programmi a 32 bit su Windows a 64 bit

Windows a 64 bit è diverso da Windows a 32 bit . La versione a 64 bit di Windows può utilizzare uno speciale livello di compatibilità per eseguire programmi a 32 bit. Non è necessario emulare un intero sistema per far funzionare le cose perché i programmi a 32 bit sono già simili nella progettazione. Per questo motivo, il processo è estremamente veloce.

2. Emula ogni console

Le console più recenti sono molto difficili da emulare. Anche se la PlayStation 3 è arrivata sul mercato nel 2006, è ancora difficile emulare gran parte dei giochi pe
r la console. La situazione di emulazione per Xbox 360 è ancora più indietro.

Tuttavia, esistono emulatori per un sacco di vecchie console per videogiochi, tra cui molte delle migliori console degli anni '90 . C'è un bonus nell'esecuzione dei vecchi emulatori di videogiochi su hardware moderno. I vecchi giochi ricevono un aumento delle prestazioni su hardware moderno. A seconda dell'emulatore, puoi utilizzare la grafica HD o 4K, sfruttando la potenza di elaborazione aggiuntiva per giocare a livelli molto più alti rispetto alla loro risoluzione nativa. Guarda il video per un primo esempio, usando l'emulatore PCSX2 PlayStation 2 per giocare a Gran Turismo 4.

Puoi persino eseguire emulatori di videogiochi sul tuo dispositivo Android , permettendoti di giocare in retrò.

3. Prova diversi sistemi operativi

Di solito, se si desidera provare un nuovo sistema operativo, è necessario installarlo sul disco rigido. L'emulazione consente di eseguire un sistema operativo separato direttamente sul sistema operativo corrente utilizzando una macchina virtuale.

Ci sono diversi motivi per cui vorresti farlo. Non dovrai preoccuparti se l'installazione si comporta in modo errato poiché è limitata a un ambiente virtuale. Potrebbe anche essere la tua unica opzione se desideri provare un sistema operativo incompatibile con l'hardware del tuo computer. Il sottosistema Windows per Linux è un buon esempio .

Perché l'emulazione è così difficile?

Ora capisci di più sul perché l'emulazione è complicata. Emulare una console per videogiochi è un processo complesso e questo articolo tratta solo le basi. Tuttavia, ora capisci di più sul processo di emulazione e sullo sviluppo degli emulatori, saprai esattamente perché la prossima volta che ne usi uno sarà un po 'lento.

Se vuoi iniziare ad approfondire il tuo catalogo di videogiochi, ecco come giochi ai giochi PS2 sul tuo PC . In alternativa, torna un po 'indietro nella storia dei giochi e impara invece a giocare ai giochi PS1 sul tuo PC .

Leggi l'articolo completo: come funzionano gli emulatori? La differenza tra emulatore e simulatore