3DNow!

Vikipediya, ochiq ensiklopediya
AMD 3DNow!
Ishlab chiqaruvchi Advanced Micro Devices
Chiqarilgan sanasi 1998

3DNow! Advanced Micro Devices (AMD) tomonidan ishlab chiqilgan x86 koʻrsatmalar toʻplamining eskirgan kengaytmasi. U asosiy x86 koʻrsatmalar toʻplamiga bitta buyruqli bir nechta maʼlumotlar (SIMD) koʻrsatmalarini qoʻshib, Vektor registrlari yordamida suzuvchi nuqtali vektor operatsiyalarini vektorli qayta ishlashni amalga oshirish imkonini beradi, bu koʻplab grafik talab qilinadigan ilovalarning ishlashini yaxshilaydi. 3DNow-ni amalga oshiradigan birinchi mikroprotsessor 1998–yilda taqdim etilgan AMD K6–2 edi. Ilova mos boʻlganda, bu tezlikni taxminan 2–4 baravar oshirdi.[1]

Biroq, koʻrsatmalar toʻplami hech qachon mashhur boʻlmagan va AMD 2010–yil avgustida ikkita koʻrsatmalardan tashqari (PREFETCH va PREFETCHW koʻrsatmalari) 3DNow-ni qoʻllab-quvvatlash kelajakdagi AMD protsessorlarida toʻxtatilishini eʼlon qildi.[2] Yuqorida aytib oʻtilgan ikkita koʻrsatmalar Bay-Trail Intel protsessorlarida ham mavjud.[3]

Tarix[tahrir | manbasini tahrirlash]

3DNow 3D grafika kompyuter multimedia va oʻyinlarida asosiy oqimga aylangan bir paytda ishlab chiqilgan. 3D grafikalarning real vaqtda namoyishi suzuvchi nuqtali hisob-kitoblarni amalga oshirish uchun asosiy protsessorning suzuvchi nuqta blokiga (FPU) bogʻliq edi, bu vazifada AMD ning K6 protsessorini raqobatchisi Intel Pentium II dan osonlik bilan ortda qoldirdi.

MMX koʻrsatmalar toʻplamini yaxshilash sifatida 3DNow koʻrsatmalar toʻplami bitta aniqlikdagi (32 bitli) suzuvchi nuqtali maʼlumotlarda umumiy arifmetik operatsiyalarni (qoʻshish/ayirish/koʻpaytirish) qoʻllab-quvvatlash uchun MMX SIMD registrlarini kengaytirdi. Sekinroq x87 FPU oʻrniga AMD-ning 3DNow-dan foydalanish uchun yozilgan dasturiy taʼminot koʻrsatmalar aralashmasiga qarab 4 baravar tezroq ishlashi mumkin.

Versiyalar[tahrir | manbasini tahrirlash]

3DNow[tahrir | manbasini tahrirlash]

3DNow texnologiyasining birinchi ilovasi SIMD suzuvchi nuqta operatsiyalarini qoʻllab-quvvatlaydigan 21 ta yangi koʻrsatmalarni oʻz ichiga oladi. 3DNow koʻrsatmalar toʻplami, shuningdek, SIMD butun son operatsiyalari, maʼlumotlarni oldindan olish va MMX-dan suzuvchi nuqtaga tezroq almashtirish operatsiyalarini oʻz ichiga oladi. Keyinchalik Intel SSE (Streaming SIMD Extensions) deb nomlanuvchi Pentium III ga oʻxshash (lekin mos kelmaydigan) koʻrsatmalar qoʻshadi.

3DNow suzuvchi-nuqta koʻrsatmalari quyidagilar:

  • PI2FD  – 32 bitli butun sonni suzuvchi-nuqtaga aylantirish
  • PF2ID – Suzuvchi-nuqtadan 32 bitli butun songa oʻzgartirish
  • PFCMPGE – toʻplangan suzuvchi nuqtali taqqoslash, katta yoki teng
  • PFCMPGT – toʻplangan suzuvchi-nuqtali taqqoslash, kattaroq
  • PFCMPEQ – Toʻplangan suzuvchi-nuqtali taqqoslash, teng
  • PFACC – oʻralgan suzuvchi-nuqta toʻplanadi
  • PFADD – Paketli suzuvchi -nuqta qoʻshilishi
  • PFSUB – toʻplangan suzuvchi nuqtali ayirish
  • PFSUBR – oʻrnatilgan suzuvchi nuqtali teskari ayirish
  • PFMIN – Paketli suzuvchi nuqta minimal
  • PFMAX – Paketlangan suzuvchi nuqta maksimal
  • PFMUL – Paketli suzuvchi nuqtali koʻpaytirish
  • PFRCP – Paketli suzuvchi nuqta oʻzaro yaqinlashuvi
  • PFRSQRT – Toʻplangan suzuvchi nuqta oʻzaro kvadrat ildizga yaqinlik
  • PFRCPIT1 – Paketli suzuvchi nuqta oʻzaro, birinchi iteratsiya bosqichi
  • PFRSQIT1 – Oʼrnatilgan suzuvchi nuqta oʻzaro kvadrat ildiz, birinchi iteratsiya bosqichi
  • PFRCPIT2 – oʻrnatilgan suzuvchi nuqta oʻzaro/oʻzaro kvadrat ildiz, ikkinchi iteratsiya bosqichi

