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