البنية الداخلية ودورتا الآلة والتعليمة
البنية الداخلية للمعالج وطريقة عمله
وزاري: تكرر ٥ مراتالمعالج الدقيق جزء مهم في الحاسوب، ولفهم عمله بنحو واضح لا بد من فهم بنيته الداخلية وعلاقته مع البنية الأساسية للحاسوب.
وتقسم البنية الأساسية للحاسوب على ثلاثة أجزاء: وحدة المعالجة المركزية (CPU) أو ما يعرف اختصاراً بالمعالج، والذاكرة (Memory) بأنواعها، وأجهزة الإدخال والإخراج المتنوعة (Input / Output Devices).
ينفذ المعالج البرنامج المخزون في الذاكرة، وتؤمن وحدات الإدخال والإخراج مثل لوحة المفاتيح والشاشة وسائل اتصال مع المعالج. يتصل المعالج مع وحدات الذاكرة والإدخال والإخراج عبر مجموعة من الأسلاك تعرف بالنواقل (Buses).
كيف يعرف المعالج الأجهزة؟
يعرف المعالج وحدات الإدخال والإخراج والذاكرة بتخصيص عناوين محددة لها، ولا بد أن يكون العنوان المخصص لجهاز ما وحيداً، فلا يسمح بعنونة جهازين بالعنوان نفسه.
يوضع العنوان على ناقل العناوين (بالنظام الثنائي) ثم تقوم دوائر تفكيك الشفرة (Binary Decoder) بتحديد الجهاز المقصود، وبعد ذلك يتبادل المعالج البيانات مع الأجهزة عن طريق ناقل البيانات، ويحدد ناقل التحكم رغبة المعالج بإرسال المعلومات إلى الجهاز أو العكس عن طريق إشارات القراءة والكتابة (Read/Write).
مثال: جمع ثلاثة أعداد خطوة خطوة
وزاري: تكرر ٥ مراتنفترض معالجاً افتراضياً يحتوي على: السجلات (A, B, C, D)، وناقل عناوين بعرض 16 Bit، لذا يكون عدد مواقع الذاكرة المتاحة (2^16 = 64 K)، ومجال العنونة من 0000 إلى FFFFH.
العمل: يقوم المعالج بتخزين القيمة 21H في السجل A، ثم تجمع معها القيمة 12H والقيمة 42H ويوضع الناتج في السجل A. ونفرض أن شفرة نقل قيمة إلى السجل A هي 10110000 (B0H)، وشفرة جمع قيمة إلى السجل A هي 00000100 (04H).
جدول (٢-٤): محتويات مواقع الذاكرة
خطوات تنفيذ المعالج لهذا البرنامج
['ناقل العناوين بعرض 16 خطاً يتيح 64 K موقعاً (من 0000 إلى FFFFH). وجاء سؤال HALT في الامتحانات الوزارية ٧ مرات.']
مؤقت النظام (Clock System)
وزاري: تكرر ٧ مراتيوجد في داخل كل حاسوب دائرة خاصة تسمى مؤقت النظام (Clock System)، ووظيفتها ليست معرفة الوقت وإنما إرسال نبضات كهربائية صغيرة إلى المعالج الذي بدوره يوظف هذه النبضات للتحكم في العمليات التي ينجزها.
فإذا كان المعالج بمنزلة القلب لجهاز الحاسوب فإن مؤقت النظام بمنزلة جهاز تنظيم ضربات القلب (Pacemaker).
إن نقل البيانات ضمن المعالج وبين المعالج والذاكرة يجب أن يكونا متزامنين لضمان توافر البيانات المطلوبة لتنفيذ كل تعليمة عندما يصل تدفق التنفيذ لنقطة مناسبة، ويتم ذلك بتحريك البيانات في مدد فاصلة تستجيب لنبضات مؤقت النظام.
دورة الآلة ودورة التعليمة
وزاري: تكرر ٤ مرات['دورة الآلة = قراءة أو كتابة واحدة. دورة التعليمة = السلسلة الكاملة لتنفيذ تعليمة واحدة. هذا الفرق جاء في الامتحانات الوزارية ٤ مرات.']
دورة التعليمة Instruction Cycle
وزاري: تكرر ٦ مراتتتضمن دورة التعليمة في جميع المعالجات دورتين رئيستين: دورة جلب التعليمة (Fetch Instruction Cycle) ودورة تنفيذ التعليمة (Execution Instruction Cycle). وتتضمن كل دورة عدداً من الخطوات، كل خطوة منها تسمى الطور (Phase).
وعندما يتصل المعالج بوحدات الإدخال والإخراج (Input / Output Modules) ربما تظهر مرحلة جديدة في دورة التعليمة هي مرحلة المقاطعة (Interrupt)؛ فبعد تنفيذ التعليمة يجري الاستفسار عن المقاطعة: فإذا كانت المقاطعة مفعلة نفذت المقاطعة ثم يعود المعالج لجلب التعليمة التالية، وإذا كانت معطلة ينتقل مباشرة لجلب التعليمة التالية.
دورة الجلب Fetch Cycle: ثلاثة أطوار
وزاري: تكرر ٨ مراتدورة التنفيذ Execution Cycle: ثلاثة أطوار
بعد أن تم تحميل التعليمة إلى السجلات المسؤولة تقوم وحدة السيطرة بالتأكد من محتوى هذه التعليمة وفك الشفرة التي بداخلها لتحدد نوع التعليمة التي يجب تنفيذها. وتحتوي دورة التنفيذ على ثلاثة أطوار تعرف بـ (T3, T4, T5)، وتعتمد انتقالات المسجل في أثناء دورة التنفيذ على التعليمة المراد تنفيذها.
ومن أجل ضمان إنجاز جميع التعليمات في الوقت الصحيح يجب أن تكون الإشارات الخارجة من وحدة السيطرة إلى جميع أجزاء الحاسوب في مدد زمنية منتظمة، مما يعني أن عمل المعالج متزامن.
['دورة الجلب أطوارها T0 وT1 وT2، ودورة التنفيذ أطوارها T3 وT4 وT5.']
