|
![](/i/fill.gif) |
Warp wrote:
> Thorsten Froehlich <tho### [at] trf de> wrote:
>> For two decades now the CPU and FPU have been the same thing on x86. It is
>> not like they are two different processors. They are *one* processor. The
>> terminology is just a leftover from times when the logic we nowadays call
>> FPU did not fit on the same die as the integer unit called CPU back then.
>
> That doesn't matter.
When did I say it does? You asserted it would:
> The CPU part does not stop if the FPU is doing
> something (the only situation where the CPU will wait for the FPU is
> when it tries to retrieve some value from it).
"at least in theory, have the FPU calculating your operation while the CPU
does other (non-FPU) operations at the same time. I don't know if any
compiler is able to opimize like this, though."
I am asserting that (both of) your statements are incorrect because you
continue to view the FPU as a separate entity from the CPU in your
statements. What you refer to as CPU is the combination of ALU and LSU. That
is not the whole CPU. The FPU is just one other component of the CPU, it is
in no way distinct, especially not in x86 processors.
In fact, Intel's "Core" architecture fuses the ALU and FPU like no other CPU
design currently around. Go look for a Core i7 (Nehalem) block diagram in
the IDF videos on the Intel site, or look at i.e. this redrawn one:
<http://pc.watch.impress.co.jp/docs/2008/0403/kaigai_nehalem.pdf>
Notice something? - Where is your FPU, where is your "CPU"? There are six
separate execution units, each with some unique and some common features...
Thorsten
Post a reply to this message
|
![](/i/fill.gif) |