سؤال لماذا لا "تضيف المزيد من النوى" تواجه نفس القيود المادية مثل "جعل وحدة المعالجة المركزية أسرع"؟


في عام 2014 ، سمعت الكثير من لغات البرمجة التي توصف بالتزامن المميزات. يقال أن التزامن أمر حاسم لمكاسب الأداء.

عند كتابة هذا البيان ، يشير الكثير من الناس إلى مقالة عام 2005 تسمى ال غداء مجاني إنتهت: a تحول أساسي نحو تزامن في البرمجيات. الأساسية الحجة هي أنه من الصعب زيادة سرعة الساعة المعالجات ، ولكن لا يزال بإمكاننا وضع المزيد من النوى على رقاقة ، وهذا للحصول عليها مكاسب الأداء ، سوف تحتاج إلى كتابة البرامج للاستفادة منها النوى متعددة.

بعض علامات الاقتباس الرئيسية:

لقد اعتدنا على رؤية وحدات المعالجة المركزية (CPU) بسرعة 500 ميجاهرتز تفسح المجال لوحدات المعالجة المركزية (CPU) بسرعة 1 جيجا هرتز لتفسح المجال   وحدات المعالجة المركزية 2GHz ، وهلم جرا. اليوم نحن في نطاق 3GHz على التيار الرئيسي   أجهزة الكمبيوتر.

السؤال الرئيسي هو: متى سينتهي؟ بعد كل شيء ، يتنبأ قانون مور   النمو المتسارع ، ومن الواضح أن النمو المتسارع لا يمكن أن يستمر   إلى الأبد قبل أن نصل إلى حدود جسدية صلبة ؛ الضوء لا يحصل على أي   بسرعة. يجب أن يتباطأ النمو في النهاية وحتى ينتهي.

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

... يكمن مستقبل إنتل ومعظم موردي المعالجات في مكان آخر كشريحة   الشركات تسعى بقوة نفس اتجاهات multicore جديدة.

... Multicore حول تشغيل اثنين أو أكثر من وحدات المعالجة المركزية الفعلية على شريحة واحدة.

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

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

لكن يبدو أن جزءاً من الحل هو معماريات متعددة النواة. ما لم أجهزة الكمبيوتر ينمو في الحجم (التي لم يفعلوا) ، وهذا يبدو مجرد طريقة أخرى للقول "حزم المزيد من قوة pocessing في نفس المكان".

لماذا لا "إضافة المزيد من النوى" تواجه نفس القيود المادية مثل "جعل وحدة المعالجة المركزية أسرع "؟

يرجى توضيح في أبسط الشروط يمكنك. :)


108
2017-08-15 14:22


الأصل


هناك بعض الأسئلة ذات الصلة في الهندسة الكهربائية: electronics.stackexchange.com/q/122050/34550  electronics.stackexchange.com/q/76580/34550 - Bob
en.wikipedia.org/wiki/Moore٪27s_law تستحق القراءة - بما أننا نتحدث عن شيئين مختلفين. قانون مور ليس متعلق بساعة التوقيت - إنها تقريبًا الترانزستور التهم - Journeyman Geek♦
دعنا نتظاهر بأنه كان قبل 30 عامًا ووصلت وحدات المعالجة المركزية إلى 4.77 ميجاهرتز. لماذا يمكنك وضع 1000 جهاز كمبيوتر مع وحدات المعالجة المركزية 4 ميجاهرتز في نفس الغرفة على الرغم من أنه كان من المستحيل الحصول على وحدة المعالجة المركزية 4 جيجاهرتز؟ - user20574
NathanLong ولكن لا يزال من الأسهل الحصول على مساحة أكبر (لمزيد من أجهزة الكمبيوتر) من الحصول على كمبيوتر أسرع. - user20574
القياس: لا يمكن تصنيع محرك السيارة إلا لعدد كبير من الدورات في الدقيقة ، ولكن يمكنك بسهولة تركيب اثنين معاً. - OJFord


الأجوبة:


ملخص

  • اقتصاديات. من الأسهل والأيسر تصميم وحدة المعالجة المركزية (CPU) التي تحتوي على عدد من النوى أكثر من سرعة ساعة أعلى ، لأن:

  • زيادة كبيرة في استخدام الطاقة. يزيد استهلاك طاقة وحدة المعالجة المركزية بسرعة كلما زادت سرعة الساعة - يمكنك مضاعفة عدد النوى العاملة بسرعة أقل في المساحة الحرارية التي تحتاجها لزيادة سرعة الساعة بنسبة 25٪. رباعية لمدة 50 ٪.

  • هناك طرق أخرى لزيادة سرعة المعالجة المتتالية ، واستخدام الشركات المصنعة للمعالج استخدامًا جيدًا.


