3DNow!

Set instruksi 3DNow! adalah sebuah set instruksi yang dikembangkan oleh AMD sebagai alternatif bagi set instruksi Intel SSE. Set instruksi ini dimasukkan ke dalam seri prosesor AMD K6 sebelum Intel merilis Pentium III yang dilengkapi dengan set instruksi SSE. Selanjutnya, saat AMD merilis keluarga Athlon serta Duron, AMD memperbarui set instruksi ini dengan mengubah namanya menjadi Enhanced 3DNow!, lalu menjadi 3DNow! Professional saat merilis Athlon XP (Palomino).

 Informasi umum 
Pada awalnya, AMD membeli lisensi set instruksi MMX dari Intel dan menanamkannya ke dalam semua prosesor K6 dan K7 buatannya. Karena beberapa sebab, AMD tidak mau membeli lisensi set instruksi SSE yang dikembangkan oleh Intel, dan akhirnya AMD pun mengembangkan sebuah set instruksinya sendiri yang dinamakan dengan 3DNow!. 3DNow! diperkenalkan pada bulan Mei 1998 pada prosesor K6-2, lalu diperbaiki pada saat merilis Athlon (Juni 1999) menjadi Enhanced 3DNow!. Set instruksi 3DNow!, Enhanced 3DNow! serta 3DNow! Professional merupakan set instruksi yang memperluas dukungan multimedia yang terdapat dalam chip-chip buatan AMD yang melebihi MMX. Hal ini mengizinkan kinerja yang lebih baik dalam memproses grafik tiga dimensi, multimedia, dan aplikasi yang bersifat intensif terhadap floating-point.

Teknologi 3DNow! terdiri atas 21 instruksi yang menggunakan teknik-teknik SIMD untuk beroperasi terhadap sebuah larik data. Enhanced 3DNow! yang ditanamkan dalam AMD Athlon menambahkan 24 instruksi lagi (19 instruksi di antaranya mirip dengan instruksi SSE dan 5 instruksi lainnya berfungsi sebagai pengolah DSP dan komunikasi), sehingga Enhanced 3DNow! memiliki total 45 instruksi.

Menurut AMD, 3DNow! menyediakan peningkatan kinerja terhadap MMX seperti yang dilakukan pada Intel SSE, tetapi instruksi-instruksi dalam 3DNow! lebih sederhana dan juga lebih sedikit. Meskipun kemampuannya mirip, ternyata 3DNow! dan SSE tidak kompatibel satu sama lainnya, sehingga perangkat lunak yang didesain secara spesifik untuk SSE tidak akan mendukung 3DNow! dan harus didesan ulang dan begitu pula sebaliknya.

3DNow! Professional bahkan menambahkan lebih banyak lagi instruksi, yakni 51 instruksi yang mirip dengan instruksi SSE, sehingga prosesor yang menggunakan 3DNow! Professional juga mendukung penuh instruksi SSE. 3DNow! tidak dikembangkan lagi pada saat prosesor AMD64 (AMD Opteron, AMD Athlon 64, AMD Athlon FX) dirilis ke pasaran, karena AMD kembali membeli lisensi SSE2 dari Intel.

Seperti halnya SSE, set instruksi 3DNow! juga mendukung operasi SIMD terhadap bilangan floating-point dengan presisi tunggal dan memungkinkan melakukan operasi hingga empat operasi tiap siklus detaknya. Instruksi floating-point 3DNow! dapat digabungkan dengan instruksi MMX tanpa mengorbankan performa. Selain itu, 3DNow! juga mendukung data prefetching.

