ما هو المعالج متعدد النواة؟

منذ منتصف القرن العشرين ، كانت وحدات المعالجة المركزية لسطح المكتب تقدم نوى متعددة لوحدة المعالجة المركزية في حزمة واحدة. هذا معالج متعدد النواة. بينما اقتصرت التصميمات المبكرة على اثنين أو أربعة مراكز CPU ، تقدم وحدات المعالجة المركزية الحديثة ما يصل إلى 64 نواة فعلية على وحدة معالجة مركزية واحدة. الأعداد الأساسية المرتفعة ليست قياسية لوحدات المعالجة المركزية لسطح المكتب وهي مخصصة بشكل عام لمحطات العمل أو الخوادم المتطورة. تتراوح الأعداد الأساسية النموذجية في وحدات المعالجة المركزية الحديثة لسطح المكتب بين 4 و 16. ولكن ما الذي يميز وحدات المعالجة المركزية متعددة النواة التي تجعلها مهيمنة في أجهزة الكمبيوتر الحديثة؟

جوهر واحد

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

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

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

متعدد النواة

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

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

في حالة السباق هذه ، تتم قراءة قيمة المتغير مرة ثانية قبل كتابة القيمة الجديدة إليه ، مما يؤدي إلى إجابة عامة خاطئة.

القضايا الحرارية

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

نجاحات

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

الخيارات المعمارية

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

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

استنتاج

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