GPU چیست؟

پردازنده‌ی گرافیکی یا GPU ج پی یو چیست؟

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

تفاوت پردازنده‌ی گرافیکی و پردازنده‌ی اصلی یا به عبارت ساده‌تر CPU و GPU در این است که پردازنده‌ی گرافیکی در پردازش مقدار زیادی داده استاد است چرا که باید حداقل میلیون‌ها و بلکه بیلیون‌ها محاسبه را تنها در ۱ ثانیه انجام دهد.

تعداد هسته‌های GPU بسته به سازنده‌ی آن متفاوت است. انویدیا و ای‌ام‌دی دو تولیدکننده‌ی بزرگ تراشه‌ی گرافیکی برای کامپیوترها هستند و دو سبک متفاوت در طراحی واحد پردازش گرافیکی انتخاب کرده‌اند. انویدیا سعی می‌کند توان بیشتری را در هسته‌های کمتری متمرکز کند در حالی که ای‌ام‌دی برای افزایش قدرت پردازش سعی کرده از هسته‌های بیشتر با توان کمتر استفاده کند.

یک کارت گرافیک معمولی انویدیا دارای ۶۸ هسته است در حالی که یک کارت گرافیک معمولی ای‌ام‌دی حدود ۱۵۰۰ هسته دارد اما در عین حال قدرت پردازش این دو تراشه‌ی گرافیکی تقریباً مشابه است.

انواع GPU

واحد پردازش گرافیکی در متداول‌ترین شکل خود یک کارت گرافیک است که عموم کاربران با آن آشنایی دارند. کارت گرافیک را می‌توان در شکاف پی‌سی‌آی اکسپرس (یا در گذشته ای‌جی‌پی) مادربورد قرار داد و از آن استفاده کرد.

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

شیوه‌ی امروزی‌تر طراحی واحد پردازش گرافیکی چیزی است که به وجود APUها منجر شده و در ادامه به آن می‌پردازیم.

APU چیست ؟

ای‌پی‌یو چیست؟

حالا نوبت به پردازنده‌های جدیدی که ترکیبی از دو هستند، می‌رسد. APU مخفف Accelerated Processing Unit به معنای واحد پردازش شتاب‌یافته است و از ترکیب اجزای مختلف یک CPU و یک GPU به دست آمده است. در ای‌پی‌یو حداقل ۱۶ انشعاب PCI Express برای سایر وسایلی که از این شکاف استفاده می‌کنند پیش‌بینی شده و دیگر به تراشه‌ی پل شمالی روی مادربورد نیازی نیست. به طور خلاصه اگر هسته‌های پردازنده‌ی گرافیکی را به سی‌پی‌یو اضافه کنیم و حافظه‌ی کش سی‌پی‌یو را با آن به اشتراک بگذاریم، یک ای‌پی‌یوی جمع و جور به دست می‌آید. البته معماری و طرز کار ای‌پی‌یو به این سادگی نیست و بحث بسیار مفصل و پیچیده‌تری می‌باشد.

اما سوال ساده‌ای که ما کاربران همیشه می‌پرسیم: مزیت ای‌پی‌یو نسبت به یک سی‌پی‌یو و یک کارت گرافیک جداگانه چیست؟ شاید ای‌ام‌دی با شروع این حرکت سعی در جذب مشتری داشته و مزیت چندانی در آن وجود نداشته باشد. اما خوشبختانه پاسخ این نیست و مزایای زیادی در ای‌پی‌یو‌ها جمع شده است.

اولین مسأله‌ای که در مورد ای‌پی‌یو به نظرمان می‌رسد این است که به علت راحت بودن ارتباط دو پردازنده‌ی اصلی و گرافیکی، انجام فعالیت‌ها ساده شده و توان پردازشی ای‌پی‌یو بهینه می‌شود. به عنوان مثال پردازنده‌های جدید اینتل با پردازنده‌ی گرافیکی مجتمع HD 3000 یا ۴۰۰۰، حدود ۲ تا ۳ برابر سریع‌تر از پردازنده‌های قبلی هستند که پردازنده‌ی گرافیکیشان روی قالب پردازنده‌ی اصلی قرار می‌گرفت اما با آن یکپارچه نبود. توجه کنید در ای‌پی‌یو دو تراشه‌ی مجزا در کنار هم نیستند بلکه یکپارچه شده‌اند.

