Hyperthreading چیست و چرا باید به آن اهمیت داد؟

فرض کنید به دنبال خرید یک پردازنده جدید هستید و ناگهان باید بین دو محصولی که هر دو روی کاغذ تقریباً یکسان هستند، تصمیم بگیرید، اما یکی از آنها قابلیتی به نام hyperthreading دارد و دیگری نه.

واضح است که hyperthreading چیز خوبی است زیرا باید برای آن هزینه اضافی بپردازید، اما چه کاری انجام می دهد؟ مهمتر از همه، آیا این چیزی است که باید(you) به آن اهمیت دهید؟ برای پاسخ به این سؤالات سوزان، باید مسیر کوتاهی را در مورد نحوه انجام CPU ها(CPUs) در نظر بگیریم .

قدرت نامحدود!

حتی اگر آنقدرها به جزئیات فنی دقیق فناوری رایانه علاقه ندارید، احتمالاً قبلاً (computer technology)نام قانون مور را(Moore’s Law) شنیده اید . این واقعاً یک قانون طبیعی نیست، اما مشاهده ای است که تراکم اجزای اصلی مدارهای مجتمع هر دو سال یا بیشتر دو برابر می شود.

در واقع این بدان معنی است که عملکرد یک CPU هر دو سال یکبار دو برابر می شود، که یک نرخ نمایی بهبود است. اگر سریع‌ترین خودروی جهان دو برابر سریع‌تر از خودروی دو سال پیش بود و این روند برای چندین دهه ادامه داشت، ما وسایل نقلیه‌ای با سرعت کشتی‌های ستاره‌ای علمی تخیلی(science fiction) داشتیم . بنابراین این در واقع یکی از انقلابی ترین چیزها در مورد فناوری کامپیوتر است(computer technology) .

مشکل این است که عملکرد یک CPU فقط با چگالی اجزای آن تعیین نمی شود. سرعت ساعت(clock speed) ، یعنی تعداد چرخه های کامل محاسباتی که می تواند در یک ثانیه انجام دهد، آشکارا مهم است. اگر یک CPU بگیرید و سرعت کلاک(clock speed) آن را دو برابر کنید، عملکرد آن دو برابر بهتر خواهد بود. حداقل در تئوری.

مشکل اینجاست که مهم نیست آن پردازنده چقدر سریع کار می کند، در آن واحد فقط یک کار را می تواند انجام دهد. آنچه ما به عنوان "چند وظیفه ای" درک می کنیم، در واقع پردازشگر است که به سرعت بین هزاران کار مختلف می پرد. چند سال پیش، زمانی که نوبت به ساخت یک پردازنده سریع و سریع‌تر می‌رسید، شروع به ضربه زدن به دیوارهای آجری کردیم.

بنابراین، یکی از راه حل ها این بود که در هر پردازنده بیش از یک CPU قرار داده شود تا کارهای مختلف بین آنها تقسیم شود. امروزه، CPUهای(CPUs) چهار هسته ای تقریباً پیکربندی اصلی هستند.

Hyperthreading (HT) نام اینتل برای multithreading همزمان(simultaneous multithreading) است. اساساً به این معنی است که یک هسته CPU(CPU core) می تواند همزمان روی دو مشکل کار کند. این بدان معنا نیست که CPU می تواند دو برابر بیشتر کار کند. فقط این که می تواند اطمینان حاصل کند که از تمام ظرفیت خود با برخورد با چندین مشکل ساده تر به طور همزمان استفاده می شود.

برای سیستم عامل شما، هر (operating system)هسته CPU(CPU core) سیلیکونی واقعی شبیه دو به نظر می رسد، بنابراین هر کدام را طوری تغذیه می کند که انگار از هم جدا هستند. از آنجایی که بسیاری از کارهایی که یک CPU انجام می دهد برای حداکثر کارکرد آن کافی نیست، HT مطمئن می شود که ارزش پول خود را از آن تراشه دریافت می کنید.

چه کسی باید به Hyperthreading اهمیت دهد(Hyperthreading) ؟

این سوال دیگری است که می تواند کمی پیچیده باشد، اما در واقع وقتی آن را تجزیه می کنید بسیار ساده است. ابتدا(First) ، بیایید یک چیز را در مورد هایپرتردینگ که تقریباً همیشه درست است، بیان کنیم. اگر باید بین دو پردازنده که می‌توانند تعداد رشته‌های یکسانی را مدیریت کنند، اما تعداد هسته‌های یکسانی ندارند، یکی را انتخاب کنید، از CPU استفاده کنید که هسته‌های فیزیکی بیشتری دارد.

به عنوان مثال، اگر یک CPU دو هسته‌ای و پر رشته و یک CPU (CPU)چهار(CPU) هسته‌ای غیر HT دارید ، گزینه چهار هسته‌ای انتخاب(quad core option) بهتری است. با توجه به اینکه آنها در عملکرد تک رشته ای و تک هسته ای(core performance) به یکدیگر نزدیک هستند . چرا؟ زیرا CPU(CPU) چهار هسته ای دارای سخت افزار پردازش(processing hardware) فیزیکی بیشتری است .

