مسكن / إنترنت / تقنية ht. فرط الخيوط ما هو ولماذا؟ وحدات المعالجة المركزية مع دعم Hyper Threading

تقنية ht. فرط الخيوط ما هو ولماذا؟ وحدات المعالجة المركزية مع دعم Hyper Threading

15.03.2013

ظهرت تقنية Hyper-Threading في معالجات إنتل، مخيف القول ، منذ أكثر من 10 سنوات. و في هذه اللحظةإنه عنصر أساسي في المعالجات الأساسية. ومع ذلك ، فإن مسألة الحاجة إلى HT في الألعاب لا تزال غير مفهومة تمامًا. قررنا إجراء اختبار لمعرفة ما إذا كان اللاعبون بحاجة إلى Core i7 ، أو ما إذا كان من الأفضل التعامل مع Core i5. واكتشف أيضًا كيف يكون Core i3 أفضل من Pentium.


أصبحت تقنية Hyper-Threading ، التي طورتها Intel والمستخدمة حصريًا في معالجات الشركة ، بدءًا من Pentium 4 الذي لا يُنسى ، أمرًا مفروغًا منه الآن. وهي مجهزة بعدد كبير من المعالجات من الأجيال الحالية والسابقة. كما سيتم استخدامه في المستقبل القريب.

ويجب الاعتراف بأن تقنية Hyper-Threading مفيدة ولها تأثير إيجابي على الأداء ، وإلا فلن تستخدمها Intel لوضع معالجاتها داخل الخط. وليس كعنصر ثانوي ، بل كأحد أهم العناصر ، إن لم يكن أهمها. لتوضيح ما نتحدث عنه ، قمنا بإعداد جدول يسهل تقييم مبدأ التجزئة لمعالجات Intel.


كما ترى ، هناك اختلافات قليلة جدًا بين Pentium و Core i3 ، وكذلك بين Core i5 و Core i7. في الواقع ، يختلف طرازا i3 و i7 عن Pentium و i5 فقط في حجم ذاكرة التخزين المؤقت من المستوى الثالث لكل نواة (بدون حساب تردد الساعة بالطبع). الزوج الأول 1.5 ميغا والثاني 2 ميغا. لا يمكن أن يؤثر هذا الاختلاف بشكل جذري على أداء المعالجات ، نظرًا لأن الاختلاف في حجم ذاكرة التخزين المؤقت صغير جدًا. هذا هو السبب في تلقي Core i3 و Core i7 دعمًا لتقنية Hyper-Threading ، وهي العنصر الرئيسي الذي يسمح لهذه المعالجات بالحصول على ميزة أداء على Pentium و Core i5 ، على التوالي.

نتيجة لذلك ، سيسمح لك التخزين المؤقت الأكبر قليلاً ودعم Hyper-Threading بتعيين أسعار أعلى بكثير للمعالجات. على سبيل المثال ، تعتبر معالجات خط Pentium (حوالي 10 آلاف تنغي) أرخص مرتين تقريبًا من Core i3 (حوالي 20 ألف تنغي) ، وعلى الرغم من حقيقة أنها متماثلة فعليًا على مستوى الأجهزة ، وبالتالي ، بنفس التكلفة. الفرق في السعر بين Core i5 (حوالي 30 ألف تنغي) و Core i7 (حوالي 50 ألف تنغي) كبير جدًا أيضًا ، على الرغم من أنه أقل من مرتين في الطرز الأصغر.


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

قبل الانتقال إلى الاختبارات ، دعنا نتذكر (حسنًا ، أو نكتشف) ما هي تقنية Hyper-Threading. كما قالت إنتل نفسها ، مقدمة هذه التكنولوجيامنذ سنوات عديدة ، لم يكن هناك شيء معقد بشأنه. في الواقع ، كل ما هو مطلوب لإدخال HT على المستوى المادي هو إضافة ليس مجموعة واحدة من السجلات ووحدة تحكم المقاطعة ، ولكن اثنين ، إلى قلب مادي واحد. في معالجات بنتيوم 4 ، هذه عناصر إضافيةزاد عدد الترانزستورات بنسبة خمسة بالمائة فقط. في نوى Ivy Bridge الحالية (وكذلك في Sandy Bridge ومستقبل Haswell) ، لا تزيد العناصر الإضافية لأربعة نوى من القالب حتى بنسبة 1 بالمائة.


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

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

