الصفحة الرئيسية » howto » لماذا وحدة المعالجة المركزية النوى جميع بنفس السرعة بدلا من مختلف؟

    لماذا وحدة المعالجة المركزية النوى جميع بنفس السرعة بدلا من مختلف؟

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

    تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.

    السؤال

    قارئ SuperUser يريد Jamie معرفة السبب في أن النواة CPU لها نفس السرعة بدلاً من تلك المختلفة:

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

    فمثلا:

    • Intel Core i5-7600K ، تردد أساسي 3.80 غيغاهرتز ، 4 نوى ، 4 خيوط
    • Intel Core i7-7700K ، تردد أساسي 4.20 غيغاهرتز ، 4 نوى ، 8 خيوط
    • AMD Ryzen 5 1600X ، تردد أساسي 3.60 جيجاهرتز ، 6 قلب ، 12 موضوع
    • AMD Ryzen 7 1800X ، التردد الأساسي 3.60 جيجاهرتز ، 8 قلب ، 16 موضوع

    لماذا نرى هذا النمط من النوى المتزايدة ، ولكن كل النوى لها نفس سرعة الساعة؟ لماذا لا توجد متغيرات بسرعات مختلفة على مدار الساعة؟ على سبيل المثال ، اثنان من النوى "الكبيرة" والكثير من النوى الصغيرة.

    بدلاً من ، قل ، أربعة مراكز في 4.0 غيغاهرتز (أي 4 × 4 غيغاهرتز ، 16 غيغاهرتز كحد أقصى) ، ماذا عن وحدة المعالجة المركزية مع مركزين يعملان في 4.0 غيغاهرتز وأربعة مراكز تعمل عند 2.0 جيجاهرتز (أي 2 × 4 غيغا هرتز + 4 × 2.0 GHz ، 16 غيغاهرتز كحد أقصى)؟ هل سيكون الخيار الثاني جيدًا بنفس القدر في أحمال العمل المترابطة ، ولكن قد يكون أفضل في أحمال العمل متعددة الخيوط?

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

    لماذا تمتلك مراكز التحكم في المعالجات المركزية نفس السرعة بدلاً من السرعات المختلفة?

    الاجابة

    مساهم SuperUser bwDraco لديه الجواب بالنسبة لنا:

    ويعرف هذا باسم المعالجة المتعددة غير المتجانسة (HMP) ويتم اعتماده على نطاق واسع بواسطة الأجهزة المحمولة. في الأجهزة التي تعتمد على ARM والتي تقوم بتطبيق big.LITTLE ، يحتوي المعالج على نوى ذات أداء مختلف وملفات طاقة مختلفة ، أي أن بعض النوى تعمل بسرعة ولكن تستمد الكثير من الطاقة (هندسة أسرع و / أو ساعات أعلى) في حين أن البعض الآخر يتميز بالكفاءة في استخدام الطاقة ولكنه بطيء ( هندسة أبطأ و / أو ساعات أقل). وهذا مفيد لأن استخدام الطاقة يميل إلى الزيادة بشكل غير متناسب مع زيادة الأداء بمجرد تجاوز نقطة معينة. الفكرة هنا هي الحصول على أداء عندما تحتاج إليه وعمر البطارية عندما لا تفعل ذلك.

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

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

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

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

    خذ معالجًا افتراضيًا مع اثنين من قلب كيابي السريع (الجيل السابع) وثمانية نوى من نوع جولمونت (أتوم) البطيئة. سيكون لديك ما مجموعه 10 نواة ، وأعباء العمل ذات الخيوط المرتفعة المحسنة لهذا النوع من المعالج قد تشهد زيادة في الأداء والكفاءة على معالج Kaby Lake رباعي النواة الطبيعي. ومع ذلك ، فإن الأنواع المختلفة من النوى لها مستويات أداء مختلفة للغاية ، ولا تدعم النوى البطيئة حتى بعض التعليمات التي تدعمها النوى السريعة ، مثل AVX (ARM يتجنب هذه المشكلة عن طريق مطالبة كل من النوى الكبيرة و LITTLE لدعم نفس التعليمات ).

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

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


    هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.

    Image Credit: ميركو والترمان (فليكر)