سأستفيد بشدة من الإجابات الممتازة في هذا السؤال على أحد مواقع SE الأخ. لذلك اذهب uppote لهم!


قيود سرعة الساعة

هناك بعض القيود المادية المعروفة لسرعة الساعة:

  • وقت الإرسال

    الوقت الذي تستغرقه الإشارة الكهربائية لعبور دائرة ما محدود بسرعة الضوء. هذا حد صعب ، وليس هناك طريقة معروفة حوله1. في ساعات gigahertz ، نحن نقترب من هذا الحد.

    ومع ذلك ، نحن لسنا هناك بعد. 1 جيجاهرتز تعني nanosecond واحدة لكل علامة على مدار الساعة. في ذلك الوقت ، يمكن للضوء أن يسافر 30 سم. عند سرعة 10 غيغاهرتز ، يمكن للضوء أن يسافر 3 سم. يبلغ عرض وحدة المعالجة المركزية (CPU) الواحدة حوالي 5 مم ، لذا سوف نواجه هذه المشكلات في مكان ما بعد 10 غيغاهرتز.2

  • تبديل التأخير

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

    للأسف ، لست متأكدًا من التفاصيل ، ولا يمكنني تقديم أي أرقام.

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

  • تبديد الحرارة / استهلاك الطاقة

    هذا هو واحد كبير. نقلا عن إجابة fuzzyhair2:

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

    هناك بعض القياسات الجميلة في هذا موضوع منتدى AnandTech، وحتى أنها اشتقت صيغة لاستهلاك الطاقة (التي تسير جنبا إلى جنب مع الحرارة المتولدة):

    Formula
    الائتمان ل Idontcare

    يمكننا تصور ذلك في الرسم البياني التالي:

    Graph
    الائتمان ل Idontcare

    كما ترون ، يرتفع استهلاك الطاقة (والحرارة الناتجة) بسرعة كبيرة مع زيادة سرعة الساعة بعد نقطة معينة. هذا يجعل من غير العملي زيادة سرعة الساعة بلا حدود.

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


مزيد من النوى؟

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

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

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

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

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

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


طرق أخرى لتحسين الأداء

لذلك ، لا يمكننا زيادة سرعة الساعة. وهناك الكثير من النوى التي لديها عيب إضافي - أي أنها تساعد فقط عندما يمكن للبرامج التي تعمل عليها الاستفادة منها.

اذا، ماذا يمكننا ان نفعل ايضا؟ كيف تكون وحدات المعالجة المركزية (CPUs) الحديثة أسرع بكثير من تلك القديمة في نفس سرعة الساعة؟

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

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

لذا ، يمكن أن نجعل وحدة المعالجة المركزية تعمل بشكل أفضل عن طريق زيادة عدد الإرشادات التي يمكن تنفيذها في الثانية الواحدة. ماذا؟ حسنًا ، يمكنك جعل التعليمة أكثر فاعلية - ربما يتطلب الانقسام الآن دورتين فقط. ثم هناك pipelining التعليمات. من خلال كسر كل التعليمات إلى مراحل متعددة ، من الممكن تنفيذ التعليمات "بالتوازي" - ولكن كل توجيه ما زال يحتوي على تعريف محدد وتسلسلي وترتيب خاص للتعليمات قبله وبعده ، لذلك لا يتطلب دعم البرامج مثل multicore هل.

يوجد آخر الطريقة: تعليمات أكثر تخصصا. لقد رأينا أشياء مثل SSE ، والتي توفر تعليمات لمعالجة كميات كبيرة من البيانات في وقت واحد. هناك مجموعات تعليمات جديدة يجري تقديمها باستمرار مع أهداف مماثلة. هذه ، مرة أخرى ، تتطلب دعم البرامج وزيادة تعقيد الأجهزة ، لكنها توفر دفعة جيدة الأداء. في الآونة الأخيرة ، كان هناك AES-NI ، والذي يوفر تشفير وفك التشفير AES المعجل بالأجهزة ، أسرع بكثير من مجموعة من العمليات الحسابية المطبقة في البرمجيات.


1 ليس من دون التعمق في فيزياء الكم النظرية ، على أي حال.

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


142
2017-08-15 15:13



