2 ms·
> Raise my eyebrows, more than a little bit. If to compute e.g. (assume for a second you do not have optimized instructions for this) you have E = D * C and C =
by sifar 2y ago
> Raise my eyebrows, more than a little bit. If to compute e.g. (assume for a second you do not have optimized instructions for this) you have E = D * C and C = B + A, how exactly you can compute E without first knowing C? You can't, not without computing all possible values of E for C (inefficient).
I think what the mean (according to their diagram) is each result has to be written back to the register file before another unit can use it. So conventionally you would compute C = A + B and update the C register and in the next step compute E = D*C.
What they seem to claim is they directly bypass the computed C result from the add unit the the multiply unit, hence it is pipelined. This is a bit disingenuous as any performant cpu worth it's salt will have operand bypassing.
- smaudet 2y ago> This is a bit disingenuous as any performant cpu worth it's salt will have operand bypassing. Right, but that's an operation optimization. Nobody disputes that particular instructions (combined add/multiply) can be optimized and pipelined, but that's very different from claiming that arbitrary calculations no longer have dependent steps.