eli5: What does people mean when they say that a computer system runs on different architecture from another computer? Like when somebody says that an emulator can run N64 games faster theoretically but because of different architecture in practicality it cant?

832 views

eli5: What does people mean when they say that a computer system runs on different architecture from another computer? Like when somebody says that an emulator can run N64 games faster theoretically but because of different architecture in practicality it cant?

In: Technology

19 Answers

Anonymous 0 Comments

When you were a kid you probably played with some “construction” toys, such as Lego, K’nex or Meccano. The idea of the toys is that you have some basic parts that you can combine to build something, like a small vehicle. You can make whatever you like, so long as you can build it with the parts you have and some kind of blueprint to follow.

Now, let’s say you have a blueprint for a Lego model helicopter, but you and your friends only have K’nex. The Lego blueprint is mostly worthless, but you *could* design something that looks very similar and has the same functioning spinning blade. In order to do this, you need to know how lego works and probably be pretty good with K’nex too, there’s no simple way to convert the blueprint. The result might be pretty good, but sometimes, some parts just won’t be the same because it’s physically not possible. You also need to design and print the new blueprints and instructions for your friends, which takes a lot of time.

This would be called “porting” the blueprint, it’s tedious and you need to do it once per blueprint you want to play with. Hopefully, at the end of the day, you can throw the old Lego blueprint away and everyone can use the new K’nex blueprint to this helicopter without needing the Lego.

However, when I said there was no simple way, I lied. What you could also do instead is to figure out how to *build Lego bricks out of K’nex*.

Think about it, if you came up with a K’nex blueprint for all of the basic Lego bricks, then you’d be able to build *any* Lego blueprint without needing to port it. Genius! You just need to build the bricks you need from K’nex and then fit them together according to the Lego blueprint directly.

However, there’s a huge drawback, you need a *lot* more K’nex than you needed lego and therefore it takes a *lot* longer to build. The same would also be true if you were to try the process in reverse: converting K’nex blueprints to Lego by building K’nex pieces out of Lego bricks. This is an unavoidable problem with the method: emulating one “architecture” in another by simulating the smallest parts is a very easy way to accurately cover all blueprints, but it is also very inefficient. You may be able to take shortcuts that let you use a lot fewer pieces, sacrificing the ability to accurately build some models, but it’s still not anywhere near as fast.

For the sake of this analogy though, you need to assume that kids are now thousands of times faster at building stuff than they were before but that the process of porting blueprints manually is *very* difficult.

Glossary:

* Kids with their K’nex/Lego: gamers with computers.
* Blueprints: games.
* Building a blueprint: running a game.
* K’nex/Lego: architecture.
* Blueprints for Lego blocks in K’nex: emulator.

You are viewing 1 out of 19 answers, click here to view all answers.