من أجل معرفة تأثير Hyper-Threading على أداء الألعاب ، استخدمنا مرة أخرى معالج اختبار Core i7-2700K طويل المعاناة ، وقمنا بمحاكاة أربعة معالجات في وقت واحد عن طريق تعطيل النوى وتمكين / تعطيل HT. تقليديا ، يمكن أن يطلق عليها Pentium (2 نوى ، HT off) ، Core i3 (2 نوى ، HT on) ، Core i5 (4 مراكز ، HT off) ، و Core i7 (4 مراكز ، HT on). لماذا مشروط؟ بادئ ذي بدء ، لأنها وفقًا لبعض الخصائص لا تتوافق مع المنتجات الحقيقية. على وجه الخصوص ، لا يؤدي تعطيل النوى إلى تقليل مماثل في حجم ذاكرة التخزين المؤقت من المستوى الثالث - حجمها للجميع هو 8 ميغا بايت. بالإضافة إلى ذلك ، تعمل جميع معالجاتنا "الشرطية" على نفس التردد البالغ 3.5 جيجاهرتز ، وهو ما لم يتم تحقيقه بعد بواسطة جميع معالجات Intel.


ومع ذلك ، هذا حتى للأفضل ، لأنه بفضل ثبات الجميع معلمات مهمةسنكون قادرين على اكتشاف التأثير الحقيقي لـ Hyper-Threading على أداء الألعاب دون أي تحفظات. وستكون النسبة المئوية للاختلاف في الأداء بين Pentium "الشرطي" و Core i3 قريبًا من الفرق بين المعالجات الحقيقية ، بشرط أن تكون الترددات متساوية. لا ينبغي أن يكون الأمر محرجًا أيضًا أننا نستخدم معالج Sandy Bridge ، نظرًا لأن اختبارات الكفاءة لدينا ، والتي يمكنك أن تقرأ عنها في مقالة "أداء مكشوف - استكشاف كفاءة وحدات ALU و FPU" ، أظهرت أن تأثير Hyper-Threading في الأجيال الأخيرة من المعالجات الأساسية لم تتغير. على الأرجح ذات صلة مادة معينةسيكون متاحًا أيضًا لمعالجات Haswell القادمة.

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

بالعودة إلى الاختبار ، الذي درسنا فيه تأثير عدد نوى المعالج على أداء الألعاب ، اكتشفنا أن برنامج 3DMark 11 هادئ تمامًا بشأن أداء وحدة المعالجة المركزية ، ويعمل بشكل مثالي حتى على نواة واحدة. كان ل Hyper-Threading نفس التأثير "القوي". كما ترون ، فإن الاختبار على الإطلاق لا يلاحظ الاختلافات بين Pentium و Core i7 ، ناهيك عن النماذج الوسيطة.

قطار الانفاق رقم 2033

لكن مترو 2033 لاحظ بوضوح ظهور Hyper-Threading. وكان رد فعل سلبا! نعم ، هذا صحيح: تمكين HT في هذه اللعبة له تأثير سلبي على الأداء. تأثير صغير ، بالطبع - 0.5 إطار في الثانية مع أربعة نوى مادية ، و 0.7 مع اثنين. لكن هذه الحقيقة تعطي كل الأسباب للقول أنه في Metro 2033 ، يكون Pentium أسرع من Core i3 ، و Core i5 أفضل من Core i7. هنا تأكيد لحقيقة أن Hyper-Threading لا تظهر فعاليتها ليس دائمًا وليس في كل مكان.

كرايسس 2

