CPU
CPU (واحد پردازش مرکزی) و دریک کلام مغز هر سیستم هوشمند الکتریکی است، قطعه ای کوچک با وظیفه ای بزرگ، پردازش هر دستوری که به آن ارسال میشود.
کلمه CPU به معنای چیست؟
کلمه CPU مخفف عبارت Central Processing Unit به معنای “واحد پردازش مرکزی” است. همچنین این قطعه با نامهای زیر نیز شناخته میشود:
Computer Processor، Central Processor، Processor، Micro Processor
کلمه ای که معمولا بهجای CPU مورد استفاده قرار میگیرد Processor است. دلیل آنکه از CPU به عنوان مغز یک سیستم هوشمند نام برده میشود، این است که CPU مهمترین وظیفه یک کامپیوتر را به عهده دارد یعنی پردازش کردن آن، همچنین در سیستمهایی که نیاز به کنترل و هدایت سیستم الکتریکی است، وظیفه پردازش و فرمان اطلاعات به تمامی قطعات الکترونیکی آن سیستم را دارد.
CPU چیست؟
هر سیستم اطلاعاتی برای پردازش دستورات (عملکردهای منطقی، ریاضی و …) نیاز به یک پردازنده (Processor) دارد. این وظیفه در سیستمهای الکترونیکی برعهده CPU است.
CPU تقریبا تمامی دستورات داده شده بوسیله نرم افزارها و سخت افزارها را با استفاده ازعملکردهای منطقی، محاسبات ریاضی و مقایسات پردازش میکند.
CPU با استفاده از یک واحد ALU که مخفف Arithmetic & Logic Unit و به معنای “واحد محاسبه و منطق” است، تمامی دستورات ورودی را محاسبه، مقایسه یا بر طبق عملکردهای منطقی تصمیم گیری کرده و سپس در صورت نیاز، خروجی را تحویل میدهد. این فرایند بر روی ثباتهای پردازنده به عنوان میزکار سی پی یو انجام میشود. منظور از عملکردهای ریاضی، همان چند عمل ساده مثل ضرب، تقسیم، جمع و تفریق است.
برای درک بهتر عملکرد CPU، میتوانید مغز انسان را به یاد آورید. ممکن است انسان بتواند بدون برخی از اعضای دیگر (در کامپیوتر مانند حافظههای جانبی و…)، به حیات خود ادامه دهد اما بدون مغز، امکان زندگی صفر است. در واقع شما نمیتوانید هیچ تصمیمی بگیرید، اطلاعات را پردازش کنید، تصاویر را درک کنید، به سایر اعضا دستور بدهید و …، مغز یک پردازنده قوی همانند CPU است.
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 پس از پردازش این دستور، همان عبارت را به عنوان خروجی باز میگرداند یا به فرض، یک عمل ریاضی به عنوان مثال 2 ضرب در 2 به CPU برای پردازش ارسال میشود، حال CPU پس از پردازش عدد 4 را به عنوان خروجی برمیگرداند.