3D NOW!

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

3D NOW! is de naam van een uitbreiding op de IA-32 instructieset voor processoren die door AMD is ontwikkeld. Omdat Intel met de introductie van MMX alleen SIMD invoerde voor integer registerbewerkingen en floating point operaties met de opkomst van 3D applicaties steeds belangrijker werd heeft AMD besloten om een speciale extensie van 21 instructies op de MMX instructieset te maken. Dankzij deze extra instructies werd het mogelijk om twee single precision floating point waarden van 32 bits tegelijk te bewerken wanneer deze in een MMX register opgeslagen worden.

Het grote voordeel van deze aanpak was dat er geen nieuw besturingssysteem nodig was om de processoren met deze technologie te laten werken. Een ander voordeel van de AMD aanpak was dat er geen cycles in de processor verloren gingen door het omschakelen tussen integer en floating point registers maar dat deze door elkaar bewerkt konden worden en dat het mogelijk werd om waarden in hetzelfde register te bewerken in plaats van alleen de waarden in een ander register op dezelfde plaats zoals bij SSE.

Deze aanpak heeft ook een nadeel, aangezien de floating point data per definitie veel meer ruimte (32 bits bij single precision) in beslag neemt dan de integer data (die vaak in pakketjes van 8 of 16 bits verwerkt wordt) is het effect van tegelijk uitvoeren minder groot dan voor de integers bij MMX. Omdat AMD in die tijd nog een betrekkelijk klein marktaandeel had zijn de 3D NOW! instructies nooit zo'n groot succes geworden als de SSE instructies van Intel. AMD heeft later dan ook de SSE uitbreiding aan de eigen processoren toegevoegd.