ممکن است فکر کنید تعداد هسته بیشتر به معنی سرعت پردازش بیشتر رایانه شماست، اما این موضوع همیشه درست نیست و بحث کمی پیچیدهتر از اینهاست.
تعداد هستههای بیشتر تنها هنگامی سرعت بیشتری را ارائه میکنند که یک برنامه بتواند وظایف را بین هستهها تقسیم کند. همهی برنامهها اینگونه توسعه داده نشدهاند، پس همیشه نمیتوان تعداد بیشتر هسته را به معنای سرعت بالاتر در نظر گرفت.
هر هسته به اصطلاح یک سرعت کلاک (Clock Speed) دارد که در کنار نوع معماری هسته، عاملی مهم در سرعت آن در نظر گرفته میشوند. یک پردازندهی ۲ هستهای جدیدتر با کلاک اسپید بیشتر اغلب میتواند از یک پردازندهی ۴ هستهای قدیمی با کلاک اسپید پایینتر بهتر عمل کند.
مصرف انرژی
تعداد هستهی بیشتر به معنی مصرف انرژی بیشتر توسط پردازنده هم هست. زمانی که پردازنده شروع به فعالیت میکند، باید نیرو را در یک زمان به همهی هستهها برساند.
تولید کنندگان چیپستها همواره در تلاش بودهاند تا میزان مصرف انرژی را کاهش دهند و پردازندههای بهینهتری در این زمینه تولید کنند، اما بهصورت کلی، پردازندههای ۴ هستهای نسبت به ۲ هستهای با سرعت بیشتری باتری لپتاپ شما را خالی میکنند.
هستههای بیشتر، گرمای بیشتر
عوامل بیشتری علاوه بر تعداد هستهها در میزان گرمای تولید شده توسط پردازنده موثر هستند، ولی باز هم طبق یک قاعدهی کلی، هستههای بیشتر منجر به تولید گرمای بیشتر میشوند. با توجه به گرمای اضافی، تولید کنندهها باید بهدنبال لولههای خنک کنندهی قویتر یا راهکارهای بهتر برای خنک کردن پردازنده باشند.
آیا پردازندههای ۴ هستهای گرانتر از ۲ هستهای هستند؟
هستههای بیشتر همیشه به معنی گرانتر بودن پردازنده نیستند. همانطور که پیشتر هم اشاره شد، کلاک اسپید، نسخهی معماری و بعضی موارد دیگر در قیمت یک پردازنده موثر هستند. اما اگر تمامی این عوامل بین پردازندههای ۲ و ۴ هستهای برابر باشند، تعداد هسته بیشتر میتواند منجر به افزایش قیمت شود.
بهینهسازی
نرم افزار برای هستههای
CPU
در این بخش باید به حقایق پنهانی اشاره کنیم که تولید کنندگان چیپستها تمایل ندارند ما از آنها آگاه شویم. عملکرد بهتر پردازندهها همیشه وابسته به تعداد هستههای موجود نیست، بلکه نرم افزاری که روی این هستهها اجرا میشود هم اهمیت دارد.
برنامهها باید بهصورت ویژه برای استفاده از چند پردازنده بهینه شوند. در گذشته «نرم افزارهای چند ریسمانی» یا «چند رشتهای» چندان رایج نبودند. همچنین، امروزه تقریبا غیر ممکن است بتوانید پردازندهی تک هستهای برای کامپیوتر خود پیدا کنید، پس مسئلهی بهینهسازی نرم افزار برای هستهها مانند گذشته محدود نیست.
برای مثال، نرم افزار Adobe Premier Pro در هنگام ویرایش، به هستههای مختلف وظایف مختلفی را محول میکند. با توجه به اینکه لایههای مختلف بسیاری در ویرایش ویدیو نقش دارند، اینکه هر هسته روی وظیفهای مشخص متمرکز شود منطقی بهنظر میرسد.
همچنین
گوگل کروم هستههای مختلف را به کار روی تبهای مختلف هدایت میکند. اما در این مورد مشکلی هم وجود دارد: به محض اینکه شما یک صفحهی وب را در یک تب باز میکنید، معمولا پس از آن فرایند ایستا میشود، به این معنی که دیگر نیازی به پردازشهای بعدی نیست و ادامهی کار مربوط به ذخیره کردن صفحه در حافظهی رم دنبال میشود. این یعنی با وجود اینکه هسته میتواند در تب پسزمینه استفاده شود، اما ضرورتی ندارد و این کار انجام نمیشود.
مثال گوگل کروم یک نمونهی مناسب از این است که چگونه ممکن است یک نرم افزار چند ریسمانی نتواند ارتقا عملکرد واقعی را ارائه کند.
۲ برابر شدن هستهها به معنی ۲ برابر شدن سرعت نیست
فرض کنیم نرم افزار مناسب و تمام
سخت افزار مورد نیاز را در اختیار داریم. آیا یک پردازندهی ۴ هستهای میتواند ۲ برابر سریعتر از ۲ هستهای باشد؟ پاسخ خیر است!
افزایش هستهها نمیتواند به حل مشکل مقیاسپذیری نرم افزار کمک کند. مقیاسپذیری هستهها از نظر تئوری همان قابلیت نرم افزار برای اختصاص وظایف مناسب به هستههای مناسب آنهاست، بهگونهای که هر هسته در بهترین سرعت خود به پردازش مشغول باشد. اما در واقعیت چنین اتفاقی رخ نمیدهد. آنچه در واقعیت اتفاق میافتد این است که وظایف بهصورت ترتیبی یا تصادفی (همان روشی که اکثر نرم افزارهای چند ریسمانی استفاده میکنند) تقسیم میشوند.
برای مثال، یک پردازندهی ۴ هستهای را در نظر بگیرید. شما باید ۳ وظیفهی مشخص را انجام دهید و برای انجام این وظایف به ۵ عمل نیاز دارید. وظایف را با T و عملها را با A نشان میدهیم. در این صورت تقسیمبندی وظایف توسط نرم افزار به این صورت خواهد بود:
- هستهی ۱: A1T1
- هستهی ۲: A1T2
- هستهی ۳: A1T3
- هستهی ۴: A2T1
این نرم افزار چندان هم هوشمند نیست. اگر A1T3 سختترین و طولانیترین وظیفه باشد، نرم افزار باید A1T3 را بین هستههای ۳ و ۴ تقسیم کند. اما حالا حتی پس از این که هستههای ۱ و ۲ وظایفشان را به پایان رساندند، باید صبر کنند تا وظیفهی کندتر هستهی ۳ تکمیل شود.
تمامی آنچه بیان شد برای این بود که بدانیم همهی نرم افزارها برای بهرهگیری از نهایت ظرفیت چند هسته بهینهسازی نشدهاند و دو برابر کردن هستهها به معنی دو برابر شدن سرعت پردازش نیست.
هستههای بیشتر کجا به کمک ما میآیند؟
حالا که با شیوهی کار هستهها و محدودیتهای آنها برای افزایش سرعت عملکرد آشنا شدیم، باید از خود بپرسیم آیا واقعا به هستههای بیشتر نیاز داریم؟ پاسخ این سوال به انتظار شما از پردازنده و کاری که در نظر دارید با کمک آن انجام دهید بستگی دارد.
۲ هستهای و ۴ هستهای در گیمینگ
اگر یک گیمر حرفهای هستید، پس بهتر است به دنبال هستههای بیشتر برای رایانهی خود باشید. بسیاری از عناوین AAA (بازیهای ساخت استدیوهای بزرگ) اکنون از معماری چند ریسمانی پشتیبانی میکنند. بازیهای ویدیویی هنوز تا حد زیادی به
کارت گرافیک وابسته هستند، اما یک پردازندهی چند هستهای هم میتواند به اجرای بهتر آنها کمک کند.
ویرایش ویدیو و صدا
پردازندههایی با هستههای بیشتر برای هر کاربر حرفهای که با برنامههای ویرایش ویدیو و صدا کار میکند، کاربردیتر خواهند بود. اغلب ابزارهای ویرایش ویدیو و صوت از شیوهی پردازش چند ریسمانی بهره میگیرند و میتوانند از ظرفیت هستههای مختلف بهتر استفاده کنند.
فتوشاپ و طراحی
اگر یک طراح هستید، کلاک اسپید بالاتر و کش پردازندهی بیشتر، نسبت به تعداد هستهها نقش مهمتری در افزایش سرعت کار شما خواهند داشت. حتی معروفترین نرم افزار طراحی که همان ادوبی فتوشاپ است، از پردازشهای تک رشتهای یا با رشتههای کمتر بهخوبی پشتیبانی میکند. بنابراین، استفاده از پردازندههای چند هستهای تاثیر چندانی در ارتقا عملکرد آن نخواهند داشت.