أظهرت هذه اللعبة نتائج شيقة للغاية. بادئ ذي بدء ، نلاحظ أن تأثير Hyper-Threading مرئي بوضوح في المعالجات ثنائية النواة - تفوق Core i3 على Pentium بنسبة 9 بالمائة تقريبًا ، وهو عدد كبير جدًا لهذه اللعبة. انتصار HT و Intel؟ ليس حقًا ، حيث أن Core i7 لم يظهر أي تحسن على Core i5 الأرخص بشكل ملحوظ. ولكن هناك تفسير معقول لذلك - لا يعرف Crysis 2 كيفية استخدام أكثر من أربعة تدفقات بيانات. لهذا السبب ، نرى زيادة جيدة في ثنائي النواة مع HT - بعد كل شيء ، أربعة خيوط ، وإن كانت منطقية ، أفضل من اثنين. من ناحية أخرى ، لم يكن هناك مكان لوضع خيوط Core i7 إضافية ، كانت هناك أربعة نوى مادية كافية. لذلك ، وفقًا لنتائج هذا الاختبار ، يمكننا ملاحظة التأثير الإيجابي لـ HT في Core i3 ، وهو أفضل بشكل ملحوظ من Pentium هنا. ولكن من بين Core i5 رباعي النواة يبدو مرة أخرى حلاً أكثر منطقية.

ساحة المعركة 3

هنا النتائج غريبة جدا. إذا كانت ساحة المعركة في اختبار عدد النوى عبارة عن عينة من الزيادة المجهرية ولكن الخطية ، فإن إدراج Hyper-Threading أدى إلى حدوث فوضى في النتائج. في الواقع ، يمكننا أن نقول أن Core i3 ، مع نواتيه و HT ، تبين أنه الأفضل على الإطلاق ، حتى Core i5 و Core i7. غريب ، بالطبع ، ولكن في نفس الوقت ، كان Core i5 و Core i7 على نفس المستوى مرة أخرى. ما يفسر هذا غير واضح. على الأرجح ، لعبت منهجية الاختبار في هذه اللعبة دورًا هنا ، مما يعطي أخطاء أكبر من المعايير القياسية.

في الاختبار الأخير ، أظهرت F1 2011 نفسها كواحدة من الألعاب الحاسمة للغاية لعدد النوى ، وفي هذه اللعبة تفاجأت مرة أخرى بالتأثير الممتاز على أداء تقنية Hyper-Threading. ومرة أخرى ، كما هو الحال في Crysis 2 ، أثبت تضمين HT أنه جيد جدًا على المعالجات ثنائية النواة. انظر إلى الفرق بين Core i3 المشروط و Pentium - إنه أكثر من الضعف! يمكنك أن ترى بوضوح أن اللعبة تفتقد إلى حد كبير إلى نواة ، وفي نفس الوقت يكون رمزها متوازيًا بشكل جيد لدرجة أن التأثير مذهل. من ناحية أخرى ، لا يمكنك التغلب على أربعة نوى مادية - يعد Core i5 أسرع بشكل ملحوظ من Core i3. لكن Core i7 ، مرة أخرى ، كما في الألعاب السابقة ، لم يظهر أي شيء مميز على خلفية Core i5. السبب هو نفسه - لا يمكن للعبة استخدام أكثر من 4 خيوط ، كما أن الحمل الزائد في HT يقلل من أداء Core i7 دون مستوى Core i5.

لا يحتاج المحارب القديم إلى Hyper-Threading أكثر من أن يحتاج القنفذ إلى قميص - تأثيره ليس واضحًا بأي حال من الأحوال كما هو الحال في F1 2011 أو Crysis 2. في الوقت نفسه ، ما زلنا نلاحظ أن تمكين HT على ثنائي النواة جلب المعالج إطارًا إضافيًا واحدًا. بالطبع ، هذا لا يكفي للقول إن Core i3 أفضل من Pentium. على أقل تقدير ، من الواضح أن هذا التحسين لا يتناسب مع الفرق في سعر هذه المعالجات. والفرق في السعر بين Core i5 و Core i7 لا يستحق التذكر حتى ، حيث تبين أن المعالج بدون دعم HT أصبح أسرع مرة أخرى. وأسرع بشكل ملحوظ - بنسبة 7 في المائة. شئنا أم أبينا ، نذكر مرة أخرى حقيقة أن أربعة خيوط هي الحد الأقصى لهذه اللعبة ، وبالتالي فإن HyperThreading في هذه القضيةلا يساعد Core i7 ، لكنه يتدخل.

