ایویاکس-۵۱۲
AVX-512 افزونههای 512 بیتی با افزونه های برداری پیشرفته 256 بیتی دستورالعمل های SIMD هستند که برای مجموعهٔ معماری دستورالعمل X86 ارائه شده توسط اینتل در ماه ژوئیه ۲۰۱۳ است و در( Xeon Phi x200 (Knights Landing[۱] و پردازندههای Skylake-x پشتیبانی می شود؛ این شامل سریهای Core-X (به استثنای Core i5-7640X و Core i7-7740X) ، به خوبی خانواده پردازنده xeon scalable جدید و سریهای جاسازی شدهXeon D[۲] است. AVX-512 اولین مجموعه دستورالعمل SIMD 512 بیتی نیست که اینتل در پردازندهها معرفی کردهاست.
دستورالعملهای SIMD قدیمی ۵۱۲ بیتی که در کوپروسسورهای Xeon Phi استفاده میشود، از پروژه Larrabee دراینتل حاصل میشود، مشابه هستند، اما باینری سازگار نیست و فقط با بخشی از منبع سازگار است.[۱]
AVX-512 شامل افزونههای متعدد است که همه به این معنی نیست که توسط همهٔ پردازندههایی که آنها اجرا میکنند حمایت شوند. این سیاست خارج از نیاز تاریخی اجرای کل واحد آموزشی انجام میشود.
فقط هسته افزونهAVX-512F (پایهAVX-512) مورد نیاز تمام پیادهسازیها است.
مجموعه دستورالعمل[ویرایش]
مجموعه دستورالعمل AVX-512 شامل چندین مجموعه جداگانه است که هر کدام دارای بیت مشخص شده CPUID منحصر به فردخود هستند. با این حال، آنها معمولاً با پشتیبانی از نسل پردازنده گروهبندی میشوند.
- F, CD, ER, PF
- معرفی با(Xeon Phi x200 (knights landing و
- ,"Xeon E5-26xx V5 (skylake EP/EX "Purley انتظار میرود در سالH2 2017) با آخرین دو (ER و PF) خاص برای Knights Landing باشد.
- (AVX-512 Foundation (F اکثر دستورالعمل هایAVX 32بیتی و ۶۴ بیتی را با برنامهنویسی EVEX گسترش میدهد تا رجیسترهای ۵۱۲ بیتی، ماسکهای عملیاتی، پخش پارامترها و گرد کردن و کنترل استثنائیرا پشتیبانی کند، توسط Knights Landing و Skylake Xeon پشتیبانی شدهاست.
- دستورالعملهای تشخیص اختلال _(AVX-512 (CD شناسایی ناسازگاری مؤثر اجازه میدهد تا حلقههای بیشتری برداری شود، توسط Knights Landing[۱] و Skylake X پشتیبانی شدهاست.
- دستورالعملهای نمایشی و متقابل _(AVX-512 (ER عملیات نمایشی و متقابل، طراحی شده برای کمک به عملیات غیر جبری، توسط Knights Landing پشتیبانی شدهاست[۱]
- دستورالعمل (AVX-512 prefetch(PF_ قابلیتprefetch جدید، توسط Knights Landing پشتیبانی شده[۱]
{{سخ}}
{{سخ}}
- VL, DQ, BW
- با Skylake X و Lake Cannon معرفی شدهاست.
- (AVX-512 Extensions Length Vector (VL_ اکثر عملیات AVX-512 را گسترش میدهد تا همچنین در رجیسترهای (۱۲۸بیتی)XMM و (۲۵۶بیتی) YMM عمل کند[۳]
- AVX-512 دوبله و دستورالعمل(Quadword (DQ دستورهای جدید ۳۲ بیتی و ۶۴ بیتی AVX-512 را اضافه میکند[۳]
- AVX-512 بایت و دستورالعمل ورد (AVX-512 (BWرا برای پوشش عملیات عددی ۸ بیتی و ۱۶ بیتی گسترش میدهد[۳]
{{سخ}}
{{سخ}}
- IFMA, VBMI
- معرفی شده با دریاچه کانن[۴]
- (AVX-512 Integer Fused Multiply Add (IFMA - اضافه شدن چند عدد صحیح با استفاده از دقت ۵۲ بیتی با هم ترکیب شدهاست.
- دستورالعملهای دستکاری بایت وکتور (AVX-512 (VBM دستورالعملهای جایگزینی بایت وکتور را اضافه میکند که در AVX-512BW موجود نبودند.
{{سخ}}
{{سخ}}
- 4VNNIW، 4FMAPS
- معرفی شده توسط Knights Mill[۵][۶]
- دستورالعمل شبکه عصبی AVX-512 Vector با دقت متغیر ورد(4VNNIW)-دستورالعملهای برداری برای یادگیری عمیق، کلمه بهبود یافته، دقت متغیر.
- AVX-512 Fused Multiply Accumulation Packed Single Precision (4FMAPS) - دستورالعملهای برداری برای یادگیری عمیق، نقطه شناور، دقیق دقیق.
{{سخ}}
{{سخ}}
- VPOPCNTDQ
- دستورالعمل وزن همینگ برذاری. با Knights Mill و Ice Lake معرفی شدهاست.[۷]
VNNI,VBMI2,BITALG
معرفی با Ice lake.[۷]
- دستورالعمل شبکه عصبی(AVX-512 (VNNI - دستورالعملهای برداری برای یادگیری عمیق.
- AVX-512 Vector Byte Manipulation Instructions 2 (VBMI2) - بارگذاری بایت / کلمه، ذخیره و پیوند با تغییر.
- الگوریتمهای بیت(AVX-512 (BITALG - دستورالعملهای دستکاری بایت / کلمه بسط VPOPCNTDQ.
- GFNI, VPCLMULQDQ, VAES
- معرفی شده با Ice lake.[۷]
- اینها ویژگیهای AVX-512 نیستند. همراه با AVX-512، نسخههای EVEX کدگذاری شده GFNI, PCLMULQDQ و AES را فعال میکنند.
رمزگذاری و ویژگیها[ویرایش]
پیشوند VEX که توسط AVX و AVX2 استفاده میشود، بااینکه انعطافپذیر است، برای ویژگیهایی که اینتل خواستار اضافه کردن به AVX-512 را دارد فضای کافی نداشت. این باعث شدکه آنها به تعریف یک پیشوند جدید به نام EVEX سوق داده شوند.
در مقایسه با VEX, EVEX مزایای زیر را اضافه میکند:[۶]
- رمزگذاری ثبت نام گسترده اجازه ۳۲ ثبت ۵۱۲ بیتی.
- پشتیبانی از ۴ اپندر.
- برای ثبت بیشتر دستورالعملهای AVX-512 7 رکورد جدید opmask اضافه میکند.
- یک حالت حافظه اسکالر جدید که بهطور خودکار یک پخش را پخش میکند را اضافه میکند.
- در هر دستورالعمل، اتاق کنترل برای گرد کردن صریح را اضافه میکند.
- حالت جدید آدرس حافظه جابجایی فشرده را اضافه میکند.
رجیسترهای پیشرفته، بیت عرض SIMD و رجیسترهای Opmask از AVX-512 اجباری هستند و همه از سیستم عامل پشتیبانی میکنند.
حالتهای SIMD[ویرایش]
دستورالعملهای AVX-512 با ترکیب دستورالعملهای AVX/AVX2 با۱۲۸/۲۵۶ بیت بدون یک جریمه اجرایی طراحی شدهاند. با این حال، افزونههای AVX-512VL اجازه میدهندتا از دستورالعملهای AVX-512 در رجیسترهای با ۱۲۸/۲۵۶ بیت XMM /YMM استفاده کنیم، بنابراین بیشتر دستورالعملهای SSE و AVX / AVX2 به تازگی نسخههای AVX-512 رمزگذاری شده را با پیشوند EVEX ذارند که اجازه دسترسی به ویژگیهای جدید مانند opmask و رجیسترهای اضافی را میدهد. بر خلاف AVX-256، دستورالعملهای جدید روش تقویت حافظه جدیدی ندارند، اما فضایی را با AVX به اشتراک میگذارند، که این فضا باعث تمایز بین نسخههای رمزگذاری شده VEX و EVEX از یک دستورالعمل گنگ و مبهم در کد منبع را میشود. از آنجایی که AVX-512F فقط مقادیر ۳۲ بیتی و ۶۴ بیتی را پشتیبانی میکند، دستورالعملهای SSE و AVX / AVX2 که در بایتها یا کلمات عملیات انجام میدهند. فقط توسط افزونه AVX-512BW پشتیبانی میشوند (پشتیبانی بایتها و کلمه).[۶]
نام | مجموعههای فرمت | ثبت نام میکند | انواع |
---|---|---|---|
SSE میراث | SSE-SSE4.2 | xmm0-xmm15 | شناورهای تک از SSE2: بایتها، کلمات، دو کلمه، quadwords و دو شناور. |
AVX-128 (VEX) | AVX, AVX2 | xmm0-xmm15 | بایتها، کلمات، دو کلمه، چهارده کلمه، شناورهای تک و دو شناور. |
AVX-256 (VEX) | AVX, AVX2 | ymm0-ymm15 | شناور و شناور دو نفره. از AVX2: بایت، کلمه، دو کلمه، چهارده کلمه |
AVX-128 (EVEX) | AVX-512VL | xmm0-xmm31 (k1-k7) | doublewords, quadwords، شناور تک و شناور دوگانه. با AVX512BW: بایتها و کلمات |
AVX-256 (EVEX) | AVX-512VL | ymm0-ymm31 (k1-k7) | doublewords, quadwords، شناور تک و شناور دوگانه. با AVX512BW: بایتها و کلمات |
AVX-512 (EVEX) | AVX-512F | zmm0-zmm31 (k1-k7) | doublewords, quadwords، شناور تک و شناور دوگانه. با AVX512BW: بایتها و کلمات |
رجیسترهای تمدید شده[ویرایش]
511 256 | 255 128 | 127 0 |
ZMM0 | YMM0 | XMM0 |
ZMM1 | YMM1 | XMM1 |
ZMM2 | YMM2 | XMM2 |
ZMM3 | YMM3 | XMM3 |
ZMM4 | YMM4 | XMM4 |
ZMM5 | YMM5 | XMM5 |
ZMM6 | YMM6 | XMM6 |
ZMM7 | YMM7 | XMM7 |
ZMM8 | YMM8 | XMM8 |
ZMM9 | YMM9 | XMM9 |
ZMM10 | YMM10 | XMM10 |
ZMM11 | YMM11 | XMM11 |
ZMM12 | YMM12 | XMM12 |
ZMM13 | YMM13 | XMM13 |
ZMM14 | YMM14 | XMM14 |
ZMM15 | YMM15 | XMM15 |
ZMM16 | YMM16 | XMM16 |
ZMM17 | YMM17 | XMM17 |
ZMM18 | YMM18 | XMM18 |
ZMM19 | YMM19 | XMM19 |
ZMM20 | YMM20 | XMM20 |
ZMM21 | YMM21 | XMM21 |
ZMM22 | YMM22 | XMM22 |
ZMM23 | YMM23 | XMM23 |
ZMM24 | YMM24 | XMM24 |
ZMM25 | YMM25 | XMM25 |
ZMM26 | YMM26 | XMM26 |
ZMM27 | YMM27 | XMM27 |
ZMM28 | YMM28 | XMM28 |
ZMM29 | YMM29 | XMM29 |
ZMM30 | YMM30 | XMM30 |
ZMM31 | YMM31 | XMM31 |
عرض فایل رجیستر SIMD از ۲۵۶ بیت به ۵۱۲ بیت افزایش مییابد و از ۱۶ به یک مجموعه ۳۲ رجیستری ZMM0-ZMM31 گسترش مییابد. این رجیسترها میتواند به عنوان رجیسترهای ۲۵۶ بیت YMM از افزونههای AVX و رجیسترهای ۱۲۸ بیت XMM ازجریانهای افزونههای SIMD آدرسدهی شود، و دستورالعملهای AVX و SSE قدیمی برای کار روی۱۶ رجیسترهای اضافی XMM16-XMM31 و YMM16-YMM31 در هنگام استفاده از فرم رمزگذاری شده EVEX میتواندتوسعه داده شود.
رجیسترهای Opmask[ویرایش]
اکثر دستورالعملهایAVX-512 ممکن است یکی از ۸ رجیسترهای opmask را نشان دهد(K0-K7). اولین رجیستر (k0) است، که در هر حال، یک مقدار ثابت است که برای نشان دادن عملیاتunmask استفاده میشود. در اکثر دستورالعملها، opmask برای کنترل مقادیر نوشته شده به مقصد استفاده میشود. یک فلگ رفتار opmask را کنترل میکند که میتواند یا «صفر» که صفرهاهمه چیز را توسط ماسک انتخاب نمیکنند یا «ادغام» که همه چیز را انتخاب و دست نخورده نگه میدارد. رفتار ادغام همان دستورالعملهای ترکیبی است.
رجیسترهایopmask بهطور معمول ۱۶ بیت گستردهاست اما میتواند تا ۶۴ بیت با افزونه AVX-512BW شود.[۶] چگونه بسیاری از بیتها در واقع استفاده میشود اگرچه بستگی به نوع بردار از دستورالعملها پنهان دارد. برای ۳۲ بیتی تک شناور یا کلمههای دوگانه از ۱۶ بیت استفاده میشود تا ۱۶ عناصر را در یک رجیستر 512-bit پنهان کند. برای دو شناور و کلمههای چهارگانه در اکثر ۸ ماسک بیت استفاده میشود.
رجیستر opmask به دلیل اینکه چند دستورالعمل بیتی که بهطور طبیعی هیچ عنصر عرضی نداردتا آنها را در AVX-512 اضافه کنند وجود دارد. به عنوان مثال، AND و OR بیتی و ۱۲۸ بیت به هم آمیختن در حال حاضر در هر دو نوع دو کلمه و چهار کلمه وجود داردکه فقط در ماسک نهایی تفاوت دارند.
رجیسترهای opmask دارای یک افزونه مینی جدید از دستورالعملهایی که بهطور مستقیم بر روی آنها عملیات انجام میدهند هستند. برخلاف بقیه دستورات AVX-512، این دستورالعملها همه رمزگذاری شده VEX هستند. دستورالعمل اولیه opmask تمام نسخههای ۱۶ بیتی (کلمه) است. با نسخه های۸بیتی (بایت) AVX-512DQ برای بهتر مطابقت دادن نیازهای پنهان کردن ۸ مقدار ۶۴ بیتی افزوده شد و با نسخههای ۳۲ بیتی (دوگانه) و ۶۴بیتی (چهارگانه) AVX-512BW اضافه شد تا آنها بتوانند تا ۶۴ مقدار ۸ بیتی را پنهان کنند. دستورالعملهای KORTEST و KTEST میتواند برای تنظیم فلگهای x86 بر اساس رجیسترهای پنهان استفاده شود، به طوری که آنها ممکن است باهم همراه باشاخههای non-SIMD x86 و دستورالعملهای شرطی استفاده شوند.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
KAND
|
F | منطقی بیتی و ماسک |
KANDN
|
F | بیتی منطقی و نه ماسک |
KMOV
|
F | انتقال از و به ماسک رجیستری یا ثبت عمومی عمومی |
KUNPCK
|
F | باز کردن برای ماسک رجیستری |
KNOT
|
F | نه ماسک ثبت نام کنید |
KOR
|
F | منطقی bitwise یا ماسک |
KORTEST
|
F | یا ماسکها و پرچمها را تنظیم کنید |
KSHIFTL
|
F | Shift Left Mask Registers |
KSHIFTR
|
F | حق ثبت ماسک راست شیفت |
KXNOR
|
F | XNOR ماسک منطقی بیتی |
KXOR
|
F | XOR ماسک منطقی bitwise |
KADD
|
BW / DQ | اضافه کردن دو ماسک |
KTEST
|
BW / DQ | مقایسه بیتی و پرچمها |
دستورالعملهای جدید در AVX-512پایه[ویرایش]
بسیاری از دستورالعملهای AVX-512 نسخههای دستورالعمل قدیمی SSE یا AVX و به سادگیEVEX هستند. به هر حال، چندین دستورالعمل جدید و دستورالعمل قدیمی که با نسخههای جدید AVX-512 جایگزین میشوند وجود دارد. دستورالعملهای بازنویسی شده جدید یا عمده در زیر لیست شدهاند. این دستورالعملهای پایه همچنین شامل افزونههایی از AVX-512VL و AVX-512BW میباشد، زیرا آنها افزونهها را فقط برای نسخههای جدید از این دستورالعملها به جای دستورالعمل جدید اضافه میکند.
ترکیب با استفاده از پنهان کردن[ویرایش]
هیچ نسخههای پیش فرض EVEX از دستورالعمل ترکیبی از SSE4 وجود ندارد؛ به جای آن، AVX-512 دارای مجموعه ای جدید از دستورالعملهای ترکیبی با استفاده از رجیسترهای پنهان به عنوان انتخابگرها است. با هم بهطور همگانی با دستورالعملهای پنهان در زیر مقایسه میشود، این ممکن است برای پیادهسازی عملیات در مبنای سه عمومی یا CMOV، مشابه XOP VPCMOV استفاده شود.
از آنجا که ترکیب یک بخش کامل از رمزگذاری EVEX است، این دستورالعمل ممکن است همچنین بتواند دستورالعملهای حرکتی اساسی را در مورد توجه قرار دهد. با استفاده از حالت ترکیب صفر، آنها همچنین میتوانند به عنوان دستورالعملهای پنهانی استفاده شوند.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VBLENDMPD
|
F | مخلوط بردارهای float64 با استفاده از کنترل opmask |
VBLENDMPS
|
F | مخلوط بردارهای float32 با استفاده از کنترل opmask |
VPBLENDMD
|
F | مخلوط بردارهای int32 با استفاده از کنترل opmask |
VPBLENDMQ
|
F | مخلوط بردارهای int64 با استفاده از کنترل opmask |
VPBLENDMB
|
بله | بردارهای عدد صحیح بایت مخلوط با استفاده از کنترل opmask |
VPBLENDMW
|
بله | ترکیب عبارات صحیح کلمه با استفاده از کنترل opmask |
AVX-512F دارای چهار دستورالعمل جدید مقایسه است. آنها مانند همتایان XOP خود از فیلد فوری استفاده میکنند تا بین ۸ مقایسه مختلف انتخاب شوند. بر خلاف الهام XOP آنها، به هر حال، آنها نتیجه را به یک رجیستر پنهان شده ذخیره میکنند و در آغاز فقط مقایسههای دو کلمه و چهارکلمه را پشتیبانی میکنند. افزونه AVX-512BW نسخههای بایت و کلمه را فراهم میکند. توجه داشته باشید که دو رجیستر پنهان شده ممکن است برای دستورالعملها مشخص شود، یکی برای نوشتن و دیگری بهطور منظم برای اعلام کردن رجیستر پنهان.[۶]
فوری | مقایسه | شرح |
---|---|---|
۰ | EQ | برابر |
۱ | LT | کمتر از |
۲ | LE | کمتر یا مساوی است |
۳ | نادرست | صفر قرار دهید |
۴ | NEQ | نابرابر |
۵ | NLT | بزرگتر یا مساوی |
۶ | NLE | بزرگتر از |
۷ | درست است | تنظیم به یکی |
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPCMPD
|
F | مقایسه کلمات دو علامت امضا شده / امضا نشده را به ماسک |
VPCMPQ
|
F | استفاده از چهار کلمه کلمات امضا شده / امضا را به ماسک مقایسه کنید |
VPCMPB
|
بله | مقایسه باتهای امضا شده / امضا نشده به ماسک |
VPCMPW
|
بله | لغات امضا شده / لغزنده را به ماسک مقایسه کنید |
مجموعه منطقی پنهان کردن[ویرایش]
راه نهایی برای تنظیم پنهان کردن استفاده از مجموعه منطقی پنهان کردن است. این دستورالعملها هم یا AND یا NAND را انجام میدهند و سپس opmask مقصد را بر اساس نتیجه مقادیری که صفر یا غیر صفر شدند تنظیم میکنند. دقت کنید که مانند دستورالعملهای مقایسه، اینها دو رجیستر opmask را میگیرند، یکی به عنوان مقصد و دیگری به عنوان opmask منظم است.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPTESTMD ، VPTESTMQ
|
F | ماسک منطقی AND و مجموعه ای برای عدد صحیح ۳۲ یا ۶۴ بیتی. |
VPTESTNMD ، VPTESTNMQ
|
F | منطقی NAND و ماسک برای ۳۲ یا ۶۴ بیت اعداد صحیح تنظیم کنید. |
VPTESTMB ، VPTESTMW
|
بله | منطقی AND و تنظیم ماسک برای ۸ یا ۱۶ بیت عدد صحیح. |
VPTESTNMB ، VPTESTNMW
|
بله | منطقی NAND و ماسک را برای ۸ یا ۱۶ بیت عدد صحیح تنظیم کنید. |
فشرده سازی و گسترش[ویرایش]
دستورالعملهای فشرده سازی و گسترش عملگرهای با نام یکسان APL را مطابقت میدهند. آنها از opmask در یک روش کمی متفاوت از دستورالعملهای دیگر AVX-512 استفاده میکنند. فشرده سازی فقط مقادیر علامتگذاری شده در ماسک را ذخیره میکند، اما ذخیره آنها را توسط skipping فشرده میکند و فضارا برای مقادیر علامت گذاری نشده رزرو نمیکند. گسترش در روش مخالف عمل میکند، با بارگیری به همان اندازه که مقدار در ماسک نشان داده شدهاست و سپس آنها را به موقعیتهای انتخاب شده گسترش میدهد.
دستورالعمل | شرح |
---|---|
VCOMPRESSPD
|
ذخیره مقادیر دو نقطه ای / دقیق با توجه به حافظه ضعیف را ذخیره کنید |
VPCOMPRESSD
|
ذخیره مقادیر عدد صحیح doubleword / quadword ضعیف را در حافظه / ثبت نام متراکم کنید |
VEXPANDPD
|
بارهای ضعیف دو یا یک نقطه دقیق از مقادیر شناور از حافظه ضخیم بستهبندی شده |
VPEXPANDD
|
بارهای مقادیر عدد صحیح doubleword / quadword را از حافظه متراکم / ثبت کنید |
Permue[ویرایش]
یک مجموعه جدید از دستورالعملهای پرتوی برای کامل کردن دو جایگزین ورودی اضافه شدهاست. آنها همه سه قوانین، دو رجیستر منبع و یک اندیس را میگیرند؛ نتیجه خروجی توسط بازنویسی رجیستر منبع اولیه یا رجیستر شاخص میباشد. AVX-512BW دستورالعملها را گسترش میدهد تا همچنین شامل نسخههای ۱۶ بیتی (کلمه) باشد، و افزونه AVX-512_VBMI نسخههای ۸بیتی از دستورالعملها را تعریف میکند.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPERMB
|
VBMI | Permute عناصر بایت بستهبندی شده. |
VPERMW
|
بله | Permue کامپوننت کلمات بستهبندی شده |
VPERMT2B
|
VBMI | اولین بایت کامل مجدد نوشتن مجدد. |
VPERMT2W
|
بله | کلمه کلیدی برای اولین بار نوشتن مجدد |
VPERMI2PD ، VPERMI2PS
|
F | تک تک / دو نقطه شناور مجدد نوشتن فهرست. |
VPERMI2D ، VPERMI2Q
|
F | دوبارهٔ کلمه / quadword را مجدداً بازنویسی کنید. |
VPERMI2B
|
VBMI | تغییر نام بایت کامل را تغییر دهید. |
VPERMI2W
|
بله | کلمه کامل را مجدداً نوشتن فهرست کنید. |
VPERMT2PS ، VPERMT2PD
|
F | تک تک / دو نقطه شناور پرشده اولین منبع بازنویسی. |
VPERMT2D ، VPERMT2Q
|
F | کلمه دو کلمه ای / چهار دایره ای را برای نخستین منبع مجدداً بازنویسی کنید. |
VSHUFF32x4 ، VSHUFF64x2 ،{{سخ}}
|
F | چهار خط ۱۲۸ بیت بستهبندی شده را کنار گذاشتهاست. |
VPMULTISHIFTQB
|
VBMI | انتخاب بایتهای غیرمجاز بسته شده از منابع چهارگانه را انتخاب کنید. |
منطق در مبنای ۳ بیتی[ویرایش]
دو دستورالعمل جدیدکه میتواند بهطور منطقی تمام عملیات بیتی ممکن را بین سه ورودی انجام دهد اضافه میشود. آنها سه رجیستر را به عنوان ورودی و یک فیلد سریع ۸ بیتی را میگیرند. هر بیتی که در خروجی حاصل میشود با استفاده ازیک جستجو از سه بیت متناظر در ورودی است تا یکی از ۸ موقعیت را در ۸ بیت سریع انتخاب کند. از آنجا که تنها ۸ ترکیب امکانپذیر است تا از سه بیت استفاده کند، این اجازه را میدهد که همهٔ عملیات بیتی با ۳ورودی امکانپذیر باشد تا اجرا شود.[۶] اینها فقط دستورالعمل بردار بیتی در AVX-512Fهستند؛ نسخههای EVEX از دو منبع SSE و AVX دستورات بردار بیتی مانند AND, ANDN, OR و XORدر AVX-512DQ اضافه شدهاند.
تفاوت در نسخههای دو کلمه و چهار کلمه فقط کاربرد opmask است.
دستورالعمل | شرح |
---|---|
VPTERNLOGD ، VPTERNLOGQ
|
منطق سهگانه بیتی |
A0 | A1 | A2 | دو بار و (0x80) | دو بار OR (0xFE) | ترکیب بیتی (0xCA) |
---|---|---|---|---|---|
۰ | ۰ | ۰ | ۰ | ۰ | ۰ |
۰ | ۰ | ۱ | ۰ | ۱ | ۱ |
۰ | ۱ | ۰ | ۰ | ۱ | ۰ |
۰ | ۱ | ۱ | ۰ | ۱ | ۱ |
۱ | ۰ | ۰ | ۰ | ۱ | ۰ |
۱ | ۰ | ۱ | ۰ | ۱ | ۰ |
۱ | ۱ | ۰ | ۰ | ۱ | ۱ |
۱ | ۱ | ۱ | ۱ | ۱ | ۱ |
تبدیل[ویرایش]
تعدادی از دستورالعملهای تبدیل یا حرکت اضافه شد؛ این مجموعه دستورالعملهای تبدیل در دسترس SSE2 را کامل میکند.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPMOVQD VPMOVSQD VPMOVUSQD ، {{سخ}} VPMOVQW ، VPMOVSQW ، VPMOVUSQW ، {{سخ}} VPMOVQB ، VPMOVSQB ، VPMOVUSQB ، {{سخ}} VPMOVDW ، VPMOVSDW ، VPMOVUSDW ، {{سخ}} VPMOVDB ، VPMOVSDB ، VPMOVUSDB
|
F | پایین چهارده کلمه یا کلمه دوبعدی را به دوبعدی، کلمه یا بایت تبدیل کنید. اشباع نشده، اشباع نشده و بدون نشانه. معکوس نشانه / صفر دستورالعملهای SSE4.1 را گسترش میدهد. |
VPMOVWB ، VPMOVSWB ، VPMOVUSWB
|
بله | پایین تبدیل کلمه به بایت؛ اشباع نشده، اشباع نشده و بدون نشانه. |
VCVTPS2UDQ ، VCVTPD2UDQ ،{{سخ}}
|
F | تبدیل با یا بدون کاهش، یک نقطه شناور تک یا دو دقیق بستهبندی شده به عدد صحیح دو کلمه ای بدون علامت بستهبندی شده. |
VCVTSS2USI ، VCVTSD2USI ،{{سخ}}
|
F | تبدیل با یا بدون توابع، یک نقطه شناور تک یا دو دقت اسکالر به عدد صحیح دو کلمه ای بدون علامت. |
VCVTPS2QQ ، VCVTPD2QQ ،{{سخ}}
|
DQ | تبدیل با یا بدون کاهش، یک نقطه شناور تک یا دو دقت بستهبندی شده به اعداد صحیح چهارگانه ای امضا یا بدون امضای بستهبندی شده. |
VCVTUDQ2PS ، VCVTUDQ2PD
|
F | تبدیل اعداد صحیح لغت بدون دو کلمه به یک نقطه شناور تک یا دو دقت بستهبندی شده را تبدیل کنید. |
VCVTUSI2PS ، VCVTUSI2PD
|
F | عدد صحیح لغت بدون علامت را به نقطه شناور تک یا دو دقت تبدیل کنید. |
VCVTUSI2SD ، VCVTUSI2SS
|
F | عدد صحیح بدون علامت را به نقطه شناور تک یا دو دقت تبدیل کنید. |
VCVTUQQ2PS ، VCVTUQQ2PD
|
DQ | تبدیل عدد صحیح چهارگانه نامشهود بستهبندی شده به یک نقطه شناور تک یا دو دقت بستهبندی شده. |
VCVTQQ2PD ، VCVTQQ2PS
|
F | تبدیل اعداد صحیح quadword بستهبندی شده به نقطه شناور تک یا دو دقت بستهبندی شده. |
تجزیه نقطه شناور[ویرایش]
در بین ویژگیهای جدید منحصر به فرد در AVX-512F دستورالعملهایی برای تجزیه مقادیر نقطه شناور و سروکار داشتن با مقادیر نقطه شناور خاص است. از آنجا که این روشها بهطور کامل جدید هستند، آنها همچنین در گونههای عددی وجود دارد.
دستورالعمل | شرح |
---|---|
VGETEXPPD ، VGETEXPPS
|
تبدیل مقادیر مقادیر FP بسته به مقادیر fp |
VGETEXPSD ، VGETEXPSS
|
تبدیل نماینده FP اسکالر به مقدار FP |
VGETMANTPD ، VGETMANTPS
|
بردار عصارهٔ منیزیمهای نرمال شده از بردار float32 / float64 |
VGETMANTSD ، VGETMANTSS
|
عصاره float32 / float64 از نرمال مانتیس از float32 / float64 اسکالر |
VFIXUPIMMPD ، VFIXUPIMMPS
|
ثابت کردن مقدار ویژه float32 / float64 بستهبندی شده |
VFIXUPIMMSD ، VFIXUPIMMSS
|
مقدار float32 / float64 مخصوص اسکالر را ثابت کنید |
محاسبات نقطه شناور[ویرایش]
این دومین مجموعه از روشهای نقطه شناور جدید است که شامل پیمایش جدید و محاسبه دوجانبه تقریبی و معکوس ریشه مربع میباشد. دستورالعملهای تقریبی دوجانبه ضمانت میدهند تا حداکثر یک خطای نسبی از 14- 2 داشته باشد.[۶]
دستورالعمل | شرح |
---|---|
VRCP14PD ، VRCP14PS
|
تقسیم تقاربی تقریبی مقدار float32 / float64 بستهبندی شده را محاسبه کنید |
VRCP14SD ، VRCP14SS
|
تقسیم تقاربی تقریبی مقدار float32 / float64 اسکالر |
VRNDSCALEPS ، VRNDSCALEPD
|
مقادیر float32 / float64 گرد بستهبندی شامل یک تعداد مشخصی از بیتهای کسری است |
VRNDSCALESS ، VRNDSCALESD
|
مقدار float32 / float64 round scalar برای شامل تعداد مشخصی از بیتهای کسری است |
VRSQRT14PD ، VRSQRT14PS
|
تقسیم مقادیر تقریبی ریشههای مربع مقادیر float32 / float64 بستهبندی شده را محاسبه کنید |
VRSQRT14SD ، VRSQRT14SS
|
محاسبه تقریبی متقابل ریشه مربع مقدار float32 / float64 اسکالر |
VSCALEFPS ، VSCALEFPD
|
مقادیر float32 / float64 بستهبندی شده با مقادیر float32 / float64 |
VSCALEFSS ، VSCALEFSD
|
مقیاس scalar float32 / float64 با مقدار float32 / float64 |
متفرقه[ویرایش]
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VALIGND ، VALIGNQ
|
F, VL | تقسیم دو کلمه یا بردارهای چهار بعدی |
VDBPSADBW
|
بله | دو بلوک اختلاف مجموع-مطلق (SAD) را در بایتهای بدون امضا قرار میدهد |
VPABSQ
|
F | quadword ارزش مطلق بستهبندی شده |
VPMAXSQ ، VPMAXUQ
|
F | حداکثر چهار دیواری امضا شده / بدون امضای بستهبندی شده |
VPMINSQ ، VPMINUQ
|
F | حداقل چهار جمله از امضا / عدم امضای بستهبندی شده |
VPROLD ، VPROLVD ،{{سخ}} VPROLQ ، VPROLVQ {{سخ}} VPRORD ، VPRORVD ،{{سخ}} VPRORQ ، VPRORVQ
|
F | بیت چرخش چپ یا راست |
VPSCATTERDD ، VPSCATTERDQ ،{{سخ}} VPSCATTERQD ، VPSCATTERQQ
|
F | پراکنده doubleword / quadword را با دوبعدی معادل و شاخصهای quadword بستهبندی میکند |
VSCATTERDPS ، VSCATTERDPD ،{{سخ}} VSCATTERQPS ، VSCATTERQPD
|
F | پراکنده با float32 / float64 بستهبندی شده با دوبله معروف و شاخصهای چهارگانه وارد شدهاست |
دستورالعمل جدید در شناسایی ناسازگاری AVX-512[ویرایش]
دستورالعملها در شناسایی ناسازگاری AVX-512
(AVX-512CD)برای کمک به محاسبه مؤثر زیرمجموعههای غیرقابل انحراف از عناصر در حلقهها طراحی شدهاند که معمولاً میتواند با خیال راحت ناقص نباشد.[۸]
دستورالعمل | نام | شرح |
---|---|---|
VPCONFLICTD ، VPCONFLICTQ
|
تعارضات درون بردار مقادیر دو یا چهارم بستهبندی را شناسایی کنید. | هر عنصر در منبع اول هر عنصر در مکانهای مشابه یا پیشین در منبع دوم را مقایسه میکند و یک بردار کمی از نتایج را تشکیل میدهد. |
VPLZCNTD ، VPLZCNTQ
|
تعداد بیتهای ذکر شده صفر را برای مقادیر دو یا چهارم جدول بستهبندی کنید. | دستورالعمل LZCNT .
|
VPBROADCASTMB2Q ، VPBROADCASTMW2D
|
ماسک پخش به ثبت بردار. | هر دو ماسک ۸ بیتی به یک بردار quadword یا ماسک ۱۶ بیتی برای بردار دوبارهٔ کلمه. |
دستورالعمل جدید در AVX-512 نمایشی و دو جانبه است[ویرایش]
دستورالعملهای نمایشی و دوجانبه AVX-512 شامل دستورالعملهای دوجانبه تقریبی دقیق تر نسبت به آنهایی که در پایه AVX-512 وجود دارد هستند؛ خطای نسبی حداکثر 28- 2است. آنها همچنین دارای دو توابع نمایی جدید هستند که خطای نسبی را بیشتر از23- 2 تا دارند.[۶]
دستورالعمل | شرح |
---|---|
VEXP2PD ، VEXP2PS
|
محاسبه مقادیر تقریبی 2 ^ x از مقادیر نقطه شناور تک یا دو دقت بستهبندی شده |
VRCP28PD ، VRCP28PS
|
تقسیم تقاربی تقریبی از مقادیر نقطه شناور تک یا دو دقت بستهبندی شده |
VRCP28SD ، VRCP28SS
|
تقریباً تقریبی مقادیر نقطه شناور تک یا دو دقت را محاسبه کنید |
VRSQRT28PD ، VRSQRT28PS
|
تقسیم تقاربی تقریبی از ریشههای مربع مقادیر نقطه شناور تک یا دو دقت بستهبندی شده را محاسبه کنید |
VRSQRT28SD ، VRSQRT28SS
|
تقریباً دو برابر تقریبی ردیف مربع یک یا دو نقطه دقیق شناور نقطه محاسبه کنید |
دستورالعمل جدید در prefetch AVX-512[ویرایش]
دستورالعملهای پیش فرمت AVX-512 شامل عملگرهای پیش فرمت جدید برای پخش کردن و جمعآوری قابلیتهای معرفی شده جدید در AVX2 و AVX-512 است. پیش فرمت T0
به معنای پیش فرض به سطح ۱ حافظه است و T1
به معنای پیش فرض به سطح ۲حافظه است.
دستورالعمل | شرح |
---|---|
VGATHERPF0DPS ، VGATHERPF0QPS ، VGATHERPF0DPD ، VGATHERPF0QPD
|
با استفاده از شاخصهای DWORD / QWORD امضا، مکانهای حافظه باطله را با استفاده از دادههای تک / دو دقت با استفاده از opmask K1 و T0 اشاره کنید. |
VGATHERPF1DPS ، VGATHERPF1QPS ، VGATHERPF1DPD ، VGATHERPF1QPD
|
با استفاده از شاخصهای DWORD / QWORD امضا، مکانهای حافظه بایت پراکسی حاوی دادههای تک / دو دقت را با استفاده از نکات opmask K1 و T1 پیش میگیرند. |
VSCATTERPF0DPS ، VSCATTERPF0QPS ، VSCATTERPF0DPD ، VSCATTERPF0QPD
|
با استفاده از شاخصهای DWORD / QWORD امضا شده، قبل از انتخاب مکانهای حافظه باتای حاوی دادههای تک / دو دقت با استفاده از کدهای writemask K1 و T0 با قصد نوشتن. |
VSCATTERPF1DPS ، VSCATTERPF1QPS ، VSCATTERPF1DPD ، VSCATTERPF1QPD
|
با استفاده از شاخصهای DWORD / QWORD امضا، مکانهای حافظه باتای پراکنده حاوی دادههای یکپارچه / دو دقیق را با استفاده از نکات Writemask K1 و T1 با قصد نوشتن پیش میگیرند. |
دستورالعملهای جدید در AVX-512_4FMAPS و AVX-512_4VNNIW[ویرایش]
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
V4FMADDPS ، V4FMADDSS
|
4FMAPS | یک نقطه شناور تک دقت بستهبندی شده / اسکالر مجهز به چند ضلعی (۴ تکرار) |
V4FNMADDPS ، V4FNMADDSS
|
4FMAPS | با توجه به اینکه یک نقطه شناور تک دقت بستهبندی شده / اسکالر، چند ضلعی اضافه و نفی (۴ تکرار) |
VP4DPWSSD
|
4VNNIW | محصول نقطه ای از کلمات امضا شده با تجمع دو کلمه (۴ تکرار) |
VP4DPWSSDS
|
4VNNIW | محصول نقطه ای از کلمات امضا شده با انباشت دو کلمه و اشباع (۴ تکرار) |
دستورالعملهای جدید در AVX-512BW, AVX-512DQ و AVX-512_VBMI[ویرایش]
AVX-512DQ دستورالعملهای دوکلمه و چهار کلمه را اضافه میکند. AVX-512BW نسخههای بایت و کلمه ای از دستورالعملهای یکسان را اضافه میکند و دستورات دوکلمه / چهار کلمه را در AVX-512F اضافه میکند. تعداد کمی از دستورالعملها که فقط فرم واژگانی را با AVX-512BW میگیرند، فرمهای بایت را با افزونهAVX-512_VBMI به دست میدهد(VPERMI2B
، VPERMB
VPMULTISHIFTQB
، VPERMT2B
).
دو دستورالعمل جدید به مجموعه دستورالعملهای پنهان اضافه شد: KADD
و KTEST
(فرمهای B و W با D,AVX-512DQ و Q با AVX-512BW). بقیه دستورالعملهای پنهان که فقط فرمهای کلمه ای داشتند، فرمهای بایت با AVX-512DQ و فرمهای دو کلمه ای / چهارکلمهای با AVX-512BW را میگیرند. KUNPCKBW
توسط AVX-512BW گسترش داده شد به KUNPCKWD
و KUNPCKDQ
.
در بین دستورات افزوده شده توسط AVX-512DQ چندین دستورالعمل SSE, AVX وجود دارد که نسخههای AVX-512 را با AVX-512F نگرفتهاند، از میان آنها دو دستور ورودی بیتی و استخراج / قرار دادن دستورالعملهای عددی است.
دستورالعملهایی که بهطور کامل جدید هستند زیر را پوشش میدهند.
دستورالعملهای شناور شناور[ویرایش]
سه عملیات نقطه شناور جدید معرفی شدهاست. از آنجا که آنها نه تنها برای AVX-512 جدید هستند بلکه آنها هر دو نسخههای عددی بستهبندی شده / SIMD را دارند.
دستورالعملهای VFPCLASS
اگر مقدار نقطه شناور یکی از هشت مقادیر شناور خاص باشد، کدامیک از هشت مقادیر، یک بیت را در رجیستر پنهان خروجی خواهد راه انداخت توسط فیلد سریع کنترل میشود، آزمایش میکند. دستورالعملهای VRANGE
حداقل یا حداکثر عملیات را بسته به مقدار فیلد سریع انجام میدهد، که همچنین اگر عملیات انجام شده مطلقاً یا بهطور جداگانه اینکه چگونه این علامت را پردازش میکند رامیتواند کنترل کند. دستورالعملهای VREDUCE
بر روی یک منبع تک عمل میکنند و از آن بخش عدد صحیح از مقادیر منبع جدا میشود به اضافهٔ تعداد بیتهایی که در فیلد سریع کسر آن مشخص شدهاند را حذف میکند.
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VFPCLASSPS ، VFPCLASSPD
|
DQ | انواع آزمون از مقادیر نقطه شناور تک و دو دقیق بستهبندی شده. |
VFPCLASSSS ، VFPCLASSSD
|
DQ | انواع آزمون مقادیر نقطه شناور تک و دو دقت اسکالر. |
VRANGEPS ، VRANGEPD
|
DQ | محاسبه محدودیت محدوده برای مقدار نقطه شناور بستهبندی شده. |
VRANGESS ، VRANGESD
|
DQ | محاسبه محدودیت محدوده برای مقادیر شناور اسکالر. |
VREDUCEPS ، VREDUCEPD
|
DQ | انجام تغییرات کاهش در مقدار نقطه شناور بستهبندی شده را انجام دهید. |
VREDUCESS ، VREDUCESD
|
DQ | انجام تغییرات کاهش در نقاط شناور اسکالر را انجام دهید. |
دستورالعملهای دیگر[ویرایش]
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPMOVM2D ، VPMOVM2Q
|
DQ | ثبت ماسک را به ثبت نام دوبار یا چهار ضلعی کلمه تبدیل کنید. |
VPMOVM2B ، VPMOVM2W
|
بله | تبدیل ماسک به بایت یا ثبت نام بردار کلمه. |
VPMOVD2M ، VPMOVQ2M
|
DQ | تبدیل ثبت نام بردار دو یا چهار ضلعی را برای مخفی کردن ثبت نام تبدیل کنید. |
VPMOVB2M ، VPMOVW2M
|
بله | تبدیل بایت یا کلمه register vector به mask register. |
VPMULLQ
|
DQ | چند ضلعی ذخیره شده نتیجه چهاردهم فروشگاه. یک نسخه چهار ضلعی VPMULLD. |
دستورالعمل جدید در AVX-512_VBMI2[ویرایش]
VPCOMPRESS و VPEXPAND را با انواع بایت و کلمه توسعه دهید. دستورالعملهای شیفت جدید هستند.
دستورالعمل | شرح |
---|---|
VPCOMPRESSB ، VPCOMPRESSW
|
مقادیر عدد صحیح بایت بستهبندی شده / کلمه ای را به حافظه متراکم / ثبت نام ذخیره کنید |
VPEXPANDB ، VPEXPANDW
|
مقدار عدد صحیح بایت / کلمه بستهبندی شده را از حافظه / ثبت نام متراکم کنید |
VPSHLD
|
دادههای بستهبندی شده مرتبط و انتقال داده منطقی به نظر میرسد |
VPSHLDV
|
دادههای بستهبندی شده مرتبط و متغیر منطقی منطقی هستند |
VPSHRD
|
دادههای بستهبندی شده را منطبق کرده و منطبق کنید |
VPSHRDV
|
دادههای جمع شده و متغیر بستهبندی شده درست منطقی هستند |
دستورالعمل جدید در AVX-512_VNNI[ویرایش]
دستورالعمل شبکه عصبی Vector.
دستورالعمل | شرح |
---|---|
VPDPBUSD
|
ضرب و اضافه کردن بایتهای امضا نشده و امضا شده |
VPDPBUSDS
|
ضرب و اضافه کردن بایتهای بدون امضا و امضا با اشباع |
VPDPWSSD
|
ضرب و اضافه کردن عدد صحیح علامت امضا شده |
VPDPWSSDS
|
ضرب و اضافه کردن عدد صحیح به کلمه با اشباع |
دستورالعمل جدید در AVX-512_IFMA[ویرایش]
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPMADD52LUQ
|
IFMA | ضرب عدد صحیح ۵۲ بیت بدون علامت ضرب شده و محصولات پایین ۵۲ بیتی را به باتری qword اضافه کنید |
VPMADD52HUQ
|
IFMA | ضرب از عدد صحیح ۵۲ بیت بدون علامت ضرب شده و محصولات ۵۲ بیتی بالا را به باتریهای ۶۴ بیت اضافه میکند |
دستورالعملهای جدید در AVX-512_VPOPCNTDQ و AVX-512_BITALG[ویرایش]
دستورالعمل | مجموعه فرمت | شرح |
---|---|---|
VPOPCNTD ، VPOPCNTQ
|
VPOPCNTDQ | تعداد بیتهایی که در ۱ کلمه در کلمه دو کلمه ای / چهاردوره تنظیم شدهاند را بازگردانید |
VPOPCNTB ، VPOPCNTW
|
بیتالگ | تعداد بیتها را به ۱ در بایت / کلمه بازگردانید |
VPSHUFBITQMB
|
بیتالگ | بیتهای مختلط از عناصر quadword با استفاده از شاخصهای بایت به ماسک |
دستورالعمل جدید در AVX-512 + GFNI[ویرایش]
EVEX-کدگذاری شده دستورالعلهای جدید Galois Field.
دستورالعمل | شرح |
---|---|
GF2P8AFFINEINVQB
|
معکوس تحول پذیری میدان گالوئیس |
GF2P8AFFINEQB
|
دگرگونی میدان مغناطیسی Galois |
GF2P8MULB
|
میدان گالوسی ضرب بایت |
دستورالعمل جدید در AVX-512 + VPCLMULQDQ[ویرایش]
VPCLMULQDQ با AVX-512F نسخه ۵۱۲ بیتی EVEX رمزگذاری شده با دستورالعمل PCLMULQDQ را اضافه میکند. با AVX-512VL، آن نسخههای ۲۵۶ و ۱۲۸ بیتی EVEX رمزگذاری شده را اضافه میکند. VPCLMULQDQ (یعنی در پردازندههای غیر AVX512) فقط نسخه ۲۵۶ بیتی را با VEX رمز گذاری شده اضافه میکند. (دسترسی به نسخه ۱۲۸ بیتی VEXرمز گذاری شده توسط بیتهای CPUID مختلف نشان داده میشود: PCLMULQDQ و AVX.) تغییرات وسیع تر نسبت به ۱۲۸ بیت از دستورات با همان عملیات در هر بخش ۱۲۸ بیتی از رجیسترهای ورودی را اجرا میکند، اما تا وقتی که کلمه چهار بعدی را از فیلدهای ۱۲۸ بیتی مختلف انتخاب نکند آنهارا گسترش نمیدهد (معنای عملگر imm8 یکسان است با: هریک از کلمه چهار بعدی پایین یا بالا از فیلد ۱۲۸ بیتی انتخاب شدهاست).
دستورالعمل | شرح |
---|---|
VPCLMULQDQ
|
چهار ضلعی ضرب کوچک |
دستورالعمل جدید در AVX-512 + VAES[ویرایش]
دستورالعملهای AES رمزگذاری شده EVEX. تغییرات گستردهتر نسبت به نسخههای ۱۲۸ بیتی دستورات را در هر بخش ۱۲۸ بیتی از رجیسترهای ورودی اجرا میکند.
دستورالعمل | شرح |
---|---|
VAESDEC
|
یک دور از جریان رمزگشایی AES را انجام دهید |
VAESDECLAST
|
آخرین مرحله جریان رمزگشایی AES را انجام دهید |
VAESENC
|
یک مرحله از یک جریان رمزنگاری AES را انجام دهید |
VAESENCLAST
|
آخرین مرحله جریان رمزنگاری AES را انجام دهید |
دستورالعملهای قدیمی با نسخههای EVEX کدگذاری شده ارتقا یافتهاست[ویرایش]
پردازندههای AVX-512[ویرایش]
- اینتل
- فرود قایقرانی (Xeon Phi x200):[۱][۹] AVX-512 F, CD, ER, PF
- Knights Mill (Xeon Phi x205):[۷] AVX-512 F, CD, ER, PF، 4FMAPS، 4VNNIW, VPOPCNTDQ
- Skylake-SP , Skylake-X:[۱۰][۱۱][۱۲] AVX-512 F, CD, VL, DQ, BW
- دریاچه کانن:[۷] AVX-512 F, CD, VL, DQ, BW, IFMA, VBMI
- Ice Lake:[۷] AVX-512 F, CD, VL, DQ, BW, IFMA, VBMI, VBMI2، VPOPCNTDQ, BITALG, VNNI, VPCLMULQDQ, GFNI, VAES
AVX-512 زیر مجموعه | F | سی دی | ER | PF | 4FMAPS | 4VNNIW | VPOPCNTDQ | VL | DQ | بله | IFMA | VBMI | VNNI | VBMI2 | بیتالگ | VPCLMULQDQ | GFNI | VAES |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
شوالیه فرود (X200های Xeon Phi) پردازنده (2016) |colspan="2" rowspan="7" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="2" rowspan="2" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="14" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه | ||||||||||||||||||
پردازندههای شوالیه میل (Xeon Phi x205) (2017) |colspan="2" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="11" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه | ||||||||||||||||||
colspan="2" rowspan="5" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه|colspan="2" rowspan="5" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه|rowspan="4" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه|colspan="3" rowspan="5" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری |colspan="8" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه | ||||||||||||||||||
colspan="2" rowspan="4" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="6" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه | ||||||||||||||||||
rowspan="3" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="5" rowspan="2" style="background:#F99;vertical-align:middle;text-align:center;" class="table-no"|نه | ||||||||||||||||||
پردازنده کوپر دریا (۲۰۱۹؟) | ||||||||||||||||||
پردازنده یخ یخ (۲۰۱۹ +؟ Ice Lake-SP 2020؟) |style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری|colspan="5" style="background:#9F9;vertical-align:middle;text-align:center;" class="table-yes"|آری |
ابزارهای عملکرد برای تجزیه و تحلیل AVX-512[ویرایش]
اینتل "Vectorization" Advisor (از سال ۲۰۱۶ به روز رسانی۳ را شوع کرد) پشتیبانی از کارایی AVX-512 محلی و تجزیه و تحلیل کیفیت بردار برای پردازنده نسل دوم اینتل Xeon Phi (کدنویسی Knights Landing) است. در کنار مشخصات نقاط حساس سنتی، پیشنهادهای مشاوره و یکپارچه سازی اتحاد تشخیص ویکتوریا کامپایلر، تجزیه و تحلیل مشاوره همچنین استانداردهای AVX-512 ISA و ویژگیهای خاص AVX-512 جدید، مانند پراکندگی، فشرده سازی / گسترش، استفاده از پنهان،[۱۳][۱۴]
جستارهای وابسته[ویرایش]
- مجموعه دستورالعمل FMA (FMA)
- مجموعه دستورالعمل XOP (XOP)
- Extension Vector Scalable برای ARM - یک مجموعه دستورالعمل جدید بردار (تکمیل VFP و NEON) با پشتیبانی از عرض بیت بسیار گستردهاست.
منابع[ویرایش]
- ↑ ۱٫۰ ۱٫۱ ۱٫۲ ۱٫۳ ۱٫۴ ۱٫۵ James Reinders (23 July 2013). "AVX-512 Instructions". Intel. Retrieved 20 August 2013.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Advanced Intelligence for High-Density Edge Solutions". Intel. Intel. Retrieved 8 February 2018.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۳٫۰ ۳٫۱ ۳٫۲ James Reinders (17 July 2014). "Additional AVX-512 instructions". Intel. Retrieved 3 August 2014.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ Anton Shilov. "Intel 'Skylake' processors for PCs will not support AVX-512 instructions". Kitguru.net. Retrieved 2015-03-17.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑
- ↑ ۶٫۰ ۶٫۱ ۶٫۲ ۶٫۳ ۶٫۴ ۶٫۵ ۶٫۶ ۶٫۷ "Intel Architecture Instruction Set Extensions Programming Reference" (PDF). Intel. Retrieved 2014-01-29.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ ۷٫۰ ۷٫۱ ۷٫۲ ۷٫۳ ۷٫۴ ۷٫۵ "Intel® Architecture Instruction Set Extensions and Future Features Programming Reference". Intel. Retrieved 2017-10-16.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "AVX-512 Architecture/Demikhovsky Poster" (PDF). Intel. Retrieved 25 February 2014.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Intel® Xeon Phi™ Processor product brief". Intel. Retrieved 12 October 2016.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Intel unveils X-series platform: Up to 18 cores and 36 threads, from $242 to $2,000". Ars Technica (به English). Retrieved 2017-05-30.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Intel® Advanced Vector Extensions 2015/2016: Support in GNU Compiler Collection" (PDF). Gcc.gnu.org. Retrieved 2016-10-20.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ Patrizio, Andy. "Intel's Xeon roadmap for 2016 leaks". Itworld.org. Retrieved 2016-10-20.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Intel® Advisor XE 2016 Update 3 What's new - Intel® Software". Software.intel.com. Retrieved 2016-10-20.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
- ↑ "Intel® Advisor - Intel® Software". Software.intel.com. Retrieved 2016-10-20.صفحه پودمان:Citation/CS1/en/styles.css محتوایی ندارد.
This article "ایویاکس-۵۱۲" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:ایویاکس-۵۱۲. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.