انتقل إلى المحتوى

مستخدم:أحمد محمود النجادا/ملعب

من ويكيبيديا، الموسوعة الحرة


قالب:وحدة التحكم

وحدة التحكم (Control Unit (CU[عدل]

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

في الأساس، هناك وحدة تحكم واحدة، وذلك لأن وجود أكثر من وحدة تحكم قد تسبب في إحداث تضارب لعمل أجزاء وحدة المعالجة المركزية.

وحدة التحكم في وحدة المعالجة المركزية البسيطة تقوم بـ " جلب (Fitch) – فك (Decode) – تنفيذ (Execute)" التعليمات وهو ما يسمى " Fitch and Execute Cycle".

التعليمات (Instructions)[عدل]

ببساطة هي اللغة التي يتم التعامل بها داخل أجزاء وحدة المعالجة المركزية وتتكون كل تعليمة (Instruction) من متسلسلة من الأرقام الثائية (Binary Digit) وتحوي هذه المتسلسلة حسب نموذج (von Neumann) على شفرة أو كود العملية (Operation Code) وعنوان (Address) وتخزن هذه التعليمة في الذاكرة الرئيسية للحاسوب (Man Memory). فمثلا التعليمة (011101100) تمثل:

الشفرة (Opcode)[عدل]

هي مجموعة أرقام ثنائية معرفة مسبقا لدى المعالج وقد تختلف بتركيبتها باختلاف المعالجات وهي عبارة عن رمز لعملية أو إجراء قد تشير إما إلى عمليات حسابية أو عمليات منطقية أو عمليات نقل وتخزين. مثلاً (قد يشير الرقم الثنائي 001 إلى عملية نقل والرقم 011 عملية جمع).


العنوان (Address)[عدل]

فهو عبارة عن موقع في الذاكرة الرئيسية يحوي على البيانات التي يجب التعامل معها فكما في المثال السابق قد يشير الرقم الثنائي 101100 إلى موقع في الذاكرة قد يخزن مثلا الرقم 20 والذي سيتم التعامل معه في عملية الجمع.


يتمحور دور وحدة التحكم بجلب هذه التعليمة من الذاكرة الرئيسية بعدها تقوم بفك شفرة التعليمة (Opcode) لترسلها إلى مجموعة المسجلات (Registers) ليتم تنفيذها.


مكونات وحدة التحكم[عدل]

يمكن القول أن وحدة التحكم هي أكثر أجزاء المعالج تعقيداً ، لأنها مسئولة عن التحكم بجميع العمليات داخل الحاسوب وتقوم بهذا العمل من خلال إرسال إشارات تحكم (Control signals) إلى الأجزاء الأخرى من المعالج ، تعلمها فيها عما يجب إجراءه .

لفهم أعمق لعمل وحدة التحكم يجب أن نبين عناصر وحدة التحكم وهي:


1. محلل الشفرة (Decoder):[عدل]

يعمل على تحليل شفرة التعليمة التي تحدد كما أسلفنا ماهية العملية المطلوبة من هذه التعليمة.


2. المؤقت أو الساعة (Timer/Clock):[عدل]

من اجل ضمان أن جميع التعليمات تم انجازها في الوقت الصحيح، الإشارات الخارجة من وحدة التحكم إلى جميع أجزاء الحاسوب يجب أن تتم خلال فترات 

زمنية منتظمة والإجراءات على هذه الإشارات يجب أن تتم نفس الوقت وضمن هذه الفترات مما يعني أن عمل المعالج هو عمل متزامن.


3. دوائر التحكم المنطقية (Control Logic Circuits ):[عدل]

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

وحدة التحكم و دورة تنفيذ التعليمة " Execution Cycle":[عدل]

حين يطلب مستخدم الحاسوب تنفيذ شي ما يقوم المعالج بتنفيذ التعليمات المخزنة في الذاكرة الرئيسية بالترتيب ولكي يقوم المعالج بعمل ذلك لابد له من فهم تلك التعليمات وبالتالي فإن تلك التعليمات وطرق التعامل معها يجب أن تكون مبرمجة مسبقاً داخل المعالج ، وتسمى تلك التعليمات المبرمجة داخل المعالج بمجموعة التعليمات (Instructions Set) حيث أنها تختلف أحيانا باختلاف أنواع المعالجات.


تمر دورة تنفيذ التعليمة بثلاث مراحل حتى تكتمل وهي:


1. جلب التعليمة (Fitch Cycle) :


في هذه المرحلة تقوم وحدة التحكم بـ


أ. إرسال أشارة تحكم إلى الذاكرة الرئيسية للتأكد من احتوائها على التعليمة المطلوبة وجلبها ليتم وضعها داخل مجموعة المسجلات (Registers) وتحديداً داخل مسجل يقوم بتخزينها لحين الانتهاء من تنفيذها يسمى بـ (Memory Buffer Register) وقبل أن يتم ترحيلها إلى مسجل التعليمة (Instruction Register).
ب. إشارة تحكم أخرى إلى مجموعة السجلات أيضا ولكن هذه المرة إلى سجل يسمى بعداد البرامج (Program Counter) ليزيد العداد بدرجة واحدة وهي التي تشير إلى موقع التعليمة التالية.


2. فك شفرة التعليمة (Decode Cycle):


بعد أن تم تحميل التعليمة إلى السجلات المسئولة تقوم وحدة التحكم بالتأكد من محتوى هذه التعليمة وفك الشفرة التي بداخلها لتحدد نوع العملية التي يجب أن تنفذ.


3. تنفيذ التعليمة(Execution Cycle):


بعد ان يتم جلب التعليمة وتحديد العملية المطلوبة منها ومعرفة تصبح جاهزة للتنفيذ ،والإجراء المناسب لتنفيذ التعليمة يعتمد على كل من الشفرة التي تبين العملية المطلوب تنفيذها والعنوان الذي يدلنا على مكان البيانات التي سيتم التعامل معها.

هناك أربع مجموعات رئيسية من العمليات داخل الحاسوب وهي: 1. نقل بيانات بين كل من الذاكرة الرئيسة ووحدة المعالجة المركزية.

2. نقل بيانات بين كل من وحدة المعالجة المركزية ووحدات الإدخال والإخراج (Input/output Unit).

3. معالجة البيانات والتي تتم تحديدا داخل وحدة الحساب والمنطق (ALU).

4. عمليات تحكم والتي تسمح بتغير ترتيب تنفيذ العمليات ومقاطعتها.