Come funziona l'emulazione e perché è così lento?
Abbiamo già trattato alcuni esempi di emulazione in passato, ma ci siamo soffermati solo su come funziona davvero. E per la maggior parte, va bene. È totalmente possibile avviare il PC e utilizzare un emulatore senza preoccuparsi dei dettagli.
Ma ti sei mai chiesto cosa succede realmente dietro le quinte? Perché gli emulatori sono così lenti? O anche come l'emulazione può migliorare ulteriormente la tua vita quotidiana? Continua a leggere e vedrai quanto sia davvero sorprendente l'emulazione.
Non tutto l'hardware è reso uguale
Ad esempio, i giochi per PlayStation non funzionano su Windows perché questi giochi non sono progettati per essere eseguiti su computer normali. I dispositivi PlayStation sono molto specifici nella loro composizione fisica e contengono hardware unico che Windows - o qualsiasi altro sistema operativo per PC - non sa come usare.
Qui entra in gioco l'emulazione: L'emulazione mira a eseguire programmi progettati per un tipo di sistema su un altro tipo di sistema, e i programmi che eseguono questo processo sono chiamati emulatori. I dettagli sono un po 'più complessi, ma alla fine, tutti cercano di ottenere la stessa cosa: rendere il software eseguibile su hardware diverso.
Come funzionano gli emulatori?
C'è una grande quantità di lavoro che l'emulazione deve fare per far funzionare un programma straniero. In breve, un emulatore è un software che tenta di “atto” come un pezzo di hardware. Di solito, questo significa simulare tutte le capacità di un componente hardware come componenti software.
Se ti stai chiedendo perché non ci sono emulatori per i sistemi moderni (ad esempio Xbox One), questo è il motivo per cui. Ci vuole un sacco di duro lavoro e sforzi per far funzionare il processo perché l'hardware moderno è estremamente complesso.
Tornando all'esempio di PlayStation, un emulatore dovrebbe fingere di avere uno speciale chip audio, una scheda grafica e così via, persino estendendo la simulazione di componenti periferici come le unità CD..
Unità centrale di elaborazione
Il componente più difficile da emulare è solitamente il Unità centrale di elaborazione (PROCESSORE). È uno degli elementi centrali di ogni computer, dagli smartphone alle console per videogiochi e, in molti modi, il più importante. Senza una CPU, i programmi non sarebbero in grado di funzionare.
Il modo principale in cui le CPU differiscono l'uno dall'altro è nella loro set di istruzioni. Fondamentalmente, determinano il modo in cui un computer esegue i comandi che i programmi gli danno. Gli emulatori generalmente hanno come target sistemi che hanno set di istruzioni differenti rispetto al sistema host.
Ad esempio, la CPU della PlayStation utilizza un set di istruzioni chiamato MIPS, che è diverso da desktop e laptop che usano, per esempio, X 86.
Perché gli emulatori sono così lenti?
Ogni istruzione CPU ricevuta dall'emulatore deve essere tradotta da un set di istruzioni all'altro set di istruzioni e questa traduzione deve essere eseguita al volo. Quindi nell'esempio sopra, un emulatore PlayStation riceverà un'istruzione MIPS, la tradurrà in x86, quindi la eseguirà sul laptop.
Questa è la base su come un emulatore può simulare un intero dispositivo all'interno del tuo computer. Immagina un interprete che prova a trasmettere una conversazione tra due persone che parlano lingue diverse. Anche se la traduzione è molto veloce, ci sarà sempre una perdita di velocità, ma più le lingue sono complesse, più le traduzioni sono lente.
Virtualizzazione vs. Emulazione
Virtualizzazione La virtualizzazione e il cloud computing non sono la stessa cosa La virtualizzazione e il cloud computing non sono la stessa cosa Molte persone pensano che la virtualizzazione e il cloud computing siano uno nello stesso modo, ma non lo sono. Ecco la differenza e come ognuno può semplificarti la vita. Read More è molto simile all'emulazione, ma ci sono differenze importanti tra di loro - in particolare, la virtualizzazione si riferisce in genere all'uso di macchine virtuali. La virtualizzazione e l'emulazione realizzano la stessa cosa, ma la seguono 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 di hardware più ampia rispetto a quella delle macchine virtuali. Ad esempio, non è possibile eseguire un sistema Playstation in una macchina virtuale.
Tuttavia, a causa di ciò, la virtualizzazione tende ad essere più veloce dell'emulazione. Anziché emulare un sistema, le macchine virtuali allocano invece una certa potenza di elaborazione a qualche sottosistema isolato. Ciò significa che la CPU non viene emulata, che è anche il motivo per cui le macchine virtuali tendono ad essere meno versatili.
In quanto tale, il pubblico di destinazione dei due differisce in qualche modo. Gli emulatori tendono a essere progettati per le 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, questo è principalmente il pignolo. In pratica, la virtualizzazione e l'emulazione sono funzionalmente uguali in quanto esistono principalmente per la traduzione da uno “linguaggio di istruzioni” ad un altro.
L'emulazione di 3 modi può giovarti
Esistono diversi modi per sfruttare l'emulazione. Potresti persino usarlo ora senza nemmeno saperlo! Ecco alcuni esempi degni di nota.
1. Eseguire programmi a 32 bit su Windows a 64 bit
Le versioni a 64 bit di Windows utilizzano un tipo speciale di emulazione denominato a 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.
Se stai usando Microsoft Office, probabilmente stai usando la versione a 32 bit: l'emulazione è a portata di mano!
2. Rendi il tuo computer una console universale
Puoi giocare a un sacco di vecchie piattaforme di videogiochi sul tuo computer usando gli emulatori di destra - e la cosa divertente è che molti di questi giochi funzionano meglio attraverso l'emulazione piuttosto che sul loro hardware nativo perché i computer moderni sono così veloci.
Ad esempio, con un computer sufficientemente potente, puoi effettivamente giocare a giochi con risoluzioni più elevate di quelle per cui sono stati progettati:
Puoi persino configurare il tuo telefono cellulare per emulare console per videogiochi per un'esperienza più portatile. Oppure, al contrario, emula un telefono cellulare Come emulare Android e lanciare app Android sul tuo PC Come emulare Android e lanciare app Android sul tuo PC In realtà è abbastanza semplice far funzionare app Android sul tuo desktop o laptop! Qui, ti guidiamo attraverso i migliori metodi. Leggi di più sul tuo computer.
3. Provare diversi sistemi operativi
Di solito se vuoi provare un nuovo sistema operativo, devi installarlo sul tuo disco rigido. L'emulazione ti consente di eseguire un sistema operativo separato direttamente sul tuo sistema operativo corrente attraverso l'uso di una macchina virtuale Test di un nuovo sistema operativo? Rimani sicuro con una macchina virtuale Testare un nuovo sistema operativo? Mantieniti sicuro con una macchina virtuale Ulteriori informazioni .
Ci sono una serie di motivi per cui vorresti farlo. Non dovrai preoccuparti se l'installazione si comporta in modo anomalo, dal momento che è limitata a un ambiente virtuale. Potrebbe anche essere la tua unica opzione se vuoi provare un sistema operativo che è incompatibile con l'hardware del tuo computer, come quello per il Raspberry Pi.
Traduzione + simulazione = emulazione
L'emulazione è un processo estremamente complicato e questo articolo copre solo le basi. Ma spero che ti dia un'occhiata a quello che succede sotto il cofano. Quindi, quando si avvia un emulatore, che si tratti di giocare a un vecchio videogioco o di eseguire in sicurezza un programma, saprai esattamente perché può essere un po 'lento.
Quali sono le tue esperienze con l'emulazione?
Scopri di più su: emulazione, virtualizzazione.