وحدات المعالجة المركزية (CPUs) هي أدمغة أجهزة الكمبيوتر لدينا. يقومون بمعالجة كل ما نقوم به على أساس يومي ، من فتح تطبيق إلى مشاهدة فيلم. ولكن ما هي وحدة المعالجة المركزية بالضبط؟ كيف يعمل؟ وما الفرق بين وحدات المعالجة المركزية ووحدات المعالجة المركزية الافتراضية الشائعة؟
فهم أدمغة أجهزة الكمبيوتر
تم إنشاء أول أجهزة كمبيوتر إلكترونية في أوائل القرن التاسع عشر ، وفقًا لدليل التاريخ الكامل نشرته G2. ومع ذلك ، كانت أجهزة الكمبيوتر هذه كبيرة ومكلفة ، ولا يمكن استخدامها إلا من قبل علماء الرياضيات والعلماء المدربين.
يعود الفضل إلى تشارلز باباج في اختراعه أول آلة حوسبة ، محرك الفرق ، والتي يمكن برمجتها لأداء أي عملية حسابية يمكن إجراؤها يدويًا. ومع ذلك ، لم يكتمل مشروع محرك الفرق بسبب نقص التمويل ، وفقًا لمتحف تاريخ الكمبيوتر.
في عام 1937 ، ذكر باباج لأول مرة المحرك التحليلي ، والذي سيصبح أول كمبيوتر ميكانيكي متعدد الأغراض في العالم. "قام المحرك التحليلي بدمج جميع عناصر الكمبيوتر الحديث: وحدة منطقية حسابية ، تحكم في التدفق في شكل تفرع وحلقات شرطية ، وذاكرة متكاملة ،" (ملاحظات الإلكترونيات).
من المكونات الرئيسية لجهاز الكمبيوتر اليوم وحدة المعالجة المركزية أو وحدة المعالجة المركزية. تعد وحدة المعالجة المركزية (CPU) مسؤولة عن تنفيذ التعليمات التي تقدمها لها البرامج مثل نظام التشغيل أو أحد التطبيقات. من منظور الشخص العادي ، يمكنك التفكير في وحدة المعالجة المركزية كعقل جهاز الكمبيوتر الخاص بك. تتكون وحدة المعالجة المركزية من جزأين رئيسيين: وحدة التحكم ووحدة المنطق الحسابي (ALU). إذا أربكتك هذه الاختصارات ، فراجع ملف
نظرة عامة على كيفية اختلاف وحدات APU ووحدات المعالجة المركزية ووحدات معالجة الرسومات.وحدة التحكم مسؤولة عن جلب التعليمات من الذاكرة وفك تشفيرها ثم إرسالها إلى وحدة المنطق الحسابي ليتم تنفيذها. تقوم وحدة ALU بإجراء عمليات حسابية ومنطقية على البيانات المخزنة في السجلات ، وهي وحدات تخزين داخلية داخل وحدة المعالجة المركزية.
عصري تحتوي وحدات المعالجة المركزية أيضًا على ذاكرة تخزين مؤقت، وهي مقدار صغير من الذاكرة عالية السرعة التي تخزن التعليمات والبيانات المستخدمة بشكل متكرر. مخابئ مقسمة إلى مستويات. تم دمج ذاكرة التخزين المؤقت من المستوى 1 (L1) في قالب وحدة المعالجة المركزية نفسها ، وذاكرة التخزين المؤقت من المستوى 2 (L2) موجودة على شريحة منفصلة قريبة من تقع وحدة المعالجة المركزية ، وذاكرة التخزين المؤقت من المستوى 3 (L3) بعيدًا عن وحدة المعالجة المركزية على شريحة خاصة بها أو حتى على دائرتها الخاصة مجلس.
CPU مقابل. vCPU
مع ظهور الخدمات السحابية ، جاء ظهور وحدة المعالجة المركزية الافتراضية ، أو vCPU لفترة قصيرة. يحدد TechTarget وحدة المعالجة المركزية الافتراضية (vCPU) باعتبارها "وحدة معالجة مركزية فعلية (CPU) يتم تخصيصها لجهاز ظاهري (VM)."
الأجهزة الافتراضية هي في الأساس أنظمة تشغيل قائمة بذاتها تعمل داخل نظام تشغيل آخر كما لو كانت تطبيقات. تُستخدم الأجهزة الافتراضية لمجموعة متنوعة من الأغراض مثل اختبار البرامج الجديدة في بيئة آمنة ، وتشغيل أنظمة تشغيل متعددة (على سبيل المثال ، Windows و Linux) على نفس الكمبيوتر ، أو دمج عدة خوادم فعلية في خادم واحد لتوفير المساحة وتقليلها التكاليف.
لذا ، فإن وحدة المعالجة المركزية الافتراضية هي تطبيق برمجي لوحدة المعالجة المركزية ؛ لا يوجد فعليًا داخل جهاز الكمبيوتر الخاص بك كما تفعل وحدة المعالجة المركزية الحقيقية. يقوم برنامج Hypervisor ، وهو البرنامج الذي ينشئ ويدير أجهزة افتراضية ، بتعيين وحدات vCPU للجهاز الظاهري. ينظر إلى كل وحدة معالجة مركزية افتراضية من خلال نظام التشغيل داخل الجهاز الظاهري كنواة حقيقية لوحدة المعالجة المركزية. انظر لدينا شرح برامج Hypervisor لتعلم المزيد.
ومع ذلك ، نظرًا لأن وحدات المعالجة المركزية الافتراضية تعتمد على البرامج ، فهي ليست فعالة مثل وحدات المعالجة المركزية الحقيقية. لذلك ، من المهم تحديد العدد النوى التي يحتوي عليها معالجك عند شراء جهاز كمبيوتر (على سبيل المثال ، "رباعي النواة" يعني أربعة أنوية). تنطبق نفس القاعدة عند اختيار خادم خاص افتراضي (VPS) أو خطة استضافة خادم مخصصة.
يتمثل الاختلاف الرئيسي بين وحدات المعالجة المركزية ووحدات المعالجة المركزية الافتراضية في أن وحدات المعالجة المركزية تعتمد على الأجهزة بينما تعتمد وحدات المعالجة المركزية على البرامج. هذا يعني أن وحدات المعالجة المركزية (CPU) موجودة فعليًا داخل جهاز الكمبيوتر الخاص بك بينما لا توجد وحدات المعالجة المركزية الافتراضية ؛ بدلاً من ذلك ، يتم إنشاؤها بواسطة برامج Hypervisor عند الحاجة. بسبب هذا الاختلاف في التنفيذ ، تعد وحدات المعالجة المركزية أكثر كفاءة من وحدات المعالجة المركزية الافتراضية ؛ ليس لديهم الحمل المرتبط بالتشغيل في البرنامج.
منذ أوائل العقد الأول من القرن الحادي والعشرين ، أصبحت vCPUs شائعة بشكل متزايد لأنها أرخص وأسهل في التعيين من وحدات المعالجة المركزية الفعلية ؛ ومع ذلك ، إذا كنت تبحث عن الأداء ، فمن الأفضل استخدام جهاز كمبيوتر به عدة نوى لوحدة المعالجة المركزية حيث يمكن لكل نواة معالجة التعليمات بشكل مستقل.
النوى مقابل. الخيوط
قد تحتوي وحدة المعالجة المركزية على مركز واحد أو أكثر ، وهي وحدة المعالجة التي تؤدي المهام في وقت محدد. سيحتفظ المركز بأمر تنفيذ المهمة ، والسجلات ، وذاكرة التخزين المؤقت (إن أمكن) وتنفيذ العمليات عبر ALU. تتحكم وحدة المعالجة المركزية في النوى ، لكن النواة تنفذ كل عملية برمجية أو خيط يقوم بجدولة نظام التشغيل. الخيط هو تسلسل مستقل من التعليمات التي يمكن معالجتها بواسطة وحدة المعالجة المركزية.
يمكن أن توجد خيوط متعددة في نفس العملية وتتشارك في نفس مساحة الذاكرة. هذا يسمح لهم بالتواصل مع بعضهم البعض بسهولة أكبر مما لو كانوا يعملون ضمن عمليات منفصلة. غالبًا ما تستخدم الخيوط لتحسين أداء التطبيقات متعددة مؤشرات الترابط من خلال السماح لأجزاء مختلفة من البرنامج بالعمل في وقت واحد على نوى أو معالجات مختلفة.
مصطلح "الخيط" قد استخدم في المصطلحات الحاسوبية لسنوات عديدة ؛ ومع ذلك ، لم يتم تقديم الدعم على مستوى الأجهزة للخيوط في المعالجات حتى أوائل العقد الأول من القرن الحادي والعشرين. سمح ذلك بتنفيذ العديد من الخيوط في وقت واحد على مراكز منفصلة. في السابق ، كان من الممكن تنفيذ خيط واحد فقط في كل مرة على نواة واحدة ، بغض النظر عن عدد النوى الموجودة في المعالج. أصبحت المعالجات متعددة النواة شائعة الآن ، وتوفر معظم أنظمة التشغيل مستوى معينًا من الدعم لتشغيل البرامج كمؤشرات ترابط متعددة.
اختتام القضايا الأساسية
باختصار ، وحدات المعالجة المركزية (CPU) هي العقول القائمة على الأجهزة لأجهزة الكمبيوتر الخاصة بنا ، في حين أن نظيرتها الافتراضية ، vCPUs ، تعتمد على البرامج ويتم إنشاؤها بواسطة برامج Hypervisor للتشغيل داخل الأجهزة الافتراضية. النوى هي وحدات المعالجة القائمة على الأجهزة داخل وحدة المعالجة المركزية ، في حين أن الخيوط هي التعليمات المستندة إلى البرامج التي يمكن معالجتها بواسطة وحدة المعالجة المركزية.
يمكن تنفيذ الخيوط في وقت واحد على مراكز منفصلة ، مما يسمح بتشغيل أجزاء مختلفة من البرنامج في نفس الوقت. يمكن أن يؤدي ذلك إلى تحسين أداء الأجهزة حيث يمكن معالجة المهام المتعددة في وقت واحد بدلاً من معالجة بعضها بالتتابع.
الآن بعد أن فهمت الفرق بين وحدات المعالجة المركزية ووحدات المعالجة المركزية الافتراضية والنوى والخيوط ، يمكنك اتخاذ قرار مستنير عند اختيار جهاز كمبيوتر أو خادم. إذا كنت تبحث عن الأداء ، فمن الأفضل أن تختار جهاز كمبيوتر به عدة أنوية لوحدة المعالجة المركزية حيث يمكن لكل نواة معالجة التعليمات بشكل مستقل. ومع ذلك ، إذا كنت تبحث عن حل فعال من حيث التكلفة ، فقد تكون وحدات المعالجة المركزية الافتراضية هي السبيل للذهاب.