[fpc-devel] Extended type
Nikolai Zhubr
n-a-zhubr at yandex.ru
Tue Apr 19 11:10:36 CEST 2011
18.04.2011 20:35, Hans-Peter Diettrich:
> Jonas Maebe schrieb:
>>
>> On 18 Apr 2011, at 10:13, Daniƫl Mantione wrote:
>>
>>> Originally MS spread info it wouldn't work at all under Windows, but
>>> that proved to be false,
>>> the FPU works technically. Now MS just states it is unsupported.
>>
>> And deprecated:
>> http://msdn.microsoft.com/en-us/library/ee418798(VS.85).aspx#Porting_to_64bit
>>
>
> Thanks. I always knew that Windows is not an OS for serious work, but I
> never heard that from Microsoft so clearly :-(
Not being an ms fan whatsoever, but you all seem to have missed the
technical point here.
Because x87 (and also MMX in some sense) is a coprocessor (and has its
own register space) its full state has to be saved/restored (by an OS)
between different running processes in case any process might use
fpu/mmx. Clearly this may become rather inefficient performance-wise
(because, well, an application might just want to use 2 fpu registers at
a time, and OS will still have to store the whole bunch all the time...)
Now, with the introduction of 64-bit processors IIRC AMD took care of
this problem by providing some means to execute floating-point
operations without the need for traditional FPU register space, thus
allowing to avoid the need to save/restore FPU state. IIRC these are
some _new_ opcodes, unavailable on earlier CPUs.
So, for performance reasons, and because 64-bit applications (are now
supposed to be) able to do all floating-point without touching the
traditional FPU, ms (supposedly) decided to just not preserve FPU/MMX
state between 64-bit processes. Thats all. IMHO is makes some sense
actually, though it would be much nicer if there was some option to
select this deliberately (say at boot time or whatever).
>
> DoDi
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
>
More information about the fpc-devel
mailing list