3 ms·
>Is the ISA immutable now? x86 is, by many metrics, not a good ISA. Its value is derived from the software moat, accumulated since the late 1970s. Thus it is
by snvzz 3y ago
>Is the ISA immutable now?
x86 is, by many metrics, not a good ISA.
Its value is derived from the software moat, accumulated since the late 1970s.
Thus it isn't immutable. Opcodes can be added and removed.
Yet breaking compatibility with old code would destroy x86's value.
- madeofpalk 3y agoCan instructions be added without breaking compatibility?
- colejohnson66 3y agoFor x86? Yes. There are many holes in the opcode space that are regularly filled. The bespoke encoding comes from there not being (really any) holes in the beginning, and the designers trying to work around it.
- snvzz 3y agox86 opcodes can be 15 bytes long, that's how. At the expense of code density, and thus hurting PPA (Power, Performance and Area). Wildly variable opcode length does also complicate the decoder considerably, as it has to find where instructions start and end, an inherently serial operation, and yet decode enough of them to feed an n-wide pipeline.