اقرأ في هذا المقال
المعالج متعدد النواة (Multi-core processor) عبارة عن شريحة تحتوي على معالجين أو أكثر، كل معالج قادر على أداء مهام مختلفة في وقت واحد، على سبيل المثال، إذا تمّ تعيين معالج واحد بمهمة معالجة البيانات، فسيتولى الآخر مهمة تخزين البيانات، إذا كنت تستخدم (WhatsApp) على الهاتف المحمول، فإنّ أحد النوى يتعامل مع (WhatsApp) ويمكن استخدام نواة أخرى من المعالج لتنزيل مستند في نفس الوقت.
لماذا يتم استخدام المعالج متعدد النواة
الإعدادات نفسها متشابهة للمعالج ثنائي النواة، اعتمادًا على عدد النوى والأنواع، هناك أنواع مختلفة من المعالجات متعددة النواة، الغرض من استخدام معالج متعدد النواة هو الحصول على أداء جيد، تمّ تقديمه للتغلب على القيود المادية التي يواجهها معالج أحادي النواة، على الرغم من أنّ الاقتراب من المعالج متعدد النواة يوفر العديد من الفوائد، إلّا أنّ هناك بعض المخاطر المرتبطة باستخدامه، إذا لم تكن مقتنعًا بالترقية إلى معالج متعدد النواة، فستساعدك الإيجابيات والسلبيات التالية في اتخاذ القرار.
مزايا المعالج متعدد النواة
الفعالية Performance
يسمح المعالج متعدد النواة افتراضيًا بإنجاز المزيد من العمل أكثر من المعالج أحادي النواة، يتم وضع النوى الموجودة على شريحة متكاملة على مسافة حيث يتم تحقيق سرعات أعلى على مدار الساعة (higher clock speeds)، لذلك، لا تحتاج الإشارات إلى النقل بعيدًا للوصول إلى وجهتها بالإضافة إلى استمرارها أيضًا، السرعات أعلى بكثير من معالج منفصل.
المصداقية Reliability
دائمًا في المعالج متعدد النواة، يتم تخصيص البرامج على نوى مختلفة، عندما يتعرض برنامج واحد لأخطاء، فلن يؤثر ذلك على الآخر، عندما يكون هناك خلل فإنّه يقتصر على نواة واحدة، وبالتالي، فإنّ المعالجات متعددة النواة قادرة على تحمل الأعطال إلى حد كبير.
تفاعلات البرامج Software Interactions
حتى إذا كان هناك برنامج تمّ تنفيذه على نوى مختلفة، فسيظل يتفاعل مع أحدهما والآخر، يخضع المعالج متعدد النواة لعملية تعرف “بالعزل المكاني والزماني” (spatial and temporal isolation)، تضمن هذه العمليات عدم تأخير المسارات (threads) الأساسية أبدًا.
تعدد المهام Multitasking
يمكن للمعالج متعدد النواة أن يجعل نظام التشغيل يقوم بمهمتين أو أكثر في الوقت الحالي، حتى لو كان من الممكن أداء مهام نفس التطبيق في وقت واحد، على سبيل المثال، يمكن استخدام تطبيق فوتوشوب كمهمتين في وقت واحد.
استهلاك الطاقة Power Consumption
يتطلب أداء المهام المتعددة بشكل أساسي باستخدام معالج متعدد النواة قدرًا أقل من الطاقة، فقط جزء من المعالج سيعمل على توليد الحرارة، في النهاية، يتم تقليل استهلاك الطاقة ممّا يؤدي إلى تقليل استخدام البطارية، ومع ذلك، تتطلب بعض أنظمة التشغيل طاقة أكبر من الأخرى.
عيوب المعالج متعدد النواة
سرعة التطبيق Application Speed
على الرغم من أنّ المعالج متعدد النواة مصمم لتعدد المهام، إلا أنّ سرعته ليست كبيرة بما يكفي، في كل مرة يتم فيها معالجة تطبيق ما، فإنّه يميل إلى القفز من نواة إلى أخرى، نتيجةً لذلك، يتم ملء ذاكرة التخزين المؤقت (cache) لتعويض سرعتها.
التقطع Jitter
عندما يزداد عدد النوى في المعالج متعدد النواة، فسوف يتسبب ذلك في مزيد من التداخلات ممّا يؤدي إلى حدوث توترات مفرطة، نتيجةً لذلك، قد تواجه (O/S) الخاصة بك تدهورًا في أداء البرامج وفشل متكرر، فقط المزامنة الشاملة واستخدام (microkernel) سيكون المستخدم قادرًا على التعامل مع الارتعاش.
التحليل Analysis
يتطلب إجراء مهمتين أو أكثر في نفس الوقت عددًا أكبر من نماذج الذاكرة، هذا يجعل التحليل عملية صعبة في معالج متعدد النواة، على وجه الخصوص، من الصعب قياس الحدود الزمنية وقد لا تكون دقيقة، بالإضافة إلى ذلك، إذا زاد عدد النوى، فقد يتسبب ذلك في تعقيد تحليل التداخل، وبالتالي، فإنّ (O/S) لن تكون قادرة على تقديم الأداء المتوقع.
تقاسم الموارد Resource Sharing
الموارد المختلفة سواء الداخلية أو الخارجية تتم مشاركتها بواسطة معالج متعدد النواة، تشمل هذه الموارد الذاكرة الرئيسية وناقل النظام ووحدة التحكم في الذاكرة والشبكات، نتيجةً لهذا، فإنّ أيًا كان التطبيق الذي يتم تنفيذه على نفس النواة سيكون لديه ميل للتدخل، يمكن أن يكون هذا النوع من التداخل من العزلة المكانية والزمانية.
تداخل البرامج Software Interference
يمكن أن يؤدي تداخل البرامج الناتج عن مشاركة الموارد إلى حدوث مشكلات في العزلة المكانية والزمانية، تكون هذه الفرصة أكبر إذا كان هناك عدد أكبر من النوى، يعني المزيد من النوى بشكل أساسي وجود عدد كبير من مسارات التداخل، يكاد يكون من المستحيل تحليل كل من مسارات التداخل.