پردازنده‌ های چندگانه، هسته‌ها و چند رشته ای

 پردازنده (واحد پردازش مرکزی) در کامپیوتر کارهای محاسباتی را انجام می‌دهد. اساساً پردازنده برنامه‌ها را اجرا می‌کند. اما پردازنده‌ های مدرن ویژگی‌هایی مانند چند هسته و چند رشته ای را ارائه می‌دهند. بعضی از کامپیوترهای شخصی حتی از چندین پردازنده مرکزی نیز استفاده می‌کنند.

قبلا مقایسه سرعت زمان پردازنده در مقایسه با عملکرد پردازنده کافی بود. اما دیگر همه چیز تغییر کرده و ساده نیست. پردازنده‌ که چندین هسته یا چند رشته (hyper-threading) ارائه می‌دهد ممکن است عملکرد به مراتب بهتری نسبت به پردازنده تک هسته‌ای با همان سرعت داشته باشد که دارای حالت چند رشته‌ای نیست. کامپیوترهای شخصی با پردازنده‌های متعدد می‌توانند حتی یک مزیت بزرگ‌تر داشته باشند. همه این ویژگی‌ها به گونه‌ای طراحی شده‌اند که به کامپیوتر‌های شخصی‌ امکان می‌دهد همزمان چندین پردازش را به راحتی انجام دهند. مثلا افزایش عملکرد هنگام کار چند وظیفه‌ای یا تحت تقاضای برنامه‌های قدرتمند مانند رمزگذارهای ویدئویی و بازی‌های مدرن.

در ادامه به تشریح این پردازنده‌ها پرداخته شده است.


پردازنده‌ چند رشته ای (Hyper-threading)

پردازنده‌ چند رشته ای اولین تلاش اینتل برای محاسبه موازی کامپیوتر‌های شخصی بود. این حالت در پردازنده‎های دسکتاپ (رومیزی) با Pentium 4 HT در سال 2002 آغاز به کار کرد. پنتیوم 4 در آن روز تنها دارای یک هسته پردازنده بود. بنابراین در واقع فقط می‌توانست هر بار فقط یک کار را انجام دهد. حتی اگر می‌توانست بین کارها به سرعت جابجا شود، که به نظر می‌رسید چند وظیفه‌ای است. حالت چند رشته‌ای سعی در جبران آن داشت.   

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

چند رشته‌ای (Hyper-threading) به دو هسته منطقی پردازنده اجازه می‌دهد تا منابع اجرای فیزیکی را به اشتراک بگذارند. این می‌تواند تا حدی سرعت را افزایش دهد. اگر یک پردازنده مجازی متوقف شود و منتظر بماند، پردازنده مجازی دیگر می‌تواند منابع اجرای آن را قرض کند. چند رشته‌ای می‌تواند به سرعت سیستم شما کمک کند، اما به هیچ وجه به اندازه هسته‌های اضافی واقعی نیست.

خوشبختانه چند رشته‌ای (Hyper-threading)  اکنون یک “کمک” است. در حالی که پردازنده‌های اصلی کاربران با حالت چند رشته‌ای (Hyper-threading) تنها دارای یک هسته واحد هستند که به صورت هسته‌های متعدد مخفی شده‌اند. پردازنده‌های مدرن اینتل اکنون هم دارای هسته‌های متعدد هستند و هم از فناوری چند رشته‌ای بهره می‌برند. پردازنده مرکزی دو هسته‌ای با استفاده از حالت چند رشته‌ای به عنوان چهار هسته در سیستم عامل شما ظاهر می‌شود. در حالی که پردازنده چهار هسته‌ای شما با استفاده از حالت چند رشته‌ای به صورت هشت هسته‌ای ظاهر می‌شود. حالت چند رشته‌ای جایگزین هسته‌های اضافی نمی‌شود، اما پردازنده مرکزی دو هسته‌ای با حالت چند رشته‌ای باید عملکرد بهتری نسبت به پردازنده دو هسته‌ای بدون حالت چند رشته‌ای داشته باشد.


چندین هسته

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

برخلاف حالت چند رشته‌ای (hyper-thread)، در اینجا هیچ ترفندی وجود ندارد، پردازنده مرکزی دو هسته‌ای به معنای واقعی کلمه، دارای دو عدد پردازنده مرکزی روی تراشه خود است. پردازنده چهار هسته‌ای دارای چهار عدد پردازنده مرکزی، پردازنده هشت هسته‌ای دارای هشت عدد پردازنده مرکزی و غیره است.

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

بخش مدیریت وظایف ویندوز (Windows Task Manager) این مسئله را به خوبی نشان می‌دهد. به عنوان مثال، در شکل پایین می‌توان دید که یک سیستم دارای یک پردازنده (سوکت) واقعی و چهار هسته است. حالت چند رشته‌ای (Hyper threading) باعث می‌شود هر هسته از نظر سیستم عامل مانند دو پردازنده باشد، بنابراین 8 پردازنده منطقی را نشان می‌دهد.

تصویری از پنجره مدیریت وظایف که تعداد هسته های پردازنده در آن مشخص شده است


پردازنده‌های چندگانه

اکثر کامپیوترها فقط دارای یک پردازنده واحد هستند. این تک پردازنده ممکن است دارای چندین هسته یا فناوری چند رشته‌ای باشد، اما هنوز هم تنها یک عدد پردازنده فیزیکی است که در یک سوکت پردازنده در مادربرد قرار دارد.

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

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

هرچه تعداد پردازنده‌ها یا هسته‌های کامپیوتر بیشتر باشد، کارهای بیشتری می‌تواند به یک باره انجام دهد و به بهبود عملکرد در بیشتر کارها کمک می‌کند. بیشتر کامپیوتر‌ها اکنون پردازنده‌های چند هسته‌ای دارند یعنی کارآمدترین گزینه‌ای که در مورد آن بحث شد. حتی پردازنده‌های مرکزی با چندین هسته در تلفن‌های هوشمند و تبلت پیدا می‌شود. پردازنده‌های اینتل همچنین دارای حالت چند رشته‌ای (Hyper-Threading) هستند که نوعی کمک است. بعضی از کامپیوتر‌هایی که به مقدار زیادی پردازنده نیاز دارند ممکن است چندین پردازنده داشته باشند، اما کارایی آنها بسیار کمتر از آن است که به نظر می‌رسد.




مطالبی که شاید برای شما مفید باشد

چیپست یا تراشه مادربرد چیست

چگونه کامپیوتر خود را از دیسک یا درایو USB بوت کنیم

فرق بین حافظه DDR3 با DDR3L و نحوه استفاده از آنها




دیدگاهتان را بنویسید