AMD vs. Intel: تعداد هسته بیشتر برای CPU آری یا خیر؟
اخیرا در مطلبی، خدمت شما کاربران گرامی میهنگیم یک سیستم گیمینگ پیشنهاد کردیم و برخی از دوستان که قطعا از دانش تخصصی بیشتری نسبت به بنده برخوردار هستند، در بخش نظرات لطف نموده و بنده را همراهی کردند و قطعاتی دیگری پیشنهاد دادند، ما هم ضمن این که تا حد توان به سوالات شما در آن جا پاسخ دادیم، خواستیم همه عزیزان کامنت های آن مطلب را با دقت مطالعه کنند تا با دانش کامل تری دست به خرید سخت افزار بزنند. همین جا از عزیزانی که در بخش نظرات بنده را یاری نمودند تشکر میکنم. ضمن اشاره به این که پیش از هرچیز برای تحریر آن مقاله، دانش Mathieu Bourgie بود که بنده را دست به قلم کرد، که پیشنهاد میکنم حتما به وبسایت ایشان سری زده و از مطالب مفید و به روز او استفاده کنید.
قبل از آن که وارد بحث اصلی شویم، نکتهای را عرض کنم که پیش تر هم به آن اشاره شد؛ این که تغییر نسل کنسول ها، به شدت روی کیفیت بازی های پلتفرم های حرفهای اثر گذاشته و ثابت کرد PC اگرچه در پتانسیل سخت افزاری حرفی برای کنسول نگذاشته است، اما چقدر در کیفیت بازی هایش در غل و زنجیر کنسول ها قرار دارد. سخت افزار PC امروز با پارسال تفاوت عمدهای نکرده است پس به یک باره چه شد که کیفیت بازی ها و به تبعیت از آن سیستم مورد نیاز آن ها تا این حد رشد کرد؟ چه اتفاقی غیر از عوض شدن نسل کنسول ها افتاد! سررشته کلام از دست نرود، میخواهم عرض کنم این تغییر نسل آن هم بعد از یک دوره نزدیک به ده سال، بسیاری از ما را به فکر ارتقا سیستم انداخته است و به همین دلیل در این زمان، با دانش کافی دست به انتخاب سخت افزار زدن شاید از هر زمان دیگری ضروری تر باشد. در این مقاله، میخواهیم بررسی کنیم آیا تعداد هسته بیشتری برای CPU لزوما مساوی با تجربه بهتری از گیم داشتن است؟ و از آن جا که ستون های دنیای CPU را دو شرکت AMD و Intel تشکیل داده اند، و با توجه به این که AMD را با تعداد هسته های بیشتر CPU نسبت به اینتل میشناسیم، این سوال را میتوان اینطور هم پرسید: AMD یا Intel، کدام یک برای گیم؟
برای رسیدن به پاسخ، لازم است ابتدا با معنا و مفهموم ترد (Thread) در CPU آشنا باشید. موضوع را خیلی ساده و غیرفنی در حدی که نیازمان را برطرف کند و بفهمیم که چه شد نگه میداریم. ببینید، CPU اصولا میتواند در هر لحظه تنها یک ریسمان اطلاعاتی را پردازش کند. به هر کدام از این ریسمان های اطلاعاتی که مجموعه ای از داده های مرتبط با هم هستند که قرار است روی هم به یک خروجی مطلوب ما منجر شوند، یک ترد گفته میشود. پس برنامه های سیستم عامل یک ریسمان را برای پردازش به CPU میفرستد، که به این ریسمان یک ترد میگوییم، CPU آن را پردازش میکند و روی حافظه ذخیره میکند (فعلا به ما مربوط نیست چه نوع حافظهای کجا استفاده میشود)، سپس ریسمان بعدی را تحویل گرفته و پردازش و سپس ذخیره میکند و به همین منوار ریسمان های اطلاعاتی یا ترد ها یکی یکی پردازش میشوند و ما میتوانیم خروجی را روی صفحه نمایش ببینیم. چون سرعت پردازش CPU بسیار بالاست، به نظر میآید که برنامه ها همزمان اجرا میشوند در حالی که یک توالی برای پردازش وجود دارد.
نتیجه: اگر شما یک ترد حجیم به CPU بدهید، حداکثر سرعت پردازش CPU (امروز برحسب گیگاهرتز) به کار گرفته میشود، اما چون تردها اغلب حجم اطلاعاتی برابر با حداکثر سرعت عمل CPU ندارند، و چون CPU نمیتواند فضای خالی سرعتی که دارد را به محاسبه اطلاعات یک ترد دیگر اختصاص دهد و ترد ها باید یکی یکی پردازش شوند، و نیز CPU بسیار سریع تر از حافظه های اصلی و جانبی که مجرای گذر ریسمان های اطلاعاتی هستند میباشد، لذا معمولا نمیتوان از حدکثر سرعت CPU استفاده کرد و بخش هایی از CPU در حالت انتظار و بیاستفاده میماند.
برای این که بتوانیم کاری کنیم CPU همزمان بیش از یک ترد را پردازش کند، دو روش وجود دارد؛ اول این که از CPU چندهستهای استفاده کنیم، که مثل این است که از دو CPU استفاده کردهایم و هر هسته یک ترد را پردازش میکند و مثلا اگر دو هسته داشته باشیم، دو ترد هم زمان پردازش میشوند. دوم از میکرومعماری تحت عنوان چندتردی (multi-threading) استفاده کنیم. یک پردازنده چند تردی پردازندهای است که تغییرات سخت فزاری روی آن انجام داده اند، طوری که اکنون میتواند بیش از یک ترد را روی هر هسته پردازش کند. در این حالت میگوییم CPU ما هسته مجازی (Virtual Core) دارد. پیشرفتهترین نوع چندتری تا به امروز، چندتردی همزمان (simultaneous multithreading یا به اختصار SMT) است که در آن، هر هسته میتواند چند ترد را کاملا همزمان پردازش کند. اکنون به دقت به این دو تصویر مربوط به پردازنده Intel Xeon E-5 2620 نگاه کنید، تصویر اول تست CPU و تصویر دوم اطلاعات منتشر شده از سوی Intel را در مورد این CPU نشان میدهد.
همان طور که میبینید، این پردازنده در تست، تعداد ۶ هسته و ۱۲ هسته مجازی را نشان میدهد. اینتل میگوید این پردازنده ۶ هسته و ۱۲ ترد دارد. هر دو یک معنی را میرسانند، ما شش هسته واقعی داریم (که به آن هسته فیزیکی میگوییم)، اما هر هسته میتواند دو ترد را همزمان پردازش کند و درواقع همزمان وقتی هر ۶ هسته به کار گرفته شوند، ۱۲ ریسمان اطلاعاتی یا ترد در پردازنده در حال پردازش هستند. این کار باعث میشود بتوانیم از هر هسته CPU، تا دو برابر حالت عادی کار بکشیم. پس سرعت عمل بیشتر خواهد بود.
یک نتیجه مهم: اگر n تعداد هسته فیزیکی و m سرعت پردازش را برحسب شاخص MIPS نشان دهد (سرعت یا فرنکانس پردازشی برحسب مگاهرتز و گیگاهرتز) و دو پردازنده بجز این دو مورد در بقیه موارد مساوی باشند (یک نوع معماری از همه نظر منهای تعداد هسته و فرنکانس پردازشی)، در آن صورت اگر برای دو پردازنده متفاوت مقدار n x m مساوی شود، حتما آن پردازندهای سریع تر است که تعداد هسته بیشتر دارد، چون تعداد ترد بیشتری پردازش کرده و بیشتر کار میکند و کمتر غیرفعال میماند. مثال: یک پردازنده ۱.۵ گیگاهرتزی دو هستهای از یک پردازنده ۳ گیگاهرتزی تک هستهای با همان ساختار حتما سریع تر کار میکند.
اینتل در تمام پردازنده های جدید خود از SMT استفاده میکند و آن را Hyper-Threading مینامد، فعلا به این صورت است که در ازای هر هسته ۲ ترد دارد. یعنی هر هسته میتواند همزمان دو ترد را پردازش کند و تعداد هسته نصف تعداد ترد است. از آن طرف AMD در بسیاری از پردازنده های خود از این قابلیت بیبهره است و اغلب هر هسته آن فقط یک ترد دارد. یعنی تعداد هسته با ترد برابر است. در عوض AMD هسته بیشتری روی CPU های خود قرار میدهد که ضرورتا تعداد ترد را بیشتر میکند. (تعداد ترد ∝ تعداد هسته)
تکلیف کار تقریبا معلوم شد، تعداد هسته قطعا در سرعت پردازش موثر است اما فاکتور دیگری با نام ترد هم وجود دارد که هرگز نباید از آن غافل شد. اکنون اجازه دهید چندین CPU از AMD را در مقایسه با Intel در تست های بنچمارک بررسی کرده و به تاثیر ترد بیشتر پی ببریم، و شاید فاکتورهای موثر دیگری را هم شناسایی کنیم. توجه شما را به تست بنچمارک CPU بازی کرایسیس ۳ جلب میکنم. از pcgameshardware.de بابت انجام این تست مفید تشکر میکنیم. فکر میکنم شما هم با من موافق باشید که Crysis 3 به عنوان یک بازی استاندارد، برای گرفتن این تست مناسب است. برای آنکه سایر فاکتورهای موثر بکارگیرفته شده در معماری پردازنده (همچون مجموعهدستورالعمل پردازنده و یا پهنای گذرگاه) مشکلآفرین نشود، پردازنده هایی از یک نسل با معماری های همرده را بررسی میکنیم.
من ابتدا AMD FX 8350 را با Intel Core i7 3770K گرفته و مقایسه میکنم. سری FX سری تک تردی هستند و سری Core معمولا دوتردی کار میکنند. همانطور که میبینید هردو در تست، عملکرد تقریبا یکسانی را از خود نشان داده اند، اما پردازنده اینتل با قیمت بیش از یک میلیون تومان حدود ۴۰۰ هزار تومان از پردازنده AMD گران قیمت تر است. به ترتیب مشخصات این دو CPU به صورت زیر است:
AMD FX 8350 از گروه Vishera
- ۸ هسته فیزیکی/۸ ترد
- ۴GHz (توربو=۴.۲GHz)
- ۴x2MB کش سطح دو (L2)
- ۸MB کش سطح L3
Intel Core i7 3770 از گروه IvyBridge
- ۴ هسته فیزیکی/۸ ترد
- ۳.۴GHz (توربو=۳.۹Ghz)
- ۴x256KB کش L2
- ۸MB کش L3
فکر میکنم تفاوت کش سطح ۲ اینجا زیاد به چشم میآید و باید به آن بپردازیم. کمی وقت گذاشته و این صفحه را در ویکیپدیا مطالعه کنید تا مفهوم و کاربرد کش و خطای کش را متوجه شوید. خواندید؟ بسیار خب ادامه میدهیم. حال که میدانیم کش و خطای کش چیست، نگاهی به این جدول ویکیپدیا هم بیندازید که نشان میدهد افزایش مقدار کش بیش از ۱MB تاثیر بسیار ناچیزی روی خطای کش داشته و لذا برای جلوگیری از خطای کش کاری بیهوده است. اکنون این صفحه را هم نگاه کنید، همان طور که میبینید، تاثیر کش بیش تر روی بنچمارک این بازی ها ناچیز است. در مجموع این که اندازه کش را نمیتوان معیاری برای قدرت پردازنده و سرعت عملکرد در بازی ها دانست. به غیر از حافظه کش سطح ۲، دو پردازنده معرفی شده، در فرنکانس پردازشی حدودا یکسان و تعداد ترد با هم برابرند و همان طور که میبینید، در عمل هم قدرت تقریبا برابری دارند. (۸ هسته فیزیکی AMD با ۸ ترد عملکردی برابر با ۴ هسته Intel با ۸ ترد)
برگردیم به جدول کرایسیس، این بار میخواهم FX 6300 را با Core i3 3220 مقایسه کنم. همان طور که میبینید در این تست، تفاوت زیاد دوبرابری در سرعت اجرای کرایسیس ۳ وجود دارد. فرکانس پردازشی به هم نزدیک است و تفات قابل چشم پوشی ۰.۲GHz وجود دارد، اما پردازنده AMD FX 6300 با شش هسته و شش ترد، برای پردازنده دو هستهای و چهار تردی Intel Core i3 3220 حرفی باقی نگذاشته است. اکنون اجازه دهید مقایسهای بین این دو پردازنده در CPUBoss داشته باشیم. طبعا انتظار داریم امتیاز نزدیک به دوبرابر به پردازنده AMD دهند.
عجیب است! امتیاز تقریبا برابری داده شده است. چه حرفی برای گفتن دارید؟ این سایت اشتباه کرده است؟ به تصویر زیر نگاه کنید.
همچنان که میبینید، تست تک پردازندهای Core i3 3220 از FX 6300 بهتر است. البته. ما میدانیم که پردازنده اینتل روی هر هسته دو ترد دارد و پردازنده AMD یک ترد. چون سرعت هر دو پردازنده هم تقریبا یکی است، کاملا طبیعی است که تست تک هستهای اینتل بهتر از آب دربیاید. اما قرار نیست ما در بازی با یک هسته بازی کنیم. بسیار خب نگاهی به تست Performance بیندازیم که در آن کل هسته ها لحاظ شده اند، AMD FX 6350 از Core i3 3220 بهتر عمل کرده است. اجازه دهید نگاهی بیندازیم به بازی های دیگر در تست های بنچمارک دیگر.
نتیجه این بخش: همانطور که گفتیم قرار نیست بازی شما با یک هسته اجرا شود، پس وقتی برای بازی کامپیوتری از این وبسایت یا دیگری برای مقایسه استفاده میکنید، به گزینه Single Core زیاد توجه نکرده و میانگین نمره را بین سه مورد دیگر بگیرید. استفاده CPU در بازی کامپیوتری، شرایطی متفاوت با کاری مثل برنامهنویسی دارد. گزینه Value را ببینید. این گزینه به شما میگوید به نسبت پولی که میدهید چقدر در عمل نتیجه میگیرید. پردازنده FX 6300 از پردازنده Core i3 3220 گران تر است ولی ارزش به نسبت پول بیش تری به آن داده شده است.
به شکل عجیبی پردازنده Core i3 4130 با سرعت ۳.۴GHz و دو هسته/۴ ترد، در تست Sleeping Dogs حتی از پردازنده هشت هسته ای AMD 8320 هم سریع تر عمل کرده است. در بین پردازنده های AMD هم، FX 4300 چهار هستهای تفاوتی با FX 6300 و حتی AMD 8320 نشان نمیدهد به این صفحه نگاهی بیندازید و بنچمارک ۷ بازی دیگر را هم ببینید. با این حساب فکر میکنم CPUBoss هم اشتباه نکرده بود و جریان حالا تقریبا مشخص شده است. ابتدا برای اینکه مطمئن شویم تست مربوط به Crysis 3 درست انجام شده است، یک تست CPU دیگر از این بازی اینبار از techspot ارائه میدهیم.
تفاوت چندانی به چشم نمیآید ولی همانطور که میبینید، FX 4170 با چهار هسته با FX 8150 با هشت هسته خروجی یکسانی داشته است، که نشان میدهد کرایسیس ۳ چقدر در استفاده حداکثری از سرعت CPU موفق بوده است، چرا که پردازنده FX 4170 همان طور که میبینید، در فرکانس پردازشی هر هسته، تفاوت قابل ملاحظه ۰.۶GHz با FX 8150 دارد.
بررسی های ما نشان داد تعداد هسته و ترد موضوع مهمی است، اما به نظر مهم تر از آنها، بهینه سازی نرم افزار برای استفاده حداکثری از قدرت CPU است. کرایسیس ۳ یک اهرم قوی برای اثبات این ادعا است که هسته های بیشتر AMD واقعا نیروی بیشتری تولید میکنند، اما پشتیبانی از سمت تولیدکننده های بازی ها از پردازنده هایی با هسته بالا زیاد نیست. طوری که CPU و همه هسته های آن به درستی به کار کشیده نمیشود. در تصویر فوق متعلق به آمار استیم از پردازنده های افراد، میبینید که نود درصد کاربران از پردازنده های ۲ تا ۴ هسته ای استفاده میکنند. وقتی قشر بسیار کمی از گیمرها از پردازنده های با تعداد هسته بیشتر استفاده میکنند، طبیعی است که اغلب شرکت های سازنده مواد ساخت بازی و موتورهای بازی سازیشان را برای این پردازندهها بهینه نمیکنند. شاید در طول چند سال آینده، شاهد یک رویه متفاوت باشیم و بازی ها روش کرایسیس را درپی بگیرند، تا آن زمان اما، هزینه اضافی روی پردازنده های AMD بی ثمر است و برای گیمرهای محدود به بودجه، توصیه این است یا سراغ اینتل بروید، یا از پردازنده های با ۴/۶ هستهای AMD استفاده کنید که ارزان تر بوده و پول بیشتری صرف پردازنده گرافیکی کنید تا نتیجه بگیرید، FX 4300/6300/6350 با این حساب، انتخابی مناسب از AMD به نظر میرسد. چیزی که مشخص است، FX 6300 به Core i3 3220 و FX 8320 به Core i3 4130 روی کاغذ برتری محسوسی دارد، اما متاسفانه بازی های کمی مثل ۳ Crysis وجود دارد که این را در عمل نیز ثابت کند.
جا دارد از همه سایت ها و منابعی که تصاویر آن ها در این مقاله استفاده شد بخاطر مطالب بهروز و عالیشان تشکر کنم. این مقاله بخشی از محتوای خود را مدیون کاربران Gaidax و Darkresurrection در وبسایت tomshardware است. در پایان از شما میهنگیمی های عزیز که پای حرف های بنده نشسته و تاب آوردید نیز تشکر میکنم. بعضی از دوستان ممکن است در بخش نظرات مقاله سیستم پیشنهادی اخیر جوابی از ما نگرفته باشند که امیدوارم در این مطلب پاسخ آنها داده شده باشد.
سلام
مطالب جالب بود
یه چیزی هست که شما بهش اشاره نکردید
الان خیلی از بازی ها هست که رویه ۲هسته بهتر از شیش هسته یا هشت هسته اجرا میشه (۵-۱۰) اف پی اس
با این حال که سی پی یو ۲ هسته برایه اجرایه اون بازی ۹۰% تا ۱۰۰% لود میشه ولی سی پی یو ۶-۸ هسته ۳۰% هم لود نمیشه
بعد همه میدونن که ۸۳۵۰ رویه بازی هایه قدیمی به اندازه اینتل خوب کار نمیکنه
بعضی از بازی ها یه قدیمی رو ۸۳۵۰ میانگین ۱۳۰ اف پی اس اجرا میکنه ولی یه i5 عه معمولی شاید تا ۲۰۰ هم بره با این که دهن اون i5 داره سرویس میشه واسه اون ۲۰۰ تا ولی ۸۳۵۰ ۵% لود هم نشده !
من خودم ۸۳۵۰ دارم این مطالب هم تی یه مدتیه کم کم بهشون پی بردم
tomshardware.com
سلام. باید بدونیم پردازنده های اینتل با وجود تکنولوژی Hyper-Threading مصرف چندان زیادی هم ندارن و چون ۲۲ نانومتری هستن مصرف برق زیادی هم ندان. پس در عمل توصیه میشه گیمرهای حرفهای که میخوان با حداکثر کیفیت اجرا کنن اینتل رو انتخاب کنن با این حال پردازنده های amd بخصوص سری fx با قیمت مناسب و پتانسیل بالایی که دارن یک انتخاب خوب برای گیمرهای کم بودجه به حساب میان. باتشکر از نظرتون.
ممنونم فرشاد جان ، بسیار مقاله ی کامل و به درد بخوری بود.
خواهش میکنم.
من یک ساله i 3-4130 دارم واقعا راضیم با یک GT 630 Nvidia و۸ گیگ رم تا حالا همه بازی هارو راحت باگرافیک بالا اجرا کردم
فقط بند آخر رو خوندم خوب بود۸)
کانگورو های جادار برای چند قلوها
سلام. خواهش میکنم.
نصب بازی روی پارتیشن ها امروزه دیگه اهمیتی نداره چه درایو Primary و چه Logic تفاوت خاصی ایجاد نمیکنه.
درمواقعی که یک بازی با ارور های ویندوزی مواجه بشه نصب بازی روی درایو C یک روش هست که ممکنه به احتمال بسیار کمی ارور رو برطرف کنه. غیر از اون و در سرعت اجرا و مواردی از ای دست، هیچ تاثیری نداره و هیچ تفاوتی نیست.
من corei3 4130 دارم ولی اصلا از سرعتش راضی نیستم افت سرعت داره میشه راهنماییم کنید
سیستم من اینه
Corei3 4130
رم۸
هارد ۱ ترا بایتی
گرافیک gtx650 زوتاک
مادر برد سری جدید ایسوس با سوکت ۱۱۵۰
سلام. ممنون از مطلب بسیا ر مفیدتون.
این موضوع در مورد نرم افزارهای گرافیکی مثل ۳ds max هم صدق میکنه؟این نرم افزارها کدام رویه رو دارن؟مثل بازی کرایسیس از حداکثر توان cpu استفاده میکنند یا خیر؟