أيضا ، في العديد من التطبيقات ، لا يكون عنق الزجاجة وقت الحساب ، بل وقت التوقف لإحضار البيانات من ذاكرة الوصول العشوائي (أو ، لا سمح الله ، من القرص) ؛ لذلك ، تأتي عملية تسريع رئيسية أخرى من مختبرات أكبر وأسرع للمعالج. - Matteo Italia
MatteoItalia Yup. وهناك أيضًا تحسينات في التنبؤ بالفرع ، وربما أكثر من ذلك بكثير لا أعرف عنها. خارج المعالج ، لدينا أيضًا حافلات أسرع ، ذاكرة أسرع ، أقراص أسرع وبروتوكولات مرتبطة ، إلخ. - Bob
لقد ذكرت أن القضايا المتعلقة "بالحد الأقصى" لسرعة الضوء ستحدث في "ما يقرب من 20 غيغاهرتز في مكان ما". حساباتك غير صحيحة تتحرك الإشارات الكهربائية بسرعات أقل من سرعة الضوء ، اعتمادًا على هندسة السلك. - Giulio Muscarello
من فضلك لا تستخدم "أسي" عندما يكون هناك كلمات أكثر صوابًا تمامًا لهذه العلاقة (تربيعية ، مكعب ، إلخ) ... - Oliver Charlesworth
تضمين التغريدةOliCharlesworth الرجاء قراءة الحاشية السفلية. هذا هو على وجه التحديد لماذا توجد الحاشية ، ولماذا أشير إليها في كل مكان exponential يستخدم. هذا هو استخدام صحيح تماما للكلمة ، وسيكون من وجهة نظر إلى حد من هذه الإجابة للتورط في التفاصيل الرياضية. إذا كنت تريد فعلًا محاولة "تصحيحه" ، فلا تتردد في اقتراح تعديل. لن يكون الأمر لي إذا تم قبوله أو لا ، طالما أنك لا تغير المعنى بشكل كبير. - Bob


الفيزياء هي الفيزياء. لا يمكننا الاستمرار في تعبئة المزيد من الترانزستورات في مسافات أصغر إلى الأبد. في مرحلة ما ، تصبح صغيرة لدرجة أنك تتعامل مع حماقة كمومية غريبة. في مرحلة ما لا يمكننا حزم مرتين العديد من الترانزستورات في السنة كما اعتدنا عليها (وهو ما يدور حول قانون مور).

الساعة السريعة الخام لا تعني شيئا. كان بلدي بنتيوم M القديم حوالي نصف سرعة الساعة من وحدة المعالجة المركزية سطح المكتب المعاصر (وحتى الآن في كثير من النواحي بسرعة) - والأنظمة الحديثة هي بالكاد تقترب من سرعة النظم قبل 10 سنوات (وبشكل واضح بشكل أسرع). أساسا 'مجرد' الارتقاء لساعة التوقيت لا يعطي مكاسب حقيقية في الأداء في كثير من الحالات. قد يساعد في بعض عمليات فردية ، لكنك أفضل حالاً في إنفاق ميزانية التصميم على كفاءة أفضل من حيث كل شيء آخر.

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

يمكنك أيضا بناء أكثر ذكاء بطرق مختلفة. ARM يعمل Big-Little - مع وجود 4 نوى منخفضة الطاقة "ضعيفة" تعمل جنبًا إلى جنب مع 4 قلوب أكثر قوة حتى يكون لديك أفضل ما في العالمين. انتل يتيح لك خنق باستمرار (لفعالية أفضل للكهرباء) أو فيركلوك محدد النوى (لأداء أفضل موضوع واحد). أتذكر AMD يفعل شيئا مع وحدات.

يمكنك أيضًا نقل أشياء مثل وحدات التحكم في الذاكرة (بحيث يكون لديك وقت استجابة أقل) ووظائف متعلقة بـ IO (وحدة المعالجة المركزية الحديثة لا تحتوي على جسر شمالي) بالإضافة إلى فيديو (وهو أكثر أهمية مع أجهزة الكمبيوتر المحمولة وتصميم AIW). من المنطقي القيام بهذه الأشياء بدلاً من "فقط" الحفاظ على زيادة سرعة الساعة.

في بعض الأحيان ، قد لا تعمل النوى - على الرغم من أن وحدات معالجة الرسومات (الجرافيكس) لديها المئات من النوى.

تسمح خاصية Multicores على هذا النحو لأجهزة الكمبيوتر بالعمل أكثر ذكاء بكل هذه الطرق.


14
2017-08-15 14:36



