معالج متعدد النوى

رسم تخطيطي لمعالج ثنائي النواة عام مزود بذاكرة تخزين مؤقتة من المستوى الأول محلية لوحدة المعالجة المركزية وذاكرة تخزين مؤقتة مشتركة من المستوى الثاني على الشريحة
كان معالج Intel Core 2 Duo E6750 من أوائل المعالجات ثنائية النواة.
معالج AMD Athlon X2 6400+ ثنائي النواة

المعالج متعدد النوى ( MCP ) هو معالج دقيق مُدمج في دائرة متكاملة واحدة (IC) يحتوي على وحدتي معالجة مركزية (CPU) منفصلتين أو أكثر ، تُسمى نوى للتأكيد على تعددها (على سبيل المثال، ثنائي النواة أو رباعي النواة ). تقرأ كل نواة تعليمات البرنامج وتنفذها ، [ 1 ] وتحديدًا تعليمات وحدة المعالجة المركزية العادية (مثل الجمع، ونقل البيانات، والتفرع). مع ذلك، يمكن للمعالج متعدد النوى تشغيل التعليمات على نوى منفصلة في الوقت نفسه، مما يزيد من السرعة الإجمالية للبرامج التي تدعم تعدد الخيوط أو تقنيات الحوسبة المتوازية الأخرى. [ 2 ] عادةً ما يدمج المصنّعون النوى على شريحة IC واحدة ، تُعرف باسم المعالج متعدد الشرائح ( CMP )، أو على شرائح متعددة في حزمة شريحة واحدة. اعتبارًا من عام 2024، أصبحت المعالجات الدقيقة المستخدمة في جميع أجهزة الكمبيوتر الشخصية الجديدة تقريبًا متعددة النوى.

يُنفذ المعالج متعدد النوى معالجة متعددة في وحدة مادية واحدة. يمكن للمصممين ربط النوى في جهاز متعدد النوى بشكل وثيق أو غير وثيق. على سبيل المثال، قد تتشارك النوى في ذاكرة التخزين المؤقت أو لا ، وقد تُنفذ طرقًا للتواصل بين النوى تعتمد على تمرير الرسائل أو الذاكرة المشتركة . تشمل بنيات الشبكة الشائعة المستخدمة لربط النوى: الناقل ، والحلقة ، والشبكة ثنائية الأبعاد ، والشبكة المتقاطعة . تتكون أنظمة المعالجات متعددة النوى المتجانسة من نوى متطابقة فقط؛ بينما تحتوي أنظمة المعالجات متعددة النوى غير المتجانسة على نوى غير متطابقة (على سبيل المثال، تحتوي أنظمة big.LITTLE على نوى غير متجانسة تتشارك في نفس مجموعة التعليمات ، بينما تحتوي وحدات المعالجة المُسرّعة من AMD على نوى لا تتشارك في نفس مجموعة التعليمات). وكما هو الحال في أنظمة المعالجات أحادية النواة، قد تُنفذ النوى في أنظمة المعالجات متعددة النوى بنيات مثل VLIW ، والمعالجة الفائقة ، والمعالجة المتجهة ، أو المعالجة متعددة الخيوط .

تُستخدم المعالجات متعددة النوى على نطاق واسع في العديد من مجالات التطبيقات، بما في ذلك التطبيقات العامة ، والأنظمة المدمجة ، والشبكات ، ومعالجة الإشارات الرقمية ، ووحدات معالجة الرسومات . يصل عدد النوى إلى العشرات، وفي الرقائق المتخصصة يتجاوز 10000 نواة، [ 3 ] وفي الحواسيب العملاقة (أي مجموعات الرقائق) قد يتجاوز العدد 10 ملايين نواة (وفي حالة واحدة يصل إلى 20 مليون عنصر معالجة بالإضافة إلى المعالجات المضيفة). [ 4 ]

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

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

