All of these are definitions for opcodes on the CPU. Opcodes are essentially numbers that represent the operation being done. For example, you could say 1 means to add, 2 to subtract, 3 to multiply, etc. When people say that computers only understand binary, this is what they mean. When you run a program, it’s a list of these opcodes, which then translate to a specific operation on the CPU/GPU/whatever. This is the fundamental reason why programs need to be compiled for a specific instruction set architecture.
The main differences are that each chipset can support different kinds of operations. As an example, x86 can only support 32-bit memory addresses, which is why most computers these days use x64, which is a 64-bit backwards-compatible extension to x86. Some operations are useful for specific purposes but are expensive to make in hardware, so they support a different instruction set. And sometimes it’s not a technically good reason, it’s just vendor lock-in for business.
Latest Answers