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


المعالج فائق التوازي (أو المعالج متعدد الإصدارات [ 1 ] ) هو وحدة معالجة مركزية تُنفذ نوعًا من التوازي يُسمى التوازي على مستوى التعليمات داخل معالج واحد. [ 2 ] على عكس المعالج القياسي ، الذي يُمكنه تنفيذ تعليمة واحدة على الأكثر في كل دورة ساعة، يُمكن للمعالج فائق التوازي تنفيذ أو بدء تنفيذ أكثر من تعليمة واحدة خلال دورة الساعة عن طريق إرسال تعليمات متعددة في وقت واحد إلى وحدات تنفيذ مختلفة على المعالج. وبالتالي، فإنه يسمح بإنتاجية أعلى (عدد التعليمات التي يُمكن تنفيذها في وحدة زمنية، والتي قد تكون أقل من 1) مما هو ممكن في حالة استخدام تردد ساعة مُحدد . كل وحدة تنفيذ ليست معالجًا منفصلاً (أو نواة إذا كان المعالج متعدد النوى )، بل هي مورد تنفيذي داخل وحدة معالجة مركزية واحدة، مثل وحدة الحساب والمنطق .
على الرغم من أن وحدة المعالجة المركزية فائقة التوازي عادةً ما تكون مزودة بتقنية خطوط الأنابيب ، إلا أن تنفيذ التعليمات بتقنية التوازي وتقنية خطوط الأنابيب يُعتبران أسلوبين مختلفين لتحسين الأداء. فالأول (التوازي الفائق) يُنفذ تعليمات متعددة بالتوازي باستخدام وحدات تنفيذ متعددة، بينما يُنفذ الثاني (خطوط الأنابيب) تعليمات متعددة في وحدة التنفيذ نفسها بالتوازي عن طريق تقسيم وحدة التنفيذ إلى مراحل مختلفة. في الشكل التوضيحي "خط أنابيب التوازي الفائق البسيط"، يُعد جلب تعليمتين في الوقت نفسه توازيًا فائقًا، بينما يُعد جلب التعليمتين التاليتين قبل كتابة التعليمتين السابقتين توازيًا.
ترتبط تقنية المعالجة الفائقة تقليديًا بالعديد من الخصائص المميزة (داخل وحدة المعالجة المركزية المعينة):
- يتم إصدار التعليمات من سلسلة تعليمات متسلسلة
- يقوم المعالج المركزي بالتحقق ديناميكيًا من تبعيات البيانات بين التعليمات في وقت التشغيل (مقابل التحقق البرمجي في وقت الترجمة ).
- يمكن لوحدة المعالجة المركزية تنفيذ تعليمات متعددة في كل دورة ساعة
تاريخ
على الرغم من أن معالج CDC 6600 من سيمور كراي ، الذي صدر عام 1964، لم يكن قادرًا على إصدار تعليمات متعددة في الدورة الواحدة، إلا أنه يُستشهد به غالبًا كأحد المؤثرات المبكرة على المعالجات فائقة القياس الحديثة لقدرته على تنفيذ التعليمات بشكل متزامن عبر وحدات وظيفية متعددة. وكان معالج IBM System/360 Model 91 ، الذي صدر عام 1967، مؤثرًا مبكرًا آخر أدخل التنفيذ خارج الترتيب، وكان رائدًا في استخدام خوارزمية توماسولو . [ 3 ] أما معالجات Intel i960 CA (1989)، [ 4 ] و AMD 29050 من سلسلة 29000 (1990)، وMotorola MC88110 (1991)، [ 5 ] فكانت أول معالجات فائقة القياس أحادية الشريحة تجارية. كانت المعالجات الدقيقة RISC مثل هذه أول من يمتلك تنفيذًا فائقًا، لأن بنية RISC توفر الترانزستورات ومساحة الرقاقة التي يمكن استخدامها لتضمين وحدات تنفيذ متعددة، كما أن التوحيد التقليدي لمجموعة التعليمات يفضل الإرسال الفائق (وهذا هو السبب في أن تصميمات RISC كانت أسرع من تصميمات CISC خلال الثمانينيات وحتى التسعينيات، ومن الصعب جدًا إجراء إرسال متعدد عندما يكون للتعليمات طول بت متغير).
باستثناء وحدات المعالجة المركزية المستخدمة في التطبيقات منخفضة الطاقة والأنظمة المدمجة والأجهزة التي تعمل بالبطاريات ، فإن جميع وحدات المعالجة المركزية للأغراض العامة التي تم تطويرها منذ حوالي عام 1998 هي وحدات فائقة القياس.
كان معالج P5 Pentium أول معالج x86 فائق القياس؛ وكان Nx586 و P6 Pentium Pro و AMD K5 من بين التصاميم الأولى التي تقوم بفك تشفير تعليمات x86 بشكل غير متزامن إلى تسلسلات عمليات دقيقة ديناميكية تشبه التعليمات البرمجية الدقيقة قبل التنفيذ الفعلي على بنية دقيقة فائقة القياس ؛ وقد فتح هذا المجال أمام الجدولة الديناميكية للتعليمات الجزئية المخزنة مؤقتًا ومكّن من استخراج المزيد من التوازي مقارنة بالأساليب الأكثر صرامة المستخدمة في معالج P5 Pentium الأبسط؛ كما أنه بسّط التنفيذ التخميني وسمح بترددات ساعة أعلى مقارنة بتصميمات مثل Cyrix 6x86 المتقدم .
من الكمية القياسية إلى الكمية الفائقة
أبسط أنواع المعالجات هي المعالجات العددية. عادةً ما تعالج كل تعليمة تُنفذ بواسطة معالج عددي عنصرًا أو عنصرين من البيانات في كل مرة. في المقابل، تعمل كل تعليمة تُنفذ بواسطة معالج متجهي على العديد من عناصر البيانات في آنٍ واحد. ويمكن تشبيه ذلك بالفرق بين الحساب العددي والحساب المتجهي. أما المعالج فائق العددية فهو مزيج من النوعين. تعالج كل تعليمة عنصر بيانات واحدًا، ولكن توجد وحدات تنفيذ متعددة داخل كل وحدة معالجة مركزية، مما يسمح بتعليمات متعددة بمعالجة عناصر بيانات منفصلة في وقت واحد.
يركز تصميم المعالجات فائقة التوازي على تحسين دقة موزع التعليمات، مما يسمح له بإبقاء وحدات التنفيذ المتعددة قيد الاستخدام باستمرار. وقد ازدادت أهمية هذا الأمر مع ازدياد عدد الوحدات. فبينما كانت المعالجات فائقة التوازي الأولى تحتوي على وحدتي حساب ومنطق (ALU) ووحدة حساب الفاصلة العائمة (FPU) واحدة ، فإن التصميمات اللاحقة، مثل PowerPC 970، تتضمن أربع وحدات حساب ومنطق، ووحدتي حساب الفاصلة العائمة، ووحدتي SIMD. إذا لم يكن موزع التعليمات فعالاً في تزويد جميع هذه الوحدات بالتعليمات، فلن يكون أداء النظام أفضل من أداء تصميم أبسط وأقل تكلفة.
عادةً ما يحافظ المعالج فائق التوازي على معدل تنفيذ يتجاوز تعليمة واحدة لكل دورة معالجة . لكن مجرد معالجة تعليمات متعددة في وقت واحد لا يجعل بنية المعالج فائقة التوازي، إذ أن البنى ذات خطوط الأنابيب أو المعالجات المتعددة أو النوى المتعددة تحقق ذلك أيضاً، ولكن بطرق مختلفة.
في وحدة المعالجة المركزية فائقة التوازي، يقرأ الموزع التعليمات من الذاكرة ويحدد أيها يمكن تنفيذه بالتوازي، ثم يوزع كل تعليمة على إحدى وحدات التنفيذ المتعددة الموجودة داخل وحدة المعالجة المركزية الواحدة. لذلك، يمكن تصور المعالج فائق التوازي على أنه يحتوي على عدة مسارات متوازية، كل منها يعالج التعليمات في وقت واحد من خيط تعليمات واحد.
تحتوي معظم وحدات المعالجة المركزية فائقة القياس الحديثة أيضًا على منطق لإعادة ترتيب التعليمات لمحاولة تجنب توقف خط الأنابيب وزيادة التنفيذ المتوازي.
القيود
إن التحسين المتاح في الأداء من خلال تقنيات المعالجة الفائقة محدود بثلاثة مجالات رئيسية:
- درجة التوازي الجوهري في تدفق التعليمات (التعليمات التي تتطلب نفس الموارد الحسابية من وحدة المعالجة المركزية)
- تعقيد وتكلفة الوقت لمنطق فحص التبعية ودوائر إعادة تسمية السجلات
- معالجة تعليمات التفرع
تتفاوت البرامج التنفيذية الثنائية الموجودة في درجة التوازي الذاتي. ففي بعض الحالات، لا تعتمد التعليمات على بعضها البعض ويمكن تنفيذها في وقت واحد. وفي حالات أخرى، تكون مترابطة: إذ تؤثر كل تعليمة على موارد أو نتائج التعليمات الأخرى. a = b + c; d = e + fويمكن تنفيذ التعليمات بالتوازي لأن نتائجها لا تعتمد على حسابات أخرى. ومع ذلك، a = b + c; b = e + fقد لا يكون من الممكن تنفيذ التعليمات بالتوازي، وذلك بحسب ترتيب إتمامها أثناء مرورها عبر الوحدات.
على الرغم من أن سلسلة التعليمات قد لا تحتوي على أي تبعيات بين التعليمات، إلا أنه يجب على وحدة المعالجة المركزية فائقة القياس التحقق من هذا الاحتمال، لأنه لا يوجد ضمان بخلاف ذلك، وعدم اكتشاف التبعية سيؤدي إلى نتائج غير صحيحة.
مهما بلغت عملية تصنيع أشباه الموصلات من تطور أو سرعة التبديل، فإن هذا يفرض حدًا عمليًا على عدد التعليمات التي يمكن تنفيذها في وقت واحد. فبينما تسمح التطورات في عمليات التصنيع بزيادة عدد وحدات التنفيذ (مثل وحدات الحساب والمنطق)، يتزايد عبء التحقق من تبعيات التعليمات بسرعة، وكذلك تعقيد دوائر إعادة تسمية المسجلات للتخفيف من بعض هذه التبعيات. وبشكل عام، فإن استهلاك الطاقة والتعقيد وتكاليف تأخير البوابات تحد من إمكانية تحقيق تسريع فائق في المعالجات فائقة التوازي.
مع ذلك، حتى مع وجود منطق فحص التبعية فائق السرعة على وحدة معالجة مركزية فائقة القياس تقليدية، فإن وجود العديد من التبعيات في تدفق التعليمات نفسه سيحد من إمكانية تسريع العملية. وبالتالي، تشكل درجة التوازي الجوهري في تدفق التعليمات قيدًا ثانيًا.
البدائل
بشكل جماعي، تدفع هذه القيود إلى إجراء بحث حول تغييرات معمارية بديلة مثل كلمة التعليمات الطويلة جدًا (VLIW)، والحوسبة المتوازية الصريحة للتعليمات (EPIC)، والمعالجة المتعددة المتزامنة (SMT)، والحوسبة متعددة النوى .
مع تقنية VLIW، يتم التخلص من مهمة التحقق من التبعيات المرهقة التي تقوم بها منطق الأجهزة أثناء التشغيل، ويتم تفويضها إلى المُصرّف . أما الحوسبة المتوازية الصريحة للتعليمات (EPIC) فهي تشبه تقنية VLIW مع إضافة تعليمات جلب مسبق من الذاكرة المؤقتة.
تُعدّ المعالجة المتعددة المتزامنة (SMT) تقنيةً لتحسين الكفاءة العامة للمعالجات فائقة التوازي. تسمح هذه التقنية بتنفيذ عدة خيوط مستقلة، ما يُحسّن استغلال الموارد التي توفرها بنى المعالجات الحديثة. وكونها مستقلة يعني إمكانية تنفيذ تعليمات أحد الخيوط خارج الترتيب أو بالتوازي مع تعليمات خيط آخر. كما أن الخيط المستقل لا يُسبب تداخلًا في تدفق التعليمات البرمجية لخيط آخر، كما في حالة التفرع.
تختلف المعالجات فائقة التوازي عن المعالجات متعددة النوى في أن وحدات التنفيذ المتعددة فيها لا تُشكل معالجات كاملة. يتكون المعالج الواحد من وحدات تنفيذ أدق، مثل وحدة الحساب والمنطق (ALU) ، ووحدة ضرب الأعداد الصحيحة ، ووحدة إزاحة الأعداد الصحيحة، ووحدة الفاصلة العائمة (FPU) ، وغيرها. قد توجد نسخ متعددة من كل وحدة تنفيذ لتمكين تنفيذ العديد من التعليمات بالتوازي. يختلف هذا عن المعالج متعدد النوى الذي يُعالج التعليمات من خيوط متعددة في وقت واحد، خيط واحد لكل وحدة معالجة (تُسمى "نواة"). كما يختلف عن المعالج ذي البنية الأنبوبية ، حيث يمكن أن تكون التعليمات المتعددة في مراحل تنفيذ مختلفة في وقت واحد، على غرار خط التجميع .
لا تتعارض التقنيات البديلة المختلفة فيما بينها، بل يمكن دمجها (وكثيراً ما يحدث ذلك) في معالج واحد. وبالتالي، يصبح من الممكن وجود وحدة معالجة مركزية متعددة النوى، حيث تمثل كل نواة معالجاً مستقلاً يحتوي على عدة مسارات متوازية، كل منها فائق القياس. كما تتضمن بعض المعالجات أيضاً إمكانية معالجة البيانات المتجهة .
انظر أيضاً
- تنفيذ متلهف
- تقنية تعدد الخيوط المتزامنة
- المعالجة المتعددة المتزامنة
- التنفيذ خارج الترتيب
- حاجز الرفوف
- التنفيذ التخميني
- مشكلة قفل البرمجيات ، وهي مشكلة في المعالجات المتعددة تشبه تبعيات المنطق على المعالجات فائقة القياس
- التضفير الفائق
مراجع
- ↑ ب. باتشيكو، مقدمة في البرمجة المتوازية ، 2011، القسم 2.2.5، "هناك منهجان رئيسيان للبرمجة المتوازية الخطية: التجزئة ... والإصدار المتعدد ... يُقال أحيانًا أن المعالج الذي يدعم الإصدار المتعدد الديناميكي هو معالج فائق القياس." أ. تشين ، هندسة الحاسوب للعلماء ، 2022، الصفحة 102، "الإصدار المتعدد (المعروف أيضًا باسم فائق القياس)".
- ↑ "ما هو المعالج فائق التوازي؟ - تعريف من Techopedia" . Techopedia.com . 28 فبراير 2019. تم الاطلاع عليه بتاريخ 29 أغسطس 2022 .
- ^ سميث، جيمس إي. سوهي، جوريندار س. (ديسمبر 1995). “الهندسة المعمارية الدقيقة للمعالجات Superscalar” (PDF) . وقائع IEEE . 83 (12): 1609. بيب كود : 1995IEEEP..83.1609S . دوى : 10.1109/5.476078 .
- ↑ ماكجيدي، ستيفن (ربيع 1990). تطبيق i960CA SuperScalar لبنية 80960. المؤتمر الدولي الخامس والثلاثون لجمعية مهندسي الكهرباء والإلكترونيات (IEEE) حول الاستفادة الفكرية. الصفحات 232-240 . doi : 10.1109/CMPCON.1990.63681 . ISBN 0-8186-2028-5. S2CID 13206773 .
- ↑ ديفندورف، ك.؛ ألين، م. (ربيع 1992). "معالج موتورولا 88110 فائق التوازي بتقنية RISC". ملخص أوراق مؤتمر COMPCON ربيع 1992. الصفحات 157-162 . doi : 10.1109/CMPCON.1992.186702 . ISBN 0-8186-2655-0. S2CID 34913907 .
- مايك جونسون ، تصميم المعالجات الدقيقة فائقة القياس ، برنتيس هول، 1991، رقم ISBN 0-13-875634-1
- سورين كوتوفانا، ستاماتيس فاسيلياديس، "حول تعقيد تصميم منطق الإصدار للآلات فائقة القياس"، يوروميكرو 1998: 10277-10284
- ستيفن ماكجيدي وآخرون، "تحسينات الأداء في المعالج الدقيق المدمج فائق التوازي i960MM"، وقائع مؤتمر ACM لعام 1991 حول هندسة الحاسوب (Compcon) ، 1991، الصفحات 4-7
روابط خارجية
- التنفيذ السريع / المسار المزدوج / المسار المتعدد ، بقلم مارك سموثرمان
- المعالجات الدقيقة فائقة القياس
- فئات الحواسيب
- هندسة الحاسوب
- الحوسبة المتوازية
