معالج Superscalar: الهندسة المعمارية ، خطوط الأنابيب ، الأنواع وتطبيقاتها

جرب أداة القضاء على المشاكل





في هذا العالم ، يريد الجميع إنجاز مهامهم / أعمالهم بشكل سريع. أليس كذلك ؟ من السيارات إلى الآلات الصناعية إلى الآلات المنزلية ، يريد الجميع أن يعملوا بشكل أسرع. هل تعرف ما الذي يجلس داخل هذه الآلات مما يجعلها تعمل؟ هم انهم معالجات . قد تكون معالجات صغيرة أو ماكرو اعتمادًا على الوظيفة. يقوم المعالج الأساسي بشكل عام بتنفيذ تعليمات واحدة لكل دورة ساعة. من أجل تحسين سرعة معالجتها حتى تتمكن الآلات من تحسين سرعتها ، تم إنشاء معالج superscalar التي تحتوي على خوارزمية خطوط الأنابيب لتمكينها من تنفيذ تعليمتين في كل دورة على مدار الساعة. تم اختراعه لأول مرة بواسطة CDC 6600 من Seymour Cray الذي تم اختراعه في عام 1964 وتم تحسينه لاحقًا بواسطة Tjaden & Flynn في عام 1970.


تم تطوير أول معالج دقيق تجاري ذو شريحة واحدة MC88100 بواسطة Motorola في عام 1988 ، ثم قدمت Intel نسختها I960CA في عام 1989 و AMD 29000-series 29050 في عام 1990. في الوقت الحالي ، المعالج النموذجي المستخدم هو معالج Intel Core i7 اعتمادًا على العمارة الدقيقة في نيحالم.



على الرغم من أن تطبيقات superscalar تتجه نحو تعزيز التعقيد. يشير تصميم هذه المعالجات عادةً إلى مجموعة من الأساليب التي تسمح لوحدة المعالجة المركزية للكمبيوتر بالحصول على معدل نقل أعلى من تعليمات واحدة لكل دورة أثناء تنفيذ برنامج تسلسلي واحد. دعنا نرى في هذه المقالة بنية SuperScalarprocessor التي تقلل من وقت تنفيذها وتطبيقاتها.

ما هو معالج Superscalar؟

نوع من المعالجات الدقيقة يتم استخدامه لتنفيذ نوع من التوازي يُعرف بالتوازي على مستوى التعليمات في معالج واحد لتنفيذ أكثر من تعليمات أثناء دورة CLK عن طريق إرسال تعليمات متنوعة في وقت واحد إلى وحدات التنفيذ الخاصة على المعالج. أ معالج عددي ينفذ تعليمة واحدة لكل دورة على مدار الساعة ؛ يمكن لمعالج superscalar تنفيذ أكثر من تعليمات خلال دورة الساعة.



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

  معالج Superscalar
معالج Superscalar

سمات

تتضمن ميزات معالجات superscalar ما يلي.

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

هندسة المعالج Superscalar

نحن نعلم أن المعالج superscalar هو وحدة المعالجة المركزية التي تنفذ أكثر من تعليمات واحدة لكل دورة CLK لأن سرعات المعالجة تقاس ببساطة في دورات CLK لكل ثانية. بالمقارنة مع المعالج القياسي ، فإن هذا المعالج أسرع جدًا.

تتضمن بنية المعالج Superscalar بشكل أساسي وحدات تنفيذ متوازية حيث يمكن لهذه الوحدات تنفيذ التعليمات في وقت واحد. لذلك أولاً ، تم تنفيذ هذه البنية المتوازية داخل معالج RISC الذي يستخدم تعليمات بسيطة وقصيرة لتنفيذ العمليات الحسابية. لذلك نظرًا لقدراتهم الفائقة ، بشكل طبيعي مخاطرة كان أداء المعالجات أفضل مقارنة بمعالجات CISC التي تعمل بالميجاهرتز نفسه. لكن معظم CISC تشتمل المعالجات الآن مثل Intel Pentium على بعض بنية RISC أيضًا ، مما يسمح لها بتنفيذ التعليمات بشكل متوازٍ.

  هندسة المعالج Superscalar
