|
|
|
|
|
by Someone
269 days ago
|
|
> You'd have two of everything (two pipelines, two ALUs, two sets of registers, etc.) As others said: yes, it has been tried and it works, but it costs a lot in hardware and power usage. A problem is that lots of code has a branch every 10 or so instructions. Fast high-end CPUs (the only realistic target for this feature) can dispatch multiple instructions per cycle. Combined that means you will hit a branch every two or three cycles. Because of that, you do not end up with two of everything but with way more. So, you’re throwing away not 50% of your work but easily 80%. Some code has fewer branches, but that often can easily be parallelized or vectorized. |
|