الفرق بين وحدة التحكم السلكية والمبرمجة الدقيقة Hardwired vs. Microprogrammed Control Unit

اقرأ في هذا المقال


تولد وحدة التحكم السلكية (Hardwired) ووحدة التحكم المبرمجة الدقيقة (Microprogrammed) إشارات التحكم لجلب التعليمات وتنفيذها، يتمثل الاختلاف الأساسي بين وحدة التحكم السلكية والمبرمجة الدقيقة في أنّ الأسلاك الصلبة هي أسلوب توصيل الدارة بينما يتم تنفيذ وحدة التحكم في البرنامج الصغير عن طريق البرمجة، تمّ تصميم وحدة التحكم السلكية لمجموعة تعليمات نمط (RISC)، من ناحية أخرى، تمّ تصميم وحدة التحكم المبرمجة الدقيقة لمجموعة التعليمات نمط (CISC).

ما هي إشارات التحكم Control Signals

تمّ تصميم كل من وحدة التحكم السلكية (Hardwired) ووحدة التحكم المبرمجة الدقيقة (Microprogrammed) “لتوليد” إشارات التحكم، تعمل إشارات التحكم على تشغيل أجهزة المعالج، إنّها تقرر العملية التي يجب إجراؤها، وما يجب أن يكون تسلسل العمليات التي يقوم بها المعالج، وفي أي وقت يجب تنفيذ العملية وما إلى ذلك.

ما هي وحدة التحكم السلكية Hardwired Control Unit

بكلمات بسيطة، تولد وحدة التحكم السلكية إشارات التحكم لتنفيذ التعليمات بتسلسل مناسب وفي الوقت الصحيح، يتم إنشاء وحدة التحكم السلكية مع الأجهزة؛ وتوصل بشكل دائري، إنّها مصممة لمجموعة تعليمات أسلوب (RISC)، في تنظيم الدائرة الصلبة، سنناقش جميع المكونات واحدًا تلو الآخر من أجل فهم “توليد إشارات التحكم” من منظمة الدوائر هذه:

  • سجل التعليمات هو سجل معالجات يحتوي على “التعليمات” قيد التنفيذ حاليًا، يقوم سجل التعليمات بإنشاء بتات كود (OP) الخاصة بالعملية وأنماط العنونة للمعاملات، المذكورة في التعليمات.
  • يستقبل مفكك التعليمات بتات كود (Op) التي تمّ إنشاؤها بواسطة سجل التعليمات ويفسر العملية وأنماط العنونة للتعليمات، الآن، بناءً على وضع التشغيل والعنونة للتعليمات في تسجيل التعليمات، يتم تعيين إشارة التعليمات المقابلة (INSi) على (1)، يتم تنفيذ كل تعليمة في شكل خطوة، وجلب التعليمات، وفك التشفير، وجلب المعامل، و(ALU)، ومخزن الذاكرة، قد تختلف هذه الخطوات تبعًا للكتب المختلفة، ولكن بشكل عام، خمس خطوات كافية لتنفيذ التعليمات.
  • الآن، يجب أن تكون وحدة التحكم على دراية بالخطوة الحالية، التعليمات موجودة، لهذا، يتم تنفيذ (Step Counter) الذي يحتوي على إشارات من (T1 ،… ،T5)، يقوم عداد الخطوة بتعيين إحدى الإشارات من (T1) إلى (T5) إلى (1) على أساس الخطوة، تبعًا للتعليمات الموجودة.
  • هنا، يطرح السؤال كيف يعرف عداد الخطوات (step counter) الخطوة الحالية للتعليمات؟ لهذا، يتم تنفيذ الساعة (Clock)، تمّ تصميم هذه الساعة بحيث يجب أن تكمل الساعة دورة الساعة الواحدة لكل خطوة، لذلك، ضع في اعتبارك ما إذا كان عداد الخطوات قد قام بتعيين إشارة (T3) إلى (1)، فبعد اكتمال دورة الساعة، سيقوم عداد الخطوة بتعيين (T4) إلى (1).
  • ماذا لو انقطع تنفيذ التعليمات لسبب ما؟ هل ستستمر الساعة في تشغيل عداد الخطوات؟ الإجابة هي “لا”، العداد (The Counter) قام بتمكين “تعطيل” عداد الخطوة لزيادة إشارة الخطوة التالية، حتى يتم الانتهاء من تنفيذ الخطوة الحالية.
  • الآن، افترض أنّ تنفيذ التعليمات يعتمد على بعض الشروط أو إذا كانت تعليمات فرع، يتم تحديد ذلك بمساعدة إشارات الحالة (Condition signals)، تولد إشارات الشرط إشارات للظروف الأكبر من، أقل من، مساوية، أكبر من أو مساوية، أقل من أو مساوية، وغيرها.
  • الباقي عبارة عن مدخلات خارجية، وهو يعترف بمولد إشارة التحكم للمقاطعات التي تؤثر على تنفيذ التعليمات، يولد كل مولد إشارة التحكم إشارات التحكم، بناءً على المدخلات التي تمّ الحصول عليها بواسطة سجل التعليمات، وعداد الخطوات، وإشارات الحالة والمدخلات الخارجية.

