بنية النواقل في معمارية الكمبيوتر Bus Structure in Computer Architecture

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


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

ما المقصود ببنية النواقل في معمارية الكمبيوتر

يحتوي ناقل النظام (system bus) عادةً على خمسين إلى مئات من الخطوط المميزة حيث يكون كل سطر مخصصًا لوظيفة معينة، يمكن أن تكون هذه الخطوط فئات إلى ثلاث مجموعات وظيفية، وهي: خطوط البيانات “نواقل البيانات” (data lines) وخطوط العنوان “نواقل العناوين” (address lines) وخطوط التحكم “نواقل التحكم” (control lines)، دعونا نناقشهم واحدًا تلو الآخر.

خطوط البيانات Data Lines

تنسق خطوط البيانات في نقل البيانات بين مكونات النظام، تسمّى خطوط البيانات بشكل جماعي “ناقل البيانات” (data bus)، قد يحتوي ناقل البيانات على (32) خطاً أو (64) خطاً أو (128) خطاً أو حتى أكثر من الخطوط، يحدد عدد الخطوط الموجودة في ناقل البيانات عرض ناقل البيانات، كل خط بيانات قادر على نقل بت واحد فقط في كل مرة، لذا فإنّ عدد خطوط البيانات في ناقل البيانات يحدد عدد البتات التي يمكن نقلها في المرة الواحدة، يعتمد أداء النظام أيضًا على عرض ناقل البيانات (width of the data bus).

خطوط العناوين Address Lines

يحدد محتوى خطوط العناوين الخاصة بالناقل مصدر أو وجهة البيانات الموجودة في ناقل البيانات، يشار إلى عدد خطوط العناوين معًا باسم “ناقل العنوان” (address bus)، يحدد عدد خطوط العناوين في ناقل العنوان عرضه (width)، يحدد عرض ناقل العنوان سعة ذاكرة النظام، يتم استخدام محتوى خطوط العناوين أيضًا لمعالجة منافذ الإدخال / الإخراج (I/O ports)، تحدد وحدات البت ذات الترتيب الأعلى وحدة الناقل وتحدد البتات المرتبة الأقل عنوان مواقع الذاكرة أو منافذ الإدخال / الإخراج، عندما يتعين على المعالج قراءة كلمة من الذاكرة، فإنّه يضع ببساطة عنوان الكلمة المقابلة في سطر العنوان.

خطوط التحكم Control Lines

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

  • كتابة الذاكرة (Memory Write): يتسبب هذا الأمر في وضع البيانات الموجودة على ناقل البيانات فوق موقع الذاكرة المحدد.
  • قراءة الذاكرة (Memory Read): يتسبب هذا الأمر في وضع البيانات الموجودة على موقع الذاكرة المُعنونة في ناقل البيانات.
  • كتابة الإدخال / الإخراج (I/O Write): يؤدي الأمر الموجود فوق خط التحكم هذا إلى وضع البيانات الموجودة على ناقل البيانات عبر منفذ الإدخال / الإخراج المعنون (addressed I/O port).
  • قراءة الإدخال / الإخراج (I/O Read): يؤدي الأمر الموجود فوق خط التحكم هذا إلى وضع البيانات من منفذ الإدخال / الإخراج المعنون عبر ناقل البيانات.
  • نقل (Transfer ACK): يشير خط التحكم هذا إلى تلقي البيانات من ناقل البيانات أو وضعها فوق ناقل البيانات.
  • طلب الناقل (Bus Request): يشير خط التحكم هذا إلى أنّ المكون قد طلب التحكم في الناقل.
  • منحة الناقل (Bus Grant): يشير خط التحكم هذا إلى أنّه تمّ منح الناقل للمكون الطالب.
  • طلب المقاطعة (Interrupt Request): يشير خط التحكم هذا إلى أنّ المقاطعات معلقة.
  • مقاطعة (Interrupt ACK): يوفر خط التحكم هذا إقرارًا عندما تتم خدمة المقاطعة المعلقة.
  • الساعة (Clock): يُستخدم خط التحكم هذا لمزامنة العمليات.
  • إعادة التعيين (Reset): تعمل معلومات البت الصادرة عبر خط التحكم هذا على تهيئة جميع الوحدات.

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

التوقيت في الناقل Timing in Bus

كما رأينا أن خطوط التحكم في الناقل توفر أيضًا معلومات التوقيت جنبًا إلى جنب مع الأمر المرسل، حسنًا، يمكن تصنيف طريقة استخلاص معلومات التوقيت عبر خط التحكم بطريقتين:

الناقل المتزامن Synchronous Bus

باستخدام مخطط الناقل المتزامن، تستمد جميع الأجهزة أو المكونات المتصلة بالناقل معلومات التوقيت عبر خط التحكم المشار إليه بساعة الناقل، عبر خط ساعة الناقل، ترسل الساعة تسلسلاً متناوبًا من (1) ثانية و(0) ثانية في فاصل زمني منتظم، هنا يتم اعتبار الإرسال الفردي (1-0) بمثابة دورة على مدار الساعة أو دورة ناقل.

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

الناقل غير المتزامن Asynchronous Bus

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

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


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