چرخه دستورالعمل کیست؟ توضیح بده.
چرخه دستورالعمل (همچنین به عنوان چرخه واکشی-رمزگشایی-اجرا، یا به سادگی چرخه واکشی-اجرایی شناخته می‌شود) چرخه ای است که واحد پردازش مرکزی (CPU) برای راه اندازی دستورالعمل‌ها از زمان راه اندازی تا خاموش شدن رایانه دنبال می‌کند. این پروسه از سه مرحله اصلی تشکیل شده‌است: مرحله واکشی، مرحله رمزگشایی و مرحله اجرا.در پردازنده‌های ساده‌تر، چرخه دستورالعمل به ترتیب اجرا می‌شود، هر دستورالعمل قبل از شروع دستورالعمل بعدی پردازش می‌شود. در بیشتر پردازنده‌های مدرن، چرخه‌های دستورالعمل همزمان و غالباً به طور موازی از طریق خط لوله دستورالعمل اجرا می‌شوند: پردازش دستورالعمل بعدی قبل از پایان دستورالعمل قبلی شروع می‌شود. این امکان وجود دارد زیرا چرخه به مراحل جداگانه تقسیم می‌شود.نقش اجزا.شمارنده برنامه (PC) یک رجیستر ویژه است که آدرس حافظه دستورالعمل بعدی را برای اجرا در خود نگه می‌دارد. در مرحله واکشی، آدرس ذخیره شده در رایانه در رجیستر آدرس حافظه (MAR) کپی می‌شود و سپس PC برای اشاره به آدرس حافظه دستورالعمل بعدی که اجرا می‌شود، آپدیت می‌شود. سپس CPU دستورالعمل‌ها را در آدرس حافظه توصیف شده توسط MAR گرفته و آن را در رجیستر داده حافظه (MDR) کپی می‌کند. MDR همچنین به عنوان یک رجیستر دو طرفه عمل می‌کند که داده‌های واکشی شده از حافظه یا داده‌هایی را که منتظر ذخیره شدن در حافظه هستند را نگه می‌دارد (به همین دلیل به عنوان رجیستر بافر حافظه (MBR) نیز شناخته می‌شود). سرانجام، دستورالعمل موجود در MDR در ثبت دستورالعمل فعلی (CIR) کپی می‌شود که به عنوان محل نگهداری موقت دستورالعمل تازه‌وارد شده از حافظه عمل می‌کند.در مرحله رمزگشایی، واحد کنترل (CU) دستورالعمل را در CIR رمزگشایی می‌کند. سپس CU سیگنالهایی را به سایر اجزای CPU مانند واحد منطق حساب (ALU) و واحد شناور FPU) ارسال می‌کند. ALU عملیات‌های حسابی مانند جمع و تفریق و همچنین ضرب را طریق جمع‌های مکرر و تقسیم را از طریق تفریق‌های مکرر را انجام می‌دهد. همچنین عملیات‌های منطقی مانند AND، OR، NOT و شیفت‌های باینری را نیز انجام می‌دهد. FPU برای انجام محاسبات ممیز شناور محفوظ است.خلاصه مراحل.پردازنده هر رایانه براساس مجموعه دستورالعمل‌های مختلف می‌تواند چرخه‌های مختلفی داشته باشد، اما مراحل همه پردازنده‌ها مشابه چرخه زیر خواهند بود:شروع.چرخه به محض ورود انرژی به سیستم، با مقدار اولیه PC که توسط معماری سیستم از پیش تعریف شده‌است (به عنوان مثال، در پردازنده‌های Intel IA-32، مقدار PC از پیش تعریف شده codice_1 است). به‌طور معمول، این آدرس به مجموعه ای از دستورالعمل‌ها در حافظه فقط خواندنی (ROM) اشاره می‌کند که روند بارگیری (یا "راه اندازی") سیستم عامل را آغاز می‌کند.مرحله واکشی.مرحله واکشی برای هر دستورالعمل یکسان است:واحد کنترل آدرس دستورالعمل را از واحد حافظه واکشی می‌کند.مرحله رمزگشایی.فرایند رمزگشایی به CPU اجازه می‌دهد تا تعیین کند چه دستورالعملی باید اجرا شود تا CPU بتواند تعداد عملیاتی که برای انجام دستورالعمل لازم است را بدست آورد. کد گرفته شده از حافظه برای مراحل بعدی رمزگشایی و به رجیسترهای مناسب منتقل می‌شود. رمزگشایی توسط واحد کنترل پردازنده انجام می‌شود.خواندن آدرس مؤثر.این مرحله ارزیابی می‌کند که کدام نوع عملیات انجام شود. اگر این یک عملیات حافظه باشد، کامپیوتر بررسی می‌کند که آیا این یک عملکرد حافظه مستقیم است یا غیرمستقیم:اگر دستورالعمل I / O یا رجیستر باشد، رایانه نوع آن را بررسی می‌کند و دستورالعمل را اجرا می‌کند.مرحله اجرا.عملکرد دستورالعمل انجام می‌شود. اگر دستورالعمل شامل حساب یا منطق باشد، از ALU استفاده می‌شود. این تنها مرحله از چرخه دستورالعمل است که از دید کاربر مفید است.