دزدی چرخه

در محاسبات ، به طور سنتی **سرقت از چرخه** روشی برای دستیابی به حافظه کامپیوتر (RAM) یا گذرگاه بدون تداخل در پردازنده است. این امکان دسترسی مستقیم حافظه (DMA) برای اجازه دادن به کنترل کننده های ورودی و خروجی برای خواندن یا نوشتن RAM بدون دخالت پردازنده است. دستگاه های خارجی به حافظه ای که در فعالیت فعلی CPU شرکت نمی‌کنند و عملیات را قبل از هرگونه درگیری احتمالی CPU انجام می دهند،  بدون هیچ گونه تأخیری به پردازنده اجازه می دهد با سرعت کامل کار کند. چنین سیستم هایی تقریباً دو پورت RAM بدون هزینه رم و با سرعت بالا هستند.

بیشتر سیستم ها پردازنده را در حین **[[دزدی|سرقت]]** متوقف کرده و در اصل آن را به نوعی DMA با نام دیگر تبدیل می کنند.

به عنوان مثال، اگر هر دو دسترسی به طور همزمان آغاز شود، سیستمی با دستورالعمل جداگانه و بانک حافظه داده می تواند به دستگاه های خارجی اجازه دسترسی یک حافظه به بانک داده را بدهد در حالی که پردازنده از بانک دستورالعمل واکشی می کند. یک واحد مدیریت حافظه ضروری نیست ، به عنوان مثال ، می توان از خط *M1* Zilog Z80 برای تشخیص دستورالعمل از دسترسی به داده استفاده کرد، بنابراین در حالی که پردازنده مرکزی یک دستورالعمل را از دستورالعمل RAM یا ROM می خواند، حافظه RAM بدون تداخل در پردازش پردازنده در دسترس دستگاه های دیگر است.

## معماری مدرن
دستیابی به سرقت چرخه در سیستم های مدرن به دلیل بسیاری از عوامل مانند خط لوله گذاری، که در آن عناصر پیش واکشی به طور مداوم به حافظه دسترسی دارند ، دشوار است ، و تعداد کمی از زمان های غیر قابل پیش بینی را برای دزدکی رفتن در حافظه باقی می گذارد. DMA تنها روش رسمی و قابل پیش بینی دستگاه های خارجی برای دسترسی به RAM است.

این اصطلاح در معماری مدرن رایانه (بالاتر از 66-100 مگاهرتز) کمتر رایج است، جایی که گذرگاه ها و کنترلرهای مختلف خارجی معمولاً با نرخ های مختلف کار می کنند و دیگر عملیات داخلی CPU با عملکردهای ورودی / خروجی ارتباط نزدیکی ندارد.

## نمونه هایی در سیستم های رایانه ای واقعی
چرخه غیرمنتظره سرقت توسط رادار نقطه قرار ملاقات هنگام فرود تقریباً منجر به سقوط هواپیمای آپولو 11 شد، اما طراحی رایانه راهنمای آپولو اجازه داد تا با انداختن کارهای با اولویت پایین ، فرود ادامه یابد.

"سرقت چرخه" IBM 1130 واقعاً DMA است زیرا کلاک CPU هنگام دسترسی به حافظه متوقف می شود. چندین کنترل کننده ورودی / خروجی از این طریق به RAM دسترسی پیدا می کنند. آنها از طریق طرح اولویت ثابت خود داوری می کنند. اکثر کنترل کننده ها عمداً سرعت دسترسی به RAM را افزایش می دهند تا تأثیر بر توانایی سیستم در اجرای دستورالعمل ها را به حداقل برسانند ، اما سایر موارد ، مانند آداپتورهای تصویری گرافیکی ، با سرعت بالاتری کار می کنند و ممکن است سرعت سیستم را کاهش دهند.مفهوم سرقت چرخه 1130 به برنامه CPU اجازه می دهد تا عملیاتی را روی دستگاه ورودی / خروجی شروع کرده و سپس برنامه اصلی را در حالی که دستگاه ورودی / خروجی کار می کند ، ادامه دهد. هر دستگاه ورودی و خروجی که به این روش کار می کند در صورت لزوم یک سیکل را از پردازنده می گیرد (می دزدد).

 هنگام انتقال یک کاراکتر داده ، CPU فقط یک چرخه "بسته" است. فرکانس سرقت چرخه دستگاه ها به نوع دستگاه بستگی دارد.

 از آنجایی که پردازنده مرکزی بسیار سریعتر از هر دستگاه ورودی و خروجی روی سیستم است ، پردازنده ممکن است همزمان با انجام عملیات ورودی و خروجی عملکرد دیگری مانند حساب را نیز انجام دهد. در حقیقت ، ممکن است چندین عملکرد I / O با یکدیگر و سایر عملکردهای CPU همپوشانی داشته باشند.سرقت چرخه دلیل اصلی تخریب عملکرد در دستگاه هایی مانند Sinclair QL بوده است، جایی که به دلایل اقتصادی ،  RAM تصویری دوگانه نبود. در نتیجه ، هنگام دسترسی "کنترلر اصلی" ZX8301 به حافظه، پردازنده M68008 از دسترسی به گذرگاه حافظه محروم شد و عملکرد دستگاه در مقایسه با دستگاههایی که از پردازنده های مشابه با سرعت مشابه استفاده می کنند، عملکرد ضعیفی دارد.

## منابع

رده:واحد پردازشگر مرکزی