پایگاه دانش: سخت افزار و کاربری
با تکنولوژي Hyper Threading آشنا شوید
ارسال شده توسط عباس پيرنظريان در تاریخ 1390/06/27 02:41 بعد از ظهر

با تکنولوژي Hyper Threading آشنا شوید

 قدرت مضاعف

 عرضه پردازنده‌هاي Core i7 بار ديگر تکنولوژي Hyper Threading را سر زبان‌ها انداخت. اينتل نخستين بار اين تکنولوژي را با پردازنده‌هاي Pentium 4 معرفي کرد ولي پس از به پايان رسيدن عمر اين پردازنده‌ها و ظهور مهندسي Core 2 اين تکنولوژي ديگر هيچ گاه به کار گرفته نشد. Hyper Threading بار ديگر زنده شده و بسياري از پردازنده‌هاي کنوني اينتل از آن بهره مي‌برند. هم اکنون پردازنده‌هاي Atom، Core i7 و برخي مدل‌هاي Core i5 از اين تکنولوژي بهره مي‌برند. امروز قصد داريم Hyper Threading و نحوه عملکرد آن‌را براي شما باز کرده و تاثير به کارگيري آن روي کارآيي پردازنده را بررسي کنيم.

 چرا Multi Threading؟

پردازنده‌ها به‌طور معمول مي‌توانند از هر نرم‌افزار يا برنامه تنها يک دستورالعمل را در يک لحظه معين پردازش کنند. اين قانون حتي در مورد پردازنده‌هاي چند هسته‌اي هم برقرار است، يعني هر هسته پردازشي درون پردازنده در يک زمان مشخص، تنها يک دستورالعمل را پردازش مي‌کند. اين دستورالعمل‌ها به اصطلاح thread ناميده مي‌شوند.

 خيلي از کاربران وقتي چندين نرم‌افزار را به صورت همزمان اجرا مي‌کنند (Multi tasking) فکر مي‌کنند پردازنده کامپيوتر آن‌ها برخلاف گفته بالا عمل مي‌کنند ولي در عمل شيوه عملکرد پردازنده به همان صورتي است که در بالا گفته شده يعني در هر لحظه، تنها يک دستورالعمل دريافتي پردازش مي‌شود. بديهي است که يک پردازنده چهار هسته‌اي طبق گفته بالا در هر لحظه مي‌تواند 4 دستورالعمل را پردازش کند.

 اما اين‌که وقتي چندين نرم‌افزار را با هم اجرا مي‌کنيد چه اتفاقي مي‌افتد؟ پاسخ بسيار ساده است. پردازنده زمان و توان خود را بين برنامه‌هاي در حال اجرا و دستورالعمل‌هاي رسيده از آن‌ها تقسيم مي‌کند. اين رفت و برگشت و سوييچ کردن ميان نرم‌افزارها به قدري سريع صورت مي‌گيرد که کاربر فکر مي‌کند پردازنده تمامي دستورالعمل‌ها را همزمان اجرا مي‌کند و به همين دليل حس Multi Tasking به کاربر القا مي‌شود.

 اگر قرار باشد يک برنامه براي کار با پردازنده‌هاي چند هسته‌اي بهينه سازي شود نرم افزار بايد به گونه‌اي طراحي شود تا هر بسته اطلاعاتي را در چندين قطعه جداگانه (Multi Thread) به هسته‌هاي پردارشي بفرستد. چرا که حتي در يک چند هسته‌اي هم، هر هسته در يک زمان مشخص تنها يک دستورالعمل را پردازش مي‌کند.

 Hyper Threading چيست؟

