معرفی CPU و GPU
با محبوبیت روزافزون زمینههایی مانند یادگیری عمیق، مدلسازی/ رندر سهبعدی، بازیهای واقعیت مجازی، و استخراج رمزنگاری، نیازهای محاسباتی مدرن به شدت افزایش یافته است. اجزای سخت افزاری که وظیفه تامین توان محاسباتی را بر عهده دارند در پاسخ به تقاضا تکامل یافته اند. این تکامل به جایی رسید که گاهی اوقات تمایز بین نقش آنها در سیستم کامپیوتری دشوار است.
در توضیحات زیر مروری بر نکات اصلی مقایسه بین 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 را بهتر درک خواهید کرد. این مقاله به تفاوتهای معماری بین دو واحد پردازش میپردازد و عملکرد آنها را در سناریوهای استفاده رایج مقایسه میکند.