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?

857 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

Hmmm.

Architecture is basically how that computer runs at the most basic level.

All a computer is, is a bunch of really high tech light switches, on and off. Where it gets complicated is to figure out how they should be flipped and how to convert that into lets say a document, or a picture, or even a fully functioning video game.

So to do that we have to give the computer instructions. We would call that a program or a programming language. The catch is, it’s really freaking hard to actually tell the computer which switches to flip exactly when. What we do instead is tell it on a more human understandable level what we’d like it to do (do some addition here, print a message here.) When we write those instructions for the actual game, the computer then converts it into what is called machine language, which is basically telling it what switches to flip when.

Now here’s the catch. In the same way that every car and vacuum cleaner brand are different, so is every model of computer. And in the case of computers, it REALLY effects what order the switches will be flipped in.

In some cases, it can be a big enough difference that you can’t get old programs to run on new computers.

Now this is really a bigger problem with older programs running on newer things, because they were written for older computers which ran on older computer parts that used different machine language. So when we update them for new computers, even though the human readable part of the code works, when it gets translated to the machine code, the newer computer is essentially speaking a completely different language and can’t understand the program. So to get it to work we have to make significant and difficult changes to either the program that emulates the software or the software (game) itself. Most people, unless they are the original company who owned the game, don’t have access to the human readable code, because companies only sell the games in machine readable form to protect their product from pirates and other reasons. So when you’re emulating an old game and it’s not working because of the system architecture, it can be a really difficult problem to solve, because you don’t always know exactly what part of the program is causing the issue

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