Hyper Threading چیست :
به برنامه های قدیمی اصطلاحا Single Thread گفته میشد، بدین معنا که در آن واحد تنها یک دستور ارسال میکردند. اما با پیشرفت CPU ها این امکان فراهم شد که یک برنامه در آن واحد بیش از یک دستور به پردازنده ارسال کند. این یعنی سرعت پردازش بیشتر میشود.
امروزه دیگه تغریبا همه CPU ها چند هسته ای هستند و شامل چندین واحد محاسبه گر هستند که میتواند در لحظه چندین کار رو به صورت همزمان انجام بدهد.
پی سی هایی با چند پردازنده، مزایای بیشتری هم دارند. تمام این ویژگیها به نحوی طراحی شدهاند که پردازش چندگانه و همزمان بسیار آسانتر میکنند و در عین حال افزایش کارایی را هنگام Multicasting یا اپهای قدرتمندی مانند Encoder های ویدئو و بازیهای مدرن به همراه دارد.
CPU های مدرن امروزی، هم چند هسته دارند و هم از Hyper Threading استفاده میکنند. مثلا CPU دو هستهای با کمک Hyper Threading به صورت ۴ هسته برای سیستم عامل ارایه میشود و به همین صورت ۴ هسته به صورت ۸ هسته.
Multithreading مانند تقسیم کردن کار است و وقتی به کار می آید که بخواهیم چندین کار را به صورت همزمان انجام دهیم ، به عبارتی دیگه به جای اینکه انجام یک کار سنگینی رو فقط به دوش یک هسته کامپیوتر بیندازیم با استفاده از این قابلیت میتوانیم این کار سنگین را به چندین هسته بسپاریم و در نتیجه کار زودتر تمام شده و در وقت نیز صرف جویی میشود و سیستم هم داغ نمیکند.
مشابه این قابلیت Hyper Threading که اینتل از آن استفاده میکند ، درواقع همان تکنولوژی ای است که AMD با نام Simultaneous Multithreading از آن استفاده میکند که به آن به صورت اختصار SMT میگوید.
Hyper Threading و پردازش موازی برای اولین بار در سال ۲۰۰۲ توسط اینتل در مدل Pentium 4 HT ارایه شد. پنتیوم ها تا قبل از آن روز تک پردازنده بودند و فقط یک کار را در هر زمان میتوانستند انجام دهند حتی اگر میتوانستند بین Task ها هم به سرعت سوییچ کنند و به صورت Multicasting به نظر برسند.
هسته پردازنده با وجود قابلیت Hyper Threading ، به صورت منطقی، دو هسته برای سیستم عامل فراهم میکند؛ با وجود این که سی پی یو فقط یک عدد است. سخت افزار CPU فقط یک سری منابع اجرایی برای هر هسته CPU دارد اما پردازنده وانمود میکند که هستههای بیشتری دارد تا سرعت اجرای برنامه ها را بیشتر کند. به عبارت دیگر سیستم عامل فریب داده میشود تا هر هسته واقعی پردازنده را به صورت دو پردازنده ببیند !
Hyper Threading جایگزینی برای هستههای اضافی نیست اما کارایی پردازنده دو هستهای با وجود Hyper Threading بیشتر از کارایی پردازنده دو هستهای بدون وجود Hyper Threading است.