هندسة الإدخال/الإخراج والحافلات
تحدد هندسة الإدخال/الإخراج (I/O) كيفية تواصل المعالج والذاكرة مع الأجهزة الطرفية عبر الحافلات، ووحدات التحكم، والمقاطعات، ومخططات العنونة، مما يحكم تدفق الأوامر والبيانات من وإلى العالم الخارجي.
Definition
هندسة الإدخال/الإخراج والحافلات هي التنظيم والوصلات البينية التي يتبادل بها معالج الكمبيوتر وذاكرته إشارات التحكم والبيانات مع الأجهزة الطرفية، بما في ذلك عنونة سجلات الأجهزة والآليات التي تطلب بها الأجهزة الخدمة.
Scope
يغطي هذا الموضوع بنية الإدخال/الإخراج: الحافلات والوصلات البينية من نقطة إلى نقطة، ووحدات التحكم في الأجهزة والسجلات، والإدخال/الإخراج المعنون بالذاكرة مقابل المعنون بالمنافذ، والاستقصاء والإدخال/الإخراج المعتمد على المقاطعات، وبروتوكولات الحافلات والتحكيم. ويتناول كيفية توصيل الأجهزة والتحكم فيها. ويستثني آلية النقل الجماعي للوصول المباشر للذاكرة (DMA) والمحاكاة الافتراضية (محاكاة الإدخال/الإخراج الافتراضية والوصول المباشر للذاكرة) ووسائط التخزين نفسها (أجهزة التخزين الثانوية).
Core questions
- كيف يتم عنونة الأجهزة الطرفية والتحكم فيها بواسطة المعالج؟
- كيف يختلف الإدخال/الإخراج المعنون بالذاكرة عن الإدخال/الإخراج المعنون بالمنافذ؟
- كيف تقارن كفاءة الاستقصاء والإدخال/الإخراج المعتمد على المقاطعات؟
- كيف تقوم الحافلات والوصلات البينية من نقطة إلى نقطة بالتحكيم ونقل البيانات؟
Key concepts
- وحدات التحكم في الأجهزة والسجلات
- الإدخال/الإخراج المعنون بالذاكرة
- الإدخال/الإخراج المعنون بالمنافذ
- الاستقصاء
- المقاطعات ومعالجات المقاطعات
- الحافلات والوصلات البينية
- تحكيم الحافلات
- عنونة الإدخال/الإخراج
Key theories
- الإدخال/الإخراج المعتمد على المقاطعات
- بدلاً من الاستقصاء المستمر لجهاز ما، يواصل المعالج عمله الآخر ويتم إخطاره بواسطة مقاطعة عندما يحتاج الجهاز إلى الانتباه، مما يحسن الكفاءة بشكل كبير للأجهزة البطيئة أو التي تعمل بشكل متقطع.
Mechanisms
تتم إدارة كل جهاز بواسطة وحدة تحكم تعرض سجلات يقرأها المعالج ويكتب فيها، إما من خلال عناوين معنونة بالذاكرة أو منافذ إدخال/إخراج خاصة. يمكن للمعالج استقصاء هذه السجلات أو، بشكل أكثر كفاءة، تمكين المقاطعات بحيث يشير الجهاز عندما يكون جاهزًا. تربط الحافلات المكونات وتحكم الوصول بين العديد من الأجهزة الرئيسية، بينما تستخدم الأنظمة الحديثة بشكل متزايد وصلات تسلسلية عالية السرعة من نقطة إلى نقطة بدلاً من الحافلات المتوازية المشتركة.
Clinical relevance
تحدد هندسة الإدخال/الإخراج مدى كفاءة تواصل النظام مع التخزين والشبكة والأجهزة الأخرى. يحرر الإدخال/الإخراج المعتمد على المقاطعات المعالج للقيام بعمل مفيد، ويشكل التطور من الحافلات المشتركة إلى الوصلات البينية التسلسلية السريعة مثل PCI Express أساس النطاق الترددي الذي تحتاجه أجهزة التخزين والشبكات والمسرعات الحديثة.
History
استخدمت الأنظمة المبكرة الإدخال/الإخراج المبرمج والحافلات المتوازية المشتركة مع التحكيم المركزي. حسنت آليات المقاطعة والحافلات الموحدة مثل ISA وPCI المرونة والأداء. عالج التحول إلى الوصلات البينية التسلسلية عالية السرعة من نقطة إلى نقطة، والتي يمثلها PCI Express، قيود النطاق الترددي والإشارات للحافلات المتوازية المشتركة.
Key figures
- John L. Hennessy
- David A. Patterson
- Abraham Silberschatz
Related topics
Seminal works
- hennessy2019
- silberschatz2018
Frequently asked questions
- ما الفرق بين الإدخال/الإخراج المعنون بالذاكرة والإدخال/الإخراج المعنون بالمنافذ؟
- يخصص الإدخال/الإخراج المعنون بالذاكرة سجلات الأجهزة لعناوين ضمن مساحة عنوان الذاكرة العادية، بحيث تصل إليها تعليمات التحميل والتخزين العادية. يستخدم الإدخال/الإخراج المعنون بالمنافذ مساحة عنوان منفصلة وتعليمات خاصة للوصول إلى الجهاز. الإدخال/الإخراج المعنون بالذاكرة أكثر شيوعًا في البنى الحديثة.
- لماذا تعتبر المقاطعات أفضل من الاستقصاء لمعظم الأجهزة؟
- يهدر الاستقصاء دورات المعالج في التحقق المتكرر مما إذا كان الجهاز جاهزًا. تسمح المقاطعات للمعالج بالقيام بعمل آخر ويتم إخطاره فقط عندما يحتاج الجهاز فعليًا إلى الخدمة، وهو أكثر كفاءة بكثير للأجهزة البطيئة أو التي تستجيب بشكل غير متوقع.