مزیت دوم برخورداری از قابلیت‌ها و امکانات خاصی مثل تکنولوژی کوییک‌سینک (QuickSync) اینتل برای رمزگشایی و رمزگذاری ویدیو است. می‌توان برخی محاسبات مثل محاسبات اعداد ممیز شناور را توسط پردازنده‌ی گرافیکی انجام داد که برای چنین کارهایی مناسب‌تر و تواناتر از پردازنده‌ی اصلی است.

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

یکی از مهم‌ترین مزایا هم قیمت است، این پردازنده‌ها ارزان‌تر از یک سی‌پی‌یو و کارت گرافیک جداگانه هستند چرا که سیلیکون کمتری برای تولید آن‌ها مصرف می‌شود.

در مجموع می‌توان گفت که یک ای‌پی‌یو جایگزینی خوبی برای کارت گرافیک رده پایین و سی‌پی‌یو است.

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

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

ای‌پی‌یوها را می‌توان در همه نوع کامپیوتر به کار برد ولیکن بیشتر برای وسایل همراه، لپ‌تاپ‌ها و دستاپ‌های کم‌مصرف و ضعیف توصیه می‌شوند.

انواع ای‌پی‌یو

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

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

در مورد ای‌ام‌دی هم اوضاع به نفع ای‌پی‌یوها پیش می‌رود به این صورت که تا انتهای سال جاری تمام سی‌پی‌یوهای این کمپانی به ای‌پی‌یو تبدیل می‌شوند. ممکن است ای‌ام‌دی هم مثل اینتل از همان واژه‌ی قدیمی سی‌پی‌یو برای محصولاتش استفاده کند.

در این میان بزرگ‌ترین تولیدکننده‌ی کارت گرافیک یعنی انویدیا هم بی کار ننشسته و قصد تولید پردازنده‌های مبتنی بر ARM برای دستاپ را دارد که خود نوعی ای‌پی‌یو به حساب می‌آیند.

RAID های استاندارد

گفتیم که تکنولوژی رید (RAID) می‌تواند به صورت‌های مختلفی پیاده سازی شود. در RAID ما ۷ مرحله/استاندارد/روش پخش داریم که عبارت اند از:

RAID0

تکنولوژی RAID0 که به striping نیز معروف است، روشی است که داده‌ها تکه تکه شده و هر تکه در یک دیسک ذخیره می‌شود. در نهایت سرعت خواندن/نوشتن n برابر بیشتر خواهد شد (n = تعداد هاردها). با این که سرعت در این روش بسیار زیاد اما با از دست رفتن یکی از هاردها، کل اطلاعات غیرقابل استفاده خواهد شد. به عبارت دیگر، هیچ تکنولوژی بازیابی و تصحیح خطا در رید ۰ استفاده نشده و احتمال آسیب دیدن کل مجموعه برابر جمع احتمال کل هارد دیسک ها خواهد بود.

این گونه سیستم‌ها برای اطلاعات حساس به هیچ وجه مناسب نیست با این حال اگر سرعت خواندن و نوشتن مهم باشد (مثلاً در کامپیوترهای گیمینگ و جاهایی که داده‌های مهمی وجود ندارد) بسیار پرکاربرد و بهینه خواهد بود.

RAID1

تکنولوژی RAID1 که به mirror نیز معروف است، روشی است که عین داده‌ها، به صورت همزمان در دیسک دیگر کپی می‌شود. به عبارت دیگر از اطلاعات به صورت همزمان یک نسخه پشتیبان (Backup) تهیه می‌شود. سرعت خواندن نوشتن در این مجموعه افزایش نیافته اما امکان بازیابی اطلاعات بسیار زیاد خواهد بود. سرعت نوشتن در این مجموعه برابر سرعت کند ترین هارد و سرعت خواندن برابر جمع سرعت هارد هاست (چون به صورت تکه تکه قابل خواندن است).

