المعالجات متعددة النوى والمعالجات متعددة الرقائق
تدمج المعالجات متعددة الرقائق عدة نوى معالجة على قالب واحد، وتتشارك في الذاكرات المخبئية وواجهة الذاكرة، بحيث تدفع الموازاة على مستوى الخيوط (thread-level parallelism) نمو الأداء بدلاً من سرعة الساعة الأعلى.
Definition
المعالج متعدد النوى، أو المعالج متعدد الرقائق، هو دائرة متكاملة واحدة تحتوي على نوى معالجة مستقلة متعددة تتشارك بعض الموارد على الرقاقة ونظام الذاكرة، ومصممة لتنفيذ خيوط أو برامج متعددة بشكل متزامن.
Scope
يغطي هذا الموضوع تنظيم رقائق المعالجات متعددة النوى: عدد النوى وتغايرها، التسلسلات الهرمية للذاكرة المخبئية المشتركة والخاصة، الموصلات البينية على الرقاقة، وكيفية قياس الأداء مع النوى بموجب قانون أمدهال. ويتناول البنية المادية لأنظمة المعالجات متعددة النوى. ويستثني آليات التماسك والاتساق المشتركة مع مواضيع الذاكرة المشتركة الأخرى (الذاكرة المشتركة والتماسك، بروتوكولات تماسك الذاكرة المخبئية) ومحرك النواة الواحدة (البنية الدقيقة للمعالج).
Core questions
- لماذا انتقلت المعالجات من النوى الفردية السريعة إلى النوى المتعددة؟
- كيف يتم تنظيم النوى والذاكرات المخبئية والموصلات البينية على الرقاقة؟
- كيف يحد قانون أمدهال من تسريع الأداء الناتج عن إضافة النوى؟
- متى تكون النوى غير المتجانسة مفضلة على النوى المتطابقة؟
Key concepts
- معالج متعدد الرقائق
- موازاة على مستوى الخيوط
- ذاكرات مخبئية مشتركة مقابل خاصة
- موصل بيني على الرقاقة
- عدد النوى والقياس
- نوى غير متجانسة (كبيرة.صغيرة)
- قانون أمدهال
- قيود الطاقة والحرارة
Key theories
- قانون أمدهال لقياس المعالجات متعددة النوى
- يحد الجزء المتسلسل من عبء العمل من التسريع الذي يمكن تحقيقه بإضافة النوى؛ يفسر هذا الحد سبب أن مجرد زيادة عدد النوى يؤدي إلى عوائد متناقصة ويحفز تقليل الاختناقات المتسلسلة واستخدام التصميمات غير المتجانسة.
Mechanisms
تضع الرقاقة متعددة النوى نوى متعددة على قالب واحد، عادةً مع ذاكرات مخبئية خاصة من المستوى الأول، وذاكرة مخبئية مشتركة من المستوى الأخير، وشبكة أو حلقة على الرقاقة تربطها بوحدات التحكم في الذاكرة. تكتسب أعباء العمل أداءً من خلال تشغيل الخيوط على نوى مختلفة. تجمع التصميمات غير المتجانسة بين النوى الكبيرة عالية الأداء والنوى الصغيرة الفعالة، وتجدول العمل إلى النواة الأنسب لتحقيق التوازن بين السرعة والطاقة.
Clinical relevance
تعد المعالجات متعددة النوى التصميم السائد للمعالجات اليوم، من الهواتف إلى الخوادم، لأن قياس التردد توقف تحت قيود الطاقة. وقد أدى صعودها إلى تحويل عبء الأداء إلى البرمجيات المتوازية: يجب أن تكون التطبيقات متعددة الخيوط للاستفادة، مما يجعل التزامن اهتمامًا برمجيًا سائدًا وقانون أمدهال قيدًا عمليًا على الأنظمة الحقيقية.
History
توقعت المعالجات متعددة الرقائق البحثية مثل "هيدرا" (Hydra) من جامعة ستانفورد في التسعينيات عصر المعالجات متعددة النوى. دفع انهيار قياس التردد حوالي 2004-2005 وحدات المعالجة المركزية السائدة إلى تصميمات ثنائية النواة ثم متعددة النوى. أصبحت البنى غير المتجانسة التي تجمع بين نوى الأداء والكفاءة شائعة لاحقًا، خاصة في معالجات الهواتف المحمولة وأجهزة الكمبيوتر المحمولة.
Debates
- المزيد من النوى مقابل النوى الأقوى
- بالنظر إلى الطاقة والمساحة الثابتة، يتناقش المصممون حول ما إذا كان يجب إضافة العديد من النوى الأبسط، أو عدد أقل من النوى القوية، أو مزيج غير متجانس؛ يعتمد الخيار الأفضل على مدى توازي أعباء العمل المستهدفة، مع تفضيل قانون أمدهال للنوى القوية عندما تكون الأجزاء المتسلسلة كبيرة.
Key figures
- Gene Amdahl
- John L. Hennessy
- David A. Patterson
- Kunle Olukotun
Related topics
Seminal works
- hennessy2019
- amdahl1967
Frequently asked questions
- لماذا لا يؤدي مضاعفة عدد النوى إلى مضاعفة الأداء؟
- وفقًا لقانون أمدهال، فإن أي جزء من البرنامج يجب أن يعمل بشكل تسلسلي يحد من فائدة النوى المضافة. وتضيف الاتصالات والمزامنة والتنافس على الموارد المشتركة عبئًا إضافيًا، لذا فإن التسريع الفعلي عادةً ما يكون أقل بكثير من القياس الخطي المثالي.
- ما هي النوى غير المتجانسة (كبيرة.صغيرة)؟
- تجمع التصميمات غير المتجانسة بين نوى كبيرة عالية الأداء ونوى أصغر موفرة للطاقة على نفس الرقاقة. يقوم النظام بجدولة العمل المتطلب على النوى الكبيرة والعمل الخفيف أو الخلفي على النوى الصغيرة، مما يحسن كفاءة الطاقة دون التضحية بأقصى أداء.