3 ms·
Modern x86 cores can decode 9 variable length instructions per clock. It’s not easy but can be done. RISK-V C instructions are on the other hand are trivial. A
by ironhaven 2y ago
Modern x86 cores can decode 9 variable length instructions per clock. It’s not easy but can be done.
RISK-V C instructions are on the other hand are trivial. All compressed instructions are 1-1 translatable to uncompressed instructions. People have measured the cost of adding C extension decoding as being a few hundred GATES.
- MobiusHorizons 2y agoThe only 9-per cycle I could find was skymont(e-core), which is really 3x3-wide clusters. Lion cove (p-core) claims 8-wide (unclear if sequential or multiple clusters), and zen 5 is 2x4-wide. In contrast M1 had a true 8-wide decoder and M4 has a 10-wide decoder. My understanding is that on x86 the complexity increases super linearly with decode width because of variable length instructions, while on fixed width architectures (or even a couple of sizes like arm thumb or risc-v compressed) it’s basically linear complexity. This chips and cheese article seems to back this up. https://open.substack.com/pub/chipsandcheese/p/zen-5s-2-ahead-branch-predictor-unit-how-30-year-old-idea-allows-for-new-tricks?selection=862f836c-63cb-41d5-a804-53a36b209e25&utm_campaign=post-share-selection&utm_medium=web https://open.substack.com/pub/chipsandcheese/p/zen-5s-2-ahea...