تطوير برمجيات الخلايا
يتضمن تطوير البرمجيات للمعالج الدقيق Cell مزيجًا من ممارسات التطوير التقليدية لنواة PPU المتوافقة مع PowerPC ، وتحديات تطوير البرمجيات الجديدة فيما يتعلق بمعالجات SPU المساعدة ذات الوظائف المخفضة.
لينكس على الهاتف المحمول
تم اعتماد استراتيجية تعتمد على البرمجيات مفتوحة المصدر لتسريع تطوير نظام Cell BE البيئي وتوفير بيئة لتطوير تطبيقات Cell، بما في ذلك مُصرّف Cell قائم على GCC، وأدوات binutils، ومنفذ لنظام التشغيل Linux. [ 1 ]
أوكتوبايلر
Octopiler هو برنامج تجميعي أولي من شركة IBM يسمح لمطوري البرامج بكتابة التعليمات البرمجية لمعالجات Cell . [ 2 ] [ 3 ] [ 4 ]
قابلية نقل البرامج
تكييف VMX لـ SPU
الاختلافات بين VMX و SPU
تتشابه تقنية VMX ( امتدادات الوسائط المتعددة المتجهة) من حيث المفهوم مع نموذج المتجهات الذي توفره معالجات SPU، ولكن هناك عدد من الاختلافات الهامة.
| ميزة | VMX | SPU |
|---|---|---|
| حجم الكلمة | 32 بت | 32 بت |
| عدد السجلات | 32 | 128 |
| عرض السجل | كلمة رباعية 128 بت | كلمة رباعية 128 بت |
| تنسيقات الأعداد الصحيحة | 8، 16، 32 | 8، 16، 32، 64 |
| دعم التشبع | نعم | لا |
| ترتيب البايتات | كبير (افتراضي)، صغير | ترتيب البايتات الكبير |
| أوضاع الفاصلة العائمة | جافا، غير جافا | دقة مفردة، دقة مزدوجة وفقًا لمعيار IEEE |
| محاذاة الذاكرة | الكلمات الرباعية فقط | الكلمات الرباعية فقط |
يتوافق وضع VMX Java مع مجموعة مواصفات لغة Java 1 الفرعية من معيار IEEE الافتراضي ، مع توسيع نطاقه ليشمل التوافق مع معايير IEEE و C9X في الحالات التي لا يتناولها معيار Java. في التطبيق النموذجي، يقوم الوضع غير Java بتحويل القيم غير الطبيعية إلى صفر، بينما يقوم وضع Java بالتحويل إلى محاكي عندما يواجه المعالج مثل هذه القيمة.
لا يحدد دليل IBM PPE Vector/SIMD العمليات الخاصة بالفاصلة العائمة ذات الدقة المزدوجة، على الرغم من أن IBM قد نشرت مواد تشير إلى أرقام أداء معينة ذات دقة مزدوجة مرتبطة بتقنية Cell PPE VMX.
الخصائص الجوهرية
توفر مُجمّعات لغة Cell وظائف داخلية لعرض تعليمات SPU المفيدة في لغتي C و C++. عادةً ما يتم تمثيل التعليمات التي تختلف فقط في نوع المعامل (مثل a و ai و ah و ahi و fa و dfa للجمع) بواسطة وظيفة داخلية واحدة في C/C++ تقوم باختيار التعليمة المناسبة بناءً على نوع المعامل.
نقل كود VMX إلى SPU
يمكن تكييف جزء كبير من كود VMX ( Altivec ) المُطوّر لمعالجات IBM Power الدقيقة ، وخاصةً في إصدار PowerPC من نظام macOS ، للاستخدام على وحدة المعالجة المركزية SPU. وتعتمد جدوى النقل على مدى استخدام ميزات VMX المُحددة، والتي تتراوح بين السهولة والتعقيد. ومع ذلك، تتوافق أحمال العمل الرئيسية عادةً بشكل جيد مع بنية SPU.
في بعض الحالات، يمكن نقل كود VMX الحالي مباشرةً. إذا كان كود VMX عامًا جدًا (لا يفترض الكثير عن بيئة التنفيذ)، فقد تكون عملية النقل سهلة نسبيًا. يحدد المعالجان تنسيقًا مختلفًا للكود الثنائي ، لذا يلزم إعادة الترجمة كحد أدنى. حتى في حال وجود تعليمات لها نفس السلوك، فإنها لا تحمل نفس أسماء التعليمات، لذا يجب ربطها أيضًا. تتضمن مجموعة أدوات تطوير IBM وظائف مضمنة في المُترجم تُؤتمت جزءًا كبيرًا من عملية الربط هذه.
في كثير من الحالات، لا توجد تعليمات مكافئة مباشرة. قد يكون الحل البديل واضحًا أو غير واضح. على سبيل المثال، إذا كان سلوك التشبع مطلوبًا على وحدة المعالجة الخاصة (SPU)، فيمكن برمجته بإضافة تعليمات إضافية إلى وحدة المعالجة الخاصة لتحقيق ذلك (مع بعض الفقد في الكفاءة). في المقابل، إذا كانت دلالات الفاصلة العائمة في جافا مطلوبة، فمن شبه المستحيل تحقيق ذلك على معالج وحدة المعالجة الخاصة. قد يتطلب تحقيق نفس العملية الحسابية على وحدة المعالجة الخاصة كتابة خوارزمية مختلفة تمامًا من الصفر.
أهم أوجه التشابه المفاهيمي بين VMX وبنية SPU هو دعمهما لنفس نموذج التوجيه . ولهذا السبب، فإن معظم الخوارزميات المُكيَّفة مع Altivec عادةً ما تتكيف بنجاح مع بنية SPU أيضًا.
استغلال المتاجر المحلية
قد يؤدي نقل البيانات بين وحدات التخزين المحلية لوحدات المعالجة المختلفة إلى انخفاض كبير في الأداء. ويمكن استغلال وحدات التخزين المحلية لكل وحدة معالجة على حدة باستخدام استراتيجيات متنوعة.
تمثل التطبيقات ذات الموضعية العالية، مثل حسابات المصفوفات الكثيفة، فئة مثالية لأحمال العمل بالنسبة للمخازن المحلية في Cell BE. [ 5 ]
يمكن استيعاب عمليات الحساب المتدفقة بكفاءة باستخدام تقنية نقل كتل الذاكرة عبر خطوط الأنابيب البرمجية باستخدام استراتيجية التخزين المؤقت المتعدد. [ 1 ]
توفر ذاكرة التخزين المؤقت للبرامج حلاً للوصول العشوائي. [ 6 ]
يمكن للتطبيقات الأكثر تطوراً استخدام استراتيجيات متعددة لأنواع البيانات المختلفة. [ 7 ]
مراجع
- مشروع الخلية في مركز أبحاث آي بي إم
- مُجمِّع مُحسِّن لمعالج CELL
- استخدام تقنية المترجمات المتقدمة لاستغلال أداء بنية محرك النطاق العريض الخلوي
- تقنية المترجمات للهياكل القابلة للتوسع، مؤرشفة بتاريخ ٢٩ يناير ٢٠٠٩ على موقع Wayback Machine
- 1 2 "بيئة مفتوحة المصدر لبرمجيات نظام محرك النطاق العريض الخلوي" (PDF) . يونيو 2007.
- ↑ استخدام تقنية المترجمات المتقدمة لاستغلال أداء بنية محرك النطاق العريض للخلايا ، مجلة أنظمة IBM، 23 أكتوبر 2017، مؤرشفة من الأصل في 11 أبريل 2006
- ↑ "تقنية المترجمات للهياكل القابلة للتوسع" . أبحاث آي بي إم . 20 يناير 2006. مؤرشف من الأصل في 20 مارس 2008. تم الاطلاع عليه في 11 يونيو 2025 .
- ↑ ستوكس، جون (26 فبراير 2006). "مُحاكي أوكتوبايلر من آي بي إم، أو لماذا يتأخر جهاز بلاي ستيشن 3" . آرس تكنيكا . تاريخ الاسترجاع: 11 يونيو 2025 .
- ↑ "المعالجة التآزرية في بنية Cell متعددة النوى" (PDF) . مارس 2006.
- ↑ "استخدام تقنية المترجم المتقدمة لاستغلال أداء بنية محرك النطاق العريض للخلايا" (ملف PDF) . يناير 2006.
- ↑ "Cell GC: استخدام معالج Cell Synergistic كمعالج مساعد لجمع البيانات المهملة" (ملف PDF) . مارس 2008.
- بنية الخلية BE
- المترجمون
- منتجات وهمية
