تکنولوژی Hyper Threading یک فناوری اینتل است که با افزایش موازی سازی محاسبات، عملکرد CPU را بهبود میبخشد و به CPU اجازه میدهد تا وظایف بیشتری را به طور همزمان انجام دهد. به بیان دیگر Hyper-threading فرآیندی است که توسط آن یک CPU هسته های فیزیکی خود را به هسته های مجازی تقسیم میکند که سیستم عامل با آنها به گونهای برخورد میکند که گویی در واقع هستههای فیزیکی هستند. به این هسته های مجازی Thread (رشته) نیز میگویند. اکثر CPUهای اینتل با 2 هسته از این فرآیند برای ایجاد 4 رشته یا 4 هسته مجازی استفاده میکنند. پردازنده های اینتل با 4 هسته از Hyper Threading برای ایجاد قدرت بیشتر در قالب 8 هسته مجازی یا 8 رشته استفاده میکنند.
در ویدئو زیر به طور کامل تکنولوژی Hyperthreading توضیح داده شده است:
بسیاری از CPUهای جدید اینتل دارای فناوری Intel Hyper-Threading هستند. برای مثال پردازندههای Intel Core، پردازندههای Intel Core vPro، پردازندههای Intel Xeon و پردازندههای Intel Core M همگی از فناوری Intel Hyper-Threading پشتیبانی میکنند.
Hyper Threading چگونه کار می کند؟
برای درک تکنولوژی Hyper Threading و اینکه Hyper Threading چگونه کار می کند،
ابتدا باید نحوه عملکرد یک پردازنده را درک کنید. CPU به عنوان مرکز کنترل کامپیوتر شناخته میشود که دارای دو جزء مهم است: واحد کنترل و واحد حساب و منطق (ALU).
واحد کنترل با استفاده از سیگنالهای الکتریکی به کل سیستم کامپیوتری دستور میدهد تا دستورالعملهای ارسال شده به آن را انجام دهد. شما میتوانید واحد کنترل را به عنوان یک افسر پلیس در نظر بگیرید که ترافیک را هدایت میکند. واحد کنترل در واقع دستورالعملها را اجرا نمیکند، بلکه آنها را رمزگشایی میکند و آنها را به سایر بخشهای سیستم کامپیوتری واگذار میکند.
واحد حساب/منطق تمام عملیات حسابی و منطقی را انجام میدهد.
CPU دستورالعملها را با استفاده از مراحل زیر اجرا میکند:
- واحد کنترل دستورالعملها را از حافظه رایانه یا سرور شما دریافت میکند.
- واحد کنترل دستورالعمل را میخواند و معنی دستورالعمل را استخراج میکند، سپس دادههای مورد نیاز را برای انتقال از حافظه به واحد حساب/منطق (ALU) هدایت میکند. ترکیب این دو مرحله به عنوان زمان دستورالعمل یا I-time نامیده می شود.
- ALU دستورات حسابی یا منطقی را انجام میدهد. در واقع ALU عملیات واقعی را روی دادهها انجام میدهد.
- ALU نتیجه عملیات را در حافظه یا یک ثبات ذخیره میکند. مراحل 3 و 4 به عنوان زمان اجرا یا E-time نامیده م شوند.
اگرچه ممکن است این فرآیند پیچیده به نظر برسد، اما همه اینها در کسری از ثانیه اتفاق میافتد. هرچه پردازنده سریعتر دستورات را پردازش کند، رایانه سریعتر میتواند وظایف را انجام دهد. شایان ذکر است که اگر CPU شما خیلی قدرتمند نباشد، این وظایف در نهایت به گلوگاه تبدیل می شوند و باعث کاهش سرعت و تاخیر میشوند.
اینجاست که Hyper-Threading وارد میشود.
روشی که فناوری Hyper Threading به کار گرفته است، نوآورانه بوده و هست. این فناوری یک هسته پردازشگر را قادر میسازد تا مانند دو هسته پردازشگر فیزیکی کار کند و رشتههای بیشتری را پردازش کند، یعنی صفهای دستورالعمل بیشتری را به موازات بدون زمانهای بیکار انجام دهد. هنگامی که hyperthreading فعال است، دو زمینه اجرایی در هر هسته CPU مدیریت و پردازش می شوند. یک هسته به دو هسته منطقی مجازی تقسیم میشود که قدرت محاسباتی پردازنده را به اشتراک میگذارند. تکنولوژی Hyper Threading همیشه در هر هسته فیزیکی اعمال می شود. بنابراین، اگر یک پردازنده ده هستهای با فعال بودن هایپر تردینگ وجود داشته باشد، ده هسته فیزیکی مانند 20 هسته مجازی رفتار میکنند و رشتههای بیشتری را پردازش میکنند.
به طور خلاصه تکنولوژی هاپیر تردینگ بدین ترتیب کار میکند که به هر هسته در CPU شما اجازه میدهد دو عمل را همزمان انجام دهد. در نتیجه این امر عملکرد پردازنده بهتری خواهید داشت زیرا کارایی CPU سرور را بهبود میبخشد.
چگونه Hyper Threading را فعال کنیم؟
برای فعال کردن Hyper-Threading باید یک پردازنده با این ویژگی داشته باشید و مادربرد شما باید از آن پشتیبانی کند. اگر هم مادربرد و هم پردازنده از Hyper-Threading پشتیبانی میکنند، این ویژگی به طور پیش فرض فعال میشود. حال اگر این ویژگی به هر دلیلی غیرفعال شد، میتوانید با رفتن به بایوس و تنظیم ویژگی روی فعال، آن را فعال کنید. به همین ترتیب، اگر میخواهید Hyper Threading را غیرفعال کنید، میتوانید با تغییر ویژگی به حالت غیرفعال از طریق تنظیمات بایوس سیستم، آن را غیرفعال کنید.
بنابراین Hyperthreading را میتوان در BIOS تحت «فناوری Hyper Threading» از طریق «Enable» و «Disable» روشن و خاموش کرد.
در پردازنده هایی که از Hyperthreading پشتیبانی نمیکنند، یک هسته فیزیکی فقط چندین فرآیند منطقی را به صورت متوالی پردازش میکند، یعنی یکی پس از دیگری.
اگر CPU و مادربردی دارید که از تکنولوژی Hyper-Threading پشتیبانی میکند، حتما آن را فعال کنید، زیرا اینتل ادعا میکند که تکنولوژی Hyper Threading میتواند تا 30٪ بهبود عملکرد را در سیستمهای تک سوکت ارائه دهد و هیچ هزینهای برای فعال کردن این فناوری وجود ندارد.
اگر میخواهید بررسی کنید که آیا سیستم شما از فناوری Hyper-Threading پشتیبانی میکند یا خیر، به بایوس خود بروید و عبارت "Intel Hyper-Threading Technology" را جستجو کنید. اگر این ویژگی روی غیرفعال تنظیم شده است، آن را به حالت فعال تغییر دهید و میتوانید، از آنچه این فناوری ارائه میدهد، لذت ببرید.
چرا Hyper Threading مهم است؟
تکنولوژی Hyperthreading به این دلیل مهم است که به کاربران اجازه میدهد تا تحت شرایط خاصی از CPU خود نهایت استفاده را ببرند. این امر به این دلیل است که اغلب، یک CPU مجبور است دادهها یا دستورالعملهای برنامه نویسی را از حافظه واکشی کند و چند میلیونیم ثانیهای که کامپیوتر برای واکشی این اطلاعات صرف میکند، زمان زیادی برای CPU برای اجرای دهها دستورالعمل است. بنابراین، Hyper-threading از این فاصله زمانی کوتاه برای اجرای دستورالعملها از یک رشته دیگر استفاده میکند و عملکرد را افزایش میدهد. دلیل افزایش عملکرد این است که زمان تلف نمیشود و قدرت محاسباتی CPU به طور کامل استفاده میشود.
مزایا و معایب تکنولوژی Hyper Threading
در این بخش به بیان مزایا و معایب تکنولوژی Hyper Threading میپردازیم:
مزایا
- چند وظیفه ای: اگر سیستم از Hyper-Threading پشتیبانی کند، چندین فرآیند می توانند به طور همزمان روی رشته های مختلف هسته پردازنده اجرا شوند.
- استفاده از منابع: با استفاده از تکنولوژی Hyper-Threading، منابع بیکار نخواهند ماند و تا حد زیادی مورد استفاده قرار میگیرند، زیرا چندین فرآیند به طور همزمان در حال اجرا هستند و میتوانند به منابع نیاز داشته باشند. به همین دلیل، کارایی و عملکرد کلی سیستم افزایش می یابد.
- پاسخگویی: اجرای همزمان به کاهش زمان پاسخگویی کاربر کمک میکند.
معایب
- اگر بسیاری از فرآیندها به طور همزمان به دلیل Hyper-Threading در حال اجرا باشند و این فرآیندها برای یک منبع محدود (مانند حافظه پنهان) رقابت کنند، ممکن است منبع مسدود شود.
- از آنجایی که فرآیندهای در حال اجرا زیادی وجود دارد، منابع بین آنها به اشتراک گذاشته میشود که منجر به افزایش اختلاف و تأخیر برای ورودی/خروجی منبع میشود.
آیا همه پردازندههای اینتل دارای Hyper Threading هستند؟
احتمالا برای شما هم این سوال پیش آمده است که آیا همه پردازندههای اینتل دارای فناوری Hyper Threading هستند؟
پاسخ خیر میباشد. همه پردازنده های اینتل با Hyper-Threading عرضه نمی شوند. به عنوان مثال پردازنده های جدید Intel Xeon با فناوری Hyper Threading عرضه میشوند.
پردازنده های اتم اینتل (Intel Atom) یا به Hyper Threading مجهز هستند یا خیر.
وقتی صحبت از پردازنده های Intel Core به میان می آید، برخی با Hyper-Threading و برخی دیگر ندارند. به طور معمول، در پردازندههای i7 و i9 میتوانید فناوری هایپر تردینگ را پیدا کنید، در حالی که برخی از پردازندههای i3 و i5 با hyper-threading عرضه نمیشوند.
منابع:
https://premioinc.com/blogs/blog/what-is-hyper-threading
https://www.geeksforgeeks.org/what-is-hyper-threading
https://www.hp.com/us-en/shop/tech-takes/what-is-hyperthreading
www.ionos.ca/digitalguide/server/know-how/hyperthreading/
مترجم: محبوبه فغانی نرم