CPU در برابر GPU؛ پردازنده با پردازنده گرافیکی چه تفاوتی دارد؟
اگر حتی اندکی در زمینهی کامپیوتر سررشته داشته باشید، مطمئنا میدانید که پردازنده (CPU) و پردازندهی گرافیکی (GPU) دو قطعهی کاملا متفاوت با اهمیت بسیار بالا هستند. اما دقیقا این دو قطعه چه تفاوتهایی دارند و چگونه در کنار یکدیگر قابلیتهای موردنظر کاربران را ارائه میدهند؟
پردازنده و پردازندهی گرافیکی چیست؟
به زبان ساده، CPU که مخفف واحد پردازش مرکزی است، مغز کامپیوتر محسوب میشود. این قطعه از میلیونها ترانزیستور استفاده میکند که برای انجام محاسبهها و پردازشهای مهمی مورد استفاده قرار میگیرد. اگر سیستم شما پردازنده نداشته باشد، هیچ کاری با آن نمیتوانید انجام دهید که البته این موضوع برای تقریبا تمام قطعات سختافزاری صدق میکند.
GPU یا واحد پردازش گرافیک که از آن تحت عنوان کارت گرافیک یاد میشود، برای نمایش محتوای گرافیکی در نمایشگر و انجام پردازشهای محاسباتی بسیار خاص مورد استفاده قرار میگیرد. بدون پردازندههای گرافیکی، هیچ نوع محتوایی روی نمایشگر سیستم نمایش داده نمیشود. با این حال، پردازندهی گرافیکی لزوما نباید مجزا باشد و بسیاری از پردازنده ها، بهخصوص در لپتاپها، از پردازندهی گرافیکی داخلی بهره میبرند.
البته پردازندههای گرافیکی داخلی معمولا در زمینهی توان سختافزاری حرف زیادی برای گفتن ندارند. به همین خاطر اگر از جمله گیمرهایی هستید که به اجرای بازیهای سنگین علاقه دارید یا مثلا میخواهید مدلهای سهبعدی را رندر کنید، باید از GPU مجزا و قدرتمندتری بهره ببرید.
این قطعات در چه نوع سیستمهایی قرار دارند؟
از آنجایی که پردازندهها اهمیت بسیار زیادی دارند، در انواع و اقسام گجتها و سیستمها مورد استفاده قرار میگیرند و هیچ دستگاه دیجیتالی بدون نوعی پردازنده وجود ندارد. پردازندههای موجود در گوشیهای هوشمند و گجتهای هوشمند بسیار کوچک هستند که قدرت پردازشی چندانی را ارائه نمیدهند. از طرف دیگر، ابرکامپیوترها از شبکهای متشکل از صدها پردازنده بهره میبرند و پردازشهای صورت گرفته توسط این سیستمهای پیشرفته میتوانند گوشیهای هوشمند را در عرض چند دقیقه بسوزانند.
پردازندههای گرافیکی اختصاصی برای کارهای مشخصتری استفاده میشوند. در لپتاپها و سیستمهای مختص گیمینگ، این نوع پردازندههای گرافیکی استفاده میشوند و عمدتا گیمرها مهمترین خریداران این قطعات به حساب میآیند زیرا بسیاری از بازیها برای اجرا شدن به توان سختافزاری بسیار بالایی نیاز دارند. هنرمندان حوزههای بصری هم دیگر مشتریان مهم این قطعات هستند زیرا این هنرمندان باید ویرایشهای موردنظر خود را با سرعت زیادی اعمال و رندر کنند و پردازندههای گرافیکی یکپارچه برای این کار از توان کافی بهره نمیبرند.
البته نباید کاربرد گستردهی کارت گرافیک در حوزههای یادگیری ماشینی و استخراج رمزارزها را از قلم بیندازیم که در ادامه بیشتر به این موضوع میپردازیم.
تفاوت نحوهی کارکرد پردازنده و پردازندهی گرافیکی
پردازندهها و پردازندههای گرافیکی به دلیل تمایز در نحوهی ساخت، پردازشها را به طور متفاوتی انجام میدهند. یک پردازنده انواع فرایندها را به صورت سریالی یا یکی پس از دیگری در هستههای پردازشی خود اجرا میکند. اکثر پردازندهها دارای ۴ تا ۸ هسته هستند ولی در این میان برخی پردازندههای پیشرفته میتوانند تا ۶۴ هسته هم داشته باشند.
زمانی که کامیپیوتر در حال فعالیت است، هرکدام از هستهها پردازشهای مختلف را کم و بیش به تنهایی اجرا میکنند. در حالی که یک هسته مشغول انجام کارهای موردنظر است، دیگر هستهها باید سایر پردازشهای سیستم را بر عهده بگیرند. از آنجایی که این وظایف به طور سریالی انجام میشود و برای هرکدام از پردازشها قدرت زیادی اختصاصی پیدا میکند، پردازنده میتواند با سرعت زیاد بین اجرای فرایندهای مختلف جابجا شود.
اما پردازندهی گرافیکی در این زمینه رویکرد متفاوتی اتخاذ میکند. زمانی که انجام کاری به GPU محول میشود، پردازندهی گرافیکی آن را به هزاران فرایند کوچکتر تقسیم میکند و سپس به جای اینکه به طور سریالی آنها را پردازش کند، به صورت همزمان چنین کاری را انجام میدهد. به همین خاطر برای کارهایی مانند طراحی سهبعدی که از بخشهای کوچک زیادی تشکیل شدهاند، پردازندههای گرافیکی شرایط مناسبتری دارند.
به عنوان مثال، محیط بازی از میلیونها چند ضلعی تشکیل شده است. پردازندهی گرافیکی میتواند هرکدام از این چند ظلعیها را به طور جداگانه و به صورت همزمان پردازش کند تا کاربران بتوانند با محیط جذاب بازی روبرو شوند. زمانی هم که GPU حین پردازش محتوای بازی با مشکل روبرو شود، بخشهایی از بازی موردنظر بدون پردازش باقی میمانند و با گرافیکهای نهچندان خوشایندی روبرو میشوید.
چه زمانی پردازنده و چه زمانی پردازندهی گرافیکی مورد استفاده قرار میگیرد
با توجه به تمایزهای اشاره شده، پردازندهها و پردازندههای گرافیکی کاربردهای بسیار متفاوتی دارند. پردازش سریالی برای کامپیوتر اهمیت بسیار زیادی دارد و اگر سیستم بخواهد تمام فرایندها را به صورت همزمان پردازش کند، با مشکلات مختلفی روبرو میشود. پردازندهها به زبان ساده میتوانند توان زیادی را به فقط تعداد مشخصی از کارها اختصاص دهند اما به لطف همین رویکرد، پردازشهای موردنظر با سرعت بسیار زیادی انجام میشوند.
اما ماهیت پردازندههای گرافیکی به گونهای است که برای پردازشهای بزرگ و پیچیدهی مبتنی بر تکراری زیاد، مانند قراردادن هزاران چند ضلعی بر روی نمایشگر، عملکرد بهتری دارند. اگر سعی کنید چنین کاری را با پردازنده انجام دهید، حتی اگر از پس این کار بیاید، با عملکرد ضعیفتری روبرو خواهید شد.
پردازندههای گرافیکی صرفا مختص پردازشهای گرافیکی نیستند
تا چند سال قبل، این فرض که پردازندههای گرافیکی عمدتا در حوزهی گرافیک کامپیوتر انجام وظیفه میکنند صحت داشت. در آن دوران تقریبا تمام کارتهای گرافیک برای کارهایی مانند رندر مدلهای سهبعدی، ویرایش ویدیو و پردازش بازیها مورد استفاده قرار میگرفتند. اما طی چند سال گذشته به لطف دو تغییر مهم، استفاده از پردازندههای گرافیکی هم با تحول گستردهای روبرو شده است. اولین مورد یادگیری ماشینی یا یادگیری عمیق است که به دلیل نحوهی مدیریت دادهها، به پردازش همزمان اطلاعات نیاز دارد.
حوزهی یادگیری ماشینی از بخشهای متعددی تشکیل شده ولی در مرحلهی آموزش بیشترین احتیاج به سختافزار قدرتمند وجود دارد. در هنگام آموزش، یک شبکه عصبی ورودیها را میگیرد، آنها را در لایههای پنهان (Hidden Layers) پردازش میکند و یک سری وزن (Weights) به آنها نسبت میدهد و سپس، مدل یک پیشبینی انجام میدهد. وزنها باعث میشوند تا الگوها بهتر پیدا شوند و روند پیشبینی بهتر انجام شود. به زبان ساده، بهرهگیری از یک GPU مناسب میتواند روند آموزش شبکههای عصبی را از روزها و ساعتها به دقایق و ثانیهها تبدیل کند. بنابراین اگر پردازندههای گرافیکی مورد استفاده قرار نگیرند، روند آموزش با چالشهای خیلی زیادی روبرو میشود.
پردازندههای گرافیکی و استخراج رمزارزها
به غیر از شبکههای عصبی، پردازندههای گرافیکی برای استخراج رمزارزها هم به طور گسترده مورد استفاده قرار میگیرند. به زبان ساده، به منظور کسب کوینهای جدید باید معادلههای رمزنگاری پیچیدهای را حل کنید تا بخش جدیدی از شبکه بلاکچین آنلاک شود. در این زمینه توان سختافزاری اهمیت بسیار زیادی دارد زیرا هرچقدر این توان بیشتر باشد، معادلههای موردنظر با سرعت بیشتری حل میشوند.
پردازندههای گرافیکی در این زمینه عملکرد بسیار بهتری نسبت به پردازندههای معمولی ارائه میدهند که در این زمینه میتوانیم به بهرهگیری از قطعات موسوم به «واحدهای محاسبه و منطق» اشاره کنیم که برای این کار اهمیت زیادی دارند. این واحدها نهتنها برای افزایش سرعت رندر مورد استفاده قرار میگیرند، بلکه برای حل مسائل پیچیدهی ریاضی هم نقش مهمی را ایفا میکنند.
در حقیقت کارتهای گرافیک در حوزهی استخراج رمزرزها چنان پرطرفدار هستند که بخش بزرگی از کمیاب شدن آنها به همین موضوع برمیگردد. بنابراین همانطور که میبینید، پردازندههای گرافیکی طی چند سال گذشته اهمیت بسیار بیشتری نسبت به گذشته پیدا کردهاند.
منبع: How To Geek