هایپرتردینگ در پردازندهها چیست و چگونه کار میکند؟
اگر قصد خرید کامپیوتر جدید دارید، احتمالا عبارت هایپرتردینگ در پردازندهها برای شما آشنا است. درک اینکه در رایانهها واقعا چه اتفاقهایی رخ میدهد اغلب کمی سخت است، اما نگران نباشید زیرا در این مقاله از زومیت قصد داریم هایپرتردینگ را برای شما توضیح دهیم.
البته عبارتها و کلمات اختصاری فراوان، احتمالا باعث خواهد شد کمی سردرگم شوید، و این موضوع بهخصوص درمورد پردازندههای مرکزی (CPU) بیشتر صدق میکند. هنگام خرید کامپیوتر جدید مسلما میخواهید اطمینان حاصل کنید که رایانهی جدید شما از پردازندهی خوبی بهره ببرد.
در ادامه با ما همراه باشید تا درمورد هایپرتردینگ و روش کارکرد آن بیشتر توضیح دهیم. بدین ترتیب هرآنچه از این فناوری نیاز خواهید داشت در دسترس شما خواهد بود و میتوان هنگام خرید کامپیوتر جدید از آن بهره گرفت.
پردازندهی مرکزی چیست؟
CPU درواقع واحد پردازش مرکزی رایانه است که میتوان آن را مغز رایانه تلقی کرد. این قطعه بخشی از کامپیوتر شما است که وظیفهی اجرای برنامهها را به عهده دارد. پردازندههای مرکزی در هرنوع رایانهای که فکر میکنید مورد استفاده قرار میگیرد؛ از رایانههای رومیزی گرفته تا لپتاپها، گوشیهای هوشمند، تبلتها و موارد دیگر.
یک پردازندهی مرکزی با پردازش اطلاعات ارائه شده توسط سایر بخشهای رایانه (مثل حافظهی رم) و انجام عملیات (یا تولید خروجی) کار میکند. وقتی نرمافزاری را اجرا میکنید این پردازنده است که دستورالعملها را تفسیر کرده و نتیجه را به شما نشان میدهد.
در این بین ممکن است با اصطلاح هسته (Core) نیز مواجه شده باشید. هر هسته اساسا یک پردازندهی مرکزی دیگر به واحد پردازشی اضافه میکند. هر هسته قادر است در هرلحظه یک فرایند را انجام دهد. پردازندههای مرکزی در ابتدا فقط از یک هسته بهره میبردند.
با افزایش تعداد هستههای اضافه، پردازندهها میتوانند اقدامات بیشتری را بهطور همزمان انجام دهند. بیشتر پردازندههای مرکزی امروزی چهار هستهای و حتی برخی هشت هستهای است. بهطور کلی میتوان گفت هرچه تعداد هستهها بیشتر باشد، قدرت پردازشی بهتر خواهد بود. اما وضعیت در مورد هایپرتردینگ چگونه است؟
هایپرتردینگ چیست؟
پردازندههای مرکزی سنتی، تک رشتهای (Single Thread) هستند؛ بدین ترتیب این نوع تراشهها میتوانند یک عملکرد واحد را در یک زمان انجام دهند.
از سوی دیگر، هایپرتردینگ در واقع نسخهی اینتل از امکان اجرای چند رشتهی (Multi Threading) همزمان (SMT) است. SMT هر هستهی پردازنده را به دو یا چند هستهی مجازی بهنام تِرد (Thread) تقسیم میکند. در صورتیکه نرمافزار مورد نظر کاربر اجازه دهد، این دو هستهی مجازی میتوانند دستورالعملها را بهطور همزمان پردازش کنند. این یعنی فناوری چندرشتهای، میتواند تعداد هستههای پردازنده را بهطور مؤثر دوبرابر کند.
بنابراین اگر یک پردازندهی چهار هستهای با پشتیبانی از هایپرتردینگ دارید، درواقع هشت هستهی پردازشی در اختیار شما خواهد بود. البته این روش دقیقا مشابه دوبرابر کردن تعداد هستههای فیزیکی نیست که در ادامه به این موضوع نیز خواهیم پرداخت.
هایپرتردینگ با دوبرابر کردن تعداد فرایندهایی که پردازندهی مرکزی میتواند بهطور همزمان انجام دهد، عملکرد آن را بهبود میبخشد. این یعنی پردازندهی مرکزی میتواند نرمافزارهای سنگینتر را آسانتر اجرا و پردازش کند.
روش کارکرد هایپرتردینگ
هایپرتردینگ برخلاف دو هستهی فیزیکی یک پردازندهی مرکزی، از هستههای مجازی یا منطقی (Logical Cores) بهره میبرند. این هستهها منابع پردازنده مثل موتور اجرایی و حافظهی پنهان را به اشتراک میگذارند. اگر با این واژهها آشنایی ندارید باید اشاره کنیم این یعنی هر هسته میتواند کارآمدتر کار کند زیرا هستههای مجازی سختفازار را به اشتراک میگذارد. وقتی یک هستهی منطقی در انتظار دریافت داده است، متوقف خواهد شد و هستهی منطقی دیگر میتواند منابع هستهی قبل را برای اجرای وظایف خود «قرض» گیرد.
هستههای مجازی با هستههای فیزیکی برابر نیست. هستههای فیزیکی بیشتر همیشه نسبت به هستههای مجازی بیشتر، مطلوبتر است، زیرا هر هستهی فیزیکی از معماری خاصی بهره میبرد و قدرتمندتر و کارامدتر است.
اساسا قدرت پردازندهی چهار هستهای که از هایپرتردینگ پشتیبانی میکند نسبت به پردازندهی چهار هستهای بدون هایپرتردینگ بیشتر است، اما یک تراشهی هشت هستهای همچنان قدرتمندتر از هر دو پردازندهی قبل خواهد بود.
کارایی یک هستهی پردازشی کاملا به سیستمعامل و نرمافزار مورد نظر کاربر بستگی دارد. اگر نرمافزار از هایپرتردینگ پشتیبانی نکند، یا برای آن پردازندهی خاص بهینه نشده باشد، فناوری هایپرتردینگ کارایی کمتری خواهد داشت.
آیا هایپرتردینگ واقعا کارایی دارد؟
در گام اول مهم است بهیاد داشته باشید که هستههای فیزیکی بیشتر از هستههای منطقی اهمیت دارند. اگر قصد دارید بین دو پردازندهی مشابه که یکی از آنها دو هسته و هایپرتردینگ دارد و گزینهی دوم از چهار هستهی فیزیکی بهره میبرد، مسلما انتخاب شما باید تراشهای باشد که از چهار هستهی فیزیکی بهره میبرد.
در حالحاضر هایپرتردینگ برای بسیاری از کاربردها غیرضروری است. مزیت این فناوری زمانی اهمیت دارد که محبور باشید چند برنامهی سنگین را بهطور همزمان اجرا کنید. البته باید اشاره کنیم که این نرمافزارها در وهلهی اول باید از هایپرتردینگ پشتیبانی کنند.
بنابراین اگر از نرمافزارهای سطح بالا (مثل نرمافزار رندر سهبعدی یا رمزگذاری ویدئو) استفاده میکنید که از هایپرتردینگ پشتیبانی میکند، مسلما افزایش تعداد تِرِدها به افزایش سرعت پردازش کمک خواهد کرد. اما برای کاربران معمولی که استفادهی روزمرهی آنها در حد نرمافزارهای آفیس و مرور وب است، هایپرتردینگ احتمالا تأثیر زیادی روی عملکرد نخواهد داشت. علاوهبر این پردازندههایی که از این فناوری پشتیبانی میکنند معمولا قیمت بیشتری نسبت به همتایان معمولی خود دارند.
البته این رویه میتواند تغییر کند، زیرا نرمافزارها و بازیهایی که از هایپرتردینگ پشتیبانی میکنند، روزبهروز درحال افزایش است.
معایب هایپرتردینگ
مصرف انرژی پردازندههایی که از هایپرتردینگ پشتیبانی میکنند، نسبت به پردازندههای بدون هایپرتردینگ بیشتر است. اگر بازی یا نرمافزارهای مورد استفاده شما از این فناوری استفاده نمیکند، مصرف انرژی اضافه باعث افزایش هزینههای غیرضروری خواهد شد. این موضوع بهخصوص درمورد دیتاسنترها و سرورها که در آن صورتحساب برق میتواند بسیار زیاد باشد نیز صادق است.
علاوهبر این، قیمت پردازندههای هایپرترد از نمونههایی که از این فناوری پشتیبانی نمیکنند بیشتر است و شاید شرکتهایی مثل اینتل بههمین دلیل است که ترجیخ دادهاند قابلیت هایپرتردینگ را فقط به پردازندههای ردهبالای خود (i9 و بالاتر از Rocket Lake) محدود کنند. بنابراین اگر نیازی به هایپرتردینگ ندارید، شاید بهتر باشد از پردازندهای معمولی بهره ببرید تا در هزینههای خود صرفهجویی کنید.
آیا باید پردازندهی هایپرترد بخرید؟
اگر کاربر حرفهای هستید و از نرمافزارهای سنگینی با پشتیبانی از هایپرتردینگ استفاده میکنند، خریداری پردازندهی هایپرتردینگ میتواند انتخاب اول شما باشد. اگر کاربر معمولی هستید و با نرمافزارهای سنگین سروکار ندارید، احتمالا نیازی به این نوع پردازندهها نخواهید داشت.
ممکن است در آینده، تعداد نرمافزارهایی که از هایپرتردینگ بهره میبرند افزایش یابد. همانطور که فناوری بهجلو پیش میرود، نرمافزارها نیز به منابع بیشتری نیاز خواهند داشت و بههمین دلیل هایپرتردینگ احتمالا برای اجرای برنامهها و بازیهای بیشتری ضروری خواهد شد.
در زمان نوشتن این مقاله، شاهد سنگینتر شدن نرمافزارها و بازیهای رایانهای هستیم. این یعنی هایپرتردینگ میمتواند رایانهی شما را در برابر تغییرات آینده، مقاومتر کند. البته برنامههای قدیمی و بیشتر بازیها، همچنان تک رشتهای هستند، بنابراین اگر از رایانه فقط برای بازی استفاده میکنید، نیازی به هایپرتردینگ نخواهید داشت.
در حالحاضر این فناوری باعث شده تا سرعت پردازش برخی برنامهها افزایش یابد و این موضوع کاملا به خود شما بستگی دارد که آیا خرید پردازندهی هایپرترد ارزش هزینهی اضافه را دارد یا خیر.
نتیجهگیری
امیدواریم در این مقاله هرآنچه را درمورد هایپرتردینگ در پردازندهها نیاز دارید، توضیح داده باشیم. در هرحال خلاصهی این مبحث بهشرح زیر است:
- هایپرتردینگ هر هستهی فیزیکی پردازندهی مرکزی را به دو هستهی مجازی تقسیم میکند.
- هستههای فیزیکی پردازندهها، قدرت بیشتری نسبت به هستههای مجازی دارند.
- هایپرتردینگ برای نرمافزارهای سنگین و سطحبالا مهم است اما برای کاربران معمولی و استفادههای روزمره، ضروری نیست.
- هایپرتردینگ احتمالا در آینده، مفیدتر خواهد شد.
با توجه به نرمافزارهایی که استفاده میکنید، انتخاب شما پردازندههای هایپرتردینگ است یا پردازندههای معمولی؟
نظرات