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

CPU چیست؟

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

CPU مخفف Central Processing Unit به معنای واحد پردازش مرکزی می‌باشد و به اختصار به آن پردازنده‌ی اصلی و یا پردازنده هم می‌گویند. نام دیگری که تا حدی متداول است، مایکروپراسسور یا ریزپردازنده می‌باشد. علت انتخاب عنوان واحد پردازش مرکزی این است که در سی‌پی‌یو تمام فعالیت‌های اساسی در امر پردازش صورت می‌گیرند که شامل چهار فعالیت اصلی زیر می‌شود:

  • فراخوانی
  • رمزگشایی
  • اجرا
  • بازنویسی

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

برداشت

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

رمزگشایی

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

اجرا

پردازنده بسته به اینکه چه دستوری دریافت کرده باشد یکی از سه عمل زیر را انجام می‌دهد:

  • انجام پیچیده‌ترین محاسبات ریاضی با استفاده از ALU یا واحد محاسبه و منطق
  • انتقال داده از مکانی به مکان دیگر در حافظه
  • جهش به آدرس‌های مختلف در برنامه بنابر تصمیمی که خود پردازنده می‌گیرد

بازنویسی

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

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

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

بنابراین سرعت کلاک یک پردازنده تعداد سیکل‌های کلاک پردازنده در هر ثانیه است. کامپیوترهای معمولی سرعت کلاکی در حدود 2.8 گیگاهرتز دارند، معنای چنین سرعتی این است که در یک ثانیه 2.8 بیلیون سیکل کلاک کامل می‌شود و به عبارت دیگر 2.8 بیلیون دستور اجرا می‌شود.

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

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

امروزه سی‌پی‌یوها بسیار متنوع شده‌اند. برخی کم‌مصرف و بسیار کوچک هستند و تنها یک هسته دارند، سرعت کلاکشان نیز از 1 گیگاهرتز فراتر نمی‌رود. برخی دیگر بسیار بزرگ‌تر بوده و 8 هسته‌ی قدرتمند دارند که به راحتی رکورد سرعت 4 گیگاهرتز را می‌شکنند. در کنار پردازنده‌های مختلف تکنولوژی‌های متنوعی معرفی و به کار گرفته شده است. به عنوان مثال تکنولوژی هایپرتردینگ (Hyper Threading) اینتل که به کمک آن 4 هسته‌ی فیزیکی و واقعی یک پردازنده از دیدگاه سیستم عامل، 8 هسته دیده می‌شود و لذا توان پردازشی پردازنده به بیش از یک پردازنده‌ی 4 هسته‌ای مشابه بدل می‌شود.

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

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

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

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

یک کارت گرافیک معمولی انویدیا دارای 68 هسته است در حالی که یک کارت گرافیک معمولی ای‌ام‌دی حدود 1500 هسته دارد اما در عین حال قدرت پردازش این دو تراشه‌ی گرافیکی تقریباً مشابه است.

انواع GPU

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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