تعليمات وحيدة بيانات متعددة

سيمد (بالإنجليزية: SIMD)‏ أي تعليمة واحدة على بيانات متعددة.[1] هو أحد الأصناف الواردة في تصنيف فلين في مجال الحوسبة المتوازية.

الآلات من هذا النوع تدعى أحياناً بآلات مصفوفة المعالج. لأن المعالجات في هذه الآلات تعمل على نبضة الساعة، أي أن جميع المعالجات تنفذ نفس التعليمة في نفس الوقت (لكن مع معطيات مختلفة) ,التزامن بين المعالجات مطلوب. وهذا يبسط إلى حد كبير تصميم كل نظام. معالج التحكم يرسل التعليمات التي سيتم تنفيذها بواسطة المعالجات في مصفوفة المعالج. في الوقت الحاضر الآلات المتوفرة تجارياً من نوع مصفوفة المعالج يتم تسويقها.

و مع ذلك نظراً لنقص حجم الأجهزة على الشرائح والرقاقات فإنه لمن المجدي العثور على معالج بسيط مع مكونات الشبكة الخاصة به على شريحة واحدة مما يجعل نظام مصفوفة المعالج يحيا اقتصادياً مرة أخرى. في الواقع وحدة معالجة الرسوم (GPUs) تتشارك في العديد من الصفات مع أنظمة مصفوفة المعالجات.

آلات ال DM-SIMD تستخدم معالج ال front-end والذي هو مرتبط ب معالج التحكم بواسطة خطوط المعطيات. العمليات التي لا يمكن أن تنفذ بواسطة مصفوفة المعالج أو بواسطة معالج التحكم لا تحمّل إلى نظام ال front-end وكمثال الدخل والخرج قد ينفذ من خلال نظام ال front-end.

جميع المعالجات في هذه الأنظمة متصلة بشبكة ثنائية، الرابط الطوبولوجي بين آلات هذه الأنواع دائما يتضمن شبكة ثنائية. في حالات أخرى قد يتم الاتصال ب شبكة ثلاثية أو حتى أكثر تعقيداً.

من الممكن أن تستبعد المعالجات في مصفوفة المعالج من تنفيذ تعليمات في شروط منطقية معينة، لكن هذا يعني أنه من أجل الوقت المخصص لهذه التعليمات هذه المعالجات تعتبر خاملة (نتيجة مباشرة لعمليات هذا النوع) مما يخفض الأداء، عامل آخر يمكن أن يؤثر على السرعة يحدث هذا العامل عندما المعطيات المطلوبة من قبل معالج (i) تكون مقيمة في ذاكرة المعالج (j) (في الواقع عندما يحصل هذا لجميع المعالجات في نفس الوقت ف هذا يعني أن التعليمات يحب أن يعاد ترتيبها من جديد) للوصول إلى المعطيات في المعالج (j) يجب أن تجلب بواسطة هذا المعالج أي المعالج (j) ومن ثم ترسل من خلال شبكة الراوتر إلى المعالج (i). وهذا قد يستغرق وقتاً طويلاً نوعاً ما. لكل هذه الأسباب المذكورة آلات ال DM SIMA متخصصة في استخداماتها عندما يريد أحدنا ان يتعامل مع توازي تام. عموماً أنهم يؤدون بشكل ممتاز على الإشارات الرقمية ومعالجة الصور وعلى أنواع معينة من عمليات محاكاة (مونتي كارلو) حيث لا يوجد تبادل معطيات بين المعالجات وهو المطلوب.

معالج التحكم قد يكون أكثر أو أقل ذكاءً، إنها مسائل تسلسل التعليمات التي سيتم تنفيذها بواسطة مصفوفة المعالج. في أسوء الحالات عندما التعليمة ليست صالحة للتنفيذ على مصفوفة المعالج (على سبيل المثال طباعة تعليمات بسيطة) ربما أنها لن تحمل إلى معالج ال front- end وذلك سيؤدي إلى بطء أكثر بكثير مما لو كنا سننفذه على معالج التحكم، في حالة وجود أكثر من معالج تحكم مستقل هذا قد يجنب البطء السابق مما يوفر تجهيز المقاطعات على حد سواء على معالج front-end وعلى معالج التحكم. معظم أنظمة ال DM SMID تملك إمكانية لمعالجة الدخل والخرج بشكل مستقل عن معالجات ال front – end، هذا ليس فقط مفضل لأنه ألغى الاتصال بين أنظمة ال fornt – end وأنظمة ال back – end أجهزة الدخل والخرج (المختصة) الموجودة في نظام مصفوفة المعالج عموماً أكثر كفاءة وفعالية في تزويد المعطيات الضرورية بشكل مباشر إلى ذاكرة مصفوفة المعالج.و خاصة بالنسبة لتطبيقات البيانات الكثيفة جداً مثل الرادار ومعالجة الصور مثل أنظمة الدخل والخرج مهم جداً.

السمة المميزة لهذا النوع من الآلات هو أن المعالجات في بعض الأحيان هي من نوع bit-serial بسيطة جدا ً.و كمثال المعالجات تعمل على عناصر المعطيات على مستوى البت بغض النظر عن نوعها وهكذا على سبيل المثال العمليات على الأعداد الصحيحة تنتج بواسطة برامج تعمل بشكل روتيني على معالجات ال bit-serial البسيطة هذه التي تستغرق من الدورات على الأقل ما يساوي طول المعاملات. لذا على 32 بت النتائج الصحيحة ستنجز بشكل أسرع مرتين من 64 بت، ويكون لدينا وضع مشابة بالنسبة لعمليات الفاصلة العائمة حيث أن عدد من المعالجات في هذا النوع من الأنظمة كبيرة جداَ (1024 وأكبر)، العملية الأبطأ على أرقام الفاصلة العائمة يمكن في كثير من الأحيان تعويضها بعددهم، بينما تكلفة المعالج الواحد منخفضة جداً بالمقارنة مع معالجات الفاصلة العائمة الكاملة. في بعض الحالات معالجات الفاصلة العائمة تضاف إلى مصفوفة المعالج ويكون عددهم أقل من 8 إلى 16 مرة من معالج ال bit – serial بسبب الكلفة.ميزة العمل على المعالجات المتسلسة على مستوى البت bit-serial أنها يمكن أن تعالج معاملات مهما كان طولها.هذا بالتحديد إيجابي لتوليد الأرقام العشوائية (و التي غالباً ما تختصر إلى معالجة منطقية على مستوى البتات) وأيضا ً لمعالجة الإشارة لأنه في كلا الحالتين فقط من 1 إلى 8 بت من المعاملات يكون لها قيمة. كما أن زمن التنفيذ للآلات التسلسلية على مستوى البت bit-serial يتناسب مع طول المعاملات، وهذا يسبب في زيادة السرعة بشكل كبير.

مصادر

عدل
  1. ^ "معلومات عن تعليمات وحيدة بيانات متعددة على موقع id.loc.gov". id.loc.gov. مؤرشف من الأصل في 2019-12-15.