ملحقات المتجهات المتقدمة
تُعدّ امتدادات المتجهات المتقدمة ( AVX ، والمعروفة أيضًا باسم تعليمات Gesher الجديدة ، ثم تعليمات Sandy Bridge الجديدة ) امتدادات SIMD لبنية مجموعة تعليمات x86 للمعالجات الدقيقة من إنتل وأدفانسد مايكرو ديفايسز (AMD). اقترحتها إنتل في مارس 2008، ودعمتها لأول مرة مع بنية Sandy Bridge الدقيقة [ 1 ] التي طُرحت في الربع الأول من عام 2011، ثم دعمتها AMD لاحقًا مع بنية Bulldozer الدقيقة [ 2 ] التي طُرحت في الربع الرابع من عام 2011. توفر AVX ميزات جديدة، وتعليمات جديدة، ونظام ترميز جديد.
تُوسّع تقنية AVX2 (المعروفة أيضًا باسم تعليمات Haswell الجديدة ) معظم أوامر الأعداد الصحيحة إلى 256 بت، وتُقدّم تعليمات جديدة. وقد دعمتها شركة إنتل لأول مرة مع معمارية Haswell الدقيقة، التي طُرحت في الأسواق عام 2013.
يقوم AVX-512 بتوسيع دعم AVX إلى 512 بت باستخدام ترميز بادئة EVEX جديد اقترحته Intel في يوليو 2013 ودعمته Intel لأول مرة مع المعالج المساعد Knights Landing ، الذي تم شحنه في عام 2016. [ 3 ] [ 4 ] في المعالجات التقليدية، تم تقديم AVX-512 مع معالجات Skylake للخوادم وHEDT في عام 2017.
ملحقات المتجهات المتقدمة
تستخدم لغة AVX ستة عشر سجلاً من نوع YMM لتنفيذ تعليمة واحدة على أجزاء متعددة من البيانات (انظر SIMD ). يمكن لكل سجل YMM تخزين البيانات وإجراء عمليات حسابية متزامنة عليها.
- ثمانية أرقام عشرية أحادية الدقة 32 بت أو
- أربعة أرقام عشرية مزدوجة الدقة 64 بت.
تمت زيادة عرض سجلات SIMD من 128 بت إلى 256 بت، وأُعيد تسميتها من XMM0–XMM7 إلى YMM0–YMM7 (في وضع x86-64 ، من XMM0–XMM15 إلى YMM0–YMM15). ولا يزال بالإمكان استخدام تعليمات SSE القديمة عبر البادئة VEX للعمل على الـ 128 بت السفلى من سجلات YMM.
| 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 |
يُقدّم AVX تنسيق تعليمات SIMD ثلاثي المعاملات يُسمى نظام ترميز VEX ، حيث يكون سجل الوجهة منفصلاً عن مُعاملي المصدر. على سبيل المثال، يُمكن الآن لتعليمة SSE التي تستخدم الصيغة التقليدية ثنائية المعاملات a ← a + b استخدام صيغة غير مُتلفة ثلاثية المعاملات c ← a + b ، مما يحافظ على مُعاملي المصدر. في الأصل، كان تنسيق AVX ثلاثي المعاملات يقتصر على التعليمات ذات مُعاملات SIMD (YMM)، ولم يشمل التعليمات ذات سجلات الأغراض العامة (مثل EAX). لاحقًا، استُخدم لترميز تعليمات جديدة على سجلات الأغراض العامة في امتدادات لاحقة، مثل BMI . يُستخدم ترميز VEX أيضًا للتعليمات التي تعمل على سجلات القناع k0-k7 التي تم تقديمها مع AVX-512 .
تم تخفيف شرط محاذاة معاملات الذاكرة في تعليمات SIMD. [ 5 ] على عكس نظيراتها غير المشفرة بتقنية VEX، لم تعد معظم تعليمات المتجهات المشفرة بتقنية VEX تتطلب محاذاة معاملات الذاكرة مع حجم المتجه. مع ذلك، VMOVDQAلا تزال التعليمات تتطلب محاذاة معامل الذاكرة.
يُقدّم نظام ترميز VEX الجديد مجموعةً جديدةً من بادئات الترميز التي تُوسّع نطاق رموز العمليات ، وتسمح للتعليمات باحتواء أكثر من مُعاملين، كما تسمح لسجلات متجهات SIMD بأن تكون أطول من 128 بت. يُمكن أيضًا استخدام بادئة VEX مع تعليمات SSE القديمة، مما يُعطيها شكلًا بثلاثة مُعاملات، ويجعلها تتفاعل بكفاءة أكبر مع تعليمات AVX دون الحاجة إلى VZEROUPPERبادئات أخرى VZEROALL.
تدعم تعليمات AVX كلاً من SIMD 128 بت و256 بت. يمكن أن تكون إصدارات 128 بت مفيدة لتحسين التعليمات البرمجية القديمة دون الحاجة إلى توسيع نطاق التوجيه، وتجنب تكلفة الانتقال من SSE إلى AVX؛ كما أنها أسرع في بعض تطبيقات AMD المبكرة لـ AVX. يُعرف هذا الوضع أحيانًا باسم AVX-128. [ 6 ]
بالمقارنة مع سلسلة SSE، عززت تقنية AVX الأداء بشكل أكبر لتشغيل الوسائط الرقمية وتصفح الويب والتشفير غير المتماثل وغيرها.
New instructions
تضاف تعليمات AVX هذه إلى تلك التي تمثل امتدادات 256 بت لتعليمات SSE القديمة ذات 128 بت؛ ويمكن استخدام معظمها على كل من المعاملات ذات 128 بت و 256 بت.
| تعليمات | وصف |
|---|---|
VBROADCASTSS، VBROADCASTSD،VBROADCASTF128 | انسخ معامل ذاكرة 32 بت أو 64 بت أو 128 بت إلى جميع عناصر سجل متجه XMM أو YMM. |
VINSERTF128 | يستبدل هذا الأمر إما النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت بقيمة معامل مصدر ذي 128 بت. أما النصف الآخر من الوجهة فيبقى دون تغيير. |
VEXTRACTF128 | يستخرج إما النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت وينسخ القيمة إلى معامل وجهة ذي 128 بت. |
VMASKMOVPS،VMASKMOVPD | تقرأ هذه التعليمة، بشكل مشروط، أي عدد من العناصر من مُعامل ذاكرة متجه SIMD إلى سجل الوجهة، تاركةً عناصر المتجه المتبقية دون قراءة، وتُعيّن العناصر المقابلة في سجل الوجهة إلى الصفر. أو بدلاً من ذلك، تكتب بشكل مشروط أي عدد من العناصر من مُعامل سجل متجه SIMD إلى مُعامل ذاكرة متجه، تاركةً عناصر الذاكرة المتبقية دون تغيير. في بنية معالج AMD Jaguar، تستغرق هذه التعليمة، مع مُعامل مصدر الذاكرة، أكثر من 300 دورة ساعة عندما يكون القناع صفرًا، وفي هذه الحالة، لا ينبغي للتعليمة أن تفعل شيئًا. يبدو أن هذا عيب في التصميم. [ 7 ] |
VPERMILPS،VPERMILPD | تبديل داخل المسار. يقوم هذا الأمر بخلط عناصر المتجه 32 بت أو 64 بت لأحد معاملات الإدخال. هذه تعليمات داخلية 256 بت، أي أنها تعمل على جميع البتات الـ 256 مع عمليتي خلط منفصلتين 128 بت، لذا لا يمكنها الخلط بين مسارات 128 بت. [ 8 ] |
VPERM2F128 | قم بخلط عناصر المتجهات الأربعة ذات 128 بت من معاملين مصدرين 256 بت في معامل وجهة 256 بت، مع ثابت فوري كمحدد. |
VTESTPS،VTESTPD | اختبار بتات الإشارة المعبأة أحادية الدقة أو مزدوجة الدقة للنقطة العائمة، وتعيين أو مسح علامة ZF بناءً على AND وعلامة CF بناءً على ANDN. |
VZEROALL | قم بتعيين جميع سجلات YMM إلى الصفر وقم بتصنيفها على أنها غير مستخدمة. يُستخدم هذا عند التبديل بين استخدام 128 بت واستخدام 256 بت. |
VZEROUPPER | قم بتعيين النصف العلوي من جميع سجلات YMM إلى الصفر. يُستخدم هذا الخيار عند التبديل بين استخدام 128 بت واستخدام 256 بت. |
وحدات المعالجة المركزية المزودة بتقنية AVX
- إنتل
- معالجات Sandy Bridge (الربع الأول من عام 2011) وما بعدها، باستثناء الطرازات التي تحمل علامة Celeron و Pentium. [ 9 ]
- المعالجات التي تحمل علامتي Pentium و Celeron بدءًا من Tiger Lake (الربع الثالث من عام 2020) وما بعده. [ 10 ]
- AMD :
- معالجات Bulldozer (الربع الرابع من عام 2011) [ 11 ] وما بعدها، بما في ذلك Jaguar و Puma .
تتم مناقشة المشكلات المتعلقة بالتوافق بين معالجات Intel و AMD المستقبلية في إطار مجموعة تعليمات XOP .
دعم المترجم والمجمع
- يدعم برنامج Absoft علامة -mavx .
- يدعم مُترجم Free Pascal كلاً من AVX و AVX2 باستخدام مفتاحي -CfAVX و -CfAVX2 بدءًا من الإصدار 2.7.1.
- يدعم برنامج RAD studio (الإصدار 11.0 Alexandria) تقنيتي AVX2 و AVX-512. [ 12 ]
- تدعم وظائف التجميع المضمنة في مُجمِّع GNU ( GAS) هذه التعليمات (التي يمكن الوصول إليها عبر GCC)، وكذلك وظائف Intel الأساسية ومُجمِّع Intel المضمن (المتوافق بشكل كبير مع GAS، على الرغم من أنه أكثر عمومية في معالجته للمراجع المحلية داخل التعليمات البرمجية المضمنة). يدعم GAS تقنية AVX بدءًا من إصدار binutils 2.19. [ 13 ]
- يدعم كل من GCC بدءًا من الإصدار 4.6 (على الرغم من وجود فرع 4.3 مع دعم معين) ومجموعة Intel Compiler Suite بدءًا من الإصدار 11.1 تقنية AVX.
- يدعم الإصدار 4.5.1 من برنامج Open64 المترجم AVX باستخدام علامة -mavx .
- يدعم PathScale ذلك عبر علامة -mavx .
- يدعم مترجم Vector Pascal تقنية AVX عبر علامة - cpuAVX32 .
- يدعم برنامج Visual Studio 2010 / 2012 المترجم AVX عبر intrinsic و /arch:AVX switch.
- بدأ دعم NASM بالإصدار 2.03 والإصدارات الأحدث. وشهد الإصدار 2.04 العديد من إصلاحات الأخطاء والتحديثات المتعلقة بـ AVX. [ 14 ]
- وهناك برامج تجميع أخرى مثل MASM VS2010 الإصدار، و YASM ، و[ 15 ] FASM و JWASM .
دعم نظام التشغيل
يُضيف AVX حالة سجلات جديدة عبر ملف سجلات YMM بعرض 256 بت، لذا يلزم دعم صريح من نظام التشغيل لحفظ واستعادة سجلات AVX الموسعة بشكل صحيح بين عمليات تبديل السياق . تدعم إصدارات أنظمة التشغيل التالية AVX:
- DragonFly BSD : تمت إضافة الدعم في أوائل عام 2013.
- FreeBSD : تمت إضافة الدعم في رقعة برمجية تم تقديمها في 21 يناير 2012، [ 16 ] والتي تم تضمينها في الإصدار المستقر 9.1. [ 17 ]
- لينكس : مدعوم منذ إصدار النواة 2.6.30، [ 18 ] الذي تم إصداره في 9 يونيو 2009. [ 19 ]
- نظام macOS : تمت إضافة الدعم في تحديث 10.6.8 ( Snow Leopard ) [ 20 ] الصادر في 23 يونيو 2011. في الواقع، لا يدعم نظام macOS Ventura معالجات x86 بدون مجموعة تعليمات AVX2. [ 21 ]
- OpenBSD : تمت إضافة الدعم في 21 مارس 2015. [ 22 ]
- سولاريس : مدعوم في سولاريس 10 التحديث 10 وسولاريس 11.
- ويندوز : مدعوم منذ ويندوز 7 SP1 وويندوز سيرفر 2008 R2 SP1. [ 23 ]
- يتطلب نظام التشغيل Windows Server 2008 R2 SP1 مع Hyper-V تحديثًا عاجلًا لدعم معالجات AMD AVX (سلسلة Opteron 6200 و4200)، KB2568088
- لا يدعم نظاما التشغيل Windows XP و Windows Server 2003 تقنية AVX في كل من برامج تشغيل النواة وتطبيقات المستخدم.
- تمت إضافة دعم AVX-512 في نظامي التشغيل Windows 10 و Windows Server 2016. [ 24 ]
ملحقات المتجهات المتقدمة 2
تُعدّ تقنية AVX2 (امتدادات المتجهات المتقدمة 2)، والمعروفة أيضًا باسم تعليمات Haswell الجديدة ، [ 25 ] امتدادًا لمجموعة تعليمات AVX التي تم تقديمها في بنية Haswell الدقيقة من Intel . وتُضيف AVX2 الميزات التالية:
- توسيع معظم تعليمات SSE وAVX المتجهة للأعداد الصحيحة إلى 256 بت
- جمع الدعم، مما يتيح تحميل عناصر المتجهات من مواقع ذاكرة غير متجاورة
- تباديل من نوع DWORD و QWORD من أي إلى أي
- تحولات المتجهات.
يُعتبر أحيانًا امتداد الضرب والتجميع المدمج ثلاثي المعاملات (FMA3) جزءًا من AVX2، نظرًا لأن شركة إنتل قدّمته في نفس بنية المعالج الدقيقة. هذا امتداد منفصل يستخدم علامة CPUID خاصة به ، موصوفة في صفحة مستقلة وليس أدناه.
New instructions
| تعليمات | وصف |
|---|---|
VBROADCASTSS،VBROADCASTSD | انسخ معامل سجل 32 بت أو 64 بت إلى جميع عناصر سجل متجه XMM أو YMM. هذه نسخ سجلية من نفس التعليمات في AVX1. لا توجد نسخة 128 بت، ولكن يمكن تحقيق نفس التأثير بسهولة باستخدام VINSERTF128. |
VPBROADCASTB، VPBROADCASTW، VPBROADCASTD،VPBROADCASTQ | انسخ سجل عدد صحيح 8 أو 16 أو 32 أو 64 بت أو معامل ذاكرة إلى جميع عناصر سجل متجه XMM أو YMM. |
VBROADCASTI128 | انسخ معامل ذاكرة بحجم 128 بت إلى جميع عناصر سجل متجه YMM. |
VINSERTI128 | يستبدل هذا الأمر إما النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت بقيمة معامل مصدر ذي 128 بت. أما النصف الآخر من الوجهة فيبقى دون تغيير. |
VEXTRACTI128 | يستخرج إما النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت وينسخ القيمة إلى معامل وجهة ذي 128 بت. |
VGATHERDPD، VGATHERQPD، VGATHERDPS،VGATHERQPS | يجمع قيم الفاصلة العائمة أحادية أو مزدوجة الدقة باستخدام مؤشرات ومقياس 32 بت أو 64 بت. |
VPGATHERDD، VPGATHERDQ، VPGATHERQD،VPGATHERQQ | يجمع قيم الأعداد الصحيحة 32 أو 64 بت باستخدام مؤشرات ومقياس 32 أو 64 بت. |
VPMASKMOVD،VPMASKMOVQ | يقرأ هذا الأمر، بشكل مشروط، أي عدد من العناصر من مُعامل ذاكرة متجه SIMD إلى سجل الوجهة، تاركًا عناصر المتجه المتبقية دون قراءة، ويُعيّن العناصر المقابلة في سجل الوجهة إلى الصفر. أو بدلاً من ذلك، يكتب بشكل مشروط أي عدد من العناصر من مُعامل سجل متجه SIMD إلى مُعامل ذاكرة متجه، تاركًا عناصر الذاكرة المتبقية دون تغيير. |
VPERMPS،VPERMD | قم بخلط العناصر الثمانية المتجهة ذات 32 بت من معامل مصدر واحد ذي 256 بت في معامل وجهة ذي 256 بت، مع استخدام سجل أو معامل ذاكرة كمحدد. |
VPERMPD،VPERMQ | قم بخلط عناصر المتجهات الأربعة ذات 64 بت من معامل مصدر واحد ذي 256 بت في معامل وجهة ذي 256 بت، مع استخدام سجل أو معامل ذاكرة كمحدد. |
VPERM2I128 | قم بخلط (اثنان من) عناصر المتجهات الأربعة ذات 128 بت من معاملين مصدرين 256 بت في معامل وجهة 256 بت، مع ثابت فوري كمحدد. |
VPBLENDD | نسخة فورية مزدوجة الكلمات من تعليمات PBLEND من SSE4 . |
VPSLLVD،VPSLLVQ | الإزاحة المنطقية لليسار. تسمح بإزاحات متغيرة حيث يتم إزاحة كل عنصر وفقًا للمدخلات المعبأة. |
VPSRLVD،VPSRLVQ | الإزاحة المنطقية لليمين. تسمح بالإزاحات المتغيرة حيث يتم إزاحة كل عنصر وفقًا للإدخال المعبأ. |
VPSRAVD | إزاحة حسابية لليمين. يسمح بإزاحات متغيرة حيث يتم إزاحة كل عنصر وفقًا للمدخلات المعبأة. |
وحدات المعالجة المركزية التي تدعم AVX2
- إنتل
- معالجات Haswell (الربع الثاني من عام 2013) وما بعدها، باستثناء الطرازات التي تحمل علامة Celeron و Pentium.
- المعالجات التي تحمل علامتي Celeron و Pentium بدءًا من Tiger Lake (الربع الثالث من عام 2020) وما بعده. [ 10 ]
- AMD
- معالجات الحفارات (الربع الثاني من عام 2015) وما بعدها.
- عبر :
- نانو رباعي النواة
- إيدن إكس 4
AVX-512
AVX-512 هي امتدادات 512 بت لتعليمات Advanced Vector Extensions SIMD ذات 256 بت لبنية مجموعة تعليمات x86 التي اقترحتها شركة Intel في يوليو 2013. [ 3 ]
تُشفّر تعليمات AVX-512 باستخدام البادئة الجديدة EVEX . وتتيح هذه التعليمات 4 معاملات، و8 سجلات قناع عمليات جديدة 64 بت ، ووضع ذاكرة قياسي مع بث تلقائي، وتحكم صريح في التقريب، ووضع عنونة ذاكرة إزاحة مضغوطة . كما زاد عرض ملف السجلات إلى 512 بت، وزاد إجمالي عدد السجلات إلى 32 (السجلات من ZMM0 إلى ZMM31) في وضع x86-64.
تتألف AVX-512 من عدة مجموعات فرعية من التعليمات، ولا يُفترض أن تدعم جميع المعالجات التي تُنفذها جميع هذه المجموعات. تتكون مجموعة التعليمات مما يلي:
- مؤسسة AVX-512 (F) – تضيف العديد من التعليمات الجديدة وتوسع معظم تعليمات SSE-SSE4.1 وAVX/AVX2 ذات الفاصلة العائمة 32 و64 بت مع نظام ترميز EVEX لدعم سجلات 512 بت، وأقنعة العمليات، وبث المعلمات، والتقريب المضمن والتحكم في الاستثناءات
- تعليمات الكشف عن التعارض AVX-512 (CD) - كشف فعال للتعارض للسماح بتحويل المزيد من الحلقات إلى متجهات، مدعوم من Knights Landing [ 3 ]
- تعليمات AVX-512 الأسية والتبادلية (ER) - عمليات أسية وتبادلية مصممة للمساعدة في تنفيذ العمليات المتسامية، مدعومة بواسطة Knights Landing [ 3 ]
- تعليمات الجلب المسبق AVX-512 (PF) - إمكانيات الجلب المسبق الجديدة، مدعومة بواسطة Knights Landing [ 3 ]
- امتدادات طول المتجهات AVX-512 (VL) - تعمل على توسيع معظم عمليات AVX-512 للعمل أيضًا على سجلات XMM (128 بت) و YMM (256 بت) (بما في ذلك XMM16-XMM31 و YMM16-YMM31 في وضع x86-64) [ 26 ]
- تعليمات AVX-512 بايت وكلمة (BW) - توسع AVX-512 لتغطية عمليات الأعداد الصحيحة 8 بت و 16 بت [ 26 ]
- تعليمات AVX-512 للكلمات المزدوجة والكلمات الرباعية (DQ) - عمليات الأعداد الصحيحة المحسنة 32 بت و 64 بت [ 26 ]
- AVX-512 IFMA ( الضرب والجمع المدمج للأعداد الصحيحة 512 بت) – عملية ضرب وجمع مدمجة للأعداد الصحيحة 512 بت. [ 27 ] : 746
- تضيف تعليمات معالجة بايتات المتجهات AVX-512 (VBMI) تعليمات تبديل بايتات المتجهات غير الموجودة في AVX-512BW.
- تعليمات الشبكة العصبية المتجهة AVX-512 ذات الدقة المتغيرة للكلمات (4VNNIW) - تعليمات متجهة للتعلم العميق.
- AVX-512 Fused Multiply Accumulation Packed Single precision (4FMAPS) – تعليمات متجهة للتعلم العميق.
- VPOPCNTDQ – عدد البتات مضبوط على 1. [ 28 ]
- VPCLMULQDQ – ضرب الكلمات الرباعية بدون حمل. [ 28 ]
- تعليمات الشبكة العصبية المتجهة AVX-512 (VNNI) – تعليمات متجهة للتعلم العميق. [ 28 ]
- تعليمات AVX-512 Galois Field New Instructions (GFNI) – تعليمات متجهة لحساب حقل Galois . [ 28 ]
- تعليمات AVX-512 Vector AES (VAES) – تعليمات متجهة لترميز AES . [ 28 ]
- تعليمات معالجة البايتات المتجهة AVX-512 2 (VBMI2) - تحميل وتخزين ودمج البايتات/الكلمات مع الإزاحة. [ 28 ]
- خوارزميات البت AVX-512 (BITALG) - تعليمات معالجة البتات على مستوى البايت/الكلمة التي توسع VPOPCNTDQ. [ 28 ]
- تعليمات AVX-512 Bfloat16 للنقطة العائمة (BF16) - تعليمات متجهة لتسريع الذكاء الاصطناعي.
- تعليمات AVX-512 ذات الدقة النصفية للفاصلة العائمة (FP16) - تعليمات متجهة للعمل على الأعداد ذات الفاصلة العائمة والأعداد المركبة بدقة منخفضة.
- تعليمات معالجة البتات AVX-512 (BMM) – تعليمات ضرب مصفوفة البتات وعكس البتات.
لا تتطلب جميع التطبيقات سوى امتداد AVX-512F (مؤسسة AVX-512)، مع العلم أن جميع التطبيقات الحالية تدعم أيضًا خاصية كشف التعارض (CD). كما تدعم جميع المعالجات المركزية المزودة بـ AVX-512 تعليمات VL وDQ وBW. أما امتدادات مجموعات التعليمات ER وPF و4VNNIW و4FMAPS، فهي متوفرة حاليًا فقط في معالجات Intel المساعدة للحوسبة.
تستخدم تعليمات SSE/AVX المُحدَّثة في AVX-512F نفس الرموز المختصرة المستخدمة في إصدارات AVX؛ ويمكنها العمل على سجلات ZMM ذات 512 بت، كما تدعم سجلات XMM/YMM ذات 128/256 بت (مع AVX-512VL) ومعاملات الأعداد الصحيحة من نوع بايت، وكلمة، وكلمة مزدوجة، وكلمة رباعية (مع AVX-512BW/DQ وVBMI). [ 27 ] : 23
تشمل المجموعات الفرعية المتوقفة ما يلي:
- تقاطع زوج المتجهات AVX-512 مع زوج من سجلات القناع (VP2INTERSECT) - حساب التقاطع بين الكلمات المزدوجة/الرباعية مع زوج من سجلات القناع. تم إيقاف هذه التقنية من قبل إنتل ، ولكنها لا تزال مدعومة من قبل AMD.
- زيون فاي ER، PF، 4FMAPS، 4VNNIW.
جدول توافق وحدة المعالجة المركزية AVX-512
مجموعة فرعية | F | قرص مضغوط | غرفة الطوارئ | PF | 4FMAPS | 4VNNIW | VPOPCNTDQ | VL | دي كيو | أبيض وأسود | IFMA | VBMI | VBMI2 | BITALG | VNNI | BF16 | VPCLMULQDQ | GFNI | VAES | VP2INTERSECT | FP16 | بي إم إم |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| إنتل نايتس لاندينغ (2016) | نعم | نعم | لا | |||||||||||||||||||
| إنتل نايتس ميل (2017) | نعم | لا | ||||||||||||||||||||
| معالجات إنتل سكاي ليك إس بي ، وسكاي ليك إكس (2017) | لا | لا | نعم | لا | ||||||||||||||||||
| معالجات إنتل كانون ليك (2018) | نعم | لا | ||||||||||||||||||||
| معالج إنتل كاسكيد ليك-إس بي (2019) | لا | نعم | لا | |||||||||||||||||||
| معالج إنتل كوبر ليك (2020) | لا | نعم | لا | |||||||||||||||||||
| معالج إنتل آيس ليك (2019) | نعم | لا | نعم | لا | ||||||||||||||||||
| معالج إنتل تايجر ليك (2020) | نعم | لا | ||||||||||||||||||||
| معالج إنتل روكيت ليك (2021) | لا | |||||||||||||||||||||
| معالج إنتل ألدر ليك (2021) | ملاحظة جزئية 1 | ملاحظة جزئية 1 | لا | |||||||||||||||||||
| معالج AMD Zen 4 (2022) | نعم | نعم | لا | |||||||||||||||||||
| إنتل سافاير رابيدز (2023) | لا | نعم | لا | |||||||||||||||||||
| معالج AMD Zen 5 (2024) | نعم | لا | ||||||||||||||||||||
| معالج AMD Zen 6 (لم يُحدد بعد) | نعم | |||||||||||||||||||||
ملاحظة 1 : لا تدعم إنتل رسميًا عائلة تعليمات AVX-512 علىAlder Lake. في أوائل عام 2022، بدأت إنتل بتعطيل AVX-512 في معالجات Alder Lake لمنع المستخدمين من تفعيلها. [ 30 ] في وحدات المعالجة المركزية القديمة من عائلة Alder Lake، مع بعض تركيبات BIOS القديمة وإصدارات البرامج الثابتة، كان من الممكن تنفيذ تعليمات عائلة AVX-512 عند تعطيل جميع أنوية الكفاءة التي لا تحتوي على شريحة AVX-512. [ 31 ] [ 32 ] [ 33 ]
برامج الترجمة التي تدعم AVX-512
برامج التجميع التي تدعم AVX-512
AVX-VNNI، AVX-IFMA
AVX-VNNI هو إصدار مُشفّر بتقنية VEX من امتداد مجموعة تعليمات AVX512-VNNI . وبالمثل، AVX-IFMA هو إصدار مُشفّر بتقنية VEX من AVX512-IFMA . توفر هذه الامتدادات نفس مجموعات العمليات التي توفرها نظيراتها في AVX-512، ولكنها تقتصر على متجهات 256 بت ولا تدعم أي ميزات إضافية لتشفير EVEX ، مثل البث، أو سجلات قناع العمليات، أو الوصول إلى أكثر من 16 سجل متجه. تسمح هذه الامتدادات بدعم عمليات VNNI وIFMA حتى في حال عدم تنفيذ AVX-512 في المعالج.
وحدات المعالجة المركزية المزودة بتقنية AVX-VNNI
- إنتل
- معالجات Alder Lake (الربع الرابع من عام 2021) وما بعدها.
- AMD
- معالجات Zen 5 (الربع الثالث من عام 2024) وما بعدها. [ 38 ]
وحدات المعالجة المركزية المزودة بتقنية AVX-IFMA
- إنتل
- معالجات Xeon ذات النواة E فقط من Sierra Forest (الربع الثاني من عام 2024) وما بعدها.
- معالجات جراند ريدج ذات الأغراض الخاصة وما هو أحدث منها.
- معالجات Meteor Lake المحمولة (الربع الرابع من عام 2023) وما بعدها.
- معالجات سطح المكتب من نوع Arrow Lake (الربع الرابع من عام 2024) وما بعده.
- AMD
- معالجات Zen 6 وما بعدها. [ 39 ]
AVX-NE-CONVERT
تُقدّم AVX-NE-CONVERT مجموعة من التعليمات لتحويل الأعداد العشرية بين Bfloat16 (BF16) ونصف الدقة (FP16) والدقة المفردة (FP32). هذه التعليمات الجديدة مُشفّرة بلغة VEX ، ولذلك فهي تقتصر على سجلات المتجهات AVX2 وتفتقر إلى دعم قناع العمليات (opmask) من AVX-512. يُدعم البث فقط من خلال تعليمتين خاصتين لتحميل الأعداد من الذاكرة، ولا يُدعم كميزة لتشفير التعليمات.
New instructions
| تعليمات | وصف |
|---|---|
VBCSTNEBF162PS | يقوم بتحميل عنصر واحد من نوع BF16 من الذاكرة، ويحوله إلى FP32، ويبثه إلى سجل متجه. |
VBCSTNESH2PS | يقوم بتحميل عنصر واحد من نوع FP16 من الذاكرة، ويحوله إلى FP32، ويبثه إلى سجل متجه. |
VCVTNEEBF162PS،VCVTNEOBF162PS | يقوم بتحميل عناصر BF16 المعبأة من الذاكرة، ويحول العناصر الزوجية (لـ VCVTNEEBF162PS) أو الفردية (لـ VCVTNEOBF162PS) إلى FP32، ويكتب النتيجة إلى سجل متجه الوجهة. |
VCVTNEEPH2PS،VCVTNEOPH2PS | يقوم بتحميل عناصر FP16 المعبأة من الذاكرة، ويحول العناصر الزوجية (لـ VCVTNEEPH2PS) أو الفردية (لـ VCVTNEOPH2PS) إلى FP32، ويكتب النتيجة إلى سجل متجه الوجهة. |
VCVTNEPS2BF16 | يقوم هذا البرنامج بتحميل عناصر FP32 المعبأة من سجل متجه أو ذاكرة، ثم يحول هذه العناصر إلى BF16، ويكتب النتيجة إلى سجل المتجه الوجهة. يتم تصفير البتات العليا من سجل المتجه الوجهة. |
وحدات المعالجة المركزية المزودة بتقنية AVX-NE-CONVERT
- إنتل
- معالجات Xeon ذات النواة E فقط من Sierra Forest (الربع الثاني من عام 2024) وما بعدها.
- معالجات جراند ريدج ذات الأغراض الخاصة وما هو أحدث منها.
- معالجات Lunar Lake المحمولة (الربع الثاني من عام 2024) وما بعدها.
- معالجات سطح المكتب من نوع Arrow Lake (الربع الرابع من عام 2024) وما بعده.
- معالجات Diamond Rapids Xeon وما هو أحدث منها.
- AMD
- معالجات Zen 6 وما بعدها. [ 39 ]
AVX-VNNI-INT8، AVX-VNNI-INT16
تُوسّع مجموعات التعليمات هذه نطاق AVX-VNNI بإضافة دعمٍ لمزيدٍ من تركيبات أنواع بيانات الإدخال لسلسلة VPDP*التعليمات. فبينما تأخذ VPDPBUSD(S)تعليمات AVX-VNNI متجهًا من البايتات غير الموقعة كمعامل إدخال أول، ومتجهًا من البايتات الموقعة كمعامل إدخال ثانٍ، تُضيف AVX-VNNI-INT8 متغيراتٍ من هذه التعليمات تدعم إدخال البايتات الموقعة وغير الموقعة في أي موضع. وبالمثل، فبينما VPDPWSSD(S)تأخذ تعليمات AVX-VNNI متجهين من الكلمات الموقعة ذات 16 بت كمعاملات إدخال، تُضيف AVX-VNNI-INT16 دعمًا لإدخال الكلمات الموقعة وغير الموقعة ذات 16 بت في أي موضع.
بالنسبة للتعليمات التي تقبل المدخلات الموقعة وغير الموقعة، توجد تعليمات منفصلة لكل ترتيب محتمل للمدخلات (موقع/غير موقع، وغير موقع/موقع)، لأن ترميز VEX يدعم فقط أن يكون معامل الإدخال الثاني معاملًا من الذاكرة. وهذا يسمح بتحميل أي نوع من أنواع البيانات المدعومة من الذاكرة بواسطة هذه التعليمات.
New instructions in AVX-VNNI-INT8
| تعليمات | وصف |
|---|---|
VPDPBSSD،VPDPBSSDS | اضرب مجموعات من 4 أزواج من البايتات الموقعة في المدخل الثاني مع البايتات الموقعة المقابلة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPBSSDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
VPDPBSUD،VPDPBSUDS | اضرب مجموعات من 4 أزواج من البايتات غير الموقعة في المدخل الثاني مع البايتات الموقعة المقابلة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPBSUDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
VPDPBUUD،VPDPBUUDS | اضرب مجموعات من 4 أزواج من البايتات غير الموقعة في المدخل الثاني مع البايتات غير الموقعة المقابلة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPBUUDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
New instructions in AVX-VNNI-INT16
| تعليمات | وصف |
|---|---|
VPDPWSUD،VPDPWSUDS | اضرب مجموعات من زوجين من الكلمات غير الموقعة في المدخل الثاني مع الكلمات الموقعة المقابلة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPWSUDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
VPDPWUSD،VPDPWUSDS | اضرب مجموعات من زوجين من الكلمات الموقعة في المدخل الثاني مع الكلمات غير الموقعة المناظرة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPWUSDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
VPDPWUUD،VPDPWUUDS | اضرب مجموعات من زوجين من الكلمات غير الموقعة في المدخل الثاني مع الكلمات غير الموقعة المناظرة لها في المدخل الأول، واجمع هذه النواتج وأضفها إلى نتيجة الكلمة المزدوجة في المخرج. ثم VPDPWUSDSقم بإجراء عملية تشبع الإشارة للنتيجة. |
وحدات المعالجة المركزية المزودة بتقنية AVX-VNNI-INT8
- إنتل
- معالجات Xeon ذات النواة E فقط من Sierra Forest (الربع الثاني من عام 2024) وما بعدها.
- معالجات جراند ريدج ذات الأغراض الخاصة وما هو أحدث منها.
- معالجات Lunar Lake المحمولة (الربع الثاني من عام 2024) وما بعدها.
- معالجات سطح المكتب من نوع Arrow Lake (الربع الرابع من عام 2024) وما بعده.
- معالجات Diamond Rapids Xeon وما هو أحدث منها.
- AMD
- معالجات Zen 6 وما بعدها. [ 39 ]
وحدات المعالجة المركزية المزودة بتقنية AVX-VNNI-INT16
- إنتل
- معالجات Xeon ذات النواة E فقط من Clearwater Forest وما هو أحدث منها.
- معالجات Lunar Lake المحمولة (الربع الثاني من عام 2024) وما بعدها.
- معالجات سطح المكتب من نوع Arrow Lake (الربع الرابع من عام 2024) وما بعده.
- معالجات Diamond Rapids Xeon وما هو أحدث منها.
AVX10
AVX10، الذي أُعلن عنه في يوليو 2023، [ 40 ] هو مجموعة تعليمات AVX جديدة "مُدمجة". يعالج هذا الإصدار العديد من مشكلات AVX-512؛ ولا سيما تقسيمه إلى أجزاء كثيرة جدًا [ 41 ] (20 علامة مميزة). كما جعلت الورقة التقنية الأولية دعم متجهات 512 بت اختياريًا، ولكن بدءًا من المراجعة 3.0، أُزيل تعداد طول المتجه وأصبح دعم متجهات 512 بت إلزاميًا. [ 42 ]
يُقدّم معيار AVX10 واجهة CPUID مُبسّطة لاختبار دعم التعليمات، وتتألف من رقم إصدار AVX10 (الذي يُشير إلى مجموعة التعليمات المدعومة، حيث تُمثّل الإصدارات اللاحقة دائمًا مجموعةً شاملةً للإصدارات السابقة). [ 43 ] على سبيل المثال، يُشير AVX10.2 إلى أن وحدة المعالجة المركزية قادرة على تشغيل الإصدار الثاني من AVX10. [ 44 ] كما تضمنت المراجعات الأولية للمواصفات الفنية لـ AVX10 الحد الأقصى لطول المتجه المدعوم كجزء من اسم امتداد مجموعة تعليمات المعالج (ISA)، على سبيل المثال، AVX10.2/256 يعني إصدارًا ثانيًا من AVX10 بطول متجه يصل إلى 256 بت، ولكن المراجعات اللاحقة جعلت ذلك غير ضروري.
لا يُضيف الإصدار الأول من AVX10، المُشار إليه بـ AVX10.1، أي تعليمات أو ميزات ترميز جديدة تتجاوز ما هو موجود بالفعل في AVX-512 (وتحديدًا في معالجات Intel Sapphire Rapids : AVX-512F، CD، VL، DQ، BW، IFMA، VBMI، VBMI2، BITALG، VNNI، GFNI، VPOPCNTDQ، VPCLMULQDQ، VAES، BF16، FP16). بالنسبة لوحدات المعالجة المركزية التي تدعم AVX10 ومتجهات 512 بت، ستبقى جميع علامات ميزات AVX-512 القديمة مُفعّلة لتسهيل استمرار التطبيقات التي تدعم AVX-512 في استخدام تعليمات AVX-512. [ 44 ]
تم إصدار AVX10.1 لأول مرة في معالج Intel Granite Rapids [ 44 ] (الربع الثالث من عام 2024) وسيكون AVX10.2 متاحًا في معالج Diamond Rapids [ 45 ] ومعالج Nova Lake . [ 46 ]
التطبيقات
- مناسب للحسابات المكثفة ذات الفاصلة العائمة في تطبيقات الوسائط المتعددة والتطبيقات العلمية والمالية (يضيف AVX2 دعمًا لعمليات الأعداد الصحيحة ).
- يزيد من التوازي والإنتاجية في حسابات SIMD ذات الفاصلة العائمة.
- يقلل من حمل السجلات بسبب التعليمات غير المدمرة.
- يحسن أداء برامج RAID في نظام Linux (يتطلب AVX2، AVX غير كافٍ) [ 47 ]
برمجة
- علم التشفير
- تستخدم مجموعة أدوات BSAFE C تقنيتي AVX و AVX2 عند الاقتضاء لتسريع خوارزميات التشفير المختلفة. [ 48 ]
- يستخدم OpenSSL وظائف تشفير محسّنة بتقنية AVX وAVX2 منذ الإصدار 1.0.2. [ 49 ] تمت إضافة دعم AVX-512 في الإصدار 3.0.0. [ 50 ] بعض هذه التحسينات موجودة أيضًا في العديد من النسخ المقلدة والمتفرعة، مثل LibreSSL.
- الوسائط المتعددة
- يستخدم برنامج Blender تقنيات AVX و AVX2 و AVX-512 في محرك العرض Cycles. [ 51 ]
- يتطلب برنامج Massive X من Native Instruments تقنية AVX. [ 52 ]
- يمكن لبرنامج فك تشفير AV1 من نوع dav1d استخدام AVX2 وAVX-512 على وحدات المعالجة المركزية المدعومة. [ 53 ] [ 54 ]
- يمكن لمشفّر SVT-AV1 AV1 استخدام AVX2 وAVX-512 لتسريع ترميز الفيديو. [ 55 ]
- العلوم والهندسة وغيرها
- يستخدم Esri ArcGIS Data Store تقنية AVX2 لتخزين الرسوم البيانية. [ 56 ]
- بدأ برنامج Prime95 /MPrime، المستخدم في GIMPS ، في استخدام تعليمات AVX منذ الإصدار 27.1، وAVX2 منذ الإصدار 28.6، وAVX-512 منذ الإصدار 29.1. [ 57 ]
- يستخدم مشروع Einstein@Home بروتوكول AVX في بعض تطبيقاته الموزعة التي تبحث عن موجات الجاذبية . [ 58 ]
- يتطلب TensorFlow منذ الإصدار 1.6 والإصدارات الأحدث منه وحدة معالجة مركزية تدعم على الأقل AVX. [ 59 ]
- يستخدم برنامج EmEditor الإصدار 19.0 والإصدارات الأحدث تقنية AVX2 لتسريع المعالجة. [ 60 ]
- يستخدم برنامج مايكروسوفت تيمز تعليمات AVX2 لإنشاء خلفية ضبابية أو مخصصة خلف المشاركين في محادثات الفيديو، [ 61 ] ولإزالة ضوضاء الخلفية. [ 62 ]
- تستخدم مكتبة simdjson ، وهي مكتبة لتحليل JSON ، تقنيتي AVX2 وAVX-512 لتحقيق سرعة فك تشفير محسّنة. [ 63 ] [ 64 ]
- تستخدم مكتبة x86-simd-sort ، التي تحتوي على خوارزميات فرز لأنواع البيانات الرقمية ذات 16 و32 و64 بت، تقنيتي AVX2 وAVX-512. وتُستخدم هذه المكتبة في NumPy و OpenJDK لتسريع خوارزميات الفرز. [ 65 ]
- يستخدم محرك التعرف الضوئي على الأحرف Tesseract تقنيات AVX وAVX2 وAVX-512 لتسريع عملية التعرف على الأحرف. [ 66 ]
- تستخدم ألعاب الفيديو والمحاكيات، مثل RPCS3، تقنيتي AVX2 وAVX-512 لتحسينات ملحوظة في الأداء. [ 67 ]
خفض تردد المعالج
نظرًا لأن تعليمات AVX أوسع نطاقًا، فإنها تستهلك طاقة أكبر وتولد حرارة أكثر. قد يؤثر تنفيذ تعليمات AVX المكثفة بترددات ساعة عالية لوحدة المعالجة المركزية على استقرارها بسبب انخفاض الجهد المفرط أثناء تغيرات الحمل. تحتوي بعض معالجات Intel على آليات لتقليل حد تردد Turbo Boost عند تنفيذ هذه التعليمات. ويحدث هذا التخفيض حتى لو لم تصل وحدة المعالجة المركزية إلى حدودها الحرارية واستهلاك الطاقة.
في معالجات Skylake ومشتقاتها، يتم تقسيم عملية التحكم في الأداء إلى ثلاثة مستويات: [ 68 ] [ 69 ]
- L0 (100%): الحد الطبيعي لضغط التوربو.
- L1 (~85%): حد "تعزيز AVX". يتم تفعيله برمجياً بواسطة تعليمات "ثقيلة" 256 بت (وحدة الفاصلة العائمة: عمليات حسابية للفاصلة العائمة وضرب الأعداد الصحيحة). يتم تفعيله قسراً بواسطة تعليمات "خفيفة" (جميع التعليمات الأخرى) 512 بت.
- L2 (~60%): حد "تعزيز AVX-512". يتم تشغيله برمجياً بواسطة تعليمات ثقيلة 512 بت.
يمكن أن يكون انتقال التردد سلسًا أو حادًا. الانتقال الحاد يعني انخفاض التردد فور رصد تعليمة مطابقة؛ أما الانتقال السلس فيعني انخفاض التردد فقط بعد الوصول إلى حد معين من التعليمات المطابقة. هذا الحد خاص بكل خيط معالجة. [ 68 ]
في بحيرة الجليد ، لم يتبق سوى مستويين: [ 70 ]
- L0 (100%): الحد الطبيعي لضغط التوربو.
- L1 (~97٪): يتم تشغيله بواسطة أي تعليمات 512 بت، ولكن فقط عندما يكون تعزيز النواة الواحدة نشطًا؛ لا يتم تشغيله عند تحميل أنوية متعددة.
لا تُفعّل معالجات Rocket Lake خفض التردد عند تنفيذ أي نوع من تعليمات المتجهات بغض النظر عن حجم المتجه. [ 70 ] ومع ذلك، قد يحدث خفض التردد لأسباب أخرى، مثل الوصول إلى حدود الحرارة والطاقة.
يعني خفض تردد المعالج أن استخدام AVX في أحمال العمل المختلطة مع معالج Intel قد يؤدي إلى انخفاض في التردد. ويساعد تجنب استخدام التعليمات ذات النطاق الترددي الواسع والثقيل على تقليل هذا التأثير في هذه الحالات. يسمح AVX-512VL باستخدام معاملات 256 بت أو 128 بت في تعليمات AVX-512، مما يجعله خيارًا افتراضيًا مناسبًا للأحمال المختلطة. [ 71 ]
في المعالجات المدعومة والمفتوحة التي تدعم خفض تردد التشغيل، يمكن تعديل إزاحات خفض نسبة التردد (والتي تسمى عادةً إزاحات AVX وAVX-512) ويمكن إيقاف تشغيلها تمامًا (ضبطها على 0x) عبر أداة كسر السرعة / الضبط من Intel أو في BIOS إذا كان ذلك مدعومًا هناك. [ 72 ]
انظر أيضاً
- امتداد مجموعة تعليمات F16C
- ملحقات حماية الذاكرة
- Scalable Vector Extension for ARM - مجموعة تعليمات متجهة جديدة (مكملة لـ VFP و NEON ) مشابهة لـ AVX-512، مع بعض الميزات الإضافية.
- ملحقات الأداء المتقدمة APX
مراجع
- ↑ كانتر، ديفيد (25 سبتمبر 2010). "معمارية ساندي بريدج الدقيقة من إنتل" . www.realworldtech.com . تم الاطلاع عليه في 17 فبراير 2018 .
- ↑ هروشكا، جويل (24 أكتوبر 2011). "تحليل معالج بولدوزر: لماذا تُعدّ شريحة AMD مخيبة للآمال إلى هذا الحد - الصفحة 4 من 5 - إكستريم تك" . إكستريم تك . تم الاطلاع عليه في 17 فبراير 2018 .
- 1 2 3 4 5 جيمس ريندرز (23 يوليو 2013)، تعليمات AVX-512 ، إنتل ، تم الاطلاع عليه في 20 أغسطس 2013
- ↑ "مواصفات منتج معالج Intel Xeon Phi 7210 (ذاكرة 16 جيجابايت، 1.30 جيجاهرتز، 64 نواة)" . Intel ARK (مواصفات المنتج) . تم الاطلاع عليه بتاريخ 16 مارس 2018 .
- ↑ "14.9". دليل مطوري برامج معمارية Intel 64 و IA-32، المجلد 1: المعمارية الأساسية ( PDF) (-051US ed.). شركة Intel. ص 349. تم الاطلاع عليه بتاريخ 23 أغسطس 2014.
تعمل وسائط الذاكرة لمعظم التعليمات التي تبدأ بالبادئة VEX بشكل طبيعي دون التسبب في #GP(0) على أي محاذاة بدقة البايت (على عكس تعليمات SSE القديمة).
- ↑ "خيارات i386 و x86-64 - استخدام مجموعة مترجمات GNU (GCC)" . تم الاطلاع عليه في 9 فبراير 2014 .
- ↑ "البنية الدقيقة لوحدات المعالجة المركزية من إنتل، وإيه إم دي، وفيا: دليل تحسين لمبرمجي لغة التجميع وصانعي المترجمات" (ملف PDF) . تم الاطلاع عليه بتاريخ 17 أكتوبر 2016 .
- ↑ "برمجة الشطرنج باستخدام AVX2" . مؤرشف من الأصل في 10 يوليو 2017. تم الاطلاع عليه في 17 أكتوبر 2016 .
- ↑ "إنتل تعرض لمحة عن معالجي Nehalem و Larrabee" . إكستريم تك. 17 مارس 2008.
- 1 2 "مواصفات منتج معالج Intel® Celeron® 6305 (ذاكرة تخزين مؤقتة 4 ميجابايت، 1.80 جيجاهرتز، مع وحدة معالجة الصور)" . ark.intel.com . تم الاطلاع عليه بتاريخ 10 نوفمبر 2020 .
- ↑ باتلر، مايكل؛ بارنز، ليزلي؛ داس سارما، ديبجيت؛ جيليناس، بوب (مارس-أبريل 2011). "Bulldozer: An Approach to Multithreaded Computing Performance" (ملف PDF) . IEEE Micro . 31 (2): 6–15 . doi : 10.1109/MM.2011.23 . S2CID 28236214. مؤرشف من النسخة الأصلية (ملف PDF) في 19 مايو 2024.
- ↑ "ما الجديد - استوديو RAD" . docwiki.embarcadero.com . تم الاطلاع عليه بتاريخ 17 سبتمبر 2021 .
- ↑ "تغييرات GAS" . sourceware.org . تم الاطلاع عليه في 3 مايو 2024 .
- 1 2 "NASM - The Netwide Assembler, Appendix C: NASM Version History" . nasm.us. تم الاطلاع عليه في 3 مايو 2024 .
- ↑ "ملاحظات إصدار YASM 0.7.0" . yasm.tortall.net .
- ↑ إضافة دعم لحالات وحدة الفاصلة العائمة الموسعة على معالجات amd64، لكل من واجهات التطبيقات الثنائية الأصلية 64 بت و32 بت ، svnweb.freebsd.org، 21 يناير 2012 ، تم الاطلاع عليه في 22 يناير 2012
- ↑ "إعلان إصدار FreeBSD 9.1" . تم الاطلاع عليه بتاريخ 20 مايو 2013 .
- ↑ x86: إضافة دعم نواة لينكس لحالة YMM ، تم الاطلاع عليه في 13 يوليو 2009
- ↑ لينكس 2.6.30 - دليل المبتدئين في نواة لينكس ، تم الاطلاع عليه بتاريخ 13 يوليو 2009
- ↑ تويتر ، تم الاطلاع عليه في 23 يونيو 2010
- ↑ "يحرز المطورون تقدماً في تشغيل نظام macOS Ventura على أجهزة Mac القديمة التي لم تعد مدعومة والتي يعود تاريخها إلى عقد من الزمان" . 23 أغسطس 2022.
- ↑ إضافة دعم لحفظ/استعادة حالة وحدة الفاصلة العائمة باستخدام XSAVE/XRSTOR. ، تم الاطلاع عليه في 25 مارس 2015
- ↑ دعم الفاصلة العائمة لبرامج تشغيل 64 بت ، تم الاطلاع عليه في 6 ديسمبر 2009
- ↑ تشانغ، روي (27 فبراير 2020). "التحويل التلقائي إلى متجه AVX-512 في MSVC" . مدونة فريق C++ . تم الاطلاع عليه في 13 يونيو 2026 .
- ↑ وصف تعليمات Haswell الجديدة متوفر الآن ، Software.intel.com ، تم الاطلاع عليه في 17 يناير 2012
- 1 2 3 جيمس رايندرز (17 يوليو 2014). "تعليمات إضافية لـ AVX-512" . إنتل . تم الاطلاع عليه في 3 أغسطس 2014 .
- 1 2 "مرجع برمجة ملحقات مجموعة تعليمات معمارية إنتل" (ملف PDF) . إنتل . تم الاطلاع عليه في 29 يناير 2014 .
- 1 2 3 4 5 6 7 "مرجع برمجة امتدادات مجموعة تعليمات معمارية Intel® والميزات المستقبلية" . Intel . تم الاطلاع عليه في 16 أكتوبر 2017 .
- ↑ "محاكي تطوير برامج Intel® | برامج Intel®" . software.intel.com . تم الاطلاع عليه بتاريخ 11 يونيو 2016 .
- ↑ ألكورن، بول (2 مارس 2022). "إنتل تُلغي دعم AVX-512 في معالجات ألدر ليك، وتُعطّله الآن في الشريحة نفسها" . موقع تومز هاردوير . تاريخ الاسترجاع: 7 مارس 2022 .
- ↑ كاتريس، إيان؛ فروموسانو، أندريه (19 أغسطس 2021). "يوم هندسة إنتل 2021: تفاصيل عن ألدر ليك، وغولدن كوف، وغرايسمونت" . أناند تك . مؤرشف من الأصل في 25 أغسطس 2021. تم الاطلاع عليه في 25 أغسطس 2021 .
- ↑ ألكورن، بول (19 أغسطس 2021). "يوم هندسة إنتل 2021: رقائق ألدر ليك، ونوى جولدن كوف، وغرايسيمونت" . تومز هاردوير . تم الاطلاع عليه بتاريخ 21 أغسطس 2021 .
- ↑ كاتريس، إيان؛ فروموسانو، أندريه. "مراجعة معالج Intel Core i9-12900K من الجيل الثاني عشر: الأداء الهجين يجلب تعقيدًا هجينًا" . www.anandtech.com . مؤرشف من الأصل في 4 نوفمبر 2021. تم الاطلاع عليه في 5 نوفمبر 2021 .
- ↑ "ملاحظات إصدار LLVM 3.9 — وثائق LLVM 3.9" . releases.llvm.org . تم الاطلاع عليه في 3 أبريل 2017 .
- ↑ "سلسلة إصدارات GCC 4.9 - التغييرات والميزات الجديدة والإصلاحات - مشروع جنو - مؤسسة البرمجيات الحرة (FSF)" . gcc.gnu.org . تم الاطلاع عليه في 3 أبريل 2017 .
- ↑ "ملاحظات إصدار Intel® Parallel Studio XE 2015 Composer Edition C++ | Intel® Software" . software.intel.com . تم الاطلاع عليه في 3 أبريل 2017 .
- ↑ "يدعم Microsoft Visual Studio 2017 تقنية Intel® AVX-512" . 11 يوليو 2017.
- ↑ "تم نشر دعم مُجمِّع AMD Zen 5 لـ GCC - يؤكد ميزات AVX الجديدة والمزيد" . www.phoronix.com . تاريخ الاطلاع: 10 فبراير 2024 .
- 1 2 3 " [ تحديث ] إضافة دعم معالج AMD znver6" . 19 نوفمبر 2025.
- ↑ بونشور، جافين (25 يوليو 2023). "إنتل تكشف النقاب عن مجموعتي تعليمات AVX10 وAPX: توحيد AVX-512 للهياكل الهجينة" . أناند تك . مؤرشف من الأصل في 25 يوليو 2023. تم الاطلاع عليه في 21 أغسطس 2024 .
- ↑ مان، توبياس (15 أغسطس 2023). "تقنية AVX10 من إنتل تعد بمزايا AVX-512 دون أي عيوب" . www.theregister.com . تاريخ الاطلاع: 20 أغسطس 2023 .
- ↑ لارابيل، مايكل (19 مارس 2025). "إنتل تتخلى عن خيار 512 بت في تقنية AVX10: لن يكون هناك معالجات E-Cores تدعم 256 بت فقط بتقنية AVX10 في المستقبل" . فورونيكس . تم الاطلاع عليه في 19 مارس 2025 .
- ↑ "مجموعة تعليمات المتجهات المتقاربة: ورقة تقنية من Intel® Advanced Vector Extensions 10" . Intel .
- 1 2 3 "مواصفات بنية Intel® Advanced Vector Extensions 10 (Intel® AVX10)" . Intel .
- ↑ لارابيل، مايكل (23 أكتوبر 2024). "إنتل تُجهّز مُجمّع GCC لميزات AMX وISA الجديدة قبل إطلاق Diamond Rapids" . فورونيكس . تم الاطلاع عليه بتاريخ 23 أكتوبر 2024 .
- ↑ «إنتل تؤكد الآن أن معالج نوفا ليك سيدعم امتدادات AVX10.2 وAPX» . www.phoronix.com . تاريخ الاطلاع: 13 نوفمبر 2025 .
- ↑ "Linux RAID" . LWN. 17 فبراير 2013.
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "مقارنة بين تطبيقات مكتبة التشفير BSAFE" . 25 يوليو 2023.
- ↑ "تحسين أداء OpenSSL" . 26 مايو 2015. تم الاطلاع عليه في 28 فبراير 2017 .
- ↑ "ملاحظات إصدار OpenSSL 3.0.0" . GitHub . 7 سبتمبر 2021.
- ^ جاروش، ميلانو؛ ستراكوش، بيتر؛ Říha، لوبومير (28 مايو 2022). "العرض في الخلاط باستخدام AVX-512 Vectorization" (PDF) . مجموعة مستخدمي إنتل فائق الأداء . الجامعة التقنية في أوسترافا . تم الاسترجاع في 28 أكتوبر 2022 .
- ↑ "يتطلب MASSIVE X معالجًا متوافقًا مع AVX" . شركة Native Instruments . تم الاطلاع عليه بتاريخ 29 نوفمبر 2019 .
- ↑ "dav1d: أداء وإتمام الإصدار الأول" . 21 نوفمبر 2018. تم الاطلاع عليه بتاريخ 22 نوفمبر 2018 .
- ↑ "ملاحظات إصدار dav1d 0.6.0" . 6 مارس 2020.
- ↑ "ملاحظات إصدار SVT-AV1 0.7.0" . 26 سبتمبر 2019.
- ↑ "متطلبات نظام ArcGIS Data Store 11.2" . ArcGIS Enterprise . تم الاطلاع عليه بتاريخ 24 يناير 2024 .
- ↑ "ملاحظات إصدار Prime95" . تم الاطلاع عليها في 10 يوليو 2022 .
- ↑ "تطبيقات أينشتاين في المنزل" .
- ↑ "Tensorflow 1.6" . GitHub .
- ↑ جديد في الإصدار 19.0 – محرر النصوص EmEditor
- ↑ "متطلبات الأجهزة لبرنامج مايكروسوفت تيمز" . مايكروسوفت . تم الاطلاع عليه بتاريخ 17 أبريل 2020 .
- ↑ "تقليل الضوضاء الخلفية في اجتماعات Teams" . دعم Microsoft . تم الاطلاع عليه في 5 يناير 2021 .
- ↑ لانغديل، جيف؛ ليمير، دانيال (2019). "تحليل غيغابايتات من JSON في الثانية". مجلة VLDB . 28 (6): 941-960 . arXiv : 1902.08318 . doi : 10.1007/s00778-019-00578-5 . S2CID 67856679 .
- ↑ "ملاحظات إصدار simdjson 2.1.0" . GitHub . 30 يونيو 2022.
- ↑ لارابيل، مايكل (6 أكتوبر 2023). "دمج OpenJDK لـ x86-simd-sort من إنتل لتسريع فرز البيانات من 7 إلى 15 ضعفًا" . فورونيكس .
- ↑ لارابيل، مايكل (7 يوليو 2022). "محرك Tesseract OCR 5.2 يحقق نجاحًا مع AVX-512F" . فورونيكس .
- ↑ شيفشيك، كريس (24 نوفمبر 2021). "محاكي RPCS3 لجهاز PS3 يحصل على تحسين كبير على معالجات Intel Alder Lake مع تفعيل AVX-512" . مجلة PC Gamer . تاريخ الاسترجاع: 11 أكتوبر 2023 .
- 1 2 ليمير، دانيال (7 سبتمبر 2018). "AVX-512: متى وكيف تستخدم هذه التعليمات الجديدة" . مدونة دانيال ليمير .
- ↑ BeeOnRope. "تعليمات SIMD تخفض تردد وحدة المعالجة المركزية" . Stack Overflow .
- 1 2 داونز، ترافيس (19 أغسطس 2020). "خفض تردد معالج Ice Lake AVX-512" . مدونة Performance Matters .
- ↑ "x86 - أداء AVX 512 مقابل AVX2 لحلقات معالجة المصفوفات البسيطة" . Stack Overflow .
- ↑ "دليل برنامج Intel® Extreme Tuning Utility (Intel® XTU) لكسر السرعة : الضبط المتقدم" . Intel . تم الاطلاع عليه في 18 يوليو 2021.
انظر الصورة في القسم المرتبط، حيث تم ضبط نسبة AVX2 على 0.
روابط خارجية
- تعليمات X86
- الحوسبة SIMD
- تقنيات AMD
- امتدادات مجموعة التعليمات
