این مقاله در تاریخ 11 اردیبهشت 1400 نوشته و در تاریخ 7 مهر 1400 مورد بازبینی قرار گرفته است. |
امروزه تقریباً تمام سی پی یو های سرور موجود در بازار، چند هسته ای هستند: آنها شامل چندین واحد پردازشی هستند که می توانند همزمان کارهای مختلفی را انجام دهند. اما حال مزایای اضافه شدن این هسته ها به پردازنده ها چیست؟ چه تفاوتی میان برنامه های Single Threaded و MultiThreaded وجود دارد و اصلاً تکنولوژی Hyper Threading چیست؟
تکنولوژی HyperThreading چیست؟
فهرست محتوا
تکنولوژی HyperThreading در واقع اصطلاحی است که اینتل استفاده میکند و همان تکنولوژی ای است که AMD آن را Simultaneous MultiThreading یا SMT می نامد. در این تکنولوژی، CPU هسته فیزیکی خود را به دو هسته مجازی که Thread نامیده میشود، تقسیم میکند. لازم به ذکر است این تکنولوژی در پردازنده های قدیمی موجود نیست.
با استفاده از HyperThreading CPU، سرور و یا هر دستگاه دیگری که CPU سرور در آن قرار می گیرد، می تواند اطلاعات بیشتری را در مدت زمان کمتری پردازش کرده و کارهای بیشتری را بدون اختلال انجام دهد. در شرایط مناسب، این فناوری به هسته های پردازنده اجازه می دهد تا دو کار را همزمان انجام دهند.
CPU های مدرن امروزی، هم چند هسته دارند و هم ازتکنولوژی Hyper Threading استفاده میکنند. مثلا در CPU دو هستهای با کمک Hyper Threading به صورت ۴ هسته برای سیستم عامل ارائه میشود و به همین صورت ۴ هسته به صورت ۸ هسته. Hyper Threading جایگزینی برای هستههای اضافی نیست اما کارایی پردازنده دو هستهای با وجود Hyper Threading بیشتر از کارایی پردازنده دو هستهای بدون وجود Hyper Threading است.
برای مثال تکنولوژي Hyper Threading به پردازنده اين امکان را ميدهد که در هر لحظه، دو بسته اطلاعاتي را پردازش کند. اين بدان معناست که اگر پردازنده شما اين قابليت را داشته باشد، هر هسته پردازشي قرار گرفته روي آن ميتواند در يک لحظه دو دستورالعمل (thread) را پردازش کند. در واقع با اين تکنولوژي سيستمعامل به هر هسته پردازشي به چشم يک دو هستهاي نگاه ميکند که قابليت پردازش همزمان دو دستورالعمل را دارد.
نکته : در حالت کلی این تکنولوژی می تواند تا 30% در صد سرعت پردازش داده ها افزایش دهد و این مقدار می تواند در پردازنده قوی تر بیشتر از این هم باشد.
جهت آشنایی بیشتر با تکنولوژی HyperThreading ویدئو زیر را مشاهده نمایید:
کدام پردازنده ها از تکنولوژی HyperThreading بهره می برند:
تکنولوژی Hyper Threading در سری پردازنده های Intel سری Atom، Core i7 و برخی مدلهای Core i5 از این تکنولوژی بهره می برند.
نکته : علاوه بر اینکه پردازنده اینتل باید دارای ویژگی هایپر تردینگ باشد سیستم عامل شما و بایوس مادربرد نیز باید دارای این ویژگی باشد.
مزایای تکنولوژی HyperThreading:
ـ بهبود پشتيباني از کدهاي Multi -Thread
ـ امکان اجراي هم زمان چندين thread
ـ بهبود زمان پاسخگويي و عکس العمل پردازنده به دستور العملهاي دريافتي
بیشتر بخوانید: پردازنده سرور چیست و انتخاب CPU مناسب
با افزایش تعداد هسته آیا باز هم به تکنولوژی HyperThreading نیاز هست؟
افزايش تعداد هستههاي فیزیکی در پردازنده يکي از راههاي افزايش قدرت پردازنده در اجراي هم زمان چندين دستورالعمل است ولي بايد توجه داشت که افزايش تعداد هستههاي فيزيکي، اندازه پردازنده و مصرف انرژي را افزايش ميدهد. ولي Hyper Threading چنين عيبي را ندارد چرا که تنها راه را براي استفاده بهينه واحدهاي پردازشي پردازنده باز ميکند. اين تکنولوژي واحدهاي پردازشي خالي را با دستورالعملها پر کرده و در واقع به پردازنده اين امکان را ميدهد که از حداکثر توان پردازشي خود استفاده کند.
نکته : تکنولوژی Hyper Threading تعداد هسته ها را به صورت فیزیکی افزایش نمی دهد.
معایب تکنولوژی HyperThreading:
HT Technology عملکرد پردازنده یا هسته های یک پردازنده خاص را افزایش نمی دهد. این یک فن آوری خاص سخت افزاری است که یک هسته واحد را قادر می سازد تا چندین جریان داده را به هم پیوند دهد.
ـ Hyper-Threading می تواند باعث شود تا CPU گرمای بیشتری ایجاد کند. برای جلوگیری از تخریب عملکرد سخت افزار و گرم شدن بیش از حد، به سیستم های خنک کننده نیاز است.
ـ بهبود عملکردها اساساً وابسته به برنامه هستند. علاوه بر این، اگر Hyper-Threading از طریق BIOS غیرفعال شود، در هر زمان نمی تواند توسط کاربر فعال یا غیرفعال شود. مشابه ویژگیTurbo Boost ، CPU تحت برخی شرایط این ویژگی را فعال می کند.
تفاوت HyperThreading، MultiThreading و SuperThreading:
- Multi-Threading چیست؟
اگر سخت افزارهای تشکیل دهنده کامپیوتر و یا سیستم شما قابلیت اجرای چندین Thread را داشته باشند در واقع از قابلیت Multi-Threading برخوردار است. زمانیکه صحبت از Multi-Threading می شود باید سیستم های چند پردازشی یا Multiprocessing ها را تصور کنیم که همچون سیستم های چند هسته ای یک CPU دارای چندین هسته هستند.
- Super-threading چیست؟
قابلیت Super-Threading در واقع چیزی شبیه به Multi-threading است که امکان اجرای چندین Thread مختلف بر روی یک CPU را فراهم می سازد بدون آنکه واقعا آنها را در یک بازه زمانی و بصورت همزمان اجرا کند. در واقع Super-Threading شبیه Multi-threading است با این تفاوت که Multi-threading جریان داده را به صورت همزمان منتقل می کند. Super-Threading در یک سیستم به دنبال چرخه یا Cycle های بلااستفاده CPU می گردد و به محض مشاهده آنها Thread دیگری که در صف اجرا بوده است را وارد می کند تا اجرا شود.
- تکنولوژی Hyper-Threading چیست؟
در تکنولوژی Hyper-Threading، پردازنده های اینتل، هر هسته واقعی و فیزیکی را به دو هسته مجازی تبدیل می کنند. به عنوان مثال پردازنده ای که دارای دو هسته فیزیکی است با استفاده از این تکنولوژی شامل چهار هسته مجازی خواهد شد.
به پایان این مقاله رسیدیم امیدواریم با مطالعه این مقاله و مشاهده ویدئوی آموزشی آن با اصطلاح Hyper-Threading آشنایی پیدا کرده باشید.