إذا نظرت بعناية في محتويات إعداد BIOS ، فقد تلاحظ خيار وحدة المعالجة المركزية هناك. فرط خيوطتكنولوجيا. وربما تساءلوا عن ماهية Hyper Threading (الترابط الفائق أو الترابط الفائق ، الاسم الرسمي هو Hyper Threading Technology ، HTT) ، ولماذا هناك حاجة إلى هذا الخيار.

Hyper Threading نسبيًا تكنولوجيا جديدة، التي طورتها إنتل لمعالجات معمارية بنتيوم. كما أوضحت الممارسة ، فإن استخدام تقنية Hyper Threading جعل من الممكن في كثير من الحالات زيادة أداء وحدة المعالجة المركزية بحوالي 20-30٪.

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

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

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

تاريخ التنمية

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

ظهر دعم تقنية Hyper Threading لأول مرة في المعالجات في عام 2002. كانت هذه معالجات من عائلة Pentium 4 ومعالجات خادم Xeon بسرعات ساعة أعلى من 2 جيجاهرتز. في البداية ، كانت التقنية تحمل الاسم الرمزي جاكسون ، ولكن بعد ذلك تغير اسمها إلى Hyper Threading ، وهو مفهوم أكثر لعامة الناس - والذي يمكن ترجمته تقريبًا على أنه "مؤشر ترابط فائق".

في الوقت نفسه ، وبحسب شركة إنتل ، فقد زاد سطح شريحة المعالج التي تدعم Hyper Threading مقارنة بالنموذج السابق الذي لا يدعمها ، بنسبة 5٪ فقط ، مع زيادة الأداء بمعدل 20٪.

على الرغم من حقيقة أن التكنولوجيا ككل قد أثبتت نفسها بشكل جيد ، ومع ذلك ، لعدد من الأسباب ، قررت Intel تعطيل تقنية Hyper Threading في معالجات عائلة Core 2 التي حلت محل Pentium 4. ومع ذلك ، ظهر لاحقًا في وقت لاحق. في معماريات المعالجات في Sandy Bridge و Ivy Bridge و Haswell ، حيث أعيد تصميمها بشكل كبير.

جوهر التكنولوجيا

يعد فهم Hyper Threading أمرًا مهمًا لأنه أحد ملفات المهام الرئيسيةفي معالجات إنتل.

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

لكن لا يزال هناك تأخير. يظهر التأخير بسبب طريقة تزويد المعالج بالبيانات من كل برنامج. يجب أن يصل كل دفق بيانات في وقت معين وأن تتم معالجته بواسطة المعالج بشكل فردي. تتيح تقنية Hyper Threading لكل نواة معالج جدولة معالجة البيانات وتخصيص الموارد في وقت واحد لمؤشرين.

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

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

بمجرد تشغيل جهاز كمبيوتر بمعالج ثنائي النواة يدعم Hyper Threading وفتح Windows Task Manager (Task Manager) في علامة التبويب Performance (الأداء) ، ستجد أربعة رسوم بيانية فيه. لكن هذا لا يعني أن لديك بالفعل 4 نوى للمعالج.

هذا لأن Windows يعتقد أن كل نواة لها معالجان منطقيان. يبدو مصطلح "المعالج المنطقي" مضحكًا ، لكنه يعني معالجًا غير موجود فعليًا. يمكن لـ Windows إرسال تدفقات من البيانات إلى كل معالج منطقي ، لكن نواة واحدة فقط هي التي تقوم بهذا العمل بالفعل. لذلك ، يختلف النواة الواحدة باستخدام تقنية Hyper Threading اختلافًا كبيرًا عن النوى المادية المنفصلة.

