CPU (واحد پردازش مرکزی) در یک کلام مغز کامپیوتر است! قطعهای کوچک با وظیفهای بزرگ؛ پردازش هر دستوری که به آن ارسال میشود. در این مقاله با ما باشید تا به صورت خلاصه با CPU و نحوه کار آن آشنا شوید.
کلمه CPU به معنای چیست؟
کلمه CPU مخفف عبارت Central Processing Unit به معنای “واحد پردازش مرکزی” است. همچنین این قطعه با نامهای زیر نیز شناخته میشود:
- Computer Processor (پردازنده کامپیوتر)
- Central Processor (پردازنده مرکزی)
- Brain of Computer (مغز کامپیوتر)
- Processor (پردازنده)
- Micro Processor (ریز پردازنده)
کلمهای که معمولا بهجای CPU مورد استفاده قرار میگیرد Processor است. دلیل آنکه از CPU به عنوان مغز کامپیوتر یاد میشود، این است که CPU مهمترین وظیفه یک کامپیوتر را به عهده دارد یعنی پردازش!
CPU چیست؟
هر سیستم اطلاعاتی برای پردازش دستورات (عملکردهای منطقی، ریاضی و …) نیاز به یک پردازنده (Processor) دارد. این وظیفه در کامپیوترها بر عهده CPU است.
CPU تقریبا تمامی دستورات داده شده بوسیله نرمافزارها و سختافزارها را با استفاده از عملکردهای منطقی، محاسبات ریاضی و مقایسات پردازش میکند.
CPU با استفاده از یک واحد ALU که مخفف Arithmetic & Logic Unit و به معنای “واحد محاسبه و منطق” است، تمامی دستورات ورودی را محاسبه، مقایسه یا بر طبق عملکردهای منطقی تصمیم گیری کرده و سپس در صورت نیاز، خروجی را تحویل میدهد. این فرایند بر روی ثباتهای پردازنده به عنوان میزکار سی پی یو انجام میشود. منظور از عملکردهای ریاضی، همان چند عمل ساده مثل ضرب، تقسیم، جمع و تفریق است.
برای درک بهتر عملکرد CPU ، میتوانید مغز انسان را به یاد آورید. ممکن است انسان بتواند بدون برخی از اعضای دیگر (در کامپیوتر مانند حافظههای جانبی و…)، به حیات خود ادامه دهد اما بدون مغز، امکان زندگی صفر است. در واقع شما نمیتوانید هیچ تصمیمی بگیرید، اطلاعات را پردازش کنید، تصاویر را درک کنید، به سایر اعضا دستور بدهید و … . مغز یک پردازنده قوی همانند CPU است.
در سیستمهای بزرگ مانند سرورها ممکن است چندین CPU استفاده شود اما در سیستم های شخصی (PC مخفف Personal Computer ) معمولاً فقط یک فضا (Slot) برای CPU بر روی برد اصلی (Motherboard یا Mainboard) وجود دارد.
هر Motherboard معمولاً فقط یک Slot برای اتصال به CPU دارد که محدوده خاصی از انواع CPU ها را پشتیبانی میکند. یکی از مهمترین نکاتی که در هنگام خرید Motherboard یا CPU ویا تعوض و آپگرید (Upgrade) پردازنده باید مورد توجه قرار گیرد، نوع پردازنده پشتیبانی شده توسط Motherboard است. ممکن است پردازندهای که قصد خرید را دارید، توسط مادربرد شما پشتیبانی نشود.
شاخصهای یک پردازنده
پردازندهها معمولاً دارای ۳ شاخص مهم هستند که بر روی قیمت آنها نیز تاثیر بسیاری میگذارند. این سه شاخص عبارت اند از:
سرعت پردازنده
یکی از مهمترین عوامل در انتخاب و خرید یک پردازنده سرعت کلاک (Clock Speed) آن است که برای همه هستههای آن معمولاً عددی ثابت است. سرعت پردازنده نشانگر تعداد عملی است که یک هسته میتواند در هر ثانیه انجام دهد و واحد آن هرتز (Hertz) است که معمولاً به صورت مگاهرتز (MHz – میلیون هرتز) یا گیگاهرتز (GHz – میلیارد هرتز) بیان میشود.
برای مثال پردازندهای که سرعت آن ۲.۵ گیگاهرتز است، میتواند در هر ثانیه ۲ میلیارد و نیم (۲۸۰۰۰۰۰۰۰۰) دستور را پردازش کند. درصورتی که پردازنده دارای هستههای بیشتر باشد، هر هسته میتواند بصورت مجزا ۲۸۰۰۰۰۰۰۰۰ دستور را پردازش کند. البته منظور دستورات ساده یک سیکلی هستند (مثلاً در طراحی RISC تقریباً همه دستورات یک سیکلی هستند) که در یک چرخه (Cycle) اجرا میشوند.
حافظه نهان
مورد دیگری که معمولاً از سرعت نیز بیشتر مورد توجه قرار میگیرد، حافظه نهان (Cache) پردازنده است. حافظه نهان میتواند دارای چند لایه باشد که با حرف L نشان داده میشود. معمولاً پردازندهها تا ۳ لایه حافظه نهان دارند که لایه اول (L1) نسبت به دوم (L2) و دوم نیز نسبت به سوم (L3) دارای سرعت بیشتر و حافظه کمتری است. حافظه نهان معمولاً تا چند ده مگابایت میتواند فضا برای ذخیره کردن داشته باشد که هرچه این فضا بیشتر باشد، قیمت پردازنده نیز بالاتر خواهد رفت.
حافظه کش وظیفه حفظ داده را دارد و به دلیل اینکه سرعت آن بسیار بیشتر از حافظه اصلی (RAM) است، بنابراین تاخیر در اجرای دستورات را بسیار میکاهد. پردازنده برای بدست آوردن داده، ابتدا حافظه نهان خود را چک میکند و در صورتی که در آن حافظه، داده مورد نظر وجود نداشته باشد به سراخ حافظه اصلی میرود. به این صورت حافظه نهان بر روی سرعت پردازنده تاثیر زیادی دارد.
برای مثال پردازنده اینتل i7-2600 دارای دو ست ۴ * ۳۲ کیلوبایت برای حافظه نهان لایه اول (L1) که یکی وظیفه حفظ داده و دیگری وظیفه حفظ دستورات را دارد. این پردازنده دارای ۴ * ۲۵۶ کیلوبایت حافظه لایه دوم (L2) بوده و ۸ مگابایت حافظه لایه سوم (L3) دارد.
هستههای پردازشی
هستههای پردازنده، درواقع پردازندههای مستقلی هستند که هر یک به صورت جداگانه دستورات را پردازش میکند. امروزه پردازندهها معمولاً دارای بیش از یک هسته هستند که به کاربران این امکان را فراهم میکنند که مجموعه دستورات یا برنامههای خود را با استفاده از پردازش موازی (Parallel Computing) سریع تر از قبل اجرا کنند. البته داشتن هستههای بیشتر به معنای افزایش کارایی کلی پردازنده نیست. چون بسیاری از برنامهها هنوز از پردازش موازی استفاده نمیکنند. یعنی عملاً سایر هستهها کار به مراتب کمتری نسبت به یک هسته انجام میدهند.
البته با تکنولوژیهایی مثل هایپرتریدینگ (Hyper Threading) یک هسته، خود به جندین ریسمان یا به زبان ساده، هسته مجازی تقسیم میشود. برای مثال پردازندههای i5 دو هستهای اینتل، با استفاده از این تکنولوژی به چهار ریسمان یا هسته مجازی تقسیم میشوند.
CPU چگونه کار میکند؟
در پروسه پردازش دستورات در CPU چهار مرحله اصلی وجود دارد: ۱- فراخوانی ۲- رمزگشایی ۳- پردازش و اجرا ۴- بازنویسی. این چهار مرحله اصلی به ترتیب اجرا شده و فرآیند پردازش دستور به اتمام میرسد.
مرحله اول: فراخوانی
در مرحله اول، پردازنده دستوری که باید پردازش کند را از طرف حافظه مربوط به یک برنامه (از طریق RAM یا به صورت مستقیم) دریافت میکند. این برنامه ممکن است در حداقل شرایط یک دستور و در حداکثر شرایط بینهایت دستور را برای پردازش به CPU ارسال کند. به همین دلیل هر یک از این دستورها باید در محلهای جداگانه آدرس دهی شوند. اما مشکل اینجاست که واحد پردازشی CPU نمیداند کدام دستورات را در کدام یک از آدرس ها باید به ترتیب اجرا کند. برای حل این مشکل یک واحد دیگر به نام PC که مخفف عبارت Program Counter به معنای “شمارنده برنامه” است، وجود دارد. این واحد مسئول حفظ ترتیب و وضعیت دستوراتی است که به پردازنده ارسال میشوند. به طور ساده، واحد پردازشی CPU هر یک از آدرسهایی که برای پردازش نیاز دارد را از طریق این واحد شمارنده بدست میآورد.
مرحله دوم: رمزگشایی
پس از دریافت دستورات، CPU باید بتواند این دستور را درک کند. واحد پردازنده CPU دستورات را در حالت کدهایی OP ( به معنای کدهای پردازشی یا Operation Codes) میتواند پردازش کند. کدهای پردازشی زبان قابل درک ماشین و سخت افزارها هستند.
نوشتن برنامهها به زبان باینری بسیار سخت است به همین خاطر زبانهای برنامه نویسی سطح بالایی وجود دارد که نوشتن برنامه را آسانتر میکند. زبانهای برنامه نویسی مختلفی وجود دارد که سازندگان برنامهها میتوانند از آنها استفاده کنند. به همین دلیل واحدی به نام Assembler (تبدیل کننده به اسمبلی) وجود دارد که ابتدا دستورات را به زبان سطح پایین اسمبلی (Assembly) تبدیل کرده سپس واحد دیگری این دستورات اسمبلی را به کدهای OP تبدیل میکند. حال این دستورات که به صورت کدهای OP در آمده اند، آماده پردازش در واحد پردازنده CPU هستند.
مرحله سوم: پردازش و اجرا
مرحله سوم و البته مهمترین مرحله، پردازش و اجرا است. در این مرحله واحد پردازنده CPU یک دستور باینری را از یک آدرس مخصوص در دست دارد. این واحد تمامی دستورات را به کمک واحد ALU (مخفف Arithmetic & Logic Unit و به معنای “واحد محاسبه و منطق”)، پردازش میکند.
ممکن است درحین پردازش، نیاز به یک دستور دیگر باشد که در این صورت Program counter دستور مورد نیاز را در اختیار واحد پردازنده CPU قرار میدهد یا ممکن است واحد پردازش، دستورات را برای زمان دیگری در ثباتهای (Registers) داخلی خود ذخیره کند.
مرحله چهارم: بازنویسی
معمولا هر دستور یک مقدار خروجی دارد که در این مرحله این مقدار خروجی در حافظه جانبی کامپیوتر (مانند هارد دیسکها، دیسکهای حالت جامد و…) ذخیره یا به سایر قطعات ارسال میشود. برای نمونه فرض کنید که یک دستور برای نشان دادن یک عبارت به CPU برای پردازش ارسال میشود. CPU پس از پردازش این دستور، همان عبارت را به عنوان خروجی بازمیگرداند یا به فرض، یک عمل ریاضی به عنوان مثال ۲ ضرب در ۲ به CPU برای پردازش ارسال میشود. حال CPU پس از پردازش عدد ۴ را به عنوان خروجی برمیگرداند.
در اغلب موارد، CPU این مقدار خروجی را که از مرحله اجرا و پردازش بدست آورده است را در ثباتهای خود ذخیره میکند. با این کار، CPU میتواند از این خروجیها به سرعت در دستورات دیگر استفاده کند. فرض کنید یک عملیات مقایسه به CPU برای پردازش ارسال میشود. در این گونه موارد، CPU از مقادیر خروجی قبلی که در ثباتهای خود ذخیره کرده استفاده میکند تا نتیجه مقایسه را در یکی از ثباتهای دیگر خود، یا به عنوان خروجی باز گرداند.
در این چهار مرحله اصلی، پردازنده فقط یک دستور که از Program Counter ارسال شده را پردازش میکند. پس از اتمام این چهار مرحله، درصورتی که دستور دیگری در صف پردازش وجود داشته باشد، توسط PC به سی پی یو داده میشود و مراحل از اول شروع میشوند تا زمانی که تمامی دستورات پردازش شوند.
برخی از تولید کنندگان CPU
در لیست زیر نام برخی از معروفترین تولید کنندگان CPU قرار گرفته است:
سلام ببخشید من یک کامپیوتر دارم با مشخصات (گرافیک۲،رم۴،سی.پییو ۳ .۴هستهای .۲cor)این کامپیوتر من هر گاه بازی مینکم حدود ۵ بازی میکنم فورا هنگ میکنه به بازار بردم گفتن سی پی یو ام ضعیف شده اون هم عوض کردم باز هم همین مشکل رو داشتم میخواستم ببینم مشکل از کجاست؟ ممنون میشم راهنمایی کنید
سلام. متاسفانه بیشتر بازاریا از چیزی سردرنمیارن و فقط مشتری رو مجبور میکنن یه چیزی بخره. قوی یا ضعیف بودن سی پی یو از مدلش تشخیص داده میشه نه فقط سرعت کلاک و هسته هاش. فکر نکنم مشکل از سی پی یوتون باشه. پیشنهاد میکنم یه بار ویندوز رو عوض کنید و به نسخه ای مثل ۸.۱ ارتقاش بدین و همه پیشنیاز های بازی ها مثل NET Framework و آخرین نسخه DirectX رو نصب کنین.
مطالب بسیار عالی. ولی من به جواب خودم نرسیدم !درسته cpuعمل پردازش رو انجام میده اما چطور؟مثلا تو مغز ما سلولها و نرونها این کار رو انجام میدن .نمیدونم تونستم منظورم رو بفهمونم یا نه؟cpu از چه جنسیه؟ فلزه؟
سلام. عمل پردازش رو اگه به اون ته ته ها بریم ترانزیستورهایی انجام میدن که از نوع نیمه هادی و جنس سیلیکون هستن. چندین ترانزیستور در کنار هم یه مجموعه ای به نام گیت (Gate) رو میسازه که اینا اعمال بسیار پایه ای رو انجام میدن. دستورات و کارهای خیلی پیچیده هم همشون از دستورات خیلی ابتدایی تشکیل میشن که این گیت ها اونارو پردازش میکنن. توی واحد ALU تعداد بسیار بسیار زیادی از این گیت ها وجود داره که کار پردازش رو به صورت هماهنگ انجام میدن. امیدوارم که به پاسختون رسیده باشین.
سلام
من اطلاعات کامپیوتریم خیلی ضعیفه. در صورتی که دانشجوی دکتری برقم این خیلی بده و زشته.
خیلی مفاهیم رو درش مشکل دارم. بنظرتون چطوری سطح اطلاعات کامپیوتری و همینطور کار کامپیوتریم رو افزایش بدم؟ کتابی، فایلی و …. اگه داشته باشید
سلام. والا چی بگم آخه. من خودم اصولی یاد نگرفتم که بگم از کدوم روش باید استفاده کنید یعنی رفتن تو عمق کامپیوتر و از اونجا یکی یکی شاخه هاشو یاد گرفتم ولی فکر نکنم برای همه خوب باشه این روش. اگه با کتاب راحتین، اونو دنبال کنین اگه از طریق اینترنت راحتین این گزینه بهتره.
سلام خسته نباشید من سرعت ویندوز کامپیوترم خیلی کند شده و هر روزم کند تر میشه میخواستم ببینم مشکل از cpu هست یا از جای دیگه لطفا راهنماییم کنید؟
سلام. نه، اینجور مشکلا معمولا از زیاد یا سنگین بودن برنامه ها، ویروسی شدن ویندوز و آسیب رسیدن به فایل های سیستمیه. اگه ویندوز رو از نو نصب کنید مشکلتون حل میشه.
سلام داداش.
ایول. خدایی حال کردم
ماشالله. منو تو یه هدف داریم. اما متاسفانه به دلیل مشکل مالی نتونسستم دامنه بخرم و فعلا یه وبلاگه. ممنون میشم وبلاگمو پیوند کنی. من که سایتتو پیوند زدم. فدات.
سلام.
خواهش میکنم، ایشالا شما هم موفق باشید. فقط یه چیزی، محتوای وبلاگ شما انگار با فونت اشتباه گذاشته شده و غیرقابل خوندنه.
دمت گرم
زنده باشید.
سلام ممنون از مطلب خوبتون انشالله شاهد پیشرفت چشمگیرتون باشیم . به برادر ارجمند سلام مخصوص برسونید.
با تشکر
سلام. ممنونم آقای خانزانه، چشم سلامتونو بهش میرسونم حتما. ایشالا شما هم موفق باشید همیشه 🙂
سلام ممنون از سایت خوبتون
سوالی داشتم . من زیاد اطلاعات درباره اینچیزا ندارم و اهنگسازم حالا قصد خرید قطعاتی رو دارم اما هیچ اطلاعاتی ندارم
یه کامپیوتر نیمه حرفه ای برای اهنگ سازی که حداقل تا دو سال اینده بخوبی جواب بده و سرعت بالایی داشته باشه
گرافیک و هارد دارم و جوابگو هست اما پاور و مادربرد رم و سی پی یو میخوام که مچ باشن با هم شما چی پیشنهاد میدی (برای اهنگسازی میخوام) تا سقف یکو نیم میلیون یا دو میلیون هزینه گیخوام بکنم
سلام. چون زیاد تو بازار و قیمت قطعات نیستم شاید نتونم تا حد انتظار کمکتون کنم. پیشنهاد میکنم به قسمت مشاوره سایت سخت افزار مگ مراجعه کنید:
http://www.sakhtafzarmag.com/%D9%BE%D8%B1%D8%B3%D8%B4-%D9%85%D8%B4%D8%A7%D9%88%D8%B1%D9%87
سلام.سایت عالی دارید .
یه سوال اونم اینکه اگه رم و گرافیک قوی باشن ولی سی پی یو نسسبت به اونها ضعیف باشه اونوقت مشکل ایجاد میشه؟
مثلا تو کارهای گرافیکی مثل گیم؟؟؟؟؟؟؟
ممنون از شما
سلام. البته که مشکل پیش میاد. این سه تا بخصوص رم و پردازنده باید به نسبت هم آپگرید بشن.
مرسی من خیلی استفاده کردم از سایتت
سلام، خواهش میکنم. موفق باشید.
این اطلاعات خیلی نقص داشتند و میتوانستند کامل تر باشند.
سلام. فکر نکنم “نقص” داشته باشه. شاید منظور شما اینه که سطحش پایینه. سعی میکنم پست ها طوری باشن که همه افراد بتونن متوجه بشن وگرنه همه چیز تخصصی باشه پس چجوری باید از پایه یاد گرفت؟! موفق باشید.
سلام فرق بین سی پی یو های ۳۲ بیتی و ۶۴ بیتی رو توضیح بدین
سلام. مهمترین فرقش اینه که سی پی یو های ۶۴ بیتی قابلیت آدرس دهی و در نتیجه ساپورت بیش از ۴ گیگ رم رو دارن که باعث میشه برنامه های سنگین بتونن خیلی خیلی بهتر اجرا بشن. از تفاوت های دیگش به امنیت سطح سخت افزاری در هنگام اجرای دستورات اشاره کرد.
سلام علیکم این دستوراتی که اون بالا نوشتین منظور چیه یعنی میگین پردازنده دستورات را پردازش میکنه
سلام. توی این پست دستوری ننوشتم که!
داداش دمت گرم …کارت درسته
خیلی ممنون آقا افشین 🙂
سلام آفرین از سایتی که درست کردی مطالبی خوبی گذاشتی .فقط یکم بیشتر روی مطالبت کارکن تا بینظیر تر بشه
سلام، خیلی ممنونم. دارم مطالب قدیمی رو یکی یکی سروسامون میدم 🙂
سلام توی سیستم عامل چرا سی پی یو بصورت اتوماتیک شناسایی میشه یعنی برای اون درایور نصب نمیکنیم
سلام. چون سیستم عامل خودش برای سی پی یو نوشته شده. درایور رابط سیستم عامل و سخت افزاره یعنی اطلاعات و دستورات دریافتی رو به زبان سخت افزارش ترجمه میکنه درحالی که سیستم عامل خودش واسه سی پی یو ساخته شده مثلا طبق مجموعه دستوراتی که تو پردازنده های X86 وجود داره.
عالی بود و خیلی مفاهیک پایه ای رو متوجه شدم . واقعا ممنون
خواهش میکنم. خوشحالم که به دردتون خورده.
سلام
ممنون خوب بود…!
خواهش میکنم. موفق باشید علی آقا.
سلام.آیا لپ تاپ ایسر E5-511Gسی پی یوی ضعیفی داره؟منم اطلاعاتم در مورد کامپیوتر کمه
سلام. پردازندش خوب نیست در حد معمولیه. ولی باید به کاری که میخواین ازش بکشین توجه کنین.
مرسی.
خیلی به زبون ساده گفته بودین و حتی اصطلاحات رو باز کرده بودین.
عالی بود و کاملا روشن و واضح
قصد خرید لپتام داشتم و این اصطلاحات رو از زبون بازاری ها متوجه نمیشدم.خیلی کمک کرد سایتتون.خوشمان آمد.
🙂 خواهش میکنم دوست گرامی
خوشحالم که به بعضی از سوالاتتون پاسخ داده شده