دورة التعليم
دورة التعليمات (المعروفة أيضًا بدورة الجلب-فك التشفير-التنفيذ ، أو ببساطة دورة الجلب-التنفيذ ) هي الدورة التي تتبعها وحدة المعالجة المركزية (CPU) من بدء تشغيل الحاسوب حتى إيقاف تشغيله لمعالجة التعليمات. وهي تتكون من ثلاث مراحل رئيسية: مرحلة الجلب، ومرحلة فك التشفير، ومرحلة التنفيذ.

- عداد البرامج في الحاسوب الشخصي
- MAR - سجل عنوان الذاكرة
- MDR - سجل بيانات الذاكرة
- سجل التعليمات الحالي (CIR)
- وحدة التحكم (CU)
- وحدة الحساب والمنطق (ALU)
في وحدات المعالجة المركزية الأبسط، تُنفَّذ دورة التعليمات بالتسلسل، حيث تُعالَج كل تعليمة قبل بدء التعليمة التالية. أما في معظم وحدات المعالجة المركزية الحديثة، فتُنفَّذ دورات التعليمات بالتزامن ، وغالبًا بالتوازي ، من خلال خط أنابيب التعليمات : تبدأ معالجة التعليمة التالية قبل انتهاء معالجة التعليمة السابقة، وهو أمر ممكن لأن الدورة مُقسَّمة إلى خطوات منفصلة. [ 1 ]
دور المكونات
عداد البرنامج
عداد البرنامج ( PC) هو سجلٌّ يخزّن عنوان الذاكرة للتعليمات التالية المراد تنفيذها. بعد كل عملية نسخ للتعليمات إلى سجل عنوان الذاكرة (MAR)، يمكن لعداد البرنامج إما زيادة المؤشر إلى التعليمات المتسلسلة التالية، أو الانتقال إلى مؤشر محدد، أو الانتقال المشروط إلى مؤشر محدد. [ 2 ] كذلك، أثناء توقف وحدة المعالجة المركزية ، يحتفظ عداد البرنامج بالتعليمات قيد التنفيذ، إلى حين استقبال مقاطعة خارجية أو إشارة إعادة ضبط.
سجل عنوان الذاكرة
يتولى سجل عنوان الذاكرة (MAR) مسؤولية تخزين العنوان الذي يصف موقع التعليمة. بعد بدء إشارة القراءة، تُقرأ التعليمة الموجودة في العنوان من سجل عنوان الذاكرة (MAR) وتُخزّن في سجل بيانات الذاكرة (MDR)، المعروف أيضًا باسم سجل مخزن الذاكرة المؤقت (MBR). يعمل هذا المكون بشكل عام كمخزن عناوين يشير إلى مواقع في الذاكرة.
مسجل بيانات الذاكرة
يتولى سجل MDR مسؤولية الاحتفاظ مؤقتًا بالتعليمات المقروءة من العنوان الموجود في سجل MAR. ويعمل كسجل ثنائي الاتجاه في دورة التعليمات لأنه يستطيع استقبال المخرجات من الذاكرة إلى وحدة المعالجة المركزية، أو المخرجات من وحدة المعالجة المركزية إلى الذاكرة.
سجل التعليمات الحالي
سجل التعليمات الحالي (CIR، على الرغم من أنه يشار إليه أحيانًا باسم سجل التعليمات، IR) هو المكان الذي يتم فيه الاحتفاظ بالتعليمات مؤقتًا، لكي يقوم المعالج المركزي بفك تشفيرها وإنتاج إشارات التحكم الصحيحة لمرحلة التنفيذ.
وحدة التحكم
تقوم وحدة التحكم (CU) بفك تشفير التعليمات في سجل التعليمات الحالي (CIR). ثم ترسل وحدة التحكم إشارات إلى مكونات أخرى داخل وحدة المعالجة المركزية (CPU)، مثل وحدة الحساب والمنطق (ALU)، أو إلى الذاكرة لجلب المعاملات، أو إلى وحدة الفاصلة العائمة (FPU). تُجري وحدة الحساب والمنطق العمليات الحسابية بناءً على رموز العمليات المحددة في التعليمات. على سبيل المثال، في بنية RISC-V ، توجد رموز العمليات funct3 و funct7 للتمييز بين ما إذا كانت التعليمات عملية منطقية أم حسابية.
ملخص المراحل
يمكن أن تحتوي وحدة المعالجة المركزية لكل جهاز كمبيوتر على دورات مختلفة بناءً على مجموعات التعليمات المختلفة، ولكنها ستكون مشابهة للدورة التالية: [ 3 ]
- مرحلة الجلب : تبدأ مرحلة الجلب دورة التعليمات باسترجاع التعليمات التالية من الذاكرة. خلال هذه المرحلة، يتم استطلاع عداد البرنامج (PC) لمعرفة عنوان التعليمات في الذاكرة (باستخدام سجل عنوان الذاكرة). ثم تُخزَّن التعليمات من سجل عنوان الذاكرة (MDR) إلى سجل معلومات التعليمات (CIR). في نهاية هذه المرحلة، يشير عداد البرنامج (PC) إلى التعليمات التالية التي ستُقرأ في الدورة التالية.
- مرحلة فك التشفير : خلال هذه المرحلة، تقوم وحدة التحكم بتفسير التعليمات المشفرة في سجل التعليمات المشفر (CIR). وتحدد العمليات والمعاملات الإضافية المطلوبة للتنفيذ، وترسل الإشارات المناسبة إلى المكونات المعنية داخل وحدة المعالجة المركزية، مثل وحدة الحساب والمنطق (ALU) أو وحدة الفاصلة العائمة (FPU)، استعدادًا لتنفيذ التعليمات.
- مرحلة التنفيذ : في هذه المرحلة، تُنفَّذ العملية الفعلية المحددة في التعليمات بواسطة الوحدات الوظيفية ذات الصلة في وحدة المعالجة المركزية. قد تُجري وحدة الحساب والمنطق (ALU) عمليات منطقية أو حسابية، وقد تُقرأ البيانات من الذاكرة أو تُكتب إليها، وتُخزَّن النتائج في المسجلات أو الذاكرة حسب متطلبات التعليمات. وبناءً على مخرجات وحدة الحساب والمنطق، قد يتفرع عداد البرنامج (PC).
- كرر الدورة
بالإضافة إلى ذلك، في معظم المعالجات، قد تحدث مقاطعات . سيؤدي ذلك إلى انتقال وحدة المعالجة المركزية إلى روتين خدمة المقاطعة، وتنفيذه، ثم العودة إلى التعليمات التي كان من المفترض تنفيذها. في بعض الحالات، قد تتم مقاطعة التعليمات في منتصفها، ولكن لن يكون لذلك أي تأثير، وستُعاد التعليمات إلى التنفيذ بعد العودة من المقاطعة.
البدء
تبدأ دورة التعليمات الأولى بمجرد توصيل الطاقة بالنظام، بقيمة PC أولية محددة مسبقًا بواسطة بنية النظام (على سبيل المثال، في وحدات المعالجة المركزية Intel IA-32 ، تكون قيمة PC المحددة مسبقًا هي 0xfffffff0بينما بالنسبة لوحدات المعالجة المركزية ذات بنية ARM ، فهي 0x00000000). عادةً، يشير هذا العنوان إلى مجموعة من التعليمات في ذاكرة القراءة فقط (ROM)، والتي تبدأ عملية تحميل (أو تشغيل ) نظام التشغيل . [ 4 ]
مرحلة الجلب
تكون مرحلة الجلب هي نفسها لكل تعليمة:
- يحتوي جهاز الكمبيوتر على عنوان التعليمات المراد جلبها.
- يتم نسخ هذا العنوان إلى سجل عنوان الذاكرة (MAR)، حيث يتم استخدام هذا العنوان للاستعلام عن موقع التعليمات في الذاكرة.
- ترسل وحدة التحكم إشارة إلى ناقل التحكم لقراءة الذاكرة عند العنوان الموجود في سجل عناوين الذاكرة (MAR) - يتم وضع البيانات المقروءة في ناقل البيانات . [ 5 ]
- يتم نقل البيانات إلى وحدة المعالجة المركزية عبر ناقل البيانات، حيث يتم تحميلها في MDR - في هذه المرحلة، يزيد عداد الكمبيوتر بمقدار واحد.
- يتم نسخ محتويات (التعليمات المراد تنفيذها) MDR إلى CIR (حيث يمكن فك تشفير رمز العملية ومعامل البيانات).
مرحلة فك التشفير
تُمكّن عملية فك التشفير المعالج من تحديد التعليمات المطلوب تنفيذها، ما يسمح لوحدة المعالجة المركزية (CPU) بمعرفة عدد المعاملات التي تحتاج إلى جلبها لتنفيذ هذه التعليمات. يتم فك تشفير رمز العملية (opcode) المُستجلب من الذاكرة للخطوات التالية، ثم يُنقل إلى السجلات المناسبة. عادةً ما تتم عملية فك التشفير بواسطة وحدات فك التشفير الثنائية في وحدة المعالجة المركزية (CU). [ 6 ]
تحديد العناوين الفعالة
توجد طرق مختلفة يمكن من خلالها لبنية النظام تحديد عنوان المعاملات، وتسمى عادةً أنماط العنونة . [ 7 ]
من الطرق الشائعة التي يمكن من خلالها العثور على العنوان الفعلي ما يلي:
- التوجيه المباشر - تحتوي التعليمات على العنوان الفعلي
- العنونة غير المباشرة - تحدد هذه التعليمة عنوان موقع الذاكرة أو السجل الذي يحتوي على العنوان الفعلي
- العنونة النسبية لعداد البرنامج (PC) - تحتوي هذه التعليمة على إزاحة تُضاف إلى عداد البرنامج (PC) لتوليد العنوان الفعلي.
- عنونة المكدس - العنوان الفعلي هو أعلى المكدس
مرحلة التنفيذ
ترسل وحدة المعالجة المركزية التعليمات المُفكَّكة (المُفكَّكة من وحدة التحكم) كمجموعة من إشارات التحكم إلى المكونات المُناسبة. وبحسب نوع التعليمات، قد يحدث أيٌّ مما يلي:
- يمكن تنفيذ العمليات الحسابية/المنطقية بواسطة وحدة الحساب والمنطق (على سبيل المثال، الجمع، الطرح، AND، OR) [ 8 ]
- يمكن تنفيذ عمليات القراءة والكتابة من الذاكرة (على سبيل المثال، تحميل/تخزين البايتات).
- يمكن تنفيذ تعديلات على تدفق التحكم (على سبيل المثال، القفزات أو التفرعات) - في هذه المرحلة، إذا حدثت قفزة، فبدلاً من زيادة عداد البرنامج إلى المؤشر المجاور، سيقفز إلى المؤشر المحدد في التعليمات
هذه هي المرحلة الوحيدة من دورة التعليمات المفيدة من وجهة نظر المستخدم النهائي. أما باقي المراحل فهي مجرد تكاليف إضافية لازمة لإتمام خطوة التنفيذ.
انظر أيضاً
مراجع
- ↑ كريستال تشين، جريج نوفيك، وكيرك شيمانو (2000). "الربط بين خطوط الأنابيب" . تم الاطلاع عليه بتاريخ 26-06-2019 .
- ↑ دودج، ن.ب. (2017). "عداد البرنامج" (ملف PDF) . personal.utdallas.edu (شرائح العرض) . تم الاطلاع عليه بتاريخ 3 يناير 2025 .
- ↑ توقيت التعليمات ودورتها (ملف PDF) .
- ↑ بوسكي أغاروال (2004). "دورة جلب وتنفيذ التعليمات" (ملف PDF) . مؤرشف من الأصل (ملف PDF) في 11 يونيو 2009. تم الاطلاع عليه في 14 أكتوبر 2012 .
- ↑ أريال، إيه. هاري. وحدة المعالجة المركزية (PDF) .
- ↑ تشغيل وحدة التحكم (ملف PDF) .
- ↑ مجموعات التعليمات: أنماط وتنسيقات العنونة (ملف PDF) .
- ↑ وحدة الحساب والمنطق (ALU) (PDF) .
- معالجة التعليمات
