سرقة دورة
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. (ديسمبر 2022) |
جزء من |
---|
في الحوسبة cycle stealing ، تعد '''سرقة الدورة ''' طريقة لتقييم ذاكرة الكمبيوتر (RAM) أو الناقل bus دون التدخل في وحدة المعالجة المركزية. إنه مشابه للوصول المباشر للذاكرة (DMA) للسماح لوحدات تحكم الإدخال / الإخراج بقراءة أو كتابة ذاكرة الوصول العشوائي دون تدخل وحدة المعالجة المركزية. يمكن أن يسمح الاستغلال الذكي لمواعيد محددة لوحدة المعالجة المركزية أو الناقل بتشغيل وحدة المعالجة المركزية بأقصى سرعة دون أي تأخير إذا وصلت الأجهزة الخارجية إلى الذاكرة التي لم تشارك بنشاط في النشاط الحالي لوحدة المعالجة المركزية واستكملت العمليات قبل أي تعارض محتمل في وحدة المعالجة المركزية.
كانت سرقة الدورة شائعة في الأنظمة الأساسية القديمة ، أولاً على أجهزة الكمبيوتر العملاقة التي تستخدم أنظمة معقدة لتوقيت الوصول إلى الذاكرة ، وبعد ذلك في أجهزة الكمبيوتر الصغيرة المبكرة حيث تم استخدام "سرقة الدورة " للأجهزة الطرفية وكذلك برامج تشغيل العرض . يصعب تنفيذه في الأنظمة الأساسية الحديثة نظرًا لوجود عدة طبقات من الذاكرة تعمل بسرعات مختلفة ، وغالبًا ما يتم الوصول بوساطة وحدة إدارة الذاكرة . في الحالات التي تكون فيها الوظائف مطلوبة ، غالبًا ما تستخدم الأنظمة الحديثة ذاكرة الوصول العشوائي ذات المنفذ المزدوج dual-port RAM والتي تتيح الوصول من خلال نظامين ، ولكن هذا غالبًا ما يكون مكلفًا.
تطبيقات مشتركة
[عدل]تم تصميم بعض المعالجات للسماح بأداء سرقة الدورة ، أو على الأقل دعمها بسهولة. كان هذا هو الحال بالنسبة لأنظمة Motorola 6800 و MOS 6502 نظرًا لميزة التصميم التي تعني أن وحدة المعالجة المركزية لا تصل إلا إلى الذاكرة في كل دورة توقيت أخرى. إن استخدام ذاكرة الوصول العشوائي التي كانت تعمل مرتين أسرع من توقيت وحدة المعالجة المركزية سمح للنظام الثاني بتحسين وصوله بين وحدات المعالجة المركزية عن طريق ضبط توقيتها في كل دورة توقيت أخرى. تم استخدام هذا على نطاق واسع لتحديث الشاشة باستخدام الذاكرة الرئيسية كمخزن مؤقت للإطار . تم تشغيل ذاكرة الوصول العشوائي المشتركة في أواخر السبعينيات بــ 2 ميغاهيرتز ، لذلك معظم الأجهزة لديها وحدة معالجة مركزية تعمل بحوالي 1 ميغا هيرتز. أمنت بي بي سي مايكرو توريد 4 MHz ذاكرة الوصول العشوائي التي سمحت لوحدة المعالجة المركزية CPU الخاصة بها بالعمل بسرعة 2 ميغا هيرتز.
كان الحل الشائع الآخر هو استخدام بنوك منفصلة للذاكرة تقوم بتخزين التعليمات مقابل البيانات ، أو أكثر من مجموعة واحدة من البيانات. في هذه الحالات ، يمكن لأنظمة الإدخال / الإخراج I/O systems الوصول إلى ذاكرة البيانات الخاصة بها أثناء استخدام المعالج لبنك مختلف. أحد الأمثلة على ذلك هو Zilog Z80 ، الذي يشير خطه M1 إلى أن المعالج يقرأ التعليمات ؛ فإذا كانت هذه التعليمات موجودة في بنك مختلف ، أو ROM بشكل أكثر شيوعًا فيمكن لأنظمة الإدخال / الإخراج الوصول إلى ذاكرة الوصول العشوائي دون التداخل مع المعالج.
البنية الحديثة
[عدل]يصعب تحقيق سرقة الدورة في الأنظمة الحديثة بسبب العديد من العوامل مثل التسلسل عبر الأنابيب pipelining ، حيث تقوم عناصر الجلب المسبق والعناصر المتزامنة بالوصول باستمرار إلى الذاكرة ، مما يترك عددًا قليلاً من أوقات الخمول التي يمكن التنبؤ بها للتسلل إلى الوصول إلى الذاكرة. إن DMA هي الطريقة الرسمية الوحيدة التي يمكن توقعها للأجهزة الخارجية للوصول إلى ذاكرة الوصول العشوائي RAM .
هذا المصطلح أصبح أقل شيوعًا في هندسة الكمبيوتر الحديثة (فوق 66-100 MHz) ، حيث تعمل الناقلات buses ووحدات التحكم الخارجية المختلفة بمعدلات مختلفة ولم تعد العمليات الداخلية لوحدة المعالجة المركزية مرتبطة بازدواجية في عمليات ناقل الإدخال / الإخراج I/O bus .
أمثلة في أنظمة الكمبيوتر الفعلية
[عدل]كادت '''سرقة دورة''' غير متوقعة بواسطة رادار الالتقاء أثناء الهبوط أن تتسبب في إحباط هبوط أبولو 11 ، لكن تصميم جهاز كمبيوتر التوجيه سمح باستمرار الهبوط عن طريق إسقاط المهام ذات الأولوية المنخفضة.
"سرقة الدورة" الخاصة بـ IBM 1130 هي بالفعل DMA لأن ساعة وحدة المعالجة المركزية CPU متوقفة أثناء الوصول إلى الذاكرة. العديد من وحدات تحكم الإدخال / الإخراج تصل إلى ذاكرة الوصول العشوائي بهذه الطريقة. معظم العاملون فيى الحاسوب يحكمون بأنفسهم عبر مخطط أولوية ثابتة. تعمل معظم وحدات التحكم عن عمد على تسريع الوصول إلى ذاكرة الوصول العشوائي لتقليل التأثير على قدرة النظام على تشغيل التعليمات ، لكن البعض الآخر ، مثل محولات الفيديو الرسومية graphic video adapters يعمل بسرعة أعلى وقد يبطئ النظام.
كانت سرقة الدورة هي السبب في تدهور الأداء الكبير على جهاز مثل Sinclair QL ، حيث ، لأسباب اقتصادية ، لم تكن ذاكرة الوصول العشوائي للفيديو ذات وصول مزدوج . وبالتالي ، تم رفض وصول وحدة المعالجة المركزية M68008 إلى ناقل الذاكرة عندما كانت "وحدة التحكم الرئيسية" ZX8301 تصل إلى الذاكرة ، وكان أداء الجهاز ضعيفًا عند مقارنته بالأجهزة التي تستخدم معالجات مماثلة بسرعات مماثلة.