هندسة المعالج Superscalar

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

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

خطوط الأنابيب

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

يتم إصدار التعليمات الموجودة في معالج superscalar من دفق تعليمات متسلسل. يجب أن تسمح بإرشادات متعددة لكل دورة ساعة ويجب أن تتحقق وحدة المعالجة المركزية ديناميكيًا من تبعيات البيانات بين التعليمات.

في بنية خط الأنابيب أدناه ، يتم جلب F ، ويتم فك تشفير D ، ويتم تنفيذ E ويتم تسجيل W إعادة الكتابة. في بنية خطوط الأنابيب هذه ، تعتبر I1 و I2 و I3 و I4 تعليمات.

تتضمن بنية خط أنابيب المعالج العددية خط أنابيب واحدًا وأربع مراحل للجلب وفك التشفير والتنفيذ وإعادة كتابة النتائج. في المعالج القياسي لخط الأنابيب الفردي ، يعمل خط الأنابيب في التعليمات 1 (I1) كما يلي ؛ في فترة الساعة الأولى I1 ، سيتم جلبها ، وفي فترة الساعة الثانية سيتم فك تشفيرها وفي التعليمات الثانية ، سيتم جلب I2. سيتم جلب الإرشاد الثالث I3 في فترة الساعة الثالثة ، وسيتم فك تشفير I2 وسيتم تنفيذ I1. في فترة الساعة الرابعة ، سيتم جلب I4 ، وفك تشفير I3 ، وسيتم تنفيذ I2 وسيقوم I1 بالكتابة في الذاكرة. لذلك ، في سبع فترات زمنية ، سيتم تنفيذ 4 تعليمات في خط أنابيب واحد.

  التبطين العددي
التبطين العددي

تتضمن بنية خط أنابيب المعالج superscalar خطي أنابيب وأربع مراحل للجلب وفك التشفير والتنفيذ وإعادة كتابة النتائج. إنه معالج superscalar مكون من إصدارين مما يعني أنه في وقت واحد سيتم جلب تعليمتين وفك تشفير وتنفيذ وإعادة الكتابة. سوف يقوم الإيعازان I1 و I2 في وقت واحد بإحضار وفك التشفير والتنفيذ والكتابة مرة أخرى في كل فترة ساعة. في نفس الوقت في فترة الساعة التالية ، سيتم جلب الإيعازين المتبقيين I3 و I4 في وقت واحد وفك تشفيرهما وتنفيذهما وإعادة الكتابة. لذلك ، في خمس فترات زمنية ، سيتم تنفيذ 4 تعليمات في خط أنابيب واحد.

  خط الأنابيب الفائق
خط الأنابيب الفائق

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

أنواع معالجات Superscalar

هذه أنواع مختلفة من معالجات superscalar المتوفرة في السوق والتي تمت مناقشتها أدناه.

معالج Intel Core i7

Intel core i7 هو معالج فائق السرعة يعتمد على بنية Nehalem الدقيقة. في تصميم Core i7 ، هناك العديد من أنوية المعالجات حيث يكون كل نواة معالج عبارة عن معالج فائق السرعة. هذا هو أسرع إصدار من معالج Intel المستخدم في أجهزة الكمبيوتر والأجهزة الاستهلاكية. على غرار معالج Intel Corei5 ، تم تضمين هذا المعالج في تقنية Intel Turbo Boost. يمكن الوصول إلى هذا المعالج في 2 إلى 6 أنواع مختلفة تدعم ما يصل إلى 12 خيطًا مختلفًا في وقت واحد.

  معالج Intel Core i7
معالج Intel Core i7

معالج إنتل بنتيوم

تعني بنية سوبيرسكالار لمعالج إنتل بنتيوم أن وحدة المعالجة المركزية تنفذ ما لا يقل عن اثنين أو أكثر من التعليمات لكل دورة. يستخدم هذا المعالج على نطاق واسع في أجهزة الكمبيوتر الشخصية. عادةً ما يتم تصميم أجهزة معالجات Intel Pentium للاستخدام عبر الإنترنت والحوسبة السحابية والتعاون. لذلك يعمل هذا المعالج بشكل مثالي مع الأجهزة اللوحية وأجهزة Chromebook لتوفير أداء محلي قوي وتفاعلات فعالة عبر الإنترنت.

  معالج إنتل بنتيوم
معالج إنتل بنتيوم

IBM Power PC601

المعالج superscalar مثل IBM power PC601 هو من عائلة PowerPC من المعالجات الدقيقة RISC. هذا المعالج قادر على إصدار وإيقاف ثلاثة تعليمات لكل ساعة وواحد لكل من وحدات التنفيذ الثلاث. التعليمات معطلة تمامًا لتحسين الأداء ؛ لكن PC601 سيجعل التنفيذ بالترتيب.

  IBM Power PC601
IBM Power PC601

يوفر معالج Power PC601 عناوين منطقية 32 بت وأنواع بيانات 8 و 16 و 32 بت وأنواع بيانات ذات نقطة عائمة 32 بت و 64 بت. لتنفيذ 64 بت PowerPC ، توفر بنية هذا المعالج أنواع بيانات صحيحة تستند إلى 64 بت ، والعنونة والميزات الأخرى اللازمة لإكمال البنية القائمة على 64 بت.

MC 88110

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

  MC 88000
MC 88000

انتل i960

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

  انتل i960
انتل i960

MIPS R

MIPS R هو معالج دقيق ديناميكي وفائق السطوع يستخدم لتنفيذ بنية مجموعة تعليمات MIPS 4 بت 64 بت. يقوم هذا المعالج بإحضار 4 تعليمات وفك تشفيرها لكل دورة ويصدرها إلى خمس وحدات تنفيذ مخططة بالكامل وذات زمن انتقال منخفض. تم تصميم هذا المعالج بشكل خاص للتطبيقات عالية الأداء والتطبيقات الواقعية ذات منطقة الذاكرة الضعيفة. مع التنفيذ التقريبي ، يقوم ببساطة بحساب عناوين الذاكرة. تُستخدم معالجات MIPS بشكل أساسي في أجهزة مختلفة مثل Nintendo Gamecube وخط إنتاج SGI و Sony Playstation 2 و PSP و Cisco router.

  MIPS R
MIPS R

الفرق B / W Superscalar مقابل الأنابيب

تتم مناقشة الفرق بين superscalar و pipelining أدناه.

سوبيرسكالار

خطوط الأنابيب

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

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

مميزات

ال خصائص المعالج superscalar تشمل ما يلي.

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

المميزات والعيوب

ال مزايا المعالج superscalar تشمل ما يلي.

  • يقوم المعالج الفائق السرعة بتنفيذ التوازي على مستوى التعليمات في معالج واحد.
  • تم تصميم هذه المعالجات ببساطة لأداء أي مجموعة تعليمات.
  • يمكن للمعالج superscalar بما في ذلك التنبؤ بفرع التنفيذ خارج الترتيب والتنفيذ التخميني أن يجد ببساطة التوازي فوق العديد من الكتل الأساسية وتكرارات الحلقة.

ال عيوب المعالج superscalar تشمل ما يلي.

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

تطبيقات المعالج Superscalar

تتضمن تطبيقات المعالج الفائق ما يلي.

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

وبالتالي ، هذا كل شيء عن نظرة عامة على المعالج superscalar - العمارة والأنواع والتطبيقات. إليك سؤال لك ، ما هو المعالج العددي؟