پردازندههای هسته چندگانه: آیا بیشتر بهتر است؟

پردازنده های چند هسته ای در حال حاضر در رایانه های شخصی برای بیش از یک دهه در دسترس هستند. دلیل آن این است که پردازنده ها با محدودیت های فیزیکی از لحاظ سرعت ساعتشان برخورد می کنند و به طور موثر آنها می توانند خنک شوند و همچنان دقت داشته باشند. با حرکت به هسته های اضافی در تراشه تک پردازنده، تولید کنندگان از مسائل با سرعت های ساعت جلوگیری می کند و به طور موثر ضرب مقدار داده ها که می تواند توسط CPU پردازش شود . هنگامی که آنها در اصل آزاد شدند، فقط دو هسته در یک پردازنده واحد بود، اما اکنون گزینه هایی برای چهار، شش و حتی هشت وجود دارد. علاوه بر این، تکنولوژی Intel Hyper-Threading وجود دارد که تقریبا دو هسته ای را که سیستم عامل دیده می شود ، دو برابر می کند. با داشتن دو هسته در یک پردازنده یکسان، به لطف ماهیت چند وظیفه سیستم عامل های مدرن، مزایای قابل ملاحظه ای داشته است. پس از همه، شما ممکن است در حال مرور وب یا تایپ کردن یک گزارش در حالی که یک برنامه ضد ویروس در پس زمینه اجرا می شود. سوال واقعی برای بسیاری از مردم ممکن است اگر بیش از دو نفر واقعا مفید باشد و اگر چنین باشد، چند نفر؟

موضوع

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

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

وابسته به نرم افزار

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

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

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

این یک نمونه عالی از چگونگی چندین رشته می تواند برای یک برنامه مفید باشد. اما در همان مثال، چهار هسته پردازنده بهتر از دو هسته است؟ این یک سوال بسیار دشوار است برای پاسخ دادن به آن به عنوان بسیار وابسته به نرم افزار است. به عنوان مثال، بازی های بسیاری هنوز اختلاف عملکرد بسیار کمی بین دو و چهار هسته دارند. اساسا هیچ بازی ای وجود ندارد که مزایای قابل ملاحظه ای را از چهار هسته پردازنده به دست آورد. به عقب بر گردیم به نمونه های ایمیل یا مرور وب، حتی چهار هسته ای به هیچ وجه مفید نخواهد بود. از سوی دیگر، یک برنامه کدگذاری ویدئویی که ویدئوی transcoding شده است، احتمالا مزایای زیادی را به همراه خواهد داشت زیرا رندر قاب فردی می تواند به هسته های مختلف منتقل شود و سپس توسط نرم افزار به یک جریان مجزا تبدیل شود. بدین ترتیب داشتن هشت هسته مفیدتر از داشتن چهار هسته است.

سرعت ساعت

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

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

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

نتیجه گیری

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