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

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

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

تأتي جلسة الأسئلة والأجوبة اليوم من باب المجاملة من SuperUser - وهي قسم فرعي من Stack Exchange ، وهي مجموعة يقودها المجتمع لمواقع الأسئلة والأجوبة.

السؤال

يريد قارئ 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.0 جيجاهرتز + 4 × 2.0 جيجاهرتز ، 16 جيجا هرتز كحد أقصى)؟ هل سيكون الخيار الثاني جيدًا بنفس القدر في أحمال العمل المفرد المترابطة ، ولكن يحتمل أن يكون أفضل في أعباء العمل متعددة الخيوط؟

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

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

الاجابة

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

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

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

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

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

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

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

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

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


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

الصورة الائتمان: ميركو والترمان (فليكر)