3DNow integer koʻrsatmalari quyidagilar:

  • PAVGUSB – Paketlangan 8 bitli belgisiz butun son oʻrtacha
  • PMULHRW – Qadoqlangan 16 bitli butun sonni yaxlitlash bilan koʻpaytirish

3DNow unumdorligini oshirish boʻyicha koʻrsatmalar quyidagilar:

  • FEMMS – MMX yoki suzuvchi-nuqta holatiga tezroq kirish/chiqish
  • PREFETCH/PREFETCHW – L1 maʼlumotlar keshiga kamida 32 baytlik qatorni oldindan yuklash (bu eskirmagan koʻrsatma)

3DNow kengaytmalari[tahrir | manbasini tahrirlash]

3DNow-ning ikkinchi versiyasiga rasman oʻz savdo nomi berilganligi haqida hech qanday dalil yoʻq. Bu ushbu yangi koʻrsatmalar toʻplamiga tegishli hujjatlarda baʼzi chalkashliklarga olib keldi. Eng keng tarqalgan atamalar Kengaytirilgan 3DNow, Enhanced 3DNow va 3DNow+ dir. "Enhanced 3DNow" iborasini AMD veb-saytining bir nechta joylarida topish mumkin, ammo "Enhanced" bosh harfi sof grammatik yoki ushbu kengaytmalarga ega boʻlishi yoki boʻlmasligi mumkin boʻlgan protsessorlarga urgʻu berish uchun ishlatilgan koʻrinadi (eng diqqatga sazovorlari bu kengaytmalarga ega boʻlmagan K6–III-P uchun benchmark sahifasiga havola qiladi).[4][5]

3DNow koʻrsatmalar toʻplamiga ushbu kengaytma birinchi avlod Athlon protsessorlari bilan kiritilgan. Athlon 5 ta yangi 3DNow koʻrsatmalari va 19 ta yangi MMX koʻrsatmalarini qoʻshdi. Keyinchalik, K6–2+ va K6–III+ (ikkalasi ham mobil bozorga moʻljallangan) 19 ta yangi MMX koʻrsatmalarini qoldirib, 5 ta yangi 3DNow koʻrsatmalarini oʻz ichiga oldi. DSP ni kuchaytirish uchun yangi 3DNow koʻrsatmalari qoʻshildi. Oqimli mediani kuchaytirish uchun yangi MMX koʻrsatmalari qoʻshildi.

19 ta yangi MMX koʻrsatmalari Intelning SSE1 koʻrsatmalar toʻplamining kichik toʻplamidir. AMD texnik qoʻllanmalarida AMD ushbu koʻrsatmalarni 3DNow kengaytmalaridan tashqari ajratadi.[4] Biroq, AMD mijozlari mahsuloti adabiyotida bu ajralish barcha 24 ta yangi koʻrsatmalarning afzalliklari takomillashtirilgan 3DNow texnologiyasiga berilganligi unchalik aniq emas.[6] Bu dasturchilarni 19 ta yangi MMX koʻrsatmalari uchun oʻz nomlarini ishlab chiqishga olib keldi. Eng keng tarqalgani Integer SSE (ISSE) boʻlib koʻrinadi.[7] SSEMMX va MMX2 ham jamoat mulki sektoridagi video filtri hujjatlarida mavjud. ISSE shuningdek, SSE ning dastlabki nomi boʻlgan Internet SSE ga ham murojaat qilishi mumkin.

3DNow kengaytmasi DSP koʻrsatmalari quyidagilar:

  • PF2IW – Belgilangan kengaytmali suzuvchi-nuqtadan butun songa soʻz konvertatsiyasi
  • PI2FW – Toʻplangan butun sonli soʻzni suzuvchi-nuqtaga aylantirish
  • PFNACC – Qadoqlangan suzuvchi-nuqta salbiy toʻplanadi
  • PFPNACC – Qadoqlangan suzuvchi-nuqta aralash ijobiy-salbiy toʻplanadi
  • PSWAPD – Ikki soʻzli almashish