این گونه سیستم‌ها برای اطلاعات حساس و جاهایی که ثبات در خواندن و سرعت خواندن بیشتر از ثبات در نوشتن باشد بسیار به درد بخور خواهد بود.

RAID2

تکنولوژی RAID2 که به ندرت استفاده شده و در ان بیت‌ها بجای تکه داده‌ها ذخیره می‌شوند. به عنوان تصحیح خطا، از همینگ کد (Hamming Code) که در تصویر زیر به صورت (hc) نوشته ایم، استفاده می‌کند.

به دلیل این که امروزه خود هارد دیسک‌ها از Error Correcting Code ها استفاده می‌کنند، نیازی به پیاده سازی این چنین کدهای بازیابی خطا وجود ندارد. با این حال، چون در سطح بیت کار می‌کند، سرعت انتقال بسیار بالایی داشته و نمی‌تواند چندین درخواست را همزمان انجام دهد.

دلیل وجود ۳ دیسک بازیابی برای ۴ دیسک داده، استفاده از کدهای همینگ است.

RAID3

تکنولوژی RAID3 نیز مانند RAID2 به صورت نادر استفاده می‌شود چون نحوه کار در این حالت به صورت بایت و نه تکه‌های فایل است. وجود یک دیسک با عنوان بیت‌های توازن (Parity) که در شکل‌های زیر با عنوان p نشان داده شده است، امکان بازیابی اطلاعات را در صورت از دست رفتن یک دیسک فراهم می‌کند.

این سیستم نیز مانند RAID2 قادر به هندل کردن چندین درخواست همزمان نخواهد بود ولی سرعت انتقال داده آن بالا خواهد بود.

RAID4

RAID4 تقریباً مانند RAID3 است با این تفاوت که بجای بایت داده‌ها، بلوک یا همان تکه داده‌ها ذخیره می‌شوند و مثل RAID3 دارای یک دیسک اختصاصی به عنوان بیت‌های توازن برای بازیابی است.

به دلیل ذخیره کردن همه بیت‌های توازن بازیابی در یک دیسک، آن دیسک بسیار فعال بوده و درخواست ذخیره داده‌های جدید باید در صف نوشتن قرار گیرند. به این ترتیب سرعت نوشتن داده‌ها کم بوده ولی سرعت خواندن مناسبی دارد.

RAID5

تکنولوژی RAID5 به سرعت جایگزین RAID3 و RAID4 شد. همانطور که در شکل زیر مشخص کرده ایم، بیت‌های توازنی که برای بازیابی استفاده می‌شوند، به گونه‌ای بر روی هاردها ذخیره می‌شوند که برای نوشتنشان، نیازی به صف بندی وجود نداشته باشد. سرعت خواندن و نوشتن این سیستم بسیار بالا بوده و در آن داده‌ها در سطح بلوک (قطعه داده‌ها) و نه بیت و بایت هندل می‌شوند.

در این سیستم با از دست رفتن یک هارد، اطلاعات می‌توانند به سادگی بازیابی شوند.

RAID6

RAID6 نسخه گسترش یافته RAID5 است با این تفاوت که در این سیستم با از دست رفتن حتی ۲ هارد، امکان بازیابی اطلاعات وجود خواهد داشت. دلیلش هم استفاده از یک هارد دیگر به عنوان بیت توازن‌های اضافی (در شکل زیر با q مشخص کرده ایم) است. مثل RAID5 در سطح بلوک داده‌ها مدیریت می‌شوند با این حال به دلیل وجود یک دیسک بیشتر، سرعت خواندن و نوشتن نسبت به RAID5 کاهش یافته و امکان بازیابی افزایش می‌یابد.