تمامی پردازنده هایی که امروزه ساخته میشوند چند هستهای هستند که میتوانند وظایف مختلفی را انجام دهند. اصطلاح Hyper-Threading توسط اینتل مطرح شد که با استفاده از این فناوری یک CPU سرور میتواند هر هسته خود را به دو هسته مجازی که به آن Thread میگویند، تقسیم کند. در واقع Hyper-threading ترفندی است که توسط CPU برای وادار کردن سیستم عامل به تشخیص وجود یک پردازنده یا هسته اضافی (هسته منطقی) در کنار هسته فیزیکی انجام میشود! این فناوری سبب میشود تا عملکرد CPU افزایش یابد و برنامههای سنگین بدون تاخیر اجرا شوند. این مقاله توسط واحد فنی ماهان شبکه ایرانیان به نگارش درآمده است و به بررسی موارد زیر میپردازیم:
- تفاوت بین برنامه های تک رشتهای و چند رشتهای چیست؟
- Hyper-Threading چیست و چه تفاوتی با Multithreading معمولی دارد؟
Multithreading چیست؟
Multithreading نوعی موازی سازی یا تقسیم کار برای پردازش همزمان اطلاعات است. در واقع این عمل سبب میشود تا بهجای تخصیص حجم کاری زیاد به یک هسته، هر کدام از کارها بین رشتههای نرم افزاری متعدد تقسیم شود. این رشتهها موازی هم کار میکنند و سبب صرفهجویی در زمان پردازش میشوند. Multithreading همچنین میتواند چندین درخواست از یک کاربر را مدیریت کند.
Multithreading یک ویژگی CPU است که به دو یا چند رشته دستورالعمل اجازه میدهد تا بهطور مستقل اجرا شوند و در عین حال منابع پردازش یکسانی را به اشتراک بگذارند. Thread دنبالهای از دستورالعملها است که میتواند به موازات سایر رشتهها که بخشی از همان فرآیند ریشه هستند اجرا شود.
Hyper-Threading چیست؟
فناوری Hyper-Threading یک نوآوری سخت افزاری است که توسط اینتل پیادهسازی شده است. این تکنولوژی به بیش از یک رشته اجازه میدهد تا روی هر هسته اجرا شود. رشتههای بیشتر به این معنی است که کارهای بیشتری را بهصورت موازی میتوان انجام داد. هنگامی که فناوری Intel Hyper-Threading فعال است، CPU دو زمینه اجرایی را در هر هسته فیزیکی نشان میدهد. یعنی یک هسته فیزیکی اکنون مانند دو هسته منطقی کار میکند که می تواند رشته های نرم افزاری مختلف را مدیریت کند. بهعنوان مثال پردازنده سرور Gold 6150 دارای 18 هسته فیزیکی است که با استفاده از Hyper-Threading دارای 36 رشته میشود.
دو هسته منطقی میتوانند کارایی بیشتری نسبت به هستههای تک رشتهای سنتی انجام دهند. فناوری Intel Hyper-Threading با بهره گیری از زمان بیکاری که هسته قبلاً منتظر تکمیل سایر وظایف بود، توان پردازشی CPU را تا 30٪ بهبود میبخشد و میتواند اطلاعات بیشتری را در مدت زمان کمتر پردازش کند. توجه داشته باشید که هنگامی که فناوری hyper-threading فعال است، هیچ پردازندهای نباید بیکار بماند؛ این به سرور HP شما اجازه میدهد تا سریعتر و روانتر کار کند. فناوری Hyper-Threading در برخی از پردازنده های Pentium 4 و همچنین تمام پردازنده های Intel Xeon یافت میشود. فناوری Hyper-threading به عنوان “تکنولوژی HT” نیز شناخته میشود.
فناوری Hyper Threading چگونه کار میکند؟
یک پردازنده با فناوری Hyper Threading از دو پردازنده منطقی در هر هسته تشکیل شده است که هر کدام معماری خاص خود را دارند. این امکان وجود دارد تا هر پردازنده منطقی را متوقف و قطع کرد، یا هدایت کرد تا یک رشته خاص را مستقل از سایر پردازندههای منطقی که هسته فیزیکی مشابهی دارند، اجرا کند. یک CPU از دو جز تشکیل شده است: واحد کنترل (CU) و واحد محاسبهگر منطقی (ALU)
واحد کنترل کل سیستم کامپیوتری را هدایت میکند تا دستورالعملهای ارسال شده به آن را با استفاده از سیگنالهای الکتریکی اجرا کند. در واقع این واحد را مانند یک افسر پلیس میتوان در نظر گرفت که ترافیک را کنترل و هدایت میکند. واحد کنترل دستورالعملها را اجرا نمیکند؛ بلکه آنها را رمزگشایی کرده و به قسمتهای دیگر سیستم هدایت میکند. واحد ALU مسئول تمامی عملیات ریاضی و منطقی است. برای اجرای دستورالعملها توسط CPU باید مراحل زیر طی شود:
- دستورالعمل توسط واحد کنترل از حافظه رایانه شما به دست میآید.
- واحد کنترل قبل از هدایت دادههای مورد نیاز از حافظه به ALU، دستورالعمل را میخواند و معنای آن را استنباط میکند.
- ALU عملیات واقعی روی دادهها انجام میدهد و دستورات حسابی یا منطقی توسط ALU در این مرحله انجام میشود.
- نتیجه عملیات در حافظه یا در یک ثبات توسط ALU ذخیره میشود.
شاید اینطور بهنظر برسد که این فرآیند بسیار پیچیده و زمانبر است اما جالب است بدانید که کلیه این مراحله در کسری از ثانیه اتفاق میافتد. هر چه CPU سریعتر دستورات را پردازش کند، سرور و یا رایانه شما میتواند زودتر تسکها را به پایان برساند. Hyper-Threading در اینجا وارد عمل میشود. فناوری Hyper threading به هر هسته در CPU شما اجازه میدهد تا دو کار را همزمان انجام دهد. در نتیجه بهبود کارایی CPU، عملکرد پردازنده بهتری خواهید داشت. از این طریق میتوانید همزمان از برنامهها یا بازیهای سختتر بدون هیچ تاخیر و خللی استفاده کنید.
مزایای فناوری Hyper-Threading
- فناوری Hyper Threading سبب میشود تا از هر هسته CPU بهترین استفاده را داشته باشید. starvation یکی از مسائلی است که پردازندهها با آن سر و کار دارند و به وضعیتی اشاره میکند که یک هسته خاص به دلیل فقدان سیگنالها، دادهها، وظایف یا دستورالعملهای اختصاصیافته، بیکار و بدون استفاده میماند.
- پردازش دادهها با سرعت بیشتر و در زمان کمتر بههمراه اجرای دادههای پس زمینه بدون هیچ گونه وقفهای
- CPU میتواند منابع را بین رشته ها تغییر دهد و دیگر مشکلی برای اجرای چندین کار بهصورت همزمان وجود نخواهد داشت.
امیدواریم که این مطلب به تمامی سوالات شما در مورد تکنولوژی Hyper-Threading پاسخ داده باشد. درصورت وجود هرگونه سوال و پیشنهاد میتوانید با کارشناسان فنی ماهان شبکه ایرانیان در تماس باشید. همچنین با مراجعه به صفحه CPU سرور اچ پی میتوانید از جدیدترین پردازندههای Intel Xeon و قیمت دقیق آنها با خبر شوید.