موضوع مقاله: چرخه دستورالعمل | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # چرخه دستورالعمل | مقدمه: چرخه دستورالعمل (همچنین به عنوان چرخه واکشی-رمزگشایی-اجرا، یا به سادگی چرخه واکشی-اجرایی شناخته می‌شود) چرخه ای است که واحد پردازش مرکزی (CPU) برای راه اندازی دستورالعمل‌ها از زمان راه اندازی تا خاموش شدن رایانه دنبال می‌کند. | ## بخش 1: چرخه دستورالعمل | این پروسه از سه مرحله اصلی تشکیل شده‌است: مرحله واکشی، مرحله رمزگشایی و مرحله اجرا. در پردازنده‌های ساده‌تر، چرخه دستورالعمل به ترتیب اجرا می‌شود، هر دستورالعمل قبل از شروع دستورالعمل بعدی پردازش می‌شود. در بیشتر پردازنده‌های مدرن، چرخه‌های دستورالعمل همزمان و غالباً به طور موازی از طریق خط لوله دستورالعمل اجرا می‌شوند: پردازش دستورالعمل بعدی قبل از پایان دستورالعمل قبلی شروع می‌شود. نقش اجزا شمارنده برنامه (PC) یک رجیستر ویژه است که آدرس حافظه دستورالعمل بعدی را برای اجرا در خود نگه می‌دارد. در مرحله واکشی، آدرس ذخیره شده در رایانه در رجیستر آدرس حافظه (MAR) کپی می‌شود و سپس PC برای اشاره به آدرس حافظه دستورالعمل بعدی که اجرا می‌شود، آپدیت می‌شود. MDR همچنین به عنوان یک رجیستر دو طرفه عمل می‌کند که داده‌های واکشی شده از حافظه یا داده‌هایی را که منتظر ذخیره شدن در حافظه هستند را نگه می‌دارد (به همین دلیل به عنوان رجیستر بافر حافظه (MBR) نیز شناخته می‌شود). سرانجام، دستورالعمل موجود در MDR در ثبت دستورالعمل فعلی (CIR) کپی می‌شود که به عنوان محل نگهداری موقت دستورالعمل تازه‌وارد شده از حافظه عمل می‌کند. ALU عملیات‌های حسابی مانند جمع و تفریق و همچنین ضرب را طریق جمع‌های مکرر و تقسیم را از طریق تفریق‌های مکرر را انجام می‌دهد. | ## بخش 2: چرخه دستورالعمل | خلاصه مراحل پردازنده هر رایانه براساس مجموعه دستورالعمل‌های مختلف می‌تواند چرخه‌های مختلفی داشته باشد، اما مراحل همه پردازنده‌ها مشابه چرخه زیر خواهند بود: مرحله واکشی: دستورالعمل بعدی از آدرس حافظه ای که در حال حاضر در پیشخوان برنامه ذخیره شده و در رجیستر دستورالعمل ذخیره می‌شود، دریافت می‌شود. در پایان عملیات واکشی، PC به دستورالعمل بعدی اشاره می‌کند که در چرخه بعدی خوانده می‌شود. مرحله رمزگشایی: در این مرحله، دستورالعمل رمزگذاری شده در رجیستر، رمزگشایی می‌شود. آدرس مؤثر: در دستورالعمل مربوط به حافظه (مستقیم یا غیرمستقیم)، مرحله اجرا در طی پالس ساعت بعدی خواهد بود. اگر دستورالعمل دارای آدرس غیر مستقیم باشد، آدرس مؤثر از حافظه اصلی خوانده می‌شود و هرگونه داده مورد نیاز از حافظه اصلی برای پردازش دریافت می‌شود و سپس در رجیسترهای داده قرار می‌گیرد (پالس ساعت: T 3). اگر این یک دستورالعمل I / O یا یک دستور رجیستر باشد، عملیات در طول پالس ساعت انجام می‌شود. مرحله اجرا: واحد کنترل پردازنده اطلاعات رمزگشایی شده را به عنوان دنباله ای از سیگنال‌های کنترل به واحدهای مرتبط پردازنده منتقل می‌کند تا اقدامات مورد نیاز دستورالعمل مانند خواندن مقادیر از رجیسترها ، انتقال آنها به ALU برای انجام توابع ریاضی یا منطقی بر روی آنها و نوشتن نتیجه به یک رجیستر انجام شوند. نتیجه تولید شده توسط این عملیات در حافظه اصلی ذخیره می‌شود یا برای دستگاه خروجی ارسال می‌شود. | ## بخش 3: چرخه دستورالعمل | بر اساس بازخورد دریافت شده از ALU، ممکن است PC به نشانی دیگری که دستورالعمل بعدی از آن دریافت می‌شود، آپدیت شود. به‌طور معمول، این آدرس به مجموعه ای از دستورالعمل‌ها در حافظه فقط خواندنی (ROM) اشاره می‌کند که روند بارگیری (یا راه اندازی) سیستم عامل را آغاز می‌کند. مرحله واکشی مرحله واکشی برای هر دستورالعمل یکسان است: CPU محتویات PC را به MAR می‌فرستد و یک دستور خواندن را روی گذرگاه آدرس می‌فرستد. در پاسخ به دستور (با آدرس برابر PC)، حافظه، داده‌های ذخیره شده در محل حافظه نشان داده شده توسط PC در گذرگاه داده را برمی‌گرداند. (همچنین به عنوان MBR شناخته می‌شود؛ بخش نقش اجزای بالا را ببینید) کمی بعد، CPU داده‌ها را از MDR به رجیستر دستورالعمل‌ها برای رمزگشایی کپی می‌کند. مرحله رمزگشایی فرایند رمزگشایی به CPU اجازه می‌دهد تا تعیین کند چه دستورالعملی باید اجرا شود تا CPU بتواند تعداد عملیاتی که برای انجام دستورالعمل لازم است را بدست آورد. کد گرفته شده از حافظه برای مراحل بعدی رمزگشایی و به رجیسترهای مناسب منتقل می‌شود. اگر این یک عملیات حافظه باشد، کامپیوتر بررسی می‌کند که آیا این یک عملکرد حافظه مستقیم است یا غیرمستقیم: عملکرد حافظه مستقیم - هیچ کاری انجام نمی‌شود. | ## جمع‌بندی | اگر دستورالعمل I / O یا رجیستر باشد، رایانه نوع آن را بررسی می‌کند و دستورالعمل را اجرا می‌کند.