ما هي وحدة التحكم المبرمجة الدقيقة Microprogrammed Control Unit

تنتج وحدة التحكم المبرمجة الدقيقة أيضًا إشارة التحكم ولكن باستخدام البرامج، كان هذا النوع من الربط شائعًا جدًا في الماضي أثناء تطور بنية (CISC)، يُطلق على البرنامج الذي يُنشئ “إشارات التحكم” برنامج (Microprogram)، يتم وضع هذا البرنامج الصغير على شريحة المعالج وهي ذاكرة سريعة، ويسمّى أيضًا “ذاكرة التحكم” (control memory) أو “مخزن التحكم” (control store).

يحتوي البرنامج المصغر على مجموعة من التعليمات الدقيقة، أو يُطلق عليه أيضًا كلمة التحكم (control word)، كل تعليمة ميكروية هي كلمة (n) بت، تختلف كل إشارة تحكم عن إشارة التحكم الأخرى اعتمادًا على نمط البت لكلمة التحكم، كل كلمة تحكم / تعليمة ميكروية لها نمط بت مختلف.

يتم تنفيذ التعليمات في خطوات كما رأينا أعلاه، لذلك، لكل خطوة هناك كلمة تحكم / تعليمة ميكروية في البرنامج المصغر، سلسلة من التعليمات الدقيقة المطلوبة لتنفيذ تعليمات معينة تسمّى (microroutine)، الآن دعونا نناقش تنظيم وحدة التحكم بالبرنامج المصغر (microprogram)، سنناقش تدفق تنفيذ التعليمات من حيث خطوات تنفيذ التعليمات:

  • في الخطوة الأولى “إحضار التعليمات” (instruction fetch)، يقوم منشئ عنوان التعليمات الدقيقة بإحضار التعليمات من “سجل التعليمات” (IR).
  • في الخطوة الثانية، يقوم منشئ عناوين التعليمات الدقيقة بفك تشفير التعليمات التي تمّ الحصول عليها من (IR) واسترداد عنوان البداية للروتين الصغير المطلوب لأداء العملية المقابلة المذكورة في التعليمات، يقوم بتحميل عنوان البداية هذا إلى عداد البرنامج المصغر (microprogram counter).
  • في الخطوة الثالثة، تتم قراءة “كلمة التحكم” (control word) المقابلة لـ “عنوان البداية” (starting address) لـ “عداد البرنامج المصغر” (microprogram counter) ومع تقدم التنفيذ، سيزيد منشئ عنوان البرنامج الصغير قيمة عداد البرنامج الصغير لقراءة كلمات التحكم المتتالية للروتين المصغر.
  • في التعليمة الدقيقة الأخيرة للروتين الدقيق (microroutine)، هناك جزء نسمّيه بت النهاية (end bit)، عندما يتم تعيين بت النهاية على (1)، فهذا يدل على التنفيذ الناجح لذلك الروتين المصغر.
  • بعد ذلك، سيعود منشئ عنوان البرنامج الصغير إلى الخطوة (1) مرة أخرى لجلب تعليمات جديدة، وتستمر الدورة، تخزين التحكم أو ذاكرة التحكم هي ذاكرة تستخدم لتخزين البرامج الدقيقة، تتميز وحدة التحكم في برنامج (microprogram) بسهولة التنفيذ ومرونة التعديل ولكنّها أبطأ من وحدة التحكم ذات الأسلاك الصلبة.

