Next: a-microarchitecture-case-study
When designing a Microprocessor, specific workloads and benchmarks are extremely important to design for. Backwards compatibility too - even though the 80286 instructions extended addressable memory from 1MB to 16MB, it was not commonly used. It failed to be compatible with the 8086, and was supplanted by the 80386’s emulation of 8086 code. Thus, every chip must support these instructions to be “x86_64” compatible, even though they are rarely used.
Thus, a well designed ISA has the following sets of instructions
There are also many decisions to make at the chip level:
Testing is extremely important – there can be thousands of bugs at the chip level, and verification is extremely important since users may return chips that aren’t fully spec compliant.