By: Poindexter (cherullo.delete@this.gmail.com), November 2, 2015 5:39 am
Room: Moderated Discussions
juanrga (nospam.delete@this.juanrga.com) on November 2, 2015 4:47 am wrote:
> Poindexter (cherullo.delete@this.gmail.com) on November 1, 2015 9:25 am wrote:
> > It may reduce the number of required uops, and thus change
> > the optimal (whatever that means) pipelines ratio.
>
> Macro-op fusion doesn't reduce the required number of uops. Macro-op fusion joins uops for simplifying the SS/OOOE
> logic. E.g., instead a separate entry in the ROB for each uop, you have one entry for the macro-op.
>
> Once the macro-op is scheduled to the corresponding place, it
> is broken into uops and the execution units execute each uop.
>
> The number of uops is not reduced.
You're mixing up macro-op fusion with micro-op fusion. Go read:
http://www.agner.org/optimize/microarchitecture.pdf
> Poindexter (cherullo.delete@this.gmail.com) on November 1, 2015 9:25 am wrote:
> > It may reduce the number of required uops, and thus change
> > the optimal (whatever that means) pipelines ratio.
>
> Macro-op fusion doesn't reduce the required number of uops. Macro-op fusion joins uops for simplifying the SS/OOOE
> logic. E.g., instead a separate entry in the ROB for each uop, you have one entry for the macro-op.
>
> Once the macro-op is scheduled to the corresponding place, it
> is broken into uops and the execution units execute each uop.
>
> The number of uops is not reduced.
You're mixing up macro-op fusion with micro-op fusion. Go read:
http://www.agner.org/optimize/microarchitecture.pdf