امتدادات مجموعة التعليمات
تضيف امتدادات مجموعة التعليمات تعليمات جديدة إلى البنية الأساسية - لعمليات المتجهات و SIMD، والتشفير، والعمليات الذرية، أو غيرها من الأعمال المتخصصة - مما يوسع القدرة مع الحفاظ على التوافق مع البرامج الموجودة.
Definition
امتداد مجموعة التعليمات هو مجموعة من التعليمات الإضافية المضافة إلى بنية مجموعة تعليمات أساسية لتوفير وظائف جديدة - عادةً عمليات متوازية البيانات، أو تشفيرية، أو ذرية - مع الحفاظ على التعليمات الموجودة والتوافق الثنائي سليماً.
Scope
يغطي هذا الموضوع كيفية نمو مجموعات التعليمات بمرور الوقت من خلال الامتدادات الاختيارية أو الإلزامية: امتدادات SIMD والمتجهات للتوازي في البيانات، وتعليمات التشفير ومعالجة البتات، والعمليات الأولية الذرية والمزامنة، ونموذج الامتداد المعياري لمجموعات التعليمات مثل RISC-V. ويتناول أهداف وقيود توسيع مجموعة التعليمات دون كسر التوافق. ويستثني الأجهزة المتوازية الأساسية التي تنفذ هذه التعليمات (معالجات SIMD والمتجهات) ومخطط الترميز الأساسي (تنسيقات التعليمات والترميز).
Core questions
- لماذا يتم تمديد مجموعات التعليمات بدلاً من إعادة تصميمها؟
- كيف يتم تركيب الامتدادات في مساحة ترميز ثابتة دون كسر التعليمات البرمجية الموجودة؟
- ما هي أنواع العمليات التي تبرر عادةً الامتدادات المخصصة؟
- كيف يسمح نموذج الامتداد المعياري للتطبيقات بتضمين الميزات التي تحتاجها فقط؟
Key concepts
- امتدادات SIMD
- امتدادات المتجهات
- تعليمات التشفير
- تعليمات ذرية ومزامنة
- امتدادات معيارية واختيارية
- التوافق مع الإصدارات السابقة
- إدارة مساحة رمز التشغيل
Mechanisms
تستخدم الامتدادات مساحة رموز التشغيل غير المستخدمة سابقًا وتحدد تعليمات أو سجلات أو حالات جديدة. يكتشف البرنامج الامتدادات المتاحة في وقت التشغيل (على سبيل المثال عبر علامات الميزات) ويرسلها إلى مسارات التعليمات البرمجية المحسّنة. تضيف امتدادات SIMD والمتجهات سجلات وعمليات واسعة النطاق تطبق تعليمة واحدة عبر العديد من عناصر البيانات؛ وتوحد مجموعات التعليمات المعيارية مثل RISC-V أساسًا صغيرًا وقائمة من الامتدادات الاختيارية التي يقوم المنفذون بتركيبها.
Clinical relevance
الامتدادات هي الطريقة التي تحافظ بها مجموعات التعليمات على مواكبة أعباء العمل الجديدة دون التخلي عن أنظمتها البرمجية. تعمل عائلات SIMD مثل x86 SSE/AVX و ARM NEON على تسريع الوسائط المتعددة، والنواة العلمية، ونواة التعلم الآلي؛ وتسرع امتدادات التشفير التشفير؛ وتسمح الامتدادات المعيارية لمجموعة تعليمات واحدة بالتوسع من وحدات التحكم الدقيقة الصغيرة إلى الحواسيب الفائقة.
History
دخلت امتدادات SIMD وحدات المعالجة المركزية الرئيسية في أواخر التسعينيات مع MMX و SSE من Intel ولاحقًا AVX، و NEON من ARM. تبعتها امتدادات متخصصة للتشفير، ومؤخرًا، للتعلم الآلي. جعلت مجموعة تعليمات RISC-V، المصممة منذ البداية حول أساس أدنى بالإضافة إلى امتدادات اختيارية موحدة، نموذج الامتداد المعياري صريحًا ومركزيًا.
Key figures
- John L. Hennessy
- David A. Patterson
- Krste Asanović
Related topics
Seminal works
- hennessy2019
- patterson2020
Frequently asked questions
- كيف تستخدم البرامج امتدادًا لا يمتلكه كل معالج؟
- يكتشف البرنامج في وقت التشغيل الامتدادات التي يدعمها المعالج، عادةً عن طريق الاستعلام عن علامات الميزات، ويختار مسار التعليمات البرمجية المحسّن عند وجود الامتداد أو يعود إلى التعليمات الأساسية بخلاف ذلك، مما يحافظ على الصحة عبر الأجهزة.
- ماذا يعني أن RISC-V معياري؟
- يحدد RISC-V مجموعة تعليمات أساسية إلزامية صغيرة للأعداد الصحيحة بالإضافة إلى مجموعة من الامتدادات الاختيارية الموحدة (للضرب، والعمليات الذرية، والنقطة العائمة، والمتجهات، والمزيد). يتضمن التنفيذ فقط الامتدادات التي يحتاجها، لذلك تمتد نفس مجموعة التعليمات من النوى المدمجة الصغيرة إلى المعالجات عالية الأداء.