A CPU is a collection of electronic circuits. The circuits are arranged in specific ways to perform useful math and logic operations. Those circuits are activated by sending electrical signals to specific inputs on the CPU pins. The mapping of specific electrical signals to operations like “add these two numbers” or “which of these two numbers is bigger” or “store this number in this memory address” is called the Instruction Set Architecture (ISA), of which x86-64 (“x64”) and ARM are two examples.
Much like programming languages, there are different ISAs. They’re so fundamental to computing that there aren’t many competing standards, but there are multiple; some born because of intellectual property licensing limitations with existing ones, some because someone thought they could do better, or they needed one tailored to be more efficient for a particular use case.
If one CPU expects pins 0-3 to be set to 0011 (voltage off, off, on, on) to add two 4-bit binary numbers which are sent on pins 4-7 and 8-11, but another CPU expects pins 32-39 to be set to 10011000 to perform the same addition of two 8-bit numbers input to pins 48-55 and 56-63, then clearly trying to execute instructions meant for one ISA, on a CPU designed for a different ISA, is not going to work out well.
Latest Answers