Decode

For the decode stage, the main uptick here is the micro-op cache. By doubling in size from 2K entry to 4K entry, it will hold more decoded operations than before, which means it should experience a lot of reuse. In order to facilitate that use, AMD has increased the dispatch rate from the micro-op cache into the buffers up to 8 fused instructions. Assuming that AMD can bypass its decoders often, this should be a very efficient block of silicon.

What makes the 4K entry more impressive is when we compare it to the competition. In Intel’s Skylake family, the micro-op cache in those cores are only 1.5K entry. Intel increased the size by 50% for Ice Lake to 2.25K, but that core is coming to mobile platforms later this year and perhaps to servers next year. By comparison AMD’s Zen 2 core will cover the gamut from consumer to enterprise. Also at this time we can compare it to Arm’s A77 CPU micro-op cache, which is 1.5K entry, however that cache is Arm’s first micro-op cache design for a core.

The decoders in Zen 2 stay the same, we still have access to four complex decoders (compared to Intel’s 1 complex + 4 simple decoders), and decoded instructions are cached into the micro-op cache as well as dispatched into the micro-op queue.

AMD has also stated that it has improved its micro-op fusion algorithm, although did not go into detail as to how this affects performance. Current micro-op fusion conversion is already pretty good, so it would be interesting to see what AMD have done here. Compared to Zen and Zen+, based on the support for AVX2, it does mean that the decoder doesn’t need to crack an AVX2 instruction into two micro-ops: AVX2 is now a single micro-op through the pipeline.

Going beyond the decoders, the micro-op queue and dispatch can feed six micro-ops per cycle into the schedulers. This is slightly imbalanced however, as AMD has independent integer and floating point schedulers: the integer scheduler can accept six micro-ops per cycle, whereas the floating point scheduler can only accept four. The dispatch can simultaneously send micro-ops to both at the same time however.

Fetch/Prefetch Floating Point
Comments Locked

216 Comments

View All Comments

  • Gastec - Wednesday, June 19, 2019 - link

    I'm 95% convinced that your micro-stuttering is caused by the GPU/drivers. Disable SLI or Crossfire if that's what you have (you never said what video card you use). And please stop trolling.
  • wurizen - Thursday, June 20, 2019 - link

    Really? After all that I said about this... you think that you're 95% sure it's caused by GPU drivers and you want me to disable SLI or Crossfire? Really?
  • Qasar - Thursday, June 20, 2019 - link

    have you even mentioned which vid card you are using, or what version the drivers are, or if they are up to date ??
  • Gastec - Wednesday, June 19, 2019 - link

    It could also be related to G-sync/FreeSync and your monitor. When debugging the best way is to reduce everything to a minimum.
  • wurizen - Thursday, June 20, 2019 - link

    Really, dude? You think it's related to Gsyng and Freesync?
  • Qasar - Thursday, June 20, 2019 - link

    it very well could be.. a little while ago.. there was a whole issue with micro stuttering and the fix.. was in new drivers after a certain revision...
  • wurizen - Thursday, June 20, 2019 - link

    This is gonna be my last comment regarding my comment about Infinity Fabric High memory latency issue... an objective response would be "It could;" or, "it's quit possible;" or, "110 nanoseconds latency via cross-ccx-memory-performance is nothing to sneeze at or disregard or a non-issue;"

    instead, i get the replies above; which doesn't need to be repeated since one can just read them. but, just in case, the replies basically say I am trolling such as the most recent from user Gastec; and someone prior I jumped to my conclusion of pointing my scrawny little finger at Infinity Fabric high memory latency; someone plain said I didn't know what I was talking about; etc!

    So, I just wanna say that as my one last piece. It's odd no one has aired to the caution of objectivity and just plain responded with "It's possible..."

    Instead, we get the usual techligious/fanboyish responses.
  • Qasar - Thursday, June 20, 2019 - link

    it doesnt help, you also havent cited any links or other proof of this other then your own posts... and i quote " And, there are people having head-scratching issues similar to me with Ryzen CPU. " oh.. and where are these other people ?? where are the links and URLs that show this ??? lastly.. IF you have a spare hdd ( ssd or mechanical ) that isnt in use that you could install windows on to, so you wont have to touch the current one you are using, try installing windows on to that, update windows as much as you can via windows update, update all drivers, and do the same things you are doing to get this issue.. and see if you still get it.. if you do.. then it isnt your current install of windows, and it is something else.
  • Carmen00 - Friday, June 21, 2019 - link

    Qasar, Gastec et al, I appreciate that you're trying to educate wurizen but when you get responses like "bruh!" and "Really?", I think it's time to call it quits. Like HStewart, feeding wurizen will just encourage him and that makes it difficult to go through the comments and see the important ones. Trust that the majority of Anandtech's readership is indeed savvy enough to know pseudo-technical BS when we encounter it!
  • Qasar - Friday, June 21, 2019 - link

    well.. the fact that he didnt cite any one else with this problem, or links to forums/web pages.. kind of showed he was just trolling.. but i figured... was worth a shot to give him some sort of help....

Log in

Don't have an account? Sign up now