الفرق بين وحدة التحكم السلكية ووحدة التحكم المبرمجة الدقيقة

أوجه المقارنةوحدة التحكم السلكيةوحدة التحكم المبرمجة الدقيقة
الأساسإنها طريقة ربط دائرية.يتم تنفيذ وحدة التحكم هذه عن طريق البرمجة.
التصميمتعليمات نمط (RISC).تعليمات نمط (CISC).
التعديلالتعديل صعب لأنّ وحدة التحكم موصلة بأسلاك، سيتطلب تعديله التغيير في الأجهزة.التعديلات سهلة في حالة وحدة التحكم المبرمجة الدقيقة لأنّها تتطلب التغيير في الكود فقط.
التعليماتإنّها تعمل بشكل جيد للتعليمات البسيطة.إنّها تعمل بشكل جيد للتعليمات المعقدة أيضًا.
التكلفةيتطلب تنفيذ الهيكل الصلب تكلفة.إنّ تنفيذ البرامج الصغيرة ليس مكلفًا.
ذاكرة التحكملا يلزم وجود ذاكرة تحكم.ذاكرة التحكم مطلوبة.
سرعة التنفيذتنفيذ أسرع.بطيء نسبيًا.

الاختلافات الرئيسية بين وحدة التحكم السلكية والمبرمجة الدقيقة

  • يتم تنفيذ وحدة التحكم ذات الأسلاك الصلبة باستخدام دائرة الأجهزة بينما يتم تنفيذ وحدة التحكم المبرمجة الدقيقة عن طريق البرمجة.
  • تمّ تصميم وحدة التحكم السلكية لمجموعة التعليمات بأسلوب (RISC)، من ناحية أخرى، فإنّ وحدة التحكم المبرمجة الدقيقة مخصصة لمجموعة تعليمات نمط (CISC).
  • يعد تنفيذ التعديل في وحدة التحكم ذات البرمجة الدقيقة أسهل لأنّه من السهل تغيير الكود، لكن تنفيذ التعديل في وحدة التحكم ذات الأسلاك الصلبة أمر صعب لأنّ تغيير الدوائر سيضيف تكلفة.
  • تقوم وحدة التحكم السلكية بتنفيذ التعليمات البسيطة بسهولة ولكنّها تجد صعوبة في تنفيذ التعليمات المعقدة، تجد وحدة التحكم المبرمجة الدقيقة، تنفيذ التعليمات المعقدة أمرًا سهلاً.
  • يتطلب بناء وحدة تحكم موصلة بأسلاك صلبة دائرة مكلفة للأجهزة، يعد بناء وحدة تحكم مبرمجة دقيقة أرخص لأنّه لا يتطلب سوى الكود.
  • وحدة التحكم السلكية لا تتطلب ذاكرة تحكم كما هو الحال هنا؛ يتم إنشاء إشارة التحكم بواسطة الأجهزة، تتطلب وحدة التحكم المبرمجة الدقيقة ذاكرة التحكم حيث يتم تخزين البرامج الدقيقة المسؤولة عن توليد إشارات التحكم في ذاكرة التحكم.
  • التنفيذ سريع حيث أنّ كل شيء موجود في الجهاز، لكن وحدة التحكم في البرنامج الصغير بطيئة حيث يتعين عليها الوصول إلى ذاكرة التحكم لتنفيذ كل تعليمات.

شارك المقالة: