تفاوت CPU و GPU

نویسنده: رضا امیرخانی
بازدید: 1068 نفر
به روز رسانی:

SoC های هوشمند تلفن های هوشمند مدرن با بسیاری از اجزای پردازش مختلف پر شده اند ، اما دو مورد معمولاً مورد استفاده قرار می گیرند: واحد پردازش مرکزی (CPU) و واحد پردازش گرافیک (GPU). در حالی که کلمات اختصاری ممکن است مشابه باشند و هر دو مورد از طریق داده های زیادی جابجا می شوند ، اما تفاوت های عمده ای بین GPU و CPU وجود دارد.

قبل از توضیح تفاوت های اصلی GPU و CPU ، بیایید با برخی از مفاهیم اصلی مشترک شروع کنیم.

هسته های CPU و GPU جداگانه از مجموعه ای از بلوک ها ساخته شده اند که هر کدام وظایف خاصی را که پردازنده باید انجام دهد انجام می دهد. این بلوک ها بسته به ریز معماری در اندازه تغییر می کنند. یک نوع واحد مشترک یک واحد منطقی حساب (ALU) است که عملیات ریاضی مانند جمع و ضرب را انجام می دهد. سایر واحدهای ویژگی مشترک شامل کنترل کننده های دسترسی حافظه (load / store) و رمزگشاهای دستورالعمل و حافظه پنهان است. با این حال ، شباهت ها در اینجا پایان می یابد. بیایید بیشتر به مفاهیم اصلی GPU و CPU بپردازیم.

پردازنده چیست؟

برای توضیح ساده تر میتوان گفت پردازنده مانند یک مغز برای تلفن همراه کار میکند.

پردازنده ها اغلب در چندین پیکربندی اصلی تولید می شوند ، از چهار تا هشت هسته ای در تلفن همراه و 16 و بالاتر در محیط دسک تاپ و سرور. طراحی های چند هسته ای CPU امکان اجرای همزمان چندین برنامه و موضوع را فراهم می کند و باعث بهبود بهره وری انرژی و قابلیت های عملکردی می شود. هر هسته پردازنده با سرعت کلاک معمولاً بین 2 تا 3 گیگاهرتز در تلفن همراه و تا 5 گیگاهرتز در داخل دسک تاپ کار خواهد کرد. پردازنده ها همچنین می توانند با مقادیر مختلفی از حافظه کش پرسرعت برای ذخیره دستورالعمل ها و داده هایی که در حال حاضر استفاده می شوند ، پیکربندی شوند که به عنوان حافظه پنهان شناخته می شوند. حافظه پنهان می تواند برای هر هسته پردازنده جداگانه باشد یا بین هسته های پردازنده مشترک باشد و برای سرعت بخشیدن به اجرا و جابجایی بین کارها ضروری است

در داخل بیشتر پردازنده های مدرن ، چندین ALU پیدا خواهید کرد که برای جمع کردن اعداد طراحی شده اند. این قسمت عمده ای از تعداد ترانزیستور را تشکیل می دهد. پردازنده ها همچنین حافظه مجازی را برای همه برنامه هایی که اجرا می کنید کنترل و مرتب می کنند ، و آنها را به ابزارهای اساسی برای اجرای سیستم عامل تبدیل می کند. پردازنده ها همچنین شامل پیش بینی های شاخه هستند که به آینده می پردازند تا داده ها و دستورالعمل هایی را که در آینده بسیار نزدیک مورد نیاز است پیش بینی کنند. این در واکشی زمان از رم کمتری صرفه جویی می کند و مفید است زیرا بار کاری CPU اغلب شامل حلقه ها و دستورات “اگر” است که می تواند به سرعت به یک کد جدید تبدیل شود. در بسیاری از طراحی های مدرن GPU پیش بینی های شاخه را پیدا نخواهید کرد زیرا حجم کار آنها بسیار قطعی تر است.

GPU چیست؟

همانطور که قبلاً اشاره کردیم ، در GPU پیش بینی شاخه ای پیدا نخواهید کرد زیرا ماهیت حجم کار متفاوت است. این کلید درک تفاوت GPU و CPU است. در حالی که پردازنده های مرکزی به گونه ای طراحی شده اند که کمی از همه کارها را بر عهده دارند ، پردازنده های گرافیکی با هدف کاملاً مشخصی ساخته می شوند – پردازش داده های موازی برای پردازش گرافیک سه بعدی. آنها به گونه ای طراحی شده اند که در این کار بسیار سریعتر و کارآمدتر عمل می کنند ، اما در دامنه کار خود انعطاف پذیر نیستند.

هسته های GPU دارای یک یا چند ALU هستند ، اما کاملاً متفاوت با CPU ALU پایه طراحی شده اند. به جای اینکه همزمان یک یا دو عدد را کنترل کنید ، پردازنده های گرافیکی همزمان 8 ، 16 یا حتی 32 کار را انجام می دهند. علاوه بر این ، هسته های GPU می توانند از ده ها یا صدها هسته جداگانه ALU تشکیل شده باشند ، به آنها امکان می دهد هزاران عدد را همزمان محاسبه کنند. این هنگامی که میلیون ها پیکسل برای سایه انداختن روی یک صفحه نمایش با وضوح بالا دارید بسیار سودمند است .

معماری های GPU به گونه ای طراحی شده اند که بسیاری از انواع داده های مشابه را با هم و با استفاده از دستورالعمل های واحد برای اشاره به مقدار انبوه داده ها ، همزمان انتقال دهند. در همین حال ، دستورالعمل های CPU عمدتا فقط به دو نقطه داده همزمان مراجعه می کنند.

سرعت کلاک GPU معمولاً کمتر از سرعت CPU است که اغلب صدها مگاهرتز یا گیگاهرتز کم است. این به دلیل محدودیت های گرما و توان است ، زیرا پردازش موازی به ترانزیستورهای بیشتری نیاز دارد تا آنچه را که شما در یک ALU پردازنده پیدا خواهید کرد. همچنین باید توجه داشته باشیم که ریاضیات توده ای می تواند مواردی فراتر از ارائه گرافیکی باشد. رندر ویدئو ، الگوریتم های یادگیری ماشین مانند تشخیص شی al و الگوریتم های رمزنگاری نیز می توانند در GPU موازی در مقابل سخت افزار CPU محدودتر ، بسیار سریعتر اجرا شوند.

 

به طور خلاصه GPU در مقابل CPU

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

نکته نهایی این است که اگرچه هر دو پردازنده و پردازنده گرافیکی از ترانزیستور ساخته شده و داده ها و اعداد را پردازش می کنند ، اما هر دو برای اهداف منحصر به فرد بهینه شده اند. خوشبختانه ، SoC ها با ادغام این واحدهای پردازشی و بسیاری واحدهای دیگر در کنار یکدیگر این امکان را میدهند که فضای کم تری اشغال شود


نظرتان را به اشتراک بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *