Originally Posted by brentpresley
READ that first post again there buddy. :p:
I never agreed w/ SEA on that one. I was criticizing madcho's lack of CPU knowledge.
The ONLY way a modern CPU could execute INTEGER operations on a FPU is to re-assign the Integer values as floating point (i.e. change 2 x 5 to 2.000000000 x 5.00000000000).
And that would be a COLOSSAL waste of resources. Plus, the ALU would finish the same calculation in FAR less time.
If you just send 2 x 5 through the decoder/prefetcher, it is going recognize that as an INT operation and send it to one of the ALUs. That is HARDCODED into the silicon of the chip and the ONLY way around it would be to change the INTS to decimal values as I described above.
EDIT (again) - the difference in TIME required to complete and INT and Floating instruction are illustrated in NN's post in the diagram that YOU are so fond of. Look at the TOP of the diagram, Stage 9 (that is where the calculations are actually performed). An INT calculation is performed in stages 9 and 10 and then DONE. Depending on the calculation performed, a Float can last up to stage 17.
For this reason, Integer calculations are NEVER sent to the FPU by the decoder.
Let me REPEAT THAT for those hard of hearing (reading) here. NEVER.