تفاوت CPU و GPU در چیست؟

در مورد تفاوت های بین CPU و GPU صحبت کنیم. CPU مخفف عبارت central processing unit به معنای واحد پردازش مرکزی است که پردازنده یا Processorهم نامیده می شود. CPU تمام فرآیندهای لازمه سیستم را مدیریت می کند. GPU مخفف عبارت graphical processing unit به معنای واحد پردازش گرافیکی است که کارت گرافیک هم نامیده می شود. وظیفه اصلی این واحد نمایش تصویر روی صفحه نمایش است.

سلام، وقتتون بخیر. علی هستم برنامه نویس تیما. امروز می خواهیم با هم در مورد تفاوت های بین CPU و GPU صحبت کنیم. CPU مخفف عبارت central processing unit به معنای واحد پردازش مرکزی است که پردازنده یا Processor هم نامیده می شود. CPU تمام فرآیندهای لازمه سیستم را مدیریت می کند و به عبارت دیگر می توان گفت، اگر CPU نداشته باشید اصلا کامپیوتری ندارید. GPU مخفف عبارت graphical processing unit به معنای واحد پردازش گرافیکی است که کارت گرافیک هم نامیده می شود. وظیفه اصلی این واحد نمایش تصویر روی صفحه نمایش است پس پردازنده‌های گرافیکی نیز برای عملکرد رایانه حیاتی هستند و بدون آن‌ها، هیچ چیز روی صفحه نمایش داده نمی‌شود.

 


 

لازم به ذکر است که GPU همیشه به صورت مجزا یا discrete نیست و بسیاری از CPU ها به خصوص CPU لپ تاپ ها، دارای GPU داخلی یا یکپارچه هستند. البته اگر پردازش های گرافیکی سنگینی دارید، به یک GPU مجزا نیاز دارید چون که کارت‌ گرافیک یکپارچه یا داخلی، قدرت و فضای زیادی ندارند. کارت گرافیک مجزا دارای قدرت پردازشی زیادی است و برای اجرای بازی ها و نرم افزار های سنگین بسیار مناسب است. همانطور که گفتیم هیچ دستگاه دیجیتالی وجود ندارد که CPU نداشته باشد. تلفن‌ها و دستگاه‌های هوشمند معمولاً دارای  CPUهای بسیار کوچکی هستند که توان محاسباتی زیادی ندارند. در حالی که ابررایانه‌ها یا Super Computer ها تعداد زیادی CPU دارند که می‌توانند محاسباتی را انجام دهند که اگر یک تلفن هوشمند بخواهد انجام دهد، احتمال زیاد پردازنده اش می سوزد.

 


 

GPU های مجزا خیلی حرفه ای تر هستند و معمولاً در لپ‌تاپ‌های گیمینگ و رایانه‌های شخصی نصب می شوند. همچنین امروزه کارت های گرافیک بزرگترین بازار را در اختیار دارند چون که اکثر بازی‌های جدید، به قدرت گرافیکی بالایی نیاز دارند. تولید کنندگان محتوا دیگر خریداران بزرگ پردازنده‌های گرافیکی هستند چون که باید با سرعت بالا و بهترین جزئیات، از کار خود رندر (Render) بگیرند. لازم به ذکر است که GPU ادغام شده در CPU یا همان GPU یکپارچه، نمی‌تواند این گونه پردازش ها را انجام دهد. فقط گیمرها و تولید کنندگان محتوا نیستند که از GPU استفاده می کنند و به دلایلی که به زودی با هم بررسی می کنیم، کارت های گرافیک همچنین در یادگیری ماشین (Machine Learning) و استخراج ارزهای دیجیتال (Crypto Mining) هم استفاده می شوند.

 


 

همانطور که گفتیم CPU و GPU به دلیل نحوه ساخت آنها، کارهای متفاوتی انجام می دهند. CPU فرآیندها را به صورت سریال، یکی پس از دیگری، روی هر یک از هسته های (Core) خود اجرا می کند. اکثر پردازنده های امروزی دارای حداقل 8 هسته هستند ولی CPU های سطح بالا می توانند تا 64 هسته هم داشته باشند. هنگامی که رایانه در حال انجام برنامه ها است، هر هسته CPU کم و بیش یک فرآیند را به تنهایی اجرا می کند مانند ثبت کلید های کیبورد هنگام تایپ. در حالی که یک هسته این کار را انجام می‌دهد، هسته‌های دیگر فرآیندهای دیگری را انجام می دهند. از آنجایی که CPU وظایف را به صورت سریال مدیریت می کند و سهم زیادی از قدرت پردازش خود را به هر کار اختصاص می دهد، وظایف با سرعت زیادی اجرا می شوند و سریع بین فرآیندهای مختلف جابه‌جا می شود.

 


 

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

 


 

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

 


 

این اصل که CPU ها کامپیوتر را مدیریت می کنند در حالی که GPU امور گرافیک را انجام دهد، فقط تا چند سال پیش مطرح و معتبر بود. در آن زمان به ندرت کارت گرافیک برای چیز دیگری جز بازی یا پردازش های بصری (visual processing) از جمله کارهای سه بعدی یا ویرایش تصویر و ویدیو، استفاده می شد. با این حال، در چند سال اخیر به لطف ظهور و رواج یافتن دو فناوری نوین Crypto و یادگیری ماشین، تغییر بزرگی در زمینه های استفاده کارت گرافیک به وجود آمده است. یادگیری ماشین (Machine Learning) یا پیشرفته تر آن یادگیری عمیق (Deep Learning) به دلیل نحوه مدیریت داده ها به پردازش موازی فشرده، سنگین و پیچیده ای نیاز دارد. به طور خلاصه اینطور می شود گفت که هر بیت اطلاعات که توسط یک الگوریتم یادگیری عمیق پردازش می شود، از چندین فیلتر به نام وزن یا Weight عبور می کند و با توجه به وجود فیلترها و داده های زیاد، اجرای این کار از طریق CPU بسیار زمان بر خواهد بود و GPU برای این کار بسیار مناسب تر است. به دلایل مشابهی هنگام استخراج ارز دیجیتال هم، کارت های گرافیک محبوب هستند. برای به دست آوردن و کسب coin یا crypto، معمولاً باید یک معادله رمزنگاری (cryptographic equation) پیچیده را حل کنید که قفل بخش بعدی بلاک چین (blockchain) را باز می کند. در اصل در این امر نیز، هر چه قدرت پردازش بیشتری را در حل یکی از این معادلات داشته باشید، شانس بیشتری برای حل سریع آن و کسب crypto خواهید داشت.

 

امیدوارم که از این آموزش لذت برده باشید و براتون مفید واقع شده باشه. با ما همراه باشید تا با هم یک درصد بیشتر بدونیم.

نظرات ارزشمند خود را با ما به اشتراک بگذارید

نظرات :
هنوز نظری ثبت نشده است.