How Does Emulation Work and Why Is It So Slow?
Pinterest Stumbleupon Whatsapp
Advertisement

We’ve covered quite a few examples of emulation in the past, but only brushed on how it really works. And for the most part, that’s fine. It’s totally possible to just launch your PC and use an emulator without worrying about the details of it.

But have you ever wondered what actually happens behind the scenes? Why emulators are so slow? Or even how emulation can further improve your day-to-day life? Read on and you’ll see just how amazing emulation really is.

Not All Hardware Is Made Equal

For instance, PlayStation games don’t work on Windows because those games are not designed to run on normal computers. PlayStation devices are very specific in their physical makeup and contain unique hardware that Windows — or any other PC operating system — doesn’t know how to use.

This is where emulation comes in: emulation aims to run programs designed for one kind of system on another kind of system, and the programs that perform this process are called emulators. The details are a little more complex, but in the end, they all try and achieve the same thing: to make software runnable across different hardware.

How Do Emulators Work?

There’s a large amount of work that emulation has to do to get a foreign program running. In short, an emulator is software that tries to “act” like a piece of hardware. Usually, this means simulating all of the abilities of a hardware component as software components.

How Does Emulation Work and Why Is It So Slow? PS2 Emulator

If you’re wondering why there aren’t emulators for modern systems (e.g. the Xbox One), this is the reason why. It takes a lot of hard work and effort to get the process working because modern hardware is exceedingly complex.

Going back to the PlayStation example, an emulator would have to pretend to have a special sound chip, graphics card, and so on, even extending to simulate peripheral components like CD drives.

Central Processing Unit

The hardest component to emulate is usually the central processing unit (CPU). It’s one of the core elements of every computer, from smartphones to video game consoles, and in many ways the most important. Without a CPU, programs would be unable to function.

How Does Emulation Work and Why Is It So Slow? CPU Display

The main way CPUs differ from each other is in their instruction sets. Basically, they determine the way in which a computer carries out commands that programs give it. Emulators generally target systems which have different instruction sets than the host system.

For example, the PlayStation’s CPU uses an instruction set called MIPS, which is different from desktops and laptops that use, say, x86.

Why Are Emulators So Slow?

Every CPU instruction received by the emulator needs to be translated from one instruction set to the other instruction set, and this translation needs to be done on the fly. So in the example above, a PlayStation emulator would receive a MIPS instruction, translate it into x86, then run it on the laptop.

This is the basis of how an emulator can simulate an entire device inside your own computer. Imagine an interpreter trying to relay a conversation between two people who speak different languages. Even if the translation is very fast, there will always be some loss in speed, but the more complex the languages, the slower the translations.

Virtualization vs. Emulation

Virtualization Virtualization and Cloud Computing Are Not the Same Thing Virtualization and Cloud Computing Are Not the Same Thing A lot of people think virtualization and cloud computing are one in the same, but they aren't. Here's the difference and how each one can make your life easier. Read More is very similar to emulation, but there are important differences between them — in particular, virtualization usually refers to the use of virtual machines. Virtualization and emulation accomplish the same thing, but they go about it in slightly different ways.

Both are designed to run software in an isolated environment. Virtualization focuses on the isolation while emulation focuses on the environment. What this means is that emulators simulate a larger range of hardware than virtual machines can. You can’t run a Playstation system in a virtual machine, for example.

How Does Emulation Work and Why Is It So Slow? VirtualBox

However, because of this, virtualization tends to be faster than emulation. Rather than emulating a system, virtual machines instead allocate some processing power to some isolated subsystem. This means the CPU is not emulated, which is also the reason why virtual machines tend to be less versatile.

As such, the target audiences of the two differ somewhat. Emulators tend to be designed for video game consoles (or other systems that are completely different to regular computers) whereas virtual machines are more likely to be found running in businesses. This is because they provide a fast and secure environment in which to run programs in.

However, this is mostly nitpicking. Practically speaking, virtualization and emulation are functionally the same in that they mainly exist to translate from one “instruction language” to another.

3 Ways Emulation Can Benefit You

There are a number of ways you can take advantage of emulation. You might even be using it now without even knowing! Here are a few notable examples.

1. Run 32-Bit Programs on 64-Bit Windows

64-bit versions of Windows use a special kind of emulation called a compatibility layer to run 32-bit programs. There is no need to emulate an entire system to get things working because 32-bit programs are similar in design already. Because of this, the process is extremely fast.

If you’re using Microsoft Office, you’re probably using the 32-bit version — emulation right at your fingertips!

2. Make Your Computer a Universal Console

You can play a lot of older video game platforms on your computer using the right emulators — and the funny thing is that a lot of these games actually run better through emulation than on their native hardware because modern computers are so fast.

For example, with a strong enough computer, you can actually play some games at higher resolutions than they were designed for:

You can even set up your mobile phone to emulate video game consoles for a more handheld experience. Or conversely, emulate a mobile phone How to Emulate Android and Run Android Apps on Your PC How to Emulate Android and Run Android Apps on Your PC It's actually pretty easy to get Android apps running on your desktop or laptop! Here, we step you through the best methods. Read More on your computer.

3. Test Out Different Operating Systems

Usually if you want to try out a new operating system, you’ll need to install it on your hard drive. Emulation lets you run a separate operating system right on your current operating system through the use of a virtual machine Testing A New Operating System? Stay Secure With A Virtual Machine Testing A New Operating System? Stay Secure With A Virtual Machine Read More .

There are a number of reasons why you’d want to do this. You won’t have to worry if your installation misbehaves, since it’s restrained to a virtual environment. It might also be your only option if you want to try out an operating system that is incompatible with your computer hardware, such as one for the Raspberry Pi.

Translation + Simulation = Emulation

Emulation is an extremely complicated process and this article only covers the basics. But hopefully it gives you a glimpse at what happens under the hood. So when you boot up an emulator, whether that be to play an old video game, or to safely run a program, you’ll know exactly why it can be a little slow.

What are your experiences with emulation?

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Lotte
    February 4, 2017 at 12:07 am

    Did you actually manage to run any PSX games on PCSX2? Even on a 1.5.0 nightly dev build, compatibility is rather limited and I haven't been able to successfully launch any games. While there are other emulation software out there, PCSX2 has managed to get significantly better sound reproduction for PS1 titles as stated in their dev blog.

    • Austin Luong
      February 9, 2017 at 2:51 am

      This is news to me - I actually didn't know that the PCSX2 could run PS1 games! Good luck.

  2. Slashee the Cow
    February 2, 2017 at 6:31 am

    The Xbox One and PS4 wouldn't need to be emulated - they both use AMD APUs which contain an x86 CPU and a (slightly custom, but still fairly similar to their other designs) GPU. The Xbox One even runs a cut-down version of Windows and the PS4's OS is based on BSD. In theory, to run their games on a PC, you'd need something more akin to WINE than a full-blown emulator (as well as to defeat the DRM in the games themselves).