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

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

قبل التعمق في كيفية عمل المعالجات متعددة النواة ، من المهم التحدث قليلاً عن القصة الخلفية لتقنية المعالجة ، وبعد ذلك سنناقش ما تفعله المعالجات متعددة النواة.

بعض التاريخ

قبل بناء المعالجات ذات النوى المتعددة ، حاول الأشخاص والشركات مثل Intel و AMD بناء أجهزة كمبيوتر مع وحدات معالجة مركزية متعددة. هذا يعني أنه كانت هناك حاجة إلى اللوحة الأم مع أكثر من مقبس وحدة المعالجة المركزية. لم يكن هذا أكثر تكلفة فقط ، بسبب الأجهزة المادية اللازمة لمقبس CPU آخر ، ولكنه زاد أيضًا من الكمون بسبب زيادة الاتصال الذي كان مطلوبًا لإجراءه بين المعالجين. كان على اللوحة الأم تقسيم البيانات بين موقعين منفصلين تمامًا في جهاز الكمبيوتر بدلاً من مجرد إرسالها بالكامل إلى المعالج. إن المسافة المادية تعني في الواقع أن العملية أبطأ. إن وضع هذه العمليات على شريحة واحدة ذات نوى متعددة لا يعني فقط أن هناك مسافة أقل للسفر ، ولكنه يعني أيضًا أن النوى المختلفة يمكنها مشاركة الموارد لأداء المهام الثقيلة بشكل خاص. على سبيل المثال ، تم تنفيذ رقائق Intel Pentium II و Pentium III في إصدارات مع معالجين على لوحة أم واحدة.

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

يمكنك العثور على مقطع فيديو ثاقبة يقدم شرحًا موجزًا ​​وأكثر تفصيلاً لفرط الترابط هنا.

متعدد المعالجات

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

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

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

ماذا يفعل المعالج متعدد النواة؟

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

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

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

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

كيف تعمل المعالجات متعددة النواة؟

أولاً ، تحتاج اللوحة الأم ونظام التشغيل إلى التعرف على المعالج وأن هناك نوى متعددة. تحتوي أجهزة الكمبيوتر القديمة على نواة واحدة فقط ، لذلك قد لا يعمل نظام التشغيل الأقدم بشكل جيد إذا حاول المستخدم تثبيته على جهاز كمبيوتر أحدث به نوى متعددة. Windows 95 ، على سبيل المثال ، لا يدعم خيوط المعالجة المتعددة أو النوى المتعددة. تدعم جميع أنظمة التشغيل الحديثة المعالجات متعددة النواة ، بما في ذلك أمثال Windows 7 و 8 و 10 التي تم إصدارها حديثًا و Apple OS X 10.10.

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

المعالج

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

معالج أحادي النواة

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

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

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

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

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

إلى أين تتجه تكنولوجيا المعالجة متعددة النوى بعد ذلك؟ أخبرنا في التعليقات أدناه ، أو عن طريق بدء موضوع جديد في منتدى مجتمعنا.