|
|
|
|
|
by FullyFunctional
1645 days ago
|
|
That's a false strawman. There are infinitely many ways to achieve the same or better density without the drawback. Allowing instruction to span cache line, or even pages, is a mistake that we'll pay for forever. The simplest possible mitigation would have been to disallow an instruction from spanning a 64-byte boundary. It would have almost no impact on instruction density, but it would have saved a lot of headaches for implementations. |
|
> The simplest possible mitigation would have been to disallow an instruction from spanning a 64-byte boundary.
Sure, that sounds good. But before this you hadn't even mentioned any problems with split instructions that need to be mitigated.
(You did mention decoding without a known entry point, but a rule like that doesn't guarantee you can find the start of an instruction. And if it would help to know that a block of 64 bytes probably starts with an aligned instruction, that seems like something you could work out with compiler writers even without a spec.)