Hoe werkt emulatie en waarom is het zo traag?
We hebben in het verleden nogal wat voorbeelden van emulatie behandeld, maar alleen gekeken hoe het echt werkt. En voor het grootste deel is dat prima. Het is volledig mogelijk om gewoon je pc te starten en een emulator te gebruiken zonder je zorgen te hoeven maken over de details ervan.
Maar heb je je ooit afgevraagd wat er eigenlijk achter de schermen gebeurt? Waarom emulators zo traag zijn? Of zelfs hoe emulatie uw dagelijks leven verder kan verbeteren? Lees verder en je zult zien hoe geweldig emulatie echt is.
Niet alle hardware is gelijk gemaakt
PlayStation-spellen werken bijvoorbeeld niet op Windows omdat deze spellen niet zijn ontworpen om op normale computers te worden uitgevoerd. PlayStation-apparaten zijn heel specifiek in hun fysieke samenstelling en bevatten unieke hardware die Windows - of een ander pc-besturingssysteem - niet weet hoe te gebruiken.
Dit is waar emulatie wordt geleverd: emulatie heeft tot doel programma's uit te voeren die zijn ontworpen voor één soort systeem op een ander soort systeem, en de programma's die dit proces uitvoeren worden opgeroepen emulators. De details zijn een beetje ingewikkelder, maar uiteindelijk proberen ze allemaal hetzelfde te bereiken: software draaien op verschillende hardware.
Hoe werken emulators??
Er is een grote hoeveelheid werk die emulatie moet doen om een buitenlands programma te laten draaien. Kort gezegd, een emulator is software die probeert “handelen” als een stuk hardware. Meestal betekent dit alle mogelijkheden van een hardwarecomponent simuleren als softwarecomponenten.
Als je je afvraagt waarom er geen emulators zijn voor moderne systemen (bijvoorbeeld de Xbox One), is dit de reden waarom. Het kost veel hard werk en moeite om het proces te laten werken omdat moderne hardware buitengewoon complex is.
Om terug te keren naar het PlayStation-voorbeeld, zou een emulator moeten doen alsof hij een speciale geluidschip, grafische kaart, enzovoort heeft, zelfs uitbreidbaar om randapparatuur zoals CD-stations te simuleren.
Central Processing Unit
De moeilijkste component om te emuleren is meestal de centrale verwerkingseenheid (PROCESSOR). Het is een van de kernelementen van elke computer, van smartphones tot gameconsoles, en in veel opzichten het belangrijkst. Zonder een CPU zouden programma's niet kunnen werken.
De belangrijkste manier waarop CPU's van elkaar verschillen is in hun instructiesets. Eigenlijk, ze bepalen de manier waarop een computer opdrachten uitvoert die programma's hem geven. Emulators richten zich over het algemeen op systemen met verschillende instructiesets dan het hostsysteem.
De CPU van de PlayStation gebruikt bijvoorbeeld een instructieset met de naam MIPS, wat anders is dan desktops en laptops die, laten we zeggen, gebruiken, x86.
Waarom zijn emulators zo langzaam?
Elke CPU-instructie die door de emulator wordt ontvangen, moet van de ene instructieset naar de andere instructieset worden vertaald en deze vertaling moet tijdens de vlucht worden uitgevoerd. Dus in het bovenstaande voorbeeld zou een PlayStation-emulator een MIPS-instructie ontvangen, deze in x86 vertalen en hem vervolgens op de laptop uitvoeren.
Dit is de basis van hoe een emulator een volledig apparaat binnen uw eigen computer kan simuleren. Stel je een tolk voor die probeert een gesprek door te geven tussen twee mensen die verschillende talen spreken. Zelfs als de vertaling erg snel is, zal er altijd wat snelheid verloren gaan, maar hoe complexer de talen, hoe langzamer de vertalingen.
Virtualisatie versus emulatie
Virtualisatie Virtualisatie en Cloud Computing zijn niet hetzelfde Virtualisatie en Cloud Computing zijn niet hetzelfde Veel mensen denken dat virtualisatie en cloud computing hetzelfde zijn, maar dat zijn ze niet. Hier is het verschil en hoe elk jouw leven gemakkelijker kan maken. Read More lijkt veel op emulatie, maar er zijn belangrijke verschillen tussen hen - met name virtualisatie verwijst meestal naar het gebruik van virtuele machines. Virtualisatie en emulatie bereiken hetzelfde, maar ze gaan er op enigszins verschillende manieren mee om.
Beide zijn ontworpen om software in een geïsoleerde omgeving uit te voeren. Virtualisatie concentreert zich op de isolatie terwijl emulatie zich richt op de omgeving. Dit betekent dat emulators een groter aantal hardware simuleren dan virtuele machines kunnen. U kunt een Playstation-systeem bijvoorbeeld niet uitvoeren op een virtuele machine.
Vanwege dit is virtualisatie meestal sneller dan emulatie. In plaats van een systeem te emuleren, wijzen virtuele machines in plaats daarvan enige verwerkingskracht toe aan een geïsoleerd subsysteem. Dit betekent dat de CPU niet wordt geëmuleerd, dat is ook de reden waarom virtuele machines vaak minder veelzijdig zijn.
Als zodanig zijn de doelgroepen van de twee enigszins verschillend. Emulators zijn meestal ontworpen voor consoles van videogames (of andere systemen die totaal anders zijn dan gewone computers), terwijl virtuele machines eerder in bedrijven worden aangetroffen. Dit komt omdat ze een snelle en veilige omgeving bieden waarin programma's kunnen worden uitgevoerd.
Dit is echter meestal muggenziften. Praktisch gezien zijn virtualisatie en emulatie functioneel hetzelfde omdat ze voornamelijk bestaan om vanuit één te vertalen “instructietaal” naar de andere.
3 manieren waarop emulatie ten goede kan komen
Er zijn een aantal manieren waarop u kunt profiteren van emulatie. Misschien gebruik je het nu zelfs zonder het te weten! Hier zijn een paar opmerkelijke voorbeelden.
1. Voer 32-bits programma's uit op 64-bits Windows
64-bit versies van Windows gebruiken een speciaal soort emulatie genaamd a compatibiliteitslaag om 32-bits programma's uit te voeren. Het is niet nodig om een volledig systeem te emuleren om dingen te laten werken, omdat 32-bits programma's al in ontwerp vergelijkbaar zijn. Hierdoor is het proces extreem snel.
Als u Microsoft Office gebruikt, gebruikt u waarschijnlijk de 32-bits versie - emulatie binnen handbereik!
2. Maak van uw computer een universele console
Je kunt veel oudere videogameplatforms op je computer spelen met de juiste emulators - en het grappige is dat veel van deze spellen door emulatie zelfs beter draaien dan op hun eigen hardware, omdat moderne computers zo snel zijn.
Met een computer die sterk genoeg is, kunt u bijvoorbeeld sommige games spelen met een hogere resolutie dan waarvoor ze waren bedoeld:
U kunt zelfs uw mobiele telefoon instellen om gameconsoles te emuleren voor een handheld-ervaring. Of omgekeerd: emuleer een mobiele telefoon Hoe emuleer je Android en voer Android-apps uit op je pc Hoe emuleer je Android en voer je Android-apps uit op je pc Het is eigenlijk vrij eenvoudig om Android-apps op je desktop of laptop te laten draaien! Hier laten we u de beste methoden doornemen. Lees meer op uw computer.
3. Test verschillende besturingssystemen uit
Meestal als u een nieuw besturingssysteem wilt uitproberen, moet u het op uw harde schijf installeren. Met emulatie kunt u een apart besturingssysteem rechtstreeks op uw huidige besturingssysteem uitvoeren met behulp van een virtuele machine. Een nieuw besturingssysteem testen? Blijf veilig met een virtuele machine Test een nieuw besturingssysteem? Blijf veilig met een virtuele machine Lees meer .
Er zijn een aantal redenen waarom je dit zou willen doen. U hoeft zich geen zorgen te maken als uw installatie zich misdraagt, omdat deze zich terugtrekt in een virtuele omgeving. Het kan ook uw enige optie zijn als u een besturingssysteem wilt uitproberen dat niet compatibel is met uw computerhardware, zoals een voor de Raspberry Pi.
Translation + Simulation = Emulation
Emulatie is een uiterst ingewikkeld proces en dit artikel behandelt alleen de basis. Maar hopelijk geeft het je een glimp van wat er gebeurt onder de motorkap. Dus als u een emulator opstart, of dat nu een oud videogame is of een programma veilig uitvoert, weet u precies waarom het een beetje traag kan zijn.
Wat zijn je ervaringen met emulatie?
Meer informatie over: emulatie, virtualisatie.