MMX kengaytmasi koʻrsatmalari (Integer SSE) quyidagilar:

  •  MASKMOVQ – Bayt maskasi yordamida oqim (keshni aylanib oʻtish) saqlash
  • MOVNTQ - Streaming (keshni chetlab oʻtish) doʻkoni
  • PAVGB - imzolanmagan baytning oʻrtacha toʻplami
  • PAVGW - Imzosiz soʻzning oʻrtacha toʻplami
  • PMAXSW - Toʻplangan maksimal imzolangan soʻz
  • PMAXUB - toʻplangan maksimal imzosiz bayt
  • PMINSW - Paketlangan minimal imzolangan soʻz
  • PMINUB - toʻplangan minimal imzosiz bayt
  • PMULHUW - Paketli koʻpaytiruvchi yuqori belgisiz soʻz
  • PSADBW - mutlaq bayt farqlarining yigʻindisi
  • PSHUFW - toʻplangan aralash soʻz
  • PEXTRW - butun son registriga soʻzni chiqarib oling
  • PINSRW - Butun sonlar registridan soʻz kiritish
  • PMOVMSKB - Bayt niqobini butun son registriga oʻtkazish
  • PREFETCHNTA - NTA maʼlumotnomasi yordamida oldindan yuklash
  • PREFETCHT0 - T0 maʼlumotnomasi yordamida oldindan yuklash
  • PREFETCHT1 - T1 maʼlumotnomasi yordamida oldindan yuklash
  • PREFETCHT2 - T2 maʼlumotnomasi yordamida oldindan yuklash
  • SFENCE - doʻkon panjarasi

3DNow Professional[tahrir | manbasini tahrirlash]

3DNow Professional - bu 3DNow texnologiyasini toʻliq SSE koʻrsatmalar toʻplami (masalan, SSE1, SSE2 yoki SSE3) bilan birlashtirgan protsessorlarni koʻrsatish uchun ishlatiladigan savdo nomi.[8] Athlon XP 3DNow Professional savdo nomiga ega boʻlgan birinchi protsessor boʻldi va toʻliq SSE1 koʻrsatmalar toʻplamini qoʻllab-quvvatlovchi Athlon oilasidagi birinchi mahsulot boʻldi (jami: 21 ta original 3DNow yoʻriqnomasi; beshta 3DNow kengaytmasi DSP yoʻriqnomasi; 19 MMX kengaytirish koʻrsatmalari va toʻliq SSE1 muvofiqligi uchun 52 qoʻshimcha SSE koʻrsatmalari).[9]

3DNow va Geode GX/LX[tahrir | manbasini tahrirlash]

Geode GX va Geode LX ikkita yangi 3DNow koʻrsatmalarini qoʻshdilar, ular hozirda barcha boshqa protsessorlarda mavjud emas.

3DNow Geode GX/LX uchun xos "professional" koʻrsatmalar quyidagilardir:

  • PFRSQRTV – 32–bitli float juftligi uchun oʻzaro kvadrat ildizga yaqinlik
  • PFRCPV – 32–bitli float juftligi uchun oʻzaro yaqinlashish

Afzalliklari va kamchiliklari[tahrir | manbasini tahrirlash]

3DNow ning afzalliklaridan biri shundaki, bitta registrda saqlangan ikkita raqamni qoʻshish yoki koʻpaytirish mumkin. SSE bilan har bir raqam faqat boshqa registrdagi bir xil pozitsiyadagi raqam bilan birlashtirilishi mumkin. Intel terminologiyasida gorizontal deb nomlanuvchi ushbu qobiliyat SSE3 koʻrsatmalar toʻplamiga asosiy qoʻshimcha boʻldi.

3DNow-ning kamchiliklari shundaki, 3DNow koʻrsatmalari va MMX koʻrsatmalari bir xil registr faylini baham koʻradi, SSE esa 8 ta yangi mustaqil registrlarni (XMM0XMM7) qoʻshadi.

MMX/3DNow registrlari standart x87 FPU tomonidan taqsimlanganligi sababli, 3DNow koʻrsatmalari va x87 koʻrsatmalarini bir vaqtning oʻzida bajarib boʻlmaydi. Biroq, u x87 FPU-ga taqlid qilganligi sababli, 3DNow va MMX registr holatlari anʼanaviy x87 F(N)SAVE va F(N)RSTOR koʻrsatmalari orqali saqlanishi va tiklanishi mumkin. Ushbu tartibga solish operatsion tizimlarga 3DNow-ni aniq oʻzgartirishlarsiz qoʻllab-quvvatlashga imkon berdi, SSE registrlari esa yangi XMM registrlarini toʻgʻri saqlash va tiklash uchun (qoʻshilgan FXSAVE va FXRSTOR koʻrsatmalari orqali) aniq operatsion tizimni qoʻllab-quvvatlashni talab qildi.

