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

قالب:وحدة التحكم (Control Unit (CU

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

عدل

وكما يوحي اسمها، فهي تستخدم للتحكم والسيطرة على شيء ما. وفي هذه الحالة و داخل وحدة المعالجة المركزية تحديداً (CPU – Central Processing Unit)، وحدة التحكم الجزء الثالث من أجزاء وحدة المعالجة المركزية بالإضافة إلى وحدة الحساب والمنطق (ALU – Arithmetic and logic Unit) ومجموعة المسجلات (Registers) تقدم التعليمات (Instructions) إلى أجزء وحدة المعالجة المركزية الأخرى بطريقة تسمح لها بالعمل بطريقة متماسكة لتحقيق هدف معين.

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

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

التعليمات (Instructions)

عدل

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


الشفرة (Opcode)

عدل

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

العنوان (Address)

عدل

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

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

مكوناتها :

عدل

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

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

محلل الشفرة (Decoder)

عدل

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

المؤقت أو الساعة (Timer/Clock)

عدل

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

دوائر التحكم المنطقية (Control Logic Circuits )

عدل

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

عمل وحدة التحكم أثناء دورة تنفيذ التعليمة " Execution Cycle":

عدل

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

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

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

عدل

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

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

عدل

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


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

عدل

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

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

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

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

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

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


أمثلة على بعض العمليات التي قد تجري داخل الحاسوب:

الوصف الامر
Moves a data value from one location to another MOV
Adds to data values using the ALU, and returns the result to the accumulator ADD
Stores the contents of the accumulator in the specified location STO
Marks the end of the program in memory END

المراجع

عدل

http://www.eastaughs.fsnet.co.uk/cpu/structure-cu.htm

http://www.eastaughs.fsnet.co.uk/cpu/execution-instructions.htm

http://people.cs.umass.edu/~weems/CmpSci535/Discussion15.html