تصميم وحدة المعالجة المركزية
وحدة التحكم CONTROL UNIT

تعتبر وحدة التحكم المكون الذي ينظم عمليات النظام من خلال إرسال إشارات التحكم إلى ممر المعطيات، هذه الإشارات تتحكم بتدفق البيانات خلال ال CPU وبين ال CPU والوحدات الخارجية مثل I/O.
ممرات التحكم بشكل عام تنقل الإشارات بين وحدة التحكم ومكونات الحاسب الأخرى في فترات ساعة منظمة.إن نظام الساعة يولد سلسلة مستمرة من النبضات خلال زمن محدد وتردد معين.
تستعمل سلسلة الخطوات t0,t1,t2,…. لتنفيذ تعليمة محددة حيث أن ……… t0<t1<t2
في جلب التعليمة يتم فك تشفير حقل الشيفرة لتزويد إشارات التحكم اللازمة، حيث تنتج معلومات حول التعليمة التي سيتم تنفيذها، وهذه المعلومات يتم توليدها عن طريق دارة منطقية تستخدم مع مداخل أخرى لتوليد إشارات التحكم.توليد الإشارات يمكن تحديده ببساطة عن طريق مجموعة من المعادلات المنطقية تربط بين الدخل والخرج.يبين الشكل 5.7 مخطط صندوقي لتوضيح استخدام التوقيت في توليد إشارات التحكم.
يوجد نوعين من مختلفين من وحدات التحكم هما: البرمجة الميكروية - البنية الصلبة
في تقنية البرمجة الميكروية تكون إشارات التحكم مرتبطة بعمليات مخزنة في وحدات ذاكرة خاصة لا للمبرمج الوصول إليها كما هو الحال في كلمات التحكم.
كلمة التحكم هي تعليمة ميكروية تحدد عملية ميكروية أو أكثر، وتسمى سلسلة التعليمات الميكروية بالبرنامج الميكروي والذي يتم تخزينه في الROM أو RAM والتي تسمى ذاكرة التحكم CM.
في تقنية البنية الصلبة يتم تثبيت دارة منطقية والتي تتعامل بشكل مباشر مع العلاقات البوليانية المستخدمة لتوليد إشارات التحكم.وتجدر الإشارة أن تقنية البنية الصلبة تتميز بأنها أسرع من البرمجة الميكروية ورغم ذلك إلا أن البنية الصلبة بكلفتها العالية وتعيدها من أجل الأنظمة المعقدة. لكنها تعتبر تجارية من أجل وحدات التحكم الصغيرة.
بينما البرمجة الميكروية تكون أكثر سهولة للتحديث في حال تغيير بنية النظام، حيث يمكننا إضافة تعليمات جديدة بدون تغيير البنية الصلبة أما في حالة لبرمجة الميكروية فإن ذلك يتطلب إعادة تصميم الأنظمة الداخلية.من أجل أي تغيير في النظام
EXAMPLE 1
دعنا نعود لتعليمة الجمع التي تقوم بجمع محتويات مسجلات المصدر R1، R2 مع وتخزن النتائج في مسجل المستقر R0 وقد أشرنا سابقاً إلى أن هذه التعليمة يمكن إنجازها بخطوة واحدة باستخدام ثلاث ممرات معطيات المبين في الشكل 5.5 الآن سنقوم بفحص تسلسل التحكم المطلوب لإنجاز هذا الجمع خلال الخطوة t0.
لنفرض انه تم فك تشفير حقل الشيفرة لهذه التعليمة إلى النوع inst-x، في البداية نحن بحاجة لاختيار مسجلات المصدر ومسجلات المستقر بعدها نختار عملية الجمع من ال ALU وا لجدول التالي خطوة وتسلسل التجكم.
الشكل 5.8 يبين الإشارات المولدة لتنفيذ التعليمة inst-x خلال الفترة t0. البوابة AND تؤكد ان هذه الإشارات سوف يتم طلبها عندما يتم فك تشفير حقل الشيفرة إلى inst-x خلال الفترة t0
الإشارات (1R1 out-bus)،(2R2 out-bus)، (R0 in-bus) و Add سوف تختار على التوالي R1 كمصدر ل out-bus 1 و R2 كمصدر ل out-bus 2 و R0 كمنستقر ل in-bus وسف تختار عملية الجمع من ال ALU.
EXAMPLE 2
لنكرر العملية السابقة بطريقة مختلفة وذلك باستخدام ممر معطيات واحد المبين في الشكل 5.3 وقد أشرنا سابقاً أن هذه التعليمة تحتاج إلى ثلاث خطوات. على فرض انه تم فك تشفير حقل الشيفرة للتعليمة الحالية إلى النوع inst-x
يبين الجدول التالي خطوات وتسلسل التحكم المطلوب:
الشكل 5.9 يوضح الإشارات المولدة لتنفيذ inst-x خلال الفترات t0 ،t1 ،t2 البوابة AND تؤكد أن الإشارات المناسبة سوف يتم طلبها عندما يتم فك تشفير حقل الشيفرة inst-x وخلال الزمن المناسب.
خلال الفترة t0 سوف يتم طلب الإشارات R1 out و A in لنقل محتويات R1 إلى A وبشكل مشابه خلال الفترة t1 يتم طلب الإشارات R2 out و B in لنقل محتويات R2 إلى B.أخيراً الإشارة R0 in و Add سوف يتم طلبها خلال الفترة t2 لجمع محتويات A مع B ونقل النتائج إلى R0.