تتطلب تقنية Hyper Threading دعمًا من الأجهزة والبرامج التالية:

  • وحدة المعالجة المركزية
  • شرائح اللوحة الأم
  • نظام التشغيل

فوائد التكنولوجيا

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

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

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

استنتاج

نظرًا لأن الحد الأقصى لزيادة الأداء عند استخدام Hyper Threading هو 30٪ ، فلا يمكن القول أن التقنية تعادل مضاعفة عدد نوى المعالج. ومع ذلك ، يعد Hyper Threading خيارًا مفيدًا ، وأنت ، بصفتك مالكًا لجهاز الكمبيوتر ، لن تتدخل فيه. ميزته ملحوظة بشكل خاص ، على سبيل المثال ، في مثل هذه الحالات عندما تقوم بتحرير ملفات الوسائط المتعددة أو استخدام جهاز الكمبيوتر الخاص بك كمحطة عمل لمثل هذا برامج احترافيةمثل Photoshop أو Maya.

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

منصة البحث

موضوع التجارب - كمبيوتر محمول ASUS N750JK بمعالج Intel Core i7-4700HQ. تبلغ سرعة الساعة 2.4 جيجا هرتز ، معززة بوضع Intel Turbo Boost حتى 3.4 جيجا هرتز. 16 جيجا بايت مثبتة ذاكرة الوصول العشوائي DDR3-1600 (PC3-12800) تعمل في وضع القناة المزدوجة. نظام التشغيل - مايكروسوفت ويندوز 8.1 64 بت.

الشكل 1 تكوين المنصة المدروسة.

يحتوي معالج النظام الأساسي قيد الدراسة على 4 مراكز ، والتي ، عند تمكين تقنية Hyper-Threading ، توفر دعمًا للأجهزة لثمانية خيوط أو معالجات منطقية. تمرر البرامج الثابتة للنظام الأساسي هذه المعلومات إلى نظام التشغيل عبر جدول ACPI MADT (جدول وصف APIC المتعدد). نظرًا لأن النظام الأساسي يحتوي على وحدة تحكم RAM واحدة فقط ، فلا يوجد SRAT (جدول تقارب موارد النظام) الذي يعلن قرب مراكز المعالج من وحدات التحكم في الذاكرة. من الواضح أن الكمبيوتر المحمول المعني ليس منصة NUMA ، ولكن نظام التشغيل، لغرض التوحيد ، يعتبره نظام NUMA بنطاق واحد ، كما هو موضح في السطر NUMA Nodes = 1. الحقيقة الأساسية لتجاربنا هي أن ذاكرة التخزين المؤقت لبيانات المستوى الأول لها حجم 32 كيلوبايت لكل منها من النوى الأربعة. يشترك معالجان منطقيان في نفس النواة في مخابئ L1 و L2.

عملية التحقيق

سنحقق في اعتماد سرعة قراءة كتلة البيانات على حجمها. للقيام بذلك ، سنختار الطريقة الأكثر إنتاجية ، وهي قراءة معاملات 256 بت باستخدام تعليمات VMOVAPD AVX. في المخططات ، يُظهر المحور X حجم الكتلة ، ويظهر المحور Y سرعة القراءة. بالقرب من النقطة X ، والتي تتوافق مع حجم ذاكرة التخزين المؤقت للمستوى الأول ، نتوقع رؤية نقطة انعطاف ، حيث يجب أن ينخفض ​​الأداء بعد خروج الكتلة المعالجة من ذاكرة التخزين المؤقت. في اختبارنا ، في حالة تعدد مؤشرات الترابط ، يعمل كل من الخيوط الـ 16 التي تم بدء تشغيلها مع نطاق عناوين منفصل. للتحكم في تقنية Hyper-Threading داخل أحد التطبيقات ، يستخدم كل مؤشر ترابط وظيفة SetThreadAffinityMask API ، والتي تحدد قناعًا يتوافق فيه كل معالج منطقي مع بت واحد. تسمح القيمة المفردة للبت باستخدام المعالج المحدد بواسطة مؤشر ترابط محدد ، وتحظره القيمة الصفرية. بالنسبة إلى 8 معالجات منطقية للمنصة المدروسة ، يسمح القناع 11111111b باستخدام جميع المعالجات (تم تمكين Hyper-Threading) ، يسمح القناع 01010101b باستخدام معالج منطقي واحد في كل نواة (تم تعطيل Hyper-Threading).

