معرفی CPU و GPU
با محبوبیت روزافزون زمینههایی مانند Deep Learning، مدلسازی/ رندر سهبعدی، بازیهای واقعیت مجازی و استخراج رمزنگاری، نیازهای محاسباتی مدرن به شدت افزایش یافته است. اجزای سختافزاری که وظیفه تامین توان محاسباتی را بر عهده دارند، در پاسخ به تقاضا تکامل یافتهاند. این تکامل به جایی رسید که گاهی اوقات تمایز بین نقش آنها در سیستم کامپیوتری دشوار است.
توضیحات زیر مروری بر نکات اصلی مقایسه بین CPU و GPU است.
CPU:
- تعداد کمتری از هستههای بزرگتر (تا 24)
- زمان تاخیر کم
- برای پردازش سریال بهینه شده است.
- برای اجرای برنامه های پیچیده طراحی شده است.
- مدیریت خودکار کش
- مقرون به صرفه برای حجم کاری کوچکتر
GPU:
- تعداد بیشتر (هزاران) هسته کوچکتر
- توان عملیاتی بالا
- برای پردازش موازی بهینه شده است.
- طراحی شده برای محاسبات ساده و تکراری
- دستورالعملهای بیشتری را در هر ساعت انجام میدهد.
- امکان مدیریت دستی حافظه را فراهم میکند
- مقرون به صرفه برای حجم کاری بزرگتر
پردازنده یا CPU چیست؟
CPU (واحد پردازش مرکزی) یا پردازنده اصلی دستورات محاسباتی را اجرا میکند. CPU که از طریق سوکت CPU به مادربرد متصل میشود، به ورودیهای یک برنامه کامپیوتری یا یک ابزار جانبی مانند صفحه کلید، ماوس یا تاچ پد گوش میدهد، سپس ورودی را تفسیر و پردازش میکند و خروجی حاصل را به دستگاههای جانبی میفرستد یا در حافظه ذخیره میکند.
کارت گرافیک یا GPU چیست؟
GPU (واحد پردازش گرافیکی) یک پردازنده گرافیکی تخصصی است که به گونهای طراحی شده است که قادر به پردازش هزاران عملیات به طور همزمان باشد. برنامههای کاربردی سهبعدی نیاز به بافت موازی، مخلوطکردن و پردازش نور دارند تا تصاویر را به راحتی در سراسر صفحه حرکت دهند و معماری CPU برای این کارها بهینه نشده است. هدف اصلی GPUها تسریع در ارائه گرافیک بود.
تفاوت بین CPU و GPU
اگرچه هر دو تراشههای پردازشی مبتنی بر سیلیکون هستند، اما CPU و GPU به طور قابل توجهی در معماری و کاربرد تفاوت دارند.
سی پی یو در مقابل معماری کارت گرافیک
CPU متشکل از میلیاردها ترانزیستور است که برای ایجاد گیتهای منطقی متصل شدهاند و سپس به بلوکهای عملکردی متصل میشوند. در مقیاس بزرگتر، CPU دارای سه جزء اصلی است:
- واحد حساب و منطق (ALU) شامل مدارهایی است که عملیات حسابی و منطقی را انجام میدهند.
- واحد کنترل، دستورالعملها را از ورودی دریافت میکند و آنها را به ALU، حافظه پنهان، RAM یا تجهیزات جانبی ارسال میکند.
- کش مقادیر میانی لازم برای محاسبات ALU را ذخیره میکند یا به پیگیری زیر روالها و توابع در برنامه در حال اجرا کمک میکند.
CPUها میتوانند چندین هسته با ALU، واحدهای کنترل و حافظه پنهان خود داشته باشند.
GPU از اجزای مشابهی تشکیل شده، اما دارای تعداد بسیار بیشتری از هسته های کوچکتر و تخصصی است. هدف از چند هسته این است که GPU را قادر میسازد تا چندین عملیات محاسباتی موازی را انجام دهد.
CPU در مقابل رندر GPU
پردازندههای گرافیکی عمدتاً برای دستکاری گرافیکی ساخته شدهاند که به این موضوع اشاره میکند چرا آنها در سرعت رندر نسبت به CPU برتر هستند. بسته به کیفیت تک تک قطعات سختافزاری، رندر GPU میتواند تا صد برابر سریعتر از رندر CPU باشد.
با این حال، یک تجربه رندر خوب فقط به سرعت بستگی ندارد. به عنوان مثال، کار با تصاویر سه بعدی مستلزم انجام چندین کار پیچیده در حین همگام نگهداشتن دادهها است. پردازندههای گرافیکی که برای پیچیدگی طراحی شدهاند، در رندر سهبعدی بهتر از پردازندههای گرافیکی پیشی میگیرند، زیرا پردازندههای گرافیکی برای انجام کارهای سادهتر طراحی شدهاند.
علاوه بر این، پردازندههای گرافیکی به حافظه کارت گرافیک خود (معمولا تا 12 گیگابایت) محدود میشوند که پشته نمیشود و نمیتوان به راحتی آن را بدون ایجاد گلوگاه و آسیب رساندن به عملکرد، گسترش داد. CPU از حافظه اصلی سیستم استفاده میکند که به راحتی قابل ارتقا است و تا 64 گیگابایت میرسد.
کش CPU در مقابل. حافظه پنهان GPU
سی پی یو از کش برای صرفهجویی در زمان و انرژی مورد نیاز برای بازیابی اطلاعات از حافظه استفاده میکند. حافظه نهان به گونهای طراحی شده است که کوچکتر، سریعتر و نزدیکتر به سایر اجزای CPU نسبت به حافظه اصلی باشد.
کش CPU از چندین لایه تشکیل شده است. نزدیکترین سطح به هسته فقط توسط آن هسته استفاده میشود، در حالی که دورترین لایه بین تمام هستههای CPU مشترک است. CPUهای مدرن به طور خودکار مدیریت کش را انجام میدهند. هر لایه بر اساس دفعات استفاده تصمیم میگیرد که آیا قطعه حافظه باید نگه داشته شود یا خارج شود.
حافظه محلی GPU از نظر ساختاری شبیه حافظه نهان CPU است. با این حال، مهمترین تفاوت آنها در این است که حافظه GPU دارای معماری دسترسی غیریکنواخت حافظه است. این دسترسی اجازه میدهد تا برنامهنویسان تصمیم بگیرند که کدام قطعات حافظه را در حافظه GPU نگه دارند و کدام را خارج کنند و بهینهسازی حافظه را بهتر میکند.
نتیجه
پس از مطالعه این مقاله، شباهت ها و تفاوتهای CPU و GPU را بهتر درک خواهید کرد. این مقاله به تفاوتهای معماری بین دو واحد پردازش میپردازد و عملکرد آنها را در سناریوهای استفاده رایج مقایسه میکند.
[…] CPU یا GPU کاملاً به برنامه های در حال اجرا بستگی دارد. اجزای حساس […]
درود و احترام.
بله کاملا درست میباشد.