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?

850 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

To really get down to five year old level: the actual hardware, the computer chips inside the game consoles, is different. It’s designed different, it uses different codes, and it behaves different. Some of those “cpu architecture” terminologies are ARM, x86, x64, PowerPC, MIPS, RISC, and more.

Less five-year-old stuff:

The same programmed source code may sometimes be capable of working on multiple architectures, but once it’s compiled for a certain one it’s quite hard to decompile or recompile it for another without having access to the source code (which is usually something companies keep closely guarded.) Also it often takes a lot of work to write code that runs well without bugs on different architectures: for example x86 is a “32 bit” architecture which means that 4,294,967,295 (about four billion) is the largest number that that architecture can easily handle without lots of ugly workarounds. (If you tell a 32-bit computer to do 4294967295+1 it’ll say the answer is 0, and if you tell it to do 0-1 it’ll say the answer is 4294967295… unless you have negative numbers turned on but I won’t go into that right now.) A 64-bit architecture like x64 however can handle numbers as big as 18,446,744,073,709,551,615 (18 quintillion or 18 million billions) so a lot more math and detail can be handled. In other words, architecture matters and newer architectures help games look good and be fast.

One other big reason 64 bit architecture is increasingly popular is because programmers like to store dates and times as the number of seconds before or since January 1, 1970 GMT. (It can be negative to easily talk about dates before then too.) But as of this writing, it’s been 1,613,808,415 seconds since 1970. Since it can also be negative, that cuts our available numbers in half, to 2,147,483,647. So we only have 533,675,232 seconds left until we run out, which is just under seventeen years from now. This is called the “year 2038 problem,” much like Y2K, so we’ve got until then to upgrade or patch every single digital device that cares about what year it is. Fortunately with 64 bits, we can count up seconds for the next 292 billion years, so we shouldn’t have to worry about that anymore.

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