يتم استخدام الاختصارات التالية في الرسوم البيانية:

MBPS (ميغا بايت في الثانية)كتلة سرعة القراءة بالميغابايت في الثانية;

CPI (ساعات لكل تعليمات)عدد الدورات لكل تعليمات;

عداد الطوابع الزمنية (TSC)عداد دورة المعالج.

ملاحظة: قد لا تتطابق سرعة ساعة سجل TSC مع سرعة ساعة المعالج عند التشغيل في وضع Turbo Boost. يجب أن يؤخذ ذلك في الاعتبار عند تفسير النتائج.

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

رقم الخبرة 1. خيط واحد



الصورة 2 القراءة في موضوع واحد

السرعة القصوى 213563 ميغا بايت في الثانية. تحدث نقطة الانعطاف بحجم كتلة يبلغ حوالي 32 كيلو بايت.

رقم الخبرة 2. 16 مؤشر ترابط على 4 معالجات ، تعطيل الترابط التشعبي



تين. 3 القراءة في ستة عشر موضوعًا. عدد المعالجات المنطقية المستخدمة أربعة

تم تعطيل الترابط المفرط. السرعة القصوى 797598 ميغا بايت في الثانية. تحدث نقطة الانعطاف بحجم كتلة يبلغ حوالي 32 كيلو بايت. كما هو متوقع ، مقارنة بالقراءة بخيط واحد ، زادت السرعة بنحو 4 مرات ، من حيث عدد النوى العاملة.

رقم الخبرة 3. 16 خيطًا في 8 معالجات ، تم تمكين خيوط المعالجة المتعددة



الشكل 4 القراءة في ستة عشر موضوعًا. عدد المعالجات المنطقية المستخدمة ثمانية

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

الاستنتاجات

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

مرحبا عشاق الكمبيوتر والأجهزة.

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


شرح المفهوم

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

كيف يكون هذا ممكنا؟ يرجع ذلك إلى حقيقة أن المعالج:

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

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

حول تحسين الأداء

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

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

المظهر والتنفيذ

يمكننا أن نفترض أن Hyper-threading قد احتفل بالفعل بعيده الخامس عشر. بعد كل شيء ، تم تطويره على أساس تقنية الخيوط الفائقة ، والتي تم إصدارها في عام 2002 وبدأت العمل لأول مرة في منتجات Xeon ، ثم في نفس العام تم دمجها في Pentium 4. حقوق الطبع والنشر لهذه التقنيات تنتمي إلى Intel.

يتم تنفيذ HT في المعالجات التي تعمل على معمارية NetBurst المصغرة ، والتي تتميز بسرعات عالية على مدار الساعة. يتم تنفيذ الدعم التكنولوجي في نماذج عائلات Core vPro و M و Xeon. ومع ذلك ، في سلسلة Core 2 ("Duo" ، "Quad") ، لم يتم دمجها. يتم تطبيق تقنية مماثلة من حيث مبدأ التشغيل في عمليات Atom و Itanium.

كيف يتم تمكينه؟ يجب ألا يكون لديك أحد المعالجات المذكورة أعلاه فحسب ، بل يجب أن يكون لديك أيضًا نظام تشغيل يدعم التقنية و BIOS لديه خيار تشغيل HT وإيقاف تشغيله. إذا لم يكن كذلك ، فقم بتحديث BIOS.

إيجابيات وسلبيات Hyperthreading