ترشی واقعی زمانی به وجود می آید که شما دو پردازنده(CPUs) با مشخصات فیزیکی یکسان دارید، اما یکی HT دارد و دیگری ندارد. حالا سوال ما واقعا مربوط به نرم افزاری است که می خواهید اجرا کنید. اگر نرم‌افزاری دارید که می‌تواند رشته‌های کافی برای استفاده از رشته‌های HT ایجاد کند، با انتخاب CPU(CPU) با Hyperthreading ، افزایش قابل توجهی خواهید دید . صرفاً(Simply) به این دلیل که هیچ یک از ظرفیت پردازش(processing capacity) هدر نمی رود و قطعه تا آنجا که ممکن است با پتانسیل کامل خود کار می کند.

اگر نرم‌افزاری که می‌خواهید اجرا کنید، رشته‌های کافی برای استفاده از هسته‌های مجازی HT ایجاد نمی‌کند، به معنای واقعی کلمه هیچ تفاوتی در عملکرد مشاهده نخواهید کرد.

به طور سنتی عملیاتی مانند رندر سه بعدی CPU ، (CPU 3D)رمزگذاری ویدیو(video encoding) ، و دستکاری عکس ، به همان اندازه که (photo manipulation)CPU ضعیف شما می تواند رشته ها را ایجاد کند. به عبارت دیگر، بسیاری از برنامه های کاربردی حرفه ای مدرن تشنه نخ هستند. به همین دلیل است که Hyperthreading به (Hyperthreading)CPU های(CPUs) سطح حرفه ای مانند i7 و بالاتر(i7 and up) محدود شده است.

برنامه‌های کاربردی اصلی(Mainstream) مانند پردازشگرهای کلمه و مرورگرهای وب با hyperthreading بهتر عمل نمی‌کنند، حتی اگر بتوانند رشته‌های بیشتری ایجاد کنند. صرفاً(Simply) به این دلیل که نیازهای این برنامه‌ها که توسط اکثر مردم استفاده می‌شود، حتی برای CPUهای(CPUs) سطح ابتدایی نیز مشکل ایجاد نمی‌کند .

سوال بزرگ بازی

(Video)بازی‌های ویدیویی یکی دیگر از برنامه‌های اصلی است که نسبت به Hyperthreading نسبتاً بی‌تفاوت بوده است . در زمان نگارش این مقاله، در سال 2019، جدیدترین موتورهای بازی های ویدیویی(video game) شروع به سنگین شدن می کنند. این بدان معناست که CPUهای(CPUs) دارای HT در آنها عملکرد بهتری خواهند داشت. عناوین قدیمی‌تر هیچ مزیتی نخواهند دید، به استثنای چند بازی شبیه‌سازی که از هوش مصنوعی یا سایر فرآیندهای CPU محور استفاده می‌کنند.

آیا این بدان معناست که رایانه بازی بعدی شما باید Hyperthreading داشته باشد ؟ مسئله این است که ما اکنون به سمت یک بازار اصلی CPU حرکت می کنیم که در آن (CPU market)CPU(CPUs) های شش، هشت و دوازده هسته ای معمول هستند. بنابراین، به مراتب بهتر است که هسته های فیزیکی بیشتری در صورت امکان داشته باشید.

پاسخ ساده

امیدواریم توضیحات بالا به اندازه کافی واضح بوده باشد، اما اجازه دهید آن را به خط پایانی تقسیم کنیم:

  • اگر کار حرفه ای و سنگین انجام می دهید، Hyperthreading اهمیت دارد
  • اگر کاربر اصلی هستید، نگران نباشید!
  • اگر یک گیمر هستید، داشتن هسته های بیشتر در ساخت بعدی خود را به HT ترجیح دهید، اما اگر قیمت مناسب است، HT را نیز دریافت کنید.

Hyperthreading یک فناوری عالی است، اما ارزش آن را برای همه ندارد. حالا باید بدانید که آیا آن "کسی" شما هستید یا نه!



About the author

من یک متخصص کامپیوتر هستم و از سال 2009 به مردم در زمینه کامپیوترشان کمک می‌کنم. مهارت‌های من شامل آیفون، نرم‌افزار، گجت‌ها و غیره است. من همچنین در چهار سال گذشته به عنوان مربی کار کرده ام. در آن زمان، یاد گرفتم که چگونه به مردم کمک کنم تا برنامه های جدید را یاد بگیرند و چگونه از دستگاه های خود به روشی حرفه ای استفاده کنند. من از دادن نکاتی در مورد چگونگی بهبود مهارت هایم لذت می برم تا همه بتوانند در کار یا مدرسه موفق باشند.



Related posts