There are two levels of architecture: The Set of instructions that a processor can understand, and the micro-architecture (the implementation of those instructions, how the circuit is wired)
The set of instructions, for a 32 bit processor, would be a list of binary numbers with 32 digits. Using the RISC-V as an example: The first 7 bits select the format of operation, and depending of the format, the other bits will select an operation (e.g. add, subtract, jump, branch, shift, etc), the memory address where are stored the operands, and where the result should be stored, etc. (That’s what is machine code)
The micro-architecture is how everything is wired so that if you send that if you input the instructions of a certain architecture, the output will be correct (think of it like a calculator. If you type in any calculator “2 + 2 = “, the output will be 4, but how the calculator is wired changes between calculators.
So, when people say that a computer runs on a different architecture, it generally means the machine code that a processor A understands is different from processor B. But in the case of the N64 emulation the rabbit hole goes furher. The issue isn’t with the instruction set (actually, the MIPS is quite light to emulate), but with the separate chip that deals with graphics and audio (RSP). Some games had a microcode that changed the configuration of that chip, to optimize the graphic rendering (and those are the games that people have more headache to emulate). Also, for a long time, the development of n64 emulation was really messy.
Latest Answers