تکنولوژي "Hyper Threading" به پردازنده اين امکان را مي‌دهد که در هر لحظه، دو بسته اطلاعاتي را پردازش کند. اين بدان معناست که اگر پردازنده شما اين قابليت را داشته باشد، هر هسته پردازشي قرار گرفته روي آن مي‌تواند در يک لحظه دو دستورالعمل (thread) را پردازش کند. در واقع با اين تکنولوژي سيستم‌عامل به هر هسته پردازشي به چشم يک دو هسته‌اي نگاه مي‌کند که قابليت پردازش همزمان دو دستورالعمل را دارد.

 زماني‌که سيستم عامل مورد استفاده شما از اين تکنولوژي پشتيباني ‌کند و پردازنده نيز داراي چنين قابليتي باشد، هر هسته فيزيکي قرار گرفته روي پردازنده، از نظر سيستم عامل يک دو هسته‌اي خواهد بود. بنابراين سيستم عامل يک تک هسته‌اي با تکنولوژي Hyper Threading را به عنوان يک دو هسته‌اي مي‌شناسد و اگر به پنجره Task Manager برويد، دقيقا دو هسته پردازشي براي آن در نظر خواهد گرفت. به همين ترتيب يک چهار هسته‌اي با تکنولوژي Hyper Threading از نظر سيستم‌عامل يک 8 هسته‌اي خواهد بود.(تصویر2)

 اينتل سه مزيت عمده براي تکنولوژي Hyper Threading برشمرده است:

 - بهبود پشتيباني از کدهاي Multi -Thread

 - امکان اجراي هم زمان چندين thread

 - بهبود زمان پاسخگويي و عکس العمل پردازنده به دستور العمل‌هاي دريافتي.

 طبق اطلاعات منتشر شده از سوي اینتل، مزيت اول تنها 5 درصد به سطح فيزيکي پردازنده افزوده (افزايش اندازه فيزيکي پردازنده) ولي در عوض 15 تا 30 درصد، کارآيي را افزايش مي‌دهد، به علاوه اينتل ادعا مي‌کند يک پردازنده با تکنولوژي Hyper Threading از يک پردازنده کاملا مشابه بدون اين تکنولوژي تا 30 درصد سريع‌تر است.

تاثير اين تکنولوژي روي کارآيي تا حدود زيادي به نرم‌افزارمورد استفاده وابسته است. ضمن اين‌که بايد اشاره کرد که اکثر نرم‌افزارهاي جديد، از ساختار Multi Thread بهره برده و توانايي ارسال همزمان چندين دستورالعمل به پردازنده را دارند.

Multi Thread يا Multi Core؟

ممکن است اين سوال در ذهن شما شکل گرفته باشد که با افزايش تعداد هسته‌هاي پردازشي هم مي‌توان تعداد زيادي دستورالعمل همزمان روي پردازنده جريان پيدا کرده و پردازش شوند و ديگر چه لزومي به استفاده از تکنولوژي Hyper Threading است. در جواب بايد گفت که افزايش تعداد هسته‌هاي پردازشي فيزيکي در پردازنده يکي از راه‌هاي افزايش قدرت پردازنده در اجراي هم زمان چندين دستورالعمل است ولي بايد توجه داشت که افزايش تعداد هسته‌هاي پردازشي فيزيکي، اندازه پردازنده و مصرف انرژي را تا حد زيادي افزايش مي‌دهد. ولي Hyper Threading چنين عيبي را ندارد چرا که تنها راه را براي استفاده بهينه واحدهاي پردازشي پردازنده باز مي‌کند. همان‌طور که در تصویر1 نيز نمايش داده شده اين تکنولوژي واحدهاي پردازشي خالي را با دستورالعمل‌ها پر کرده و در واقع به پردازنده اين امکان را مي‌دهد که از حداکثر توان پردازشي خود استفاده کند.

 سختافزار و نرمافزارهاي سازگار

هم اکنون تمامي پردازنده‌هاي Core i7 از تکنولوژي Hyper Threading بهره مي‌برند. اکثر پردازنده‌هاي کم مصرف Atom نيز به HT مجهز شده‌اند و تنها چند مدل محدود از آن‌ها فاقد اين تکنولوژي هستند. يکي از دلايل موفقيت پلتفرم اتم و پردازنده‌هاي اتم که در نت‌بوک‌ها به کار گرفته مي‌شود، وجود همين تکنولوژي به حساب مي‌آيد.

 پردازنده‌هاي Core i5 سري 600 نيز که اخيرا از خانواده پردازنده‌هاي Clarkdale معرفي شده‌اند از HT بهره مي‌برند. ضمن اين‌که Core i3هاي سري 300 که براي لپ‌تاپ‌ها در نظر گرفته شده‌اند از Hyper Threading پشتيباني مي‌کنند.

 سيستم‌عامل‌هاي جديد اعم از ويندوز 7، ويندوز ويستا و گونه‌هاي مختلف لينوکس همگي با Hyper Threading سازگاري کامل دارند.

براي استفاده از Hyper Threading بايد اين قابليت را از درون بايوس مادربورد فعال کنيد. در اين صورت سيستم‌عامل تعداد هسته‌هاي پردازنده شما را دو برابر تعداد هسته‌هاي واقعي پردازنده خواهد ديد.

(0 رأی/آراء)
مفید بود
مفید نبود

نظرات (0)
ارسال نظر جدید
 
 
نام کامل:
ایمیل:
متن نظر:
Help Desk Software by Kayako