| ▲ | tliltocatl 10 hours ago | |
I don't think that's how it works. - Normally ALU implements all "light" operations (i. e. add/sub/and/or/xor) in a single block, separating them would result in far more interconnect overhead. Often, CPUs have specialized adder-only units for address generation, but never a xor-specialized block. - All CPUs that implement hyper-threading also optimize a XOR EAX,EAX into MOV EAX,ZERO/SET FLAGS (where ZERO is an invisible zero register just like on Itanium and RISCs). This helps register renaming and eliminates a spurious dependency. - The XOR trick is about as old as 8086 if not older. | ||
| ▲ | Symmetry 3 hours ago | parent [-] | |
Right. Keeping down the number of slots the scheduler and bypass network need to worry about is an important design pressure. | ||