تکنولوژی Hyper Threading چیست؟
تکنولوژی Hyper Threading چیست؟ CPU کارهای پردازشی که برنامهها را اجرا میکند، انجام میدهد. سی پی یو های مدرن ویژگیهایی مانند چند هستهای و Hyper Threading دارند. برخی سیستمها هم حتی چند پردازنده دارند.
سابقا سرعت کلاک پردازنده برای مقایسه کارایی کافی بود اما دیگر به همین سادگی نیست. CPU ای که چند هسته یا Hyper Threading ارایه میدهد، به شکل قابل توجهی از سی پی یو های تک هستهای که همان سرعت را دارند و Hyper Threading ندارند، بهتر هستند. پی سی هایی با چند پردازنده، مزایای بیشتری هم دارند. تمام این ویژگیهای جوری طراحی شدهاند که پردازش چندگانه و همزمان بسیار آسانتر انجام میشود و در عین حال افزایش کارایی را هنگام Multicasting یا اپهای قدرتمندی مانند Encoder های ویدئو و بازیهای مدرن به همراه دارد.
حالا بیایید نگاهی به هر یک از این ویژگیها بپردازیم و ببینیم برای شما چه معنی دارد.
Hyper Threading چیست؟
Hyper Threading در واقع اصطلاحی است که اینتل برای Simultaneous Multithreading یا SMT به کار میبرد. در این تکنولوژی، CPU هسته فیزیکی خود را به دو هسته مجازی که Thread نامیده میشود، تقسیم میکند. HT هر هسته را برای انجام دو کار استفاده میکند در نتیجه کارایی CPU افزایش مییابد. پس با خیال راحت به اجرای همزمان اپهای Multiple Demanding یا استفاده از اپهای Heavily Threaded بپردازید بدون اینکه پی سی داغ شود.
Hyper Threading در حال حاضر در پردازنده های Intel Core، Core vPro، Core M و زئون قابل استفاده است.
Hyper Threading و پردازش موازی برای اولین بار در سال 2002 توسط شرکت Intel در مدل Pentium 4 HT ارایه شد. پنتیوم 4 ها تا آن روز تک پردازنده بودند و فقط یک کار را در هر زمان میتوانستند انجام دهند حتی اگر میتوانستند بین Task ها به سرعت سوییچ کنند و به صورت Multicasting به نظر برسند.
هسته پردازنده با وجود Hyper Threading، به صورت منطقی، دو هسته برای سیستم عامل فراهم میکند؛ با وجودی که سی پی یو فقط یک عدد سی پی یو است. سخت افزار CPU فقط یک سری منابع اجرایی برای هر هسته CPU دارد اما پردازنده وانمود میکند که هستههای بیشتری دارد تا سرعت اجرای برنامه ها را بیشتر کند. به عبارت دیگر سیستم عامل فریب داده میشود تا هر هسته واقعی پردازنده را به صورت دو پردازنده ببیند!
با وجود Hyper Threading، دو هسته منطقی CPU، منابع فیزیکی اجرایی را به اشتراک میگذارد. نتیجه این است که سرعت افزایش خواهد یافت. مثلا اگر یکی از سی پی یو های مجازی در حالت انتظار باشد و پردازشی انجام ندهد، دیگر سی پی یو مجازی میتواند منابع اجرایی آن را قرض بگیرد.
Hyper Threading باعث افزایش سرعت پردازنده میشود اما به هر حال به پای داشتن هستههای اضافی واقعی نمیرسد!
CPU های مدرن امروزی، هم چند هسته دارند و هم از Hyper Threading استفاده میکنند. مثلا CPU دو هستهای با کمک Hyper Threading به صورت 4 هسته برای سیستم عامل ارایه میشود و به همین صورت 4 هسته به صورت 8 هسته. Hyper Threading جایگزینی برای هستههای اضافی نیست اما کارایی پردازنده دو هستهای با وجود Hyper Threading بیشتر از کارایی پردازنده دو هستهای بدون وجود Hyper Threading است.
برای استفاده از Hyper Threading باید سیستم عامل و بایوس هم از تکنولوژی Hyper Threading پشتیبانی کنند.
خلاصه
به برنامه های قدیمی اصطلاحا Single Thread گفته میشد، بدین معنا که در آن واحد تنها یک دستور ارسال میکردند. اما با پیشرفت CPU ها این امکان فراهم شد که یک برنامه در آن واحد بیش از یک دستور به پردازنده ارسال کند و این به معنی سرعت و قدرت پردازش بیشتر می باشد.