يمكنك بالفعل استخلاص استنتاج حول بعض مزايا التكنولوجيا من المعلومات المذكورة أعلاه. سأضيف بضع كلمات أخرى إليهم:

  • تشغيل مستقر لعدة برامج في نفس الوقت ؛
  • تقليل وقت الاستجابة عند تصفح الإنترنت أو استخدام التطبيقات.

كما تفهم ، لم يكن بدون ذبابة في المرهم. قد لا يكون هناك مكاسب في الأداء للأسباب التالية:

  • لا توجد ذاكرة تخزين مؤقت كافية. على سبيل المثال ، في معالجات i7 رباعية النوى ، تبلغ ذاكرة التخزين المؤقت 8 ميجابايت ، ولكن هناك نفس عدد النوى المنطقية. نحصل على 1 ميغا بايت فقط لكل نواة ، وهو ما لا يكفي لمعظم البرامج لأداء مهام حسابية. وبسبب هذا ، فإن الأداء لا يظل ثابتًا فحسب ، بل إنه ينخفض ​​أيضًا.

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

أين هي الحاجة إلى خيوط المعالجة المتعددة؟

ستكون التكنولوجيا مفيدة عند استخدام برامج كثيفة الاستخدام للموارد: برامج تحرير الصوت والفيديو والصور والألعاب والمحفوظات. وتشمل هذه Photoshop و Maya و 3D's Max و Corel Draw و WinRar وما إلى ذلك.

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

اتطلع لرؤيتك على مدونتي

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

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

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

مرجع التاريخ
دعونا نتعمق قليلاً في تاريخ هذا التطور. ظهر دعم Hyper Threading لأول مرة في معالجات Intel Pentium 4. لاحقًا ، استمر تطبيق هذه التقنية في سلسلة Intel Core iX (يرمز X لسلسلة المعالجات هنا). تجدر الإشارة إلى أنه لسبب ما غائب في خط رقائق المعالج Core 2. صحيح أن الزيادة في الإنتاجية كانت ضعيفة نوعًا ما: في مكان ما عند مستوى 15-20٪. يشير هذا إلى أن المعالج لم يكن لديه قوة المعالجة اللازمة ، وأن التكنولوجيا التي تم إنشاؤها كانت عمليا سابقة لعصرها. اليوم ، يتوفر دعم تقنية Hyper Threading بالفعل في جميع الرقائق الحديثة تقريبًا. لزيادة قوة المعالج المركزي ، تستخدم العملية نفسها 5٪ فقط من السطح البلوري ، مع ترك مساحة لمعالجة الأوامر والبيانات.

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

كيفية تمكين Hyper Threading في BIOS؟
لقد اكتشفنا بالفعل قليلاً حول ماهية تقنية Hyper Threading وتعرفنا على تاريخ تطورها. لقد اقتربنا من فهم تقنية Hyper Threading. كيف يتم تفعيل هذه التقنية لاستخدامها في المعالج؟ هنا يتم كل شيء بكل بساطة. يجب عليك استخدام النظام الفرعي لإدارة BIOS. يتم إدخال النظام الفرعي باستخدام مفاتيح Del و F1 و F2 و F3 و F8 و F12 و F2 + Del وما إلى ذلك. إذا كنت تستخدم كمبيوتر محمول Sony Vaio ، فسيكون لديهم مدخلات محددة عند استخدام مفتاح ASSIST المخصص. في إعدادات BIOS ، إذا كان المعالج الذي تستخدمه يدعم تقنية Hyper Threading ، فيجب أن يكون هناك خط إعداد خاص. في معظم الحالات ، تبدو مثل Hyper Threading Technology ، وفي بعض الأحيان تبدو وكأنها وظيفة. اعتمادًا على مطور النظام الفرعي و إصدارات BIOS، يمكن احتواء إعداد هذه المعلمة إما في القائمة الرئيسية أو في الإعدادات المتقدمة. لتمكين هذه التقنية ، يجب عليك الدخول إلى قائمة الخيارات وتعيين القيمة على ممكّن. بعد ذلك ، تحتاج إلى حفظ التغييرات التي تم إجراؤها وإعادة تشغيل النظام.

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