CPU و GPU اجزای جداییناپذیر یک سیستم کامپیوتری هستن که از جهاتی شبیه همدیگه هستن. هر دوی این اجزا شامل میلیاردها ترانزیستور هستن و میتونن هزاران عملیات رو در ثانیه پردازش کنن. با این اوصاف، هر دوی این واحدها نقشهای کاملاً متفاوتی توی یک سیستم کامپیوتری دارن. توی این مقاله از سایت دیفرتو، تفاوت CPU و GPU و نقش اونها توی یک محیط محاسباتی رو مورد بحث قرار میدیم.
CPU چیه؟
هسته پردازش مرکزی یا CPU یک ریزپردازندس که اکثر اجرهای اولیه برنامههای (مجموعه دستورالعملها) ارائه شده توسط نرمافزار کامپیوتر و سایر دستگاههای جانبی متصل به اون رو انجام میده. بیشتر این دستورالعملها به عملیاتهایی مثل حساب، تجزیه و تحلیل، رسم الگوریتمها، کنترل و مدیریت دستورات ورودی و خروجی به کامپیوتر مربوط میشن.
از اونجایی که CPU مسئول انجام تمام عملکردهای اساسی یک کامپیوتره، پس بیشتر بهعنوان مغز ماشین نامیده میشه. CPUها میتونن انواع عملیات محاسباتی و تحلیلی مختلف رو اجرا کنن. برنامه نویسها و توسعهدهندههای نرمافزار برای نوشتن، پردازش و اجرای عملکرد برنامه ریزی شده توی نرمافزار به CPU متکی هستن.
مگه اینکه این برنامهها به قدرت پردازش خیلی بالایی نیاز داشته باشن، اگر نه CPU برای اجرای اکثر برنامهها و دستورالعملها کافیه. به طور کلی، سرعت استاندارد یک CPU بین ۱ تا ۴ گیگاهرتز هست. توی اکثر موارد، CPUها بیش از یک هسته پردازشی دارن که بهعنوان واحد پردازش جداگانه عمل میکنن. با این اوصاف اونها رو میشه با کمک چند ریسگی به واحدهای پردازشی کوچکتر تقسیم کرد.
- مقاله پیشنهادی: تفاوت کامپیوتر با مغز انسان
GPU چیه؟
واحد پردازش گرافیکی یا GPU یک ریزپردازنده منحصر به فرده که برای اجرای وظایف پردازشی خیلی پیچیده تخصص داره. همونطور که از اسمش پیداس، این دستگاه بیشتر برای پردازش گرافیکهای خیلی با وضوح بالا استفاده میشه، اما برنامهنویسها از اون برای پردازش کارهای دیگهای هم که نیاز به محاسبه و کارهایی که مقادیر انبوهی دارن، استفاده میکنن.
از رندر کردن ویدیوهای با کیفیت بالا گرفته تا انجام مکرر عملیات پیچیده ریاضی، GPUها میتونن وظایف مختلفی ر انجام بدن. پردازندههای گرافیکی معمولاً همون سرعت پردازنده رو روی هستههای موجود در پردازندههای مرکزی ارائه نمیدن. پس هر هسته جداگانه توی GPU کندتر از یک هسته در CPU هست.
با این اوصاف پردازندههای گرافیکی با افزایش تعداد هستهها در واحد پردازش، قادر به انجام وظایفی هستن که نیاز به محاسبات بالایی دارن. یک GPU واحد میتونه شامل هزارها هسته باشه که وظایف ریاضی چند بعدی مورد نیاز برای رندر گرافیکی رو تجزیه میکنه و اونها رو به طور موثر اجرا میکنه.
بهعنوان مثال، یک واحد پردازش گرافیکی مثل NVIDIA GTX 1080 یا مدل RTX، ۲۵۶۰ هسته داره. با کمک این هستهها، واحد پردازش میتونه ۲۵۶۰ عملیات رو به طور همزمان در طول یک سیکل ساعت انجام بده. علاوه بر رندر گرافیک، یک GPU برای اجرای الگوریتمهای خیلی پیچیده یادگیری ماشینی هم ضروریه.
این الگوریتمها معمولاً کند هستن، اما پردازندههای گرافیکی برنامهنویسها این امکان رو میده تا با تقویت توانایی محاسباتی ماشینها، مدلهای هوش مصنوعی خودآموز رو آموزش بدن. همچنین پردازندههای گرافیکی میتونن برای پردازش وظایف محاسباتی بزرگ مثل شکستن رمزهای عبور و استخراج ارزهای دیجیتال مفید باشن.
- مقاله پیشنهادی: تفاوت سخت افزار و نرم افزار
فرق بین CPU و GPU چیه؟
تفاوت اصلی بین GPU و CPU اینه که یک CPU اصولاً برای انجام سریع وظایف مختلف طراحی شده (همونطور که با سرعت پردازنده CPU نشون داده میشه). با این حال، تعداد فرایندهایی که ممکنه همزمان انجام بشن محدوده. پردازندههای گرافیکی اغلب برای برنامههای غیر گرافیکی مثل محاسبات علمی استفاده میشن، چون میتونن عملیات موازی رو روی چندین مجموعه داده اجرا کنن. اونها حتی میتونن برای استخراج ارزهای رمزپایه که به کارایی بالایی نیاز دارن، استفاده شن.
پردازندههای گرافیکی موازیسازی فوقالعادهای رو با اجازه دادن به هزاران هستهی پردازشگر برای اجرای همزمان فراهم میکنن. هر هسته به انجام عملیات کارآمد خاصی اختصاص داده میشه. درحالیکه GPUها به دلیل حالت موازی بودنشون میتونن اطلاعات خیلی بیشتری رو سریعتر از CPUها پردازش کنن، GPUها به اندازه CPUها سازگار نیستن.
CPUها مجموعه دستورالعملهای گسترده و جامعی دارن که تمام ورودی و خروجی کامپیوتر رو مدیریت میکنن، کاری که یک GPU نمیتونه انجام بده. یک سرور قدرتمند رو میشه در مجموع به ۳۲ تا ۶۴ هسته پردازنده پرسرعت (هر سرور دو سوکت) مجهز کرد. در طرف دیگه یک GPU برای ارائه گرافیک و ویدئوئی با وضوح بالا در زمان واقعی و همچنین پردازش حجم زیادی از دادهها به صورت موازی ساخته شده.
یک کارت گرافیک میتونه ۷۰۰ تا ۴۰۰۰ هسته روی هر پردازنده گرافیکی داشته باشه. این نشون میده که عملیات موازی عظیم رو میشه با یک GPU انجام داد. با این حال، تک هستههای CPU سریعتر و باهوشتر از هستههای GPU منفرد هستن (همونطور که تعیینکننده سرعت پردازش CPU هستن) که توسط مجموعه دستورالعملهای موجود اندازهگیری میشن.
CPU فقط از چند هسته با حافظه کش زیاد تشکیل شده. پس تنها میتونه چند رشته نرمافزار رو توی یک زمان مدیریت کنه. در طرف دیگه، یک GPU از صدها هسته تشکیل شده که میتونن هزاران اطلاعات ورودی رو به طور همزمان مدیریت کنن.
- پیشنهاد مطالعه: تفاوت Core i7 و Core i9
جدول تفاوت تفاوت CPU با GPU
توی جدول مقایسهای زیر ویژگیهای CPU و GPU رو یکجا جمع کردیم تا درک این تفاوتها برای شما راحتتر بشه:
CPU | GPU |
CPU مخفف “Central Processing Unit” (واحد پردازش مرکزی) هست. | GPU مخفف “Graphics Processing Unit” (واحد پردازش گرافیکی) هست. |
CPU مجموعه دستورالعملهای گستردهتری داره و همه کارهتره و قادر به انجام وظایف متعدده. | GPU مجموعهای محدود از دستورالعملها رو داره و عمدتاً قادر به انجام فعالیتهای مرتبط با گرافیکه. |
از CPU بهعنوان یک پردازنده همه منظوره یاد میشه. | GPU بهعنوان یک پردازنده با هدف خاص شناخته میشه. |
به طور کلی میتونه هر کاری از جمله کارهای گرافیکی رو انجام بده، اما نه به شیوهای بسیار کارآمد. | هدف اصلی GPU پردازش تصاویر و گرافیکهای سه بعدیه و به طور قابل توجهی سریعتر از CPU هست. |
CPU ممکنه حاوی چند هسته قدرتمند برای به انجام راحت حجم کار باشه. | GPU از صدها هسته ضعیفتر برای اجرای فرایند عملیاتی اولیه تشکیل شده. |
سرعت پردازش بالایی داره یعنی با سرعت پردازش بالایی در حدود ۳ تا ۵ گیگاهرتز کار میکنه، اگرچه هستههای پردازشی کمتری داره. | این صدها تا هزاران هسته پردازشی داره و با سرعت پردازش کمتر در حدود ۸۰۰-۱۰۰۰ مگاهرتز کار میکنه. |
CPU در مقایسه با GPU به رم حافظه اضافی نیاز داره. | نسبت به CPU به رم نسبتا کمتری نیاز داره. به همین دلیله که GPUهای یکپارچه رم رو با CPU به اشتراک میذارن. |
CPU در درجه اول با دستیابی به تأخیر کم (فاصله زمانی بین دستورالعملها و انتقال داده) سروکار داره. | GPU روی دستیابی به بالاترین توان ممکن (موازی سازی، مجموع اجرای دستورالعملها در یک بازه زمانی) تمرکز میکنه. |
CPU برای اجرای دستورات متوالی طراحی شده. | GPU برای اجرای دستورالعملهای موازی طراحی شده. |
CPU روی محاسبه هر دادهای که دریافت میشه تمرکز میکنه. | در طرف دیگه، GPU اطلاعات رو از CPU دریافت میکنه و تصاویر بصری تولید میکنه. |
برای انجام دستورالعملها، با اجزای مختلف کامپیوتر از جمله RAM، ROM و پورتهای I/O تعامل داره. | برای نمایش پیکسل روی مانیتور، GPU تنها با حافظه و بخش نمایشگر تعامل داره. |
جمعبندی
CPU و GPU دو واحد پردازشگر جداگانه هستن که توی یک سیستم کامپیوتری به یک اندازه اهمیت دارن. کد تولید شده توسط هر یک از این دستگاهها با کد ایجاد شده از دستگاه دیگه ناسازگاره یعنی کد تولیدی CPU با کد تولیدی GPU همخوانی نداره و هیچ یک از این دستگاهها رو نمیشه توی یک کامپیوتر با دیگری جایگزین کرد.
CPU برای انجام سریع طیف وسیعی از وظایف و دستورالعملها تا حد زیادی بهتره و بهترین عملکرد رو توی هر هسته داره. GPU برای دستورالعملهای اساسی که باید به طور مکرر تکرار بشن مثل تولید تصویر، رندر سه بعدی و انیمیشن ایده آله. با این حال، توی GPU به دلیل وجود صدها هسته، این قطعه میتونه دادههای عظیم رو همزمان با هم پردازش کنه.
مقالات دیگه ما در مورد کامپیوتر رو هم بخونید:
به نظر شما فرق CPU و GPU که در این مقاله توضیح داده شد، درست بوده؟ اگر شما اطلاعات بیشتری از تفاوت بین CPU و GPU میدونید یا فکر میکنید تعریف دقیقتری وجود داره، حتما در بخش نظرات، برای ما ارسال کنید تا مقاله رو اصلاح و تکمیل کنیم.
منابع: