در این نوشته به این پرسش پاسخ میدهیم که CPU چیست و سایر مباحث مهم مربوط به واحد پردازش مرکزی را شرح خواهیم داد.
CPU چیست؟
پردازندۀ مرکزی یا CPU، مغز کامپیوتر است. این بخش وظیفۀ تخصیص و پردازش وظایف و مدیریت عملکردهای اساسی را در تمام انواع کامپیوترها بر عهده دارد. انواع CPU بر اساس نوع تراشهای دستهبندی میشوند که برای پردازش دادهها استفاده میکنند.
طیف گستردهای از پردازندهها و ریزپردازندهها در بازار موجود است و همواره پردازندههای قدرتمند جدیدی در حال توسعه هستند. قدرت پردازشی که CPUها ارائه میدهند، کامپیوترها را قادر میسازد تا فعالیتهای چندوظیفهای را انجام دهند. پیش از بررسی انواع CPUهای موجود، بهتر است برخی اصطلاحات اساسی را توضیح دهیم که برای درک انواع CPU ضروری هستند.
اصطلاحهای مهم مربوط به CPU چیست؟
پردازنده CPU از اجزای متعددی تشکیل شده است، اما برخی از این بخشها در عملکرد و درک ما از نحوه کار پردازندهها اهمیت ویژهای دارند در این بخش به شرح هر یک از اصطلاحهای مهم پیرامون CPU میپردازیم.
کش Cache در CPU چیست؟
در دنیای بازیابی اطلاعات، حافظههای پنهان یا همان Cacheها نقشی حیاتی ایفا میکنند. این حافظهها محلی برای ذخیرهسازی هستند که به دلیل موقعیت مکانیشان، دسترسی سریع به دادههای اخیراً استفاده شده را امکانپذیر میسازند. حافظههای پنهان، دادهها را در بخشهایی از حافظه ذخیره میکنند که مستقیماً روی تراشه پردازنده ساخته شدهاند. این امر باعث میشود سرعت بازیابی اطلاعات حتی از حافظه رم (RAM) نیز بیشتر شود. حافظههای پنهان میتوانند از طریق توسعه نرمافزار یا قطعات سختافزاری ایجاد شوند.
Clock Speed در CPU چیست؟
تمام کامپیوترها مجهز به یک ساعت (Clock) داخلی هستند که سرعت و تناوب عملیات کامپیوتر را تنظیم میکند. این ساعت، مدارهای پردازنده CPU را از طریق ارسال پالسهای الکتریکی مدیریت میکند. نرخ ارسال این پالسها را سرعت ساعت یا همان Clock Speed مینامند که با واحد هرتز (Hz) یا مگاهرتز (MHz) اندازهگیری میشود. به طور سُنتی، یکی از روشهای افزایش سرعت پردازش، تنظیم ساعت برای کار با سرعتی بالاتر از حالت عادی بوده است.
Core یا هسته CPU چیست؟
هستهها در واقع نقش پردازنده درون پردازنده را ایفا میکنند. این واحدهای پردازشی وظیفه خواندن و اجرای دستورالعملهای مختلف برنامهها را بر عهده دارند. پردازندهها بر اساس تعداد هستههای تعبیه شده در آنها طبقهبندی میشوند. پردازندههای چندهستهای قادرند دستورالعملها را به مراتب سریعتر از پردازندههای تکهستهای پردازش کنند. (نکته: اصطلاح «Intel® Core™» بهصورت تجاری برای بازاریابی خط تولید پردازندههای چندهستهای اینتل استفاده میشود.)
رشته Thread در CPU
رشتهها کوتاهترین دنبالههای دستورالعملهای قابل برنامهریزی هستند که زمانبند سیستمعامل میتواند به صورت مستقل مدیریت کرده و برای پردازش به CPU ارسال کند. از طریق چندنخی (multithreading) – یعنی استفاده از چندین رشته به طور همزمان – یک فرایند کامپیوتری میتواند بهصورت موازی اجرا شود. فراچندنخی (Hyper-threading) به فناوری اختصاصی اینتل برای چندنخی کردن و موازیسازی محاسبات اشاره دارد.
سایر اجزای CPU
علاوه بر اجزای ذکر شده، پردازندههای مدرن معمولاً شامل بخشهای زیر نیز هستند:
- «واحد محاسبه و منطق (ALU)»: این واحد تمام عملیات محاسباتی و منطقی را انجام میدهد. این عملیات شامل معادلات ریاضی و مقایسههای مبتنی بر منطق میشود. هر ۲ نوع این عملیات با اقدامات خاصی در کامپیوتر مرتبط هستند.
- «گذرگاهها (Buses)»: گذرگاهها وظیفه دارند انتقال و جریان صحیح دادهها بین اجزای مختلف سیستم کامپیوتر را تضمین کنند.
- «واحد کنترل (Control Unit)»: این واحد شامل مدارهای پیچیدهای است که سیستم کامپیوتر را از طریق صدور مجموعهای از پالسهای الکتریکی کنترل میکند و به سیستم دستور میدهد تا دستورالعملهای سطح بالای کامپیوتر را اجرا کند.
- «ثبات و اشارهگر دستورالعمل (Instruction register and pointer)»: این بخش موقعیت مجموعه دستورالعمل بعدی را نشان میدهد که باید توسط پردازنده اجرا شود.
- «واحد حافظه (Memory unit)»: این واحد مدیریت استفاده از حافظه و جریان دادهها بین حافظه رم و پردازنده را بر عهده دارد. همچنین، واحد حافظه بر نحوه مدیریت حافظه پنهان (Cache) نظارت میکند.
- «ثباتها (Registers)»: ثباتها حافظه دائمی داخلی را برای نیازهای دادهای ثابت و تکراری که باید به طور منظم و فوری پردازش شوند، فراهم میکنند.
CPU چطور کار میکند؟
پردازندهها از نوعی چرخه تکرارشونده دستورات استفاده میکنند که توسط واحد کنترل و با همکاری ساعت سیستم، که وظیفه هماهنگسازی را بر عهده دارد، مدیریت میشود. عملکرد یک پردازنده طبق چرخهای مشخص (به نام چرخه دستورالعمل پردازنده) انجام میشود. این چرخه تعداد معینی تکرار را تعیین میکند و این همان تعداد دفعاتی است که دستورالعملهای اساسی محاسباتی، با توجه به قدرت پردازشی آن کامپیوتر، تکرار خواهند شد. ۳ دستورالعمل اساسی محاسباتی به شرح زیر است:
- «واکشی (Fetch)»: واکشی هر زمان که دادهای از حافظه بازیابی میشود، رخ میدهد.
- «رمزگشایی (Decode)»: دیکُدِر درون پردازنده، دستورالعملهای باینری را به سیگنالهای الکتریکی ترجمه میکند. این سیگنالها با سایر بخشهای پردازنده تعامل میکنند.
- «اجرا (Execute)»: اجرا زمانی رخ میدهد که کامپیوتر مجموعه دستورالعملهای برنامهای را تفسیر و اجرا میکند.
تلاشهای اولیه برای افزایش سرعت پردازش، برخی از کاربران کامپیوتر را به سمت دور زدن مراحل معمول برای ایجاد عملکرد پرسرعت سوق داده است. این مراحل معمولاً نیازمند افزودن هستههای حافظه بیشتر هستند. در عوض، این کاربران ساعت کامپیوتر را طوری تنظیم میکنند که سریعتر از حالت عادی کار کند. فرآیند «اورکلاکینگ» (Overclocking) شباهت زیادی به «جیلبریک» (Jailbreak) کردن گوشیهای هوشمند دارد که با هدف تغییر عملکرد آنها انجام میشود. متأسفانه، درست مانند جیلبریک کردن یک گوشی هوشمند، چنین دستکاریهایی میتواند به دستگاه آسیب برساند و به شدت مورد مخالفت سازندگان CPU است.
انواع CPU چیست؟
پردازندهها بر اساس نوع پردازنده یا ریزپردازندهای که آنها را هدایت میکند، تعریف میشوند. انواع CPU به شرح زیر است:
- «پردازنده تکهستهای»: یک پردازنده تکهستهای، ریزپردازندهای است که تنها یک CPU روی تراشه خود دارد (تراشه همان ماده سیلیکونی است که چیپها و ریزچیپها به آن متصل میشوند). پردازندههای تکهستهای معمولاً کندتر از پردازندههای چندهستهای عمل میکنند، تنها روی یک رشته کار میکنند و چرخه دستورالعمل را فقط یک بار در هر زمان انجام میدهند. این نوع پردازندهها برای محاسبات عمومی مناسبتر هستند.
- «پردازنده چندهستهای (Multi-core)»: پردازنده چندهستهای به ۲ یا چند بخش از فعالیت تقسیم میشود که هر هسته دستورالعملها را طوری اجرا میکند که انگار کامپیوترهای کاملاً مجزایی هستند، اگرچه از نظر فنی این بخشها روی یک تراشه واحد قرار دارند. برای بسیاری از برنامههای کامپیوتری، یک پردازنده چندهستهای، خروجی بهتر و با کارایی بالاتری را ارائه میدهد.
- «پردازنده تعبیه شده (Embedded Processor)»: یک پردازنده Embedded، ریزپردازندهای است که به طور خاص برای استفاده در سیستمهای تعبیه شده طراحی شده است. سیستمهای تعبیه شده کوچک هستند و برای مصرف انرژی کمتر و قرار گرفتن درون پردازنده برای دسترسی فوری به دادهها طراحی شدهاند. پردازندههای تعبیه شده شامل ریزپردازندهها و ریزکنترلکنندهها میشوند.
- «پردازنده دو هستهای (Dual-core)»: پردازنده ۲ هستهای، نوعی پردازنده چندهستهای است که دارای ۲ ریزپردازنده است که به طور مستقل از یکدیگر عمل میکنند.
- «پردازنده چهار هستهای (Quad-core)»: پردازنده ۴ هستهای، پردازنده چندهستهای است که ۴ ریزپردازنده دارد که به طور مستقل کار میکنند.
- «پردازنده هشت هستهای (Octa-core)»: پردازنده ۸ هستهای، پردازنده چندهستهای است که ۸ ریزپردازنده دارد که به طور مستقل عمل میکنند.
- «پردازنده ده هستهای (Deca-core)»: یک پردازنده ۱۰ هستهای، مدار یکپارچهای است که ۱۰ هسته روی یک تراشه یا در هر بسته دارد.
مفاهیم مرتبط با CPU و پردازنده
در این بخش برخی از مفاهیم مهم پیرامون CPU و پردازنده را شرح میدهیم.
واحد پردازنده گرافیکی GPU چیست؟
اگرچه در عبارت «واحد پردازش گرافیکی» کلمه «گرافیک» به کار رفته، اما این نامگذاری بهتنهایی گویای ماهیت اصلی GPUها نیست. در واقع، ویژگی اصلی GPUها سرعت بالای آنهاست. این سرعت بالا باعث میشود که پردازش گرافیکهای کامپیوتری شتاب بگیرد.
GPU نوعی مدار الکترونیکی است که در ابتدا برای استفاده در کامپیوترهای شخصی، گوشیهای هوشمند و کنسولهای بازی طراحی شد. اما امروزه کاربردهای GPU فراتر از شتابدهی گرافیک است. بهعنوان مثال، از GPUها در استخراج ارزهای دیجیتال و آموزش شبکههای عصبی نیز استفاده میشود.
ریزپردازنده در CPU چیست؟
تلاش برای کوچکسازی کامپیوترها زمانی به اوج خود رسید که دانشمندان علوم کامپیوتر موفق شدند CPU را آنقدر کوچک کنند که بتواند درون یک تراشه مدار مجتمع کوچک جای بگیرد. این تراشه کوچک را ریزپردازنده مینامند. ریزپردازندهها بر اساس تعداد هستههایی که پشتیبانی میکنند، دستهبندی میشوند.
هسته CPU را میتوان «مغزی درون مغز» نامید. در واقع، هسته به عنوان واحد پردازش فیزیکی درون CPU عمل میکند. ریزپردازندهها میتوانند شامل چندین پردازنده باشند. از سوی دیگر، هسته فیزیکی در واقع یک CPU است که مستقیماً روی تراشه ساخته شده، اما تنها یک سوکت را اشغال میکند. این ویژگی به سایر هستههای فیزیکی اجازه میدهد تا از همان محیط محاسباتی استفاده کنند.
دستگاههای خروجی و ارتباط با CPU
بدون وجود دستگاههای خروجی که دستورالعملهای CPU را اجرا میکنند، محاسبات کامپیوتری بسیار محدود میشد. این دستگاهها شامل تجهیزات جانبی هستند که به بخش خارجی کامپیوتر متصل میشوند و قابلیتهای آن را به میزان قابل توجهی افزایش میدهند.
تجهیزات جانبی، ابزارهایی هستند که به کاربر امکان میدهند با کامپیوتر تعامل داشته باشد و دستورالعملها را مطابق خواسته خود پردازش کند. این تجهیزات شامل ملزومات اساسی میز کار مانند صفحهکلید، ماوس، اسکنر و چاپگر میشوند.
البته تجهیزات جانبی تنها اتصالات رایج در کامپیوترهای مدرن نیستند. دستگاههای ورودی/خروجی نیز به طور گستردهای مورد استفاده قرار میگیرند. این دستگاهها هم اطلاعات را دریافت میکنند و هم آنها را انتقال میدهند. دوربینهای ویدئویی و میکروفونها نمونههایی از این دستگاهها هستند.
مصرف انرژی CPU
مصرف انرژی بر چندین مسئله تأثیر میگذارد. یکی از این مسائل، میزان گرمای تولید شده توسط پردازندههای چندهستهای است و اینکه چگونه میتوان گرمای اضافی را از این دستگاهها دفع کرد تا پردازنده کامپیوتر نه از نظر حرارتی محافظت شود. به همین دلیل، مراکز داده مقیاس بزرگ (که هزاران سرور را در خود جای داده و استفاده میکنند) با سیستمهای تهویه مطبوع و خنککننده گسترده طراحی میشوند.
همچنین، مسائل مربوط به پایداری محیط زیست نیز مطرح است، حتی اگر درباره تعداد کمی کامپیوتر صحبت کنیم، نه چند هزار دستگاه. هر چه کامپیوتر و پردازندههای آن قدرتمندتر باشند، انرژی بیشتری برای پشتیبانی از عملکرد آنها مورد نیاز خواهد بود. در برخی موارد بزرگمقیاس، این مقدار میتواند به گیگاهرتز (GHz) قدرت محاسباتی برسد.
تراشههای تخصصی
هوش مصنوعی (AI) که عمیقترین تحول در دنیای کامپیوتر از زمان پیدایش آن محسوب میشود، اکنون بر اکثر (اگر نگوییم تمام) محیطهای کامپیوتری تأثیر گذاشته است. یکی از تحولاتی که در حوزه پردازندهها شاهد آن هستیم، ایجاد پردازندههای تخصصی است که به طور ویژه برای مدیریت حجم کاری بزرگ و پیچیده مرتبط با هوش مصنوعی (یا سایر اهداف تخصصی) ساخته شدهاند:
- از جمله این تجهیزات میتوان به پردازنده جریان تنسور (TSP) اشاره کرد که علاوه بر کاربردهای هوش مصنوعی، وظایف یادگیری ماشینی (ML) را نیز انجام میدهد. محصولات دیگری که به همین اندازه برای کارهای هوش مصنوعی مناسب هستند عبارتند از پردازنده ۶۴ هستهای AMD Ryzen Threadripper™ 3990X و پردازنده رومیزی Intel Core i9-13900KS که از ۲۴ هسته استفاده میکند.
- برای کاربردهایی مانند ویرایش ویدیو، بسیاری از کاربران پردازنده ۲۰ هستهای و ۲۸ رشتهای Intel Core i7 14700KF را انتخاب میکنند. برخی دیگر Ryzen 9 7900X را ترجیح میدهند که بهترین پردازنده AMD برای اهداف ویرایش ویدیو محسوب میشود.
- در زمینه پردازندههای بازیهای ویدیویی، AMD Ryzen 7 5800X3D از فناوری 3D V-Cache بهره میبرد که به ارتقا و تسریع گرافیک بازیها کمک میکند.
- برای محاسبات عمومی، مانند اجرای سیستمعاملهایی مثل ویندوز یا مرور وبسایتهای چندرسانهای، هر پردازنده جدید AMD یا Intel به راحتی از پس وظایف روزمره برمیآید.
جمعبندی
در این مقاله، ما به بررسی جامع واحد پردازش مرکزی (CPU) پرداختیم. از تعریف پایهای CPU به عنوان “مغز کامپیوتر” شروع کردیم و سپس به شرح اجزای کلیدی آن مانند کش، سرعت ساعت، هستهها و رشتهها پرداختیم. همچنین نحوه عملکرد CPU را با توضیح چرخه دستورالعمل پردازنده شرح دادیم. انواع مختلف CPU از جمله تکهستهای، چندهستهای و پردازندههای تعبیه شده را معرفی کردیم. علاوه بر این، مفاهیم مرتبط مانند GPU و ریزپردازندهها را توضیح دادیم و به موضوعات مهمی چون مصرف انرژی CPU و ظهور تراشههای تخصصی برای کاربردهای خاص مانند هوش مصنوعی و بازیهای ویدیویی پرداختیم. این اطلاعات جامع، درک عمیقی از نقش حیاتی CPU در دنیای محاسبات مدرن ارائه میدهد.