FX* koʻrsatmalari eski x87 saqlash va tiklash koʻrsatmalariga yangilanishdir, chunki ular nafaqat SSE registr holatini, balki x87 registr holatini ham saqlashi mumkin (shuning uchun u MMX va 3DNow registrlarini ham saqlashi mumkin edi).

AMD Athlon XP va K8–ga asoslangan yadrolarda (yaʼni Athlon 64), yigʻish dasturchilari registr bosimini kamaytirish uchun 3DNow va SSE koʻrsatmalarini birlashtirish mumkinligini taʼkidladilar, ammo amalda umumiy funktsional birliklarda bajariladigan koʻrsatmalar tufayli ishlashni yaxshilash qiyin.[10]

3DNow-ni qoʻllab-quvvatlaydigan protsessorlar[tahrir | manbasini tahrirlash]

  • K6–2 dan keyingi barcha AMD protsessorlari K6, Athlon, Athlon 64 va Phenom arxitektura oilalariga asoslangan. Buldozer, Bobcat va Zen arxitektura protsessorlari va ularning hosilalarida qoʻllab-quvvatlanmaydi.
  • 3DNow-ni qoʻllab-quvvatlaydigan soʻnggi AMD APU protsessori A8–3870K.
  • Milliy yarimoʻtkazgich geode, keyinchalik AMD Geode.
  • VIA C3 (shuningdek, Cyrix III nomi bilan tanilgan) "Samuel", "Samuel 2" "Ezra" va "Eden ESP" yadrolari.
  • IDT Winchip 2

Manbalar[tahrir | manbasini tahrirlash]

  1. „Effectively Utilizing 3DNow in Linux“. Linux Journal (1-dec 1999-yil). 2011-yil 7-iyunda asl nusxadan arxivlangan. Qaraldi: 2010-yil 3-oktyabr.
  2. „3DNow Instructions are Being Deprecated | AMD Developer Central“. Blogs.amd.com (2010-yil 18-avgust). 2010-yil 24-oktyabrda asl nusxadan arxivlangan. Qaraldi: 2010-yil 3-oktyabr.
  3. „IntelE38xx - MinnowBoard Wiki“. 11-fevral 2017-yilda asl nusxadan arxivlangan. Qaraldi: 13-fevral 2017-yil.
  4. 4,0 4,1 „AMD Extensions to the 3DNow and MMX Instruction Sets Manual“. Advanced Micro Devices, Inc. (2000-yil mart). 2008-yil 17-mayda asl nusxadan arxivlangan. Qaraldi: 2008-yil 7-iyun.
  5. „Mobile AMD-K6-III-P Processor-Based Notebook: Ziff-Davis CPUmark 99“. — „Incorrect title on page: Mobile AMD-K6-III+ and Mobile AMD-K6-2+ Processors with Enchanced [sic] 3DNow! Technology“. 2008-yil 24-iyulda asl nusxadan arxivlangan. Qaraldi: 2008-yil 7-iyun.
  6. „AMD Athlon Processor Product Brief“. Advanced Micro Devices, Inc.. 2008-yil 25-fevralda asl nusxadan arxivlangan. Qaraldi: 2008-yil 8-iyun.
  7. „ISSE“. AviSynth. 2017-yil 2-iyulda asl nusxadan arxivlangan. Qaraldi: 2017-yil 19-iyul.
  8. „Explaining the new 3DNow Professional Technology“. Advanced Micro Devices, Inc.. 2009-yil 21-yanvarda asl nusxadan arxivlangan. Qaraldi: 2008-yil 8-iyun.
  9. „AMD Athlon XP Architectural Features“. Advanced Micro Devices, Inc.. 2008-yil 25-fevralda asl nusxadan arxivlangan. Qaraldi: 2008-yil 8-iyun.
  10. „3DNow+ vs SSE on Athlon XP - comp.sys.ibm.pc.hardware.chips | Google Groups“. 2012-yil 3-oktyabrda asl nusxadan arxivlangan. Qaraldi: 2010-yil 3-oktyabr.

Qoʻshimcha oʻqish[tahrir | manbasini tahrirlash]

Havolalar[tahrir | manbasini tahrirlash]