في سوق المستهلكين، بدأت المعالجات ثنائية النواة (أي المعالجات الدقيقة ذات النواتين) بالانتشار في أجهزة الكمبيوتر الشخصية في أواخر العقد الأول من الألفية الثانية. [ 7 ] وفي أوائل العقد الثاني من الألفية الثانية، تم اعتماد المعالجات رباعية النواة أيضًا في تلك الحقبة للأنظمة المتطورة قبل أن تصبح معيارًا بحلول منتصف العقد الثاني من الألفية الثانية. وفي أواخر العقد الثاني من الألفية الثانية، بدأت المعالجات سداسية النواة (ستة أنوية) بالانتشار على نطاق واسع [ 8 ] ومنذ أوائل العقد الثالث من الألفية الثانية، تفوقت على المعالجات رباعية النواة في العديد من المجالات. [ 9 ]

مصطلحات

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

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

تُستخدم مصطلحات "متعددة النوى" و "متعددة النوى بشكل هائل" أحيانًا لوصف معمارية متعددة النوى ذات عدد كبير جدًا من النوى (من عشرات إلى آلاف [ 10 ] ). [ 11 ]

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

تطوير

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

معالج سكوربيوس من أبل

في عام ١٩٨٥، أقنع سام هولاند، مهندس شركة آبل، الشركة بتطوير شريحة معالج رباعية النواة خاصة بها لتشغيل أجهزة ماك المستقبلية [ ١٢ وأطلق عليها اسم سكوربيوس. [ ١٣ ] كانت مجموعة الميزات المقترحة للمعالج طموحة للغاية، بما في ذلك أربع نوى ودعم تقنية SIMD (المتجهة) مع ميزات اتصال بين المعالجات. [ ١٤ ] ونظرًا لأن التصميم كان يتجاوز إمكانيات التصنيع في ذلك الوقت، فقد توقف المشروع في عام ١٩٨٩. [ ١٥ ]

الابتكارات المبكرة: مشروع ستانفورد هيدرا

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

الحوافز التجارية

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

مع تباطؤ وتيرة تحسين سرعة المعالجات، اتجهت الجهود نحو زيادة استخدام الحوسبة المتوازية، لا سيما المعالجات متعددة النوى، لتحسين أداء المعالجة بشكل عام. وقد استُخدمت نوى متعددة على شريحة المعالج نفسها، مما قد يؤدي إلى زيادة مبيعات شرائح المعالجات ثنائية النوى أو أكثر. فعلى سبيل المثال، أنتجت شركة إنتل معالجًا بـ 48 نواة لأغراض البحث في الحوسبة السحابية؛ وتعتمد كل نواة على بنية x86 . [ 16 ] [ 17 ]

العوامل التقنية

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

بالإضافة إلى ذلك:

  • إن استخدام تصميم معالج مركزي مثبت دون تغييرات معمارية يقلل من مخاطر التصميم بشكل كبير.
  • بالنسبة للمعالجات العامة، فإنّ الدافع الرئيسي وراء تطوير المعالجات متعددة النوى ينبع من انخفاض المكاسب في أداء المعالج بشكل كبير عند زيادة تردد التشغيل . ويعود ذلك إلى ثلاثة عوامل رئيسية: [ 18 ]
    1. يُشكل حاجز الذاكرة عائقًا أمام الأداء ؛ أي الفجوة المتزايدة بين سرعة المعالج وسرعة الذاكرة. وهذا بدوره يدفع إلى زيادة حجم ذاكرة التخزين المؤقت لإخفاء زمن استجابة الذاكرة. ولا يُجدي هذا نفعًا إلا إذا لم يكن عرض نطاق الذاكرة هو العامل المُحدد للأداء.
    2. جدار ILP ؛ الصعوبة المتزايدة في إيجاد توازي كافٍ في تدفق تعليمات واحد لإبقاء معالج أحادي النواة عالي الأداء مشغولاً.
    3. جدار الطاقة ؛ وهو اتجاه استهلاك الطاقة المتزايد بشكل كبير (وبالتالي توليد حرارة متزايدة بشكل كبير أيضًا) مع كل زيادة في تردد التشغيل. يمكن التخفيف من هذه الزيادة عن طريق " تصغير " المعالج باستخدام مسارات أصغر لنفس المنطق. يطرح جدار الطاقة مشاكل في التصنيع وتصميم النظام ونشره، وهي مشاكل لم يتم تبريرها في ظل انخفاض مكاسب الأداء بسبب جدار الذاكرة وجدار التوازي على مستوى التعليمات .

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

المزايا

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

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

تتيح المعالجات متعددة النوى أداءً أعلى باستهلاك طاقة أقل، وهو ما يُعدّ عاملاً مهماً في الأجهزة المحمولة التي تعمل بالبطاريات. وبما أن كل نواة في وحدة المعالجة المركزية متعددة النوى تتميز عموماً بكفاءة أعلى في استهلاك الطاقة، فإن الشريحة تصبح أكثر كفاءة من تلك التي تحتوي على نواة واحدة كبيرة متجانسة. وهذا يسمح بأداء أعلى باستهلاك طاقة أقل. إلا أن أحد التحديات يكمن في العبء الإضافي لكتابة التعليمات البرمجية المتوازية. [ 19 ]

العيوب

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

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

الأجهزة

يتجه تطوير المعالجات نحو زيادة عدد النوى بشكل مطرد، حيث أصبح من الممكن نظريًا إنتاج معالجات بمئات أو حتى آلاف النوى. [ 20 ] إضافةً إلى ذلك، تعد الرقاقات متعددة النوى، التي تجمع بين تعدد الخيوط المتزامن ، والذاكرة المدمجة، والنوى "غير المتجانسة" (أو غير المتماثلة) ذات الأغراض الخاصة، بتحقيق مكاسب إضافية في الأداء والكفاءة، لا سيما في معالجة الوسائط المتعددة، والتعرف على الصور، وتطبيقات الشبكات. على سبيل المثال، تتضمن نواة big.LITTLE نواة عالية الأداء (تُسمى "big") ونواة منخفضة الطاقة (تُسمى "LITTLE"). كما يوجد توجه نحو تحسين كفاءة الطاقة من خلال التركيز على الأداء لكل واط باستخدام إدارة الطاقة المتقدمة الدقيقة أو فائقة الدقة، وتغيير الجهد والتردد ديناميكيًا (كما هو الحال في أجهزة الكمبيوتر المحمولة ومشغلات الوسائط المحمولة ).

تُعرف الرقائق المصممة منذ البداية لعدد كبير من النوى (بدلاً من أن تكون قد تطورت من تصميمات النواة الواحدة) أحيانًا باسم تصميمات متعددة النوى ، مما يؤكد على الاختلافات النوعية.

بنيان

يُظهر تكوين وتوازن النوى في بنية المعالجات متعددة النوى تنوعًا كبيرًا. تستخدم بعض البنى تصميمًا واحدًا للنواة يتكرر باستمرار ("متجانسة")، بينما تستخدم بنى أخرى مزيجًا من النوى المختلفة، كل منها مُحسَّن لدور مختلف (" غير متجانس ").

تؤثر كيفية تنفيذ ودمج المعالجات متعددة النوى بشكل كبير على مهارات المطور البرمجية وتوقعات المستهلك من التطبيقات والتفاعل مع الجهاز. [ 21 ] لن يحتوي الجهاز المُعلن عنه بأنه ثماني النوى على نوى مستقلة إلا إذا تم الإعلان عنه بأنه ثماني النوى حقيقي ، أو ما شابه ذلك، بدلاً من كونه مجرد مجموعتين من أربع نوى لكل منهما سرعة ساعة ثابتة. [ 22 ] [ 23 ]

تتضمن مقالة "مصممو وحدات المعالجة المركزية يناقشون مستقبل المعالجات متعددة النوى" بقلم ريك ميريت، EE Times 2008، [ 24 ] هذه التعليقات:

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

[...] وقد وافق أتسوكي هاسيغاوا، كبير المهندسين في شركة رينيساس ، على ذلك بشكل عام. وأشار إلى أن استخدام الهاتف المحمول للعديد من النوى المتخصصة التي تعمل بتناغم يُعد نموذجًا جيدًا لتصميمات المعالجات متعددة النوى المستقبلية.

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

تأثيرات البرمجيات

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

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

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

تستفيد تقنيات البرمجة المتوازية بشكل مباشر من المعالجات متعددة النوى. بعض نماذج البرمجة المتوازية الحالية ، مثل Cilk Plus و OpenMP و OpenHMPP و FastFlow وSkandium و MPI و Erlang ، قابلة للاستخدام على منصات متعددة النوى. وقد قدمت إنتل تجريدًا جديدًا للتوازي في لغة C++ يُسمى TBB . تشمل الجهود البحثية الأخرى نظام Codeplay Sieve ، وCray's Chapel ، وSun's Fortress ، وIBM's X10 .

أثرت المعالجة متعددة النوى أيضًا على قدرة تطوير البرمجيات الحاسوبية الحديثة. قد يجد المطورون الذين يبرمجون بلغات حديثة أن لغاتهم لا تدعم وظائف المعالجة متعددة النوى. وهذا يستلزم استخدام مكتبات حسابية للوصول إلى التعليمات البرمجية المكتوبة بلغات مثل C و Fortran ، والتي تُجري العمليات الحسابية بسرعة أكبر من اللغات الحديثة مثل C# . مكتبتا MKL من Intel و ACML من AMD مكتوبتان بهذه اللغات الأصلية وتستفيدان من المعالجة متعددة النوى. قد يكون تحقيق التوازن في عبء عمل التطبيق عبر المعالجات أمرًا صعبًا، خاصةً إذا كانت لها خصائص أداء مختلفة. توجد نماذج مفاهيمية مختلفة للتعامل مع هذه المشكلة، على سبيل المثال استخدام لغة تنسيق ووحدات بناء برمجية (مكتبات برمجية أو دوال عالية الرتبة). يمكن أن تحتوي كل وحدة على تطبيق أصلي مختلف لكل نوع معالج. يبرمج المستخدمون ببساطة باستخدام هذه التجريدات، ويختار مُترجم ذكي أفضل تطبيق بناءً على السياق. [ 26 ]

تُصبح إدارة التزامن عنصراً أساسياً في تطوير التطبيقات المتوازية. وتتمثل الخطوات الأساسية في تصميم التطبيقات المتوازية فيما يلي:

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

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

الترخيص

قد يقوم البائعون بترخيص بعض البرامج "لكل معالج". وهذا قد يؤدي إلى الغموض، لأن "المعالج" قد يتكون إما من نواة واحدة أو من مجموعة من النوى.

التطبيقات المدمجة

نظام مضمن على بطاقة قابلة للتوصيل مزود بمعالج وذاكرة ومصدر طاقة وواجهات خارجية

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

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

معالجات الشبكة

اعتبارًا من عام 2010أصبحت معالجات الشبكات متعددة النوى شائعة الاستخدام، حيث تقوم شركات مثل فري سكيل سيميكوندكتور ، وكافيوم نتوركس ، ووينتيغرا ، وبرودكوم بتصنيع منتجات مزودة بثمانية معالجات. ويتمثل التحدي الرئيسي لمطوري الأنظمة في كيفية استغلال جميع النوى في هذه الأجهزة لتحقيق أقصى أداء للشبكات على مستوى النظام، على الرغم من قيود الأداء المتأصلة في نظام التشغيل متعدد المعالجة المتناظر (SMP). وتوفر شركات مثل 6WIND برامج معالجة حزم بيانات محمولة مصممة بحيث يعمل مستوى بيانات الشبكة في بيئة مسار سريع خارج نظام تشغيل جهاز الشبكة. [ 29 ]

معالجة الإشارات الرقمية

في مجال معالجة الإشارات الرقمية، ينطبق نفس التوجه: لدى شركة تكساس إنسترومنتس معالج TMS320C6488 ثلاثي النواة ومعالج TMS320C5441 رباعي النواة، ولدى شركة فري سكيل معالج MSC8144 رباعي النواة ومعالج MSC8156 سداسي النواة (وقد صرحت كلتا الشركتين بأنهما تعملان على معالجات ثمانية النواة لاحقة). وتشمل المنتجات الأحدث عائلة Storm-1 من شركة ستريم بروسيسورز، التي تضم 40 و80 وحدة حسابية ومنطقية للأغراض العامة لكل شريحة، قابلة للبرمجة بلغة C كمحرك SIMD، بالإضافة إلى شركة بيكوشيب التي تضم 300 معالج على شريحة واحدة، وتركز على تطبيقات الاتصالات.

الأنظمة غير المتجانسة

في الحوسبة غير المتجانسة ، حيث يستخدم النظام أكثر من نوع واحد من المعالجات أو النوى، أصبحت حلول المعالجات متعددة النوى أكثر شيوعًا: يحتوي نظام Xilinx Zynq UltraScale+ MPSoC على معالج رباعي النواة ARM Cortex-A53 ومعالج ثنائي النواة ARM Cortex-R5. وتُستخدم حلول برمجية مثل OpenAMP للمساعدة في التواصل بين المعالجات.

قد تستخدم الأجهزة المحمولة بنية ARM big.LITTLE .

أمثلة على الأجهزة

تجاري

حر

أكاديمي

المعايير

غالباً ما تقارن الأبحاث والتطوير في مجال المعالجات متعددة النوى بين العديد من الخيارات، ويتم تطوير معايير قياس الأداء للمساعدة في هذه التقييمات. تشمل معايير القياس الحالية SPLASH-2 وPARSEC وCOSMIC للأنظمة غير المتجانسة. [ 53 ]

انظر أيضاً

ملحوظات

  1. تستخدم معالجات الإشارات الرقمية ( DSPs ) بنى متعددة النوى منذ فترة أطول بكثير من المعالجات العامة عالية الأداء. ومن الأمثلة الشائعة على تطبيقات معالجات الإشارات الرقمية، دمجRISCوحدة معالجةدقيقة DSP. يتيح هذا تصميم منتجات تتطلب معالجًا عامًا لواجهات المستخدم ومعالج إشارات رقمية لمعالجة البيانات في الوقت الفعلي؛ وهذا النوع من التصميم شائع فيالهواتف المحمولة. وفي تطبيقات أخرى، طورت شركات عديدة معالجات إشارات رقمية متعددة النوى ذات عدد كبير جدًا من المعالجات.
  2. ^ هناك نوعان منأنظمة التشغيلقادران على استخدام معالج متعدد ثنائي النواة: المعالجة المتعددة المجزأةوالمعالجة المتعددة المتناظرة(SMP). في بنية المعالجة المجزأة، يبدأ تشغيل كل نواة في قطاعات منفصلة من الذاكرة الفعلية وتعمل بشكل مستقل؛ أما في نظام التشغيل SMP، فتعمل المعالجات في مساحة مشتركة، وتنفذ سلاسل العمليات داخل نظام التشغيل بشكل مستقل.

مراجع

  1. راوس، مارغريت (27 مارس 2007). "تعريف: معالج متعدد النوى" . تيك تارجت. مؤرشف من الأصل في 5 أغسطس 2010. تم الاطلاع عليه في 6 مارس 2013 .
  2. شاوير، برايان. "المعالجات متعددة النوى - ضرورة" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 25-11-2011.
  3. 1 2 سميث، رايان. "إنفيديا تعلن عن سلسلة GeForce RTX 30: أمبير للألعاب، بدءًا من RTX 3080 وRTX 3090" . www.anandtech.com . مؤرشف من الأصل في 1 سبتمبر 2020. تم الاطلاع عليه بتاريخ 15 سبتمبر 2020 .
  4. "Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway | TOP500" . www.top500.org . تاريخ الاسترجاع: 15 سبتمبر 2020 .
  5. سليمان، آتر (20 مايو 2011). "ما الذي يجعل البرمجة المتوازية صعبة؟" . فيوتشر تشيبس. مؤرشف من الأصل في 29 مايو 2011. تم الاطلاع عليه في 6 مارس 2013 .
  6. دوران، أ. (2011). "Ompss: اقتراح لبرمجة معمارية متعددة النوى غير متجانسة". رسائل المعالجة المتوازية . 21 (2): 173-193 . doi : 10.1142/S0129626411000151 .
  7. "تعريف المعالج ثنائي النواة" . مجلة PCMAG . تم الاطلاع عليه بتاريخ 27-10-2023 .
  8. "إنتل تُطلق معالجاتها سداسية النواة على نطاق واسع في عام 2018 مع عائلة كوفي ليك" . ZDNET . تاريخ الاسترجاع: 27 أكتوبر 2023 .
  9. آلان ديكستر (5 أبريل 2022). "أصبحت المعالجات سداسية النواة أكثر شيوعًا من المعالجات رباعية النواة على منصة ستيم" . مجلة بي سي غيمر . تاريخ الاسترجاع: 22 مايو 2024 .
  10. شور، ديفيد (نوفمبر 2017). "معالج PEZY-SC2 ذو 2048 نواة يحقق رقماً قياسياً في Green500" . ويكي تشيب.
  11. ^ فاجدا ، أندراس (2011/06/10). برمجة الرقائق متعددة النواة . سبرينغر. ص. 3. رقم ISBN  978-1-4419-9739-5.
  12. غاسيه، جان لويس (21 ديسمبر 2020). "الانضمام إلى آبل قبل 40 عامًا" . ميديوم . مؤرشف من الأصل في 15 يوليو 2025. تم الاطلاع عليه في 10 نوفمبر 2025 .
  13. شركة أبل (29 يناير 1989). معالج سكوربيوس من أبل (مشروع أكواريوس) - 1989 .
  14. Classichasclass (29-12-2019). "تطوير TenFourFox: والآن لشيء مختلف تمامًا: بزوغ فجر عصر Apple Aquarius" . تطوير TenFourFox . تم الاسترجاع في 10-11-2025 .
  15. باباج (28 مايو 2023). "أول معالج 'أبل سيليكون': مشروع معالج أكواريوس" . رسالة الشريحة . تم الاسترجاع في 10 نوفمبر 2025 .
  16. شروت، رايان (2 ديسمبر 2009). "إنتل تعرض معالج x86 ذو 48 نواة كحاسوب سحابي أحادي الشريحة" . مؤرشف من الأصل في 5 يناير 2016. تم الاطلاع عليه في 17 مايو 2015 .
  17. «إنتل تكشف النقاب عن شريحة سيليكون للحوسبة السحابية ذات 48 نواة» . بي بي سي. 3 ديسمبر 2009. مؤرشف من الأصل في 6 ديسمبر 2012. تم الاطلاع عليه في 6 مارس 2013 .
  18. باترسون، ديفيد أ. "مستقبل هندسة الحاسوب". ندوة بيركلي السنوية للبحوث في الهندسة الكهربائية وعلوم الحاسوب (BEARS)، كلية الهندسة، جامعة كاليفورنيا في بيركلي، الولايات المتحدة الأمريكية. 2006.
  19. سليمان، آتر (19 مايو 2011). "سؤال وجواب: هل توفر المعالجات متعددة النوى الطاقة؟ ليس حقًا" . مؤرشف من الأصل في 16 ديسمبر 2012. تم الاطلاع عليه في 6 مارس 2013 .
  20. كلارك، جاك. "إنتل: لماذا يُعدّ تصنيع شريحة بألف نواة أمرًا ممكنًا" . زد نت . مؤرشف من الأصل في 6 أغسطس 2015. تم الاطلاع عليه في 6 أغسطس 2015 .
  21. كوديكالا، تشاكري (27 أغسطس 2016). "هذه الخرافات الخمس حول الهواتف ثمانية النواة صحيحة بالفعل" . جيز بوت .
  22. "ميديا ​​تك تطلق منصة MT6592 للهواتف المحمولة ثمانية النواة الحقيقية" (بيان صحفي). ميديا ​​تك. 20 نوفمبر 2013. مؤرشف من الأصل في 29 أكتوبر 2020.
  23. "ما هو المعالج ثماني النواة؟" سامسونج. مؤرشف من الأصل في 17 يناير 2022. تعمل هواتف جالاكسي الذكية إما بمعالجات ثمانية النواة (رباعي النواة بتردد 2.3 جيجاهرتز + رباعي النواة بتردد 1.6 جيجاهرتز) أو بمعالجات رباعية النواة (ثنائية النواة بتردد 2.15 جيجاهرتز + ثنائي النواة بتردد 1.6 جيجاهرتز).
  24. ميريت، ريك (6 فبراير 2008). "مصممو وحدات المعالجة المركزية يناقشون مستقبل المعالجات متعددة النوى" . مجلة EE Times . تم الاطلاع عليه بتاريخ 21 أكتوبر 2023 .
  25. "منتدى معالجة الحزم متعددة النوى" . مؤرشف من الأصل بتاريخ 21-12-2009.
  26. جون دارلينتون؛ مصطفى غانم؛ ييك غو؛ هينغ وينغ تو (1996). "تنظيم الموارد الموجه في الحوسبة المتوازية غير المتجانسة". مجلة الحوسبة عالية الأداء . 4 (1): 13-23 . CiteSeerX 10.1.1.37.4309 . 
  27. برايت، بيتر (4 ديسمبر 2015). "ويندوز سيرفر 2016 ينتقل إلى الترخيص على أساس النواة، وليس على أساس المقبس" . آرس تكنيكا . كوندي ناست . مؤرشف من الأصل في 4 ديسمبر 2015. تم الاطلاع عليه في 5 ديسمبر 2015 .
  28. قارن: "ترخيص منتجات أوراكل التقنية" . شركة OMT-CO للاستشارات التقنية لإدارة العمليات المحدودة. مؤرشف من الأصل بتاريخ 21 مارس 2014. تم الاطلاع عليه بتاريخ 4 مارس 2014 .
  29. "برنامج 6WINDGATE: برنامج تحسين الشبكة - برنامج SDN - برنامج مستوى التحكم | 6WIND" .
  30. "معالج Sempron™ 3850 APU مع سلسلة Radeon™ R3 | AMD" . AMD . مؤرشف من الأصل في 4 مايو 2019. تم الاطلاع عليه في 5 مايو 2019 .
  31. "مواصفات منتجات معالجات Intel® Atom™ من السلسلة C" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  32. "مواصفات منتجات معالجات Intel® Atom™ من سلسلة Z" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  33. "إنتل تستعد لمعالجات سيليرون ثنائية النواة" . 11 أكتوبر 2007. مؤرشف من الأصل في 4 نوفمبر 2007. تم الاطلاع عليه في 12 نوفمبر 2007 .
  34. "مواصفات منتجات معالج Intel® Celeron® من سلسلة J" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  35. "المنتجات التي كانت تُعرف سابقًا باسم Yonah" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  36. "المنتجات التي كانت تُعرف سابقًا باسم كونرو" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  37. "المنتجات التي كانت تُعرف سابقًا باسم كينتسفيلد" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  38. "مواصفات منتجات معالجات سلسلة Intel® Core™ X" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  39. "مواصفات منتج معالج Intel® Itanium®" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  40. "مواصفات منتجات معالجات Intel® Pentium® من سلسلة D" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  41. زازايان، مايك (26 سبتمبر 2006). "إنتل: 80 نواة بحلول عام 2011" . مؤرشف من الأصل في 9 نوفمبر 2006. تم الاطلاع عليه في 28 سبتمبر 2006 .
  42. كواليسكي، سيريل (18 فبراير 2014). "إنتل تُصدر معالج Xeon E7 v2 ذو 15 نواة" . مؤرشف من الأصل بتاريخ 11 أكتوبر 2014.
  43. "معالج Intel Xeon E7 v3 من عائلة المعالجات" . Intel . مؤرشف من الأصل بتاريخ 2015-07-07.
  44. "معالج Intel Xeon E7 v2 من العائلة" . Intel® ARK (مواصفات المنتج) . Intel. مؤرشف من الأصل بتاريخ 2015-07-07.
  45. "معالج Intel Xeon E3 v2 من العائلة" . Intel® ARK (مواصفات المنتج) . Intel. مؤرشف من الأصل بتاريخ 2015-07-07.
  46. "إنتل تستعرض معالج Xeon Platinum الذي يصل عدد أنويته إلى 56 نواة وعدد خيوطه إلى 112 خيطًا" . TechSpot . 2 أبريل 2019. تاريخ الاطلاع: 4 مايو 2019 .
  47. ملف PDF، تحميل. "موجز معالجات Intel® Xeon® القابلة للتطوير من الجيل الثاني" . Intel . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  48. "مواصفات منتجات عائلة معالجات Intel® Xeon Phi™ x100" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  49. "مواصفات منتجات عائلة معالجات Intel® Xeon Phi™ 72x5" . ark.intel.com . تم الاطلاع عليه بتاريخ 4 مايو 2019 .
  50. كول، برنارد (24 سبتمبر 2008). "الكشف عن معالج ذي 40 نواة مع أدوات بيئة تطوير متكاملة قائمة على لغة فورث" .
  51. هاموند، لانس؛ وآخرون (1999). جهاز ستانفورد هيدرا CMP (ملف PDF) . هوت تشيبس . تم الاطلاع عليه بتاريخ 27 يونيو 2023 . 
  52. تشاكوس، براد (20 يونيو 2016). "تعرّف على كيلوكور، معالج ذو 1000 نواة يتميز بكفاءة عالية لدرجة أنه يمكن تشغيله ببطارية AA" . بي سي وورلد . مؤرشف من الأصل في 23 يونيو 2016.
  53. "COSMIC: مجموعة أدوات قياس الأداء الإحصائية للمعالجات المتعددة" .

للمزيد من القراءة

  • خوندكر س. حسن؛ نيكولاس ج. جراوندز؛ جون ك. أنطونيو (يوليو 2011). التنبؤ بتوافر وحدة المعالجة المركزية لمعالج متعدد النوى يُنفذ خيوط جافا متزامنة . المؤتمر الدولي السابع عشر حول تقنيات وتطبيقات المعالجة المتوازية والموزعة (PDPTA-11). لاس فيغاس، نيفادا، الولايات المتحدة الأمريكية. الصفحات 551-557 . hdl : 10657.1/2440 . 
  • خوندكر س. حسن؛ جون أنطونيو؛ سريدهار رادهاكريشنان (فبراير 2014). نموذج جديد مُركّب لوحدة المعالجة المركزية/الذاكرة للتنبؤ بكفاءة المعالجة متعددة النوى . ورشة عمل المؤتمر الدولي العشرين لهندسة الحواسيب عالية الأداء (HPCA-14). أورلاندو، فلوريدا، الولايات المتحدة الأمريكية. doi : 10.13140/RG.2.1.3051.9207 .