معالج عددي فائق

(بالتحويل من Superscalar)

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

خط أنابيب المعالج العددي الفائق البسيط. والذي يكون عمله من خلال جلب وارسال اثنتين من التعليمات في وقت واحد، ويمكنه إكمال وإتمام حد أقصى هو اثنين من التعليمات خلال كل دورة. (أي أف = جلب التعليمات، أي دي = فك شفرة التعليمات، إي إكس= تنفيذ عملية الجلب والإرسال، إم أي إم= الوصول إلى الذاكرة، دبليو أر= سجل إعادة الكتابة، i = عدد التعليمات، t = دورة على مدار الساعة، [أي وقت])
لوحة المعالجة للكمبيوتر الفائق السرعة راي تي 3 مع أربع نوايات معالجة من النوع المعالج العددي الفائق ألفا 21164

وفي تصنيف فلين، يُصَنّف معالج الوحدة السلمية الفائقة أحادي النواة على أنه معالج (أس أي أس دي) (أحادي التعليمات، أحادي البيانات)، بينما يٌصَنّف معالج الوحدة السلمية الفائقة متعدد النواة على انه معالج (أم أي أم دي) ( متعدد التعليمات, متعدد البيانات).

وتمر وحدة المعالجة المركزية الوحدة السلمية الفائقة أيضًا عبر خط أنابيب، وتعتبر الهندسة المعمارية لكل من الأنابيب والوحدة السلمية الفائقة تقنيات مختلفة لتعزيز وتطوير الأداء.

وترتبط تقنية الوحدة السلمية الفائقة بشكل تلقيدي مع العديد من الخصائص المحددة ( داخل نواة وحدة المعالجة المركزية المعطاة):

  • تم إصدار التعليمات من قبل تيار التعليمات المتتابعة.
  • يقوم جهاز وحدة المعالجة المركزية بالفحص الحيوي لاعتمادات البيانات بين التعليمات في وقت التشغيل (ويقوم برنامج التحويل البرمجي بالفحص في وقت التصنيف).
  • تقبل وحدة المعالجة المركزية التعليمات المتعددة بمعدل دورة على مدار الساعة

نبذة تاريخية

في أغلب الأحيان يتم ذكر تصميم سيمور كراي سي دي سي 6600 منذ عام 1965 كأول تصميم للوحدة السلمية الفائقة. ولقد كانت تقنيات كل من إنتل أي 960سي أيه في عام 1988 وأيه أم دي 29000 وسلاسل المعالجات متناهية الصغر 29050 في عام 1990 أول المعالجات الصغيرة التجارية التي تستخدم رقاقات الوحدة السلمية الفائقة . وكانت وحدات المعالجة ريسك أول المعالجات الصغيرة التي تستخدم مفهوم الوحدة السلمية الفائقة، وذلك لأن تصميم ريسك ينتج في نواة بسيطة, مما يسمح بإدراج وحدات وظيفية متعددة (مثل وحدات الحساب والمنطق) على وحدة المعالجة المركزية المفردة في قواعد تصميم مقيدة في ذلك الوقت ( وكان هذا إجابة على لماذا كانت تصميمات ريسك أسرع من تصميمات تقنية حاسب مجموعة التعليمات (سيسك) خلال الثمانينيات 1980 وحتى التسعينيات من عام 1990).

باستثناء وحدات المعالجة المركزية المستخدمة في تطبيقات الطاقة المنخفضة والأنظمة الداخلية التي هي جزء لا يتجزأ من الوحدات والأجهزة التي تعمل بطاقة البطاريات، تم تطوير كل وحدات المعالجة المركزية التي تعمل بشكل أساسي في الأغراض العامة وذلك منذ عام 1998 حتى وصلت إلى وحدات الوحدة السلمية الفائقة.

ولقد كان نظام بينتيوم بي 5 هو أول معالج 86 × بالوحدة السلمية الفائقة: وكانت أنظمة إن أكس 586، وبينتيوم بي 6 وأيه إم دي كي5 بين التصاميم الأولى التي تفك شفرة تعليمات ×86 بشكل متزامن مع الشفرة الدقيقة الحيوية مثل متتابعات البروتوكول الاختيار الدقيق السابق للتنفيذ الفعلي على الهندسة الدقيقة للوحدة السلمية الفائقة: وقد ادى هذا التطور إلى فتح المجال لجدولة ديناميكية من التعليمات الجزئية المخزنة والتمكن من استخراج المزيد من التوازي يمكن مقارنته بالطرق الأكثر جمودًا وصلابة والتي تستخدم في تقنية بينتيوم بي 5 الأكثر بساطة: كما يقوم بتبسيط تنفيذ المضاربة ويسمح بترددات أكثر وأعلى على مدار الساعة بالمقارنة مع التصاميم الأخرى مثل تصميم سيركس 6×86 المتقدم.

الوحدة السلمية والوحدة السلمية الفائقة

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

يؤكد تصميم وحدة المعالجة المركزية بالوحدة السلمية الفائقة على تطوير دقة مرسل التعليمات، ويسمح بحفظ الوحدات الوظيفية المتعددة اثناء استخدامها على الدوام. ولقد أصبح هذا الأمر بشكل متزايد وذلك عند زيادة أعداد الوحدات المتزايدة. بينما وحدات المعالجة المركزية بالوحدة السلمية الفائقة الأولى سوف يكون لديها اثنان من الوحدات هي الوحدة الحسابية المنطقية ووحدة الفاصلة العائمة المفرد والتصميم الحديث مثل تصميم بور بي سي 970 يشمل أربع وحدات هي وحدات أيه أل، واثنتين من الوحدات هي وحدات إف بي واثنتين من الوحدات جهاز حاسب متعدد وحدات التشغيل. وفي حالة ما إذا كان المرسل للبيانات غير فعال أو مؤثر في حفظ كل هذه الوحدات المغذية للتعليمات, و بالتالي سيتعرض أداء هذا النظام للمعاناة .

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

وفي وحدة المعالجة المركزية بالوحدة السلمية الفائقة يقوم المرسل بقراءة التعليمات من الذاكرة ويقرر أية واحدة منها يمكنها أن تعمل بالتوازي، بالقيام بإرسال التعليمات إلى الوحدات الوظيفية الزائدة والتي تحتوي داخلها على وحدة معالجة مركزية مفردة. ومن ثم يمكن تجهيز معالج الوحدة السلمية الفائقة بأنابيب متوازية متعددة، كل واحدة منها يقوم بمعالجة التعليمات بشكل متزامن مع موضوع التعليمات الفردية.

المراجع

  • Mike Johnson, Superscalar Microprocessor Design, Prentice-Hall, 1991, ISBN 0-13-875634-1
  • Sorin Cotofana, Stamatis Vassiliadis, "On the Design Complexity of the Issue Logic of Superscalar Machines", EUROMICRO 1998: 10277-10284
  • Steven McGeady, "The i960CA SuperScalar Implementation of the 80960 Architecture", IEEE 1990, pp. 232–240
  • Steven McGeady, et al., "Performance Enhancements in the Superscalar i960MM Embedded Microprocessor," ACM Proceedings of the 1991 Conference on Computer Architecture (Compcon), 1991, pp. 4–7