Elektrine lite

← Feed

@JamesWidman@mastodon.social

Post #2409966

2025-09-09 05:39 UTC

@rygorous@mastodon.gamedev.place @steve@discuss.systems @regehr@mastodon.social > [x86] out-of-order decode using 2 or 3 separate 3-wide decoders wat. (i was not paying attention when this dropped (in 2020? 2021?); i'll have to go read about it)

Replies (1)

  • @JamesWidman@mastodon.social The basic idea that landed in Tremont is quite simple: Have two decoders that can each do 3 instructions/cycle. Switch which decode cluster you route instruction bytes to on every predicted branch. So any given basic block can only decode 3 insns/cycle max, but you're working on decoding multiple basic blocks at once. This works great on most code (avg length of a BB in most traces is something like 6 instructions). If you have a long basic block though, easy to get decode bound.

    Open ##2409967