وتجدر الإشارة إلى أن النوى GPU مصممة لغرض محدد للغاية ، على عكس نوى وحدة المعالجة المركزية التي هي أكثر من شيء للأغراض العامة. وتجدر الإشارة أيضا إلى أن لوحات بطاقة الفيديو أكبر بكثير من وحدة المعالجة المركزية (يعني حتى لو كانت النوى لا تستخدم كل غرفة على اللوحة ، فإنها لا تزال لديها الكثير من المساحة لتبديد الحرارة). - user2366842
صحيح ، لكن هذا مثال حيث تقوم بتوسيع النوى بمقدار كبير. من المرجح أن أراجع هذه الإجابة في الصباح - Journeyman Geek♦
"يمكنك ببساطة أن تمرر اثنين من النوى الموجودة في نفس الحزمة". ولكن كيف يحققونها دون استخدام مساحة أكبر للنوى الإضافية ماذا؟! سحر؟ حيدات؟ الجراء؟ (من خلال الصورة الرمزية الخاصة بك ، وأظن أن الأخير) - That Brazilian Guy
كانت بنتيوم Ds ذلك en.wikipedia.org/wiki/Pentium_D في الأساس - Journeyman Geek♦
wierd quantum crap + 1 لذلك وحده! - Dave


إجابة بسيطة

أبسط إجابة على السؤال

لماذا لا "تضيف المزيد من النوى" تواجه نفس القيود المادية مثل "جعل وحدة المعالجة المركزية أسرع"؟

موجود بالفعل في جزء آخر من سؤالك:

أتوقع أن يكون الاستنتاج "لذلك ، سيكون علينا امتلاك أجهزة كمبيوتر أكبر أو تشغيل برامجنا على أجهزة كمبيوتر متعددة."

في جوهرها ، فإن النوى المتعددة تشبه وجود "أجهزة كمبيوتر" متعددة على نفس الجهاز.

إجابة معقدة

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

  1. زيادة الإنتاجية (زيادة معدل الساعة ، تقليل الحجم المادي ، إلخ)
  2. استخدم المزيد من النوى في نفس الكمبيوتر

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

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


9
2017-08-15 17:13



"النوى المتعددة تشبه وجود" أجهزة كمبيوتر "متعددة على نفس الجهاز." صحيح ، ولكن كان ارتباكي هو كيف تناسبهم جميعًا هناك؟ اعتقدت "لا يمكننا الذهاب بشكل أسرع" كان من أعراض "لا يمكننا تقليص الأشياء أكثر من ذلك بكثير." - Nathan Long
تأخذ النوى المتعددة مساحة أكبر ، وتصبح الرقائق أكبر. تم نقل العبء من وحدة المعالجة المركزية إلى مهندس البرمجيات ... ليعمل بشكل أسرع في واحد من هذه البرامج العملاقة متعددة النواة cpus ، يجب كتابة البرنامج بحيث يمكنك خفض أعماله إلى النصف والقيام بنصفين بشكل مستقل. - James
الإجابة المختصرة هي أن استهلاك الطاقة يتناسب مع مكعب سرعة الساعة. مع الإشارات التي تسافر لمسافات أطول ، يصعب الحفاظ على الوهم الخيطي الوحيد. الجواب التفصيلي: amazon.com/... - Rob


لماذا لا "تضيف المزيد من النوى" تواجه نفس القيود المادية مثل "جعل وحدة المعالجة المركزية أسرع"؟

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

الحقيقة 1: ينمو استهلاك الطاقة والحرارة المنبعثة أسرع من الطاقة الحسابية. دفع وحدة المعالجة المركزية من 1 جيجاهرتز إلى 2 غيغاهرتز سيدفع استهلاك الطاقة من 20 إلى 80 واط ، بنفس الحرارة المتقطعة. (لقد قمت بتكوين هذه الأرقام فقط ، ولكن كيف تعمل تمامًا)

الحقيقة 2: شراء وحدة المعالجة المركزية الثانية وتشغيلها عند 1 جيجا هرتز من شأنه أن يضاعف الطاقة الحسابية لديك. يمكن لوحدة المعالجة المركزية (CPUs) التي تعمل على 1 جيجاهرتز معالجة نفس مقدار البيانات مثل وحدة المعالجة المركزية 2 جيجاهرتز ، لكن كل وحدة تستهلك 20 واط فقط من الطاقة ، أي 40 واط في الإجمالي.

الربح: إن مضاعفة عدد وحدات المعالجة المركزية بدلاً من تردد الساعة يوفر لنا بعض الطاقة ، ونحن لسنا قريبين من "حاجز التردد" كما كان من قبل.

مشكلة: لديك لتقسيم العمل بين اثنين من وحدات المعالجة المركزية وجمع النتائج في وقت لاحق.

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

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


6
2017-08-15 19:43



