Seit wann gibt es die FPU und sollte man sie vorziehen?
-
Hi,
seit wann gibt es die CPU und ab welcher CPU Serie sollte man sie voraussetzen (486dx2?), lohnen sich abfragen ob die FPU von der CPU unterstützt werden noch? Sollte man z.B. fsqrt dem aus der C lib vorziehen? wenn ja warum wenn nein das selbe.
Was issn besser zum Wurzelziehen? SIMD oder FPU?
-
ja seit 486DX ist die FPU in der CPU eingebaut.
hmm also ich hab schon ewig keinen 486 mehr gesehen, also denke ich, dass du die FPU einfach voraussetzen kannst.für deine restlichen fragen: probier doch einfach mal aus was schneller ist.
-
Zum Wurzelziehen und SIMD:
SSE gibt's halt erst ab PIII, da hast du also float-Genauigkeit, SSE2 ab P4, da gibt's dann double-Genauigkeit.
Es sollte dir eigentlich egal sein, verwende einfach sqrt und lass den Compiler machen, was er glaubt. gcc und VC++ haben beide Optionen, mit denen sie ein sqrt in einen schnellen Maschinenbefehl übersetzen (ich weiß sie aber nicht auswendig). Damit bist du plattformunabhängig, kannst bei Bedarf auch für verschiedene x86-CPUs optimieren, ...
-
ich würde auf jeden fall immer gucken ob 'ne fpu da ist. es gibt immer noch genuch leute mit 386ern.
.model small .data m1 db 'Keine $' m2 db 'FPU vorhanden $' SW dw 0FFFFh CW dw 0FFFFh .code start: mov ax, @data mov ds, ax finit fnstsw SW cmp SW, 0 jne nv fnstcw CW cmp CW, 037h jne nv jmp short vh nv: mov ah, 09h lea dx, m1 int 21h vh: mov ah, 09h lea dx, m2 int 21h mov ax, 4C00h int 21 ends end start
-
also FPU heißt 'floating point unit'
Sie ist zu benutzen, wenn man mit Gleitkommazahlen rechnet.