68882: j'aime eBay
10 sujets de 1 à 10 (sur un total de 10)
-
APrès avoir lu un doc sur les 68882, Je cherchais désespérément un FPU PGA 50Mhz pour ma blizzard 1230 IV , et qu’est ce que je vois sur ebay ?
un stock neuf de 68882 PGA 50Mhz
Faut-il encore que je le reçoive. C’est véritablement intéressant comme chip: En plus des instructions FPU de base des 040/060, ils avaient un jeu très complet d’instructions trigonométriques (cos, mais acos aussi) mais aussi exponentielles et logarithmiques: Ce qui est devenu rare dans les CPU/FPU par la suite, mais on retrouve ce jeu d’instruction exhaustive dans les GPU et les langages de shaders, car ça sert bien pour les calculs du genre raytracing …
allez on se fait plaisir:
Instruction Function
====================================================
FABS | Absolute value
FACOS | FP Arc Cosine
FASIN | FP Arc Sine
FATAN | FP Arc Tangent
FATANH | FP Hyperbolic Arc Tangent
FCOS | FP Cosine
FCOSH | FP Hyperbolic Cosine
FETOX | FP e^x
FETOXM1 | FP e^(x-1)
FGETEXP | Get exponent
FGETMAN | Get mantissa
FINT | FP Integer
FINTRZ | Get integer and round down
FLOGN | FP Ln(n)
FLOGNP1 | FP Ln(n+1)
FLOG10 | FP Log10(n)
FLOG2 | FP Log2(n)
FNEG | Negate a floating point number
FSIN | FP Sine
FSINH | FP Hyperbolic Sine
FSQRT | FP Square Root
FTAN | FP Tangent
FTANH | FP Hyperbolic Tangent
FTENTOX | FP 10^x
FTWOTOX | FP 2^x
====================================================Read more: http://www.intel-assembler.it/portale/5/motorola-fpu-programming/68881-68882-68040-command-reference.asp#ixzz2BvsIWbGP
… et le top du top comme instruction assembleur:
FSINCOS ,FPc:FPs Calculates sine and cosine… un seul appel pour avoir le resultat de cos(o) et sin(o) ! J’en ai révé motorolla l’a fait !
oui, ça dépend des programmes: un programme C par exemple, peut être compilé pour que les formats float et double, et les fonctions de « math.h » utilisent soit directement le FPU avec les instructions assembleurs (mais ça marchera pas sans fpu) , soit pour utiliser les mathieeeMachin.library qui émulent lentement un fpu (un appel système à la lib par instructions)… Les software de raytracin (genre lightwave) et tout ce qui avait besoin de faire des calculs assez précis mettait à disposition plusieurs binaires à choisir suivant sa config
Les patch software FPU (oxyron patcher et autre) sont aussi là pour patcher les programmes à la volée (à l’execution) en fonction du fpu réellement disponible et les accélérer. Mais j’ai très peu d’expérience en fpu 680×0, et je sais pas si ces patchers étaient capable de remplacer des appels de libs software vers des instructions fpu
Tu pourrais faire une figure mathématique comme ici ? :
http://lycee-roland-garros.ac-reunion.fr/spip/spip.php?article218
en bas de page.
En adaptant le code pour être exécuter par un FPU?
Comme ca vient de Chine il y a un risque que ce soit un faut rebadgé car beaucoup de gens recherchent les 50 MHz.
Cependant, le plus important est que les FPU 68882 tiennent parfaitement l’overclock. Un 33 ou 40 MHz fonctionne sans problème à 50 MHz voir plus sur les cartes qui ont un cristal séparé pour le FPU, et probablement même un 16 ou 25 MHz.
100% Amiga Classic
BOING!!!!Ces figures nécessitent pas tellement de fpu: les cos() sont appelé par points, pas pour le dessin de la ligne. Par contre pour faire classe il faut dessiner sur une bonne résolution et surtout que les lignes soient dessinées avec de l’anti-aliasing: faisable mais compliqué sur amiga (rendu vectoriel de base: bourrin)
… Si vous êtes curieux et que vous voulez voir le genre de raytracing que j’aimerais porter sans trop m’embéter: faîtes ceci:(prérequis: faut avoir une carte 3D et un navigateur HTML5 récent sur windows/linux/osx)
– activez WebGL sur votre navigateur (cherchez google enable webgl firefox ou chrome, pour voir comment faire)
– allez sur la page html Shader Toy de « iq », le coder de RGBA
(Si vous voyez un effet de demo sur la gauche et un court texte ressemblant à du C sur la droite , c’est bon signe)
– Avec le combo « Preset » chargez l’effet « Nautilus » dans ‘3D’ -> chargez
Si vous voyez un truc trop joli, c’est gagné. Explication: dans le source, la fonction « main() » est exécuté une fois par pixel de l’écran. Si vous essayez de comprendre ce que ce petit source de 40 lignes fait, alors vous aurez déjà une très bonne culture en raytracing (la fonction procédurale e( ) qui donne « l’équation implicite » de la forme, le marchéage de la première boucle, l’éclairage en « ambient occlusion » de la seconde qui utilise une sorte de monte-carlo (approximation de l’ombrage en fonction de la matière présente autour)) ) … Malgré la concision du code, c’est déjà un rendu très évolué pour du raytracing !
… ça utilise des centaines de cosinus pour juste un pixel !
Je poste rapidement un commentaire avant de sortir, pour dire que mon joli MC68882RC50A est bien arrivé à pied par la chine: qu’il est bien joli dans sa blizzard 1230IV qui l’attendait depuis 17 ans, et que le dernier sysinfo dit bien « 68882 » ( sans préciser la fréquence promise de 50Mhz pour ce fpu… mais bon)
… de plus un petit programme sous SASC que je compilais avec MATH=standard, fonctionne maintenant bien plus rapidement avec l’option MATH=68881. (qui permet d’utiliser directos le fpu. donc: tout fonctionne, et surtout les fonctions trigonométriques tant rêvée fonctionnent.)
… des benchs sur les fonctions de trigo , et des jolies images arriveront sans doute plus tard (ainsi que d’autres choses incroyablement surprenantes)
10 sujets de 1 à 10 (sur un total de 10)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Matériel › 68882: j'aime eBay