نحن نحافظ على ضرب القيود المادية في 1000 طريقة مختلفة ، وحجم الموت (لقالب متعدد الذي يؤدي إلى عملية تصنيع أصغر) ، وحجم موبو (ل cpu متعددة) ، والأمبير مرسومة من خلال آثار (على حد سواء). ليس مثل يمكنك وضع 2 cpus على m-atx أو 4 والذاكرة على لوحة atx وتلك التصاميم تأخذ DECADES للتغيير. وأنا أتفق مع بقية. - Rostol
Rostol هذه نقطة جيدة ، لقد قمت بتحرير الجواب. - gronostaj


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

أعتقد أن هذه المشكلة متعددة الأبعاد وستحتاج إلى بعض الكتابة لرسم الصورة الأكثر اكتمالاً:

  1. القيود المادية (التي تفرضها الفيزياء الفعلية): مثل سرعة الضوء ، ميكانيكا الكم ، كل ذلك.
  2. مشاكل التصنيع: كيف نقوم بتصنيع أبنية أصغر من أي وقت مضى مع الدقة المطلوبة؟ مشاكل المواد الخام ذات الصلة ، والمواد المستخدمة لبناء الدوائر usw. ، المتانة.
  3. المشاكل المعمارية: الحرارة والاستدلال واستهلاك الطاقة الخ
  4. المشكلات الاقتصادية: ما هي أرخص طريقة للحصول على أداء أفضل للمستخدم؟
  5. Usecases وتصور المستخدم للأداء.

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

اسأل نفسك ما هو طلبك المعتاد؟ ربما: 25 علامة تبويب من فَيَرفُكس ، كل منها يلعب بعض الإعلانات في الخلفية ، بينما تستمع إلى الموسيقى ، وكل ذلك في انتظار وظيفة البناء التي بدأتها منذ ساعتين تقريبًا للانتهاء منها. هذا هو الكثير من العمل الذي يتعين القيام به ، وما زلت تريد تجربة سلسة. لكن وحدة المعالجة المركزية الخاصة بك يمكن التعامل مع مهمة واحدة في ذلك الوقت! على شيء واحد. إذن ما تفعله هو أن تقسم الأشياء وتصنع طابورًا طويلًا وكل واحد يحصل على حصته الخاصة وكلهم سعداء. باستثناءك لأن كل الأشياء تصبح متخلفة وليست سلسة على الإطلاق.

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

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

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

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


5
2017-08-15 15:49





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

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


2
2017-08-15 14:30





CPU = محرك السيارة: انه من الاسهل لجعل السيارة أكثر قوة مع 16 صماما، أي بمعنى لامبورغيني، من سيارة دورة في الدقيقة عالية من شأنه أن يكون واحدا العملاقة صمام / اسطوانة 100 000 دورة في الدقيقة.

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


2
2017-08-17 07:58





أود أن أقول أن القيود الأساسية على حدود الطاقة الحسابية ترتبط في المقام الأول بالحدود التي يمكن بها سرعة تحريك الإلكترون عبر دائرة (سرعة الضوء الانجراف الالكترونى). هناك العديد من العوامل مثل التي ذكرتها.

لن تؤدي إضافة النوى الإضافية إلى جعل المعالج أسرع ، على الرغم من أنه يسمح له بمعالجة المزيد في نفس الفترة الزمنية.

قانون مور هي قراءة مثيرة للاهتمام ومفيدة للغاية. هذا الاقتباس على وجه الخصوص مناسب هنا:

يمكن للمرء أيضا أن يحد من الأداء النظري لجهاز كمبيوتر محمول "عملي" ، مع كتلة من الكيلوغرام الواحد وحجم لتر واحد. ويتم ذلك من خلال النظر في سرعة الضوء ، المقياس الكمي ، ثابت الجاذبية وثابت بولتزمان ، مما يعطي أداء 5.4258 ⋅ 1050 العمليات المنطقية في الثانية الواحدة في حوالي 1031 بت.


2
2017-08-15 14:38



وبالمناسبة ، تتحرك الإلكترونات في الواقع ببطء شديد ("سرعة الانجراف") ، بالترتيب في المليمترات في الثانية IIRC. انت اكثر اشارة الى السرعة التي فيها الحقل الكهربائي تنتشر. - Bob
كنت أعرف أنني لا يجب أن أتجرأ على التصرف كأنني أفهم الفيزياء في أدنى تقدير. :) شكرا لك على تصحيح / أبلغني في هذا على الرغم من. - jredd
كما أن سرعات الساعة الفعلية التي يكون فيها لسرعة الانتشار لها تأثير كبير أكثر من 10 جيجا هرتز. هناك أسباب أخرى تفضل المعالجات الحديثة النوى متعددة على مدار ساعات أعلى. - Bob