Dukungan perangkat lunak terhadap 3DNow! juga lumayan banyak. Microsoft telah mendukung 3DNow! semenjak Windows 95 OSR 2.1, serta Windows NT 4.0. DirectX 6.0 juga didesain agar mendukung 3DNOw! secara penuh. Selain itu, karena prosesor AMD Athlon XP, dan prosesor AMD64 mendukung penuh SSE dan SSE2, dukungan terhadap prosesor AMD pun menjadi semakin banyak.

 Instruksi 

 Instruksi 3DNow! 

 Instruksi Jenis Keterangan PAVGUSB Integer  Packed 8-bit Unsigned Integer Averaging PFADD Aritmetika  Packed Single-FP Addition  PFSUB  Aritmetika Packed Single-FP Substraction PFSUBR Aritmetika  Packed Single-FP Reverse Substraction  PFACC  Aritmetika Packed Single-FP Accumulate  PFCMPGE  Perbandingan Packed Single-FP Comparison, greater or equal  PFCMPGT Perbandingan Packed Single-FP Comparison, greater PFCMPEQ Perbandingan Packed Single-FP Comparison, equal PFMIN Aritmetika  Packed Single-FP Minimum  PFMAX Aritmetika  Packed Single-FP Maximum PI2FW  Konversi Packed INT16 integer to Packed Single-FP conversion PI2FD Konversi Packed INT32 integer to Packed Single-FP conversion PF2IW Konversi Packed Single-FP to Packed INT16 integer conversion PF2ID Konversi Packed Single-FP to Packed INT32 integer conversion PFRCP Aritmetika  Single-FP Reciprocal Approximation  PFRSQRT Aritmetika  Single-FP Reciprocal Square Root Approximation PFMUL  Aritmetika  Packed Single-FP Multiplication PFRCPIT1 Aritmetika Packed Single-FP Reciprocal First Iteration Step PFRSQIT1 Aritmetika Packed Single-FP Reciprocal Square Root First Iteration Step  PFRCPIT2 Aritmetika Packed Single-FP Reciprocal / Reciprocal Square Root Second Iteration Step  PMULHRW Integer  Packed INT16 integer Multiply With Rounding PSWAPW Integer Packed INT16 integer Swap FEMMS Keadaan (state) Faster Entry / Exit of the MMX or FP state PREFETCH Kemampuan cache Prefetch 32-byte line into L1 data cache 

 Instruksi Enhanced 3DNow! 

 Instruksi Jenis Keterangan PF2IW Konversi Packed Single-FP to INT16 integer Conversion with Sign Extend PFNACC Aritmetika Packed Single-FP Negative Accumulate  PFPNACC Aritmetika Packed Single-FP Mixed Positive-Negative Accumulate PI2FW Konversi Packed INT16 integer to Single-FP Conversion PSWAPD Integer Packed Swap Doubleword MASKMOVQ Kemampuan cache Streaming Store Using Byte Mask (Cache Bypass) MOVNTQ Kemampuan cache Streaming Store (Cache Bypass) PAVGB Integer Packed Average of Unsigned INT8  PAVGW Integer Packed Average of Unsigned INT16  PEXTRW Integer Extract Word into Integer Register  PINSRW Integer Insert Word from Integer Register PMAXSW Integer Packed Maximum of Signed INT16 PMAXUB Integer Packed Maximum of Unsigned INT16 PMINSW Integer Packed Minimum of Signed INT16 PMINUB  Integer Packed Minimum of Unsigned INT16 PMOVMSKB Perpindahan Move Byte Mask to Integer Register PMULHUW Integer  Packed Multiply High Unsigned INT16 PREFETCHNTA Kemampuan cache Move Data Closer to the Processor Using the NTA Reference  PREFETCHT0 Kemampuan cache Move Data Closer to the Processor Using the T0 Reference  PREFETCHT1 Kemampuan cache Move Data Closer to the Processor Using the T1 Reference   PREFETCHT2 Kemampuan cache  Move Data Closer to the Processor Using the T2 Reference PSADBW Integer  Packed Sum of Absolute Byte Difference PSHUFW Pengocokan (shuffle)  Packed Shuffle Word SFENCE Kemampuan cache  Store Fence 

 Pranala luar 
 AMD 3DNow! Instruction Porting Guide (PDF)
 3DNow!™Technology Manual
 AMD Extensions to the 3DNow!™ and MMX™ Instruction Sets Manual
 AMD Geode™ LX Processors Data Book

Kategori:Arsitektur x86
Kategori:SIMD